From 89510bc69c092e52c1d8174cf730c7e8b2b40ca8 Mon Sep 17 00:00:00 2001 From: miozune Date: Fri, 5 Aug 2022 23:21:22 +0900 Subject: Fix Samarium amount for UMV Motor --- .../tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 1b2e525377..35329af496 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 @@ -2800,7 +2800,7 @@ public class DreamCraftRecipeLoader { total_computation, comp_per_second, research_eu_per_tick, research_amperage, new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 8L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 32L), GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 16L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 32L), -- cgit From 986a3287c5c40e89549c0560ca7f748c481dca99 Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Sat, 6 Aug 2022 21:00:29 +0200 Subject: Removed charging loss --- .../thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java index 7d5b16ca8c..fbfbc624b1 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java @@ -71,9 +71,6 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa private long doChargeItemStack(IElectricItem item, ItemStack stack) { try { double euDiff = item.getMaxCharge(stack) - ElectricItem.manager.getCharge(stack); - if (euDiff > 0) { - setEUVar(getEUVar() - (getEUVar() >> 5)); - } long remove = (long) Math.ceil( ElectricItem.manager.charge(stack, Math.min(euDiff, getEUVar()) @@ -94,7 +91,6 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa private long doChargeItemStackRF(IEnergyContainerItem item, ItemStack stack) { try { long RF = Math.min(item.getMaxEnergyStored(stack) - item.getEnergyStored(stack), getEUVar() * mEUtoRF / 100L); - //if(RF>0)this.setEUVar(this.getEUVar()-this.getEUVar()>>10); RF = item.receiveEnergy(stack, RF > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int) RF, false); RF = RF * 100L / mEUtoRF; setEUVar(getEUVar() - RF); -- cgit From f4dfe55dfacbbc3fb4ae45dd4c5f453a5a2f2086 Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Sat, 6 Aug 2022 22:31:11 +0200 Subject: The infuser now charges items in the input bus and puts fully charged ones in the output bus --- .../multi/GT_MetaTileEntity_EM_infuser.java | 82 ++++++++++++++++------ 1 file changed, 59 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java index fbfbc624b1..e6776f72df 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java @@ -13,6 +13,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; @@ -68,6 +69,21 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa eDismantleBoom = true; } + private boolean isItemStackFullyCharged(ItemStack stack) { + if (stack == null) { + return false; + } + Item item = stack.getItem(); + if (stack.stackSize == 1) { + if (item instanceof IElectricItem) { + return ElectricItem.manager.getCharge(stack) >= ((IElectricItem)item).getMaxCharge(stack); + } else if (TecTech.hasCOFH && item instanceof IEnergyContainerItem) { + return ((IEnergyContainerItem)item).getEnergyStored(stack) >= ((IEnergyContainerItem)item).getMaxEnergyStored(stack); + } + } + return false; + } + private long doChargeItemStack(IElectricItem item, ItemStack stack) { try { double euDiff = item.getMaxCharge(stack) - ElectricItem.manager.getCharge(stack); @@ -118,16 +134,23 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa @Override public boolean checkRecipe_EM(ItemStack itemStack) { - if (itemStack != null && itemStack.stackSize == 1) { - Item ofThis = itemStack.getItem(); - if (ofThis instanceof IElectricItem) { - mEfficiencyIncrease = 10000; - mMaxProgresstime = 20; - return true; - } else if (TecTech.hasCOFH && ofThis instanceof IEnergyContainerItem) { - mEfficiencyIncrease = 10000; - mMaxProgresstime = 20; - return true; + for (GT_MetaTileEntity_Hatch_InputBus inputBus : mInputBusses) { + if (inputBus.mInventory != null) { + for (ItemStack itemStackInBus : inputBus.mInventory) { + if (itemStackInBus != null) { + if (itemStackInBus.stackSize == 1) { + if (isItemStackFullyCharged(itemStackInBus)) { + if (addOutput(itemStackInBus)) { + this.depleteInput(itemStackInBus); + } + } else { + mEfficiencyIncrease = 10000; + mMaxProgresstime = 20; + return true; + } + } + } + } } } return false; @@ -135,22 +158,35 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa @Override public void outputAfterRecipe_EM() { - ItemStack itemStack = mInventory[1]; - if (itemStack != null && itemStack.stackSize == 1) { - Item ofThis = itemStack.getItem(); - if (ofThis instanceof IElectricItem) { - if (doChargeItemStack((IElectricItem) ofThis, itemStack) == 0) { - getBaseMetaTileEntity().disableWorking(); + boolean itemProcessed = false; + for (GT_MetaTileEntity_Hatch_InputBus inputBus : mInputBusses) { + if (inputBus.mInventory != null) { + for (ItemStack itemStackInBus : inputBus.mInventory) { + if (itemStackInBus != null) { + Item item = itemStackInBus.getItem(); + if (itemStackInBus.stackSize == 1) { + if (isItemStackFullyCharged(itemStackInBus)) { + itemProcessed = true; + if (addOutput(itemStackInBus)) { + this.depleteInput(itemStackInBus); + } + } else { + if (item instanceof IElectricItem) { + doChargeItemStack((IElectricItem) item, itemStackInBus); + return; + } else if (TecTech.hasCOFH && item instanceof IEnergyContainerItem) { + doChargeItemStackRF((IEnergyContainerItem) item, itemStackInBus); + return; + } + } + } + } } - return; - } else if (TecTech.hasCOFH && ofThis instanceof IEnergyContainerItem) { - if (doChargeItemStackRF((IEnergyContainerItem) ofThis, itemStack) == 0) { - getBaseMetaTileEntity().disableWorking(); - } - return; } } - getBaseMetaTileEntity().disableWorking(); + if (!itemProcessed) { + afterRecipeCheckFailed(); + } } @Override -- cgit From 338b75d9b09ed383f26d73f73cc2be80b8076fa3 Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Sun, 7 Aug 2022 10:01:06 +0200 Subject: Added functionality to repair items using uu matter --- .../multi/GT_MetaTileEntity_EM_infuser.java | 35 ++++++++++++++++++---- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java index e6776f72df..306d3bd9d2 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java @@ -11,6 +11,7 @@ import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.enums.Materials; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus; @@ -22,6 +23,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; +import net.minecraftforge.fluids.FluidStack; import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; @@ -71,7 +73,7 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa private boolean isItemStackFullyCharged(ItemStack stack) { if (stack == null) { - return false; + return true; } Item item = stack.getItem(); if (stack.stackSize == 1) { @@ -81,7 +83,15 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa return ((IEnergyContainerItem)item).getEnergyStored(stack) >= ((IEnergyContainerItem)item).getMaxEnergyStored(stack); } } - return false; + return true; + } + + private boolean isItemStackFullyRepaired(ItemStack stack) { + if (stack == null) { + return true; + } + Item item = stack.getItem(); + return !item.isRepairable() || item.getMaxDamage(stack) <= 0 || item.getDamage(stack) <= 0; } private long doChargeItemStack(IElectricItem item, ItemStack stack) { @@ -138,8 +148,9 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa if (inputBus.mInventory != null) { for (ItemStack itemStackInBus : inputBus.mInventory) { if (itemStackInBus != null) { - if (itemStackInBus.stackSize == 1) { - if (isItemStackFullyCharged(itemStackInBus)) { + Item item = itemStackInBus.getItem(); + if (itemStackInBus.stackSize == 1 && item != null) { + if (isItemStackFullyCharged(itemStackInBus) && isItemStackFullyRepaired(itemStackInBus)) { if (addOutput(itemStackInBus)) { this.depleteInput(itemStackInBus); } @@ -164,13 +175,25 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa for (ItemStack itemStackInBus : inputBus.mInventory) { if (itemStackInBus != null) { Item item = itemStackInBus.getItem(); - if (itemStackInBus.stackSize == 1) { - if (isItemStackFullyCharged(itemStackInBus)) { + if (itemStackInBus.stackSize == 1 && item != null) { + if (isItemStackFullyCharged(itemStackInBus) && isItemStackFullyRepaired(itemStackInBus)) { itemProcessed = true; if (addOutput(itemStackInBus)) { this.depleteInput(itemStackInBus); } } else { + if (item.isRepairable()) { + FluidStack uum = getStoredFluids().stream().filter(fluid -> Materials.UUMatter.getFluid(1).isFluidEqual(fluid)).findAny().orElse(null); + if (uum != null) { + int maxRepairedDamage = Math.max(item.getDamage(itemStackInBus), 1000); + int actualRepairedDamage = Math.min(item.getDamage(itemStackInBus) - maxRepairedDamage, 0); + if (getEUVar() >= actualRepairedDamage) { + item.setDamage(itemStackInBus, actualRepairedDamage); + depleteInput(new FluidStack(Materials.UUMatter.mFluid, Math.max(actualRepairedDamage / 100, 1))); + setEUVar(Math.min(getEUVar() - actualRepairedDamage, 0)); + } + } + } if (item instanceof IElectricItem) { doChargeItemStack((IElectricItem) item, itemStackInBus); return; -- cgit From be966a5ea951df09ff6d95da67b19eae69be17d5 Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Sun, 7 Aug 2022 10:09:55 +0200 Subject: Changed tooltip to fit the new behavior --- .../thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java | 6 +++--- src/main/resources/assets/tectech/lang/en_US.lang | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java index 306d3bd9d2..bf699851df 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java @@ -215,10 +215,10 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.infuser.name")) // Machine Type: Network Switch With QoS + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.infuser.name")) // Machine Type: Energy Infuser .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.0")) // Controller block of the Energy Infuser - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.1")) // Can be used to charge items in the controller GUI - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.2")) // Has a loss of 3.125% + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.1")) // Can be used to charge items (lossless) + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.2")) // Can be fed with UU-Matter to repair items .addSeparator() .beginStructureBlock(3, 5, 3, false) .addController(translateToLocal("tt.keyword.Structure.FrontCenter3rd")) // Controller: Front 3rd layer center diff --git a/src/main/resources/assets/tectech/lang/en_US.lang b/src/main/resources/assets/tectech/lang/en_US.lang index 15c174691f..6393b2eeed 100644 --- a/src/main/resources/assets/tectech/lang/en_US.lang +++ b/src/main/resources/assets/tectech/lang/en_US.lang @@ -690,8 +690,8 @@ gt.blockmachines.multimachine.em.collider.Structure.AdditionalCollider=Needs ano gt.blockmachines.multimachine.em.infuser.name=Energy Infuser gt.blockmachines.multimachine.em.infuser.hint=1 - Classic Hatches or High Power Casing gt.blockmachines.multimachine.em.infuser.desc.0=Controller block of the Energy Infuser -gt.blockmachines.multimachine.em.infuser.desc.1=Can be used to charge items in the controller GUI -gt.blockmachines.multimachine.em.infuser.desc.2=Has a loss of 3.125% +gt.blockmachines.multimachine.em.infuser.desc.1=Can be used to charge items (lossless) +gt.blockmachines.multimachine.em.infuser.desc.2=Can be fed with UU-Matter to repair items gt.blockmachines.multimachine.em.infuser.Structure.HighPowerCasing=Layer 1 and 5 gt.blockmachines.multimachine.em.infuser.Structure.MolecularCoil=Layer 2 and 4 gt.blockmachines.multimachine.em.infuser.Structure.MolecularCasing=Layer 3 (hollow) -- cgit From 88656e0e321993dc4291e04e9e64ee3080303aea Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Sun, 7 Aug 2022 11:11:25 +0200 Subject: Tiered recipes of the infuser down to ZPM --- .../dreamcraft/DreamCraftRecipeLoader.java | 31 ++++++++++------------ 1 file changed, 14 insertions(+), 17 deletions(-) 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 de305099bf..351506a459 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 @@ -152,35 +152,33 @@ public class DreamCraftRecipeLoader { }, Materials.Osmium.getMolten(1296), CustomItemList.eM_Containment.get(1), 800, 500000); //Hollow Casing - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Containment.get(1), - 12000, 32, 500000, 6, new ItemStack[]{ + GT_Values.RA.addAssemblylineRecipe(CustomItemList.eM_Containment.get(1), 7500, new ItemStack[]{ CustomItemList.eM_Containment.get(1), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Neutronium, 2), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Europium, 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, Materials.Uranium, 16), + GT_OreDictUnificator.get(OrePrefixes.screw, getOrDefault("Quantium", Materials.Europium), 16), }, new FluidStack[]{ getOrDefault("Trinium", Materials.Osmium).getMolten(1296), Materials.Osmium.getMolten(1296), new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), Materials.Argon.getGas(1000), - }, CustomItemList.eM_Hollow.get(2), 200, 2000000); + }, CustomItemList.eM_Hollow.get(2), 200, 200000); //EM Coil - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Hollow.get(1), - 48000, 128, 1000000, 16, new ItemStack[]{ + GT_Values.RA.addAssemblylineRecipe(CustomItemList.eM_Hollow.get(1), 7500, new ItemStack[]{ CustomItemList.eM_Hollow.get(1), - ItemList.Casing_Fusion_Coil.get(4), - ItemList.Casing_Coil_NaquadahAlloy.get(4), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Neutronium, 64), + ItemList.Casing_Fusion_Coil.get(2), + ItemList.Casing_Coil_NaquadahAlloy.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Europium, 64), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Europium, 64), }, new FluidStack[]{ Materials.Glass.getMolten(2304), Materials.Silicone.getMolten(1872), new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), getOrDefault("Trinium", Materials.Osmium).getMolten(1296), - }, CustomItemList.eM_Coil.get(4), 800, 2000000); + }, CustomItemList.eM_Coil.get(4), 800, 200000); // Infinite Oil Rig TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.OilDrill3.get(1), @@ -771,17 +769,16 @@ public class DreamCraftRecipeLoader { }, CustomItemList.Machine_Multi_Scanner.get(1), 24000, 500000); //Multi Infuser - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Transformer.get(1), - 192000, 512, 2000000, 32, new ItemStack[]{ + GT_Values.RA.addAssemblylineRecipe(CustomItemList.Machine_Multi_Transformer.get(1), 7500, new ItemStack[]{ CustomItemList.Machine_Multi_Transformer.get(1), CustomItemList.eM_Coil.get(8), CustomItemList.eM_Power.get(8), GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), }, new FluidStack[]{ Materials.Electrum.getMolten(2592), - Materials.Neutronium.getMolten(1872), + Materials.Europium.getMolten(1872), new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - }, CustomItemList.Machine_Multi_Infuser.get(1), 8000, 2000000); + }, CustomItemList.Machine_Multi_Infuser.get(1), 8000, 200000); item_parts_UHV_assline_recipes(); -- cgit From 2edadfe67f0cb2665291ac52ae4caca29f99ed2c Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Sun, 7 Aug 2022 19:19:12 +0200 Subject: Added recipe for parametrizer memory card --- .../tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java | 6 ++++++ 1 file changed, 6 insertions(+) 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 35329af496..eb5c3fbe8c 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 @@ -1735,6 +1735,12 @@ public class DreamCraftRecipeLoader { //region items + // Parametrizer Memory Card + GT_Values.RA.addCircuitAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, 4), + }, Materials.Plastic.getMolten(72), CustomItemList.parametrizerMemory.get(1), 200, 480, true); + //LV Tesla Capacitor GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tin, 4), -- cgit From 4b3c361586849ea83f6b4069069e2d956c7a37b3 Mon Sep 17 00:00:00 2001 From: chochem <40274384+chochem@users.noreply.github.com> Date: Mon, 8 Aug 2022 14:44:59 +0100 Subject: biomain and nano computation buff --- .../thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java index 0ef4a38a3d..e890a5e60b 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java @@ -321,12 +321,12 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { new RackComponent(ItemList.NandChip.get(1), 2, 6, 0, 750, true);//Primitive Circuit new RackComponent(ItemList.Circuit_Biowarecomputer.get(1), 40, 26, -.35F, 5900, true); new RackComponent(ItemList.Circuit_Biowaresupercomputer.get(1), 42, 30, -.4F, 6200, true); - new RackComponent(ItemList.Circuit_Biomainframe.get(1), 40, 28, -.4F, 6000, true);//UHV Circuit + new RackComponent(ItemList.Circuit_Biomainframe.get(1), 44, 28, -.4F, 6000, true);//UEV Circuit new RackComponent(ItemList.Circuit_Bioprocessor.get(1), 34, 20, -.35F, 5800, true); new RackComponent("dreamcraft:item.HighEnergyCircuitParts", 3, 2, -.1f, 9001, true); new RackComponent("dreamcraft:item.HighEnergyFlowCircuit", 24, 16, -.25f, 10000, true); - new RackComponent("dreamcraft:item.NanoCircuit", 48, 35, -.45f, 8000, true); + new RackComponent("dreamcraft:item.NanoCircuit", 50, 35, -.45f, 8000, true); new RackComponent("dreamcraft:item.PikoCircuit", 64, 40, -.5f, 8500, true); new RackComponent("dreamcraft:item.QuantumCircuit", 128, 48, -.6f, 9000, true); } -- cgit From 41f917a95588f56813ac381ad0ba28542b159525 Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Tue, 9 Aug 2022 15:14:10 +0200 Subject: Moved magic numbers out of code and adjusted repair costs --- .../multi/GT_MetaTileEntity_EM_infuser.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java index bf699851df..51262076cd 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java @@ -38,6 +38,11 @@ import static net.minecraft.util.StatCollector.translateToLocal; * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { + + private static final int maxRepairedDamagePerOperation = 1000; + private static final long usedEuPerDurability = 1000; + private static final int usedUumPerDurability = 1; + //region structure private static final String[] description = new String[]{ EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", @@ -185,12 +190,11 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa if (item.isRepairable()) { FluidStack uum = getStoredFluids().stream().filter(fluid -> Materials.UUMatter.getFluid(1).isFluidEqual(fluid)).findAny().orElse(null); if (uum != null) { - int maxRepairedDamage = Math.max(item.getDamage(itemStackInBus), 1000); - int actualRepairedDamage = Math.min(item.getDamage(itemStackInBus) - maxRepairedDamage, 0); - if (getEUVar() >= actualRepairedDamage) { - item.setDamage(itemStackInBus, actualRepairedDamage); - depleteInput(new FluidStack(Materials.UUMatter.mFluid, Math.max(actualRepairedDamage / 100, 1))); - setEUVar(Math.min(getEUVar() - actualRepairedDamage, 0)); + int repairedDamage = Math.min(item.getDamage(itemStackInBus), maxRepairedDamagePerOperation); + long euCost = repairedDamage * usedEuPerDurability; + if (getEUVar() >= euCost && depleteInput(new FluidStack(Materials.UUMatter.mFluid,repairedDamage * usedUumPerDurability))) { + item.setDamage(itemStackInBus, Math.max(item.getDamage(itemStackInBus) - repairedDamage, 0)); + setEUVar(Math.min(getEUVar() - euCost, 0)); } } } -- cgit From a4ca89f2d9c0f119694410e81775436811264f1e Mon Sep 17 00:00:00 2001 From: POPlol333 Date: Tue, 9 Aug 2022 22:38:52 +0200 Subject: changing UIV/UMV energy hatch and dynamo to use their own SC, also nerfed stargate lol --- dependencies.gradle | 2 +- .../compatibility/dreamcraft/DreamCraftRecipeLoader.java | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 265d368702..2ec71212ef 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -3,7 +3,7 @@ dependencies { shadowImplementation('com.github.GTNewHorizons:AVRcore:master-SNAPSHOT') - compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.40.84:dev') + compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.40.88:dev') compile('com.github.GTNewHorizons:Yamcl:0.5.82:dev') compile('com.github.GTNewHorizons:NotEnoughItems:2.2.15-GTNH:dev') compile('com.github.GTNewHorizons:CodeChickenLib:1.1.5.3:dev') 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 eb5c3fbe8c..b5637dbef7 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 @@ -874,7 +874,7 @@ public class DreamCraftRecipeLoader { TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("Hatch_Energy_UEV").get(1L), 96_000, 64, 200_000, 8, new Object[]{ getItemContainer("Hull_UIV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUEV, 8L), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUIV, 2L), ItemList.Circuit_Chip_QPIC.get(4L), getItemContainer("NanoCircuit").get(2), ItemList.UHV_Coil.get(8L), @@ -894,7 +894,7 @@ public class DreamCraftRecipeLoader { TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("Hatch_Dynamo_UEV").get(1L), 192_000, 128, 400_000, 16, new Object[]{ getItemContainer("Hull_UIV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUEVBase, 32L), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUIVBase, 8L), ItemList.Circuit_Chip_QPIC.get(4L), getItemContainer("NanoCircuit").get(2), ItemList.UHV_Coil.get(8L), @@ -915,7 +915,7 @@ public class DreamCraftRecipeLoader { TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("Hatch_Energy_UIV").get(1L), 192000, 128, 400000, 16, new Object[]{ getItemContainer("Hull_UMV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUEV, 16L), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUMV, 2L), ItemList.Circuit_Chip_QPIC.get(4L), getItemContainer("PikoCircuit").get(2), ItemList.UHV_Coil.get(16L), @@ -938,7 +938,7 @@ public class DreamCraftRecipeLoader { TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("Hatch_Dynamo_UIV").get(1L), 384000, 256, 800000, 32, new Object[]{ getItemContainer("Hull_UMV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUEVBase, 64L), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUMVBase, 8L), ItemList.Circuit_Chip_QPIC.get(4L), getItemContainer("PikoCircuit").get(2), ItemList.UHV_Coil.get(16L), @@ -1104,7 +1104,7 @@ public class DreamCraftRecipeLoader { new FluidStack[]{ Materials.Neutronium.getMolten(32_768_000L), Materials.SpaceTime.getMolten(4*36864L), - Materials.SuperconductorUEVBase.getMolten(4*36864L), + Materials.SuperconductorUMVBase.getMolten(4*36864L), Materials.ExcitedDTEC.getFluid(4*36864L) }, getItemContainer("StargateShieldingFoil").get(1L), 72_000, 500_000_000); @@ -1135,7 +1135,7 @@ public class DreamCraftRecipeLoader { new FluidStack[]{ Materials.Neutronium.getMolten(32_768_000L), Materials.SpaceTime.getMolten(4*36864L), - Materials.SuperconductorUEVBase.getMolten(4*36864L), + Materials.SuperconductorUMVBase.getMolten(4*36864L), Materials.ExcitedDTEC.getFluid(4*36864L) }, getItemContainer("StargateChevron").get(1L), 72_000, 500_000_000); @@ -1158,7 +1158,7 @@ public class DreamCraftRecipeLoader { GT_ModHandler.getModItem("bartworks", "gt.bwMetaGeneratedstickLong", 64L, 10106), GT_ModHandler.getModItem("miscutils", "itemRodLongAstralTitanium", 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SuperconductorUEVBase, 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SuperconductorUMVBase, 64L), GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Sunnarium, 64L), GT_ModHandler.getModItem("miscutils", "itemRodLongAbyssalAlloy", 64L), GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TranscendentMetal, 64L), @@ -1167,7 +1167,7 @@ public class DreamCraftRecipeLoader { new FluidStack[]{ Materials.Neutronium.getMolten(32_768_000L), Materials.SpaceTime.getMolten(4*36864L), - Materials.SuperconductorUEVBase.getMolten(4*36864L), + Materials.SuperconductorUMVBase.getMolten(4*36864L), Materials.ExcitedDTEC.getFluid(4*36864L) }, getItemContainer("StargateFramePart").get(1L), 72_000, 500_000_000); -- cgit From 719a37c0b46badf91de1d92d2a1b245bedd11584 Mon Sep 17 00:00:00 2001 From: chochem <40274384+chochem@users.noreply.github.com> Date: Wed, 10 Aug 2022 22:01:00 +0100 Subject: add DEFC recipe to TT --- .../dreamcraft/DreamCraftRecipeLoader.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) 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 eb5c3fbe8c..57e5048b61 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 @@ -1392,6 +1392,27 @@ public class DreamCraftRecipeLoader { ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(576), }, GregtechItemList.Casing_Fusion_External.get(1), 300, 2000000); + // Draconic Evolution Fusion Controller controller + if (Loader.isModLoaded("AWWayofTime")&&Loader.isModLoaded("EMT")){ + TT_recipeAdder.addResearchableAssemblylineRecipe(GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 8), + 16_777_216, 1024, 2_000_000, 8, new Object[]{ + GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 10783), + GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 8), + GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsBotania.GaiaSpirit, 1L), + ItemList.Casing_Coil_AwakenedDraconium.get(8L), + ItemList.Electric_Motor_UHV.get(8L), + ItemList.Robot_Arm_UHV.get(4L), + new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4}, + ItemList.Gravistar.get(4, new Object(){}), + GT_ModHandler.getModItem("Thaumcraft", "ItemEldritchObject", 1, 3), + GT_ModHandler.getModItem("AWWayofTime", "bloodMagicBaseItems", 8, 29), + GT_ModHandler.getModItem("AWWayofTime", "bloodMagicBaseItems", 8, 28), + }, new FluidStack[]{ + new FluidStack(solderIndalloy, 2880), + Materials.Void.getMolten(2880L), + Materials.DraconiumAwakened.getMolten(1440), + }, DECC, 1500, 8_000_000); + } //region singleblocks -- cgit From 3f7b83774e4fd7fe2e5e8e6a9379768c2ab02f2b Mon Sep 17 00:00:00 2001 From: chochem <40274384+chochem@users.noreply.github.com> Date: Wed, 10 Aug 2022 22:08:31 +0100 Subject: get the controller --- .../tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 57e5048b61..2bd5511707 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 @@ -1411,7 +1411,7 @@ public class DreamCraftRecipeLoader { new FluidStack(solderIndalloy, 2880), Materials.Void.getMolten(2880L), Materials.DraconiumAwakened.getMolten(1440), - }, DECC, 1500, 8_000_000); + }, GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 5001), 1500, 8_000_000); } //region singleblocks -- cgit From fa64ac388249264734bd28c647a0622342257b0b Mon Sep 17 00:00:00 2001 From: chochem <40274384+chochem@users.noreply.github.com> Date: Wed, 10 Aug 2022 22:15:41 +0100 Subject: get gt botania materials --- .../technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java | 1 + 1 file changed, 1 insertion(+) 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 2bd5511707..f8c50aac4b 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 @@ -13,6 +13,7 @@ import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsBotania; import gregtech.api.enums.OrePrefixes; import gregtech.api.interfaces.IItemContainer; import gregtech.api.util.GT_ModHandler; -- cgit From 45295e6d6fdc854de838d0bb022f16d93ec8e599 Mon Sep 17 00:00:00 2001 From: chochem <40274384+chochem@users.noreply.github.com> Date: Wed, 10 Aug 2022 22:30:21 +0100 Subject: typo --- .../tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 f8c50aac4b..5da9551d34 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 @@ -1393,7 +1393,7 @@ public class DreamCraftRecipeLoader { ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(576), }, GregtechItemList.Casing_Fusion_External.get(1), 300, 2000000); - // Draconic Evolution Fusion Controller controller + // Draconic Evolution Fusion Crafter Controller if (Loader.isModLoaded("AWWayofTime")&&Loader.isModLoaded("EMT")){ TT_recipeAdder.addResearchableAssemblylineRecipe(GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 8), 16_777_216, 1024, 2_000_000, 8, new Object[]{ -- cgit From 6a30ab9aaa4cbf35b5fe93e80760f7908f810676 Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Thu, 11 Aug 2022 19:53:19 +0200 Subject: Backported rotation logic from enhanced mulitblock base to allow all TT based machines to be rotated more freely --- .../base/GT_MetaTileEntity_MultiblockBase_EM.java | 27 +++++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java index b74ac5023a..e8228d0f03 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java @@ -34,6 +34,7 @@ import gregtech.api.util.GT_Utility; import gregtech.common.GT_Pollution; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -175,22 +176,36 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt @Override public void setExtendedFacing(ExtendedFacing newExtendedFacing) { if (extendedFacing != newExtendedFacing) { + if(mMachine) + stopMachine(); extendedFacing = newExtendedFacing; - IGregTechTileEntity base = getBaseMetaTileEntity(); + final IGregTechTileEntity base = getBaseMetaTileEntity(); mMachine = false; + mUpdated = false; + mUpdate = 100; if (getBaseMetaTileEntity().isServerSide()) { - //NetworkDispatcher.INSTANCE.sendToAllAround(new AlignmentMessage.AlignmentData(this), - // base.getWorld().provider.dimensionId, - // base.getXCoord(), base.getYCoord(), base.getZCoord(), 512); StructureLibAPI.sendAlignment((IAlignmentProvider) base, - new NetworkRegistry.TargetPoint(base.getWorld().provider.dimensionId, - base.getXCoord(), base.getYCoord(), base.getZCoord(), 512)); + new NetworkRegistry.TargetPoint(base.getWorld().provider.dimensionId, base.getXCoord(), base.getYCoord(), base.getZCoord(), 512)); } else { base.issueTextureUpdate(); } } } + @Override + public boolean onWrenchRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + if (aWrenchingSide != getBaseMetaTileEntity().getFrontFacing()) + return super.onWrenchRightClick(aSide, aWrenchingSide, aPlayer, aX, aY, aZ); + if (aPlayer.isSneaking()) { + // we won't be allowing horizontal flips, as it can be perfectly emulated by rotating twice and flipping horizontally + // allowing an extra round of flip make it hard to draw meaningful flip markers in GT_Proxy#drawGrid + toolSetFlip(getFlip().isHorizontallyFlipped() ? Flip.NONE : Flip.HORIZONTAL); + } else { + toolSetRotation(null); + } + return true; + } + @Override public boolean isFacingValid(byte aFacing) { return canSetToDirectionAny(ForgeDirection.getOrientation(aFacing)); -- cgit From 4328a7a2b2f1c5a9979ba295a22c0358a590914f Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Fri, 12 Aug 2022 12:02:46 +0800 Subject: partial autoplace integration --- dependencies.gradle | 2 +- .../multi/GT_MetaTileEntity_EM_computer.java | 54 ++++++++- .../multi/GT_MetaTileEntity_EM_dataBank.java | 66 ++++++++++- .../multi/GT_MetaTileEntity_EM_research.java | 44 +++++-- .../multi/GT_MetaTileEntity_EM_transformer.java | 24 +++- .../multi/GT_MetaTileEntity_TM_teslaCoil.java | 130 +++++++++++++++++---- .../base/GT_MetaTileEntity_MultiblockBase_EM.java | 115 +++++++++++++++++- 7 files changed, 392 insertions(+), 43 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 265d368702..4689997e66 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -3,7 +3,7 @@ dependencies { shadowImplementation('com.github.GTNewHorizons:AVRcore:master-SNAPSHOT') - compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.40.84:dev') + compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.40.89:dev') compile('com.github.GTNewHorizons:Yamcl:0.5.82:dev') compile('com.github.GTNewHorizons:NotEnoughItems:2.2.15-GTNH:dev') compile('com.github.GTNewHorizons:CodeChickenLib:1.1.5.3:dev') 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 16fcf2618c..eac3bb4dd9 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 @@ -10,11 +10,14 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_Rend import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; +import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; +import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.util.Vec3Impl; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Textures; +import gregtech.api.interfaces.IHatchElement; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -22,12 +25,16 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import gregtech.api.util.IGT_HatchAdder; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; @@ -36,6 +43,7 @@ import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStat import static com.github.technus.tectech.util.CommonValues.MULTI_CHECK_AT; import static com.github.technus.tectech.util.CommonValues.V; import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; import static net.minecraft.util.StatCollector.translateToLocal; @@ -43,7 +51,7 @@ import static net.minecraft.util.StatCollector.translateToLocal; /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { +public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable { //region variables private final ArrayList eRacks = new ArrayList<>(); @@ -87,8 +95,11 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB .addElement('B', ofBlock(sBlockCasingsTT, 1)) .addElement('C', ofBlock(sBlockCasingsTT, 2)) .addElement('D', ofBlock(sBlockCasingsTT, 3)) - .addElement('A', ofHatchAdderOptional(GT_MetaTileEntity_EM_computer::addToMachineList, textureOffset + 1, 1, sBlockCasingsTT, 1)) - .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_EM_computer::addRackToMachineList, textureOffset + 3, 2, sBlockCasingsTT, 3)) + .addElement('A', classicHatches(textureOffset + 1, 1, sBlockCasingsTT, 1)) + .addElement('E', ofChain( + RackHatchElement.INSTANCE.newAny(textureOffset + 3, 2), + ofBlock(sBlockCasingsTT, 3) + )) .build(); //endregion @@ -406,6 +417,24 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB structureBuild_EM("back", 1, 2, offset, stackSize, hintsOnly); } + @Override + public int survivalConstruct(ItemStack stackSize, int elementBudget, IItemSource source, EntityPlayerMP actor) { + int built; + built = survivialBuildPiece("front", stackSize, 1, 2, 0, elementBudget, source, actor, false, true); + if (built > 0) return built; + built = survivialBuildPiece("cap", stackSize, 1, 2, -1, elementBudget, source, actor, false, true); + if (built > 0) return built; + + byte offset = -2; + for (int rackSlices = Math.min(stackSize.stackSize, 12); rackSlices > 0; rackSlices--) { + built = survivialBuildPiece("slice", stackSize, 1, 2, offset--, elementBudget, source, actor, false, true); + if (built > 0) return built; + } + built = survivialBuildPiece("cap", stackSize, 1, 2, offset--, elementBudget, source, actor, false, true); + if (built > 0) return built; + return survivialBuildPiece("back", stackSize, 1, 2, offset, elementBudget, source, actor, false, true); + } + @Override public IStructureDefinition getStructure_EM() { return STRUCTURE_DEFINITION; @@ -415,4 +444,23 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB public String[] getStructureDescription(ItemStack stackSize) { return description; } + + private enum RackHatchElement implements IHatchElement { + INSTANCE; + + @Override + public List> mteClasses() { + return Collections.singletonList(GT_MetaTileEntity_Hatch_Rack.class); + } + + @Override + public IGT_HatchAdder adder() { + return GT_MetaTileEntity_EM_computer::addRackToMachineList; + } + + @Override + public long count(GT_MetaTileEntity_EM_computer t) { + return t.eRacks.size(); + } + } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java index 00efac0828..ae4f288e77 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java @@ -10,16 +10,21 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEnt import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; import com.github.technus.tectech.util.CommonValues; import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; +import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; +import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Textures; +import gregtech.api.interfaces.IHatchElement; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_DataAccess; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import gregtech.api.util.IGT_HatchAdder; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; @@ -27,6 +32,9 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; @@ -35,10 +43,10 @@ import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBloc import static com.github.technus.tectech.util.CommonValues.V; import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; import static net.minecraft.util.StatCollector.translateToLocal; -public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { +public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable { //region variables private final ArrayList eStacksDataOutputs = new ArrayList<>(); private final ArrayList eDataAccessHatches = new ArrayList<>(); @@ -61,8 +69,15 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB })) .addElement('A', ofBlock(sBlockCasingsTT, 1)) .addElement('B', ofBlock(sBlockCasingsTT, 2)) - .addElement('C', ofHatchAdderOptional(GT_MetaTileEntity_EM_dataBank::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('D', ofHatchAdderOptional(GT_MetaTileEntity_EM_dataBank::addDataBankHatchToMachineList, textureOffset + 1, 2, sBlockCasingsTT, 1)) + .addElement('C', classicHatches(textureOffset, 1, sBlockCasingsTT, 0)) + .addElement('D', buildHatchAdder(GT_MetaTileEntity_EM_dataBank.class) + .atLeast(DataBankHatches.OutboundConnector, DataBankHatches.InboundConnector) + .casingIndex(textureOffset + 1) + .dot(2) + .buildAndChain( + DataBankHatches.DataStick.newAny(textureOffset + 1, 2), + ofBlock(sBlockCasingsTT, 1) + )) .build(); //endregion @@ -194,6 +209,11 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB structureBuild_EM("main", 2, 1, 0, stackSize, hintsOnly); } + @Override + public int survivalConstruct(ItemStack stackSize, int elementBudget, IItemSource source, EntityPlayerMP actor) { + return survivialBuildPiece("main", stackSize, 2, 1, 0, elementBudget, source, actor, false, true); + } + @Override public IStructureDefinition getStructure_EM() { return STRUCTURE_DEFINITION; @@ -203,4 +223,42 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB public String[] getStructureDescription(ItemStack stackSize) { return description; } + + private enum DataBankHatches implements IHatchElement { + DataStick(GT_MetaTileEntity_Hatch_DataAccess.class) { + @Override + public long count(GT_MetaTileEntity_EM_dataBank t) { + return t.eDataAccessHatches.size(); + } + }, + OutboundConnector(GT_MetaTileEntity_Hatch_OutputDataItems.class) { + @Override + public long count(GT_MetaTileEntity_EM_dataBank t) { + return t.eStacksDataOutputs.size(); + } + }, + InboundConnector(GT_MetaTileEntity_Hatch_InputDataItems.class) { + @Override + public long count(GT_MetaTileEntity_EM_dataBank t) { + return t.eDataAccessHatches.size(); + } + }; + + private final List> mteClasses; + + @SafeVarargs + DataBankHatches(Class... mteClasses) { + this.mteClasses = Collections.unmodifiableList(Arrays.asList(mteClasses)); + } + + @Override + public List> mteClasses() { + return mteClasses; + } + + @Override + public IGT_HatchAdder adder() { + return GT_MetaTileEntity_EM_dataBank::addDataBankHatchToMachineList; + } + } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java index 744d79779f..e95519432c 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java @@ -7,10 +7,13 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEnt import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; import com.github.technus.tectech.util.CommonValues; import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; +import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; +import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.enums.ItemList; import gregtech.api.enums.Textures; +import gregtech.api.interfaces.IHatchElement; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -18,10 +21,7 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; +import gregtech.api.util.*; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; @@ -32,18 +32,24 @@ import net.minecraft.util.EnumChatFormatting; import org.apache.commons.lang3.reflect.FieldUtils; import java.util.ArrayList; +import java.util.Collections; import java.util.LinkedHashMap; +import java.util.List; import static com.github.technus.tectech.recipe.TT_recipe.E_RECIPE_ID; import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_crafting.crafter; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.DynamoMulti; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.EnergyMulti; import static com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine.machine; import static com.github.technus.tectech.util.CommonValues.V; import static com.github.technus.tectech.util.CommonValues.VN; import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.enums.GT_HatchElement.*; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; import static net.minecraft.util.StatCollector.translateToLocal; @@ -52,7 +58,7 @@ import static net.minecraft.util.StatCollector.translateToLocalFormatted; /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { +public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable { //region variables private final ArrayList eHolders = new ArrayList<>(); private GT_Recipe.GT_Recipe_AssemblyLine tRecipe; @@ -88,8 +94,8 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB .addElement('A', ofBlock(sBlockCasingsTT, 1)) .addElement('B', ofBlock(sBlockCasingsTT, 2)) .addElement('C', ofBlock(sBlockCasingsTT, 3)) - .addElement('D', ofHatchAdderOptional(GT_MetaTileEntity_EM_research::addClassicToMachineList, textureOffset + 1, 1, sBlockCasingsTT, 1)) - .addElement('E', ofHatchAdder(GT_MetaTileEntity_EM_research::addHolderToMachineList, 3, 2)) + .addElement('D', classicHatches(textureOffset + 1, 1, sBlockCasingsTT, 1)) + .addElement('E', HolderHatchElement.INSTANCE.newAny(3, 2)) .build(); //endregion @@ -583,6 +589,11 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB structureBuild_EM("main", 1, 3, 4, stackSize, hintsOnly); } + @Override + public int survivalConstruct(ItemStack stackSize, int elementBudget, IItemSource source, EntityPlayerMP actor) { + return survivialBuildPiece("main", stackSize, 1, 3, 4, elementBudget, source, actor, false, true); + } + @Override public IStructureDefinition getStructure_EM() { return STRUCTURE_DEFINITION; @@ -592,4 +603,23 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB public String[] getStructureDescription(ItemStack stackSize) { return description; } + + private enum HolderHatchElement implements IHatchElement { + INSTANCE; + + @Override + public List> mteClasses() { + return Collections.singletonList(GT_MetaTileEntity_Hatch_Holder.class); + } + + @Override + public IGT_HatchAdder adder() { + return GT_MetaTileEntity_EM_research::addHolderToMachineList; + } + + @Override + public long count(GT_MetaTileEntity_EM_research t) { + return t.eHolders.size(); + } + } } 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 c2fe22e88d..8428856f3f 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 @@ -7,6 +7,8 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEnt import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; import com.github.technus.tectech.util.CommonValues; import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; +import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; +import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -15,6 +17,7 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -23,15 +26,20 @@ import net.minecraft.util.ResourceLocation; import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.DynamoMulti; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.EnergyMulti; import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; import static gregtech.api.GregTech_API.sBlockCasings1; +import static gregtech.api.enums.GT_HatchElement.Dynamo; +import static gregtech.api.enums.GT_HatchElement.Energy; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; import static net.minecraft.util.StatCollector.translateToLocal; /** * 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 ISurvivalConstructable { //region structure private static final String[] description = new String[]{ EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", @@ -45,10 +53,11 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo {"111", "111", "111",}, }) .addElement('0', ofBlock(sBlockCasings1, 15)) - .addElement('1', ofChain( - ofHatchAdder(GT_MetaTileEntity_EM_transformer::addEnergyIOToMachineList, textureOffset, 1), - onElementPass(t -> t.casingCount++, ofBlock(sBlockCasingsTT, 0)) - )) + .addElement('1', buildHatchAdder(GT_MetaTileEntity_EM_transformer.class) + .atLeast(Energy, EnergyMulti, Dynamo, DynamoMulti) + .casingIndex(textureOffset) + .dot(1) + .buildAndChain(onElementPass(t -> t.casingCount++, ofBlock(sBlockCasingsTT, 0)))) .build(); private int casingCount = 0; @@ -172,6 +181,11 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo structureBuild_EM("main", 1, 1, 0, stackSize, hintsOnly); } + @Override + public int survivalConstruct(ItemStack stackSize, int elementBudget, IItemSource source, EntityPlayerMP actor) { + return survivialBuildPiece("main", stackSize, 1, 1, 0, elementBudget, source, actor, false, true); + } + @Override public String[] getStructureDescription(ItemStack stackSize) { return description; 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 c625686793..30ac2fd8f8 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 @@ -18,40 +18,67 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_Rend import com.github.technus.tectech.util.CommonValues; import com.google.common.collect.Multimap; import com.google.common.collect.MultimapBuilder; -import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; +import com.gtnewhorizon.structurelib.StructureLibAPI; +import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; +import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; +import com.gtnewhorizon.structurelib.structure.IStructureElement; +import com.gtnewhorizon.structurelib.structure.StructureUtility; +import com.gtnewhorizon.structurelib.util.ItemStackPredicate; import com.gtnewhorizon.structurelib.util.Vec3Impl; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.Textures; +import gregtech.api.interfaces.IHatchElement; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.BaseMetaPipeEntity; import gregtech.api.metatileentity.implementations.*; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; +import gregtech.api.util.IGT_HatchAdder; +import gregtech.common.blocks.GT_Item_Machines; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.init.Items; +import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IChatComponent; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; import net.minecraftforge.fluids.FluidStack; +import org.apache.commons.lang3.tuple.Pair; -import java.util.ArrayList; -import java.util.HashSet; +import java.util.*; +import java.util.function.Consumer; +import java.util.stream.Collectors; +import java.util.stream.IntStream; import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.*; import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsBA0; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.DynamoMulti; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.EnergyMulti; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.Param; import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; import static com.github.technus.tectech.util.CommonValues.V; import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; +import static gregtech.api.enums.GT_HatchElement.*; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; import static java.lang.Math.min; import static net.minecraft.util.StatCollector.translateToLocal; -public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable, ITeslaConnectable { +public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable, ITeslaConnectable { //Interface fields private final Multimap teslaNodeMap = MultimapBuilder.treeKeys().linkedListValues().build(); private final HashSet sparkList = new HashSet<>(); @@ -131,15 +158,59 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock .addElement('A', ofBlock(sBlockCasingsBA0, 6)) .addElement('B', ofBlock(sBlockCasingsBA0, 7)) .addElement('C', ofBlock(sBlockCasingsBA0, 8)) - .addElement('D', defer(t -> ofBlock(sBlockCasingsBA0, t.getCoilWindingMeta()))) - .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_TM_teslaCoil::addCapacitorToMachineList, textureOffset + 16 + 6, 1, sBlockCasingsBA0, 6)) - .addElement('F', ofHatchAdder(GT_MetaTileEntity_TM_teslaCoil::addFrameToMachineList, 0, 2)) - .build(); + .addElement('D', ofBlocksTiered( + (block, meta) -> block != sBlockCasingsBA0 ? -1 : meta <= 5 ? meta : meta == 9 ? 6 : -1, + IntStream.range(0, 6).map(tier -> tier == 5 ? 9 : tier).mapToObj(meta -> Pair.of(sBlockCasingsBA0, meta)).collect(Collectors.toList()), + -1, + (t, v) -> t.mTier = v, + t -> t.mTier)) + .addElement('E', buildHatchAdder(GT_MetaTileEntity_TM_teslaCoil.class) + .atLeast(CapacitorHatchElement.INSTANCE, EnergyMulti, Energy, DynamoMulti, Dynamo, InputHatch, OutputHatch, Param, Maintenance) + .dot(1) + .casingIndex(textureOffset + 16 +6) + .buildAndChain(sBlockCasingsBA0, 6)) + .addElement('F', new IStructureElement() { + private IIcon[] mIcons; + + @Override + public boolean check(GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z) { + TileEntity tBase = world.getTileEntity(x, y, z); + if (tBase instanceof BaseMetaPipeEntity) { + BaseMetaPipeEntity tPipeBase = (BaseMetaPipeEntity) tBase; + if (tPipeBase.isInvalidTileEntity()) return false; + return tPipeBase.getMetaTileEntity() instanceof GT_MetaPipeEntity_Frame; + } + return false; + } - public int getCoilWindingMeta() { - Vec3Impl xyzOffsets = getExtendedFacing().getWorldOffset(new Vec3Impl(0, -1, 1)); - return this.getBaseMetaTileEntity().getMetaIDOffset(xyzOffsets.get0(), xyzOffsets.get1(), xyzOffsets.get2()); - } + @Override + public boolean spawnHint(GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z, ItemStack trigger) { + if (mIcons == null) { + mIcons = new IIcon[6]; + Arrays.fill(mIcons, Materials._NULL.mIconSet.mTextures[OrePrefixes.frameGt.mTextureIndex].getIcon()); + } + StructureLibAPI.hintParticleTinted(world, x, y, z, mIcons, Materials._NULL.mRGBa); + return true; + } + + @Override + public boolean placeBlock(GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z, ItemStack trigger) { + ItemStack tFrameStack = GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Titanium, 1); + if (!GT_Utility.isStackValid(tFrameStack) || !(tFrameStack.getItem() instanceof ItemBlock)) + return false; + ItemBlock tFrameStackItem = (ItemBlock) tFrameStack.getItem(); + return tFrameStackItem.placeBlockAt(tFrameStack, null, world, x, y, z, 6, 0, 0, 0, Items.feather.getDamage(tFrameStack)); + } + + @Override + public PlaceResult survivalPlaceBlock(GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z, ItemStack trigger, IItemSource source, EntityPlayerMP actor, Consumer chatter) { + if (check(t, world, x, y, z)) return PlaceResult.SKIP; + ItemStack tFrameStack = source.takeOne(s -> GT_Item_Machines.getMetaTileEntity(s) instanceof GT_MetaPipeEntity_Frame, true); + if (tFrameStack == null) return PlaceResult.REJECT; + return StructureUtility.survivalPlaceBlock(tFrameStack, ItemStackPredicate.NBTMode.IGNORE_KNOWN_INSIGNIFICANT_TAGS, null, false, world, x, y, z, source, actor, chatter); + } + }) + .build(); //endregion //region parameters @@ -346,22 +417,17 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock @Override public boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { for (GT_MetaTileEntity_Hatch_Capacitor cap : eCapacitorHatches) { - if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(cap)) { + if (isValidMetaTileEntity(cap)) { cap.getBaseMetaTileEntity().setActive(false); } } eCapacitorHatches.clear(); - Vec3Impl xyzOffsets; - xyzOffsets = getExtendedFacing().getWorldOffset(new Vec3Impl(0, -1, 1)); - mTier = iGregTechTileEntity.getMetaIDOffset(xyzOffsets.get0(), xyzOffsets.get1(), xyzOffsets.get2()); - if (mTier == 9) { - mTier = 6; - }//Hacky remap because the ZPM coils were added later + mTier = -1; if (structureCheck_EM("main", 3, 16, 0)) { for (GT_MetaTileEntity_Hatch_Capacitor cap : eCapacitorHatches) { - if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(cap)) { + if (isValidMetaTileEntity(cap)) { cap.getBaseMetaTileEntity().setActive(iGregTechTileEntity.isActive()); } } @@ -714,6 +780,11 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock structureBuild_EM("main", 3, 16, 0, stackSize, hintsOnly); } + @Override + public int survivalConstruct(ItemStack stackSize, int elementBudget, IItemSource source, EntityPlayerMP actor) { + return survivialBuildPiece("main", stackSize, 3, 16, 0, elementBudget, source, actor, false, true); + } + @Override public String[] getStructureDescription(ItemStack stackSize) { return description; @@ -812,4 +883,23 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock } return false; } + + private enum CapacitorHatchElement implements IHatchElement { + INSTANCE; + + @Override + public List> mteClasses() { + return Collections.singletonList(GT_MetaTileEntity_Hatch_Capacitor.class); + } + + @Override + public IGT_HatchAdder adder() { + return GT_MetaTileEntity_TM_teslaCoil::addCapacitorToMachineList; + } + + @Override + public long count(GT_MetaTileEntity_TM_teslaCoil gt_metaTileEntity_tm_teslaCoil) { + return gt_metaTileEntity_tm_teslaCoil.eCapacitorHatches.size(); + } + } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java index b74ac5023a..33dc1270d3 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java @@ -16,24 +16,27 @@ import com.gtnewhorizon.structurelib.alignment.IAlignmentProvider; import com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing; import com.gtnewhorizon.structurelib.alignment.enumerable.Flip; import com.gtnewhorizon.structurelib.alignment.enumerable.Rotation; +import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; +import com.gtnewhorizon.structurelib.structure.IStructureElement; import com.gtnewhorizon.structurelib.util.Vec3Impl; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Textures; +import gregtech.api.interfaces.IHatchElement; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.BaseTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.*; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; +import gregtech.api.util.*; import gregtech.common.GT_Pollution; +import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -43,6 +46,9 @@ import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidStack; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; import static com.github.technus.tectech.loader.TecTechConfig.POWERLESS_MODE; @@ -50,6 +56,7 @@ import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texture import static com.github.technus.tectech.util.CommonValues.*; import static com.github.technus.tectech.util.DoubleCount.div; import static com.github.technus.tectech.util.TT_Utility.getTier; +import static gregtech.api.enums.GT_HatchElement.*; import static java.lang.Math.min; /** @@ -226,6 +233,17 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt getExtendedFacing(), baseMetaTileEntity.getXCoord(), baseMetaTileEntity.getYCoord(), baseMetaTileEntity.getZCoord(), horizontalOffset, verticalOffset, depthOffset, hintsOnly); } + + protected final int survivialBuildPiece(String piece, ItemStack trigger, int horizontalOffset, int verticalOffset, int depthOffset, int elementsBudget, IItemSource source, EntityPlayerMP actor, boolean check) { + final IGregTechTileEntity tTile = getBaseMetaTileEntity(); + return getStructure_EM_Internal().survivalBuild(this, trigger, piece, tTile.getWorld(), getExtendedFacing(), tTile.getXCoord(), tTile.getYCoord(), tTile.getZCoord(), horizontalOffset, verticalOffset, depthOffset, elementsBudget, source, actor, check); + } + + protected final int survivialBuildPiece(String piece, ItemStack trigger, int horizontalOffset, int verticalOffset, int depthOffset, int elementsBudget, IItemSource source, EntityPlayerMP actor, boolean check, boolean checkIfPlaced) { + int built = survivialBuildPiece(piece, trigger, horizontalOffset, verticalOffset, depthOffset, elementsBudget, source, actor, check); + if (checkIfPlaced && built > 0) checkStructure(true, getBaseMetaTileEntity()); + return built; + } //endregion //region METHODS TO OVERRIDE - general functionality, recipe check, output @@ -2573,4 +2591,95 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } //endregion + + protected static IStructureElement classicHatches(int casingIndex, int dot, Block casingBlock, int casingMeta) { + return GT_HatchElementBuilder.builder() + .atLeast(InputBus, InputHatch, OutputHatch, OutputBus, Maintenance, Muffler, HatchElement.EnergyMulti, HatchElement.DynamoMulti, HatchElement.InputData, HatchElement.OutputData, HatchElement.Uncertainty) + .casingIndex(casingIndex) + .dot(dot) + .buildAndChain(casingBlock, casingMeta); + } + + protected static IStructureElement allHatches(int casingIndex, int dot, Block casingBlock, int casingMeta) { + return GT_HatchElementBuilder.builder() + .atLeast(InputBus, InputHatch, OutputHatch, OutputBus, Maintenance, Muffler, HatchElement.EnergyMulti, HatchElement.DynamoMulti, HatchElement.InputData, HatchElement.OutputData, HatchElement.Uncertainty, HatchElement.InputElemental, HatchElement.OutputElemental, HatchElement.OverflowElemental) + .casingIndex(casingIndex) + .dot(dot) + .buildAndChain(casingBlock, casingMeta); + } + + public enum HatchElement implements IHatchElement { + InputElemental(GT_MetaTileEntity_MultiblockBase_EM::addElementalInputToMachineList, GT_MetaTileEntity_Hatch_InputElemental.class) { + @Override + public long count(GT_MetaTileEntity_MultiblockBase_EM t) { + return t.eInputHatches.size(); + } + }, + OutputElemental(GT_MetaTileEntity_MultiblockBase_EM::addElementalOutputToMachineList, GT_MetaTileEntity_Hatch_OutputElemental.class) { + @Override + public long count(GT_MetaTileEntity_MultiblockBase_EM t) { + return t.eOutputHatches.size(); + } + }, + OverflowElemental(GT_MetaTileEntity_MultiblockBase_EM::addElementalMufflerToMachineList, GT_MetaTileEntity_Hatch_OverflowElemental.class) { + @Override + public long count(GT_MetaTileEntity_MultiblockBase_EM t) { + return t.eMufflerHatches.size(); + } + }, + Param(GT_MetaTileEntity_MultiblockBase_EM::addParametrizerToMachineList, GT_MetaTileEntity_Hatch_Param.class) { + @Override + public long count(GT_MetaTileEntity_MultiblockBase_EM t) { + return t.eParamHatches.size(); + } + }, + Uncertainty(GT_MetaTileEntity_MultiblockBase_EM::addUncertainToMachineList, GT_MetaTileEntity_Hatch_Uncertainty.class) { + @Override + public long count(GT_MetaTileEntity_MultiblockBase_EM t) { + return t.eUncertainHatches.size(); + } + }, + EnergyMulti(GT_MetaTileEntity_MultiblockBase_EM::addEnergyInputToMachineList, GT_MetaTileEntity_Hatch_EnergyMulti.class) { + @Override + public long count(GT_MetaTileEntity_MultiblockBase_EM t) { + return t.eEnergyMulti.size(); + } + }, + DynamoMulti(GT_MetaTileEntity_MultiblockBase_EM::addDynamoToMachineList, GT_MetaTileEntity_Hatch_DynamoMulti.class) { + @Override + public long count(GT_MetaTileEntity_MultiblockBase_EM t) { + return t.eDynamoMulti.size(); + } + }, + InputData(GT_MetaTileEntity_MultiblockBase_EM::addDataConnectorToMachineList, GT_MetaTileEntity_Hatch_InputData.class) { + @Override + public long count(GT_MetaTileEntity_MultiblockBase_EM t) { + return t.eInputData.size(); + } + }, + OutputData(GT_MetaTileEntity_MultiblockBase_EM::addDataConnectorToMachineList, GT_MetaTileEntity_Hatch_OutputData.class) { + @Override + public long count(GT_MetaTileEntity_MultiblockBase_EM t) { + return t.eOutputData.size(); + } + }, + ; + private final List> mteClasses; + private final IGT_HatchAdder adder; + + @SafeVarargs + HatchElement(IGT_HatchAdder adder, Class... mteClasses) { + this.mteClasses = Collections.unmodifiableList(Arrays.asList(mteClasses)); + this.adder = adder; + } + + @Override + public List> mteClasses() { + return mteClasses; + } + + public IGT_HatchAdder adder() { + return adder; + } + } } -- cgit From 6d5e116e1491dd02ac4f4b548c6f878726da6d1c Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Fri, 12 Aug 2022 14:17:08 +0800 Subject: add mMachine check --- .../thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java | 1 + .../thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java | 1 + .../thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java | 1 + .../thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java | 1 + .../thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java | 1 + 5 files changed, 5 insertions(+) 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 eac3bb4dd9..818677ee0c 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 @@ -419,6 +419,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB @Override public int survivalConstruct(ItemStack stackSize, int elementBudget, IItemSource source, EntityPlayerMP actor) { + if (mMachine) return -1; int built; built = survivialBuildPiece("front", stackSize, 1, 2, 0, elementBudget, source, actor, false, true); if (built > 0) return built; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java index ae4f288e77..48aabf8da3 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java @@ -211,6 +211,7 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB @Override public int survivalConstruct(ItemStack stackSize, int elementBudget, IItemSource source, EntityPlayerMP actor) { + if (mMachine) return -1; return survivialBuildPiece("main", stackSize, 2, 1, 0, elementBudget, source, actor, false, true); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java index e95519432c..ca26b35785 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java @@ -591,6 +591,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB @Override public int survivalConstruct(ItemStack stackSize, int elementBudget, IItemSource source, EntityPlayerMP actor) { + if (mMachine) return -1; return survivialBuildPiece("main", stackSize, 1, 3, 4, elementBudget, source, actor, false, true); } 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 8428856f3f..251765ce0c 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 @@ -183,6 +183,7 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo @Override public int survivalConstruct(ItemStack stackSize, int elementBudget, IItemSource source, EntityPlayerMP actor) { + if (mMachine) return -1; return survivialBuildPiece("main", stackSize, 1, 1, 0, elementBudget, source, actor, false, true); } 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 30ac2fd8f8..721987fe97 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 @@ -782,6 +782,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock @Override public int survivalConstruct(ItemStack stackSize, int elementBudget, IItemSource source, EntityPlayerMP actor) { + if (mMachine) return -1; return survivialBuildPiece("main", stackSize, 3, 16, 0, elementBudget, source, actor, false, true); } -- cgit From cb2da6fac873099cf138aaf498ac27bd4629d803 Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Fri, 12 Aug 2022 14:28:28 +0800 Subject: fix bug --- .../thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 818677ee0c..49d97e1e7b 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 @@ -422,17 +422,17 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB if (mMachine) return -1; int built; built = survivialBuildPiece("front", stackSize, 1, 2, 0, elementBudget, source, actor, false, true); - if (built > 0) return built; + if (built >= 0) return built; built = survivialBuildPiece("cap", stackSize, 1, 2, -1, elementBudget, source, actor, false, true); - if (built > 0) return built; + if (built >= 0) return built; byte offset = -2; for (int rackSlices = Math.min(stackSize.stackSize, 12); rackSlices > 0; rackSlices--) { built = survivialBuildPiece("slice", stackSize, 1, 2, offset--, elementBudget, source, actor, false, true); - if (built > 0) return built; + if (built >= 0) return built; } built = survivialBuildPiece("cap", stackSize, 1, 2, offset--, elementBudget, source, actor, false, true); - if (built > 0) return built; + if (built >= 0) return built; return survivialBuildPiece("back", stackSize, 1, 2, offset, elementBudget, source, actor, false, true); } -- cgit From 9cef7574a8b8b374cc9614cc8d5b57fa9a49fbe0 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Wed, 17 Aug 2022 07:56:49 +0200 Subject: Update dependencies.gradle --- dependencies.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies.gradle b/dependencies.gradle index 2ec71212ef..93a31ca17e 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -3,7 +3,7 @@ dependencies { shadowImplementation('com.github.GTNewHorizons:AVRcore:master-SNAPSHOT') - compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.40.88:dev') + compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.40.98-pre:dev') compile('com.github.GTNewHorizons:Yamcl:0.5.82:dev') compile('com.github.GTNewHorizons:NotEnoughItems:2.2.15-GTNH:dev') compile('com.github.GTNewHorizons:CodeChickenLib:1.1.5.3:dev') -- cgit From eac4a73bd06afe71ac3bd69a35868e2018940e3b Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Wed, 17 Aug 2022 14:54:38 +0800 Subject: reduce visibility --- .../metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java index e8228d0f03..45bd9d39de 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java @@ -346,7 +346,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } @Override - public GT_Multiblock_Tooltip_Builder createTooltip() { + protected GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); tt.addInfo("Nothing special just override me") .toolTipFinisher(TEC_MARK_GENERAL); -- cgit From bdeb89da1bcacba1b28f370dc1a84dbb75753582 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Wed, 17 Aug 2022 10:12:37 +0200 Subject: Update dependencies.gradle --- dependencies.gradle | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 93a31ca17e..406d4f288e 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -3,18 +3,18 @@ dependencies { shadowImplementation('com.github.GTNewHorizons:AVRcore:master-SNAPSHOT') - compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.40.98-pre:dev') + compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.40.100-pre:dev') compile('com.github.GTNewHorizons:Yamcl:0.5.82:dev') - compile('com.github.GTNewHorizons:NotEnoughItems:2.2.15-GTNH:dev') + compile('com.github.GTNewHorizons:NotEnoughItems:2.2.20-GTNH:dev') compile('com.github.GTNewHorizons:CodeChickenLib:1.1.5.3:dev') compile('com.github.GTNewHorizons:CodeChickenCore:1.1.4:dev') - compile('com.github.GTNewHorizons:StructureLib:1.0.15:dev') + compile('com.github.GTNewHorizons:StructureLib:1.1.3:dev') compile('net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev') compileOnly('com.github.GTNewHorizons:OpenModularTurrets:2.2.11-247:dev') {transitive=false} compileOnly('com.github.GTNewHorizons:OpenComputers:1.7.5.23-GTNH:dev') {transitive=false} - compileOnly('com.github.GTNewHorizons:GTplusplus:1.7.32:dev') {transitive=false} - compileOnly('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-85-GTNH:dev') {transitive=false} + compileOnly('com.github.GTNewHorizons:GTplusplus:1.7.65-pre:dev') {transitive=false} + compileOnly('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-94-GTNH:dev') {transitive=false} compileOnly('curse.maven:cofh-lib-220333:2388748') {transitive=false} compileOnly('curse.maven:computercraft-67504:2269339') {transitive=false} -- cgit From 8aeef4cd4675b541b8939467d53dc9736e5f6f23 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Wed, 17 Aug 2022 10:24:55 +0200 Subject: Update dependencies.gradle --- dependencies.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies.gradle b/dependencies.gradle index 406d4f288e..ffdda8da93 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -13,7 +13,7 @@ dependencies { compileOnly('com.github.GTNewHorizons:OpenModularTurrets:2.2.11-247:dev') {transitive=false} compileOnly('com.github.GTNewHorizons:OpenComputers:1.7.5.23-GTNH:dev') {transitive=false} - compileOnly('com.github.GTNewHorizons:GTplusplus:1.7.65-pre:dev') {transitive=false} + compileOnly('com.github.GTNewHorizons:GTplusplus:1.7.32:dev') {transitive=false} compileOnly('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-94-GTNH:dev') {transitive=false} compileOnly('curse.maven:cofh-lib-220333:2388748') {transitive=false} -- cgit From 9ed7b4b6d68662ea53324db342a7b41c2c900b23 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Wed, 17 Aug 2022 10:25:37 +0200 Subject: Update dependencies.gradle --- dependencies.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies.gradle b/dependencies.gradle index ffdda8da93..406d4f288e 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -13,7 +13,7 @@ dependencies { compileOnly('com.github.GTNewHorizons:OpenModularTurrets:2.2.11-247:dev') {transitive=false} compileOnly('com.github.GTNewHorizons:OpenComputers:1.7.5.23-GTNH:dev') {transitive=false} - compileOnly('com.github.GTNewHorizons:GTplusplus:1.7.32:dev') {transitive=false} + compileOnly('com.github.GTNewHorizons:GTplusplus:1.7.65-pre:dev') {transitive=false} compileOnly('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-94-GTNH:dev') {transitive=false} compileOnly('curse.maven:cofh-lib-220333:2388748') {transitive=false} -- cgit From b00133893a4b96624420e32fcedd2338c230ae2b Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Fri, 19 Aug 2022 23:06:45 +0200 Subject: buildscript update and spotless (cherry picked from commit c8cf8b7630e8449c8e3a1b76d184a1bbdd2fbad2) --- build.gradle | 370 +- settings.gradle | 10 + .../java/com/github/technus/tectech/TecTech.java | 49 +- .../dreamcraft/DreamCraftRecipeLoader.java | 7334 +++++++++++++------- .../dreamcraft/NoDreamCraftMachineLoader.java | 196 +- .../tectech/compatibility/gtpp/GtppAtomLoader.java | 216 +- .../openComputers/AvrArchitecture.java | 121 +- .../openmodularturrets/TT_turret_loader.java | 4 +- .../blocks/turretbases/TurretBaseEM.java | 14 +- .../blocks/turretbases/TurretBaseItemEM.java | 9 +- .../blocks/turretheads/TurretHeadEM.java | 22 +- .../blocks/turretheads/TurretHeadItemEM.java | 34 +- .../entity/projectiles/projectileEM.java | 125 +- .../entity/projectiles/projectileRenderEM.java | 34 +- .../tileentity/turret/TileTurretHeadEM.java | 27 +- .../tileentity/turretbase/TileTurretBaseEM.java | 49 +- .../spartakcore/SpartakCoreRecipeLoader.java | 2165 ++++-- .../definitions/EMComplexAspectDefinition.java | 33 +- .../definitions/EMPrimalAspectDefinition.java | 40 +- .../transformations/AspectDefinitionCompat.java | 14 +- .../AspectDefinitionCompatEnabled.java | 67 +- .../thing/metaTileEntity/multi/EssentiaCompat.java | 10 +- .../multi/EssentiaCompatEnabled.java | 40 +- .../GT_MetaTileEntity_EM_essentiaDequantizer.java | 128 +- .../GT_MetaTileEntity_EM_essentiaQuantizer.java | 136 +- .../technus/tectech/font/TecTechFontRender.java | 50 +- .../technus/tectech/loader/EntityLoader.java | 2 +- .../github/technus/tectech/loader/MainLoader.java | 70 +- .../technus/tectech/loader/NetworkDispatcher.java | 10 +- .../technus/tectech/loader/TecTechConfig.java | 221 +- .../tectech/loader/gui/CreativeTabTecTech.java | 5 +- .../technus/tectech/loader/gui/ModGuiHandler.java | 6 +- .../tectech/loader/recipe/BaseRecipeLoader.java | 195 +- .../tectech/loader/recipe/BloodyRecipeLoader.java | 3576 +++++++--- .../tectech/loader/thing/ComponentLoader.java | 14 +- .../technus/tectech/loader/thing/CoverLoader.java | 31 +- .../tectech/loader/thing/MachineLoader.java | 1010 ++- .../technus/tectech/loader/thing/ThingsLoader.java | 10 +- .../tectech/mechanics/anomaly/AnomalyHandler.java | 264 +- .../tectech/mechanics/anomaly/CancerCommand.java | 28 +- .../tectech/mechanics/anomaly/ChargeCommand.java | 28 +- .../tectech/mechanics/anomaly/MassCommand.java | 27 +- .../tectech/mechanics/avr/SidedRedstone.java | 209 +- .../tectech/mechanics/commands/ConvertFloat.java | 31 +- .../tectech/mechanics/commands/ConvertInteger.java | 31 +- .../tectech/mechanics/data/ChunkDataHandler.java | 185 +- .../tectech/mechanics/data/ChunkDataMessage.java | 63 +- .../mechanics/data/IChunkMetaDataHandler.java | 39 +- .../tectech/mechanics/data/PlayerDataMessage.java | 55 +- .../tectech/mechanics/data/PlayerPersistence.java | 66 +- .../technus/tectech/mechanics/data/WorldData.java | 13 +- .../mechanics/dataTransport/DataPacket.java | 35 +- .../dataTransport/InventoryDataPacket.java | 37 +- .../mechanics/dataTransport/QuantumDataPacket.java | 10 +- .../elementalMatter/core/commands/EMGive.java | 18 +- .../elementalMatter/core/commands/EMList.java | 50 +- .../elementalMatter/core/decay/EMDecay.java | 39 +- .../elementalMatter/core/decay/EMDecayResult.java | 4 +- .../core/definitions/EMComplexTemplate.java | 19 +- .../core/definitions/EMPrimitiveTemplate.java | 55 +- .../core/definitions/IEMDefinition.java | 100 +- .../registry/EMDefinitionsRegistry.java | 44 +- .../core/definitions/registry/EMIndirectType.java | 20 +- .../core/definitions/registry/EMType.java | 15 +- .../core/maps/EMConstantStackMap.java | 17 +- .../core/maps/EMDefinitionStackMap.java | 15 +- .../core/maps/EMInstanceStackMap.java | 64 +- .../elementalMatter/core/maps/EMStackMap.java | 7 +- .../elementalMatter/core/maps/IEMMapRead.java | 114 +- .../elementalMatter/core/maps/IEMMapWrite.java | 47 +- .../core/maps/IEMMapWriteExact.java | 51 +- .../elementalMatter/core/recipes/EMRecipe.java | 14 +- .../elementalMatter/core/recipes/EMRecipeMap.java | 35 +- .../core/stacks/EMDefinitionStack.java | 22 +- .../core/stacks/EMInstanceStack.java | 183 +- .../elementalMatter/core/stacks/IEMStack.java | 5 +- .../core/transformations/EMDequantizationInfo.java | 2 +- .../transformations/EMFluidQuantizationInfo.java | 14 +- .../transformations/EMItemQuantizationInfo.java | 23 +- .../transformations/EMOredictQuantizationInfo.java | 10 +- .../transformations/EMTransformationRegistry.java | 49 +- .../definitions/complex/EMAtomDefinition.java | 2171 ++++-- .../definitions/complex/EMHadronDefinition.java | 177 +- .../definitions/complex/EMNuclideIAEA.java | 308 +- .../definitions/primitive/EMBosonDefinition.java | 7 +- .../definitions/primitive/EMFermionDefinition.java | 7 +- .../primitive/EMGaugeBosonDefinition.java | 50 +- .../definitions/primitive/EMLeptonDefinition.java | 84 +- .../primitive/EMNeutrinoDefinition.java | 58 +- .../primitive/EMPrimitiveDefinition.java | 42 +- .../definitions/primitive/EMQuarkDefinition.java | 170 +- .../primitive/EMScalarBosonDefinition.java | 43 +- .../enderStorage/EnderFluidContainer.java | 12 +- .../enderStorage/EnderLinkCoverMessage.java | 36 +- .../mechanics/enderStorage/EnderLinkTag.java | 8 +- .../mechanics/enderStorage/EnderLinkTank.java | 10 +- .../enderStorage/EnderWorldSavedData.java | 13 +- .../tectech/mechanics/pipe/IActivePipe.java | 2 + .../mechanics/pipe/PipeActivityMessage.java | 71 +- .../tectech/mechanics/spark/RendererMessage.java | 43 +- .../tectech/mechanics/spark/ThaumSpark.java | 18 +- .../tectech/mechanics/tesla/ITeslaConnectable.java | 112 +- .../mechanics/tesla/ITeslaConnectableSimple.java | 9 +- .../mechanics/tesla/TeslaCoverConnection.java | 12 +- .../github/technus/tectech/nei/NEI_TT_Config.java | 4 +- .../tectech/nei/TT_NEI_ResearchHandler.java | 160 +- .../technus/tectech/nei/TT_NEI_ScannerHandler.java | 157 +- .../github/technus/tectech/proxy/ClientProxy.java | 104 +- .../github/technus/tectech/proxy/CommonProxy.java | 47 +- .../github/technus/tectech/recipe/TT_recipe.java | 398 +- .../technus/tectech/recipe/TT_recipeAdder.java | 412 +- .../technus/tectech/thing/CustomItemList.java | 448 +- .../tectech/thing/block/QuantumGlassBlock.java | 19 +- .../tectech/thing/block/QuantumGlassItem.java | 15 +- .../tectech/thing/block/QuantumGlassRender.java | 26 +- .../tectech/thing/block/QuantumStuffBlock.java | 18 +- .../tectech/thing/block/QuantumStuffRender.java | 51 +- .../tectech/thing/block/ReactorSimBlock.java | 23 +- .../tectech/thing/block/ReactorSimItem.java | 15 +- .../tectech/thing/casing/GT_Block_CasingsBA0.java | 31 +- .../tectech/thing/casing/GT_Block_CasingsNH.java | 39 +- .../tectech/thing/casing/GT_Block_CasingsTT.java | 44 +- .../tectech/thing/casing/GT_Item_CasingsBA0.java | 64 +- .../tectech/thing/casing/GT_Item_CasingsNH.java | 3 +- .../tectech/thing/casing/GT_Item_CasingsTT.java | 174 +- .../thing/cover/GT_Cover_TM_EnderFluidLink.java | 128 +- .../thing/cover/GT_Cover_TM_PowerPassUpgrade.java | 18 +- .../tectech/thing/cover/GT_Cover_TM_TeslaCoil.java | 36 +- .../cover/GT_Cover_TM_TeslaCoil_Ultimate.java | 5 +- .../technus/tectech/thing/item/AvrProgrammer.java | 103 +- .../item/DebugElementalInstanceContainer_EM.java | 65 +- .../item/ElementalDefinitionContainer_EM.java | 42 +- .../item/ElementalDefinitionScanStorage_EM.java | 51 +- .../tectech/thing/item/EnderFluidLinkCover.java | 22 +- .../technus/tectech/thing/item/EuMeterGT.java | 93 +- .../tectech/thing/item/ParametrizerMemoryCard.java | 61 +- .../tectech/thing/item/PowerPassUpgradeCover.java | 20 +- .../tectech/thing/item/TeslaCoilCapacitor.java | 29 +- .../tectech/thing/item/TeslaCoilComponent.java | 15 +- .../technus/tectech/thing/item/TeslaCoilCover.java | 26 +- .../technus/tectech/thing/item/TeslaStaff.java | 12 +- .../tectech/thing/item/gui/ProgrammerScreen.java | 4 +- .../tectech/thing/item/gui/ScanDisplayScreen.java | 70 +- .../thing/item/renderElemental/IElementalItem.java | 8 +- .../item/renderElemental/RenderElementalName.java | 34 +- .../tectech/thing/metaTileEntity/Textures.java | 352 +- .../hatch/GT_MetaTileEntity_Hatch_Capacitor.java | 56 +- .../GT_MetaTileEntity_Hatch_CreativeData.java | 36 +- ...T_MetaTileEntity_Hatch_CreativeMaintenance.java | 31 +- .../GT_MetaTileEntity_Hatch_DataConnector.java | 63 +- .../hatch/GT_MetaTileEntity_Hatch_DynamoMulti.java | 35 +- .../GT_MetaTileEntity_Hatch_DynamoTunnel.java | 66 +- ...GT_MetaTileEntity_Hatch_ElementalContainer.java | 143 +- .../hatch/GT_MetaTileEntity_Hatch_EnergyMulti.java | 39 +- .../GT_MetaTileEntity_Hatch_EnergyTunnel.java | 42 +- .../hatch/GT_MetaTileEntity_Hatch_Holder.java | 30 +- .../hatch/GT_MetaTileEntity_Hatch_InputData.java | 33 +- .../GT_MetaTileEntity_Hatch_InputDataItems.java | 112 +- .../GT_MetaTileEntity_Hatch_InputElemental.java | 21 +- .../hatch/GT_MetaTileEntity_Hatch_OutputData.java | 28 +- .../GT_MetaTileEntity_Hatch_OutputDataItems.java | 34 +- .../GT_MetaTileEntity_Hatch_OutputElemental.java | 32 +- .../GT_MetaTileEntity_Hatch_OverflowElemental.java | 128 +- .../hatch/GT_MetaTileEntity_Hatch_Param.java | 85 +- .../hatch/GT_MetaTileEntity_Hatch_ParamText.java | 52 +- .../hatch/GT_MetaTileEntity_Hatch_Rack.java | 180 +- .../hatch/GT_MetaTileEntity_Hatch_Uncertainty.java | 163 +- .../hatch/TextParametersMessage.java | 82 +- .../hatch/gui/GT_Container_Capacitor.java | 8 +- .../hatch/gui/GT_Container_Param.java | 24 +- .../hatch/gui/GT_Container_ParamAdv.java | 80 +- .../hatch/gui/GT_Container_ParamText.java | 49 +- .../hatch/gui/GT_Container_Uncertainty.java | 11 +- .../hatch/gui/GT_GUIContainer_Capacitor.java | 7 +- .../hatch/gui/GT_GUIContainer_Param.java | 55 +- .../hatch/gui/GT_GUIContainer_ParamAdv.java | 64 +- .../hatch/gui/GT_GUIContainer_ParamText.java | 93 +- .../hatch/gui/GT_GUIContainer_Uncertainty.java | 85 +- .../hatch/gui/GT_GUIContainer_UncertaintyAdv.java | 19 +- .../multi/GT_MetaTileEntity_EM_annihilation.java | 267 +- .../multi/GT_MetaTileEntity_EM_bhg.java | 2521 ++++++- .../multi/GT_MetaTileEntity_EM_computer.java | 204 +- .../multi/GT_MetaTileEntity_EM_crafting.java | 134 +- .../multi/GT_MetaTileEntity_EM_dataBank.java | 157 +- .../multi/GT_MetaTileEntity_EM_decay.java | 219 +- .../multi/GT_MetaTileEntity_EM_dequantizer.java | 148 +- .../multi/GT_MetaTileEntity_EM_infuser.java | 139 +- .../multi/GT_MetaTileEntity_EM_junction.java | 192 +- .../multi/GT_MetaTileEntity_EM_quantizer.java | 216 +- .../multi/GT_MetaTileEntity_EM_research.java | 318 +- .../multi/GT_MetaTileEntity_EM_scanner.java | 327 +- .../multi/GT_MetaTileEntity_EM_stabilizer.java | 96 +- .../multi/GT_MetaTileEntity_EM_switch.java | 177 +- .../multi/GT_MetaTileEntity_EM_transformer.java | 131 +- .../multi/GT_MetaTileEntity_EM_wormhole.java | 234 +- .../multi/GT_MetaTileEntity_TM_microwave.java | 209 +- .../GT_MetaTileEntity_TM_proccessingStack.java | 229 +- .../multi/GT_MetaTileEntity_TM_teslaCoil.java | 698 +- .../multi/base/GT_Container_MultiMachineEM.java | 100 +- .../multi/base/GT_GUIContainer_MultiMachineEM.java | 293 +- .../base/GT_MetaTileEntity_MultiblockBase_EM.java | 733 +- .../metaTileEntity/multi/base/INameFunction.java | 2 +- .../metaTileEntity/multi/base/IStatusFunction.java | 2 +- .../thing/metaTileEntity/multi/base/LedStatus.java | 103 +- .../multi/base/MultiblockControl.java | 50 +- .../metaTileEntity/multi/base/Parameters.java | 205 +- .../thing/metaTileEntity/multi/base/SoundLoop.java | 50 +- .../render/TT_RenderedExtendedFacingTexture.java | 10 +- .../em_collider/GT_MetaTileEntity_EM_collider.java | 813 ++- .../multi/em_machine/Behaviour_Centrifuge.java | 204 +- .../multi/em_machine/Behaviour_Electrolyzer.java | 12 +- .../Behaviour_ElectromagneticSeparator.java | 260 +- .../multi/em_machine/Behaviour_PrecisionLaser.java | 12 +- .../multi/em_machine/Behaviour_Recycler.java | 19 +- .../multi/em_machine/Behaviour_Scanner.java | 12 +- .../em_machine/GT_MetaTileEntity_EM_machine.java | 204 +- .../pipe/GT_MetaTileEntity_Pipe_Data.java | 126 +- .../pipe/GT_MetaTileEntity_Pipe_EM.java | 136 +- .../pipe/GT_MetaTileEntity_Pipe_Energy.java | 140 +- .../single/GT_MetaTileEntity_BuckConverter.java | 68 +- .../single/GT_MetaTileEntity_DataReader.java | 246 +- .../single/GT_MetaTileEntity_DebugPollutor.java | 64 +- .../GT_MetaTileEntity_DebugPowerGenerator.java | 118 +- .../GT_MetaTileEntity_DebugStructureWriter.java | 94 +- .../single/GT_MetaTileEntity_MicroController.java | 142 +- .../single/GT_MetaTileEntity_OwnerDetector.java | 73 +- .../single/GT_MetaTileEntity_TT_Transformer.java | 46 +- .../single/GT_MetaTileEntity_TeslaCoil.java | 151 +- .../single/GT_MetaTileEntity_WetTransformer.java | 15 +- .../single/gui/GT_Container_BuckConverter.java | 16 +- .../single/gui/GT_Container_DataReader.java | 24 +- .../single/gui/GT_Container_DebugPollutor.java | 28 +- .../gui/GT_Container_DebugPowerGenerator.java | 22 +- .../gui/GT_Container_DebugStructureWriter.java | 9 +- .../single/gui/GT_GUIContainer_BuckConverter.java | 11 +- .../single/gui/GT_GUIContainer_DataReader.java | 94 +- .../single/gui/GT_GUIContainer_DebugPollutor.java | 4 +- .../gui/GT_GUIContainer_DebugPowerGenerator.java | 11 +- .../gui/GT_GUIContainer_DebugStructureWriter.java | 6 +- .../thing/tileEntity/ReactorSimTileEntity.java | 355 +- .../github/technus/tectech/util/CommonValues.java | 83 +- .../com/github/technus/tectech/util/Converter.java | 4 +- .../github/technus/tectech/util/DoubleCount.java | 27 +- .../technus/tectech/util/LightingHelper.java | 1114 ++- .../github/technus/tectech/util/TT_Utility.java | 140 +- .../java/com/github/technus/tectech/util/XSTR.java | 70 +- 246 files changed, 26780 insertions(+), 13856 deletions(-) create mode 100644 settings.gradle diff --git a/build.gradle b/build.gradle index c09bee22f3..1f363c02bc 100644 --- a/build.gradle +++ b/build.gradle @@ -1,10 +1,9 @@ -//version: 1652851397 +//version: 1660899027 /* -DO NOT CHANGE THIS FILE! - -Also, you may replace this file at any time if there is an update available. -Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/build.gradle for updates. -*/ + DO NOT CHANGE THIS FILE! + Also, you may replace this file at any time if there is an update available. + Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/build.gradle for updates. + */ import com.github.jengelman.gradle.plugins.shadow.tasks.ConfigureShadowRelocation @@ -12,10 +11,17 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar import org.gradle.internal.logging.text.StyledTextOutput.Style import org.gradle.internal.logging.text.StyledTextOutputFactory +import java.nio.file.Files +import java.nio.file.Paths import java.util.concurrent.TimeUnit +import java.util.zip.ZipEntry +import java.util.zip.ZipInputStream +import java.util.zip.ZipOutputStream buildscript { repositories { + mavenCentral() + maven { name 'forge' url 'https://maven.minecraftforge.net' @@ -37,7 +43,6 @@ buildscript { classpath 'com.github.GTNewHorizons:ForgeGradle:1.2.7' } } - plugins { id 'java-library' id 'idea' @@ -52,8 +57,16 @@ plugins { id 'com.palantir.git-version' version '0.13.0' apply false id 'de.undercouch.download' version '5.0.1' id 'com.github.gmazzo.buildconfig' version '3.0.3' apply false + id 'com.diffplug.spotless' version '6.7.2' apply false +} +verifySettingsGradle() + +dependencies { + implementation 'com.diffplug:blowdryer:1.6.0' } +apply plugin: 'com.diffplug.blowdryer' + if (project.file('.git/HEAD').isFile()) { apply plugin: 'com.palantir.git-version' } @@ -78,6 +91,13 @@ idea { } } +boolean disableSpotless = project.hasProperty("disableSpotless") ? project.disableSpotless.toBoolean() : false + +if (!disableSpotless) { + apply plugin: 'com.diffplug.spotless' + apply from: Blowdryer.file('spotless.gradle') +} + if(JavaVersion.current() != JavaVersion.VERSION_1_8) { throw new GradleException("This project requires Java 8, but it's running on " + JavaVersion.current()) } @@ -103,9 +123,11 @@ checkPropertyExists("containsMixinsAndOrCoreModOnly") checkPropertyExists("usesShadowedDependencies") checkPropertyExists("developmentEnvironmentUserName") -boolean noPublishedSources = project.findProperty("noPublishedSources") ? project.noPublishedSources.toBoolean() : false -boolean usesMixinDebug = project.findProperty('usesMixinDebug') ?: project.usesMixins.toBoolean() - +boolean noPublishedSources = project.hasProperty("noPublishedSources") ? project.noPublishedSources.toBoolean() : false +boolean usesMixinDebug = project.hasProperty('usesMixinDebug') ?: project.usesMixins.toBoolean() +boolean forceEnableMixins = project.hasProperty('forceEnableMixins') ? project.forceEnableMixins.toBoolean() : false +String channel = project.hasProperty('channel') ? project.channel : 'stable' +String mappingsVersion = project.hasProperty('mappingsVersion') ? project.mappingsVersion : '12' String javaSourceDir = "src/main/java/" String scalaSourceDir = "src/main/scala/" String kotlinSourceDir = "src/main/kotlin/" @@ -188,10 +210,10 @@ try { } catch (Exception ignored) { out.style(Style.Failure).text( - 'This mod must be version controlled by Git AND the repository must provide at least one tag,\n' + - 'or the VERSION override must be set! ').style(Style.SuccessHeader).text('(Do NOT download from GitHub using the ZIP option, instead\n' + - 'clone the repository, see ').style(Style.Info).text('https://gtnh.miraheze.org/wiki/Development').style(Style.SuccessHeader).println(' for details.)' - ) + 'This mod must be version controlled by Git AND the repository must provide at least one tag,\n' + + 'or the VERSION override must be set! ').style(Style.SuccessHeader).text('(Do NOT download from GitHub using the ZIP option, instead\n' + + 'clone the repository, see ').style(Style.Info).text('https://gtnh.miraheze.org/wiki/Development').style(Style.SuccessHeader).println(' for details.)' + ) versionOverride = 'NO-GIT-TAG-SET' identifiedVersion = versionOverride } @@ -215,7 +237,7 @@ else { def arguments = [] def jvmArguments = [] -if (usesMixins.toBoolean()) { +if (usesMixins.toBoolean() || forceEnableMixins) { arguments += [ "--tweakClass org.spongepowered.asm.launch.MixinTweaker" ] @@ -280,7 +302,7 @@ repositories { name 'Overmind forge repo mirror' url 'https://gregtech.overminddl1.com/' } - if(usesMixins.toBoolean()) { + if(usesMixins.toBoolean() || forceEnableMixins) { maven { name 'sponge' url 'https://repo.spongepowered.org/repository/maven-public' @@ -297,6 +319,8 @@ dependencies { annotationProcessor('com.google.guava:guava:24.1.1-jre') annotationProcessor('com.google.code.gson:gson:2.8.6') annotationProcessor('org.spongepowered:mixin:0.8-SNAPSHOT') + } + if(usesMixins.toBoolean() || forceEnableMixins) { // using 0.8 to workaround a issue in 0.7 which fails mixin application compile('com.github.GTNewHorizons:SpongePoweredMixin:0.7.12-GTNH') { // Mixin includes a lot of dependencies that are too up-to-date @@ -354,7 +378,10 @@ shadowJar { } minimize() // This will only allow shading for actually used classes - configurations = [project.configurations.shadowImplementation, project.configurations.shadowCompile] + configurations = [ + project.configurations.shadowImplementation, + project.configurations.shadowCompile + ] dependsOn(relocateShadowJar) } @@ -376,7 +403,7 @@ jar { } reobf { - if(usesMixins.toBoolean()) { + if(usesMixins.toBoolean() && file(mixinSrg).exists()) { addExtraSrgFile mixinSrg } } @@ -385,12 +412,12 @@ afterEvaluate { if(usesMixins.toBoolean()) { tasks.compileJava { options.compilerArgs += [ - "-AreobfSrgFile=${tasks.reobf.srg}", - "-AoutSrgFile=${mixinSrg}", - "-AoutRefMapFile=${refMap}", - // Elan: from what I understand they are just some linter configs so you get some warning on how to properly code - "-XDenableSunApiLintControl", - "-XDignore.symbol.file" + "-AreobfSrgFile=${tasks.reobf.srg}", + "-AoutSrgFile=${mixinSrg}", + "-AoutRefMapFile=${refMap}", + // Elan: from what I understand they are just some linter configs so you get some warning on how to properly code + "-XDenableSunApiLintControl", + "-XDignore.symbol.file" ] } } @@ -399,8 +426,8 @@ afterEvaluate { runClient { if(developmentEnvironmentUserName) { arguments += [ - "--username", - developmentEnvironmentUserName + "--username", + developmentEnvironmentUserName ] } @@ -418,13 +445,14 @@ tasks.withType(JavaExec).configureEach { javaToolchains.launcherFor { languageVersion = projectJavaVersion } - ) + ) } processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version + exclude("spotless.gradle") // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { @@ -432,9 +460,9 @@ processResources { // replace modVersion and minecraftVersion expand "minecraftVersion": project.minecraft.version, - "modVersion": modVersion, - "modId": modId, - "modName": modName + "modVersion": modVersion, + "modId": modId, + "modName": modName } if(usesMixins.toBoolean()) { @@ -444,6 +472,7 @@ processResources { // copy everything else that's not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' + exclude 'spotless.gradle' } } @@ -463,9 +492,9 @@ def getManifestAttributes() { if(usesMixins.toBoolean()) { manifestAttributes += [ - "TweakClass" : "org.spongepowered.asm.launch.MixinTweaker", - "MixinConfigs" : "mixins." + modId + ".json", - "ForceLoadAsMod" : !containsMixinsAndOrCoreModOnly.toBoolean() + "TweakClass" : "org.spongepowered.asm.launch.MixinTweaker", + "MixinConfigs" : "mixins." + modId + ".json", + "ForceLoadAsMod" : !containsMixinsAndOrCoreModOnly.toBoolean() ] } return manifestAttributes @@ -492,7 +521,10 @@ task shadowDevJar(type: ShadowJar) { } minimize() // This will only allow shading for actually used classes - configurations = [project.configurations.shadowImplementation, project.configurations.shadowCompile] + configurations = [ + project.configurations.shadowImplementation, + project.configurations.shadowCompile + ] } task relocateShadowDevJar(type: ConfigureShadowRelocation) { @@ -584,7 +616,10 @@ publishing { // remove extra garbage from minecraft and minecraftDeps configuration pom.withXml { def badArtifacts = [:].withDefault {[] as Set} - for (configuration in [projectConfigs.minecraft, projectConfigs.minecraftDeps]) { + for (configuration in [ + projectConfigs.minecraft, + projectConfigs.minecraftDeps + ]) { for (dependency in configuration.allDependencies) { badArtifacts[dependency.group == null ? "" : dependency.group] += dependency.name } @@ -618,11 +653,11 @@ task updateBuildScript { doLast { if (performBuildScriptUpdate(projectDir.toString())) return - print("Build script already up-to-date!") + print("Build script already up-to-date!") } } -if (isNewBuildScriptVersionAvailable(projectDir.toString())) { +if (!project.getGradle().startParameter.isOffline() && isNewBuildScriptVersionAvailable(projectDir.toString())) { if (autoUpdateBuildScript.toBoolean()) { performBuildScriptUpdate(projectDir.toString()) } else { @@ -633,12 +668,26 @@ if (isNewBuildScriptVersionAvailable(projectDir.toString())) { static URL availableBuildScriptUrl() { new URL("https://raw.githubusercontent.com/GTNewHorizons/ExampleMod1.7.10/main/build.gradle") } +static URL exampleSettingsGradleUrl() { + new URL("https://raw.githubusercontent.com/GTNewHorizons/ExampleMod1.7.10/main/settings.gradle.example") +} + + +def verifySettingsGradle() { + def settingsFile = getFile("settings.gradle") + if (!settingsFile.exists()) { + println("Downloading default settings.gradle") + exampleSettingsGradleUrl().withInputStream { i -> settingsFile.withOutputStream { it << i } } + throw new GradleException("Settings.gradle has been updated, please re-run task.") + } +} boolean performBuildScriptUpdate(String projectDir) { if (isNewBuildScriptVersionAvailable(projectDir)) { def buildscriptFile = getFile("build.gradle") availableBuildScriptUrl().withInputStream { i -> buildscriptFile.withOutputStream { it << i } } out.style(Style.Success).print("Build script updated. Please REIMPORT the project or RESTART your IDE!") + verifySettingsGradle() return true } return false @@ -669,80 +718,225 @@ configure(updateBuildScript) { description = 'Updates the build script to the latest version' } -// Deobfuscation +// Parameter Deobfuscation -def deobf(String sourceURL) { - try { - URL url = new URL(sourceURL) - String fileName = url.getFile() - - //get rid of directories: - int lastSlash = fileName.lastIndexOf("/") - if(lastSlash > 0) { - fileName = fileName.substring(lastSlash + 1) +task deobfParams { + doLast { + + String mcpDir = "$project.gradle.gradleUserHomeDir/caches/minecraft/de/oceanlabs/mcp/mcp_$channel/$mappingsVersion" + String mcpZIP = "$mcpDir/mcp_$channel-$mappingsVersion-${minecraftVersion}.zip" + String paramsCSV = "$mcpDir/params.csv" + + download.run { + src "https://maven.minecraftforge.net/de/oceanlabs/mcp/mcp_$channel/$mappingsVersion-$minecraftVersion/mcp_$channel-$mappingsVersion-${minecraftVersion}.zip" + dest mcpZIP + overwrite false } - //get rid of extension: - if(fileName.endsWith(".jar")) { - fileName = fileName.substring(0, fileName.lastIndexOf(".")) + + if(!file(paramsCSV).exists()) { + println("Extracting MCP archive ...") + unzip(mcpZIP, mcpDir) } - String hostName = url.getHost() - if(hostName.startsWith("www.")) { - hostName = hostName.substring(4) + println("Parsing params.csv ...") + Map params = new HashMap<>() + Files.lines(Paths.get(paramsCSV)).forEach{line -> + String[] cells = line.split(",") + if(cells.length > 2 && cells[0].matches("p_i?\\d+_\\d+_")) { + params.put(cells[0], cells[1]) + } } - List parts = Arrays.asList(hostName.split("\\.")) - Collections.reverse(parts) - hostName = String.join(".", parts) - return deobf(sourceURL, hostName + "/" + fileName) - } catch(Exception e) { - return deobf(sourceURL, "deobf/" + String.valueOf(sourceURL.hashCode())) - } + out.style(Style.Success).println("Modified ${replaceParams(file("$projectDir/src/main/java"), params)} files!") + out.style(Style.Failure).println("Don't forget to verify that the code still works as before!\n It could be broken due to duplicate variables existing now\n or parameters taking priority over other variables.") +} } -// The method above is to be preferred. Use this method if the filename is not at the end of the URL. -def deobf(String sourceURL, String fileName) { - String cacheDir = System.getProperty("user.home") + "/.gradle/caches/" - String bon2Dir = cacheDir + "forge_gradle/deobf" - String bon2File = bon2Dir + "/BON2-2.5.0.jar" - String obfFile = cacheDir + "modules-2/files-2.1/" + fileName + ".jar" - String deobfFile = cacheDir + "modules-2/files-2.1/" + fileName + "-deobf.jar" +static int replaceParams(File file, Map params) { +int fileCount = 0 - if(file(deobfFile).exists()) { - return files(deobfFile) +if(file.isDirectory()) { + for(File f : file.listFiles()) { + fileCount += replaceParams(f, params) } - - download.run { - src 'https://github.com/GTNewHorizons/BON2/releases/download/2.5.0/BON2-2.5.0.CUSTOM-all.jar' - dest bon2File - quiet true - overwrite false + return fileCount +} +println("Visiting ${file.getName()} ...") +try { + String content = new String(Files.readAllBytes(file.toPath())) + int hash = content.hashCode() + params.forEach{key, value -> + content = content.replaceAll(key, value) + } + if(hash != content.hashCode()) { + Files.write(file.toPath(), content.getBytes("UTF-8")) + return 1 + } +} catch(Exception e) { + e.printStackTrace() +} +return 0 +} + +// Credit: bitsnaps (https://gist.github.com/bitsnaps/00947f2dce66f4bbdabc67d7e7b33681) +static unzip(String zipFileName, String outputDir) { +byte[] buffer = new byte[16384] +ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFileName)) +ZipEntry zipEntry = zis.getNextEntry() +while (zipEntry != null) { + File newFile = new File(outputDir + File.separator, zipEntry.name) + if (zipEntry.isDirectory()) { + if (!newFile.isDirectory() && !newFile.mkdirs()) { + throw new IOException("Failed to create directory $newFile") + } + } else { + // fix for Windows-created archives + File parent = newFile.parentFile + if (!parent.isDirectory() && !parent.mkdirs()) { + throw new IOException("Failed to create directory $parent") + } + // write file content + FileOutputStream fos = new FileOutputStream(newFile) + int len = 0 + while ((len = zis.read(buffer)) > 0) { + fos.write(buffer, 0, len) + } + fos.close() } + zipEntry = zis.getNextEntry() +} +zis.closeEntry() +zis.close() +} + +configure(deobfParams) { +group = 'forgegradle' +description = 'Rename all obfuscated parameter names inherited from Minecraft classes' +} + +// Dependency Deobfuscation + +def deobf(String sourceURL) { +try { + URL url = new URL(sourceURL) + String fileName = url.getFile() - download.run { - src sourceURL - dest obfFile - quiet true - overwrite false + //get rid of directories: + int lastSlash = fileName.lastIndexOf("/") + if(lastSlash > 0) { + fileName = fileName.substring(lastSlash + 1) + } + //get rid of extension: + if(fileName.endsWith(".jar") || fileName.endsWith(".litemod")) { + fileName = fileName.substring(0, fileName.lastIndexOf(".")) } - exec { - commandLine 'java', '-jar', bon2File, '--inputJar', obfFile, '--outputJar', deobfFile, '--mcVer', '1.7.10', '--mappingsVer', 'stable_12', '--notch' - workingDir bon2Dir - standardOutput = new ByteArrayOutputStream() + String hostName = url.getHost() + if(hostName.startsWith("www.")) { + hostName = hostName.substring(4) } + List parts = Arrays.asList(hostName.split("\\.")) + Collections.reverse(parts) + hostName = String.join(".", parts) + return deobf(sourceURL, "$hostName/$fileName") +} catch(Exception e) { + return deobf(sourceURL, "deobf/${sourceURL.hashCode()}") +} +} + +// The method above is to be preferred. Use this method if the filename is not at the end of the URL. +def deobf(String sourceURL, String rawFileName) { +String bon2Version = "2.5.1" +String fileName = URLDecoder.decode(rawFileName, "UTF-8") +String cacheDir = "$project.gradle.gradleUserHomeDir/caches" +String bon2Dir = "$cacheDir/forge_gradle/deobf" +String bon2File = "$bon2Dir/BON2-${bon2Version}.jar" +String obfFile = "$cacheDir/modules-2/files-2.1/${fileName}.jar" +String deobfFile = "$cacheDir/modules-2/files-2.1/${fileName}-deobf.jar" + +if(file(deobfFile).exists()) { return files(deobfFile) } +String mappingsVer +String remoteMappings = project.hasProperty('remoteMappings') ? project.remoteMappings : 'https://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/conf/' +if(remoteMappings) { + String id = "${forgeVersion.split("\\.")[3]}-$minecraftVersion" + String mappingsZIP = "$cacheDir/forge_gradle/maven_downloader/de/oceanlabs/mcp/mcp_snapshot_nodoc/$id/mcp_snapshot_nodoc-${id}.zip" + + zipMappings(mappingsZIP, remoteMappings, bon2Dir) + + mappingsVer = "snapshot_$id" +} else { + mappingsVer = "${channel}_$mappingsVersion" +} + +download.run { + src "http://jenkins.usrv.eu:8081/nexus/content/repositories/releases/com/github/parker8283/BON2/$bon2Version-CUSTOM/BON2-$bon2Version-CUSTOM-all.jar" + dest bon2File + quiet true + overwrite false +} + +download.run { + src sourceURL + dest obfFile + quiet true + overwrite false +} + +exec { + commandLine 'java', '-jar', bon2File, '--inputJar', obfFile, '--outputJar', deobfFile, '--mcVer', minecraftVersion, '--mappingsVer', mappingsVer, '--notch' + workingDir bon2Dir + standardOutput = new FileOutputStream("${deobfFile}.log") +} + +return files(deobfFile) +} + +def zipMappings(String zipPath, String url, String bon2Dir) { +File zipFile = new File(zipPath) +if(zipFile.exists()) { + return +} + +String fieldsCache = "$bon2Dir/data/fields.csv" +String methodsCache = "$bon2Dir/data/methods.csv" + +download.run { + src "${url}fields.csv" + dest fieldsCache + quiet true +} +download.run { + src "${url}methods.csv" + dest methodsCache + quiet true +} + +zipFile.getParentFile().mkdirs() +ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile)) + +zos.putNextEntry(new ZipEntry("fields.csv")) +Files.copy(Paths.get(fieldsCache), zos) +zos.closeEntry() + +zos.putNextEntry(new ZipEntry("methods.csv")) +Files.copy(Paths.get(methodsCache), zos) +zos.closeEntry() + +zos.close() +} + // Helper methods def checkPropertyExists(String propertyName) { - if (!project.hasProperty(propertyName)) { - throw new GradleException("This project requires a property \"" + propertyName + "\"! Please add it your \"gradle.properties\". You can find all properties and their description here: https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/gradle.properties") - } +if (!project.hasProperty(propertyName)) { + throw new GradleException("This project requires a property \"" + propertyName + "\"! Please add it your \"gradle.properties\". You can find all properties and their description here: https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/gradle.properties") +} } def getFile(String relativePath) { - return new File(projectDir, relativePath) +return new File(projectDir, relativePath) } diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000000..97d8f71c52 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,10 @@ +plugins { + id 'com.diffplug.blowdryerSetup' version '1.6.0' +} + +apply plugin: 'com.diffplug.blowdryerSetup' + +blowdryerSetup { + github('GTNewHorizons/ExampleMod1.7.10', 'tag', '0.1.4') + //devLocal '.' // Use this when testing config updates locally +} diff --git a/src/main/java/com/github/technus/tectech/TecTech.java b/src/main/java/com/github/technus/tectech/TecTech.java index fe85fc08c5..4911b4be7b 100644 --- a/src/main/java/com/github/technus/tectech/TecTech.java +++ b/src/main/java/com/github/technus/tectech/TecTech.java @@ -1,5 +1,7 @@ package com.github.technus.tectech; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; + import com.github.technus.tectech.loader.MainLoader; import com.github.technus.tectech.loader.TecTechConfig; import com.github.technus.tectech.loader.gui.CreativeTabEM; @@ -27,21 +29,21 @@ import eu.usrv.yamcore.auxiliary.IngameErrorLog; import eu.usrv.yamcore.auxiliary.LogHelper; import gregtech.GT_Mod; import gregtech.common.GT_Proxy; -import net.minecraftforge.common.MinecraftForge; - import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.util.Collection; import java.util.Iterator; +import net.minecraftforge.common.MinecraftForge; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; - -@Mod(modid = Reference.MODID, name = Reference.NAME, version = Reference.VERSION, - dependencies = "required-after:Forge@[10.13.4.1614,);" + - "required-after:YAMCore@[0.5.70,);" + "required-after:structurelib;" + - "after:ComputerCraft;" + "after:OpenComputers;" + - "required-after:gregtech;" + "after:dreamcraft;" + - "after:appliedenergistics2;" + "after:CoFHCore;" + "after:Thaumcraft;") +@Mod( + modid = Reference.MODID, + name = Reference.NAME, + version = Reference.VERSION, + dependencies = "required-after:Forge@[10.13.4.1614,);" + "required-after:YAMCore@[0.5.70,);" + + "required-after:structurelib;" + "after:ComputerCraft;" + + "after:OpenComputers;" + "required-after:gregtech;" + + "after:dreamcraft;" + "after:appliedenergistics2;" + + "after:CoFHCore;" + "after:Thaumcraft;") public class TecTech { @SidedProxy(clientSide = Reference.CLIENTSIDE, serverSide = Reference.SERVERSIDE) public static CommonProxy proxy; @@ -49,20 +51,20 @@ public class TecTech { @Mod.Instance(Reference.MODID) public static TecTech instance; - public static final XSTR RANDOM = XSTR.XSTR_INSTANCE; - public static final LogHelper LOGGER = new LogHelper(Reference.MODID); - public static CreativeTabTecTech creativeTabTecTech; - public static CreativeTabEM creativeTabEM; + public static final XSTR RANDOM = XSTR.XSTR_INSTANCE; + public static final LogHelper LOGGER = new LogHelper(Reference.MODID); + public static CreativeTabTecTech creativeTabTecTech; + public static CreativeTabEM creativeTabEM; private static IngameErrorLog moduleAdminErrorLogs; - public static TecTechConfig configTecTech; + public static TecTechConfig configTecTech; - public static ChunkDataHandler chunkDataHandler; - public static AnomalyHandler anomalyHandler; + public static ChunkDataHandler chunkDataHandler; + public static AnomalyHandler anomalyHandler; public static PlayerPersistence playerPersistence; - public static final EMDefinitionsRegistry definitionsRegistry = new EMDefinitionsRegistry(); - public static final EMTransformationRegistry transformationInfo = new EMTransformationRegistry(); + public static final EMDefinitionsRegistry definitionsRegistry = new EMDefinitionsRegistry(); + public static final EMTransformationRegistry transformationInfo = new EMTransformationRegistry(); /** * For Loader.isModLoaded checks during the runtime @@ -85,8 +87,8 @@ public class TecTech { public void PreLoad(FMLPreInitializationEvent PreEvent) { LOGGER.setDebugOutput(true); - configTecTech = new TecTechConfig(PreEvent.getModConfigurationDirectory(), Reference.COLLECTIONNAME, - Reference.MODID); + configTecTech = + new TecTechConfig(PreEvent.getModConfigurationDirectory(), Reference.COLLECTIONNAME, Reference.MODID); if (!configTecTech.LoadConfig()) { LOGGER.error(Reference.MODID + " could not load its config file. Things are going to be weird!"); @@ -172,9 +174,7 @@ public class TecTech { } @Override - public void clear() { - - } + public void clear() {} @Override public boolean retainAll(Collection c) { @@ -199,7 +199,6 @@ public class TecTech { } catch (NoSuchFieldException | IllegalAccessException e) { LOGGER.error(Reference.MODID + " could not disable material loading!"); } - } MainLoader.load(definitionsRegistry); 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 40e81c5706..8e0eee7c99 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 @@ -1,5 +1,7 @@ package com.github.technus.tectech.compatibility.dreamcraft; +import static com.github.technus.tectech.loader.recipe.BaseRecipeLoader.getOrDefault; + import com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry; import com.github.technus.tectech.recipe.TT_recipeAdder; import com.github.technus.tectech.thing.CustomItemList; @@ -9,7 +11,6 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.Behaviou import com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.Behaviour_Recycler; import com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine; import cpw.mods.fml.common.Loader; -import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; @@ -19,28 +20,24 @@ import gregtech.api.interfaces.IItemContainer; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; +import gtPlusPlus.core.material.ALLOY; import gtPlusPlus.core.material.ELEMENT; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; +import java.lang.reflect.Method; import net.minecraft.init.Blocks; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.core.material.ALLOY; - -import java.lang.reflect.Method; - -import static com.github.technus.tectech.loader.recipe.BaseRecipeLoader.getOrDefault; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; /** * Created by Tec on 06.08.2017. */ public class DreamCraftRecipeLoader { - //region reflect a bit + // region reflect a bit @SuppressWarnings("rawtypes") private Class CUSTOM_ITEM_LIST; + private Method ADD_ASSEMBLER_RECIPE; @SuppressWarnings("unchecked") @@ -48,739 +45,2577 @@ public class DreamCraftRecipeLoader { return (IItemContainer) Enum.valueOf(CUSTOM_ITEM_LIST, name); } - private void addAssemblerRecipeWithCleanroom(ItemStack[] items, FluidStack fluid, ItemStack output, int time, int eut) { + private void addAssemblerRecipeWithCleanroom( + ItemStack[] items, FluidStack fluid, ItemStack output, int time, int eut) { try { ADD_ASSEMBLER_RECIPE.invoke(GT_Values.RA, items, fluid, output, time, eut, true); } catch (Exception e) { throw new RuntimeException("Failed to add clean room assembler recipe! " + output.getDisplayName(), e); } } - //endregion + // endregion public void run(EMTransformationRegistry transformationInfo) { - //region reflect a bit + // region reflect a bit try { CUSTOM_ITEM_LIST = Class.forName("com.dreammaster.gthandler.CustomItemList"); - ADD_ASSEMBLER_RECIPE = GT_Values.RA.getClass().getMethod("addAssemblerRecipe", ItemStack[].class, FluidStack.class, ItemStack.class, int.class, int.class, boolean.class); + ADD_ASSEMBLER_RECIPE = GT_Values.RA + .getClass() + .getMethod( + "addAssemblerRecipe", + ItemStack[].class, + FluidStack.class, + ItemStack.class, + int.class, + int.class, + boolean.class); } catch (Exception e) { throw new Error(e); } - //endregion - - Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null ? FluidRegistry.getFluid("molten.indalloy140") : FluidRegistry.getFluid("molten.solderingalloy"); - Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null ? FluidRegistry.getFluid("molten.mutatedlivingsolder") : FluidRegistry.getFluid("molten.solderingalloy"); - - //Quantum Glass - 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); - - //region pipes - - //Data - addAssemblerRecipeWithCleanroom(new ItemStack[]{ - ItemList.Circuit_Parts_GlassFiber.get(8), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silver, 8) - }, Materials.Polytetrafluoroethylene.getMolten(144), CustomItemList.DATApipe.get(1), 200, 30720); - - //Tunnel - addAssemblerRecipeWithCleanroom(new ItemStack[]{ - CustomItemList.DATApipe.get(1), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmiridium, 4), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2), - ItemList.Field_Generator_MV.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1) - }, Materials.Osmium.getMolten(288), CustomItemList.EMpipe.get(1), 400, 500000); - - //Laser - addAssemblerRecipeWithCleanroom(new ItemStack[]{ + // endregion + + Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null + ? FluidRegistry.getFluid("molten.indalloy140") + : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null + ? FluidRegistry.getFluid("molten.mutatedlivingsolder") + : FluidRegistry.getFluid("molten.solderingalloy"); + + // Quantum Glass + 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); + + // region pipes + + // Data + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + ItemList.Circuit_Parts_GlassFiber.get(8), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silver, 8) + }, + Materials.Polytetrafluoroethylene.getMolten(144), CustomItemList.DATApipe.get(1), - GT_ModHandler.getIC2Item("reinforcedGlass", 1L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmiridium, 2) - }, null, CustomItemList.LASERpipe.get(1), 100, 500000); - - //endregion - - //region casing - - //High Power Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 16), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) - }, Materials.TungstenSteel.getMolten(576), CustomItemList.eM_Power.get(1), 100, 30720); - - //Computer Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + 200, + 30720); + + // Tunnel + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + CustomItemList.DATApipe.get(1), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmiridium, 4), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 4), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2), + ItemList.Field_Generator_MV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 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); + + // endregion + + // region casing + + // High Power Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 16), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, + Materials.TungstenSteel.getMolten(576), CustomItemList.eM_Power.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) - }, Materials.Aluminium.getMolten(1296), CustomItemList.eM_Computer_Casing.get(1), 200, 122880); - //Computer Vent Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), - ItemList.Electric_Motor_IV.get(2), - 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) - }, Materials.SolderingAlloy.getMolten(1296), - CustomItemList.eM_Computer_Vent.get(1), 100, 1920); - - //Advanced Computer Casing - addAssemblerRecipeWithCleanroom(new ItemStack[]{ + 100, + 30720); + + // Computer Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Power.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, + Materials.Aluminium.getMolten(1296), CustomItemList.eM_Computer_Casing.get(1), - 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) - }, 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.screw, Materials.TungstenSteel, 24), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TungstenSteel, 24), - ItemList.Field_Generator_IV.get(1) - }, Materials.Osmium.getMolten(1296), CustomItemList.eM_Containment.get(1), 800, 500000); - - //Hollow Casing - GT_Values.RA.addAssemblylineRecipe(CustomItemList.eM_Containment.get(1), 7500, new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Europium, 2), - GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.Plutonium, 4), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Lead, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Uranium, 16), - GT_OreDictUnificator.get(OrePrefixes.screw, getOrDefault("Quantium", Materials.Europium), 16), - }, new FluidStack[]{ - getOrDefault("Trinium", Materials.Osmium).getMolten(1296), - Materials.Osmium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Argon.getGas(1000), - }, CustomItemList.eM_Hollow.get(2), 200, 200000); - - //EM Coil - GT_Values.RA.addAssemblylineRecipe(CustomItemList.eM_Hollow.get(1), 7500, new ItemStack[]{ - CustomItemList.eM_Hollow.get(1), - ItemList.Casing_Fusion_Coil.get(2), - ItemList.Casing_Coil_NaquadahAlloy.get(2), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Europium, 64), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Europium, 64), - }, new FluidStack[]{ - Materials.Glass.getMolten(2304), - Materials.Silicone.getMolten(1872), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - getOrDefault("Trinium", Materials.Osmium).getMolten(1296), - }, CustomItemList.eM_Coil.get(4), 800, 200000); + 200, + 122880); + // Computer Vent Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), + ItemList.Electric_Motor_IV.get(2), + 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) + }, + Materials.SolderingAlloy.getMolten(1296), + CustomItemList.eM_Computer_Vent.get(1), + 100, + 1920); + + // Advanced Computer Casing + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + 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) + }, + 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.screw, Materials.TungstenSteel, 24), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TungstenSteel, 24), + ItemList.Field_Generator_IV.get(1) + }, + Materials.Osmium.getMolten(1296), + CustomItemList.eM_Containment.get(1), + 800, + 500000); + + // Hollow Casing + GT_Values.RA.addAssemblylineRecipe( + CustomItemList.eM_Containment.get(1), + 7500, + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Europium, 2), + GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.Plutonium, 4), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Lead, 8), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Uranium, 16), + GT_OreDictUnificator.get(OrePrefixes.screw, getOrDefault("Quantium", Materials.Europium), 16), + }, + new FluidStack[] { + getOrDefault("Trinium", Materials.Osmium).getMolten(1296), + Materials.Osmium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Argon.getGas(1000), + }, + CustomItemList.eM_Hollow.get(2), + 200, + 200000); + + // EM Coil + GT_Values.RA.addAssemblylineRecipe( + CustomItemList.eM_Hollow.get(1), + 7500, + new ItemStack[] { + CustomItemList.eM_Hollow.get(1), + ItemList.Casing_Fusion_Coil.get(2), + ItemList.Casing_Coil_NaquadahAlloy.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Europium, 64), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Europium, 64), + }, + new FluidStack[] { + Materials.Glass.getMolten(2304), + Materials.Silicone.getMolten(1872), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + getOrDefault("Trinium", Materials.Osmium).getMolten(1296), + }, + CustomItemList.eM_Coil.get(4), + 800, + 200000); // Infinite Oil Rig - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.OilDrill3.get(1), - 16777216, 2048, 2000000, 4, new Object[]{ - ItemList.OilDrill3.get(1), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 4), - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4L}, - ItemList.Electric_Motor_UHV.get(4), - ItemList.Electric_Pump_UHV.get(4), - GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Neutronium, 4), - ItemList.Sensor_UHV.get(3), - ItemList.Field_Generator_UHV.get(3), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 12) - }, new FluidStack[]{ - new FluidStack(solderUEV, 1296), - Materials.Neutronium.getMolten(576) - }, ItemList.OilDrillInfinite.get(1), 6000, 2000000); + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.OilDrill3.get(1), + 16777216, + 2048, + 2000000, + 4, + new Object[] { + ItemList.OilDrill3.get(1), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 4), + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 4L}, + ItemList.Electric_Motor_UHV.get(4), + ItemList.Electric_Pump_UHV.get(4), + GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Neutronium, 4), + ItemList.Sensor_UHV.get(3), + ItemList.Field_Generator_UHV.get(3), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 12) + }, + new FluidStack[] {new FluidStack(solderUEV, 1296), Materials.Neutronium.getMolten(576)}, + ItemList.OilDrillInfinite.get(1), + 6000, + 2000000); // Infinity Coil - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Coil_AwakenedDraconium.get(1), - 16_777_216, 2048, 8_000_000, 1, new Object[]{ - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L}, - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Infinity, 8), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Infinity, 16), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 32, 0) - }, new FluidStack[]{ - Materials.DraconiumAwakened.getMolten(576), - }, ItemList.Casing_Coil_Infinity.get(1), 60*20, 8_000_000); + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Casing_Coil_AwakenedDraconium.get(1), + 16_777_216, + 2048, + 8_000_000, + 1, + new Object[] { + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 1L}, + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Infinity, 8), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Infinity, 16), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 32, 0) + }, + new FluidStack[] { + Materials.DraconiumAwakened.getMolten(576), + }, + ItemList.Casing_Coil_Infinity.get(1), + 60 * 20, + 8_000_000); // Hypogen Coil - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Coil_Infinity.get(1), - 16_777_216*2, 2048*2, 32_000_000, 1, new Object[]{ - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - GT_OreDictUnificator.get("wireGt02Hypogen", 8L), - GT_ModHandler.getModItem("miscutils", "itemScrewHypogen", 8, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - }, new FluidStack[]{ - Materials.Infinity.getMolten(576), - }, ItemList.Casing_Coil_Hypogen.get(1), 60*20, 8000000*4); + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Casing_Coil_Infinity.get(1), + 16_777_216 * 2, + 2048 * 2, + 32_000_000, + 1, + new Object[] { + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + GT_OreDictUnificator.get("wireGt02Hypogen", 8L), + GT_ModHandler.getModItem("miscutils", "itemScrewHypogen", 8, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + }, + new FluidStack[] { + Materials.Infinity.getMolten(576), + }, + ItemList.Casing_Coil_Hypogen.get(1), + 60 * 20, + 8000000 * 4); // Eternal coil - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Coil_Hypogen.get(1), - 16_777_216*4, 8_192, 128_000_000, 1, new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SpaceTime, 8), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 8), - GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 1L), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - }, new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("molten.hypogen"), 576), - }, ItemList.Casing_Coil_Eternal.get(1), 60*20, 8_000_000*16); - - - //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), + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Casing_Coil_Hypogen.get(1), + 16_777_216 * 4, + 8_192, + 128_000_000, + 1, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SpaceTime, 8), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 8), + GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 1L), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + }, + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("molten.hypogen"), 576), + }, + ItemList.Casing_Coil_Eternal.get(1), + 60 * 20, + 8_000_000 * 16); + + // 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), + 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), 200, 30720); - //Tesla Primary Coils T6 - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorZPM, 8), - getItemContainer("MicaInsulatorFoil").get(32) - }, Materials.Naquadah.getMolten(144), CustomItemList.tM_TeslaPrimary_6.get(1), 200, 122880); - - //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)}, Materials.Silver.getMolten(144), CustomItemList.eM_dynamoMulti4_IV.get(1), 100, 1920); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_LuV_IV.get(1), 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[]{getItemContainer("WetTransformer_LuV_IV").get(1), 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)}, Materials.Silver.getMolten(288), CustomItemList.eM_dynamoMulti4_LuV.get(1), 100, 7680); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_ZPM_LuV.get(1), 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, 7680); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_ZPM_LuV").get(1), 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, 7680); - - 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)}, Materials.Silver.getMolten(576), CustomItemList.eM_dynamoMulti4_ZPM.get(1), 100, 30720); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_UV_ZPM.get(1), 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[]{getItemContainer("WetTransformer_UV_ZPM").get(1), 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)}, Materials.Silver.getMolten(1152), CustomItemList.eM_dynamoMulti4_UV.get(1), 100, 122880); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_MAX_UV.get(1), 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[]{getItemContainer("WetTransformer_UHV_UV").get(1), 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.SuperconductorUHV, 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[]{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_UIV").get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2)}, Materials.Silver.getMolten(9216), CustomItemList.eM_dynamoMulti4_UIV.get(1), 100, 8000000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UMV_UIV").get(1), CustomItemList.eM_dynamoMulti4_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 4)}, Materials.Electrum.getMolten(9216), CustomItemList.eM_dynamoMulti16_UIV.get(1), 200, 8000000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UMV_UIV").get(1), CustomItemList.eM_dynamoMulti16_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 6)}, Materials.Tungsten.getMolten(9216), CustomItemList.eM_dynamoMulti64_UIV.get(1), 400, 8000000); - - //Energy Hatches IV-UIV - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hatch_Energy_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_energyMulti4_IV.get(1), 100, 1920); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_LuV_IV.get(1), CustomItemList.eM_energyMulti4_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_energyMulti16_IV.get(1), 200, 1920); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_LuV_IV").get(1), CustomItemList.eM_energyMulti16_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_energyMulti64_IV.get(1), 400, 1920); - - 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, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 2)}, Materials.Silver.getMolten(288), CustomItemList.eM_energyMulti4_LuV.get(1), 100, 7680); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_ZPM_LuV.get(1), CustomItemList.eM_energyMulti4_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 4)}, Materials.Electrum.getMolten(288), CustomItemList.eM_energyMulti16_LuV.get(1), 200, 7680); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_ZPM_LuV").get(1), CustomItemList.eM_energyMulti16_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.VanadiumGallium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 6)}, Materials.Tungsten.getMolten(288), CustomItemList.eM_energyMulti64_LuV.get(1), 400, 7680); - - 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)}, Materials.Silver.getMolten(576), CustomItemList.eM_energyMulti4_ZPM.get(1), 100, 30720); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_UV_ZPM.get(1), 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, 30720); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UV_ZPM").get(1), 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, 30720); - - 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)}, Materials.Silver.getMolten(1152), CustomItemList.eM_energyMulti4_UV.get(1), 100, 122880); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_MAX_UV.get(1), 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, 122880); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UHV_UV").get(1), 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, 122880); - - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hatch_Energy_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUHV, 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[]{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(2304), 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(2304), 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(4608), 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(4608), 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(4608), CustomItemList.eM_energyMulti64_UEV.get(1), 400, 2000000); - - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hatch_Energy_UIV").get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2)}, Materials.Silver.getMolten(9216), CustomItemList.eM_energyMulti4_UIV.get(1), 100, 8000000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UMV_UIV").get(1), CustomItemList.eM_energyMulti4_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 4)}, Materials.Electrum.getMolten(9216), CustomItemList.eM_energyMulti16_UIV.get(1), 200, 8000000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UMV_UIV").get(1), CustomItemList.eM_energyMulti16_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 6)}, Materials.Tungsten.getMolten(9216), CustomItemList.eM_energyMulti64_UIV.get(1), 400, 8000000); - - //Buck Converter IV-UIV - if (Loader.isModLoaded("bartworks")) { - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_LuV_IV.get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 2)}, Materials.TungstenSteel.getMolten(288), CustomItemList.Machine_BuckConverter_IV.get(1), 100, 7680); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_ZPM_LuV.get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NiobiumTitanium, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 3)}, new FluidStack(FluidRegistry.getFluid("molten.rhodium-plated palladium"), 288), CustomItemList.Machine_BuckConverter_LuV.get(1), 100, 30720); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_UV_ZPM.get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 4)}, Materials.Iridium.getMolten(288), CustomItemList.Machine_BuckConverter_ZPM.get(1), 100, 122880); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_MAX_UV.get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Naquadah, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 5)}, Materials.Osmium.getMolten(288), CustomItemList.Machine_BuckConverter_UV.get(1), 100, 500000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UEV_UHV").get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Infinite, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.ElectrumFlux, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 4L, 5)}, Materials.Neutronium.getMolten(288), CustomItemList.Machine_BuckConverter_UHV.get(1), 100, 2000000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UIV_UEV").get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Bedrockium, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 8L, 5)}, getOrDefault("Bedrockium", Materials.Neutronium).getMolten(288), CustomItemList.Machine_BuckConverter_UEV.get(1), 100, 8000000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UMV_UIV").get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Draconium, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 16L, 5)}, getOrDefault("BlackPlutonium", Materials.Neutronium).getMolten(288), CustomItemList.Machine_BuckConverter_UIV.get(1), 200, 8000000); - } - //Laser Dynamo IV-UEV 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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), - ItemList.Hatch_Input_Bus_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), - CustomItemList.DATApipe.get(2) - }, Materials.Iridium.getMolten(1296), CustomItemList.dataIn_Hatch.get(1), 200, 122880); - //Data Output - addAssemblerRecipeWithCleanroom(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Hatch_Output_Bus_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), - CustomItemList.DATApipe.get(2) - }, Materials.Iridium.getMolten(1296), CustomItemList.dataOut_Hatch.get(1), 200, 122880); + 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), + 200, + 30720); + // Tesla Primary Coils T6 + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorZPM, 8), + getItemContainer("MicaInsulatorFoil").get(32) + }, + Materials.Naquadah.getMolten(144), + CustomItemList.tM_TeslaPrimary_6.get(1), + 200, + 122880); - //Rack - addAssemblerRecipeWithCleanroom(new ItemStack[]{ - CustomItemList.eM_Computer_Bus.get(1), - ItemList.Hatch_Input_Bus_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), - CustomItemList.DATApipe.get(4) - }, Materials.Iridium.getMolten(1296), CustomItemList.rack_Hatch.get(1), 800, 122880); + // endregion - //Object Holder - GT_Values.RA.addAssemblylineRecipe(ItemList.Hatch_Input_Bus_ZPM.get(1), 10000, new Object[]{ - ItemList.Hatch_Input_Bus_ZPM.get(1), - CustomItemList.eM_Computer_Bus.get(1), - ItemList.Emitter_ZPM.get(8), - ItemList.Robot_Arm_ZPM.get(1), - ItemList.Electric_Motor_ZPM.get(2), - new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 1}, - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2)}, - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 16)}, - CustomItemList.DATApipe.get(2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(500), + // 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) + }, + Materials.Silver.getMolten(144), + CustomItemList.eM_dynamoMulti4_IV.get(1), + 100, + 1920); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_LuV_IV.get(1), + 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[] { + getItemContainer("WetTransformer_LuV_IV").get(1), + 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) + }, + Materials.Silver.getMolten(288), + CustomItemList.eM_dynamoMulti4_LuV.get(1), + 100, + 7680); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_ZPM_LuV.get(1), + 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, + 7680); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("WetTransformer_ZPM_LuV").get(1), + 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, + 7680); + + 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) + }, + Materials.Silver.getMolten(576), + CustomItemList.eM_dynamoMulti4_ZPM.get(1), + 100, + 30720); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_UV_ZPM.get(1), + 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[] { + getItemContainer("WetTransformer_UV_ZPM").get(1), + 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) + }, + Materials.Silver.getMolten(1152), + CustomItemList.eM_dynamoMulti4_UV.get(1), + 100, + 122880); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_MAX_UV.get(1), + 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[] { + getItemContainer("WetTransformer_UHV_UV").get(1), + 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.SuperconductorUHV, 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[] { + 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_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2) + }, + Materials.Silver.getMolten(9216), + CustomItemList.eM_dynamoMulti4_UIV.get(1), + 100, + 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Transformer_UMV_UIV").get(1), + CustomItemList.eM_dynamoMulti4_UIV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 4) + }, + Materials.Electrum.getMolten(9216), + CustomItemList.eM_dynamoMulti16_UIV.get(1), + 200, + 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("WetTransformer_UMV_UIV").get(1), + CustomItemList.eM_dynamoMulti16_UIV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NetherStar, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 6) + }, + Materials.Tungsten.getMolten(9216), + CustomItemList.eM_dynamoMulti64_UIV.get(1), + 400, + 8000000); + + // Energy Hatches IV-UIV + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Hatch_Energy_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_energyMulti4_IV.get(1), + 100, + 1920); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_LuV_IV.get(1), + CustomItemList.eM_energyMulti4_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_energyMulti16_IV.get(1), + 200, + 1920); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("WetTransformer_LuV_IV").get(1), + CustomItemList.eM_energyMulti16_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_energyMulti64_IV.get(1), + 400, + 1920); + + 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, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 2) + }, + Materials.Silver.getMolten(288), + CustomItemList.eM_energyMulti4_LuV.get(1), + 100, + 7680); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_ZPM_LuV.get(1), + CustomItemList.eM_energyMulti4_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 2), + GT_OreDictUnificator.get( + OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 4) + }, + Materials.Electrum.getMolten(288), + CustomItemList.eM_energyMulti16_LuV.get(1), + 200, + 7680); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("WetTransformer_ZPM_LuV").get(1), + CustomItemList.eM_energyMulti16_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.VanadiumGallium, 2), + GT_OreDictUnificator.get( + OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 6) + }, + Materials.Tungsten.getMolten(288), + CustomItemList.eM_energyMulti64_LuV.get(1), + 400, + 7680); + + 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) + }, + Materials.Silver.getMolten(576), + CustomItemList.eM_energyMulti4_ZPM.get(1), + 100, + 30720); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_UV_ZPM.get(1), + 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, + 30720); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("WetTransformer_UV_ZPM").get(1), + 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, + 30720); + + 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) + }, + Materials.Silver.getMolten(1152), + CustomItemList.eM_energyMulti4_UV.get(1), + 100, + 122880); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_MAX_UV.get(1), + 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, + 122880); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("WetTransformer_UHV_UV").get(1), + 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, + 122880); + + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Hatch_Energy_MAX.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUHV, 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[] { + 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(2304), + 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(2304), + 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(4608), + 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(4608), + 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(4608), + CustomItemList.eM_energyMulti64_UEV.get(1), + 400, + 2000000); + + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hatch_Energy_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2) + }, + Materials.Silver.getMolten(9216), + CustomItemList.eM_energyMulti4_UIV.get(1), + 100, + 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Transformer_UMV_UIV").get(1), + CustomItemList.eM_energyMulti4_UIV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 4) + }, + Materials.Electrum.getMolten(9216), + CustomItemList.eM_energyMulti16_UIV.get(1), + 200, + 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("WetTransformer_UMV_UIV").get(1), + CustomItemList.eM_energyMulti16_UIV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NetherStar, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 6) + }, + Materials.Tungsten.getMolten(9216), + CustomItemList.eM_energyMulti64_UIV.get(1), + 400, + 8000000); + + // Buck Converter IV-UIV + if (Loader.isModLoaded("bartworks")) { + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_LuV_IV.get(1), + getItemContainer("Display").get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 4), + GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 2) + }, + Materials.TungstenSteel.getMolten(288), + CustomItemList.Machine_BuckConverter_IV.get(1), + 100, + 7680); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_ZPM_LuV.get(1), + getItemContainer("Display").get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), + GT_OreDictUnificator.get( + OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 2), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NiobiumTitanium, 4), + GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 3) + }, + new FluidStack(FluidRegistry.getFluid("molten.rhodium-plated palladium"), 288), + CustomItemList.Machine_BuckConverter_LuV.get(1), + 100, + 30720); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_UV_ZPM.get(1), + getItemContainer("Display").get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 4), + GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 4) + }, + Materials.Iridium.getMolten(288), + CustomItemList.Machine_BuckConverter_ZPM.get(1), + 100, + 122880); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_MAX_UV.get(1), + getItemContainer("Display").get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Naquadah, 4), + GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 5) + }, + Materials.Osmium.getMolten(288), + CustomItemList.Machine_BuckConverter_UV.get(1), + 100, + 500000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Transformer_UEV_UHV").get(1), + getItemContainer("Display").get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Infinite, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.ElectrumFlux, 4), + GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 4L, 5) + }, + Materials.Neutronium.getMolten(288), + CustomItemList.Machine_BuckConverter_UHV.get(1), + 100, + 2000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Transformer_UIV_UEV").get(1), + getItemContainer("Display").get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 2), + GT_OreDictUnificator.get( + OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 2), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Bedrockium, 4), + GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 8L, 5) + }, + getOrDefault("Bedrockium", Materials.Neutronium).getMolten(288), + CustomItemList.Machine_BuckConverter_UEV.get(1), + 100, + 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Transformer_UMV_UIV").get(1), + getItemContainer("Display").get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 2), + GT_OreDictUnificator.get( + OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Draconium, 4), + GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 16L, 5) + }, + getOrDefault("BlackPlutonium", Materials.Neutronium).getMolten(288), + CustomItemList.Machine_BuckConverter_UIV.get(1), + 200, + 8000000); + } + // Laser Dynamo IV-UEV 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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), + ItemList.Hatch_Input_Bus_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + CustomItemList.DATApipe.get(2) + }, + Materials.Iridium.getMolten(1296), + CustomItemList.dataIn_Hatch.get(1), + 200, + 122880); + // Data Output + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Hatch_Output_Bus_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + CustomItemList.DATApipe.get(2) + }, Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) - }, CustomItemList.holder_Hatch.get(1), 1200, 100000); + CustomItemList.dataOut_Hatch.get(1), + 200, + 122880); + + // Rack + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + CustomItemList.eM_Computer_Bus.get(1), + ItemList.Hatch_Input_Bus_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), + CustomItemList.DATApipe.get(4) + }, + Materials.Iridium.getMolten(1296), + CustomItemList.rack_Hatch.get(1), + 800, + 122880); - //Parameterizer - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), - CustomItemList.DATApipe.get(4), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 16), - GT_Utility.getIntegratedCircuit(1), - }, Materials.Iridium.getMolten(2592), CustomItemList.Parametrizer_Hatch.get(1), 800, 122880); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), - CustomItemList.DATApipe.get(6), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 32), - GT_Utility.getIntegratedCircuit(2), - }, Materials.Iridium.getMolten(2592), CustomItemList.ParametrizerX_Hatch.get(1), 800, 122880); - - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 1), - CustomItemList.DATApipe.get(8), - ItemList.Cover_Screen.get(2), - new ItemStack(Blocks.stone_button, 64), - GT_Utility.getIntegratedCircuit(3), - }, Materials.Iridium.getMolten(2592), CustomItemList.ParametrizerTXT_Hatch.get(1), 800, 122880); - //Uncertainty - addAssemblerRecipeWithCleanroom(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), - CustomItemList.DATApipe.get(16), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 16), - GT_Utility.getIntegratedCircuit(4), - }, Materials.Iridium.getMolten(2592), CustomItemList.Uncertainty_Hatch.get(1), 1200, 122880); - - addAssemblerRecipeWithCleanroom(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 1), - CustomItemList.DATApipe.get(32), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 16), - GT_Utility.getIntegratedCircuit(5), - }, Materials.Iridium.getMolten(2592), CustomItemList.UncertaintyX_Hatch.get(1), 1200, 122880); - - //Elemental Input - addAssemblerRecipeWithCleanroom(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Input_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), - ItemList.Sensor_UV.get(1) - }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_in_UV.get(1), 800, 500000); - //Elemental Output - addAssemblerRecipeWithCleanroom(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Output_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), - ItemList.Emitter_UV.get(1) - }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_out_UV.get(1), 800, 500000); - //Overflow - addAssemblerRecipeWithCleanroom(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Muffler_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Naquadah, 1), - 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 - - //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[]{ - ItemList.Machine_HV_Microwave.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16), - ItemList.Upgrade_Overclocker.get(4), - }, Materials.Copper.getMolten(576), CustomItemList.Machine_Multi_Microwave.get(1), 800, 480); - - //Active Transformer - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - getItemContainer("WetTransformer_ZPM_LuV").get(1), - getItemContainer("HighEnergyFlowCircuit").get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, getOrDefault("SuperconductorLuV", Materials.Superconductor), 16), - ItemList.valueOf("Circuit_Chip_UHPIC").get(2), - }, Materials.TungstenSteel.getMolten(576), CustomItemList.Machine_Multi_Transformer.get(1), 400, 30720); - - //Network Switch - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + // Object Holder + GT_Values.RA.addAssemblylineRecipe( + ItemList.Hatch_Input_Bus_ZPM.get(1), + 10000, + new Object[] { + ItemList.Hatch_Input_Bus_ZPM.get(1), + CustomItemList.eM_Computer_Bus.get(1), + ItemList.Emitter_ZPM.get(8), + ItemList.Robot_Arm_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 1}, + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2)}, + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 16)}, + CustomItemList.DATApipe.get(2), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(500), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) + }, + CustomItemList.holder_Hatch.get(1), + 1200, + 100000); + + // Parameterizer + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + CustomItemList.DATApipe.get(4), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + GT_Utility.getIntegratedCircuit(1), + }, + Materials.Iridium.getMolten(2592), + CustomItemList.Parametrizer_Hatch.get(1), + 800, + 122880); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + CustomItemList.DATApipe.get(6), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 32), + GT_Utility.getIntegratedCircuit(2), + }, + Materials.Iridium.getMolten(2592), + CustomItemList.ParametrizerX_Hatch.get(1), + 800, + 122880); + + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 1), + CustomItemList.DATApipe.get(8), + ItemList.Cover_Screen.get(2), + new ItemStack(Blocks.stone_button, 64), + GT_Utility.getIntegratedCircuit(3), + }, + Materials.Iridium.getMolten(2592), + CustomItemList.ParametrizerTXT_Hatch.get(1), + 800, + 122880); + // Uncertainty + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + CustomItemList.DATApipe.get(16), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + GT_Utility.getIntegratedCircuit(4), + }, + Materials.Iridium.getMolten(2592), + CustomItemList.Uncertainty_Hatch.get(1), + 1200, + 122880); + + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 1), + CustomItemList.DATApipe.get(32), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + GT_Utility.getIntegratedCircuit(5), + }, + Materials.Iridium.getMolten(2592), + CustomItemList.UncertaintyX_Hatch.get(1), + 1200, + 122880); + + // Elemental Input + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Input_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), + ItemList.Sensor_UV.get(1) + }, + Materials.Osmiridium.getMolten(1296), + CustomItemList.eM_in_UV.get(1), + 800, + 500000); + // Elemental Output + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Output_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), + ItemList.Emitter_UV.get(1) + }, + Materials.Osmiridium.getMolten(1296), + CustomItemList.eM_out_UV.get(1), + 800, + 500000); + // Overflow + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Muffler_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Naquadah, 1), + 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 + + // 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[] { + ItemList.Machine_HV_Microwave.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16), + ItemList.Upgrade_Overclocker.get(4), + }, + Materials.Copper.getMolten(576), + CustomItemList.Machine_Multi_Microwave.get(1), + 800, + 480); + + // Active Transformer + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("WetTransformer_ZPM_LuV").get(1), + getItemContainer("HighEnergyFlowCircuit").get(1), + GT_OreDictUnificator.get( + OrePrefixes.wireGt01, getOrDefault("SuperconductorLuV", Materials.Superconductor), 16), + ItemList.valueOf("Circuit_Chip_UHPIC").get(2), + }, + Materials.TungstenSteel.getMolten(576), CustomItemList.Machine_Multi_Transformer.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 4), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 64), - CustomItemList.DATApipe.get(4), - }, Materials.Iridium.getMolten(1296), CustomItemList.Machine_Multi_Switch.get(1), 800, 122880); - - //Quantum Computer - GT_Values.RA.addAssemblylineRecipe(ItemList.Tool_DataOrb.get(1), 20000, new Object[]{ + 400, + 30720); + + // Network Switch + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.Machine_Multi_Transformer.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 64), + CustomItemList.DATApipe.get(4), + }, + Materials.Iridium.getMolten(1296), CustomItemList.Machine_Multi_Switch.get(1), - new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 2}, + 800, + 122880); + + // Quantum Computer + GT_Values.RA.addAssemblylineRecipe( ItemList.Tool_DataOrb.get(1), - ItemList.Cover_Screen.get(1), - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUV, 8)}, - CustomItemList.DATApipe.get(8), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Hydrogen.getGas(1000), - }, CustomItemList.Machine_Multi_Computer.get(1), 12000, 100000); + 20000, + new Object[] { + CustomItemList.Machine_Multi_Switch.get(1), + new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 2}, + ItemList.Tool_DataOrb.get(1), + ItemList.Cover_Screen.get(1), + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUV, 8)}, + CustomItemList.DATApipe.get(8), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Hydrogen.getGas(1000), + }, + CustomItemList.Machine_Multi_Computer.get(1), + 12000, + 100000); + + // Research Station + GT_Values.RA.addAssemblylineRecipe( + getItemContainer("ScannerZPM").get(1), + 80000, + new Object[] { + CustomItemList.Machine_Multi_Switch.get(1), + ItemList.Sensor_ZPM.get(8), + new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 4}, + ItemList.Field_Generator_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4)}, + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 32)}, + CustomItemList.DATApipe.get(16), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_Research.get(1), + 12000, + 100000); - //Research Station - GT_Values.RA.addAssemblylineRecipe(getItemContainer("ScannerZPM").get(1), 80000, new Object[]{ + // Matter Junction + TT_recipeAdder.addResearchableAssemblylineRecipe( CustomItemList.Machine_Multi_Switch.get(1), - ItemList.Sensor_ZPM.get(8), - new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 4}, - ItemList.Field_Generator_ZPM.get(1), - ItemList.Electric_Motor_ZPM.get(2), - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4)}, - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 32)}, - CustomItemList.DATApipe.get(16), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_Research.get(1), 12000, 100000); + 8000, + 32, + 500000, + 4, + new Object[] { + CustomItemList.Machine_Multi_Transformer.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), + ItemList.Robot_Arm_LuV.get(2), + ItemList.Electric_Piston_LuV.get(2), + new Object[] {"circuitSuperconductor", 2}, + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 4), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_EMjunction.get(1), + 12000, + 100000); - //Matter Junction - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Switch.get(1), - 8000, 32, 500000, 4, new Object[]{ - CustomItemList.Machine_Multi_Transformer.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), - ItemList.Robot_Arm_LuV.get(2), - ItemList.Electric_Piston_LuV.get(2), - new Object[]{"circuitSuperconductor", 2}, - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 4), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_EMjunction.get(1), 12000, 100000); - - //Matter Quantizer - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Input_UV.get(1), - 12000, 32, 500000, 6, new Object[]{ - CustomItemList.Machine_Multi_Transformer.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), - ItemList.Emitter_UV.get(2), - new Object[]{"circuitSuperconductor", 1}, - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_MatterToEM.get(1), 12000, 100000); - - //Matter DeQuantizer - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Output_UV.get(1), - 12000, 32, 500000, 6, new Object[]{ - CustomItemList.Machine_Multi_Transformer.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), - ItemList.Sensor_UV.get(2), - new Object[]{"circuitSuperconductor", 1}, - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_EMToMatter.get(1), 12000, 100000); - - //Essentia Quantizer - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_MatterToEM.get(1), - 15000, 32, 500000, 8, new Object[]{ - CustomItemList.Machine_Multi_MatterToEM.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Neutronium, 4), - ItemList.Emitter_UV.get(2), - new Object[]{"circuitSuperconductor", 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 Object[]{ - CustomItemList.Machine_Multi_EMToMatter.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Neutronium, 4), - ItemList.Sensor_UV.get(2), - new Object[]{"circuitSuperconductor", 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[]{ - CustomItemList.Machine_Multi_EMjunction.get(1), - CustomItemList.eM_Computer_Bus.get(4), - ItemList.Field_Generator_UV.get(4), - ItemList.Sensor_UV.get(4), - getItemContainer("NanoCircuit").get(4), - getItemContainer("MysteriousCrystalLens").get(4), - GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Draconium, 4), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(2000), - Materials.Neutronium.getMolten(2592), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), - Materials.Osmiridium.getMolten(1296), - }, CustomItemList.Machine_Multi_Scanner.get(1), 24000, 500000); - - //Multi Infuser - GT_Values.RA.addAssemblylineRecipe(CustomItemList.Machine_Multi_Transformer.get(1), 7500, new ItemStack[]{ - CustomItemList.Machine_Multi_Transformer.get(1), - CustomItemList.eM_Coil.get(8), - CustomItemList.eM_Power.get(8), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), - }, new FluidStack[]{ - Materials.Electrum.getMolten(2592), - Materials.Europium.getMolten(1872), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - }, CustomItemList.Machine_Multi_Infuser.get(1), 8000, 200000); + // Matter Quantizer + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Input_UV.get(1), + 12000, + 32, + 500000, + 6, + new Object[] { + CustomItemList.Machine_Multi_Transformer.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), + ItemList.Emitter_UV.get(2), + new Object[] {"circuitSuperconductor", 1}, + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_MatterToEM.get(1), + 12000, + 100000); + // Matter DeQuantizer + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Output_UV.get(1), + 12000, + 32, + 500000, + 6, + new Object[] { + CustomItemList.Machine_Multi_Transformer.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), + ItemList.Sensor_UV.get(2), + new Object[] {"circuitSuperconductor", 1}, + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_EMToMatter.get(1), + 12000, + 100000); + + // Essentia Quantizer + TT_recipeAdder.addResearchableAssemblylineRecipe( + CustomItemList.Machine_Multi_MatterToEM.get(1), + 15000, + 32, + 500000, + 8, + new Object[] { + CustomItemList.Machine_Multi_MatterToEM.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Neutronium, 4), + ItemList.Emitter_UV.get(2), + new Object[] {"circuitSuperconductor", 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 Object[] { + CustomItemList.Machine_Multi_EMToMatter.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Neutronium, 4), + ItemList.Sensor_UV.get(2), + new Object[] {"circuitSuperconductor", 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[] { + CustomItemList.Machine_Multi_EMjunction.get(1), + CustomItemList.eM_Computer_Bus.get(4), + ItemList.Field_Generator_UV.get(4), + ItemList.Sensor_UV.get(4), + getItemContainer("NanoCircuit").get(4), + getItemContainer("MysteriousCrystalLens").get(4), + GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Draconium, 4), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(2000), + Materials.Neutronium.getMolten(2592), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), + Materials.Osmiridium.getMolten(1296), + }, + CustomItemList.Machine_Multi_Scanner.get(1), + 24000, + 500000); + + // Multi Infuser + GT_Values.RA.addAssemblylineRecipe( + CustomItemList.Machine_Multi_Transformer.get(1), + 7500, + new ItemStack[] { + CustomItemList.Machine_Multi_Transformer.get(1), + CustomItemList.eM_Coil.get(8), + CustomItemList.eM_Power.get(8), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), + }, + new FluidStack[] { + Materials.Electrum.getMolten(2592), + Materials.Europium.getMolten(1872), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + }, + CustomItemList.Machine_Multi_Infuser.get(1), + 8000, + 200000); item_parts_UHV_assline_recipes(); item_parts_UEV_assline_recipes(); @@ -789,386 +2624,535 @@ public class DreamCraftRecipeLoader { add_wireless_energy_recipes(); - //UHV-UMV Energy Hatch & Dynamo - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Energy_UV.get(1L), - 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), - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 2L}, - ItemList.UHV_Coil.get(2L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Electric_Pump_UHV.get(1L)}, - new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000), - new FluidStack(solderIndalloy, 40*144) - }, ItemList.Hatch_Energy_MAX.get(1L), 1000, 2000000); - - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Dynamo_UV.get(1L), - 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), - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 2L}, - ItemList.UHV_Coil.get(2L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Electric_Pump_UHV.get(1L)}, - new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000), - new FluidStack(solderIndalloy, 40*144) - }, - ItemList.Hatch_Dynamo_MAX.get(1L), 1000, 2000000); - - // UEV Dynamo / energy hatch - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Energy_MAX.get(1L), - 48000, 32, 100000, 4, new Object[]{ - getItemContainer("Hull_UEV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUHV, 4L), - ItemList.Circuit_Chip_QPIC.get(4L), - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 2L}, - ItemList.UHV_Coil.get(4L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Electric_Pump_UEV.get(1L)}, - new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000), - new FluidStack(solderUEV, 20*144), - Materials.UUMatter.getFluid(8000L)}, - getItemContainer("Hatch_Energy_UEV").get(1L), 1000, 8000000); - - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Dynamo_MAX.get(1L), - 96000, 64, 200000, 8, new Object[]{ - getItemContainer("Hull_UEV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Longasssuperconductornameforuhvwire, 16L), - ItemList.Circuit_Chip_QPIC.get(4L), - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 2L}, - ItemList.UHV_Coil.get(4L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Electric_Pump_UEV.get(1L)}, - new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000), - new FluidStack(solderUEV, 20*144), - Materials.UUMatter.getFluid(8000L)}, - getItemContainer("Hatch_Dynamo_UEV").get(1L), 1000, 8000000); - - // UIV Dynamo/energy hatch - TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("Hatch_Energy_UEV").get(1L), - 96_000, 64, 200_000, 8, new Object[]{ - getItemContainer("Hull_UIV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUIV, 2L), - ItemList.Circuit_Chip_QPIC.get(4L), - getItemContainer("NanoCircuit").get(2), - ItemList.UHV_Coil.get(8L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Electric_Pump_UIV.get(1L)}, - new FluidStack[]{ - Materials.SuperCoolant.getFluid(16_000L), - new FluidStack(solderUEV, 20*144), - Materials.UUMatter.getFluid(16_000L)}, - getItemContainer("Hatch_Energy_UIV").get(1L), 1000, 32_000_000); - - TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("Hatch_Dynamo_UEV").get(1L), - 192_000, 128, 400_000, 16, new Object[]{ - getItemContainer("Hull_UIV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUIVBase, 8L), - ItemList.Circuit_Chip_QPIC.get(4L), - getItemContainer("NanoCircuit").get(2), - ItemList.UHV_Coil.get(8L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Electric_Pump_UIV.get(1L)}, - new FluidStack[]{ - Materials.SuperCoolant.getFluid(16_000L), - new FluidStack(solderUEV, 20*144), - Materials.UUMatter.getFluid(16_000L)}, - getItemContainer("Hatch_Dynamo_UIV").get(1L), 1000, 32_000_000); - - // UMV Dynamo/energy hatch - TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("Hatch_Energy_UIV").get(1L), - 192000, 128, 400000, 16, new Object[]{ - getItemContainer("Hull_UMV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUMV, 2L), - ItemList.Circuit_Chip_QPIC.get(4L), - getItemContainer("PikoCircuit").get(2), - ItemList.UHV_Coil.get(16L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Electric_Pump_UMV.get(1L)}, - new FluidStack[]{ - Materials.SuperCoolant.getFluid(32_000L), - new FluidStack(solderUEV, 40*144), - Materials.UUMatter.getFluid(32000L)}, - getItemContainer("Hatch_Energy_UMV").get(1L), 1000, 128_000_000); - - TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("Hatch_Dynamo_UIV").get(1L), - 384000, 256, 800000, 32, new Object[]{ - getItemContainer("Hull_UMV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUMVBase, 8L), - ItemList.Circuit_Chip_QPIC.get(4L), - getItemContainer("PikoCircuit").get(2), - ItemList.UHV_Coil.get(16L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Electric_Pump_UMV.get(1L)}, - new FluidStack[]{ - Materials.SuperCoolant.getFluid(32_000L), - new FluidStack(solderUEV, 40*144), - Materials.UUMatter.getFluid(32000L)}, - getItemContainer("Hatch_Dynamo_UMV").get(1L), 1000, 128_000_000); - - //UHV Circuit Wetwaremainframe - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Circuit_Wetwaresupercomputer.get(1L), - 24000, 64, 50000, 4, new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 2), - ItemList.Circuit_Wetwaresupercomputer.get(2L), - ItemList.ZPM_Coil.get(16L), - new ItemStack[]{ItemList.Circuit_Parts_CapacitorASMD.get(16L), ItemList.Circuit_Parts_CapacitorXSMD.get(4L)}, - new ItemStack[]{ItemList.Circuit_Parts_ResistorASMD.get(16L), ItemList.Circuit_Parts_ResistorXSMD.get(4L)}, - new ItemStack[]{ItemList.Circuit_Parts_TransistorASMD.get(16L), ItemList.Circuit_Parts_TransistorXSMD.get(4L)}, - new ItemStack[]{ItemList.Circuit_Parts_DiodeASMD.get(16L), ItemList.Circuit_Parts_DiodeXSMD.get(4L)}, - ItemList.Circuit_Chip_Ram.get(48L), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 64L), - new Object[]{OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, - }, new FluidStack[]{ - new FluidStack(solderIndalloy, 2880), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 10000), - Materials.Radon.getGas(2500L), - }, ItemList.Circuit_Wetwaremainframe.get(1L), 2000, 300000); + // UHV-UMV Energy Hatch & Dynamo + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Energy_UV.get(1L), + 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), + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 2L}, + ItemList.UHV_Coil.get(2L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Electric_Pump_UHV.get(1L) + }, + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000), + new FluidStack(solderIndalloy, 40 * 144) + }, + ItemList.Hatch_Energy_MAX.get(1L), + 1000, + 2000000); - // Bioware circuits. - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Circuit_Biowarecomputer.get(1L), - 48000, 128, 500000, 8, new Object[]{ - ItemList.Circuit_Board_Bio_Ultra.get(2L), - ItemList.Circuit_Biowarecomputer.get(2L), - new ItemStack[]{ItemList.Circuit_Parts_TransistorASMD.get(16L), ItemList.Circuit_Parts_TransistorXSMD.get(4L)}, - new ItemStack[]{ItemList.Circuit_Parts_ResistorASMD.get(16L), ItemList.Circuit_Parts_ResistorXSMD.get(4L)}, - new ItemStack[]{ItemList.Circuit_Parts_CapacitorASMD.get(16L), ItemList.Circuit_Parts_CapacitorXSMD.get(4L)}, - new ItemStack[]{ItemList.Circuit_Parts_DiodeASMD.get(16L), ItemList.Circuit_Parts_DiodeXSMD.get(4L)}, - ItemList.Circuit_Chip_NOR.get(32L), - ItemList.Circuit_Chip_Ram.get(64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.NiobiumTitanium, 32L), - new Object[]{OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, - }, new FluidStack[]{ - new FluidStack(solderUEV, 1440), - Materials.BioMediumSterilized.getFluid(1440L), - Materials.SuperCoolant.getFluid(10_000L), - }, - ItemList.Circuit_Biowaresupercomputer.get(1L), 4000, 500000); + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Dynamo_UV.get(1L), + 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), + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 2L}, + ItemList.UHV_Coil.get(2L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Electric_Pump_UHV.get(1L) + }, + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000), + new FluidStack(solderIndalloy, 40 * 144) + }, + ItemList.Hatch_Dynamo_MAX.get(1L), + 1000, + 2000000); - // Bio - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Circuit_Biowaresupercomputer.get(1L), - 96000, 256, 1000000, 16, new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 4L), - ItemList.Circuit_Biowaresupercomputer.get(2L), - ItemList.UV_Coil.get(16L), - new ItemStack[]{ItemList.Circuit_Parts_TransistorASMD.get(24L), ItemList.Circuit_Parts_TransistorXSMD.get(6L)}, - new ItemStack[]{ItemList.Circuit_Parts_ResistorASMD.get(24L), ItemList.Circuit_Parts_ResistorXSMD.get(6L)}, - new ItemStack[]{ItemList.Circuit_Parts_CapacitorASMD.get(24L), ItemList.Circuit_Parts_CapacitorXSMD.get(6L)}, - new ItemStack[]{ItemList.Circuit_Parts_DiodeASMD.get(24L), ItemList.Circuit_Parts_DiodeXSMD.get(6L)}, - ItemList.Circuit_Chip_Ram.get(64L), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 64), - new Object[]{OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Polybenzimidazole, 64) - }, new FluidStack[]{ - new FluidStack(solderUEV, 2880), - Materials.BioMediumSterilized.getFluid(2880L), - Materials.SuperCoolant.getFluid(20_000L), - }, ItemList.Circuit_Biomainframe.get(1L), 6000, 2000000); + // UEV Dynamo / energy hatch + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Energy_MAX.get(1L), + 48000, + 32, + 100000, + 4, + new Object[] { + getItemContainer("Hull_UEV").get(1L), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUHV, 4L), + ItemList.Circuit_Chip_QPIC.get(4L), + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 2L}, + ItemList.UHV_Coil.get(4L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Electric_Pump_UEV.get(1L) + }, + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000), + new FluidStack(solderUEV, 20 * 144), + Materials.UUMatter.getFluid(8000L) + }, + getItemContainer("Hatch_Energy_UEV").get(1L), + 1000, + 8000000); + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Dynamo_MAX.get(1L), + 96000, + 64, + 200000, + 8, + new Object[] { + getItemContainer("Hull_UEV").get(1L), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Longasssuperconductornameforuhvwire, 16L), + ItemList.Circuit_Chip_QPIC.get(4L), + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 2L}, + ItemList.UHV_Coil.get(4L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Electric_Pump_UEV.get(1L) + }, + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000), + new FluidStack(solderUEV, 20 * 144), + Materials.UUMatter.getFluid(8000L) + }, + getItemContainer("Hatch_Dynamo_UEV").get(1L), + 1000, + 8000000); - // GTNH UIV, UMV, UXV Circuits - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Circuit_Biomainframe.get(1L), - 192000, 512, 2000000, 32, new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 8), - ItemList.Circuit_Biomainframe.get(2L), - ItemList.Circuit_Parts_CapacitorXSMD.get(32L), - ItemList.Circuit_Parts_ResistorXSMD.get(32L), - ItemList.Circuit_Parts_TransistorXSMD.get(32L), - ItemList.Circuit_Parts_DiodeXSMD.get(32L), - 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), - new Object[]{OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Polybenzimidazole, 64) - }, new FluidStack[]{ - new FluidStack(solderUEV, 3744), - Materials.Naquadria.getMolten(4032L), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 20000) - }, getItemContainer("NanoCircuit").get(1L), 8000, 32_000_000); - - - TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("NanoCircuit").get(1L), - 384000, 1024, 4000000, 64, new ItemStack[]{ - ItemList.Circuit_Board_Bio_Ultra.get(1L), - getItemContainer("PicoWafer").get(4L), - getItemContainer("NanoCircuit").get(2L), - ItemList.Circuit_Parts_TransistorXSMD.get(48L), - ItemList.Circuit_Parts_ResistorXSMD.get(48L), - ItemList.Circuit_Parts_CapacitorXSMD.get(48L), - ItemList.Circuit_Parts_DiodeXSMD.get(48L), - 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[]{ - new FluidStack(solderUEV, 3744), - Materials.UUMatter.getFluid(8000L), - Materials.Osmium.getMolten(1152L) - }, getItemContainer("PikoCircuit").get(1L), 10000, 128_000_000); - - - TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("PikoCircuit").get(1L), - 720000, 2048, 8000000, 128, new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 16), - getItemContainer("PikoCircuit").get(2L), - ItemList.Circuit_Parts_CapacitorXSMD.get(64L), - ItemList.Circuit_Parts_DiodeXSMD.get(64L), - ItemList.Circuit_Parts_TransistorXSMD.get(64L), - ItemList.Circuit_Parts_ResistorXSMD.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.SpaceTime, 8), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Lanthanum, 64) - }, new FluidStack[]{ - new FluidStack(solderUEV, 3744), - Materials.UUMatter.getFluid(24000L), - Materials.Osmium.getMolten(2304L) - }, getItemContainer("QuantumCircuit").get(1L), 20000, 512_000_000); - - - //Stargate Recipes - if (Loader.isModLoaded("eternalsingularity") && Loader.isModLoaded("SGCraft")) { - TT_recipeAdder.addResearchableAssemblylineRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 1L), - 2_000_000_000, 32768, 500_000_000, 64, new ItemStack[]{ + // UIV Dynamo/energy hatch + TT_recipeAdder.addResearchableAssemblylineRecipe( + getItemContainer("Hatch_Energy_UEV").get(1L), + 96_000, + 64, + 200_000, + 8, + new Object[] { + getItemContainer("Hull_UIV").get(1L), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUIV, 2L), + ItemList.Circuit_Chip_QPIC.get(4L), + getItemContainer("NanoCircuit").get(2), + ItemList.UHV_Coil.get(8L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Electric_Pump_UIV.get(1L) + }, + new FluidStack[] { + Materials.SuperCoolant.getFluid(16_000L), + new FluidStack(solderUEV, 20 * 144), + Materials.UUMatter.getFluid(16_000L) + }, + getItemContainer("Hatch_Energy_UIV").get(1L), + 1000, + 32_000_000); + + TT_recipeAdder.addResearchableAssemblylineRecipe( + getItemContainer("Hatch_Dynamo_UEV").get(1L), + 192_000, + 128, + 400_000, + 16, + new Object[] { + getItemContainer("Hull_UIV").get(1L), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUIVBase, 8L), + ItemList.Circuit_Chip_QPIC.get(4L), + getItemContainer("NanoCircuit").get(2), + ItemList.UHV_Coil.get(8L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Electric_Pump_UIV.get(1L) + }, + new FluidStack[] { + Materials.SuperCoolant.getFluid(16_000L), + new FluidStack(solderUEV, 20 * 144), + Materials.UUMatter.getFluid(16_000L) + }, + getItemContainer("Hatch_Dynamo_UIV").get(1L), + 1000, + 32_000_000); + + // UMV Dynamo/energy hatch + TT_recipeAdder.addResearchableAssemblylineRecipe( + getItemContainer("Hatch_Energy_UIV").get(1L), + 192000, + 128, + 400000, + 16, + new Object[] { + getItemContainer("Hull_UMV").get(1L), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUMV, 2L), + ItemList.Circuit_Chip_QPIC.get(4L), + getItemContainer("PikoCircuit").get(2), + ItemList.UHV_Coil.get(16L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Electric_Pump_UMV.get(1L) + }, + new FluidStack[] { + Materials.SuperCoolant.getFluid(32_000L), + new FluidStack(solderUEV, 40 * 144), + Materials.UUMatter.getFluid(32000L) + }, + getItemContainer("Hatch_Energy_UMV").get(1L), + 1000, + 128_000_000); - ItemList.Casing_Dim_Bridge.get(64), - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), + TT_recipeAdder.addResearchableAssemblylineRecipe( + getItemContainer("Hatch_Dynamo_UIV").get(1L), + 384000, + 256, + 800000, + 32, + new Object[] { + getItemContainer("Hull_UMV").get(1L), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUMVBase, 8L), + ItemList.Circuit_Chip_QPIC.get(4L), + getItemContainer("PikoCircuit").get(2), + ItemList.UHV_Coil.get(16L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Electric_Pump_UMV.get(1L) + }, + new FluidStack[] { + Materials.SuperCoolant.getFluid(32_000L), + new FluidStack(solderUEV, 40 * 144), + Materials.UUMatter.getFluid(32000L) + }, + getItemContainer("Hatch_Dynamo_UMV").get(1L), + 1000, + 128_000_000); - GT_OreDictUnificator.get(OrePrefixes.block, Materials.SpaceTime, 16L), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Quantum, 16L), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.SpaceTime, 16L), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 16L), + // UHV Circuit Wetwaremainframe + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Circuit_Wetwaresupercomputer.get(1L), + 24000, + 64, + 50000, + 4, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 2), + ItemList.Circuit_Wetwaresupercomputer.get(2L), + ItemList.ZPM_Coil.get(16L), + new ItemStack[] { + ItemList.Circuit_Parts_CapacitorASMD.get(16L), ItemList.Circuit_Parts_CapacitorXSMD.get(4L) + }, + new ItemStack[] { + ItemList.Circuit_Parts_ResistorASMD.get(16L), ItemList.Circuit_Parts_ResistorXSMD.get(4L) + }, + new ItemStack[] { + ItemList.Circuit_Parts_TransistorASMD.get(16L), ItemList.Circuit_Parts_TransistorXSMD.get(4L) + }, + new ItemStack[] {ItemList.Circuit_Parts_DiodeASMD.get(16L), ItemList.Circuit_Parts_DiodeXSMD.get(4L) + }, + ItemList.Circuit_Chip_Ram.get(48L), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 64L), + new Object[] {OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, + }, + new FluidStack[] { + new FluidStack(solderIndalloy, 2880), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 10000), + Materials.Radon.getGas(2500L), + }, + ItemList.Circuit_Wetwaremainframe.get(1L), + 2000, + 300000); - ItemList.Sensor_UMV.get(16L), - ItemList.Emitter_UMV.get(16L), - GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 16L) + // Bioware circuits. + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Circuit_Biowarecomputer.get(1L), + 48000, + 128, + 500000, + 8, + new Object[] { + ItemList.Circuit_Board_Bio_Ultra.get(2L), + ItemList.Circuit_Biowarecomputer.get(2L), + new ItemStack[] { + ItemList.Circuit_Parts_TransistorASMD.get(16L), ItemList.Circuit_Parts_TransistorXSMD.get(4L) + }, + new ItemStack[] { + ItemList.Circuit_Parts_ResistorASMD.get(16L), ItemList.Circuit_Parts_ResistorXSMD.get(4L) + }, + new ItemStack[] { + ItemList.Circuit_Parts_CapacitorASMD.get(16L), ItemList.Circuit_Parts_CapacitorXSMD.get(4L) + }, + new ItemStack[] {ItemList.Circuit_Parts_DiodeASMD.get(16L), ItemList.Circuit_Parts_DiodeXSMD.get(4L) + }, + ItemList.Circuit_Chip_NOR.get(32L), + ItemList.Circuit_Chip_Ram.get(64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.NiobiumTitanium, 32L), + new Object[] {OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, + }, + new FluidStack[] { + new FluidStack(solderUEV, 1440), + Materials.BioMediumSterilized.getFluid(1440L), + Materials.SuperCoolant.getFluid(10_000L), + }, + ItemList.Circuit_Biowaresupercomputer.get(1L), + 4000, + 500000); + // Bio + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Circuit_Biowaresupercomputer.get(1L), + 96000, + 256, + 1000000, + 16, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 4L), + ItemList.Circuit_Biowaresupercomputer.get(2L), + ItemList.UV_Coil.get(16L), + new ItemStack[] { + ItemList.Circuit_Parts_TransistorASMD.get(24L), ItemList.Circuit_Parts_TransistorXSMD.get(6L) }, - new FluidStack[]{ - Materials.Neutronium.getMolten(32_768_000L), - Materials.SpaceTime.getMolten(4*36864L), - Materials.SuperconductorUMVBase.getMolten(4*36864L), - Materials.ExcitedDTEC.getFluid(4*36864L) + new ItemStack[] { + ItemList.Circuit_Parts_ResistorASMD.get(24L), ItemList.Circuit_Parts_ResistorXSMD.get(6L) }, - getItemContainer("StargateShieldingFoil").get(1L), 72_000, 500_000_000); - - TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("StargateShieldingFoil").get(1L), - 2_000_000_000, 32_768, 500_000_000, 64, new ItemStack[]{ - - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.block, Materials.NaquadahAlloy, 64L), - ItemList.Casing_Dim_Bridge.get(64), - ItemList.Casing_Dim_Bridge.get(64), - - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 16L), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 16L), - GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Ruby, 16L), - GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Jasper, 16L), - - GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Opal, 16L), - GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Sapphire, 16L), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmiridium, 8L), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmiridium, 8L), - - ItemList.Electric_Motor_UMV.get(64L), - ItemList.Electric_Piston_UMV.get(64L), - ItemList.Field_Generator_UMV.get(16L), - getItemContainer("QuantumCircuit").get(1L).splitStack(32), + new ItemStack[] { + ItemList.Circuit_Parts_CapacitorASMD.get(24L), ItemList.Circuit_Parts_CapacitorXSMD.get(6L) }, - new FluidStack[]{ - Materials.Neutronium.getMolten(32_768_000L), - Materials.SpaceTime.getMolten(4*36864L), - Materials.SuperconductorUMVBase.getMolten(4*36864L), - Materials.ExcitedDTEC.getFluid(4*36864L) + new ItemStack[] {ItemList.Circuit_Parts_DiodeASMD.get(24L), ItemList.Circuit_Parts_DiodeXSMD.get(6L) }, - getItemContainer("StargateChevron").get(1L), 72_000, 500_000_000); + ItemList.Circuit_Chip_Ram.get(64L), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 64), + new Object[] {OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Polybenzimidazole, 64) + }, + new FluidStack[] { + new FluidStack(solderUEV, 2880), + Materials.BioMediumSterilized.getFluid(2880L), + Materials.SuperCoolant.getFluid(20_000L), + }, + ItemList.Circuit_Biomainframe.get(1L), + 6000, + 2000000); - TT_recipeAdder.addResearchableAssemblylineRecipe(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), - 2_000_000_000, 32_768, 500_000_000, 64, new ItemStack[]{ + // GTNH UIV, UMV, UXV Circuits + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Circuit_Biomainframe.get(1L), + 192000, + 512, + 2000000, + 32, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 8), + ItemList.Circuit_Biomainframe.get(2L), + ItemList.Circuit_Parts_CapacitorXSMD.get(32L), + ItemList.Circuit_Parts_ResistorXSMD.get(32L), + ItemList.Circuit_Parts_TransistorXSMD.get(32L), + ItemList.Circuit_Parts_DiodeXSMD.get(32L), + 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), + new Object[] {OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Polybenzimidazole, 64) + }, + new FluidStack[] { + new FluidStack(solderUEV, 3744), + Materials.Naquadria.getMolten(4032L), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 20000) + }, + getItemContainer("NanoCircuit").get(1L), + 8000, + 32_000_000); - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahAlloy, 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.CosmicNeutronium, 64L), + TT_recipeAdder.addResearchableAssemblylineRecipe( + getItemContainer("NanoCircuit").get(1L), + 384000, + 1024, + 4000000, + 64, + new ItemStack[] { + ItemList.Circuit_Board_Bio_Ultra.get(1L), + getItemContainer("PicoWafer").get(4L), + getItemContainer("NanoCircuit").get(2L), + ItemList.Circuit_Parts_TransistorXSMD.get(48L), + ItemList.Circuit_Parts_ResistorXSMD.get(48L), + ItemList.Circuit_Parts_CapacitorXSMD.get(48L), + ItemList.Circuit_Parts_DiodeXSMD.get(48L), + 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[] { + new FluidStack(solderUEV, 3744), + Materials.UUMatter.getFluid(8000L), + Materials.Osmium.getMolten(1152L) + }, + getItemContainer("PikoCircuit").get(1L), + 10000, + 128_000_000); - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Neutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Osmiridium, 64L), - GT_ModHandler.getModItem("bartworks", "gt.bwMetaGeneratedstickLong", 64L, 39), - GT_ModHandler.getModItem("miscutils", "itemRodLongQuantum", 64L), + TT_recipeAdder.addResearchableAssemblylineRecipe( + getItemContainer("PikoCircuit").get(1L), + 720000, + 2048, + 8000000, + 128, + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 16), + getItemContainer("PikoCircuit").get(2L), + ItemList.Circuit_Parts_CapacitorXSMD.get(64L), + ItemList.Circuit_Parts_DiodeXSMD.get(64L), + ItemList.Circuit_Parts_TransistorXSMD.get(64L), + ItemList.Circuit_Parts_ResistorXSMD.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.SpaceTime, 8), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Lanthanum, 64) + }, + new FluidStack[] { + new FluidStack(solderUEV, 3744), + Materials.UUMatter.getFluid(24000L), + Materials.Osmium.getMolten(2304L) + }, + getItemContainer("QuantumCircuit").get(1L), + 20000, + 512_000_000); - GT_ModHandler.getModItem("miscutils", "itemRodLongHypogen", 64L), - GT_ModHandler.getModItem("miscutils", "itemRodLongCelestialTungsten", 64L), - GT_ModHandler.getModItem("bartworks", "gt.bwMetaGeneratedstickLong", 64L, 10106), - GT_ModHandler.getModItem("miscutils", "itemRodLongAstralTitanium", 64L), + // Stargate Recipes + if (Loader.isModLoaded("eternalsingularity") && Loader.isModLoaded("SGCraft")) { + TT_recipeAdder.addResearchableAssemblylineRecipe( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 1L), + 2_000_000_000, + 32768, + 500_000_000, + 64, + new ItemStack[] { + ItemList.Casing_Dim_Bridge.get(64), + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.block, Materials.SpaceTime, 16L), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Quantum, 16L), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.SpaceTime, 16L), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 16L), + ItemList.Sensor_UMV.get(16L), + ItemList.Emitter_UMV.get(16L), + GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 16L) + }, + new FluidStack[] { + Materials.Neutronium.getMolten(32_768_000L), + Materials.SpaceTime.getMolten(4 * 36864L), + Materials.SuperconductorUMVBase.getMolten(4 * 36864L), + Materials.ExcitedDTEC.getFluid(4 * 36864L) + }, + getItemContainer("StargateShieldingFoil").get(1L), + 72_000, + 500_000_000); - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SuperconductorUMVBase, 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Sunnarium, 64L), - GT_ModHandler.getModItem("miscutils", "itemRodLongAbyssalAlloy", 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TranscendentMetal, 64L), + TT_recipeAdder.addResearchableAssemblylineRecipe( + getItemContainer("StargateShieldingFoil").get(1L), + 2_000_000_000, + 32_768, + 500_000_000, + 64, + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.block, Materials.NaquadahAlloy, 64L), + ItemList.Casing_Dim_Bridge.get(64), + ItemList.Casing_Dim_Bridge.get(64), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 16L), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 16L), + GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Ruby, 16L), + GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Jasper, 16L), + GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Opal, 16L), + GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Sapphire, 16L), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmiridium, 8L), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmiridium, 8L), + ItemList.Electric_Motor_UMV.get(64L), + ItemList.Electric_Piston_UMV.get(64L), + ItemList.Field_Generator_UMV.get(16L), + getItemContainer("QuantumCircuit").get(1L).splitStack(32), + }, + new FluidStack[] { + Materials.Neutronium.getMolten(32_768_000L), + Materials.SpaceTime.getMolten(4 * 36864L), + Materials.SuperconductorUMVBase.getMolten(4 * 36864L), + Materials.ExcitedDTEC.getFluid(4 * 36864L) + }, + getItemContainer("StargateChevron").get(1L), + 72_000, + 500_000_000); + TT_recipeAdder.addResearchableAssemblylineRecipe( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), + 2_000_000_000, + 32_768, + 500_000_000, + 64, + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahAlloy, 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.CosmicNeutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Neutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Osmiridium, 64L), + GT_ModHandler.getModItem("bartworks", "gt.bwMetaGeneratedstickLong", 64L, 39), + GT_ModHandler.getModItem("miscutils", "itemRodLongQuantum", 64L), + GT_ModHandler.getModItem("miscutils", "itemRodLongHypogen", 64L), + GT_ModHandler.getModItem("miscutils", "itemRodLongCelestialTungsten", 64L), + GT_ModHandler.getModItem("bartworks", "gt.bwMetaGeneratedstickLong", 64L, 10106), + GT_ModHandler.getModItem("miscutils", "itemRodLongAstralTitanium", 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SuperconductorUMVBase, 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Sunnarium, 64L), + GT_ModHandler.getModItem("miscutils", "itemRodLongAbyssalAlloy", 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TranscendentMetal, 64L), }, - new FluidStack[]{ - Materials.Neutronium.getMolten(32_768_000L), - Materials.SpaceTime.getMolten(4*36864L), - Materials.SuperconductorUMVBase.getMolten(4*36864L), - Materials.ExcitedDTEC.getFluid(4*36864L) + new FluidStack[] { + Materials.Neutronium.getMolten(32_768_000L), + Materials.SpaceTime.getMolten(4 * 36864L), + Materials.SuperconductorUMVBase.getMolten(4 * 36864L), + Materials.ExcitedDTEC.getFluid(4 * 36864L) }, - getItemContainer("StargateFramePart").get(1L), 72_000, 500_000_000); + getItemContainer("StargateFramePart").get(1L), + 72_000, + 500_000_000); } // Dimensionally Transcendent Plasma Forge (DTPF) @@ -1176,724 +3160,990 @@ public class DreamCraftRecipeLoader { if (Loader.isModLoaded("eternalsingularity")) { // DTPF Controller. - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Dim_Bridge.get(1), - 32_000_000, 4096, 32_000_000, 1, new Object[]{ - ItemList.Casing_Dim_Bridge.get(4), - GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 16L, 12730), - getItemContainer("Hatch_Energy_UEV").get(4L), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUEV, 6), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 20), - ItemList.Field_Generator_UEV.get(4), - GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 4L), - GT_ModHandler.getModItem("miscutils", "MU-metaitem.01", 1L, 32105), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 64L), - ItemList.Electric_Pump_UEV.get(4), - ItemList.ZPM3.get(1), - GT_ModHandler.getModItem("IC2", "blockMachine2", 1, 0) + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Casing_Dim_Bridge.get(1), + 32_000_000, + 4096, + 32_000_000, + 1, + new Object[] { + ItemList.Casing_Dim_Bridge.get(4), + GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 16L, 12730), + getItemContainer("Hatch_Energy_UEV").get(4L), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUEV, 6), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 20), + ItemList.Field_Generator_UEV.get(4), + GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 4L), + GT_ModHandler.getModItem("miscutils", "MU-metaitem.01", 1L, 32105), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 64L), + ItemList.Electric_Pump_UEV.get(4), + ItemList.ZPM3.get(1), + GT_ModHandler.getModItem("IC2", "blockMachine2", 1, 0) }, - new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("oganesson"), 128000), - new FluidStack(solderUEV, 36864*2), - new FluidStack(FluidRegistry.getFluid("molten.californium"), 36864), - Materials.NaquadahEnriched.getMolten(36864L) + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("oganesson"), 128000), + new FluidStack(solderUEV, 36864 * 2), + new FluidStack(FluidRegistry.getFluid("molten.californium"), 36864), + Materials.NaquadahEnriched.getMolten(36864L) }, - ItemList.Machine_Multi_PlasmaForge.get(1), 72000, 32_000_000); + ItemList.Machine_Multi_PlasmaForge.get(1), + 72000, + 32_000_000); // Dimensional bridge. - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Dim_Injector.get(1), - 8_000_000, 4096, 32_000_000, 1, new Object[]{ - ItemList.Casing_Dim_Trans.get(1), - ItemList.MicroTransmitter_UV.get(1), - new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 2L}, - GT_ModHandler.getModItem("Avaritia", "Singularity", 2L, 0), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 6), - GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 2, 0), - ItemList.Field_Generator_UHV.get(1L) + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Casing_Dim_Injector.get(1), + 8_000_000, + 4096, + 32_000_000, + 1, + new Object[] { + ItemList.Casing_Dim_Trans.get(1), + ItemList.MicroTransmitter_UV.get(1), + new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 2L}, + GT_ModHandler.getModItem("Avaritia", "Singularity", 2L, 0), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 6), + GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 2, 0), + ItemList.Field_Generator_UHV.get(1L) }, - new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("oganesson"), 8000), - new FluidStack(solderUEV, 1152*8), - Materials.NaquadahEnriched.getMolten(1296L) + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("oganesson"), 8000), + new FluidStack(solderUEV, 1152 * 8), + Materials.NaquadahEnriched.getMolten(1296L) }, - ItemList.Casing_Dim_Bridge.get(1), 240*20, 32_000_000); + ItemList.Casing_Dim_Bridge.get(1), + 240 * 20, + 32_000_000); // Dimensional injection casing. - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Dim_Trans.get(1), - 2_000_000, 2048, 32_000_000, 1, new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 4), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Ledox, 1), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.CallistoIce, 1), - ItemList.Reactor_Coolant_Sp_6.get(1L), - GT_ModHandler.getModItem("miscutils", "itemScrewLaurenium", 12, 0), - new Object[]{OrePrefixes.circuit.get(Materials.Elite), 2L}, - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 2), - ItemList.Super_Chest_IV.get(1), - ItemList.Super_Tank_IV.get(1), - GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 1, 0), + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Casing_Dim_Trans.get(1), + 2_000_000, + 2048, + 32_000_000, + 1, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 4), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Ledox, 1), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.CallistoIce, 1), + ItemList.Reactor_Coolant_Sp_6.get(1L), + GT_ModHandler.getModItem("miscutils", "itemScrewLaurenium", 12, 0), + new Object[] {OrePrefixes.circuit.get(Materials.Elite), 2L}, + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 2), + ItemList.Super_Chest_IV.get(1), + ItemList.Super_Tank_IV.get(1), + GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 1, 0), }, - new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("oganesson"), 1000), - new FluidStack(solderUEV, 576), - Materials.NaquadahEnriched.getMolten(288L) + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("oganesson"), 1000), + new FluidStack(solderUEV, 576), + Materials.NaquadahEnriched.getMolten(288L) }, - ItemList.Casing_Dim_Injector.get(1), 20*20, 32_000_000); + ItemList.Casing_Dim_Injector.get(1), + 20 * 20, + 32_000_000); // Dimensionally Transcendent Casing. - TT_recipeAdder.addResearchableAssemblylineRecipe(GT_ModHandler.getModItem("Avaritia", "Singularity", 1L, 0), - 2_000_000, 2048, 32_000_000, 1, new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 6), - GT_ModHandler.getModItem("miscutils", "itemScrewLaurenium", 12, 0), - ItemList.Reactor_Coolant_Sp_6.get(1L), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 1), + TT_recipeAdder.addResearchableAssemblylineRecipe( + GT_ModHandler.getModItem("Avaritia", "Singularity", 1L, 0), + 2_000_000, + 2048, + 32_000_000, + 1, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 6), + GT_ModHandler.getModItem("miscutils", "itemScrewLaurenium", 12, 0), + ItemList.Reactor_Coolant_Sp_6.get(1L), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 1), }, - new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("oganesson"), 500), - new FluidStack(solderUEV, 288), - Materials.NaquadahEnriched.getMolten(144L) + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("oganesson"), 500), + new FluidStack(solderUEV, 288), + Materials.NaquadahEnriched.getMolten(144L) }, - ItemList.Casing_Dim_Trans.get(1), 20*20, 32_000_000); - - + ItemList.Casing_Dim_Trans.get(1), + 20 * 20, + 32_000_000); } Fluid oganesson = FluidRegistry.getFluid("oganesson"); - //Deep Dark Portal - TT_recipeAdder.addResearchableAssemblylineRecipe(GT_ModHandler.getModItem("dreamcraft", "item.HeavyDutyPlateTier8", 1, 0), - 16_777_216, 2048, 2_000_000, 64, new Object[]{ - GT_ModHandler.getModItem("ExtraUtilities", "cobblestone_compressed", 1, 7), - GT_ModHandler.getModItem("IC2", "blockMachine2", 1, 0), - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 4L), - new Object[]{OrePrefixes.circuit.get(Materials.Quantum), 1}, - new Object[]{OrePrefixes.circuit.get(Materials.Quantum), 1}, - new Object[]{OrePrefixes.circuit.get(Materials.Quantum), 1}, - new Object[]{OrePrefixes.circuit.get(Materials.Quantum), 1}, - GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 32, 0), - ItemList.Robot_Arm_UMV.get(4), - ItemList.Emitter_UMV.get(4), - ItemList.Sensor_UMV.get(4), - }, new FluidStack[]{ - oganesson != null ? new FluidStack(oganesson, 50000) : null, - Materials.Infinity.getMolten(144L*512), - Materials.Cheese.getMolten(232000L), - }, ItemList.Block_BedrockiumCompressed.get(1), 10000, 5000000); - - //Debug maintenance hatch - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_AutoMaintenance.get(1L), - 2764800, 128, 500000, 6, new Object[]{ - ItemList.Hatch_AutoMaintenance.get(1L), - ItemList.Robot_Arm_UV.get(1L), - ItemList.Electric_Pump_UV.get(1L), - ItemList.Conveyor_Module_UV.get(1L), - new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 4L}, - ItemList.Energy_LapotronicOrb2.get(1L), - ItemList.Duct_Tape.get(64L), - ItemList.Duct_Tape.get(64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64L), - }, new FluidStack[]{ - Materials.Lubricant.getFluid(256000), - new FluidStack(solderIndalloy, 1296), - }, CustomItemList.hatch_CreativeMaintenance.get(1), 6000, 500000); - - //Batteries - 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), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L}, - ItemList.Energy_Cluster.get(8L), - ItemList.Field_Generator_UV.get(2), - ItemList.Circuit_Wafer_HPIC.get(64), - ItemList.Circuit_Wafer_HPIC.get(64), - ItemList.Circuit_Parts_DiodeASMD.get(32), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 32), - }, new FluidStack[]{ - new FluidStack(solderIndalloy, 2880), - 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[]{ - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L), - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - ItemList.ZPM2.get(8), - ItemList.Field_Generator_UHV.get(4), - ItemList.Circuit_Wafer_UHPIC.get(64), - ItemList.Circuit_Wafer_UHPIC.get(64), - ItemList.Circuit_Wafer_SoC2.get(32), - ItemList.Circuit_Parts_DiodeASMD.get(64), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 64), - }, new FluidStack[]{ - new FluidStack(solderUEV, 4608), - Materials.Naquadria.getMolten(9216), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000) - }, ItemList.ZPM3.get(1), 4000, 1600000); + // Deep Dark Portal + TT_recipeAdder.addResearchableAssemblylineRecipe( + GT_ModHandler.getModItem("dreamcraft", "item.HeavyDutyPlateTier8", 1, 0), + 16_777_216, + 2048, + 2_000_000, + 64, + new Object[] { + GT_ModHandler.getModItem("ExtraUtilities", "cobblestone_compressed", 1, 7), + GT_ModHandler.getModItem("IC2", "blockMachine2", 1, 0), + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 4L), + new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 1}, + new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 1}, + new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 1}, + new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 1}, + GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 32, 0), + ItemList.Robot_Arm_UMV.get(4), + ItemList.Emitter_UMV.get(4), + ItemList.Sensor_UMV.get(4), + }, + new FluidStack[] { + oganesson != null ? new FluidStack(oganesson, 50000) : null, + Materials.Infinity.getMolten(144L * 512), + Materials.Cheese.getMolten(232000L), + }, + ItemList.Block_BedrockiumCompressed.get(1), + 10000, + 5000000); - // MK4 Computer - TT_recipeAdder.addResearchableAssemblylineRecipe(GregtechItemList.Compressed_Fusion_Reactor.get(1), - 320000, 512, 2000000, 1, new Object[]{ - GregtechItemList.Casing_Fusion_Internal.get(1), - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Neutronium, 4), - ItemList.Field_Generator_UHV.get(2), - ItemList.Circuit_Wafer_QPIC.get(64), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Longasssuperconductornameforuhvwire, 32), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(50000), - ALLOY.CINOBITE.getFluidStack(9216), - ALLOY.OCTIRON.getFluidStack(9216), - ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(9216), - }, GregtechItemList.FusionComputer_UV2.get(1), 6000, 2000000); + // Debug maintenance hatch + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_AutoMaintenance.get(1L), + 2764800, + 128, + 500000, + 6, + new Object[] { + ItemList.Hatch_AutoMaintenance.get(1L), + ItemList.Robot_Arm_UV.get(1L), + ItemList.Electric_Pump_UV.get(1L), + ItemList.Conveyor_Module_UV.get(1L), + new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 4L}, + ItemList.Energy_LapotronicOrb2.get(1L), + ItemList.Duct_Tape.get(64L), + ItemList.Duct_Tape.get(64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64L), + }, + new FluidStack[] { + Materials.Lubricant.getFluid(256000), new FluidStack(solderIndalloy, 1296), + }, + CustomItemList.hatch_CreativeMaintenance.get(1), + 6000, + 500000); + + // Batteries + 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), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 1L}, + ItemList.Energy_Cluster.get(8L), + ItemList.Field_Generator_UV.get(2), + ItemList.Circuit_Wafer_HPIC.get(64), + ItemList.Circuit_Wafer_HPIC.get(64), + ItemList.Circuit_Parts_DiodeASMD.get(32), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 32), + }, + new FluidStack[] { + new FluidStack(solderIndalloy, 2880), 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[] { + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L), + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + ItemList.ZPM2.get(8), + ItemList.Field_Generator_UHV.get(4), + ItemList.Circuit_Wafer_UHPIC.get(64), + ItemList.Circuit_Wafer_UHPIC.get(64), + ItemList.Circuit_Wafer_SoC2.get(32), + ItemList.Circuit_Parts_DiodeASMD.get(64), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 64), + }, + new FluidStack[] { + new FluidStack(solderUEV, 4608), + Materials.Naquadria.getMolten(9216), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000) + }, + ItemList.ZPM3.get(1), + 4000, + 1600000); + // MK4 Computer + TT_recipeAdder.addResearchableAssemblylineRecipe( + GregtechItemList.Compressed_Fusion_Reactor.get(1), + 320000, + 512, + 2000000, + 1, + new Object[] { + GregtechItemList.Casing_Fusion_Internal.get(1), + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Neutronium, 4), + ItemList.Field_Generator_UHV.get(2), + ItemList.Circuit_Wafer_QPIC.get(64), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Longasssuperconductornameforuhvwire, 32), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(50000), + ALLOY.CINOBITE.getFluidStack(9216), + ALLOY.OCTIRON.getFluidStack(9216), + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(9216), + }, + GregtechItemList.FusionComputer_UV2.get(1), + 6000, + 2000000); // MK4 Coils - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Fusion_Coil.get(1L), - 160000, 512, 2000000, 1, new Object[]{ - ItemList.Energy_LapotronicOrb2.get(16L), - new Object[]{OrePrefixes.circuit.get(Materials.Master), 16L}, - new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 8L}, - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), - ItemList.Emitter_UHV.get(1), - ItemList.Sensor_UHV.get(1), - ItemList.Casing_Fusion_Coil.get(1L), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(8000L), - ALLOY.CINOBITE.getFluidStack(2304), - ALLOY.OCTIRON.getFluidStack(2304), - ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(2304), - }, GregtechItemList.Casing_Fusion_Internal.get(1), 1200, 2000000); + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Casing_Fusion_Coil.get(1L), + 160000, + 512, + 2000000, + 1, + new Object[] { + ItemList.Energy_LapotronicOrb2.get(16L), + new Object[] {OrePrefixes.circuit.get(Materials.Master), 16L}, + new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 8L}, + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), + ItemList.Emitter_UHV.get(1), + ItemList.Sensor_UHV.get(1), + ItemList.Casing_Fusion_Coil.get(1L), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(8000L), + ALLOY.CINOBITE.getFluidStack(2304), + ALLOY.OCTIRON.getFluidStack(2304), + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(2304), + }, + GregtechItemList.Casing_Fusion_Internal.get(1), + 1200, + 2000000); // MK4 Casing - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Fusion2.get(1L), - 80000, 512, 2000000, 1, new Object[]{ - new Object[]{OrePrefixes.circuit.get(Materials.Data), 16L}, - new Object[]{OrePrefixes.circuit.get(Materials.Elite), 8L}, - GT_OreDictUnificator.get(OrePrefixes.block, Materials.TungstenCarbide, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), - ItemList.Electric_Motor_UHV.get(2), - ItemList.Electric_Piston_UHV.get(1), - ItemList.Casing_Fusion2.get(1L), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000L), - ALLOY.CINOBITE.getFluidStack(576), - ALLOY.OCTIRON.getFluidStack(576), - ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(576), - }, GregtechItemList.Casing_Fusion_External.get(1), 300, 2000000); + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Casing_Fusion2.get(1L), + 80000, + 512, + 2000000, + 1, + new Object[] { + new Object[] {OrePrefixes.circuit.get(Materials.Data), 16L}, + new Object[] {OrePrefixes.circuit.get(Materials.Elite), 8L}, + GT_OreDictUnificator.get(OrePrefixes.block, Materials.TungstenCarbide, 8), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), + ItemList.Electric_Motor_UHV.get(2), + ItemList.Electric_Piston_UHV.get(1), + ItemList.Casing_Fusion2.get(1L), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000L), + ALLOY.CINOBITE.getFluidStack(576), + ALLOY.OCTIRON.getFluidStack(576), + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(576), + }, + GregtechItemList.Casing_Fusion_External.get(1), + 300, + 2000000); // Draconic Evolution Fusion Crafter Controller - if (Loader.isModLoaded("AWWayofTime")&&Loader.isModLoaded("EMT")){ - TT_recipeAdder.addResearchableAssemblylineRecipe(GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 8), - 16_777_216, 1024, 2_000_000, 8, new Object[]{ - GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 10783), - GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 8), - GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsBotania.GaiaSpirit, 1L), - ItemList.Casing_Coil_AwakenedDraconium.get(8L), - ItemList.Electric_Motor_UHV.get(8L), - ItemList.Robot_Arm_UHV.get(4L), - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4}, - ItemList.Gravistar.get(4, new Object(){}), - GT_ModHandler.getModItem("Thaumcraft", "ItemEldritchObject", 1, 3), - GT_ModHandler.getModItem("AWWayofTime", "bloodMagicBaseItems", 8, 29), - GT_ModHandler.getModItem("AWWayofTime", "bloodMagicBaseItems", 8, 28), - }, new FluidStack[]{ - new FluidStack(solderIndalloy, 2880), - Materials.Void.getMolten(2880L), - Materials.DraconiumAwakened.getMolten(1440), - }, GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 5001), 1500, 8_000_000); - } - - //region singleblocks - - //Tesla Transceiver LV 1A - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Battery_Buffer_1by1_LV.get(1), - CustomItemList.teslaCover.getWithDamage(1, 0)}, + if (Loader.isModLoaded("AWWayofTime") && Loader.isModLoaded("EMT")) { + TT_recipeAdder.addResearchableAssemblylineRecipe( + GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 8), + 16_777_216, + 1024, + 2_000_000, + 8, + new Object[] { + GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 10783), + GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 8), + GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsBotania.GaiaSpirit, 1L), + ItemList.Casing_Coil_AwakenedDraconium.get(8L), + ItemList.Electric_Motor_UHV.get(8L), + ItemList.Robot_Arm_UHV.get(4L), + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 4}, + ItemList.Gravistar.get(4, new Object() {}), + GT_ModHandler.getModItem("Thaumcraft", "ItemEldritchObject", 1, 3), + GT_ModHandler.getModItem("AWWayofTime", "bloodMagicBaseItems", 8, 29), + GT_ModHandler.getModItem("AWWayofTime", "bloodMagicBaseItems", 8, 28), + }, + new FluidStack[] { + new FluidStack(solderIndalloy, 2880), + Materials.Void.getMolten(2880L), + Materials.DraconiumAwakened.getMolten(1440), + }, + GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 5001), + 1500, + 8_000_000); + } + + // 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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); + CustomItemList.Machine_TeslaCoil_4by4_IV.get(1), + 400, + 7680); - //endregion + // endregion - //region components + // 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); + // 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 + // endregion - //region items + // region items // Parametrizer Memory Card - GT_Values.RA.addCircuitAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 2), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, 4), - }, Materials.Plastic.getMolten(72), CustomItemList.parametrizerMemory.get(1), 200, 480, true); - - //LV Tesla Capacitor - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tin, 4), + GT_Values.RA.addCircuitAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, 4), + }, + Materials.Plastic.getMolten(72), + CustomItemList.parametrizerMemory.get(1), + 200, + 480, + true); + + // 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); + // LuV Tesla Capacitor + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.HSSG, 4), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 14), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 28), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 28), + }, + Materials.Epoxid.getMolten(432), + CustomItemList.teslaCapacitor.getWithDamage(1, 5), + 320, + 30720); + // ZPM Tesla Capacitor + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 4), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 16), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 32), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 32), + }, + Materials.Epoxid.getMolten(504), + CustomItemList.teslaCapacitor.getWithDamage(1, 6), + 320, + 122880); + // 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); + + // Ender Fluid Link Cover + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Enderium, 4), + ItemList.Sensor_LuV.get(1), + ItemList.Emitter_LuV.get(1), + ItemList.Electric_Pump_LuV.get(1), + }, + Materials.Chrome.getMolten(288), + CustomItemList.enderLinkFluidCover.getWithDamage(1, 0), + 320, + 30720); + + // Power Pass Upgrade Cover + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] {CustomItemList.Machine_Multi_Transformer.get(1), GT_Utility.getIntegratedCircuit(1)}, + null, + CustomItemList.powerPassUpgradeCover.getWithDamage(1, 0), + 320, + 30720); + // endregion + + // region recycling + + // LV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 0), 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), + 300, + 2); + // MV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 1), 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), + 300, + 2); + // HV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 2), 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), + 300, + 2); + // EV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 3), 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), + 300, + 2); + // IV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 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); - //LuV Tesla Capacitor - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.HSSG, 4), + 300, + 2); + // LuV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 5), GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 14), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 28), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 28), - }, Materials.Epoxid.getMolten(432), CustomItemList.teslaCapacitor.getWithDamage(1, 5), 320, 30720); - //ZPM Tesla Capacitor - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 4), + 300, + 2); + // ZPM Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 6), GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 16), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 32), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 32), - }, Materials.Epoxid.getMolten(504), CustomItemList.teslaCapacitor.getWithDamage(1, 6), 320, 122880); - //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); - - //Ender Fluid Link Cover - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Enderium, 4), - ItemList.Sensor_LuV.get(1), - ItemList.Emitter_LuV.get(1), - ItemList.Electric_Pump_LuV.get(1), - }, Materials.Chrome.getMolten(288), CustomItemList.enderLinkFluidCover.getWithDamage(1, 0), 320, 30720); - - //Power Pass Upgrade Cover - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.Machine_Multi_Transformer.get(1), - GT_Utility.getIntegratedCircuit(1) - }, null, CustomItemList.powerPassUpgradeCover.getWithDamage(1, 0), 320, 30720); - //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); - //LuV Tesla Capacitor - GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 5), - GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 14), 300, 2); - //ZPM Tesla Capacitor - GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 6), - GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 16), 300, 2); - - //endregion + 300, + 2); + + // endregion register_machine_EM_behaviours(); } @@ -1904,7 +4154,9 @@ public class DreamCraftRecipeLoader { // ------------------------- Set up information ------------------------- // ---------------------------------------------------------------------- - Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null ? FluidRegistry.getFluid("molten.indalloy140") : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null + ? FluidRegistry.getFluid("molten.indalloy140") + : FluidRegistry.getFluid("molten.solderingalloy"); int total_computation = 24000; int comp_per_second = 32; @@ -1920,280 +4172,215 @@ public class DreamCraftRecipeLoader { // ------------------------------------------------------------- - - // ------------------------- UHV Motor ------------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Motor_UV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - 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[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + 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[] {fluid_0, fluid_1, fluid_2}, ItemList.Electric_Motor_UHV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // --------------------- UHV Electric Pump --------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Pump_UV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - 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), - new Object[]{OrePrefixes.ring.get(Materials.AnySyntheticRubber), 32L}, - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.CosmicNeutronium, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 2L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + 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), + new Object[] {OrePrefixes.ring.get(Materials.AnySyntheticRubber), 32L}, + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.CosmicNeutronium, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 2L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Electric_Pump_UHV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ----------------------- UHV Conveyor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Conveyor_Module_UV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - 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 Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 40L} - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + 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 Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 40L} }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Conveyor_Module_UHV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // -------------------- UHV Robot Arm -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Robot_Arm_UV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, 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[]{ - fluid_0, - fluid_1, - fluid_2 + 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[] {fluid_0, fluid_1, fluid_2}, ItemList.Robot_Arm_UHV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // -------------------- UHV Electric Piston -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Piston_UV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - 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) + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + 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[]{ - fluid_0, - fluid_1, - fluid_2 - }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Electric_Piston_UHV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ------------------------ UHV Emitter ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Emitter_UV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), - ItemList.Electric_Motor_UHV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.CosmicNeutronium, 8L), - ItemList.Gravistar.get(8L), - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4L}, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 7L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), + ItemList.Electric_Motor_UHV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.CosmicNeutronium, 8L), + ItemList.Gravistar.get(8L), + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 4L}, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 7L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Emitter_UHV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ------------------------ UHV Sensor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Sensor_UV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), - ItemList.Electric_Motor_UHV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 8L), - ItemList.Gravistar.get(8L), - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4L}, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 7L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), + ItemList.Electric_Motor_UHV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 8L), + ItemList.Gravistar.get(8L), + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 4L}, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 7L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Sensor_UHV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // --------------------------------------------------------------------- - - // ------------------------ UHV Field Generator ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Field_Generator_UV.get(1), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 6L), - ItemList.Gravistar.get(4L), - ItemList.Emitter_UHV.get(4L), - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 4L}, - 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, 8L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 6L), + ItemList.Gravistar.get(4L), + ItemList.Emitter_UHV.get(4L), + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 4L}, + 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, 8L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Field_Generator_UHV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); - + crafting_time_in_ticks, + crafting_eu_per_tick); } private void item_parts_UEV_assline_recipes() { @@ -2202,7 +4389,9 @@ public class DreamCraftRecipeLoader { // ------------------------- Set up information ------------------------- // ---------------------------------------------------------------------- - Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null ? FluidRegistry.getFluid("molten.mutatedlivingsolder") : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null + ? FluidRegistry.getFluid("molten.mutatedlivingsolder") + : FluidRegistry.getFluid("molten.solderingalloy"); int total_computation = 48_000; int comp_per_second = 64; @@ -2218,278 +4407,216 @@ public class DreamCraftRecipeLoader { // ------------------------------------------------------------- - - // ------------------------- UEV Motor ------------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Motor_UHV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - 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), - 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) + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + 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), + 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[]{ - fluid_0, - fluid_1, - fluid_2 - }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Electric_Motor_UEV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // --------------------- UEV Electric Pump --------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Pump_UHV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - 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), - new Object[]{OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L}, - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Infinity, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 2L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + 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), + new Object[] {OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L}, + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Infinity, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 2L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Electric_Pump_UEV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ----------------------- UEV Conveyor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Conveyor_Module_UHV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - 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 Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L}, - new Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L} - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + 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 Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L}, + new Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L} }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Conveyor_Module_UEV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // -------------------- UEV Robot Arm -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Robot_Arm_UHV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, 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[]{ - fluid_0, - fluid_1, - fluid_2 + 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[] {fluid_0, fluid_1, fluid_2}, ItemList.Robot_Arm_UEV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // -------------------- UEV Electric Piston -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Piston_UHV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - 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[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + 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[] {fluid_0, fluid_1, fluid_2}, ItemList.Electric_Piston_UEV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ------------------------ UEV Emitter ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Emitter_UHV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), - ItemList.Electric_Motor_UEV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Infinity, 16L), - ItemList.Gravistar.get(16L), - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 4L}, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 7L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), + ItemList.Electric_Motor_UEV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Infinity, 16L), + ItemList.Gravistar.get(16L), + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 4L}, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 7L) }, - + new FluidStack[] {fluid_0, fluid_1}, ItemList.Emitter_UEV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ------------------------ UEV Sensor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Sensor_UHV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), - ItemList.Electric_Motor_UEV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 8L), - ItemList.Gravistar.get(16), - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 4L}, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 7L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), + ItemList.Electric_Motor_UEV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 8L), + ItemList.Gravistar.get(16), + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 4L}, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 7L) }, - + new FluidStack[] {fluid_0, fluid_1}, ItemList.Sensor_UEV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // --------------------------------------------------------------------- - - // ------------------------ UEV Field Generator ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Field_Generator_UHV.get(1), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 6L), - ItemList.Gravistar.get(8L), - ItemList.Emitter_UEV.get(4L), - new Object[]{OrePrefixes.circuit.get(Materials.Nano), 4}, - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 8L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 6L), + ItemList.Gravistar.get(8L), + ItemList.Emitter_UEV.get(4L), + new Object[] {OrePrefixes.circuit.get(Materials.Nano), 4}, + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 8L) }, - + new FluidStack[] {fluid_0, fluid_1}, ItemList.Field_Generator_UEV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); - + crafting_time_in_ticks, + crafting_eu_per_tick); } private void item_parts_UIV_assline_recipes() { @@ -2498,7 +4625,9 @@ public class DreamCraftRecipeLoader { // ------------------------- Set up information ------------------------- // ---------------------------------------------------------------------- - Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null ? FluidRegistry.getFluid("molten.mutatedlivingsolder") : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null + ? FluidRegistry.getFluid("molten.mutatedlivingsolder") + : FluidRegistry.getFluid("molten.solderingalloy"); int total_computation = 96_000; int comp_per_second = 128; @@ -2514,278 +4643,217 @@ public class DreamCraftRecipeLoader { // ------------------------------------------------------------- - - // ------------------------- UIV Motor ------------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Motor_UEV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 16L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TranscendentMetal, 16L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TranscendentMetal, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.TranscendentMetal, 32L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 16L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TranscendentMetal, 16L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TranscendentMetal, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.TranscendentMetal, 32L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Electric_Motor_UIV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // --------------------- UIV Electric Pump --------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Pump_UEV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - ItemList.Electric_Motor_UIV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.DraconiumAwakened, 2L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 4L), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TranscendentMetal, 16L), - new Object[]{OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L}, - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.TranscendentMetal, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + ItemList.Electric_Motor_UIV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.DraconiumAwakened, 2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 4L), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TranscendentMetal, 16L), + new Object[] {OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L}, + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.TranscendentMetal, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Electric_Pump_UIV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ----------------------- UIV Conveyor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Conveyor_Module_UEV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - ItemList.Electric_Motor_UIV.get(2L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 2L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TranscendentMetal, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.TranscendentMetal, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L), - new Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L}, - new Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L} - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + ItemList.Electric_Motor_UIV.get(2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 2L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TranscendentMetal, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.TranscendentMetal, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L), + new Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L}, + new Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L} }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Conveyor_Module_UIV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // -------------------- UIV Robot Arm -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Robot_Arm_UEV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, new Object[] { - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TranscendentMetal, 8L), - GT_OreDictUnificator.get(OrePrefixes.gear, Materials.TranscendentMetal, 2L), - GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.TranscendentMetal, 6L), - ItemList.Electric_Motor_UIV.get(2L), - ItemList.Electric_Piston_UIV.get(1L), - new Object[]{OrePrefixes.circuit.get(Materials.Nano), 2L}, - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 4L}, - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 8L}, - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 6L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TranscendentMetal, 8L), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.TranscendentMetal, 2L), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.TranscendentMetal, 6L), + ItemList.Electric_Motor_UIV.get(2L), + ItemList.Electric_Piston_UIV.get(1L), + new Object[] {OrePrefixes.circuit.get(Materials.Nano), 2L}, + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 4L}, + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 8L}, + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 6L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Robot_Arm_UIV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // -------------------- UIV Electric Piston -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Piston_UEV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new ItemStack[]{ - ItemList.Electric_Motor_UIV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 6L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TranscendentMetal, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.TranscendentMetal, 64L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TranscendentMetal, 8L), - GT_OreDictUnificator.get(OrePrefixes.gear, Materials.TranscendentMetal, 2L), - GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.TranscendentMetal, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 4L) + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new ItemStack[] { + ItemList.Electric_Motor_UIV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 6L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TranscendentMetal, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.TranscendentMetal, 64L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TranscendentMetal, 8L), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.TranscendentMetal, 2L), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.TranscendentMetal, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 4L) }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 - }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Electric_Piston_UIV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ------------------------ UIV Emitter ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Emitter_UEV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 1L), - ItemList.Electric_Motor_UIV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TranscendentMetal, 16L), - ItemList.Gravistar.get(32L), - new Object[]{OrePrefixes.circuit.get(Materials.Nano), 4L}, - GT_ModHandler.getModItem("miscutils", "itemFoilArceusAlloy2B", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilLafiumCompound", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilCinobiteA243", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilPikyonium64B", 64, 0), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 7L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 1L), + ItemList.Electric_Motor_UIV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TranscendentMetal, 16L), + ItemList.Gravistar.get(32L), + new Object[] {OrePrefixes.circuit.get(Materials.Nano), 4L}, + GT_ModHandler.getModItem("miscutils", "itemFoilArceusAlloy2B", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilLafiumCompound", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilCinobiteA243", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilPikyonium64B", 64, 0), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 7L) }, - + new FluidStack[] {fluid_0, fluid_1}, ItemList.Emitter_UIV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ------------------------ UIV Sensor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Sensor_UEV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 1L), - ItemList.Electric_Motor_UIV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 8L), - ItemList.Gravistar.get(32), - new Object[]{OrePrefixes.circuit.get(Materials.Nano), 4L}, - GT_ModHandler.getModItem("miscutils", "itemFoilArceusAlloy2B", 64, 0), - GT_ModHandler.getModItem("miscutils","itemFoilLafiumCompound", 64, 0), - GT_ModHandler.getModItem("miscutils","itemFoilCinobiteA243", 64, 0), - GT_ModHandler.getModItem("miscutils","itemFoilPikyonium64B", 64, 0), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 7L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 1L), + ItemList.Electric_Motor_UIV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 8L), + ItemList.Gravistar.get(32), + new Object[] {OrePrefixes.circuit.get(Materials.Nano), 4L}, + GT_ModHandler.getModItem("miscutils", "itemFoilArceusAlloy2B", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilLafiumCompound", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilCinobiteA243", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilPikyonium64B", 64, 0), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 7L) }, - + new FluidStack[] {fluid_0, fluid_1}, ItemList.Sensor_UIV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // --------------------------------------------------------------------- - - // ------------------------ UIV Field Generator ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Field_Generator_UEV.get(1), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 6L), - ItemList.Gravistar.get(32), - ItemList.Emitter_UIV.get(4L), - new Object[]{OrePrefixes.circuit.get(Materials.Piko), 4}, - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 8L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 6L), + ItemList.Gravistar.get(32), + ItemList.Emitter_UIV.get(4L), + new Object[] {OrePrefixes.circuit.get(Materials.Piko), 4}, + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 8L) }, - + new FluidStack[] {fluid_0, fluid_1}, ItemList.Field_Generator_UIV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // --------------------------------------------------------------------- @@ -2797,7 +4865,9 @@ public class DreamCraftRecipeLoader { // ------------------------- Set up information ------------------------- // ---------------------------------------------------------------------- - Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null ? FluidRegistry.getFluid("molten.mutatedlivingsolder") : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null + ? FluidRegistry.getFluid("molten.mutatedlivingsolder") + : FluidRegistry.getFluid("molten.solderingalloy"); int total_computation = 192_000; int comp_per_second = 256; @@ -2814,286 +4884,217 @@ public class DreamCraftRecipeLoader { // ------------------------------------------------------------- - - // ------------------------- UMV Motor ------------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Motor_UIV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 32L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 16L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 32L), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2, - fluid_3 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 32L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 16L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 32L), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2, fluid_3}, ItemList.Electric_Motor_UMV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // --------------------- UMV Electric Pump --------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Pump_UIV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - ItemList.Electric_Motor_UMV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Infinity, 2L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 4L), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 16L), - new Object[]{OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L}, - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.SpaceTime, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2, - fluid_3 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + ItemList.Electric_Motor_UMV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Infinity, 2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 4L), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 16L), + new Object[] {OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L}, + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.SpaceTime, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2, fluid_3}, ItemList.Electric_Pump_UMV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ----------------------- UMV Conveyor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Conveyor_Module_UIV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - ItemList.Electric_Motor_UMV.get(2L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 2L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L), - new Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L}, - new Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L} - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2, - fluid_3 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + ItemList.Electric_Motor_UMV.get(2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 2L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L), + new Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L}, + new Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L} }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2, fluid_3}, ItemList.Conveyor_Module_UMV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // -------------------- UMV Robot Arm -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Robot_Arm_UIV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, new Object[] { - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 8L), - GT_OreDictUnificator.get(OrePrefixes.gear, Materials.SpaceTime, 2L), - GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.SpaceTime, 6L), - ItemList.Electric_Motor_UMV.get(2L), - ItemList.Electric_Piston_UMV.get(1L), - new Object[]{OrePrefixes.circuit.get(Materials.Piko), 2L}, - new Object[]{OrePrefixes.circuit.get(Materials.Nano), 4L}, - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 8L}, - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 6L) + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 8L), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.SpaceTime, 2L), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.SpaceTime, 6L), + ItemList.Electric_Motor_UMV.get(2L), + ItemList.Electric_Piston_UMV.get(1L), + new Object[] {OrePrefixes.circuit.get(Materials.Piko), 2L}, + new Object[] {OrePrefixes.circuit.get(Materials.Nano), 4L}, + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 8L}, + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 6L) }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2, - fluid_3 - }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2, fluid_3}, ItemList.Robot_Arm_UMV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // -------------------- UMV Electric Piston -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Piston_UIV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new ItemStack[]{ - ItemList.Electric_Motor_UMV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 6L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 64L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SpaceTime, 8L), - GT_OreDictUnificator.get(OrePrefixes.gear, Materials.SpaceTime, 2L), - GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.SpaceTime, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 4L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2, - fluid_3 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new ItemStack[] { + ItemList.Electric_Motor_UMV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 6L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 64L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SpaceTime, 8L), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.SpaceTime, 2L), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.SpaceTime, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 4L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2, fluid_3}, ItemList.Electric_Piston_UMV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ------------------------ UMV Emitter ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Emitter_UIV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), - ItemList.Electric_Motor_UMV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SpaceTime, 16L), - ItemList.Gravistar.get(64), - new Object[]{OrePrefixes.circuit.get(Materials.Piko), 4L}, - GT_ModHandler.getModItem("miscutils", "itemFoilCelestialTungsten", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilQuantum", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilAstralTitanium", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilTitansteel", 64, 0), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 7L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), + ItemList.Electric_Motor_UMV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SpaceTime, 16L), + ItemList.Gravistar.get(64), + new Object[] {OrePrefixes.circuit.get(Materials.Piko), 4L}, + GT_ModHandler.getModItem("miscutils", "itemFoilCelestialTungsten", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilQuantum", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilAstralTitanium", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilTitansteel", 64, 0), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 7L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Emitter_UMV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ------------------------ UMV Sensor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Sensor_UIV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), - ItemList.Electric_Motor_UMV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 8L), - ItemList.Gravistar.get(64), - new Object[]{OrePrefixes.circuit.get(Materials.Piko), 4L}, - GT_ModHandler.getModItem("miscutils", "itemFoilCelestialTungsten", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilQuantum", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilAstralTitanium", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilTitansteel", 64, 0), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 7L) - }, - - new FluidStack[] { - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), + ItemList.Electric_Motor_UMV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 8L), + ItemList.Gravistar.get(64), + new Object[] {OrePrefixes.circuit.get(Materials.Piko), 4L}, + GT_ModHandler.getModItem("miscutils", "itemFoilCelestialTungsten", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilQuantum", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilAstralTitanium", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilTitansteel", 64, 0), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 7L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Sensor_UMV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // --------------------------------------------------------------------- - - // ------------------------ UMV Field Generator ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Field_Generator_UIV.get(1), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 6L), - ItemList.Gravistar.get(8L), - ItemList.Emitter_UMV.get(4L), - new Object[]{OrePrefixes.circuit.get(Materials.Quantum), 4}, - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 8L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 6L), + ItemList.Gravistar.get(8L), + ItemList.Emitter_UMV.get(4L), + new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 4}, + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 8L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Field_Generator_UMV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // --------------------------------------------------------------------- @@ -3101,9 +5102,11 @@ public class DreamCraftRecipeLoader { private void add_wireless_energy_recipes() { - Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null ? FluidRegistry.getFluid("molten.mutatedlivingsolder") : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null + ? FluidRegistry.getFluid("molten.mutatedlivingsolder") + : FluidRegistry.getFluid("molten.solderingalloy"); - int recipe_duration_ticks = 20*20; + int recipe_duration_ticks = 20 * 20; int recipe_eu_per_tick = 128_000_000; int research_eu_per_tick = 128_000_000; @@ -3112,176 +5115,207 @@ public class DreamCraftRecipeLoader { int total_computation = 500_000; ItemStack[] energy_hatches = { - ItemList.Hatch_Energy_ULV.get(1), - ItemList.Hatch_Energy_LV.get(1), - ItemList.Hatch_Energy_MV.get(1), - ItemList.Hatch_Energy_HV.get(1), - ItemList.Hatch_Energy_EV.get(1), - ItemList.Hatch_Energy_IV.get(1), - ItemList.Hatch_Energy_LuV.get(1), - ItemList.Hatch_Energy_ZPM.get(1), - ItemList.Hatch_Energy_UV.get(1), - ItemList.Hatch_Energy_MAX.get(1), - getItemContainer("Hatch_Energy_UEV").get(1L), - getItemContainer("Hatch_Energy_UIV").get(1L), - getItemContainer("Hatch_Energy_UMV").get(1L) + ItemList.Hatch_Energy_ULV.get(1), + ItemList.Hatch_Energy_LV.get(1), + ItemList.Hatch_Energy_MV.get(1), + ItemList.Hatch_Energy_HV.get(1), + ItemList.Hatch_Energy_EV.get(1), + ItemList.Hatch_Energy_IV.get(1), + ItemList.Hatch_Energy_LuV.get(1), + ItemList.Hatch_Energy_ZPM.get(1), + ItemList.Hatch_Energy_UV.get(1), + ItemList.Hatch_Energy_MAX.get(1), + getItemContainer("Hatch_Energy_UEV").get(1L), + getItemContainer("Hatch_Energy_UIV").get(1L), + getItemContainer("Hatch_Energy_UMV").get(1L) }; ItemStack[] dynamo_hatches = { - ItemList.Hatch_Dynamo_ULV.get(1), - ItemList.Hatch_Dynamo_LV.get(1), - ItemList.Hatch_Dynamo_MV.get(1), - ItemList.Hatch_Dynamo_HV.get(1), - ItemList.Hatch_Dynamo_EV.get(1), - ItemList.Hatch_Dynamo_IV.get(1), - ItemList.Hatch_Dynamo_LuV.get(1), - ItemList.Hatch_Dynamo_ZPM.get(1), - ItemList.Hatch_Dynamo_UV.get(1), - ItemList.Hatch_Dynamo_MAX.get(1), - getItemContainer("Hatch_Dynamo_UEV").get(1L), - getItemContainer("Hatch_Dynamo_UIV").get(1L), - getItemContainer("Hatch_Dynamo_UMV").get(1L) + ItemList.Hatch_Dynamo_ULV.get(1), + ItemList.Hatch_Dynamo_LV.get(1), + ItemList.Hatch_Dynamo_MV.get(1), + ItemList.Hatch_Dynamo_HV.get(1), + ItemList.Hatch_Dynamo_EV.get(1), + ItemList.Hatch_Dynamo_IV.get(1), + ItemList.Hatch_Dynamo_LuV.get(1), + ItemList.Hatch_Dynamo_ZPM.get(1), + ItemList.Hatch_Dynamo_UV.get(1), + ItemList.Hatch_Dynamo_MAX.get(1), + getItemContainer("Hatch_Dynamo_UEV").get(1L), + getItemContainer("Hatch_Dynamo_UIV").get(1L), + getItemContainer("Hatch_Dynamo_UMV").get(1L) }; Object[] circuits_tier_plus_two = { - new Object[]{OrePrefixes.circuit.get(Materials.Good), 1L}, // MV - new Object[]{OrePrefixes.circuit.get(Materials.Advanced), 1L}, // HV - new Object[]{OrePrefixes.circuit.get(Materials.Data), 1L}, // EV - new Object[]{OrePrefixes.circuit.get(Materials.Elite), 1L}, // IV - new Object[]{OrePrefixes.circuit.get(Materials.Master), 1L}, // LuV - new Object[]{OrePrefixes.circuit.get(Materials.Ultimate), 1L}, // ZPM - new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 1L}, // UV - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L}, // UHV - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, // UEV - new Object[]{OrePrefixes.circuit.get(Materials.Nano), 1L}, // UIV - new Object[]{OrePrefixes.circuit.get(Materials.Piko), 1L}, // UMV - new Object[]{OrePrefixes.circuit.get(Materials.Quantum), 1L}, // UXV - new Object[]{OrePrefixes.circuit.get(Materials.Transcendent), 1L}, // MAX + new Object[] {OrePrefixes.circuit.get(Materials.Good), 1L}, // MV + new Object[] {OrePrefixes.circuit.get(Materials.Advanced), 1L}, // HV + new Object[] {OrePrefixes.circuit.get(Materials.Data), 1L}, // EV + new Object[] {OrePrefixes.circuit.get(Materials.Elite), 1L}, // IV + new Object[] {OrePrefixes.circuit.get(Materials.Master), 1L}, // LuV + new Object[] {OrePrefixes.circuit.get(Materials.Ultimate), 1L}, // ZPM + new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 1L}, // UV + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 1L}, // UHV + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, // UEV + new Object[] {OrePrefixes.circuit.get(Materials.Nano), 1L}, // UIV + new Object[] {OrePrefixes.circuit.get(Materials.Piko), 1L}, // UMV + new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 1L}, // UXV + new Object[] {OrePrefixes.circuit.get(Materials.Transcendent), 1L}, // MAX }; ItemStack[] wireless_hatches = { - ItemList.Wireless_Hatch_Energy_ULV.get(1), - ItemList.Wireless_Hatch_Energy_LV.get(1), - ItemList.Wireless_Hatch_Energy_MV.get(1), - ItemList.Wireless_Hatch_Energy_HV.get(1), - ItemList.Wireless_Hatch_Energy_EV.get(1), - ItemList.Wireless_Hatch_Energy_IV.get(1), - ItemList.Wireless_Hatch_Energy_LuV.get(1), - ItemList.Wireless_Hatch_Energy_ZPM.get(1), - ItemList.Wireless_Hatch_Energy_UV.get(1), - ItemList.Wireless_Hatch_Energy_UHV.get(1), - ItemList.Wireless_Hatch_Energy_UEV.get(1), - ItemList.Wireless_Hatch_Energy_UIV.get(1), - ItemList.Wireless_Hatch_Energy_UMV.get(1), + ItemList.Wireless_Hatch_Energy_ULV.get(1), + ItemList.Wireless_Hatch_Energy_LV.get(1), + ItemList.Wireless_Hatch_Energy_MV.get(1), + ItemList.Wireless_Hatch_Energy_HV.get(1), + ItemList.Wireless_Hatch_Energy_EV.get(1), + ItemList.Wireless_Hatch_Energy_IV.get(1), + ItemList.Wireless_Hatch_Energy_LuV.get(1), + ItemList.Wireless_Hatch_Energy_ZPM.get(1), + ItemList.Wireless_Hatch_Energy_UV.get(1), + ItemList.Wireless_Hatch_Energy_UHV.get(1), + ItemList.Wireless_Hatch_Energy_UEV.get(1), + ItemList.Wireless_Hatch_Energy_UIV.get(1), + ItemList.Wireless_Hatch_Energy_UMV.get(1), }; ItemStack[] wireless_dynamos = { - ItemList.Wireless_Dynamo_Energy_ULV.get(1), - ItemList.Wireless_Dynamo_Energy_LV.get(1), - ItemList.Wireless_Dynamo_Energy_MV.get(1), - ItemList.Wireless_Dynamo_Energy_HV.get(1), - ItemList.Wireless_Dynamo_Energy_EV.get(1), - ItemList.Wireless_Dynamo_Energy_IV.get(1), - ItemList.Wireless_Dynamo_Energy_LuV.get(1), - ItemList.Wireless_Dynamo_Energy_ZPM.get(1), - ItemList.Wireless_Dynamo_Energy_UV.get(1), - ItemList.Wireless_Dynamo_Energy_UHV.get(1), - ItemList.Wireless_Dynamo_Energy_UEV.get(1), - ItemList.Wireless_Dynamo_Energy_UIV.get(1), - ItemList.Wireless_Dynamo_Energy_UMV.get(1), + ItemList.Wireless_Dynamo_Energy_ULV.get(1), + ItemList.Wireless_Dynamo_Energy_LV.get(1), + ItemList.Wireless_Dynamo_Energy_MV.get(1), + ItemList.Wireless_Dynamo_Energy_HV.get(1), + ItemList.Wireless_Dynamo_Energy_EV.get(1), + ItemList.Wireless_Dynamo_Energy_IV.get(1), + ItemList.Wireless_Dynamo_Energy_LuV.get(1), + ItemList.Wireless_Dynamo_Energy_ZPM.get(1), + ItemList.Wireless_Dynamo_Energy_UV.get(1), + ItemList.Wireless_Dynamo_Energy_UHV.get(1), + ItemList.Wireless_Dynamo_Energy_UEV.get(1), + ItemList.Wireless_Dynamo_Energy_UIV.get(1), + ItemList.Wireless_Dynamo_Energy_UMV.get(1), }; // ------------------------ Wireless EU hatches ------------------------ - for(int i = 0; i < wireless_hatches.length; i++) { + for (int i = 0; i < wireless_hatches.length; i++) { TT_recipeAdder.addResearchableAssemblylineRecipe( - - (i==0) ? ItemList.Tesseract.get(1) : wireless_hatches[i-1], - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - energy_hatches[i], - GT_ModHandler.getModItem("GoodGenerator", "compactFusionCoil", 1), - ItemList.Casing_Coil_Superconductor.get(1), - CustomItemList.Machine_Multi_Transformer.get(1), - CustomItemList.eM_Power.get(2), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SpaceTime, 2), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 1), - circuits_tier_plus_two[i], - ItemList.EnergisedTesseract.get(1) - }, - - new FluidStack[]{ - new FluidStack(solderUEV, 1296), - Materials.ExcitedDTEC.getFluid(500L) + (i == 0) ? ItemList.Tesseract.get(1) : wireless_hatches[i - 1], + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + energy_hatches[i], + GT_ModHandler.getModItem("GoodGenerator", "compactFusionCoil", 1), + ItemList.Casing_Coil_Superconductor.get(1), + CustomItemList.Machine_Multi_Transformer.get(1), + CustomItemList.eM_Power.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SpaceTime, 2), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 1), + circuits_tier_plus_two[i], + ItemList.EnergisedTesseract.get(1) }, - + new FluidStack[] {new FluidStack(solderUEV, 1296), Materials.ExcitedDTEC.getFluid(500L)}, wireless_hatches[i], - - recipe_duration_ticks, recipe_eu_per_tick); + recipe_duration_ticks, + recipe_eu_per_tick); } // ------------------------ Wireless EU dynamos ------------------------ - for(int i = 0; i < wireless_hatches.length; i++) { + for (int i = 0; i < wireless_hatches.length; i++) { TT_recipeAdder.addResearchableAssemblylineRecipe( - - (i==0) ? ItemList.EnergisedTesseract.get(1) : wireless_dynamos[i-1], - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - dynamo_hatches[i], - GT_ModHandler.getModItem("GoodGenerator", "compactFusionCoil", 1), - ItemList.Casing_Coil_Superconductor.get(1), - CustomItemList.Machine_Multi_Transformer.get(1), - CustomItemList.eM_Power.get(2), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SpaceTime, 2), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 1), - circuits_tier_plus_two[i], - ItemList.EnergisedTesseract.get(1) - }, - - new FluidStack[]{ - new FluidStack(solderUEV, 1296), - Materials.ExcitedDTEC.getFluid(500L) + (i == 0) ? ItemList.EnergisedTesseract.get(1) : wireless_dynamos[i - 1], + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + dynamo_hatches[i], + GT_ModHandler.getModItem("GoodGenerator", "compactFusionCoil", 1), + ItemList.Casing_Coil_Superconductor.get(1), + CustomItemList.Machine_Multi_Transformer.get(1), + CustomItemList.eM_Power.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SpaceTime, 2), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 1), + circuits_tier_plus_two[i], + ItemList.EnergisedTesseract.get(1) }, - + new FluidStack[] {new FluidStack(solderUEV, 1296), Materials.ExcitedDTEC.getFluid(500L)}, wireless_dynamos[i], - - recipe_duration_ticks, recipe_eu_per_tick); + recipe_duration_ticks, + recipe_eu_per_tick); } } 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)); + 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 90274c69e6..b08480fe8a 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 @@ -1,5 +1,8 @@ package com.github.technus.tectech.compatibility.dreamcraft; +import static gregtech.api.GregTech_API.METATILEENTITIES; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.CustomItemList; @@ -12,36 +15,32 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicHull; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock; -import net.minecraft.util.EnumChatFormatting; - import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; - -import static gregtech.api.GregTech_API.METATILEENTITIES; -import static net.minecraft.util.StatCollector.translateToLocal; +import net.minecraft.util.EnumChatFormatting; public class NoDreamCraftMachineLoader implements Runnable { - public final static String imagination = EnumChatFormatting.RESET + - "You just need " + EnumChatFormatting.DARK_PURPLE + - "I" + EnumChatFormatting.LIGHT_PURPLE + - "m" + EnumChatFormatting.DARK_RED + - "a" + EnumChatFormatting.RED + - "g" + EnumChatFormatting.YELLOW + - "i" + EnumChatFormatting.GREEN + - "n" + EnumChatFormatting.AQUA + - "a" + EnumChatFormatting.DARK_AQUA + - "t" + EnumChatFormatting.BLUE + - "i" + EnumChatFormatting.DARK_BLUE + - "o" + EnumChatFormatting.DARK_PURPLE + - "n" + EnumChatFormatting.RESET + - " to use this."; + public static final String imagination = EnumChatFormatting.RESET + "You just need " + + EnumChatFormatting.DARK_PURPLE + "I" + + EnumChatFormatting.LIGHT_PURPLE + "m" + + EnumChatFormatting.DARK_RED + "a" + + EnumChatFormatting.RED + "g" + + EnumChatFormatting.YELLOW + "i" + + EnumChatFormatting.GREEN + "n" + + EnumChatFormatting.AQUA + "a" + + EnumChatFormatting.DARK_AQUA + "t" + + EnumChatFormatting.BLUE + "i" + + EnumChatFormatting.DARK_BLUE + "o" + + EnumChatFormatting.DARK_PURPLE + "n" + + EnumChatFormatting.RESET + " to use this."; @Override public void run() { try { CustomItemList.WetTransformer_LV_ULV.set(new GT_MetaTileEntity_WetTransformer( - 12000, "wettransformer.tier.00", "Ultra Low Voltage Power Transformer", 0).getStackForm(1L));//LV -> ULV (Use Soft Mallet to invert) + 12000, "wettransformer.tier.00", "Ultra Low Voltage Power Transformer", 0) + .getStackForm(1L)); // LV -> ULV (Use Soft Mallet to invert) } catch (IllegalArgumentException e) { System.out.println(METATILEENTITIES[12000].getClass().getCanonicalName()); TecTech.LOGGER.error(e); @@ -49,47 +48,61 @@ public class NoDreamCraftMachineLoader implements Runnable { 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).getStackForm(1L));//MV -> LV (Use Soft Mallet to invert) + CustomItemList.WetTransformer_MV_LV.set( + new GT_MetaTileEntity_WetTransformer(12001, "wetransformer.tier.01", "Low Voltage Power Transformer", 1) + .getStackForm(1L)); // MV -> LV (Use Soft Mallet to invert) CustomItemList.WetTransformer_HV_MV.set(new GT_MetaTileEntity_WetTransformer( - 12002, "wettransformer.tier.02", "Medium Voltage Power Transformer", 2).getStackForm(1L));//HV -> MV (Use Soft Mallet to invert) + 12002, "wettransformer.tier.02", "Medium Voltage Power Transformer", 2) + .getStackForm(1L)); // HV -> MV (Use Soft Mallet to invert) CustomItemList.WetTransformer_EV_HV.set(new GT_MetaTileEntity_WetTransformer( - 12003, "wettransformer.tier.03", "High Voltage Power Transformer", 3).getStackForm(1L));//EV -> HV (Use Soft Mallet to invert) + 12003, "wettransformer.tier.03", "High Voltage Power Transformer", 3) + .getStackForm(1L)); // EV -> HV (Use Soft Mallet to invert) - CustomItemList.WetTransformer_IV_EV.set(new GT_MetaTileEntity_WetTransformer( - 12004, "wettransformer.tier.04", "Extreme Power Transformer", 4).getStackForm(1L));//IV -> EV (Use Soft Mallet to invert) + CustomItemList.WetTransformer_IV_EV.set( + new GT_MetaTileEntity_WetTransformer(12004, "wettransformer.tier.04", "Extreme Power Transformer", 4) + .getStackForm(1L)); // IV -> EV (Use Soft Mallet to invert) - CustomItemList.WetTransformer_LuV_IV.set(new GT_MetaTileEntity_WetTransformer( - 12005, "wettransformer.tier.05", "Insane Power Transformer", 5).getStackForm(1L));//LuV -> IV (Use Soft Mallet to invert) + CustomItemList.WetTransformer_LuV_IV.set( + new GT_MetaTileEntity_WetTransformer(12005, "wettransformer.tier.05", "Insane Power Transformer", 5) + .getStackForm(1L)); // LuV -> IV (Use Soft Mallet to invert) - CustomItemList.WetTransformer_ZPM_LuV.set(new GT_MetaTileEntity_WetTransformer( - 12006, "wettransformer.tier.06", "Ludicrous Power Transformer", 6).getStackForm(1L));//ZPM -> LuV (Use Soft Mallet to invert) + CustomItemList.WetTransformer_ZPM_LuV.set( + new GT_MetaTileEntity_WetTransformer(12006, "wettransformer.tier.06", "Ludicrous Power Transformer", 6) + .getStackForm(1L)); // ZPM -> LuV (Use Soft Mallet to invert) CustomItemList.WetTransformer_UV_ZPM.set(new GT_MetaTileEntity_WetTransformer( - 12007, "wettransformer.tier.07", "ZPM Voltage Power Transformer", 7).getStackForm(1L));//UV -> ZPM (Use Soft Mallet to invert) + 12007, "wettransformer.tier.07", "ZPM Voltage Power Transformer", 7) + .getStackForm(1L)); // UV -> ZPM (Use Soft Mallet to invert) - CustomItemList.WetTransformer_UHV_UV.set(new GT_MetaTileEntity_WetTransformer( - 12008, "wettransformer.tier.08", "Ultimate Power Transformer", 8).getStackForm(1L));//UHV -> UV (Use Soft Mallet to invert) + CustomItemList.WetTransformer_UHV_UV.set( + new GT_MetaTileEntity_WetTransformer(12008, "wettransformer.tier.08", "Ultimate Power Transformer", 8) + .getStackForm(1L)); // UHV -> UV (Use Soft Mallet to invert) CustomItemList.WetTransformer_UEV_UHV.set(new GT_MetaTileEntity_WetTransformer( - 12009, "wettransformer.tier.09", "Highly Ultimate Power Transformer", 9).getStackForm(1L));//UEV -> UHV (Use Soft Mallet to invert) + 12009, "wettransformer.tier.09", "Highly Ultimate Power Transformer", 9) + .getStackForm(1L)); // UEV -> UHV (Use Soft Mallet to invert) CustomItemList.WetTransformer_UIV_UEV.set(new GT_MetaTileEntity_WetTransformer( - 12010, "wettransformer.tier.10", "Extremely Ultimate Power Transformer", 10).getStackForm(1L));//UIV -> UEV (Use Soft Mallet to invert) + 12010, "wettransformer.tier.10", "Extremely Ultimate Power Transformer", 10) + .getStackForm(1L)); // UIV -> UEV (Use Soft Mallet to invert) CustomItemList.WetTransformer_UMV_UIV.set(new GT_MetaTileEntity_WetTransformer( - 12011, "wettransformer.tier.11", "Insanely Ultimate Power Transformer", 11).getStackForm(1L));//UMV -> UIV (Use Soft Mallet to invert) + 12011, "wettransformer.tier.11", "Insanely Ultimate Power Transformer", 11) + .getStackForm(1L)); // UMV -> UIV (Use Soft Mallet to invert) CustomItemList.WetTransformer_UXV_UMV.set(new GT_MetaTileEntity_WetTransformer( - 12012, "wettransformer.tier.12", "Mega Ultimate Power Transformer", 12).getStackForm(1L));//UXV -> UMV (Use Soft Mallet to invert) + 12012, "wettransformer.tier.12", "Mega Ultimate Power Transformer", 12) + .getStackForm(1L)); // UXV -> UMV (Use Soft Mallet to invert) CustomItemList.WetTransformer_OPV_UXV.set(new GT_MetaTileEntity_WetTransformer( - 12013, "wettransformer.tier.13", "Extended Mega Ultimate Power Transformer", 13).getStackForm(1L));//OPV -> UXV (Use Soft Mallet to invert) + 12013, "wettransformer.tier.13", "Extended Mega Ultimate Power Transformer", 13) + .getStackForm(1L)); // OPV -> UXV (Use Soft Mallet to invert) CustomItemList.WetTransformer_MAXV_OPV.set(new GT_MetaTileEntity_WetTransformer( - 12014, "wettransformer.tier.14", "Overpowered Power Transformer", 14).getStackForm(1L));//MAX -> OPV (Use Soft Mallet to invert) + 12014, "wettransformer.tier.14", "Overpowered Power Transformer", 14) + .getStackForm(1L)); // MAX -> OPV (Use Soft Mallet to invert) try { MetaTileEntity temp; @@ -102,54 +115,42 @@ public class NoDreamCraftMachineLoader implements Runnable { field.setAccessible(true); } - temp = new GT_MetaTileEntity_BasicHull( - 11230, "hull.tier.10", "UEV Machine Hull", 10, - imagination); + temp = new GT_MetaTileEntity_BasicHull(11230, "hull.tier.10", "UEV Machine Hull", 10, imagination); TT_Utility.setTier(10, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } CustomItemList.Hull_UEV.set(temp.getStackForm(1L)); - temp = new GT_MetaTileEntity_BasicHull( - 11231, "hull.tier.11", "UIV Machine Hull", 11, - imagination); + temp = new GT_MetaTileEntity_BasicHull(11231, "hull.tier.11", "UIV Machine Hull", 11, imagination); TT_Utility.setTier(11, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } CustomItemList.Hull_UIV.set(temp.getStackForm(1L)); - temp = new GT_MetaTileEntity_BasicHull( - 11232, "hull.tier.12", "UMV Machine Hull", 12, - imagination); + temp = new GT_MetaTileEntity_BasicHull(11232, "hull.tier.12", "UMV Machine Hull", 12, imagination); TT_Utility.setTier(12, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } CustomItemList.Hull_UMV.set(temp.getStackForm(1L)); - temp = new GT_MetaTileEntity_BasicHull( - 11233, "hull.tier.13", "UXV Machine Hull", 13, - imagination); + temp = new GT_MetaTileEntity_BasicHull(11233, "hull.tier.13", "UXV Machine Hull", 13, imagination); TT_Utility.setTier(13, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } CustomItemList.Hull_UXV.set(temp.getStackForm(1L)); - temp = new GT_MetaTileEntity_BasicHull( - 11234, "hull.tier.14", "OPV Machine Hull", 14, - imagination); + temp = new GT_MetaTileEntity_BasicHull(11234, "hull.tier.14", "OPV Machine Hull", 14, imagination); TT_Utility.setTier(14, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } CustomItemList.Hull_OPV.set(temp.getStackForm(1L)); - temp = new GT_MetaTileEntity_BasicHull( - 11235, "hull.tier.15", "MAX Machine Hull", 15, - imagination); + temp = new GT_MetaTileEntity_BasicHull(11235, "hull.tier.15", "MAX Machine Hull", 15, imagination); TT_Utility.setTier(15, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -157,11 +158,17 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Hull_MAXV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_TT_Transformer( - 11220, "tt.transformer.tier.09", "Highly Ultimate Transformer", 9);//UEV -> UHV (Use Soft Mallet to invert) + 11220, + "tt.transformer.tier.09", + "Highly Ultimate Transformer", + 9); // UEV -> UHV (Use Soft Mallet to invert) CustomItemList.Transformer_UEV_UHV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_TT_Transformer( - 11221, "tt.transformer.tier.10", "Extremely Ultimate Transformer", 10);//UIV -> UEV (Use Soft Mallet to invert) + 11221, + "tt.transformer.tier.10", + "Extremely Ultimate Transformer", + 10); // UIV -> UEV (Use Soft Mallet to invert) TT_Utility.setTier(10, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -169,7 +176,10 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_UIV_UEV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_TT_Transformer( - 11222, "tt.transformer.tier.11", "Insanely Ultimate Transformer", 11);//UMV -> UIV (Use Soft Mallet to invert) + 11222, + "tt.transformer.tier.11", + "Insanely Ultimate Transformer", + 11); // UMV -> UIV (Use Soft Mallet to invert) TT_Utility.setTier(11, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -177,7 +187,10 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_UMV_UIV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_TT_Transformer( - 11223, "tt.transformer.tier.12", "Mega Ultimate Transformer", 12);//UXV -> UMV (Use Soft Mallet to invert) + 11223, + "tt.transformer.tier.12", + "Mega Ultimate Transformer", + 12); // UXV -> UMV (Use Soft Mallet to invert) TT_Utility.setTier(12, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -185,7 +198,10 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_UXV_UMV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_TT_Transformer( - 11224, "tt.transformer.tier.13", "Extended Mega Ultimate Transformer", 13);//OPV -> UXV (Use Soft Mallet to invert) + 11224, + "tt.transformer.tier.13", + "Extended Mega Ultimate Transformer", + 13); // OPV -> UXV (Use Soft Mallet to invert) TT_Utility.setTier(13, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -193,27 +209,37 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_OPV_UXV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_TT_Transformer( - 11225, "tt.transformer.tier.14", "Overpowered Transformer", 14);//MAX -> OPV (Use Soft Mallet to invert) + 11225, + "tt.transformer.tier.14", + "Overpowered Transformer", + 14); // MAX -> OPV (Use Soft Mallet to invert) TT_Utility.setTier(14, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } CustomItemList.Transformer_MAXV_OPV.set(temp.getStackForm(1L)); - if (Loader.isModLoaded(Reference.GTPLUSPLUS)) { - Class clazz = Class.forName("gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMetaTransformerHiAmp"); - Constructor constructor = clazz.getConstructor(int.class, String.class, String.class, int.class, String.class); + Class clazz = Class.forName( + "gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMetaTransformerHiAmp"); + Constructor constructor = + clazz.getConstructor(int.class, String.class, String.class, int.class, String.class); temp = constructor.newInstance( - 11989, "transformer.ha.tier.09", "Highly Ultimate Hi-Amp Transformer", 9, - //UEV -> UHV (Use Soft Mallet to invert + 11989, + "transformer.ha.tier.09", + "Highly Ultimate Hi-Amp Transformer", + 9, + // UEV -> UHV (Use Soft Mallet to invert 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) + 11910, + "transformer.ha.tier.10", + "Extremely Ultimate Hi-Amp Transformer", + 10, + // UIV -> UEV (Use Soft Mallet to invert) translateToLocal("gt.blockmachines.transformer.ha.tier.10.desc")); TT_Utility.setTier(10, temp); if (GT_Values.GT.isClientSide()) { @@ -222,8 +248,11 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_HA_UIV_UEV.set(temp.getStackForm(1)); temp = constructor.newInstance( - 11911, "transformer.ha.tier.11", "Insanely Ultimate Hi-Amp Transformer", 11, - //UMV -> UIV (Use Soft Mallet to invert) + 11911, + "transformer.ha.tier.11", + "Insanely Ultimate Hi-Amp Transformer", + 11, + // UMV -> UIV (Use Soft Mallet to invert) translateToLocal("gt.blockmachines.transformer.ha.tier.11.desc")); TT_Utility.setTier(11, temp); if (GT_Values.GT.isClientSide()) { @@ -232,8 +261,11 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_HA_UMV_UIV.set(temp.getStackForm(1)); temp = constructor.newInstance( - 11912, "transformer.ha.tier.12", "Mega Ultimate Hi-Amp Transformer", 12, - //UXV -> UMV (Use Soft Mallet to invert) + 11912, + "transformer.ha.tier.12", + "Mega Ultimate Hi-Amp Transformer", + 12, + // UXV -> UMV (Use Soft Mallet to invert) translateToLocal("gt.blockmachines.transformer.ha.tier.12.desc")); TT_Utility.setTier(12, temp); if (GT_Values.GT.isClientSide()) { @@ -242,8 +274,11 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_HA_UXV_UMV.set(temp.getStackForm(1)); temp = constructor.newInstance( - 11913, "transformer.ha.tier.13", "Extended Mega Ultimate Hi-Amp Transformer", 13, - //OPV -> UXV (Use Soft Mallet to invert) + 11913, + "transformer.ha.tier.13", + "Extended Mega Ultimate Hi-Amp Transformer", + 13, + // OPV -> UXV (Use Soft Mallet to invert) translateToLocal("gt.blockmachines.transformer.ha.tier.13.desc")); TT_Utility.setTier(13, temp); if (GT_Values.GT.isClientSide()) { @@ -252,8 +287,11 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_HA_OPV_UXV.set(temp.getStackForm(1)); temp = constructor.newInstance( - 11914, "transformer.ha.tier.14", "Overpowered Hi-Amp Transformer", 14, - //MAX -> OPV (Use Soft Mallet to invert) + 11914, + "transformer.ha.tier.14", + "Overpowered Hi-Amp Transformer", + 14, + // MAX -> OPV (Use Soft Mallet to invert) translateToLocal("gt.blockmachines.transformer.ha.tier.14.desc")); TT_Utility.setTier(14, temp); if (GT_Values.GT.isClientSide()) { @@ -265,4 +303,4 @@ public class NoDreamCraftMachineLoader implements Runnable { e.printStackTrace(); } } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java b/src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java index 65219271f9..62c399aa26 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java +++ b/src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java @@ -1,96 +1,194 @@ package com.github.technus.tectech.compatibility.gtpp; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.getBestUnstableIsotope; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.getFirstStableIsotope; + import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; import com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry; import gregtech.api.enums.OrePrefixes; -import net.minecraftforge.fluids.FluidStack; - import java.lang.reflect.Method; - -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.getBestUnstableIsotope; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.getFirstStableIsotope; +import net.minecraftforge.fluids.FluidStack; public class GtppAtomLoader { - //region reflect a bit + // region reflect a bit private Class ELEMENT; private Object ELEMENT_INSTANCE; - private Method getUnlocalizedName,getFluid,generate; + private Method getUnlocalizedName, getFluid, generate; - private String getUnlocalizedName(String elementName){ + private String getUnlocalizedName(String elementName) { try { - return (String) getUnlocalizedName.invoke(ELEMENT.getField(elementName).get(ELEMENT_INSTANCE)); - }catch (Exception e){ + return (String) + getUnlocalizedName.invoke(ELEMENT.getField(elementName).get(ELEMENT_INSTANCE)); + } catch (Exception e) { throw new Error(e); } } - private FluidStack getFluid(String elementName, int fluidAmount){ + private FluidStack getFluid(String elementName, int fluidAmount) { try { - return (FluidStack) getFluid.invoke(ELEMENT.getField(elementName).get(ELEMENT_INSTANCE),fluidAmount); - }catch (Exception e){ + return (FluidStack) getFluid.invoke(ELEMENT.getField(elementName).get(ELEMENT_INSTANCE), fluidAmount); + } catch (Exception e) { throw new Error(e); } } - private void generate(String elementName,boolean generateAll, boolean generateBlastRecipes){ + private void generate(String elementName, boolean generateAll, boolean generateBlastRecipes) { try { - generate.invoke(null,ELEMENT.getField(elementName).get(ELEMENT_INSTANCE),generateAll,generateBlastRecipes); - }catch (Exception e){ + generate.invoke( + null, ELEMENT.getField(elementName).get(ELEMENT_INSTANCE), generateAll, generateBlastRecipes); + } catch (Exception e) { throw new Error(e); } } - //endregion + // endregion public void setTransformations(EMTransformationRegistry transformationInfo) { - //region reflect a bit - try{ - ELEMENT=Class.forName("gtPlusPlus.core.material.ELEMENT"); - ELEMENT_INSTANCE=ELEMENT.getMethod("getInstance").invoke(null); + // region reflect a bit + try { + ELEMENT = Class.forName("gtPlusPlus.core.material.ELEMENT"); + ELEMENT_INSTANCE = ELEMENT.getMethod("getInstance").invoke(null); - Class clazz=Class.forName("gtPlusPlus.core.material.Material"); - getUnlocalizedName=clazz.getMethod("getUnlocalizedName"); - try{ - getFluid=clazz.getMethod("getFluidStack", int.class); - }catch (Exception e){ - getFluid=clazz.getMethod("getFluid", int.class); + Class clazz = Class.forName("gtPlusPlus.core.material.Material"); + getUnlocalizedName = clazz.getMethod("getUnlocalizedName"); + try { + getFluid = clazz.getMethod("getFluidStack", int.class); + } catch (Exception e) { + getFluid = clazz.getMethod("getFluid", int.class); } - clazz=Class.forName("gtPlusPlus.core.material.MaterialGenerator"); - generate=clazz.getMethod("generate", Class.forName("gtPlusPlus.core.material.Material"), boolean.class, boolean.class); - }catch (Exception e){ + clazz = Class.forName("gtPlusPlus.core.material.MaterialGenerator"); + generate = clazz.getMethod( + "generate", Class.forName("gtPlusPlus.core.material.Material"), boolean.class, boolean.class); + } catch (Exception e) { throw new Error(e); } - //endregion + // endregion - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(10), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), getFluid("NEON",144)); - generate("GERMANIUM",true,true); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(32), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), OrePrefixes.dust, getUnlocalizedName("GERMANIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(34), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), OrePrefixes.dust, getUnlocalizedName("SELENIUM"),1); - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(35), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), getFluid("BROMINE",144)); - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(36), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), getFluid("KRYPTON",144)); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(40), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("ZIRCONIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(43), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("TECHNETIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(44), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("RUTHENIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(45), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("RHODIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(53), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("IODINE"),1); - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(54), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),getFluid("XENON",144)); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(72), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("HAFNIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(75), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("RHENIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(81), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("THALLIUM"),1); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(10), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + getFluid("NEON", 144)); + generate("GERMANIUM", true, true); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(32), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("GERMANIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(34), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("SELENIUM"), + 1); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(35), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + getFluid("BROMINE", 144)); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(36), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + getFluid("KRYPTON", 144)); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(40), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("ZIRCONIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(43), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("TECHNETIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(44), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("RUTHENIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(45), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("RHODIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(53), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("IODINE"), + 1); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(54), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + getFluid("XENON", 144)); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(72), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("HAFNIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(75), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("RHENIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(81), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("THALLIUM"), + 1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(84), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("POLONIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(85), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("ASTATINE"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(87), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("FRANCIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(88), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("RADIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(89), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("ACTINIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(91), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("PROTACTINIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(93), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("NEPTUNIUM"),1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(84), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("POLONIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(85), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("ASTATINE"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(87), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("FRANCIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(88), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("RADIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(89), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("ACTINIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(91), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("PROTACTINIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(93), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("NEPTUNIUM"), + 1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(96), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("CURIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(97), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("BERKELIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(98), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("CALIFORNIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(99), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("EINSTEINIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(100), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("FERMIUM"),1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(96), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("CURIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(97), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("BERKELIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(98), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("CALIFORNIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(99), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("EINSTEINIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(100), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("FERMIUM"), + 1); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openComputers/AvrArchitecture.java b/src/main/java/com/github/technus/tectech/compatibility/openComputers/AvrArchitecture.java index ceadce9d6d..ff610f70da 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openComputers/AvrArchitecture.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openComputers/AvrArchitecture.java @@ -10,6 +10,11 @@ import com.github.technus.avrClone.memory.RemovableMemory; import com.github.technus.avrClone.memory.program.ProgramMemory; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.util.Converter; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.zip.GZIPInputStream; +import java.util.zip.GZIPOutputStream; import li.cil.oc.Settings; import li.cil.oc.api.Driver; import li.cil.oc.api.driver.Item; @@ -23,12 +28,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import org.apache.commons.compress.utils.IOUtils; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.zip.GZIPInputStream; -import java.util.zip.GZIPOutputStream; - @Architecture.Name("AVR 32Bit Clone") @Architecture.NoMemoryRequirements public class AvrArchitecture implements Architecture { @@ -45,7 +44,7 @@ public class AvrArchitecture implements Architecture { @Override public boolean isInitialized() { - return core!=null && core.checkValid(); + return core != null && core.checkValid(); } @Override @@ -60,24 +59,22 @@ public class AvrArchitecture implements Architecture { Item driver = Driver.driverFor(component); if (driver instanceof Memory) { Memory memoryDriver = (Memory) driver; - memory += memoryDriver.amount(component) * 256;//in integers - }// else if (driver instanceof DriverEEPROM$) { + memory += memoryDriver.amount(component) * 256; // in integers + } // else if (driver instanceof DriverEEPROM$) { - //} + // } } memory = Math.min(Math.max(memory, 0), Settings.get().maxTotalRam()); - if(memory!=memSize){ - - } + if (memory != memSize) {} } @Override public boolean initialize() { - core=new AvrCore(); + core = new AvrCore(); computeMemory(this.machine.host().internalComponents()); - if(isInitialized()) { + if (isInitialized()) { machine.beep("."); return true; } @@ -86,9 +83,9 @@ public class AvrArchitecture implements Architecture { @Override public void close() { - core=null; - tempData=null; - delay=0; + core = null; + tempData = null; + delay = 0; } @Override @@ -99,26 +96,26 @@ public class AvrArchitecture implements Architecture { @Override public ExecutionResult runThreaded(boolean isSynchronizedReturn) { if (core.awoken) { - delay=0; - for (int load=0; load < 512;) { - load+=core.getInstruction().getCost(core); + delay = 0; + for (int load = 0; load < 512; ) { + load += core.getInstruction().getCost(core); ExecutionEvent executionEvent = core.cpuCycleForce(); if (executionEvent != null) { if (executionEvent.throwable instanceof DelayEvent) { delay = executionEvent.data[0]; break; } else if (executionEvent.throwable instanceof DebugEvent) { - if(debugRun) { - //aBaseMetaTileEntity.setActive(false); + if (debugRun) { + // aBaseMetaTileEntity.setActive(false); break; } } } } - }else if(delay>0){ + } else if (delay > 0) { delay--; - if(delay==0){ - core.awoken=true; + if (delay == 0) { + core.awoken = true; } } return null; @@ -126,14 +123,14 @@ public class AvrArchitecture implements Architecture { @Override public void onSignal() { - Signal signal=machine.popSignal(); + Signal signal = machine.popSignal(); core.interruptsHandle(); } @Override public void onConnect() { - //init network components, in case init was called from load logic (pre first tick?) + // init network components, in case init was called from load logic (pre first tick?) } @Override @@ -143,15 +140,17 @@ public class AvrArchitecture implements Architecture { core.active = avr.getBoolean("active"); core.awoken = (avr.getBoolean("awoken")); core.programCounter = avr.getInteger("programCounter"); - InstructionRegistry registry = - InstructionRegistry.REGISTRIES. - get(avr.getString("instructionRegistry")); + InstructionRegistry registry = InstructionRegistry.REGISTRIES.get(avr.getString("instructionRegistry")); if (registry != null) { byte[] instructions = SaveHandler.load(avr, this.machine.node().address() + "_instructionsMemory"); byte[] param0 = SaveHandler.load(avr, this.machine.node().address() + "_param0Memory"); byte[] param1 = SaveHandler.load(avr, this.machine.node().address() + "_param1Memory"); - if (instructions != null && param0 != null && param1 != null && - instructions.length > 0 && param0.length > 0 && param1.length > 0) { + if (instructions != null + && param0 != null + && param1 != null + && instructions.length > 0 + && param0.length > 0 + && param1.length > 0) { int[] instr = null, par0 = null, par1 = null; try { GZIPInputStream gzis = new GZIPInputStream(new ByteArrayInputStream(instructions)); @@ -177,22 +176,20 @@ public class AvrArchitecture implements Architecture { TecTech.LOGGER.error("Failed to decompress param1 memory from disk."); e.printStackTrace(); } - if (instr != null && par0 != null && par1 != null && - instr.length==par0.length && instr.length==par1.length) { - core.setProgramMemory(new ProgramMemory( - registry, - avr.getBoolean("immersive"), - instr, - par0, - par1)); + if (instr != null + && par0 != null + && par1 != null + && instr.length == par0.length + && instr.length == par1.length) { + core.setProgramMemory(new ProgramMemory(registry, avr.getBoolean("immersive"), instr, par0, par1)); } } } - if(avr.hasKey("eepromSize")){ + if (avr.hasKey("eepromSize")) { core.restoreEepromDefinition(EepromMemory.make(avr.getInteger("eepromSize"))); } byte[] data = SaveHandler.load(avr, this.machine.node().address() + "_dataMemory"); - if(data!=null && data.length > 0) { + if (data != null && data.length > 0) { try { GZIPInputStream gzis = new GZIPInputStream(new ByteArrayInputStream(data)); tempData = Converter.readInts(IOUtils.toByteArray(gzis)); @@ -207,19 +204,20 @@ public class AvrArchitecture implements Architecture { @Override public void save(NBTTagCompound avr) { - avr.setBoolean("debugRun",debugRun); - avr.setInteger("delay",delay); - avr.setBoolean("active",core.active); - avr.setBoolean("awoken",core.awoken); - avr.setInteger("programCounter",core.programCounter); - ProgramMemory programMemory=core.getProgramMemory(); - if(programMemory!=null){ + avr.setBoolean("debugRun", debugRun); + avr.setInteger("delay", delay); + avr.setBoolean("active", core.active); + avr.setBoolean("awoken", core.awoken); + avr.setInteger("programCounter", core.programCounter); + ProgramMemory programMemory = core.getProgramMemory(); + if (programMemory != null) { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); GZIPOutputStream gzos = new GZIPOutputStream(baos); gzos.write(Converter.writeInts(programMemory.instructions)); gzos.close(); - SaveHandler.scheduleSave(machine.host(), avr, machine.node().address() + "_instructionsMemory", baos.toByteArray()); + SaveHandler.scheduleSave( + machine.host(), avr, machine.node().address() + "_instructionsMemory", baos.toByteArray()); } catch (IOException e) { TecTech.LOGGER.error("Failed to compress instructions memory to disk"); e.printStackTrace(); @@ -229,7 +227,8 @@ public class AvrArchitecture implements Architecture { GZIPOutputStream gzos = new GZIPOutputStream(baos); gzos.write(Converter.writeInts(programMemory.param0)); gzos.close(); - SaveHandler.scheduleSave(machine.host(), avr, machine.node().address() + "_param0Memory", baos.toByteArray()); + SaveHandler.scheduleSave( + machine.host(), avr, machine.node().address() + "_param0Memory", baos.toByteArray()); } catch (IOException e) { TecTech.LOGGER.error("Failed to compress param0 memory to disk"); e.printStackTrace(); @@ -239,25 +238,27 @@ public class AvrArchitecture implements Architecture { GZIPOutputStream gzos = new GZIPOutputStream(baos); gzos.write(Converter.writeInts(programMemory.param1)); gzos.close(); - SaveHandler.scheduleSave(machine.host(), avr, machine.node().address() + "_param1Memory", baos.toByteArray()); + SaveHandler.scheduleSave( + machine.host(), avr, machine.node().address() + "_param1Memory", baos.toByteArray()); } catch (IOException e) { TecTech.LOGGER.error("Failed to compress param1 memory to disk"); e.printStackTrace(); } - avr.setBoolean("immersive",programMemory.immersiveOperands); - avr.setString("instructionRegistry",programMemory.registry.toString()); + avr.setBoolean("immersive", programMemory.immersiveOperands); + avr.setString("instructionRegistry", programMemory.registry.toString()); } - RemovableMemory eeprom=core.getEepromMemory(); - if(eeprom!=null){ - avr.setInteger("eepromSize",eeprom.getDefinition().getSize()); + RemovableMemory eeprom = core.getEepromMemory(); + if (eeprom != null) { + avr.setInteger("eepromSize", eeprom.getDefinition().getSize()); } - if(core.dataMemory!=null) { + if (core.dataMemory != null) { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); GZIPOutputStream gzos = new GZIPOutputStream(baos); gzos.write(Converter.writeInts(core.dataMemory)); gzos.close(); - SaveHandler.scheduleSave(machine.host(), avr, machine.node().address() + "_dataMemory", baos.toByteArray()); + SaveHandler.scheduleSave( + machine.host(), avr, machine.node().address() + "_dataMemory", baos.toByteArray()); } catch (IOException e) { TecTech.LOGGER.error("Failed to compress data memory to disk"); e.printStackTrace(); 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 d66232671a..1d77c71ce8 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 @@ -16,7 +16,9 @@ public class TT_turret_loader implements Runnable { public void run() { TurretHeadRenderEM turretHeadRenderEM = new TurretHeadRenderEM(); ClientRegistry.bindTileEntitySpecialRenderer(TileTurretHeadEM.class, turretHeadRenderEM); - MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(TurretHeadEM.INSTANCE), new TurretHeadItemRenderEM(turretHeadRenderEM, new TileTurretHeadEM())); + MinecraftForgeClient.registerItemRenderer( + Item.getItemFromBlock(TurretHeadEM.INSTANCE), + new TurretHeadItemRenderEM(turretHeadRenderEM, new TileTurretHeadEM())); RenderingRegistry.registerEntityRenderingHandler(projectileEM.class, new projectileRenderEM()); } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseEM.java index 654b4e37a6..fd2ed56162 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseEM.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.compatibility.openmodularturrets.blocks.turretbases; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.compatibility.openmodularturrets.tileentity.turretbase.TileTurretBaseEM; import cpw.mods.fml.common.registry.GameRegistry; @@ -10,8 +12,6 @@ import net.minecraft.world.World; import openmodularturrets.blocks.turretbases.BlockAbstractTurretBase; import openmodularturrets.handler.ConfigHandler; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; - /** * Created by Tec on 27/07/2017. */ @@ -20,28 +20,28 @@ public class TurretBaseEM extends BlockAbstractTurretBase { private final int MaxIO = ConfigHandler.getBaseTierFiveMaxIo(); public static TurretBaseEM INSTANCE; - public TurretBaseEM(){ + public TurretBaseEM() { setCreativeTab(creativeTabTecTech); setResistance(16); setBlockName("turretBaseEM"); setStepSound(Block.soundTypeMetal); - setBlockTextureName(Reference.MODID+":turretBaseEM"); + setBlockTextureName(Reference.MODID + ":turretBaseEM"); } @Override public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileTurretBaseEM(MaxCharge,MaxIO); + return new TileTurretBaseEM(MaxCharge, MaxIO); } @Override public void registerBlockIcons(IIconRegister p_149651_1_) { super.registerBlockIcons(p_149651_1_); - blockIcon = p_149651_1_.registerIcon(Reference.MODID+":turretBaseEM"); + blockIcon = p_149651_1_.registerIcon(Reference.MODID + ":turretBaseEM"); } public static void run() { INSTANCE = new TurretBaseEM(); GameRegistry.registerBlock(INSTANCE, TurretBaseItemEM.class, INSTANCE.getUnlocalizedName()); - GameRegistry.registerTileEntity(TileTurretBaseEM.class,"TileTurretBaseEM"); + GameRegistry.registerTileEntity(TileTurretBaseEM.class, "TileTurretBaseEM"); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseItemEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseItemEM.java index ed4b72f094..ce5e7c60a8 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseItemEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseItemEM.java @@ -1,16 +1,15 @@ package com.github.technus.tectech.compatibility.openmodularturrets.blocks.turretbases; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import java.util.List; - -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 28/07/2017. */ @@ -33,4 +32,4 @@ public class TurretBaseItemEM extends ItemBlock { list.add(""); list.add(EnumChatFormatting.DARK_GRAY + translateToLocal("flavour.base.0")); } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadEM.java index da212d4853..0b242505ab 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadEM.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.compatibility.openmodularturrets.blocks.turretheads; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; + import com.github.technus.tectech.compatibility.openmodularturrets.tileentity.turret.TileTurretHeadEM; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; @@ -11,15 +13,13 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import openmodularturrets.tileentity.turretbase.TurretBase; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; - /** * Created by Tec on 27/07/2017. */ public class TurretHeadEM extends Block implements ITileEntityProvider { public static TurretHeadEM INSTANCE; - public TurretHeadEM(){ + public TurretHeadEM() { super(Material.glass); setCreativeTab(creativeTabTecTech); setBlockUnbreakable(); @@ -27,7 +27,7 @@ public class TurretHeadEM extends Block implements ITileEntityProvider { setStepSound(Block.soundTypeMetal); setBlockBounds(0.2F, 0.0F, 0.2F, 0.8F, 1F, 0.8F); setBlockName("turretHeadEM"); - //this.setBlockTextureName(Reference.MODID+":turretHeadEM"); + // this.setBlockTextureName(Reference.MODID+":turretHeadEM"); } @Override @@ -42,12 +42,12 @@ public class TurretHeadEM extends Block implements ITileEntityProvider { @Override public boolean canPlaceBlockAt(World worldIn, int x, int y, int z) { - return worldIn.getTileEntity(x + 1, y, z) instanceof TurretBase || - worldIn.getTileEntity(x - 1, y, z) instanceof TurretBase || - worldIn.getTileEntity(x,y + 1, z) instanceof TurretBase || - worldIn.getTileEntity(x,y - 1, z) instanceof TurretBase || - worldIn.getTileEntity(x,y, z + 1) instanceof TurretBase || - worldIn.getTileEntity(x,y, z - 1) instanceof TurretBase; + return worldIn.getTileEntity(x + 1, y, z) instanceof TurretBase + || worldIn.getTileEntity(x - 1, y, z) instanceof TurretBase + || worldIn.getTileEntity(x, y + 1, z) instanceof TurretBase + || worldIn.getTileEntity(x, y - 1, z) instanceof TurretBase + || worldIn.getTileEntity(x, y, z + 1) instanceof TurretBase + || worldIn.getTileEntity(x, y, z - 1) instanceof TurretBase; } @Override @@ -63,6 +63,6 @@ public class TurretHeadEM extends Block implements ITileEntityProvider { public static void run() { INSTANCE = new TurretHeadEM(); GameRegistry.registerBlock(INSTANCE, TurretHeadItemEM.class, INSTANCE.getUnlocalizedName()); - GameRegistry.registerTileEntity(TileTurretHeadEM.class,"TileTurretHeadEM"); + GameRegistry.registerTileEntity(TileTurretHeadEM.class, "TileTurretHeadEM"); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadItemEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadItemEM.java index ce11976020..068e0fbb0f 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadItemEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadItemEM.java @@ -1,5 +1,10 @@ package com.github.technus.tectech.compatibility.openmodularturrets.blocks.turretheads; +import static com.github.technus.tectech.util.CommonValues.TEC_MARK_EM; +import static net.minecraft.util.StatCollector.translateToLocal; + +import java.text.DecimalFormat; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; @@ -7,12 +12,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import openmodularturrets.handler.ConfigHandler; -import java.text.DecimalFormat; -import java.util.List; - -import static com.github.technus.tectech.util.CommonValues.TEC_MARK_EM; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 28/07/2017. */ @@ -29,16 +28,25 @@ public class TurretHeadItemEM extends ItemBlock { list.add(""); list.add(EnumChatFormatting.GOLD + "--" + translateToLocal("tooltip.info") + "--"); list.add(translateToLocal("tooltip.tier") + ": " + EnumChatFormatting.WHITE + '5'); - list.add(translateToLocal("tooltip.range") + ": " + EnumChatFormatting.WHITE + ConfigHandler.getLaserTurretSettings().getRange()); - list.add(translateToLocal("tooltip.accuracy") + ": " + EnumChatFormatting.WHITE + translateToLocal("turret.accuracy.high")); - list.add(translateToLocal("tooltip.ammo") + ": " + EnumChatFormatting.WHITE + translateToLocal("turret.ammo.4")); - list.add(translateToLocal("tooltip.tierRequired") + ": " + EnumChatFormatting.WHITE + translateToLocal("base.tier.5")); + list.add(translateToLocal("tooltip.range") + ": " + EnumChatFormatting.WHITE + + ConfigHandler.getLaserTurretSettings().getRange()); + list.add(translateToLocal("tooltip.accuracy") + ": " + EnumChatFormatting.WHITE + + translateToLocal("turret.accuracy.high")); + list.add( + translateToLocal("tooltip.ammo") + ": " + EnumChatFormatting.WHITE + translateToLocal("turret.ammo.4")); + list.add(translateToLocal("tooltip.tierRequired") + ": " + EnumChatFormatting.WHITE + + translateToLocal("base.tier.5")); list.add(""); list.add(EnumChatFormatting.DARK_PURPLE + "--" + translateToLocal("tooltip.damage.label") + "--"); - list.add(translateToLocal("tooltip.damage.stat") + ": " + EnumChatFormatting.WHITE + (float)ConfigHandler.getLaserTurretSettings().getDamage() / 2.0F + ' ' + translateToLocal("tooltip.health")); + list.add(translateToLocal("tooltip.damage.stat") + ": " + EnumChatFormatting.WHITE + + (float) ConfigHandler.getLaserTurretSettings().getDamage() / 2.0F + ' ' + + translateToLocal("tooltip.health")); list.add(translateToLocal("tooltip.aoe") + ": " + EnumChatFormatting.WHITE + '0'); - list.add(translateToLocal("tooltip.firerate") + ": " + EnumChatFormatting.WHITE + df.format(20.0F / (float)ConfigHandler.getLaserTurretSettings().getFireRate())); - list.add(translateToLocal("tooltip.energy.stat") + ": " + EnumChatFormatting.WHITE + ConfigHandler.getLaserTurretSettings().getPowerUsage() + " RF"); + list.add(translateToLocal("tooltip.firerate") + ": " + EnumChatFormatting.WHITE + + df.format( + 20.0F / (float) ConfigHandler.getLaserTurretSettings().getFireRate())); + list.add(translateToLocal("tooltip.energy.stat") + ": " + EnumChatFormatting.WHITE + + ConfigHandler.getLaserTurretSettings().getPowerUsage() + " RF"); list.add(""); list.add(EnumChatFormatting.DARK_GRAY + translateToLocal("flavour.turret.4")); } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileEM.java index 54bd3aaea5..b985f00b01 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileEM.java @@ -16,20 +16,19 @@ import openmodularturrets.tileentity.turretbase.TurretBase; import openmodularturrets.util.PlayerUtil; import openmodularturrets.util.TurretHeadUtil; - /** * Created by Bass on 27/07/2017. */ public class projectileEM extends LaserProjectile { - public float gravity=0; + public float gravity = 0; private TurretBase turretBase; - private boolean strange, antiMatter,isAmped; + private boolean strange, antiMatter, isAmped; private int ampLevel; private float massFactor; - private double mass,charge; + private double mass, charge; public projectileEM(World par1World) { super(par1World); @@ -37,7 +36,7 @@ public class projectileEM extends LaserProjectile { public projectileEM(World par1World, TurretBase turretBase) { super(par1World, turretBase); - int amp=TurretHeadUtil.getAmpLevel(turretBase); + int amp = TurretHeadUtil.getAmpLevel(turretBase); if (amp > 0) { this.isAmped = true; this.ampLevel = amp; @@ -47,86 +46,121 @@ public class projectileEM extends LaserProjectile { public projectileEM(World par1World, TurretBase turretBase, EMInstanceStack projectileContent) { super(par1World, turretBase); this.turretBase = turretBase; - if(projectileContent != null){ - mass=projectileContent.getMass(); - charge=projectileContent.getCharge(); - massFactor =(float) (projectileContent.getDefinition().getMass()/ EMHadronDefinition.hadron_n_.getMass()); + if (projectileContent != null) { + mass = projectileContent.getMass(); + charge = projectileContent.getCharge(); + massFactor = (float) (projectileContent.getDefinition().getMass() / EMHadronDefinition.hadron_n_.getMass()); - if(projectileContent.getDefinition().getGeneration()>1 || projectileContent.getDefinition().getGeneration()<-1) { + if (projectileContent.getDefinition().getGeneration() > 1 + || projectileContent.getDefinition().getGeneration() < -1) { strange = true; } - if(projectileContent.getDefinition().getGeneration()<0) { + if (projectileContent.getDefinition().getGeneration() < 0) { antiMatter = true; } if (projectileContent.getDefinition().getCharge() == 0) { gravity = massFactor / 100f; } else { - gravity = Math.min(0.0025F / Math.abs(projectileContent.getDefinition().getCharge()), massFactor / 100f); + gravity = Math.min( + 0.0025F / Math.abs(projectileContent.getDefinition().getCharge()), massFactor / 100f); } } } @Override protected void onImpact(MovingObjectPosition movingobjectposition) { - if(ticksExisted > 1) { - if(!worldObj.isRemote){ - worldObj.playSoundEffect(posX, posY, posZ, "openmodularturrets:laserHit", ConfigHandler.getTurretSoundVolume(), TecTech.RANDOM.nextFloat() + 0.5F); - switch (movingobjectposition.typeOfHit){ + if (ticksExisted > 1) { + if (!worldObj.isRemote) { + worldObj.playSoundEffect( + posX, + posY, + posZ, + "openmodularturrets:laserHit", + ConfigHandler.getTurretSoundVolume(), + TecTech.RANDOM.nextFloat() + 0.5F); + switch (movingobjectposition.typeOfHit) { case BLOCK: - Block hitBlock = worldObj.getBlock(movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ); - if(hitBlock != null){ - if (TecTech.configTecTech.ENABLE_TURRET_EXPLOSIONS && antiMatter && hitBlock.getMaterial().isSolid()) { - GT_Utility.sendSoundToPlayers(worldObj, GregTech_API.sSoundList.get(209), 1.0F, -1.0F, + Block hitBlock = worldObj.getBlock( + movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ); + if (hitBlock != null) { + if (TecTech.configTecTech.ENABLE_TURRET_EXPLOSIONS + && antiMatter + && hitBlock.getMaterial().isSolid()) { + GT_Utility.sendSoundToPlayers( + worldObj, + GregTech_API.sSoundList.get(209), + 1.0F, + -1.0F, movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ); - worldObj.createExplosion(null, + worldObj.createExplosion( + null, movingobjectposition.blockX + 0.5D, movingobjectposition.blockY + 0.5D, movingobjectposition.blockZ + 0.5D, - TecTech.configTecTech.TURRET_EXPLOSION_FACTOR * (strange ? 10 : 1) * massFactor * (isAmped ? ampLevel * .1f + 1 : 1) * (ticksExisted / 250f), true); + TecTech.configTecTech.TURRET_EXPLOSION_FACTOR + * (strange ? 10 : 1) + * massFactor + * (isAmped ? ampLevel * .1f + 1 : 1) + * (ticksExisted / 250f), + true); } else { return; } } break; case ENTITY: - float damage = (strange ?10:1) * TecTech.configTecTech.TURRET_DAMAGE_FACTOR * massFactor * (isAmped? ampLevel*.1f +1:1); - - if(movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer player=(EntityPlayer)movingobjectposition.entityHit; - if(canDamagePlayer(player)) { - movingobjectposition.entityHit.setFire((strange ?10:1)*2); - movingobjectposition.entityHit.attackEntityFrom(new NormalDamageSource("laser"), damage); - if(antiMatter) { + float damage = (strange ? 10 : 1) + * TecTech.configTecTech.TURRET_DAMAGE_FACTOR + * massFactor + * (isAmped ? ampLevel * .1f + 1 : 1); + + if (movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) movingobjectposition.entityHit; + if (canDamagePlayer(player)) { + movingobjectposition.entityHit.setFire((strange ? 10 : 1) * 2); + movingobjectposition.entityHit.attackEntityFrom( + new NormalDamageSource("laser"), damage); + if (antiMatter) { movingobjectposition.entityHit.hurtResistantTime = 0; } - if(strange){ - TecTech.anomalyHandler.addCancer(player,mass); + if (strange) { + TecTech.anomalyHandler.addCancer(player, mass); } - if(charge!=0) { - TecTech.anomalyHandler.addCharge(player,charge); + if (charge != 0) { + TecTech.anomalyHandler.addCharge(player, charge); } } } else { - movingobjectposition.entityHit.setFire((strange ?10:1)*2); + movingobjectposition.entityHit.setFire((strange ? 10 : 1) * 2); movingobjectposition.entityHit.attackEntityFrom(new NormalDamageSource("laser"), damage); - if(antiMatter) { + if (antiMatter) { movingobjectposition.entityHit.hurtResistantTime = 0; } } if (TecTech.configTecTech.ENABLE_TURRET_EXPLOSIONS && antiMatter) { - GT_Utility.sendSoundToPlayers(worldObj, GregTech_API.sSoundList.get(209), 1.0F, -1.0F, - (int)movingobjectposition.entityHit.posX, - (int)movingobjectposition.entityHit.posY, - (int)movingobjectposition.entityHit.posZ); - worldObj.createExplosion(null, + GT_Utility.sendSoundToPlayers( + worldObj, + GregTech_API.sSoundList.get(209), + 1.0F, + -1.0F, + (int) movingobjectposition.entityHit.posX, + (int) movingobjectposition.entityHit.posY, + (int) movingobjectposition.entityHit.posZ); + worldObj.createExplosion( + null, movingobjectposition.entityHit.posX, movingobjectposition.entityHit.posY, movingobjectposition.entityHit.posZ, - (strange ?10:1) * TecTech.configTecTech.TURRET_EXPLOSION_FACTOR * massFactor * (isAmped? ampLevel*.1f +1:1) * (ticksExisted/250f), true); + (strange ? 10 : 1) + * TecTech.configTecTech.TURRET_EXPLOSION_FACTOR + * massFactor + * (isAmped ? ampLevel * .1f + 1 : 1) + * (ticksExisted / 250f), + true); } break; } @@ -136,12 +170,15 @@ public class projectileEM extends LaserProjectile { } public boolean canDamagePlayer(EntityPlayer entityPlayer) { - return ConfigHandler.turretDamageTrustedPlayers || this.turretBase.getTrustedPlayer(entityPlayer.getUniqueID()) == null && !PlayerUtil.getPlayerUIDUnstable(this.turretBase.getOwner()).equals(entityPlayer.getUniqueID()); + return ConfigHandler.turretDamageTrustedPlayers + || this.turretBase.getTrustedPlayer(entityPlayer.getUniqueID()) == null + && !PlayerUtil.getPlayerUIDUnstable(this.turretBase.getOwner()) + .equals(entityPlayer.getUniqueID()); } @Override public void onEntityUpdate() { - if(ticksExisted >= 75) { + if (ticksExisted >= 75) { setDead(); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileRenderEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileRenderEM.java index 812a752562..ce656f8c8f 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileRenderEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileRenderEM.java @@ -16,24 +16,30 @@ import org.lwjgl.opengl.GL11; */ @SideOnly(Side.CLIENT) public class projectileRenderEM extends Render { - private static final ResourceLocation textures = new ResourceLocation(Reference.MODID + ":textures/entity/projectileEM.png"); + private static final ResourceLocation textures = + new ResourceLocation(Reference.MODID + ":textures/entity/projectileEM.png"); private void render(projectileEM entity, double par2, double par4, double par6, float par9) { bindEntityTexture(entity); GL11.glPushMatrix(); - GL11.glTranslatef((float)par2, (float)par4 + 0.3F, (float)par6); - GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef((float) par2, (float) par4 + 0.3F, (float) par6); + GL11.glRotatef( + entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * par9 - 90.0F, + 0.0F, + 1.0F, + 0.0F); + GL11.glRotatef( + entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F); Tessellator var18 = Tessellator.instance; byte b0 = 0; float f2 = 0.0F; float f3 = 0.5F; - float f4 = (float)(b0 * 10) / 32.0F; - float f5 = (float)(5 + b0 * 10) / 32.0F; + float f4 = (float) (b0 * 10) / 32.0F; + float f5 = (float) (5 + b0 * 10) / 32.0F; float f10 = 0.05625F; GL11.glEnable('\u803a'); - float f11 = - par9; - if(f11 > 0.0F) { + float f11 = -par9; + if (f11 > 0.0F) { float f = -MathHelper.sin(f11 * 3.0F) * f11; GL11.glRotatef(f, 0.0F, 0.0F, 1.0F); } @@ -45,14 +51,14 @@ public class projectileRenderEM extends Render { GL11.glTranslatef(0.0F, 0.0F, 0.0F); GL11.glNormal3f(f10, 0.0F, 0.0F); - for(int var19 = 0; var19 < 4; ++var19) { + for (int var19 = 0; var19 < 4; ++var19) { GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); GL11.glNormal3f(0.0F, 0.0F, f10); var18.startDrawingQuads(); - var18.addVertexWithUV(-16.0D, -2.0D, 0.0D, (double)f2, (double)f4); - var18.addVertexWithUV(16.0D, -2.0D, 0.0D, (double)f3, (double)f4); - var18.addVertexWithUV(16.0D, 2.0D, 0.0D, (double)f3, (double)f5); - var18.addVertexWithUV(-16.0D, 2.0D, 0.0D, (double)f2, (double)f5); + var18.addVertexWithUV(-16.0D, -2.0D, 0.0D, (double) f2, (double) f4); + var18.addVertexWithUV(16.0D, -2.0D, 0.0D, (double) f3, (double) f4); + var18.addVertexWithUV(16.0D, 2.0D, 0.0D, (double) f3, (double) f5); + var18.addVertexWithUV(-16.0D, 2.0D, 0.0D, (double) f2, (double) f5); var18.draw(); } @@ -68,6 +74,6 @@ public class projectileRenderEM extends Render { @Override public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9) { - render((projectileEM)par1Entity, par2, par4, par6, par9); + render((projectileEM) par1Entity, par2, par4, par6, par9); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turret/TileTurretHeadEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turret/TileTurretHeadEM.java index 742232d8c6..b8b843844f 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turret/TileTurretHeadEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turret/TileTurretHeadEM.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.compatibility.openmodularturrets.tileentity.turret; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; + import com.github.technus.tectech.compatibility.openmodularturrets.entity.projectiles.projectileEM; import com.github.technus.tectech.compatibility.openmodularturrets.tileentity.turretbase.TileTurretBaseEM; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; @@ -14,37 +16,35 @@ import openmodularturrets.handler.ConfigHandler; import openmodularturrets.tileentity.turrets.TurretHead; import openmodularturrets.util.TurretHeadUtil; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; - /** * Created by Bass on 27/07/2017. */ -public class TileTurretHeadEM extends TurretHead{ +public class TileTurretHeadEM extends TurretHead { private EMInstanceStackMap hatchContentPointer; @Override public int getTurretRange() { - return ConfigHandler.getLaserTurretSettings().getRange()<<1; + return ConfigHandler.getLaserTurretSettings().getRange() << 1; } @Override public int getTurretPowerUsage() { - return ConfigHandler.getLaserTurretSettings().getPowerUsage()<<4; + return ConfigHandler.getLaserTurretSettings().getPowerUsage() << 4; } @Override public int getTurretFireRate() { - return (int)Math.ceil(ConfigHandler.getLaserTurretSettings().getFireRate()/2f); + return (int) Math.ceil(ConfigHandler.getLaserTurretSettings().getFireRate() / 2f); } @Override public double getTurretAccuracy() { - return (int)Math.ceil(ConfigHandler.getLaserTurretSettings().getAccuracy() / 10.0F); + return (int) Math.ceil(ConfigHandler.getLaserTurretSettings().getAccuracy() / 10.0F); } @Override public void updateEntity() { - if(!worldObj.isRemote && base instanceof TileTurretBaseEM) { + if (!worldObj.isRemote && base instanceof TileTurretBaseEM) { hatchContentPointer = ((TileTurretBaseEM) base).getContainerHandler(); } super.updateEntity(); @@ -57,12 +57,13 @@ public class TileTurretHeadEM extends TurretHead{ @Override public boolean requiresSpecificAmmo() { - return true;//to enable failure in shooting when there is no EM to use + return true; // to enable failure in shooting when there is no EM to use } @Override public Item getAmmo() { - return DebugElementalInstanceContainer_EM.INSTANCE;//Placeholder item that cannot be achieved, yet still usable for debug + return DebugElementalInstanceContainer_EM + .INSTANCE; // Placeholder item that cannot be achieved, yet still usable for debug } @Override @@ -70,10 +71,10 @@ public class TileTurretHeadEM extends TurretHead{ if (hatchContentPointer == null || hatchContentPointer.isEmpty()) { return new projectileEM(world, TurretHeadUtil.getTurretBase(worldObj, xCoord, yCoord, zCoord), null); } - EMInstanceStack stack = hatchContentPointer.getRandom(); - double amount = Math.min(EM_COUNT_PER_MATERIAL_AMOUNT, stack.getAmount()); + EMInstanceStack stack = hatchContentPointer.getRandom(); + double amount = Math.min(EM_COUNT_PER_MATERIAL_AMOUNT, stack.getAmount()); hatchContentPointer.removeAmount(stack.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT); - stack=stack.clone(); + stack = stack.clone(); stack.setAmount(amount); return new projectileEM(world, TurretHeadUtil.getTurretBase(worldObj, xCoord, yCoord, zCoord), stack); } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java index 0dbc33e007..4e048fd51a 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java @@ -11,16 +11,13 @@ import openmodularturrets.tileentity.turretbase.TurretBaseTierFiveTileEntity; /** * Created by Bass on 27/07/2017. */ - public class TileTurretBaseEM extends TurretBaseTierFiveTileEntity { public TileTurretBaseEM(int MaxEnergyStorage, int MaxIO) { super(MaxEnergyStorage, MaxIO); } @Override - @Optional.Method( - modid = "OpenComputers" - ) + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "turretBaseEM"; } @@ -28,41 +25,47 @@ public class TileTurretBaseEM extends TurretBaseTierFiveTileEntity { public final EMInstanceStackMap getContainerHandler() { World worldIn = getWorldObj(); TileEntity te; - if ((te = worldIn.getTileEntity(xCoord + 1, yCoord, zCoord)) instanceof IGregTechTileEntity && - ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { - return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); + if ((te = worldIn.getTileEntity(xCoord + 1, yCoord, zCoord)) instanceof IGregTechTileEntity + && ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { + return getFromHatch( + (GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); } - if ((te = worldIn.getTileEntity(xCoord - 1, yCoord, zCoord)) instanceof IGregTechTileEntity && - ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { - return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); + if ((te = worldIn.getTileEntity(xCoord - 1, yCoord, zCoord)) instanceof IGregTechTileEntity + && ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { + return getFromHatch( + (GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); } - if ((te = worldIn.getTileEntity(xCoord, yCoord + 1, zCoord)) instanceof IGregTechTileEntity && - ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { - return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); + if ((te = worldIn.getTileEntity(xCoord, yCoord + 1, zCoord)) instanceof IGregTechTileEntity + && ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { + return getFromHatch( + (GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); } - if ((te = worldIn.getTileEntity(xCoord, yCoord - 1, zCoord)) instanceof IGregTechTileEntity && - ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { - return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); + if ((te = worldIn.getTileEntity(xCoord, yCoord - 1, zCoord)) instanceof IGregTechTileEntity + && ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { + return getFromHatch( + (GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); } - if ((te = worldIn.getTileEntity(xCoord, yCoord, zCoord + 1)) instanceof IGregTechTileEntity && - ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { - return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); + if ((te = worldIn.getTileEntity(xCoord, yCoord, zCoord + 1)) instanceof IGregTechTileEntity + && ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { + return getFromHatch( + (GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); } - if ((te = worldIn.getTileEntity(xCoord, yCoord, zCoord - 1)) instanceof IGregTechTileEntity && - ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { - return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); + if ((te = worldIn.getTileEntity(xCoord, yCoord, zCoord - 1)) instanceof IGregTechTileEntity + && ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { + return getFromHatch( + (GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); } return null; } private EMInstanceStackMap getFromHatch(GT_MetaTileEntity_Hatch_InputElemental hatch) { - hatch.updateTexture((byte) 8,(byte) 4); + hatch.updateTexture((byte) 8, (byte) 4); return hatch.getContentHandler(); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/spartakcore/SpartakCoreRecipeLoader.java b/src/main/java/com/github/technus/tectech/compatibility/spartakcore/SpartakCoreRecipeLoader.java index b2050bbac5..635c1de419 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/spartakcore/SpartakCoreRecipeLoader.java +++ b/src/main/java/com/github/technus/tectech/compatibility/spartakcore/SpartakCoreRecipeLoader.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.compatibility.spartakcore; +import static com.github.technus.tectech.loader.recipe.BaseRecipeLoader.getOrDefault; + import com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry; import com.github.technus.tectech.recipe.TT_recipeAdder; import com.github.technus.tectech.thing.CustomItemList; @@ -20,662 +22,1695 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; -import static com.github.technus.tectech.loader.recipe.BaseRecipeLoader.getOrDefault; - /** * Created by Spartak1997 on 28.07.2019. */ public class SpartakCoreRecipeLoader { public void run(EMTransformationRegistry transformationInfo) { - - //Quantum Glass - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - GT_ModHandler.getIC2Item("reinforcedGlass", 1L) - }, Materials.Osmium.getMolten(576), new ItemStack(QuantumGlassBlock.INSTANCE, 1), 200, 500000); - //region pipes + // Quantum Glass + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] {CustomItemList.eM_Containment.get(1), GT_ModHandler.getIC2Item("reinforcedGlass", 1L)}, + Materials.Osmium.getMolten(576), + new ItemStack(QuantumGlassBlock.INSTANCE, 1), + 200, + 500000); - //Data - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Circuit_Parts_GlassFiber.get(8), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silver, 8) - }, Materials.Polytetrafluoroethylene.getMolten(144), CustomItemList.DATApipe.get(1), 200, 30720); + // region pipes - //endregion - - //Tunnel - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.DATApipe.get(1), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmiridium, 4), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), - ItemList.Field_Generator_MV.get(1), - ItemList.Circuit_Quantummainframe.get(1) - }, Materials.Osmium.getMolten(288), CustomItemList.EMpipe.get(1), 400, 500000); - - //Laser - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + // Data + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Circuit_Parts_GlassFiber.get(8), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silver, 8) + }, + Materials.Polytetrafluoroethylene.getMolten(144), 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 - - //region casing - - //High Power Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 16), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) - }, Materials.TungstenSteel.getMolten(576), CustomItemList.eM_Power.get(1), 100, 30720); - - //Computer Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + 200, + 30720); + + // endregion + + // Tunnel + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.DATApipe.get(1), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmiridium, 4), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 4), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + ItemList.Field_Generator_MV.get(1), + ItemList.Circuit_Quantummainframe.get(1) + }, + Materials.Osmium.getMolten(288), + CustomItemList.EMpipe.get(1), + 400, + 500000); + + // Laser + GT_Values.RA.addAssemblerRecipe( + 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 + + // region casing + + // High Power Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 16), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, + Materials.TungstenSteel.getMolten(576), CustomItemList.eM_Power.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) - }, Materials.Aluminium.getMolten(1296), CustomItemList.eM_Computer_Casing.get(1), 200, 122880); - //Computer Vent Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), - ItemList.Electric_Motor_IV.get(2), - 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) - }, Materials.SolderingAlloy.getMolten(1296), CustomItemList.eM_Computer_Vent.get(1), 100, 1920); - //Advanced Computer Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + 100, + 30720); + + // Computer Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Power.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, + Materials.Aluminium.getMolten(1296), CustomItemList.eM_Computer_Casing.get(1), - 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) - }, 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, 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) - }, Materials.Osmium.getMolten(1296), CustomItemList.eM_Containment.get(1), 800, 500000); - - //Hollow Casing - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Containment.get(1), - 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), - }, new FluidStack[]{ - getOrDefault("Trinium",Materials.Americium).getMolten(1296), - Materials.Osmium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Argon.getGas(1000), - }, CustomItemList.eM_Hollow.get(2), 200, 2000000); - - //EM Coil - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Hollow.get(1), - 48000,128, 1000000, 16, new ItemStack[]{ - CustomItemList.eM_Hollow.get(1), - ItemList.Casing_Fusion_Coil.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), - }, CustomItemList.eM_Coil.get(4), 800, 2000000); - - //endregion - - - //region hatches - - //Dynamo Hatches IV-UHV - 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)}, + 200, + 122880); + // Computer Vent Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), + ItemList.Electric_Motor_IV.get(2), + 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) + }, + Materials.SolderingAlloy.getMolten(1296), + CustomItemList.eM_Computer_Vent.get(1), + 100, + 1920); + // Advanced Computer Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + 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) + }, + 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, 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) + }, + Materials.Osmium.getMolten(1296), + CustomItemList.eM_Containment.get(1), + 800, + 500000); + + // Hollow Casing + TT_recipeAdder.addResearchableAssemblylineRecipe( + CustomItemList.eM_Containment.get(1), + 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), + }, + new FluidStack[] { + getOrDefault("Trinium", Materials.Americium).getMolten(1296), + Materials.Osmium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Argon.getGas(1000), + }, + CustomItemList.eM_Hollow.get(2), + 200, + 2000000); + + // EM Coil + TT_recipeAdder.addResearchableAssemblylineRecipe( + CustomItemList.eM_Hollow.get(1), + 48000, + 128, + 1000000, + 16, + new ItemStack[] { + CustomItemList.eM_Hollow.get(1), + ItemList.Casing_Fusion_Coil.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), + }, + CustomItemList.eM_Coil.get(4), + 800, + 2000000); + + // endregion + + // region hatches + + // Dynamo Hatches IV-UHV + 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) + }, 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)}, + 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) + }, 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)}, + 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) + }, Materials.Tungsten.getMolten(144), - CustomItemList.eM_dynamoMulti64_IV.get(1), 400, 1920); + 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)}, + 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) + }, 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)}, + 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) + }, 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)}, + 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) + }, Materials.Tungsten.getMolten(288), - CustomItemList.eM_dynamoMulti64_LuV.get(1), 400, 7860); + 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)}, + 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) + }, 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)}, + 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) + }, 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)}, + 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) + }, Materials.Tungsten.getMolten(576), - CustomItemList.eM_dynamoMulti64_ZPM.get(1), 400, 30720); + 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)}, + 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) + }, 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)}, + 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) + }, 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)}, + 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) + }, Materials.Tungsten.getMolten(1152), - CustomItemList.eM_dynamoMulti64_UV.get(1), 400, 122880); + 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)}, + 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) + }, 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)}, + 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) + }, 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)}, + 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) + }, Materials.Tungsten.getMolten(2304), - CustomItemList.eM_dynamoMulti64_UHV.get(1), 400, 500000); + CustomItemList.eM_dynamoMulti64_UHV.get(1), + 400, + 500000); - //Energy Hatches 4A-64A IV-UHV - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Hatch_Energy_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2)}, + // Energy Hatches 4A-64A IV-UHV + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Hatch_Energy_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_energyMulti4_IV.get(1), 100, 7680); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_energyMulti4_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 4)}, + CustomItemList.eM_energyMulti4_IV.get(1), + 100, + 7680); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_energyMulti4_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_energyMulti16_IV.get(1), 200, 7680); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_energyMulti16_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6)}, + CustomItemList.eM_energyMulti16_IV.get(1), + 200, + 7680); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_energyMulti16_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_energyMulti64_IV.get(1), 400, 7680); + 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)}, + 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) + }, 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)}, + 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) + }, 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)}, + 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) + }, Materials.Tungsten.getMolten(288), - CustomItemList.eM_energyMulti64_LuV.get(1), 400, 30720); + 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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, Materials.Tungsten.getMolten(576), - CustomItemList.eM_energyMulti64_ZPM.get(1), 400, 122880); + 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)}, + 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) + }, 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)}, + 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) + }, 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)}, + 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) + }, Materials.Tungsten.getMolten(1152), - CustomItemList.eM_energyMulti64_UV.get(1), 400, 500000); + 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)}, + 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) + }, 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)}, + 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) + }, 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)}, + 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) + }, Materials.Tungsten.getMolten(2304), - CustomItemList.eM_energyMulti64_UHV.get(1), 400, 500000); - - //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), - ItemList.Hatch_Input_Bus_LuV.get(1), - ItemList.Circuit_Crystalcomputer.get(1), - CustomItemList.DATApipe.get(2) - }, Materials.Iridium.getMolten(1296), CustomItemList.dataIn_Hatch.get(1), 200, 122880); - //Data Output - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Hatch_Output_Bus_LuV.get(1), - ItemList.Circuit_Crystalcomputer.get(1), - CustomItemList.DATApipe.get(2) - }, Materials.Iridium.getMolten(1296), CustomItemList.dataOut_Hatch.get(1), 200, 122880); + CustomItemList.eM_energyMulti64_UHV.get(1), + 400, + 500000); - //Rack - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Bus.get(1), - ItemList.Hatch_Input_Bus_ZPM.get(1), - ItemList.Circuit_Crystalcomputer.get(2), - CustomItemList.DATApipe.get(4) - }, Materials.Iridium.getMolten(1296), CustomItemList.rack_Hatch.get(1), 800, 122880); + // 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); - //Object Holder - GT_Values.RA.addAssemblylineRecipe(ItemList.Hatch_Input_Bus_ZPM.get(1), 10000, new Object[]{ + // 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), + ItemList.Hatch_Input_Bus_LuV.get(1), + ItemList.Circuit_Crystalcomputer.get(1), + CustomItemList.DATApipe.get(2) + }, + Materials.Iridium.getMolten(1296), + CustomItemList.dataIn_Hatch.get(1), + 200, + 122880); + // Data Output + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Hatch_Output_Bus_LuV.get(1), + ItemList.Circuit_Crystalcomputer.get(1), + CustomItemList.DATApipe.get(2) + }, + Materials.Iridium.getMolten(1296), + CustomItemList.dataOut_Hatch.get(1), + 200, + 122880); + + // Rack + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Bus.get(1), + ItemList.Hatch_Input_Bus_ZPM.get(1), + ItemList.Circuit_Crystalcomputer.get(2), + CustomItemList.DATApipe.get(4) + }, + Materials.Iridium.getMolten(1296), + CustomItemList.rack_Hatch.get(1), + 800, + 122880); + + // Object Holder + GT_Values.RA.addAssemblylineRecipe( ItemList.Hatch_Input_Bus_ZPM.get(1), - CustomItemList.eM_Computer_Bus.get(1), - ItemList.Emitter_ZPM.get(8), - ItemList.Robot_Arm_ZPM.get(1), - ItemList.Electric_Motor_ZPM.get(2), - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 1)}, - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2)}, - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 16)}, - CustomItemList.DATApipe.get(2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(500), - Materials.Iridium.getMolten(1000), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) - }, CustomItemList.holder_Hatch.get(1), 1200, 100000); - - //Parameterizer - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Circuit_Masterquantumcomputer.get(1), - CustomItemList.DATApipe.get(4), - ItemList.Cover_Screen.get(1 ), - new ItemStack(Blocks.stone_button, 16), - }, Materials.Iridium.getMolten(2592), CustomItemList.Parametrizer_Hatch.get(1), 800, 122880); - //Uncertainty - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Circuit_Ultimatecrystalcomputer.get(1), - CustomItemList.DATApipe.get(16), - ItemList.Cover_Screen.get(1 ), - new ItemStack(Blocks.stone_button, 16), - }, Materials.Iridium.getMolten(2592), CustomItemList.Uncertainty_Hatch.get(1), 1200, 122880); - - //Elemental Input - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Input_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), - ItemList.Sensor_UV.get(1) - }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_in_UV.get(1), 800, 500000); - //Elemental Output - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Output_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), - ItemList.Emitter_UV.get(1) - }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_out_UV.get(1), 800, 500000); - //Overflow - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Muffler_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Naquadah, 1), - ItemList.Field_Generator_UV.get(1) - }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_muffler_UV.get(1), 800, 500000); + 10000, + new Object[] { + ItemList.Hatch_Input_Bus_ZPM.get(1), + CustomItemList.eM_Computer_Bus.get(1), + ItemList.Emitter_ZPM.get(8), + ItemList.Robot_Arm_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 1)}, + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2)}, + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 16)}, + CustomItemList.DATApipe.get(2), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(500), + Materials.Iridium.getMolten(1000), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) + }, + CustomItemList.holder_Hatch.get(1), + 1200, + 100000); - //endregion + // Parameterizer + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Circuit_Masterquantumcomputer.get(1), + CustomItemList.DATApipe.get(4), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + }, + Materials.Iridium.getMolten(2592), + CustomItemList.Parametrizer_Hatch.get(1), + 800, + 122880); + // Uncertainty + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Circuit_Ultimatecrystalcomputer.get(1), + CustomItemList.DATApipe.get(16), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + }, + Materials.Iridium.getMolten(2592), + CustomItemList.Uncertainty_Hatch.get(1), + 1200, + 122880); + // Elemental Input + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Input_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), + ItemList.Sensor_UV.get(1) + }, + Materials.Osmiridium.getMolten(1296), + CustomItemList.eM_in_UV.get(1), + 800, + 500000); + // Elemental Output + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Output_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), + ItemList.Emitter_UV.get(1) + }, + Materials.Osmiridium.getMolten(1296), + CustomItemList.eM_out_UV.get(1), + 800, + 500000); + // Overflow + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Muffler_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Naquadah, 1), + ItemList.Field_Generator_UV.get(1) + }, + Materials.Osmiridium.getMolten(1296), + CustomItemList.eM_muffler_UV.get(1), + 800, + 500000); - //region multi blocks + // endregion - //Microwave Grinder - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Machine_HV_Microwave.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16), - ItemList.Upgrade_Overclocker.get(4), - }, Materials.Copper.getMolten(576), CustomItemList.Machine_Multi_Microwave.get(1), 800, 480); + // region multi blocks - //Network Switch - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.Machine_Multi_Transformer.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 4), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 64), - CustomItemList.DATApipe.get(4), - }, Materials.Iridium.getMolten(1296), CustomItemList.Machine_Multi_Switch.get(1), 800, 122880); - - //Quantum Computer - GT_Values.RA.addAssemblylineRecipe(ItemList.Tool_DataOrb.get(1), 20000, new Object[]{ + // Microwave Grinder + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Machine_HV_Microwave.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16), + ItemList.Upgrade_Overclocker.get(4), + }, + Materials.Copper.getMolten(576), + CustomItemList.Machine_Multi_Microwave.get(1), + 800, + 480); + + // Network Switch + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.Machine_Multi_Transformer.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 64), + CustomItemList.DATApipe.get(4), + }, + Materials.Iridium.getMolten(1296), CustomItemList.Machine_Multi_Switch.get(1), - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2)}, + 800, + 122880); + + // Quantum Computer + GT_Values.RA.addAssemblylineRecipe( ItemList.Tool_DataOrb.get(1), - ItemList.Cover_Screen.get(1), - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireGt04, getOrDefault("SuperconductorUV",Materials.Superconductor), 8)}, - CustomItemList.DATApipe.get(8), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Hydrogen.getGas(1000), - }, CustomItemList.Machine_Multi_Computer.get(1), 12000, 100000); + 20000, + new Object[] { + CustomItemList.Machine_Multi_Switch.get(1), + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2)}, + ItemList.Tool_DataOrb.get(1), + ItemList.Cover_Screen.get(1), + new ItemStack[] { + GT_OreDictUnificator.get( + OrePrefixes.wireGt04, getOrDefault("SuperconductorUV", Materials.Superconductor), 8) + }, + CustomItemList.DATApipe.get(8), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Hydrogen.getGas(1000), + }, + CustomItemList.Machine_Multi_Computer.get(1), + 12000, + 100000); + + // Research Station + GT_Values.RA.addAssemblylineRecipe( + ItemList.Machine_IV_Scanner.get(1), + 80000, + new Object[] { + CustomItemList.Machine_Multi_Switch.get(1), + ItemList.Sensor_ZPM.get(8), + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 4)}, + ItemList.Field_Generator_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4)}, + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 32)}, + CustomItemList.DATApipe.get(16), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_Research.get(1), + 12000, + 100000); - //Research Station - GT_Values.RA.addAssemblylineRecipe(ItemList.Machine_IV_Scanner.get(1), 80000, new Object[]{ + // Matter Junction + TT_recipeAdder.addResearchableAssemblylineRecipe( CustomItemList.Machine_Multi_Switch.get(1), - ItemList.Sensor_ZPM.get(8), - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 4)}, - ItemList.Field_Generator_ZPM.get(1), - ItemList.Electric_Motor_ZPM.get(2), - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4)}, - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 32)}, - CustomItemList.DATApipe.get(16), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_Research.get(1), 12000, 100000); + 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), + ItemList.Electric_Piston_LuV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 4), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_EMjunction.get(1), + 12000, + 100000); - //Matter Junction - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Switch.get(1), - 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), - ItemList.Electric_Piston_LuV.get(2), - ItemList.Circuit_Wetwaresupercomputer.get(2), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 4), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_EMjunction.get(1), 12000, 100000); + // Matter Quantizer + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Input_UV.get(1), + 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), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_MatterToEM.get(1), + 12000, + 100000); - //Matter Quantizer - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Input_UV.get(1), - 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), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_MatterToEM.get(1), 12000, 100000); + // Matter DeQuantizer + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Output_UV.get(1), + 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), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_EMToMatter.get(1), + 12000, + 100000); - //Matter DeQuantizer - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Output_UV.get(1), - 12000,32, 500000, 6, new ItemStack[]{ + // Multi Infuser + TT_recipeAdder.addResearchableAssemblylineRecipe( CustomItemList.Machine_Multi_Transformer.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), - ItemList.Sensor_UV.get(2), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_EMToMatter.get(1), 12000, 100000); - - //Multi Infuser - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Transformer.get(1), - 192000,512, 2000000, 32, new ItemStack[]{ - CustomItemList.Machine_Multi_Transformer.get(1), - CustomItemList.eM_Coil.get(8), - CustomItemList.eM_Power.get( 8), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), - }, new FluidStack[]{ - Materials.Electrum.getMolten(2592), - Materials.Neutronium.getMolten(1872), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - }, CustomItemList.Machine_Multi_Infuser.get(1), 8000, 2000000); - - - //endregion + 192000, + 512, + 2000000, + 32, + new ItemStack[] { + CustomItemList.Machine_Multi_Transformer.get(1), + CustomItemList.eM_Coil.get(8), + CustomItemList.eM_Power.get(8), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), + }, + new FluidStack[] { + Materials.Electrum.getMolten(2592), + Materials.Neutronium.getMolten(1872), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + }, + CustomItemList.Machine_Multi_Infuser.get(1), + 8000, + 2000000); + + // 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)); + + 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)); } } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMComplexAspectDefinition.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMComplexAspectDefinition.java index c2d93cf0fd..197e59dc1e 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMComplexAspectDefinition.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMComplexAspectDefinition.java @@ -1,5 +1,10 @@ package com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; @@ -11,16 +16,11 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.reg import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMConstantStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 06.05.2017. */ public final class EMComplexAspectDefinition extends EMComplexTemplate { - private final int hash; + private final int hash; private final double mass; private static final String nbtType = "`"; @@ -52,14 +52,15 @@ public final class EMComplexAspectDefinition extends EMComplexTemplate { hash = super.hashCode(); } - //public but u can just try{}catch(){} the constructor it still calls this method + // public but u can just try{}catch(){} the constructor it still calls this method private static boolean canTheyBeTogether(EMConstantStackMap stacks) { long amount = 0; for (EMDefinitionStack aspects : stacks.valuesToArray()) { - if (!(aspects.getDefinition() instanceof EMComplexAspectDefinition) && !(aspects.getDefinition() instanceof EMPrimalAspectDefinition)) { + if (!(aspects.getDefinition() instanceof EMComplexAspectDefinition) + && !(aspects.getDefinition() instanceof EMPrimalAspectDefinition)) { return false; } - if((int) aspects.getAmount() != aspects.getAmount()){ + if ((int) aspects.getAmount() != aspects.getAmount()) { throw new ArithmeticException("Amount cannot be safely converted to int!"); } amount += aspects.getAmount(); @@ -157,7 +158,7 @@ public final class EMComplexAspectDefinition extends EMComplexTemplate { @Override public EMDecay[] getEnergyInducedDecay(long energyLevel) { - return new EMDecay[]{new EMDecay(0.75F, aspectStacks), deadEnd}; + return new EMDecay[] {new EMDecay(0.75F, aspectStacks), deadEnd}; } @Override @@ -206,10 +207,16 @@ public final class EMComplexAspectDefinition extends EMComplexTemplate { } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(nbtType, new EMIndirectType((definitionsRegistry, nbt)-> - new EMComplexAspectDefinition(EMConstantStackMap.fromNBT(definitionsRegistry,nbt)), EMComplexAspectDefinition.class, "tt.keyword.Aspect")); + registry.registerDefinitionClass( + nbtType, + new EMIndirectType( + (definitionsRegistry, nbt) -> + new EMComplexAspectDefinition(EMConstantStackMap.fromNBT(definitionsRegistry, nbt)), + EMComplexAspectDefinition.class, + "tt.keyword.Aspect")); if (DEBUG_MODE) { - TecTech.LOGGER.info("Registered Elemental Matter Class: ComplexAspect " + nbtType + ' ' + getClassTypeStatic()); + TecTech.LOGGER.info( + "Registered Elemental Matter Class: ComplexAspect " + nbtType + ' ' + getClassTypeStatic()); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMPrimalAspectDefinition.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMPrimalAspectDefinition.java index 6fa709ef3e..26a425bcc8 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMPrimalAspectDefinition.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMPrimalAspectDefinition.java @@ -1,37 +1,37 @@ package com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions; +import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.EMPrimitiveTemplate; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; -import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 06.05.2017. */ public final class EMPrimalAspectDefinition extends EMPrimitiveTemplate { public static final EMPrimalAspectDefinition - magic_air = new EMPrimalAspectDefinition("tt.keyword.Air", "a`", 1e1D, 45,"a`"), - magic_earth = new EMPrimalAspectDefinition("tt.keyword.Earth", "e`", 1e9D, 44,"e`"), - magic_fire = new EMPrimalAspectDefinition("tt.keyword.Fire", "f`", 1e3D, 43,"f`"), - magic_water = new EMPrimalAspectDefinition("tt.keyword.Water", "w`", 1e7D, 42,"w`"), - magic_order = new EMPrimalAspectDefinition("tt.keyword.Order", "o`", 1e5D, 40,"o`"), - magic_entropy = new EMPrimalAspectDefinition("tt.keyword.Chaos", "c`", 1e5D, 41,"c`"); - - private EMPrimalAspectDefinition(String name, String symbol, double mass, int ID,String bind) { - super(name, symbol, 0, mass, 0, -1, ID,bind); + magic_air = new EMPrimalAspectDefinition("tt.keyword.Air", "a`", 1e1D, 45, "a`"), + magic_earth = new EMPrimalAspectDefinition("tt.keyword.Earth", "e`", 1e9D, 44, "e`"), + magic_fire = new EMPrimalAspectDefinition("tt.keyword.Fire", "f`", 1e3D, 43, "f`"), + magic_water = new EMPrimalAspectDefinition("tt.keyword.Water", "w`", 1e7D, 42, "w`"), + magic_order = new EMPrimalAspectDefinition("tt.keyword.Order", "o`", 1e5D, 40, "o`"), + magic_entropy = new EMPrimalAspectDefinition("tt.keyword.Chaos", "c`", 1e5D, 41, "c`"); + + private EMPrimalAspectDefinition(String name, String symbol, double mass, int ID, String bind) { + super(name, symbol, 0, mass, 0, -1, ID, bind); } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(new EMType(EMPrimalAspectDefinition.class,"tt.keyword.Primal")); - magic_air.init(registry,null, -1F, -1, -1, NO_DECAY); - magic_earth.init(registry,null, -1F, -1, -1, NO_DECAY); - magic_fire.init(registry,null, -1F, -1, -1, NO_DECAY); - magic_water.init(registry,null, -1F, -1, -1, NO_DECAY); - magic_order.init(registry,null, -1F, -1, -1, NO_DECAY); - magic_entropy.init(registry,null, -1F, -1, -1, NO_DECAY); + registry.registerDefinitionClass(new EMType(EMPrimalAspectDefinition.class, "tt.keyword.Primal")); + magic_air.init(registry, null, -1F, -1, -1, NO_DECAY); + magic_earth.init(registry, null, -1F, -1, -1, NO_DECAY); + magic_fire.init(registry, null, -1F, -1, -1, NO_DECAY); + magic_water.init(registry, null, -1F, -1, -1, NO_DECAY); + magic_order.init(registry, null, -1F, -1, -1, NO_DECAY); + magic_entropy.init(registry, null, -1F, -1, -1, NO_DECAY); } @Override @@ -49,4 +49,4 @@ public final class EMPrimalAspectDefinition extends EMPrimitiveTemplate { public boolean isTimeSpanHalfLife() { return false; } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompat.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompat.java index c1c6c6dcb2..e3d7835692 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompat.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompat.java @@ -1,30 +1,28 @@ package com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations; - import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; - import java.util.HashMap; /** * Created by Tec on 21.05.2017. */ public class AspectDefinitionCompat { - public static AspectDefinitionCompat aspectDefinitionCompat; - private final HashMap defToAspect = new HashMap<>(); + public static AspectDefinitionCompat aspectDefinitionCompat; + private final HashMap defToAspect = new HashMap<>(); private final HashMap aspectToDef = new HashMap<>(); - public void run(EMDefinitionsRegistry registry){} + public void run(EMDefinitionsRegistry registry) {} - public String getAspectTag(IEMDefinition definition){ + public String getAspectTag(IEMDefinition definition) { return null; } - public String getAspectLocalizedName(IEMDefinition definition){ + public String getAspectLocalizedName(IEMDefinition definition) { return null; } - public IEMDefinition getDefinition(String aspect){ + public IEMDefinition getDefinition(String aspect) { return null; } diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompatEnabled.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompatEnabled.java index 5b47414dc0..aa01486ec3 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompatEnabled.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompatEnabled.java @@ -1,60 +1,65 @@ package com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations; +import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.EMPrimalAspectDefinition.*; + import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.EMComplexAspectDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; -import thaumcraft.api.aspects.Aspect; - import java.util.ArrayList; - -import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.EMPrimalAspectDefinition.*; +import thaumcraft.api.aspects.Aspect; /** * Created by Tec on 21.05.2017. */ public final class AspectDefinitionCompatEnabled extends AspectDefinitionCompat { @Override - public void run(EMDefinitionsRegistry registry){ - getDefToAspect().put(magic_air,"aer"); - getDefToAspect().put(magic_earth,"terra"); - getDefToAspect().put(magic_fire,"ignis"); - getDefToAspect().put(magic_water,"aqua"); - getDefToAspect().put(magic_order,"ordo"); - getDefToAspect().put(magic_entropy,"perditio"); + public void run(EMDefinitionsRegistry registry) { + getDefToAspect().put(magic_air, "aer"); + getDefToAspect().put(magic_earth, "terra"); + getDefToAspect().put(magic_fire, "ignis"); + getDefToAspect().put(magic_water, "aqua"); + getDefToAspect().put(magic_order, "ordo"); + getDefToAspect().put(magic_entropy, "perditio"); - getAspectToDef().put("aer",magic_air); - getAspectToDef().put("terra",magic_earth); - getAspectToDef().put("ignis",magic_fire); - getAspectToDef().put("aqua",magic_water); - getAspectToDef().put("ordo",magic_order); - getAspectToDef().put("perditio",magic_entropy); + getAspectToDef().put("aer", magic_air); + getAspectToDef().put("terra", magic_earth); + getAspectToDef().put("ignis", magic_fire); + getAspectToDef().put("aqua", magic_water); + getAspectToDef().put("ordo", magic_order); + getAspectToDef().put("perditio", magic_entropy); - ArrayList list=Aspect.getCompoundAspects(); - Aspect[] array= list.toArray(new Aspect[0]); + ArrayList list = Aspect.getCompoundAspects(); + Aspect[] array = list.toArray(new Aspect[0]); while (!list.isEmpty()) { for (Aspect aspect : array) { if (list.contains(aspect)) { Aspect[] content = aspect.getComponents(); if (content.length != 2) { list.remove(aspect); - }else if(getAspectToDef().containsKey(content[0].getTag()) && getAspectToDef().containsKey(content[1].getTag())){ + } else if (getAspectToDef().containsKey(content[0].getTag()) + && getAspectToDef().containsKey(content[1].getTag())) { try { EMComplexAspectDefinition newAspect; - if(content[0].getTag().equals(content[1].getTag())){ - newAspect = new EMComplexAspectDefinition( - getAspectToDef().get(content[0].getTag()).getStackForm(2)); - }else{ + if (content[0].getTag().equals(content[1].getTag())) { + newAspect = new EMComplexAspectDefinition(getAspectToDef() + .get(content[0].getTag()) + .getStackForm(2)); + } else { newAspect = new EMComplexAspectDefinition( - getAspectToDef().get(content[0].getTag()).getStackForm(1), - getAspectToDef().get(content[1].getTag()).getStackForm(1)); + getAspectToDef() + .get(content[0].getTag()) + .getStackForm(1), + getAspectToDef() + .get(content[1].getTag()) + .getStackForm(1)); } - getAspectToDef().put(aspect.getTag(),newAspect); - getDefToAspect().put(newAspect,aspect.getTag()); + getAspectToDef().put(aspect.getTag(), newAspect); + getDefToAspect().put(newAspect, aspect.getTag()); registry.registerForDisplay(newAspect); - }catch (EMException e) { + } catch (EMException e) { /**/ - }finally { + } finally { list.remove(aspect); } } @@ -68,7 +73,7 @@ public final class AspectDefinitionCompatEnabled extends AspectDefinitionCompat return getDefToAspect().get(definition); } - public String getAspectLocalizedName(IEMDefinition definition){ + public String getAspectLocalizedName(IEMDefinition definition) { Aspect aspect = Aspect.aspects.get(getAspectTag(definition)); return aspect != null ? aspect.getName() : null; } diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompat.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompat.java index a335b81793..7908be7bc0 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompat.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompat.java @@ -10,23 +10,23 @@ import net.minecraft.tileentity.TileEntity; public class EssentiaCompat { public static EssentiaCompat essentiaContainerCompat; - public boolean check(T meta,TileEntity te){ + public boolean check(T meta, TileEntity te) { return false; } - public TileEntity getContainer(T meta){ + public TileEntity getContainer(T meta) { return null; } - public String getEssentiaName(IEMDefinition stack){ + public String getEssentiaName(IEMDefinition stack) { return null; } - public boolean putInContainer(TileEntity container, String name){ + public boolean putInContainer(TileEntity container, String name) { return false; } - public IEMDefinition getFromContainer(TileEntity container){ + public IEMDefinition getFromContainer(TileEntity container) { return null; } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompatEnabled.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompatEnabled.java index bd20269944..ab60922b9a 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompatEnabled.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompatEnabled.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi; +import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat.aspectDefinitionCompat; + import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import net.minecraft.tileentity.TileEntity; @@ -9,21 +11,23 @@ import thaumcraft.api.aspects.IAspectContainer; import thaumcraft.common.tiles.TileEssentiaReservoir; import thaumcraft.common.tiles.TileJarFillable; -import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat.aspectDefinitionCompat; - /** * Created by Tec on 21.05.2017. */ public class EssentiaCompatEnabled extends EssentiaCompat { @Override - public boolean check(T meta,TileEntity te) { + public boolean check(T meta, TileEntity te) { return te instanceof TileEssentiaReservoir || te instanceof TileJarFillable; } @Override public TileEntity getContainer(T meta) { - TileEntity tile =meta.getBaseMetaTileEntity().getTileEntityAtSide(meta.getBaseMetaTileEntity().getBackFacing()); - return tile!=null && !tile.isInvalid() && tile instanceof TileEssentiaReservoir || tile instanceof TileJarFillable ?tile:null; + TileEntity tile = meta.getBaseMetaTileEntity() + .getTileEntityAtSide(meta.getBaseMetaTileEntity().getBackFacing()); + return tile != null && !tile.isInvalid() && tile instanceof TileEssentiaReservoir + || tile instanceof TileJarFillable + ? tile + : null; } @Override @@ -38,28 +42,28 @@ public class EssentiaCompatEnabled extends EssentiaCompat { } if (container instanceof IAspectContainer) { Aspect aspect = Aspect.getAspect(aspectName); - if(aspect==null){ + if (aspect == null) { return false; } - int remaining=((IAspectContainer) container).addToContainer(aspect, 1); - return remaining==0; + int remaining = ((IAspectContainer) container).addToContainer(aspect, 1); + return remaining == 0; } return false; } @Override - public IEMDefinition getFromContainer(TileEntity container){ - if(container==null || container.isInvalid()) { + public IEMDefinition getFromContainer(TileEntity container) { + if (container == null || container.isInvalid()) { return null; } - if(container instanceof IAspectContainer){ - AspectList aspects=((IAspectContainer) container).getAspects(); - if(aspects!=null){ - Aspect[] aspectsArr= aspects.getAspects(); - if(aspectsArr!=null && aspectsArr[0]!=null){ - if (((IAspectContainer) container).takeFromContainer(aspectsArr[0],1)){ - return aspectDefinitionCompat.getAspectToDef().get(aspectsArr[0].getTag()); - } + if (container instanceof IAspectContainer) { + AspectList aspects = ((IAspectContainer) container).getAspects(); + if (aspects != null) { + Aspect[] aspectsArr = aspects.getAspects(); + if (aspectsArr != null && aspectsArr[0] != null) { + if (((IAspectContainer) container).takeFromContainer(aspectsArr[0], 1)) { + return aspectDefinitionCompat.getAspectToDef().get(aspectsArr[0].getTag()); + } } } } 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 d8eb7d69dc..3a1ec00999 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 @@ -1,5 +1,17 @@ package com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi; +import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_ITEM_DIMINISHED; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofTileAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; import com.github.technus.tectech.thing.block.QuantumGlassBlock; @@ -21,53 +33,65 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import thaumcraft.api.aspects.Aspect; -import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_ITEM_DIMINISHED; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofTileAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region structure - //use multi A energy inputs, use less power the longer it runs - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.hint.1"),//2 - Elemental Input Hatch - translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.hint.2"),//3 - Elemental Overflow Hatches or Elemental Casing - translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.hint.3"),//General - Some sort of Essentia Storage +public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_MultiblockBase_EM + implements IConstructable { + // region structure + // use multi A energy inputs, use less power the longer it runs + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.emtoessentia.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.hint.1"), // 2 - Elemental Input Hatch + translateToLocal( + "gt.blockmachines.multimachine.em.emtoessentia.hint.2"), // 3 - Elemental Overflow Hatches or Elemental + // Casing + translateToLocal( + "gt.blockmachines.multimachine.em.emtoessentia.hint.3"), // General - Some sort of Essentia Storage }; private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition.builder() - .addShape("main", new String[][]{ - {"DDD", "D~D", "DDD"}, - {"E E", " * ", "E E"}, - {"ABA", "BCB", "ABA"}, - {"FFF", "FBF", "FFF"}, - {"BEB", "EGE", "BEB"} + .addShape("main", new String[][] { + {"DDD", "D~D", "DDD"}, + {"E E", " * ", "E E"}, + {"ABA", "BCB", "ABA"}, + {"FFF", "FBF", "FFF"}, + {"BEB", "EGE", "BEB"} }) .addElement('A', ofBlock(sBlockCasingsTT, 0)) .addElement('B', ofBlock(sBlockCasingsTT, 4)) .addElement('C', ofBlock(sBlockCasingsTT, 8)) - .addElement('D', ofHatchAdderOptional(GT_MetaTileEntity_EM_essentiaDequantizer::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) + .addElement( + 'D', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_essentiaDequantizer::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) .addElement('E', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_essentiaDequantizer::addElementalMufflerToMachineList, textureOffset + 4, 3, sBlockCasingsTT, 4)) - .addElement('G', ofHatchAdder(GT_MetaTileEntity_EM_essentiaDequantizer::addElementalInputToMachineList, textureOffset + 4, 2)) - .addElement('*', ofTileAdder(essentiaContainerCompat::check, StructureLibAPI.getBlockHint(),12)) + .addElement( + 'F', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_essentiaDequantizer::addElementalMufflerToMachineList, + textureOffset + 4, + 3, + sBlockCasingsTT, + 4)) + .addElement( + 'G', + ofHatchAdder( + GT_MetaTileEntity_EM_essentiaDequantizer::addElementalInputToMachineList, + textureOffset + 4, + 2)) + .addElement('*', ofTileAdder(essentiaContainerCompat::check, StructureLibAPI.getBlockHint(), 12)) .build(); - private String outputEssentiaName= ""; - //endregion + private String outputEssentiaName = ""; + // endregion public GT_MetaTileEntity_EM_essentiaDequantizer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -131,8 +155,8 @@ public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_ TileEntity container = essentiaContainerCompat.getContainer(this); if (container == null) { stopMachine(); - }else{ - if(!essentiaContainerCompat.putInContainer(container,outputEssentiaName)){ + } else { + if (!essentiaContainerCompat.putInContainer(container, outputEssentiaName)) { stopMachine(); } } @@ -142,17 +166,35 @@ public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_ @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.name")) // Machine Type: Essentia Dequantizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.desc.0")) // Controller block of the Essentia Dequantizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.desc.1")) // Transforms elemental matter back into essentia + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.emtoessentia.name")) // Machine Type: Essentia Dequantizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.emtoessentia.desc.0")) // Controller block of the + // Essentia Dequantizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.emtoessentia.desc.1")) // Transforms elemental matter + // back into essentia .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(3, 3, 5, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalInput"), translateToLocal("tt.keyword.Structure.BackCenter"), 2) // Elemental Input Hatch: Back center - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOverflow"), translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing4th"), 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 4th slice - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.EssentiaStorage"), translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Essentia Storage: Any High Power Casing on the front side - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Energy Hatch: Any High Power Casing on the front side - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Maintenance Hatch: Any High Power Casing on the front side + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalInput"), + translateToLocal("tt.keyword.Structure.BackCenter"), + 2) // Elemental Input Hatch: Back center + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOverflow"), + translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing4th"), + 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 4th slice + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.EssentiaStorage"), + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Essentia Storage: Any High Power Casing on the front side + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Energy Hatch: Any High Power Casing on the front side + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Maintenance Hatch: Any High Power Casing on the front side .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } 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 a151c2becf..f1e28c4b27 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 @@ -1,5 +1,16 @@ package com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi; +import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofTileAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.EMPrimalAspectDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; @@ -20,50 +31,63 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; -import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofTileAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region structure - //use multi A energy inputs, use less power the longer it runs - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.hint.1"),//2 - Elemental Output Hatch - translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.hint.2"),//3 - Elemental Overflow Hatches or Elemental Casing - translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.hint.3"),//General - Some sort of Essentia Storage +public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_MultiblockBase_EM + implements IConstructable { + // region structure + // use multi A energy inputs, use less power the longer it runs + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.essentiatoem.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.hint.1"), // 2 - Elemental Output Hatch + translateToLocal( + "gt.blockmachines.multimachine.em.essentiatoem.hint.2"), // 3 - Elemental Overflow Hatches or Elemental + // Casing + translateToLocal( + "gt.blockmachines.multimachine.em.essentiatoem.hint.3"), // General - Some sort of Essentia Storage }; private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition.builder() - .addShape("main", new String[][]{ - {"FFF", "F~F", "FFF"}, - {"E E", " * ", "E E"}, - {"BAB", "ACA", "BAB"}, - {"DDD", "DBD", "DDD"}, - {"EBE", "BGB", "EBE"} - }) - .addElement('A', ofBlock(sBlockCasingsTT, 0)) - .addElement('B', ofBlock(sBlockCasingsTT, 4)) - .addElement('C', ofBlock(sBlockCasingsTT, 8)) - .addElement('D', ofHatchAdderOptional(GT_MetaTileEntity_EM_essentiaQuantizer::addElementalMufflerToMachineList, textureOffset + 4, 3, sBlockCasingsTT, 4)) - .addElement('E', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_essentiaQuantizer::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('G', ofHatchAdder(GT_MetaTileEntity_EM_essentiaQuantizer::addElementalOutputToMachineList, textureOffset + 4, 2)) - .addElement('*', ofTileAdder(essentiaContainerCompat::check, StructureLibAPI.getBlockHint(),12)) - .build(); - //endregion + .addShape("main", new String[][] { + {"FFF", "F~F", "FFF"}, + {"E E", " * ", "E E"}, + {"BAB", "ACA", "BAB"}, + {"DDD", "DBD", "DDD"}, + {"EBE", "BGB", "EBE"} + }) + .addElement('A', ofBlock(sBlockCasingsTT, 0)) + .addElement('B', ofBlock(sBlockCasingsTT, 4)) + .addElement('C', ofBlock(sBlockCasingsTT, 8)) + .addElement( + 'D', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_essentiaQuantizer::addElementalMufflerToMachineList, + textureOffset + 4, + 3, + sBlockCasingsTT, + 4)) + .addElement('E', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'F', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_essentiaQuantizer::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'G', + ofHatchAdder( + GT_MetaTileEntity_EM_essentiaQuantizer::addElementalOutputToMachineList, + textureOffset + 4, + 2)) + .addElement('*', ofTileAdder(essentiaContainerCompat::check, StructureLibAPI.getBlockHint(), 12)) + .build(); + // endregion public GT_MetaTileEntity_EM_essentiaQuantizer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -90,8 +114,8 @@ public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_Mu mMaxProgresstime = 20; mEfficiencyIncrease = 10000; eAmpereFlow = 1; - outputEM = new EMInstanceStackMap[]{ - new EMInstanceStackMap(new EMInstanceStack(definition, EM_COUNT_PER_MATERIAL_AMOUNT)) + outputEM = new EMInstanceStackMap[] { + new EMInstanceStackMap(new EMInstanceStack(definition, EM_COUNT_PER_MATERIAL_AMOUNT)) }; if (definition instanceof EMPrimalAspectDefinition) { mEUt = (int) -V[8]; @@ -116,17 +140,35 @@ public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_Mu @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.name")) // Machine Type: Essentia Quantizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.desc.0")) // Controller block of the Essentia Quantizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.desc.1")) // Transforms essentia into their elemental form + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.essentiatoem.name")) // Machine Type: Essentia Quantizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.essentiatoem.desc.0")) // Controller block of the + // Essentia Quantizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.essentiatoem.desc.1")) // Transforms essentia into + // their elemental form .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(3, 3, 5, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOutput"), translateToLocal("tt.keyword.Structure.BackCenter"), 2) // Elemental Output Hatch: Back center - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOverflow"), translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing4th"), 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 4th slice - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.EssentiaStorage"), translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Essentia Storage: Any High Power Casing on the front side - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Energy Hatch: Any High Power Casing on the front side - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Maintenance Hatch: Any High Power Casing on the front side + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOutput"), + translateToLocal("tt.keyword.Structure.BackCenter"), + 2) // Elemental Output Hatch: Back center + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOverflow"), + translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing4th"), + 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 4th slice + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.EssentiaStorage"), + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Essentia Storage: Any High Power Casing on the front side + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Energy Hatch: Any High Power Casing on the front side + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Maintenance Hatch: Any High Power Casing on the front side .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } diff --git a/src/main/java/com/github/technus/tectech/font/TecTechFontRender.java b/src/main/java/com/github/technus/tectech/font/TecTechFontRender.java index 60c3df47f9..a07f3fc224 100644 --- a/src/main/java/com/github/technus/tectech/font/TecTechFontRender.java +++ b/src/main/java/com/github/technus/tectech/font/TecTechFontRender.java @@ -5,31 +5,33 @@ import com.ibm.icu.text.ArabicShapingException; import com.ibm.icu.text.Bidi; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.io.IOException; +import java.io.InputStream; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; -import java.io.IOException; -import java.io.InputStream; - @SideOnly(Side.CLIENT) public class TecTechFontRender extends FontRenderer { public static final TecTechFontRender INSTANCE = new TecTechFontRender(); - private static final float DISTANCE_L = .125F; + private static final float DISTANCE_L = .125F; private static final float DISTANCE_L2 = DISTANCE_L * 2F; - private static final float DISTANCE_M = 0.06F; + private static final float DISTANCE_M = 0.06F; private static final float DISTANCE_M2 = DISTANCE_M * 2F; - private static final float DISTANCE_A = 0.06F; + private static final float DISTANCE_A = 0.06F; private static final float DISTANCE_A2 = DISTANCE_A * 2F; - private TecTechFontRender() { - super(Minecraft.getMinecraft().gameSettings, new ResourceLocation("textures/font/ascii.png"), Minecraft.getMinecraft().renderEngine, false); + super( + Minecraft.getMinecraft().gameSettings, + new ResourceLocation("textures/font/ascii.png"), + Minecraft.getMinecraft().renderEngine, + false); } private void resetStyles() { @@ -81,8 +83,8 @@ public class TecTechFontRender extends FontRenderer { private void renderStringAtPos(String p_78255_1_, boolean p_78255_2_) { for (int i = 0; i < p_78255_1_.length(); ++i) { char c0 = p_78255_1_.charAt(i); - int j; - int k; + int j; + int k; if (c0 == 167 && i + 1 < p_78255_1_.length()) { j = "0123456789abcdefklmnor".indexOf(p_78255_1_.toLowerCase().charAt(i + 1)); if (j < 16) { @@ -101,7 +103,11 @@ public class TecTechFontRender extends FontRenderer { k = this.colorCode[j]; this.textColor = k; - this.setColor((float) (k >> 16) / 255.0F, (float) (k >> 8 & 255) / 255.0F, (float) (k & 255) / 255.0F, this.alpha); + this.setColor( + (float) (k >> 16) / 255.0F, + (float) (k >> 8 & 255) / 255.0F, + (float) (k & 255) / 255.0F, + this.alpha); } else if (j == 16) { this.randomStyle = true; } else if (j == 17) { @@ -123,7 +129,9 @@ public class TecTechFontRender extends FontRenderer { ++i; } else { - j = "\u00C0\u00C1\u00C2\u00C8\u00CA\u00CB\u00CD\u00D3\u00D4\u00D5\u00DA\u00DF\u00E3\u00F5\u011F\u0130\u0131\u0152\u0153\u015E\u015F\u0174\u0175\u017E\u0207\u0000\u0000\u0000\u0000\u0000\u0000\u0000 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u0000\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9\u00FF\u00D6\u00DC\u00F8\u00A3\u00D8\u00D7\u0192\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA\u00BF\u00AE\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\u03B2\u0393\u03C0\u03A3\u03C3\u03BC\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u2205\u2208\u2229\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u0000".indexOf(c0); + j = + "\u00C0\u00C1\u00C2\u00C8\u00CA\u00CB\u00CD\u00D3\u00D4\u00D5\u00DA\u00DF\u00E3\u00F5\u011F\u0130\u0131\u0152\u0153\u015E\u015F\u0174\u0175\u017E\u0207\u0000\u0000\u0000\u0000\u0000\u0000\u0000 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u0000\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9\u00FF\u00D6\u00DC\u00F8\u00A3\u00D8\u00D7\u0192\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA\u00BF\u00AE\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\u03B2\u0393\u03C0\u03A3\u03C3\u03BC\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u2205\u2208\u2229\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u0000" + .indexOf(c0); if (this.randomStyle && j != -1) { do { k = this.fontRandom.nextInt(this.charWidth.length); @@ -132,7 +140,7 @@ public class TecTechFontRender extends FontRenderer { j = k; } - float f1 = this.unicodeFlag ? 0.5F : 1.0F; + float f1 = this.unicodeFlag ? 0.5F : 1.0F; boolean flag1 = (c0 == 0 || j == -1 || this.unicodeFlag) && p_78255_2_; if (flag1) { this.posX -= f1; @@ -165,7 +173,6 @@ public class TecTechFontRender extends FontRenderer { this.doDraw(f); } } - } @Override @@ -199,7 +206,14 @@ public class TecTechFontRender extends FontRenderer { } private float renderCharAtPos(int p_78278_1_, char p_78278_2_, boolean p_78278_3_) { - return p_78278_2_ == ' ' ? 4.0F : ("\u00C0\u00C1\u00C2\u00C8\u00CA\u00CB\u00CD\u00D3\u00D4\u00D5\u00DA\u00DF\u00E3\u00F5\u011F\u0130\u0131\u0152\u0153\u015E\u015F\u0174\u0175\u017E\u0207\u0000\u0000\u0000\u0000\u0000\u0000\u0000 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u0000\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9\u00FF\u00D6\u00DC\u00F8\u00A3\u00D8\u00D7\u0192\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA\u00BF\u00AE\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\u03B2\u0393\u03C0\u03A3\u03C3\u03BC\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u2205\u2208\u2229\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u0000".indexOf(p_78278_2_) != -1 && !this.unicodeFlag ? this.renderDefaultChar(p_78278_1_, p_78278_3_) : this.renderUnicodeChar(p_78278_2_, p_78278_3_)); + return p_78278_2_ == ' ' + ? 4.0F + : ("\u00C0\u00C1\u00C2\u00C8\u00CA\u00CB\u00CD\u00D3\u00D4\u00D5\u00DA\u00DF\u00E3\u00F5\u011F\u0130\u0131\u0152\u0153\u015E\u015F\u0174\u0175\u017E\u0207\u0000\u0000\u0000\u0000\u0000\u0000\u0000 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u0000\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9\u00FF\u00D6\u00DC\u00F8\u00A3\u00D8\u00D7\u0192\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA\u00BF\u00AE\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\u03B2\u0393\u03C0\u03A3\u03C3\u03BC\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u2205\u2208\u2229\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u0000" + .indexOf(p_78278_2_) + != -1 + && !this.unicodeFlag + ? this.renderDefaultChar(p_78278_1_, p_78278_3_) + : this.renderUnicodeChar(p_78278_2_, p_78278_3_)); } @Override @@ -390,12 +404,12 @@ public class TecTechFontRender extends FontRenderer { if (p_78256_1_ == null) { return 0; } else { - int i = 0; + int i = 0; boolean flag = false; for (int j = 0; j < p_78256_1_.length(); ++j) { char c0 = p_78256_1_.charAt(j); - int k = this.getCharWidth(c0); + int k = this.getCharWidth(c0); if (k < 0 && j < p_78256_1_.length() - 1) { ++j; @@ -422,6 +436,4 @@ public class TecTechFontRender extends FontRenderer { return i; } } - - } diff --git a/src/main/java/com/github/technus/tectech/loader/EntityLoader.java b/src/main/java/com/github/technus/tectech/loader/EntityLoader.java index b188989ba3..00a702f112 100644 --- a/src/main/java/com/github/technus/tectech/loader/EntityLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/EntityLoader.java @@ -11,7 +11,7 @@ import cpw.mods.fml.common.registry.EntityRegistry; public class EntityLoader implements Runnable { @Override public void run() { - if(Loader.isModLoaded("openmodularturrets")) { + if (Loader.isModLoaded("openmodularturrets")) { EntityRegistry.registerModEntity(projectileEM.class, "projectileEM", 0, TecTech.instance, 16, 5, true); } } 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 7965f09aff..f34ee81709 100644 --- a/src/main/java/com/github/technus/tectech/loader/MainLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/MainLoader.java @@ -1,5 +1,12 @@ package com.github.technus.tectech.loader; +import static com.github.technus.tectech.TecTech.*; +import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat.aspectDefinitionCompat; +import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.util.CommonValues.*; +import static gregtech.api.enums.GT_Values.W; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat; @@ -30,29 +37,20 @@ import gregtech.api.enums.Materials; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; - -import static com.github.technus.tectech.TecTech.*; -import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat.aspectDefinitionCompat; -import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.util.CommonValues.*; -import static gregtech.api.enums.GT_Values.W; - public final class MainLoader { public static DamageSource microwaving, elementalPollution, subspace; - private MainLoader() { - } + private MainLoader() {} public static void staticLoad() { for (int i = 0; i < 16; i++) { @@ -67,7 +65,7 @@ public final class MainLoader { creativeTabTecTech = new CreativeTabTecTech("TecTech"); creativeTabEM = new CreativeTabEM("EM"); - //set expanded texture arrays for tiers + // set expanded texture arrays for tiers try { Textures.run(); } catch (Throwable t) { @@ -124,14 +122,16 @@ public final class MainLoader { ProgressManager.pop(progressBarLoad); } - public static void postLoad(EMDefinitionsRegistry definitionsRegistry, EMTransformationRegistry transformationInfo) { + public static void postLoad( + EMDefinitionsRegistry definitionsRegistry, EMTransformationRegistry transformationInfo) { ProgressManager.ProgressBar progressBarPostLoad = ProgressManager.push("TecTech Post Loader", 4); progressBarPostLoad.step("Dreamcraft Compatibility"); if (Loader.isModLoaded(Reference.DREAMCRAFT)) { try { Class clazz = Class.forName("com.dreammaster.gthandler.casings.GT_Container_CasingsNH"); - TT_Container_Casings.sBlockCasingsNH = (Block) clazz.getField("sBlockCasingsNH").get(null); + TT_Container_Casings.sBlockCasingsNH = + (Block) clazz.getField("sBlockCasingsNH").get(null); if (TT_Container_Casings.sBlockCasingsNH == null) { throw new NullPointerException("sBlockCasingsNH Is not set at this time"); @@ -153,10 +153,10 @@ public final class MainLoader { new BaseRecipeLoader().run(transformationInfo); TecTech.LOGGER.info("Recipe Init Done"); - //Hazmat moved to GT5U - //progressBarPostLoad.step("Register Extra Hazmat Suits"); - //registerExtraHazmats(); - //TecTech.LOGGER.info("Hazmat additions done"); + // Hazmat moved to GT5U + // progressBarPostLoad.step("Register Extra Hazmat Suits"); + // registerExtraHazmats(); + // TecTech.LOGGER.info("Hazmat additions done"); if (!configTecTech.DISABLE_BLOCK_HARDNESS_NERF) { progressBarPostLoad.step("Nerf blocks blast resistance"); @@ -171,8 +171,8 @@ public final class MainLoader { } private static void registerExtraHazmats() { - ItemStack EMT_iqC = GT_ModHandler.getModItem("EMT", "itemArmorQuantumChestplate", 1, W); - ItemStack GRAVI_gC = GT_ModHandler.getModItem("GraviSuite", "graviChestPlate", 1, W); + ItemStack EMT_iqC = GT_ModHandler.getModItem("EMT", "itemArmorQuantumChestplate", 1, W); + ItemStack GRAVI_gC = GT_ModHandler.getModItem("GraviSuite", "graviChestPlate", 1, W); ItemStack GRAVI_anC = GT_ModHandler.getModItem("GraviSuite", "advNanoChestPlate", 1, W); ItemStack IC2_qH = GT_ModHandler.getIC2Item("quantumHelmet", 1L, W); @@ -239,7 +239,7 @@ public final class MainLoader { GregTech_API.sElectroHazmatList.add(IC2_qL); GregTech_API.sElectroHazmatList.add(IC2_qB); - //todo add GC GS stuff + // todo add GC GS stuff } public static void addAfterGregTechPostLoadRunner() { @@ -259,11 +259,11 @@ public final class MainLoader { if (DEBUG_MODE) { LOGGER.info("Found Plasma of " + material.mName); } - if (material.mElement != null && - (material.mElement.mProtons >= Materials.Iron.mElement.mProtons || - -material.mElement.mProtons >= Materials.Iron.mElement.mProtons || - material.mElement.mNeutrons >= Materials.Iron.mElement.mNeutrons || - -material.mElement.mNeutrons >= Materials.Iron.mElement.mNeutrons)) { + if (material.mElement != null + && (material.mElement.mProtons >= Materials.Iron.mElement.mProtons + || -material.mElement.mProtons >= Materials.Iron.mElement.mProtons + || material.mElement.mNeutrons >= Materials.Iron.mElement.mNeutrons + || -material.mElement.mNeutrons >= Materials.Iron.mElement.mNeutrons)) { if (DEBUG_MODE) { LOGGER.info("Attempting to bind " + material.mName); } @@ -306,11 +306,12 @@ public final class MainLoader { public static int getFuelValue(FluidStack aLiquid) { if (aLiquid == null || GT_Recipe.GT_Recipe_Map.sTurbineFuels == null) return 0; - FluidStack tLiquid; + FluidStack tLiquid; Collection tRecipeList = GT_Recipe.GT_Recipe_Map.sPlasmaFuels.mRecipeList; - if (tRecipeList != null) for (GT_Recipe tFuel : tRecipeList) - if ((tLiquid = GT_Utility.getFluidForFilledItem(tFuel.getRepresentativeInput(0), true)) != null) - if (aLiquid.isFluidEqual(tLiquid)) return tFuel.mSpecialValue; + if (tRecipeList != null) + for (GT_Recipe tFuel : tRecipeList) + if ((tLiquid = GT_Utility.getFluidForFilledItem(tFuel.getRepresentativeInput(0), true)) != null) + if (aLiquid.isFluidEqual(tLiquid)) return tFuel.mSpecialValue; return 0; } @@ -344,8 +345,7 @@ public final class MainLoader { "witchery", "lootgames", "utilityworlds", - Reference.MODID - )); + Reference.MODID)); for (Block block : GameData.getBlockRegistry().typeSafeIterable()) { GameRegistry.UniqueIdentifier uniqueIdentifier = GameRegistry.findUniqueIdentifierFor(block); if (uniqueIdentifier != null) { 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 8401af51ca..4b57c09ab8 100644 --- a/src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java +++ b/src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.loader; +import static com.github.technus.tectech.Reference.MODID; + import com.github.technus.tectech.mechanics.data.ChunkDataMessage; import com.github.technus.tectech.mechanics.data.PlayerDataMessage; import com.github.technus.tectech.mechanics.enderStorage.EnderLinkCoverMessage; @@ -7,8 +9,6 @@ import com.github.technus.tectech.mechanics.pipe.PipeActivityMessage; import com.github.technus.tectech.mechanics.spark.RendererMessage; import com.github.technus.tectech.thing.metaTileEntity.hatch.TextParametersMessage; -import static com.github.technus.tectech.Reference.MODID; - public class NetworkDispatcher extends eu.usrv.yamcore.network.PacketDispatcher { public static NetworkDispatcher INSTANCE; @@ -32,11 +32,13 @@ public class NetworkDispatcher extends eu.usrv.yamcore.network.PacketDispatcher registerMessage(RendererMessage.ClientHandler.class, RendererMessage.RendererData.class); registerMessage(EnderLinkCoverMessage.ServerHandler.class, EnderLinkCoverMessage.EnderLinkCoverQuery.class); - registerMessage(EnderLinkCoverMessage.ServerUpdateHandler.class, EnderLinkCoverMessage.EnderLinkCoverUpdate.class); + registerMessage( + EnderLinkCoverMessage.ServerUpdateHandler.class, EnderLinkCoverMessage.EnderLinkCoverUpdate.class); registerMessage(EnderLinkCoverMessage.ClientHandler.class, EnderLinkCoverMessage.EnderLinkCoverData.class); registerMessage(TextParametersMessage.ServerHandler.class, TextParametersMessage.ParametersTextQuery.class); - registerMessage(TextParametersMessage.ServerUpdateHandler.class, TextParametersMessage.ParametersTextUpdate.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 840fe91b11..f69941cb63 100644 --- a/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java +++ b/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java @@ -1,7 +1,6 @@ package com.github.technus.tectech.loader; import eu.usrv.yamcore.config.ConfigManager; - import java.io.File; public class TecTechConfig extends ConfigManager { @@ -9,7 +8,7 @@ public class TecTechConfig extends ConfigManager { super(pConfigBaseDirectory, pModCollectionDirectory, pModID); } - //final static to allow compiler to remove the debug code when this is false + // final static to allow compiler to remove the debug code when this is false public static boolean DEBUG_MODE = false; public static boolean POWERLESS_MODE = false; public boolean DISABLE_MATERIAL_LOADING_FFS; @@ -83,71 +82,179 @@ public class TecTechConfig extends ConfigManager { */ @Override protected void Init() { - DEBUG_MODE = _mainConfig.getBoolean("DebugMode", "debug", DEBUG_MODE, - "Enables logging and other purely debug features"); - POWERLESS_MODE = _mainConfig.getBoolean("PowerlessMode", "debug", POWERLESS_MODE, - "Enables 0EU/t multi block machinery"); - DISABLE_MATERIAL_LOADING_FFS = _mainConfig.getBoolean("DisableMaterialLoading", "debug", - DISABLE_MATERIAL_LOADING_FFS, "Set to true to disable gregtech material processing"); + DEBUG_MODE = _mainConfig.getBoolean( + "DebugMode", "debug", DEBUG_MODE, "Enables logging and other purely debug features"); + POWERLESS_MODE = + _mainConfig.getBoolean("PowerlessMode", "debug", POWERLESS_MODE, "Enables 0EU/t multi block machinery"); + DISABLE_MATERIAL_LOADING_FFS = _mainConfig.getBoolean( + "DisableMaterialLoading", + "debug", + DISABLE_MATERIAL_LOADING_FFS, + "Set to true to disable gregtech material processing"); - BOOM_ENABLE = _mainConfig.getBoolean("BoomEnable", "features", BOOM_ENABLE, + BOOM_ENABLE = _mainConfig.getBoolean( + "BoomEnable", + "features", + BOOM_ENABLE, "Set to false to disable explosions on everything bad that you can do"); - DISABLE_BLOCK_HARDNESS_NERF = _mainConfig.getBoolean("DisableBlockHardnessNerf", "features", - DISABLE_BLOCK_HARDNESS_NERF, "Set to true to disable the block hardness nerf"); - EASY_SCAN = _mainConfig.getBoolean("EasyScan", "features", EASY_SCAN, - "Enables tricorder to scan EM i/o hatches directly, too CHEEKY"); - NERF_FUSION = _mainConfig.getBoolean("NerfFusion", "features", NERF_FUSION, + DISABLE_BLOCK_HARDNESS_NERF = _mainConfig.getBoolean( + "DisableBlockHardnessNerf", + "features", + DISABLE_BLOCK_HARDNESS_NERF, + "Set to true to disable the block hardness nerf"); + EASY_SCAN = _mainConfig.getBoolean( + "EasyScan", "features", EASY_SCAN, "Enables tricorder to scan EM i/o hatches directly, too CHEEKY"); + NERF_FUSION = _mainConfig.getBoolean( + "NerfFusion", + "features", + NERF_FUSION, "Set to true to enable removal of plasmas heavier than Fe and other weird ones"); - ENABLE_TURRET_EXPLOSIONS = _mainConfig.getBoolean("TurretBoomEnable", "features", - ENABLE_TURRET_EXPLOSIONS, "Set to false to disable explosions caused by EM turrets"); - TURRET_DAMAGE_FACTOR = _mainConfig.getFloat("TurretDamageFactor", "features", TURRET_DAMAGE_FACTOR, - 0, Short.MAX_VALUE, "Damage is multiplied by this number"); - TURRET_EXPLOSION_FACTOR = _mainConfig.getFloat("TurretExplosionFactor", "features", - TURRET_EXPLOSION_FACTOR, 0, Short.MAX_VALUE, "Explosion strength is multiplied by this number"); + ENABLE_TURRET_EXPLOSIONS = _mainConfig.getBoolean( + "TurretBoomEnable", + "features", + ENABLE_TURRET_EXPLOSIONS, + "Set to false to disable explosions caused by EM turrets"); + TURRET_DAMAGE_FACTOR = _mainConfig.getFloat( + "TurretDamageFactor", + "features", + TURRET_DAMAGE_FACTOR, + 0, + Short.MAX_VALUE, + "Damage is multiplied by this number"); + TURRET_EXPLOSION_FACTOR = _mainConfig.getFloat( + "TurretExplosionFactor", + "features", + TURRET_EXPLOSION_FACTOR, + 0, + Short.MAX_VALUE, + "Explosion strength is multiplied by this number"); - MOD_ADMIN_ERROR_LOGS = _mainConfig.getBoolean("AdminErrorLog", "modules", MOD_ADMIN_ERROR_LOGS, + MOD_ADMIN_ERROR_LOGS = _mainConfig.getBoolean( + "AdminErrorLog", + "modules", + MOD_ADMIN_ERROR_LOGS, "If set to true, every op/admin will receive all errors occurred during the startup phase as in game message on join"); - TESLA_MULTI_GAS_OUTPUT = _mainConfig.getBoolean("TeslaMultiGasOutput", "tesla_tweaks", - TESLA_MULTI_GAS_OUTPUT, "Set to true to enable outputting plasmas as gasses from the tesla tower with a 1:1 ratio"); - TESLA_MULTI_LOSS_FACTOR_OVERDRIVE = _mainConfig.getFloat("TeslaMultiLossFactorOverdrive", "tesla_tweaks", - TESLA_MULTI_LOSS_FACTOR_OVERDRIVE, 0, 1, "Additional Tesla Tower power loss per amp as a factor of the tier voltage"); - TESLA_MULTI_LOSS_PER_BLOCK_T0 = _mainConfig.getInt("TeslaMultiLossPerBlockT0", "tesla_tweaks", - TESLA_MULTI_LOSS_PER_BLOCK_T0, 0, Integer.MAX_VALUE, "Tesla Tower power transmission loss per block per amp using no plasmas"); - TESLA_MULTI_LOSS_PER_BLOCK_T1 = _mainConfig.getInt("TeslaMultiLossPerBlockT1", "tesla_tweaks", - TESLA_MULTI_LOSS_PER_BLOCK_T1, 0, Integer.MAX_VALUE, "Tesla Tower power transmission loss per block per amp using helium or nitrogen plasma"); - TESLA_MULTI_LOSS_PER_BLOCK_T2 = _mainConfig.getInt("TeslaMultiLossPerBlockT2", "tesla_tweaks", - TESLA_MULTI_LOSS_PER_BLOCK_T2, 0, Integer.MAX_VALUE, "Tesla Tower power transmission loss per block per amp using radon plasma"); - TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM = _mainConfig.getInt("TeslaMultiPlasmaPerSecondT1Helium", - "tesla_tweaks", TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM, 0, Integer.MAX_VALUE, "Tesla Tower helium plasma consumed each second the tesla tower is active"); - TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN = _mainConfig.getInt("TeslaMultiPlasmaPerSecondT1Nitrogen", - "tesla_tweaks", TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN, 0, Integer.MAX_VALUE, "Tesla Tower nitrogen plasma consumed each second the tesla tower is active"); - TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON = _mainConfig.getInt("TeslaMultiPlasmaPerSecondT2Radon", - "tesla_tweaks", TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON, 0, Integer.MAX_VALUE, "Tesla Tower radon plasma consumed each second the tesla tower is active"); - TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1 = _mainConfig.getInt("TeslaMultiRangeCoefficientPlasmaT1", - "tesla_tweaks", TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1, 0, Integer.MAX_VALUE, "Tesla Tower T1 Plasmas Range Multiplier"); - TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2 = _mainConfig.getInt("TeslaMultiRangeCoefficientPlasmaT2", - "tesla_tweaks", TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2, 0, Integer.MAX_VALUE, "Tesla Tower T2 Plasmas Range Multiplier"); - TESLA_MULTI_RANGE_COVER = _mainConfig.getInt("TeslaMultiRangeCover", "tesla_tweaks", - TESLA_MULTI_RANGE_COVER, 0, Integer.MAX_VALUE, "Tesla Tower to Tesla Coil Rich Edition Cover max range"); - TESLA_MULTI_RANGE_TOWER = _mainConfig.getInt("TeslaMultiRangeTower", "tesla_tweaks", - TESLA_MULTI_RANGE_TOWER, 0, Integer.MAX_VALUE, "Tesla Tower to Tower max range"); - TESLA_MULTI_RANGE_TRANSCEIVER = _mainConfig.getInt("TeslaMultiRangeTransceiver", "tesla_tweaks", - TESLA_MULTI_RANGE_TRANSCEIVER, 0, Integer.MAX_VALUE, "Tesla Tower to Transceiver max range"); - TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE = _mainConfig.getFloat("TeslaSingleLossFactorOverdrive", "tesla_tweaks", - TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE, 0, 1, "Additional Tesla Transceiver power loss per amp as a factor of the tier voltage"); - TESLA_SINGLE_LOSS_PER_BLOCK = _mainConfig.getInt("TeslaSingleLossPerBlock", "tesla_tweaks", - TESLA_SINGLE_LOSS_PER_BLOCK, 0, Integer.MAX_VALUE, "Tesla Transceiver power transmission loss per block per amp"); - TESLA_SINGLE_RANGE = _mainConfig.getInt("TeslaSingleRange", "tesla_tweaks", - TESLA_SINGLE_RANGE, 0, Integer.MAX_VALUE, "Tesla Transceiver to max range"); - TESLA_VISUAL_EFFECT = _mainConfig.getBoolean("EnableTeslaVisualEffect", "tesla_tweaks", - TESLA_VISUAL_EFFECT, "Set true to enable the cool visual effect when tesla tower running."); + TESLA_MULTI_GAS_OUTPUT = _mainConfig.getBoolean( + "TeslaMultiGasOutput", + "tesla_tweaks", + TESLA_MULTI_GAS_OUTPUT, + "Set to true to enable outputting plasmas as gasses from the tesla tower with a 1:1 ratio"); + TESLA_MULTI_LOSS_FACTOR_OVERDRIVE = _mainConfig.getFloat( + "TeslaMultiLossFactorOverdrive", + "tesla_tweaks", + TESLA_MULTI_LOSS_FACTOR_OVERDRIVE, + 0, + 1, + "Additional Tesla Tower power loss per amp as a factor of the tier voltage"); + TESLA_MULTI_LOSS_PER_BLOCK_T0 = _mainConfig.getInt( + "TeslaMultiLossPerBlockT0", + "tesla_tweaks", + TESLA_MULTI_LOSS_PER_BLOCK_T0, + 0, + Integer.MAX_VALUE, + "Tesla Tower power transmission loss per block per amp using no plasmas"); + TESLA_MULTI_LOSS_PER_BLOCK_T1 = _mainConfig.getInt( + "TeslaMultiLossPerBlockT1", + "tesla_tweaks", + TESLA_MULTI_LOSS_PER_BLOCK_T1, + 0, + Integer.MAX_VALUE, + "Tesla Tower power transmission loss per block per amp using helium or nitrogen plasma"); + TESLA_MULTI_LOSS_PER_BLOCK_T2 = _mainConfig.getInt( + "TeslaMultiLossPerBlockT2", + "tesla_tweaks", + TESLA_MULTI_LOSS_PER_BLOCK_T2, + 0, + Integer.MAX_VALUE, + "Tesla Tower power transmission loss per block per amp using radon plasma"); + TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM = _mainConfig.getInt( + "TeslaMultiPlasmaPerSecondT1Helium", + "tesla_tweaks", + TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM, + 0, + Integer.MAX_VALUE, + "Tesla Tower helium plasma consumed each second the tesla tower is active"); + TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN = _mainConfig.getInt( + "TeslaMultiPlasmaPerSecondT1Nitrogen", + "tesla_tweaks", + TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN, + 0, + Integer.MAX_VALUE, + "Tesla Tower nitrogen plasma consumed each second the tesla tower is active"); + TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON = _mainConfig.getInt( + "TeslaMultiPlasmaPerSecondT2Radon", + "tesla_tweaks", + TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON, + 0, + Integer.MAX_VALUE, + "Tesla Tower radon plasma consumed each second the tesla tower is active"); + TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1 = _mainConfig.getInt( + "TeslaMultiRangeCoefficientPlasmaT1", + "tesla_tweaks", + TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1, + 0, + Integer.MAX_VALUE, + "Tesla Tower T1 Plasmas Range Multiplier"); + TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2 = _mainConfig.getInt( + "TeslaMultiRangeCoefficientPlasmaT2", + "tesla_tweaks", + TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2, + 0, + Integer.MAX_VALUE, + "Tesla Tower T2 Plasmas Range Multiplier"); + TESLA_MULTI_RANGE_COVER = _mainConfig.getInt( + "TeslaMultiRangeCover", + "tesla_tweaks", + TESLA_MULTI_RANGE_COVER, + 0, + Integer.MAX_VALUE, + "Tesla Tower to Tesla Coil Rich Edition Cover max range"); + TESLA_MULTI_RANGE_TOWER = _mainConfig.getInt( + "TeslaMultiRangeTower", + "tesla_tweaks", + TESLA_MULTI_RANGE_TOWER, + 0, + Integer.MAX_VALUE, + "Tesla Tower to Tower max range"); + TESLA_MULTI_RANGE_TRANSCEIVER = _mainConfig.getInt( + "TeslaMultiRangeTransceiver", + "tesla_tweaks", + TESLA_MULTI_RANGE_TRANSCEIVER, + 0, + Integer.MAX_VALUE, + "Tesla Tower to Transceiver max range"); + TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE = _mainConfig.getFloat( + "TeslaSingleLossFactorOverdrive", + "tesla_tweaks", + TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE, + 0, + 1, + "Additional Tesla Transceiver power loss per amp as a factor of the tier voltage"); + TESLA_SINGLE_LOSS_PER_BLOCK = _mainConfig.getInt( + "TeslaSingleLossPerBlock", + "tesla_tweaks", + TESLA_SINGLE_LOSS_PER_BLOCK, + 0, + Integer.MAX_VALUE, + "Tesla Transceiver power transmission loss per block per amp"); + TESLA_SINGLE_RANGE = _mainConfig.getInt( + "TeslaSingleRange", + "tesla_tweaks", + TESLA_SINGLE_RANGE, + 0, + Integer.MAX_VALUE, + "Tesla Transceiver to max range"); + TESLA_VISUAL_EFFECT = _mainConfig.getBoolean( + "EnableTeslaVisualEffect", + "tesla_tweaks", + TESLA_VISUAL_EFFECT, + "Set true to enable the cool visual effect when tesla tower running."); } /** * This loading phases do not correspond to mod loading phases! */ @Override - protected void PostInit() { - } + protected void PostInit() {} } diff --git a/src/main/java/com/github/technus/tectech/loader/gui/CreativeTabTecTech.java b/src/main/java/com/github/technus/tectech/loader/gui/CreativeTabTecTech.java index e5b9fea395..c853af8ee3 100644 --- a/src/main/java/com/github/technus/tectech/loader/gui/CreativeTabTecTech.java +++ b/src/main/java/com/github/technus/tectech/loader/gui/CreativeTabTecTech.java @@ -5,11 +5,10 @@ import com.github.technus.tectech.thing.item.DebugElementalInstanceContainer_EM; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.GregTech_API; +import java.util.List; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; -import java.util.List; - public class CreativeTabTecTech extends CreativeTabs { public CreativeTabTecTech(String name) { super(name); @@ -23,7 +22,7 @@ public class CreativeTabTecTech extends CreativeTabs { @Override public void displayAllReleventItems(List stuffToShow) { - for(CustomItemList item: CustomItemList.values()){ + for (CustomItemList item : CustomItemList.values()) { if (item.hasBeenSet() && item.getBlock() == GregTech_API.sBlockMachines) { stuffToShow.add(item.get(1)); } diff --git a/src/main/java/com/github/technus/tectech/loader/gui/ModGuiHandler.java b/src/main/java/com/github/technus/tectech/loader/gui/ModGuiHandler.java index e555437104..51bece0d4d 100644 --- a/src/main/java/com/github/technus/tectech/loader/gui/ModGuiHandler.java +++ b/src/main/java/com/github/technus/tectech/loader/gui/ModGuiHandler.java @@ -10,8 +10,8 @@ import net.minecraft.world.World; * Created by danie_000 on 17.12.2017. */ public class ModGuiHandler implements IGuiHandler { - public static final int SCAN_DISPLAY_SCREEN_ID =0; - public static final int PROGRAMMER_DISPLAY_SCREEN_ID =1; + public static final int SCAN_DISPLAY_SCREEN_ID = 0; + public static final int PROGRAMMER_DISPLAY_SCREEN_ID = 1; @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { @@ -22,7 +22,7 @@ public class ModGuiHandler implements IGuiHandler { public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { if (ID == SCAN_DISPLAY_SCREEN_ID) { return new ScanDisplayScreen(player); - }else if(ID==PROGRAMMER_DISPLAY_SCREEN_ID){ + } else if (ID == PROGRAMMER_DISPLAY_SCREEN_ID) { return new ProgrammerScreen(player); } return null; diff --git a/src/main/java/com/github/technus/tectech/loader/recipe/BaseRecipeLoader.java b/src/main/java/com/github/technus/tectech/loader/recipe/BaseRecipeLoader.java index e77e057d94..bdd2dc1136 100644 --- a/src/main/java/com/github/technus/tectech/loader/recipe/BaseRecipeLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/recipe/BaseRecipeLoader.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.loader.recipe; +import static gregtech.api.enums.GT_Values.RA; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.compatibility.dreamcraft.DreamCraftRecipeLoader; import com.github.technus.tectech.compatibility.gtpp.GtppAtomLoader; @@ -22,8 +24,6 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; -import static gregtech.api.enums.GT_Values.RA; - /** * Created by danie_000 on 16.11.2016. */ @@ -44,83 +44,142 @@ public class BaseRecipeLoader { // Recipes init - common goes here rest goes into methods below // =================================================================================================== - for(int i=0;i<=15;i++) { - RA.addAssemblerRecipe(new ItemStack[]{GT_Utility.getIntegratedCircuit(i+1), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 1)}, + for (int i = 0; i <= 15; i++) { + RA.addAssemblerRecipe( + new ItemStack[] { + GT_Utility.getIntegratedCircuit(i + 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 1) + }, Materials.Aluminium.getMolten(864), - new ItemStack(StructureLibAPI.getBlockHint(), 1, i), 32, 120); + new ItemStack(StructureLibAPI.getBlockHint(), 1, i), + 32, + 120); } - //Front Rotation Tool - GT_ModHandler.addCraftingRecipe(GT_ModHandler.getModItem(StructureLibAPI.MOD_ID, "item.structurelib.frontRotationTool", 1L, 0), + // Front Rotation Tool + GT_ModHandler.addCraftingRecipe( + GT_ModHandler.getModItem(StructureLibAPI.MOD_ID, "item.structurelib.frontRotationTool", 1L, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[]{"fPR", " RP", "S h", - 'P', OrePrefixes.plate.get(Materials.Cobalt), - 'R', OrePrefixes.stick.get(Materials.Cobalt), - 'S', OrePrefixes.stick.get(Materials.Wood),}); - - //BLUEprint -// GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(ConstructableTriggerItem.INSTANCE, 1), -// GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, -// new Object[]{Dyes.dyeBlue, OrePrefixes.plate.get(Materials.Paper), Dyes.dyeBlue, Dyes.dyeWhite}); - - - //GT EU reader - GT_ModHandler.addCraftingRecipe(new ItemStack(EuMeterGT.INSTANCE,1), + new Object[] { + "fPR", + " RP", + "S h", + 'P', + OrePrefixes.plate.get(Materials.Cobalt), + 'R', + OrePrefixes.stick.get(Materials.Cobalt), + 'S', + OrePrefixes.stick.get(Materials.Wood), + }); + + // BLUEprint + // GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(ConstructableTriggerItem.INSTANCE, 1), + // GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, + // new Object[]{Dyes.dyeBlue, OrePrefixes.plate.get(Materials.Paper), Dyes.dyeBlue, + // Dyes.dyeWhite}); + + // GT EU reader + GT_ModHandler.addCraftingRecipe( + new ItemStack(EuMeterGT.INSTANCE, 1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[]{"PGW", "SCW", "BRN", - 'P', OrePrefixes.plateDouble.get(Materials.Steel), - 'G', OrePrefixes.plate.get(Materials.Glass), - 'W', OrePrefixes.cableGt01.get(Materials.Copper), - 'S', OrePrefixes.stick.get(Materials.Brass), - 'C', ItemList.Casing_Coil_Cupronickel.get(1), - 'B', Dyes.dyeBlue, - 'R', Dyes.dyeRed, - 'N', Dyes.dyeBlack,}); - - //Owner detector - GT_ModHandler.addCraftingRecipe(CustomItemList.Machine_OwnerDetector.get(1), + new Object[] { + "PGW", + "SCW", + "BRN", + 'P', + OrePrefixes.plateDouble.get(Materials.Steel), + 'G', + OrePrefixes.plate.get(Materials.Glass), + 'W', + OrePrefixes.cableGt01.get(Materials.Copper), + 'S', + OrePrefixes.stick.get(Materials.Brass), + 'C', + ItemList.Casing_Coil_Cupronickel.get(1), + 'B', + Dyes.dyeBlue, + 'R', + Dyes.dyeRed, + 'N', + Dyes.dyeBlack, + }); + + // Owner detector + GT_ModHandler.addCraftingRecipe( + CustomItemList.Machine_OwnerDetector.get(1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[]{"PPP","GEG","PPP", - 'P', OrePrefixes.plate.get(Materials.IronMagnetic), - 'G', OrePrefixes.plate.get(Materials.Glass), - 'E', OrePrefixes.gem.get(Materials.EnderPearl)}); - - //Data reader - GT_ModHandler.addCraftingRecipe(CustomItemList.Machine_DataReader.get(1), + new Object[] { + "PPP", + "GEG", + "PPP", + 'P', + OrePrefixes.plate.get(Materials.IronMagnetic), + 'G', + OrePrefixes.plate.get(Materials.Glass), + 'E', + OrePrefixes.gem.get(Materials.EnderPearl) + }); + + // Data reader + GT_ModHandler.addCraftingRecipe( + CustomItemList.Machine_DataReader.get(1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[]{"BdB","GES","PwP", - 'B', OrePrefixes.screw.get(Materials.Iridium), - 'P', OrePrefixes.plate.get(Materials.Iridium), - 'G', ItemList.Cover_Screen, - 'S', OrePrefixes.circuit.get(Materials.Elite), - 'E', ItemList.Hull_IV}); - - //Data Bank - RA.addAssemblylineRecipe(ItemList.Hatch_DataAccess_EV.get(1), 20000, new Object[]{ - CustomItemList.Machine_Multi_Switch.get(1), - new Object[]{OrePrefixes.circuit.get(Materials.Master), 2}, - ItemList.Tool_DataOrb.get(1), - ItemList.Cover_Screen.get(1), - }, new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Hydrogen.getGas(1000), - }, CustomItemList.Machine_Multi_DataBank.get(1), 12000, 14000); - - //Bucks - //RA.addAssemblerRecipe(CustomItemList.) - - //recipe for ass line data hatches - RA.addAssemblerRecipe(ItemList.Hatch_DataAccess_EV.get(1), CustomItemList.dataIn_Hatch.get(1), CustomItemList.dataInAss_Hatch.get(1), 2048, 12000); - RA.addAssemblerRecipe(ItemList.Hatch_DataAccess_EV.get(1), CustomItemList.dataOut_Hatch.get(1), CustomItemList.dataOutAss_Hatch.get(1), 2048, 12000); + new Object[] { + "BdB", + "GES", + "PwP", + 'B', + OrePrefixes.screw.get(Materials.Iridium), + 'P', + OrePrefixes.plate.get(Materials.Iridium), + 'G', + ItemList.Cover_Screen, + 'S', + OrePrefixes.circuit.get(Materials.Elite), + 'E', + ItemList.Hull_IV + }); + + // Data Bank + RA.addAssemblylineRecipe( + ItemList.Hatch_DataAccess_EV.get(1), + 20000, + new Object[] { + CustomItemList.Machine_Multi_Switch.get(1), + new Object[] {OrePrefixes.circuit.get(Materials.Master), 2}, + ItemList.Tool_DataOrb.get(1), + ItemList.Cover_Screen.get(1), + }, + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), Materials.Hydrogen.getGas(1000), + }, + CustomItemList.Machine_Multi_DataBank.get(1), + 12000, + 14000); + + // Bucks + // RA.addAssemblerRecipe(CustomItemList.) + + // recipe for ass line data hatches + RA.addAssemblerRecipe( + ItemList.Hatch_DataAccess_EV.get(1), + CustomItemList.dataIn_Hatch.get(1), + CustomItemList.dataInAss_Hatch.get(1), + 2048, + 12000); + RA.addAssemblerRecipe( + ItemList.Hatch_DataAccess_EV.get(1), + CustomItemList.dataOut_Hatch.get(1), + CustomItemList.dataOutAss_Hatch.get(1), + 2048, + 12000); if (Loader.isModLoaded(Reference.DREAMCRAFT)) { - new DreamCraftRecipeLoader().run(transformationInfo);//init recipes for GTNH version + new DreamCraftRecipeLoader().run(transformationInfo); // init recipes for GTNH version } else if (Loader.isModLoaded(Reference.SPARTAKCORE)) { - new SpartakCoreRecipeLoader().run(transformationInfo);//init recipes for SpartakCore version + new SpartakCoreRecipeLoader().run(transformationInfo); // init recipes for SpartakCore version } else { - new BloodyRecipeLoader().run(transformationInfo);//init recipes for NON-GTNH version + new BloodyRecipeLoader().run(transformationInfo); // init recipes for NON-GTNH version } } } - 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 a57f268d4e..a7b3b51b7c 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 @@ -25,1294 +25,2572 @@ import net.minecraftforge.fluids.FluidStack; */ public class BloodyRecipeLoader { public void run(EMTransformationRegistry transformationInfo) { - //Quantum Glass - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - GT_ModHandler.getIC2Item("reinforcedGlass", 1L) - }, Materials.Osmium.getMolten(576), new ItemStack(QuantumGlassBlock.INSTANCE, 1), 200, 500000); - - //region pipes - - //Data - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Circuit_Parts_GlassFiber.get(8), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Silver, 6) - }, Materials.Polytetrafluoroethylene.getMolten(144), CustomItemList.DATApipe.get(1), 200, 30720); - - //Tunnel - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.DATApipe.get(1), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmiridium, 4), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), - 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[]{ + // Quantum Glass + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] {CustomItemList.eM_Containment.get(1), GT_ModHandler.getIC2Item("reinforcedGlass", 1L)}, + Materials.Osmium.getMolten(576), + new ItemStack(QuantumGlassBlock.INSTANCE, 1), + 200, + 500000); + + // region pipes + + // Data + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Circuit_Parts_GlassFiber.get(8), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Silver, 6) + }, + Materials.Polytetrafluoroethylene.getMolten(144), CustomItemList.DATApipe.get(1), - GT_ModHandler.getIC2Item("reinforcedGlass", 1L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 2) - }, null, CustomItemList.LASERpipe.get(1), 100, 500000); - - //endregion - - //region casing - - //High Power Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Cobalt, 16), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) - }, Materials.TungstenSteel.getMolten(576), CustomItemList.eM_Power.get(1), 100, 30720); - - //Computer Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + 200, + 30720); + + // Tunnel + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.DATApipe.get(1), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmiridium, 4), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 4), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + 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); + + // endregion + + // region casing + + // High Power Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Cobalt, 16), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, + Materials.TungstenSteel.getMolten(576), CustomItemList.eM_Power.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) - }, Materials.Aluminium.getMolten(1296), CustomItemList.eM_Computer_Casing.get(1), 200, 122880); - //Computer Vent Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), - ItemList.Electric_Motor_IV.get(2), - 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, Materials.Superconductor, 1) - }, Materials.SolderingAlloy.getMolten(1296), CustomItemList.eM_Computer_Vent.get(1), 100, 1920); - //Advanced Computer Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + 100, + 30720); + + // Computer Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Power.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, + Materials.Aluminium.getMolten(1296), CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Cobalt, 32), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 64), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, 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.plateDouble, Materials.Osmiridium, 16), - GT_OreDictUnificator.get(OrePrefixes.foil, 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) - }, Materials.Osmium.getMolten(1296), CustomItemList.eM_Containment.get(1), 800, 500000); - - //Hollow Casing - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Containment.get(1), - 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), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Lead, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 16), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 16), - }, new FluidStack[]{ - Materials.Americium.getMolten(1296), - Materials.Osmium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Argon.getGas(576), - }, CustomItemList.eM_Hollow.get(2), 200, 2000000); - - //EM Coil - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Hollow.get(1), - 48000, 128, 1000000, 16, new ItemStack[]{ - CustomItemList.eM_Hollow.get(1), - ItemList.Casing_Fusion_Coil.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[]{ - Materials.Glass.getMolten(2304), - Materials.Silicone.getMolten(1872), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Americium.getMolten(1296), - }, CustomItemList.eM_Coil.get(4), 800, 2000000); - - //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), + 200, + 122880); + // Computer Vent Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), + ItemList.Electric_Motor_IV.get(2), + 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, Materials.Superconductor, 1) + }, + Materials.SolderingAlloy.getMolten(1296), + CustomItemList.eM_Computer_Vent.get(1), + 100, + 1920); + // Advanced Computer Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Cobalt, 32), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 64), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, 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.plateDouble, Materials.Osmiridium, 16), + GT_OreDictUnificator.get(OrePrefixes.foil, 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) + }, + Materials.Osmium.getMolten(1296), + CustomItemList.eM_Containment.get(1), + 800, + 500000); + + // Hollow Casing + TT_recipeAdder.addResearchableAssemblylineRecipe( + CustomItemList.eM_Containment.get(1), + 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), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Lead, 8), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 16), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 16), + }, + new FluidStack[] { + Materials.Americium.getMolten(1296), + Materials.Osmium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Argon.getGas(576), + }, + CustomItemList.eM_Hollow.get(2), + 200, + 2000000); + + // EM Coil + TT_recipeAdder.addResearchableAssemblylineRecipe( + CustomItemList.eM_Hollow.get(1), + 48000, + 128, + 1000000, + 16, + new ItemStack[] { + CustomItemList.eM_Hollow.get(1), + ItemList.Casing_Fusion_Coil.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[] { + Materials.Glass.getMolten(2304), + Materials.Silicone.getMolten(1872), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Americium.getMolten(1296), + }, + CustomItemList.eM_Coil.get(4), + 800, + 2000000); + + // 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), + 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), + 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), + 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.Tin)}); - //Tesla Primary Coils T1 - GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaPrimary_1.get(1), + new Object[] {"WWW", "WwW", "WWW", 'W', OrePrefixes.wireGt02.get(Materials.Tin)}); + // 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.Copper)}); - //Tesla Primary Coils T2 - GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaPrimary_2.get(1), + new Object[] {"WWW", "WwW", "WWW", 'W', OrePrefixes.wireGt02.get(Materials.Copper)}); + // 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.Silver)}); - //Tesla Primary Coils T3 - GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaPrimary_3.get(1), + new Object[] {"WWW", "WwW", "WWW", 'W', OrePrefixes.wireGt02.get(Materials.Silver)}); + // 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.Aluminium)}); - //Tesla Primary Coils T4 - GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaPrimary_4.get(1), + new Object[] {"WWW", "WwW", "WWW", 'W', OrePrefixes.wireGt02.get(Materials.Aluminium)}); + // 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.Platinum)}); - //Tesla Primary Coils T5 - GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaPrimary_5.get(1), + new Object[] {"WWW", "WwW", "WWW", 'W', OrePrefixes.wireGt02.get(Materials.Platinum)}); + // 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.Superconductor)}); - //TODO Add Tesla Primary Coils T6 + new Object[] {"WWW", "WwW", "WWW", 'W', OrePrefixes.wireGt02.get(Materials.Superconductor)}); + // TODO Add Tesla Primary Coils T6 - //endregion + // endregion - //region hatches + // 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)}, + // 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) + }, 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), + 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) + }, 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), + 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) + }, 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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, 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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, 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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, 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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, 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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, Materials.Tungsten.getMolten(4608), - CustomItemList.eM_dynamoMulti64_UEV.get(1), 2000, 500000); - - //Energy Hatches 4A-64A IV-UIV - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Hatch_Energy_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2)}, + CustomItemList.eM_dynamoMulti64_UEV.get(1), + 2000, + 500000); + + // Energy Hatches 4A-64A IV-UIV + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Hatch_Energy_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_energyMulti4_IV.get(1), 100, 7680); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_energyMulti4_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 4)}, + CustomItemList.eM_energyMulti4_IV.get(1), + 100, + 7680); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_energyMulti4_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_energyMulti16_IV.get(1), 200, 7680); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_energyMulti16_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6)}, + CustomItemList.eM_energyMulti16_IV.get(1), + 200, + 7680); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_energyMulti16_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_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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, 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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, 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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, 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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, 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)}, + 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); - 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)}, + 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); - 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)}, + 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); - - //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), - ItemList.Hatch_Input_Bus_LuV.get(1), - ItemList.Circuit_Crystalcomputer.get(1), - CustomItemList.DATApipe.get(2) - }, Materials.Iridium.getMolten(1296), CustomItemList.dataIn_Hatch.get(1), 200, 122880); - //Data Output - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Hatch_Output_Bus_LuV.get(1), - ItemList.Circuit_Crystalcomputer.get(1), - CustomItemList.DATApipe.get(2) - }, Materials.Iridium.getMolten(1296), CustomItemList.dataOut_Hatch.get(1), 200, 122880); - - //Rack - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Bus.get(1), - ItemList.Hatch_Input_Bus_ZPM.get(1), - ItemList.Circuit_Crystalcomputer.get(2), - CustomItemList.DATApipe.get(4) - }, Materials.Iridium.getMolten(1296), CustomItemList.rack_Hatch.get(1), 800, 122880); + 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), + ItemList.Hatch_Input_Bus_LuV.get(1), + ItemList.Circuit_Crystalcomputer.get(1), + CustomItemList.DATApipe.get(2) + }, + Materials.Iridium.getMolten(1296), + CustomItemList.dataIn_Hatch.get(1), + 200, + 122880); + // Data Output + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Hatch_Output_Bus_LuV.get(1), + ItemList.Circuit_Crystalcomputer.get(1), + CustomItemList.DATApipe.get(2) + }, + Materials.Iridium.getMolten(1296), + CustomItemList.dataOut_Hatch.get(1), + 200, + 122880); + + // Rack + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Bus.get(1), + ItemList.Hatch_Input_Bus_ZPM.get(1), + ItemList.Circuit_Crystalcomputer.get(2), + CustomItemList.DATApipe.get(4) + }, + Materials.Iridium.getMolten(1296), + CustomItemList.rack_Hatch.get(1), + 800, + 122880); - //Object Holder - GT_Values.RA.addAssemblylineRecipe(ItemList.Hatch_Input_Bus_ZPM.get(1), 10000, new ItemStack[]{ + // Object Holder + GT_Values.RA.addAssemblylineRecipe( ItemList.Hatch_Input_Bus_ZPM.get(1), - CustomItemList.eM_Computer_Bus.get(1), - ItemList.Emitter_ZPM.get(8), - ItemList.Robot_Arm_ZPM.get(1), - ItemList.Electric_Motor_ZPM.get(2), - ItemList.Circuit_Crystalmainframe.get(1), - GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Naquadah, 16), - CustomItemList.DATApipe.get(2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(500), - Materials.Iridium.getMolten(1152), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) - }, CustomItemList.holder_Hatch.get(1), 1200, 100000); - - //Parameterizer - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Circuit_Masterquantumcomputer.get(1), - CustomItemList.DATApipe.get(4), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 16), - }, Materials.Iridium.getMolten(2592), CustomItemList.Parametrizer_Hatch.get(1), 800, 122880); - //Uncertainty - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Circuit_Ultimatecrystalcomputer.get(1), - CustomItemList.DATApipe.get(16), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 16), - }, Materials.Iridium.getMolten(2592), CustomItemList.Uncertainty_Hatch.get(1), 1200, 122880); - - //Elemental Input - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Input_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 8), - ItemList.Sensor_UV.get(1) - }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_in_UV.get(1), 800, 500000); - //Elemental Output - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Output_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 8), - ItemList.Emitter_UV.get(1) - }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_out_UV.get(1), 800, 500000); - //Overflow - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Muffler_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 4), - 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 - - //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), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16), - ItemList.Upgrade_Overclocker.get(4), - }, Materials.Copper.getMolten(576), CustomItemList.Machine_Multi_Microwave.get(1), 800, 480); - - //Active Transformer - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Transformer_ZPM_LuV.get(16), - ItemList.Circuit_Board_Elite.get(1),//? - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 16), - ItemList.Circuit_Chip_HPIC.get(2), - }, Materials.TungstenSteel.getMolten(576), CustomItemList.Machine_Multi_Transformer.get(1), 400, 30720); - - //Network Switch - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + 10000, + new ItemStack[] { + ItemList.Hatch_Input_Bus_ZPM.get(1), + CustomItemList.eM_Computer_Bus.get(1), + ItemList.Emitter_ZPM.get(8), + ItemList.Robot_Arm_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + ItemList.Circuit_Crystalmainframe.get(1), + GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Naquadah, 16), + CustomItemList.DATApipe.get(2), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(500), + Materials.Iridium.getMolten(1152), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) + }, + CustomItemList.holder_Hatch.get(1), + 1200, + 100000); + + // Parameterizer + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Circuit_Masterquantumcomputer.get(1), + CustomItemList.DATApipe.get(4), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + }, + Materials.Iridium.getMolten(2592), + CustomItemList.Parametrizer_Hatch.get(1), + 800, + 122880); + // Uncertainty + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Circuit_Ultimatecrystalcomputer.get(1), + CustomItemList.DATApipe.get(16), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + }, + Materials.Iridium.getMolten(2592), + CustomItemList.Uncertainty_Hatch.get(1), + 1200, + 122880); + + // Elemental Input + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Input_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 8), + ItemList.Sensor_UV.get(1) + }, + Materials.Osmiridium.getMolten(1296), + CustomItemList.eM_in_UV.get(1), + 800, + 500000); + // Elemental Output + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Output_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 8), + ItemList.Emitter_UV.get(1) + }, + Materials.Osmiridium.getMolten(1296), + CustomItemList.eM_out_UV.get(1), + 800, + 500000); + // Overflow + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Muffler_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 4), + 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 + + // 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), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16), + ItemList.Upgrade_Overclocker.get(4), + }, + Materials.Copper.getMolten(576), + CustomItemList.Machine_Multi_Microwave.get(1), + 800, + 480); + + // Active Transformer + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_ZPM_LuV.get(16), + ItemList.Circuit_Board_Elite.get(1), // ? + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 16), + ItemList.Circuit_Chip_HPIC.get(2), + }, + Materials.TungstenSteel.getMolten(576), CustomItemList.Machine_Multi_Transformer.get(1), - ItemList.Circuit_Ultimatecrystalcomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Cobalt, 32), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Copper, 32), - CustomItemList.DATApipe.get(4), - }, Materials.Iridium.getMolten(1296), CustomItemList.Machine_Multi_Switch.get(1), 800, 122880); - - //Quantum Computer - GT_Values.RA.addAssemblylineRecipe(ItemList.Tool_DataOrb.get(1), 20000, new ItemStack[]{ - CustomItemList.Machine_Multi_Switch.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2), - ItemList.Tool_DataOrb.get(1), - ItemList.Cover_Screen.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 8), - CustomItemList.DATApipe.get(8), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), + 400, + 30720); + + // Network Switch + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.Machine_Multi_Transformer.get(1), + ItemList.Circuit_Ultimatecrystalcomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Cobalt, 32), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Copper, 32), + CustomItemList.DATApipe.get(4), + }, Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Hydrogen.getGas(1000), - }, CustomItemList.Machine_Multi_Computer.get(1), 12000, 100000); + CustomItemList.Machine_Multi_Switch.get(1), + 800, + 122880); - //Research Station - GT_Values.RA.addAssemblylineRecipe(ItemList.Tool_Scanner.get(1), 80000, new ItemStack[]{ + // Quantum Computer + GT_Values.RA.addAssemblylineRecipe( + ItemList.Tool_DataOrb.get(1), + 20000, + new ItemStack[] { + CustomItemList.Machine_Multi_Switch.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2), + ItemList.Tool_DataOrb.get(1), + ItemList.Cover_Screen.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 8), + CustomItemList.DATApipe.get(8), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Hydrogen.getGas(1000), + }, + CustomItemList.Machine_Multi_Computer.get(1), + 12000, + 100000); + + // Research Station + GT_Values.RA.addAssemblylineRecipe( + ItemList.Tool_Scanner.get(1), + 80000, + new ItemStack[] { + CustomItemList.Machine_Multi_Switch.get(1), + ItemList.Sensor_ZPM.get(8), + ItemList.Circuit_Crystalmainframe.get(4), + ItemList.Field_Generator_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Naquadah, 32), + CustomItemList.DATApipe.get(16), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_Research.get(1), + 12000, + 100000); + + // Matter Junction + TT_recipeAdder.addResearchableAssemblylineRecipe( CustomItemList.Machine_Multi_Switch.get(1), - ItemList.Sensor_ZPM.get(8), - ItemList.Circuit_Crystalmainframe.get(4), - ItemList.Field_Generator_ZPM.get(1), - ItemList.Electric_Motor_ZPM.get(2), - GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Naquadah, 32), - CustomItemList.DATApipe.get(16), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_Research.get(1), 12000, 100000); - - //Matter Junction - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Switch.get(1), - 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), - ItemList.Electric_Piston_LuV.get(2), - ItemList.Circuit_Wetwaresupercomputer.get(2), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 4), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_EMjunction.get(1), 12000, 100000); - - //Matter Quantizer - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Input_UV.get(1), - 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), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_MatterToEM.get(1), 12000, 100000); - - //Matter DeQuantizer - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Output_UV.get(1), - 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), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_EMToMatter.get(1), 12000, 100000); - - //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.plateDouble, Materials.Neutronium, 8), - ItemList.Emitter_UV.get(2), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 8), - }, 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.plateDouble, Materials.Neutronium, 8), - ItemList.Sensor_UV.get(2), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 8), - }, 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[]{ - 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.wireGt04, Materials.Superconductor, 16), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(2000), - Materials.Neutronium.getMolten(2592), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), - Materials.Osmiridium.getMolten(1296), - }, CustomItemList.Machine_Multi_Scanner.get(1), 24000, 500000); - - //Multi Infuser - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Transformer.get(1), - 192000, 512, 2000000, 32, new ItemStack[]{ - CustomItemList.Machine_Multi_Transformer.get(1), - CustomItemList.eM_Coil.get(8), - CustomItemList.eM_Power.get(8), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), - }, new FluidStack[]{ - Materials.Electrum.getMolten(2592), - Materials.Neutronium.getMolten(1872), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - }, CustomItemList.Machine_Multi_Infuser.get(1), 8000, 2000000); - - //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)}, + 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), + ItemList.Electric_Piston_LuV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 4), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_EMjunction.get(1), + 12000, + 100000); + + // Matter Quantizer + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Input_UV.get(1), + 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), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_MatterToEM.get(1), + 12000, + 100000); + + // Matter DeQuantizer + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Output_UV.get(1), + 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), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_EMToMatter.get(1), + 12000, + 100000); + + // 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.plateDouble, Materials.Neutronium, 8), + ItemList.Emitter_UV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 8), + }, + 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.plateDouble, Materials.Neutronium, 8), + ItemList.Sensor_UV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 8), + }, + 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[] { + 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.wireGt04, Materials.Superconductor, 16), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(2000), + Materials.Neutronium.getMolten(2592), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), + Materials.Osmiridium.getMolten(1296), + }, + CustomItemList.Machine_Multi_Scanner.get(1), + 24000, + 500000); + + // Multi Infuser + TT_recipeAdder.addResearchableAssemblylineRecipe( + CustomItemList.Machine_Multi_Transformer.get(1), + 192000, + 512, + 2000000, + 32, + new ItemStack[] { + CustomItemList.Machine_Multi_Transformer.get(1), + CustomItemList.eM_Coil.get(8), + CustomItemList.eM_Power.get(8), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), + }, + new FluidStack[] { + Materials.Electrum.getMolten(2592), + Materials.Neutronium.getMolten(1872), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + }, + CustomItemList.Machine_Multi_Infuser.get(1), + 8000, + 2000000); + + // 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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.Superconductor, 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), + 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.Superconductor, 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.plate, 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.plate, 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.plate, 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.plate, 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.plate, 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); + // LuV Tesla Capacitor + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.HSSG, 4), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 14), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 28), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 28), + }, + Materials.Epoxid.getMolten(432), + CustomItemList.teslaCapacitor.getWithDamage(1, 5), + 320, + 30720); + // ZPM Tesla Capacitor + // GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + // GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 4), + // GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 16), + // GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 32), + // GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 32), + // }, Materials.Epoxid.getMolten(504), CustomItemList.teslaCapacitor.getWithDamage(1, 6), 320, 122880); + // TODO Allow with the coils, useless alone and will only cause trouble + // 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.plate, 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), + 300, + 2); + // MV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 1), GT_OreDictUnificator.get(OrePrefixes.plate, 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), + 300, + 2); + // HV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 2), GT_OreDictUnificator.get(OrePrefixes.plate, 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), + 300, + 2); + // EV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 3), GT_OreDictUnificator.get(OrePrefixes.plate, 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), + 300, + 2); + // IV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 4), GT_OreDictUnificator.get(OrePrefixes.plate, 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); - //LuV Tesla Capacitor - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.HSSG, 4), + 300, + 2); + // LuV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 5), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 14), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 28), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 28), - }, Materials.Epoxid.getMolten(432), CustomItemList.teslaCapacitor.getWithDamage(1, 5), 320, 30720); - //ZPM Tesla Capacitor - //GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - // GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 4), - // GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 16), - // GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 32), - // GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 32), - //}, Materials.Epoxid.getMolten(504), CustomItemList.teslaCapacitor.getWithDamage(1, 6), 320, 122880); - //TODO Allow with the coils, useless alone and will only cause trouble - //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.plate, Materials.BatteryAlloy, 4), 300, 2); - //MV Tesla Capacitor - GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 6), 300, 2); - //HV Tesla Capacitor - GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 8), 300, 2); - //EV Tesla Capacitor - GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 3), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 10), 300, 2); - //IV Tesla Capacitor - GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 4), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 12), 300, 2); - //LuV Tesla Capacitor - GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 5), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 14), 300, 2); - //ZPM Tesla Capacitor - GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 6), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 16), 300, 2); - - //endregion - - //ha trafos - //if(Loader.isModLoaded(Reference.GTPLUSPLUS)){ + 300, + 2); + // ZPM Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 6), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 16), + 300, + 2); + + // endregion + + // ha trafos + // if(Loader.isModLoaded(Reference.GTPLUSPLUS)){ // GT_Values.RA.addAssemblerRecipe(CustomItemList.HA) - //} + // } - //power trafos - //GT_Values.RA.addAssemblerRecipe() + // power trafos + // GT_Values.RA.addAssemblerRecipe() 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(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)); + 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.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)); + 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.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)); + 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.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/ComponentLoader.java b/src/main/java/com/github/technus/tectech/loader/thing/ComponentLoader.java index 39b42c1249..933229b537 100644 --- a/src/main/java/com/github/technus/tectech/loader/thing/ComponentLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/thing/ComponentLoader.java @@ -4,23 +4,19 @@ import gregtech.api.enums.Materials; import gregtech.api.interfaces.IMaterialHandler; public class ComponentLoader implements IMaterialHandler { - public ComponentLoader(){ + public ComponentLoader() { Materials.add(this); } @Override public void onComponentInit() { - //example - //OrePrefixes.ring.enableComponent(Materials.RedAlloy); + // example + // OrePrefixes.ring.enableComponent(Materials.RedAlloy); } @Override - public void onComponentIteration(Materials materials) { - - } + public void onComponentIteration(Materials materials) {} @Override - public void onMaterialsInit() { - - } + public void onMaterialsInit() {} } 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 index 880113073c..a5e68e2a0a 100644 --- a/src/main/java/com/github/technus/tectech/loader/thing/CoverLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/thing/CoverLoader.java @@ -14,19 +14,32 @@ 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"); - final IIconContainer ENDERFLUIDLINK_OVERLAY = new Textures.BlockIcons.CustomIcon("iconsets/ENDERFLUIDLINK_OVERLAY"); - final IIconContainer POWERPASSUPGRADE_OVERLAY = new Textures.BlockIcons.CustomIcon("iconsets/POWERPASSUPGRADE_OVERLAY"); + final IIconContainer TESLA_OVERLAY_ULTIMATE = + new Textures.BlockIcons.CustomIcon("iconsets/TESLA_OVERLAY_ULTIMATE"); + final IIconContainer ENDERFLUIDLINK_OVERLAY = + new Textures.BlockIcons.CustomIcon("iconsets/ENDERFLUIDLINK_OVERLAY"); + final IIconContainer POWERPASSUPGRADE_OVERLAY = + new Textures.BlockIcons.CustomIcon("iconsets/POWERPASSUPGRADE_OVERLAY"); - 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()); - GregTech_API.registerCover(new ItemStack(EnderFluidLinkCover.INSTANCE, 1, 0), new GT_RenderedTexture(ENDERFLUIDLINK_OVERLAY), new GT_Cover_TM_EnderFluidLink()); - GregTech_API.registerCover(new ItemStack(PowerPassUpgradeCover.INSTANCE, 1, 0), new GT_RenderedTexture(POWERPASSUPGRADE_OVERLAY), new GT_Cover_TM_PowerPassUpgrade()); + 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()); + GregTech_API.registerCover( + new ItemStack(EnderFluidLinkCover.INSTANCE, 1, 0), + new GT_RenderedTexture(ENDERFLUIDLINK_OVERLAY), + new GT_Cover_TM_EnderFluidLink()); + GregTech_API.registerCover( + new ItemStack(PowerPassUpgradeCover.INSTANCE, 1, 0), + new GT_RenderedTexture(POWERPASSUPGRADE_OVERLAY), + new GT_Cover_TM_PowerPassUpgrade()); 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 65cba0a2b7..c58c43ef8d 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 @@ -1,5 +1,9 @@ package com.github.technus.tectech.loader.thing; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.thing.CustomItemList.*; +import static com.github.technus.tectech.util.CommonValues.V; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.compatibility.dreamcraft.NoDreamCraftMachineLoader; import com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_essentiaDequantizer; @@ -16,10 +20,6 @@ import cpw.mods.fml.common.Loader; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.thing.CustomItemList.*; -import static com.github.technus.tectech.util.CommonValues.V; - /** * Created by danie_000 on 16.11.2016. */ @@ -30,645 +30,1003 @@ public class MachineLoader implements Runnable { // eM IN // =================================================================================================== - eM_in_UV.set(new GT_MetaTileEntity_Hatch_InputElemental( - 15000, "hatch.emin.tier.08", "UV Elemental Input Hatch", 8).getStackForm(1L)); + eM_in_UV.set( + new GT_MetaTileEntity_Hatch_InputElemental(15000, "hatch.emin.tier.08", "UV Elemental Input Hatch", 8) + .getStackForm(1L)); - eM_in_UHV.set(new GT_MetaTileEntity_Hatch_InputElemental( - 15001, "hatch.emin.tier.09", "UHV Elemental Input Hatch", 9).getStackForm(1L)); + eM_in_UHV.set( + new GT_MetaTileEntity_Hatch_InputElemental(15001, "hatch.emin.tier.09", "UHV Elemental Input Hatch", 9) + .getStackForm(1L)); - eM_in_UEV.set(new GT_MetaTileEntity_Hatch_InputElemental( - 15002, "hatch.emin.tier.10", "UEV Elemental Input Hatch", 10).getStackForm(1L)); + eM_in_UEV.set( + new GT_MetaTileEntity_Hatch_InputElemental(15002, "hatch.emin.tier.10", "UEV Elemental Input Hatch", 10) + .getStackForm(1L)); - eM_in_UIV.set(new GT_MetaTileEntity_Hatch_InputElemental( - 15003, "hatch.emin.tier.11", "UIV Elemental Input Hatch", 11).getStackForm(1L)); + eM_in_UIV.set( + new GT_MetaTileEntity_Hatch_InputElemental(15003, "hatch.emin.tier.11", "UIV Elemental Input Hatch", 11) + .getStackForm(1L)); - eM_in_UMV.set(new GT_MetaTileEntity_Hatch_InputElemental( - 15004, "hatch.emin.tier.12", "UMV Elemental Input Hatch", 12).getStackForm(1L)); + eM_in_UMV.set( + new GT_MetaTileEntity_Hatch_InputElemental(15004, "hatch.emin.tier.12", "UMV Elemental Input Hatch", 12) + .getStackForm(1L)); - eM_in_UXV.set(new GT_MetaTileEntity_Hatch_InputElemental( - 15005, "hatch.emin.tier.13", "UXV Elemental Input Hatch", 13).getStackForm(1L)); + eM_in_UXV.set( + new GT_MetaTileEntity_Hatch_InputElemental(15005, "hatch.emin.tier.13", "UXV Elemental Input Hatch", 13) + .getStackForm(1L)); // =================================================================================================== // eM OUT // =================================================================================================== eM_out_UV.set(new GT_MetaTileEntity_Hatch_OutputElemental( - 15010, "hatch.emout.tier.08", "UV Elemental Output Hatch", 8).getStackForm(1L)); + 15010, "hatch.emout.tier.08", "UV Elemental Output Hatch", 8) + .getStackForm(1L)); eM_out_UHV.set(new GT_MetaTileEntity_Hatch_OutputElemental( - 15011, "hatch.emout.tier.09", "UHV Elemental Output Hatch", 9).getStackForm(1L)); + 15011, "hatch.emout.tier.09", "UHV Elemental Output Hatch", 9) + .getStackForm(1L)); eM_out_UEV.set(new GT_MetaTileEntity_Hatch_OutputElemental( - 15012, "hatch.emout.tier.10", "UEV Elemental Output Hatch", 10).getStackForm(1L)); + 15012, "hatch.emout.tier.10", "UEV Elemental Output Hatch", 10) + .getStackForm(1L)); eM_out_UIV.set(new GT_MetaTileEntity_Hatch_OutputElemental( - 15013, "hatch.emout.tier.11", "UIV Elemental Output Hatch", 11).getStackForm(1L)); + 15013, "hatch.emout.tier.11", "UIV Elemental Output Hatch", 11) + .getStackForm(1L)); eM_out_UMV.set(new GT_MetaTileEntity_Hatch_OutputElemental( - 15014, "hatch.emout.tier.12", "UMV Elemental Output Hatch", 12).getStackForm(1L)); + 15014, "hatch.emout.tier.12", "UMV Elemental Output Hatch", 12) + .getStackForm(1L)); eM_out_UXV.set(new GT_MetaTileEntity_Hatch_OutputElemental( - 15015, "hatch.emout.tier.13", "UXV Elemental Output Hatch", 13).getStackForm(1L)); + 15015, "hatch.emout.tier.13", "UXV Elemental Output Hatch", 13) + .getStackForm(1L)); // =================================================================================================== // eM Waste OUT // =================================================================================================== eM_muffler_UV.set(new GT_MetaTileEntity_Hatch_OverflowElemental( - 15020, "hatch.emmuffler.tier.08", "UV Overflow Output Hatch", 8, 1e10f* EM_COUNT_PER_MATERIAL_AMOUNT).getStackForm(1L)); + 15020, + "hatch.emmuffler.tier.08", + "UV Overflow Output Hatch", + 8, + 1e10f * EM_COUNT_PER_MATERIAL_AMOUNT) + .getStackForm(1L)); eM_muffler_UHV.set(new GT_MetaTileEntity_Hatch_OverflowElemental( - 15021, "hatch.emmuffler.tier.09", "UHV Overflow Output Hatch", 9, 5e10f* EM_COUNT_PER_MATERIAL_AMOUNT).getStackForm(1L)); + 15021, + "hatch.emmuffler.tier.09", + "UHV Overflow Output Hatch", + 9, + 5e10f * EM_COUNT_PER_MATERIAL_AMOUNT) + .getStackForm(1L)); eM_muffler_UEV.set(new GT_MetaTileEntity_Hatch_OverflowElemental( - 15022, "hatch.emmuffler.tier.10", "UEV Overflow Output Hatch", 10, 25e10f* EM_COUNT_PER_MATERIAL_AMOUNT).getStackForm(1L)); + 15022, + "hatch.emmuffler.tier.10", + "UEV Overflow Output Hatch", + 10, + 25e10f * EM_COUNT_PER_MATERIAL_AMOUNT) + .getStackForm(1L)); eM_muffler_UIV.set(new GT_MetaTileEntity_Hatch_OverflowElemental( - 15023, "hatch.emmuffler.tier.11", "UIV Overflow Output Hatch", 11, 125e10f* EM_COUNT_PER_MATERIAL_AMOUNT).getStackForm(1L)); + 15023, + "hatch.emmuffler.tier.11", + "UIV Overflow Output Hatch", + 11, + 125e10f * EM_COUNT_PER_MATERIAL_AMOUNT) + .getStackForm(1L)); eM_muffler_UMV.set(new GT_MetaTileEntity_Hatch_OverflowElemental( - 15024, "hatch.emmuffler.tier.12", "UMV Overflow Output Hatch", 12, 125e11f* EM_COUNT_PER_MATERIAL_AMOUNT).getStackForm(1L)); + 15024, + "hatch.emmuffler.tier.12", + "UMV Overflow Output Hatch", + 12, + 125e11f * EM_COUNT_PER_MATERIAL_AMOUNT) + .getStackForm(1L)); eM_muffler_UXV.set(new GT_MetaTileEntity_Hatch_OverflowElemental( - 15025, "hatch.emmuffler.tier.13", "UXV Overflow Output Hatch", 13, 125e12f* EM_COUNT_PER_MATERIAL_AMOUNT).getStackForm(1L)); + 15025, + "hatch.emmuffler.tier.13", + "UXV Overflow Output Hatch", + 13, + 125e12f * EM_COUNT_PER_MATERIAL_AMOUNT) + .getStackForm(1L)); - // =================================================================================================== // Microcontrollers // =================================================================================================== - - eM_avr_HV.set(new GT_MetaTileEntity_MicroController( - 15030, "machine.avr.tier.08", "HV AVR Micro-controller", 3).getStackForm(1L)); - - eM_avr_EV.set(new GT_MetaTileEntity_MicroController( - 15031, "machine.avr.tier.08", "EV AVR Micro-controller", 4).getStackForm(1L)); - - eM_avr_IV.set(new GT_MetaTileEntity_MicroController( - 15032, "machine.avr.tier.08", "IV AVR Micro-controller", 5).getStackForm(1L)); - - eM_avr_LuV.set(new GT_MetaTileEntity_MicroController( - 15033, "machine.avr.tier.08", "LuV AVR Micro-controller", 6).getStackForm(1L)); - - eM_avr_ZPM.set(new GT_MetaTileEntity_MicroController( - 15034, "machine.avr.tier.08", "ZPM AVR Micro-controller", 7).getStackForm(1L)); - eM_avr_UV.set(new GT_MetaTileEntity_MicroController( - 15035, "machine.avr.tier.08", "UV AVR Micro-controller", 8).getStackForm(1L)); + eM_avr_HV.set(new GT_MetaTileEntity_MicroController(15030, "machine.avr.tier.08", "HV AVR Micro-controller", 3) + .getStackForm(1L)); - eM_avr_UHV.set(new GT_MetaTileEntity_MicroController( - 15036, "machine.avr.tier.09", "UHV AVR Micro-controller", 9).getStackForm(1L)); + eM_avr_EV.set(new GT_MetaTileEntity_MicroController(15031, "machine.avr.tier.08", "EV AVR Micro-controller", 4) + .getStackForm(1L)); - eM_avr_UEV.set(new GT_MetaTileEntity_MicroController( - 15037, "machine.avr.tier.10", "UEV AVR Micro-controller", 10).getStackForm(1L)); + eM_avr_IV.set(new GT_MetaTileEntity_MicroController(15032, "machine.avr.tier.08", "IV AVR Micro-controller", 5) + .getStackForm(1L)); - eM_avr_UIV.set(new GT_MetaTileEntity_MicroController( - 15038, "machine.avr.tier.11", "UIV AVR Micro-controller", 11).getStackForm(1L)); + eM_avr_LuV.set( + new GT_MetaTileEntity_MicroController(15033, "machine.avr.tier.08", "LuV AVR Micro-controller", 6) + .getStackForm(1L)); - eM_avr_UMV.set(new GT_MetaTileEntity_MicroController( - 15039, "machine.avr.tier.12", "UMV AVR Micro-controller", 12).getStackForm(1L)); - + eM_avr_ZPM.set( + new GT_MetaTileEntity_MicroController(15034, "machine.avr.tier.08", "ZPM AVR Micro-controller", 7) + .getStackForm(1L)); + + eM_avr_UV.set(new GT_MetaTileEntity_MicroController(15035, "machine.avr.tier.08", "UV AVR Micro-controller", 8) + .getStackForm(1L)); + + eM_avr_UHV.set( + new GT_MetaTileEntity_MicroController(15036, "machine.avr.tier.09", "UHV AVR Micro-controller", 9) + .getStackForm(1L)); + + eM_avr_UEV.set( + new GT_MetaTileEntity_MicroController(15037, "machine.avr.tier.10", "UEV AVR Micro-controller", 10) + .getStackForm(1L)); + + eM_avr_UIV.set( + new GT_MetaTileEntity_MicroController(15038, "machine.avr.tier.11", "UIV AVR Micro-controller", 11) + .getStackForm(1L)); + + eM_avr_UMV.set( + new GT_MetaTileEntity_MicroController(15039, "machine.avr.tier.12", "UMV AVR Micro-controller", 12) + .getStackForm(1L)); // =================================================================================================== // Multi AMP Power INPUTS // =================================================================================================== eM_energyMulti4_IV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15100, "hatch.energymulti04.tier.05", "IV 4A Energy Hatch", 5, 4).getStackForm(1L)); + 15100, "hatch.energymulti04.tier.05", "IV 4A Energy Hatch", 5, 4) + .getStackForm(1L)); eM_energyMulti16_IV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15110, "hatch.energymulti16.tier.05", "IV 16A Energy Hatch", 5, 16).getStackForm(1L)); + 15110, "hatch.energymulti16.tier.05", "IV 16A Energy Hatch", 5, 16) + .getStackForm(1L)); eM_energyMulti64_IV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15120, "hatch.energymulti64.tier.05", "IV 64A Energy Hatch", 5, 64).getStackForm(1L)); + 15120, "hatch.energymulti64.tier.05", "IV 64A Energy Hatch", 5, 64) + .getStackForm(1L)); eM_energyMulti4_LuV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15101, "hatch.energymulti04.tier.06", "LuV 4A Energy Hatch", 6, 4).getStackForm(1L)); + 15101, "hatch.energymulti04.tier.06", "LuV 4A Energy Hatch", 6, 4) + .getStackForm(1L)); eM_energyMulti16_LuV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15111, "hatch.energymulti16.tier.06", "LuV 16A Energy Hatch", 6, 16).getStackForm(1L)); + 15111, "hatch.energymulti16.tier.06", "LuV 16A Energy Hatch", 6, 16) + .getStackForm(1L)); eM_energyMulti64_LuV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15121, "hatch.energymulti64.tier.06", "LuV 64A Energy Hatch", 6, 64).getStackForm(1L)); + 15121, "hatch.energymulti64.tier.06", "LuV 64A Energy Hatch", 6, 64) + .getStackForm(1L)); eM_energyMulti4_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15102, "hatch.energymulti04.tier.07", "ZPM 4A Energy Hatch", 7, 4).getStackForm(1L)); + 15102, "hatch.energymulti04.tier.07", "ZPM 4A Energy Hatch", 7, 4) + .getStackForm(1L)); eM_energyMulti16_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15112, "hatch.energymulti16.tier.07", "ZPM 16A Energy Hatch", 7, 16).getStackForm(1L)); + 15112, "hatch.energymulti16.tier.07", "ZPM 16A Energy Hatch", 7, 16) + .getStackForm(1L)); eM_energyMulti64_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15122, "hatch.energymulti64.tier.07", "ZPM 64A Energy Hatch", 7, 64).getStackForm(1L)); + 15122, "hatch.energymulti64.tier.07", "ZPM 64A Energy Hatch", 7, 64) + .getStackForm(1L)); eM_energyMulti4_UV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15103, "hatch.energymulti04.tier.08", "UV 4A Energy Hatch", 8, 4).getStackForm(1L)); + 15103, "hatch.energymulti04.tier.08", "UV 4A Energy Hatch", 8, 4) + .getStackForm(1L)); eM_energyMulti16_UV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15113, "hatch.energymulti16.tier.08", "UV 16A Energy Hatch", 8, 16).getStackForm(1L)); + 15113, "hatch.energymulti16.tier.08", "UV 16A Energy Hatch", 8, 16) + .getStackForm(1L)); eM_energyMulti64_UV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15123, "hatch.energymulti64.tier.08", "UV 64A Energy Hatch", 8, 64).getStackForm(1L)); + 15123, "hatch.energymulti64.tier.08", "UV 64A Energy Hatch", 8, 64) + .getStackForm(1L)); eM_energyMulti4_UHV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15104, "hatch.energymulti04.tier.09", "UHV 4A Energy Hatch", 9, 4).getStackForm(1L)); + 15104, "hatch.energymulti04.tier.09", "UHV 4A Energy Hatch", 9, 4) + .getStackForm(1L)); eM_energyMulti16_UHV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15114, "hatch.energymulti16.tier.09", "UHV 16A Energy Hatch", 9, 16).getStackForm(1L)); + 15114, "hatch.energymulti16.tier.09", "UHV 16A Energy Hatch", 9, 16) + .getStackForm(1L)); eM_energyMulti64_UHV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15124, "hatch.energymulti64.tier.09", "UHV 64A Energy Hatch", 9, 64).getStackForm(1L)); + 15124, "hatch.energymulti64.tier.09", "UHV 64A Energy Hatch", 9, 64) + .getStackForm(1L)); eM_energyMulti4_UEV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15105, "hatch.energymulti04.tier.10", "UEV 4A Energy Hatch", 10, 4).getStackForm(1L)); + 15105, "hatch.energymulti04.tier.10", "UEV 4A Energy Hatch", 10, 4) + .getStackForm(1L)); eM_energyMulti16_UEV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15115, "hatch.energymulti16.tier.10", "UEV 16A Energy Hatch", 10, 16).getStackForm(1L)); + 15115, "hatch.energymulti16.tier.10", "UEV 16A Energy Hatch", 10, 16) + .getStackForm(1L)); eM_energyMulti64_UEV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15125, "hatch.energymulti64.tier.10", "UEV 64A Energy Hatch", 10, 64).getStackForm(1L)); + 15125, "hatch.energymulti64.tier.10", "UEV 64A Energy Hatch", 10, 64) + .getStackForm(1L)); eM_energyMulti4_UIV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15106, "hatch.energymulti04.tier.11", "UIV 4A Energy Hatch", 11, 4).getStackForm(1L)); + 15106, "hatch.energymulti04.tier.11", "UIV 4A Energy Hatch", 11, 4) + .getStackForm(1L)); eM_energyMulti16_UIV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15116, "hatch.energymulti16.tier.11", "UIV 16A Energy Hatch", 11, 16).getStackForm(1L)); + 15116, "hatch.energymulti16.tier.11", "UIV 16A Energy Hatch", 11, 16) + .getStackForm(1L)); eM_energyMulti64_UIV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15126, "hatch.energymulti64.tier.11", "UIV 64A Energy Hatch", 11, 64).getStackForm(1L)); + 15126, "hatch.energymulti64.tier.11", "UIV 64A Energy Hatch", 11, 64) + .getStackForm(1L)); eM_energyMulti4_UMV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15107, "hatch.energymulti04.tier.12", "UMV 4A Energy Hatch", 12, 4).getStackForm(1L)); + 15107, "hatch.energymulti04.tier.12", "UMV 4A Energy Hatch", 12, 4) + .getStackForm(1L)); eM_energyMulti16_UMV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15117, "hatch.energymulti16.tier.12", "UMV 16A Energy Hatch", 12, 16).getStackForm(1L)); + 15117, "hatch.energymulti16.tier.12", "UMV 16A Energy Hatch", 12, 16) + .getStackForm(1L)); eM_energyMulti64_UMV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15127, "hatch.energymulti64.tier.12", "UMV 64A Energy Hatch", 12, 64).getStackForm(1L)); + 15127, "hatch.energymulti64.tier.12", "UMV 64A Energy Hatch", 12, 64) + .getStackForm(1L)); eM_energyMulti4_UXV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15108, "hatch.energymulti04.tier.13", "UXV 4A Energy Hatch", 13, 4).getStackForm(1L)); + 15108, "hatch.energymulti04.tier.13", "UXV 4A Energy Hatch", 13, 4) + .getStackForm(1L)); eM_energyMulti16_UXV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15118, "hatch.energymulti16.tier.13", "UXV 16A Energy Hatch", 13, 16).getStackForm(1L)); + 15118, "hatch.energymulti16.tier.13", "UXV 16A Energy Hatch", 13, 16) + .getStackForm(1L)); eM_energyMulti64_UXV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15128, "hatch.energymulti64.tier.13", "UXV 64A Energy Hatch", 13, 64).getStackForm(1L)); + 15128, "hatch.energymulti64.tier.13", "UXV 64A Energy Hatch", 13, 64) + .getStackForm(1L)); // =================================================================================================== // Multi AMP Laser INPUTS // =================================================================================================== eM_energyTunnel1_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15130, "hatch.energytunnel1.tier.05", "IV 256A/t Laser Target Hatch", 5, 256).getStackForm(1L)); + 15130, "hatch.energytunnel1.tier.05", "IV 256A/t Laser Target Hatch", 5, 256) + .getStackForm(1L)); eM_energyTunnel2_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15140, "hatch.energytunnel2.tier.05", "IV 1024A/t Laser Target Hatch", 5, 1024).getStackForm(1L)); + 15140, "hatch.energytunnel2.tier.05", "IV 1024A/t Laser Target Hatch", 5, 1024) + .getStackForm(1L)); eM_energyTunnel3_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15150, "hatch.energytunnel3.tier.05", "IV 4096A/t Laser Target Hatch", 5, 4096).getStackForm(1L)); + 15150, "hatch.energytunnel3.tier.05", "IV 4096A/t Laser Target Hatch", 5, 4096) + .getStackForm(1L)); eM_energyTunnel4_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15160, "hatch.energytunnel4.tier.05", "IV 16384A/t Laser Target Hatch", 5, 16384).getStackForm(1L)); + 15160, "hatch.energytunnel4.tier.05", "IV 16384A/t Laser Target Hatch", 5, 16384) + .getStackForm(1L)); eM_energyTunnel5_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15170, "hatch.energytunnel5.tier.05", "IV 65536A/t Laser Target Hatch", 5, 65536).getStackForm(1L)); + 15170, "hatch.energytunnel5.tier.05", "IV 65536A/t Laser Target Hatch", 5, 65536) + .getStackForm(1L)); eM_energyTunnel6_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15180, "hatch.energytunnel6.tier.05", "IV 262144A/t Laser Target Hatch", 5, 262144).getStackForm(1L)); + 15180, "hatch.energytunnel6.tier.05", "IV 262144A/t Laser Target Hatch", 5, 262144) + .getStackForm(1L)); eM_energyTunnel7_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15190, "hatch.energytunnel7.tier.05", "IV 1048576A/t Laser Target Hatch", 5, 1048576).getStackForm(1L)); + 15190, "hatch.energytunnel7.tier.05", "IV 1048576A/t Laser Target Hatch", 5, 1048576) + .getStackForm(1L)); eM_energyTunnel1_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15131, "hatch.energytunnel1.tier.06", "LuV 256A/t Laser Target Hatch", 6, 256).getStackForm(1L)); + 15131, "hatch.energytunnel1.tier.06", "LuV 256A/t Laser Target Hatch", 6, 256) + .getStackForm(1L)); eM_energyTunnel2_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15141, "hatch.energytunnel2.tier.06", "LuV 1024A/t Laser Target Hatch", 6, 1024).getStackForm(1L)); + 15141, "hatch.energytunnel2.tier.06", "LuV 1024A/t Laser Target Hatch", 6, 1024) + .getStackForm(1L)); eM_energyTunnel3_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15151, "hatch.energytunnel3.tier.06", "LuV 4096A/t Laser Target Hatch", 6, 4096).getStackForm(1L)); + 15151, "hatch.energytunnel3.tier.06", "LuV 4096A/t Laser Target Hatch", 6, 4096) + .getStackForm(1L)); eM_energyTunnel4_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15161, "hatch.energytunnel4.tier.06", "LuV 16384A/t Laser Target Hatch", 6, 16384).getStackForm(1L)); + 15161, "hatch.energytunnel4.tier.06", "LuV 16384A/t Laser Target Hatch", 6, 16384) + .getStackForm(1L)); eM_energyTunnel5_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15171, "hatch.energytunnel5.tier.06", "LuV 65536A/t Laser Target Hatch", 6, 65536).getStackForm(1L)); + 15171, "hatch.energytunnel5.tier.06", "LuV 65536A/t Laser Target Hatch", 6, 65536) + .getStackForm(1L)); eM_energyTunnel6_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15181, "hatch.energytunnel6.tier.06", "LuV 262144A/t Laser Target Hatch", 6, 262144).getStackForm(1L)); + 15181, "hatch.energytunnel6.tier.06", "LuV 262144A/t Laser Target Hatch", 6, 262144) + .getStackForm(1L)); eM_energyTunnel7_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15191, "hatch.energytunnel7.tier.06", "LuV 1048576A/t Laser Target Hatch", 6, 1048576).getStackForm(1L)); + 15191, "hatch.energytunnel7.tier.06", "LuV 1048576A/t Laser Target Hatch", 6, 1048576) + .getStackForm(1L)); eM_energyTunnel1_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15132, "hatch.energytunnel1.tier.07", "ZPM 256A/t Laser Target Hatch", 7, 256).getStackForm(1L)); + 15132, "hatch.energytunnel1.tier.07", "ZPM 256A/t Laser Target Hatch", 7, 256) + .getStackForm(1L)); eM_energyTunnel2_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15142, "hatch.energytunnel2.tier.07", "ZPM 1024A/t Laser Target Hatch", 7, 1024).getStackForm(1L)); + 15142, "hatch.energytunnel2.tier.07", "ZPM 1024A/t Laser Target Hatch", 7, 1024) + .getStackForm(1L)); eM_energyTunnel3_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15152, "hatch.energytunnel3.tier.07", "ZPM 4096A/t Laser Target Hatch", 7, 4096).getStackForm(1L)); + 15152, "hatch.energytunnel3.tier.07", "ZPM 4096A/t Laser Target Hatch", 7, 4096) + .getStackForm(1L)); eM_energyTunnel4_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15162, "hatch.energytunnel4.tier.07", "ZPM 16384A/t Laser Target Hatch", 7, 16384).getStackForm(1L)); + 15162, "hatch.energytunnel4.tier.07", "ZPM 16384A/t Laser Target Hatch", 7, 16384) + .getStackForm(1L)); eM_energyTunnel5_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15172, "hatch.energytunnel5.tier.07", "ZPM 65536A/t Laser Target Hatch", 7, 65536).getStackForm(1L)); + 15172, "hatch.energytunnel5.tier.07", "ZPM 65536A/t Laser Target Hatch", 7, 65536) + .getStackForm(1L)); eM_energyTunnel6_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15182, "hatch.energytunnel6.tier.07", "ZPM 262144A/t Laser Target Hatch", 7, 262144).getStackForm(1L)); + 15182, "hatch.energytunnel6.tier.07", "ZPM 262144A/t Laser Target Hatch", 7, 262144) + .getStackForm(1L)); eM_energyTunnel7_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15192, "hatch.energytunnel7.tier.07", "ZPM 1048576A/t Laser Target Hatch", 7, 1048576).getStackForm(1L)); + 15192, "hatch.energytunnel7.tier.07", "ZPM 1048576A/t Laser Target Hatch", 7, 1048576) + .getStackForm(1L)); eM_energyTunnel1_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15133, "hatch.energytunnel1.tier.08", "UV 256A/t Laser Target Hatch", 8, 256).getStackForm(1L)); + 15133, "hatch.energytunnel1.tier.08", "UV 256A/t Laser Target Hatch", 8, 256) + .getStackForm(1L)); eM_energyTunnel2_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15143, "hatch.energytunnel2.tier.08", "UV 1024A/t Laser Target Hatch", 8, 1024).getStackForm(1L)); + 15143, "hatch.energytunnel2.tier.08", "UV 1024A/t Laser Target Hatch", 8, 1024) + .getStackForm(1L)); eM_energyTunnel3_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15153, "hatch.energytunnel3.tier.08", "UV 4096A/t Laser Target Hatch", 8, 4096).getStackForm(1L)); + 15153, "hatch.energytunnel3.tier.08", "UV 4096A/t Laser Target Hatch", 8, 4096) + .getStackForm(1L)); eM_energyTunnel4_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15163, "hatch.energytunnel4.tier.08", "UV 16384A/t Laser Target Hatch", 8, 16384).getStackForm(1L)); + 15163, "hatch.energytunnel4.tier.08", "UV 16384A/t Laser Target Hatch", 8, 16384) + .getStackForm(1L)); eM_energyTunnel5_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15173, "hatch.energytunnel5.tier.08", "UV 65536A/t Laser Target Hatch", 8, 65536).getStackForm(1L)); + 15173, "hatch.energytunnel5.tier.08", "UV 65536A/t Laser Target Hatch", 8, 65536) + .getStackForm(1L)); eM_energyTunnel6_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15183, "hatch.energytunnel6.tier.08", "UV 262144A/t Laser Target Hatch", 8, 262144).getStackForm(1L)); + 15183, "hatch.energytunnel6.tier.08", "UV 262144A/t Laser Target Hatch", 8, 262144) + .getStackForm(1L)); eM_energyTunnel7_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15193, "hatch.energytunnel7.tier.08", "UV 1048576A/t Laser Target Hatch", 8, 1048576).getStackForm(1L)); + 15193, "hatch.energytunnel7.tier.08", "UV 1048576A/t Laser Target Hatch", 8, 1048576) + .getStackForm(1L)); eM_energyTunnel1_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15134, "hatch.energytunnel1.tier.09", "UHV 256A/t Laser Target Hatch", 9, 256).getStackForm(1L)); + 15134, "hatch.energytunnel1.tier.09", "UHV 256A/t Laser Target Hatch", 9, 256) + .getStackForm(1L)); eM_energyTunnel2_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15144, "hatch.energytunnel2.tier.09", "UHV 1024A/t Laser Target Hatch", 9, 1024).getStackForm(1L)); + 15144, "hatch.energytunnel2.tier.09", "UHV 1024A/t Laser Target Hatch", 9, 1024) + .getStackForm(1L)); eM_energyTunnel3_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15154, "hatch.energytunnel3.tier.09", "UHV 4096A/t Laser Target Hatch", 9, 4096).getStackForm(1L)); + 15154, "hatch.energytunnel3.tier.09", "UHV 4096A/t Laser Target Hatch", 9, 4096) + .getStackForm(1L)); eM_energyTunnel4_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15164, "hatch.energytunnel4.tier.09", "UHV 16384A/t Laser Target Hatch", 9, 16384).getStackForm(1L)); + 15164, "hatch.energytunnel4.tier.09", "UHV 16384A/t Laser Target Hatch", 9, 16384) + .getStackForm(1L)); eM_energyTunnel5_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15174, "hatch.energytunnel5.tier.09", "UHV 65536A/t Laser Target Hatch", 9, 65536).getStackForm(1L)); + 15174, "hatch.energytunnel5.tier.09", "UHV 65536A/t Laser Target Hatch", 9, 65536) + .getStackForm(1L)); eM_energyTunnel6_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15184, "hatch.energytunnel6.tier.09", "UHV 262144A/t Laser Target Hatch", 9, 262144).getStackForm(1L)); + 15184, "hatch.energytunnel6.tier.09", "UHV 262144A/t Laser Target Hatch", 9, 262144) + .getStackForm(1L)); eM_energyTunnel7_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15194, "hatch.energytunnel7.tier.09", "UHV 1048576A/t Laser Target Hatch", 9, 1048576).getStackForm(1L)); + 15194, "hatch.energytunnel7.tier.09", "UHV 1048576A/t Laser Target Hatch", 9, 1048576) + .getStackForm(1L)); eM_energyTunnel1_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15135, "hatch.energytunnel1.tier.10", "UEV 256A/t Laser Target Hatch", 10, 256).getStackForm(1L)); + 15135, "hatch.energytunnel1.tier.10", "UEV 256A/t Laser Target Hatch", 10, 256) + .getStackForm(1L)); eM_energyTunnel2_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15145, "hatch.energytunnel2.tier.10", "UEV 1024A/t Laser Target Hatch", 10, 1024).getStackForm(1L)); + 15145, "hatch.energytunnel2.tier.10", "UEV 1024A/t Laser Target Hatch", 10, 1024) + .getStackForm(1L)); eM_energyTunnel3_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15155, "hatch.energytunnel3.tier.10", "UEV 4096A/t Laser Target Hatch", 10, 4096).getStackForm(1L)); + 15155, "hatch.energytunnel3.tier.10", "UEV 4096A/t Laser Target Hatch", 10, 4096) + .getStackForm(1L)); eM_energyTunnel4_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15165, "hatch.energytunnel4.tier.10", "UEV 16384A/t Laser Target Hatch", 10, 16384).getStackForm(1L)); + 15165, "hatch.energytunnel4.tier.10", "UEV 16384A/t Laser Target Hatch", 10, 16384) + .getStackForm(1L)); eM_energyTunnel5_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15175, "hatch.energytunnel5.tier.10", "UEV 65536A/t Laser Target Hatch", 10, 65536).getStackForm(1L)); + 15175, "hatch.energytunnel5.tier.10", "UEV 65536A/t Laser Target Hatch", 10, 65536) + .getStackForm(1L)); eM_energyTunnel6_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15185, "hatch.energytunnel6.tier.10", "UEV 262144A/t Laser Target Hatch", 10, 262144).getStackForm(1L)); + 15185, "hatch.energytunnel6.tier.10", "UEV 262144A/t Laser Target Hatch", 10, 262144) + .getStackForm(1L)); eM_energyTunnel7_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15195, "hatch.energytunnel7.tier.10", "UEV 1048576A/t Laser Target Hatch", 10, 1048576).getStackForm(1L)); + 15195, "hatch.energytunnel7.tier.10", "UEV 1048576A/t Laser Target Hatch", 10, 1048576) + .getStackForm(1L)); eM_energyTunnel1_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15136, "hatch.energytunnel1.tier.11", "UIV 256A/t Laser Target Hatch", 11, 256).getStackForm(1L)); + 15136, "hatch.energytunnel1.tier.11", "UIV 256A/t Laser Target Hatch", 11, 256) + .getStackForm(1L)); eM_energyTunnel2_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15146, "hatch.energytunnel2.tier.11", "UIV 1024A/t Laser Target Hatch", 11, 1024).getStackForm(1L)); + 15146, "hatch.energytunnel2.tier.11", "UIV 1024A/t Laser Target Hatch", 11, 1024) + .getStackForm(1L)); eM_energyTunnel3_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15156, "hatch.energytunnel3.tier.11", "UIV 4096A/t Laser Target Hatch", 11, 4096).getStackForm(1L)); + 15156, "hatch.energytunnel3.tier.11", "UIV 4096A/t Laser Target Hatch", 11, 4096) + .getStackForm(1L)); eM_energyTunnel4_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15166, "hatch.energytunnel4.tier.11", "UIV 16384A/t Laser Target Hatch", 11, 16384).getStackForm(1L)); + 15166, "hatch.energytunnel4.tier.11", "UIV 16384A/t Laser Target Hatch", 11, 16384) + .getStackForm(1L)); eM_energyTunnel5_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15176, "hatch.energytunnel5.tier.11", "UIV 65536A/t Laser Target Hatch", 11, 65536).getStackForm(1L)); + 15176, "hatch.energytunnel5.tier.11", "UIV 65536A/t Laser Target Hatch", 11, 65536) + .getStackForm(1L)); eM_energyTunnel6_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15186, "hatch.energytunnel6.tier.11", "UIV 262144A/t Laser Target Hatch", 11, 262144).getStackForm(1L)); + 15186, "hatch.energytunnel6.tier.11", "UIV 262144A/t Laser Target Hatch", 11, 262144) + .getStackForm(1L)); eM_energyTunnel7_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15196, "hatch.energytunnel7.tier.11", "UIV 1048576A/t Laser Target Hatch", 11, 1048576).getStackForm(1L)); + 15196, "hatch.energytunnel7.tier.11", "UIV 1048576A/t Laser Target Hatch", 11, 1048576) + .getStackForm(1L)); eM_energyTunnel1_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15137, "hatch.energytunnel1.tier.12", "UMV 256A/t Laser Target Hatch", 12, 256).getStackForm(1L)); + 15137, "hatch.energytunnel1.tier.12", "UMV 256A/t Laser Target Hatch", 12, 256) + .getStackForm(1L)); eM_energyTunnel2_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15147, "hatch.energytunnel2.tier.12", "UMV 1024A/t Laser Target Hatch", 12, 1024).getStackForm(1L)); + 15147, "hatch.energytunnel2.tier.12", "UMV 1024A/t Laser Target Hatch", 12, 1024) + .getStackForm(1L)); eM_energyTunnel3_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15157, "hatch.energytunnel3.tier.12", "UMV 4096A/t Laser Target Hatch", 12, 4096).getStackForm(1L)); + 15157, "hatch.energytunnel3.tier.12", "UMV 4096A/t Laser Target Hatch", 12, 4096) + .getStackForm(1L)); eM_energyTunnel4_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15167, "hatch.energytunnel4.tier.12", "UMV 16384A/t Laser Target Hatch", 12, 16384).getStackForm(1L)); + 15167, "hatch.energytunnel4.tier.12", "UMV 16384A/t Laser Target Hatch", 12, 16384) + .getStackForm(1L)); eM_energyTunnel5_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15177, "hatch.energytunnel5.tier.12", "UMV 65536A/t Laser Target Hatch", 12, 65536).getStackForm(1L)); + 15177, "hatch.energytunnel5.tier.12", "UMV 65536A/t Laser Target Hatch", 12, 65536) + .getStackForm(1L)); eM_energyTunnel6_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15187, "hatch.energytunnel6.tier.12", "UMV 262144A/t Laser Target Hatch", 12, 262144).getStackForm(1L)); + 15187, "hatch.energytunnel6.tier.12", "UMV 262144A/t Laser Target Hatch", 12, 262144) + .getStackForm(1L)); eM_energyTunnel7_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15197, "hatch.energytunnel7.tier.12", "UMV 1048576A/t Laser Target Hatch", 12, 1048576).getStackForm(1L)); + 15197, "hatch.energytunnel7.tier.12", "UMV 1048576A/t Laser Target Hatch", 12, 1048576) + .getStackForm(1L)); eM_energyTunnel1_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15138, "hatch.energytunnel1.tier.13", "UXV 256A/t Laser Target Hatch", 13, 256).getStackForm(1L)); + 15138, "hatch.energytunnel1.tier.13", "UXV 256A/t Laser Target Hatch", 13, 256) + .getStackForm(1L)); eM_energyTunnel2_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15148, "hatch.energytunnel2.tier.13", "UXV 1024A/t Laser Target Hatch", 13, 1024).getStackForm(1L)); + 15148, "hatch.energytunnel2.tier.13", "UXV 1024A/t Laser Target Hatch", 13, 1024) + .getStackForm(1L)); eM_energyTunnel3_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15158, "hatch.energytunnel3.tier.13", "UXV 4096A/t Laser Target Hatch", 13, 4096).getStackForm(1L)); + 15158, "hatch.energytunnel3.tier.13", "UXV 4096A/t Laser Target Hatch", 13, 4096) + .getStackForm(1L)); eM_energyTunnel4_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15168, "hatch.energytunnel4.tier.13", "UXV 16384A/t Laser Target Hatch", 13, 16384).getStackForm(1L)); + 15168, "hatch.energytunnel4.tier.13", "UXV 16384A/t Laser Target Hatch", 13, 16384) + .getStackForm(1L)); eM_energyTunnel5_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15178, "hatch.energytunnel5.tier.13", "UXV 65536A/t Laser Target Hatch", 13, 65536).getStackForm(1L)); + 15178, "hatch.energytunnel5.tier.13", "UXV 65536A/t Laser Target Hatch", 13, 65536) + .getStackForm(1L)); eM_energyTunnel6_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15188, "hatch.energytunnel6.tier.13", "UXV 262144A/t Laser Target Hatch", 13, 262144).getStackForm(1L)); + 15188, "hatch.energytunnel6.tier.13", "UXV 262144A/t Laser Target Hatch", 13, 262144) + .getStackForm(1L)); eM_energyTunnel7_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15198, "hatch.energytunnel7.tier.13", "UXV 1048576A/t Laser Target Hatch", 13, 1048576).getStackForm(1L)); + 15198, "hatch.energytunnel7.tier.13", "UXV 1048576A/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", 13, (int) V[13]).getStackForm(1L)); + 15199, "hatch.energytunnel.tier.14", "Legendary Laser Target Hatch", 13, (int) V[13]) + .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)); + 15200, "hatch.dynamomulti04.tier.05", "IV 4A Dynamo Hatch", 5, 4) + .getStackForm(1L)); eM_dynamoMulti16_IV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15210, "hatch.dynamomulti16.tier.05", "IV 16A Dynamo Hatch", 5, 16).getStackForm(1L)); + 15210, "hatch.dynamomulti16.tier.05", "IV 16A Dynamo Hatch", 5, 16) + .getStackForm(1L)); eM_dynamoMulti64_IV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15220, "hatch.dynamomulti64.tier.05", "IV 64A Dynamo Hatch", 5, 64).getStackForm(1L)); + 15220, "hatch.dynamomulti64.tier.05", "IV 64A Dynamo Hatch", 5, 64) + .getStackForm(1L)); eM_dynamoMulti4_LuV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15201, "hatch.dynamomulti04.tier.06", "LuV 4A Dynamo Hatch", 6, 4).getStackForm(1L)); + 15201, "hatch.dynamomulti04.tier.06", "LuV 4A Dynamo Hatch", 6, 4) + .getStackForm(1L)); eM_dynamoMulti16_LuV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15211, "hatch.dynamomulti16.tier.06", "LuV 16A Dynamo Hatch", 6, 16).getStackForm(1L)); + 15211, "hatch.dynamomulti16.tier.06", "LuV 16A Dynamo Hatch", 6, 16) + .getStackForm(1L)); eM_dynamoMulti64_LuV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15221, "hatch.dynamomulti64.tier.06", "LuV 64A Dynamo Hatch", 6, 64).getStackForm(1L)); + 15221, "hatch.dynamomulti64.tier.06", "LuV 64A Dynamo Hatch", 6, 64) + .getStackForm(1L)); eM_dynamoMulti4_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15202, "hatch.dynamomulti04.tier.07", "ZPM 4A Dynamo Hatch", 7, 4).getStackForm(1L)); + 15202, "hatch.dynamomulti04.tier.07", "ZPM 4A Dynamo Hatch", 7, 4) + .getStackForm(1L)); eM_dynamoMulti16_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15212, "hatch.dynamomulti16.tier.07", "ZPM 16A Dynamo Hatch", 7, 16).getStackForm(1L)); + 15212, "hatch.dynamomulti16.tier.07", "ZPM 16A Dynamo Hatch", 7, 16) + .getStackForm(1L)); eM_dynamoMulti64_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15222, "hatch.dynamomulti64.tier.07", "ZPM 64A Dynamo Hatch", 7, 64).getStackForm(1L)); + 15222, "hatch.dynamomulti64.tier.07", "ZPM 64A Dynamo Hatch", 7, 64) + .getStackForm(1L)); eM_dynamoMulti4_UV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15203, "hatch.dynamomulti04.tier.08", "UV 4A Dynamo Hatch", 8, 4).getStackForm(1L)); + 15203, "hatch.dynamomulti04.tier.08", "UV 4A Dynamo Hatch", 8, 4) + .getStackForm(1L)); eM_dynamoMulti16_UV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15213, "hatch.dynamomulti16.tier.08", "UV 16A Dynamo Hatch", 8, 16).getStackForm(1L)); + 15213, "hatch.dynamomulti16.tier.08", "UV 16A Dynamo Hatch", 8, 16) + .getStackForm(1L)); eM_dynamoMulti64_UV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15223, "hatch.dynamomulti64.tier.08", "UV 64A Dynamo Hatch", 8, 64).getStackForm(1L)); + 15223, "hatch.dynamomulti64.tier.08", "UV 64A Dynamo Hatch", 8, 64) + .getStackForm(1L)); eM_dynamoMulti4_UHV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15204, "hatch.dynamomulti04.tier.09", "UHV 4A Dynamo Hatch", 9, 4).getStackForm(1L)); + 15204, "hatch.dynamomulti04.tier.09", "UHV 4A Dynamo Hatch", 9, 4) + .getStackForm(1L)); eM_dynamoMulti16_UHV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15214, "hatch.dynamomulti16.tier.09", "UHV 16A Dynamo Hatch", 9, 16).getStackForm(1L)); + 15214, "hatch.dynamomulti16.tier.09", "UHV 16A Dynamo Hatch", 9, 16) + .getStackForm(1L)); eM_dynamoMulti64_UHV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15224, "hatch.dynamomulti64.tier.09", "UHV 64A Dynamo Hatch", 9, 64).getStackForm(1L)); + 15224, "hatch.dynamomulti64.tier.09", "UHV 64A Dynamo Hatch", 9, 64) + .getStackForm(1L)); eM_dynamoMulti4_UEV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15205, "hatch.dynamomulti04.tier.10", "UEV 4A Dynamo Hatch", 10, 4).getStackForm(1L)); + 15205, "hatch.dynamomulti04.tier.10", "UEV 4A Dynamo Hatch", 10, 4) + .getStackForm(1L)); eM_dynamoMulti16_UEV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15215, "hatch.dynamomulti16.tier.10", "UEV 16A Dynamo Hatch", 10, 16).getStackForm(1L)); + 15215, "hatch.dynamomulti16.tier.10", "UEV 16A Dynamo Hatch", 10, 16) + .getStackForm(1L)); eM_dynamoMulti64_UEV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15225, "hatch.dynamomulti64.tier.10", "UEV 64A Dynamo Hatch", 10, 64).getStackForm(1L)); + 15225, "hatch.dynamomulti64.tier.10", "UEV 64A Dynamo Hatch", 10, 64) + .getStackForm(1L)); eM_dynamoMulti4_UIV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15206, "hatch.dynamomulti04.tier.11", "UIV 4A Dynamo Hatch", 11, 4).getStackForm(1L)); + 15206, "hatch.dynamomulti04.tier.11", "UIV 4A Dynamo Hatch", 11, 4) + .getStackForm(1L)); eM_dynamoMulti16_UIV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15216, "hatch.dynamomulti16.tier.11", "UIV 16A Dynamo Hatch", 11, 16).getStackForm(1L)); + 15216, "hatch.dynamomulti16.tier.11", "UIV 16A Dynamo Hatch", 11, 16) + .getStackForm(1L)); eM_dynamoMulti64_UIV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15226, "hatch.dynamomulti64.tier.11", "UIV 64A Dynamo Hatch", 11, 64).getStackForm(1L)); + 15226, "hatch.dynamomulti64.tier.11", "UIV 64A Dynamo Hatch", 11, 64) + .getStackForm(1L)); eM_dynamoMulti4_UMV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15207, "hatch.dynamomulti04.tier.12", "UMV 4A Dynamo Hatch", 12, 4).getStackForm(1L)); + 15207, "hatch.dynamomulti04.tier.12", "UMV 4A Dynamo Hatch", 12, 4) + .getStackForm(1L)); eM_dynamoMulti16_UMV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15217, "hatch.dynamomulti16.tier.12", "UMV 16A Dynamo Hatch", 12, 16).getStackForm(1L)); + 15217, "hatch.dynamomulti16.tier.12", "UMV 16A Dynamo Hatch", 12, 16) + .getStackForm(1L)); eM_dynamoMulti64_UMV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15227, "hatch.dynamomulti64.tier.12", "UMV 64A Dynamo Hatch", 12, 64).getStackForm(1L)); + 15227, "hatch.dynamomulti64.tier.12", "UMV 64A Dynamo Hatch", 12, 64) + .getStackForm(1L)); eM_dynamoMulti4_UXV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15208, "hatch.dynamomulti04.tier.13", "UXV 4A Dynamo Hatch", 13, 4).getStackForm(1L)); + 15208, "hatch.dynamomulti04.tier.13", "UXV 4A Dynamo Hatch", 13, 4) + .getStackForm(1L)); eM_dynamoMulti16_UXV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15218, "hatch.dynamomulti16.tier.13", "UXV 16A Dynamo Hatch", 13, 16).getStackForm(1L)); + 15218, "hatch.dynamomulti16.tier.13", "UXV 16A Dynamo Hatch", 13, 16) + .getStackForm(1L)); eM_dynamoMulti64_UXV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15228, "hatch.dynamomulti64.tier.13", "UXV 64A Dynamo Hatch", 13, 64).getStackForm(1L)); + 15228, "hatch.dynamomulti64.tier.13", "UXV 64A Dynamo Hatch", 13, 64) + .getStackForm(1L)); // =================================================================================================== // Multi AMP Laser OUTPUTS // =================================================================================================== eM_dynamoTunnel1_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15230, "hatch.dynamotunnel1.tier.05", "IV 256A/t Laser Source Hatch", 5, 256).getStackForm(1L)); + 15230, "hatch.dynamotunnel1.tier.05", "IV 256A/t Laser Source Hatch", 5, 256) + .getStackForm(1L)); eM_dynamoTunnel2_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15240, "hatch.dynamotunnel2.tier.05", "IV 1024A/t Laser Source Hatch", 5, 1024).getStackForm(1L)); + 15240, "hatch.dynamotunnel2.tier.05", "IV 1024A/t Laser Source Hatch", 5, 1024) + .getStackForm(1L)); eM_dynamoTunnel3_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15250, "hatch.dynamotunnel3.tier.05", "IV 4096A/t Laser Source Hatch", 5, 4096).getStackForm(1L)); + 15250, "hatch.dynamotunnel3.tier.05", "IV 4096A/t Laser Source Hatch", 5, 4096) + .getStackForm(1L)); eM_dynamoTunnel4_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15260, "hatch.dynamotunnel4.tier.05", "IV 16384A/t Laser Source Hatch", 5, 16384).getStackForm(1L)); + 15260, "hatch.dynamotunnel4.tier.05", "IV 16384A/t Laser Source Hatch", 5, 16384) + .getStackForm(1L)); eM_dynamoTunnel5_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15270, "hatch.dynamotunnel5.tier.05", "IV 65536A/t Laser Source Hatch", 5, 65536).getStackForm(1L)); + 15270, "hatch.dynamotunnel5.tier.05", "IV 65536A/t Laser Source Hatch", 5, 65536) + .getStackForm(1L)); eM_dynamoTunnel6_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15280, "hatch.dynamotunnel6.tier.05", "IV 262144A/t Laser Source Hatch", 5, 262144).getStackForm(1L)); + 15280, "hatch.dynamotunnel6.tier.05", "IV 262144A/t Laser Source Hatch", 5, 262144) + .getStackForm(1L)); eM_dynamoTunnel7_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15290, "hatch.dynamotunnel7.tier.05", "IV 1048576A/t Laser Source Hatch", 5, 1048576).getStackForm(1L)); + 15290, "hatch.dynamotunnel7.tier.05", "IV 1048576A/t Laser Source Hatch", 5, 1048576) + .getStackForm(1L)); eM_dynamoTunnel1_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15231, "hatch.dynamotunnel1.tier.06", "LuV 256A/t Laser Source Hatch", 6, 256).getStackForm(1L)); + 15231, "hatch.dynamotunnel1.tier.06", "LuV 256A/t Laser Source Hatch", 6, 256) + .getStackForm(1L)); eM_dynamoTunnel2_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15241, "hatch.dynamotunnel2.tier.06", "LuV 1024A/t Laser Source Hatch", 6, 1024).getStackForm(1L)); + 15241, "hatch.dynamotunnel2.tier.06", "LuV 1024A/t Laser Source Hatch", 6, 1024) + .getStackForm(1L)); eM_dynamoTunnel3_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15251, "hatch.dynamotunnel3.tier.06", "LuV 4096A/t Laser Source Hatch", 6, 4096).getStackForm(1L)); + 15251, "hatch.dynamotunnel3.tier.06", "LuV 4096A/t Laser Source Hatch", 6, 4096) + .getStackForm(1L)); eM_dynamoTunnel4_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15261, "hatch.dynamotunnel4.tier.06", "LuV 16384A/t Laser Source Hatch", 6, 16384).getStackForm(1L)); + 15261, "hatch.dynamotunnel4.tier.06", "LuV 16384A/t Laser Source Hatch", 6, 16384) + .getStackForm(1L)); eM_dynamoTunnel5_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15271, "hatch.dynamotunnel5.tier.06", "LuV 65536A/t Laser Source Hatch", 6, 65536).getStackForm(1L)); + 15271, "hatch.dynamotunnel5.tier.06", "LuV 65536A/t Laser Source Hatch", 6, 65536) + .getStackForm(1L)); eM_dynamoTunnel6_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15281, "hatch.dynamotunnel6.tier.06", "LuV 262144A/t Laser Source Hatch", 6, 262144).getStackForm(1L)); + 15281, "hatch.dynamotunnel6.tier.06", "LuV 262144A/t Laser Source Hatch", 6, 262144) + .getStackForm(1L)); eM_dynamoTunnel7_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15291, "hatch.dynamotunnel7.tier.06", "LuV 1048576A/t Laser Source Hatch", 6, 1048576).getStackForm(1L)); + 15291, "hatch.dynamotunnel7.tier.06", "LuV 1048576A/t Laser Source Hatch", 6, 1048576) + .getStackForm(1L)); eM_dynamoTunnel1_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15232, "hatch.dynamotunnel1.tier.07", "ZPM 256A/t Laser Source Hatch", 7, 256).getStackForm(1L)); + 15232, "hatch.dynamotunnel1.tier.07", "ZPM 256A/t Laser Source Hatch", 7, 256) + .getStackForm(1L)); eM_dynamoTunnel2_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15242, "hatch.dynamotunnel2.tier.07", "ZPM 1024A/t Laser Source Hatch", 7, 1024).getStackForm(1L)); + 15242, "hatch.dynamotunnel2.tier.07", "ZPM 1024A/t Laser Source Hatch", 7, 1024) + .getStackForm(1L)); eM_dynamoTunnel3_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15252, "hatch.dynamotunnel3.tier.07", "ZPM 4096A/t Laser Source Hatch", 7, 4096).getStackForm(1L)); + 15252, "hatch.dynamotunnel3.tier.07", "ZPM 4096A/t Laser Source Hatch", 7, 4096) + .getStackForm(1L)); eM_dynamoTunnel4_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15262, "hatch.dynamotunnel4.tier.07", "ZPM 16384A/t Laser Source Hatch", 7, 16384).getStackForm(1L)); + 15262, "hatch.dynamotunnel4.tier.07", "ZPM 16384A/t Laser Source Hatch", 7, 16384) + .getStackForm(1L)); eM_dynamoTunnel5_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15272, "hatch.dynamotunnel5.tier.07", "ZPM 65536A/t Laser Source Hatch", 7, 65536).getStackForm(1L)); + 15272, "hatch.dynamotunnel5.tier.07", "ZPM 65536A/t Laser Source Hatch", 7, 65536) + .getStackForm(1L)); eM_dynamoTunnel6_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15282, "hatch.dynamotunnel6.tier.07", "ZPM 262144A/t Laser Source Hatch", 7, 262144).getStackForm(1L)); + 15282, "hatch.dynamotunnel6.tier.07", "ZPM 262144A/t Laser Source Hatch", 7, 262144) + .getStackForm(1L)); eM_dynamoTunnel7_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15292, "hatch.dynamotunnel7.tier.07", "ZPM 1048576A/t Laser Source Hatch", 7, 1048576).getStackForm(1L)); + 15292, "hatch.dynamotunnel7.tier.07", "ZPM 1048576A/t Laser Source Hatch", 7, 1048576) + .getStackForm(1L)); eM_dynamoTunnel1_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15233, "hatch.dynamotunnel1.tier.08", "UV 256A/t Laser Source Hatch", 8, 256).getStackForm(1L)); + 15233, "hatch.dynamotunnel1.tier.08", "UV 256A/t Laser Source Hatch", 8, 256) + .getStackForm(1L)); eM_dynamoTunnel2_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15243, "hatch.dynamotunnel2.tier.08", "UV 1024A/t Laser Source Hatch", 8, 1024).getStackForm(1L)); + 15243, "hatch.dynamotunnel2.tier.08", "UV 1024A/t Laser Source Hatch", 8, 1024) + .getStackForm(1L)); eM_dynamoTunnel3_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15253, "hatch.dynamotunnel3.tier.08", "UV 4096A/t Laser Source Hatch", 8, 4096).getStackForm(1L)); + 15253, "hatch.dynamotunnel3.tier.08", "UV 4096A/t Laser Source Hatch", 8, 4096) + .getStackForm(1L)); eM_dynamoTunnel4_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15263, "hatch.dynamotunnel4.tier.08", "UV 16384A/t Laser Source Hatch", 8, 16384).getStackForm(1L)); + 15263, "hatch.dynamotunnel4.tier.08", "UV 16384A/t Laser Source Hatch", 8, 16384) + .getStackForm(1L)); eM_dynamoTunnel5_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15273, "hatch.dynamotunnel5.tier.08", "UV 65536A/t Laser Source Hatch", 8, 65536).getStackForm(1L)); + 15273, "hatch.dynamotunnel5.tier.08", "UV 65536A/t Laser Source Hatch", 8, 65536) + .getStackForm(1L)); eM_dynamoTunnel6_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15283, "hatch.dynamotunnel6.tier.08", "UV 262144A/t Laser Source Hatch", 8, 262144).getStackForm(1L)); + 15283, "hatch.dynamotunnel6.tier.08", "UV 262144A/t Laser Source Hatch", 8, 262144) + .getStackForm(1L)); eM_dynamoTunnel7_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15293, "hatch.dynamotunnel7.tier.08", "UV 1048576A/t Laser Source Hatch", 8, 1048576).getStackForm(1L)); + 15293, "hatch.dynamotunnel7.tier.08", "UV 1048576A/t Laser Source Hatch", 8, 1048576) + .getStackForm(1L)); eM_dynamoTunnel1_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15234, "hatch.dynamotunnel1.tier.09", "UHV 256A/t Laser Source Hatch", 9, 256).getStackForm(1L)); + 15234, "hatch.dynamotunnel1.tier.09", "UHV 256A/t Laser Source Hatch", 9, 256) + .getStackForm(1L)); eM_dynamoTunnel2_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15244, "hatch.dynamotunnel2.tier.09", "UHV 1024A/t Laser Source Hatch", 9, 1024).getStackForm(1L)); + 15244, "hatch.dynamotunnel2.tier.09", "UHV 1024A/t Laser Source Hatch", 9, 1024) + .getStackForm(1L)); eM_dynamoTunnel3_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15254, "hatch.dynamotunnel3.tier.09", "UHV 4096A/t Laser Source Hatch", 9, 4096).getStackForm(1L)); + 15254, "hatch.dynamotunnel3.tier.09", "UHV 4096A/t Laser Source Hatch", 9, 4096) + .getStackForm(1L)); eM_dynamoTunnel4_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15264, "hatch.dynamotunnel4.tier.09", "UHV 16384A/t Laser Source Hatch", 9, 16384).getStackForm(1L)); + 15264, "hatch.dynamotunnel4.tier.09", "UHV 16384A/t Laser Source Hatch", 9, 16384) + .getStackForm(1L)); eM_dynamoTunnel5_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15274, "hatch.dynamotunnel5.tier.09", "UHV 65536A/t Laser Source Hatch", 9, 65536).getStackForm(1L)); + 15274, "hatch.dynamotunnel5.tier.09", "UHV 65536A/t Laser Source Hatch", 9, 65536) + .getStackForm(1L)); eM_dynamoTunnel6_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15284, "hatch.dynamotunnel6.tier.09", "UHV 262144A/t Laser Source Hatch", 9, 262144).getStackForm(1L)); + 15284, "hatch.dynamotunnel6.tier.09", "UHV 262144A/t Laser Source Hatch", 9, 262144) + .getStackForm(1L)); eM_dynamoTunnel7_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15294, "hatch.dynamotunnel7.tier.09", "UHV 1048576A/t Laser Source Hatch", 9, 1048576).getStackForm(1L)); + 15294, "hatch.dynamotunnel7.tier.09", "UHV 1048576A/t Laser Source Hatch", 9, 1048576) + .getStackForm(1L)); eM_dynamoTunnel1_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15235, "hatch.dynamotunnel1.tier.10", "UEV 256A/t Laser Source Hatch", 10, 256).getStackForm(1L)); + 15235, "hatch.dynamotunnel1.tier.10", "UEV 256A/t Laser Source Hatch", 10, 256) + .getStackForm(1L)); eM_dynamoTunnel2_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15245, "hatch.dynamotunnel2.tier.10", "UEV 1024A/t Laser Source Hatch", 10, 1024).getStackForm(1L)); + 15245, "hatch.dynamotunnel2.tier.10", "UEV 1024A/t Laser Source Hatch", 10, 1024) + .getStackForm(1L)); eM_dynamoTunnel3_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15255, "hatch.dynamotunnel3.tier.10", "UEV 4096A/t Laser Source Hatch", 10, 4096).getStackForm(1L)); + 15255, "hatch.dynamotunnel3.tier.10", "UEV 4096A/t Laser Source Hatch", 10, 4096) + .getStackForm(1L)); eM_dynamoTunnel4_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15265, "hatch.dynamotunnel4.tier.10", "UEV 16384A/t Laser Source Hatch", 10, 16384).getStackForm(1L)); + 15265, "hatch.dynamotunnel4.tier.10", "UEV 16384A/t Laser Source Hatch", 10, 16384) + .getStackForm(1L)); eM_dynamoTunnel5_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15275, "hatch.dynamotunnel5.tier.10", "UEV 65536A/t Laser Source Hatch", 10, 65536).getStackForm(1L)); + 15275, "hatch.dynamotunnel5.tier.10", "UEV 65536A/t Laser Source Hatch", 10, 65536) + .getStackForm(1L)); eM_dynamoTunnel6_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15285, "hatch.dynamotunnel6.tier.10", "UEV 262144A/t Laser Source Hatch", 10, 262144).getStackForm(1L)); + 15285, "hatch.dynamotunnel6.tier.10", "UEV 262144A/t Laser Source Hatch", 10, 262144) + .getStackForm(1L)); eM_dynamoTunnel7_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15295, "hatch.dynamotunnel7.tier.10", "UEV 1048576A/t Laser Source Hatch", 10, 1048576).getStackForm(1L)); + 15295, "hatch.dynamotunnel7.tier.10", "UEV 1048576A/t Laser Source Hatch", 10, 1048576) + .getStackForm(1L)); eM_dynamoTunnel1_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15236, "hatch.dynamotunnel1.tier.11", "UIV 256A/t Laser Source Hatch", 11, 256).getStackForm(1L)); + 15236, "hatch.dynamotunnel1.tier.11", "UIV 256A/t Laser Source Hatch", 11, 256) + .getStackForm(1L)); eM_dynamoTunnel2_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15246, "hatch.dynamotunnel2.tier.11", "UIV 1024A/t Laser Source Hatch", 11, 1024).getStackForm(1L)); + 15246, "hatch.dynamotunnel2.tier.11", "UIV 1024A/t Laser Source Hatch", 11, 1024) + .getStackForm(1L)); eM_dynamoTunnel3_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15256, "hatch.dynamotunnel3.tier.11", "UIV 4096A/t Laser Source Hatch", 11, 4096).getStackForm(1L)); + 15256, "hatch.dynamotunnel3.tier.11", "UIV 4096A/t Laser Source Hatch", 11, 4096) + .getStackForm(1L)); eM_dynamoTunnel4_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15266, "hatch.dynamotunnel4.tier.11", "UIV 16384A/t Laser Source Hatch", 11, 16384).getStackForm(1L)); + 15266, "hatch.dynamotunnel4.tier.11", "UIV 16384A/t Laser Source Hatch", 11, 16384) + .getStackForm(1L)); eM_dynamoTunnel5_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15276, "hatch.dynamotunnel5.tier.11", "UIV 65536A/t Laser Source Hatch", 11, 65536).getStackForm(1L)); + 15276, "hatch.dynamotunnel5.tier.11", "UIV 65536A/t Laser Source Hatch", 11, 65536) + .getStackForm(1L)); eM_dynamoTunnel6_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15286, "hatch.dynamotunnel6.tier.11", "UIV 262144A/t Laser Source Hatch", 11, 262144).getStackForm(1L)); + 15286, "hatch.dynamotunnel6.tier.11", "UIV 262144A/t Laser Source Hatch", 11, 262144) + .getStackForm(1L)); eM_dynamoTunnel7_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15296, "hatch.dynamotunnel7.tier.11", "UIV 1048576A/t Laser Source Hatch", 11, 1048576).getStackForm(1L)); + 15296, "hatch.dynamotunnel7.tier.11", "UIV 1048576A/t Laser Source Hatch", 11, 1048576) + .getStackForm(1L)); eM_dynamoTunnel1_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15237, "hatch.dynamotunnel1.tier.12", "UMV 256A/t Laser Source Hatch", 12, 256).getStackForm(1L)); + 15237, "hatch.dynamotunnel1.tier.12", "UMV 256A/t Laser Source Hatch", 12, 256) + .getStackForm(1L)); eM_dynamoTunnel2_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15247, "hatch.dynamotunnel2.tier.12", "UMV 1024A/t Laser Source Hatch", 12, 1024).getStackForm(1L)); + 15247, "hatch.dynamotunnel2.tier.12", "UMV 1024A/t Laser Source Hatch", 12, 1024) + .getStackForm(1L)); eM_dynamoTunnel3_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15257, "hatch.dynamotunnel3.tier.12", "UMV 4096A/t Laser Source Hatch", 12, 4096).getStackForm(1L)); + 15257, "hatch.dynamotunnel3.tier.12", "UMV 4096A/t Laser Source Hatch", 12, 4096) + .getStackForm(1L)); eM_dynamoTunnel4_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15267, "hatch.dynamotunnel4.tier.12", "UMV 16384A/t Laser Source Hatch", 12, 16384).getStackForm(1L)); + 15267, "hatch.dynamotunnel4.tier.12", "UMV 16384A/t Laser Source Hatch", 12, 16384) + .getStackForm(1L)); eM_dynamoTunnel5_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15277, "hatch.dynamotunnel5.tier.12", "UMV 65536A/t Laser Source Hatch", 12, 65536).getStackForm(1L)); + 15277, "hatch.dynamotunnel5.tier.12", "UMV 65536A/t Laser Source Hatch", 12, 65536) + .getStackForm(1L)); eM_dynamoTunnel6_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15287, "hatch.dynamotunnel6.tier.12", "UMV 262144A/t Laser Source Hatch", 12, 262144).getStackForm(1L)); + 15287, "hatch.dynamotunnel6.tier.12", "UMV 262144A/t Laser Source Hatch", 12, 262144) + .getStackForm(1L)); eM_dynamoTunnel7_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15297, "hatch.dynamotunnel7.tier.12", "UMV 1048576A/t Laser Source Hatch", 12, 1048576).getStackForm(1L)); + 15297, "hatch.dynamotunnel7.tier.12", "UMV 1048576A/t Laser Source Hatch", 12, 1048576) + .getStackForm(1L)); eM_dynamoTunnel1_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15238, "hatch.dynamotunnel1.tier.13", "UXV 256A/t Laser Source Hatch", 13, 256).getStackForm(1L)); + 15238, "hatch.dynamotunnel1.tier.13", "UXV 256A/t Laser Source Hatch", 13, 256) + .getStackForm(1L)); eM_dynamoTunnel2_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15248, "hatch.dynamotunnel2.tier.13", "UXV 1024A/t Laser Source Hatch", 13, 1024).getStackForm(1L)); + 15248, "hatch.dynamotunnel2.tier.13", "UXV 1024A/t Laser Source Hatch", 13, 1024) + .getStackForm(1L)); eM_dynamoTunnel3_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15258, "hatch.dynamotunnel3.tier.13", "UXV 4096A/t Laser Source Hatch", 13, 4096).getStackForm(1L)); + 15258, "hatch.dynamotunnel3.tier.13", "UXV 4096A/t Laser Source Hatch", 13, 4096) + .getStackForm(1L)); eM_dynamoTunnel4_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15268, "hatch.dynamotunnel4.tier.13", "UXV 16384A/t Laser Source Hatch", 13, 16384).getStackForm(1L)); + 15268, "hatch.dynamotunnel4.tier.13", "UXV 16384A/t Laser Source Hatch", 13, 16384) + .getStackForm(1L)); eM_dynamoTunnel5_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15278, "hatch.dynamotunnel5.tier.13", "UXV 65536A/t Laser Source Hatch", 13, 65536).getStackForm(1L)); + 15278, "hatch.dynamotunnel5.tier.13", "UXV 65536A/t Laser Source Hatch", 13, 65536) + .getStackForm(1L)); eM_dynamoTunnel6_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15288, "hatch.dynamotunnel6.tier.13", "UXV 262144A/t Laser Source Hatch", 13, 262144).getStackForm(1L)); + 15288, "hatch.dynamotunnel6.tier.13", "UXV 262144A/t Laser Source Hatch", 13, 262144) + .getStackForm(1L)); eM_dynamoTunnel7_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15298, "hatch.dynamotunnel7.tier.13", "UXV 1048576A/t Laser Source Hatch", 13, 1048576).getStackForm(1L)); + 15298, "hatch.dynamotunnel7.tier.13", "UXV 1048576A/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", 13, (int) V[13]).getStackForm(1L)); + 15299, "hatch.dynamotunnel.tier.14", "Legendary Laser Source Hatch", 13, (int) V[13]) + .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_DataBank.set(new GT_MetaTileEntity_EM_dataBank(15313, "multimachine.em.databank", "Data Bank").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)); - Machine_Multi_EMToMatter.set(new GT_MetaTileEntity_EM_dequantizer(15322, "multimachine.em.emtomatter", "Matter Dequantizer").getStackForm(1L)); + 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_DataBank.set( + new GT_MetaTileEntity_EM_dataBank(15313, "multimachine.em.databank", "Data Bank").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)); + Machine_Multi_EMToMatter.set( + new GT_MetaTileEntity_EM_dequantizer(15322, "multimachine.em.emtomatter", "Matter Dequantizer") + .getStackForm(1L)); // COMPAT - Machine_Multi_EssentiaToEM.set(new GT_MetaTileEntity_EM_essentiaQuantizer(15323, "multimachine.em.essentiatoem", "Essentia Quantizer").getStackForm(1L)); - Machine_Multi_EMToEssentia.set(new GT_MetaTileEntity_EM_essentiaDequantizer(15324, "multimachine.em.emtoessentia", "Essentia Dequantizer").getStackForm(1L)); - - Machine_Multi_Scanner.set(new GT_MetaTileEntity_EM_scanner(15330, "multimachine.em.scanner", "Elemental Scanner").getStackForm(1L)); - Machine_Multi_Research.set(new GT_MetaTileEntity_EM_research(15331, "multimachine.em.research", "Research station").getStackForm(1L)); - - Machine_Multi_Collider.set(new GT_MetaTileEntity_EM_collider(15340, "multimachine.em.collider", "Matter Collider").getStackForm(1L)); - - Machine_Multi_Infuser.set(new GT_MetaTileEntity_EM_infuser(15350, "multimachine.em.infuser", "Energy Infuser").getStackForm(1)); - - Machine_Multi_EMmachine.set(new GT_MetaTileEntity_EM_machine(15360, "multimachine.em.processing", "Quantum Processing Machine").getStackForm(1L)); - - Machine_Multi_EMCrafter.set(new GT_MetaTileEntity_EM_crafting(15370, "multimachine.em.crafter", "Matter Assembler").getStackForm(1L)); - - Machine_Multi_Stabilizer.set(new GT_MetaTileEntity_EM_stabilizer(15380, "multimachine.em.stabilizer", "Elemental Stabilizer").getStackForm(1L)); - - Machine_Multi_Wormhole.set(new GT_MetaTileEntity_EM_wormhole(15390, "multimachine.em.wormhole", "Wormhole").getStackForm(1L)); - - Machine_Multi_Decay.set(new GT_MetaTileEntity_EM_decay(15400, "multimachine.em.decay", "Decay Generator").getStackForm(1L)); - Machine_Multi_Annihilation.set(new GT_MetaTileEntity_EM_annihilation(15405, "multimachine.em.annihilation", "Annihilation Generator").getStackForm(1L)); - Machine_Multi_BHG.set(new GT_MetaTileEntity_EM_bhg(15410, "multimachine.em.blackholegenerator", "Black Hole Generator").getStackForm(1L)); + Machine_Multi_EssentiaToEM.set( + new GT_MetaTileEntity_EM_essentiaQuantizer(15323, "multimachine.em.essentiatoem", "Essentia Quantizer") + .getStackForm(1L)); + Machine_Multi_EMToEssentia.set(new GT_MetaTileEntity_EM_essentiaDequantizer( + 15324, "multimachine.em.emtoessentia", "Essentia Dequantizer") + .getStackForm(1L)); + + Machine_Multi_Scanner.set( + new GT_MetaTileEntity_EM_scanner(15330, "multimachine.em.scanner", "Elemental Scanner") + .getStackForm(1L)); + Machine_Multi_Research.set( + new GT_MetaTileEntity_EM_research(15331, "multimachine.em.research", "Research station") + .getStackForm(1L)); + + Machine_Multi_Collider.set( + new GT_MetaTileEntity_EM_collider(15340, "multimachine.em.collider", "Matter Collider") + .getStackForm(1L)); + + Machine_Multi_Infuser.set( + new GT_MetaTileEntity_EM_infuser(15350, "multimachine.em.infuser", "Energy Infuser").getStackForm(1)); + + Machine_Multi_EMmachine.set( + new GT_MetaTileEntity_EM_machine(15360, "multimachine.em.processing", "Quantum Processing Machine") + .getStackForm(1L)); + + Machine_Multi_EMCrafter.set( + new GT_MetaTileEntity_EM_crafting(15370, "multimachine.em.crafter", "Matter Assembler") + .getStackForm(1L)); + + Machine_Multi_Stabilizer.set( + new GT_MetaTileEntity_EM_stabilizer(15380, "multimachine.em.stabilizer", "Elemental Stabilizer") + .getStackForm(1L)); + + Machine_Multi_Wormhole.set( + new GT_MetaTileEntity_EM_wormhole(15390, "multimachine.em.wormhole", "Wormhole").getStackForm(1L)); + + Machine_Multi_Decay.set( + new GT_MetaTileEntity_EM_decay(15400, "multimachine.em.decay", "Decay Generator").getStackForm(1L)); + Machine_Multi_Annihilation.set( + new GT_MetaTileEntity_EM_annihilation(15405, "multimachine.em.annihilation", "Annihilation Generator") + .getStackForm(1L)); + Machine_Multi_BHG.set( + new GT_MetaTileEntity_EM_bhg(15410, "multimachine.em.blackholegenerator", "Black Hole Generator") + .getStackForm(1L)); // =================================================================================================== // Hatches // =================================================================================================== - Parametrizer_Hatch.set(new GT_MetaTileEntity_Hatch_Param(15420, "hatch.param.tier.05", "Parametrizer", 5).getStackForm(1L));//TODO refactor aName to hatch.param.tier.04 and aTier to 4, check recipe for NH - ParametrizerX_Hatch.set(new GT_MetaTileEntity_Hatch_Param(15421, "hatch.param.tier.07", "Parametrizer X", 7).getStackForm(1L)); - ParametrizerTXT_Hatch.set(new GT_MetaTileEntity_Hatch_ParamText(15422, "hatch.param.tier.10", "Parametrizer tXt", 10).getStackForm(1L));//TODO check recipe for NH - - Uncertainty_Hatch.set(new GT_MetaTileEntity_Hatch_Uncertainty(15430, "hatch.certain.tier.07", "Uncertainty Resolver", 7).getStackForm(1L)); - UncertaintyX_Hatch.set(new GT_MetaTileEntity_Hatch_Uncertainty(15431, "hatch.certain.tier.10", "Uncertainty Resolver X", 10).getStackForm(1L)); - - dataIn_Hatch.set(new GT_MetaTileEntity_Hatch_InputData(15440, "hatch.datain.tier.07", "Optical Slave Connector", 7).getStackForm(1L)); - dataOut_Hatch.set(new GT_MetaTileEntity_Hatch_OutputData(15441, "hatch.dataout.tier.07", "Optical Master Connector", 7).getStackForm(1L)); - dataInAss_Hatch.set(new GT_MetaTileEntity_Hatch_InputDataItems(15442, "hatch.datainass.tier.07", "Assembly line Slave Connector", 7).getStackForm(1L)); - dataOutAss_Hatch.set(new GT_MetaTileEntity_Hatch_OutputDataItems(15443, "hatch.dataoutass.tier.07", "Data Bank Master Connector", 7).getStackForm(1L)); - - rack_Hatch.set(new GT_MetaTileEntity_Hatch_Rack(15450, "hatch.rack.tier.08", "Computer Rack", 8).getStackForm(1L)); - holder_Hatch.set(new GT_MetaTileEntity_Hatch_Holder(15451, "hatch.holder.tier.09", "Object Holder", 8).getStackForm(1L)); - - capacitor_Hatch.set(new GT_MetaTileEntity_Hatch_Capacitor(15452, "hatch.capacitor.tier.03", "Capacitor Hatch", 3).getStackForm(1L)); + Parametrizer_Hatch.set(new GT_MetaTileEntity_Hatch_Param(15420, "hatch.param.tier.05", "Parametrizer", 5) + .getStackForm(1L)); // TODO refactor aName to hatch.param.tier.04 and aTier to 4, check recipe for NH + ParametrizerX_Hatch.set( + new GT_MetaTileEntity_Hatch_Param(15421, "hatch.param.tier.07", "Parametrizer X", 7).getStackForm(1L)); + ParametrizerTXT_Hatch.set( + new GT_MetaTileEntity_Hatch_ParamText(15422, "hatch.param.tier.10", "Parametrizer tXt", 10) + .getStackForm(1L)); // TODO check recipe for NH + + Uncertainty_Hatch.set( + new GT_MetaTileEntity_Hatch_Uncertainty(15430, "hatch.certain.tier.07", "Uncertainty Resolver", 7) + .getStackForm(1L)); + UncertaintyX_Hatch.set( + new GT_MetaTileEntity_Hatch_Uncertainty(15431, "hatch.certain.tier.10", "Uncertainty Resolver X", 10) + .getStackForm(1L)); + + dataIn_Hatch.set( + new GT_MetaTileEntity_Hatch_InputData(15440, "hatch.datain.tier.07", "Optical Slave Connector", 7) + .getStackForm(1L)); + dataOut_Hatch.set( + new GT_MetaTileEntity_Hatch_OutputData(15441, "hatch.dataout.tier.07", "Optical Master Connector", 7) + .getStackForm(1L)); + dataInAss_Hatch.set(new GT_MetaTileEntity_Hatch_InputDataItems( + 15442, "hatch.datainass.tier.07", "Assembly line Slave Connector", 7) + .getStackForm(1L)); + dataOutAss_Hatch.set(new GT_MetaTileEntity_Hatch_OutputDataItems( + 15443, "hatch.dataoutass.tier.07", "Data Bank Master Connector", 7) + .getStackForm(1L)); + + rack_Hatch.set( + new GT_MetaTileEntity_Hatch_Rack(15450, "hatch.rack.tier.08", "Computer Rack", 8).getStackForm(1L)); + holder_Hatch.set( + new GT_MetaTileEntity_Hatch_Holder(15451, "hatch.holder.tier.09", "Object Holder", 8).getStackForm(1L)); + + capacitor_Hatch.set( + new GT_MetaTileEntity_Hatch_Capacitor(15452, "hatch.capacitor.tier.03", "Capacitor Hatch", 3) + .getStackForm(1L)); // =================================================================================================== // Pipes // =================================================================================================== EMpipe.set(new GT_MetaTileEntity_Pipe_EM(15460, "pipe.elementalmatter", "Quantum \"Tunnel\"").getStackForm(1L)); - LASERpipe.set(new GT_MetaTileEntity_Pipe_Energy(15465, "pipe.energystream", "Laser Vacuum Pipe").getStackForm(1L)); + LASERpipe.set( + new GT_MetaTileEntity_Pipe_Energy(15465, "pipe.energystream", "Laser Vacuum Pipe").getStackForm(1L)); DATApipe.set(new GT_MetaTileEntity_Pipe_Data(15470, "pipe.datastream", "Optical Fiber Cable").getStackForm(1L)); // =================================================================================================== // Single Blocks // =================================================================================================== - 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)); + 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)); - Machine_BuckConverter_UV.set(new GT_MetaTileEntity_BuckConverter(15488, "machine.tt.buck.08", "Ultimate Power Buck Converter", 8).getStackForm(1L)); - Machine_BuckConverter_UHV.set(new GT_MetaTileEntity_BuckConverter(15489, "machine.tt.buck.09", "Highly Ultimate Buck Converter", 9).getStackForm(1L)); - Machine_BuckConverter_UEV.set(new GT_MetaTileEntity_BuckConverter(15490, "machine.tt.buck.10", "Extremely Ultimate Buck Converter", 10).getStackForm(1L)); - Machine_BuckConverter_UIV.set(new GT_MetaTileEntity_BuckConverter(15491, "machine.tt.buck.11", "Insanely Ultimate Buck Converter", 11).getStackForm(1L)); - Machine_BuckConverter_UMV.set(new GT_MetaTileEntity_BuckConverter(15492, "machine.tt.buck.12", "Mega Ultimate Buck Converter", 12).getStackForm(1L)); - Machine_BuckConverter_UXV.set(new GT_MetaTileEntity_BuckConverter(15493, "machine.tt.buck.13", "Extended Mega Ultimate Buck Converter", 13).getStackForm(1L)); + 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)); + Machine_BuckConverter_UV.set( + new GT_MetaTileEntity_BuckConverter(15488, "machine.tt.buck.08", "Ultimate Power Buck Converter", 8) + .getStackForm(1L)); + Machine_BuckConverter_UHV.set( + new GT_MetaTileEntity_BuckConverter(15489, "machine.tt.buck.09", "Highly Ultimate Buck Converter", 9) + .getStackForm(1L)); + Machine_BuckConverter_UEV.set(new GT_MetaTileEntity_BuckConverter( + 15490, "machine.tt.buck.10", "Extremely Ultimate Buck Converter", 10) + .getStackForm(1L)); + Machine_BuckConverter_UIV.set( + new GT_MetaTileEntity_BuckConverter(15491, "machine.tt.buck.11", "Insanely Ultimate Buck Converter", 11) + .getStackForm(1L)); + Machine_BuckConverter_UMV.set( + new GT_MetaTileEntity_BuckConverter(15492, "machine.tt.buck.12", "Mega Ultimate Buck Converter", 12) + .getStackForm(1L)); + 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)); + 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)); - hatch_CreativeMaintenance.set(new GT_MetaTileEntity_Hatch_CreativeMaintenance(15497, "debug.tt.maintenance", "Auto-Taping 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)); + 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", "Auto-Taping 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)); UnusedStuff.set(new ItemStack(Blocks.air)); // =================================================================================================== @@ -685,4 +1043,4 @@ public class MachineLoader implements Runnable { new NoDreamCraftMachineLoader().run(); } } -} \ No newline at end of file +} 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 7c32bb70d2..bf02479fc2 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 @@ -1,5 +1,7 @@ package com.github.technus.tectech.loader.thing; +import static com.github.technus.tectech.TecTech.tectechTexturePage1; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.compatibility.openmodularturrets.blocks.turretbases.TurretBaseEM; @@ -16,19 +18,17 @@ import cpw.mods.fml.common.Loader; import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; -import static com.github.technus.tectech.TecTech.tectechTexturePage1; - /** * Created by danie_000 on 16.11.2016. */ public class ThingsLoader implements Runnable { @Override public void run() { - if(Textures.BlockIcons.casingTexturePages[tectechTexturePage1]==null) { + if (Textures.BlockIcons.casingTexturePages[tectechTexturePage1] == null) { Textures.BlockIcons.casingTexturePages[tectechTexturePage1] = new ITexture[128]; } TecTech.LOGGER.info("Added texture page if was null"); - if(!Loader.isModLoaded(Reference.DREAMCRAFT)){ + if (!Loader.isModLoaded(Reference.DREAMCRAFT)) { TT_Container_Casings.sBlockCasingsNH = new GT_Block_CasingsNH(); TecTech.LOGGER.info("Adding basic casings"); } @@ -43,7 +43,7 @@ public class ThingsLoader implements Runnable { QuantumStuffBlock.run(); TecTech.LOGGER.info("Quantum Stuff registered"); - if(Loader.isModLoaded("openmodularturrets")) { + if (Loader.isModLoaded("openmodularturrets")) { TurretHeadEM.run(); TecTech.LOGGER.info("TurretHeadEM registered"); TurretBaseEM.run(); diff --git a/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java b/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java index bd25b05a0c..524ad51aa4 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java +++ b/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java @@ -1,5 +1,10 @@ package com.github.technus.tectech.mechanics.anomaly; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.util.TT_Utility.crossProduct3D; +import static com.github.technus.tectech.util.TT_Utility.normalize3D; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.loader.MainLoader; import com.github.technus.tectech.loader.NetworkDispatcher; @@ -13,6 +18,10 @@ import cpw.mods.fml.common.gameevent.TickEvent; import gregtech.api.GregTech_API; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Utility; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import net.minecraft.block.Block; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -26,30 +35,26 @@ import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; import net.minecraftforge.event.world.ChunkEvent; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.util.TT_Utility.crossProduct3D; -import static com.github.technus.tectech.util.TT_Utility.normalize3D; - public class AnomalyHandler implements IChunkMetaDataHandler { - private static final double SWAP_THRESHOLD = EMAtomDefinition.getSomethingHeavy().getMass() * 1000D * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED;//can be const as it is computed later... - private static final int COUNT_DIV = 32; - private static final double PER_PARTICLE = SWAP_THRESHOLD / COUNT_DIV; - private static final String INTENSITY = "intensity", SPACE_CANCER = "space_cancer", SPACE_CHARGE = "space_charge", SPACE_MASS = "space_mass"; - private static final int MEAN_DELAY = 50; + private static final double SWAP_THRESHOLD = + EMAtomDefinition.getSomethingHeavy().getMass() + * 1000D + * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; // can be const as it is computed later... + private static final int COUNT_DIV = 32; + private static final double PER_PARTICLE = SWAP_THRESHOLD / COUNT_DIV; + private static final String INTENSITY = "intensity", + SPACE_CANCER = "space_cancer", + SPACE_CHARGE = "space_charge", + SPACE_MASS = "space_mass"; + private static final int MEAN_DELAY = 50; private static final double CANCER_EFFECTIVENESS = 1 / EM_COUNT_PER_MATERIAL_AMOUNT; - private static final double MASS_EFFECTIVENESS = 1 / EM_COUNT_PER_MATERIAL_AMOUNT; + private static final double MASS_EFFECTIVENESS = 1 / EM_COUNT_PER_MATERIAL_AMOUNT; private static final double CHARGE_EFFECTIVENESS = 10 / EM_COUNT_PER_MATERIAL_AMOUNT; private static final double CHARGE_EXPLOSIVENESS = 5 / EM_COUNT_PER_MATERIAL_AMOUNT; - private boolean fixMe = false; - private final List playersWithCharge = new ArrayList<>(); - private final ArrayList worldDataArrayList = new ArrayList<>(512); + private boolean fixMe = false; + private final List playersWithCharge = new ArrayList<>(); + private final ArrayList worldDataArrayList = new ArrayList<>(512); @Override public String getTagName() { @@ -70,24 +75,27 @@ public class AnomalyHandler implements IChunkMetaDataHandler { @Override public void tickWorld(HashMap data, TickEvent.WorldTickEvent aEvent) { if (TecTech.RANDOM.nextInt(MEAN_DELAY) == 0) { - int dim = aEvent.world.provider.dimensionId; + int dim = aEvent.world.provider.dimensionId; ChunkDataHandler.ChunkHashMap chunkHashMap = data.get(dim); chunkHashMap.forEach((chunkCoordIntPair, compound) -> { if (compound.getDouble(INTENSITY) > SWAP_THRESHOLD) { - Chunk chunk = aEvent.world.getChunkFromChunkCoords(chunkCoordIntPair.chunkXPos, chunkCoordIntPair.chunkZPos); + Chunk chunk = aEvent.world.getChunkFromChunkCoords( + chunkCoordIntPair.chunkXPos, chunkCoordIntPair.chunkZPos); if (chunk.isChunkLoaded) { worldDataArrayList.add(chunk); } } }); if (worldDataArrayList.size() >= 2) { - Chunk a = worldDataArrayList.remove(TecTech.RANDOM.nextInt(worldDataArrayList.size())); - Chunk b = worldDataArrayList.get(TecTech.RANDOM.nextInt(worldDataArrayList.size())); + Chunk a = worldDataArrayList.remove(TecTech.RANDOM.nextInt(worldDataArrayList.size())); + Chunk b = worldDataArrayList.get(TecTech.RANDOM.nextInt(worldDataArrayList.size())); ChunkCoordIntPair aCoords = a.getChunkCoordIntPair(); ChunkCoordIntPair bCoords = b.getChunkCoordIntPair(); - double newValue = (chunkHashMap.get(aCoords).getDouble(INTENSITY) + - chunkHashMap.get(bCoords).getDouble(INTENSITY)) / 2 - SWAP_THRESHOLD / 8; + double newValue = (chunkHashMap.get(aCoords).getDouble(INTENSITY) + + chunkHashMap.get(bCoords).getDouble(INTENSITY)) + / 2 + - SWAP_THRESHOLD / 8; float split = TecTech.RANDOM.nextFloat(); chunkHashMap.get(aCoords).setDouble(INTENSITY, newValue * split); @@ -113,18 +121,45 @@ public class AnomalyHandler implements IChunkMetaDataHandler { if (other == player) { continue outer; } - double field = getCharge(player); + double field = getCharge(player); double absDifference = Math.abs(field - fieldOther); if (absDifference != 0) { if (player.getDistanceSqToEntity(other) < 1) { double avg = (fieldOther + field) / 2; - //addAnomaly(other.worldObj.provider.dimensionId, new ChunkCoordIntPair(other.chunkCoordX, other.chunkCoordZ), Math.min(SWAP_THRESHOLD, PER_PARTICLE * absDifference)); + // addAnomaly(other.worldObj.provider.dimensionId, new ChunkCoordIntPair(other.chunkCoordX, + // other.chunkCoordZ), Math.min(SWAP_THRESHOLD, PER_PARTICLE * absDifference)); if (TecTech.configTecTech.BOOM_ENABLE) { - other.worldObj.createExplosion(other, other.posX, other.posY, other.posZ, (float) Math.min(CHARGE_EXPLOSIVENESS * absDifference, 25), true); - player.worldObj.createExplosion(player, player.posX, player.posY, player.posZ, (float) Math.min(CHARGE_EXPLOSIVENESS * absDifference, 25), true); + other.worldObj.createExplosion( + other, + other.posX, + other.posY, + other.posZ, + (float) Math.min(CHARGE_EXPLOSIVENESS * absDifference, 25), + true); + player.worldObj.createExplosion( + player, + player.posX, + player.posY, + player.posZ, + (float) Math.min(CHARGE_EXPLOSIVENESS * absDifference, 25), + true); } - GT_Utility.sendSoundToPlayers(other.worldObj, GregTech_API.sSoundList.get(209), 1.0F, -1, (int) other.posX, (int) other.posY, (int) other.posZ); - GT_Utility.sendSoundToPlayers(player.worldObj, GregTech_API.sSoundList.get(209), 1.0F, -1, (int) player.posX, (int) player.posY, (int) player.posZ); + GT_Utility.sendSoundToPlayers( + other.worldObj, + GregTech_API.sSoundList.get(209), + 1.0F, + -1, + (int) other.posX, + (int) other.posY, + (int) other.posZ); + GT_Utility.sendSoundToPlayers( + player.worldObj, + GregTech_API.sSoundList.get(209), + 1.0F, + -1, + (int) player.posX, + (int) player.posY, + (int) player.posZ); setCharge(player, avg); setCharge(other, avg); } @@ -138,13 +173,13 @@ public class AnomalyHandler implements IChunkMetaDataHandler { private void swapSomething(Chunk a, Chunk b, double mass) { float explosionPower = (float) Math.log(mass / EM_COUNT_PER_MATERIAL_AMOUNT); for (int i = 0; i < Math.min((int) explosionPower, 64); i++) { - int x = TecTech.RANDOM.nextInt(16); - int y = TecTech.RANDOM.nextInt(a.worldObj.getActualHeight()); - int z = TecTech.RANDOM.nextInt(16); + int x = TecTech.RANDOM.nextInt(16); + int y = TecTech.RANDOM.nextInt(a.worldObj.getActualHeight()); + int z = TecTech.RANDOM.nextInt(16); Block aBlock = a.getBlock(x, y, z); Block bBlock = a.getBlock(x, y, z); - int aMeta = a.getBlockMetadata(x, y, z); - int bMeta = a.getBlockMetadata(x, y, z); + int aMeta = a.getBlockMetadata(x, y, z); + int bMeta = a.getBlockMetadata(x, y, z); if (a.getTileEntityUnsafe(x, y, z) == null && b.getTileEntityUnsafe(x, y, z) == null) { a.worldObj.setBlock((a.xPosition << 4) + x, y, (a.zPosition << 4) + z, bBlock, bMeta, 3); b.worldObj.setBlock((b.xPosition << 4) + x, y, (b.zPosition << 4) + z, aBlock, aMeta, 3); @@ -160,17 +195,43 @@ public class AnomalyHandler implements IChunkMetaDataHandler { } if (TecTech.configTecTech.BOOM_ENABLE) { if (TecTech.RANDOM.nextBoolean()) { - a.worldObj.createExplosion(null, (a.xPosition << 4) + x + .5, y + .5, (a.zPosition << 4) + z + .5, explosionPower * TecTech.RANDOM.nextFloat(), true); + a.worldObj.createExplosion( + null, + (a.xPosition << 4) + x + .5, + y + .5, + (a.zPosition << 4) + z + .5, + explosionPower * TecTech.RANDOM.nextFloat(), + true); } - GT_Utility.sendSoundToPlayers(a.worldObj, GregTech_API.sSoundList.get(209), 1.0F, -1, (a.xPosition << 4) + x, y, (a.zPosition << 4) + z); + GT_Utility.sendSoundToPlayers( + a.worldObj, + GregTech_API.sSoundList.get(209), + 1.0F, + -1, + (a.xPosition << 4) + x, + y, + (a.zPosition << 4) + z); if (TecTech.RANDOM.nextBoolean()) { - b.worldObj.createExplosion(null, (b.xPosition << 4) + x + .5, y + .5, (b.zPosition << 4) + z + .5, explosionPower * TecTech.RANDOM.nextFloat(), true); + b.worldObj.createExplosion( + null, + (b.xPosition << 4) + x + .5, + y + .5, + (b.zPosition << 4) + z + .5, + explosionPower * TecTech.RANDOM.nextFloat(), + true); } - GT_Utility.sendSoundToPlayers(b.worldObj, GregTech_API.sSoundList.get(209), 1.0F, -1, (b.xPosition << 4) + x, y, (b.zPosition << 4) + z); + GT_Utility.sendSoundToPlayers( + b.worldObj, + GregTech_API.sSoundList.get(209), + 1.0F, + -1, + (b.xPosition << 4) + x, + y, + (b.zPosition << 4) + z); } } - int x = (b.xPosition - a.xPosition) << 4; - int z = (b.xPosition - a.xPosition) << 4; + int x = (b.xPosition - a.xPosition) << 4; + int z = (b.xPosition - a.xPosition) << 4; List aE = a.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, TT_Utility.fromChunk(a)); List bE = b.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, TT_Utility.fromChunk(b)); for (EntityLivingBase entityLivingBase : aE) { @@ -178,8 +239,10 @@ public class AnomalyHandler implements IChunkMetaDataHandler { if (entityLivingBase instanceof EntityPlayer) { EntityPlayer player = ((EntityPlayer) entityLivingBase); if (!player.capabilities.isCreativeMode) { - player.setPositionAndUpdate(entityLivingBase.posX + x, entityLivingBase.posY, entityLivingBase.posZ + z); - player.attackEntityFrom(MainLoader.subspace, 8 + TecTech.RANDOM.nextInt((int) (explosionPower / 4))); + player.setPositionAndUpdate( + entityLivingBase.posX + x, entityLivingBase.posY, entityLivingBase.posZ + z); + player.attackEntityFrom( + MainLoader.subspace, 8 + TecTech.RANDOM.nextInt((int) (explosionPower / 4))); player.addPotionEffect(new PotionEffect(Potion.hunger.id, 1200)); player.addPotionEffect(new PotionEffect(Potion.weakness.id, 1000)); player.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 800)); @@ -191,8 +254,10 @@ public class AnomalyHandler implements IChunkMetaDataHandler { addCharge(player, -mass * TecTech.RANDOM.nextFloat()); } } else { - entityLivingBase.setPositionAndUpdate(entityLivingBase.posX + x, entityLivingBase.posY, entityLivingBase.posZ + z); - entityLivingBase.attackEntityFrom(MainLoader.subspace, 8 + TecTech.RANDOM.nextInt((int) (explosionPower / 4))); + entityLivingBase.setPositionAndUpdate( + entityLivingBase.posX + x, entityLivingBase.posY, entityLivingBase.posZ + z); + entityLivingBase.attackEntityFrom( + MainLoader.subspace, 8 + TecTech.RANDOM.nextInt((int) (explosionPower / 4))); } } } @@ -202,7 +267,8 @@ public class AnomalyHandler implements IChunkMetaDataHandler { EntityPlayer player = ((EntityPlayer) o); if (!player.capabilities.isCreativeMode) { player.setPositionAndUpdate(o.posX - x, o.posY, o.posZ - z); - player.attackEntityFrom(MainLoader.subspace, 8 + TecTech.RANDOM.nextInt((int) -(explosionPower / 4))); + player.attackEntityFrom( + MainLoader.subspace, 8 + TecTech.RANDOM.nextInt((int) -(explosionPower / 4))); player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 800)); player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 600)); player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 400)); @@ -222,24 +288,34 @@ public class AnomalyHandler implements IChunkMetaDataHandler { @Override public void tickPlayer(HashMap data, TickEvent.PlayerTickEvent aEvent) { if (aEvent.side.isClient()) { - EntityPlayer player = TecTech.proxy.getPlayer(); - ChunkCoordIntPair pair = new ChunkCoordIntPair(player.chunkCoordX, player.chunkCoordZ); - NBTTagCompound compound = data.get(player.worldObj.provider.dimensionId).get(pair); + EntityPlayer player = TecTech.proxy.getPlayer(); + ChunkCoordIntPair pair = new ChunkCoordIntPair(player.chunkCoordX, player.chunkCoordZ); + NBTTagCompound compound = + data.get(player.worldObj.provider.dimensionId).get(pair); if (compound != null) { - for (int i = 0, badness = (int) Math.min(COUNT_DIV, compound.getDouble(INTENSITY) / PER_PARTICLE); i < badness; i++) { - TecTech.proxy.em_particle(player.worldObj, + for (int i = 0, badness = (int) Math.min(COUNT_DIV, compound.getDouble(INTENSITY) / PER_PARTICLE); + i < badness; + i++) { + TecTech.proxy.em_particle( + player.worldObj, player.posX + TecTech.RANDOM.nextGaussian() * 64D, player.posY + TecTech.RANDOM.nextGaussian() * 64D, player.posZ + TecTech.RANDOM.nextGaussian() * 64D); } } - for (Map.Entry entry : data.get(player.worldObj.provider.dimensionId).entrySet()) { + for (Map.Entry entry : + data.get(player.worldObj.provider.dimensionId).entrySet()) { ChunkCoordIntPair chunkCoordIntPair = entry.getKey(); - NBTTagCompound dat = entry.getValue(); - if (Math.abs(chunkCoordIntPair.getCenterXPos() - player.posX) + Math.abs(chunkCoordIntPair.getCenterZPosition() - player.posZ) < 256) { - for (int i = 0, pow = (int) Math.min(COUNT_DIV, dat.getDouble(INTENSITY) / PER_PARTICLE); i < pow; i++) { - TecTech.proxy.em_particle(player.worldObj, + NBTTagCompound dat = entry.getValue(); + if (Math.abs(chunkCoordIntPair.getCenterXPos() - player.posX) + + Math.abs(chunkCoordIntPair.getCenterZPosition() - player.posZ) + < 256) { + for (int i = 0, pow = (int) Math.min(COUNT_DIV, dat.getDouble(INTENSITY) / PER_PARTICLE); + i < pow; + i++) { + TecTech.proxy.em_particle( + player.worldObj, chunkCoordIntPair.getCenterXPos() + TecTech.RANDOM.nextGaussian() * 32D, player.posY + TecTech.RANDOM.nextFloat() * 128D - 64D, chunkCoordIntPair.getCenterZPosition() + TecTech.RANDOM.nextGaussian() * 32D); @@ -247,11 +323,12 @@ public class AnomalyHandler implements IChunkMetaDataHandler { } } } else if (TecTech.RANDOM.nextInt(50) == 0) { - EntityPlayer player = aEvent.player; - ChunkCoordIntPair pair = new ChunkCoordIntPair(player.chunkCoordX, player.chunkCoordZ); - NBTTagCompound compound = data.get(player.worldObj.provider.dimensionId).get(pair); - NBTTagCompound playerTag = TecTech.playerPersistence.getDataOrSetToNewTag(player); - boolean saveRequired = false; + EntityPlayer player = aEvent.player; + ChunkCoordIntPair pair = new ChunkCoordIntPair(player.chunkCoordX, player.chunkCoordZ); + NBTTagCompound compound = + data.get(player.worldObj.provider.dimensionId).get(pair); + NBTTagCompound playerTag = TecTech.playerPersistence.getDataOrSetToNewTag(player); + boolean saveRequired = false; if (!player.capabilities.isCreativeMode) { double cancer = getCancer(player); if (compound != null) { @@ -271,7 +348,8 @@ public class AnomalyHandler implements IChunkMetaDataHandler { if (saveRequired) { TecTech.playerPersistence.saveData(player); - NetworkDispatcher.INSTANCE.sendTo(new PlayerDataMessage.PlayerDataData(player), (EntityPlayerMP) player); + NetworkDispatcher.INSTANCE.sendTo( + new PlayerDataMessage.PlayerDataData(player), (EntityPlayerMP) player); } } } @@ -284,12 +362,20 @@ public class AnomalyHandler implements IChunkMetaDataHandler { double cancer = getCancer(player) * CANCER_EFFECTIVENESS; if (cancer > 0) { player.setInvisible(fixMe = TecTech.RANDOM.nextFloat() * 2 < cancer); - player.setAngles((TecTech.RANDOM.nextFloat() - .5F) * 36 * (float) cancer, (TecTech.RANDOM.nextFloat() - .5F) * 36 * (float) cancer); + player.setAngles( + (TecTech.RANDOM.nextFloat() - .5F) * 36 * (float) cancer, + (TecTech.RANDOM.nextFloat() - .5F) * 36 * (float) cancer); cancer *= cancer / 2F; if (cancer > 1.75f) { - player.setVelocity((TecTech.RANDOM.nextFloat() - .5F) * cancer, (TecTech.RANDOM.nextFloat() - .5F) * cancer, (TecTech.RANDOM.nextFloat() - .5F) * cancer); + player.setVelocity( + (TecTech.RANDOM.nextFloat() - .5F) * cancer, + (TecTech.RANDOM.nextFloat() - .5F) * cancer, + (TecTech.RANDOM.nextFloat() - .5F) * cancer); } else { - player.addVelocity((TecTech.RANDOM.nextFloat() - .5F) * cancer, (TecTech.RANDOM.nextFloat() - .5F) * cancer, (TecTech.RANDOM.nextFloat() - .5F) * cancer); + player.addVelocity( + (TecTech.RANDOM.nextFloat() - .5F) * cancer, + (TecTech.RANDOM.nextFloat() - .5F) * cancer, + (TecTech.RANDOM.nextFloat() - .5F) * cancer); } } @@ -298,16 +384,18 @@ public class AnomalyHandler implements IChunkMetaDataHandler { for (Object o : player.worldObj.playerEntities) { if (o instanceof EntityPlayer && !((EntityPlayer) o).capabilities.isCreativeMode) { EntityPlayer otherPlayer = (EntityPlayer) o; - double chargeOther = getCharge(otherPlayer); + double chargeOther = getCharge(otherPlayer); if (chargeOther != 0 && player != o) { double reaction = chargeOther * charge; if (reaction != 0) { double distanceSq = otherPlayer.getDistanceSqToEntity(player); if (distanceSq >= 1) { - double effect = CHARGE_EFFECTIVENESS * reaction / (distanceSq * distanceSq * distanceSq); - double dX = (player.posX - otherPlayer.posX) * effect; - double dY = (player.posY - otherPlayer.posY) * effect; - double dZ = (player.posZ - otherPlayer.posZ) * effect; + double effect = CHARGE_EFFECTIVENESS + * reaction + / (distanceSq * distanceSq * distanceSq); + double dX = (player.posX - otherPlayer.posX) * effect; + double dY = (player.posY - otherPlayer.posY) * effect; + double dZ = (player.posZ - otherPlayer.posZ) * effect; player.addVelocity(dX, dY, dZ); otherPlayer.addVelocity(-dX, -dY, -dZ); } @@ -322,23 +410,29 @@ public class AnomalyHandler implements IChunkMetaDataHandler { for (Object o : player.worldObj.playerEntities) { if (o instanceof EntityPlayer && !((EntityPlayer) o).capabilities.isCreativeMode) { EntityPlayer otherPlayer = (EntityPlayer) o; - double massOther = getMass(otherPlayer); + double massOther = getMass(otherPlayer); if (massOther != 0 && player != o) { double reaction = massOther * mass; if (reaction != 0) { double distanceSq = otherPlayer.getDistanceSqToEntity(player); if (distanceSq >= 1) { - double effect = MASS_EFFECTIVENESS * reaction / (distanceSq * distanceSq * distanceSq); - double effect1 = effect / mass; - double effect2 = effect / massOther; - double[] dPos = new double[]{player.posX - otherPlayer.posX, player.posY - otherPlayer.posY, player.posZ - otherPlayer.posZ}; - double[] vel = new double[]{player.motionX, player.motionY, player.motionZ}; - double[] out = new double[3]; + double effect = + MASS_EFFECTIVENESS * reaction / (distanceSq * distanceSq * distanceSq); + double effect1 = effect / mass; + double effect2 = effect / massOther; + double[] dPos = new double[] { + player.posX - otherPlayer.posX, + player.posY - otherPlayer.posY, + player.posZ - otherPlayer.posZ + }; + double[] vel = new double[] {player.motionX, player.motionY, player.motionZ}; + double[] out = new double[3]; crossProduct3D(dPos, vel, out); crossProduct3D(out, dPos, vel); - normalize3D(vel,out); + normalize3D(vel, out); player.addVelocity(effect1 * out[0], effect1 * out[1], effect1 * out[2]); - otherPlayer.addVelocity(effect2 * -out[0], effect2 * -out[1], effect2 * -out[2]); + otherPlayer.addVelocity( + effect2 * -out[0], effect2 * -out[1], effect2 * -out[2]); } } } @@ -360,7 +454,9 @@ public class AnomalyHandler implements IChunkMetaDataHandler { @Override public void pushData(World world, ChunkCoordIntPair chunk) { - NetworkDispatcher.INSTANCE.sendToDimension(new ChunkDataMessage.ChunkDataData(world.provider.dimensionId, chunk, this), world.provider.dimensionId); + NetworkDispatcher.INSTANCE.sendToDimension( + new ChunkDataMessage.ChunkDataData(world.provider.dimensionId, chunk, this), + world.provider.dimensionId); } @Override @@ -378,11 +474,7 @@ public class AnomalyHandler implements IChunkMetaDataHandler { public void addAnomaly(World w, int x, int z, double amount) { if (!w.isRemote) { - addAnomaly(w.provider.dimensionId, - new ChunkCoordIntPair( - x >> 4, - z >> 4), - amount); + addAnomaly(w.provider.dimensionId, new ChunkCoordIntPair(x >> 4, z >> 4), amount); } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/anomaly/CancerCommand.java b/src/main/java/com/github/technus/tectech/mechanics/anomaly/CancerCommand.java index fdbd98fee0..582d8d08a2 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/anomaly/CancerCommand.java +++ b/src/main/java/com/github/technus/tectech/mechanics/anomaly/CancerCommand.java @@ -1,18 +1,17 @@ package com.github.technus.tectech.mechanics.anomaly; import com.github.technus.tectech.TecTech; +import java.util.ArrayList; +import java.util.List; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.util.ChatComponentText; -import java.util.ArrayList; -import java.util.List; - public class CancerCommand implements ICommand { - ArrayList aliases=new ArrayList<>(); + ArrayList aliases = new ArrayList<>(); - public CancerCommand(){ + public CancerCommand() { aliases.add("cancer_EM"); aliases.add("cancer"); aliases.add("sanser_EM"); @@ -24,23 +23,24 @@ public class CancerCommand implements ICommand { @Override public void processCommand(ICommandSender sender, String[] args) { if (sender instanceof EntityPlayerMP && !sender.getEntityWorld().isRemote) { - EntityPlayerMP player=(EntityPlayerMP)sender; - if(args==null || args.length==0){ - sender.addChatMessage(new ChatComponentText("Cancer amount: "+TecTech.anomalyHandler.getCancer(player))); + EntityPlayerMP player = (EntityPlayerMP) sender; + if (args == null || args.length == 0) { + sender.addChatMessage( + new ChatComponentText("Cancer amount: " + TecTech.anomalyHandler.getCancer(player))); return; } double amount; try { amount = Double.parseDouble(args[0]); - }catch (NumberFormatException e){ + } catch (NumberFormatException e) { sender.addChatMessage(new ChatComponentText("Cannot parse amount!")); return; } - if(player.capabilities.isCreativeMode){ + if (player.capabilities.isCreativeMode) { sender.addChatMessage(new ChatComponentText("Doesn't really work in creative mode!")); - }else { - TecTech.anomalyHandler.setCancer(player,amount); - sender.addChatMessage(new ChatComponentText("Cancer set to: "+amount)); + } else { + TecTech.anomalyHandler.setCancer(player, amount); + sender.addChatMessage(new ChatComponentText("Cancer set to: " + amount)); } } } @@ -72,7 +72,7 @@ public class CancerCommand implements ICommand { @Override public int compareTo(Object o) { - if(o instanceof ICommand){ + if (o instanceof ICommand) { return getCommandName().compareTo(((ICommand) o).getCommandName()); } return 0; diff --git a/src/main/java/com/github/technus/tectech/mechanics/anomaly/ChargeCommand.java b/src/main/java/com/github/technus/tectech/mechanics/anomaly/ChargeCommand.java index b486b73295..68d3de8769 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/anomaly/ChargeCommand.java +++ b/src/main/java/com/github/technus/tectech/mechanics/anomaly/ChargeCommand.java @@ -1,18 +1,17 @@ package com.github.technus.tectech.mechanics.anomaly; import com.github.technus.tectech.TecTech; +import java.util.ArrayList; +import java.util.List; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.util.ChatComponentText; -import java.util.ArrayList; -import java.util.List; - public class ChargeCommand implements ICommand { - ArrayList aliases=new ArrayList<>(); + ArrayList aliases = new ArrayList<>(); - public ChargeCommand(){ + public ChargeCommand() { aliases.add("charge_EM"); aliases.add("charge"); } @@ -20,23 +19,24 @@ public class ChargeCommand implements ICommand { @Override public void processCommand(ICommandSender sender, String[] args) { if (sender instanceof EntityPlayerMP && !sender.getEntityWorld().isRemote) { - EntityPlayerMP player=(EntityPlayerMP)sender; - if(args==null || args.length==0){ - sender.addChatMessage(new ChatComponentText("Charge amount: "+TecTech.anomalyHandler.getCharge(player))); + EntityPlayerMP player = (EntityPlayerMP) sender; + if (args == null || args.length == 0) { + sender.addChatMessage( + new ChatComponentText("Charge amount: " + TecTech.anomalyHandler.getCharge(player))); return; } double amount; try { amount = Double.parseDouble(args[0]); - }catch (NumberFormatException e){ + } catch (NumberFormatException e) { sender.addChatMessage(new ChatComponentText("Cannot parse amount!")); return; } - if(player.capabilities.isCreativeMode){ + if (player.capabilities.isCreativeMode) { sender.addChatMessage(new ChatComponentText("Doesn't really work in creative mode!")); - }else { - TecTech.anomalyHandler.setCharge(player,amount); - sender.addChatMessage(new ChatComponentText("Charge set to: "+amount)); + } else { + TecTech.anomalyHandler.setCharge(player, amount); + sender.addChatMessage(new ChatComponentText("Charge set to: " + amount)); } } } @@ -68,7 +68,7 @@ public class ChargeCommand implements ICommand { @Override public int compareTo(Object o) { - if(o instanceof ICommand){ + if (o instanceof ICommand) { return getCommandName().compareTo(((ICommand) o).getCommandName()); } return 0; diff --git a/src/main/java/com/github/technus/tectech/mechanics/anomaly/MassCommand.java b/src/main/java/com/github/technus/tectech/mechanics/anomaly/MassCommand.java index 05bba9433b..df841309ee 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/anomaly/MassCommand.java +++ b/src/main/java/com/github/technus/tectech/mechanics/anomaly/MassCommand.java @@ -1,18 +1,17 @@ package com.github.technus.tectech.mechanics.anomaly; import com.github.technus.tectech.TecTech; +import java.util.ArrayList; +import java.util.List; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.util.ChatComponentText; -import java.util.ArrayList; -import java.util.List; - public class MassCommand implements ICommand { - ArrayList aliases=new ArrayList<>(); + ArrayList aliases = new ArrayList<>(); - public MassCommand(){ + public MassCommand() { aliases.add("mass_EM"); aliases.add("mass"); } @@ -20,23 +19,23 @@ public class MassCommand implements ICommand { @Override public void processCommand(ICommandSender sender, String[] args) { if (sender instanceof EntityPlayerMP && !sender.getEntityWorld().isRemote) { - EntityPlayerMP player=(EntityPlayerMP)sender; - if(args==null || args.length==0){ - sender.addChatMessage(new ChatComponentText("Msdd amount: "+TecTech.anomalyHandler.getMass(player))); + EntityPlayerMP player = (EntityPlayerMP) sender; + if (args == null || args.length == 0) { + sender.addChatMessage(new ChatComponentText("Msdd amount: " + TecTech.anomalyHandler.getMass(player))); return; } double amount; try { amount = Double.parseDouble(args[0]); - }catch (NumberFormatException e){ + } catch (NumberFormatException e) { sender.addChatMessage(new ChatComponentText("Cannot parse amount!")); return; } - if(player.capabilities.isCreativeMode){ + if (player.capabilities.isCreativeMode) { sender.addChatMessage(new ChatComponentText("Doesn't really work in creative mode!")); - }else { - TecTech.anomalyHandler.setMass(player,amount); - sender.addChatMessage(new ChatComponentText("Mass set to: "+amount)); + } else { + TecTech.anomalyHandler.setMass(player, amount); + sender.addChatMessage(new ChatComponentText("Mass set to: " + amount)); } } } @@ -68,7 +67,7 @@ public class MassCommand implements ICommand { @Override public int compareTo(Object o) { - if(o instanceof ICommand){ + if (o instanceof ICommand) { return getCommandName().compareTo(((ICommand) o).getCommandName()); } return 0; diff --git a/src/main/java/com/github/technus/tectech/mechanics/avr/SidedRedstone.java b/src/main/java/com/github/technus/tectech/mechanics/avr/SidedRedstone.java index 715988d26f..ec2e5613a5 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/avr/SidedRedstone.java +++ b/src/main/java/com/github/technus/tectech/mechanics/avr/SidedRedstone.java @@ -7,8 +7,8 @@ import com.github.technus.avrClone.registerPackages.IRegisterBit; import com.github.technus.avrClone.registerPackages.RegisterPackageSync; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -public class SidedRedstone extends RegisterPackageSync { - public static final RSINT RSINT =new RSINT(); +public class SidedRedstone extends RegisterPackageSync { + public static final RSINT RSINT = new RSINT(); public SidedRedstone(int offset) { super(offset, Register.values().length); @@ -22,39 +22,40 @@ public class SidedRedstone extends RegisterPackageSync 0?1:0)< 0 ? 1 : 0) << i; + core.setDataValue(addr++, iGregTechTileEntity.getInputRedstoneSignal(i)); + core.setDataValue(addr++, val); addr++; } int sidesOld = core.getDataValue(Register.PNEW.getAddress(this)); - core.setDataValue(Register.POLD.getAddress(this),sidesOld); - core.setDataValue(Register.PNEW.getAddress(this),sides); - - if(core.getInterruptEnable()) { - int pcint=core.getDataValue(Register.PCINT.getAddress(this)); - int changesDetected=0; - switch (pcint&0b1100){//PCISC1 PCISC0 - case 0b0000://low - changesDetected= ~sides & core.getDataValue(Register.PCMSK.getAddress(this)); + core.setDataValue(Register.POLD.getAddress(this), sidesOld); + core.setDataValue(Register.PNEW.getAddress(this), sides); + + if (core.getInterruptEnable()) { + int pcint = core.getDataValue(Register.PCINT.getAddress(this)); + int changesDetected = 0; + switch (pcint & 0b1100) { // PCISC1 PCISC0 + case 0b0000: // low + changesDetected = ~sides & core.getDataValue(Register.PCMSK.getAddress(this)); break; - case 0b0100://any - changesDetected= (sides ^ sidesOld) & core.getDataValue(Register.PCMSK.getAddress(this)); + case 0b0100: // any + changesDetected = (sides ^ sidesOld) & core.getDataValue(Register.PCMSK.getAddress(this)); break; - case 0b1000://falling - changesDetected= ~sides & sidesOld & core.getDataValue(Register.PCMSK.getAddress(this)); + case 0b1000: // falling + changesDetected = ~sides & sidesOld & core.getDataValue(Register.PCMSK.getAddress(this)); break; - case 0b1100://rising - changesDetected= sides & ~sidesOld & core.getDataValue(Register.PCMSK.getAddress(this)); + case 0b1100: // rising + changesDetected = sides & ~sidesOld & core.getDataValue(Register.PCMSK.getAddress(this)); break; } - core.setDataValue(Register.PCFR.getAddress(this), + core.setDataValue( + Register.PCFR.getAddress(this), core.getDataValue(Register.PCFR.getAddress(this) | changesDetected)); if (changesDetected > 0) { @@ -66,43 +67,64 @@ public class SidedRedstone extends RegisterPackageSync{ - PIN0,PINT0,PORT0, - PIN1,PINT1,PORT1, - PIN2,PINT2,PORT2, - PIN3,PINT3,PORT3, - PIN4,PINT4,PORT4, - PIN5,PINT5,PORT5, - PCMSK,PCFR,PCINT,PNEW,POLD; + public enum Register implements IRegister { + PIN0, + PINT0, + PORT0, + PIN1, + PINT1, + PORT1, + PIN2, + PINT2, + PORT2, + PIN3, + PINT3, + PORT3, + PIN4, + PINT4, + PORT4, + PIN5, + PINT5, + PORT5, + PCMSK, + PCFR, + PCINT, + PNEW, + POLD; public final int relativeOffset; - Register(){ - this.relativeOffset =ordinal(); + Register() { + this.relativeOffset = ordinal(); } @Override public int getAddress(SidedRedstone registerPackage) { - return registerPackage.getOffset()+relativeOffset; + return registerPackage.getOffset() + relativeOffset; } } - public enum RegisterBitsPCMSK implements IRegisterBit{ - PCINT0,PCINT1,PCINT2,PCINT3,PCINT4,PCINT5; - - private final int bit,mask; - - RegisterBitsPCMSK(){ - bit=ordinal(); - mask=1< { + PCINT0, + PCINT1, + PCINT2, + PCINT3, + PCINT4, + PCINT5; + private final int bit, mask; + + RegisterBitsPCMSK() { + bit = ordinal(); + mask = 1 << bit; } @Override @@ -121,14 +143,18 @@ public class SidedRedstone extends RegisterPackageSync{ - PCF0,PCF1,PCF2,PCF3,PCF4,PCF5; - - private final int bit,mask; - - RegisterBitsPCFR(){ - bit=ordinal(); - mask=1< { + PCF0, + PCF1, + PCF2, + PCF3, + PCF4, + PCF5; + private final int bit, mask; + + RegisterBitsPCFR() { + bit = ordinal(); + mask = 1 << bit; } @Override @@ -147,14 +173,16 @@ public class SidedRedstone extends RegisterPackageSync{ - PCIF,PCEN,PCISC0,PCISC1; - - private final int bit,mask; + public enum RegisterBitsPCINT implements IRegisterBit { + PCIF, + PCEN, + PCISC0, + PCISC1; + private final int bit, mask; - RegisterBitsPCINT(){ - bit=ordinal(); - mask=1<{ - PNEW0,PNEW1,PNEW2,PNEW3,PNEW4,PNEW5; - - private final int bit,mask; - - RegisterBitsPNEW(){ - bit=ordinal(); - mask=1< { + PNEW0, + PNEW1, + PNEW2, + PNEW3, + PNEW4, + PNEW5; + private final int bit, mask; + + RegisterBitsPNEW() { + bit = ordinal(); + mask = 1 << bit; } @Override @@ -199,14 +231,18 @@ public class SidedRedstone extends RegisterPackageSync{ - POLD0,POLD1,POLD2,POLD3,POLD4,POLD5; - - private final int bit,mask; - - RegisterBitsPOLD(){ - bit=ordinal(); - mask=1< { + POLD0, + POLD1, + POLD2, + POLD3, + POLD4, + POLD5; + private final int bit, mask; + + RegisterBitsPOLD() { + bit = ordinal(); + mask = 1 << bit; } @Override @@ -225,7 +261,7 @@ public class SidedRedstone extends RegisterPackageSync{ + public static class RSINT implements IInterrupt { @Override public int getVector() { return 1; @@ -233,14 +269,15 @@ public class SidedRedstone extends RegisterPackageSync aliases=new ArrayList<>(); + ArrayList aliases = new ArrayList<>(); - public ConvertFloat(){ + public ConvertFloat() { aliases.add("convert_float"); aliases.add("c_f"); } @@ -20,17 +19,17 @@ public class ConvertFloat implements ICommand { @Override public void processCommand(ICommandSender sender, String[] args) { if (!sender.getEntityWorld().isRemote) { - if(args.length == 1) { - try{ - float value=Float.parseFloat(args[0]); - sender.addChatMessage(new ChatComponentText( - EnumChatFormatting.AQUA.toString()+ EnumChatFormatting.BOLD + - TT_Utility.intBitsToShortString(Float.floatToIntBits(value))+" "+ - EnumChatFormatting.RESET+EnumChatFormatting.BLUE +value)); - }catch (Exception e){ - sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED+"Invalid Float "+args[0])); + if (args.length == 1) { + try { + float value = Float.parseFloat(args[0]); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + TT_Utility.intBitsToShortString(Float.floatToIntBits(value)) + + " " + EnumChatFormatting.RESET + + EnumChatFormatting.BLUE + value)); + } catch (Exception e) { + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Invalid Float " + args[0])); } - }else{ + } else { sender.addChatMessage(new ChatComponentText(getCommandUsage(sender))); } } @@ -63,7 +62,7 @@ public class ConvertFloat implements ICommand { @Override public int compareTo(Object o) { - if(o instanceof ICommand){ + if (o instanceof ICommand) { return getCommandName().compareTo(((ICommand) o).getCommandName()); } return 0; diff --git a/src/main/java/com/github/technus/tectech/mechanics/commands/ConvertInteger.java b/src/main/java/com/github/technus/tectech/mechanics/commands/ConvertInteger.java index 37651e7478..052a6a8476 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/commands/ConvertInteger.java +++ b/src/main/java/com/github/technus/tectech/mechanics/commands/ConvertInteger.java @@ -1,18 +1,17 @@ package com.github.technus.tectech.mechanics.commands; import com.github.technus.tectech.util.TT_Utility; +import java.util.ArrayList; +import java.util.List; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.util.ChatComponentText; import net.minecraft.util.EnumChatFormatting; -import java.util.ArrayList; -import java.util.List; - public class ConvertInteger implements ICommand { - ArrayList aliases=new ArrayList<>(); + ArrayList aliases = new ArrayList<>(); - public ConvertInteger(){ + public ConvertInteger() { aliases.add("convert_integer"); aliases.add("c_i"); } @@ -20,17 +19,17 @@ public class ConvertInteger implements ICommand { @Override public void processCommand(ICommandSender sender, String[] args) { if (!sender.getEntityWorld().isRemote) { - if(args.length == 1) { - try{ - int value=Integer.parseInt(args[0]); - sender.addChatMessage(new ChatComponentText( - EnumChatFormatting.AQUA.toString()+ EnumChatFormatting.BOLD + - TT_Utility.intBitsToShortString(value)+" "+ - EnumChatFormatting.RESET+EnumChatFormatting.BLUE +value)); - }catch (Exception e){ - sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED+"Invalid Integer "+args[0])); + if (args.length == 1) { + try { + int value = Integer.parseInt(args[0]); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + TT_Utility.intBitsToShortString(value) + + " " + EnumChatFormatting.RESET + + EnumChatFormatting.BLUE + value)); + } catch (Exception e) { + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Invalid Integer " + args[0])); } - }else{ + } else { sender.addChatMessage(new ChatComponentText(getCommandUsage(sender))); } } @@ -63,7 +62,7 @@ public class ConvertInteger implements ICommand { @Override public int compareTo(Object o) { - if(o instanceof ICommand){ + if (o instanceof ICommand) { return getCommandName().compareTo(((ICommand) o).getCommandName()); } return 0; diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataHandler.java b/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataHandler.java index 0d0af5b390..04a161a2cb 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataHandler.java +++ b/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataHandler.java @@ -5,6 +5,7 @@ import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.*; import net.minecraft.client.Minecraft; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.ChunkCoordIntPair; @@ -13,27 +14,25 @@ import net.minecraftforge.event.world.ChunkDataEvent; import net.minecraftforge.event.world.ChunkEvent; import net.minecraftforge.event.world.WorldEvent; -import java.util.*; - public class ChunkDataHandler { - private final String BASE_TAG_NAME ="TecTechData"; - private final HashMap> dimensionWiseChunkData=new HashMap<>(); - private final HashMap> dimensionWiseMetaChunkData=new HashMap<>(); - private final HashMap metaDataHandlerHashMap =new HashMap<>(); - private final ArrayList pushSyncHandlers =new ArrayList<>(); - private final ArrayList pullSyncHandlers =new ArrayList<>(); - private final ArrayList serverHandlers=new ArrayList<>(); - private final ArrayList worldHandlers=new ArrayList<>(); - private final ArrayList playerHandlers=new ArrayList<>(); - private final ArrayList clientHandlers=new ArrayList<>(); - private final ArrayList renderHandlers=new ArrayList<>(); + private final String BASE_TAG_NAME = "TecTechData"; + private final HashMap> dimensionWiseChunkData = new HashMap<>(); + private final HashMap> dimensionWiseMetaChunkData = new HashMap<>(); + private final HashMap metaDataHandlerHashMap = new HashMap<>(); + private final ArrayList pushSyncHandlers = new ArrayList<>(); + private final ArrayList pullSyncHandlers = new ArrayList<>(); + private final ArrayList serverHandlers = new ArrayList<>(); + private final ArrayList worldHandlers = new ArrayList<>(); + private final ArrayList playerHandlers = new ArrayList<>(); + private final ArrayList clientHandlers = new ArrayList<>(); + private final ArrayList renderHandlers = new ArrayList<>(); @SubscribeEvent - public void onWorldLoad(WorldEvent.Load event){ - int dim=event.world.provider.dimensionId; - dimensionWiseChunkData.computeIfAbsent(dim, m->{ + public void onWorldLoad(WorldEvent.Load event) { + int dim = event.world.provider.dimensionId; + dimensionWiseChunkData.computeIfAbsent(dim, m -> { HashMap map = new HashMap<>(); - for (Map.Entry meta : metaDataHandlerHashMap.entrySet()) { + for (Map.Entry meta : metaDataHandlerHashMap.entrySet()) { dimensionWiseMetaChunkData.get(meta.getKey()).put(dim, new ChunkHashMap(meta.getValue(), map)); } return map; @@ -42,8 +41,10 @@ public class ChunkDataHandler { @SubscribeEvent public void handleChunkSaveEvent(ChunkDataEvent.Save event) { - HashMap dimensionData = dimensionWiseChunkData.get(event.world.provider.dimensionId); - NBTChunk chunkData = dimensionData != null ? dimensionData.get(event.getChunk().getChunkCoordIntPair()) : null; + HashMap dimensionData = + dimensionWiseChunkData.get(event.world.provider.dimensionId); + NBTChunk chunkData = + dimensionData != null ? dimensionData.get(event.getChunk().getChunkCoordIntPair()) : null; if (chunkData == null) { event.getData().removeTag(BASE_TAG_NAME); } else { @@ -97,16 +98,17 @@ public class ChunkDataHandler { @SideOnly(Side.CLIENT) @SubscribeEvent - public void onLoadChunk(ChunkEvent.Load aEvent){ - if(aEvent.world.isRemote && !Minecraft.getMinecraft().isSingleplayer()) {//we already have the data! + public void onLoadChunk(ChunkEvent.Load aEvent) { + if (aEvent.world.isRemote && !Minecraft.getMinecraft().isSingleplayer()) { // we already have the data! pullSyncHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.pullData(aEvent)); } } @SideOnly(Side.CLIENT) @SubscribeEvent - public void onUnloadChunk(ChunkEvent.Unload aEvent){ - if(aEvent.world.isRemote && !Minecraft.getMinecraft().isSingleplayer()) {//we need all data if running local server! + public void onUnloadChunk(ChunkEvent.Unload aEvent) { + if (aEvent.world.isRemote + && !Minecraft.getMinecraft().isSingleplayer()) { // we need all data if running local server! pullSyncHandlers.forEach(chunkMetaDataHandler -> dimensionWiseMetaChunkData .get(chunkMetaDataHandler.getTagName()) .get(aEvent.world.provider.dimensionId) @@ -117,33 +119,31 @@ public class ChunkDataHandler { @SideOnly(Side.CLIENT) @SubscribeEvent public void onClientTickEvent(TickEvent.ClientTickEvent aEvent) { - clientHandlers.forEach(chunkMetaDataHandler -> - chunkMetaDataHandler.tickClient( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); + clientHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.tickClient( + dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); } @SideOnly(Side.CLIENT) @SubscribeEvent public void onRenderTickEvent(TickEvent.RenderTickEvent aEvent) { - renderHandlers.forEach(chunkMetaDataHandler -> - chunkMetaDataHandler.tickRender( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); + renderHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.tickRender( + dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); } @SubscribeEvent public void onServerTickEvent(TickEvent.ServerTickEvent aEvent) { - serverHandlers.forEach(chunkMetaDataHandler -> - chunkMetaDataHandler.tickServer( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); + serverHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.tickServer( + dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); } - //Ticks only on server side (but must be present for client server) + // Ticks only on server side (but must be present for client server) @SubscribeEvent public void onWorldTickEvent(TickEvent.WorldTickEvent aEvent) { int dim = aEvent.world.provider.dimensionId; pushSyncHandlers.forEach(chunkMetaDataHandler -> { ChunkHashMap data = dimensionWiseMetaChunkData - .get(chunkMetaDataHandler.getTagName()).get(dim); + .get(chunkMetaDataHandler.getTagName()) + .get(dim); int cycle = chunkMetaDataHandler.pushPayloadSpreadPeriod(); int epoch = (int) (aEvent.world.getTotalWorldTime() % cycle); ArrayList work; @@ -166,106 +166,119 @@ public class ChunkDataHandler { chunkMetaDataHandler.pushPayload(aEvent.world, work); work.clear(); }); - worldHandlers.forEach(chunkMetaDataHandler -> - chunkMetaDataHandler.tickWorld( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); + worldHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.tickWorld( + dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); } @SubscribeEvent public void onPlayerTickEvent(TickEvent.PlayerTickEvent aEvent) { - playerHandlers.forEach(chunkMetaDataHandler -> - chunkMetaDataHandler.tickPlayer( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); + playerHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.tickPlayer( + dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); } - public void clearData() { dimensionWiseChunkData.clear(); - dimensionWiseMetaChunkData.forEach((k,v)->v.clear()); + dimensionWiseMetaChunkData.forEach((k, v) -> v.clear()); } - public IChunkMetaDataHandler getChunkMetaDataHandler(String s){ + public IChunkMetaDataHandler getChunkMetaDataHandler(String s) { return metaDataHandlerHashMap.get(s); } - public void registerChunkMetaDataHandler(IChunkMetaDataHandler handler){ - metaDataHandlerHashMap.put(handler.getTagName(),handler); - dimensionWiseMetaChunkData.put(handler.getTagName(),new HashMap<>()); - Class clazz=handler.getClass(); + public void registerChunkMetaDataHandler(IChunkMetaDataHandler handler) { + metaDataHandlerHashMap.put(handler.getTagName(), handler); + dimensionWiseMetaChunkData.put(handler.getTagName(), new HashMap<>()); + Class clazz = handler.getClass(); try { - if(clazz.getMethod("tickServer", HashMap.class, TickEvent.ServerTickEvent.class).getDeclaringClass()!= IChunkMetaDataHandler.class){ + if (clazz.getMethod("tickServer", HashMap.class, TickEvent.ServerTickEvent.class) + .getDeclaringClass() + != IChunkMetaDataHandler.class) { serverHandlers.add(handler); } - if(clazz.getMethod("tickPlayer", HashMap.class, TickEvent.PlayerTickEvent.class).getDeclaringClass()!= IChunkMetaDataHandler.class){ + if (clazz.getMethod("tickPlayer", HashMap.class, TickEvent.PlayerTickEvent.class) + .getDeclaringClass() + != IChunkMetaDataHandler.class) { playerHandlers.add(handler); } - if (clazz.getMethod("pushData", World.class, ChunkCoordIntPair.class).getDeclaringClass()!=IChunkMetaDataHandler.class) { + if (clazz.getMethod("pushData", World.class, ChunkCoordIntPair.class) + .getDeclaringClass() + != IChunkMetaDataHandler.class) { pushSyncHandlers.add(handler); } - if(clazz.getMethod("tickWorld", HashMap.class, TickEvent.WorldTickEvent.class).getDeclaringClass()!= IChunkMetaDataHandler.class){ + if (clazz.getMethod("tickWorld", HashMap.class, TickEvent.WorldTickEvent.class) + .getDeclaringClass() + != IChunkMetaDataHandler.class) { worldHandlers.add(handler); } } catch (NoSuchMethodException e) { - throw new RuntimeException("Cannot register common event handlers!",e); + throw new RuntimeException("Cannot register common event handlers!", e); } - if(FMLCommonHandler.instance().getSide().isClient()) { + if (FMLCommonHandler.instance().getSide().isClient()) { try { - if (clazz.getMethod("pullData", ChunkEvent.Load.class).getDeclaringClass() != IChunkMetaDataHandler.class) { + if (clazz.getMethod("pullData", ChunkEvent.Load.class).getDeclaringClass() + != IChunkMetaDataHandler.class) { pullSyncHandlers.add(handler); } - if (clazz.getMethod("tickClient", HashMap.class, TickEvent.ClientTickEvent.class).getDeclaringClass() != IChunkMetaDataHandler.class) { + if (clazz.getMethod("tickClient", HashMap.class, TickEvent.ClientTickEvent.class) + .getDeclaringClass() + != IChunkMetaDataHandler.class) { clientHandlers.add(handler); } - if (clazz.getMethod("tickRender", HashMap.class, TickEvent.RenderTickEvent.class).getDeclaringClass() != IChunkMetaDataHandler.class) { + if (clazz.getMethod("tickRender", HashMap.class, TickEvent.RenderTickEvent.class) + .getDeclaringClass() + != IChunkMetaDataHandler.class) { renderHandlers.add(handler); } } catch (NoSuchMethodException e) { - throw new RuntimeException("Cannot register client event handlers!",e); + throw new RuntimeException("Cannot register client event handlers!", e); } } } - public NBTTagCompound removeChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk){ + public NBTTagCompound removeChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk) { return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world).remove(chunk); } - public NBTTagCompound getChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk){ + public NBTTagCompound getChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk) { return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world).get(chunk); } - public NBTTagCompound putChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk, NBTTagCompound data){ - return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world).put(chunk,data); + public NBTTagCompound putChunkData( + IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk, NBTTagCompound data) { + return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world).put(chunk, data); } - public NBTTagCompound createIfAbsentChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk){ - return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world) - .computeIfAbsent(chunk,chunkCoordIntPair -> handler.createData()); + public NBTTagCompound createIfAbsentChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk) { + return dimensionWiseMetaChunkData + .get(handler.getTagName()) + .get(world) + .computeIfAbsent(chunk, chunkCoordIntPair -> handler.createData()); } - public HashMap getChunkData(IChunkMetaDataHandler chunkMetaDataHandler){ + public HashMap getChunkData(IChunkMetaDataHandler chunkMetaDataHandler) { return dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()); } - public ChunkHashMap getChunkData(IChunkMetaDataHandler chunkMetaDataHandler, int world){ + public ChunkHashMap getChunkData(IChunkMetaDataHandler chunkMetaDataHandler, int world) { return dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()).get(world); } - public static final class ChunkHashMap implements Map{ - private final HashMap storage; - private final HashMap storageMeta=new HashMap<>(1024); - private final HashSet dirtyBoys=new HashSet<>(1024); - private final ArrayList> workLoad=new ArrayList<>(); + public static final class ChunkHashMap implements Map { + private final HashMap storage; + private final HashMap storageMeta = new HashMap<>(1024); + private final HashSet dirtyBoys = new HashSet<>(1024); + private final ArrayList> workLoad = new ArrayList<>(); private final String meta; private ChunkHashMap(IChunkMetaDataHandler meta, HashMap storage) { - this.storage =storage; - this.meta=meta.getTagName(); + this.storage = storage; + this.meta = meta.getTagName(); for (int i = 0; i < meta.pushPayloadSpreadPeriod(); i++) { workLoad.add(new ArrayList<>(128)); } } - public void markForTransmissionToClient(ChunkCoordIntPair chunk){ + public void markForTransmissionToClient(ChunkCoordIntPair chunk) { dirtyBoys.add(chunk); } @@ -275,11 +288,11 @@ public class ChunkDataHandler { @Override public NBTTagCompound remove(Object key) { - NBTTagCompound compound=storageMeta.remove(key); - if(compound!=null) { + NBTTagCompound compound = storageMeta.remove(key); + if (compound != null) { NBTChunk chunk = storage.get(key); chunk.data.removeTag(meta); - if(chunk.data.hasNoTags()){ + if (chunk.data.hasNoTags()) { storage.remove(key); } } @@ -288,16 +301,16 @@ public class ChunkDataHandler { @Override public NBTTagCompound put(ChunkCoordIntPair key, NBTTagCompound value) { - if(value==null){ + if (value == null) { return remove(key); } NBTChunk chunk = storage.get(key); - if(chunk==null){ - NBTTagCompound base=new NBTTagCompound(); - base.setTag(meta,value); - storage.put(key,new NBTChunk(base,false)); - }else { - chunk.data.setTag(meta,value); + if (chunk == null) { + NBTTagCompound base = new NBTTagCompound(); + base.setTag(meta, value); + storage.put(key, new NBTChunk(base, false)); + } else { + chunk.data.setTag(meta, value); } return storageMeta.put(key, value); } @@ -358,8 +371,8 @@ public class ChunkDataHandler { private boolean isLoaded; private NBTChunk(NBTTagCompound data, boolean isLoaded) { - if(data==null){ - data=new NBTTagCompound(); + if (data == null) { + data = new NBTTagCompound(); } this.data = data; this.isLoaded = isLoaded; diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataMessage.java b/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataMessage.java index 216c4057ef..1d1bc7a200 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataMessage.java +++ b/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataMessage.java @@ -19,69 +19,66 @@ public class ChunkDataMessage implements IMessage { NBTTagCompound data; IChunkMetaDataHandler handler; - public ChunkDataMessage(){} + public ChunkDataMessage() {} @Override public void fromBytes(ByteBuf pBuffer) { NBTTagCompound tag = ByteBufUtils.readTag(pBuffer); worldId = tag.getInteger("wId"); - chunk=new ChunkCoordIntPair( - tag.getInteger("posx"), - tag.getInteger("posz")); - handler = TecTech.chunkDataHandler.getChunkMetaDataHandler( - tag.getString("handle")); - if(tag.hasKey("data")){ - data=tag.getCompoundTag("data"); + chunk = new ChunkCoordIntPair(tag.getInteger("posx"), tag.getInteger("posz")); + handler = TecTech.chunkDataHandler.getChunkMetaDataHandler(tag.getString("handle")); + if (tag.hasKey("data")) { + data = tag.getCompoundTag("data"); } } @Override public void toBytes(ByteBuf pBuffer) { NBTTagCompound tag = new NBTTagCompound(); - tag.setInteger("wId",worldId); - tag.setInteger("posx",chunk.chunkXPos); - tag.setInteger("posz",chunk.chunkZPos); - tag.setString("handle",handler.getTagName()); - if(data!=null){ - tag.setTag("data",data); + tag.setInteger("wId", worldId); + tag.setInteger("posx", chunk.chunkXPos); + tag.setInteger("posz", chunk.chunkZPos); + tag.setString("handle", handler.getTagName()); + if (data != null) { + tag.setTag("data", data); } ByteBufUtils.writeTag(pBuffer, tag); } public static class ChunkDataQuery extends ChunkDataMessage { - public ChunkDataQuery() { - } + public ChunkDataQuery() {} + public ChunkDataQuery(ChunkEvent.Load aEvent, IChunkMetaDataHandler handler) { - worldId=aEvent.world.provider.dimensionId; - chunk=aEvent.getChunk().getChunkCoordIntPair(); - this.handler=handler; + worldId = aEvent.world.provider.dimensionId; + chunk = aEvent.getChunk().getChunkCoordIntPair(); + this.handler = handler; } } public static class ChunkDataData extends ChunkDataMessage { - public ChunkDataData() { - } + public ChunkDataData() {} - public ChunkDataData(int worldId, ChunkCoordIntPair chunk, IChunkMetaDataHandler handler){ - this.worldId=worldId; - this.chunk=chunk; - this.handler=handler; - this.data=TecTech.chunkDataHandler.getChunkData(handler,worldId,chunk); + public ChunkDataData(int worldId, ChunkCoordIntPair chunk, IChunkMetaDataHandler handler) { + this.worldId = worldId; + this.chunk = chunk; + this.handler = handler; + this.data = TecTech.chunkDataHandler.getChunkData(handler, worldId, chunk); } - public ChunkDataData(ChunkDataQuery query){ - worldId=query.worldId; - chunk=query.chunk; - handler=query.handler; - data=TecTech.chunkDataHandler.getChunkData(handler,worldId,chunk); + public ChunkDataData(ChunkDataQuery query) { + worldId = query.worldId; + chunk = query.chunk; + handler = query.handler; + data = TecTech.chunkDataHandler.getChunkData(handler, worldId, chunk); } } public static class ClientHandler extends AbstractClientMessageHandler { @Override public IMessage handleClientMessage(EntityPlayer pPlayer, ChunkDataData pMessage, MessageContext pCtx) { - if(TT_Utility.checkChunkExist(pPlayer.worldObj,pMessage.chunk)){ - TecTech.chunkDataHandler.putChunkData(pMessage.handler, pMessage.worldId,pMessage.chunk, pMessage.data); + if (TT_Utility.checkChunkExist(pPlayer.worldObj, pMessage.chunk)) { + TecTech.chunkDataHandler.putChunkData( + pMessage.handler, pMessage.worldId, pMessage.chunk, pMessage.data); } return null; } diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/IChunkMetaDataHandler.java b/src/main/java/com/github/technus/tectech/mechanics/data/IChunkMetaDataHandler.java index 0be1fec517..00e87848b3 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/data/IChunkMetaDataHandler.java +++ b/src/main/java/com/github/technus/tectech/mechanics/data/IChunkMetaDataHandler.java @@ -3,33 +3,42 @@ package com.github.technus.tectech.mechanics.data; import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.ArrayList; +import java.util.HashMap; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; import net.minecraftforge.event.world.ChunkEvent; -import java.util.ArrayList; -import java.util.HashMap; - public interface IChunkMetaDataHandler { String getTagName(); + void mergeData(NBTTagCompound target, NBTTagCompound loadedData); + NBTTagCompound createData(); + @SideOnly(Side.CLIENT) - default void pullData(ChunkEvent.Load aEvent){} - default void pushData(World world, ChunkCoordIntPair chunk){} - default void pushPayload(World world, ArrayList chunk){ - chunk.forEach(chunkCoordIntPair -> pushData(world,chunkCoordIntPair)); + default void pullData(ChunkEvent.Load aEvent) {} + + default void pushData(World world, ChunkCoordIntPair chunk) {} + + default void pushPayload(World world, ArrayList chunk) { + chunk.forEach(chunkCoordIntPair -> pushData(world, chunkCoordIntPair)); } - default int pushPayloadSpreadPeriod(){ - return 20;//must be a constant! + + default int pushPayloadSpreadPeriod() { + return 20; // must be a constant! } + @SideOnly(Side.CLIENT) - default void tickRender(HashMap data, TickEvent.RenderTickEvent event){} + default void tickRender(HashMap data, TickEvent.RenderTickEvent event) {} + @SideOnly(Side.CLIENT) - default void tickClient(HashMap data, TickEvent.ClientTickEvent event){} - default void tickServer(HashMap data, TickEvent.ServerTickEvent event){} - default void tickWorld(HashMap data, TickEvent.WorldTickEvent event){} - default void tickPlayer(HashMap data, TickEvent.PlayerTickEvent event){} -} + default void tickClient(HashMap data, TickEvent.ClientTickEvent event) {} + + default void tickServer(HashMap data, TickEvent.ServerTickEvent event) {} + default void tickWorld(HashMap data, TickEvent.WorldTickEvent event) {} + + default void tickPlayer(HashMap data, TickEvent.PlayerTickEvent event) {} +} diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/PlayerDataMessage.java b/src/main/java/com/github/technus/tectech/mechanics/data/PlayerDataMessage.java index 58abc2fa20..f6a36f2f01 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/data/PlayerDataMessage.java +++ b/src/main/java/com/github/technus/tectech/mechanics/data/PlayerDataMessage.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.mechanics.data; +import static java.nio.charset.Charset.forName; + import com.github.technus.tectech.TecTech; import cpw.mods.fml.common.network.ByteBufUtils; import cpw.mods.fml.common.network.simpleimpl.IMessage; @@ -7,71 +9,66 @@ import cpw.mods.fml.common.network.simpleimpl.MessageContext; import eu.usrv.yamcore.network.client.AbstractClientMessageHandler; import eu.usrv.yamcore.network.server.AbstractServerMessageHandler; import io.netty.buffer.ByteBuf; +import java.util.UUID; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; -import java.util.UUID; - -import static java.nio.charset.Charset.forName; - public class PlayerDataMessage implements IMessage { NBTTagCompound data; - UUID uuid1,uuid2; + UUID uuid1, uuid2; - public PlayerDataMessage(){} + public PlayerDataMessage() {} @Override public void fromBytes(ByteBuf pBuffer) { NBTTagCompound tag = ByteBufUtils.readTag(pBuffer); - uuid1=UUID.fromString(tag.getString("id1")); - uuid2=UUID.fromString(tag.getString("id2")); - if(tag.hasKey("data")){ - data=tag.getCompoundTag("data"); + uuid1 = UUID.fromString(tag.getString("id1")); + uuid2 = UUID.fromString(tag.getString("id2")); + if (tag.hasKey("data")) { + data = tag.getCompoundTag("data"); } } @Override public void toBytes(ByteBuf pBuffer) { NBTTagCompound tag = new NBTTagCompound(); - tag.setString("id1",uuid1.toString()); - tag.setString("id2",uuid2.toString()); - if(data!=null){ - tag.setTag("data",data); + tag.setString("id1", uuid1.toString()); + tag.setString("id2", uuid2.toString()); + if (data != null) { + tag.setTag("data", data); } ByteBufUtils.writeTag(pBuffer, tag); } public static class PlayerDataQuery extends PlayerDataMessage { - public PlayerDataQuery() { - } + public PlayerDataQuery() {} public PlayerDataQuery(EntityPlayer player) { - uuid1=player.getUniqueID(); - uuid2=UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))); + uuid1 = player.getUniqueID(); + uuid2 = UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))); } } public static class PlayerDataData extends PlayerDataMessage { - public PlayerDataData() { - } + public PlayerDataData() {} - public PlayerDataData(EntityPlayer player){ - uuid1=player.getUniqueID(); - uuid2=UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))); - data=TecTech.playerPersistence.getDataOrSetToNewTag(player); + public PlayerDataData(EntityPlayer player) { + uuid1 = player.getUniqueID(); + uuid2 = UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))); + data = TecTech.playerPersistence.getDataOrSetToNewTag(player); } - public PlayerDataData(PlayerDataQuery query){ - uuid1=query.uuid1; - uuid2=query.uuid2; - data= TecTech.playerPersistence.getDataOrSetToNewTag(uuid1,uuid2); + public PlayerDataData(PlayerDataQuery query) { + uuid1 = query.uuid1; + uuid2 = query.uuid2; + data = TecTech.playerPersistence.getDataOrSetToNewTag(uuid1, uuid2); } } public static class ClientHandler extends AbstractClientMessageHandler { @Override public IMessage handleClientMessage(EntityPlayer pPlayer, PlayerDataData pMessage, MessageContext pCtx) { - TecTech.playerPersistence.putDataOrSetToNewTag(pMessage.uuid1,pMessage.uuid2,pMessage.data); + TecTech.playerPersistence.putDataOrSetToNewTag(pMessage.uuid1, pMessage.uuid2, pMessage.data); return null; } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/PlayerPersistence.java b/src/main/java/com/github/technus/tectech/mechanics/data/PlayerPersistence.java index b31b1a6b76..1c220c0bc7 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/data/PlayerPersistence.java +++ b/src/main/java/com/github/technus/tectech/mechanics/data/PlayerPersistence.java @@ -1,72 +1,78 @@ package com.github.technus.tectech.mechanics.data; +import static java.nio.charset.Charset.forName; + import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.util.TT_Utility; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.PlayerEvent; +import java.util.HashMap; +import java.util.UUID; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.server.MinecraftServer; import net.minecraft.world.WorldServer; -import java.util.HashMap; -import java.util.UUID; - -import static java.nio.charset.Charset.forName; - public class PlayerPersistence { - private final HashMap map=new HashMap<>(); + private final HashMap map = new HashMap<>(); private final String extension; public PlayerPersistence(String extension) { this.extension = extension; } - public NBTTagCompound getDataOrSetToNewTag(UUID uuid1, UUID uuid2){ - NBTTagCompound tag=map.get(uuid1); - if(tag!=null){ + public NBTTagCompound getDataOrSetToNewTag(UUID uuid1, UUID uuid2) { + NBTTagCompound tag = map.get(uuid1); + if (tag != null) { return tag; } - tag=map.get(uuid2); - if(tag!=null){ + tag = map.get(uuid2); + if (tag != null) { return tag; } - tag= TT_Utility.getPlayerData(uuid1,uuid2,extension); - if(tag==null){ - tag=new NBTTagCompound(); + tag = TT_Utility.getPlayerData(uuid1, uuid2, extension); + if (tag == null) { + tag = new NBTTagCompound(); } - map.put(uuid1,tag); - map.put(uuid2,tag); + map.put(uuid1, tag); + map.put(uuid2, tag); return tag; } - public NBTTagCompound getDataOrSetToNewTag(EntityPlayer player){ - return getDataOrSetToNewTag(player.getUniqueID(),UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8")))); + public NBTTagCompound getDataOrSetToNewTag(EntityPlayer player) { + return getDataOrSetToNewTag( + player.getUniqueID(), + UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8")))); } - public void putDataOrSetToNewTag(UUID uuid1, UUID uuid2, NBTTagCompound tagCompound){ - if(tagCompound==null){ - tagCompound=new NBTTagCompound(); + public void putDataOrSetToNewTag(UUID uuid1, UUID uuid2, NBTTagCompound tagCompound) { + if (tagCompound == null) { + tagCompound = new NBTTagCompound(); } - map.put(uuid1,tagCompound); - map.put(uuid2,tagCompound); + map.put(uuid1, tagCompound); + map.put(uuid2, tagCompound); } - public void putDataOrSetToNewTag(EntityPlayer player, NBTTagCompound tagCompound){ - putDataOrSetToNewTag(player.getUniqueID(),UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))),tagCompound); + public void putDataOrSetToNewTag(EntityPlayer player, NBTTagCompound tagCompound) { + putDataOrSetToNewTag( + player.getUniqueID(), + UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))), + tagCompound); } - public void saveData(EntityPlayer player){ - TT_Utility.savePlayerFile(player,extension,getDataOrSetToNewTag(player)); + public void saveData(EntityPlayer player) { + TT_Utility.savePlayerFile(player, extension, getDataOrSetToNewTag(player)); } @SubscribeEvent - public void onLogin(PlayerEvent.PlayerLoggedInEvent event){ - if(!event.player.worldObj.isRemote){ + public void onLogin(PlayerEvent.PlayerLoggedInEvent event) { + if (!event.player.worldObj.isRemote) { for (WorldServer worldServer : MinecraftServer.getServer().worldServers) { for (Object playerEntity : worldServer.playerEntities) { - NetworkDispatcher.INSTANCE.sendTo(new PlayerDataMessage.PlayerDataData((EntityPlayer) playerEntity),(EntityPlayerMP) event.player); + NetworkDispatcher.INSTANCE.sendTo( + new PlayerDataMessage.PlayerDataData((EntityPlayer) playerEntity), + (EntityPlayerMP) event.player); } } NetworkDispatcher.INSTANCE.sendToAll(new PlayerDataMessage.PlayerDataData(event.player)); diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/WorldData.java b/src/main/java/com/github/technus/tectech/mechanics/data/WorldData.java index 4f6f730c9b..fb9bf22472 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/data/WorldData.java +++ b/src/main/java/com/github/technus/tectech/mechanics/data/WorldData.java @@ -1,11 +1,10 @@ package com.github.technus.tectech.mechanics.data; +import java.util.Objects; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; -import java.util.Objects; - public final class WorldData { private final World world; private final Chunk chunk; @@ -14,13 +13,13 @@ public final class WorldData { public WorldData(World world, Chunk data) { this.world = world; this.chunk = data; - coordIntPair=data.getChunkCoordIntPair(); + coordIntPair = data.getChunkCoordIntPair(); } public WorldData(World world, ChunkCoordIntPair data) { this.world = world; this.coordIntPair = data; - chunk= world.getChunkFromChunkCoords(data.chunkXPos,data.chunkZPos); + chunk = world.getChunkFromChunkCoords(data.chunkXPos, data.chunkZPos); } public World getWorld() { @@ -40,9 +39,9 @@ public final class WorldData { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; WorldData worldData = (WorldData) o; - return world.provider.dimensionId==worldData.world.provider.dimensionId && - coordIntPair.chunkXPos==worldData.coordIntPair.chunkXPos && - coordIntPair.chunkZPos==worldData.coordIntPair.chunkXPos; + return world.provider.dimensionId == worldData.world.provider.dimensionId + && coordIntPair.chunkXPos == worldData.coordIntPair.chunkXPos + && coordIntPair.chunkZPos == worldData.coordIntPair.chunkXPos; } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/dataTransport/DataPacket.java b/src/main/java/com/github/technus/tectech/mechanics/dataTransport/DataPacket.java index f30105f1ee..e4936ec339 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/dataTransport/DataPacket.java +++ b/src/main/java/com/github/technus/tectech/mechanics/dataTransport/DataPacket.java @@ -1,40 +1,35 @@ package com.github.technus.tectech.mechanics.dataTransport; import com.gtnewhorizon.structurelib.util.Vec3Impl; -import net.minecraft.nbt.NBTTagCompound; - import java.util.Collections; import java.util.LinkedHashSet; import java.util.Set; +import net.minecraft.nbt.NBTTagCompound; /** * Created by Tec on 05.04.2017. */ -public abstract class DataPacket{ +public abstract class DataPacket { private static final byte MAX_HISTORY = 64; private Set trace = new LinkedHashSet<>(); protected T content; - protected DataPacket(T content){ - this.content=content; + protected DataPacket(T content) { + this.content = content; } protected DataPacket(NBTTagCompound nbt) { content = contentFromNBT(nbt.getCompoundTag("qContent")); for (int i = 0; i < nbt.getByte("qHistory"); i++) { - trace.add(new Vec3Impl( - nbt.getInteger("qX" + i), - nbt.getInteger("qY" + i), - nbt.getInteger("qZ" + i) - )); + trace.add(new Vec3Impl(nbt.getInteger("qX" + i), nbt.getInteger("qY" + i), nbt.getInteger("qZ" + i))); } } public final NBTTagCompound toNbt() { NBTTagCompound nbt = new NBTTagCompound(); - NBTTagCompound contentTag=contentToNBT(); - if(contentTag!=null) { + NBTTagCompound contentTag = contentToNBT(); + if (contentTag != null) { nbt.setTag("qContent", contentTag); } nbt.setByte("qHistory", (byte) trace.size()); @@ -65,21 +60,21 @@ public abstract class DataPacket{ public abstract boolean extraCheck(); protected final DataPacket unifyTrace(Vec3Impl... positions) { - Collections.addAll(trace,positions); + Collections.addAll(trace, positions); return (check() && extraCheck()) ? this : null; } protected final DataPacket unifyTrace(DataPacket p) { - if(p==null) return this; + if (p == null) return this; trace.addAll(p.trace); return (check() && extraCheck()) ? this : null; } protected final DataPacket unifyWith(DataPacket p) { - if(p==null) return this; + if (p == null) return this; trace.addAll(p.trace); - if(check() && extraCheck()){ - content=unifyContentWith(p.content); + if (check() && extraCheck()) { + content = unifyContentWith(p.content); return this; } return null; @@ -92,15 +87,15 @@ public abstract class DataPacket{ return getContent(); } - public T getContent(){ + public T getContent() { return content; } - public String getContentString(){ + public String getContentString() { return content.toString(); } - public final int getTraceSize(){ + public final int getTraceSize() { return trace.size(); } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/dataTransport/InventoryDataPacket.java b/src/main/java/com/github/technus/tectech/mechanics/dataTransport/InventoryDataPacket.java index 4eb5356ae7..af238edfe3 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/dataTransport/InventoryDataPacket.java +++ b/src/main/java/com/github/technus/tectech/mechanics/dataTransport/InventoryDataPacket.java @@ -1,44 +1,43 @@ package com.github.technus.tectech.mechanics.dataTransport; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; import java.util.ArrayList; - -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; public class InventoryDataPacket extends DataPacket { - public InventoryDataPacket(ItemStack[] content){ + public InventoryDataPacket(ItemStack[] content) { super(content); } - public InventoryDataPacket(NBTTagCompound compound){ + public InventoryDataPacket(NBTTagCompound compound) { super(compound); } @Override protected ItemStack[] contentFromNBT(NBTTagCompound nbt) { - int count=nbt.getInteger("count"); - if(count>0){ - ArrayList stacks=new ArrayList<>(); - for(int i=0;i 0) { + ArrayList stacks = new ArrayList<>(); + for (int i = 0; i < count; i++) { + ItemStack stack = ItemStack.loadItemStackFromNBT(nbt.getCompoundTag(Integer.toString(i))); + if (stack != null) { stacks.add(stack); } } - return stacks.size()>0?stacks.toArray(nullItem):null; + return stacks.size() > 0 ? stacks.toArray(nullItem) : null; } return null; } @Override protected NBTTagCompound contentToNBT() { - NBTTagCompound compound=new NBTTagCompound(); - if(content!=null && content.length>0){ - compound.setInteger("count",content.length); - for(int i=0;i 0) { + compound.setInteger("count", content.length); + for (int i = 0; i < content.length; i++) { + compound.setTag(Integer.toString(i), content[i].writeToNBT(new NBTTagCompound())); } } return compound; @@ -56,6 +55,6 @@ public class InventoryDataPacket extends DataPacket { @Override public String getContentString() { - return "Stack Count: "+(content==null?0:content.length); + return "Stack Count: " + (content == null ? 0 : content.length); } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/dataTransport/QuantumDataPacket.java b/src/main/java/com/github/technus/tectech/mechanics/dataTransport/QuantumDataPacket.java index 0fddb53fe9..92a933d278 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/dataTransport/QuantumDataPacket.java +++ b/src/main/java/com/github/technus/tectech/mechanics/dataTransport/QuantumDataPacket.java @@ -4,11 +4,11 @@ import com.gtnewhorizon.structurelib.util.Vec3Impl; import net.minecraft.nbt.NBTTagCompound; public class QuantumDataPacket extends DataPacket { - public QuantumDataPacket(Long content){ + public QuantumDataPacket(Long content) { super(content); } - public QuantumDataPacket(NBTTagCompound compound){ + public QuantumDataPacket(NBTTagCompound compound) { super(compound); } @@ -19,8 +19,8 @@ public class QuantumDataPacket extends DataPacket { @Override protected NBTTagCompound contentToNBT() { - NBTTagCompound compound=new NBTTagCompound(); - compound.setLong("computation",content); + NBTTagCompound compound = new NBTTagCompound(); + compound.setLong("computation", content); return compound; } @@ -31,7 +31,7 @@ public class QuantumDataPacket extends DataPacket { @Override protected Long unifyContentWith(Long content) { - return this.content+content; + return this.content + content; } public QuantumDataPacket unifyTraceWith(Vec3Impl... positions) { diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMGive.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMGive.java index eed30a7974..0826a5d253 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMGive.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMGive.java @@ -9,16 +9,15 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstance import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; import com.github.technus.tectech.thing.item.DebugElementalInstanceContainer_EM; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.util.ChatComponentText; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - /** * Created by danie_000 on 30.12.2017. */ @@ -37,16 +36,19 @@ public class EMGive implements ICommand { if (args.length < 3) { sender.addChatMessage(new ChatComponentText(getCommandUsage(sender))); } else { - TecTech.LOGGER.info("Spawninig EM for " + ((EntityPlayerMP) sender).getDisplayName() + " - " + Arrays.toString(args)); + TecTech.LOGGER.info("Spawninig EM for " + ((EntityPlayerMP) sender).getDisplayName() + " - " + + Arrays.toString(args)); - ArrayList list = new ArrayList<>(Arrays.asList(args)); - String energy = list.remove(0); + ArrayList list = new ArrayList<>(Arrays.asList(args)); + String energy = list.remove(0); EMDefinitionStack def = getDefinitionStack(TecTech.definitionsRegistry, list); if (def != null) { EMInstanceStack instanceStack = new EMInstanceStack(def, 1, 0, Long.parseLong(energy)); - sender.addChatMessage(new ChatComponentText(instanceStack.getDefinition().getSymbol() + " - " + instanceStack.getDefinition().getLocalizedName())); + sender.addChatMessage( + new ChatComponentText(instanceStack.getDefinition().getSymbol() + " - " + + instanceStack.getDefinition().getLocalizedName())); EMInstanceStackMap instanceMap = new EMInstanceStackMap(instanceStack); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMList.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMList.java index 0f71a24d82..22dd9b7dcb 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMList.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMList.java @@ -3,21 +3,20 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.commands; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; import com.github.technus.tectech.util.TT_Utility; -import net.minecraft.command.ICommand; -import net.minecraft.command.ICommandSender; -import net.minecraft.util.ChatComponentText; - import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; +import net.minecraft.command.ICommand; +import net.minecraft.command.ICommandSender; +import net.minecraft.util.ChatComponentText; /** * Created by danie_000 on 30.12.2017. */ public class EMList implements ICommand { - ArrayList aliases=new ArrayList<>(); + ArrayList aliases = new ArrayList<>(); - public EMList(){ + public EMList() { aliases.add("em_list"); aliases.add("list_em"); } @@ -25,32 +24,40 @@ public class EMList implements ICommand { @Override public void processCommand(ICommandSender sender, String[] args) { if (!sender.getEntityWorld().isRemote) { - if(args.length == 0) { + if (args.length == 0) { listClasses(sender); - }else { + } else { String concated = TT_Utility.getConcated(args, " "); - listDefinitions(sender,concated, concated.replaceAll(" ","_"),concated.replaceAll("_"," ")); + listDefinitions(sender, concated, concated.replaceAll(" ", "_"), concated.replaceAll("_", " ")); } } } - private void listDefinitions(ICommandSender sender,String raw, String unlocalized,String localized) { + private void listDefinitions(ICommandSender sender, String raw, String unlocalized, String localized) { sender.addChatMessage(new ChatComponentText(" Available Direct: tag - name symbol")); for (EMType directType : TecTech.definitionsRegistry.getDirectTypes().values()) { - if ("*".equals(raw) || localized.equalsIgnoreCase(directType.getLocalizedName()) || unlocalized.equalsIgnoreCase(directType.getUnlocalizedName())) { - directType.getDefinitions().forEach((bind, definition) -> - sender.addChatMessage(new ChatComponentText(bind + " - " + definition.getLocalizedName() + " " + definition.getSymbol()))); + if ("*".equals(raw) + || localized.equalsIgnoreCase(directType.getLocalizedName()) + || unlocalized.equalsIgnoreCase(directType.getUnlocalizedName())) { + directType + .getDefinitions() + .forEach((bind, definition) -> sender.addChatMessage(new ChatComponentText( + bind + " - " + definition.getLocalizedName() + " " + definition.getSymbol()))); } } } private void listClasses(ICommandSender sender) { sender.addChatMessage(new ChatComponentText(" Available Direct: name (use as parameter to learn more")); - TecTech.definitionsRegistry.getDirectTypes().forEach((aClass, emDirectType) -> - sender.addChatMessage(new ChatComponentText(emDirectType.getLocalizedName()))); + TecTech.definitionsRegistry + .getDirectTypes() + .forEach((aClass, emDirectType) -> + sender.addChatMessage(new ChatComponentText(emDirectType.getLocalizedName()))); sender.addChatMessage(new ChatComponentText(" Available Indirect: tag - name")); - TecTech.definitionsRegistry.getIndirectBinds().forEach((bind, emIndirectType) -> - sender.addChatMessage(new ChatComponentText(bind+" - "+emIndirectType.getLocalizedName()))); + TecTech.definitionsRegistry + .getIndirectBinds() + .forEach((bind, emIndirectType) -> + sender.addChatMessage(new ChatComponentText(bind + " - " + emIndirectType.getLocalizedName()))); } @Override @@ -70,8 +77,11 @@ public class EMList implements ICommand { @Override public List addTabCompletionOptions(ICommandSender sender, String[] args) { - if(args.length==1){ - return TecTech.definitionsRegistry.getDirectTypes().values().stream().map(EMType::getLocalizedName).map(s->s.replaceAll(" ","_")).collect(Collectors.toList()); + if (args.length == 1) { + return TecTech.definitionsRegistry.getDirectTypes().values().stream() + .map(EMType::getLocalizedName) + .map(s -> s.replaceAll(" ", "_")) + .collect(Collectors.toList()); } return null; } @@ -83,7 +93,7 @@ public class EMList implements ICommand { @Override public int compareTo(Object o) { - if(o instanceof ICommand){ + if (o instanceof ICommand) { return getCommandName().compareTo(((ICommand) o).getCommandName()); } return 0; diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecay.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecay.java index dfd1551c49..3efbe615eb 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecay.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecay.java @@ -1,25 +1,25 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.decay; +import static com.github.technus.tectech.util.DoubleCount.mul; + import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMConstantStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; -import static com.github.technus.tectech.util.DoubleCount.mul; - /** * Created by danie_000 on 22.10.2016. */ public final class EMDecay { - public static final EMDecay[] NO_DECAY = null; - //DECAY IMPOSSIBLE!!! - //Do not use regular NULL java will not make it work with varargs!!! - //Or cast null into ARRAY type but this static is more convenient!!! - public static final EMDecay[] NO_PRODUCT = new EMDecay[0]; - //this in turn can be used to tell that the thing should just vanish + public static final EMDecay[] NO_DECAY = null; + // DECAY IMPOSSIBLE!!! + // Do not use regular NULL java will not make it work with varargs!!! + // Or cast null into ARRAY type but this static is more convenient!!! + public static final EMDecay[] NO_PRODUCT = new EMDecay[0]; + // this in turn can be used to tell that the thing should just vanish private final EMConstantStackMap outputStacks; - private final double probability; + private final double probability; public EMDecay(IEMDefinition... outSafe) { this(1D, outSafe); @@ -55,27 +55,28 @@ public final class EMDecay { public EMInstanceStackMap getResults(double lifeMult, double age, long newEnergyLevel, double amountDecaying) { EMInstanceStackMap decayResult = new EMInstanceStackMap(); if (getOutputStacks() == null) { - return decayResult;//This is to prevent null pointer exceptions. + return decayResult; // This is to prevent null pointer exceptions. } - //Deny decay code is in instance! - boolean empty=true; + // Deny decay code is in instance! + boolean empty = true; for (EMDefinitionStack stack : getOutputStacks().valuesToArray()) { - if(stack.getAmount() >0){ - empty=false; + if (stack.getAmount() > 0) { + empty = false; break; } } if (empty) { return decayResult; } - //newEnergyLevel /= qtty; - //lifeMult /= (float) qtty; + // newEnergyLevel /= qtty; + // lifeMult /= (float) qtty; for (EMDefinitionStack stack : getOutputStacks().valuesToArray()) { - decayResult.putUnify(new EMInstanceStack(stack.getDefinition(), + decayResult.putUnify(new EMInstanceStack( + stack.getDefinition(), mul(amountDecaying, stack.getAmount()), lifeMult, - age/*new products*/, - (long)(newEnergyLevel / Math.max(1D, Math.abs(stack.getAmount())))));//get instances from stack + age /*new products*/, + (long) (newEnergyLevel / Math.max(1D, Math.abs(stack.getAmount()))))); // get instances from stack } return decayResult; } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecayResult.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecayResult.java index 0a00a519f9..dd37b2faaf 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecayResult.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecayResult.java @@ -4,8 +4,8 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstance public class EMDecayResult { private final EMInstanceStackMap output; - private double massAffected; - private double massDiff; + private double massAffected; + private double massDiff; public EMDecayResult(EMInstanceStackMap output, double massAffected, double massDiff) { this.output = output; diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMComplexTemplate.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMComplexTemplate.java index be22092163..fbb72734f3 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMComplexTemplate.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMComplexTemplate.java @@ -16,7 +16,7 @@ public abstract class EMComplexTemplate implements IEMDefinition { @Override public final EMComplexTemplate clone() { - return this;//IMMUTABLE + return this; // IMMUTABLE } @Override @@ -25,14 +25,14 @@ public abstract class EMComplexTemplate implements IEMDefinition { if (classCompare != 0) { return classCompare; } - //that allows neat check if the same thing and - //top hierarchy amount can be used to store amount info + // that allows neat check if the same thing and + // top hierarchy amount can be used to store amount info return getSubParticles().compareWithAmountsInternal(o.getSubParticles()); } @Override public final boolean equals(Object obj) { - if(this==obj) { + if (this == obj) { return true; } if (obj instanceof IEMDefinition) { @@ -45,22 +45,23 @@ public abstract class EMComplexTemplate implements IEMDefinition { } @Override - public int hashCode() {//Internal amounts should be also hashed + public int hashCode() { // Internal amounts should be also hashed int hash = -(getSubParticles().size() << 16); for (EMDefinitionStack stack : getSubParticles().valuesToArray()) { - int amount=(int) stack.getAmount(); - hash += ((amount & 0x1) == 0 ? -amount : amount) * (stack.getDefinition().hashCode()<<4); + int amount = (int) stack.getAmount(); + hash += ((amount & 0x1) == 0 ? -amount : amount) + * (stack.getDefinition().hashCode() << 4); } return hash; } @Override public String toString() { - return getLocalizedName()+ " " + getSymbol(); + return getLocalizedName() + " " + getSymbol(); } public NBTTagCompound toNBT(EMDefinitionsRegistry registry) { - return registry.indirectToNBT(getTagValue(),getSubParticles()); + return registry.indirectToNBT(getTagValue(), getSubParticles()); } protected abstract String getTagValue(); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMPrimitiveTemplate.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMPrimitiveTemplate.java index 272e7cffc0..7886580a0c 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMPrimitiveTemplate.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMPrimitiveTemplate.java @@ -1,12 +1,12 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.definitions; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMConstantStackMap; import net.minecraft.nbt.NBTTagCompound; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 22.10.2016. * EXTEND THIS TO ADD NEW PRIMITIVES, WATCH OUT FOR ID'S!!! @@ -14,29 +14,30 @@ import static net.minecraft.util.StatCollector.translateToLocal; public abstract class EMPrimitiveTemplate extends EMComplexTemplate { private final String name; private final String symbol; - //float-mass in eV/c^2 + // float-mass in eV/c^2 private final double mass; - //int -electric charge in 1/3rds of electron charge for optimization - private final int charge; - //byte color; 0=Red 1=Green 2=Blue 0=Cyan 1=Magenta 2=Yellow, else ignored (-1 - uncolorable) + // int -electric charge in 1/3rds of electron charge for optimization + private final int charge; + // byte color; 0=Red 1=Green 2=Blue 0=Cyan 1=Magenta 2=Yellow, else ignored (-1 - uncolorable) private final int color; - //-1/-2/-3 anti matter generations, +1/+2/+3 matter generations, 0 self anti + // -1/-2/-3 anti matter generations, +1/+2/+3 matter generations, 0 self anti private final int generation; - private IEMDefinition anti;//IMMUTABLE - private EMDecay[] elementalDecays; - private byte naturalDecayInstant; + private IEMDefinition anti; // IMMUTABLE + private EMDecay[] elementalDecays; + private byte naturalDecayInstant; private byte energeticDecayInstant; private double rawLifeTime; private final int ID; private final String bind; - //no _ at end - normal particle + // no _ at end - normal particle // _ at end - anti particle // __ at end - self is antiparticle - protected EMPrimitiveTemplate(String name, String symbol, int generation, double mass, int charge, int color, int ID, String bind) { + protected EMPrimitiveTemplate( + String name, String symbol, int generation, double mass, int charge, int color, int ID, String bind) { this.name = name; this.symbol = symbol; this.generation = generation; @@ -44,18 +45,24 @@ public abstract class EMPrimitiveTemplate extends EMComplexTemplate { this.charge = charge; this.color = color; this.ID = ID; - this.bind=bind; + this.bind = bind; } // - protected void init(EMDefinitionsRegistry registry,IEMDefinition antiParticle, double rawLifeTime, int naturalInstant, int energeticInstant, EMDecay... elementalDecaysArray) { + protected void init( + EMDefinitionsRegistry registry, + IEMDefinition antiParticle, + double rawLifeTime, + int naturalInstant, + int energeticInstant, + EMDecay... elementalDecaysArray) { anti = antiParticle; this.rawLifeTime = rawLifeTime; naturalDecayInstant = (byte) naturalInstant; energeticDecayInstant = (byte) energeticInstant; - elementalDecays =elementalDecaysArray; + elementalDecays = elementalDecaysArray; registry.registerForDisplay(this); - registry.registerDirectDefinition(bind,this); + registry.registerDirectDefinition(bind, this); } @Override @@ -75,7 +82,7 @@ public abstract class EMPrimitiveTemplate extends EMComplexTemplate { @Override public IEMDefinition getAnti() { - return anti;//no need for copy + return anti; // no need for copy } @Override @@ -97,25 +104,25 @@ public abstract class EMPrimitiveTemplate extends EMComplexTemplate { public EMDecay[] getNaturalDecayInstant() { if (naturalDecayInstant < 0) { return elementalDecays; - }else if (naturalDecayInstant>=elementalDecays.length){ + } else if (naturalDecayInstant >= elementalDecays.length) { return EMDecay.NO_PRODUCT; } - return new EMDecay[]{elementalDecays[naturalDecayInstant]}; + return new EMDecay[] {elementalDecays[naturalDecayInstant]}; } @Override public EMDecay[] getEnergyInducedDecay(long energyLevel) { if (energeticDecayInstant < 0) { return elementalDecays; - }else if (energeticDecayInstant>=elementalDecays.length){ + } else if (energeticDecayInstant >= elementalDecays.length) { return EMDecay.NO_PRODUCT; } - return new EMDecay[]{elementalDecays[energeticDecayInstant]}; + return new EMDecay[] {elementalDecays[energeticDecayInstant]}; } @Override public double getEnergyDiffBetweenStates(long currentEnergyLevel, long newEnergyLevel) { - return IEMDefinition.DEFAULT_ENERGY_REQUIREMENT *(newEnergyLevel-currentEnergyLevel); + return IEMDefinition.DEFAULT_ENERGY_REQUIREMENT * (newEnergyLevel - currentEnergyLevel); } @Override @@ -173,7 +180,7 @@ public abstract class EMPrimitiveTemplate extends EMComplexTemplate { return getClassTypeStatic(); } - public static int getClassTypeStatic(){ + public static int getClassTypeStatic() { return Short.MIN_VALUE; } @@ -194,4 +201,4 @@ public abstract class EMPrimitiveTemplate extends EMComplexTemplate { public String getUnlocalizedName() { return name; } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/IEMDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/IEMDefinition.java index ee123735f8..4d076712b4 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/IEMDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/IEMDefinition.java @@ -1,29 +1,29 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.definitions; +import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_scanner.*; +import static com.github.technus.tectech.util.TT_Utility.areBitsSet; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMConstantStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; import com.github.technus.tectech.util.TT_Utility; -import net.minecraft.nbt.NBTTagCompound; - import java.util.ArrayList; - -import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_scanner.*; -import static com.github.technus.tectech.util.TT_Utility.areBitsSet; -import static net.minecraft.util.StatCollector.translateToLocal; +import net.minecraft.nbt.NBTTagCompound; /** * Created by danie_000 on 11.11.2016. */ -public interface IEMDefinition extends Comparable, Cloneable {//IMMUTABLE - double STABLE_RAW_LIFE_TIME = 1.5e36D; - double NO_DECAY_RAW_LIFE_TIME = -1D; - long DEFAULT_ENERGY_LEVEL = 0; - double DEFAULT_ENERGY_REQUIREMENT = 25000D;//legit cuz normal atoms should only emit a gamma if they don't have defined energy levels - //add text based creators for recipe formula input? - - //Nomenclature +public interface IEMDefinition extends Comparable, Cloneable { // IMMUTABLE + double STABLE_RAW_LIFE_TIME = 1.5e36D; + double NO_DECAY_RAW_LIFE_TIME = -1D; + long DEFAULT_ENERGY_LEVEL = 0; + double DEFAULT_ENERGY_REQUIREMENT = + 25000D; // legit cuz normal atoms should only emit a gamma if they don't have defined energy levels + // add text based creators for recipe formula input? + + // Nomenclature String getLocalizedTypeName(); String getShortLocalizedName(); @@ -36,57 +36,63 @@ public interface IEMDefinition extends Comparable, Cloneable {//I String getSymbol(); - default void addScanShortSymbols(ArrayList lines, int capabilities, long energyLevel, EMDefinitionsRegistry registry) { - if (areBitsSet(SCAN_GET_NOMENCLATURE | SCAN_GET_CLASS_TYPE | SCAN_GET_CHARGE | SCAN_GET_MASS | SCAN_GET_TIMESPAN_INFO, capabilities)) { + default void addScanShortSymbols( + ArrayList lines, int capabilities, long energyLevel, EMDefinitionsRegistry registry) { + if (areBitsSet( + SCAN_GET_NOMENCLATURE | SCAN_GET_CLASS_TYPE | SCAN_GET_CHARGE | SCAN_GET_MASS | SCAN_GET_TIMESPAN_INFO, + capabilities)) { lines.add(getShortSymbol()); } } - default void addScanResults(ArrayList lines, int capabilities, long energyLevel, EMDefinitionsRegistry registry) { - if (TT_Utility.areBitsSet(SCAN_GET_CLASS_TYPE | SCAN_GET_CHARGE | SCAN_GET_MASS | SCAN_GET_TIMESPAN_INFO, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.class") + - " = " + registry.getTypes().get(getClass()).getLocalizedName()); + default void addScanResults( + ArrayList lines, int capabilities, long energyLevel, EMDefinitionsRegistry registry) { + if (TT_Utility.areBitsSet( + SCAN_GET_CLASS_TYPE | SCAN_GET_CHARGE | SCAN_GET_MASS | SCAN_GET_TIMESPAN_INFO, capabilities)) { + lines.add(translateToLocal("tt.keyword.scan.class") + " = " + + registry.getTypes().get(getClass()).getLocalizedName()); if (areBitsSet(SCAN_GET_NOMENCLATURE, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.name") + - " = " + getLocalizedName()); - lines.add(translateToLocal("tt.keyword.scan.symbol") + - " = " + getSymbol()); + lines.add(translateToLocal("tt.keyword.scan.name") + " = " + getLocalizedName()); + lines.add(translateToLocal("tt.keyword.scan.symbol") + " = " + getSymbol()); } } if (areBitsSet(SCAN_GET_CHARGE, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.charge") + - " = " + getCharge() / 3D + " " + translateToLocal("tt.keyword.unit.charge")); + lines.add(translateToLocal("tt.keyword.scan.charge") + " = " + getCharge() / 3D + " " + + translateToLocal("tt.keyword.unit.charge")); } if (areBitsSet(SCAN_GET_COLORABLE, capabilities)) { - lines.add(hasColor() ? - translateToLocal("tt.keyword.scan.colored") : - translateToLocal("tt.keyword.scan.colorless")); + lines.add( + hasColor() + ? translateToLocal("tt.keyword.scan.colored") + : translateToLocal("tt.keyword.scan.colorless")); } if (areBitsSet(SCAN_GET_MASS, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.mass") + - " = " + getMass() + " " + translateToLocal("tt.keyword.unit.mass")); + lines.add(translateToLocal("tt.keyword.scan.mass") + " = " + getMass() + " " + + translateToLocal("tt.keyword.unit.mass")); } if (areBitsSet(SCAN_GET_TIMESPAN_INFO, capabilities)) { - lines.add((isTimeSpanHalfLife() ? - translateToLocal("tt.keyword.scan.half_life") : - translateToLocal("tt.keyword.scan.life_time")) + - " = " + getRawTimeSpan(energyLevel) + " " + translateToLocal("tt.keyword.unit.time")); + lines.add((isTimeSpanHalfLife() + ? translateToLocal("tt.keyword.scan.half_life") + : translateToLocal("tt.keyword.scan.life_time")) + + " = " + + getRawTimeSpan(energyLevel) + " " + translateToLocal("tt.keyword.unit.time")); lines.add(" " + translateToLocal("tt.keyphrase.scan.at_current_energy_level")); } } - int getMatterMassType();//bigger number means bigger things usually, but it is just used to differentiate between classes of iED + int getMatterMassType(); // bigger number means bigger things usually, but it is just used to differentiate + // between classes of iED int getGeneration(); - //Not dynamically changing stuff - IEMDefinition getAnti();//gives new anti particle def + // Not dynamically changing stuff + IEMDefinition getAnti(); // gives new anti particle def - EMDecay[] getDecayArray();//possible decays + EMDecay[] getDecayArray(); // possible decays - EMDecay[] getNaturalDecayInstant();//natural decay if lifespan <1tick + EMDecay[] getNaturalDecayInstant(); // natural decay if lifespan <1tick - EMDecay[] getEnergyInducedDecay(long energyLevel);//energetic decay + EMDecay[] getEnergyInducedDecay(long energyLevel); // energetic decay boolean usesSpecialEnergeticDecayHandling(); @@ -96,24 +102,24 @@ public interface IEMDefinition extends Comparable, Cloneable {//I boolean fusionMakesEnergy(long energyLevel); - double getEnergyDiffBetweenStates(long currentEnergy, long newEnergyLevel);//positive or negative + double getEnergyDiffBetweenStates(long currentEnergy, long newEnergyLevel); // positive or negative - double getMass();//mass... MeV/c^2 + double getMass(); // mass... MeV/c^2 - int getCharge();//charge 1/3 electron charge + int getCharge(); // charge 1/3 electron charge - //dynamically changing stuff + // dynamically changing stuff int getMaxColors(); default boolean hasColor() { return getMaxColors() > 0; } - double getRawTimeSpan(long currentEnergy);//defined in static fields or generated + double getRawTimeSpan(long currentEnergy); // defined in static fields or generated boolean isTimeSpanHalfLife(); - EMConstantStackMap getSubParticles();//contents... null if none + EMConstantStackMap getSubParticles(); // contents... null if none NBTTagCompound toNBT(EMDefinitionsRegistry registry); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMDefinitionsRegistry.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMDefinitionsRegistry.java index 458965da66..8866403d04 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMDefinitionsRegistry.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMDefinitionsRegistry.java @@ -1,37 +1,37 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.nbtE__; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.null__; + import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.IEMMapRead; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; -import net.minecraft.nbt.NBTTagCompound; - import java.util.*; - -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.nbtE__; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.null__; +import net.minecraft.nbt.NBTTagCompound; public class EMDefinitionsRegistry { private static final String TAG_NAME = "EM"; private final NavigableSet stacksRegistered = new TreeSet<>(); - private final Map hashMap = new HashMap<>(); + private final Map hashMap = new HashMap<>(); private final Map hashMapR = Collections.unmodifiableMap(hashMap); - private final Map, EMType> types = new HashMap<>(); - private final Map, EMType> typesR = Collections.unmodifiableMap(types); - private final Map, EMType> directTypes = new HashMap<>(); - private final Map, EMType> directTypesR = Collections.unmodifiableMap(directTypes); - private final Map, EMIndirectType> indirectTypes = new HashMap<>(); - private final Map, EMIndirectType> indirectTypesR = Collections.unmodifiableMap(indirectTypes); - - private final Map binds = new HashMap<>(); - private final Map bindsR = Collections.unmodifiableMap(binds); - private final Map directBinds = new HashMap<>(); - private final Map directBindsR = Collections.unmodifiableMap(directBinds); - private final Map indirectBinds = new HashMap<>(); + private final Map, EMType> types = new HashMap<>(); + private final Map, EMType> typesR = Collections.unmodifiableMap(types); + private final Map, EMType> directTypes = new HashMap<>(); + private final Map, EMType> directTypesR = Collections.unmodifiableMap(directTypes); + private final Map, EMIndirectType> indirectTypes = new HashMap<>(); + private final Map, EMIndirectType> indirectTypesR = + Collections.unmodifiableMap(indirectTypes); + + private final Map binds = new HashMap<>(); + private final Map bindsR = Collections.unmodifiableMap(binds); + private final Map directBinds = new HashMap<>(); + private final Map directBindsR = Collections.unmodifiableMap(directBinds); + private final Map indirectBinds = new HashMap<>(); private final Map indirectBindsR = Collections.unmodifiableMap(indirectBinds); public NBTTagCompound directToNBT(String bind) { @@ -84,7 +84,8 @@ public class EMDefinitionsRegistry { protected void addType(EMType emType) { if (types.put(emType.getClazz(), emType) != null) { - EMException e = new EMException("Class collision! " + emType.getClazz().getName()); + EMException e = + new EMException("Class collision! " + emType.getClazz().getName()); if (DEBUG_MODE) { e.printStackTrace(); } else { @@ -130,7 +131,8 @@ public class EMDefinitionsRegistry { if (emType != null) { directTypes.put(definition.getClass(), emType); } else { - EMException e = new EMException("Direct Type bind missing! " + definition.getClass().getName()); + EMException e = new EMException( + "Direct Type bind missing! " + definition.getClass().getName()); if (DEBUG_MODE) { e.printStackTrace(); } else { diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMIndirectType.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMIndirectType.java index 680dd029a4..f970bfbbaa 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMIndirectType.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMIndirectType.java @@ -1,30 +1,32 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.nbtE__; + import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; -import net.minecraft.nbt.NBTTagCompound; - import java.util.function.BiFunction; - -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.nbtE__; +import net.minecraft.nbt.NBTTagCompound; public class EMIndirectType extends EMType { private final BiFunction creator; - public EMIndirectType(BiFunction creator, Class clazz, String unlocalizedName) { + public EMIndirectType( + BiFunction creator, + Class clazz, + String unlocalizedName) { super(clazz, unlocalizedName); this.creator = creator; } - protected BiFunction getCreator() { + protected BiFunction getCreator() { return creator; } - public IEMDefinition create(EMDefinitionsRegistry registry,NBTTagCompound nbt){ + public IEMDefinition create(EMDefinitionsRegistry registry, NBTTagCompound nbt) { try { return creator.apply(registry, nbt); - }catch (Exception e){ + } catch (Exception e) { EMException emException = new EMException("Failed to create from: " + nbt.toString(), e); if (DEBUG_MODE) { emException.printStackTrace(); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMType.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMType.java index 73097db663..1af46f6ff0 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMType.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMType.java @@ -1,20 +1,19 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; - import java.util.Collections; import java.util.HashMap; import java.util.Map; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static net.minecraft.util.StatCollector.translateToLocal; - public class EMType { - private final Map definitions = new HashMap<>(); + private final Map definitions = new HashMap<>(); private final Map definitionsR = Collections.unmodifiableMap(definitions); - private final Class clazz; - private final String unlocalizedName; + private final Class clazz; + private final String unlocalizedName; public EMType(Class clazz, String unlocalizedName) { this.clazz = clazz; @@ -38,7 +37,7 @@ public class EMType { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - return clazz==((EMType) o).clazz; + return clazz == ((EMType) o).clazz; } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMConstantStackMap.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMConstantStackMap.java index ed2ebbab57..d830005760 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMConstantStackMap.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMConstantStackMap.java @@ -1,22 +1,22 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.maps; +import static com.github.technus.tectech.util.TT_Utility.unpackNBT; + import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; -import net.minecraft.nbt.NBTTagCompound; - import java.util.Collections; import java.util.NavigableMap; import java.util.TreeMap; - -import static com.github.technus.tectech.util.TT_Utility.unpackNBT; +import net.minecraft.nbt.NBTTagCompound; /** * Created by Tec on 12.05.2017. */ -public final class EMConstantStackMap/*IMMUTABLE*/ extends EMStackMap {//Target class for construction of definitions/recipes - //Constructors + Clone, all make a whole new OBJ. +public final class EMConstantStackMap /*IMMUTABLE*/ + extends EMStackMap { // Target class for construction of definitions/recipes + // Constructors + Clone, all make a whole new OBJ. public static final EMConstantStackMap EMPTY = new EMConstantStackMap(); private EMConstantStackMap() { @@ -36,7 +36,7 @@ public final class EMConstantStackMap/*IMMUTABLE*/ extends EMStackMap EMDefinitionStack.fromNBT(registry, inner),nbt)); + return new EMConstantStackMap( + unpackNBT(EMDefinitionStack.class, inner -> EMDefinitionStack.fromNBT(registry, inner), nbt)); } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMDefinitionStackMap.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMDefinitionStackMap.java index 6892e2cd59..2fe0f1ff95 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMDefinitionStackMap.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMDefinitionStackMap.java @@ -1,21 +1,21 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.maps; +import static com.github.technus.tectech.util.TT_Utility.unpackNBT; + import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; -import net.minecraft.nbt.NBTTagCompound; - import java.util.NavigableMap; import java.util.TreeMap; - -import static com.github.technus.tectech.util.TT_Utility.unpackNBT; +import net.minecraft.nbt.NBTTagCompound; /** * Created by danie_000 on 22.01.2017. */ -public final class EMDefinitionStackMap extends EMStackMap implements IEMMapWriteExact {//Transient class for construction of definitions/recipes - //Constructors + Clone, all make a whole new OBJ. +public final class EMDefinitionStackMap extends EMStackMap + implements IEMMapWriteExact { // Transient class for construction of definitions/recipes + // Constructors + Clone, all make a whole new OBJ. public EMDefinitionStackMap() {} public EMDefinitionStackMap(EMDefinitionStack... in) { @@ -45,6 +45,7 @@ public final class EMDefinitionStackMap extends EMStackMap im } public static EMDefinitionStackMap fromNBT(EMDefinitionsRegistry registry, NBTTagCompound nbt) throws EMException { - return new EMDefinitionStackMap(unpackNBT(EMDefinitionStack.class,inner -> EMDefinitionStack.fromNBT(registry, inner),nbt)); + return new EMDefinitionStackMap( + unpackNBT(EMDefinitionStack.class, inner -> EMDefinitionStack.fromNBT(registry, inner), nbt)); } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMInstanceStackMap.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMInstanceStackMap.java index 8a92c819df..8b3ffcd454 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMInstanceStackMap.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMInstanceStackMap.java @@ -1,5 +1,10 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.maps; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.AVOGADRO_CONSTANT; +import static com.github.technus.tectech.util.DoubleCount.add; +import static com.github.technus.tectech.util.TT_Utility.unpackNBT; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecayResult; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; @@ -9,26 +14,19 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstan import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.util.GT_Utility; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; - import java.util.ArrayList; import java.util.Map; import java.util.NavigableMap; import java.util.TreeMap; - -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.AVOGADRO_CONSTANT; -import static com.github.technus.tectech.util.DoubleCount.add; -import static com.github.technus.tectech.util.TT_Utility.unpackNBT; -import static net.minecraft.util.StatCollector.translateToLocal; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; /** * Created by danie_000 on 22.01.2017. */ public final class EMInstanceStackMap extends EMStackMap implements IEMMapWrite { - //Constructors - public EMInstanceStackMap() { - } + // Constructors + public EMInstanceStackMap() {} public EMInstanceStackMap(EMInstanceStack... inSafe) { this(true, inSafe); @@ -69,7 +67,7 @@ public final class EMInstanceStackMap extends EMStackMap implem return new EMInstanceStackMap(getBackingMap()); } - //Remove overflow + // Remove overflow public double removeOverflow(int stacksCount, double stackCapacity) { double massRemoved = 0; @@ -90,18 +88,30 @@ public final class EMInstanceStackMap extends EMStackMap implem return massRemoved; } - //Getters + // Getters public String[] getElementalInfo() { String[] info = new String[size()]; - int i = 0; + int i = 0; for (Map.Entry entry : entrySet()) { EMInstanceStack instance = entry.getValue(); - info[i++] = EnumChatFormatting.BLUE + instance.getDefinition().getLocalizedName() + " " + EnumChatFormatting.AQUA + instance.getDefinition().getSymbol() + EnumChatFormatting.RESET + - " " + translateToLocal("tt.keyword.short.amount") + ": " + EnumChatFormatting.GREEN + TT_Utility.formatNumberExp(instance.getAmount() / AVOGADRO_CONSTANT) + " " + translateToLocal("tt.keyword.unit.mol") + EnumChatFormatting.RESET + - " " + translateToLocal("tt.keyword.short.energy") + ": " + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(instance.getDefinition().getEnergyDiffBetweenStates(0, instance.getEnergy())) + " " + translateToLocal("tt.keyword.unit.energy") + EnumChatFormatting.RESET + - " " + translateToLocal("tt.keyword.short.charge") + ": " + EnumChatFormatting.GREEN + TT_Utility.formatNumberExp(instance.getCharge()) + " " + translateToLocal("tt.keyword.unit.charge") + EnumChatFormatting.RESET + - " " + translateToLocal("tt.keyword.short.time") + ": " + EnumChatFormatting.GREEN + (instance.getLifeTime() < 0 ? - translateToLocal("tt.keyword.stable") : TT_Utility.formatNumberShortExp(instance.getLifeTime()) + " " + translateToLocal("tt.keyword.unit.time")) + EnumChatFormatting.RESET; + info[i++] = EnumChatFormatting.BLUE + instance.getDefinition().getLocalizedName() + " " + + EnumChatFormatting.AQUA + instance.getDefinition().getSymbol() + EnumChatFormatting.RESET + " " + + translateToLocal("tt.keyword.short.amount") + ": " + EnumChatFormatting.GREEN + + TT_Utility.formatNumberExp(instance.getAmount() / AVOGADRO_CONSTANT) + " " + + translateToLocal("tt.keyword.unit.mol") + EnumChatFormatting.RESET + " " + + translateToLocal("tt.keyword.short.energy") + ": " + EnumChatFormatting.GREEN + + GT_Utility.formatNumbers( + instance.getDefinition().getEnergyDiffBetweenStates(0, instance.getEnergy())) + + " " + translateToLocal("tt.keyword.unit.energy") + EnumChatFormatting.RESET + " " + + translateToLocal("tt.keyword.short.charge") + ": " + EnumChatFormatting.GREEN + + TT_Utility.formatNumberExp(instance.getCharge()) + " " + + translateToLocal("tt.keyword.unit.charge") + EnumChatFormatting.RESET + " " + + translateToLocal("tt.keyword.short.time") + ": " + EnumChatFormatting.GREEN + + (instance.getLifeTime() < 0 + ? translateToLocal("tt.keyword.stable") + : TT_Utility.formatNumberShortExp(instance.getLifeTime()) + " " + + translateToLocal("tt.keyword.unit.time")) + + EnumChatFormatting.RESET; } return info; } @@ -115,7 +125,7 @@ public final class EMInstanceStackMap extends EMStackMap implem } public double tickContent(double lifeTimeMult, int postEnergize, double seconds) { - //cleanUp(); + // cleanUp(); double diff = 0; for (EMInstanceStack instance : takeAllToArray()) { instance.setAge(instance.getAge() + seconds); @@ -130,9 +140,10 @@ public final class EMInstanceStackMap extends EMStackMap implem return diff; } - //NBT + // NBT public static EMInstanceStackMap fromNBT(EMDefinitionsRegistry registry, NBTTagCompound nbt) throws EMException { - return new EMInstanceStackMap(false, unpackNBT(EMInstanceStack.class, inner -> EMInstanceStack.fromNBT(registry, inner), nbt)); + return new EMInstanceStackMap( + false, unpackNBT(EMInstanceStack.class, inner -> EMInstanceStack.fromNBT(registry, inner), nbt)); } @Override @@ -145,13 +156,14 @@ public final class EMInstanceStackMap extends EMStackMap implem } public EMInstanceStack[] takeAllToArray() { - EMInstanceStack[] newStack = valuesToArray();//just in case to uncouple The map + EMInstanceStack[] newStack = valuesToArray(); // just in case to uncouple The map clear(); return newStack; } public EMInstanceStackMap takeAll() { - EMInstanceStackMap newStack = new EMInstanceStackMap(false, new TreeMap<>(getBackingMap()));//just in case to uncouple The map + EMInstanceStackMap newStack = + new EMInstanceStackMap(false, new TreeMap<>(getBackingMap())); // just in case to uncouple The map clear(); return newStack; } @@ -159,7 +171,7 @@ public final class EMInstanceStackMap extends EMStackMap implem @Deprecated public EMDefinitionStackMap toDefinitionMapForComparison() { EMDefinitionStack[] list = new EMDefinitionStack[size()]; - int i = 0; + int i = 0; for (Map.Entry entry : entrySet()) { EMInstanceStack value = entry.getValue(); list[i++] = new EMDefinitionStack(value.getDefinition(), value.getAmount()); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMStackMap.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMStackMap.java index 84b4123f32..f9f4b946b9 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMStackMap.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMStackMap.java @@ -2,7 +2,6 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.maps; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; - import java.util.Map; import java.util.NavigableMap; import java.util.TreeMap; @@ -18,7 +17,7 @@ abstract class EMStackMap implements IEMMapRead { } protected EMStackMap(NavigableMap map) { - this.backingMap =map; + this.backingMap = map; } @Override @@ -31,7 +30,7 @@ abstract class EMStackMap implements IEMMapRead { @Override public boolean equals(Object obj) { - if(this == obj){ + if (this == obj) { return true; } if (obj instanceof IEMMapRead) { @@ -41,7 +40,7 @@ abstract class EMStackMap implements IEMMapRead { } @Override - public int hashCode() {//Hash only definitions to compare contents not amounts or data + public int hashCode() { // Hash only definitions to compare contents not amounts or data int hash = -(size() << 4); for (Map.Entry entry : entrySet()) { hash += entry.getValue().getDefinition().hashCode(); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapRead.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapRead.java index 6bd12a849b..47af5e716e 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapRead.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapRead.java @@ -1,32 +1,31 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.maps; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.AVOGADRO_CONSTANT; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_EPSILON; +import static com.github.technus.tectech.util.DoubleCount.ulpSigned; +import static com.github.technus.tectech.util.TT_Utility.packNBT; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; import com.github.technus.tectech.util.TT_Utility; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; - import java.lang.reflect.Array; import java.util.*; - -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.AVOGADRO_CONSTANT; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_EPSILON; -import static com.github.technus.tectech.util.DoubleCount.ulpSigned; -import static com.github.technus.tectech.util.TT_Utility.packNBT; -import static net.minecraft.util.StatCollector.translateToLocal; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; public interface IEMMapRead extends Comparable>, Cloneable { - NavigableMap getBackingMap(); + NavigableMap getBackingMap(); IEMMapRead clone(); - default Set> entrySet(){ + default Set> entrySet() { return getBackingMap().entrySet(); } - default Set keySet(){ + default Set keySet() { return getBackingMap().keySet(); } @@ -38,27 +37,27 @@ public interface IEMMapRead extends Comparable values(){ + default Collection values() { return getBackingMap().values(); } @SuppressWarnings("unchecked") - default T[] valuesToArray(){ - return valuesToArray((T[]) Array.newInstance(getType(),size())); + default T[] valuesToArray() { + return valuesToArray((T[]) Array.newInstance(getType(), size())); } - default T[] valuesToArray(T[] array){ + default T[] valuesToArray(T[] array) { return values().toArray(array); } Class getType(); - //Getters - default T getFirst(){ + // Getters + default T getFirst() { return getBackingMap().firstEntry().getValue(); } - default T getLast(){ + default T getLast() { return getBackingMap().lastEntry().getValue(); } @@ -71,11 +70,11 @@ public interface IEMMapRead extends Comparable=size()){ - throw new IndexOutOfBoundsException("Index was: "+pos+" size was: "+size()); + if (pos < 0 || pos >= size()) { + throw new IndexOutOfBoundsException("Index was: " + pos + " size was: " + size()); } for (Map.Entry entry : entrySet()) { - if(pos==0){ + if (pos == 0) { return entry.getValue(); } pos--; @@ -98,30 +97,36 @@ public interface IEMMapRead extends Comparable entry : entrySet()) { T instance = entry.getValue(); - info[i++] = EnumChatFormatting.BLUE + instance.getDefinition().getLocalizedName() + " " + EnumChatFormatting.AQUA + instance.getDefinition().getSymbol() + EnumChatFormatting.RESET + - " " + translateToLocal("tt.keyword.short.amount") + ": " + EnumChatFormatting.GREEN + TT_Utility.formatNumberExp(instance.getAmount() / AVOGADRO_CONSTANT) + " " + translateToLocal("tt.keyword.unit.mol") + EnumChatFormatting.RESET + - " " + translateToLocal("tt.keyword.short.charge") + ": " + EnumChatFormatting.GREEN + TT_Utility.formatNumberExp(instance.getCharge()) + " " + translateToLocal("tt.keyword.unit.charge") + EnumChatFormatting.RESET; + info[i++] = EnumChatFormatting.BLUE + instance.getDefinition().getLocalizedName() + " " + + EnumChatFormatting.AQUA + instance.getDefinition().getSymbol() + EnumChatFormatting.RESET + " " + + translateToLocal("tt.keyword.short.amount") + ": " + EnumChatFormatting.GREEN + + TT_Utility.formatNumberExp(instance.getAmount() / AVOGADRO_CONSTANT) + " " + + translateToLocal("tt.keyword.unit.mol") + EnumChatFormatting.RESET + " " + + translateToLocal("tt.keyword.short.charge") + ": " + EnumChatFormatting.GREEN + + TT_Utility.formatNumberExp(instance.getCharge()) + " " + + translateToLocal("tt.keyword.unit.charge") + EnumChatFormatting.RESET; } return info; } - //NBT + // NBT default NBTTagCompound toNBT(EMDefinitionsRegistry registry) { - return packNBT(t -> t.toNBT(registry),valuesToArray()); + return packNBT(t -> t.toNBT(registry), valuesToArray()); } @Override - default int compareTo(IEMMapRead o) {//this actually compares rest + default int compareTo(IEMMapRead o) { // this actually compares rest int sizeDiff = size() - o.size(); if (sizeDiff != 0) { return sizeDiff; } - Iterator> iterator = entrySet().iterator(); - Iterator> iteratorO = o.entrySet().iterator(); + Iterator> iterator = entrySet().iterator(); + Iterator> iteratorO = + o.entrySet().iterator(); while (iterator.hasNext()) { int result = iterator.next().getValue().compareTo(iteratorO.next().getValue()); @@ -147,17 +152,18 @@ public interface IEMMapRead extends Comparable> iterator = entrySet().iterator(); - Iterator> iteratorO = o.entrySet().iterator(); + Iterator> iterator = entrySet().iterator(); + Iterator> iteratorO = + o.entrySet().iterator(); while (iterator.hasNext()) { - T first = iterator.next().getValue(); + T first = iterator.next().getValue(); IEMStack second = iteratorO.next().getValue(); - int result = first.compareTo(second); + int result = first.compareTo(second); if (result != 0) { return result; } - result=Double.compare(first.getAmount(),second.getAmount()); + result = Double.compare(first.getAmount(), second.getAmount()); if (result != 0) { return result; } @@ -165,23 +171,23 @@ public interface IEMMapRead extends Comparable entry : entrySet()) { - mass+=entry.getValue().getMass(); + mass += entry.getValue().getMass(); } return mass; } - default long getCharge(){ - long charge=0; + default long getCharge() { + long charge = 0; for (Map.Entry entry : entrySet()) { - charge+=entry.getValue().getCharge(); + charge += entry.getValue().getCharge(); } return charge; } - //Tests + // Tests default boolean containsKey(IEMDefinition def) { return getBackingMap().containsKey(def); } @@ -214,12 +220,12 @@ public interface IEMMapRead extends Comparable extends Comparable container) { for (Map.Entry entry : container.entrySet()) { - if(!containsAmountExact(entry.getValue())){ + if (!containsAmountExact(entry.getValue())) { return false; } } @@ -236,20 +242,20 @@ public interface IEMMapRead extends Comparable extends Comparable container) { for (Map.Entry entry : container.entrySet()) { - if(!containsAmount(entry.getValue())){ + if (!containsAmount(entry.getValue())) { return false; } } @@ -273,7 +279,7 @@ public interface IEMMapRead extends Comparable extends IEMMapWriteExact { IEMMapWrite clone(); @@ -18,23 +17,23 @@ public interface IEMMapWrite extends IEMMapWriteExact { * @param amountToConsume should be comparable to {@link EMTransformationRegistry#EM_COUNT_PER_MATERIAL_AMOUNT} * @return consumed successfully */ - default boolean removeAmount(IEMDefinition def, double amountToConsume){ - double amountRequired=amountToConsume- EM_COUNT_EPSILON; - if(amountRequired==amountToConsume){ - amountRequired-=ulpSigned(amountRequired); + default boolean removeAmount(IEMDefinition def, double amountToConsume) { + double amountRequired = amountToConsume - EM_COUNT_EPSILON; + if (amountRequired == amountToConsume) { + amountRequired -= ulpSigned(amountRequired); } - return removeAmount(def,amountToConsume,amountRequired); + return removeAmount(def, amountToConsume, amountRequired); } - default boolean removeAmount(IEMDefinition def, double amountToConsume, double amountRequired){ - T current=get(def); - if(current!=null){ - if(current.getAmount()>=amountRequired){ - double newAmount=sub(current.getAmount(),amountToConsume); - if(IEMStack.isValidAmount(newAmount)){ - current=(T)current.mutateAmount(newAmount); + default boolean removeAmount(IEMDefinition def, double amountToConsume, double amountRequired) { + T current = get(def); + if (current != null) { + if (current.getAmount() >= amountRequired) { + double newAmount = sub(current.getAmount(), amountToConsume); + if (IEMStack.isValidAmount(newAmount)) { + current = (T) current.mutateAmount(newAmount); putReplace(current); - }else { + } else { removeKey(current.getDefinition()); } return true; @@ -44,7 +43,7 @@ public interface IEMMapWrite extends IEMMapWriteExact { } default boolean removeAmount(IEMStack stack) { - return removeAmount(stack.getDefinition(),stack.getAmount()); + return removeAmount(stack.getDefinition(), stack.getAmount()); } default boolean removeAllAmounts(IEMStack... stacks) { @@ -62,7 +61,7 @@ public interface IEMMapWrite extends IEMMapWriteExact { } default boolean removeAllAmounts(IEMMapRead map) { - boolean test=true; + boolean test = true; for (Map.Entry entry : map.entrySet()) { test &= containsAmount(entry.getValue()); } @@ -75,24 +74,24 @@ public interface IEMMapWrite extends IEMMapWriteExact { return true; } - //Put unify + // Put unify /** * * @param stack thing to put * @return new mapping or null if merging actually removed stuff */ default T putUnify(T stack) { - T target=get(stack.getDefinition()); - if(target==null) { + T target = get(stack.getDefinition()); + if (target == null) { putReplace(stack); return stack; } double newAmount = add(target.getAmount(), stack.getAmount()); if (IEMStack.isValidAmount(newAmount)) { - stack=(T) target.mutateAmount(newAmount); + stack = (T) target.mutateAmount(newAmount); putReplace(stack); return stack; - }else { + } else { removeKey(stack.getDefinition()); return null; } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapWriteExact.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapWriteExact.java index ef1bc5a4f6..2e12df401f 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapWriteExact.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapWriteExact.java @@ -2,11 +2,10 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.maps; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; - import java.util.Map; public interface IEMMapWriteExact extends IEMMapRead { - default void cleanUp(){ + default void cleanUp() { entrySet().removeIf(entry -> entry.getValue().isInvalidAmount()); } @@ -16,30 +15,30 @@ public interface IEMMapWriteExact extends IEMMapRead { IEMMapWriteExact clone(); - //Remove + // Remove default T removeKey(IEMDefinition def) { return getBackingMap().remove(def); } default boolean removeKeys(IEMDefinition... definitions) { - boolean hadAll=true; + boolean hadAll = true; for (IEMDefinition def : definitions) { - hadAll&=removeKey(def)!=null; + hadAll &= removeKey(def) != null; } return hadAll; } default boolean removeKeys(IEMStack... hasElementalDefinition) { - boolean hadAll=true; + boolean hadAll = true; for (IEMStack has : hasElementalDefinition) { - hadAll&=removeKey(has.getDefinition())!=null; + hadAll &= removeKey(has.getDefinition()) != null; } return hadAll; } default boolean removeAllKeys(IEMDefinition... definitions) { - boolean hadAll=containsAllKeys(definitions); - if(hadAll){ + boolean hadAll = containsAllKeys(definitions); + if (hadAll) { for (IEMDefinition def : definitions) { removeKey(def); } @@ -48,8 +47,8 @@ public interface IEMMapWriteExact extends IEMMapRead { } default boolean removeAllKeys(IEMStack... hasElementalDefinition) { - boolean hadAll=containsAllKeys(hasElementalDefinition); - if(hadAll){ + boolean hadAll = containsAllKeys(hasElementalDefinition); + if (hadAll) { for (IEMStack stack : hasElementalDefinition) { removeKey(stack.getDefinition()); } @@ -76,8 +75,8 @@ public interface IEMMapWriteExact extends IEMMapRead { * @param def * @return */ - default boolean removeAmountExact(IEMStack def){ - return removeAmountExact(def.getDefinition(),def.getAmount()); + default boolean removeAmountExact(IEMStack def) { + return removeAmountExact(def.getDefinition(), def.getAmount()); } /** @@ -86,13 +85,13 @@ public interface IEMMapWriteExact extends IEMMapRead { * @param amountToConsume * @return */ - default boolean removeAmountExact(IEMDefinition def, double amountToConsume){ - T current=get(def); - if(current!=null){ - double newAmount=current.getAmount()-amountToConsume; - if(newAmount>=0){ - if(current.isValidAmount()){ - current=(T)current.mutateAmount(newAmount); + default boolean removeAmountExact(IEMDefinition def, double amountToConsume) { + T current = get(def); + if (current != null) { + double newAmount = current.getAmount() - amountToConsume; + if (newAmount >= 0) { + if (current.isValidAmount()) { + current = (T) current.mutateAmount(newAmount); putReplace(current); } else { removeKey(current.getDefinition()); @@ -118,7 +117,7 @@ public interface IEMMapWriteExact extends IEMMapRead { } default boolean removeAllAmountsExact(IEMMapRead map) { - boolean test=true; + boolean test = true; for (Map.Entry entry : map.entrySet()) { test &= containsAmountExact(entry.getValue()); } @@ -132,17 +131,17 @@ public interface IEMMapWriteExact extends IEMMapRead { } default T putUnifyExact(T stack) { - T target=get(stack.getDefinition()); - if(target==null) { + T target = get(stack.getDefinition()); + if (target == null) { putReplace(stack); return stack; } - double newAmount = target.getAmount()+stack.getAmount(); + double newAmount = target.getAmount() + stack.getAmount(); if (IEMStack.isValidAmount(newAmount)) { - stack=(T) target.mutateAmount(newAmount); + stack = (T) target.mutateAmount(newAmount); putReplace(stack); return stack; - }else { + } else { removeKey(stack.getDefinition()); return null; } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipe.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipe.java index 4b0792eac9..d756c3f72f 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipe.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipe.java @@ -10,15 +10,15 @@ import net.minecraftforge.fluids.FluidStack; * Created by Tec on 02.03.2017. */ public class EMRecipe implements Comparable> { - private final int ID; - private final EMConstantStackMap inEM; + private final int ID; + private final EMConstantStackMap inEM; private final IEMMapRead outEM; - private final ItemStack[] outItems; + private final ItemStack[] outItems; private final FluidStack[] outFluids; - private T extension; + private T extension; public EMRecipe( - EMConstantStackMap inEM,//not null plz + EMConstantStackMap inEM, // not null plz int id, IEMMapRead outEM, ItemStack[] outItems, @@ -27,7 +27,7 @@ public class EMRecipe implements Comparable> { this.outEM = outEM; this.outItems = outItems; this.outFluids = outFluids; - ID = id;//allows multiple recipes with the same input EM,so u can actually extend... + ID = id; // allows multiple recipes with the same input EM,so u can actually extend... } public EMRecipe extend(T data) { @@ -38,7 +38,7 @@ public class EMRecipe implements Comparable> { @Override public int compareTo(EMRecipe o) { int compare = getInEM().compareTo(o.getInEM()); - if(compare!=0) { + if (compare != 0) { return compare; } return Integer.compare(getID(), o.getID()); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipeMap.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipeMap.java index 95a4aaf595..c3a4b298ff 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipeMap.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipeMap.java @@ -4,15 +4,14 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMConstant import com.github.technus.tectech.mechanics.elementalMatter.core.maps.IEMMapRead; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; - import java.util.HashMap; import java.util.Map; /** * Created by Tec on 02.03.2017. */ -public class EMRecipeMap {//TODO FIX - //Multimap for multiple recipes from the same thing - you know parameters might differ the output +public class EMRecipeMap { // TODO FIX + // Multimap for multiple recipes from the same thing - you know parameters might differ the output private final Map>> recipes; public EMRecipeMap() { @@ -21,8 +20,11 @@ public class EMRecipeMap {//TODO FIX public EMRecipe put(EMRecipe in) { Map> r = getRecipes().computeIfAbsent(in.getInEM(), k -> new HashMap<>()); - return r.put(in.getID(), in);//IF THIS RETURN SHIT, it means that inputs are using the exact same types of matter as input - (non amount wise collision) - //It is either bad, or unimportant if you use different id's + return r.put( + in.getID(), + in); // IF THIS RETURN SHIT, it means that inputs are using the exact same types of matter as input - + // (non amount wise collision) + // It is either bad, or unimportant if you use different id's } public void putAll(EMRecipe... contents) { @@ -33,24 +35,29 @@ public class EMRecipeMap {//TODO FIX public EMRecipe remove(IEMMapRead map, int id) { Map> recipesMap = getRecipes().get(map); - return recipesMap != null ? recipesMap.remove(id) : null;//todo check, suspicious but ok, equals and hashcode methods are adjusted for that + return recipesMap != null + ? recipesMap.remove(id) + : null; // todo check, suspicious but ok, equals and hashcode methods are adjusted for that } public Map> remove(IEMMapRead map) { - return getRecipes().remove(map);//todo check, suspicious but ok, equals and hashcode methods are adjusted for that + return getRecipes() + .remove(map); // todo check, suspicious but ok, equals and hashcode methods are adjusted for that } - //Recipe founding should not check amounts - this checks if the types of matter in map are equal to any recipe! - //Return a recipeShortMap when the content of input is equal (ignoring amounts and instance data) + // Recipe founding should not check amounts - this checks if the types of matter in map are equal to any recipe! + // Return a recipeShortMap when the content of input is equal (ignoring amounts and instance data) @Deprecated public Map> findExact(IEMMapRead in) { - return getRecipes().get(in);//suspicious but ok, equals and hashcode methods are adjusted for that + return getRecipes().get(in); // suspicious but ok, equals and hashcode methods are adjusted for that } - //this does check if the map contains all the requirements for any recipe, and the required amounts - //Return a recipeShortMap when the content of input matches the recipe input - does not ignore amounts but ignores instance data! + // this does check if the map contains all the requirements for any recipe, and the required amounts + // Return a recipeShortMap when the content of input matches the recipe input - does not ignore amounts but ignores + // instance data! public Map> findMatch(IEMMapRead in) { - for (Map.Entry>> cElementalDefinitionStackMapHashMapEntry : getRecipes().entrySet()) { + for (Map.Entry>> cElementalDefinitionStackMapHashMapEntry : + getRecipes().entrySet()) { if (in.containsAllAmounts(cElementalDefinitionStackMapHashMapEntry.getKey())) { return cElementalDefinitionStackMapHashMapEntry.getValue(); } @@ -62,5 +69,5 @@ public class EMRecipeMap {//TODO FIX return recipes; } - //To check for instance data and other things use recipe extensions! + // To check for instance data and other things use recipe extensions! } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMDefinitionStack.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMDefinitionStack.java index 2abee4c36e..2757b6f23d 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMDefinitionStack.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMDefinitionStack.java @@ -1,17 +1,17 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.stacks; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.null__; + import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import net.minecraft.nbt.NBTTagCompound; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.null__; - /** * Created by danie_000 on 20.11.2016. */ public final class EMDefinitionStack implements IEMStack { private final IEMDefinition definition; - private final double amount; + private final double amount; public EMDefinitionStack(IEMDefinition def, double amount) { definition = def == null ? null__ : def; @@ -20,20 +20,20 @@ public final class EMDefinitionStack implements IEMStack { @Override public EMDefinitionStack clone() { - return this;//IMMUTABLE + return this; // IMMUTABLE } @Override public EMDefinitionStack mutateAmount(double newAmount) { - if(getAmount() == newAmount){ + if (getAmount() == newAmount) { return this; } - return new EMDefinitionStack(getDefinition(), newAmount);//IMMUTABLE + return new EMDefinitionStack(getDefinition(), newAmount); // IMMUTABLE } @Override public IEMDefinition getDefinition() { - return definition;//IMMUTABLE + return definition; // IMMUTABLE } @Override @@ -48,10 +48,8 @@ public final class EMDefinitionStack implements IEMStack { return nbt; } - public static EMDefinitionStack fromNBT(EMDefinitionsRegistry registry,NBTTagCompound nbt) { - return new EMDefinitionStack( - registry.fromNBT(nbt.getCompoundTag("d")), - nbt.getLong("q")+nbt.getDouble("Q")); + public static EMDefinitionStack fromNBT(EMDefinitionsRegistry registry, NBTTagCompound nbt) { + return new EMDefinitionStack(registry.fromNBT(nbt.getCompoundTag("d")), nbt.getLong("q") + nbt.getDouble("Q")); } @Override @@ -65,7 +63,7 @@ public final class EMDefinitionStack implements IEMStack { return false; } - //Amount shouldn't be hashed if this is just indicating amount and not structure + // Amount shouldn't be hashed if this is just indicating amount and not structure @Override public int hashCode() { return getDefinition().hashCode(); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMInstanceStack.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMInstanceStack.java index 0dbd56609e..09cfd180fe 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMInstanceStack.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMInstanceStack.java @@ -1,5 +1,15 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.stacks; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.AVOGADRO_CONSTANT; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.null__; +import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_scanner.*; +import static com.github.technus.tectech.util.DoubleCount.*; +import static java.lang.Math.max; +import static java.lang.Math.min; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecayResult; @@ -8,37 +18,26 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.reg import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMConstantStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.util.TT_Utility; +import java.util.ArrayList; import net.minecraft.client.Minecraft; import net.minecraft.crash.CrashReport; import net.minecraft.nbt.NBTTagCompound; -import java.util.ArrayList; - -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.AVOGADRO_CONSTANT; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.null__; -import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_scanner.*; -import static com.github.technus.tectech.util.DoubleCount.*; -import static java.lang.Math.max; -import static java.lang.Math.min; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 22.10.2016. */ public final class EMInstanceStack implements IEMStack { public static int MIN_MULTIPLE_DECAY_CALLS = 4, MAX_MULTIPLE_DECAY_CALLS = 16; - public static double DECAY_CALL_PER = EM_COUNT_PER_MATERIAL_AMOUNT;//todo + public static double DECAY_CALL_PER = EM_COUNT_PER_MATERIAL_AMOUNT; // todo private final IEMDefinition definition; - private double amount; + private double amount; private double age; - //energy - if positive then particle should try to decay - private long energy; - //byte color; 0=Red 1=Green 2=Blue 0=Cyan 1=Magenta 2=Yellow, else ignored (-1 - uncolorable) - private int color; + // energy - if positive then particle should try to decay + private long energy; + // byte color; 0=Red 1=Green 2=Blue 0=Cyan 1=Magenta 2=Yellow, else ignored (-1 - uncolorable) + private int color; private double lifeTime; private double lifeTimeMult; @@ -58,7 +57,7 @@ public final class EMInstanceStack implements IEMStack { definition = defSafe == null ? null__ : defSafe; if (getDefinition().hasColor()) { this.color = (byte) TecTech.RANDOM.nextInt(getDefinition().getMaxColors()); - } else {//transforms colorable??? into proper color + } else { // transforms colorable??? into proper color this.color = getDefinition().getMaxColors(); } this.lifeTimeMult = lifeTimeMult; @@ -68,7 +67,7 @@ public final class EMInstanceStack implements IEMStack { this.setAmount(amount); } - //Clone proxy + // Clone proxy private EMInstanceStack(EMInstanceStack stack) { definition = stack.getDefinition(); color = stack.color; @@ -125,14 +124,14 @@ public final class EMInstanceStack implements IEMStack { return color; } - public void setColor(int color) {//does not allow changing magic element + public void setColor(int color) { // does not allow changing magic element if (this.color < 0 || this.color > 2 || color < 0 || color >= 3) { return; } this.color = color; } - public void nextColor() {//does not allow changing magic element + public void nextColor() { // does not allow changing magic element if (definition.hasColor()) { color = (byte) TecTech.RANDOM.nextInt(definition.getMaxColors()); } @@ -143,7 +142,7 @@ public final class EMInstanceStack implements IEMStack { } public void setLifeTimeMultiplier(double mult) { - if (mult <= 0) //since infinity*0=nan + if (mult <= 0) // since infinity*0=nan { throw new IllegalArgumentException("multiplier must be >0"); } @@ -176,7 +175,7 @@ public final class EMInstanceStack implements IEMStack { } public EMDecayResult decay() { - return decay(1D, getAge(), 0);//try to decay without changes + return decay(1D, getAge(), 0); // try to decay without changes } public EMDecayResult decay(double apparentAge, long postEnergize) { @@ -193,7 +192,8 @@ public final class EMInstanceStack implements IEMStack { EMDecayResult output; if (getDefinition().usesMultipleDecayCalls(energy)) { double amountTemp = getAmount(); - int decayCnt = (int) min(MAX_MULTIPLE_DECAY_CALLS, max(getAmount() / DECAY_CALL_PER, MIN_MULTIPLE_DECAY_CALLS)); + int decayCnt = + (int) min(MAX_MULTIPLE_DECAY_CALLS, max(getAmount() / DECAY_CALL_PER, MIN_MULTIPLE_DECAY_CALLS)); setAmount(div(getAmount(), decayCnt)); decayCnt--; @@ -226,24 +226,43 @@ public final class EMInstanceStack implements IEMStack { setLifeTimeMultiplier(getLifeTimeMultiplier()); return decayCompute(getDefinition().getEnergyInducedDecay(energy), lifeTimeMult, -1D, newEnergyLevel); } else if (getDefinition().getRawTimeSpan(energy) < 0) { - return null;//return null, decay cannot be achieved + return null; // return null, decay cannot be achieved } else if (getDefinition().isTimeSpanHalfLife()) { - return exponentialDecayCompute(energy > 0 ? getDefinition().getEnergyInducedDecay(energy) : getDefinition().getDecayArray(), lifeTimeMult, -1D, newEnergyLevel); + return exponentialDecayCompute( + energy > 0 + ? getDefinition().getEnergyInducedDecay(energy) + : getDefinition().getDecayArray(), + lifeTimeMult, + -1D, + newEnergyLevel); } else { if (1 > lifeTime) { - return decayCompute(energy > 0 ? getDefinition().getEnergyInducedDecay(energy) : getDefinition().getNaturalDecayInstant(), lifeTimeMult, 0D, newEnergyLevel); + return decayCompute( + energy > 0 + ? getDefinition().getEnergyInducedDecay(energy) + : getDefinition().getNaturalDecayInstant(), + lifeTimeMult, + 0D, + newEnergyLevel); } else if (apparentAge > lifeTime) { - return decayCompute(energy > 0 ? getDefinition().getEnergyInducedDecay(energy) : getDefinition().getDecayArray(), lifeTimeMult, 0D, newEnergyLevel); + return decayCompute( + energy > 0 + ? getDefinition().getEnergyInducedDecay(energy) + : getDefinition().getDecayArray(), + lifeTimeMult, + 0D, + newEnergyLevel); } } - return null;//return null since decay cannot be achieved + return null; // return null since decay cannot be achieved } - //Use to get direct decay output providing correct decay array - private EMDecayResult exponentialDecayCompute(EMDecay[] decays, double lifeTimeMult, double newProductsAge, long newEnergyLevel) { - double newAmount = div(getAmount(), Math.pow(2D, 1D/* 1 second */ / lifeTime)); + // Use to get direct decay output providing correct decay array + private EMDecayResult exponentialDecayCompute( + EMDecay[] decays, double lifeTimeMult, double newProductsAge, long newEnergyLevel) { + double newAmount = div(getAmount(), Math.pow(2D, 1D /* 1 second */ / lifeTime)); - //if(definition.getSymbol().startsWith("U ")) { + // if(definition.getSymbol().startsWith("U ")) { // System.out.println("newAmount = " + newAmount); // System.out.println("amountRemaining = " + amountRemaining); // for(cElementalDecay decay:decays){ @@ -252,14 +271,14 @@ public final class EMInstanceStack implements IEMStack { // System.out.println("stack = " + stack.getDefinition().getSymbol() + " " + stack.amount); // } // } - //} + // } if (newAmount == getAmount()) { newAmount -= ulpSigned(newAmount); } else if (newAmount < 1) { return decayCompute(decays, lifeTimeMult, newProductsAge, newEnergyLevel); } - //split to non decaying and decaying part + // split to non decaying and decaying part double amount = this.getAmount(); this.setAmount(this.getAmount() - newAmount); EMDecayResult products = decayCompute(decays, lifeTimeMult, newProductsAge, newEnergyLevel); @@ -271,19 +290,25 @@ public final class EMInstanceStack implements IEMStack { return products; } - //Use to get direct decay output providing correct decay array - private EMDecayResult decayCompute(EMDecay[] decays, double lifeTimeMult, double newProductsAge, long newEnergyLevel) { + // Use to get direct decay output providing correct decay array + private EMDecayResult decayCompute( + EMDecay[] decays, double lifeTimeMult, double newProductsAge, long newEnergyLevel) { if (decays == null) { - return null;//Can not decay so it won't + return null; // Can not decay so it won't } boolean makesEnergy = getDefinition().decayMakesEnergy(energy); - double mass = getMass(); + double mass = getMass(); if (decays.length == 0) { return makesEnergy ? null : new EMDecayResult(new EMInstanceStackMap(), mass, 0); - //provide non null 0 length array for annihilation - } else if (decays.length == 1) {//only one type of decay :D, doesn't need dead end + // provide non null 0 length array for annihilation + } else if (decays.length == 1) { // only one type of decay :D, doesn't need dead end if (decays[0] == deadEnd) { - return makesEnergy ? null : new EMDecayResult(decays[0].getResults(lifeTimeMult, newProductsAge, newEnergyLevel, getAmount()), mass, 0); + return makesEnergy + ? null + : new EMDecayResult( + decays[0].getResults(lifeTimeMult, newProductsAge, newEnergyLevel, getAmount()), + mass, + 0); } EMInstanceStackMap output = decays[0].getResults(lifeTimeMult, newProductsAge, newEnergyLevel, getAmount()); if (newProductsAge < 0) { @@ -305,14 +330,14 @@ public final class EMInstanceStack implements IEMStack { } } if (energy <= 0 && output.getMass() > mass) { - return null;//no energy usage to decay + return null; // no energy usage to decay } return new EMDecayResult(new EMInstanceStackMap(), mass, makesEnergy ? output.getMass() - mass : 0); } else { - EMDecayResult totalOutput = new EMDecayResult(new EMInstanceStackMap(), getMass(), 0); - EMInstanceStackMap output = totalOutput.getOutput(), results; - int differentDecays = decays.length; - double[] probabilities = new double[differentDecays]; + EMDecayResult totalOutput = new EMDecayResult(new EMInstanceStackMap(), getMass(), 0); + EMInstanceStackMap output = totalOutput.getOutput(), results; + int differentDecays = decays.length; + double[] probabilities = new double[differentDecays]; for (int i = 0; i < probabilities.length; i++) { probabilities[i] = decays[i].getProbability(); } @@ -323,10 +348,10 @@ public final class EMInstanceStack implements IEMStack { Minecraft.getMinecraft().crashed(new CrashReport("Decay failed for: " + this, e)); return null; } - //long amountRemaining = this.amount, amount = this.amount; - //float remainingProbability = 1D; -// - //for (int i = 0; i < differentDecays; i++) { + // long amountRemaining = this.amount, amount = this.amount; + // float remainingProbability = 1D; + // + // for (int i = 0; i < differentDecays; i++) { // if (decays[i].probability >= 1D) { // long thisDecayAmount = (long) Math.floor(remainingProbability * (double) amount); // if (thisDecayAmount > 0) { @@ -355,9 +380,9 @@ public final class EMInstanceStack implements IEMStack { // if(remainingProbability<=0) { // break; // } - //} + // } - //for (int i = 0; i < amountRemaining; i++) { + // for (int i = 0; i < amountRemaining; i++) { // double rand = TecTech.RANDOM.nextDouble(); // for (int j = 0; j < differentDecays; j++) {//looking for the thing it decayed into // rand -= decays[j].probability; @@ -366,7 +391,7 @@ public final class EMInstanceStack implements IEMStack { // break; // } // } - //} + // } if (getDefinition().decayMakesEnergy(energy)) { for (int i = differentDecays - 1; i >= 0; i--) { @@ -405,7 +430,7 @@ public final class EMInstanceStack implements IEMStack { } } if (energy <= 0 && output.getMass() > getMass()) { - return null;//no energy usage to decay + return null; // no energy usage to decay } return totalOutput; } @@ -415,20 +440,20 @@ public final class EMInstanceStack implements IEMStack { if (instances == null) { return this; } - //returns with the definition from the first object passed + // returns with the definition from the first object passed double energyTotal = getEnergySettingCost(0, energy); - long maxEnergy = energy; - long minEnergy = energy; + long maxEnergy = energy; + long minEnergy = energy; for (EMInstanceStack instance : instances) { - //if (instance != null && compareTo(instance) == 0) { + // if (instance != null && compareTo(instance) == 0) { setAmount(add(getAmount(), instance.getAmount())); energyTotal += instance.getEnergySettingCost(0, instance.energy); maxEnergy = max(instance.energy, maxEnergy); minEnergy = min(instance.energy, maxEnergy); lifeTimeMult = min(lifeTimeMult, instance.lifeTimeMult); setAge(max(getAge(), instance.getAge())); - //} + // } } if (energyTotal >= 0) { @@ -453,20 +478,20 @@ public final class EMInstanceStack implements IEMStack { if (instances == null) { return this; } - //returns with the definition from the first object passed + // returns with the definition from the first object passed double energyTotal = getEnergySettingCost(0, energy); - long maxEnergy = energy; - long minEnergy = energy; + long maxEnergy = energy; + long minEnergy = energy; for (EMInstanceStack instance : instances) { - //if (instance != null && compareTo(instance) == 0) { + // if (instance != null && compareTo(instance) == 0) { setAmount(getAmount() + instance.getAmount()); energyTotal += instance.getEnergySettingCost(0, instance.energy); maxEnergy = max(instance.energy, maxEnergy); minEnergy = min(instance.energy, maxEnergy); lifeTimeMult = min(lifeTimeMult, instance.lifeTimeMult); setAge(max(getAge(), instance.getAge())); - //} + // } } if (energyTotal >= 0) { @@ -498,35 +523,40 @@ public final class EMInstanceStack implements IEMStack { lines.add(translateToLocal("tt.keyword.scan.life_mult") + " = " + lifeTimeMult); } if (TT_Utility.areBitsSet(SCAN_GET_AGE, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.age") + " = " + getAge() + " " + translateToLocal("tt.keyword.unit.time")); + lines.add(translateToLocal("tt.keyword.scan.age") + " = " + getAge() + " " + + translateToLocal("tt.keyword.unit.time")); } if (TT_Utility.areBitsSet(SCAN_GET_COLOR_VALUE, capabilities)) { lines.add(translateToLocal("tt.keyword.scan.color") + " = " + color); } if (TT_Utility.areBitsSet(SCAN_GET_ENERGY, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.energy") + " = " + getDefinition().getEnergyDiffBetweenStates(0, energy) + " " + translateToLocal("tt.keyword.unit.energy")); + lines.add(translateToLocal("tt.keyword.scan.energy") + " = " + + getDefinition().getEnergyDiffBetweenStates(0, energy) + " " + + translateToLocal("tt.keyword.unit.energy")); } if (TT_Utility.areBitsSet(SCAN_GET_ENERGY_LEVEL, capabilities)) { lines.add(translateToLocal("tt.keyword.scan.energyLevel") + " = " + energy); } if (TT_Utility.areBitsSet(SCAN_GET_AMOUNT, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.amount") + " = " + getAmount() / AVOGADRO_CONSTANT + " " + translateToLocal("tt.keyword.unit.mol")); + lines.add(translateToLocal("tt.keyword.scan.amount") + " = " + getAmount() / AVOGADRO_CONSTANT + " " + + translateToLocal("tt.keyword.unit.mol")); } scanContents(lines, getDefinition().getSubParticles(), 1, detailsOnDepthLevels); } - private void scanContents(ArrayList lines, EMConstantStackMap definitions, int depth, int[] detailsOnDepthLevels) { + private void scanContents( + ArrayList lines, EMConstantStackMap definitions, int depth, int[] detailsOnDepthLevels) { if (definitions != null && depth < detailsOnDepthLevels.length) { int deeper = depth + 1; for (EMDefinitionStack definitionStack : definitions.valuesToArray()) { - lines.add("");//def separator + lines.add(""); // def separator if (TT_Utility.areBitsSet(SCAN_GET_DEPTH_LEVEL, detailsOnDepthLevels[depth])) { - lines.add(translateToLocal("tt.keyword.scan.depth") +" = " + depth); + lines.add(translateToLocal("tt.keyword.scan.depth") + " = " + depth); } getDefinition().addScanResults(lines, detailsOnDepthLevels[depth], energy, TecTech.definitionsRegistry); if (TT_Utility.areBitsSet(SCAN_GET_AMOUNT, detailsOnDepthLevels[depth])) { - lines.add(translateToLocal("tt.keyword.scan.count")+" = " + definitionStack.getAmount()); + lines.add(translateToLocal("tt.keyword.scan.count") + " = " + definitionStack.getAmount()); } scanContents(lines, definitionStack.getDefinition().getSubParticles(), deeper, detailsOnDepthLevels); } @@ -566,7 +596,8 @@ public final class EMInstanceStack implements IEMStack { return false; } - //Amount shouldn't be hashed if this is just indicating amount and not structure, DOES NOT CARE ABOUT creativeTabTecTech INFO + // Amount shouldn't be hashed if this is just indicating amount and not structure, DOES NOT CARE ABOUT + // creativeTabTecTech INFO @Override public int hashCode() { return getDefinition().hashCode(); @@ -574,7 +605,9 @@ public final class EMInstanceStack implements IEMStack { @Override public String toString() { - return getDefinition().toString() + ' ' + getAmount() / AVOGADRO_CONSTANT + " " + translateToLocal("tt.keyword.unit.mol") + " " + getMass() + " "+translateToLocal("tt.keyword.unit.mass"); + return getDefinition().toString() + ' ' + getAmount() / AVOGADRO_CONSTANT + " " + + translateToLocal("tt.keyword.unit.mol") + " " + getMass() + " " + + translateToLocal("tt.keyword.unit.mass"); } public void setAmount(double amount) { diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/IEMStack.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/IEMStack.java index e5cfab9752..b3b439408d 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/IEMStack.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/IEMStack.java @@ -1,11 +1,11 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.stacks; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_MINIMUM; + import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import net.minecraft.nbt.NBTTagCompound; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_MINIMUM; - /** * Created by danie_000 on 30.01.2017. */ @@ -17,6 +17,7 @@ public interface IEMStack extends Comparable, Cloneable { static boolean isInvalidAmount(double amount) { return amount < EM_COUNT_MINIMUM; } + default boolean isValidAmount() { return isValidAmount(getAmount()); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMDequantizationInfo.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMDequantizationInfo.java index 855be96797..cbc9f9801d 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMDequantizationInfo.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMDequantizationInfo.java @@ -6,7 +6,7 @@ import net.minecraftforge.fluids.FluidStack; public class EMDequantizationInfo { private final IEMStack definition; - private Object stack; + private Object stack; public EMDequantizationInfo(IEMStack definition) { this.definition = definition; diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMFluidQuantizationInfo.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMFluidQuantizationInfo.java index cf0cc6218c..3dabb8334a 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMFluidQuantizationInfo.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMFluidQuantizationInfo.java @@ -9,16 +9,16 @@ import net.minecraftforge.fluids.FluidStack; */ public class EMFluidQuantizationInfo { private final FluidStack in; - private final IEMStack out; + private final IEMStack out; - public EMFluidQuantizationInfo(FluidStack fluidStackIn, IEMStack emOut){ - in=fluidStackIn; - out=emOut; + public EMFluidQuantizationInfo(FluidStack fluidStackIn, IEMStack emOut) { + in = fluidStackIn; + out = emOut; } - public EMFluidQuantizationInfo(Fluid fluid, int fluidAmount, IEMStack emOut){ - in=new FluidStack(fluid,fluidAmount); - out=emOut; + public EMFluidQuantizationInfo(Fluid fluid, int fluidAmount, IEMStack emOut) { + in = new FluidStack(fluid, fluidAmount); + out = emOut; } public FluidStack input() { diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMItemQuantizationInfo.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMItemQuantizationInfo.java index c5db63b3ad..279a00af16 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMItemQuantizationInfo.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMItemQuantizationInfo.java @@ -13,8 +13,8 @@ import net.minecraftforge.oredict.OreDictionary; */ public class EMItemQuantizationInfo { private final ItemStack in; - private final boolean skipNBT; - private final IEMStack out; + private final boolean skipNBT; + private final IEMStack out; public EMItemQuantizationInfo(ItemStack itemStackIn, boolean skipNBT, IEMStack emOut) { in = itemStackIn; @@ -38,24 +38,27 @@ public class EMItemQuantizationInfo { @Override public int hashCode() { - return (GameRegistry.findUniqueIdentifierFor(in.getItem())+":"+in.getUnlocalizedName()+ ':' +in.getItemDamage()).hashCode(); + return (GameRegistry.findUniqueIdentifierFor(in.getItem()) + ":" + in.getUnlocalizedName() + ':' + + in.getItemDamage()) + .hashCode(); } @Override public boolean equals(Object obj) { - if(obj instanceof EMItemQuantizationInfo){ - //alias - ItemStack stack=((EMItemQuantizationInfo) obj).in; - if(!in.getUnlocalizedName().equals(((EMItemQuantizationInfo) obj).in.getUnlocalizedName())) { + if (obj instanceof EMItemQuantizationInfo) { + // alias + ItemStack stack = ((EMItemQuantizationInfo) obj).in; + if (!in.getUnlocalizedName().equals(((EMItemQuantizationInfo) obj).in.getUnlocalizedName())) { return false; } - if(!GameRegistry.findUniqueIdentifierFor(in.getItem()).equals( - GameRegistry.findUniqueIdentifierFor(((EMItemQuantizationInfo) obj).in.getItem()))) { + if (!GameRegistry.findUniqueIdentifierFor(in.getItem()) + .equals(GameRegistry.findUniqueIdentifierFor(((EMItemQuantizationInfo) obj).in.getItem()))) { return false; } - if(in.getItemDamage() != OreDictionary.WILDCARD_VALUE && stack.getItemDamage() != OreDictionary.WILDCARD_VALUE) { + if (in.getItemDamage() != OreDictionary.WILDCARD_VALUE + && stack.getItemDamage() != OreDictionary.WILDCARD_VALUE) { if (in.getItemDamage() != stack.getItemDamage()) { return false; } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMOredictQuantizationInfo.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMOredictQuantizationInfo.java index 3c54dd86ac..b8af4bafc1 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMOredictQuantizationInfo.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMOredictQuantizationInfo.java @@ -9,8 +9,8 @@ import net.minecraftforge.oredict.OreDictionary; * Created by Tec on 23.05.2017. */ public class EMOredictQuantizationInfo { - private final int id; - private final int amount; + private final int id; + private final int amount; private final IEMStack out; public EMOredictQuantizationInfo(int id, int amount, IEMStack out) { @@ -20,15 +20,15 @@ public class EMOredictQuantizationInfo { } public EMOredictQuantizationInfo(String name, int qty, IEMStack emOut) { - this(OreDictionary.getOreID(name),qty,emOut); + this(OreDictionary.getOreID(name), qty, emOut); } public EMOredictQuantizationInfo(OrePrefixes prefix, Materials material, int qty, IEMStack emOut) { - this(prefix, material.mName, qty,emOut); + this(prefix, material.mName, qty, emOut); } public EMOredictQuantizationInfo(OrePrefixes prefix, String materialName, int qty, IEMStack emOut) { - this(OreDictionary.getOreID(prefix.name() + materialName),qty,emOut); + this(OreDictionary.getOreID(prefix.name() + materialName), qty, emOut); } public IEMStack getOut() { diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMTransformationRegistry.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMTransformationRegistry.java index 5e41beb9fd..98f72ea53a 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMTransformationRegistry.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMTransformationRegistry.java @@ -1,21 +1,20 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.transformations; +import static java.lang.Math.pow; + import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_OreDictUnificator; +import java.util.HashMap; +import java.util.Map; +import java.util.function.Function; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; -import java.util.HashMap; -import java.util.Map; -import java.util.function.Function; - -import static java.lang.Math.pow; - /** * Created by Tec on 26.05.2017. */ @@ -23,14 +22,15 @@ public class EMTransformationRegistry { /** * Atom count per Mol */ - public static final double AVOGADRO_CONSTANT = 6.02214076e23D; + public static final double AVOGADRO_CONSTANT = 6.02214076e23D; /** * Scale to 1m^3 of C-12 */ - public static final double EM_COUNT_PER_CUBE = AVOGADRO_CONSTANT * 1650_000D / 0.012; + public static final double EM_COUNT_PER_CUBE = AVOGADRO_CONSTANT * 1650_000D / 0.012; + public static final double EM_COUNT_PER_MATERIAL_AMOUNT = EM_COUNT_PER_CUBE / 144 / 9; - public static final double EM_COUNT_PER_ITEM = EM_COUNT_PER_CUBE * 9; - public static final double EM_COUNT_PER_1k = EM_COUNT_PER_MATERIAL_AMOUNT * 1000; + public static final double EM_COUNT_PER_ITEM = EM_COUNT_PER_CUBE * 9; + public static final double EM_COUNT_PER_1k = EM_COUNT_PER_MATERIAL_AMOUNT * 1000; public static final double EM_COUNT_MINIMUM = 1 / EM_COUNT_PER_CUBE; /** @@ -38,14 +38,15 @@ public class EMTransformationRegistry { */ public static final double EM_COUNT_EPSILON = EM_COUNT_PER_CUBE / pow(2, 40); - public static final double EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT - EM_COUNT_EPSILON; - public static final double EM_COUNT_PER_CUBE_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * 144 * 9; - public static final double EM_COUNT_PER_ITEM_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * 144; - public static final double EM_COUNT_PER_1k_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * 1000; + public static final double EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED = + EM_COUNT_PER_MATERIAL_AMOUNT - EM_COUNT_EPSILON; + public static final double EM_COUNT_PER_CUBE_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * 144 * 9; + public static final double EM_COUNT_PER_ITEM_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * 144; + public static final double EM_COUNT_PER_1k_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * 1000; - private final Map fluidQuantization; + private final Map fluidQuantization; private final Map itemQuantization; - private final Map oredictQuantization; + private final Map oredictQuantization; private final Map infoMap; private final Function creator; @@ -55,17 +56,15 @@ public class EMTransformationRegistry { } public EMTransformationRegistry(Function creator) { - this(creator, - new HashMap<>(16), new HashMap<>(16), new HashMap<>(64), - new HashMap<>(256) - ); + this(creator, new HashMap<>(16), new HashMap<>(16), new HashMap<>(64), new HashMap<>(256)); } - public EMTransformationRegistry(Function creator, - Map fluidQuantization, - Map itemQuantization, - Map oredictQuantization, - Map infoMap) { + public EMTransformationRegistry( + Function creator, + Map fluidQuantization, + Map itemQuantization, + Map oredictQuantization, + Map infoMap) { this.creator = creator; this.fluidQuantization = fluidQuantization; this.itemQuantization = itemQuantization; diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMAtomDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMAtomDefinition.java index 03c57a754e..79e0d5167c 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMAtomDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMAtomDefinition.java @@ -1,5 +1,15 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.complex; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.boson_Y__; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; +import static com.github.technus.tectech.util.XSTR.XSTR_INSTANCE; +import static gregtech.api.enums.Materials.*; +import static gregtech.api.enums.OrePrefixes.dust; +import static java.lang.Math.abs; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; @@ -16,40 +26,170 @@ import com.github.technus.tectech.mechanics.elementalMatter.definitions.primitiv import com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMNeutrinoDefinition; import com.github.technus.tectech.util.TT_Utility; import com.github.technus.tectech.util.XSTR; - import java.util.*; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.boson_Y__; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; -import static com.github.technus.tectech.util.XSTR.XSTR_INSTANCE; -import static gregtech.api.enums.Materials.*; -import static gregtech.api.enums.OrePrefixes.dust; -import static java.lang.Math.abs; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 18.11.2016. */ public class EMAtomDefinition extends EMComplexTemplate { - private static final String[] SYMBOL = new String[]{"Nt", "H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne", "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", "Ca", "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y", "Zr", "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Nd", "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu", "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg", "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg", "Cn", "Nh", "Fl", "Mc", "Lv", "Ts", "Og"}; - private static final String[] NAME = new String[]{"Neutronium", "Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", "Nitrogen", "Oxygen", "Fluorine", "Neon", "Sodium", "Magnesium", "Aluminium", "Silicon", "Phosphorus", "Sulfur", "Chlorine", "Argon", "Potassium", "Calcium", "Scandium", "Titanium", "Vanadium", "Chromium", "Manganese", "Iron", "Cobalt", "Nickel", "Copper", "Zinc", "Gallium", "Germanium", "Arsenic", "Selenium", "Bromine", "Krypton", "Rubidium", "Strontium", "Yttrium", "Zirconium", "Niobium", "Molybdenum", "Technetium", "Ruthenium", "Rhodium", "Palladium", "Silver", "Cadmium", "Indium", "Tin", "Antimony", "Tellurium", "Iodine", "Xenon", "Caesium", "Barium", "Lanthanum", "Cerium", "Praseodymium", "Neodymium", "Promethium", "Samarium", "Europium", "Gadolinium", "Terbium", "Dysprosium", "Holmium", "Erbium", "Thulium", "Ytterbium", "Lutetium", "Hafnium", "Tantalum", "Tungsten", "Rhenium", "Osmium", "Iridium", "Platinum", "Gold", "Mercury", "Thallium", "Lead", "Bismuth", "Polonium", "Astatine", "Radon", "Francium", "Radium", "Actinium", "Thorium", "Protactinium", "Uranium", "Neptunium", "Plutonium", "Americium", "Curium", "Berkelium", "Californium", "Einsteinium", "Fermium", "Mendelevium", "Nobelium", "Lawrencium", "Rutherfordium", "Dubnium", "Seaborgium", "Bohrium", "Hassium", "Meitnerium", "Darmstadtium", "Roentgenium", "Copernicium", "Nihonium", "Flerovium", "Moscovium", "Livermorium", "Tennessine", "Oganesson"}; - private static final String[] SYMBOL_IUPAC = new String[]{"n", "u", "b", "t", "q", "p", "h", "s", "o", "e", "N", "U", "B", "T", "Q", "P", "H", "S", "O", "E"}; - - public static final long ATOM_COMPLEXITY_LIMIT = 65536L; - private static final byte BYTE_OFFSET = 32; - - private final int hash; + private static final String[] SYMBOL = new String[] { + "Nt", "H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne", "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", + "Ca", "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", + "Y", "Zr", "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", + "Ce", "Pr", "Nd", "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu", "Hf", "Ta", "W", "Re", "Os", + "Ir", "Pt", "Au", "Hg", "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", "Pa", "U", "Np", "Pu", "Am", + "Cm", "Bk", "Cf", "Es", "Fm", "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg", "Cn", "Nh", + "Fl", "Mc", "Lv", "Ts", "Og" + }; + private static final String[] NAME = new String[] { + "Neutronium", + "Hydrogen", + "Helium", + "Lithium", + "Beryllium", + "Boron", + "Carbon", + "Nitrogen", + "Oxygen", + "Fluorine", + "Neon", + "Sodium", + "Magnesium", + "Aluminium", + "Silicon", + "Phosphorus", + "Sulfur", + "Chlorine", + "Argon", + "Potassium", + "Calcium", + "Scandium", + "Titanium", + "Vanadium", + "Chromium", + "Manganese", + "Iron", + "Cobalt", + "Nickel", + "Copper", + "Zinc", + "Gallium", + "Germanium", + "Arsenic", + "Selenium", + "Bromine", + "Krypton", + "Rubidium", + "Strontium", + "Yttrium", + "Zirconium", + "Niobium", + "Molybdenum", + "Technetium", + "Ruthenium", + "Rhodium", + "Palladium", + "Silver", + "Cadmium", + "Indium", + "Tin", + "Antimony", + "Tellurium", + "Iodine", + "Xenon", + "Caesium", + "Barium", + "Lanthanum", + "Cerium", + "Praseodymium", + "Neodymium", + "Promethium", + "Samarium", + "Europium", + "Gadolinium", + "Terbium", + "Dysprosium", + "Holmium", + "Erbium", + "Thulium", + "Ytterbium", + "Lutetium", + "Hafnium", + "Tantalum", + "Tungsten", + "Rhenium", + "Osmium", + "Iridium", + "Platinum", + "Gold", + "Mercury", + "Thallium", + "Lead", + "Bismuth", + "Polonium", + "Astatine", + "Radon", + "Francium", + "Radium", + "Actinium", + "Thorium", + "Protactinium", + "Uranium", + "Neptunium", + "Plutonium", + "Americium", + "Curium", + "Berkelium", + "Californium", + "Einsteinium", + "Fermium", + "Mendelevium", + "Nobelium", + "Lawrencium", + "Rutherfordium", + "Dubnium", + "Seaborgium", + "Bohrium", + "Hassium", + "Meitnerium", + "Darmstadtium", + "Roentgenium", + "Copernicium", + "Nihonium", + "Flerovium", + "Moscovium", + "Livermorium", + "Tennessine", + "Oganesson" + }; + private static final String[] SYMBOL_IUPAC = new String[] { + "n", "u", "b", "t", "q", "p", "h", "s", "o", "e", "N", "U", "B", "T", "Q", "P", "H", "S", "O", "E" + }; + + public static final long ATOM_COMPLEXITY_LIMIT = 65536L; + private static final byte BYTE_OFFSET = 32; + + private final int hash; public static double refMass, refUnstableMass; - private static final String nbtType = "a"; - private static final Random xstr = new XSTR();//NEEDS SEPARATE! - private static Map> stableIsotopes = new HashMap<>(); - private static final Map stableAtoms = new HashMap<>(); - private static Map> mostStableUnstableIsotopes = new HashMap<>(); - private static final Map unstableAtoms = new HashMap<>(); - private static EMDefinitionStack alpha, deuterium, tritium, helium_3, beryllium_8, carbon_14, neon_24, silicon_34, uranium_238, uranium_235, plutonium_239, plutonium_241; + private static final String nbtType = "a"; + private static final Random xstr = new XSTR(); // NEEDS SEPARATE! + private static Map> stableIsotopes = new HashMap<>(); + private static final Map stableAtoms = new HashMap<>(); + private static Map> mostStableUnstableIsotopes = new HashMap<>(); + private static final Map unstableAtoms = new HashMap<>(); + private static EMDefinitionStack alpha, + deuterium, + tritium, + helium_3, + beryllium_8, + carbon_14, + neon_24, + silicon_34, + uranium_238, + uranium_235, + plutonium_239, + plutonium_241; private static final HashMap lifetimeOverrides = new HashMap<>(); private final EMNuclideIAEA iaea; @@ -66,18 +206,18 @@ public class EMAtomDefinition extends EMComplexTemplate { lifetimeOverrides.put(atom, rawLifeTime); } - //float-mass in eV/c^2 + // float-mass in eV/c^2 private final double mass; - //public final int charge; - private final int charge; - //int -electric charge in 1/3rds of electron charge for optimization - private final int chargeLeptons; + // public final int charge; + private final int charge; + // int -electric charge in 1/3rds of electron charge for optimization + private final int chargeLeptons; private final double rawLifeTime; - //generation max present inside - minus if contains any anti quark - private final byte type; + // generation max present inside - minus if contains any anti quark + private final byte type; - private final byte decayMode;//t neutron to proton+,0,f proton to neutron - //public final boolean stable; + private final byte decayMode; // t neutron to proton+,0,f proton to neutron + // public final boolean stable; private final int neutralCount; private final int element; @@ -86,7 +226,7 @@ public class EMAtomDefinition extends EMComplexTemplate { private final EMConstantStackMap elementalStacks; - //stable is rawLifeTime>=10^9 + // stable is rawLifeTime>=10^9 public EMAtomDefinition(EMDefinitionStack... things) throws EMException { this(true, new EMConstantStackMap(things)); @@ -106,15 +246,15 @@ public class EMAtomDefinition extends EMComplexTemplate { } elementalStacks = things; - double mass = 0; - int cLeptons = 0; - int cNucleus = 0; - int neutralCount = 0, element = 0; - int type = 0; + double mass = 0; + int cLeptons = 0; + int cNucleus = 0; + int neutralCount = 0, element = 0; + int type = 0; boolean containsAnti = false; for (EMDefinitionStack stack : elementalStacks.valuesToArray()) { - IEMDefinition def = stack.getDefinition(); - int amount = (int) stack.getAmount(); + IEMDefinition def = stack.getDefinition(); + int amount = (int) stack.getAmount(); if ((int) stack.getAmount() != stack.getAmount()) { throw new ArithmeticException("Amount cannot be safely converted to int!"); } @@ -138,7 +278,7 @@ public class EMAtomDefinition extends EMComplexTemplate { } } this.type = containsAnti ? (byte) -type : (byte) type; - //this.mass = mass; + // this.mass = mass; chargeLeptons = cLeptons; charge = cNucleus + cLeptons; this.neutralCount = neutralCount; @@ -146,10 +286,10 @@ public class EMAtomDefinition extends EMComplexTemplate { element = abs(element); - //stability curve + // stability curve int StableIsotope = stableIzoCurve(element); - int izoDiff = neutralCount - StableIsotope; - int izoDiffAbs = abs(izoDiff); + int izoDiff = neutralCount - StableIsotope; + int izoDiffAbs = abs(izoDiff); xstr.setSeed((element + 1L) * (neutralCount + 100L)); iaea = EMNuclideIAEA.get(element, neutralCount); @@ -170,7 +310,9 @@ public class EMAtomDefinition extends EMComplexTemplate { } rawLifeTime = Math.min(rawLifeTimeTemp, STABLE_RAW_LIFE_TIME); } else { - rawLifeTime = containsAnti ? getIaea().getHalfTime() * 1.5514433E-21d * (1d + xstr.nextDouble() * 9d) : getIaea().getHalfTime(); + rawLifeTime = containsAnti + ? getIaea().getHalfTime() * 1.5514433E-21d * (1d + xstr.nextDouble() * 9d) + : getIaea().getHalfTime(); } iaeaDefinitionExistsAndHasEnergyLevels = getIaea().getEnergeticStatesArray().length > 1; } else { @@ -192,29 +334,41 @@ public class EMAtomDefinition extends EMComplexTemplate { if (izoDiff == 0) { decayMode = 0; } else { - decayMode = izoDiff > 0 ? (byte) Math.min(2, 1 + izoDiffAbs / 4) : (byte) -Math.min(2, 1 + izoDiffAbs / 4); + decayMode = + izoDiff > 0 ? (byte) Math.min(2, 1 + izoDiffAbs / 4) : (byte) -Math.min(2, 1 + izoDiffAbs / 4); } } else { - decayMode = izoDiff > 0 ? (byte) (Math.min(2, 1 + izoDiffAbs / 4) + BYTE_OFFSET) : (byte) (-Math.min(2, 1 + izoDiffAbs / 4) + BYTE_OFFSET); + decayMode = izoDiff > 0 + ? (byte) (Math.min(2, 1 + izoDiffAbs / 4) + BYTE_OFFSET) + : (byte) (-Math.min(2, 1 + izoDiffAbs / 4) + BYTE_OFFSET); } - //this.stable = this.rawLifeTime >= STABLE_RAW_LIFE_TIME; + // this.stable = this.rawLifeTime >= STABLE_RAW_LIFE_TIME; hash = super.hashCode(); } private static int stableIzoCurve(int element) { - return (int) Math.round(-1.19561E-06D * Math.pow(element, 4D) + - 1.60885E-04D * Math.pow(element, 3D) + - 3.76604E-04D * Math.pow(element, 2D) + - 1.08418E+00D * (double) element); + return (int) Math.round(-1.19561E-06D * Math.pow(element, 4D) + + 1.60885E-04D * Math.pow(element, 3D) + + 3.76604E-04D * Math.pow(element, 2D) + + 1.08418E+00D * (double) element); } - private static double calculateLifeTime(int izoDiff, int izoDiffAbs, int element, int isotope, boolean containsAnti) { + private static double calculateLifeTime( + int izoDiff, int izoDiffAbs, int element, int isotope, boolean containsAnti) { double rawLifeTime; - if (element <= 83 && isotope < 127 && (izoDiffAbs == 0 || element == 1 && isotope == 0 || element == 2 && isotope == 1 || izoDiffAbs == 1 && element > 2 && element % 2 == 1 || izoDiffAbs == 3 && element > 30 && element % 2 == 0 || izoDiffAbs == 5 && element > 30 && element % 2 == 0 || izoDiffAbs == 2 && element > 20 && element % 2 == 1)) { + if (element <= 83 + && isotope < 127 + && (izoDiffAbs == 0 + || element == 1 && isotope == 0 + || element == 2 && isotope == 1 + || izoDiffAbs == 1 && element > 2 && element % 2 == 1 + || izoDiffAbs == 3 && element > 30 && element % 2 == 0 + || izoDiffAbs == 5 && element > 30 && element % 2 == 0 + || izoDiffAbs == 2 && element > 20 && element % 2 == 1)) { rawLifeTime = (1D + xstr.nextDouble() * 9D) * (containsAnti ? 2.381e4D : 1.5347e25D); } else { - //Y = (X-A)/(B-A) * (D-C) + C + // Y = (X-A)/(B-A) * (D-C) + C double unstabilityEXP; if (element == 0) { return 1e-35D; @@ -238,9 +392,12 @@ public class EMAtomDefinition extends EMComplexTemplate { } else if (element <= 83 || isotope <= 127 && element <= 120) { double elementPow4 = Math.pow(element, 4); - unstabilityEXP = Math.min(element / 2.4D, 6 + ((element + 1) % 2) * 3e6D / elementPow4) + -izoDiff * elementPow4 / 1e8D - abs(izoDiff - 1 + element / 60D) * (3D - element / 12.5D + element * element / 1500D); + unstabilityEXP = Math.min(element / 2.4D, 6 + ((element + 1) % 2) * 3e6D / elementPow4) + + -izoDiff * elementPow4 / 1e8D + - abs(izoDiff - 1 + element / 60D) * (3D - element / 12.5D + element * element / 1500D); } else if (element < 180) { - unstabilityEXP = Math.min((element - 85) * 2, 16 + ((isotope + 1) % 2) * 2.5D - (element - 85) / 3D) - abs(izoDiff) * (3D - element / 13D + element * element / 1600D); + unstabilityEXP = Math.min((element - 85) * 2, 16 + ((isotope + 1) % 2) * 2.5D - (element - 85) / 3D) + - abs(izoDiff) * (3D - element / 13D + element * element / 1600D); } else { return -1; } @@ -267,7 +424,7 @@ public class EMAtomDefinition extends EMComplexTemplate { private static boolean canTheyBeTogether(EMConstantStackMap stacks) { boolean nuclei = false; - long qty = 0; + long qty = 0; for (EMDefinitionStack stack : stacks.valuesToArray()) { if (stack.getDefinition() instanceof EMHadronDefinition) { if (((EMHadronDefinition) stack.getDefinition()).getAmount() != 3) { @@ -319,7 +476,8 @@ public class EMAtomDefinition extends EMComplexTemplate { } if (iaeaDefinitionExistsAndHasEnergyLevels) { if (currentEnergy >= getIaea().getEnergeticStatesArray().length) { - return getIaea().getEnergeticStatesArray()[getIaea().getEnergeticStatesArray().length - 1].Thalf / (currentEnergy - getIaea().getEnergeticStatesArray().length + 1); + return getIaea().getEnergeticStatesArray()[getIaea().getEnergeticStatesArray().length - 1].Thalf + / (currentEnergy - getIaea().getEnergeticStatesArray().length + 1); } return getIaea().getEnergeticStatesArray()[(int) currentEnergy].Thalf; } @@ -343,62 +501,65 @@ public class EMAtomDefinition extends EMComplexTemplate { @Override public String getShortLocalizedName() { - int element = abs(getElement()); + int element = abs(getElement()); boolean anti = getElement() < 0; boolean weird = abs(getGeneration()) != 1; - if(element>=NAME.length){ + if (element >= NAME.length) { StringBuilder s = new StringBuilder(); - if(anti){ + if (anti) { s.append(translateToLocal("tt.IUPAC.Anti")); do { - s.append(translateToLocal("tt.IUPAC."+SYMBOL_IUPAC[element % 10])); + s.append(translateToLocal("tt.IUPAC." + SYMBOL_IUPAC[element % 10])); element = element / 10; } while (element > 0); - }else { + } else { while (element >= 10) { - s.append(translateToLocal("tt.IUPAC."+SYMBOL_IUPAC[element % 10])); + s.append(translateToLocal("tt.IUPAC." + SYMBOL_IUPAC[element % 10])); element = element / 10; } - s.append(translateToLocal("tt.IUPAC."+SYMBOL_IUPAC[element + 10])); + s.append(translateToLocal("tt.IUPAC." + SYMBOL_IUPAC[element + 10])); } - if(weird){ + if (weird) { s.append(translateToLocal("tt.keyword.Weird")); } return s.toString(); } - return translateToLocal("tt.element."+(anti?"Anti":"")+NAME[element])+(weird?translateToLocal("tt.keyword.Weird"):""); + return translateToLocal("tt.element." + (anti ? "Anti" : "") + NAME[element]) + + (weird ? translateToLocal("tt.keyword.Weird") : ""); } @Override public String getSymbol() { - String ionName = ""; + String ionName = ""; int ionization = getCharge() / 3; - if(ionization>0){ + if (ionization > 0) { ionName = ionization == 1 ? TT_Utility.toSuperscript("+") : TT_Utility.toSuperscript(ionization + "+"); - }else if(ionization<0) { + } else if (ionization < 0) { ionName = ionization == -1 ? TT_Utility.toSuperscript("-") : TT_Utility.toSuperscript(-ionization + "-"); } - return TT_Utility.toSuperscript(Long.toString(getNeutralCount() + (long)getElement())) +getShortSymbol()+ ionName; + return TT_Utility.toSuperscript(Long.toString(getNeutralCount() + (long) getElement())) + + getShortSymbol() + + ionName; } @Override public String getShortSymbol() { - int element = abs(getElement()); + int element = abs(getElement()); boolean anti = getElement() < 0; boolean weird = abs(getGeneration()) != 1; - if(element>=SYMBOL.length){ - StringBuilder s = new StringBuilder(anti?"~":""); + if (element >= SYMBOL.length) { + StringBuilder s = new StringBuilder(anti ? "~" : ""); while (element >= 10) { s.append(SYMBOL_IUPAC[element % 10]); element = element / 10; } s.append(SYMBOL_IUPAC[element + 10]); - if(weird){ + if (weird) { s.append(translateToLocal("tt.keyword.Weird")); } return s.toString(); } - return (anti?"~":"")+SYMBOL[element]+(weird?translateToLocal("tt.keyword.Weird"):""); + return (anti ? "~" : "") + SYMBOL[element] + (weird ? translateToLocal("tt.keyword.Weird") : ""); } @Override @@ -412,7 +573,7 @@ public class EMAtomDefinition extends EMComplexTemplate { return getDecayArray(decaysList, getDecayMode(), true); } - private EMDecay[] getDecayArray(ArrayList decaysList, int decayMode, boolean tryAnti) {//todo? + private EMDecay[] getDecayArray(ArrayList decaysList, int decayMode, boolean tryAnti) { // todo? if (getGeneration() == 1) { switch (decayMode) { case -2: @@ -481,543 +642,663 @@ public class EMAtomDefinition extends EMComplexTemplate { private boolean getDecayFromIaea(ArrayList decaysList, EMNuclideIAEA.iaeaDecay decay, long energy) { EMDefinitionStackMap withThis = elementalStacks.toMutable(), newStuff = new EMDefinitionStackMap(); switch (decay.decayName) { - case "D": { - if (withThis.removeAllAmountsExact(deuterium.getDefinition().getSubParticles())) { - withThis.putReplace(deuterium); - decaysList.add(new EMDecay(decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } - } - break; - case "3H": { - if (withThis.removeAllAmountsExact(tritium.getDefinition().getSubParticles())) { - withThis.putReplace(tritium); - decaysList.add(new EMDecay(decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; + case "D": + { + if (withThis.removeAllAmountsExact(deuterium.getDefinition().getSubParticles())) { + withThis.putReplace(deuterium); + decaysList.add(new EMDecay( + decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } } - } - break; - case "3HE": { - if (withThis.removeAllAmountsExact(helium_3.getDefinition().getSubParticles())) { - withThis.putReplace(helium_3); - decaysList.add(new EMDecay(decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; + break; + case "3H": + { + if (withThis.removeAllAmountsExact(tritium.getDefinition().getSubParticles())) { + withThis.putReplace(tritium); + decaysList.add(new EMDecay( + decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } } - } - break; - case "8BE": { - if (withThis.removeAllAmountsExact(beryllium_8.getDefinition().getSubParticles())) { - withThis.putReplace(beryllium_8); - decaysList.add(new EMDecay(decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; + break; + case "3HE": + { + if (withThis.removeAllAmountsExact(helium_3.getDefinition().getSubParticles())) { + withThis.putReplace(helium_3); + decaysList.add(new EMDecay( + decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } } - } - break; - case "14C": { - if (withThis.removeAllAmountsExact(carbon_14.getDefinition().getSubParticles())) { - newStuff.putReplace(carbon_14); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + break; + case "8BE": + { + if (withThis.removeAllAmountsExact( + beryllium_8.getDefinition().getSubParticles())) { + withThis.putReplace(beryllium_8); + decaysList.add(new EMDecay( + decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + } + } + break; + case "14C": + { + if (withThis.removeAllAmountsExact(carbon_14.getDefinition().getSubParticles())) { + newStuff.putReplace(carbon_14); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "24NE": { - if (withThis.removeAllAmountsExact(neon_24.getDefinition().getSubParticles())) { - newStuff.putReplace(neon_24); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "24NE": + { + if (withThis.removeAllAmountsExact(neon_24.getDefinition().getSubParticles())) { + newStuff.putReplace(neon_24); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "34SI": { - if (withThis.removeAllAmountsExact(silicon_34.getDefinition().getSubParticles())) { - newStuff.putReplace(silicon_34); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "34SI": + { + if (withThis.removeAllAmountsExact( + silicon_34.getDefinition().getSubParticles())) { + newStuff.putReplace(silicon_34); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; + break; case "A": - case "A?": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2, EMHadronDefinition.hadron_p2)) { - newStuff.putReplace(alpha); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + case "A?": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2, EMHadronDefinition.hadron_p2)) { + newStuff.putReplace(alpha); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "B+": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B+": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "2B+": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n2); - newStuff.putReplace(EMLeptonDefinition.lepton_e_2); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "2B+": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n2); + newStuff.putReplace(EMLeptonDefinition.lepton_e_2); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "B-": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_p1); - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B-": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_p1); + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "2B-": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_p2); - newStuff.putReplace(EMLeptonDefinition.lepton_e2); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_2); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "2B-": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_p2); + newStuff.putReplace(EMLeptonDefinition.lepton_e2); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_2); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "EC": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1, EMLeptonDefinition.lepton_e1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "EC": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1, EMLeptonDefinition.lepton_e1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "2EC": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e2)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n2); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "2EC": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e2)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n2); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; + break; case "B++EC": - case "EC+B+": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n2); - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + case "EC+B+": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n2); + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "B+A": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p3, EMHadronDefinition.hadron_n1)) { - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(alpha); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B+A": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p3, EMHadronDefinition.hadron_n1)) { + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(alpha); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "B+P": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(EMHadronDefinition.hadron_p1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B+P": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(EMHadronDefinition.hadron_p1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "B+2P": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p3)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(EMHadronDefinition.hadron_p2); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B+2P": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p3)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(EMHadronDefinition.hadron_p2); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "B-A": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n3, EMHadronDefinition.hadron_p1)) { - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - newStuff.putReplace(alpha); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B-A": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n3, EMHadronDefinition.hadron_p1)) { + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + newStuff.putReplace(alpha); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "B-N": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_p1); - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - newStuff.putReplace(EMHadronDefinition.hadron_n1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B-N": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_p1); + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + newStuff.putReplace(EMHadronDefinition.hadron_n1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "B-2N": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n3)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_p1); - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - newStuff.putReplace(EMHadronDefinition.hadron_n2); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B-2N": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n3)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_p1); + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + newStuff.putReplace(EMHadronDefinition.hadron_n2); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "B-P": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - newStuff.putReplace(EMHadronDefinition.hadron_p1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B-P": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + newStuff.putReplace(EMHadronDefinition.hadron_p1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "ECA": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1, EMLeptonDefinition.lepton_e1, EMHadronDefinition.hadron_p3)) { - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(alpha); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "ECA": + { + if (withThis.removeAllAmountsExact( + EMHadronDefinition.hadron_n1, EMLeptonDefinition.lepton_e1, EMHadronDefinition.hadron_p3)) { + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(alpha); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "ECP": { - if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e1, EMHadronDefinition.hadron_p2)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(EMHadronDefinition.hadron_p1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "ECP": + { + if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e1, EMHadronDefinition.hadron_p2)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(EMHadronDefinition.hadron_p1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "EC2P": { - if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e1, EMHadronDefinition.hadron_p3)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(EMHadronDefinition.hadron_p2); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "EC2P": + { + if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e1, EMHadronDefinition.hadron_p3)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(EMHadronDefinition.hadron_p2); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "ECP+EC2P": {//todo look at branching ratios - if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e2, EMHadronDefinition.hadron_p5)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); - newStuff.putReplace(EMHadronDefinition.hadron_p3); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "ECP+EC2P": + { // todo look at branching ratios + if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e2, EMHadronDefinition.hadron_p5)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); + newStuff.putReplace(EMHadronDefinition.hadron_p3); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "N": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { - newStuff.putReplace(EMHadronDefinition.hadron_n1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "N": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { + newStuff.putReplace(EMHadronDefinition.hadron_n1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "2N": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2)) { - newStuff.putReplace(EMHadronDefinition.hadron_n2); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "2N": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2)) { + newStuff.putReplace(EMHadronDefinition.hadron_n2); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "P": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1)) { - newStuff.putReplace(EMHadronDefinition.hadron_p1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "P": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1)) { + newStuff.putReplace(EMHadronDefinition.hadron_p1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "2P": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2)) { - newStuff.putReplace(EMHadronDefinition.hadron_p2); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "2P": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2)) { + newStuff.putReplace(EMHadronDefinition.hadron_p2); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "SF": { - if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { - return true; + break; + case "SF": + { + if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { + return true; + } } - } - break; - case "B-F": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_p1); - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - try { - if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { - return true; - } - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B-F": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_p1); + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + try { + if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { + return true; + } + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; + break; case "ECF": case "ECSF": - case "EC(+SF)": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1, EMLeptonDefinition.lepton_e1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - try { - if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { - return true; - } - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + case "EC(+SF)": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1, EMLeptonDefinition.lepton_e1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + try { + if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { + return true; + } + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; + break; case "SF(+EC+B+)": - case "SF+EC+B+": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n2); - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); - try { - if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { - return true; - } - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + case "SF+EC+B+": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n2); + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); + try { + if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { + return true; + } + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "SF+EC+B-": { - if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e1)) { - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - try { - if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { - return true; - } - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "SF+EC+B-": + { + if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e1)) { + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + try { + if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { + return true; + } + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; + break; case "IT": case "IT?": case "G": { @@ -1030,30 +1311,35 @@ public class EMAtomDefinition extends EMComplexTemplate { decaysList.add(new EMDecay(decay.chance, this)); } return true; - } //break; - case "IT+EC+B+": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n2); - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); - newStuff.putReplace(EMGaugeBosonDefinition.boson_Y__1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + } // break; + case "IT+EC+B+": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n2); + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); + newStuff.putReplace(EMGaugeBosonDefinition.boson_Y__1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; + break; case "DEAD_END": decaysList.add(deadEnd); return true; default: - throw new Error("Unsupported decay mode: " + decay.decayName + ' ' + getNeutralCount() + ' ' + getElement()); + throw new Error( + "Unsupported decay mode: " + decay.decayName + ' ' + getNeutralCount() + ' ' + getElement()); } if (DEBUG_MODE) { TecTech.LOGGER.info("Failed to decay " + getElement() + ' ' + getNeutralCount() + ' ' + decay.decayName); @@ -1065,7 +1351,12 @@ public class EMAtomDefinition extends EMComplexTemplate { EMDefinitionStackMap tree = elementalStacks.toMutable(); if (tree.removeAmountExact(emit)) { try { - decaysList.add(new EMDecay(1, new EMDefinitionStack(new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1), emit)); + decaysList.add(new EMDecay( + 1, + new EMDefinitionStack( + new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), + 1), + emit)); return true; } catch (Exception e) { if (DEBUG_MODE) { @@ -1080,7 +1371,12 @@ public class EMAtomDefinition extends EMComplexTemplate { EMDefinitionStackMap tree = elementalStacks.toMutable(); if (tree.removeAllAmountsExact(alpha.getDefinition().getSubParticles())) { try { - decaysList.add(new EMDecay(1, new EMDefinitionStack(new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1), alpha)); + decaysList.add(new EMDecay( + 1, + new EMDefinitionStack( + new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), + 1), + alpha)); return true; } catch (Exception e) { if (DEBUG_MODE) { @@ -1096,7 +1392,13 @@ public class EMAtomDefinition extends EMComplexTemplate { if (tree.removeAmountExact(EMHadronDefinition.hadron_n1)) { try { tree.putUnifyExact(EMHadronDefinition.hadron_p1); - decaysList.add(new EMDecay(1, new EMDefinitionStack(new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1), EMLeptonDefinition.lepton_e1, EMNeutrinoDefinition.lepton_Ve_1)); + decaysList.add(new EMDecay( + 1, + new EMDefinitionStack( + new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), + 1), + EMLeptonDefinition.lepton_e1, + EMNeutrinoDefinition.lepton_Ve_1)); return true; } catch (Exception e) { if (DEBUG_MODE) { @@ -1112,7 +1414,13 @@ public class EMAtomDefinition extends EMComplexTemplate { if (tree.removeAmountExact(EMHadronDefinition.hadron_p1)) { try { tree.putUnifyExact(EMHadronDefinition.hadron_n1); - decaysList.add(new EMDecay(1, new EMDefinitionStack(new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1), EMLeptonDefinition.lepton_e_1, EMNeutrinoDefinition.lepton_Ve1)); + decaysList.add(new EMDecay( + 1, + new EMDefinitionStack( + new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), + 1), + EMLeptonDefinition.lepton_e_1, + EMNeutrinoDefinition.lepton_Ve1)); return true; } catch (Exception e) { if (DEBUG_MODE) { @@ -1128,7 +1436,12 @@ public class EMAtomDefinition extends EMComplexTemplate { if (tree.removeAllAmountsExact(EMHadronDefinition.hadron_p1, EMLeptonDefinition.lepton_e1)) { try { tree.putUnifyExact(EMHadronDefinition.hadron_n1); - decaysList.add(new EMDecay(1, new EMDefinitionStack(new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1), EMNeutrinoDefinition.lepton_Ve1)); + decaysList.add(new EMDecay( + 1, + new EMDefinitionStack( + new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), + 1), + EMNeutrinoDefinition.lepton_Ve1)); return true; } catch (Exception e) { if (DEBUG_MODE) { @@ -1139,19 +1452,26 @@ public class EMAtomDefinition extends EMComplexTemplate { return false; } - private boolean Fission(ArrayList decaysList, EMDefinitionStackMap fissile, EMDefinitionStackMap particles, double probability, boolean spontaneousCheck) { - EMDefinitionStackMap heavy = new EMDefinitionStackMap(); - double[] liquidDrop = liquidDropFunction(abs(getElement()) <= 97); + private boolean Fission( + ArrayList decaysList, + EMDefinitionStackMap fissile, + EMDefinitionStackMap particles, + double probability, + boolean spontaneousCheck) { + EMDefinitionStackMap heavy = new EMDefinitionStackMap(); + double[] liquidDrop = liquidDropFunction(abs(getElement()) <= 97); for (EMDefinitionStack stack : fissile.valuesToArray()) { - if (spontaneousCheck && stack.getDefinition() instanceof EMHadronDefinition && - (stack.getAmount() <= 80 || stack.getAmount() < 90 && XSTR_INSTANCE.nextInt(10) < stack.getAmount() - 80)) { + if (spontaneousCheck + && stack.getDefinition() instanceof EMHadronDefinition + && (stack.getAmount() <= 80 + || stack.getAmount() < 90 && XSTR_INSTANCE.nextInt(10) < stack.getAmount() - 80)) { return false; } if (stack.getDefinition().getCharge() == 0) { - //if(stack.definition instanceof dHadronDefinition){ - double neutrals = stack.getAmount() * liquidDrop[2]; - int neutrals_cnt = (int) Math.floor(neutrals); + // if(stack.definition instanceof dHadronDefinition){ + double neutrals = stack.getAmount() * liquidDrop[2]; + int neutrals_cnt = (int) Math.floor(neutrals); neutrals_cnt += neutrals - neutrals_cnt > XSTR_INSTANCE.nextDouble() ? 1 : 0; particles.putUnifyExact(new EMDefinitionStack(stack.getDefinition(), neutrals_cnt)); @@ -1161,10 +1481,10 @@ public class EMAtomDefinition extends EMComplexTemplate { } fissile.removeAmountExact(new EMDefinitionStack(stack.getDefinition(), heavy_cnt + neutrals_cnt)); heavy.putReplace(new EMDefinitionStack(stack.getDefinition(), heavy_cnt)); - //}else{ + // }else{ // particles.add(stack); // light.remove(stack.definition); - //} + // } } else { int heavy_cnt = (int) Math.ceil(stack.getAmount() * liquidDrop[0]); if (heavy_cnt % 2 == 1 && XSTR_INSTANCE.nextDouble() > 0.05D) { @@ -1177,9 +1497,12 @@ public class EMAtomDefinition extends EMComplexTemplate { } try { - particles.putReplace(new EMDefinitionStack(new EMAtomDefinition(fissile.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1)); - particles.putReplace(new EMDefinitionStack(new EMAtomDefinition(heavy.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1)); - decaysList.add(new EMDecay(probability, particles.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + particles.putReplace(new EMDefinitionStack( + new EMAtomDefinition(fissile.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1)); + particles.putReplace(new EMDefinitionStack( + new EMAtomDefinition(heavy.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1)); + decaysList.add( + new EMDecay(probability, particles.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); return true; } catch (Exception e) { if (DEBUG_MODE) { @@ -1204,7 +1527,7 @@ public class EMAtomDefinition extends EMComplexTemplate { out[0] = -out[0]; } - //scale to splitting ratio + // scale to splitting ratio out[0] = out[0] * 0.05d + .6d; if (out[0] < 0 || out[0] > 1) { @@ -1214,7 +1537,7 @@ public class EMAtomDefinition extends EMComplexTemplate { out[0] = 1d - out[0]; } - //extra neutrals + // extra neutrals out[2] = 0.012d + XSTR_INSTANCE.nextDouble() * 0.01d; if (asymmetric) { @@ -1235,7 +1558,7 @@ public class EMAtomDefinition extends EMComplexTemplate { } } if (energyLevel < abs(getCharge()) / 3 + getNeutralCount()) { - return new EMDecay[]{new EMDecay(1, this, boson_Y__)}; + return new EMDecay[] {new EMDecay(1, this, boson_Y__)}; } return getNaturalDecayInstant(); } @@ -1243,7 +1566,7 @@ public class EMAtomDefinition extends EMComplexTemplate { @Override public double getEnergyDiffBetweenStates(long currentEnergyLevel, long newEnergyLevel) { if (iaeaDefinitionExistsAndHasEnergyLevels) { - double result = 0; + double result = 0; boolean backwards = newEnergyLevel < currentEnergyLevel; if (backwards) { long temp = currentEnergyLevel; @@ -1258,13 +1581,17 @@ public class EMAtomDefinition extends EMComplexTemplate { result += IEMDefinition.DEFAULT_ENERGY_REQUIREMENT * -currentEnergyLevel; } } else { - result -= getIaea().getEnergeticStatesArray()[(int) Math.min(getIaea().getEnergeticStatesArray().length - 1, currentEnergyLevel)].energy; + result -= getIaea() + .getEnergeticStatesArray()[ + (int) Math.min(getIaea().getEnergeticStatesArray().length - 1, currentEnergyLevel)] + .energy; } if (newEnergyLevel >= getIaea().getEnergeticStatesArray().length) { if (currentEnergyLevel >= getIaea().getEnergeticStatesArray().length) { return IEMDefinition.DEFAULT_ENERGY_REQUIREMENT * (newEnergyLevel - currentEnergyLevel); } else { - result += IEMDefinition.DEFAULT_ENERGY_REQUIREMENT * (newEnergyLevel - getIaea().getEnergeticStatesArray().length + 1); + result += IEMDefinition.DEFAULT_ENERGY_REQUIREMENT + * (newEnergyLevel - getIaea().getEnergeticStatesArray().length + 1); } result += getIaea().getEnergeticStatesArray()[getIaea().getEnergeticStatesArray().length - 1].energy; } else { @@ -1293,7 +1620,7 @@ public class EMAtomDefinition extends EMComplexTemplate { state = getIaea().getEnergeticStatesArray()[(int) energyLevel]; } for (EMNuclideIAEA.iaeaDecay decay : state.decaymodes) { - if (decay.decayName.contains("F")) return true;//if is fissile + if (decay.decayName.contains("F")) return true; // if is fissile } return false; } @@ -1310,22 +1637,23 @@ public class EMAtomDefinition extends EMComplexTemplate { @Override public EMDecay[] getNaturalDecayInstant() { - //disembody + // disembody ArrayList decaysInto = new ArrayList<>(); for (EMDefinitionStack elementalStack : elementalStacks.valuesToArray()) { - if (elementalStack.getDefinition().getGeneration() == 1 || elementalStack.getDefinition().getGeneration() == -1) { - //covers both quarks and antiquarks + if (elementalStack.getDefinition().getGeneration() == 1 + || elementalStack.getDefinition().getGeneration() == -1) { + // covers both quarks and antiquarks decaysInto.add(elementalStack); } else { - //covers both quarks and antiquarks + // covers both quarks and antiquarks decaysInto.add(new EMDefinitionStack(boson_Y__, 2)); } } - return new EMDecay[]{new EMDecay(0.75D, decaysInto.toArray(new EMDefinitionStack[0])), deadEnd}; + return new EMDecay[] {new EMDecay(0.75D, decaysInto.toArray(new EMDefinitionStack[0])), deadEnd}; } - //@Override - //public iElementalDefinition getAnti() { + // @Override + // public iElementalDefinition getAnti() { // EMDefinitionStack[] stacks = this.elementalStacks.values(); // EMDefinitionStack[] antiElements = new EMDefinitionStack[stacks.length]; // for (int i = 0; i < antiElements.length; i++) { @@ -1337,7 +1665,7 @@ public class EMAtomDefinition extends EMComplexTemplate { // if (DEBUG_MODE) e.printStackTrace(); // return null; // } - //} + // } @Override public EMAtomDefinition getAnti() { @@ -1377,8 +1705,13 @@ public class EMAtomDefinition extends EMComplexTemplate { } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(nbtType, new EMIndirectType((definitionsRegistry, nbt) -> - new EMAtomDefinition(EMConstantStackMap.fromNBT(definitionsRegistry, nbt)), EMAtomDefinition.class, "tt.keyword.Element")); + registry.registerDefinitionClass( + nbtType, + new EMIndirectType( + (definitionsRegistry, nbt) -> + new EMAtomDefinition(EMConstantStackMap.fromNBT(definitionsRegistry, nbt)), + EMAtomDefinition.class, + "tt.keyword.Element")); EMNuclideIAEA.run(); for (Runnable r : overrides) { @@ -1389,137 +1722,162 @@ public class EMAtomDefinition extends EMComplexTemplate { try { lifetimeOverrides.put(new EMAtomDefinition(entry.getKey().elementalStacks), entry.getValue()); } catch (EMException e) { - e.printStackTrace(); //Impossible + e.printStackTrace(); // Impossible } } - //populate stable isotopes - for (int element = 1; element < 83; element++) {//Up to Bismuth exclusive + // populate stable isotopes + for (int element = 1; element < 83; element++) { // Up to Bismuth exclusive for (int isotope = 0; isotope < 130; isotope++) { xstr.setSeed((long) (element + 1) * (isotope + 100)); - //stability curve - int StableIsotope = stableIzoCurve(element); - int izoDiff = isotope - StableIsotope; - int izoDiffAbs = abs(izoDiff); - double rawLifeTime = calculateLifeTime(izoDiff, izoDiffAbs, element, isotope, false); - EMNuclideIAEA nuclide = EMNuclideIAEA.get(element, isotope); - if (rawLifeTime >= STABLE_RAW_LIFE_TIME || nuclide != null && nuclide.getHalfTime() >= STABLE_RAW_LIFE_TIME) { + // stability curve + int StableIsotope = stableIzoCurve(element); + int izoDiff = isotope - StableIsotope; + int izoDiffAbs = abs(izoDiff); + double rawLifeTime = calculateLifeTime(izoDiff, izoDiffAbs, element, isotope, false); + EMNuclideIAEA nuclide = EMNuclideIAEA.get(element, isotope); + if (rawLifeTime >= STABLE_RAW_LIFE_TIME + || nuclide != null && nuclide.getHalfTime() >= STABLE_RAW_LIFE_TIME) { TreeSet isotopes = stableIsotopes.computeIfAbsent(element, k -> new TreeSet<>()); isotopes.add(isotope); } } } - //populate unstable isotopes + // populate unstable isotopes for (int element = 1; element < 150; element++) { for (int isotope = 100; isotope < 180; isotope++) { xstr.setSeed((long) (element + 1) * (isotope + 100)); - //stability curve - int Isotope = stableIzoCurve(element); - int izoDiff = isotope - Isotope; - int izoDiffAbs = abs(izoDiff); - double rawLifeTime = calculateLifeTime(izoDiff, izoDiffAbs, element, isotope, false); - TreeMap isotopes = mostStableUnstableIsotopes.computeIfAbsent(element, k -> new TreeMap<>()); - isotopes.put(rawLifeTime, isotope);//todo dont add stable ones + // stability curve + int Isotope = stableIzoCurve(element); + int izoDiff = isotope - Isotope; + int izoDiffAbs = abs(izoDiff); + double rawLifeTime = calculateLifeTime(izoDiff, izoDiffAbs, element, isotope, false); + TreeMap isotopes = + mostStableUnstableIsotopes.computeIfAbsent(element, k -> new TreeMap<>()); + isotopes.put(rawLifeTime, isotope); // todo dont add stable ones } } try { for (Map.Entry> integerTreeSetEntry : stableIsotopes.entrySet()) { - stableAtoms.put(integerTreeSetEntry.getKey(), new EMAtomDefinition( - new EMDefinitionStack(EMHadronDefinition.hadron_p, integerTreeSetEntry.getKey()), - new EMDefinitionStack(EMHadronDefinition.hadron_n, integerTreeSetEntry.getValue().first()), - new EMDefinitionStack(EMLeptonDefinition.lepton_e, integerTreeSetEntry.getKey()))); + stableAtoms.put( + integerTreeSetEntry.getKey(), + new EMAtomDefinition( + new EMDefinitionStack(EMHadronDefinition.hadron_p, integerTreeSetEntry.getKey()), + new EMDefinitionStack( + EMHadronDefinition.hadron_n, + integerTreeSetEntry.getValue().first()), + new EMDefinitionStack(EMLeptonDefinition.lepton_e, integerTreeSetEntry.getKey()))); if (DEBUG_MODE) { - TecTech.LOGGER.info("Added Stable Atom:" + integerTreeSetEntry.getKey() + ' ' + integerTreeSetEntry.getValue().first() + ' ' + stableAtoms.get(integerTreeSetEntry.getKey()).getMass()); + TecTech.LOGGER.info("Added Stable Atom:" + integerTreeSetEntry.getKey() + ' ' + + integerTreeSetEntry.getValue().first() + ' ' + + stableAtoms.get(integerTreeSetEntry.getKey()).getMass()); } } - for (Map.Entry> integerTreeMapEntry : mostStableUnstableIsotopes.entrySet()) { - unstableAtoms.put(integerTreeMapEntry.getKey(), new EMAtomDefinition( - new EMDefinitionStack(EMHadronDefinition.hadron_p, integerTreeMapEntry.getKey()), - new EMDefinitionStack(EMHadronDefinition.hadron_n, integerTreeMapEntry.getValue().lastEntry().getValue()), - new EMDefinitionStack(EMLeptonDefinition.lepton_e, integerTreeMapEntry.getKey()))); + for (Map.Entry> integerTreeMapEntry : + mostStableUnstableIsotopes.entrySet()) { + unstableAtoms.put( + integerTreeMapEntry.getKey(), + new EMAtomDefinition( + new EMDefinitionStack(EMHadronDefinition.hadron_p, integerTreeMapEntry.getKey()), + new EMDefinitionStack( + EMHadronDefinition.hadron_n, + integerTreeMapEntry + .getValue() + .lastEntry() + .getValue()), + new EMDefinitionStack(EMLeptonDefinition.lepton_e, integerTreeMapEntry.getKey()))); if (DEBUG_MODE) { - TecTech.LOGGER.info("Added Unstable Atom:" + integerTreeMapEntry.getKey() + ' ' + integerTreeMapEntry.getValue().lastEntry().getValue() + ' ' + unstableAtoms.get(integerTreeMapEntry.getKey()).getMass()); + TecTech.LOGGER.info("Added Unstable Atom:" + integerTreeMapEntry.getKey() + ' ' + + integerTreeMapEntry.getValue().lastEntry().getValue() + ' ' + + unstableAtoms.get(integerTreeMapEntry.getKey()).getMass()); } } deuterium = new EMAtomDefinition( - EMHadronDefinition.hadron_p1, - EMHadronDefinition.hadron_n1, - EMLeptonDefinition.lepton_e1).getStackForm(1); + EMHadronDefinition.hadron_p1, EMHadronDefinition.hadron_n1, EMLeptonDefinition.lepton_e1) + .getStackForm(1); registry.registerForDisplay(deuterium.getDefinition()); tritium = new EMAtomDefinition( - EMHadronDefinition.hadron_p1, - EMHadronDefinition.hadron_n2, - EMLeptonDefinition.lepton_e1).getStackForm(1); + EMHadronDefinition.hadron_p1, EMHadronDefinition.hadron_n2, EMLeptonDefinition.lepton_e1) + .getStackForm(1); registry.registerForDisplay(tritium.getDefinition()); helium_3 = new EMAtomDefinition( - EMHadronDefinition.hadron_p2, - EMHadronDefinition.hadron_n1, - EMLeptonDefinition.lepton_e2).getStackForm(1); + EMHadronDefinition.hadron_p2, EMHadronDefinition.hadron_n1, EMLeptonDefinition.lepton_e2) + .getStackForm(1); registry.registerForDisplay(helium_3.getDefinition()); - alpha = new EMAtomDefinition( - EMHadronDefinition.hadron_p2, - EMHadronDefinition.hadron_n2).getStackForm(1); + alpha = new EMAtomDefinition(EMHadronDefinition.hadron_p2, EMHadronDefinition.hadron_n2).getStackForm(1); registry.registerForDisplay(alpha.getDefinition()); beryllium_8 = new EMAtomDefinition( - new EMDefinitionStack(EMHadronDefinition.hadron_p, 4), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 4), - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 4)).getStackForm(1); + new EMDefinitionStack(EMHadronDefinition.hadron_p, 4), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 4), + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 4)) + .getStackForm(1); registry.registerForDisplay(beryllium_8.getDefinition()); carbon_14 = new EMAtomDefinition( - new EMDefinitionStack(EMHadronDefinition.hadron_p, 6), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 8), - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 6)).getStackForm(1); + new EMDefinitionStack(EMHadronDefinition.hadron_p, 6), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 8), + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 6)) + .getStackForm(1); registry.registerForDisplay(carbon_14.getDefinition()); neon_24 = new EMAtomDefinition( - new EMDefinitionStack(EMHadronDefinition.hadron_p, 10), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 14), - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 10)).getStackForm(1); + new EMDefinitionStack(EMHadronDefinition.hadron_p, 10), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 14), + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 10)) + .getStackForm(1); registry.registerForDisplay(neon_24.getDefinition()); silicon_34 = new EMAtomDefinition( - new EMDefinitionStack(EMHadronDefinition.hadron_p, 14), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 20), - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 14)).getStackForm(1); + new EMDefinitionStack(EMHadronDefinition.hadron_p, 14), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 20), + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 14)) + .getStackForm(1); registry.registerForDisplay(silicon_34.getDefinition()); uranium_238 = new EMAtomDefinition( - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 92), - new EMDefinitionStack(EMHadronDefinition.hadron_p, 92), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 146)).getStackForm(1); + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 92), + new EMDefinitionStack(EMHadronDefinition.hadron_p, 92), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 146)) + .getStackForm(1); registry.registerForDisplay(uranium_238.getDefinition()); uranium_235 = new EMAtomDefinition( - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 92), - new EMDefinitionStack(EMHadronDefinition.hadron_p, 92), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 143)).getStackForm(1); + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 92), + new EMDefinitionStack(EMHadronDefinition.hadron_p, 92), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 143)) + .getStackForm(1); registry.registerForDisplay(uranium_235.getDefinition()); - TecTech.LOGGER.info("Diff Mass U : " + (uranium_238.getDefinition().getMass() - uranium_235.getDefinition().getMass())); + TecTech.LOGGER.info("Diff Mass U : " + + (uranium_238.getDefinition().getMass() + - uranium_235.getDefinition().getMass())); plutonium_239 = new EMAtomDefinition( - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 94), - new EMDefinitionStack(EMHadronDefinition.hadron_p, 94), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 145)).getStackForm(1); + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 94), + new EMDefinitionStack(EMHadronDefinition.hadron_p, 94), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 145)) + .getStackForm(1); registry.registerForDisplay(plutonium_239.getDefinition()); plutonium_241 = new EMAtomDefinition( - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 94), - new EMDefinitionStack(EMHadronDefinition.hadron_p, 94), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 147)).getStackForm(1); + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 94), + new EMDefinitionStack(EMHadronDefinition.hadron_p, 94), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 147)) + .getStackForm(1); registry.registerForDisplay(plutonium_241.getDefinition()); - TecTech.LOGGER.info("Diff Mass Pu: " + (plutonium_241.getDefinition().getMass() - plutonium_239.getDefinition().getMass())); + TecTech.LOGGER.info("Diff Mass Pu: " + + (plutonium_241.getDefinition().getMass() + - plutonium_239.getDefinition().getMass())); - somethingHeavy=(EMAtomDefinition) plutonium_241.getDefinition(); + somethingHeavy = (EMAtomDefinition) plutonium_241.getDefinition(); } catch (Exception e) { if (DEBUG_MODE) { @@ -1533,9 +1891,9 @@ public class EMAtomDefinition extends EMComplexTemplate { for (int i = 1; i <= 118; i++) { EMAtomDefinition firstStableIsotope = getFirstStableIsotope(i); - if(firstStableIsotope==null){ + if (firstStableIsotope == null) { firstStableIsotope = getBestUnstableIsotope(i); - if(firstStableIsotope==null){ + if (firstStableIsotope == null) { continue; } } @@ -1547,115 +1905,438 @@ public class EMAtomDefinition extends EMComplexTemplate { /*----STABLE ATOMS----**/ refMass = getFirstStableIsotope(1).getMass() * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(1), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Hydrogen.mGas, 144); - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(2), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Helium.mGas, 144); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(3), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Lithium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(4), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Beryllium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(5), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Boron, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(6), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Carbon, 1); - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(7), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Nitrogen.mGas, 144); - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(8), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Oxygen.mGas, 144); - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(9), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Fluorine.mGas, 144); - //transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(10), AVOGADRO_CONSTANT_144),Neon.mGas.getID(), 144); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(11), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Sodium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(12), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Magnesium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(13), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Aluminium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(14), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Silicon, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(15), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Phosphorus, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(16), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Sulfur, 1); - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(17), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Argon.mGas, 144); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(19), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Potassium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(20), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Calcium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(21), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Scandium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(22), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Titanium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(23), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Vanadium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(24), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Chrome, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(25), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Manganese, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(26), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Iron, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(27), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Cobalt, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(28), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Nickel, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(29), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Copper, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(30), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Zinc, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(31), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Gallium, 1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(32), AVOGADRO_CONSTANT_144),dust, Germanium,1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(33), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Arsenic, 1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(34), AVOGADRO_CONSTANT_144),dust, Selenium,1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(35), AVOGADRO_CONSTANT_144),dust, Bromine,1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(36), AVOGADRO_CONSTANT_144),dust, Krypton,1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(37), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Rubidium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(38), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Strontium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(39), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Yttrium, 1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(40), AVOGADRO_CONSTANT_144),dust, Zirconium,1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(41), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Niobium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(42), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Molybdenum, 1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(43), AVOGADRO_CONSTANT_144),dust, Technetium,1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(44), AVOGADRO_CONSTANT_144),dust, Ruthenium,1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(45), AVOGADRO_CONSTANT_144),dust, Rhodium,1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(46), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Palladium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(47), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Silver, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(48), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Cadmium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(49), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Indium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(50), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Tin, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(51), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Antimony, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(52), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Tellurium, 1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(53), AVOGADRO_CONSTANT_144),dust, Iodine,1); - //transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(54), AVOGADRO_CONSTANT_144),Xenon.mGas.getID(), 144); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(55), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Caesium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(56), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Barium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(57), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Lanthanum, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(58), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Cerium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(59), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Praseodymium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(60), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Neodymium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(62), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Samarium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(63), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Europium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(64), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Gadolinium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(65), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Terbium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(66), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Dysprosium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(67), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Holmium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(68), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Erbium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(69), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Thulium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(70), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Ytterbium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(71), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Lutetium, 1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(72), AVOGADRO_CONSTANT_144),dust, Hafnum,1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(73), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Tantalum, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(74), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Tungsten, 1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(75), AVOGADRO_CONSTANT_144),dust, Rhenium,1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(76), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Osmium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(77), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Iridium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(78), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Platinum, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(79), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Gold, 1); - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(80), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Mercury.mFluid, 144); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(81), AVOGADRO_CONSTANT_144),dust, Thallium,1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(82), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Lead, 1); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(1), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Hydrogen.mGas, + 144); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(2), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Helium.mGas, + 144); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(3), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Lithium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(4), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Beryllium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(5), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Boron, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(6), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Carbon, + 1); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(7), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Nitrogen.mGas, + 144); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(8), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Oxygen.mGas, + 144); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(9), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Fluorine.mGas, + 144); + // transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(10), + // AVOGADRO_CONSTANT_144),Neon.mGas.getID(), 144); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(11), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Sodium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(12), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Magnesium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(13), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Aluminium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(14), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Silicon, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(15), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Phosphorus, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(16), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Sulfur, + 1); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(17), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Argon.mGas, + 144); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(19), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Potassium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(20), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Calcium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(21), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Scandium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(22), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Titanium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(23), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Vanadium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(24), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Chrome, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(25), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Manganese, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(26), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Iron, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(27), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Cobalt, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(28), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Nickel, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(29), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Copper, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(30), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Zinc, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(31), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Gallium, + 1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(32), AVOGADRO_CONSTANT_144),dust, + // Germanium,1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(33), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Arsenic, + 1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(34), AVOGADRO_CONSTANT_144),dust, + // Selenium,1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(35), AVOGADRO_CONSTANT_144),dust, + // Bromine,1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(36), AVOGADRO_CONSTANT_144),dust, + // Krypton,1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(37), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Rubidium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(38), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Strontium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(39), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Yttrium, + 1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(40), AVOGADRO_CONSTANT_144),dust, + // Zirconium,1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(41), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Niobium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(42), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Molybdenum, + 1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(43), AVOGADRO_CONSTANT_144),dust, + // Technetium,1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(44), AVOGADRO_CONSTANT_144),dust, + // Ruthenium,1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(45), AVOGADRO_CONSTANT_144),dust, + // Rhodium,1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(46), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Palladium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(47), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Silver, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(48), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Cadmium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(49), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Indium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(50), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Tin, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(51), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Antimony, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(52), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Tellurium, + 1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(53), AVOGADRO_CONSTANT_144),dust, + // Iodine,1); + // transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(54), + // AVOGADRO_CONSTANT_144),Xenon.mGas.getID(), 144); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(55), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Caesium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(56), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Barium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(57), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Lanthanum, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(58), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Cerium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(59), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Praseodymium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(60), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Neodymium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(62), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Samarium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(63), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Europium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(64), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Gadolinium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(65), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Terbium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(66), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Dysprosium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(67), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Holmium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(68), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Erbium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(69), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Thulium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(70), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Ytterbium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(71), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Lutetium, + 1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(72), AVOGADRO_CONSTANT_144),dust, + // Hafnum,1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(73), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Tantalum, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(74), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Tungsten, + 1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(75), AVOGADRO_CONSTANT_144),dust, + // Rhenium,1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(76), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Osmium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(77), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Iridium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(78), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Platinum, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(79), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Gold, + 1); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(80), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Mercury.mFluid, + 144); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(81), AVOGADRO_CONSTANT_144),dust, + // Thallium,1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(82), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Lead, + 1); /*----UNSTABLE ATOMS----**/ refUnstableMass = getFirstStableIsotope(82).getMass() * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(61), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Promethium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(83), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Bismuth, 1); - //transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(84),AVOGADRO_CONSTANT_144),dust, Polonium,1); - //transformationInfo.addFluid(new EMDefinitionStack(getBestUnstableIsotope(85),AVOGADRO_CONSTANT_144),Astatine.mPlasma.getID(), 144); - transformationInfo.addFluid(new EMDefinitionStack(getBestUnstableIsotope(86), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Radon.mGas, 144); - //transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(87),AVOGADRO_CONSTANT_144),dust, Francium,1); - //transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(88),AVOGADRO_CONSTANT_144),dust, Radium,1); - //transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(89),AVOGADRO_CONSTANT_144),dust, Actinium,1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(90), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Thorium, 1); - //transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(91),AVOGADRO_CONSTANT_144),dust, Protactinium,1); - ////transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(92),AVOGADRO_CONSTANT_144), dust, Uranium,1); - //transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(93),AVOGADRO_CONSTANT_144),dust, Neptunium,1); - ////transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(94),AVOGADRO_CONSTANT_144), dust, Plutonium,1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(95), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Americium, 1); - - - transformationInfo.addFluid(new EMDefinitionStack(deuterium.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Deuterium.mGas, 144); - transformationInfo.addFluid(new EMDefinitionStack(tritium.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Tritium.mGas, 144); - transformationInfo.addFluid(new EMDefinitionStack(helium_3.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Helium_3.mGas, 144); - - transformationInfo.addOredict(new EMDefinitionStack(uranium_238.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Uranium/*238*/, 1); - transformationInfo.addOredict(new EMDefinitionStack(uranium_235.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Uranium235, 1); - - transformationInfo.addOredict(new EMDefinitionStack(plutonium_239.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Plutonium/*239*/, 1); - transformationInfo.addOredict(new EMDefinitionStack(plutonium_241.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Plutonium241, 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(61), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Promethium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(83), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Bismuth, + 1); + // transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(84),AVOGADRO_CONSTANT_144),dust, + // Polonium,1); + // transformationInfo.addFluid(new + // EMDefinitionStack(getBestUnstableIsotope(85),AVOGADRO_CONSTANT_144),Astatine.mPlasma.getID(), 144); + transformationInfo.addFluid( + new EMDefinitionStack(getBestUnstableIsotope(86), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Radon.mGas, + 144); + // transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(87),AVOGADRO_CONSTANT_144),dust, + // Francium,1); + // transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(88),AVOGADRO_CONSTANT_144),dust, + // Radium,1); + // transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(89),AVOGADRO_CONSTANT_144),dust, + // Actinium,1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(90), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Thorium, + 1); + // transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(91),AVOGADRO_CONSTANT_144),dust, + // Protactinium,1); + //// transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(92),AVOGADRO_CONSTANT_144), + // dust, Uranium,1); + // transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(93),AVOGADRO_CONSTANT_144),dust, + // Neptunium,1); + //// transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(94),AVOGADRO_CONSTANT_144), + // dust, Plutonium,1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(95), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Americium, + 1); + + transformationInfo.addFluid( + new EMDefinitionStack(deuterium.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Deuterium.mGas, + 144); + transformationInfo.addFluid( + new EMDefinitionStack(tritium.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Tritium.mGas, + 144); + transformationInfo.addFluid( + new EMDefinitionStack(helium_3.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Helium_3.mGas, + 144); + + transformationInfo.addOredict( + new EMDefinitionStack(uranium_238.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Uranium /*238*/, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(uranium_235.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Uranium235, + 1); + + transformationInfo.addOredict( + new EMDefinitionStack(plutonium_239.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Plutonium /*239*/, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(plutonium_241.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Plutonium241, + 1); } public static EMAtomDefinition getFirstStableIsotope(int element) { diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMHadronDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMHadronDefinition.java index 9fb551e45c..be51eb3681 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMHadronDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMHadronDefinition.java @@ -1,5 +1,11 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.complex; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.boson_Y__; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; @@ -17,45 +23,38 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.transformations import com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMQuarkDefinition; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; -import net.minecraftforge.oredict.OreDictionary; - import java.util.ArrayList; import java.util.HashMap; import java.util.Map; - -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.boson_Y__; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; -import static net.minecraft.util.StatCollector.translateToLocal; +import net.minecraftforge.oredict.OreDictionary; /** * Created by danie_000 on 17.11.2016. */ -public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i/o +public class EMHadronDefinition extends EMComplexTemplate { // TODO Optimize map i/o private final int hash; - private static final String nbtType = "h"; - //Helpers - public static final Map SYMBOL_MAP = new HashMap<>(); - public static final Map UNLOCALIZED_NAME_MAP = new HashMap<>(); - public static EMHadronDefinition hadron_p, hadron_n, hadron_p_, hadron_n_; + private static final String nbtType = "h"; + // Helpers + public static final Map SYMBOL_MAP = new HashMap<>(); + public static final Map UNLOCALIZED_NAME_MAP = new HashMap<>(); + public static EMHadronDefinition hadron_p, hadron_n, hadron_p_, hadron_n_; public static EMDefinitionStack hadron_p1, hadron_n1, hadron_p2, hadron_n2, hadron_p3, hadron_n3, hadron_p5; - private static double protonMass = 0D; - private static double neutronMass = 0D; - private static final double actualProtonMass = 938272081.3D; + private static double protonMass = 0D; + private static double neutronMass = 0D; + private static final double actualProtonMass = 938272081.3D; private static final double actualNeutronMass = 939565413.3D; - //float-mass in eV/c^2 + // float-mass in eV/c^2 private final double mass; - //int -electric charge in 1/3rds of electron charge for optimization - private final int charge; + // int -electric charge in 1/3rds of electron charge for optimization + private final int charge; private final double rawLifeTime; - private final int amount; - //generation max present inside - minus if contains any antiquark - private final byte type; - //private final FluidStack fluidThing; - //private final ItemStack itemThing; + private final int amount; + // generation max present inside - minus if contains any antiquark + private final byte type; + // private final FluidStack fluidThing; + // private final ItemStack itemThing; private final EMConstantStackMap quarkStacks; @@ -77,11 +76,11 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i } quarkStacks = quarks; - int amount = 0; - int charge = 0; - int type = 0; + int amount = 0; + int charge = 0; + int type = 0; boolean containsAnti = false; - double mass = 0; + double mass = 0; for (EMDefinitionStack quarkStack : quarkStacks.valuesToArray()) { amount += quarkStack.getAmount(); if ((int) quarkStack.getAmount() != quarkStack.getAmount()) { @@ -98,7 +97,7 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i this.charge = charge; this.type = containsAnti ? (byte) -type : (byte) type; long mult = (long) this.getAmount() * this.getAmount() * (this.getAmount() - 1); - mass = mass * 5.543D * mult;//yes it becomes heavier + mass = mass * 5.543D * mult; // yes it becomes heavier if (mass == protonMass && this.getAmount() == 3) { rawLifeTime = IEMDefinition.STABLE_RAW_LIFE_TIME; @@ -119,7 +118,7 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i hash = super.hashCode(); } - //public but u can just try{}catch(){} the constructor it still calls this method + // public but u can just try{}catch(){} the constructor it still calls this method private static boolean canTheyBeTogether(EMConstantStackMap stacks) { long amount = 0; for (EMDefinitionStack quarks : stacks.valuesToArray()) { @@ -211,32 +210,40 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i @Override public EMDecay[] getNaturalDecayInstant() { EMDefinitionStack[] quarkStacks = this.quarkStacks.valuesToArray(); - if (getAmount() == 2 && quarkStacks.length == 2 && quarkStacks[0].getDefinition().getMass() == quarkStacks[1].getDefinition().getMass() && quarkStacks[0].getDefinition().getGeneration() == -quarkStacks[1].getDefinition().getGeneration()) { + if (getAmount() == 2 + && quarkStacks.length == 2 + && quarkStacks[0].getDefinition().getMass() + == quarkStacks[1].getDefinition().getMass() + && quarkStacks[0].getDefinition().getGeneration() + == -quarkStacks[1].getDefinition().getGeneration()) { return EMDecay.NO_PRODUCT; } ArrayList decaysInto = new ArrayList<>(); for (EMDefinitionStack quarks : quarkStacks) { - if (quarks.getDefinition().getGeneration() == 1 || quarks.getDefinition().getGeneration() == -1) { - //covers both quarks and antiquarks + if (quarks.getDefinition().getGeneration() == 1 + || quarks.getDefinition().getGeneration() == -1) { + // covers both quarks and antiquarks decaysInto.add(quarks); } else { - //covers both quarks and antiquarks + // covers both quarks and antiquarks decaysInto.add(new EMDefinitionStack(boson_Y__, 2)); } } - return new EMDecay[]{ - new EMDecay(0.75D, decaysInto.toArray(new EMDefinitionStack[0])), - deadEnd - }; + return new EMDecay[] {new EMDecay(0.75D, decaysInto.toArray(new EMDefinitionStack[0])), deadEnd}; } @Override public EMDecay[] getEnergyInducedDecay(long energyLevel) { EMDefinitionStack[] quarkStacks = this.quarkStacks.valuesToArray(); - if (getAmount() == 2 && quarkStacks.length == 2 && quarkStacks[0].getDefinition().getMass() == quarkStacks[1].getDefinition().getMass() && quarkStacks[0].getDefinition().getGeneration() == -quarkStacks[1].getDefinition().getGeneration()) { + if (getAmount() == 2 + && quarkStacks.length == 2 + && quarkStacks[0].getDefinition().getMass() + == quarkStacks[1].getDefinition().getMass() + && quarkStacks[0].getDefinition().getGeneration() + == -quarkStacks[1].getDefinition().getGeneration()) { return EMDecay.NO_PRODUCT; } - return new EMDecay[]{new EMDecay(0.75D, quarkStacks), deadEnd}; //decay into quarks + return new EMDecay[] {new EMDecay(0.75D, quarkStacks), deadEnd}; // decay into quarks } @Override @@ -267,21 +274,24 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i @Override public EMDecay[] getDecayArray() { EMDefinitionStack[] quarkStacks = this.quarkStacks.valuesToArray(); - if (getAmount() == 2 && quarkStacks.length == 2 && - quarkStacks[0].getDefinition().getMass() == quarkStacks[1].getDefinition().getMass() && - quarkStacks[0].getDefinition().getGeneration() == -quarkStacks[1].getDefinition().getGeneration()) { + if (getAmount() == 2 + && quarkStacks.length == 2 + && quarkStacks[0].getDefinition().getMass() + == quarkStacks[1].getDefinition().getMass() + && quarkStacks[0].getDefinition().getGeneration() + == -quarkStacks[1].getDefinition().getGeneration()) { return EMDecay.NO_PRODUCT; } else if (getAmount() != 3) { - return new EMDecay[]{new EMDecay(0.95D, quarkStacks), deadEnd}; //decay into quarks + return new EMDecay[] {new EMDecay(0.95D, quarkStacks), deadEnd}; // decay into quarks } else { ArrayList newBaryon = new ArrayList<>(); - IEMDefinition[] Particles = new IEMDefinition[2]; + IEMDefinition[] Particles = new IEMDefinition[2]; for (EMDefinitionStack quarks : quarkStacks) { for (int i = 0; i < quarks.getAmount(); i++) { newBaryon.add((EMQuarkDefinition) quarks.getDefinition()); } } - //remove last + // remove last EMQuarkDefinition lastQuark = newBaryon.remove(2); EMDefinitionStack[] decay; @@ -299,15 +309,21 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i .toArray(EMDefinitionStack[]::new); try { - return new EMDecay[]{ - new EMDecay(0.001D, new EMHadronDefinition(false, contentOfBaryon), Particles[0], Particles[1], boson_Y__), - new EMDecay(0.99D, new EMHadronDefinition(false, contentOfBaryon), Particles[0], Particles[1]), - deadEnd}; + return new EMDecay[] { + new EMDecay( + 0.001D, + new EMHadronDefinition(false, contentOfBaryon), + Particles[0], + Particles[1], + boson_Y__), + new EMDecay(0.99D, new EMHadronDefinition(false, contentOfBaryon), Particles[0], Particles[1]), + deadEnd + }; } catch (EMException e) { if (DEBUG_MODE) { e.printStackTrace(); } - return new EMDecay[]{deadEnd}; + return new EMDecay[] {deadEnd}; } } } @@ -337,8 +353,8 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i return type; } - //@Override - //public iElementalDefinition getAnti() { + // @Override + // public iElementalDefinition getAnti() { // cElementalDefinitionStack[] stacks = this.quarkStacks.values(); // cElementalDefinitionStack[] antiElements = new cElementalDefinitionStack[stacks.length]; // for (int i = 0; i < antiElements.length; i++) { @@ -350,7 +366,7 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i // if (DEBUG_MODE) e.printStackTrace(); // return null; // } - //} + // } @Override public IEMDefinition getAnti() { @@ -374,38 +390,47 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(nbtType, new EMIndirectType((definitionsRegistry, nbt) -> - new EMHadronDefinition(EMConstantStackMap.fromNBT(definitionsRegistry, nbt)), EMHadronDefinition.class, "tt.keyword.Hadron")); + registry.registerDefinitionClass( + nbtType, + new EMIndirectType( + (definitionsRegistry, nbt) -> + new EMHadronDefinition(EMConstantStackMap.fromNBT(definitionsRegistry, nbt)), + EMHadronDefinition.class, + "tt.keyword.Hadron")); try { - hadron_p = new EMHadronDefinition(new EMConstantStackMap(EMQuarkDefinition.quark_u.getStackForm(2), EMQuarkDefinition.quark_d.getStackForm(1))); + hadron_p = new EMHadronDefinition(new EMConstantStackMap( + EMQuarkDefinition.quark_u.getStackForm(2), EMQuarkDefinition.quark_d.getStackForm(1))); protonMass = hadron_p.getMass(); - //redefine the proton with proper lifetime (the lifetime is based on mass comparison) - hadron_p = new EMHadronDefinition(new EMConstantStackMap(EMQuarkDefinition.quark_u.getStackForm(2), EMQuarkDefinition.quark_d.getStackForm(1))); + // redefine the proton with proper lifetime (the lifetime is based on mass comparison) + hadron_p = new EMHadronDefinition(new EMConstantStackMap( + EMQuarkDefinition.quark_u.getStackForm(2), EMQuarkDefinition.quark_d.getStackForm(1))); SYMBOL_MAP.put(hadron_p, "p"); UNLOCALIZED_NAME_MAP.put(hadron_p, "tt.keyword.Proton"); registry.registerForDisplay(hadron_p); - registry.registerDirectDefinition("p",hadron_p); + registry.registerDirectDefinition("p", hadron_p); hadron_p_ = (EMHadronDefinition) hadron_p.getAnti(); SYMBOL_MAP.put(hadron_p_, "~p"); UNLOCALIZED_NAME_MAP.put(hadron_p_, "tt.keyword.AntiProton"); registry.registerForDisplay(hadron_p_); - registry.registerDirectDefinition("~p",hadron_p_); + registry.registerDirectDefinition("~p", hadron_p_); - hadron_n = new EMHadronDefinition(new EMConstantStackMap(EMQuarkDefinition.quark_u.getStackForm(1), EMQuarkDefinition.quark_d.getStackForm(2))); + hadron_n = new EMHadronDefinition(new EMConstantStackMap( + EMQuarkDefinition.quark_u.getStackForm(1), EMQuarkDefinition.quark_d.getStackForm(2))); neutronMass = hadron_n.getMass(); - //redefine the neutron with proper lifetime (the lifetime is based on mass comparison) - hadron_n = new EMHadronDefinition(new EMConstantStackMap(EMQuarkDefinition.quark_u.getStackForm(1), EMQuarkDefinition.quark_d.getStackForm(2))); + // redefine the neutron with proper lifetime (the lifetime is based on mass comparison) + hadron_n = new EMHadronDefinition(new EMConstantStackMap( + EMQuarkDefinition.quark_u.getStackForm(1), EMQuarkDefinition.quark_d.getStackForm(2))); SYMBOL_MAP.put(hadron_n, "n"); UNLOCALIZED_NAME_MAP.put(hadron_n, "tt.keyword.Neutron"); registry.registerForDisplay(hadron_n); - registry.registerDirectDefinition("n",hadron_n); + registry.registerDirectDefinition("n", hadron_n); hadron_n_ = (EMHadronDefinition) hadron_n.getAnti(); SYMBOL_MAP.put(hadron_n_, "~n"); UNLOCALIZED_NAME_MAP.put(hadron_n_, "tt.keyword.AntiNeutron"); registry.registerForDisplay(hadron_n_); - registry.registerDirectDefinition("~n",hadron_n_); + registry.registerDirectDefinition("~n", hadron_n_); TecTech.LOGGER.info("Old Neutron Mass: " + neutronMass); TecTech.LOGGER.info("Old Proton Mass: " + protonMass); @@ -431,16 +456,20 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i } } - public static void setTransformations(EMTransformationRegistry transformationInfo) {//Todo use Neutronium atom? - //Added to atom map, but should be in its own + public static void setTransformations(EMTransformationRegistry transformationInfo) { // Todo use Neutronium atom? + // Added to atom map, but should be in its own EMDefinitionStack neutrons = new EMDefinitionStack(hadron_n, 1000 * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED); EMDequantizationInfo emDequantizationInfo = new EMDequantizationInfo(neutrons); - emDequantizationInfo.setOre(new OreDictionaryStack(1,OreDictionary.getOreID(OrePrefixes.dust.name() + Materials.Neutronium.mName)));//todo shitty looking, but works... + emDequantizationInfo.setOre(new OreDictionaryStack( + 1, + OreDictionary.getOreID( + OrePrefixes.dust.name() + Materials.Neutronium.mName))); // todo shitty looking, but works... transformationInfo.getInfoMap().put(neutrons.getDefinition(), emDequantizationInfo); - transformationInfo.getOredictQuantization().put( - OreDictionary.getOreID(OrePrefixes.ingotHot.name() + Materials.Neutronium.mName), - new EMOredictQuantizationInfo(OrePrefixes.ingotHot, Materials.Neutronium, 1, neutrons) - ); + transformationInfo + .getOredictQuantization() + .put( + OreDictionary.getOreID(OrePrefixes.ingotHot.name() + Materials.Neutronium.mName), + new EMOredictQuantizationInfo(OrePrefixes.ingotHot, Materials.Neutronium, 1, neutrons)); } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMNuclideIAEA.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMNuclideIAEA.java index e5fab5e6bf..13cab15970 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMNuclideIAEA.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMNuclideIAEA.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.complex; +import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.STABLE_RAW_LIFE_TIME; +import static com.github.technus.tectech.util.TT_Utility.splitButDifferent; + import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; @@ -7,160 +10,169 @@ import java.util.HashMap; import java.util.HashSet; import java.util.TreeMap; -import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.STABLE_RAW_LIFE_TIME; -import static com.github.technus.tectech.util.TT_Utility.splitButDifferent; - public final class EMNuclideIAEA { - public static final double AMU_TO_EV_DIV_C_C=9.31494061E08D,MICRO_AMU_TO_EV_DIV_C_C=9.31494061E02D; + public static final double AMU_TO_EV_DIV_C_C = 9.31494061E08D, MICRO_AMU_TO_EV_DIV_C_C = 9.31494061E02D; - //Nuclide T1/2 T1/2 [s] Decay Modes ? Q Q?- Q? QEC Q?- n Sn Sp Binding/A Atomic Mass Mass Excess Discovery - //Abund. [mole fract.] BR [%] [?N] [barn] [keV] [keV] [keV] [keV] [keV] [keV] [keV] [? AMU] [keV] + // Nuclide T1/2 T1/2 [s] Decay Modes ? Q Q?- Q? QEC Q?- n Sn Sp Binding/A Atomic Mass Mass + // Excess Discovery + // Abund. [mole fract.] BR [%] [?N] [barn] [keV] [keV] [keV] [keV] [keV] [keV] [keV] [? AMU] [keV] - //Z,N,symb,radius, unc, energy, unc, jp, half-life operator, half_life, unc,unit, half_life [s], unc, decay, decay %, unc, decay, decay %, unc, decay, decay %, unc,isospin,magn. dipole, unc, elect. quad , unc,Qb-,unc,Qb- n,unc,Qa, unc, Qec, unc,Sn,unc, Sp,unc,Binding/A,unc,atomic mass, unc, mass excess,unc, - //Z,N,symbol,energy , unc, jp,half-life operator, half_life, unc,unit, half_life [s], unc, decay, decay %, unc, decay, decay %, unc, decay, decay %, unc,isospin,magn. dipole, unc, elect. quadrupole , unc, - private static final HashMap NUCLIDES =new HashMap<>(); + // Z,N,symb,radius, unc, energy, unc, jp, half-life operator, half_life, unc,unit, half_life [s], unc, decay, decay + // %, unc, decay, decay %, unc, decay, decay %, unc,isospin,magn. dipole, unc, elect. quad , unc,Qb-,unc,Qb- + // n,unc,Qa, unc, Qec, unc,Sn,unc, Sp,unc,Binding/A,unc,atomic mass, unc, mass excess,unc, + // Z,N,symbol,energy , unc, jp,half-life operator, half_life, unc,unit, half_life [s], unc, decay, decay %, unc, + // decay, decay %, unc, decay, decay %, unc,isospin,magn. dipole, unc, elect. quadrupole , unc, + private static final HashMap NUCLIDES = new HashMap<>(); - public static void run(){ - String line=""; + public static void run() { + String line = ""; try { - BufferedReader reader = new BufferedReader(new InputStreamReader(EMNuclideIAEA.class.getResourceAsStream("nuclides.csv"))); - ArrayList blockOfData=new ArrayList<>(4); - while((line=reader.readLine())!=null) { - String[] split= splitButDifferent(line,","); - if(split.length!=19) { - throw new Error("Invalid count (" + split.length + ") of separators in IAEA nuclides database " + line); + BufferedReader reader = + new BufferedReader(new InputStreamReader(EMNuclideIAEA.class.getResourceAsStream("nuclides.csv"))); + ArrayList blockOfData = new ArrayList<>(4); + while ((line = reader.readLine()) != null) { + String[] split = splitButDifferent(line, ","); + if (split.length != 19) { + throw new Error( + "Invalid count (" + split.length + ") of separators in IAEA nuclides database " + line); } - if(!split[1].isEmpty() && !blockOfData.isEmpty()) { + if (!split[1].isEmpty() && !blockOfData.isEmpty()) { new EMNuclideIAEA(blockOfData.toArray(new String[blockOfData.size()][])); blockOfData.clear(); } blockOfData.add(split); } - if(!blockOfData.isEmpty()) { + if (!blockOfData.isEmpty()) { new EMNuclideIAEA(blockOfData.toArray(new String[blockOfData.size()][])); blockOfData.clear(); } reader.close(); - }catch (Exception e){ + } catch (Exception e) { System.out.println(line); e.printStackTrace(); } try { - BufferedReader reader = new BufferedReader(new InputStreamReader(EMNuclideIAEA.class.getResourceAsStream("nuclidesTable.csv"))); - while((line=reader.readLine())!=null) { - String[] split= splitButDifferent(line,","); - if(split.length!=47) { - throw new Error("Invalid count (" + split.length + ") of separators in IAEA nuclidesTable database " + line); + BufferedReader reader = new BufferedReader( + new InputStreamReader(EMNuclideIAEA.class.getResourceAsStream("nuclidesTable.csv"))); + while ((line = reader.readLine()) != null) { + String[] split = splitButDifferent(line, ","); + if (split.length != 47) { + throw new Error("Invalid count (" + split.length + ") of separators in IAEA nuclidesTable database " + + line); } - get(Integer.parseInt(split[0]),Integer.parseInt(split[1])).getMoreData(split); + get(Integer.parseInt(split[0]), Integer.parseInt(split[1])).getMoreData(split); } reader.close(); - }catch (Exception e){ + } catch (Exception e) { System.out.println(line); e.printStackTrace(); } try { - BufferedReader reader = new BufferedReader(new InputStreamReader(EMNuclideIAEA.class.getResourceAsStream("energyLevels.csv"))); - while((line=reader.readLine())!=null) { - String[] split= splitButDifferent(line,","); - if(split.length!=27) { - throw new Error("Invalid count (" + split.length + ") of separators in IAEA energyLevels database " + line); + BufferedReader reader = new BufferedReader( + new InputStreamReader(EMNuclideIAEA.class.getResourceAsStream("energyLevels.csv"))); + while ((line = reader.readLine()) != null) { + String[] split = splitButDifferent(line, ","); + if (split.length != 27) { + throw new Error( + "Invalid count (" + split.length + ") of separators in IAEA energyLevels database " + line); } new energeticState(split); } reader.close(); - }catch (Exception e){ + } catch (Exception e) { System.out.println(line); e.printStackTrace(); } - for(EMNuclideIAEA nuclide:NUCLIDES.values()) { + for (EMNuclideIAEA nuclide : NUCLIDES.values()) { nuclide.makeArrayOfEnergyStates(); } } - public static EMNuclideIAEA get(int protons, int neutrons){ - return NUCLIDES.get((protons<<16)+neutrons); + public static EMNuclideIAEA get(int protons, int neutrons) { + return NUCLIDES.get((protons << 16) + neutrons); } private final short N; private final short Z; - private final double halfTime;//sec - private final double mass;//eV/c^2 - private final short discovery;//year - private TreeMap energeticStates; - private energeticState[] energeticStatesArray; + private final double halfTime; // sec + private final double mass; // eV/c^2 + private final short discovery; // year + private TreeMap energeticStates; + private energeticState[] energeticStatesArray; - - private EMNuclideIAEA(String[][] rows){ - N=Short.parseShort(rows[1][2]); - Z=Short.parseShort(rows[1][0]); - NUCLIDES.put(((int) getZ() <<16)+ getN(),this); + private EMNuclideIAEA(String[][] rows) { + N = Short.parseShort(rows[1][2]); + Z = Short.parseShort(rows[1][0]); + NUCLIDES.put(((int) getZ() << 16) + getN(), this); String[] parts = splitButDifferent(rows[0][16], "|"); - double Mass=doubleOrNaN(parts[0],"mass"); - if(!Double.isNaN(Mass)) { - //System.out.println("Mass =\t" + Mass+"\t"+(N+Z)+"\t"+N+"\t"+Z+"\t"+(Mass/(N+Z))); - mass = Mass* MICRO_AMU_TO_EV_DIV_C_C; - } - else { + double Mass = doubleOrNaN(parts[0], "mass"); + if (!Double.isNaN(Mass)) { + // System.out.println("Mass =\t" + Mass+"\t"+(N+Z)+"\t"+N+"\t"+Z+"\t"+(Mass/(N+Z))); + mass = Mass * MICRO_AMU_TO_EV_DIV_C_C; + } else { mass = Double.NaN; } - discovery=(short)doubleOrNaN(rows[0][18],"discovery"); + discovery = (short) doubleOrNaN(rows[0][18], "discovery"); - if(rows[0][3].contains("STABLE")){ + if (rows[0][3].contains("STABLE")) { halfTime = STABLE_RAW_LIFE_TIME; - }else{ + } else { parts = splitButDifferent(rows[0][4], "|"); - halfTime = doubleOrNaN(parts[0],"half life"); + halfTime = doubleOrNaN(parts[0], "half life"); } } - private void getMoreData(String[] cells){ - //if(DEBUG_MODE) { + private void getMoreData(String[] cells) { + // if(DEBUG_MODE) { // if (add(cells[14])) System.out.println(N + " " + Z); // if (add(cells[17])) System.out.println(N + " " + Z); // if (add(cells[20])) System.out.println(N + " " + Z); - //} - new energeticState(this, getHalfTime(), getDecaysFixed( - cells[14], - doubleOrNaN(cells[15],"chance1"), - cells[17], - doubleOrNaN(cells[18],"chance1"), - cells[20], - doubleOrNaN(cells[21],"chance1"))); + // } + new energeticState( + this, + getHalfTime(), + getDecaysFixed( + cells[14], + doubleOrNaN(cells[15], "chance1"), + cells[17], + doubleOrNaN(cells[18], "chance1"), + cells[20], + doubleOrNaN(cells[21], "chance1"))); } - private static final energeticState[] empty=new energeticState[0]; - private void makeArrayOfEnergyStates(){ - if(energeticStates==null || energeticStates.isEmpty()) { + private static final energeticState[] empty = new energeticState[0]; + + private void makeArrayOfEnergyStates() { + if (energeticStates == null || energeticStates.isEmpty()) { setEnergeticStatesArray(empty); } else { setEnergeticStatesArray(energeticStates.values().toArray(new energeticState[0])); - double life= getHalfTime(); + double life = getHalfTime(); for (energeticState energeticState : getEnergeticStatesArray()) { - if(Double.isNaN(energeticState.Thalf)){ - energeticState.Thalf=life; - }else { - life=energeticState.Thalf; + if (Double.isNaN(energeticState.Thalf)) { + energeticState.Thalf = life; + } else { + life = energeticState.Thalf; } } } } - private double doubleOrNaN(String s, String name){ - s=s.replaceAll("#",""); - if(!s.isEmpty()) { + private double doubleOrNaN(String s, String name) { + s = s.replaceAll("#", ""); + if (!s.isEmpty()) { try { - double value=Double.parseDouble(s); - if(Double.isNaN(value)) { + double value = Double.parseDouble(s); + if (Double.isNaN(value)) { return Double.NaN; } - return value != 0 ?value:Double.NaN; + return value != 0 ? value : Double.NaN; } catch (Exception e) { System.out.println("Invalid Value " + name + ' ' + getN() + ' ' + getZ() + ' ' + s); e.printStackTrace(); @@ -197,64 +209,68 @@ public final class EMNuclideIAEA { this.energeticStatesArray = energeticStatesArray; } - public static final class energeticState{ + public static final class energeticState { public final double energy; public double Thalf; public final iaeaDecay[] decaymodes; - private energeticState(EMNuclideIAEA nuclide, double Thalf, iaeaDecay[] decaymodes){ - energy=0; - this.Thalf=Thalf; - this.decaymodes=decaymodes; - if(nuclide.energeticStates==null) { + private energeticState(EMNuclideIAEA nuclide, double Thalf, iaeaDecay[] decaymodes) { + energy = 0; + this.Thalf = Thalf; + this.decaymodes = decaymodes; + if (nuclide.energeticStates == null) { nuclide.energeticStates = new TreeMap<>(); } - nuclide.energeticStates.put(energy,this); + nuclide.energeticStates.put(energy, this); } - private energeticState(String[] cells){ - EMNuclideIAEA nuclide = get((int)doubleOrNaN(cells[0],"protons"),(int)doubleOrNaN(cells[1],"neutrons")); - if(nuclide==null) { - throw new Error("Missing nuclide " + (int) doubleOrNaN(cells[0], "protons") + ' ' + (int) doubleOrNaN(cells[1], "neutrons")); + private energeticState(String[] cells) { + EMNuclideIAEA nuclide = + get((int) doubleOrNaN(cells[0], "protons"), (int) doubleOrNaN(cells[1], "neutrons")); + if (nuclide == null) { + throw new Error("Missing nuclide " + (int) doubleOrNaN(cells[0], "protons") + ' ' + + (int) doubleOrNaN(cells[1], "neutrons")); } - energy =doubleOrNaN(cells[3],"energy level",nuclide)*1000D;//to eV - if(energy<0) { + energy = doubleOrNaN(cells[3], "energy level", nuclide) * 1000D; // to eV + if (energy < 0) { throw new Error("Invalid energy " + nuclide.getN() + ' ' + nuclide.getZ() + ' ' + cells[3]); } - Thalf =doubleOrNaN(cells[10],"half life",nuclide); - if(nuclide.energeticStates==null) { - new Exception("Should be initialized before doing this... "+ nuclide.getN() + ' ' + nuclide.getZ()).printStackTrace(); + Thalf = doubleOrNaN(cells[10], "half life", nuclide); + if (nuclide.energeticStates == null) { + new Exception("Should be initialized before doing this... " + nuclide.getN() + ' ' + nuclide.getZ()) + .printStackTrace(); nuclide.energeticStates = new TreeMap<>(); } - nuclide.energeticStates.put(energy,this); - //if(DEBUG_MODE) { + nuclide.energeticStates.put(energy, this); + // if(DEBUG_MODE) { // if (add(cells[12])) System.out.println(nuclide.N + " " + nuclide.Z); // if (add(cells[15])) System.out.println(nuclide.N + " " + nuclide.Z); // if (add(cells[18])) System.out.println(nuclide.N + " " + nuclide.Z); - //} + // } decaymodes = getDecaysFixed( cells[12], - doubleOrNaN(cells[13],"chance 1",nuclide), + doubleOrNaN(cells[13], "chance 1", nuclide), cells[15], - doubleOrNaN(cells[16],"chance 2",nuclide), + doubleOrNaN(cells[16], "chance 2", nuclide), cells[18], - doubleOrNaN(cells[19],"chance 3",nuclide)); + doubleOrNaN(cells[19], "chance 3", nuclide)); } - private double doubleOrNaN(String s, String name){ - return doubleOrNaN(s,name,null); + private double doubleOrNaN(String s, String name) { + return doubleOrNaN(s, name, null); } - private double doubleOrNaN(String s, String name, EMNuclideIAEA nuclide){ + private double doubleOrNaN(String s, String name, EMNuclideIAEA nuclide) { s = s.replaceAll("#", ""); if (!s.isEmpty()) { try { return Double.parseDouble(s); } catch (Exception e) { - if(nuclide==null){ + if (nuclide == null) { System.out.println("Invalid Value " + name + ' ' + s); - }else { - System.out.println("Invalid Value " + name + ' ' + nuclide.getN() + ' ' + nuclide.getZ() + ' ' + s); + } else { + System.out.println( + "Invalid Value " + name + ' ' + nuclide.getN() + ' ' + nuclide.getZ() + ' ' + s); } e.printStackTrace(); } @@ -263,74 +279,78 @@ public final class EMNuclideIAEA { } } - private static HashSet decays=new HashSet<>(); - private static boolean add(String s){ - if(decays.add(s)){ + private static HashSet decays = new HashSet<>(); + + private static boolean add(String s) { + if (decays.add(s)) { System.out.println(s); return true; } return false; } - private static iaeaDecay[] getDecaysFixed(String decay1, double chance1,String decay2, double chance2,String decay3, double chance3){ - boolean do1,do2,do3; - do1= !decay1.isEmpty() && !Double.isNaN(chance1); - do2= !decay2.isEmpty() && !Double.isNaN(chance2); - do3= !decay3.isEmpty() && !Double.isNaN(chance3); - TreeMap decays=new TreeMap<>(); - if(do1 && do2 && chance1==100 && chance2==100 && chance3!=100){ + private static iaeaDecay[] getDecaysFixed( + String decay1, double chance1, String decay2, double chance2, String decay3, double chance3) { + boolean do1, do2, do3; + do1 = !decay1.isEmpty() && !Double.isNaN(chance1); + do2 = !decay2.isEmpty() && !Double.isNaN(chance2); + do3 = !decay3.isEmpty() && !Double.isNaN(chance3); + TreeMap decays = new TreeMap<>(); + if (do1 && do2 && chance1 == 100 && chance2 == 100 && chance3 != 100) { decays.put(1D, new iaeaDecay(1D, decay1)); - if(do3) { - chance3/=100d; + if (do3) { + chance3 /= 100d; decays.put(chance3, new iaeaDecay(chance3, decay2)); - chance2=1d-chance3; + chance2 = 1d - chance3; } - chance2/=2d; + chance2 /= 2d; decays.put(chance2, new iaeaDecay(chance2, decay2)); - }else if(do1 && chance1==100){ + } else if (do1 && chance1 == 100) { decays.put(1D, new iaeaDecay(1D, decay1)); - if(do2) { - chance2/=100d; + if (do2) { + chance2 /= 100d; decays.put(chance2, new iaeaDecay(chance2, decay2)); } - if(do3) { + if (do3) { chance3 /= 100d; - if(do2) { + if (do2) { chance3 *= chance2; } decays.put(chance3, new iaeaDecay(chance3, decay3)); } - }else{ - double normalization= (do1?chance1:0) + (do2?chance2:0) + (do3?chance3:0); - if(do1) { - chance1/=normalization; + } else { + double normalization = (do1 ? chance1 : 0) + (do2 ? chance2 : 0) + (do3 ? chance3 : 0); + if (do1) { + chance1 /= normalization; decays.put(chance1, new iaeaDecay(chance1, decay1)); } - if(do2) { - chance2/=normalization; + if (do2) { + chance2 /= normalization; decays.put(chance2, new iaeaDecay(chance2, decay2)); } - if(do3) { - chance3/=normalization; + if (do3) { + chance3 /= normalization; decays.put(chance3, new iaeaDecay(chance3, decay3)); } - if(do1||do2||do3) { + if (do1 || do2 || do3) { decays.put(1D, iaeaDecay.DEAD_END); } } - //if(DEBUG_MODE){ - // System.out.println("INVALID SUM?\t"+normalization+"\t"+decay1+"\t"+chance1+"\t"+decay2+"\t"+chance2+"\t"+decay3+"\t"+chance3); - //} + // if(DEBUG_MODE){ + // System.out.println("INVALID + // SUM?\t"+normalization+"\t"+decay1+"\t"+chance1+"\t"+decay2+"\t"+chance2+"\t"+decay3+"\t"+chance3); + // } return decays.values().toArray(new iaeaDecay[0]); } - public static final class iaeaDecay{ + public static final class iaeaDecay { public final double chance; public final String decayName; - public static final iaeaDecay DEAD_END=new iaeaDecay(1D,"DEAD_END"); - private iaeaDecay(double chance,String decayName){ - this.chance=chance; - this.decayName=decayName; + public static final iaeaDecay DEAD_END = new iaeaDecay(1D, "DEAD_END"); + + private iaeaDecay(double chance, String decayName) { + this.chance = chance; + this.decayName = decayName; } } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMBosonDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMBosonDefinition.java index affebf91a2..18d8852657 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMBosonDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMBosonDefinition.java @@ -1,11 +1,12 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.EMPrimitiveTemplate; - import static net.minecraft.util.StatCollector.translateToLocal; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.EMPrimitiveTemplate; + public abstract class EMBosonDefinition extends EMPrimitiveTemplate { - protected EMBosonDefinition(String name, String symbol, int generation, double mass, int charge, int color, int ID, String bind) { + protected EMBosonDefinition( + String name, String symbol, int generation, double mass, int charge, int color, int ID, String bind) { super(name, symbol, generation, mass, charge, color, ID, bind); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMFermionDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMFermionDefinition.java index 4c0e1d28bc..28971400d5 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMFermionDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMFermionDefinition.java @@ -1,11 +1,12 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.EMPrimitiveTemplate; - import static net.minecraft.util.StatCollector.translateToLocal; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.EMPrimitiveTemplate; + public abstract class EMFermionDefinition extends EMPrimitiveTemplate { - protected EMFermionDefinition(String name, String symbol, int generation, double mass, int charge, int color, int ID, String bind) { + protected EMFermionDefinition( + String name, String symbol, int generation, double mass, int charge, int color, int ID, String bind) { super(name, symbol, generation, mass, charge, color, ID, bind); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMGaugeBosonDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMGaugeBosonDefinition.java index 8b1e1d556b..3242b374a9 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMGaugeBosonDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMGaugeBosonDefinition.java @@ -1,17 +1,17 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; -import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; -import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; -import com.github.technus.tectech.util.TT_Utility; - import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMLeptonDefinition.*; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMNeutrinoDefinition.*; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMQuarkDefinition.*; import static net.minecraft.util.StatCollector.translateToLocal; +import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; +import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; +import com.github.technus.tectech.util.TT_Utility; + /** * Created by danie_000 on 22.10.2016. */ @@ -19,15 +19,16 @@ public class EMGaugeBosonDefinition extends EMBosonDefinition { public static final EMGaugeBosonDefinition boson_g__ = new EMGaugeBosonDefinition("tt.keyword.Gluon", "g", 0, 0, 8, 27, "g"), boson_Y__ = new EMGaugeBosonDefinition("tt.keyword.Photon", "\u03b3", 1e-18D, 0, -1, 28, "Y"), - boson_Z = new EMGaugeBosonDefinition("tt.keyword.Weak0", "Z0", 91.1876e9, 0, -1, 29, "Z0"), - boson_W_ = new EMGaugeBosonDefinition("tt.keyword.WeakPlus", "W+", 80.379e9, 3, -1, 30, "W+"), - boson_W = new EMGaugeBosonDefinition("tt.keyword.WeakMinus", "W-", 80.379e9, -3, -1, 31, "W-"); - //deadEnd - public static final EMDecay deadEnd = new EMDecay(boson_Y__, boson_Y__); - public static final EMDefinitionStack boson_Y__1 = new EMDefinitionStack(boson_Y__, 1); - public static final EMDecay deadEndHalf = new EMDecay(boson_Y__1); + boson_Z = new EMGaugeBosonDefinition("tt.keyword.Weak0", "Z0", 91.1876e9, 0, -1, 29, "Z0"), + boson_W_ = new EMGaugeBosonDefinition("tt.keyword.WeakPlus", "W+", 80.379e9, 3, -1, 30, "W+"), + boson_W = new EMGaugeBosonDefinition("tt.keyword.WeakMinus", "W-", 80.379e9, -3, -1, 31, "W-"); + // deadEnd + public static final EMDecay deadEnd = new EMDecay(boson_Y__, boson_Y__); + public static final EMDefinitionStack boson_Y__1 = new EMDefinitionStack(boson_Y__, 1); + public static final EMDecay deadEndHalf = new EMDecay(boson_Y__1); - protected EMGaugeBosonDefinition(String name, String symbol, double mass, int charge, int color, int ID, String bind) { + protected EMGaugeBosonDefinition( + String name, String symbol, double mass, int charge, int color, int ID, String bind) { super(name, TT_Utility.toSuperscript(symbol), 0, mass, charge, color, ID, bind); } @@ -35,7 +36,12 @@ public class EMGaugeBosonDefinition extends EMBosonDefinition { registry.registerDefinitionClass(new EMType(EMGaugeBosonDefinition.class, "tt.keyword.GaugeBoson")); boson_g__.init(registry, boson_g__, 3e-50, 0, 0, deadEndHalf); boson_Y__.init(registry, boson_Y__, NO_DECAY_RAW_LIFE_TIME, -1, -1, NO_DECAY); - boson_Z.init(registry, boson_Z, 3e-25, 11, 11, + boson_Z.init( + registry, + boson_Z, + 3e-25, + 11, + 11, new EMDecay(0.03363, lepton_e, lepton_e_), new EMDecay(0.03366, lepton_m, lepton_m_), new EMDecay(0.03367, lepton_t, lepton_t_), @@ -48,7 +54,12 @@ public class EMGaugeBosonDefinition extends EMBosonDefinition { new EMDecay(0.152, quark_s, quark_s_), new EMDecay(0.152, quark_b, quark_b_), deadEnd); - boson_W.init(registry, boson_W_, 3e-25, 9, 9, + boson_W.init( + registry, + boson_W_, + 3e-25, + 9, + 9, new EMDecay(0.108, lepton_e, lepton_Ve_), new EMDecay(0.108, lepton_m, lepton_Vm_), new EMDecay(0.108, lepton_t, lepton_Vt_), @@ -59,7 +70,12 @@ public class EMGaugeBosonDefinition extends EMBosonDefinition { new EMDecay(0.112666, quark_c_, quark_s), new EMDecay(0.112666, quark_c_, quark_b), deadEnd); - boson_W_.init(registry, boson_W, 3e-25, 9, 9, + boson_W_.init( + registry, + boson_W, + 3e-25, + 9, + 9, new EMDecay(0.108, lepton_e_, lepton_Ve), new EMDecay(0.108, lepton_m_, lepton_Vm), new EMDecay(0.108, lepton_t_, lepton_Vt), diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMLeptonDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMLeptonDefinition.java index 0926b34425..826c7a63a1 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMLeptonDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMLeptonDefinition.java @@ -1,70 +1,86 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; -import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; -import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; -import com.github.technus.tectech.util.TT_Utility; - import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.boson_Y__; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMNeutrinoDefinition.*; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMScalarBosonDefinition.boson_H__; import static net.minecraft.util.StatCollector.translateToLocal; +import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; +import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; +import com.github.technus.tectech.util.TT_Utility; + /** * Created by danie_000 on 22.10.2016. */ public class EMLeptonDefinition extends EMFermionDefinition { public static final EMLeptonDefinition - lepton_e = new EMLeptonDefinition("tt.keyword.Electron", "\u03b2-", 1, 0.511e6D, -3, 15,"e-"), - lepton_m = new EMLeptonDefinition("tt.keyword.Muon", "\u03bc-", 2, 105.658e6D, -3, 17,"m-"), - lepton_t = new EMLeptonDefinition("tt.keyword.Tauon", "\u03c4-", 3, 1776.83e6D, -3, 19,"t-"), - lepton_e_ = new EMLeptonDefinition("tt.keyword.Positron", "\u03b2+", -1, 0.511e6D, 3, 16,"e+"), - lepton_m_ = new EMLeptonDefinition("tt.keyword.Antimuon", "\u03bc+", -2, 105.658e6D, 3, 18,"m+"), - lepton_t_ = new EMLeptonDefinition("tt.keyword.Antitauon", "\u03c4+", -3, 1776.83e6D, 3, 20,"t+"); + lepton_e = new EMLeptonDefinition("tt.keyword.Electron", "\u03b2-", 1, 0.511e6D, -3, 15, "e-"), + lepton_m = new EMLeptonDefinition("tt.keyword.Muon", "\u03bc-", 2, 105.658e6D, -3, 17, "m-"), + lepton_t = new EMLeptonDefinition("tt.keyword.Tauon", "\u03c4-", 3, 1776.83e6D, -3, 19, "t-"), + lepton_e_ = new EMLeptonDefinition("tt.keyword.Positron", "\u03b2+", -1, 0.511e6D, 3, 16, "e+"), + lepton_m_ = new EMLeptonDefinition("tt.keyword.Antimuon", "\u03bc+", -2, 105.658e6D, 3, 18, "m+"), + lepton_t_ = new EMLeptonDefinition("tt.keyword.Antitauon", "\u03c4+", -3, 1776.83e6D, 3, 20, "t+"); - public static final EMDefinitionStack lepton_e1 = new EMDefinitionStack(lepton_e, 1); - public static final EMDefinitionStack lepton_e2 = new EMDefinitionStack(lepton_e, 2); + public static final EMDefinitionStack lepton_e1 = new EMDefinitionStack(lepton_e, 1); + public static final EMDefinitionStack lepton_e2 = new EMDefinitionStack(lepton_e, 2); public static final EMDefinitionStack lepton_e_1 = new EMDefinitionStack(lepton_e_, 1); public static final EMDefinitionStack lepton_e_2 = new EMDefinitionStack(lepton_e_, 2); - protected EMLeptonDefinition(String name, String symbol, int type, double mass, int charge, int ID,String bind) { - super(name, TT_Utility.toSuperscript(symbol), type, mass, charge, -1, ID,bind); - //this.itemThing=null; - //this.fluidThing=null; + protected EMLeptonDefinition(String name, String symbol, int type, double mass, int charge, int ID, String bind) { + super(name, TT_Utility.toSuperscript(symbol), type, mass, charge, -1, ID, bind); + // this.itemThing=null; + // this.fluidThing=null; } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(new EMType(EMLeptonDefinition.class,"tt.keyword.Lepton")); - lepton_e.init(registry,lepton_e_, STABLE_RAW_LIFE_TIME, 0, 1, - deadEnd, - new EMDecay(lepton_e,boson_Y__)); - lepton_m.init(registry,lepton_m_, 2.197019e-6D, 0, 1, + registry.registerDefinitionClass(new EMType(EMLeptonDefinition.class, "tt.keyword.Lepton")); + lepton_e.init(registry, lepton_e_, STABLE_RAW_LIFE_TIME, 0, 1, deadEnd, new EMDecay(lepton_e, boson_Y__)); + lepton_m.init( + registry, + lepton_m_, + 2.197019e-6D, + 0, + 1, new EMDecay(0.9D, lepton_e, lepton_Ve_, lepton_Vm), - deadEnd);//makes photons and don't care - lepton_t.init(registry,lepton_t_, 2.903e-13D, 1, 3, + deadEnd); // makes photons and don't care + lepton_t.init( + registry, + lepton_t_, + 2.903e-13D, + 1, + 3, new EMDecay(0.05F, lepton_m, lepton_Vm_, lepton_Vt, boson_H__), new EMDecay(0.1D, lepton_e, lepton_Ve_, lepton_Vm), new EMDecay(0.8D, lepton_m, lepton_Vm_, lepton_Vt, boson_Y__), - deadEnd);//makes photons and don't care + deadEnd); // makes photons and don't care - lepton_e_.init(registry,lepton_e, STABLE_RAW_LIFE_TIME, 0, 1, - deadEnd, - new EMDecay(lepton_e,boson_Y__)); - lepton_m_.init(registry,lepton_m, 2.197019e-6F, 0, 1, + lepton_e_.init(registry, lepton_e, STABLE_RAW_LIFE_TIME, 0, 1, deadEnd, new EMDecay(lepton_e, boson_Y__)); + lepton_m_.init( + registry, + lepton_m, + 2.197019e-6F, + 0, + 1, new EMDecay(0.9F, lepton_e_, lepton_Ve, lepton_Vm_), - deadEnd);//makes photons and don't care - lepton_t_.init(registry,lepton_t, 2.903e-13F, 1, 3, + deadEnd); // makes photons and don't care + lepton_t_.init( + registry, + lepton_t, + 2.903e-13F, + 1, + 3, new EMDecay(0.05F, lepton_m_, lepton_Vm, lepton_Vt_, boson_H__), new EMDecay(0.1F, lepton_e_, lepton_Ve, lepton_Vm_), new EMDecay(0.8F, lepton_m_, lepton_Vm, lepton_Vt_, boson_Y__), - deadEnd);//makes photons and don't care + deadEnd); // makes photons and don't care } @Override public String getLocalizedName() { - return translateToLocal("tt.keyword.Lepton")+": " + getShortLocalizedName(); + return translateToLocal("tt.keyword.Lepton") + ": " + getShortLocalizedName(); } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMNeutrinoDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMNeutrinoDefinition.java index fee5774e15..7813870a36 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMNeutrinoDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMNeutrinoDefinition.java @@ -1,54 +1,46 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEndHalf; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEndHalf; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 22.10.2016. */ public class EMNeutrinoDefinition extends EMLeptonDefinition { public static final EMNeutrinoDefinition - lepton_Ve = new EMNeutrinoDefinition("tt.keyword.ElectronNeutrino", "\u03bd\u03b2", 1, 2e0D, 21,"Ve"), - lepton_Vm = new EMNeutrinoDefinition("tt.keyword.MuonNeutrino", "\u03bd\u03bc", 2, 0.15e6D, 23,"Vm"), - lepton_Vt = new EMNeutrinoDefinition("tt.keyword.TauonNeutrino", "\u03bd\u03c4", 3, 15e6D, 25,"Vt"), - lepton_Ve_ = new EMNeutrinoDefinition("tt.keyword.PositronNeutrino", "~\u03bd\u03b2", -1, 2e0D, 22,"~Ve"), - lepton_Vm_ = new EMNeutrinoDefinition("tt.keyword.AntimuonNeutrino", "~\u03bd\u03bc", -2, 0.15e6D, 24,"~Vm"), - lepton_Vt_ = new EMNeutrinoDefinition("tt.keyword.AntitauonNeutrino", "~\u03bd\u03c4", -3, 15e6D, 26,"~Vt"); - - public static final EMDefinitionStack lepton_Ve1 = new EMDefinitionStack(lepton_Ve, 1); - public static final EMDefinitionStack lepton_Ve2 = new EMDefinitionStack(lepton_Ve, 2); + lepton_Ve = new EMNeutrinoDefinition("tt.keyword.ElectronNeutrino", "\u03bd\u03b2", 1, 2e0D, 21, "Ve"), + lepton_Vm = new EMNeutrinoDefinition("tt.keyword.MuonNeutrino", "\u03bd\u03bc", 2, 0.15e6D, 23, "Vm"), + lepton_Vt = new EMNeutrinoDefinition("tt.keyword.TauonNeutrino", "\u03bd\u03c4", 3, 15e6D, 25, "Vt"), + lepton_Ve_ = new EMNeutrinoDefinition("tt.keyword.PositronNeutrino", "~\u03bd\u03b2", -1, 2e0D, 22, "~Ve"), + lepton_Vm_ = + new EMNeutrinoDefinition("tt.keyword.AntimuonNeutrino", "~\u03bd\u03bc", -2, 0.15e6D, 24, "~Vm"), + lepton_Vt_ = + new EMNeutrinoDefinition("tt.keyword.AntitauonNeutrino", "~\u03bd\u03c4", -3, 15e6D, 26, "~Vt"); + + public static final EMDefinitionStack lepton_Ve1 = new EMDefinitionStack(lepton_Ve, 1); + public static final EMDefinitionStack lepton_Ve2 = new EMDefinitionStack(lepton_Ve, 2); public static final EMDefinitionStack lepton_Ve_1 = new EMDefinitionStack(lepton_Ve_, 1); public static final EMDefinitionStack lepton_Ve_2 = new EMDefinitionStack(lepton_Ve_, 2); - protected EMNeutrinoDefinition(String name, String symbol, int type, double mass, int ID,String bind) { - super(name, symbol, type, mass, 0, ID,bind); + protected EMNeutrinoDefinition(String name, String symbol, int type, double mass, int ID, String bind) { + super(name, symbol, type, mass, 0, ID, bind); } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(new EMType(EMNeutrinoDefinition.class,"tt.keyword.Neutrino")); - lepton_Ve.init(registry,lepton_Ve_, 1D, -1, -1, - EMDecay.NO_PRODUCT); - lepton_Vm.init(registry,lepton_Vm_, 1D, 1, 0, - new EMDecay(0.825D, nothing), - deadEndHalf); - lepton_Vt.init(registry,lepton_Vt_, 1, 1, 0, - new EMDecay(0.75F, nothing), - deadEnd); - - lepton_Ve_.init(registry,lepton_Ve, 1, -1, -1, - EMDecay.NO_PRODUCT); - lepton_Vm_.init(registry,lepton_Vm, 1, 1, 0, - new EMDecay(0.825F, nothing), - deadEndHalf); - lepton_Vt_.init(registry,lepton_Vt, 1, 1, 0, - new EMDecay(0.75F, nothing), - deadEnd); + registry.registerDefinitionClass(new EMType(EMNeutrinoDefinition.class, "tt.keyword.Neutrino")); + lepton_Ve.init(registry, lepton_Ve_, 1D, -1, -1, EMDecay.NO_PRODUCT); + lepton_Vm.init(registry, lepton_Vm_, 1D, 1, 0, new EMDecay(0.825D, nothing), deadEndHalf); + lepton_Vt.init(registry, lepton_Vt_, 1, 1, 0, new EMDecay(0.75F, nothing), deadEnd); + + lepton_Ve_.init(registry, lepton_Ve, 1, -1, -1, EMDecay.NO_PRODUCT); + lepton_Vm_.init(registry, lepton_Vm, 1, 1, 0, new EMDecay(0.825F, nothing), deadEndHalf); + lepton_Vt_.init(registry, lepton_Vt, 1, 1, 0, new EMDecay(0.75F, nothing), deadEnd); } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMPrimitiveDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMPrimitiveDefinition.java index c2b77f7704..b78e6857a8 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMPrimitiveDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMPrimitiveDefinition.java @@ -1,28 +1,40 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; +import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.EMPrimitiveTemplate; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; -import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 22.10.2016. */ public class EMPrimitiveDefinition extends EMPrimitiveTemplate { public static final EMPrimitiveDefinition - nbtE__ = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveNBTERROR" , "!" , 0 , 0D , -1 , Integer.MIN_VALUE , "!" ), - null__ = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveNULLPOINTER" , "." , 0 , 0D , -3 , Integer.MIN_VALUE+1 , "." ), - space = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveSpace" , "_" , 0 , 0D , -4 , Integer.MIN_VALUE + 2 , "_" ), - space_ = new EMPrimitiveDefinition ( "tt.keyword.PrimitivePresence" , "~_" , 0 , 0D , -4 , Integer.MIN_VALUE + 3 , "~_" ), - mass = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveMass" , "*" , 0 , 1 , -4 , Integer.MIN_VALUE + 4 , "*" ), - mass_ = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveDarkMass" , "~*" , 0 , 1 , -4 , Integer.MIN_VALUE + 5 , "~*" ), - energy = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveEnergy" , "E" , 4 , 0D , -4 , Integer.MIN_VALUE + 6 , "E" ), - energy_ = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveDarkEnergy" , "~E" , -4 , 0 , -4 , Integer.MIN_VALUE + 7 , "~E" ), - magic = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveMagic" , "Ma" , 5 , 1e5D , 0 , Integer.MIN_VALUE + 8 , "Ma" ), - magic_ = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveAntimagic" , "~Ma" , -5 , 1e5D , 0 , Integer.MIN_VALUE + 9 , "~Ma" ); - + nbtE__ = new EMPrimitiveDefinition("tt.keyword.PrimitiveNBTERROR", "!", 0, 0D, -1, Integer.MIN_VALUE, "!"), + null__ = + new EMPrimitiveDefinition( + "tt.keyword.PrimitiveNULLPOINTER", ".", 0, 0D, -3, Integer.MIN_VALUE + 1, "."), + space = new EMPrimitiveDefinition("tt.keyword.PrimitiveSpace", "_", 0, 0D, -4, Integer.MIN_VALUE + 2, "_"), + space_ = + new EMPrimitiveDefinition( + "tt.keyword.PrimitivePresence", "~_", 0, 0D, -4, Integer.MIN_VALUE + 3, "~_"), + mass = new EMPrimitiveDefinition("tt.keyword.PrimitiveMass", "*", 0, 1, -4, Integer.MIN_VALUE + 4, "*"), + mass_ = + new EMPrimitiveDefinition( + "tt.keyword.PrimitiveDarkMass", "~*", 0, 1, -4, Integer.MIN_VALUE + 5, "~*"), + energy = + new EMPrimitiveDefinition("tt.keyword.PrimitiveEnergy", "E", 4, 0D, -4, Integer.MIN_VALUE + 6, "E"), + energy_ = + new EMPrimitiveDefinition( + "tt.keyword.PrimitiveDarkEnergy", "~E", -4, 0, -4, Integer.MIN_VALUE + 7, "~E"), + magic = + new EMPrimitiveDefinition( + "tt.keyword.PrimitiveMagic", "Ma", 5, 1e5D, 0, Integer.MIN_VALUE + 8, "Ma"), + magic_ = + new EMPrimitiveDefinition( + "tt.keyword.PrimitiveAntimagic", "~Ma", -5, 1e5D, 0, Integer.MIN_VALUE + 9, "~Ma"); protected EMPrimitiveDefinition(String name, String symbol, int type, double mass, int color, int ID, String bind) { super(name, symbol, type, mass, 0, color, ID, bind); @@ -55,4 +67,4 @@ public class EMPrimitiveDefinition extends EMPrimitiveTemplate { public boolean isTimeSpanHalfLife() { return false; } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMQuarkDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMQuarkDefinition.java index a93b16ca0d..f1179f892f 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMQuarkDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMQuarkDefinition.java @@ -1,101 +1,161 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; -import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; - import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMLeptonDefinition.*; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMNeutrinoDefinition.*; import static net.minecraft.util.StatCollector.translateToLocal; +import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; + /** * Created by danie_000 on 22.10.2016. */ public class EMQuarkDefinition extends EMFermionDefinition { public static final EMQuarkDefinition - quark_u = new EMQuarkDefinition("tt.keyword.QuarkUp", "u", 1, 2.3e6D, 2, 3,"u"), - quark_c = new EMQuarkDefinition("tt.keyword.QuarkCharm", "c", 2, 1.29e9D, 2, 9,"c"), - quark_t = new EMQuarkDefinition("tt.keyword.QuarkTop", "t", 3, 172.44e9D, 2, 13,"t"), - quark_d = new EMQuarkDefinition("tt.keyword.QuarkDown", "d", 1, 4.8e6D, -1, 5,"d"), - quark_s = new EMQuarkDefinition("tt.keyword.QuarkStrange", "s", 2, 95e6D, -1, 7,"s"), - quark_b = new EMQuarkDefinition("tt.keyword.QuarkBottom", "b", 3, 4.65e9D, -1, 11,"b"), - quark_u_ = new EMQuarkDefinition("tt.keyword.QuarkAntiUp", "~u", -1, 2.3e6D, -2, 4,"~u"), - quark_c_ = new EMQuarkDefinition("tt.keyword.QuarkAntiCharm", "~c", -2, 1.29e9D, -2, 10,"~c"), - quark_t_ = new EMQuarkDefinition("tt.keyword.QuarkAntiTop", "~t", -3, 172.44e9D, -2, 14,"~t"), - quark_d_ = new EMQuarkDefinition("tt.keyword.QuarkAntiDown", "~d", -1, 4.8e6D, 1, 6,"~d"), - quark_s_ = new EMQuarkDefinition("tt.keyword.QuarkAntiStrange", "~s", -2, 95e6D, 1, 8,"~s"), - quark_b_ = new EMQuarkDefinition("tt.keyword.QuarkAntiBottom", "~b", -3, 4.65e9D, 1, 12,"~b"); + quark_u = new EMQuarkDefinition("tt.keyword.QuarkUp", "u", 1, 2.3e6D, 2, 3, "u"), + quark_c = new EMQuarkDefinition("tt.keyword.QuarkCharm", "c", 2, 1.29e9D, 2, 9, "c"), + quark_t = new EMQuarkDefinition("tt.keyword.QuarkTop", "t", 3, 172.44e9D, 2, 13, "t"), + quark_d = new EMQuarkDefinition("tt.keyword.QuarkDown", "d", 1, 4.8e6D, -1, 5, "d"), + quark_s = new EMQuarkDefinition("tt.keyword.QuarkStrange", "s", 2, 95e6D, -1, 7, "s"), + quark_b = new EMQuarkDefinition("tt.keyword.QuarkBottom", "b", 3, 4.65e9D, -1, 11, "b"), + quark_u_ = new EMQuarkDefinition("tt.keyword.QuarkAntiUp", "~u", -1, 2.3e6D, -2, 4, "~u"), + quark_c_ = new EMQuarkDefinition("tt.keyword.QuarkAntiCharm", "~c", -2, 1.29e9D, -2, 10, "~c"), + quark_t_ = new EMQuarkDefinition("tt.keyword.QuarkAntiTop", "~t", -3, 172.44e9D, -2, 14, "~t"), + quark_d_ = new EMQuarkDefinition("tt.keyword.QuarkAntiDown", "~d", -1, 4.8e6D, 1, 6, "~d"), + quark_s_ = new EMQuarkDefinition("tt.keyword.QuarkAntiStrange", "~s", -2, 95e6D, 1, 8, "~s"), + quark_b_ = new EMQuarkDefinition("tt.keyword.QuarkAntiBottom", "~b", -3, 4.65e9D, 1, 12, "~b"); - protected EMQuarkDefinition(String name, String symbol, int type, double mass, int charge, int ID,String bind) { - super(name, symbol, type, mass, charge, 0, ID,bind); + protected EMQuarkDefinition(String name, String symbol, int type, double mass, int charge, int ID, String bind) { + super(name, symbol, type, mass, charge, 0, ID, bind); } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(new EMType(EMQuarkDefinition.class,"tt.keyword.Quark")); - quark_u.init(registry,quark_u_, STABLE_RAW_LIFE_TIME, 3, -1, - new EMDecay(1.23201e-5D, quark_b/*,lepton_t_,lepton_Vt*/), - new EMDecay(0.050778116D, quark_s/*,lepton_m_,lepton_Vm*/), + registry.registerDefinitionClass(new EMType(EMQuarkDefinition.class, "tt.keyword.Quark")); + quark_u.init( + registry, + quark_u_, + STABLE_RAW_LIFE_TIME, + 3, + -1, + new EMDecay(1.23201e-5D, quark_b /*,lepton_t_,lepton_Vt*/), + new EMDecay(0.050778116D, quark_s /*,lepton_m_,lepton_Vm*/), new EMDecay(0.9D, quark_d, lepton_e_, lepton_Ve), - deadEnd);//makes photons and don't care - quark_c.init(registry,quark_c_, 0.5e-13D, 1, -1, - new EMDecay(0.00169744D, quark_b/*,lepton_t_,lepton_Vt*/), + deadEnd); // makes photons and don't care + quark_c.init( + registry, + quark_c_, + 0.5e-13D, + 1, + -1, + new EMDecay(0.00169744D, quark_b /*,lepton_t_,lepton_Vt*/), new EMDecay(0.05071504D, quark_d, lepton_m_, lepton_Vm), new EMDecay(0.9D, quark_s, lepton_e_, lepton_Ve), - deadEnd);//makes photons and don't care - quark_t.init(registry,quark_t_, 2.5e-26D, 0, -1, + deadEnd); // makes photons and don't care + quark_t.init( + registry, + quark_t_, + 2.5e-26D, + 0, + -1, new EMDecay(7.51689e-5D, quark_d, lepton_t_, lepton_Vt), new EMDecay(0.00163216D, quark_s, lepton_m_, lepton_Vm), new EMDecay(0.9D, quark_b, lepton_e_, lepton_Ve), - deadEnd);//makes photons and don't care + deadEnd); // makes photons and don't care - quark_d.init(registry,quark_d_, STABLE_RAW_LIFE_TIME, 3, -1, - new EMDecay(7.51689e-5D, quark_t/*,lepton_t,lepton_Vt_*/), - new EMDecay(0.05071504D, quark_c/*,lepton_m,lepton_Vm_*/), + quark_d.init( + registry, + quark_d_, + STABLE_RAW_LIFE_TIME, + 3, + -1, + new EMDecay(7.51689e-5D, quark_t /*,lepton_t,lepton_Vt_*/), + new EMDecay(0.05071504D, quark_c /*,lepton_m,lepton_Vm_*/), new EMDecay(0.9D, quark_u, lepton_e, lepton_Ve_), - deadEnd);//makes photons and don't care - quark_s.init(registry,quark_s_, 0.6e-9D, 1, -1, - new EMDecay(0.00163216D, quark_t/*,lepton_t,lepton_Vt_*/), + deadEnd); // makes photons and don't care + quark_s.init( + registry, + quark_s_, + 0.6e-9D, + 1, + -1, + new EMDecay(0.00163216D, quark_t /*,lepton_t,lepton_Vt_*/), new EMDecay(0.050778116D, quark_u, lepton_m, lepton_Vm_), new EMDecay(0.9D, quark_c, lepton_e, lepton_Ve_), - deadEnd);//makes photons and don't care - quark_b.init(registry,quark_b_, 0.7e-13D, 0, -1, + deadEnd); // makes photons and don't care + quark_b.init( + registry, + quark_b_, + 0.7e-13D, + 0, + -1, new EMDecay(1.23201e-5D, quark_u, lepton_t, lepton_Vt_), new EMDecay(0.00169744D, quark_c, lepton_m, lepton_Vm_), new EMDecay(0.9D, quark_t, lepton_e, lepton_Ve_), - deadEnd);//makes photons and don't care + deadEnd); // makes photons and don't care - quark_u_.init(registry,quark_u, STABLE_RAW_LIFE_TIME, 3, -1, - new EMDecay(1.23201e-5D, quark_b_/*,lepton_t,lepton_Vt_*/), - new EMDecay(0.050778116D, quark_s_/*,lepton_m,lepton_Vm_*/), + quark_u_.init( + registry, + quark_u, + STABLE_RAW_LIFE_TIME, + 3, + -1, + new EMDecay(1.23201e-5D, quark_b_ /*,lepton_t,lepton_Vt_*/), + new EMDecay(0.050778116D, quark_s_ /*,lepton_m,lepton_Vm_*/), new EMDecay(0.9D, quark_d_, lepton_e, lepton_Ve_), - deadEnd);//makes photons and don't care - quark_c_.init(registry,quark_c, 0.5e-13D, 1, -1, - new EMDecay(0.00169744F, quark_b_/*,lepton_t,lepton_Vt_*/), + deadEnd); // makes photons and don't care + quark_c_.init( + registry, + quark_c, + 0.5e-13D, + 1, + -1, + new EMDecay(0.00169744F, quark_b_ /*,lepton_t,lepton_Vt_*/), new EMDecay(0.05071504F, quark_d_, lepton_m, lepton_Vm_), new EMDecay(0.9F, quark_s_, lepton_e, lepton_Ve_), - deadEnd);//makes photons and don't care - quark_t_.init(registry,quark_t, 2.5e-26F, 0, -1, + deadEnd); // makes photons and don't care + quark_t_.init( + registry, + quark_t, + 2.5e-26F, + 0, + -1, new EMDecay(7.51689e-5F, quark_d_, lepton_t, lepton_Vt_), new EMDecay(0.00163216F, quark_s_, lepton_m, lepton_Vm_), new EMDecay(0.9F, quark_b_, lepton_e, lepton_Ve_), - deadEnd);//makes photons and don't care + deadEnd); // makes photons and don't care - quark_d_.init(registry,quark_d, STABLE_RAW_LIFE_TIME, 3, -1, - new EMDecay(7.51689e-5F, quark_t_/*,lepton_t_,lepton_Vt*/), - new EMDecay(0.05071504F, quark_c_/*,lepton_m_,lepton_Vm*/), + quark_d_.init( + registry, + quark_d, + STABLE_RAW_LIFE_TIME, + 3, + -1, + new EMDecay(7.51689e-5F, quark_t_ /*,lepton_t_,lepton_Vt*/), + new EMDecay(0.05071504F, quark_c_ /*,lepton_m_,lepton_Vm*/), new EMDecay(0.9F, quark_u_, lepton_e_, lepton_Ve), - deadEnd);//makes photons and don't care - quark_s_.init(registry,quark_s, 0.6e-9F, 1, -1, - new EMDecay(0.00163216F, quark_t_/*,lepton_t_,lepton_Vt*/), + deadEnd); // makes photons and don't care + quark_s_.init( + registry, + quark_s, + 0.6e-9F, + 1, + -1, + new EMDecay(0.00163216F, quark_t_ /*,lepton_t_,lepton_Vt*/), new EMDecay(0.050778116F, quark_u_, lepton_m_, lepton_Vm), new EMDecay(0.9F, quark_c_, lepton_e_, lepton_Ve), - deadEnd);//makes photons and don't care - quark_b_.init(registry,quark_b, 0.7e-13F, 0, -1, + deadEnd); // makes photons and don't care + quark_b_.init( + registry, + quark_b, + 0.7e-13F, + 0, + -1, new EMDecay(1.23201e-5F, quark_u_, lepton_t_, lepton_Vt), new EMDecay(0.00169744F, quark_c_, lepton_m_, lepton_Vm), new EMDecay(0.9F, quark_t_, lepton_e_, lepton_Ve), - deadEnd);//makes photons and don't care + deadEnd); // makes photons and don't care } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMScalarBosonDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMScalarBosonDefinition.java index c90e89108b..3488ccc7ad 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMScalarBosonDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMScalarBosonDefinition.java @@ -1,37 +1,42 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; -import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; -import com.github.technus.tectech.util.TT_Utility; - import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.*; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMLeptonDefinition.*; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMQuarkDefinition.*; import static net.minecraft.util.StatCollector.translateToLocal; +import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; +import com.github.technus.tectech.util.TT_Utility; + /** * Created by danie_000 on 22.10.2016. */ public class EMScalarBosonDefinition extends EMBosonDefinition { - public static final EMScalarBosonDefinition - boson_H__ = new EMScalarBosonDefinition("tt.keyword.Higgs", "H0", 125.09e9D, -2, 32,"H0"); + public static final EMScalarBosonDefinition boson_H__ = + new EMScalarBosonDefinition("tt.keyword.Higgs", "H0", 125.09e9D, -2, 32, "H0"); - private EMScalarBosonDefinition(String name, String symbol, double mass, int color, int ID,String bind) { - super(name,TT_Utility.toSuperscript(symbol), 0, mass, 0, color, ID,bind); + private EMScalarBosonDefinition(String name, String symbol, double mass, int color, int ID, String bind) { + super(name, TT_Utility.toSuperscript(symbol), 0, mass, 0, color, ID, bind); } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(new EMType(EMScalarBosonDefinition.class,"tt.keyword.ScalarBoson")); - boson_H__.init(registry,boson_H__, 1.56e-22D, 8, 8, - new EMDecay ( 0.0002171 , lepton_m , lepton_m_ ), - new EMDecay ( 0.001541 , boson_Z, boson_Y__ ), - new EMDecay ( 0.02641 , boson_Z, boson_Z), - new EMDecay ( 0.02884 , quark_c , quark_c_ ), - new EMDecay ( 0.06256 , lepton_t , lepton_t_ ), - new EMDecay ( 0.0818 , boson_g__ , boson_g__ ), - new EMDecay ( 0.2152 , boson_W_, boson_W), - new EMDecay ( 0.5809 , quark_b , quark_b_ ), + registry.registerDefinitionClass(new EMType(EMScalarBosonDefinition.class, "tt.keyword.ScalarBoson")); + boson_H__.init( + registry, + boson_H__, + 1.56e-22D, + 8, + 8, + new EMDecay(0.0002171, lepton_m, lepton_m_), + new EMDecay(0.001541, boson_Z, boson_Y__), + new EMDecay(0.02641, boson_Z, boson_Z), + new EMDecay(0.02884, quark_c, quark_c_), + new EMDecay(0.06256, lepton_t, lepton_t_), + new EMDecay(0.0818, boson_g__, boson_g__), + new EMDecay(0.2152, boson_W_, boson_W), + new EMDecay(0.5809, quark_b, quark_b_), deadEnd); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java index ca1d872ed1..e7ec1b6dd7 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java @@ -1,5 +1,6 @@ package com.github.technus.tectech.mechanics.enderStorage; +import java.io.Serializable; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.Fluid; @@ -7,18 +8,18 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidHandler; -import java.io.Serializable; - public class EnderFluidContainer implements IFluidHandler, Serializable { private static final int CAPACITY = 64000; + @Deprecated() private int fluidID = -1; + @Deprecated() private int fluidQuantity = 0; + private NBTTagCompound fluid; - public EnderFluidContainer() { - } + public EnderFluidContainer() {} private FluidStack getFluidStack() { FluidStack fluidStack = null; @@ -41,7 +42,6 @@ public class EnderFluidContainer implements IFluidHandler, Serializable { } } - @Override public int fill(ForgeDirection side, FluidStack fluidStackIn, boolean doFill) { int filledFluid = 0; @@ -102,6 +102,6 @@ public class EnderFluidContainer implements IFluidHandler, Serializable { @Override public FluidTankInfo[] getTankInfo(ForgeDirection forgeDirection) { - return new FluidTankInfo[]{new FluidTankInfo(getFluidStack(), CAPACITY)}; + return new FluidTankInfo[] {new FluidTankInfo(getFluidStack(), CAPACITY)}; } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkCoverMessage.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkCoverMessage.java index 64bd1d940b..e58fa29cbc 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkCoverMessage.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkCoverMessage.java @@ -1,31 +1,29 @@ package com.github.technus.tectech.mechanics.enderStorage; +import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.bindEnderLinkTag; +import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderLinkTag; +import static com.github.technus.tectech.thing.cover.GT_Cover_TM_EnderFluidLink.setEnderLinkTag; + import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.MessageContext; import eu.usrv.yamcore.network.client.AbstractClientMessageHandler; import eu.usrv.yamcore.network.server.AbstractServerMessageHandler; import gregtech.api.metatileentity.BaseMetaTileEntity; import io.netty.buffer.ByteBuf; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraftforge.fluids.IFluidHandler; - import java.io.*; import java.util.Arrays; - -import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.bindEnderLinkTag; -import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderLinkTag; -import static com.github.technus.tectech.thing.cover.GT_Cover_TM_EnderFluidLink.setEnderLinkTag; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraftforge.fluids.IFluidHandler; public class EnderLinkCoverMessage implements IMessage { EnderLinkTankWithTag messageData; - public EnderLinkCoverMessage() { - } + public EnderLinkCoverMessage() {} @Override public void fromBytes(ByteBuf pBuffer) { try { - //I'd love to know why I need to offset by one byte for this to work + // 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); @@ -50,8 +48,7 @@ public class EnderLinkCoverMessage implements IMessage { } public static class EnderLinkCoverQuery extends EnderLinkCoverMessage { - public EnderLinkCoverQuery() { - } + public EnderLinkCoverQuery() {} public EnderLinkCoverQuery(EnderLinkTag tag, IFluidHandler fluidHandler) { messageData = new EnderLinkTankWithTag(tag, fluidHandler); @@ -59,8 +56,7 @@ public class EnderLinkCoverMessage implements IMessage { } public static class EnderLinkCoverUpdate extends EnderLinkCoverMessage { - public EnderLinkCoverUpdate() { - } + public EnderLinkCoverUpdate() {} public EnderLinkCoverUpdate(EnderLinkTag tag, IFluidHandler fluidHandler) { messageData = new EnderLinkTankWithTag(tag, fluidHandler); @@ -68,8 +64,7 @@ public class EnderLinkCoverMessage implements IMessage { } public static class EnderLinkCoverData extends EnderLinkCoverMessage { - public EnderLinkCoverData() { - } + public EnderLinkCoverData() {} public EnderLinkCoverData(EnderLinkTag tag, IFluidHandler fluidHandler) { messageData = new EnderLinkTankWithTag(tag, fluidHandler); @@ -81,7 +76,8 @@ public class EnderLinkCoverMessage implements IMessage { public IMessage handleServerMessage(EntityPlayer pPlayer, EnderLinkCoverQuery pMessage, MessageContext pCtx) { IMessage reply = null; if (pMessage.messageData != null) { - reply = new EnderLinkCoverData(getEnderLinkTag(pMessage.messageData.getFluidHandler()), + reply = new EnderLinkCoverData( + getEnderLinkTag(pMessage.messageData.getFluidHandler()), pMessage.messageData.getFluidHandler()); } return reply; @@ -94,11 +90,11 @@ public class EnderLinkCoverMessage implements IMessage { if (pMessage.messageData != null) { EnderLinkTag tag = pMessage.messageData.getTag(); IFluidHandler handler = pMessage.messageData.getFluidHandler(); - if (tag.getUUID() == null){ + if (tag.getUUID() == null) { bindEnderLinkTag(handler, tag); } else if (handler instanceof BaseMetaTileEntity) { BaseMetaTileEntity baseTile = (BaseMetaTileEntity) handler; - if (tag.getUUID().equals(baseTile.getOwnerUuid())){ + if (tag.getUUID().equals(baseTile.getOwnerUuid())) { bindEnderLinkTag(handler, tag); } } @@ -129,4 +125,4 @@ public class EnderLinkCoverMessage implements IMessage { return tag; } } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTag.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTag.java index 60e0acdb1d..6b6fa0b228 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTag.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTag.java @@ -1,7 +1,6 @@ package com.github.technus.tectech.mechanics.enderStorage; import com.google.common.base.Objects; - import java.io.Serializable; import java.util.UUID; @@ -14,7 +13,9 @@ public class EnderLinkTag implements Serializable { this.player = player; } - public String getFrequency() { return frequency; } + public String getFrequency() { + return frequency; + } public UUID getUUID() { return player; @@ -25,8 +26,7 @@ public class EnderLinkTag implements Serializable { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; EnderLinkTag that = (EnderLinkTag) o; - return Objects.equal(frequency, that.frequency) && - Objects.equal(player, that.player); + return Objects.equal(frequency, that.frequency) && Objects.equal(player, that.player); } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTank.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTank.java index a64a629161..93347d2016 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTank.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTank.java @@ -1,12 +1,11 @@ package com.github.technus.tectech.mechanics.enderStorage; import com.google.common.base.Objects; +import java.io.Serializable; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.DimensionManager; import net.minecraftforge.fluids.IFluidHandler; -import java.io.Serializable; - public class EnderLinkTank implements Serializable { private final int X; private final int Y; @@ -14,7 +13,7 @@ public class EnderLinkTank implements Serializable { private final int D; public EnderLinkTank(IFluidHandler fluidHandler) { - TileEntity tile = (TileEntity)fluidHandler; + TileEntity tile = (TileEntity) fluidHandler; X = tile.xCoord; Y = tile.yCoord; Z = tile.zCoord; @@ -33,10 +32,7 @@ public class EnderLinkTank implements Serializable { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; EnderLinkTank that = (EnderLinkTank) o; - return X == that.X && - Y == that.Y && - Z == that.Z && - D == that.D; + return X == that.X && Y == that.Y && Z == that.Z && D == that.D; } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java index d0503aa45c..1297e6ed03 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java @@ -1,17 +1,16 @@ package com.github.technus.tectech.mechanics.enderStorage; +import static com.github.technus.tectech.Reference.MODID; + +import java.io.*; +import java.util.HashMap; +import java.util.Map; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.WorldSavedData; import net.minecraft.world.storage.MapStorage; import net.minecraftforge.common.DimensionManager; import net.minecraftforge.fluids.IFluidHandler; -import java.io.*; -import java.util.HashMap; -import java.util.Map; - -import static com.github.technus.tectech.Reference.MODID; - public class EnderWorldSavedData extends WorldSavedData { private static EnderWorldSavedData INSTANCE; @@ -125,4 +124,4 @@ public class EnderWorldSavedData extends WorldSavedData { getEnderLiquidTankLink().remove(tank); getEnderLiquidTankLink().put(tank, tag); } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/mechanics/pipe/IActivePipe.java b/src/main/java/com/github/technus/tectech/mechanics/pipe/IActivePipe.java index 4f244c804b..c7f770e5e8 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/pipe/IActivePipe.java +++ b/src/main/java/com/github/technus/tectech/mechanics/pipe/IActivePipe.java @@ -4,6 +4,8 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; public interface IActivePipe extends IMetaTileEntity { void setActive(boolean active); + boolean getActive(); + void markUsed(); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/pipe/PipeActivityMessage.java b/src/main/java/com/github/technus/tectech/mechanics/pipe/PipeActivityMessage.java index abde23f33e..a7a0f8b02e 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/pipe/PipeActivityMessage.java +++ b/src/main/java/com/github/technus/tectech/mechanics/pipe/PipeActivityMessage.java @@ -21,24 +21,23 @@ public class PipeActivityMessage implements IMessage { int mPosD; int mActive; - public PipeActivityMessage() { - } + public PipeActivityMessage() {} private PipeActivityMessage(IActivePipe metaTile) { - IGregTechTileEntity base=metaTile.getBaseMetaTileEntity(); - mPosX=base.getXCoord(); - mPosY=base.getYCoord(); - mPosZ=base.getZCoord(); - mPosD=base.getWorld().provider.dimensionId; - mActive=metaTile.getActive()?1:0; + IGregTechTileEntity base = metaTile.getBaseMetaTileEntity(); + mPosX = base.getXCoord(); + mPosY = base.getYCoord(); + mPosZ = base.getZCoord(); + mPosD = base.getWorld().provider.dimensionId; + mActive = metaTile.getActive() ? 1 : 0; } private PipeActivityMessage(World world, int x, int y, int z, boolean active) { - mPosX=x; - mPosY=y; - mPosZ=z; - mPosD=world.provider.dimensionId; - mActive=active?1:0; + mPosX = x; + mPosY = y; + mPosZ = z; + mPosD = world.provider.dimensionId; + mActive = active ? 1 : 0; } @Override @@ -64,48 +63,46 @@ public class PipeActivityMessage implements IMessage { } public static class PipeActivityQuery extends PipeActivityMessage { - public PipeActivityQuery() { - } + public PipeActivityQuery() {} public PipeActivityQuery(IActivePipe metaTile) { super(metaTile); } - public PipeActivityQuery(World world, int x,int y,int z, boolean active) { - super(world,x,y,z,active); + public PipeActivityQuery(World world, int x, int y, int z, boolean active) { + super(world, x, y, z, active); } } public static class PipeActivityData extends PipeActivityMessage { - public PipeActivityData() { - } - - private PipeActivityData(PipeActivityQuery query){ - mPosX=query.mPosX; - mPosY=query.mPosY; - mPosZ=query.mPosZ; - mPosD=query.mPosD; - mActive=query.mActive; + public PipeActivityData() {} + + private PipeActivityData(PipeActivityQuery query) { + mPosX = query.mPosX; + mPosY = query.mPosY; + mPosZ = query.mPosZ; + mPosD = query.mPosD; + mActive = query.mActive; } public PipeActivityData(IActivePipe metaTile) { super(metaTile); } - public PipeActivityData(World world, int x,int y,int z, boolean active) { - super(world,x,y,z,active); + public PipeActivityData(World world, int x, int y, int z, boolean active) { + super(world, x, y, z, active); } } public static class ClientHandler extends AbstractClientMessageHandler { @Override public IMessage handleClientMessage(EntityPlayer pPlayer, PipeActivityData pMessage, MessageContext pCtx) { - if(pPlayer.worldObj.provider.dimensionId==pMessage.mPosD){ - TileEntity te=pPlayer.worldObj.getTileEntity(pMessage.mPosX,pMessage.mPosY,pMessage.mPosZ); - if(te instanceof IGregTechTileEntity){ + if (pPlayer.worldObj.provider.dimensionId == pMessage.mPosD) { + TileEntity te = pPlayer.worldObj.getTileEntity(pMessage.mPosX, pMessage.mPosY, pMessage.mPosZ); + if (te instanceof IGregTechTileEntity) { IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); - if(meta instanceof IActivePipe){ - ((IActivePipe) meta).setActive(pMessage.mActive==1); + if (meta instanceof IActivePipe) { + ((IActivePipe) meta).setActive(pMessage.mActive == 1); } } } @@ -116,13 +113,13 @@ public class PipeActivityMessage implements IMessage { public static class ServerHandler extends AbstractServerMessageHandler { @Override public IMessage handleServerMessage(EntityPlayer pPlayer, PipeActivityQuery pMessage, MessageContext pCtx) { - World world= DimensionManager.getWorld(pMessage.mPosD); - if(world!=null) { + World world = DimensionManager.getWorld(pMessage.mPosD); + if (world != null) { TileEntity te = world.getTileEntity(pMessage.mPosX, pMessage.mPosY, pMessage.mPosZ); if (te instanceof IGregTechTileEntity) { IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); if (meta instanceof IActivePipe) { - pMessage.mActive=((IActivePipe) meta).getActive()?1:0; + pMessage.mActive = ((IActivePipe) meta).getActive() ? 1 : 0; return new PipeActivityData(pMessage); } } @@ -130,4 +127,4 @@ public class PipeActivityMessage implements IMessage { return null; } } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/mechanics/spark/RendererMessage.java b/src/main/java/com/github/technus/tectech/mechanics/spark/RendererMessage.java index dcc9bfd8fd..a42d774bff 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/spark/RendererMessage.java +++ b/src/main/java/com/github/technus/tectech/mechanics/spark/RendererMessage.java @@ -7,27 +7,25 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import eu.usrv.yamcore.network.client.AbstractClientMessageHandler; import io.netty.buffer.ByteBuf; -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.world.World; -import thaumcraft.client.fx.bolt.FXLightningBolt; - import java.io.*; import java.util.Arrays; import java.util.HashSet; import java.util.Random; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; +import thaumcraft.client.fx.bolt.FXLightningBolt; -//TODO Re-work how sparks are distributed +// TODO Re-work how sparks are distributed public class RendererMessage implements IMessage { HashSet sparkList; - public RendererMessage() { - } + 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 + // 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); @@ -52,19 +50,17 @@ public class RendererMessage implements IMessage { } public static class RendererData extends RendererMessage { - public RendererData() { - } + public RendererData() {} public RendererData(HashSet eSparkList) { sparkList = eSparkList; } } - public static class ClientHandler extends AbstractClientMessageHandler { @Override public IMessage handleClientMessage(EntityPlayer pPlayer, RendererData pMessage, MessageContext pCtx) { - //disgusting + // disgusting Random localRand = Minecraft.getMinecraft().theWorld.rand; int[] zapsToUse = new int[4]; for (int i = 0; i < 3; i++) { @@ -73,7 +69,7 @@ public class RendererMessage implements IMessage { int i = 0; for (ThaumSpark sp : pMessage.sparkList) { for (int j : zapsToUse) { - if(i == j){ + if (i == j) { thaumLightning(sp.x, sp.y, sp.z, sp.xR, sp.yR, sp.zR, sp.wID); } } @@ -86,11 +82,22 @@ public class RendererMessage implements IMessage { @SideOnly(Side.CLIENT) private static void thaumLightning(int tX, int tY, int tZ, int tXN, int tYN, int tZN, int wID) { - //This is enough to check for thaum, since it only ever matters for client side effects (Tested not to crash) + // This is enough to check for thaum, since it only ever matters for client side effects (Tested not to crash) if (Loader.isModLoaded("Thaumcraft")) { World world = Minecraft.getMinecraft().theWorld; - if (world.provider.dimensionId == 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); + if (world.provider.dimensionId == 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); @@ -98,4 +105,4 @@ public class RendererMessage implements IMessage { } } } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/mechanics/spark/ThaumSpark.java b/src/main/java/com/github/technus/tectech/mechanics/spark/ThaumSpark.java index 0480cfffd2..8bce1e56d4 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/spark/ThaumSpark.java +++ b/src/main/java/com/github/technus/tectech/mechanics/spark/ThaumSpark.java @@ -1,13 +1,11 @@ package com.github.technus.tectech.mechanics.spark; - import com.gtnewhorizon.structurelib.util.Vec3Impl; - import java.io.Serializable; import java.util.Objects; public class ThaumSpark implements Serializable { - //This works regardless of if TC is loaded + // This works regardless of if TC is loaded private static final long serialVersionUID = -7037856938316679566L; public int x, y, z, wID; public byte xR, yR, zR; @@ -42,13 +40,13 @@ public class ThaumSpark implements Serializable { 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; + return x == that.x + && y == that.y + && z == that.z + && wID == that.wID + && xR == that.xR + && yR == that.yR + && zR == that.zR; } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectable.java b/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectable.java index de8d828cf4..632cf9e130 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectable.java +++ b/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectable.java @@ -1,40 +1,43 @@ package com.github.technus.tectech.mechanics.tesla; +import static java.lang.Math.sqrt; + import com.github.technus.tectech.mechanics.spark.ThaumSpark; import com.google.common.collect.Multimap; - import java.util.HashSet; import java.util.Map; -import static java.lang.Math.sqrt; - public interface ITeslaConnectable extends ITeslaConnectableSimple { - //Map with all Teslas in the same dimension and the distance to them //TODO Range + // Map with all Teslas in the same dimension and the distance to them //TODO Range Multimap getTeslaNodeMap(); - //ThaumCraft lighting coordinate pairs, so we can send them in bursts and save on lag + // ThaumCraft lighting coordinate pairs, so we can send them in bursts and save on lag HashSet getSparkList(); - //-128 to -1 disables capability - //0 means any source or target - //1 to 127 must match on source and target or source/target must be 0 + // -128 to -1 disables capability + // 0 means any source or target + // 1 to 127 must match on source and target or source/target must be 0 byte getTeslaTransmissionCapability(); - //Transmission Range is typically 16+ in blocks + // Transmission Range is typically 16+ in blocks int getTeslaTransmissionRange(); + boolean isOverdriveEnabled(); int getTeslaEnergyLossPerBlock(); + float getTeslaOverdriveLossCoefficient(); long getTeslaOutputVoltage(); + long getTeslaOutputCurrent(); boolean teslaDrainEnergy(long teslaVoltageDrained); class TeslaUtil { - private static final HashSet teslaSimpleNodeSet = new HashSet<>();//Targets for power transmission - private static final HashSet teslaNodeSet = new HashSet<>();//Sources of power transmission + private static final HashSet teslaSimpleNodeSet = + new HashSet<>(); // Targets for power transmission + private static final HashSet teslaNodeSet = new HashSet<>(); // Sources of power transmission public static void teslaSimpleNodeSetAdd(ITeslaConnectableSimple target) { if (!teslaSimpleNodeSet.contains(target)) { @@ -43,33 +46,34 @@ public interface ITeslaConnectable extends ITeslaConnectableSimple { } } - public static void teslaSimpleNodeSetRemove(ITeslaConnectableSimple target){ + public static void teslaSimpleNodeSetRemove(ITeslaConnectableSimple target) { teslaSimpleNodeSet.remove(target); - if (target instanceof ITeslaConnectable)teslaNodeSet.remove(target); + if (target instanceof ITeslaConnectable) teslaNodeSet.remove(target); teslaNodeSet.forEach(origin -> removeTargetFromTeslaOrigin(target, origin)); } - private static void addTargetToTeslaOrigin(ITeslaConnectableSimple target, ITeslaConnectable origin){ + private static void addTargetToTeslaOrigin(ITeslaConnectableSimple target, ITeslaConnectable origin) { if (origin.equals(target) || !origin.getTeslaDimension().equals(target.getTeslaDimension())) { - //Skip if looking at myself and skip if not in the same dimension - //TODO, INTERDIM? + // Skip if looking at myself and skip if not in the same dimension + // TODO, INTERDIM? return; - } else if (origin.getTeslaTransmissionCapability() != 0 && origin.getTeslaReceptionCapability() != 0 && - origin.getTeslaTransmissionCapability() != origin.getTeslaReceptionCapability()) { - //Skip if incompatible + } else if (origin.getTeslaTransmissionCapability() != 0 + && origin.getTeslaReceptionCapability() != 0 + && origin.getTeslaTransmissionCapability() != origin.getTeslaReceptionCapability()) { + // Skip if incompatible return; } - //Range calc + // Range calc int distance = (int) sqrt(origin.getTeslaPosition().distanceSq(target.getTeslaPosition())); if (distance > origin.getTeslaTransmissionRange() * target.getTeslaReceptionCoefficient()) { - //Skip if the range is too vast + // Skip if the range is too vast return; } origin.getTeslaNodeMap().put(distance, target); } - private static void removeTargetFromTeslaOrigin(ITeslaConnectableSimple target, ITeslaConnectable origin){ - //Range calc TODO Remove duplicate? + private static void removeTargetFromTeslaOrigin(ITeslaConnectableSimple target, ITeslaConnectable origin) { + // Range calc TODO Remove duplicate? int distance = (int) sqrt(origin.getTeslaPosition().distanceSq(target.getTeslaPosition())); origin.getTeslaNodeMap().remove(distance, target); } @@ -77,9 +81,9 @@ public interface ITeslaConnectable extends ITeslaConnectableSimple { public static void generateTeslaNodeMap(ITeslaConnectable origin) { origin.getTeslaNodeMap().clear(); for (ITeslaConnectableSimple target : teslaSimpleNodeSet) { - //Sanity checks + // Sanity checks if (target == null) { - //The Tesla Covers do not remove themselves from the list and this is the code that does + // The Tesla Covers do not remove themselves from the list and this is the code that does teslaSimpleNodeSet.remove(null); continue; } @@ -93,53 +97,59 @@ public interface ITeslaConnectable extends ITeslaConnectableSimple { boolean canSendPower = !origin.isTeslaReadyToReceive() && remainingAmperes > 0; if (canSendPower) { - for (Map.Entry Rx : origin.getTeslaNodeMap().entries()) { - //Do we still have power left to send kind of check - if (origin.getTeslaStoredEnergy() < (origin.isOverdriveEnabled() ? origin.getTeslaOutputVoltage() * - 2 : origin.getTeslaOutputVoltage())) break; - //Explicit words for the important fields + for (Map.Entry Rx : + origin.getTeslaNodeMap().entries()) { + // Do we still have power left to send kind of check + if (origin.getTeslaStoredEnergy() + < (origin.isOverdriveEnabled() + ? origin.getTeslaOutputVoltage() * 2 + : origin.getTeslaOutputVoltage())) break; + // Explicit words for the important fields ITeslaConnectableSimple target = Rx.getValue(); int distance = Rx.getKey(); - //Can our target receive energy? - if(!target.isTeslaReadyToReceive()) continue; + // Can our target receive energy? + if (!target.isTeslaReadyToReceive()) continue; - //Calculate the voltage output + // Calculate the voltage output long outputVoltageInjectable; long outputVoltageConsumption; if (origin.isOverdriveEnabled()) { outputVoltageInjectable = origin.getTeslaOutputVoltage(); - outputVoltageConsumption = origin.getTeslaOutputVoltage() + - (distance * origin.getTeslaEnergyLossPerBlock()) + - (long) Math.round(origin.getTeslaOutputVoltage() * - origin.getTeslaOverdriveLossCoefficient()); + outputVoltageConsumption = origin.getTeslaOutputVoltage() + + (distance * origin.getTeslaEnergyLossPerBlock()) + + (long) Math.round( + origin.getTeslaOutputVoltage() * origin.getTeslaOverdriveLossCoefficient()); } else { - outputVoltageInjectable = origin.getTeslaOutputVoltage() - (distance * - origin.getTeslaEnergyLossPerBlock()); + outputVoltageInjectable = + origin.getTeslaOutputVoltage() - (distance * origin.getTeslaEnergyLossPerBlock()); outputVoltageConsumption = origin.getTeslaOutputVoltage(); } - //Break out of the loop if the cost is too high - //Since the next target will have an even higher cost, just quit now. + // Break out of the loop if the cost is too high + // Since the next target will have an even higher cost, just quit now. if (origin.getTeslaStoredEnergy() < outputVoltageConsumption) break; - //Now shove in as many packets as will fit~ - while(canSendPower){ + // Now shove in as many packets as will fit~ + while (canSendPower) { if (target.teslaInjectEnergy(outputVoltageInjectable)) { origin.teslaDrainEnergy(outputVoltageConsumption); - origin.getSparkList().add(new ThaumSpark(origin.getTeslaPosition(), - target.getTeslaPosition(), origin.getTeslaDimension())); + origin.getSparkList() + .add(new ThaumSpark( + origin.getTeslaPosition(), + target.getTeslaPosition(), + origin.getTeslaDimension())); remainingAmperes--; - //Update the can send power flag each time we send power - canSendPower = (origin.getTeslaStoredEnergy() < outputVoltageConsumption || - remainingAmperes > 0); + // Update the can send power flag each time we send power + canSendPower = + (origin.getTeslaStoredEnergy() < outputVoltageConsumption || remainingAmperes > 0); } else { - //Breaks out when I can't send anymore power + // Breaks out when I can't send anymore power break; } } - //Break out if we can't send power anymore - if (!canSendPower)break; + // Break out if we can't send power anymore + if (!canSendPower) break; } } return origin.getTeslaOutputCurrent() - remainingAmperes; diff --git a/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectableSimple.java b/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectableSimple.java index 2adc25bbed..1dd0a0215c 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectableSimple.java +++ b/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectableSimple.java @@ -3,12 +3,12 @@ package com.github.technus.tectech.mechanics.tesla; import com.gtnewhorizon.structurelib.util.Vec3Impl; public interface ITeslaConnectableSimple { - //-128 to -1 disables capability - //0 means any source or target - //1 to 127 must match on source and target or source/target must be 0 + // -128 to -1 disables capability + // 0 means any source or target + // 1 to 127 must match on source and target or source/target must be 0 byte getTeslaReceptionCapability(); - //Reception Coefficient is a range extension, typical is 1 + // Reception Coefficient is a range extension, typical is 1 float getTeslaReceptionCoefficient(); boolean isTeslaReadyToReceive(); @@ -18,5 +18,6 @@ public interface ITeslaConnectableSimple { boolean teslaInjectEnergy(long teslaVoltageInjected); Vec3Impl getTeslaPosition(); + Integer getTeslaDimension(); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/tesla/TeslaCoverConnection.java b/src/main/java/com/github/technus/tectech/mechanics/tesla/TeslaCoverConnection.java index 87ad7d7443..f8517b64ef 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/tesla/TeslaCoverConnection.java +++ b/src/main/java/com/github/technus/tectech/mechanics/tesla/TeslaCoverConnection.java @@ -1,11 +1,11 @@ package com.github.technus.tectech.mechanics.tesla; +import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.teslaSimpleNodeSetRemove; + import com.google.common.base.Objects; import com.gtnewhorizon.structurelib.util.Vec3Impl; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.teslaSimpleNodeSetRemove; - public class TeslaCoverConnection implements ITeslaConnectableSimple { private final IGregTechTileEntity IGT; private final Vec3Impl pos; @@ -13,9 +13,7 @@ public class TeslaCoverConnection implements ITeslaConnectableSimple { public TeslaCoverConnection(IGregTechTileEntity IGT, byte teslaReceptionCapability) { this.IGT = IGT; - this.pos = new Vec3Impl(IGT.getXCoord(), - IGT.getYCoord(), - IGT.getZCoord()); + this.pos = new Vec3Impl(IGT.getXCoord(), IGT.getYCoord(), IGT.getZCoord()); this.teslaReceptionCapability = teslaReceptionCapability; } @@ -52,10 +50,10 @@ public class TeslaCoverConnection implements ITeslaConnectableSimple { @Override public boolean teslaInjectEnergy(long teslaVoltageInjected) { - //Same as in the microwave transmitters, this does not account for amp limits + // Same as in the microwave transmitters, this does not account for amp limits boolean output = false; - if (!IGT.isDead()){ + if (!IGT.isDead()) { output = IGT.injectEnergyUnits((byte) 1, teslaVoltageInjected, 1L) > 0L; } else { teslaSimpleNodeSetRemove(this); diff --git a/src/main/java/com/github/technus/tectech/nei/NEI_TT_Config.java b/src/main/java/com/github/technus/tectech/nei/NEI_TT_Config.java index 3e1949014d..1871f87875 100644 --- a/src/main/java/com/github/technus/tectech/nei/NEI_TT_Config.java +++ b/src/main/java/com/github/technus/tectech/nei/NEI_TT_Config.java @@ -4,7 +4,7 @@ import codechicken.nei.api.IConfigureNEI; import com.github.technus.tectech.recipe.TT_recipe; import cpw.mods.fml.common.FMLCommonHandler; -public class NEI_TT_Config implements IConfigureNEI {//must be NEI*Config +public class NEI_TT_Config implements IConfigureNEI { // must be NEI*Config public static boolean sIsAdded = true; public static TT_NEI_ResearchHandler TT_RH; public static TT_NEI_ScannerHandler TT_SH; @@ -12,7 +12,7 @@ public class NEI_TT_Config implements IConfigureNEI {//must be NEI*Config @Override public void loadConfig() { sIsAdded = false; - if(FMLCommonHandler.instance().getEffectiveSide().isClient()) { + if (FMLCommonHandler.instance().getEffectiveSide().isClient()) { TT_RH = new TT_NEI_ResearchHandler(TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes); TT_SH = new TT_NEI_ScannerHandler(TT_recipe.GT_Recipe_MapTT.sScannableFakeRecipes); } diff --git a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java index 74a57de117..b729ebdfc8 100644 --- a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java +++ b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.nei; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static gregtech.api.enums.ItemList.Display_Fluid; + import codechicken.lib.gui.GuiDraw; import codechicken.nei.ItemList; import codechicken.nei.PositionedStack; @@ -16,6 +19,11 @@ import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; +import java.awt.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.init.Blocks; @@ -24,24 +32,20 @@ import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidStack; import org.lwjgl.opengl.GL11; -import java.awt.*; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; - -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static gregtech.api.enums.ItemList.Display_Fluid; - public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { protected final TT_recipe.GT_Recipe_MapTT mRecipeMap; public TT_NEI_ResearchHandler(TT_recipe.GT_Recipe_MapTT aRecipeMap) { mRecipeMap = aRecipeMap; - transferRects.add(new TemplateRecipeHandler.RecipeTransferRect(new Rectangle(65, 13, 36, 18), getOverlayIdentifier())); + transferRects.add( + new TemplateRecipeHandler.RecipeTransferRect(new Rectangle(65, 13, 36, 18), getOverlayIdentifier())); if (!NEI_TT_Config.sIsAdded) { - FMLInterModComms.sendRuntimeMessage(TecTech.instance, "NEIPlugins", "register-crafting-handler", Reference.MODID+ '@' + getRecipeName() + '@' + getOverlayIdentifier()); + FMLInterModComms.sendRuntimeMessage( + TecTech.instance, + "NEIPlugins", + "register-crafting-handler", + Reference.MODID + '@' + getRecipeName() + '@' + getOverlayIdentifier()); GuiCraftingRecipe.craftinghandlers.add(this); GuiUsageRecipe.usagehandlers.add(this); } @@ -59,7 +63,7 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { @Override public TemplateRecipeHandler newInstance() { - NEI_TT_Config.TT_RH=new TT_NEI_ResearchHandler(mRecipeMap); + NEI_TT_Config.TT_RH = new TT_NEI_ResearchHandler(mRecipeMap); return NEI_TT_Config.TT_RH; } @@ -83,7 +87,9 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { ArrayList tResults = new ArrayList<>(); tResults.add(aResult); tResults.add(GT_OreDictUnificator.get(true, aResult)); - if (tPrefixMaterial != null && !tPrefixMaterial.mBlackListed && !tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty()) { + if (tPrefixMaterial != null + && !tPrefixMaterial.mBlackListed + && !tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty()) { for (OrePrefixes tPrefix : tPrefixMaterial.mPrefix.mFamiliarPrefixes) { tResults.add(GT_OreDictUnificator.get(tPrefix, tPrefixMaterial.mMaterial.mMaterial, 1L)); } @@ -91,7 +97,8 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { FluidStack tFluid = GT_Utility.getFluidForFilledItem(aResult, true); if (tFluid != null) { tResults.add(GT_Utility.getFluidDisplayStack(tFluid, false)); - for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) { + for (FluidContainerRegistry.FluidContainerData tData : + FluidContainerRegistry.getRegisteredFluidContainerData()) { if (tData.fluid.isFluidEqual(tFluid)) { tResults.add(GT_Utility.copy(tData.filledContainer)); } @@ -125,7 +132,8 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { FluidStack tFluid = GT_Utility.getFluidForFilledItem(aInput, true); if (tFluid != null) { tInputs.add(GT_Utility.getFluidDisplayStack(tFluid, false)); - for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) { + for (FluidContainerRegistry.FluidContainerData tData : + FluidContainerRegistry.getRegisteredFluidContainerData()) { if (tData.fluid.isFluidEqual(tFluid)) { tInputs.add(GT_Utility.copy(tData.filledContainer)); } @@ -168,21 +176,30 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { @Override public String getGuiTexture() { -// return "gregtech:textures/gui/" + this.mRecipeMap.mUnlocalizedName + ".png"; + // return "gregtech:textures/gui/" + this.mRecipeMap.mUnlocalizedName + ".png"; return mRecipeMap.mNEIGUIPath; } @Override - public List handleItemTooltip(GuiRecipe gui, ItemStack aStack, List currenttip, int aRecipeIndex) { + public List handleItemTooltip( + GuiRecipe gui, ItemStack aStack, List currenttip, int aRecipeIndex) { TemplateRecipeHandler.CachedRecipe tObject = arecipes.get(aRecipeIndex); if (tObject instanceof CachedDefaultRecipe) { CachedDefaultRecipe tRecipe = (CachedDefaultRecipe) tObject; for (PositionedStack tStack : tRecipe.mOutputs) { if (aStack == tStack.item) { - if (!(tStack instanceof FixedPositionedStack) || ((FixedPositionedStack) tStack).mChance <= 0 || ((FixedPositionedStack) tStack).mChance == 10000) { + if (!(tStack instanceof FixedPositionedStack) + || ((FixedPositionedStack) tStack).mChance <= 0 + || ((FixedPositionedStack) tStack).mChance == 10000) { break; } - currenttip.add(trans("150","Chance: ") + ((FixedPositionedStack) tStack).mChance / 100 + '.' + (((FixedPositionedStack) tStack).mChance % 100 < 10 ? "0" + ((FixedPositionedStack) tStack).mChance % 100 : Integer.valueOf(((FixedPositionedStack) tStack).mChance % 100)) + '%'); + currenttip.add(trans("150", "Chance: ") + + ((FixedPositionedStack) tStack).mChance / 100 + + '.' + + (((FixedPositionedStack) tStack).mChance % 100 < 10 + ? "0" + ((FixedPositionedStack) tStack).mChance % 100 + : Integer.valueOf(((FixedPositionedStack) tStack).mChance % 100)) + + '%'); break; } } @@ -191,7 +208,7 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { if (Display_Fluid.isStackEqual(tStack.item, true, true) || tStack.item.stackSize != 0) { break; } - currenttip.add(trans("151","Does not get consumed in the process")); + currenttip.add(trans("151", "Does not get consumed in the process")); break; } } @@ -199,39 +216,52 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { return currenttip; } - @Override + @Override public void drawExtras(int aRecipeIndex) { - int tEUt = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mEUt; - int computation = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mDuration; - String[] recipeDesc = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.getNeiDesc(); - if (recipeDesc == null) { + int tEUt = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mEUt; + int computation = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mDuration; + String[] recipeDesc = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.getNeiDesc(); + if (recipeDesc == null) { int tSpecial = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mSpecialValue; - short ampere=(short) (tSpecial & 0xFFFF),minComputationPerSec=(short)(tSpecial>>>16); - if (tEUt != 0) { - drawText(10, 73, trans("152","Max Total: ") + GT_Utility.formatNumbers((1 + (computation - minComputationPerSec) / minComputationPerSec) * (long) tEUt * ampere * 20) + " EU", -16777216); - drawText(10, 83, trans("153","Usage: ") + GT_Utility.formatNumbers((long) tEUt * ampere) + " EU/t", -16777216); - if (mRecipeMap.mShowVoltageAmperageInNEI) { - drawText(10, 93, trans("154","Voltage: ") + GT_Utility.formatNumbers(tEUt) + " EU", -16777216); - drawText(10, 103, trans("155","Amperage: ") + GT_Utility.formatNumbers(ampere), -16777216); - } else { - drawText(10, 93, trans("156","Voltage: unspecified"), -16777216); - drawText(10, 103, trans("157","Amperage: unspecified"), -16777216); - } - } + short ampere = (short) (tSpecial & 0xFFFF), minComputationPerSec = (short) (tSpecial >>> 16); + if (tEUt != 0) { + drawText( + 10, + 73, + trans("152", "Max Total: ") + + GT_Utility.formatNumbers( + (1 + (computation - minComputationPerSec) / minComputationPerSec) + * (long) tEUt + * ampere + * 20) + + " EU", + -16777216); + drawText( + 10, + 83, + trans("153", "Usage: ") + GT_Utility.formatNumbers((long) tEUt * ampere) + " EU/t", + -16777216); + if (mRecipeMap.mShowVoltageAmperageInNEI) { + drawText(10, 93, trans("154", "Voltage: ") + GT_Utility.formatNumbers(tEUt) + " EU", -16777216); + drawText(10, 103, trans("155", "Amperage: ") + GT_Utility.formatNumbers(ampere), -16777216); + } else { + drawText(10, 93, trans("156", "Voltage: unspecified"), -16777216); + drawText(10, 103, trans("157", "Amperage: unspecified"), -16777216); + } + } drawText(10, 113, "Computation: " + GT_Utility.formatNumbers(computation), -16777216); drawText(10, 123, "Min Computation: " + GT_Utility.formatNumbers(minComputationPerSec) + " /s", -16777216); - } else { - int i = 0; - for (String descLine : recipeDesc) { + } else { + int i = 0; + for (String descLine : recipeDesc) { drawText(10, 73 + 10 * i, descLine, -16777216); - i++; - } - } - } + i++; + } + } + } @Deprecated // Unnecessary copy of a class base GT5U uses to manage NEI transfer rects - public static class GT_RectHandler - implements IContainerInputHandler, IContainerTooltipHandler { + public static class GT_RectHandler implements IContainerInputHandler, IContainerTooltipHandler { @Override public boolean mouseClicked(GuiContainer gui, int mousex, int mousey, int button) { return false; @@ -257,7 +287,8 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { } @Override - public List handleItemTooltip(GuiContainer gui, ItemStack itemstack, int mousex, int mousey, List currenttip) { + public List handleItemTooltip( + GuiContainer gui, ItemStack itemstack, int mousex, int mousey, List currenttip) { return currenttip; } @@ -267,16 +298,13 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { } @Override - public void onKeyTyped(GuiContainer gui, char keyChar, int keyID) { - } + public void onKeyTyped(GuiContainer gui, char keyChar, int keyID) {} @Override - public void onMouseClicked(GuiContainer gui, int mousex, int mousey, int button) { - } + public void onMouseClicked(GuiContainer gui, int mousex, int mousey, int button) {} @Override - public void onMouseUp(GuiContainer gui, int mousex, int mousey, int button) { - } + public void onMouseUp(GuiContainer gui, int mousex, int mousey, int button) {} @Override public boolean mouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) { @@ -284,12 +312,10 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { } @Override - public void onMouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) { - } + public void onMouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) {} @Override - public void onMouseDragged(GuiContainer gui, int mousex, int mousey, int button, long heldTime) { - } + public void onMouseDragged(GuiContainer gui, int mousex, int mousey, int button, long heldTime) {} } public static class FixedPositionedStack extends PositionedStack { @@ -317,7 +343,9 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { List permutations = ItemList.itemMap.get(tStack.getItem()); if (!permutations.isEmpty()) { ItemStack stack; - for (Iterator iterator = permutations.iterator(); iterator.hasNext(); tDisplayStacks.add(GT_Utility.copyAmount(tStack.stackSize, stack))) { + for (Iterator iterator = permutations.iterator(); + iterator.hasNext(); + tDisplayStacks.add(GT_Utility.copyAmount(tStack.stackSize, stack))) { stack = iterator.next(); } } else { @@ -332,15 +360,14 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { } items = tDisplayStacks.toArray(nullItem); if (items.length == 0) { - items = new ItemStack[]{new ItemStack(Blocks.fire)}; + items = new ItemStack[] {new ItemStack(Blocks.fire)}; } permutated = true; setPermutationToRender(0); } } - public class CachedDefaultRecipe - extends TemplateRecipeHandler.CachedRecipe { + public class CachedDefaultRecipe extends TemplateRecipeHandler.CachedRecipe { public final GT_Recipe mRecipe; public final List mOutputs; public final List mInputs; @@ -359,7 +386,8 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { mInputs.add(new FixedPositionedStack(aRecipe.mSpecialItems, 120, 52)); } if (aRecipe.getOutput(tStartIndex) != null) { - mOutputs.add(new FixedPositionedStack(aRecipe.getOutput(tStartIndex), 102, 14 + 9, aRecipe.getOutputChance(tStartIndex))); + mOutputs.add(new FixedPositionedStack( + aRecipe.getOutput(tStartIndex), 102, 14 + 9, aRecipe.getOutputChance(tStartIndex))); } } @@ -377,9 +405,9 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { public List getOtherStacks() { return mOutputs; } - } - - public String trans(String aKey, String aEnglish){ - return GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_Index_"+aKey, aEnglish, false); + } + + public String trans(String aKey, String aEnglish) { + return GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_Index_" + aKey, aEnglish, false); } } diff --git a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java index a4b903979b..45df781a57 100644 --- a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java +++ b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.nei; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static gregtech.api.enums.ItemList.Display_Fluid; + import codechicken.lib.gui.GuiDraw; import codechicken.nei.ItemList; import codechicken.nei.PositionedStack; @@ -16,6 +19,11 @@ import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; +import java.awt.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.init.Blocks; @@ -24,15 +32,6 @@ import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidStack; import org.lwjgl.opengl.GL11; -import java.awt.*; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; - -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static gregtech.api.enums.ItemList.Display_Fluid; - public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { protected final TT_recipe.GT_Recipe_MapTT mRecipeMap; @@ -41,7 +40,11 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { mRecipeMap = aRecipeMap; transferRects.add(new RecipeTransferRect(new Rectangle(65, 13, 36, 18), getOverlayIdentifier())); if (!NEI_TT_Config.sIsAdded) { - FMLInterModComms.sendRuntimeMessage(TecTech.instance, "NEIPlugins", "register-crafting-handler", Reference.MODID+ '@' + getRecipeName() + '@' + getOverlayIdentifier()); + FMLInterModComms.sendRuntimeMessage( + TecTech.instance, + "NEIPlugins", + "register-crafting-handler", + Reference.MODID + '@' + getRecipeName() + '@' + getOverlayIdentifier()); GuiCraftingRecipe.craftinghandlers.add(this); GuiUsageRecipe.usagehandlers.add(this); } @@ -59,7 +62,7 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { @Override public TemplateRecipeHandler newInstance() { - NEI_TT_Config.TT_SH=new TT_NEI_ScannerHandler(mRecipeMap); + NEI_TT_Config.TT_SH = new TT_NEI_ScannerHandler(mRecipeMap); return NEI_TT_Config.TT_SH; } @@ -83,7 +86,9 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { ArrayList tResults = new ArrayList<>(); tResults.add(aResult); tResults.add(GT_OreDictUnificator.get(true, aResult)); - if (tPrefixMaterial != null && !tPrefixMaterial.mBlackListed && !tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty()) { + if (tPrefixMaterial != null + && !tPrefixMaterial.mBlackListed + && !tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty()) { for (OrePrefixes tPrefix : tPrefixMaterial.mPrefix.mFamiliarPrefixes) { tResults.add(GT_OreDictUnificator.get(tPrefix, tPrefixMaterial.mMaterial.mMaterial, 1L)); } @@ -91,7 +96,8 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { FluidStack tFluid = GT_Utility.getFluidForFilledItem(aResult, true); if (tFluid != null) { tResults.add(GT_Utility.getFluidDisplayStack(tFluid, false)); - for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) { + for (FluidContainerRegistry.FluidContainerData tData : + FluidContainerRegistry.getRegisteredFluidContainerData()) { if (tData.fluid.isFluidEqual(tFluid)) { tResults.add(GT_Utility.copy(tData.filledContainer)); } @@ -125,7 +131,8 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { FluidStack tFluid = GT_Utility.getFluidForFilledItem(aInput, true); if (tFluid != null) { tInputs.add(GT_Utility.getFluidDisplayStack(tFluid, false)); - for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) { + for (FluidContainerRegistry.FluidContainerData tData : + FluidContainerRegistry.getRegisteredFluidContainerData()) { if (tData.fluid.isFluidEqual(tFluid)) { tInputs.add(GT_Utility.copy(tData.filledContainer)); } @@ -168,21 +175,30 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { @Override public String getGuiTexture() { -// return "gregtech:textures/gui/" + this.mRecipeMap.mUnlocalizedName + ".png"; + // return "gregtech:textures/gui/" + this.mRecipeMap.mUnlocalizedName + ".png"; return mRecipeMap.mNEIGUIPath; } @Override - public List handleItemTooltip(GuiRecipe gui, ItemStack aStack, List currenttip, int aRecipeIndex) { + public List handleItemTooltip( + GuiRecipe gui, ItemStack aStack, List currenttip, int aRecipeIndex) { TemplateRecipeHandler.CachedRecipe tObject = arecipes.get(aRecipeIndex); if (tObject instanceof CachedDefaultRecipe) { CachedDefaultRecipe tRecipe = (CachedDefaultRecipe) tObject; for (PositionedStack tStack : tRecipe.mOutputs) { if (aStack == tStack.item) { - if (!(tStack instanceof FixedPositionedStack) || ((FixedPositionedStack) tStack).mChance <= 0 || ((FixedPositionedStack) tStack).mChance == 10000) { + if (!(tStack instanceof FixedPositionedStack) + || ((FixedPositionedStack) tStack).mChance <= 0 + || ((FixedPositionedStack) tStack).mChance == 10000) { break; } - currenttip.add(trans("150","Chance: ") + ((FixedPositionedStack) tStack).mChance / 100 + '.' + (((FixedPositionedStack) tStack).mChance % 100 < 10 ? "0" + ((FixedPositionedStack) tStack).mChance % 100 : Integer.valueOf(((FixedPositionedStack) tStack).mChance % 100)) + '%'); + currenttip.add(trans("150", "Chance: ") + + ((FixedPositionedStack) tStack).mChance / 100 + + '.' + + (((FixedPositionedStack) tStack).mChance % 100 < 10 + ? "0" + ((FixedPositionedStack) tStack).mChance % 100 + : Integer.valueOf(((FixedPositionedStack) tStack).mChance % 100)) + + '%'); break; } } @@ -191,7 +207,7 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { if (Display_Fluid.isStackEqual(tStack.item, true, true) || tStack.item.stackSize != 0) { break; } - currenttip.add(trans("151","Does not get consumed in the process")); + currenttip.add(trans("151", "Does not get consumed in the process")); break; } } @@ -199,39 +215,52 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { return currenttip; } - @Override + @Override public void drawExtras(int aRecipeIndex) { - int tEUt = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mEUt; - int computation = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mDuration; - String[] recipeDesc = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.getNeiDesc(); - if (recipeDesc == null) { + int tEUt = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mEUt; + int computation = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mDuration; + String[] recipeDesc = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.getNeiDesc(); + if (recipeDesc == null) { int tSpecial = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mSpecialValue; - short ampere=(short) (tSpecial & 0xFFFF),minComputationPerSec=(short)(tSpecial>>>16); - if (tEUt != 0) { - drawText(10, 73, trans("152","Max EU: ") + GT_Utility.formatNumbers((1 + (computation - minComputationPerSec) / minComputationPerSec) * (long) tEUt * ampere * 20) + " EU", -16777216); - drawText(10, 83, trans("153","Usage: ") + GT_Utility.formatNumbers((long) tEUt * ampere) + " EU/t", -16777216); - if (mRecipeMap.mShowVoltageAmperageInNEI) { - drawText(10, 93, trans("154","Voltage: ") + GT_Utility.formatNumbers(tEUt) + " EU", -16777216); - drawText(10, 103, trans("155","Amperage: ") + GT_Utility.formatNumbers(ampere), -16777216); - } else { - drawText(10, 93, trans("156","Voltage: unspecified"), -16777216); - drawText(10, 103, trans("157","Amperage: unspecified"), -16777216); - } - } + short ampere = (short) (tSpecial & 0xFFFF), minComputationPerSec = (short) (tSpecial >>> 16); + if (tEUt != 0) { + drawText( + 10, + 73, + trans("152", "Max EU: ") + + GT_Utility.formatNumbers( + (1 + (computation - minComputationPerSec) / minComputationPerSec) + * (long) tEUt + * ampere + * 20) + + " EU", + -16777216); + drawText( + 10, + 83, + trans("153", "Usage: ") + GT_Utility.formatNumbers((long) tEUt * ampere) + " EU/t", + -16777216); + if (mRecipeMap.mShowVoltageAmperageInNEI) { + drawText(10, 93, trans("154", "Voltage: ") + GT_Utility.formatNumbers(tEUt) + " EU", -16777216); + drawText(10, 103, trans("155", "Amperage: ") + GT_Utility.formatNumbers(ampere), -16777216); + } else { + drawText(10, 93, trans("156", "Voltage: unspecified"), -16777216); + drawText(10, 103, trans("157", "Amperage: unspecified"), -16777216); + } + } drawText(10, 113, "Computation: " + GT_Utility.formatNumbers(computation), -16777216); drawText(10, 123, "Min Computation: " + GT_Utility.formatNumbers(minComputationPerSec) + " /s", -16777216); - } else { - int i = 0; - for (String descLine : recipeDesc) { + } else { + int i = 0; + for (String descLine : recipeDesc) { drawText(10, 73 + 10 * i, descLine, -16777216); - i++; - } - } - } + i++; + } + } + } @Deprecated // Unnecessary copy of a class base GT5U uses to manage NEI transfer rects - public static class GT_RectHandler - implements IContainerInputHandler, IContainerTooltipHandler { + public static class GT_RectHandler implements IContainerInputHandler, IContainerTooltipHandler { @Override public boolean mouseClicked(GuiContainer gui, int mousex, int mousey, int button) { return false; @@ -257,7 +286,8 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { } @Override - public List handleItemTooltip(GuiContainer gui, ItemStack itemstack, int mousex, int mousey, List currenttip) { + public List handleItemTooltip( + GuiContainer gui, ItemStack itemstack, int mousex, int mousey, List currenttip) { return currenttip; } @@ -267,16 +297,13 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { } @Override - public void onKeyTyped(GuiContainer gui, char keyChar, int keyID) { - } + public void onKeyTyped(GuiContainer gui, char keyChar, int keyID) {} @Override - public void onMouseClicked(GuiContainer gui, int mousex, int mousey, int button) { - } + public void onMouseClicked(GuiContainer gui, int mousex, int mousey, int button) {} @Override - public void onMouseUp(GuiContainer gui, int mousex, int mousey, int button) { - } + public void onMouseUp(GuiContainer gui, int mousex, int mousey, int button) {} @Override public boolean mouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) { @@ -284,12 +311,10 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { } @Override - public void onMouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) { - } + public void onMouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) {} @Override - public void onMouseDragged(GuiContainer gui, int mousex, int mousey, int button, long heldTime) { - } + public void onMouseDragged(GuiContainer gui, int mousex, int mousey, int button, long heldTime) {} } public static class FixedPositionedStack extends PositionedStack { @@ -317,7 +342,9 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { List permutations = ItemList.itemMap.get(tStack.getItem()); if (!permutations.isEmpty()) { ItemStack stack; - for (Iterator iterator = permutations.iterator(); iterator.hasNext(); tDisplayStacks.add(GT_Utility.copyAmount(tStack.stackSize, stack))) { + for (Iterator iterator = permutations.iterator(); + iterator.hasNext(); + tDisplayStacks.add(GT_Utility.copyAmount(tStack.stackSize, stack))) { stack = iterator.next(); } } else { @@ -332,15 +359,14 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { } items = tDisplayStacks.toArray(nullItem); if (items.length == 0) { - items = new ItemStack[]{new ItemStack(Blocks.fire)}; + items = new ItemStack[] {new ItemStack(Blocks.fire)}; } permutated = true; setPermutationToRender(0); } } - public class CachedDefaultRecipe - extends TemplateRecipeHandler.CachedRecipe { + public class CachedDefaultRecipe extends TemplateRecipeHandler.CachedRecipe { public final GT_Recipe mRecipe; public final List mOutputs; public final List mInputs; @@ -359,7 +385,8 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { mInputs.add(new FixedPositionedStack(aRecipe.mSpecialItems, 120, 52)); } if (aRecipe.getOutput(tStartIndex) != null) { - mOutputs.add(new FixedPositionedStack(aRecipe.getOutput(tStartIndex), 102, 14 + 9, aRecipe.getOutputChance(tStartIndex))); + mOutputs.add(new FixedPositionedStack( + aRecipe.getOutput(tStartIndex), 102, 14 + 9, aRecipe.getOutputChance(tStartIndex))); } } @@ -377,9 +404,9 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { public List getOtherStacks() { return mOutputs; } - } - - public String trans(String aKey, String aEnglish){ - return GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_Index_"+aKey, aEnglish, false); + } + + public String trans(String aKey, String aEnglish) { + return GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_Index_" + aKey, aEnglish, false); } } diff --git a/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java b/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java index 043bd87a21..17451919b8 100644 --- a/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java +++ b/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.proxy; +import static com.github.technus.tectech.TecTech.RANDOM; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.compatibility.openmodularturrets.TT_turret_loader; import com.github.technus.tectech.thing.block.QuantumGlassBlock; @@ -25,8 +27,6 @@ import net.minecraft.world.World; import net.minecraftforge.client.MinecraftForgeClient; import net.minecraftforge.common.util.ForgeDirection; -import static com.github.technus.tectech.TecTech.RANDOM; - public class ClientProxy extends CommonProxy { @Override public void registerRenderInfo() { @@ -36,23 +36,33 @@ public class ClientProxy extends CommonProxy { QuantumStuffBlock.renderID = RenderingRegistry.getNextAvailableRenderId(); RenderingRegistry.registerBlockHandler(QuantumStuffBlock.renderID, new QuantumStuffRender()); - MinecraftForgeClient.registerItemRenderer(ElementalDefinitionContainer_EM.INSTANCE, RenderElementalName.INSTANCE); - MinecraftForgeClient.registerItemRenderer(DebugElementalInstanceContainer_EM.INSTANCE, RenderElementalName.INSTANCE); - //MinecraftForgeClient.registerItemRenderer(ElementalDefinitionScanStorage_EM.INSTANCE, RenderElementalName.INSTANCE); + MinecraftForgeClient.registerItemRenderer( + ElementalDefinitionContainer_EM.INSTANCE, RenderElementalName.INSTANCE); + MinecraftForgeClient.registerItemRenderer( + DebugElementalInstanceContainer_EM.INSTANCE, RenderElementalName.INSTANCE); + // MinecraftForgeClient.registerItemRenderer(ElementalDefinitionScanStorage_EM.INSTANCE, + // RenderElementalName.INSTANCE); - if(Loader.isModLoaded("openmodularturrets")) { + if (Loader.isModLoaded("openmodularturrets")) { new TT_turret_loader().run(); } } @Override - public void em_particle(IGregTechTileEntity aMuffler, byte facing) {//CUTE! + public void em_particle(IGregTechTileEntity aMuffler, byte facing) { // CUTE! ForgeDirection aDir = ForgeDirection.getOrientation(facing); float xPos = aDir.offsetX * 0.76F + aMuffler.getXCoord() + 0.25F; float yPos = aDir.offsetY * 0.76F + aMuffler.getYCoord() + 0.25F; float zPos = aDir.offsetZ * 0.76F + aMuffler.getZCoord() + 0.25F; - EntityFX particle = new WeightlessParticleFX(aMuffler.getWorld(), xPos + RANDOM.nextFloat() * 0.5F, yPos + RANDOM.nextFloat() * 0.5F, zPos + RANDOM.nextFloat() * 0.5F, 0, 0, 0); + EntityFX particle = new WeightlessParticleFX( + aMuffler.getWorld(), + xPos + RANDOM.nextFloat() * 0.5F, + yPos + RANDOM.nextFloat() * 0.5F, + zPos + RANDOM.nextFloat() * 0.5F, + 0, + 0, + 0); particle.setRBGColorF(0, 0.6F * RANDOM.nextFloat(), 0.8f); Minecraft.getMinecraft().effectRenderer.addEffect(particle); } @@ -70,20 +80,45 @@ public class ClientProxy extends CommonProxy { if (aDir.offsetY == -1) { float temp = RANDOM.nextFloat() * 2 * (float) Math.PI; - xSpd = (float) Math.sin(temp) * 0.1F*(float) RANDOM.nextGaussian(); - zSpd = (float) Math.cos(temp) * 0.1F*(float) RANDOM.nextGaussian(); + xSpd = (float) Math.sin(temp) * 0.1F * (float) RANDOM.nextGaussian(); + zSpd = (float) Math.cos(temp) * 0.1F * (float) RANDOM.nextGaussian(); } else { - xSpd = aDir.offsetX * (0.1F + 0.2F *(float) RANDOM.nextGaussian()); - zSpd = aDir.offsetZ * (0.1F + 0.2F *(float) RANDOM.nextGaussian()); + xSpd = aDir.offsetX * (0.1F + 0.2F * (float) RANDOM.nextGaussian()); + zSpd = aDir.offsetZ * (0.1F + 0.2F * (float) RANDOM.nextGaussian()); } - aMuffler.getWorld().spawnParticle("largesmoke", xPos + RANDOM.nextFloat() * 0.5F, yPos + RANDOM.nextFloat() * 0.5F, zPos + RANDOM.nextFloat() * 0.5F, xSpd, ySpd, zSpd); - aMuffler.getWorld().spawnParticle("largesmoke", xPos + RANDOM.nextFloat() * 0.5F, yPos + RANDOM.nextFloat() * 0.5F, zPos + RANDOM.nextFloat() * 0.5F, xSpd, ySpd, zSpd); - aMuffler.getWorld().spawnParticle("largesmoke", xPos + RANDOM.nextFloat() * 0.5F, yPos + RANDOM.nextFloat() * 0.5F, zPos + RANDOM.nextFloat() * 0.5F, xSpd, ySpd, zSpd); + aMuffler.getWorld() + .spawnParticle( + "largesmoke", + xPos + RANDOM.nextFloat() * 0.5F, + yPos + RANDOM.nextFloat() * 0.5F, + zPos + RANDOM.nextFloat() * 0.5F, + xSpd, + ySpd, + zSpd); + aMuffler.getWorld() + .spawnParticle( + "largesmoke", + xPos + RANDOM.nextFloat() * 0.5F, + yPos + RANDOM.nextFloat() * 0.5F, + zPos + RANDOM.nextFloat() * 0.5F, + xSpd, + ySpd, + zSpd); + aMuffler.getWorld() + .spawnParticle( + "largesmoke", + xPos + RANDOM.nextFloat() * 0.5F, + yPos + RANDOM.nextFloat() * 0.5F, + zPos + RANDOM.nextFloat() * 0.5F, + xSpd, + ySpd, + zSpd); } @Override - public void em_particle(World w,double x, double y, double z) {//CUTE! - EntityFX particle = new WeightlessParticleFX(w, + public void em_particle(World w, double x, double y, double z) { // CUTE! + EntityFX particle = new WeightlessParticleFX( + w, x + RANDOM.nextFloat() * 0.5F, y + RANDOM.nextFloat() * 0.5F, z + RANDOM.nextFloat() * 0.5F, @@ -95,8 +130,9 @@ public class ClientProxy extends CommonProxy { } @Override - public void pollutor_particle(World w,double x, double y, double z) { - w.spawnParticle("largesmoke", + public void pollutor_particle(World w, double x, double y, double z) { + w.spawnParticle( + "largesmoke", x + RANDOM.nextFloat() * 0.5F, y + RANDOM.nextFloat() * 0.5F, z + RANDOM.nextFloat() * 0.5F, @@ -124,28 +160,30 @@ public class ClientProxy extends CommonProxy { } @Override - public void playSound(IGregTechTileEntity base,String name) { - base.getWorld().playSoundEffect(base.getXCoord(),base.getYCoord(),base.getZCoord(), Reference.MODID+':'+name, 1, 1); + public void playSound(IGregTechTileEntity base, String name) { + base.getWorld() + .playSoundEffect( + base.getXCoord(), base.getYCoord(), base.getZCoord(), Reference.MODID + ':' + name, 1, 1); } @Override - public void renderAABB(World w,AxisAlignedBB box) { - em_particle(w,box.minX,box.minY,box.minZ); - em_particle(w,box.minX,box.minY,box.maxZ); - em_particle(w,box.minX,box.maxY,box.maxZ); - em_particle(w,box.minX,box.maxY,box.minZ); - em_particle(w,box.maxX,box.maxY,box.minZ); - em_particle(w,box.maxX,box.maxY,box.maxZ); - em_particle(w,box.maxX,box.minY,box.maxZ); - em_particle(w,box.maxX,box.minY,box.minZ); + public void renderAABB(World w, AxisAlignedBB box) { + em_particle(w, box.minX, box.minY, box.minZ); + em_particle(w, box.minX, box.minY, box.maxZ); + em_particle(w, box.minX, box.maxY, box.maxZ); + em_particle(w, box.minX, box.maxY, box.minZ); + em_particle(w, box.maxX, box.maxY, box.minZ); + em_particle(w, box.maxX, box.maxY, box.maxZ); + em_particle(w, box.maxX, box.minY, box.maxZ); + em_particle(w, box.maxX, box.minY, box.minZ); } @Override - public EntityClientPlayerMP getPlayer(){ + public EntityClientPlayerMP getPlayer() { return Minecraft.getMinecraft().thePlayer; } - public boolean isThePlayer(EntityPlayer player){ - return getPlayer()==player; + public boolean isThePlayer(EntityPlayer player) { + return getPlayer() == player; } } diff --git a/src/main/java/com/github/technus/tectech/proxy/CommonProxy.java b/src/main/java/com/github/technus/tectech/proxy/CommonProxy.java index 0fbe8d890e..66d0afe48d 100644 --- a/src/main/java/com/github/technus/tectech/proxy/CommonProxy.java +++ b/src/main/java/com/github/technus/tectech/proxy/CommonProxy.java @@ -12,11 +12,15 @@ import net.minecraft.world.WorldServer; public class CommonProxy implements IGuiHandler { public void registerRenderInfo() {} - public void em_particle(IGregTechTileEntity aMuffler, byte facing) {}//CUTE! - public void pollutor_particle(IGregTechTileEntity aPollutor, byte facing) {}//CUTE! - public void em_particle(World w,double x, double y, double z){} - public void pollutor_particle(World w,double x, double y, double z){} - public void renderAABB(World w,AxisAlignedBB box){} + public void em_particle(IGregTechTileEntity aMuffler, byte facing) {} // CUTE! + + public void pollutor_particle(IGregTechTileEntity aPollutor, byte facing) {} // CUTE! + + public void em_particle(World w, double x, double y, double z) {} + + public void pollutor_particle(World w, double x, double y, double z) {} + + public void renderAABB(World w, AxisAlignedBB box) {} @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { @@ -36,14 +40,15 @@ public class CommonProxy implements IGuiHandler { MinecraftServer.getServer().getConfigurationManager().sendChatMsg(new ChatComponentText(str)); } - public void printInchat(String... strings){} + public void printInchat(String... strings) {} - public void playSound(IGregTechTileEntity base,String name){} + public void playSound(IGregTechTileEntity base, String name) {} public String getUUID(String name) { - for(WorldServer worldServer:MinecraftServer.getServer().worldServers){ - for(Object o:worldServer.playerEntities){ - if(o instanceof EntityPlayer && ((EntityPlayer) o).getGameProfile().getName().equals(name)){ + for (WorldServer worldServer : MinecraftServer.getServer().worldServers) { + for (Object o : worldServer.playerEntities) { + if (o instanceof EntityPlayer + && ((EntityPlayer) o).getGameProfile().getName().equals(name)) { return ((EntityPlayer) o).getGameProfile().getId().toString(); } } @@ -52,9 +57,10 @@ public class CommonProxy implements IGuiHandler { } public boolean isOnlineName(String name) { - for(WorldServer worldServer:MinecraftServer.getServer().worldServers){ - for(Object o:worldServer.playerEntities){ - if(o instanceof EntityPlayer && ((EntityPlayer) o).getGameProfile().getName().equals(name)){ + for (WorldServer worldServer : MinecraftServer.getServer().worldServers) { + for (Object o : worldServer.playerEntities) { + if (o instanceof EntityPlayer + && ((EntityPlayer) o).getGameProfile().getName().equals(name)) { return true; } } @@ -63,9 +69,14 @@ public class CommonProxy implements IGuiHandler { } public boolean isOnlineUUID(String uuid) { - for(WorldServer worldServer:MinecraftServer.getServer().worldServers){ - for(Object o:worldServer.playerEntities){ - if(o instanceof EntityPlayer && ((EntityPlayer) o).getGameProfile().getId().toString().equals(uuid)){ + for (WorldServer worldServer : MinecraftServer.getServer().worldServers) { + for (Object o : worldServer.playerEntities) { + if (o instanceof EntityPlayer + && ((EntityPlayer) o) + .getGameProfile() + .getId() + .toString() + .equals(uuid)) { return true; } } @@ -73,11 +84,11 @@ public class CommonProxy implements IGuiHandler { return false; } - public EntityPlayer getPlayer(){ + public EntityPlayer getPlayer() { return null; } - public boolean isThePlayer(EntityPlayer player){ + public boolean isThePlayer(EntityPlayer player) { return false; } } diff --git a/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java b/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java index 68607ae737..1de1648406 100644 --- a/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java +++ b/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java @@ -7,42 +7,75 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.maps.IEMMapRead import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.util.GT_Recipe; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; public class TT_recipe extends GT_Recipe { - public static final String E_RECIPE_ID = "eRecipeID"; - public final EMConstantStackMap[] input; + public static final String E_RECIPE_ID = "eRecipeID"; + public final EMConstantStackMap[] input; public final IEMMapRead[] output; - public final EMConstantStackMap[] eCatalyst; - public final IAdditionalCheck additionalCheck; + public final EMConstantStackMap[] eCatalyst; + public final IAdditionalCheck additionalCheck; - public TT_recipe(boolean aOptimize, - ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, int[] aChances, - FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue, - EMConstantStackMap[] in, IEMMapRead[] out, EMConstantStackMap[] catalyst, IAdditionalCheck check){ - super(aOptimize,aInputs,aOutputs,aSpecialItems,aChances,aFluidInputs,aFluidOutputs,aDuration,aEUt,aSpecialValue); - input=in; - output=out; - eCatalyst=catalyst; - additionalCheck=check; + public TT_recipe( + boolean aOptimize, + ItemStack[] aInputs, + ItemStack[] aOutputs, + Object aSpecialItems, + int[] aChances, + FluidStack[] aFluidInputs, + FluidStack[] aFluidOutputs, + int aDuration, + int aEUt, + int aSpecialValue, + EMConstantStackMap[] in, + IEMMapRead[] out, + EMConstantStackMap[] catalyst, + IAdditionalCheck check) { + super( + aOptimize, + aInputs, + aOutputs, + aSpecialItems, + aChances, + aFluidInputs, + aFluidOutputs, + aDuration, + aEUt, + aSpecialValue); + input = in; + output = out; + eCatalyst = catalyst; + additionalCheck = check; } - public boolean EMisRecipeInputEqual(boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks){ - return EMisRecipeInputEqual(consume,doNotCheckStackSizes,itemStacks,fluidStacks,null,null); + public boolean EMisRecipeInputEqual( + boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks) { + return EMisRecipeInputEqual(consume, doNotCheckStackSizes, itemStacks, fluidStacks, null, null); } - public boolean EMisRecipeInputEqual(boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks, EMInstanceStackMap[] in){ - return EMisRecipeInputEqual(consume,doNotCheckStackSizes,itemStacks,fluidStacks,in,null); + public boolean EMisRecipeInputEqual( + boolean consume, + boolean doNotCheckStackSizes, + ItemStack[] itemStacks, + FluidStack[] fluidStacks, + EMInstanceStackMap[] in) { + return EMisRecipeInputEqual(consume, doNotCheckStackSizes, itemStacks, fluidStacks, in, null); } - - public boolean EMisRecipeInputEqual(boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks, EMInstanceStackMap[] in, EMInstanceStackMap[] catalyst) { - if(additionalCheck !=null && !additionalCheck.check(this,consume,doNotCheckStackSizes,itemStacks,fluidStacks,in,catalyst)) { + + public boolean EMisRecipeInputEqual( + boolean consume, + boolean doNotCheckStackSizes, + ItemStack[] itemStacks, + FluidStack[] fluidStacks, + EMInstanceStackMap[] in, + EMInstanceStackMap[] catalyst) { + if (additionalCheck != null + && !additionalCheck.check(this, consume, doNotCheckStackSizes, itemStacks, fluidStacks, in, catalyst)) { return false; } if (eCatalyst != null) { @@ -67,11 +100,11 @@ public class TT_recipe extends GT_Recipe { for (int i = 0; i < input.length; i++) { if (input[i] != null && input[i].hasStacks()) { if (in[i] != null && in[i].hasStacks()) { - if(consume){ + if (consume) { if (!in[i].removeAllAmounts(input[i])) { return false; } - }else { + } else { if (!in[i].containsAllAmounts(input[i])) { return false; } @@ -89,13 +122,25 @@ public class TT_recipe extends GT_Recipe { } @Deprecated - public boolean EMisRecipeInputEqualConsumeFromOne(boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks, EMInstanceStackMap in){ - return EMisRecipeInputEqualConsumeFromOne(consume,doNotCheckStackSizes,itemStacks,fluidStacks,in,null); + public boolean EMisRecipeInputEqualConsumeFromOne( + boolean consume, + boolean doNotCheckStackSizes, + ItemStack[] itemStacks, + FluidStack[] fluidStacks, + EMInstanceStackMap in) { + return EMisRecipeInputEqualConsumeFromOne(consume, doNotCheckStackSizes, itemStacks, fluidStacks, in, null); } @Deprecated - public boolean EMisRecipeInputEqualConsumeFromOne(boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks, EMInstanceStackMap in, EMInstanceStackMap[] catalyst) { - if(additionalCheck !=null && !additionalCheck.check(this,consume,doNotCheckStackSizes,itemStacks,fluidStacks,in,catalyst)) { + public boolean EMisRecipeInputEqualConsumeFromOne( + boolean consume, + boolean doNotCheckStackSizes, + ItemStack[] itemStacks, + FluidStack[] fluidStacks, + EMInstanceStackMap in, + EMInstanceStackMap[] catalyst) { + if (additionalCheck != null + && !additionalCheck.check(this, consume, doNotCheckStackSizes, itemStacks, fluidStacks, in, catalyst)) { return false; } if (eCatalyst != null) { @@ -120,11 +165,11 @@ public class TT_recipe extends GT_Recipe { for (EMConstantStackMap anInput : input) { if (anInput != null && anInput.hasStacks()) { if (in.hasStacks()) { - if(consume){ + if (consume) { if (!in.removeAllAmounts(anInput)) { return false; } - }else { + } else { if (!in.containsAllAmounts(anInput)) { return false; } @@ -140,125 +185,284 @@ public class TT_recipe extends GT_Recipe { } return super.isRecipeInputEqual(consume, doNotCheckStackSizes, fluidStacks, itemStacks); } - + public interface IAdditionalCheck { - boolean check(TT_recipe thisRecipe, boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks, EMInstanceStackMap[] in, EMInstanceStackMap[] e); - boolean check(TT_recipe thisRecipe, boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks, EMInstanceStackMap in, EMInstanceStackMap[] e); + boolean check( + TT_recipe thisRecipe, + boolean consume, + boolean doNotCheckStackSizes, + ItemStack[] itemStacks, + FluidStack[] fluidStacks, + EMInstanceStackMap[] in, + EMInstanceStackMap[] e); + + boolean check( + TT_recipe thisRecipe, + boolean consume, + boolean doNotCheckStackSizes, + ItemStack[] itemStacks, + FluidStack[] fluidStacks, + EMInstanceStackMap in, + EMInstanceStackMap[] e); } public static class TT_Recipe_Map { public static TT_Recipe_Map sCrafterRecipes = new TT_Recipe_Map<>(); public static TT_Recipe_Map sMachineRecipes = new TT_Recipe_Map<>(); - private final HashMap mRecipeMap; + private final HashMap mRecipeMap; - - public TT_Recipe_Map(){ - mRecipeMap =new HashMap<>(16); + public TT_Recipe_Map() { + mRecipeMap = new HashMap<>(16); } - public T findRecipe(String identifier){ + public T findRecipe(String identifier) { return mRecipeMap.get(identifier); } - - public T findRecipe(ItemStack dataHandler){ - if(dataHandler==null || dataHandler.stackTagCompound==null) { + + public T findRecipe(ItemStack dataHandler) { + if (dataHandler == null || dataHandler.stackTagCompound == null) { return null; } return mRecipeMap.get(dataHandler.stackTagCompound.getString(E_RECIPE_ID)); } - public void add(T recipe){ - GameRegistry.UniqueIdentifier uid=GameRegistry.findUniqueIdentifierFor(recipe.mOutputs[0].getItem()); - mRecipeMap.put(uid+":"+recipe.mOutputs[0].getItemDamage(),recipe); + public void add(T recipe) { + GameRegistry.UniqueIdentifier uid = GameRegistry.findUniqueIdentifierFor(recipe.mOutputs[0].getItem()); + mRecipeMap.put(uid + ":" + recipe.mOutputs[0].getItemDamage(), recipe); } - public Collection recipeList(){ + public Collection recipeList() { return mRecipeMap.values(); } } public static class GT_Recipe_MapTT extends GT_Recipe.GT_Recipe_Map { - public static GT_Recipe_MapTT sResearchableFakeRecipes = new GT_Recipe_MapTT(new HashSet<>(32), "gt.recipe.researchStation", "Research station", null, "gregtech:textures/gui/multimachines/ResearchFake", 1, 1, 1, 0, 1, "", 1, "", true, false);//nei to false - using custom handler - public static GT_Recipe_MapTT sScannableFakeRecipes = new GT_Recipe_MapTT(new HashSet<>(32), "gt.recipe.em_scanner", "EM Scanner Research", null, "gregtech:textures/gui/multimachines/ResearchFake", 1, 1, 1, 0, 1, "", 1, "", true, false); - public static ArrayList sAssemblylineRecipes = new ArrayList<>(); + public static GT_Recipe_MapTT sResearchableFakeRecipes = new GT_Recipe_MapTT( + new HashSet<>(32), + "gt.recipe.researchStation", + "Research station", + null, + "gregtech:textures/gui/multimachines/ResearchFake", + 1, + 1, + 1, + 0, + 1, + "", + 1, + "", + true, + false); // nei to false - using custom handler + public static GT_Recipe_MapTT sScannableFakeRecipes = new GT_Recipe_MapTT( + new HashSet<>(32), + "gt.recipe.em_scanner", + "EM Scanner Research", + null, + "gregtech:textures/gui/multimachines/ResearchFake", + 1, + 1, + 1, + 0, + 1, + "", + 1, + "", + true, + false); + public static ArrayList sAssemblylineRecipes = new ArrayList<>(); - public GT_Recipe_MapTT(Collection aRecipeList, String aUnlocalizedName, String aLocalName, String aNEIName, String aNEIGUIPath, - int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems, int aMinimalInputFluids, - int aAmperage, - String aNEISpecialValuePre, int aNEISpecialValueMultiplier, String aNEISpecialValuePost, - boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) { - super(aRecipeList, aUnlocalizedName, aLocalName, aNEIName, aNEIGUIPath, - aUsualInputCount, aUsualOutputCount, aMinimalInputItems, aMinimalInputFluids, + public GT_Recipe_MapTT( + Collection aRecipeList, + String aUnlocalizedName, + String aLocalName, + String aNEIName, + String aNEIGUIPath, + int aUsualInputCount, + int aUsualOutputCount, + int aMinimalInputItems, + int aMinimalInputFluids, + int aAmperage, + String aNEISpecialValuePre, + int aNEISpecialValueMultiplier, + String aNEISpecialValuePost, + boolean aShowVoltageAmperageInNEI, + boolean aNEIAllowed) { + super( + aRecipeList, + aUnlocalizedName, + aLocalName, + aNEIName, + aNEIGUIPath, + aUsualInputCount, + aUsualOutputCount, + aMinimalInputItems, + aMinimalInputFluids, aAmperage, - aNEISpecialValuePre, aNEISpecialValueMultiplier, aNEISpecialValuePost, - aShowVoltageAmperageInNEI, aNEIAllowed); + aNEISpecialValuePre, + aNEISpecialValueMultiplier, + aNEISpecialValuePost, + aShowVoltageAmperageInNEI, + aNEIAllowed); } } - public static class TT_assLineRecipe extends TT_recipe{ + public static class TT_assLineRecipe extends TT_recipe { public final ItemStack mResearchItem; - public TT_assLineRecipe(boolean aOptimize, ItemStack researchItem, - ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, - FluidStack[] aFluidInputs, int aDuration, int aEUt, int aSpecialValue, - EMConstantStackMap[] in, EMConstantStackMap[] out, EMConstantStackMap[] catalyst, IAdditionalCheck check) { - super(aOptimize, aInputs, aOutputs, aSpecialItems, null, aFluidInputs, null, aDuration, aEUt, aSpecialValue, in, out, catalyst, check); - mResearchItem=researchItem; + public TT_assLineRecipe( + boolean aOptimize, + ItemStack researchItem, + ItemStack[] aInputs, + ItemStack[] aOutputs, + Object aSpecialItems, + FluidStack[] aFluidInputs, + int aDuration, + int aEUt, + int aSpecialValue, + EMConstantStackMap[] in, + EMConstantStackMap[] out, + EMConstantStackMap[] catalyst, + IAdditionalCheck check) { + super( + aOptimize, + aInputs, + aOutputs, + aSpecialItems, + null, + aFluidInputs, + null, + aDuration, + aEUt, + aSpecialValue, + in, + out, + catalyst, + check); + mResearchItem = researchItem; } - public TT_assLineRecipe(boolean aOptimize, ItemStack researchItem, - ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, - FluidStack[] aFluidInputs, int aDuration, int aEUt, int aSpecialValue, - EMConstantStackMap[] in) { - this(aOptimize, researchItem, aInputs, aOutputs, aSpecialItems, aFluidInputs, aDuration, aEUt, aSpecialValue, in, null, null,null); + public TT_assLineRecipe( + boolean aOptimize, + ItemStack researchItem, + ItemStack[] aInputs, + ItemStack[] aOutputs, + Object aSpecialItems, + FluidStack[] aFluidInputs, + int aDuration, + int aEUt, + int aSpecialValue, + EMConstantStackMap[] in) { + this( + aOptimize, + researchItem, + aInputs, + aOutputs, + aSpecialItems, + aFluidInputs, + aDuration, + aEUt, + aSpecialValue, + in, + null, + null, + null); } } - public static class TT_EMRecipe extends TT_recipe{ + public static class TT_EMRecipe extends TT_recipe { public final IEMDefinition mResearchEM; - public final GT_Recipe scannerRecipe; + public final GT_Recipe scannerRecipe; - public TT_EMRecipe(boolean aOptimize, GT_Recipe scannerRecipe, IEMDefinition researchEM, - ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, - FluidStack[] aFluidInputs, int aDuration, int aEUt, int aSpecialValue, - EMConstantStackMap[] in, EMConstantStackMap[] out, EMConstantStackMap[] catalyst, IAdditionalCheck check) { - super(aOptimize, aInputs, aOutputs, aSpecialItems, null, aFluidInputs, null, aDuration, aEUt, aSpecialValue, in, out, catalyst, check); - mResearchEM=researchEM; - this.scannerRecipe=scannerRecipe; + public TT_EMRecipe( + boolean aOptimize, + GT_Recipe scannerRecipe, + IEMDefinition researchEM, + ItemStack[] aInputs, + ItemStack[] aOutputs, + Object aSpecialItems, + FluidStack[] aFluidInputs, + int aDuration, + int aEUt, + int aSpecialValue, + EMConstantStackMap[] in, + EMConstantStackMap[] out, + EMConstantStackMap[] catalyst, + IAdditionalCheck check) { + super( + aOptimize, + aInputs, + aOutputs, + aSpecialItems, + null, + aFluidInputs, + null, + aDuration, + aEUt, + aSpecialValue, + in, + out, + catalyst, + check); + mResearchEM = researchEM; + this.scannerRecipe = scannerRecipe; } - public TT_EMRecipe(boolean aOptimize, GT_Recipe scannerRecipe, IEMDefinition researchEM, - ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, - FluidStack[] aFluidInputs, int aDuration, int aEUt, int aSpecialValue, - EMConstantStackMap[] in) { - this(aOptimize, scannerRecipe, researchEM, aInputs, aOutputs, aSpecialItems, aFluidInputs, aDuration, aEUt, aSpecialValue, in, null, null,null); + public TT_EMRecipe( + boolean aOptimize, + GT_Recipe scannerRecipe, + IEMDefinition researchEM, + ItemStack[] aInputs, + ItemStack[] aOutputs, + Object aSpecialItems, + FluidStack[] aFluidInputs, + int aDuration, + int aEUt, + int aSpecialValue, + EMConstantStackMap[] in) { + this( + aOptimize, + scannerRecipe, + researchEM, + aInputs, + aOutputs, + aSpecialItems, + aFluidInputs, + aDuration, + aEUt, + aSpecialValue, + in, + null, + null, + null); } } public static class TT_Recipe_Map_EM { - public static TT_Recipe_Map_EM sCrafterRecipesEM = new TT_Recipe_Map_EM<>("EM Crafter Recipes","gt.recipe.em_crafter",null); - public static TT_Recipe_Map_EM sMachineRecipesEM = new TT_Recipe_Map_EM<>("EM Machinert Recipe","gt.recipe.em_machinery",null); + public static TT_Recipe_Map_EM sCrafterRecipesEM = + new TT_Recipe_Map_EM<>("EM Crafter Recipes", "gt.recipe.em_crafter", null); + public static TT_Recipe_Map_EM sMachineRecipesEM = + new TT_Recipe_Map_EM<>("EM Machinert Recipe", "gt.recipe.em_machinery", null); - private final HashMap mRecipeMap; - public final String mNEIName,mUnlocalizedName,mNEIGUIPath; + private final HashMap mRecipeMap; + public final String mNEIName, mUnlocalizedName, mNEIGUIPath; - public TT_Recipe_Map_EM(String mNEIName,String mUnlocalizedName,String mNEIGUIPath){ - mRecipeMap =new HashMap<>(16); - this.mNEIName=mNEIName; - this.mUnlocalizedName=mUnlocalizedName; - this.mNEIGUIPath=mNEIGUIPath; + public TT_Recipe_Map_EM(String mNEIName, String mUnlocalizedName, String mNEIGUIPath) { + mRecipeMap = new HashMap<>(16); + this.mNEIName = mNEIName; + this.mUnlocalizedName = mUnlocalizedName; + this.mNEIGUIPath = mNEIGUIPath; } - public T findRecipe(IEMDefinition stack){ + public T findRecipe(IEMDefinition stack) { return mRecipeMap.get(stack); } - public void add(T recipe){ - mRecipeMap.put(recipe.mResearchEM,recipe); + public void add(T recipe) { + mRecipeMap.put(recipe.mResearchEM, recipe); } - public Collection recipeList(){ + public Collection recipeList() { return mRecipeMap.values(); } } diff --git a/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java b/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java index 37f0865dd4..739896749b 100644 --- a/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java +++ b/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java @@ -15,58 +15,117 @@ import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Recipe.GT_Recipe_AssemblyLine; import gregtech.api.util.GT_Utility; import gregtech.common.GT_RecipeAdder; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; -public class TT_recipeAdder extends GT_RecipeAdder { - public static final ItemStack[] nullItem=new ItemStack[0]; - public static final FluidStack[] nullFluid=new FluidStack[0]; +public class TT_recipeAdder extends GT_RecipeAdder { + public static final ItemStack[] nullItem = new ItemStack[0]; + public static final FluidStack[] nullFluid = new FluidStack[0]; - public static boolean addResearchableAssemblylineRecipe(ItemStack aResearchItem, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput, int assDuration, int assEUt) { - if(aInputs==null) { + public static boolean addResearchableAssemblylineRecipe( + ItemStack aResearchItem, + int totalComputationRequired, + int computationRequiredPerSec, + int researchEUt, + int researchAmperage, + ItemStack[] aInputs, + FluidStack[] aFluidInputs, + ItemStack aOutput, + int assDuration, + int assEUt) { + if (aInputs == null) { aInputs = nullItem; } - if(aFluidInputs==null) { + if (aFluidInputs == null) { aFluidInputs = nullFluid; } - if (aResearchItem==null || totalComputationRequired<=0 || aOutput == null || aInputs.length>16) { + if (aResearchItem == null || totalComputationRequired <= 0 || aOutput == null || aInputs.length > 16) { return false; } - for(ItemStack tItem : aInputs){ - if(tItem==null){ - TecTech.LOGGER.error("addResearchableAssemblingLineRecipe "+aResearchItem.getDisplayName()+" --> "+aOutput.getUnlocalizedName()+" there is some null item in that recipe"); + for (ItemStack tItem : aInputs) { + if (tItem == null) { + TecTech.LOGGER.error("addResearchableAssemblingLineRecipe " + aResearchItem.getDisplayName() + " --> " + + aOutput.getUnlocalizedName() + " there is some null item in that recipe"); } } researchAmperage = GT_Utility.clamp(researchAmperage, 1, Short.MAX_VALUE); computationRequiredPerSec = GT_Utility.clamp(computationRequiredPerSec, 1, Short.MAX_VALUE); - TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Writes Research result")}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16); - GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.addFakeRecipe(false, aInputs, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Reads Research result")}, aFluidInputs, null, assDuration, assEUt, 0,true); - GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(new GT_Recipe.GT_Recipe_AssemblyLine(CustomItemList.UnusedStuff.get(1), totalComputationRequired/computationRequiredPerSec, aInputs, aFluidInputs, aOutput, assDuration, assEUt)); - TT_recipe.GT_Recipe_MapTT.sAssemblylineRecipes.add(new GT_Recipe.GT_Recipe_AssemblyLine(aResearchItem, totalComputationRequired/computationRequiredPerSec, aInputs, aFluidInputs, aOutput, assDuration, assEUt)); + TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe( + false, + new ItemStack[] {aResearchItem}, + new ItemStack[] {aOutput}, + new ItemStack[] {ItemList.Tool_DataStick.getWithName(1L, "Writes Research result")}, + null, + null, + totalComputationRequired, + researchEUt, + researchAmperage | computationRequiredPerSec << 16); + GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.addFakeRecipe( + false, + aInputs, + new ItemStack[] {aOutput}, + new ItemStack[] {ItemList.Tool_DataStick.getWithName(1L, "Reads Research result")}, + aFluidInputs, + null, + assDuration, + assEUt, + 0, + true); + GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(new GT_Recipe.GT_Recipe_AssemblyLine( + CustomItemList.UnusedStuff.get(1), + totalComputationRequired / computationRequiredPerSec, + aInputs, + aFluidInputs, + aOutput, + assDuration, + assEUt)); + TT_recipe.GT_Recipe_MapTT.sAssemblylineRecipes.add(new GT_Recipe.GT_Recipe_AssemblyLine( + aResearchItem, + totalComputationRequired / computationRequiredPerSec, + aInputs, + aFluidInputs, + aOutput, + assDuration, + assEUt)); return true; } - public static boolean addResearchableAssemblylineRecipe(ItemStack aResearchItem, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, Object[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput, int assDuration, int assEUt) { - if(aInputs==null) { + public static boolean addResearchableAssemblylineRecipe( + ItemStack aResearchItem, + int totalComputationRequired, + int computationRequiredPerSec, + int researchEUt, + int researchAmperage, + Object[] aInputs, + FluidStack[] aFluidInputs, + ItemStack aOutput, + int assDuration, + int assEUt) { + if (aInputs == null) { aInputs = nullItem; } - if(aFluidInputs==null) { + if (aFluidInputs == null) { aFluidInputs = nullFluid; } - if (aResearchItem==null || totalComputationRequired<=0 || aOutput == null || aInputs.length>16 || aFluidInputs.length>4 || assDuration<=0 || assEUt<=0) { + if (aResearchItem == null + || totalComputationRequired <= 0 + || aOutput == null + || aInputs.length > 16 + || aFluidInputs.length > 4 + || assDuration <= 0 + || assEUt <= 0) { return false; } ItemStack[] tInputs = new ItemStack[aInputs.length]; ItemStack[][] tAlts = new ItemStack[aInputs.length][]; int tPersistentHash = 1; - for(int i = 0; i < aInputs.length; i++){ + for (int i = 0; i < aInputs.length; i++) { Object obj = aInputs[i]; if (obj instanceof ItemStack) { tInputs[i] = (ItemStack) obj; @@ -90,7 +149,8 @@ public class TT_recipeAdder extends GT_RecipeAdder { if (objs.length >= 2 && !(tList = GT_OreDictUnificator.getOres(objs[0])).isEmpty()) { try { // sort the output, so the hash code is stable across launches - tList.sort(Comparator.comparing(s -> GameRegistry.findUniqueIdentifierFor(s.getItem()).modId) + tList.sort(Comparator.comparing( + s -> GameRegistry.findUniqueIdentifierFor(s.getItem()).modId) .thenComparing(s -> GameRegistry.findUniqueIdentifierFor(s.getItem()).modId) .thenComparingInt(Items.feather::getDamage) .thenComparingInt(s -> s.stackSize)); @@ -100,8 +160,7 @@ public class TT_recipeAdder extends GT_RecipeAdder { ItemStack uStack = GT_Utility.copyAmount(tAmount, tStack); if (GT_Utility.isStackValid(uStack)) { uList.add(uStack); - if (tInputs[i] == null) - tInputs[i] = uStack; + if (tInputs[i] == null) tInputs[i] = uStack; } } tAlts[i] = uList.toArray(new ItemStack[0]); @@ -109,17 +168,18 @@ public class TT_recipeAdder extends GT_RecipeAdder { tPersistentHash = tPersistentHash * 31 + tAmount; continue; } catch (Exception t) { - TecTech.LOGGER.error("addAssemblingLineRecipe "+aResearchItem.getDisplayName()+" --> there is some ... in that recipe"); + TecTech.LOGGER.error("addAssemblingLineRecipe " + aResearchItem.getDisplayName() + + " --> there is some ... in that recipe"); } } } - TecTech.LOGGER.error("addAssemblingLineRecipe "+aResearchItem.getDisplayName()+" --> "+aOutput.getUnlocalizedName()+" there is some null item in that recipe"); + TecTech.LOGGER.error("addAssemblingLineRecipe " + aResearchItem.getDisplayName() + " --> " + + aOutput.getUnlocalizedName() + " there is some null item in that recipe"); } tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(aResearchItem, true, false); tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(aOutput, true, false); for (FluidStack tFluidInput : aFluidInputs) { - if (tFluidInput == null) - continue; + if (tFluidInput == null) continue; tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(tFluidInput, true, false); } researchAmperage = GT_Utility.clamp(researchAmperage, 1, Short.MAX_VALUE); @@ -130,12 +190,48 @@ public class TT_recipeAdder extends GT_RecipeAdder { tPersistentHash = tPersistentHash * 31 + researchEUt; tPersistentHash = tPersistentHash * 31 + assDuration; tPersistentHash = tPersistentHash * 31 + assEUt; - TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Writes Research result")}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16); - GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.addFakeRecipe(false,tInputs,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Reads Research result")},aFluidInputs,null,assDuration,assEUt,0,tAlts,true); - GT_Recipe_AssemblyLine recipeGT = new GT_Recipe_AssemblyLine(CustomItemList.UnusedStuff.get(1), totalComputationRequired / computationRequiredPerSec, tInputs, aFluidInputs, aOutput, assDuration, assEUt, tAlts); + TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe( + false, + new ItemStack[] {aResearchItem}, + new ItemStack[] {aOutput}, + new ItemStack[] {ItemList.Tool_DataStick.getWithName(1L, "Writes Research result")}, + null, + null, + totalComputationRequired, + researchEUt, + researchAmperage | computationRequiredPerSec << 16); + GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.addFakeRecipe( + false, + tInputs, + new ItemStack[] {aOutput}, + new ItemStack[] {ItemList.Tool_DataStick.getWithName(1L, "Reads Research result")}, + aFluidInputs, + null, + assDuration, + assEUt, + 0, + tAlts, + true); + GT_Recipe_AssemblyLine recipeGT = new GT_Recipe_AssemblyLine( + CustomItemList.UnusedStuff.get(1), + totalComputationRequired / computationRequiredPerSec, + tInputs, + aFluidInputs, + aOutput, + assDuration, + assEUt, + tAlts); recipeGT.setPersistentHash(tPersistentHash); GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(recipeGT); - GT_Recipe_AssemblyLine recipeTT = new GT_Recipe_AssemblyLine(aResearchItem, totalComputationRequired / computationRequiredPerSec, tInputs, aFluidInputs, aOutput, assDuration, assEUt, tAlts); + GT_Recipe_AssemblyLine recipeTT = new GT_Recipe_AssemblyLine( + aResearchItem, + totalComputationRequired / computationRequiredPerSec, + tInputs, + aFluidInputs, + aOutput, + assDuration, + assEUt, + tAlts); recipeTT.setPersistentHash(tPersistentHash); TT_recipe.GT_Recipe_MapTT.sAssemblylineRecipes.add(recipeTT); return true; @@ -149,120 +245,252 @@ public class TT_recipeAdder extends GT_RecipeAdder { */ public static boolean addResearchableEMmachineRecipe( - ItemStack aResearchItem, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, - ItemStack[] aInputs, FluidStack[] aFluidInputs, EMConstantStackMap[] eInputs, - ItemStack aOutput, int machineDuration, int machineEUt, int machineAmperage) { - if(aInputs==null) { + ItemStack aResearchItem, + int totalComputationRequired, + int computationRequiredPerSec, + int researchEUt, + int researchAmperage, + ItemStack[] aInputs, + FluidStack[] aFluidInputs, + EMConstantStackMap[] eInputs, + ItemStack aOutput, + int machineDuration, + int machineEUt, + int machineAmperage) { + if (aInputs == null) { aInputs = nullItem; } - if(aFluidInputs==null) { + if (aFluidInputs == null) { aFluidInputs = nullFluid; } - if (aResearchItem==null || totalComputationRequired<=0 || aOutput == null) { + if (aResearchItem == null || totalComputationRequired <= 0 || aOutput == null) { return false; } - for(ItemStack tItem : aInputs){ - if(tItem==null){ - TecTech.LOGGER.error("addResearchableEMmachineRecipe "+aResearchItem.getDisplayName()+" --> "+aOutput.getUnlocalizedName()+" there is some null item in that recipe"); + for (ItemStack tItem : aInputs) { + if (tItem == null) { + TecTech.LOGGER.error("addResearchableEMmachineRecipe " + aResearchItem.getDisplayName() + " --> " + + aOutput.getUnlocalizedName() + " there is some null item in that recipe"); } } - if(researchAmperage<=0) { + if (researchAmperage <= 0) { researchAmperage = 1; - } else if(researchAmperage > Short.MAX_VALUE) { + } else if (researchAmperage > Short.MAX_VALUE) { researchAmperage = Short.MAX_VALUE; } - if(computationRequiredPerSec<=0) { + if (computationRequiredPerSec <= 0) { computationRequiredPerSec = 1; - } else if(computationRequiredPerSec > Short.MAX_VALUE) { + } else if (computationRequiredPerSec > Short.MAX_VALUE) { computationRequiredPerSec = Short.MAX_VALUE; } - TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Writes Research result for "+ GT_MetaTileEntity_EM_machine.machine)}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16); - TT_recipe.TT_Recipe_Map.sMachineRecipes.add(new TT_recipe.TT_assLineRecipe(false,aResearchItem,aInputs,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, - aFluidInputs,machineDuration,machineEUt,machineAmperage,eInputs)); + TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe( + false, + new ItemStack[] {aResearchItem}, + new ItemStack[] {aOutput}, + new ItemStack[] { + ItemList.Tool_DataOrb.getWithName( + 1L, "Writes Research result for " + GT_MetaTileEntity_EM_machine.machine) + }, + null, + null, + totalComputationRequired, + researchEUt, + researchAmperage | computationRequiredPerSec << 16); + TT_recipe.TT_Recipe_Map.sMachineRecipes.add(new TT_recipe.TT_assLineRecipe( + false, + aResearchItem, + aInputs, + new ItemStack[] {aOutput}, + new ItemStack[] {ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, + aFluidInputs, + machineDuration, + machineEUt, + machineAmperage, + eInputs)); return true; } public static boolean addResearchableEMcrafterRecipe( - ItemStack aResearchItem, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, - EMConstantStackMap[] eInputs, EMConstantStackMap[] catalyst, TT_recipe.IAdditionalCheck check, - ItemStack aOutput, int crafterDuration, int crafterEUt, int crafterAmperage) { - if (aResearchItem==null || totalComputationRequired<=0 || aOutput == null) { + ItemStack aResearchItem, + int totalComputationRequired, + int computationRequiredPerSec, + int researchEUt, + int researchAmperage, + EMConstantStackMap[] eInputs, + EMConstantStackMap[] catalyst, + TT_recipe.IAdditionalCheck check, + ItemStack aOutput, + int crafterDuration, + int crafterEUt, + int crafterAmperage) { + if (aResearchItem == null || totalComputationRequired <= 0 || aOutput == null) { return false; } - if(researchAmperage<=0) { + if (researchAmperage <= 0) { researchAmperage = 1; - } else if(researchAmperage > Short.MAX_VALUE) { + } else if (researchAmperage > Short.MAX_VALUE) { researchAmperage = Short.MAX_VALUE; } - if(computationRequiredPerSec<=0) { + if (computationRequiredPerSec <= 0) { computationRequiredPerSec = 1; - } else if(computationRequiredPerSec > Short.MAX_VALUE) { + } else if (computationRequiredPerSec > Short.MAX_VALUE) { computationRequiredPerSec = Short.MAX_VALUE; } - TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Writes Research result for "+ GT_MetaTileEntity_EM_crafting.crafter)}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16); - TT_recipe.TT_Recipe_Map.sCrafterRecipes.add(new TT_recipe.TT_assLineRecipe(false,aResearchItem,null,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, - null,crafterDuration,crafterEUt,crafterAmperage,eInputs,null,catalyst,check)); + TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe( + false, + new ItemStack[] {aResearchItem}, + new ItemStack[] {aOutput}, + new ItemStack[] { + ItemList.Tool_DataOrb.getWithName( + 1L, "Writes Research result for " + GT_MetaTileEntity_EM_crafting.crafter) + }, + null, + null, + totalComputationRequired, + researchEUt, + researchAmperage | computationRequiredPerSec << 16); + TT_recipe.TT_Recipe_Map.sCrafterRecipes.add(new TT_recipe.TT_assLineRecipe( + false, + aResearchItem, + null, + new ItemStack[] {aOutput}, + new ItemStack[] {ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, + null, + crafterDuration, + crafterEUt, + crafterAmperage, + eInputs, + null, + catalyst, + check)); return true; } public static boolean addScannableEMmachineRecipe( - IEMDefinition aResearchEM, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, - ItemStack[] aInputs, FluidStack[] aFluidInputs, EMConstantStackMap[] eInputs, - ItemStack aOutput, int machineDuration, int machineEUt, int machineAmperage) { - if(aInputs==null) { + IEMDefinition aResearchEM, + int totalComputationRequired, + int computationRequiredPerSec, + int researchEUt, + int researchAmperage, + ItemStack[] aInputs, + FluidStack[] aFluidInputs, + EMConstantStackMap[] eInputs, + ItemStack aOutput, + int machineDuration, + int machineEUt, + int machineAmperage) { + if (aInputs == null) { aInputs = nullItem; } - if(aFluidInputs==null) { + if (aFluidInputs == null) { aFluidInputs = nullFluid; } - if (aResearchEM==null || totalComputationRequired<=0 || aOutput == null) { + if (aResearchEM == null || totalComputationRequired <= 0 || aOutput == null) { return false; } - for(ItemStack tItem : aInputs){ - if(tItem==null){ - TecTech.LOGGER.error("addScannableEMmachineRecipe "+aResearchEM+" --> "+aOutput.getUnlocalizedName()+" there is some null item in that recipe"); + for (ItemStack tItem : aInputs) { + if (tItem == null) { + TecTech.LOGGER.error("addScannableEMmachineRecipe " + aResearchEM + " --> " + + aOutput.getUnlocalizedName() + " there is some null item in that recipe"); } } - if(researchAmperage<=0) { + if (researchAmperage <= 0) { researchAmperage = 1; - } else if(researchAmperage > Short.MAX_VALUE) { + } else if (researchAmperage > Short.MAX_VALUE) { researchAmperage = Short.MAX_VALUE; } - if(computationRequiredPerSec<=0) { + if (computationRequiredPerSec <= 0) { computationRequiredPerSec = 1; - } else if(computationRequiredPerSec > Short.MAX_VALUE) { + } else if (computationRequiredPerSec > Short.MAX_VALUE) { computationRequiredPerSec = Short.MAX_VALUE; } - ItemStack placeholder=new ItemStack(ElementalDefinitionContainer_EM.INSTANCE); - ElementalDefinitionContainer_EM.setContent(placeholder,new EMConstantStackMap(new EMDefinitionStack(aResearchEM,1))); - GT_Recipe thisRecipe=TT_recipe.GT_Recipe_MapTT.sScannableFakeRecipes.addFakeRecipe(false, new ItemStack[]{placeholder}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Writes Research result for "+ GT_MetaTileEntity_EM_machine.machine)}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16); - TT_recipe.TT_Recipe_Map_EM.sMachineRecipesEM.add(new TT_recipe.TT_EMRecipe(false,thisRecipe,aResearchEM,aInputs,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, - aFluidInputs,machineDuration,machineEUt,machineAmperage,eInputs)); + ItemStack placeholder = new ItemStack(ElementalDefinitionContainer_EM.INSTANCE); + ElementalDefinitionContainer_EM.setContent( + placeholder, new EMConstantStackMap(new EMDefinitionStack(aResearchEM, 1))); + GT_Recipe thisRecipe = TT_recipe.GT_Recipe_MapTT.sScannableFakeRecipes.addFakeRecipe( + false, + new ItemStack[] {placeholder}, + new ItemStack[] {aOutput}, + new ItemStack[] { + ItemList.Tool_DataOrb.getWithName( + 1L, "Writes Research result for " + GT_MetaTileEntity_EM_machine.machine) + }, + null, + null, + totalComputationRequired, + researchEUt, + researchAmperage | computationRequiredPerSec << 16); + TT_recipe.TT_Recipe_Map_EM.sMachineRecipesEM.add(new TT_recipe.TT_EMRecipe( + false, + thisRecipe, + aResearchEM, + aInputs, + new ItemStack[] {aOutput}, + new ItemStack[] {ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, + aFluidInputs, + machineDuration, + machineEUt, + machineAmperage, + eInputs)); return true; } public static boolean addScannableEMcrafterRecipe( - IEMDefinition aResearchEM, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, - EMConstantStackMap[] eInputs, EMConstantStackMap[] catalyst, TT_recipe.IAdditionalCheck check, - ItemStack aOutput, int crafterDuration, int crafterEUt, int crafterAmperage) { - if (aResearchEM==null || totalComputationRequired<=0 || aOutput == null) { + IEMDefinition aResearchEM, + int totalComputationRequired, + int computationRequiredPerSec, + int researchEUt, + int researchAmperage, + EMConstantStackMap[] eInputs, + EMConstantStackMap[] catalyst, + TT_recipe.IAdditionalCheck check, + ItemStack aOutput, + int crafterDuration, + int crafterEUt, + int crafterAmperage) { + if (aResearchEM == null || totalComputationRequired <= 0 || aOutput == null) { return false; } - if(researchAmperage<=0) { + if (researchAmperage <= 0) { researchAmperage = 1; - } else if(researchAmperage > Short.MAX_VALUE) { + } else if (researchAmperage > Short.MAX_VALUE) { researchAmperage = Short.MAX_VALUE; } - if(computationRequiredPerSec<=0) { + if (computationRequiredPerSec <= 0) { computationRequiredPerSec = 1; - } else if(computationRequiredPerSec > Short.MAX_VALUE) { + } else if (computationRequiredPerSec > Short.MAX_VALUE) { computationRequiredPerSec = Short.MAX_VALUE; } - ItemStack placeholder=new ItemStack(ElementalDefinitionContainer_EM.INSTANCE); - ElementalDefinitionContainer_EM.setContent(placeholder,new EMConstantStackMap(new EMDefinitionStack(aResearchEM,1))); - GT_Recipe thisRecipe=TT_recipe.GT_Recipe_MapTT.sScannableFakeRecipes.addFakeRecipe(false, new ItemStack[]{placeholder}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Writes Research result for "+ GT_MetaTileEntity_EM_crafting.crafter)}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16); - TT_recipe.TT_Recipe_Map_EM.sCrafterRecipesEM.add(new TT_recipe.TT_EMRecipe(false,thisRecipe,aResearchEM,null,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, - null,crafterDuration,crafterEUt,crafterAmperage,eInputs,null,catalyst,check)); + ItemStack placeholder = new ItemStack(ElementalDefinitionContainer_EM.INSTANCE); + ElementalDefinitionContainer_EM.setContent( + placeholder, new EMConstantStackMap(new EMDefinitionStack(aResearchEM, 1))); + GT_Recipe thisRecipe = TT_recipe.GT_Recipe_MapTT.sScannableFakeRecipes.addFakeRecipe( + false, + new ItemStack[] {placeholder}, + new ItemStack[] {aOutput}, + new ItemStack[] { + ItemList.Tool_DataOrb.getWithName( + 1L, "Writes Research result for " + GT_MetaTileEntity_EM_crafting.crafter) + }, + null, + null, + totalComputationRequired, + researchEUt, + researchAmperage | computationRequiredPerSec << 16); + TT_recipe.TT_Recipe_Map_EM.sCrafterRecipesEM.add(new TT_recipe.TT_EMRecipe( + false, + thisRecipe, + aResearchEM, + null, + new ItemStack[] {aOutput}, + new ItemStack[] {ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, + null, + crafterDuration, + crafterEUt, + crafterAmperage, + eInputs, + null, + catalyst, + check)); return true; } } 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 9e555e3961..6f00ed021f 100644 --- a/src/main/java/com/github/technus/tectech/thing/CustomItemList.java +++ b/src/main/java/com/github/technus/tectech/thing/CustomItemList.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing; +import static gregtech.api.enums.GT_Values.W; + import gregtech.api.interfaces.IItemContainer; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; @@ -8,103 +10,395 @@ import net.minecraft.block.Block; import net.minecraft.item.Item; 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, + 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, + 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, + 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, - eM_dynamoMulti4_LuV, eM_dynamoMulti16_LuV, eM_dynamoMulti64_LuV, - eM_dynamoMulti4_ZPM, eM_dynamoMulti16_ZPM, eM_dynamoMulti64_ZPM, - eM_dynamoMulti4_UV, eM_dynamoMulti16_UV, eM_dynamoMulti64_UV, - eM_dynamoMulti4_UHV, eM_dynamoMulti16_UHV, eM_dynamoMulti64_UHV, - eM_dynamoMulti4_UEV, eM_dynamoMulti16_UEV, eM_dynamoMulti64_UEV, - 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_dynamoMulti4_IV, + eM_dynamoMulti16_IV, + eM_dynamoMulti64_IV, + eM_dynamoMulti4_LuV, + eM_dynamoMulti16_LuV, + eM_dynamoMulti64_LuV, + eM_dynamoMulti4_ZPM, + eM_dynamoMulti16_ZPM, + eM_dynamoMulti64_ZPM, + eM_dynamoMulti4_UV, + eM_dynamoMulti16_UV, + eM_dynamoMulti64_UV, + eM_dynamoMulti4_UHV, + eM_dynamoMulti16_UHV, + eM_dynamoMulti64_UHV, + eM_dynamoMulti4_UEV, + eM_dynamoMulti16_UEV, + eM_dynamoMulti64_UEV, + 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_dynamoTunnel9001, - eM_energyMulti4_IV, eM_energyMulti16_IV, eM_energyMulti64_IV, - eM_energyMulti4_LuV, eM_energyMulti16_LuV, eM_energyMulti64_LuV, - eM_energyMulti4_ZPM, eM_energyMulti16_ZPM, eM_energyMulti64_ZPM, - eM_energyMulti4_UV, eM_energyMulti16_UV, eM_energyMulti64_UV, - eM_energyMulti4_UHV, eM_energyMulti16_UHV, eM_energyMulti64_UHV, - eM_energyMulti4_UEV, eM_energyMulti16_UEV, eM_energyMulti64_UEV, - 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_energyMulti4_IV, + eM_energyMulti16_IV, + eM_energyMulti64_IV, + eM_energyMulti4_LuV, + eM_energyMulti16_LuV, + eM_energyMulti64_LuV, + eM_energyMulti4_ZPM, + eM_energyMulti16_ZPM, + eM_energyMulti64_ZPM, + eM_energyMulti4_UV, + eM_energyMulti16_UV, + eM_energyMulti64_UV, + eM_energyMulti4_UHV, + eM_energyMulti16_UHV, + eM_energyMulti64_UHV, + eM_energyMulti4_UEV, + eM_energyMulti16_UEV, + eM_energyMulti64_UEV, + 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_energyTunnel9001, - eM_in_UV, eM_in_UHV, eM_in_UEV, eM_in_UIV, eM_in_UMV, eM_in_UXV, - eM_out_UV, eM_out_UHV, eM_out_UEV, eM_out_UIV, eM_out_UMV, eM_out_UXV, - eM_muffler_UV, eM_muffler_UHV, eM_muffler_UEV, eM_muffler_UIV, eM_muffler_UMV, eM_muffler_UXV, - 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, + eM_in_UV, + eM_in_UHV, + eM_in_UEV, + eM_in_UIV, + eM_in_UMV, + eM_in_UXV, + eM_out_UV, + eM_out_UHV, + eM_out_UEV, + eM_out_UIV, + eM_out_UMV, + eM_out_UXV, + eM_muffler_UV, + eM_muffler_UHV, + eM_muffler_UEV, + eM_muffler_UIV, + eM_muffler_UMV, + eM_muffler_UXV, + 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, - tM_TeslaBase, tM_TeslaToroid, tM_TeslaSecondary, tM_TeslaPrimary_0, tM_TeslaPrimary_1, tM_TeslaPrimary_2, tM_TeslaPrimary_3, tM_TeslaPrimary_4, tM_TeslaPrimary_5, tM_TeslaPrimary_6, + tM_TeslaBase, + tM_TeslaToroid, + tM_TeslaSecondary, + tM_TeslaPrimary_0, + tM_TeslaPrimary_1, + tM_TeslaPrimary_2, + tM_TeslaPrimary_3, + tM_TeslaPrimary_4, + tM_TeslaPrimary_5, + tM_TeslaPrimary_6, - Machine_Multi_Microwave, Machine_Multi_TeslaCoil, + 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, - Machine_Multi_EssentiaToEM, Machine_Multi_EMToEssentia, - Machine_Multi_Infuser, Machine_Multi_Collider, - Machine_Multi_Decay, Machine_Multi_EMmachine, - Machine_Multi_Stabilizer, Machine_Multi_EMCrafter, - Machine_Multi_Wormhole, Machine_Multi_Annihilation, + Machine_Multi_Computer, + Machine_Multi_Switch, + Machine_Multi_Research, + Machine_Multi_DataBank, + Machine_Multi_MatterToEM, + Machine_Multi_EMToMatter, + Machine_Multi_EMjunction, + Machine_Multi_Scanner, + Machine_Multi_EssentiaToEM, + Machine_Multi_EMToEssentia, + Machine_Multi_Infuser, + Machine_Multi_Collider, + Machine_Multi_Decay, + Machine_Multi_EMmachine, + 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, - eM_avr_HV, eM_avr_EV, eM_avr_IV, eM_avr_LuV, eM_avr_ZPM, eM_avr_UV, eM_avr_UHV, eM_avr_UEV, eM_avr_UIV, eM_avr_UMV, + eM_avr_HV, + eM_avr_EV, + eM_avr_IV, + eM_avr_LuV, + eM_avr_ZPM, + eM_avr_UV, + eM_avr_UHV, + eM_avr_UEV, + eM_avr_UIV, + eM_avr_UMV, - scanContainer, parametrizerMemory, teslaCapacitor, teslaCover, teslaComponent, teslaStaff, enderLinkFluidCover, powerPassUpgradeCover, + scanContainer, + parametrizerMemory, + teslaCapacitor, + teslaCover, + teslaComponent, + teslaStaff, + enderLinkFluidCover, + powerPassUpgradeCover, - 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; + 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; - //public static Fluid sOilExtraHeavy, sOilHeavy, sOilMedium, sOilLight, sNaturalGas; + // public static Fluid sOilExtraHeavy, sOilHeavy, sOilMedium, sOilLight, sNaturalGas; @Override public IItemContainer set(Item aItem) { diff --git a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassBlock.java b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassBlock.java index 42fb14f55d..b84f04c783 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassBlock.java +++ b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassBlock.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.block; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; + import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -12,9 +15,6 @@ import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; - /** * Created by danie_000 on 17.12.2016. */ @@ -51,10 +51,10 @@ public final class QuantumGlassBlock extends BlockBase { return false; } - //@Override - //public boolean canRenderInPass(int pass) { + // @Override + // public boolean canRenderInPass(int pass) { // return true; - //} + // } @Override public boolean canBeReplacedByLeaves(IBlockAccess world, int x, int y, int z) { @@ -74,9 +74,11 @@ public final class QuantumGlassBlock extends BlockBase { @Override @SideOnly(Side.CLIENT) - public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { + public boolean shouldSideBeRendered( + IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { Block block = p_149646_1_.getBlock(p_149646_2_, p_149646_3_, p_149646_4_); - return block != this;// && super.shouldSideBeRendered(p_149646_1_, p_149646_2_, p_149646_3_, p_149646_4_, p_149646_5_); + return block != this; // && super.shouldSideBeRendered(p_149646_1_, p_149646_2_, p_149646_3_, p_149646_4_, + // p_149646_5_); } @Override @@ -102,7 +104,6 @@ public final class QuantumGlassBlock extends BlockBase { if (GregTech_API.isMachineBlock(this, aWorld.getBlockMetadata(aX, aY, aZ))) { GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ); } - } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassItem.java b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassItem.java index 3f42bdbbc4..aabcdc2fee 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassItem.java +++ b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassItem.java @@ -1,16 +1,15 @@ package com.github.technus.tectech.thing.block; +import static com.github.technus.tectech.util.CommonValues.TEC_MARK_EM; +import static net.minecraft.util.StatCollector.translateToLocal; + +import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import java.util.List; - -import static com.github.technus.tectech.util.CommonValues.TEC_MARK_EM; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 11.04.2017. */ @@ -24,7 +23,9 @@ public class QuantumGlassItem extends ItemBlock { @Override public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { aList.add(TEC_MARK_EM); - aList.add(translateToLocal("tile.quantumGlass.desc.0"));//Dense yet transparent - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("tile.quantumGlass.desc.1"));//Glassy & Classy + aList.add(translateToLocal("tile.quantumGlass.desc.0")); // Dense yet transparent + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("tile.quantumGlass.desc.1")); // Glassy & Classy } } diff --git a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassRender.java b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassRender.java index cec06002fa..aac2c9d5a1 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassRender.java +++ b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassRender.java @@ -18,7 +18,7 @@ public final class QuantumGlassRender implements ISimpleBlockRenderingHandler { GL11.glTranslatef(-0.5F, -0.5F, -0.5F); Tessellator tessellator = Tessellator.instance; GL11.glPushMatrix(); - //Get icons from custom register (useful for renderers and fluids) + // Get icons from custom register (useful for renderers and fluids) IIcon side = QuantumGlassBlock.stuff; tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); @@ -49,9 +49,8 @@ public final class QuantumGlassRender implements ISimpleBlockRenderingHandler { } @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, - Block block, int modelId, - RenderBlocks renderer) { + public boolean renderWorldBlock( + IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { renderer.renderStandardBlock(block, x, y, z); Tessellator tes = Tessellator.instance; @@ -62,42 +61,47 @@ public final class QuantumGlassRender implements ISimpleBlockRenderingHandler { IIcon side = QuantumGlassBlock.stuff; GL11.glDisable(GL11.GL_CULL_FACE); - //South + // South if (world.getBlock(x, y, z + 1).getClass() != QuantumGlassBlock.class) { - tes.addVertexWithUV(x, y, z + 0.999, side.getMinU(), side.getMaxV()); //0.999 instead of 1 for fighting (textures overlapping) + tes.addVertexWithUV( + x, + y, + z + 0.999, + side.getMinU(), + side.getMaxV()); // 0.999 instead of 1 for fighting (textures overlapping) tes.addVertexWithUV(x, y + 1, z + 0.999, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x + 1, y + 1, z + 0.999, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x + 1, y, z + 0.999, side.getMaxU(), side.getMaxV()); } - //East + // East if (world.getBlock(x + 1, y, z).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x + 0.999, y, z + 1, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x + 0.999, y + 1, z + 1, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x + 0.999, y + 1, z, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x + 0.999, y, z, side.getMaxU(), side.getMaxV()); } - //North + // North if (world.getBlock(x, y, z - 1).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x + 1, y, z + 0.001, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x + 1, y + 1, z + 0.001, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x, y + 1, z + 0.001, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x, y, z + 0.001, side.getMaxU(), side.getMaxV()); } - //West + // West if (world.getBlock(x - 1, y, z).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x + 0.001, y, z, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x + 0.001, y + 1, z, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x + 0.001, y + 1, z + 1, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x + 0.001, y, z + 1, side.getMaxU(), side.getMaxV()); } - //Top + // Top if (world.getBlock(x, y + 1, z).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x, y + 0.999, z + 1, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x, y + 0.999, z, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x + 1, y + 0.999, z, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x + 1, y + 0.999, z + 1, side.getMaxU(), side.getMaxV()); } - //Bottom + // Bottom if (world.getBlock(x, y - 1, z).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x, y + 0.001, z, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x, y + 0.001, z + 1, side.getMinU(), side.getMinV()); diff --git a/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffBlock.java b/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffBlock.java index 639a269523..2717a95425 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffBlock.java +++ b/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffBlock.java @@ -1,9 +1,13 @@ package com.github.technus.tectech.thing.block; +import static com.github.technus.tectech.Reference.MODID; + import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import eu.usrv.yamcore.blocks.BlockBase; +import java.util.ArrayList; +import java.util.Random; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.Item; @@ -12,11 +16,6 @@ import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import java.util.ArrayList; -import java.util.Random; - -import static com.github.technus.tectech.Reference.MODID; - /** * Created by danie_000 on 17.12.2016. */ @@ -58,10 +57,10 @@ public final class QuantumStuffBlock extends BlockBase { return false; } - //@Override - //public boolean canRenderInPass(int pass) { + // @Override + // public boolean canRenderInPass(int pass) { // return true; - //} + // } @Override public boolean canBeReplacedByLeaves(IBlockAccess world, int x, int y, int z) { @@ -81,7 +80,8 @@ public final class QuantumStuffBlock extends BlockBase { @Override @SideOnly(Side.CLIENT) - public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { + public boolean shouldSideBeRendered( + IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { return false; } diff --git a/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffRender.java b/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffRender.java index 5d495a8355..1c974a1510 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffRender.java +++ b/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffRender.java @@ -14,13 +14,13 @@ import org.lwjgl.opengl.GL11; * Created by danie_000 on 19.12.2016. */ public final class QuantumStuffRender implements ISimpleBlockRenderingHandler { - private static Tessellator tes=Tessellator.instance; + private static Tessellator tes = Tessellator.instance; @Override public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { GL11.glTranslatef(-0.5F, -0.5F, -0.5F); GL11.glPushMatrix(); - //Get icons from custom register (useful for renderers and fluids) + // Get icons from custom register (useful for renderers and fluids) IIcon side = QuantumStuffBlock.stuff; tes.startDrawingQuads(); tes.setNormal(0.0F, -1.0F, 0.0F); @@ -51,39 +51,54 @@ public final class QuantumStuffRender implements ISimpleBlockRenderingHandler { } @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - //renderer.renderStandardBlock(block, x, y, z); + public boolean renderWorldBlock( + IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + // renderer.renderStandardBlock(block, x, y, z); GL11.glPushMatrix(); tes.setNormal(0F, 1F, 0F); tes.setBrightness(15728880); IIcon side = QuantumStuffBlock.stuff; - for(int i=0;i<6;i++){ - float f = 1 - TecTech.RANDOM.nextFloat() / 4f, g = f - TecTech.RANDOM.nextFloat() / 4f, r = g - TecTech.RANDOM.nextFloat() / 4f - 0.25f; + for (int i = 0; i < 6; i++) { + float f = 1 - TecTech.RANDOM.nextFloat() / 4f, + g = f - TecTech.RANDOM.nextFloat() / 4f, + r = g - TecTech.RANDOM.nextFloat() / 4f - 0.25f; tes.setColorOpaque_F(r, g, f); - float rotX=TecTech.RANDOM.nextFloat()*2*(float) Math.PI,rotY=TecTech.RANDOM.nextFloat()*2*(float) Math.PI,rotZ=TecTech.RANDOM.nextFloat()*2*(float) Math.PI; - tesAbuse(x,y,z,-1.425f,-1.425f,.1f,rotX,rotY,rotZ,side.getMinU(), side.getMaxV()); - tesAbuse(x,y,z,-1.425f,1.425f,.1f,rotX,rotY,rotZ,side.getMinU(), side.getMinV()); - tesAbuse(x,y,z,1.425f,1.425f,.1f,rotX,rotY,rotZ,side.getMaxU(), side.getMinV()); - tesAbuse(x,y,z,1.425f,-1.425f,.1f,rotX,rotY,rotZ,side.getMaxU(), side.getMaxV()); + float rotX = TecTech.RANDOM.nextFloat() * 2 * (float) Math.PI, + rotY = TecTech.RANDOM.nextFloat() * 2 * (float) Math.PI, + rotZ = TecTech.RANDOM.nextFloat() * 2 * (float) Math.PI; + tesAbuse(x, y, z, -1.425f, -1.425f, .1f, rotX, rotY, rotZ, side.getMinU(), side.getMaxV()); + tesAbuse(x, y, z, -1.425f, 1.425f, .1f, rotX, rotY, rotZ, side.getMinU(), side.getMinV()); + tesAbuse(x, y, z, 1.425f, 1.425f, .1f, rotX, rotY, rotZ, side.getMaxU(), side.getMinV()); + tesAbuse(x, y, z, 1.425f, -1.425f, .1f, rotX, rotY, rotZ, side.getMaxU(), side.getMaxV()); - tesAbuse(x,y,z,1.425f,-1.425f,-.1f,rotX,rotY,rotZ,side.getMaxU(), side.getMaxV()); - tesAbuse(x,y,z,1.425f,1.425f,-.1f,rotX,rotY,rotZ,side.getMaxU(), side.getMinV()); - tesAbuse(x,y,z,-1.425f,1.425f,-.1f,rotX,rotY,rotZ,side.getMinU(), side.getMinV()); - tesAbuse(x,y,z,-1.425f,-1.425f,-.1f,rotX,rotY,rotZ,side.getMinU(), side.getMaxV()); + tesAbuse(x, y, z, 1.425f, -1.425f, -.1f, rotX, rotY, rotZ, side.getMaxU(), side.getMaxV()); + tesAbuse(x, y, z, 1.425f, 1.425f, -.1f, rotX, rotY, rotZ, side.getMaxU(), side.getMinV()); + tesAbuse(x, y, z, -1.425f, 1.425f, -.1f, rotX, rotY, rotZ, side.getMinU(), side.getMinV()); + tesAbuse(x, y, z, -1.425f, -1.425f, -.1f, rotX, rotY, rotZ, side.getMinU(), side.getMaxV()); } GL11.glPopMatrix(); return true; } - private void tesAbuse(int x, int y, int z, float sx, float sy, float sz, float rotX, float rotY, float rotZ,float sideU, float sideV){ + private void tesAbuse( + int x, + int y, + int z, + float sx, + float sy, + float sz, + float rotX, + float rotY, + float rotZ, + float sideU, + float sideV) { Vec3 pos = Vec3.createVectorHelper(sx, sy, sz); pos.rotateAroundX(rotX); pos.rotateAroundY(rotY); pos.rotateAroundZ(rotZ); - tes.addVertexWithUV(pos.xCoord+x+.5f, pos.yCoord+y+.5f, pos.zCoord+z+.5f, sideU, sideV); + tes.addVertexWithUV(pos.xCoord + x + .5f, pos.yCoord + y + .5f, pos.zCoord + z + .5f, sideU, sideV); } - @Override public boolean shouldRender3DInInventory(int modelId) { return true; diff --git a/src/main/java/com/github/technus/tectech/thing/block/ReactorSimBlock.java b/src/main/java/com/github/technus/tectech/thing/block/ReactorSimBlock.java index 1440e16c62..0cb032e623 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/ReactorSimBlock.java +++ b/src/main/java/com/github/technus/tectech/thing/block/ReactorSimBlock.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.block; +import static com.github.technus.tectech.Reference.MODID; + import com.github.technus.tectech.thing.tileEntity.ReactorSimTileEntity; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; @@ -17,8 +19,6 @@ import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import static com.github.technus.tectech.Reference.MODID; - /** * Created by danie_000 on 30.09.2017. */ @@ -63,7 +63,7 @@ public class ReactorSimBlock extends Block implements ITileEntityProvider { public static void run() { INSTANCE = new ReactorSimBlock(); GameRegistry.registerBlock(INSTANCE, ReactorSimItem.class, INSTANCE.getUnlocalizedName()); - GameRegistry.registerTileEntity(ReactorSimTileEntity.class,MODID+"_reactorSim"); + GameRegistry.registerTileEntity(ReactorSimTileEntity.class, MODID + "_reactorSim"); } @Override @@ -72,21 +72,22 @@ public class ReactorSimBlock extends Block implements ITileEntityProvider { } @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer entityPlayer, int side, float a, float b, float c) { - if(entityPlayer.isSneaking()) { + public boolean onBlockActivated( + World world, int x, int y, int z, EntityPlayer entityPlayer, int side, float a, float b, float c) { + if (entityPlayer.isSneaking()) { return false; } else { - TileEntity te = world.getTileEntity(x,y,z); - return te instanceof IHasGui && (!IC2.platform.isSimulating() || IC2.platform.launchGui(entityPlayer, (IHasGui) te)); + TileEntity te = world.getTileEntity(x, y, z); + return te instanceof IHasGui + && (!IC2.platform.isSimulating() || IC2.platform.launchGui(entityPlayer, (IHasGui) te)); } } @Override public void onNeighborBlockChange(World world, int x, int y, int z, Block srcBlock) { - TileEntity te = world.getTileEntity(x,y,z); - if(te instanceof TileEntityBlock) { - ((TileEntityBlock)te).onNeighborUpdate(srcBlock); + TileEntity te = world.getTileEntity(x, y, z); + if (te instanceof TileEntityBlock) { + ((TileEntityBlock) te).onNeighborUpdate(srcBlock); } - } } diff --git a/src/main/java/com/github/technus/tectech/thing/block/ReactorSimItem.java b/src/main/java/com/github/technus/tectech/thing/block/ReactorSimItem.java index d659a05005..c4f27a4f66 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/ReactorSimItem.java +++ b/src/main/java/com/github/technus/tectech/thing/block/ReactorSimItem.java @@ -1,16 +1,15 @@ package com.github.technus.tectech.thing.block; +import static com.github.technus.tectech.util.CommonValues.TEC_MARK_GENERAL; +import static net.minecraft.util.StatCollector.translateToLocal; + +import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import java.util.List; - -import static com.github.technus.tectech.util.CommonValues.TEC_MARK_GENERAL; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 30.09.2017. */ @@ -24,7 +23,9 @@ public class ReactorSimItem extends ItemBlock { @Override public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { aList.add(TEC_MARK_GENERAL); - aList.add(translateToLocal("tile.reactorSim.desc.0"));//Fission Reaction Uncertainty Resolver 9001 - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("tile.reactorSim.desc.1"));//Explodes, but not as much... + aList.add(translateToLocal("tile.reactorSim.desc.0")); // Fission Reaction Uncertainty Resolver 9001 + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("tile.reactorSim.desc.1")); // Explodes, but not as much... } } 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 index 62221d5bd4..8e0221d827 100644 --- 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 @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.casing; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; + import com.github.technus.tectech.thing.CustomItemList; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -8,6 +10,7 @@ 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 java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -15,10 +18,6 @@ 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.thing.casing.GT_Block_CasingsTT.texturePage; - /** * Created by danie_000 on 03.10.2016. */ @@ -39,17 +38,25 @@ public class GT_Block_CasingsBA0 extends GT_Block_Casings_Abstract { 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 + START_INDEX] = new GT_CopiedBlockTexture(this, 6, b); + Textures.BlockIcons.casingTexturePages[texturePage][b + START_INDEX] = + 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() + ".9.name", "ZPM Superconductor Primary Tesla Windings"); + 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() + ".9.name", "ZPM Superconductor Primary Tesla Windings"); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".6.name", "Tesla Base Casing"); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".7.name", "Tesla Toroid Casing"); diff --git a/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsNH.java b/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsNH.java index 2a8bb37a0b..61e4847eb8 100644 --- a/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsNH.java +++ b/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsNH.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.casing; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; + import com.github.technus.tectech.thing.CustomItemList; import gregtech.api.enums.Textures; import gregtech.api.objects.GT_CopiedBlockTexture; @@ -10,14 +13,10 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; - /** * Created by danie_000 on 03.10.2016. */ -public class GT_Block_CasingsNH - extends GT_Block_Casings_Abstract { +public class GT_Block_CasingsNH extends GT_Block_Casings_Abstract { public static boolean mConnectedMachineTextures = true; public GT_Block_CasingsNH() { @@ -25,28 +24,28 @@ public class GT_Block_CasingsNH setCreativeTab(creativeTabTecTech); for (byte b = 0; b < 16; b = (byte) (b + 1)) { - Textures.BlockIcons.casingTexturePages[8][b+64] = new GT_CopiedBlockTexture(this, 6, b); + Textures.BlockIcons.casingTexturePages[8][b + 64] = new GT_CopiedBlockTexture(this, 6, b); /*IMPORTANT for block recoloring*/ } - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "UEV Machine Casing");//adding - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "UIV Machine Casing");//adding - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "UMV Machine Casing");//adding - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "UXV Machine Casing");//adding - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "OPV Machine Casing");//adding - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "MAX Machine Casing");//adding - - CustomItemList.Casing_UEV.set(new ItemStack(this,1,10)); - CustomItemList.Casing_UIV.set(new ItemStack(this,1,11)); - CustomItemList.Casing_UMV.set(new ItemStack(this,1,12)); - CustomItemList.Casing_UXV.set(new ItemStack(this,1,13)); - CustomItemList.Casing_OPV.set(new ItemStack(this,1,14)); - CustomItemList.Casing_MAXV.set(new ItemStack(this,1,15)); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "UEV Machine Casing"); // adding + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "UIV Machine Casing"); // adding + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "UMV Machine Casing"); // adding + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "UXV Machine Casing"); // adding + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "OPV Machine Casing"); // adding + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "MAX Machine Casing"); // adding + + CustomItemList.Casing_UEV.set(new ItemStack(this, 1, 10)); + CustomItemList.Casing_UIV.set(new ItemStack(this, 1, 11)); + CustomItemList.Casing_UMV.set(new ItemStack(this, 1, 12)); + CustomItemList.Casing_UXV.set(new ItemStack(this, 1, 13)); + CustomItemList.Casing_OPV.set(new ItemStack(this, 1, 14)); + CustomItemList.Casing_MAXV.set(new ItemStack(this, 1, 15)); } @Override public void registerBlockIcons(IIconRegister aIconRegister) { - //super.registerBlockIcons(aIconRegister); + // super.registerBlockIcons(aIconRegister); } @Override 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 de72db417e..fcaa068bce 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 @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.casing; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; +import static com.github.technus.tectech.TecTech.tectechTexturePage1; + import com.github.technus.tectech.thing.CustomItemList; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -8,6 +11,7 @@ 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 java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -15,18 +19,31 @@ 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.creativeTabTecTech; -import static com.github.technus.tectech.TecTech.tectechTexturePage1; - /** * Created by danie_000 on 03.10.2016. */ public class GT_Block_CasingsTT extends GT_Block_Casings_Abstract { - public static final byte texturePage=tectechTexturePage1; - public static final short textureOffset = texturePage << 7;//Start of PAGE 8 (which is the 9th page) (8*128) - private static IIcon eM0, eM1, eM1s, eM2, eM2s, eM3, eM3s, eM4, eM5, eM6, eM7, eM7s, eM8, eM9, eM10, eM11, eM12, eM13, eM14; + public static final byte texturePage = tectechTexturePage1; + public static final short textureOffset = texturePage << 7; // Start of PAGE 8 (which is the 9th page) (8*128) + private static IIcon eM0, + eM1, + eM1s, + eM2, + eM2s, + eM3, + eM3s, + eM4, + eM5, + eM6, + eM7, + eM7s, + eM8, + eM9, + eM10, + eM11, + eM12, + eM13, + eM14; private static IIcon[] debug = new IIcon[6]; public GT_Block_CasingsTT() { @@ -55,10 +72,13 @@ public class GT_Block_CasingsTT extends GT_Block_Casings_Abstract { GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "Dimensional Bridge Generator"); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "Ultimate Molecular Casing"); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "Ultimate Advanced Molecular Casing"); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "Ultimate Containment Field Generator"); + GT_LanguageManager.addStringLocalization( + getUnlocalizedName() + ".13.name", "Ultimate Advanced Molecular Casing"); + GT_LanguageManager.addStringLocalization( + getUnlocalizedName() + ".14.name", "Ultimate Containment Field Generator"); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "Debug Sides");//NOT REGISTER AS TEXTURE FOR HATCHES! + GT_LanguageManager.addStringLocalization( + getUnlocalizedName() + ".15.name", "Debug Sides"); // NOT REGISTER AS TEXTURE FOR HATCHES! CustomItemList.eM_Power.set(new ItemStack(this, 1, 0)); @@ -86,7 +106,7 @@ public class GT_Block_CasingsTT extends GT_Block_Casings_Abstract { @Override public void registerBlockIcons(IIconRegister aIconRegister) { - //super.registerBlockIcons(aIconRegister); + // super.registerBlockIcons(aIconRegister); eM0 = aIconRegister.registerIcon("gregtech:iconsets/EM_POWER"); eM1 = aIconRegister.registerIcon("gregtech:iconsets/EM_PC_NONSIDE"); 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 index 50630820df..748626fd2e 100644 --- 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 @@ -1,16 +1,15 @@ package com.github.technus.tectech.thing.casing; +import static com.github.technus.tectech.util.CommonValues.*; +import static net.minecraft.util.StatCollector.translateToLocal; + import gregtech.common.blocks.GT_Item_Casings_Abstract; +import java.util.List; 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.util.CommonValues.*; -import static net.minecraft.util.StatCollector.translateToLocal; - public class GT_Item_CasingsBA0 extends GT_Item_Casings_Abstract { public GT_Item_CasingsBA0(Block par1) { super(par1); @@ -24,32 +23,45 @@ public class GT_Item_CasingsBA0 extends GT_Item_Casings_Abstract { aList.add(COSMIC_MARK); } switch (aStack.getItemDamage()) { - case 0://"Redstone Alloy Primary Tesla Windings" - case 1://"MV Superconductor Primary Tesla Windings" - case 2://"HV Superconductor Primary Tesla Windings" - case 3://"EV Superconductor Primary Tesla Windings" - case 4://"IV Superconductor Primary Tesla Windings" - case 5://"LuV Superconductor Primary Tesla Windings" - aList.add(translateToLocal("gt.blockcasingsBA0.0.desc.0") + " " + V[aStack.getItemDamage() + 1] + " EU/t");//Handles up to - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.0.desc.1"));//What one man calls God, another calls the laws of physics. + case 0: // "Redstone Alloy Primary Tesla Windings" + case 1: // "MV Superconductor Primary Tesla Windings" + case 2: // "HV Superconductor Primary Tesla Windings" + case 3: // "EV Superconductor Primary Tesla Windings" + case 4: // "IV Superconductor Primary Tesla Windings" + case 5: // "LuV Superconductor Primary Tesla Windings" + aList.add(translateToLocal("gt.blockcasingsBA0.0.desc.0") + " " + V[aStack.getItemDamage() + 1] + + " EU/t"); // Handles up to + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsBA0.0.desc.1")); // What one man calls God, another calls the + // laws of physics. break; - case 6://"Tesla Base Casing" - aList.add(translateToLocal("gt.blockcasingsBA0.6.desc.0"));//The base of a wondrous contraption - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.6.desc.1"));//it's alive, IT'S ALIVE! + case 6: // "Tesla Base Casing" + aList.add(translateToLocal("gt.blockcasingsBA0.6.desc.0")); // The base of a wondrous contraption + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsBA0.6.desc.1")); // it's alive, IT'S ALIVE! break; - case 7://"Tesla Toroid Casing" - aList.add(translateToLocal("gt.blockcasingsBA0.7.desc.0"));//Made out of the finest tin foil! - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.7.desc.1"));//Faraday suits might come later + case 7: // "Tesla Toroid Casing" + aList.add(translateToLocal("gt.blockcasingsBA0.7.desc.0")); // Made out of the finest tin foil! + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsBA0.7.desc.1")); // Faraday suits might come later break; - case 8://"Tesla Secondary Windings" - aList.add(translateToLocal("gt.blockcasingsBA0.8.desc.0"));//Picks up power from a primary coil - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.8.desc.1"));//Who wouldn't want a 32k epoxy multi? + case 8: // "Tesla Secondary Windings" + aList.add(translateToLocal("gt.blockcasingsBA0.8.desc.0")); // Picks up power from a primary coil + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsBA0.8.desc.1")); // Who wouldn't want a 32k epoxy multi? break; - case 9://"ZPM Superconductor Primary Tesla Windings" - aList.add(translateToLocal("gt.blockcasingsBA0.0.desc.0") + " " + V[7] + " EU/t");//Handles up to - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.0.desc.1"));//What one man calls God, another calls the laws of physics. + case 9: // "ZPM Superconductor Primary Tesla Windings" + aList.add(translateToLocal("gt.blockcasingsBA0.0.desc.0") + " " + V[7] + " EU/t"); // Handles up to + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsBA0.0.desc.1")); // What one man calls God, another calls the + // laws of physics. break; - default://WTF? + 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_CasingsNH.java b/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsNH.java index 68a835c00a..cfe2e0a702 100644 --- a/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsNH.java +++ b/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsNH.java @@ -6,8 +6,7 @@ import net.minecraft.block.Block; /** * Created by danie_000 on 03.10.2016. */ -public class GT_Item_CasingsNH - extends GT_Item_Casings_Abstract { +public class GT_Item_CasingsNH extends GT_Item_Casings_Abstract { public GT_Item_CasingsNH(Block par1) { super(par1); } 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 5c93841d9a..19822a679d 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 @@ -1,17 +1,16 @@ package com.github.technus.tectech.thing.casing; +import static com.github.technus.tectech.util.CommonValues.COSMIC_MARK; +import static com.github.technus.tectech.util.CommonValues.TEC_MARK_EM; +import static net.minecraft.util.StatCollector.translateToLocal; + import gregtech.common.blocks.GT_Item_Casings_Abstract; +import java.util.List; 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.util.CommonValues.COSMIC_MARK; -import static com.github.technus.tectech.util.CommonValues.TEC_MARK_EM; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 03.10.2016. */ @@ -22,77 +21,108 @@ 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() < 15) { + if (aStack.getItemDamage() < 15) { aList.add(TEC_MARK_EM); } else { aList.add(COSMIC_MARK); } switch (aStack.getItemDamage()) { - case 0://"High Power Casing" - aList.add(translateToLocal("gt.blockcasingsTT.0.desc.0"));//Well suited for high power applications. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.0.desc.1"));//The power levels are rising! - break; - case 1://"Computer Casing" - aList.add(translateToLocal("gt.blockcasingsTT.1.desc.0"));//Nice and clean casing. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.1.desc.1"));//Dust can break it!? - break; - case 2://"Computer Heat Vent" - aList.add(translateToLocal("gt.blockcasingsTT.2.desc.0"));//Air vent with a filter. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.2.desc.1"));//Perfectly muffled sound! - break; - case 3://"Advanced Computer Casing" - aList.add(translateToLocal("gt.blockcasingsTT.3.desc.0"));//Contains high bandwidth bus - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.3.desc.1"));//couple thousand qubits wide. - break; - case 4://"Molecular Casing" - aList.add(translateToLocal("gt.blockcasingsTT.4.desc.0"));//Stops elemental things. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.4.desc.1"));//Radiation and emotions too... - break; - case 5://"Advanced Molecular Casing" - aList.add(translateToLocal("gt.blockcasingsTT.5.desc.0"));//Cooling and stabilization. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.5.desc.1"));//A comfortable machine bed. - break; - case 6://"Containment Field Generator" - aList.add(translateToLocal("gt.blockcasingsTT.6.desc.0"));//Creates a field that... - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.6.desc.1"));//can stop even force carriers. - break; - case 7://"Molecular Coil" - aList.add(translateToLocal("gt.blockcasingsTT.7.desc.0"));//Well it does things too... - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.7.desc.1"));//[Use this coil!] - break; - case 8://"Collider Hollow Casing" - aList.add(translateToLocal("gt.blockcasingsTT.8.desc.0"));//Reinforced accelerator tunnel. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.8.desc.1"));//Most advanced pipe ever. - break; - case 9://"Spacetime Altering Casing" - aList.add(translateToLocal("gt.blockcasingsTT.9.desc.0"));//c is no longer the limit. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.9.desc.1"));//Wibbly wobbly timey wimey stuff. - break; - case 10://"Teleportation Casing" - aList.add(translateToLocal("gt.blockcasingsTT.10.desc.0"));//Remote connection. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.10.desc.1"));//Better touch with a stick. - break; - case 11://"Dimensional Bridge Generator" - aList.add(translateToLocal("gt.blockcasingsTT.11.desc.0"));//Interdimensional Operations. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.11.desc.1"));//Around the universe and other places too. - break; - case 12://"Ultimate Molecular Casing" - aList.add(translateToLocal("gt.blockcasingsTT.12.desc.0"));//Ultimate in every way. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.12.desc.1"));//I don't know what it can't do. - break; - case 13://"Ultimate Advanced Molecular Casing" - aList.add(translateToLocal("gt.blockcasingsTT.13.desc.0"));//More Ultimate in every way. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.13.desc.1"));//I don't know what I am doing! - break; - case 14://"Ultimate Containment Field Generator" - aList.add(translateToLocal("gt.blockcasingsTT.14.desc.0"));//Black Hole... - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.14.desc.1"));//Meh... - break; - case 15://"Debug Sides" - aList.add(translateToLocal("gt.blockcasingsTT.15.desc.0"));//Lazy man way of determining sides. - aList.add(EnumChatFormatting.BLUE.toString() + translateToLocal("gt.blockcasingsTT.15.desc.1"));//0, 1, 2, 3, 4, 5, 6?! - break; - default://WTF? + case 0: // "High Power Casing" + aList.add(translateToLocal("gt.blockcasingsTT.0.desc.0")); // Well suited for high power applications. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.0.desc.1")); // The power levels are rising! + break; + case 1: // "Computer Casing" + aList.add(translateToLocal("gt.blockcasingsTT.1.desc.0")); // Nice and clean casing. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.1.desc.1")); // Dust can break it!? + break; + case 2: // "Computer Heat Vent" + aList.add(translateToLocal("gt.blockcasingsTT.2.desc.0")); // Air vent with a filter. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.2.desc.1")); // Perfectly muffled sound! + break; + case 3: // "Advanced Computer Casing" + aList.add(translateToLocal("gt.blockcasingsTT.3.desc.0")); // Contains high bandwidth bus + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.3.desc.1")); // couple thousand qubits wide. + break; + case 4: // "Molecular Casing" + aList.add(translateToLocal("gt.blockcasingsTT.4.desc.0")); // Stops elemental things. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.4.desc.1")); // Radiation and emotions too... + break; + case 5: // "Advanced Molecular Casing" + aList.add(translateToLocal("gt.blockcasingsTT.5.desc.0")); // Cooling and stabilization. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.5.desc.1")); // A comfortable machine bed. + break; + case 6: // "Containment Field Generator" + aList.add(translateToLocal("gt.blockcasingsTT.6.desc.0")); // Creates a field that... + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.6.desc.1")); // can stop even force carriers. + break; + case 7: // "Molecular Coil" + aList.add(translateToLocal("gt.blockcasingsTT.7.desc.0")); // Well it does things too... + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.7.desc.1")); // [Use this coil!] + break; + case 8: // "Collider Hollow Casing" + aList.add(translateToLocal("gt.blockcasingsTT.8.desc.0")); // Reinforced accelerator tunnel. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.8.desc.1")); // Most advanced pipe ever. + break; + case 9: // "Spacetime Altering Casing" + aList.add(translateToLocal("gt.blockcasingsTT.9.desc.0")); // c is no longer the limit. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.9.desc.1")); // Wibbly wobbly timey wimey stuff. + break; + case 10: // "Teleportation Casing" + aList.add(translateToLocal("gt.blockcasingsTT.10.desc.0")); // Remote connection. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.10.desc.1")); // Better touch with a stick. + break; + case 11: // "Dimensional Bridge Generator" + aList.add(translateToLocal("gt.blockcasingsTT.11.desc.0")); // Interdimensional Operations. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.11.desc.1")); // Around the universe and other places too. + break; + case 12: // "Ultimate Molecular Casing" + aList.add(translateToLocal("gt.blockcasingsTT.12.desc.0")); // Ultimate in every way. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.12.desc.1")); // I don't know what it can't do. + break; + case 13: // "Ultimate Advanced Molecular Casing" + aList.add(translateToLocal("gt.blockcasingsTT.13.desc.0")); // More Ultimate in every way. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.13.desc.1")); // I don't know what I am doing! + break; + case 14: // "Ultimate Containment Field Generator" + aList.add(translateToLocal("gt.blockcasingsTT.14.desc.0")); // Black Hole... + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.14.desc.1")); // Meh... + break; + case 15: // "Debug Sides" + aList.add(translateToLocal("gt.blockcasingsTT.15.desc.0")); // Lazy man way of determining sides. + aList.add(EnumChatFormatting.BLUE.toString() + + translateToLocal("gt.blockcasingsTT.15.desc.1")); // 0, 1, 2, 3, 4, 5, 6?! + 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/cover/GT_Cover_TM_EnderFluidLink.java b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_EnderFluidLink.java index e5e62ae4d8..ad6bb87c19 100644 --- a/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_EnderFluidLink.java +++ b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_EnderFluidLink.java @@ -1,5 +1,9 @@ package com.github.technus.tectech.thing.cover; +import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderFluidContainer; +import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderLinkTag; +import static gregtech.GT_Mod.gregtechproxy; + import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.mechanics.enderStorage.EnderLinkCoverMessage; import com.github.technus.tectech.mechanics.enderStorage.EnderLinkTag; @@ -14,6 +18,7 @@ import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.net.GT_Packet_TileEntityCover; import gregtech.api.util.GT_CoverBehavior; import gregtech.api.util.GT_Utility; +import java.util.UUID; import net.minecraft.client.gui.GuiButton; import net.minecraft.entity.player.EntityPlayer; import net.minecraftforge.common.util.ForgeDirection; @@ -21,25 +26,18 @@ import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.IFluidHandler; -import java.util.UUID; - -import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderFluidContainer; -import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderLinkTag; -import static gregtech.GT_Mod.gregtechproxy; - public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { private static final int L_PER_TICK = 8000; - private final static int IMPORT_EXPORT_MASK = 0b0001; - private final static int PUBLIC_PRIVATE_MASK = 0b0010; - private static EnderLinkTag tag = new EnderLinkTag("", null);//Client-Sided + private static final int IMPORT_EXPORT_MASK = 0b0001; + private static final int PUBLIC_PRIVATE_MASK = 0b0010; + private static EnderLinkTag tag = new EnderLinkTag("", null); // Client-Sided - public GT_Cover_TM_EnderFluidLink() { - } + public GT_Cover_TM_EnderFluidLink() {} public static void setEnderLinkTag(EnderLinkTag inputTag) { - if(inputTag != null) { + if (inputTag != null) { tag = inputTag; - //Hacky Way to update the gui + // Hacky Way to update the gui GUI_INSTANCE.resetColorField(); } } @@ -62,7 +60,8 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { } @Override - public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { + public int doCoverThings( + byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { if ((aTileEntity instanceof IFluidHandler)) { IFluidHandler fluidHandlerSelf = (IFluidHandler) aTileEntity; IFluidHandler fluidHandlerEnder = getEnderFluidContainer(getEnderLinkTag((IFluidHandler) aTileEntity)); @@ -92,11 +91,19 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { } @Override - public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) { + public int onCoverScrewdriverclick( + byte aSide, + int aCoverID, + int aCoverVariable, + ICoverable aTileEntity, + EntityPlayer aPlayer, + float aX, + float aY, + float aZ) { int newCoverVariable = toggleBit(aCoverVariable, IMPORT_EXPORT_MASK); if (testBit(aCoverVariable, IMPORT_EXPORT_MASK)) { - PlayerChatHelper.SendInfo(aPlayer, "Ender Suction Engaged!");//TODO Translation support + PlayerChatHelper.SendInfo(aPlayer, "Ender Suction Engaged!"); // TODO Translation support } else { PlayerChatHelper.SendInfo(aPlayer, "Ender Filling Engaged!"); } @@ -105,19 +112,19 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { @Override public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - //Runs each tick + // Runs each tick return 1; } - //region GUI + // region GUI @Override public boolean hasCoverGUI() { return true; } @Override - public Object getClientGUI(byte aSide, int aCoverID, int coverData, ICoverable aTileEntity) { - //Only open gui if we're placed on a fluid tank + public Object getClientGUI(byte aSide, int aCoverID, int coverData, ICoverable aTileEntity) { + // Only open gui if we're placed on a fluid tank Object gui = null; if (aTileEntity instanceof IFluidHandler) { gui = new TM_EnderFluidLinkCover(aSide, aCoverID, coverData, aTileEntity); @@ -133,37 +140,37 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { private int coverVariable; private GT_GuiTextBox colorField; - private final static int START_X = 10; - private final static int START_Y = 25; - private final static int SPACE_X = 18; - private final static int SPACE_Y = 18; + private static final int START_X = 10; + private static final int START_Y = 25; + private static final int SPACE_X = 18; + private static final int SPACE_Y = 18; - private final static int SIZE_X = 176; - private final static int SIZE_Y = 107; + private static final int SIZE_X = 176; + private static final int SIZE_Y = 107; - private final static int BOX_SIZE_X = 34; - private final static int BOX_SIZE_Y = 34; + private static final int BOX_SIZE_X = 34; + private static final int BOX_SIZE_Y = 34; - private final static int TEXT_FIELD_SIZE_X = SPACE_X * 5 - 8; - private final static int TEXT_FIELD_SIZE_Y = 12; - private final static int TEXT_STRING_LENGTH = 9; + private static final int TEXT_FIELD_SIZE_X = SPACE_X * 5 - 8; + private static final int TEXT_FIELD_SIZE_Y = 12; + private static final int TEXT_STRING_LENGTH = 9; - private final static int FONT_COLOR = 0xFF555555; - private final static int BOX_BORDER_COLOR = 0xFF000000; + private static final int FONT_COLOR = 0xFF555555; + private static final int BOX_BORDER_COLOR = 0xFF000000; - private final static int COLOR_FIELD_ID = 0; - private final static int PUBLIC_BUTTON_ID = 1; - private final static int PRIVATE_BUTTON_ID = 2; - private final static int IMPORT_BUTTON_ID = 3; - private final static int EXPORT_BUTTON_ID = 4; + private static final int COLOR_FIELD_ID = 0; + private static final int PUBLIC_BUTTON_ID = 1; + private static final int PRIVATE_BUTTON_ID = 2; + private static final int IMPORT_BUTTON_ID = 3; + private static final int EXPORT_BUTTON_ID = 4; private GT_GuiIconButton newButtonWithSpacing(int id, int x, int y, GT_GuiIcon icon) { return new GT_GuiIconButton(this, id, START_X + SPACE_X * x, START_Y + SPACE_Y * y, icon); } private GT_GuiTextBox newTextField(int id, int x, int y) { - GT_GuiTextBox field = new GT_GuiTextBox(this, id, START_X + SPACE_X * x, - START_Y + SPACE_Y * y, TEXT_FIELD_SIZE_X, TEXT_FIELD_SIZE_Y); + GT_GuiTextBox field = new GT_GuiTextBox( + this, id, START_X + SPACE_X * x, START_Y + SPACE_Y * y, TEXT_FIELD_SIZE_X, TEXT_FIELD_SIZE_Y); field.setMaxStringLength(TEXT_STRING_LENGTH); return field; } @@ -178,21 +185,18 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { side = aSide; coverID = aCoverID; coverVariable = aCoverVariable; - NetworkDispatcher.INSTANCE.sendToServer(new EnderLinkCoverMessage.EnderLinkCoverQuery(tag, (IFluidHandler) tile)); - //Color Value Field + NetworkDispatcher.INSTANCE.sendToServer( + new EnderLinkCoverMessage.EnderLinkCoverQuery(tag, (IFluidHandler) tile)); + // Color Value Field colorField = newTextField(COLOR_FIELD_ID, 0, 0); GUI_INSTANCE = this; resetColorField(); - //Public/Private Buttons - newButtonWithSpacing(PUBLIC_BUTTON_ID, 0, 2, GT_GuiIcon.WHITELIST) - .setTooltipText(trans("326", "Public")); - newButtonWithSpacing(PRIVATE_BUTTON_ID, 1, 2, GT_GuiIcon.BLACKLIST) - .setTooltipText(trans("327", "Private")); - //Import/Export Buttons - newButtonWithSpacing(IMPORT_BUTTON_ID, 0, 3, GT_GuiIcon.IMPORT) - .setTooltipText(trans("007", "Import")); - newButtonWithSpacing(EXPORT_BUTTON_ID, 1, 3, GT_GuiIcon.EXPORT) - .setTooltipText(trans("006", "Export")); + // Public/Private Buttons + newButtonWithSpacing(PUBLIC_BUTTON_ID, 0, 2, GT_GuiIcon.WHITELIST).setTooltipText(trans("326", "Public")); + newButtonWithSpacing(PRIVATE_BUTTON_ID, 1, 2, GT_GuiIcon.BLACKLIST).setTooltipText(trans("327", "Private")); + // Import/Export Buttons + newButtonWithSpacing(IMPORT_BUTTON_ID, 0, 3, GT_GuiIcon.IMPORT).setTooltipText(trans("007", "Import")); + newButtonWithSpacing(EXPORT_BUTTON_ID, 1, 3, GT_GuiIcon.EXPORT).setTooltipText(trans("006", "Export")); } @Override @@ -209,15 +213,15 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { } @Override - public void buttonClicked(GuiButton btn){ - if (getClickable(btn.id)){ + public void buttonClicked(GuiButton btn) { + if (getClickable(btn.id)) { coverVariable = getNewCoverVariable(btn.id); GT_Values.NW.sendToServer(new GT_Packet_TileEntityCover(side, coverID, coverVariable, tile)); } updateButtons(); } - private void updateButtons(){ + private void updateButtons() { GuiButton b; for (Object o : buttonList) { b = (GuiButton) o; @@ -227,23 +231,26 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { private void switchPrivatePublic(int coverVar) { UUID ownerUUID = tag.getUUID(); - if (testBit(coverVar, PUBLIC_PRIVATE_MASK)){ + if (testBit(coverVar, PUBLIC_PRIVATE_MASK)) { ownerUUID = gregtechproxy.getThePlayer().getUniqueID(); } else { ownerUUID = null; } EnderLinkTag newTag = new EnderLinkTag(tag.getFrequency(), ownerUUID); - NetworkDispatcher.INSTANCE.sendToServer(new EnderLinkCoverMessage.EnderLinkCoverUpdate(newTag, (IFluidHandler) tile)); + NetworkDispatcher.INSTANCE.sendToServer( + new EnderLinkCoverMessage.EnderLinkCoverUpdate(newTag, (IFluidHandler) tile)); } private int getNewCoverVariable(int id) { int tempCoverVariable = coverVariable; switch (id) { - case PUBLIC_BUTTON_ID: case PRIVATE_BUTTON_ID: + case PUBLIC_BUTTON_ID: + case PRIVATE_BUTTON_ID: tempCoverVariable = toggleBit(tempCoverVariable, PUBLIC_PRIVATE_MASK); switchPrivatePublic(tempCoverVariable); break; - case IMPORT_BUTTON_ID: case EXPORT_BUTTON_ID: + case IMPORT_BUTTON_ID: + case EXPORT_BUTTON_ID: tempCoverVariable = toggleBit(tempCoverVariable, IMPORT_EXPORT_MASK); } return tempCoverVariable; @@ -272,7 +279,8 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { try { String string = box.getText(); tag = new EnderLinkTag(string, tag.getUUID()); - NetworkDispatcher.INSTANCE.sendToServer(new EnderLinkCoverMessage.EnderLinkCoverUpdate(tag, (IFluidHandler) tile)); + NetworkDispatcher.INSTANCE.sendToServer( + new EnderLinkCoverMessage.EnderLinkCoverUpdate(tag, (IFluidHandler) tile)); } catch (NumberFormatException ignored) { } resetColorField(); diff --git a/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_PowerPassUpgrade.java b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_PowerPassUpgrade.java index a2221af398..699a6dc0bc 100644 --- a/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_PowerPassUpgrade.java +++ b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_PowerPassUpgrade.java @@ -1,19 +1,18 @@ package com.github.technus.tectech.thing.cover; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; -import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.objects.GT_ItemStack; +import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.util.GT_CoverBehavior; import net.minecraft.item.ItemStack; public class GT_Cover_TM_PowerPassUpgrade extends GT_CoverBehavior { - public GT_Cover_TM_PowerPassUpgrade() { - } + public GT_Cover_TM_PowerPassUpgrade() {} @Override public boolean isCoverPlaceable(byte aSide, ItemStack aStack, ICoverable aTileEntity) { - IMetaTileEntity iGregTechTileEntityOffset = aTileEntity.getIGregTechTileEntityOffset(0, 0, 0).getMetaTileEntity(); + IMetaTileEntity iGregTechTileEntityOffset = + aTileEntity.getIGregTechTileEntityOffset(0, 0, 0).getMetaTileEntity(); if (iGregTechTileEntityOffset instanceof GT_MetaTileEntity_MultiblockBase_EM) { GT_MetaTileEntity_MultiblockBase_EM multi = (GT_MetaTileEntity_MultiblockBase_EM) iGregTechTileEntityOffset; return !multi.ePowerPassCover; @@ -23,7 +22,8 @@ public class GT_Cover_TM_PowerPassUpgrade extends GT_CoverBehavior { @Override public void placeCover(byte aSide, ItemStack aCover, ICoverable aTileEntity) { - IMetaTileEntity iGregTechTileEntityOffset = aTileEntity.getIGregTechTileEntityOffset(0, 0, 0).getMetaTileEntity(); + IMetaTileEntity iGregTechTileEntityOffset = + aTileEntity.getIGregTechTileEntityOffset(0, 0, 0).getMetaTileEntity(); if (iGregTechTileEntityOffset instanceof GT_MetaTileEntity_MultiblockBase_EM) { GT_MetaTileEntity_MultiblockBase_EM multi = (GT_MetaTileEntity_MultiblockBase_EM) iGregTechTileEntityOffset; multi.ePowerPassCover = true; @@ -33,8 +33,10 @@ public class GT_Cover_TM_PowerPassUpgrade extends GT_CoverBehavior { } @Override - public boolean onCoverRemoval(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, boolean aForced) { - IMetaTileEntity iGregTechTileEntityOffset = aTileEntity.getIGregTechTileEntityOffset(0, 0, 0).getMetaTileEntity(); + public boolean onCoverRemoval( + byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, boolean aForced) { + IMetaTileEntity iGregTechTileEntityOffset = + aTileEntity.getIGregTechTileEntityOffset(0, 0, 0).getMetaTileEntity(); if (iGregTechTileEntityOffset instanceof GT_MetaTileEntity_MultiblockBase_EM) { GT_MetaTileEntity_MultiblockBase_EM multi = (GT_MetaTileEntity_MultiblockBase_EM) iGregTechTileEntityOffset; multi.ePowerPassCover = false; 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 index 33330b521a..03caa0948c 100644 --- 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 @@ -1,32 +1,32 @@ package com.github.technus.tectech.thing.cover; +import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.teslaSimpleNodeSetAdd; +import static ic2.api.info.Info.DMG_ELECTRIC; + import com.github.technus.tectech.mechanics.tesla.TeslaCoverConnection; 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 com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.teslaSimpleNodeSetAdd; -import static ic2.api.info.Info.DMG_ELECTRIC; - public class GT_Cover_TM_TeslaCoil extends GT_CoverBehavior { - public GT_Cover_TM_TeslaCoil() { - } + public GT_Cover_TM_TeslaCoil() {} @Override - public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { - //Only do stuff if we're on top and have power + public int doCoverThings( + byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { + // Only do stuff if we're on top and have power if (aSide == 1 || aTileEntity.getEUCapacity() > 0) { - //Makes sure we're on the list - teslaSimpleNodeSetAdd(new TeslaCoverConnection(aTileEntity.getIGregTechTileEntityOffset(0, 0, 0), - getTeslaReceptionCapability())); + // Makes sure we're on the list + teslaSimpleNodeSetAdd(new TeslaCoverConnection( + aTileEntity.getIGregTechTileEntityOffset(0, 0, 0), getTeslaReceptionCapability())); } return super.doCoverThings(aSide, aInputRedstone, aCoverID, aCoverVariable, aTileEntity, aTimer); } @Override public String getDescription(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - return "Do not attempt to use screwdriver!";//TODO Translation support + return "Do not attempt to use screwdriver!"; // TODO Translation support } @Override @@ -35,8 +35,16 @@ public class GT_Cover_TM_TeslaCoil extends GT_CoverBehavior { } @Override - public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) { - //Shock a non-hazmat player if they dare stuff a screwdriver into one of these + public int onCoverScrewdriverclick( + byte aSide, + int aCoverID, + int aCoverVariable, + ICoverable aTileEntity, + EntityPlayer aPlayer, + float aX, + float aY, + float aZ) { + // Shock a non-hazmat player if they dare stuff a screwdriver into one of these if (aTileEntity.getStoredEU() > 0 && !GT_Utility.isWearingFullElectroHazmat(aPlayer)) { aPlayer.attackEntityFrom(DMG_ELECTRIC, 20); } @@ -45,7 +53,7 @@ public class GT_Cover_TM_TeslaCoil extends GT_CoverBehavior { @Override public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - //It updates once every 200 ticks, so once every 10 seconds + // It updates once every 200 ticks, so once every 10 seconds return 200; } 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 index 3417d7ae20..10e8efc9ef 100644 --- 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 @@ -4,8 +4,7 @@ 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 GT_Cover_TM_TeslaCoil_Ultimate() {} @Override public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { @@ -31,7 +30,7 @@ public class GT_Cover_TM_TeslaCoil_Ultimate extends GT_Cover_TM_TeslaCoil { public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity) { return true; } - + public byte getTeslaReceptionCapability() { return 1; } diff --git a/src/main/java/com/github/technus/tectech/thing/item/AvrProgrammer.java b/src/main/java/com/github/technus/tectech/thing/item/AvrProgrammer.java index cc071d2326..561c149a2d 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/AvrProgrammer.java +++ b/src/main/java/com/github/technus/tectech/thing/item/AvrProgrammer.java @@ -1,5 +1,9 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.avrClone.AvrCore; import com.github.technus.avrClone.instructions.InstructionRegistry; import com.github.technus.avrClone.memory.program.ProgramMemory; @@ -12,6 +16,10 @@ import dan200.computercraft.api.filesystem.IWritableMount; import dan200.computercraft.api.media.IMedia; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.List; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; @@ -22,22 +30,14 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.FakePlayer; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.List; - -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; -import static net.minecraft.util.StatCollector.translateToLocal; - -@Optional.InterfaceList( - {@Optional.Interface(iface="dan200.computercraft.api.media.IMedia",modid = "ComputerCraft"), - @Optional.Interface(iface="li.cil.oc.api.fs.FileSystem",modid="OpenComputers")}) +@Optional.InterfaceList({ + @Optional.Interface(iface = "dan200.computercraft.api.media.IMedia", modid = "ComputerCraft"), + @Optional.Interface(iface = "li.cil.oc.api.fs.FileSystem", modid = "OpenComputers") +}) public class AvrProgrammer extends Item implements IMedia { - public static AvrProgrammer INSTANCE=new AvrProgrammer(); + public static AvrProgrammer INSTANCE = new AvrProgrammer(); - private AvrProgrammer(){ + private AvrProgrammer() { setMaxStackSize(1); setHasSubtypes(true); setUnlocalizedName("em.programmer"); @@ -46,9 +46,19 @@ public class AvrProgrammer extends Item implements IMedia { } @Override - public boolean onItemUseFirst(ItemStack stack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int side, float hitX, float hitY, float hitZ) { + public boolean onItemUseFirst( + ItemStack stack, + EntityPlayer aPlayer, + World aWorld, + int aX, + int aY, + int aZ, + int side, + 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) { @@ -56,12 +66,12 @@ public class AvrProgrammer extends Item implements IMedia { IMetaTileEntity metaTE = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity(); if (metaTE instanceof GT_MetaTileEntity_MicroController) { if (aPlayer.isSneaking()) { - if(stack.stackTagCompound.hasKey("pgm")) { + if (stack.stackTagCompound.hasKey("pgm")) { NBTTagCompound pgm = stack.stackTagCompound.getCompoundTag("pgm"); if (pgm.hasKey("instructions")) { AvrCore core = ((GT_MetaTileEntity_MicroController) metaTE).core; - InstructionRegistry registry = InstructionRegistry.REGISTRIES. - get(pgm.getString("instructionRegistry")); + InstructionRegistry registry = + InstructionRegistry.REGISTRIES.get(pgm.getString("instructionRegistry")); if (registry != null) { core.setProgramMemory(new ProgramMemory( registry, @@ -73,9 +83,9 @@ public class AvrProgrammer extends Item implements IMedia { } } } else { - NBTTagCompound tag=new NBTTagCompound(); + NBTTagCompound tag = new NBTTagCompound(); metaTE.saveNBTData(tag); - stack.stackTagCompound.setTag("avr",tag.getCompoundTag("avr")); + stack.stackTagCompound.setTag("avr", tag.getCompoundTag("avr")); } return true; } @@ -84,27 +94,29 @@ public class AvrProgrammer extends Item implements IMedia { return false; } - public void writeToProgrammer(ItemStack stack,InstructionRegistry registry, boolean immersive, List strings) throws Exception{ - writeToProgrammer(stack,new ProgramMemory(registry,immersive,strings)); + public void writeToProgrammer( + ItemStack stack, InstructionRegistry registry, boolean immersive, List strings) throws Exception { + writeToProgrammer(stack, new ProgramMemory(registry, immersive, strings)); } - public void writeToProgrammer(ItemStack stack,InstructionRegistry registry, boolean immersive, String... strings)throws Exception{ - writeToProgrammer(stack,new ProgramMemory(registry,immersive,strings)); + public void writeToProgrammer(ItemStack stack, InstructionRegistry registry, boolean immersive, String... strings) + throws Exception { + writeToProgrammer(stack, new ProgramMemory(registry, immersive, strings)); } public void writeToProgrammer(ItemStack stack, ProgramMemory programMemory) { - NBTTagCompound pgm=new NBTTagCompound(); - pgm.setIntArray("instructions",programMemory.instructions); - pgm.setIntArray("param0",programMemory.param0); - pgm.setIntArray("param1",programMemory.param1); - pgm.setBoolean("immersive",programMemory.immersiveOperands); - pgm.setString("instructionRegistry",programMemory.registry.toString()); - stack.stackTagCompound.setTag("pgm",pgm); + NBTTagCompound pgm = new NBTTagCompound(); + pgm.setIntArray("instructions", programMemory.instructions); + pgm.setIntArray("param0", programMemory.param0); + pgm.setIntArray("param1", programMemory.param1); + pgm.setBoolean("immersive", programMemory.immersiveOperands); + pgm.setString("instructionRegistry", programMemory.registry.toString()); + stack.stackTagCompound.setTag("pgm", pgm); } @Override public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) { - if(world.isRemote){ + if (world.isRemote) { player.openGui(TecTech.instance, ModGuiHandler.PROGRAMMER_DISPLAY_SCREEN_ID, world, 0, 0, 0); } return itemStack; @@ -114,11 +126,12 @@ public class AvrProgrammer extends Item implements IMedia { public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { if (aStack.stackTagCompound.hasKey("avr")) { NBTTagCompound avr = aStack.stackTagCompound.getCompoundTag("avr"); - aList.add(translateToLocal("item.em.programmer.desc.0") + ": " + avr.getInteger("programCounter"));//Current PC - aList.add(translateToLocal("item.em.programmer.desc.1") + ": " + avr.getBoolean("awoken"));//Awoken - aList.add(translateToLocal("item.em.programmer.desc.2") + ": " + avr.getBoolean("active"));//Active - aList.add(translateToLocal("item.em.programmer.desc.3") + ": " + avr.getBoolean("debugRun"));//Debug - aList.add(translateToLocal("item.em.programmer.desc.4") + ": " + avr.getBoolean("delay"));//Delay + aList.add(translateToLocal("item.em.programmer.desc.0") + ": " + + avr.getInteger("programCounter")); // Current PC + aList.add(translateToLocal("item.em.programmer.desc.1") + ": " + avr.getBoolean("awoken")); // Awoken + aList.add(translateToLocal("item.em.programmer.desc.2") + ": " + avr.getBoolean("active")); // Active + aList.add(translateToLocal("item.em.programmer.desc.3") + ": " + avr.getBoolean("debugRun")); // Debug + aList.add(translateToLocal("item.em.programmer.desc.4") + ": " + avr.getBoolean("delay")); // Delay } } @@ -158,9 +171,9 @@ public class AvrProgrammer extends Item implements IMedia { @Override public void delete(String s) throws IOException { - if("avr".equals(s)) { + if ("avr".equals(s)) { itemStack.stackTagCompound.removeTag("avr"); - }else { + } else { throw new IOException("Cannot remove file!"); } } @@ -177,7 +190,7 @@ public class AvrProgrammer extends Item implements IMedia { @Override public long getRemainingSpace() throws IOException { - return 1024000-getSize("avr"); + return 1024000 - getSize("avr"); } @Override @@ -191,13 +204,11 @@ public class AvrProgrammer extends Item implements IMedia { } @Override - public void list(String s, List list) throws IOException { - - } + public void list(String s, List list) throws IOException {} @Override public long getSize(String s) throws IOException { - return "avr".equals(s)?1:0; + return "avr".equals(s) ? 1 : 0; } @Override @@ -209,7 +220,7 @@ public class AvrProgrammer extends Item implements IMedia { @Override public void getSubItems(Item item, CreativeTabs tab, List list) { - ItemStack stack=new ItemStack(item, 1, 0); + ItemStack stack = new ItemStack(item, 1, 0); stack.setTagCompound(new NBTTagCompound()); list.add(stack); } diff --git a/src/main/java/com/github/technus/tectech/thing/item/DebugElementalInstanceContainer_EM.java b/src/main/java/com/github/technus/tectech/thing/item/DebugElementalInstanceContainer_EM.java index c19ec6dda1..b4ddca5cf1 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/DebugElementalInstanceContainer_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/item/DebugElementalInstanceContainer_EM.java @@ -1,5 +1,12 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabEM; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.*; +import static cpw.mods.fml.relauncher.Side.CLIENT; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; @@ -14,6 +21,8 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import java.util.Collections; +import java.util.List; import net.minecraft.client.gui.FontRenderer; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -25,16 +34,6 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -import java.util.Collections; -import java.util.List; - -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabEM; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.*; -import static cpw.mods.fml.relauncher.Side.CLIENT; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 15.03.2017. */ @@ -50,9 +49,19 @@ public final class DebugElementalInstanceContainer_EM extends Item implements IE } @Override - public boolean onItemUseFirst(ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) { - NBTTagCompound tNBT = aStack.getTagCompound(); - TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + public boolean onItemUseFirst( + ItemStack aStack, + EntityPlayer aPlayer, + World aWorld, + int aX, + int aY, + int aZ, + int aSide, + float hitX, + float hitY, + float hitZ) { + NBTTagCompound tNBT = aStack.getTagCompound(); + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); if (aPlayer instanceof EntityPlayerMP) { aStack.stackSize = 1; if (tTileEntity instanceof IGregTechTileEntity) { @@ -61,7 +70,8 @@ public final class DebugElementalInstanceContainer_EM extends Item implements IE EMInstanceStackMap content = ((IEMContainer) metaTE).getContentHandler(); if (tNBT.hasKey("content")) { try { - content.putUnifyAll(EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content"))); + content.putUnifyAll(EMInstanceStackMap.fromNBT( + TecTech.definitionsRegistry, tNBT.getCompoundTag("content"))); } catch (EMException e) { if (DEBUG_MODE) { e.printStackTrace(); @@ -101,18 +111,20 @@ public final class DebugElementalInstanceContainer_EM extends Item implements IE try { NBTTagCompound tNBT = aStack.getTagCompound(); if (tNBT != null && tNBT.hasKey("content")) { - aList.add(translateToLocal("item.em.debugContainer.desc.0") + ": ");//Contains - EMInstanceStackMap content = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content")); + aList.add(translateToLocal("item.em.debugContainer.desc.0") + ": "); // Contains + EMInstanceStackMap content = + EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content")); Collections.addAll(aList, content.getElementalInfo()); } else { - aList.add(translateToLocal("item.em.debugContainer.desc.1"));//Container for elemental matter + aList.add(translateToLocal("item.em.debugContainer.desc.1")); // Container for elemental matter } - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.debugContainer.desc.2"));//Right click on elemental hatches + aList.add(EnumChatFormatting.BLUE + + translateToLocal("item.em.debugContainer.desc.2")); // Right click on elemental hatches } catch (Exception e) { if (DEBUG_MODE) { e.printStackTrace(); } - aList.add(translateToLocal("item.em.debugContainer.desc.3"));//---Unexpected Termination--- + aList.add(translateToLocal("item.em.debugContainer.desc.3")); // ---Unexpected Termination--- } } @@ -127,11 +139,20 @@ public final class DebugElementalInstanceContainer_EM extends Item implements IE that.setTagCompound(new NBTTagCompound()); list.add(that); for (IEMDefinition definition : TecTech.definitionsRegistry.getStacksRegisteredForDisplay()) { - list.add(setContent(new ItemStack(this).setStackDisplayName(definition.getLocalizedName() + " " + 1 + " " + translateToLocal("tt.keyword.unit.mbMols")), + list.add(setContent( + new ItemStack(this) + .setStackDisplayName(definition.getLocalizedName() + " " + 1 + " " + + translateToLocal("tt.keyword.unit.mbMols")), new EMInstanceStackMap(new EMInstanceStack(definition, EM_COUNT_PER_MATERIAL_AMOUNT)))); - list.add(setContent(new ItemStack(this).setStackDisplayName(definition.getLocalizedName() + " " + 1 + " " + translateToLocal("tt.keyword.unit.itemMols")), + list.add(setContent( + new ItemStack(this) + .setStackDisplayName(definition.getLocalizedName() + " " + 1 + " " + + translateToLocal("tt.keyword.unit.itemMols")), new EMInstanceStackMap(new EMInstanceStack(definition, EM_COUNT_PER_ITEM)))); - list.add(setContent(new ItemStack(this).setStackDisplayName(definition.getLocalizedName() + " " + 1000 + " " + translateToLocal("tt.keyword.unit.mbMols")), + list.add(setContent( + new ItemStack(this) + .setStackDisplayName(definition.getLocalizedName() + " " + 1000 + " " + + translateToLocal("tt.keyword.unit.mbMols")), new EMInstanceStackMap(new EMInstanceStack(definition, EM_COUNT_PER_1k)))); } } diff --git a/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionContainer_EM.java b/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionContainer_EM.java index 85a853e8aa..730e7aea3c 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionContainer_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionContainer_EM.java @@ -1,5 +1,11 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabEM; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static cpw.mods.fml.relauncher.Side.CLIENT; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; @@ -10,6 +16,8 @@ import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.SideOnly; +import java.util.Collections; +import java.util.List; import net.minecraft.client.gui.FontRenderer; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -17,15 +25,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import java.util.Collections; -import java.util.List; - -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabEM; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static cpw.mods.fml.relauncher.Side.CLIENT; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 15.03.2017. */ @@ -39,7 +38,7 @@ public final class ElementalDefinitionContainer_EM extends Item implements IElem setCreativeTab(creativeTabEM); } - public static void setContent(ItemStack aStack, EMConstantStackMap definitions){ + public static void setContent(ItemStack aStack, EMConstantStackMap definitions) { NBTTagCompound tNBT = aStack.getTagCompound(); if (tNBT == null) { tNBT = new NBTTagCompound(); @@ -49,15 +48,15 @@ public final class ElementalDefinitionContainer_EM extends Item implements IElem tNBT.setTag("symbols", TT_Utility.packStrings(definitions.getShortSymbolsInfo())); } - public static EMConstantStackMap getContent(ItemStack containerItem){ - if(containerItem.getItem() instanceof ElementalDefinitionContainer_EM){ + public static EMConstantStackMap getContent(ItemStack containerItem) { + if (containerItem.getItem() instanceof ElementalDefinitionContainer_EM) { NBTTagCompound tNBT = containerItem.stackTagCompound; if (tNBT == null || !tNBT.hasKey("content")) { return null; } try { - return EMConstantStackMap.fromNBT(TecTech.definitionsRegistry,tNBT.getCompoundTag("content")); + return EMConstantStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content")); } catch (EMException e) { if (DEBUG_MODE) { e.printStackTrace(); @@ -67,17 +66,17 @@ public final class ElementalDefinitionContainer_EM extends Item implements IElem return null; } - public static EMConstantStackMap clearContent(ItemStack containerItem){ - if(containerItem.getItem() instanceof ElementalDefinitionContainer_EM){ + public static EMConstantStackMap clearContent(ItemStack containerItem) { + if (containerItem.getItem() instanceof ElementalDefinitionContainer_EM) { NBTTagCompound tNBT = containerItem.stackTagCompound; if (tNBT == null) { return null; } - EMConstantStackMap oldMap =null; + EMConstantStackMap oldMap = null; if (tNBT.hasKey("content")) { try { - oldMap= EMConstantStackMap.fromNBT(TecTech.definitionsRegistry,tNBT.getCompoundTag("content")); + oldMap = EMConstantStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content")); } catch (EMException e) { if (DEBUG_MODE) { e.printStackTrace(); @@ -97,14 +96,15 @@ public final class ElementalDefinitionContainer_EM extends Item implements IElem try { NBTTagCompound tNBT = aStack.getTagCompound(); if (tNBT != null && tNBT.hasKey("content")) { - aList.add(translateToLocal("item.em.definitionContainer.desc.0") + ": ");//Should Contain - EMDefinitionStackMap content = EMDefinitionStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content")); + aList.add(translateToLocal("item.em.definitionContainer.desc.0") + ": "); // Should Contain + EMDefinitionStackMap content = + EMDefinitionStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content")); Collections.addAll(aList, content.getElementalInfo()); } else { - aList.add(translateToLocal("item.em.definitionContainer.desc.1"));//Recipe Hint + aList.add(translateToLocal("item.em.definitionContainer.desc.1")); // Recipe Hint } } catch (Exception e) { - aList.add(translateToLocal("item.em.definitionContainer.desc.2"));//---Unexpected Termination--- + aList.add(translateToLocal("item.em.definitionContainer.desc.2")); // ---Unexpected Termination--- } } diff --git a/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionScanStorage_EM.java b/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionScanStorage_EM.java index 7c1374d4d0..c22a4cfdb2 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionScanStorage_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionScanStorage_EM.java @@ -1,5 +1,10 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; +import static cpw.mods.fml.relauncher.Side.CLIENT; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.loader.gui.ModGuiHandler; @@ -9,6 +14,8 @@ import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.ArrayList; +import java.util.List; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -20,14 +27,6 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.world.World; -import java.util.ArrayList; -import java.util.List; - -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; -import static cpw.mods.fml.relauncher.Side.CLIENT; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 15.03.2017. */ @@ -42,8 +41,8 @@ public final class ElementalDefinitionScanStorage_EM extends Item { setCreativeTab(creativeTabTecTech); } - //return previous thing - public static void setContent(ItemStack aStack, EMInstanceStackMap instances, int[] detailsOnDepthLevels){ + // return previous thing + public static void setContent(ItemStack aStack, EMInstanceStackMap instances, int[] detailsOnDepthLevels) { NBTTagCompound tNBT = aStack.getTagCompound(); if (tNBT == null) { tNBT = new NBTTagCompound(); @@ -53,18 +52,19 @@ public final class ElementalDefinitionScanStorage_EM extends Item { tNBT.setIntArray("scanConfiguration", detailsOnDepthLevels); } - public static void clearContent(ItemStack containerItem){ - if(containerItem.getItem() instanceof ElementalDefinitionScanStorage_EM){ + public static void clearContent(ItemStack containerItem) { + if (containerItem.getItem() instanceof ElementalDefinitionScanStorage_EM) { if (containerItem.stackTagCompound == null) { return; } - containerItem.stackTagCompound=null; + containerItem.stackTagCompound = null; } } - public static ArrayList getLines(ItemStack containerItem){ - if(containerItem.stackTagCompound!=null && containerItem.stackTagCompound.hasKey("content")) { - EMInstanceStackMap content = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, containerItem.stackTagCompound.getCompoundTag("content")); + public static ArrayList getLines(ItemStack containerItem) { + if (containerItem.stackTagCompound != null && containerItem.stackTagCompound.hasKey("content")) { + EMInstanceStackMap content = EMInstanceStackMap.fromNBT( + TecTech.definitionsRegistry, containerItem.stackTagCompound.getCompoundTag("content")); return content.getScanInfo(containerItem.stackTagCompound.getIntArray("scanConfiguration")); } return null; @@ -74,10 +74,11 @@ public final class ElementalDefinitionScanStorage_EM extends Item { public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { aList.add(CommonValues.TEC_MARK_EM); if (aStack.stackTagCompound != null && aStack.stackTagCompound.hasKey("content")) { - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.definitionScanStorage.desc.0"));//Contains scan result - aList.add(translateToLocal("item.em.definitionScanStorage.desc.1"));//Use to read + aList.add(EnumChatFormatting.BLUE + + translateToLocal("item.em.definitionScanStorage.desc.0")); // Contains scan result + aList.add(translateToLocal("item.em.definitionScanStorage.desc.1")); // Use to read } else { - aList.add(translateToLocal("item.em.definitionScanStorage.desc.2"));//Storage for matter scan data + aList.add(translateToLocal("item.em.definitionScanStorage.desc.2")); // Storage for matter scan data } } @@ -90,19 +91,19 @@ public final class ElementalDefinitionScanStorage_EM extends Item { @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconRegister) { - offline =iconRegister.registerIcon(MODID + ":itemDefinitionScanStorageOff"); + offline = iconRegister.registerIcon(MODID + ":itemDefinitionScanStorageOff"); online = itemIcon = iconRegister.registerIcon(getIconString()); } @Override public IIcon getIconIndex(ItemStack itemStack) { - NBTTagCompound tagCompound=itemStack.stackTagCompound; + NBTTagCompound tagCompound = itemStack.stackTagCompound; return tagCompound != null && tagCompound.hasKey("content") ? online : offline; } @Override public IIcon getIcon(ItemStack itemStack, int pass) { - NBTTagCompound tagCompound=itemStack.stackTagCompound; + NBTTagCompound tagCompound = itemStack.stackTagCompound; return tagCompound != null && tagCompound.hasKey("content") ? online : offline; } @@ -114,9 +115,9 @@ public final class ElementalDefinitionScanStorage_EM extends Item { @Override public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) { - if(world.isRemote){ - NBTTagCompound tagCompound=itemStack.stackTagCompound; - if(tagCompound!=null && tagCompound.hasKey("content")) { + if (world.isRemote) { + NBTTagCompound tagCompound = itemStack.stackTagCompound; + if (tagCompound != null && tagCompound.hasKey("content")) { player.openGui(TecTech.instance, ModGuiHandler.SCAN_DISPLAY_SCREEN_ID, world, 0, 0, 0); } } diff --git a/src/main/java/com/github/technus/tectech/thing/item/EnderFluidLinkCover.java b/src/main/java/com/github/technus/tectech/thing/item/EnderFluidLinkCover.java index 57a882ec26..43fae5565b 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/EnderFluidLinkCover.java +++ b/src/main/java/com/github/technus/tectech/thing/item/EnderFluidLinkCover.java @@ -1,21 +1,20 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.thing.CustomItemList.enderLinkFluidCover; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import java.util.List; - -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.thing.CustomItemList.enderLinkFluidCover; -import static net.minecraft.util.StatCollector.translateToLocal; - public final class EnderFluidLinkCover extends Item { public static EnderFluidLinkCover INSTANCE; @@ -28,9 +27,14 @@ public final class EnderFluidLinkCover extends Item { @Override public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { aList.add(CommonValues.BASS_MARK); - aList.add(translateToLocal("item.tm.enderfluidlinkcover.desc.0"));//Ender-Fluid-Enables Machines! - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.enderfluidlinkcover.desc.1"));//Use on any side of a fluid tank to link it to the Ender - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.enderfluidlinkcover.desc.2"));//Ender Tanks so are laggy -Bot from the Chads of NH + aList.add(translateToLocal("item.tm.enderfluidlinkcover.desc.0")); // Ender-Fluid-Enables Machines! + aList.add(EnumChatFormatting.BLUE + + translateToLocal( + "item.tm.enderfluidlinkcover.desc.1")); // Use on any side of a fluid tank to link it to + // the Ender + aList.add(EnumChatFormatting.BLUE + + translateToLocal( + "item.tm.enderfluidlinkcover.desc.2")); // Ender Tanks so are laggy -Bot from the Chads of NH } public static void run() { 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 735b2ef0f5..1a176b53b6 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 @@ -1,5 +1,10 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; @@ -8,6 +13,8 @@ import gregtech.api.metatileentity.BaseMetaPipeEntity; import gregtech.api.metatileentity.BaseMetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Cable; import gregtech.api.util.GT_Utility; +import java.util.ArrayList; +import java.util.List; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.Item; @@ -18,14 +25,6 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.FakePlayer; import org.apache.commons.lang3.reflect.FieldUtils; -import java.util.ArrayList; -import java.util.List; - -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - public class EuMeterGT extends Item { public static EuMeterGT INSTANCE; @@ -37,7 +36,17 @@ 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) { + 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) { return aPlayer instanceof EntityPlayerMP; @@ -52,14 +61,57 @@ public class EuMeterGT extends Item { } 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, translateToLocalFormatted("tt.keyphrase.Stored_energy", clientLocale) + ": " + EnumChatFormatting.YELLOW + (((BaseMetaTileEntity) tTileEntity).getUniversalEnergyStored()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GREEN + (((BaseMetaTileEntity) tTileEntity).getUniversalEnergyCapacity())); - GT_Utility.sendChatToPlayer(aPlayer, translateToLocalFormatted("tt.keyphrase.Stored_EU", clientLocale) + ": " + EnumChatFormatting.YELLOW + (((BaseMetaTileEntity) tTileEntity).getStoredEU()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GREEN + (((BaseMetaTileEntity) tTileEntity).getEUCapacity())); - GT_Utility.sendChatToPlayer(aPlayer, translateToLocalFormatted("tt.keyphrase.Average_IO", clientLocale) + ": " + EnumChatFormatting.YELLOW + (((BaseMetaTileEntity) tTileEntity).getAverageElectricInput()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.YELLOW + (((BaseMetaTileEntity) tTileEntity).getAverageElectricOutput())); - GT_Utility.sendChatToPlayer(aPlayer, translateToLocalFormatted("tt.keyphrase.Average_IO_(max)", clientLocale) + ": " + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getInputVoltage()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getOutputVoltage())); - GT_Utility.sendChatToPlayer(aPlayer, translateToLocalFormatted("tt.keyphrase.Average_IO_max", clientLocale) + ": " + EnumChatFormatting.RED + (((BaseMetaTileEntity) tTileEntity).getMaxSafeInput()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.RED + (((BaseMetaTileEntity) tTileEntity).getMaxEnergyOutput())); - GT_Utility.sendChatToPlayer(aPlayer, translateToLocalFormatted("tt.keyphrase.Amperage_IO_(max)", clientLocale) + ": " + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getInputAmperage()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getOutputAmperage())); - GT_Utility.sendChatToPlayer(aPlayer, translateToLocalFormatted("tt.keyphrase.Side_capabilities", clientLocale) + ": " + (((BaseMetaTileEntity) tTileEntity).inputEnergyFrom((byte) aSide) ? translateToLocalFormatted("tt.keyword.input", clientLocale) + " " : "") + (((BaseMetaTileEntity) tTileEntity).outputsEnergyTo((byte) aSide) ? translateToLocalFormatted("tt.keyword.output", clientLocale) : "")); + GT_Utility.sendChatToPlayer( + aPlayer, + EnumChatFormatting.AQUA + "----- X:" + aX + " Y:" + aY + " Z:" + aZ + " D:" + + aWorld.provider.dimensionId + " S:" + aSide + " -----"); + GT_Utility.sendChatToPlayer( + aPlayer, + translateToLocalFormatted("tt.keyphrase.Stored_energy", clientLocale) + ": " + + EnumChatFormatting.YELLOW + + (((BaseMetaTileEntity) tTileEntity).getUniversalEnergyStored()) + + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GREEN + + (((BaseMetaTileEntity) tTileEntity).getUniversalEnergyCapacity())); + GT_Utility.sendChatToPlayer( + aPlayer, + translateToLocalFormatted("tt.keyphrase.Stored_EU", clientLocale) + ": " + + EnumChatFormatting.YELLOW + (((BaseMetaTileEntity) tTileEntity).getStoredEU()) + + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GREEN + + (((BaseMetaTileEntity) tTileEntity).getEUCapacity())); + GT_Utility.sendChatToPlayer( + aPlayer, + translateToLocalFormatted("tt.keyphrase.Average_IO", clientLocale) + ": " + + EnumChatFormatting.YELLOW + + (((BaseMetaTileEntity) tTileEntity).getAverageElectricInput()) + + EnumChatFormatting.RESET + '/' + EnumChatFormatting.YELLOW + + (((BaseMetaTileEntity) tTileEntity).getAverageElectricOutput())); + GT_Utility.sendChatToPlayer( + aPlayer, + translateToLocalFormatted("tt.keyphrase.Average_IO_(max)", clientLocale) + ": " + + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getInputVoltage()) + + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GOLD + + (((BaseMetaTileEntity) tTileEntity).getOutputVoltage())); + GT_Utility.sendChatToPlayer( + aPlayer, + translateToLocalFormatted("tt.keyphrase.Average_IO_max", clientLocale) + ": " + + EnumChatFormatting.RED + (((BaseMetaTileEntity) tTileEntity).getMaxSafeInput()) + + EnumChatFormatting.RESET + '/' + EnumChatFormatting.RED + + (((BaseMetaTileEntity) tTileEntity).getMaxEnergyOutput())); + GT_Utility.sendChatToPlayer( + aPlayer, + translateToLocalFormatted("tt.keyphrase.Amperage_IO_(max)", clientLocale) + ": " + + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getInputAmperage()) + + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GOLD + + (((BaseMetaTileEntity) tTileEntity).getOutputAmperage())); + GT_Utility.sendChatToPlayer( + aPlayer, + translateToLocalFormatted("tt.keyphrase.Side_capabilities", clientLocale) + ": " + + (((BaseMetaTileEntity) tTileEntity).inputEnergyFrom((byte) aSide) + ? translateToLocalFormatted("tt.keyword.input", clientLocale) + " " + : "") + + (((BaseMetaTileEntity) tTileEntity).outputsEnergyTo((byte) aSide) + ? translateToLocalFormatted("tt.keyword.output", clientLocale) + : "")); return true; } else if (tTileEntity instanceof BaseMetaPipeEntity) { if (((BaseMetaPipeEntity) tTileEntity).getMetaTileEntity() instanceof GT_MetaPipeEntity_Cable) { @@ -81,12 +133,13 @@ public class EuMeterGT extends Item { @Override public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { aList.add(CommonValues.TEC_MARK_GENERAL); - aList.add(translateToLocal("item.em.EuMeterGT.desc.0"));//Measures basic EU related stuff - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.EuMeterGT.desc.1"));//Just right click on blocks. + aList.add(translateToLocal("item.em.EuMeterGT.desc.0")); // Measures basic EU related stuff + aList.add( + EnumChatFormatting.BLUE + translateToLocal("item.em.EuMeterGT.desc.1")); // Just right click on blocks. } public static void run() { 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 a384d3998a..666a3c4c47 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 @@ -1,5 +1,10 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; +import static com.github.technus.tectech.thing.CustomItemList.parametrizerMemory; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Param; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_ParamText; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; @@ -10,6 +15,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -22,19 +28,12 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.world.World; -import java.util.List; - -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; -import static com.github.technus.tectech.thing.CustomItemList.parametrizerMemory; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 15.03.2017. */ public final class ParametrizerMemoryCard extends Item { - public static ParametrizerMemoryCard INSTANCE; - private static IIcon locked, unlocked; + public static ParametrizerMemoryCard INSTANCE; + private static IIcon locked, unlocked; private ParametrizerMemoryCard() { setMaxStackSize(1); @@ -45,7 +44,17 @@ public final class ParametrizerMemoryCard 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) { + 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 (aPlayer instanceof EntityPlayerMP) { aStack.stackSize = 1; @@ -59,12 +68,12 @@ public final class ParametrizerMemoryCard extends Item { } NBTTagCompound tNBT = aStack.getTagCompound(); if (aStack.getItemDamage() == 1) { - //write to parametrizer + // write to parametrizer parametrizer.param = tNBT.getInteger("param"); parametrizer.value0D = tNBT.getDouble("value0D"); parametrizer.value1D = tNBT.getDouble("value1D"); } else { - //read from parametrizer + // read from parametrizer tNBT.setInteger("param", parametrizer.param); tNBT.setDouble("value0D", parametrizer.value0D); tNBT.setDouble("value1D", parametrizer.value1D); @@ -80,9 +89,7 @@ public final class ParametrizerMemoryCard extends Item { NBTTagCompound tNBT = aStack.getTagCompound(); if (aStack.getItemDamage() == 1) { base.parametrization.trySetParameters( - tNBT.getInteger("param"), - tNBT.getDouble("value0D"), - tNBT.getDouble("value1D")); + tNBT.getInteger("param"), tNBT.getDouble("value0D"), tNBT.getDouble("value1D")); return true; } } else if (metaTE instanceof GT_MetaTileEntity_Hatch_ParamText) { @@ -92,14 +99,14 @@ public final class ParametrizerMemoryCard extends Item { } NBTTagCompound tNBT = aStack.getTagCompound(); if (aStack.getItemDamage() == 1) { - //write to parametrizer + // write to parametrizer parametrizer.param = tNBT.getInteger("param"); parametrizer.value0D = tNBT.getDouble("value0D"); parametrizer.value1D = tNBT.getDouble("value1D"); parametrizer.value0s = tNBT.getString("value0s"); parametrizer.value1s = tNBT.getString("value1s"); } else { - //read from parametrizer + // read from parametrizer tNBT.setInteger("param", parametrizer.param); tNBT.setDouble("value0D", parametrizer.value0D); tNBT.setDouble("value1D", parametrizer.value1D); @@ -132,28 +139,34 @@ public final class ParametrizerMemoryCard extends Item { public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { NBTTagCompound tNBT = aStack.getTagCompound(); aList.add(CommonValues.BASS_MARK); - aList.add(translateToLocal("item.em.parametrizerMemoryCard.desc.0"));//Stores Parameters + aList.add(translateToLocal("item.em.parametrizerMemoryCard.desc.0")); // Stores Parameters if (aStack.getItemDamage() == 1) { - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.parametrizerMemoryCard.desc.1"));//Use on Parametrizer/Controller to configure it + aList.add(EnumChatFormatting.BLUE + + translateToLocal( + "item.em.parametrizerMemoryCard.desc.1")); // Use on Parametrizer/Controller to configure it } else { - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.parametrizerMemoryCard.desc.2"));//Use on Parametrizer to store parameters + aList.add(EnumChatFormatting.BLUE + + translateToLocal( + "item.em.parametrizerMemoryCard.desc.2")); // Use on Parametrizer to store parameters } - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.parametrizerMemoryCard.desc.3"));//Sneak right click to lock/unlock + aList.add(EnumChatFormatting.BLUE + + translateToLocal("item.em.parametrizerMemoryCard.desc.3")); // Sneak right click to lock/unlock double temp; if (tNBT != null && tNBT.hasKey("param")) { aList.add("Hatch ID: " + EnumChatFormatting.AQUA + tNBT.getInteger("param")); temp = tNBT.getInteger("value0D"); aList.add("Value 0D: " + EnumChatFormatting.AQUA + temp); - aList.add("Value 0B: " + EnumChatFormatting.AQUA + TT_Utility.longBitsToShortString(Double.doubleToLongBits(temp))); + aList.add("Value 0B: " + EnumChatFormatting.AQUA + + TT_Utility.longBitsToShortString(Double.doubleToLongBits(temp))); aList.add("Value 0s: " + EnumChatFormatting.AQUA + tNBT.getString("value0s")); temp = tNBT.getInteger("value1D"); aList.add("Value 1D: " + EnumChatFormatting.AQUA + temp); - aList.add("Value 1B: " + EnumChatFormatting.AQUA + TT_Utility.longBitsToShortString(Double.doubleToLongBits(temp))); + aList.add("Value 1B: " + EnumChatFormatting.AQUA + + TT_Utility.longBitsToShortString(Double.doubleToLongBits(temp))); aList.add("Value 1s: " + EnumChatFormatting.AQUA + tNBT.getString("value1s")); } - } public static void run() { diff --git a/src/main/java/com/github/technus/tectech/thing/item/PowerPassUpgradeCover.java b/src/main/java/com/github/technus/tectech/thing/item/PowerPassUpgradeCover.java index 06c05e5b9d..b58d198e38 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/PowerPassUpgradeCover.java +++ b/src/main/java/com/github/technus/tectech/thing/item/PowerPassUpgradeCover.java @@ -1,21 +1,20 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.thing.CustomItemList.powerPassUpgradeCover; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import java.util.List; - -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.thing.CustomItemList.powerPassUpgradeCover; -import static net.minecraft.util.StatCollector.translateToLocal; - public final class PowerPassUpgradeCover extends Item { public static PowerPassUpgradeCover INSTANCE; @@ -28,9 +27,12 @@ public final class PowerPassUpgradeCover extends Item { @Override public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { aList.add(CommonValues.BASS_MARK); - aList.add(translateToLocal("item.tm.powerpassupgradecover.desc.0"));//Add power pass functionality to TecTech Multiblocks - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.powerpassupgradecover.desc.1"));//Active transformer in a can?? - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.powerpassupgradecover.desc.2"));//Chain them up like Christmas lights! + aList.add(translateToLocal( + "item.tm.powerpassupgradecover.desc.0")); // Add power pass functionality to TecTech Multiblocks + aList.add(EnumChatFormatting.BLUE + + translateToLocal("item.tm.powerpassupgradecover.desc.1")); // Active transformer in a can?? + aList.add(EnumChatFormatting.BLUE + + translateToLocal("item.tm.powerpassupgradecover.desc.2")); // Chain them up like Christmas lights! } public static void run() { 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 index 16be66255d..9b847b98d6 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCapacitor.java +++ b/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCapacitor.java @@ -1,9 +1,15 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.thing.CustomItemList.teslaCapacitor; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -12,14 +18,6 @@ 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.teslaCapacitor; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - - public final class TeslaCoilCapacitor extends Item { public static TeslaCoilCapacitor INSTANCE; private static IIcon LVicon, MVicon, HVicon, EVicon, IVicon, LuVicon, ZPMicon; @@ -34,12 +32,19 @@ public final class TeslaCoilCapacitor extends Item { public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { aList.add(CommonValues.BASS_MARK); if (aStack.getItemDamage() >= 0 && aStack.getItemDamage() <= 6) { - aList.add(translateToLocal("item.tm.teslaCoilCapacitor.desc.0") + " " + V[aStack.getItemDamage() + 1] * 512 + " " + translateToLocal("item.tm.teslaCoilCapacitor.desc.1") + " " + V[aStack.getItemDamage() + 1] + " EU/t");//Stores 16384 EU in a tesla tower at 32 EU/t + aList.add(translateToLocal("item.tm.teslaCoilCapacitor.desc.0") + " " + V[aStack.getItemDamage() + 1] * 512 + + " " + translateToLocal("item.tm.teslaCoilCapacitor.desc.1") + " " + V[aStack.getItemDamage() + 1] + + " EU/t"); // Stores 16384 EU in a tesla tower at 32 EU/t } else { - aList.add(translateToLocal("item.tm.teslaCoilCapacitor.desc.2"));//Yeet this broken item into some spicy water! + aList.add(translateToLocal( + "item.tm.teslaCoilCapacitor.desc.2")); // Yeet this broken item into some spicy water! } - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.teslaCoilCapacitor.desc.3"));//Insert into a Capacitor hatch of a Tesla Tower - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.teslaCoilCapacitor.desc.4"));//Capacitors are the same thing as batteries, right? + aList.add(EnumChatFormatting.BLUE + + translateToLocal( + "item.tm.teslaCoilCapacitor.desc.3")); // Insert into a Capacitor hatch of a Tesla Tower + aList.add(EnumChatFormatting.BLUE + + translateToLocal( + "item.tm.teslaCoilCapacitor.desc.4")); // Capacitors are the same thing as batteries, right? } @Override 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 index cc77b7a26c..769ee589b9 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilComponent.java +++ b/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilComponent.java @@ -1,9 +1,14 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.thing.CustomItemList.teslaComponent; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -12,13 +17,6 @@ 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; -import static net.minecraft.util.StatCollector.translateToLocal; - - public final class TeslaCoilComponent extends Item { public static TeslaCoilComponent INSTANCE; private static IIcon ultItemIcon; @@ -32,7 +30,8 @@ public final class TeslaCoilComponent extends Item { @Override public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { aList.add(CommonValues.BASS_MARK); - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.itemTeslaComponent.desc"));//Tesla bois need these! + aList.add(EnumChatFormatting.BLUE + + translateToLocal("item.tm.itemTeslaComponent.desc")); // Tesla bois need these! } @Override 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 index 20417ebe71..b8997f82cd 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCover.java +++ b/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCover.java @@ -1,9 +1,14 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.thing.CustomItemList.teslaCover; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -12,13 +17,6 @@ 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; -import static net.minecraft.util.StatCollector.translateToLocal; - - public final class TeslaCoilCover extends Item { public static TeslaCoilCover INSTANCE; private static IIcon ultItemIcon; @@ -34,17 +32,21 @@ public final class TeslaCoilCover extends Item { aList.add(CommonValues.BASS_MARK); switch (aStack.getItemDamage()) { case 0: - aList.add(translateToLocal("item.tm.teslaCover.desc.0"));//Tesla-Enables Machines! + aList.add(translateToLocal("item.tm.teslaCover.desc.0")); // Tesla-Enables Machines! break; case 1: - aList.add(translateToLocal("item.tm.teslaCover.desc.1"));//Tesla-Enables Machines! (BUT LOUDER!!) + aList.add(translateToLocal("item.tm.teslaCover.desc.1")); // Tesla-Enables Machines! (BUT LOUDER!!) break; default: - aList.add(translateToLocal("item.tm.teslaCover.desc.2"));//Yeet this broken item into some spicy water! + aList.add( + translateToLocal("item.tm.teslaCover.desc.2")); // Yeet this broken item into some spicy water! break; } - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.teslaCover.desc.3"));//Use on top of a machine to enable Tesla capabilities - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.teslaCover.desc.4"));//Who the hell uses cables anyway? + aList.add(EnumChatFormatting.BLUE + + translateToLocal( + "item.tm.teslaCover.desc.3")); // Use on top of a machine to enable Tesla capabilities + aList.add(EnumChatFormatting.BLUE + + translateToLocal("item.tm.teslaCover.desc.4")); // Who the hell uses cables anyway? } @Override 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 index ba080f8603..3346d57504 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/TeslaStaff.java +++ b/src/main/java/com/github/technus/tectech/thing/item/TeslaStaff.java @@ -1,22 +1,20 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.thing.CustomItemList.teslaStaff; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.util.GT_Utility; +import java.util.List; 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; -import static net.minecraft.util.StatCollector.translateToLocal; - - public final class TeslaStaff extends Item { public static TeslaStaff INSTANCE; diff --git a/src/main/java/com/github/technus/tectech/thing/item/gui/ProgrammerScreen.java b/src/main/java/com/github/technus/tectech/thing/item/gui/ProgrammerScreen.java index 8584f28d45..ffd6f787e7 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/gui/ProgrammerScreen.java +++ b/src/main/java/com/github/technus/tectech/thing/item/gui/ProgrammerScreen.java @@ -7,7 +7,7 @@ import net.minecraft.nbt.NBTTagCompound; public class ProgrammerScreen extends GuiScreen { private NBTTagCompound tag; - public ProgrammerScreen(EntityPlayer player){ - tag=player.getHeldItem().getTagCompound(); + public ProgrammerScreen(EntityPlayer player) { + tag = player.getHeldItem().getTagCompound(); } } diff --git a/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java b/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java index b4300c763c..4e9d90bc50 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java +++ b/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java @@ -1,8 +1,12 @@ package com.github.technus.tectech.thing.item.gui; +import static com.github.technus.tectech.Reference.MODID; +import static org.lwjgl.opengl.GL11.*; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.thing.item.ElementalDefinitionScanStorage_EM; +import java.util.Objects; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.client.audio.SoundHandler; @@ -11,11 +15,6 @@ import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ResourceLocation; -import java.util.Objects; - -import static com.github.technus.tectech.Reference.MODID; -import static org.lwjgl.opengl.GL11.*; - /** * Created by danie_000 on 17.12.2017. */ @@ -24,22 +23,23 @@ public class ScanDisplayScreen extends GuiScreen { private int baseX, baseY; private Button up, down, pgUp, pgDown; private final String[] lines; - private int firstLine; + private int firstLine; - private static final ResourceLocation[] BACKGROUNDS = new ResourceLocation[]{ - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen1.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen2.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen3.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen4.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen5.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen6.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen7.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen8.png")}; - private static final ResourceLocation ITEM = - new ResourceLocation(MODID + ":textures/gui/scanDisplayItem.png"); + private static final ResourceLocation[] BACKGROUNDS = new ResourceLocation[] { + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen1.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen2.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen3.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen4.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen5.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen6.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen7.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen8.png") + }; + private static final ResourceLocation ITEM = new ResourceLocation(MODID + ":textures/gui/scanDisplayItem.png"); public ScanDisplayScreen(EntityPlayer player) { - lines = Objects.requireNonNull(ElementalDefinitionScanStorage_EM.getLines(player.getHeldItem())).toArray(new String[0]); + lines = Objects.requireNonNull(ElementalDefinitionScanStorage_EM.getLines(player.getHeldItem())) + .toArray(new String[0]); } @Override @@ -47,8 +47,8 @@ public class ScanDisplayScreen extends GuiScreen { glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); mc.getTextureManager().bindTexture(ITEM); - long tick = System.currentTimeMillis() / 150; - int itick = (int) (tick % 12); + long tick = System.currentTimeMillis() / 150; + int itick = (int) (tick % 12); drawTexturedModalRect(baseX + 99, baseY + 189, 32 * (itick / 6), 32 * (itick % 6), 32, 32); mc.getTextureManager().bindTexture(BACKGROUNDS[(int) (tick % 8)]); drawTexturedModalRect(baseX, baseY, 0, 0, sizeX, sizeY); @@ -56,14 +56,16 @@ public class ScanDisplayScreen extends GuiScreen { super.drawScreen(x, y, partialTicks); itick = (TecTech.RANDOM.nextInt(0x66) << 16) + 0x77EEFF; - int textBaseX = baseX + 20; + int textBaseX = baseX + 20; int textBaseXX = baseX + 95; - int textBaseY = baseY + 28; + int textBaseY = baseY + 28; for (int i = firstLine - 1, j = 8; i >= 0 && j != 0; i--, j /= 2) { int equalPos = lines[i].indexOf('='); if (equalPos >= 0) { - TecTechFontRender.INSTANCE.drawSplitString(lines[i].substring(0, equalPos), textBaseX, textBaseY - 8 + j, 200, itick); - TecTechFontRender.INSTANCE.drawSplitString(lines[i].substring(equalPos), textBaseXX, textBaseY - 8 + j, 200, itick); + TecTechFontRender.INSTANCE.drawSplitString( + lines[i].substring(0, equalPos), textBaseX, textBaseY - 8 + j, 200, itick); + TecTechFontRender.INSTANCE.drawSplitString( + lines[i].substring(equalPos), textBaseXX, textBaseY - 8 + j, 200, itick); } else { TecTechFontRender.INSTANCE.drawSplitString(lines[i], textBaseX, textBaseY - 8 + j, 200, itick); } @@ -72,8 +74,10 @@ public class ScanDisplayScreen extends GuiScreen { textBaseY += 9; int equalPos = lines[i].indexOf('='); if (equalPos >= 0) { - TecTechFontRender.INSTANCE.drawSplitString(lines[i].substring(0, equalPos), textBaseX, textBaseY, 200, itick); - TecTechFontRender.INSTANCE.drawSplitString(lines[i].substring(equalPos), textBaseXX, textBaseY, 200, itick); + TecTechFontRender.INSTANCE.drawSplitString( + lines[i].substring(0, equalPos), textBaseX, textBaseY, 200, itick); + TecTechFontRender.INSTANCE.drawSplitString( + lines[i].substring(equalPos), textBaseXX, textBaseY, 200, itick); } else { TecTechFontRender.INSTANCE.drawSplitString(lines[i], textBaseX, textBaseY, 200, itick); } @@ -81,8 +85,10 @@ public class ScanDisplayScreen extends GuiScreen { for (int i = firstLine + renderedLines, j = 8; i < lines.length && j != 0; i++, j /= 2) { int equalPos = lines[i].indexOf('='); if (equalPos >= 0) { - TecTechFontRender.INSTANCE.drawSplitString(lines[i].substring(0, equalPos), textBaseX, textBaseY + 17 - j, 200, itick); - TecTechFontRender.INSTANCE.drawSplitString(lines[i].substring(equalPos), textBaseXX, textBaseY + 17 - j, 200, itick); + TecTechFontRender.INSTANCE.drawSplitString( + lines[i].substring(0, equalPos), textBaseX, textBaseY + 17 - j, 200, itick); + TecTechFontRender.INSTANCE.drawSplitString( + lines[i].substring(equalPos), textBaseXX, textBaseY + 17 - j, 200, itick); } else { TecTechFontRender.INSTANCE.drawSplitString(lines[i], textBaseX, textBaseY + 17 - j, 200, itick); } @@ -141,7 +147,8 @@ public class ScanDisplayScreen extends GuiScreen { @Override public void drawButton(Minecraft mc, int xPos, int yPos) { if (visible) { - field_146123_n = xPos >= xPosition && yPos >= yPosition && xPos < xPosition + width && yPos < yPosition + height; + field_146123_n = + xPos >= xPosition && yPos >= yPosition && xPos < xPosition + width && yPos < yPosition + height; glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); mc.getTextureManager().bindTexture(BACKGROUNDS[0]); @@ -151,10 +158,11 @@ public class ScanDisplayScreen extends GuiScreen { } } - //play cool sound fx + // play cool sound fx @Override public void func_146113_a(SoundHandler soundHandler) { - soundHandler.playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation(MODID + ":fx_click"), 1.0F)); + soundHandler.playSound( + PositionedSoundRecord.func_147674_a(new ResourceLocation(MODID + ":fx_click"), 1.0F)); } } } diff --git a/src/main/java/com/github/technus/tectech/thing/item/renderElemental/IElementalItem.java b/src/main/java/com/github/technus/tectech/thing/item/renderElemental/IElementalItem.java index 37dce47e5f..797ca90088 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/renderElemental/IElementalItem.java +++ b/src/main/java/com/github/technus/tectech/thing/item/renderElemental/IElementalItem.java @@ -1,16 +1,16 @@ package com.github.technus.tectech.thing.item.renderElemental; +import static com.github.technus.tectech.util.TT_Utility.getSomeString; + import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import static com.github.technus.tectech.util.TT_Utility.getSomeString; - public interface IElementalItem { - default String getSymbol(ItemStack stack,int index){ + default String getSymbol(ItemStack stack, int index) { try { NBTTagCompound tNBT = stack.getTagCompound(); if (tNBT != null && tNBT.hasKey("symbols")) { - return getSomeString(tNBT.getCompoundTag("symbols"),index); + return getSomeString(tNBT.getCompoundTag("symbols"), index); } else { return null; } diff --git a/src/main/java/com/github/technus/tectech/thing/item/renderElemental/RenderElementalName.java b/src/main/java/com/github/technus/tectech/thing/item/renderElemental/RenderElementalName.java index e897f615ad..1d7a3f55aa 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/renderElemental/RenderElementalName.java +++ b/src/main/java/com/github/technus/tectech/thing/item/renderElemental/RenderElementalName.java @@ -12,13 +12,16 @@ import org.lwjgl.opengl.GL11; @SideOnly(Side.CLIENT) public class RenderElementalName implements IItemRenderer { - public static final RenderElementalName INSTANCE=new RenderElementalName(); + public static final RenderElementalName INSTANCE = new RenderElementalName(); public boolean handleRenderType(final ItemStack itemStack, final IItemRenderer.ItemRenderType type) { return type == ItemRenderType.INVENTORY; } - public boolean shouldUseRenderHelper(final IItemRenderer.ItemRenderType type, final ItemStack itemStack, final IItemRenderer.ItemRendererHelper helper) { + public boolean shouldUseRenderHelper( + final IItemRenderer.ItemRenderType type, + final ItemStack itemStack, + final IItemRenderer.ItemRendererHelper helper) { return false; } @@ -37,33 +40,34 @@ public class RenderElementalName implements IItemRenderer { tessellator.addVertexWithUV(16, 16, 0.0, icon.getMaxU(), icon.getMaxV()); tessellator.addVertexWithUV(16, 0.0, 0.0, icon.getMaxU(), icon.getMinV()); tessellator.draw(); - //ItemRenderer.renderItemIn2D(Tessellator.instance, icon.getMaxU(), icon.getMinV(), icon.getMinU(), icon.getMaxV(), icon.getIconWidth(), icon.getIconHeight(), 0.0625f); + // ItemRenderer.renderItemIn2D(Tessellator.instance, icon.getMaxU(), icon.getMinV(), icon.getMinU(), + // icon.getMaxV(), icon.getIconWidth(), icon.getIconHeight(), 0.0625f); } - String sym=((IElementalItem)item).getSymbol(itemStack,(int)(System.currentTimeMillis()/1000)); - if(sym!=null){ - if(sym.length()>4){ - sym="..."; + String sym = ((IElementalItem) item).getSymbol(itemStack, (int) (System.currentTimeMillis() / 1000)); + if (sym != null) { + if (sym.length() > 4) { + sym = "..."; } GL11.glPushMatrix(); - GL11.glTranslatef(.8F,.8F,0F); + GL11.glTranslatef(.8F, .8F, 0F); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); - GL11.glTranslatef(-1.6f,0,0); + GL11.glTranslatef(-1.6f, 0, 0); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); - GL11.glTranslatef(0,-1.6f,0); + GL11.glTranslatef(0, -1.6f, 0); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); - GL11.glTranslatef(0,1.6f,0); + GL11.glTranslatef(0, 1.6f, 0); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); GL11.glPopMatrix(); GL11.glPushMatrix(); - GL11.glTranslatef(.4F,.4F,0F); + GL11.glTranslatef(.4F, .4F, 0F); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); - GL11.glTranslatef(-.8f,0,0); + GL11.glTranslatef(-.8f, 0, 0); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); - GL11.glTranslatef(0,-.8f,0); + GL11.glTranslatef(0, -.8f, 0); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); - GL11.glTranslatef(0,.8f,0); + GL11.glTranslatef(0, .8f, 0); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); GL11.glPopMatrix(); 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 d9ccb1529e..08a14fecc2 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 @@ -1,14 +1,14 @@ package com.github.technus.tectech.thing.metaTileEntity; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static gregtech.api.enums.Textures.BlockIcons.*; + import gregtech.api.enums.Dyes; import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.ITexture; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.objects.GT_SidedTexture; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static gregtech.api.enums.Textures.BlockIcons.*; - public class Textures { private static final IIconContainer OVERLAY_ENERGY_IN_POWER = new CustomIcon("iconsets/OVERLAY_ENERGY_IN_POWER"); private static final IIconContainer OVERLAY_ENERGY_OUT_POWER = new CustomIcon("iconsets/OVERLAY_ENERGY_OUT_POWER"); @@ -35,176 +35,204 @@ public class Textures { 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, - MACHINE_UV_SIDE, MACHINE_MAX_SIDE, MACHINE_UEV_SIDE, MACHINE_UIV_SIDE, - MACHINE_UMV_SIDE, MACHINE_UXV_SIDE, MACHINE_OPV_SIDE, MACHINE_MAXV_SIDE, - }, MACHINECASINGS_TOP_TT = new IIconContainer[]{ - MACHINE_8V_TOP, MACHINE_LV_TOP, MACHINE_MV_TOP, MACHINE_HV_TOP, - MACHINE_EV_TOP, MACHINE_IV_TOP, MACHINE_LuV_TOP, MACHINE_ZPM_TOP, - MACHINE_UV_TOP, MACHINE_MAX_TOP, MACHINE_UEV_TOP, MACHINE_UIV_TOP, - MACHINE_UMV_TOP, MACHINE_UXV_TOP, MACHINE_OPV_TOP, MACHINE_MAXV_TOP, - }, MACHINECASINGS_BOTTOM_TT = new IIconContainer[]{ - MACHINE_8V_BOTTOM, MACHINE_LV_BOTTOM, MACHINE_MV_BOTTOM, MACHINE_HV_BOTTOM, - MACHINE_EV_BOTTOM, MACHINE_IV_BOTTOM, MACHINE_LuV_BOTTOM, MACHINE_ZPM_BOTTOM, - MACHINE_UV_BOTTOM, MACHINE_MAX_BOTTOM, MACHINE_UEV_BOTTOM, MACHINE_UIV_BOTTOM, - MACHINE_UMV_BOTTOM, MACHINE_UXV_BOTTOM, MACHINE_OPV_BOTTOM, MACHINE_MAXV_BOTTOM, - }; - public static ITexture[] OVERLAYS_ENERGY_IN_TT = new ITexture[]{ - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{40, 40, 245, 0}), - }, OVERLAYS_ENERGY_OUT_TT = new ITexture[]{ - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{40, 40, 245, 0}), - }, OVERLAYS_ENERGY_IN_MULTI_TT = new ITexture[]{ - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{40, 40, 245, 0}), - }, OVERLAYS_ENERGY_OUT_MULTI_TT = new ITexture[]{ - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{40, 40, 245, 0}), - }, OVERLAYS_ENERGY_IN_POWER_TT = new ITexture[]{ - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{40, 40, 245, 0}), - }, OVERLAYS_ENERGY_OUT_POWER_TT = new ITexture[]{ - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{40, 40, 245, 0}), - }, OVERLAYS_ENERGY_IN_LASER_TT = new ITexture[]{ - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{40, 40, 245, 0}), - }, OVERLAYS_ENERGY_OUT_LASER_TT = new ITexture[]{ - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{40, 40, 245, 0}), - }; + 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, + MACHINE_UV_SIDE, MACHINE_MAX_SIDE, MACHINE_UEV_SIDE, MACHINE_UIV_SIDE, + MACHINE_UMV_SIDE, MACHINE_UXV_SIDE, MACHINE_OPV_SIDE, MACHINE_MAXV_SIDE, + }, + MACHINECASINGS_TOP_TT = + new IIconContainer[] { + MACHINE_8V_TOP, MACHINE_LV_TOP, MACHINE_MV_TOP, MACHINE_HV_TOP, + MACHINE_EV_TOP, MACHINE_IV_TOP, MACHINE_LuV_TOP, MACHINE_ZPM_TOP, + MACHINE_UV_TOP, MACHINE_MAX_TOP, MACHINE_UEV_TOP, MACHINE_UIV_TOP, + MACHINE_UMV_TOP, MACHINE_UXV_TOP, MACHINE_OPV_TOP, MACHINE_MAXV_TOP, + }, + MACHINECASINGS_BOTTOM_TT = + new IIconContainer[] { + MACHINE_8V_BOTTOM, MACHINE_LV_BOTTOM, MACHINE_MV_BOTTOM, MACHINE_HV_BOTTOM, + MACHINE_EV_BOTTOM, MACHINE_IV_BOTTOM, MACHINE_LuV_BOTTOM, MACHINE_ZPM_BOTTOM, + MACHINE_UV_BOTTOM, MACHINE_MAX_BOTTOM, MACHINE_UEV_BOTTOM, MACHINE_UIV_BOTTOM, + MACHINE_UMV_BOTTOM, MACHINE_UXV_BOTTOM, MACHINE_OPV_BOTTOM, MACHINE_MAXV_BOTTOM, + }; + public static ITexture[] + OVERLAYS_ENERGY_IN_TT = + new ITexture[] { + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {40, 40, 245, 0}), + }, + OVERLAYS_ENERGY_OUT_TT = + new ITexture[] { + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {40, 40, 245, 0}), + }, + OVERLAYS_ENERGY_IN_MULTI_TT = + new ITexture[] { + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {40, 40, 245, 0}), + }, + OVERLAYS_ENERGY_OUT_MULTI_TT = + new ITexture[] { + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {40, 40, 245, 0}), + }, + OVERLAYS_ENERGY_IN_POWER_TT = + new ITexture[] { + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {40, 40, 245, 0}), + }, + OVERLAYS_ENERGY_OUT_POWER_TT = + new ITexture[] { + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {40, 40, 245, 0}), + }, + OVERLAYS_ENERGY_IN_LASER_TT = + new ITexture[] { + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {40, 40, 245, 0}), + }, + OVERLAYS_ENERGY_OUT_LASER_TT = + new ITexture[] { + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {40, 40, 245, 0}), + }; public static ITexture[][] MACHINE_CASINGS_TT = new ITexture[16][17]; public static ITexture TESLA_TRANSCEIVER_TOP_BA = new GT_RenderedTexture(TESLA_TRANSCEIVER_TOP); - public static void run(){ + public static void run() { for (byte i = 0; i < MACHINE_CASINGS_TT.length; i++) { for (byte j = 0; j < MACHINE_CASINGS_TT[i].length; j++) { - MACHINE_CASINGS_TT[i][j] = new GT_SidedTexture(MACHINECASINGS_BOTTOM_TT[i], MACHINECASINGS_TOP_TT[i], MACHINECASINGS_SIDE_TT[i], Dyes.getModulation(j - 1, MACHINE_METAL.mRGBa)); + MACHINE_CASINGS_TT[i][j] = new GT_SidedTexture( + MACHINECASINGS_BOTTOM_TT[i], + MACHINECASINGS_TOP_TT[i], + MACHINECASINGS_SIDE_TT[i], + Dyes.getModulation(j - 1, MACHINE_METAL.mRGBa)); } } - MACHINE_CASINGS=MACHINE_CASINGS_TT; + MACHINE_CASINGS = MACHINE_CASINGS_TT; // These will throw IndexOutOfBoundsException if one of the arrays are the wrong length System.arraycopy(OVERLAYS_ENERGY_IN_TT, 0, OVERLAYS_ENERGY_IN, 0, OVERLAYS_ENERGY_IN_TT.length); System.arraycopy(OVERLAYS_ENERGY_OUT_TT, 0, OVERLAYS_ENERGY_OUT, 0, OVERLAYS_ENERGY_OUT_TT.length); - System.arraycopy(OVERLAYS_ENERGY_IN_MULTI_TT, 0, OVERLAYS_ENERGY_IN_MULTI, 0, OVERLAYS_ENERGY_IN_MULTI_TT.length); - System.arraycopy(OVERLAYS_ENERGY_OUT_MULTI_TT, 0, OVERLAYS_ENERGY_OUT_MULTI, 0, OVERLAYS_ENERGY_OUT_MULTI_TT.length); + System.arraycopy( + OVERLAYS_ENERGY_IN_MULTI_TT, 0, OVERLAYS_ENERGY_IN_MULTI, 0, OVERLAYS_ENERGY_IN_MULTI_TT.length); + System.arraycopy( + OVERLAYS_ENERGY_OUT_MULTI_TT, 0, OVERLAYS_ENERGY_OUT_MULTI, 0, OVERLAYS_ENERGY_OUT_MULTI_TT.length); } -} \ No newline at end of file +} 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 c74691d0a1..1be2282efc 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,5 +1,10 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.github.technus.tectech.util.TT_Utility.getUniqueIdentifier; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Capacitor; @@ -14,20 +19,14 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.objects.GT_RenderedTexture; +import java.util.HashMap; +import java.util.Map; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; 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.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.github.technus.tectech.util.TT_Utility.getUniqueIdentifier; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 03.04.2017. */ @@ -60,12 +59,12 @@ public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch { @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(TM_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(TM_H)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(TM_H)}; } @Override @@ -110,7 +109,10 @@ public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch { @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_Capacitor(aPlayerInventory, aBaseMetaTileEntity, translateToLocal("gt.blockmachines.hatch.capacitor.tier.03.name"));//Capacitor Hatch + return new GT_GUIContainer_Capacitor( + aPlayerInventory, + aBaseMetaTileEntity, + translateToLocal("gt.blockmachines.hatch.capacitor.tier.03.name")); // Capacitor Hatch } @Override @@ -129,10 +131,11 @@ public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch { @Override public String[] getDescription() { - return new String[]{ - CommonValues.BASS_MARK, - translateToLocal("gt.blockmachines.hatch.capacitor.desc.0"),//For Tesla Tower - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.hatch.capacitor.desc.1")//Stores 'nergy! (for a while) + return new String[] { + CommonValues.BASS_MARK, + translateToLocal("gt.blockmachines.hatch.capacitor.desc.0"), // For Tesla Tower + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.hatch.capacitor.desc.1") // Stores 'nergy! (for a while) }; } @@ -169,17 +172,24 @@ public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch { } } } - return new long[]{tier, tCurrent, tEnergyMax}; + 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 - new GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent(Reference.MODID + ":item.tm.teslaCoilCapacitor.5", 5, 1, V[6] * 512);//LuV Capacitor - new GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent(Reference.MODID + ":item.tm.teslaCoilCapacitor.6", 6, 1, V[7] * 512);//ZPM Capacitor + 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 + new GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent( + Reference.MODID + ":item.tm.teslaCoilCapacitor.5", 5, 1, V[6] * 512); // LuV Capacitor + new GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent( + Reference.MODID + ":item.tm.teslaCoilCapacitor.6", 6, 1, V[7] * 512); // ZPM Capacitor } public static class CapacitorComponent implements Comparable { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeData.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeData.java index 9311e34662..b2d93e91dc 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeData.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeData.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.util.CommonValues.MOVE_AT; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.dataTransport.QuantumDataPacket; import com.github.technus.tectech.mechanics.pipe.IConnectsToDataPipe; import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Data; @@ -13,19 +16,17 @@ import gregtech.api.util.GT_Utility; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.util.CommonValues.MOVE_AT; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 27.10.2016. */ public class GT_MetaTileEntity_Hatch_CreativeData extends GT_MetaTileEntity_Hatch_DataConnector { public GT_MetaTileEntity_Hatch_CreativeData(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_CreativeData(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_CreativeData( + String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, aDescription, aTextures); } @@ -80,7 +81,7 @@ public class GT_MetaTileEntity_Hatch_CreativeData extends GT_MetaTileEntity_Hatc } @Override - public IConnectsToDataPipe getNext(IConnectsToDataPipe source/*==this*/) { + public IConnectsToDataPipe getNext(IConnectsToDataPipe source /*==this*/) { IGregTechTileEntity base = getBaseMetaTileEntity(); byte color = base.getColorization(); if (color < 0) { @@ -94,9 +95,10 @@ public class GT_MetaTileEntity_Hatch_CreativeData extends GT_MetaTileEntity_Hatc if (meta instanceof GT_MetaTileEntity_Pipe_Data) { ((GT_MetaTileEntity_Pipe_Data) meta).markUsed(); return (IConnectsToDataPipe) meta; - }else if (meta instanceof GT_MetaTileEntity_Hatch_InputData && - ((GT_MetaTileEntity_Hatch_InputData) meta).getColorization()==color && - ((GT_MetaTileEntity_Hatch_InputData) meta).canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) { + } else if (meta instanceof GT_MetaTileEntity_Hatch_InputData + && ((GT_MetaTileEntity_Hatch_InputData) meta).getColorization() == color + && ((GT_MetaTileEntity_Hatch_InputData) meta) + .canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) { return (IConnectsToDataPipe) meta; } return null; @@ -108,24 +110,24 @@ public class GT_MetaTileEntity_Hatch_CreativeData extends GT_MetaTileEntity_Hatc if (MOVE_AT == aTick % 20) { if (aBaseMetaTileEntity.isAllowedToWork()) { getBaseMetaTileEntity().setActive(true); - if(q==null) q=new QuantumDataPacket(0xFFFFFFFFL); + if (q == null) q = new QuantumDataPacket(0xFFFFFFFFL); moveAround(aBaseMetaTileEntity); } else { - q=null; + q = null; getBaseMetaTileEntity().setActive(false); } } } } - @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.debug.tt.data.desc.0"),//Quantum Data Output - translateToLocal("gt.blockmachines.debug.tt.data.desc.1"),//High speed fibre optics connector. - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.debug.tt.data.desc.2")//Must be painted to work + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.debug.tt.data.desc.0"), // Quantum Data Output + translateToLocal("gt.blockmachines.debug.tt.data.desc.1"), // High speed fibre optics connector. + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.debug.tt.data.desc.2") // Must be painted to work }; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeMaintenance.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeMaintenance.java index 5279da2b00..854a0321bf 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeMaintenance.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeMaintenance.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; import cpw.mods.fml.relauncher.Side; @@ -15,27 +17,28 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static net.minecraft.util.StatCollector.translateToLocal; - public class GT_MetaTileEntity_Hatch_CreativeMaintenance extends GT_MetaTileEntity_Hatch_Maintenance { private static Textures.BlockIcons.CustomIcon face; public GT_MetaTileEntity_Hatch_CreativeMaintenance(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_CreativeMaintenance(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_CreativeMaintenance( + String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { super(aName, aTier, aDescription, aTextures, false); } @Override public String[] getDescription() { - return new String[]{ - CommonValues.BASS_MARK, - translateToLocal("gt.blockmachines.debug.tt.maintenance.desc.0"),//For automatically maintaining Multiblocks - translateToLocal("gt.blockmachines.debug.tt.maintenance.desc.1"),//Does fix everything but itself. - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.debug.tt.maintenance.desc.2")//Fixing is for plebs! + return new String[] { + CommonValues.BASS_MARK, + translateToLocal( + "gt.blockmachines.debug.tt.maintenance.desc.0"), // For automatically maintaining Multiblocks + translateToLocal("gt.blockmachines.debug.tt.maintenance.desc.1"), // Does fix everything but itself. + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.debug.tt.maintenance.desc.2") // Fixing is for plebs! }; } @@ -48,22 +51,24 @@ public class GT_MetaTileEntity_Hatch_CreativeMaintenance extends GT_MetaTileEnti @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(face)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(face)}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(face)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(face)}; } @Override public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_CreativeMaintenance(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); + return new GT_MetaTileEntity_Hatch_CreativeMaintenance( + this.mName, this.mTier, this.mDescriptionArray, this.mTextures); } @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - this.mWrench = this.mScrewdriver = this.mSoftHammer = this.mHardHammer = this.mCrowbar = this.mSolderingTool = true; + this.mWrench = + this.mScrewdriver = this.mSoftHammer = this.mHardHammer = this.mCrowbar = this.mSolderingTool = true; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DataConnector.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DataConnector.java index 9e4f6cba93..3f4606d837 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DataConnector.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DataConnector.java @@ -1,5 +1,9 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.util.CommonValues.MOVE_AT; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.mechanics.dataTransport.DataPacket; import com.github.technus.tectech.mechanics.pipe.IConnectsToDataPipe; import com.github.technus.tectech.util.CommonValues; @@ -21,14 +25,11 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.reflect.FieldUtils; -import static com.github.technus.tectech.util.CommonValues.MOVE_AT; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by danie_000 on 11.12.2016. */ -public abstract class GT_MetaTileEntity_Hatch_DataConnector extends GT_MetaTileEntity_Hatch implements IConnectsToDataPipe { +public abstract class GT_MetaTileEntity_Hatch_DataConnector extends GT_MetaTileEntity_Hatch + implements IConnectsToDataPipe { public static Textures.BlockIcons.CustomIcon EM_D_SIDES; public static Textures.BlockIcons.CustomIcon EM_D_ACTIVE; public static Textures.BlockIcons.CustomIcon EM_D_CONN; @@ -39,12 +40,14 @@ public abstract class GT_MetaTileEntity_Hatch_DataConnector 0) { - return new String[]{ - translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, - translateToLocalFormatted("tt.keyword.Content", clientLocale) + ": " + EnumChatFormatting.AQUA + (q != null ? q.getContentString() : 0), - translateToLocalFormatted("tt.keyword.PacketHistory", clientLocale) + ": " + EnumChatFormatting.RED + (q != null ? q.getTraceSize() : 0),}; + return new String[] { + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, + translateToLocalFormatted("tt.keyword.Content", clientLocale) + ": " + EnumChatFormatting.AQUA + + (q != null ? q.getContentString() : 0), + translateToLocalFormatted("tt.keyword.PacketHistory", clientLocale) + ": " + EnumChatFormatting.RED + + (q != null ? q.getTraceSize() : 0), + }; } - return new String[]{ - translateToLocalFormatted("tt.keyword.Content", clientLocale) + ": " + EnumChatFormatting.AQUA + (q != null ? q.getContentString() : 0), - translateToLocalFormatted("tt.keyword.PacketHistory", clientLocale) + ": " + EnumChatFormatting.RED + (q != null ? q.getTraceSize() : 0), + return new String[] { + translateToLocalFormatted("tt.keyword.Content", clientLocale) + ": " + EnumChatFormatting.AQUA + + (q != null ? q.getContentString() : 0), + translateToLocalFormatted("tt.keyword.PacketHistory", clientLocale) + ": " + EnumChatFormatting.RED + + (q != null ? q.getTraceSize() : 0), }; } @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - "Text description shouldn't be seen, report to Tec", - "High speed fibre optics connector.", - EnumChatFormatting.AQUA + "Must be painted to work" + return new String[] { + CommonValues.TEC_MARK_EM, + "Text description shouldn't be seen, report to Tec", + "High speed fibre optics connector.", + EnumChatFormatting.AQUA + "Must be painted to work" }; } 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 406a9ee56f..bf7671a062 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 @@ -1,5 +1,9 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_POWER_TT; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.interfaces.ITexture; @@ -9,10 +13,6 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_POWER_TT; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 16.12.2016. */ @@ -20,29 +20,38 @@ 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, translateToLocal("gt.blockmachines.hatch.dynamomulti.desc.0"));//Multiple Ampere Energy Extractor for Multiblocks + super( + aID, + aName, + aNameRegional, + aTier, + 0, + translateToLocal("gt.blockmachines.hatch.dynamomulti.desc.0")); // Multiple Ampere Energy Extractor for + // Multiblocks Amperes = aAmp; TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_DynamoMulti(String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_DynamoMulti( + String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); Amperes = aAmp; } - public GT_MetaTileEntity_Hatch_DynamoMulti(int aID, String aName, String aNameRegional, int aTier, int i, String description, int aAmp) { + public GT_MetaTileEntity_Hatch_DynamoMulti( + int aID, String aName, String aNameRegional, int aTier, int i, String description, int aAmp) { super(aID, aName, aNameRegional, aTier, 0, description); Amperes = aAmp; } @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; + return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; + return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; } @Override @@ -112,10 +121,8 @@ public class GT_MetaTileEntity_Hatch_DynamoMulti extends GT_MetaTileEntity_Hatch @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - mDescription - //"Amperes Out: "+ EnumChatFormatting.AQUA+Amperes+" A" + return new String[] {CommonValues.TEC_MARK_GENERAL, mDescription + // "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 595f45f8d2..5deccd87e0 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 @@ -1,5 +1,10 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_OUT_LASER_TT; +import static com.github.technus.tectech.util.CommonValues.TRANSFER_AT; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.pipe.IConnectsToEnergyTunnel; import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Energy; import com.github.technus.tectech.util.CommonValues; @@ -13,32 +18,36 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_OUT_LASER_TT; -import static com.github.technus.tectech.util.CommonValues.TRANSFER_AT; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 16.12.2016. */ -public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatch_DynamoMulti implements IConnectsToEnergyTunnel { +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, translateToLocal("gt.blockmachines.hatch.dynamotunnel.desc.0"), aAmp);//Energy extracting terminal for Multiblocks + super( + aID, + aName, + aNameRegional, + aTier, + 0, + translateToLocal("gt.blockmachines.hatch.dynamotunnel.desc.0"), + aAmp); // Energy extracting terminal for Multiblocks TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_DynamoTunnel(String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_DynamoTunnel( + String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, aAmp, aDescription, aTextures); } @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_OUT_LASER_TT[mTier]}; + return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_OUT_LASER_TT[mTier]}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_OUT_LASER_TT[mTier]}; + return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_OUT_LASER_TT[mTier]}; } @Override @@ -108,11 +117,12 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - mDescription,//TODO NOT PASS DESCRIPTION - translateToLocal("gt.blockmachines.hatch.dynamotunnel.desc.1") + ": " - + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(Amperes * maxEUOutput()) + EnumChatFormatting.RESET + " EU/t"//Throughput + return new String[] { + CommonValues.TEC_MARK_GENERAL, + mDescription, // TODO NOT PASS DESCRIPTION + translateToLocal("gt.blockmachines.hatch.dynamotunnel.desc.1") + ": " + EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(Amperes * maxEUOutput()) + EnumChatFormatting.RESET + + " EU/t" // Throughput }; } @@ -142,29 +152,35 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc byte front = aBaseMetaTileEntity.getFrontFacing(); byte opposite = GT_Utility.getOppositeSide(front); for (short dist = 1; dist < 1000; dist++) { - IGregTechTileEntity tGTTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityAtSideAndDistance(front, dist); + IGregTechTileEntity tGTTileEntity = + aBaseMetaTileEntity.getIGregTechTileEntityAtSideAndDistance(front, dist); if (tGTTileEntity != null && tGTTileEntity.getColorization() == color) { IMetaTileEntity aMetaTileEntity = tGTTileEntity.getMetaTileEntity(); if (aMetaTileEntity != null) { - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyTunnel && - opposite == tGTTileEntity.getFrontFacing()) { + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyTunnel + && opposite == tGTTileEntity.getFrontFacing()) { if (maxEUOutput() > ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()) { aMetaTileEntity.doExplosion(maxEUOutput()); setEUVar(aBaseMetaTileEntity.getStoredEU() - maxEUOutput()); return; - } else if (maxEUOutput() == ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()) { + } else if (maxEUOutput() + == ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()) { long diff = Math.min( Amperes * 20L * maxEUOutput(), Math.min( - ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUStore() - - aMetaTileEntity.getBaseMetaTileEntity().getStoredEU(), - aBaseMetaTileEntity.getStoredEU() - )); + ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUStore() + - aMetaTileEntity + .getBaseMetaTileEntity() + .getStoredEU(), + aBaseMetaTileEntity.getStoredEU())); 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) { @@ -189,4 +205,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 8b8bcaaa1d..f137c274f8 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 @@ -1,5 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.util.CommonValues.*; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.IEMContainer; @@ -24,37 +32,32 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.reflect.FieldUtils; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.util.CommonValues.*; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by danie_000 on 11.12.2016. */ -public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_MetaTileEntity_Hatch implements IEMContainer, IConnectsToElementalPipe { +public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_MetaTileEntity_Hatch + implements IEMContainer, IConnectsToElementalPipe { private static Textures.BlockIcons.CustomIcon EM_T_SIDES; private static Textures.BlockIcons.CustomIcon EM_T_ACTIVE; private static Textures.BlockIcons.CustomIcon EM_T_CONN; private String clientLocale = "en_US"; - protected EMInstanceStackMap content = new EMInstanceStackMap(); - //float lifeTimeMult=1f; - public int postEnergize = 0; + protected EMInstanceStackMap content = new EMInstanceStackMap(); + // float lifeTimeMult=1f; + public int postEnergize = 0; public double overflowMatter = 0f; public short id = -1; private byte deathDelay = 2; - protected GT_MetaTileEntity_Hatch_ElementalContainer(int aID, String aName, String aNameRegional, int aTier, String descr) { + protected GT_MetaTileEntity_Hatch_ElementalContainer( + int aID, String aName, String aNameRegional, int aTier, String descr) { super(aID, aName, aNameRegional, aTier, 0, descr); TT_Utility.setTier(aTier, this); } - protected GT_MetaTileEntity_Hatch_ElementalContainer(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + protected GT_MetaTileEntity_Hatch_ElementalContainer( + String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); } @@ -69,19 +72,30 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_T_ACTIVE, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), new GT_RenderedTexture(EM_T_CONN)}; + return new ITexture[] { + aBaseTexture, + new GT_RenderedTexture( + EM_T_ACTIVE, + Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), + new GT_RenderedTexture(EM_T_CONN) + }; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_T_SIDES, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), new GT_RenderedTexture(EM_T_CONN)}; + return new ITexture[] { + aBaseTexture, + new GT_RenderedTexture( + EM_T_SIDES, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), + new GT_RenderedTexture(EM_T_CONN) + }; } @Override public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); aNBT.setInteger("postEnergize", postEnergize); - //aNBT.setFloat("lifeTimeMult",lifeTimeMult); + // aNBT.setFloat("lifeTimeMult",lifeTimeMult); aNBT.setDouble("OverflowMatter", overflowMatter); content.cleanUp(); aNBT.setTag("eM_Stacks", content.toNBT(TecTech.definitionsRegistry)); @@ -92,11 +106,11 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); postEnergize = aNBT.getInteger("postEnergize"); - //lifeTimeMult=aNBT.getFloat("lifeTimeMult"); - overflowMatter = aNBT.getFloat("overflowMatter")+aNBT.getDouble("OverflowMatter"); + // lifeTimeMult=aNBT.getFloat("lifeTimeMult"); + overflowMatter = aNBT.getFloat("overflowMatter") + aNBT.getDouble("OverflowMatter"); id = aNBT.getShort("eID"); try { - content = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry,aNBT.getCompoundTag("eM_Stacks")); + content = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, aNBT.getCompoundTag("eM_Stacks")); } catch (EMException e) { if (DEBUG_MODE) { e.printStackTrace(); @@ -113,31 +127,43 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta byte Tick = (byte) (aTick % 20); if (DECAY_AT == Tick) { purgeOverflow(); - content.tickContent(1, postEnergize,1);//Hatches don't life time mult things + content.tickContent(1, postEnergize, 1); // Hatches don't life time mult things purgeOverflow(); } else if (OVERFLOW_AT == Tick) { if (overflowMatter <= 0) { deathDelay = 3; } else { if (deathDelay == 1) { - IGregTechTileEntity tGTTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityAtSide(aBaseMetaTileEntity.getBackFacing()); - if (tGTTileEntity == null || !(tGTTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_OverflowElemental)) { + IGregTechTileEntity tGTTileEntity = + aBaseMetaTileEntity.getIGregTechTileEntityAtSide(aBaseMetaTileEntity.getBackFacing()); + if (tGTTileEntity == null + || !(tGTTileEntity.getMetaTileEntity() + instanceof GT_MetaTileEntity_Hatch_OverflowElemental)) { tGTTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityAtSide((byte) 0); } - if (tGTTileEntity == null || !(tGTTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_OverflowElemental)) { + if (tGTTileEntity == null + || !(tGTTileEntity.getMetaTileEntity() + instanceof GT_MetaTileEntity_Hatch_OverflowElemental)) { tGTTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityAtSide((byte) 1); } - if (tGTTileEntity != null && tGTTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_OverflowElemental) { - GT_MetaTileEntity_Hatch_OverflowElemental aMetaTileEntity = (GT_MetaTileEntity_Hatch_OverflowElemental) tGTTileEntity.getMetaTileEntity(); + if (tGTTileEntity != null + && tGTTileEntity.getMetaTileEntity() + instanceof GT_MetaTileEntity_Hatch_OverflowElemental) { + GT_MetaTileEntity_Hatch_OverflowElemental aMetaTileEntity = + (GT_MetaTileEntity_Hatch_OverflowElemental) tGTTileEntity.getMetaTileEntity(); if (aMetaTileEntity.addOverflowMatter(overflowMatter)) { if (TecTech.configTecTech.BOOM_ENABLE) { tGTTileEntity.doExplosion(V[14]); } else { TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, overflowMatter * 32D); - TecTech.proxy.broadcast("Container1 " + translateToLocal("tt.keyword.BOOM") + " " + aBaseMetaTileEntity.getXCoord() + ' ' + aBaseMetaTileEntity.getYCoord() + ' ' + aBaseMetaTileEntity.getZCoord()); + TecTech.proxy.broadcast("Container1 " + 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... + deathDelay = + 3; // needed in some cases like repetitive failures. Should be 4 since there is -- + // at end but meh... overflowMatter = 0F; } } else if (deathDelay < 1) { @@ -147,7 +173,9 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, overflowMatter * 32D); deathDelay = 3; overflowMatter = 0; - TecTech.proxy.broadcast("Container0 " + translateToLocal("tt.keyword.BOOM") + " " + aBaseMetaTileEntity.getXCoord() + ' ' + aBaseMetaTileEntity.getYCoord() + ' ' + aBaseMetaTileEntity.getZCoord()); + TecTech.proxy.broadcast("Container0 " + translateToLocal("tt.keyword.BOOM") + " " + + aBaseMetaTileEntity.getXCoord() + ' ' + aBaseMetaTileEntity.getYCoord() + ' ' + + aBaseMetaTileEntity.getZCoord()); } } deathDelay--; @@ -162,15 +190,13 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta } } - public void moveAround(IGregTechTileEntity aBaseMetaTileEntity) { - } + public void moveAround(IGregTechTileEntity aBaseMetaTileEntity) {} @Override public EMInstanceStackMap getContentHandler() { return content; } - @Override public boolean isFacingValid(byte aFacing) { return true; @@ -246,30 +272,40 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta if (TecTech.configTecTech.EASY_SCAN || DEBUG_MODE) { if (id > 0) { if (content == null || content.size() == 0) { - return new String[]{translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale)}; + return new String[] { + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, + translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale) + }; } else { String[] lines = content.getElementalInfo(); String[] output = new String[lines.length + 1]; - output[0] = translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id; + output[0] = translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + + EnumChatFormatting.AQUA + id; System.arraycopy(lines, 0, output, 1, lines.length); return output; } } if (content == null || content.size() == 0) { - return new String[]{translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale)}; + return new String[] {translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale)}; } return content.getElementalInfo(); } else { if (id > 0) { if (content == null || content.size() == 0) { - return new String[]{translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale)}; + return new String[] { + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, + translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale) + }; } - return new String[]{translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, translateToLocalFormatted("tt.keyphrase.Contains_EM", clientLocale)}; + return new String[] { + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, + translateToLocalFormatted("tt.keyphrase.Contains_EM", clientLocale) + }; } if (content == null || content.size() == 0) { - return new String[]{translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale)}; + return new String[] {translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale)}; } - return new String[]{translateToLocalFormatted("tt.keyphrase.Contains_EM", clientLocale)}; + return new String[] {translateToLocalFormatted("tt.keyphrase.Contains_EM", clientLocale)}; } } @@ -279,17 +315,19 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta @Override public String[] getDescription() { - return new String[]{ - TEC_MARK_EM, - mDescription, - translateToLocal("tt.base.emhatch.desc.0") + " " + EnumChatFormatting.AQUA + GT_Utility.formatNumbers(getMaxStacksCount()),//Max stacks amount: - translateToLocal("tt.base.emhatch.desc.1") + " " + EnumChatFormatting.AQUA + TT_Utility.formatNumberShortExp(getMaxStackSize()),//Stack capacity: - translateToLocal("tt.base.emhatch.desc.2"),//Place Overflow Hatch behind,on top or below - translateToLocal("tt.base.emhatch.desc.3"),//to provide overflow protection while this block - translateToLocal("tt.base.emhatch.desc.4"),//is not attached to multi block. - translateToLocal("tt.base.emhatch.desc.5"),//Transport range can be extended in straight - translateToLocal("tt.base.emhatch.desc.6"),//line up to 15 blocks with quantum tunnels. - EnumChatFormatting.AQUA + translateToLocal("tt.base.emhatch.desc.7")//Must be painted to work + return new String[] { + TEC_MARK_EM, + mDescription, + translateToLocal("tt.base.emhatch.desc.0") + " " + EnumChatFormatting.AQUA + + GT_Utility.formatNumbers(getMaxStacksCount()), // Max stacks amount: + translateToLocal("tt.base.emhatch.desc.1") + " " + EnumChatFormatting.AQUA + + TT_Utility.formatNumberShortExp(getMaxStackSize()), // Stack capacity: + translateToLocal("tt.base.emhatch.desc.2"), // Place Overflow Hatch behind,on top or below + translateToLocal("tt.base.emhatch.desc.3"), // to provide overflow protection while this block + translateToLocal("tt.base.emhatch.desc.4"), // is not attached to multi block. + translateToLocal("tt.base.emhatch.desc.5"), // Transport range can be extended in straight + translateToLocal("tt.base.emhatch.desc.6"), // line up to 15 blocks with quantum tunnels. + EnumChatFormatting.AQUA + translateToLocal("tt.base.emhatch.desc.7") // Must be painted to work }; } @@ -301,8 +339,9 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta if (TecTech.configTecTech.BOOM_ENABLE) { base.doExplosion(V[15]); } else { - TecTech.proxy.broadcast(translateToLocal("tt.keyword.BOOM") + " " + base.getXCoord() + ' ' + base.getYCoord() + ' ' + base.getZCoord()); + TecTech.proxy.broadcast(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 c637b3bfee..854cf496e0 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 @@ -1,5 +1,9 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_POWER_TT; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.interfaces.ITexture; @@ -11,10 +15,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_POWER_TT; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 16.12.2016. */ @@ -22,29 +22,38 @@ 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, translateToLocal("gt.blockmachines.hatch.energymulti.desc.0"));//Multiple Ampere Energy Injector for Multiblocks + super( + aID, + aName, + aNameRegional, + aTier, + 0, + translateToLocal("gt.blockmachines.hatch.energymulti.desc.0")); // Multiple Ampere Energy Injector for + // Multiblocks Amperes = aAmp; TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_EnergyMulti(String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_EnergyMulti( + String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); 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; } @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; + return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; + return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; } @Override @@ -114,11 +123,11 @@ public class GT_MetaTileEntity_Hatch_EnergyMulti extends GT_MetaTileEntity_Hatch @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - mDescription, - translateToLocal("gt.blockmachines.hatch.energymulti.desc.1") + ": " - + EnumChatFormatting.AQUA + GT_Utility.formatNumbers(maxAmperesIn()) + " A"//Amperes In + return new String[] { + CommonValues.TEC_MARK_GENERAL, + mDescription, + translateToLocal("gt.blockmachines.hatch.energymulti.desc.1") + ": " + EnumChatFormatting.AQUA + + GT_Utility.formatNumbers(maxAmperesIn()) + " A" // Amperes In }; } -} \ No newline at end of file +} 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 d29f9fc14b..791b79cef8 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 @@ -1,5 +1,10 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_LASER_TT; +import static com.github.technus.tectech.util.CommonValues.TRANSFER_AT; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.pipe.IConnectsToEnergyTunnel; import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; @@ -11,32 +16,36 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_LASER_TT; -import static com.github.technus.tectech.util.CommonValues.TRANSFER_AT; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 16.12.2016. */ -public class GT_MetaTileEntity_Hatch_EnergyTunnel extends GT_MetaTileEntity_Hatch_EnergyMulti implements IConnectsToEnergyTunnel { +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, translateToLocal("gt.blockmachines.hatch.energytunnel.desc.0"), aAmp);//Energy injecting terminal for Multiblocks + super( + aID, + aName, + aNameRegional, + aTier, + 0, + translateToLocal("gt.blockmachines.hatch.energytunnel.desc.0"), + aAmp); // Energy injecting terminal for Multiblocks TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_EnergyTunnel(String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_EnergyTunnel( + String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, aAmp, aDescription, aTextures); } @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_LASER_TT[mTier]}; + return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_IN_LASER_TT[mTier]}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_LASER_TT[mTier]}; + return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_IN_LASER_TT[mTier]}; } @Override @@ -106,11 +115,12 @@ public class GT_MetaTileEntity_Hatch_EnergyTunnel extends GT_MetaTileEntity_Hatc @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - mDescription, - translateToLocal("gt.blockmachines.hatch.energytunnel.desc.1") + ": " - + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(Amperes * maxEUInput()) + EnumChatFormatting.RESET + " EU/t"//Throughput + return new String[] { + CommonValues.TEC_MARK_GENERAL, + mDescription, + translateToLocal("gt.blockmachines.hatch.energytunnel.desc.1") + ": " + EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(Amperes * maxEUInput()) + EnumChatFormatting.RESET + + " EU/t" // Throughput }; } @@ -133,4 +143,4 @@ public class GT_MetaTileEntity_Hatch_EnergyTunnel extends GT_MetaTileEntity_Hatc } } } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java index e9631cfb3e..de173f2a16 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Holder; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_Holder; import com.github.technus.tectech.util.CommonValues; @@ -18,8 +20,6 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 03.04.2017. */ @@ -29,7 +29,7 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch { public GT_MetaTileEntity_Hatch_Holder(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 1, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_Hatch_Holder(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -46,12 +46,12 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch { @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_H_ACTIVE)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(EM_H_ACTIVE)}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_H)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(EM_H)}; } @Override @@ -96,7 +96,10 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch { @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_Holder(aPlayerInventory, aBaseMetaTileEntity, translateToLocal("gt.blockmachines.hatch.holder.tier.09.name"));//Object Holder + return new GT_GUIContainer_Holder( + aPlayerInventory, + aBaseMetaTileEntity, + translateToLocal("gt.blockmachines.hatch.holder.tier.09.name")); // Object Holder } @Override @@ -104,11 +107,11 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch { if (aBaseMetaTileEntity.isClientSide()) { return true; } - //if(aBaseMetaTileEntity.isActive()) + // if(aBaseMetaTileEntity.isActive()) // aPlayer.addChatComponentMessage(new ChatComponentText("It is still active...")); - //else if(heat>0) + // else if(heat>0) // aPlayer.addChatComponentMessage(new ChatComponentText("It is still warm...")); - //else + // else aBaseMetaTileEntity.openGUI(aPlayer); return true; } @@ -120,10 +123,11 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch { @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.hatch.holder.desc.0"),//For Research Station - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.hatch.holder.desc.1")//Advanced Holding Mechanism! + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.hatch.holder.desc.0"), // For Research Station + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.hatch.holder.desc.1") // Advanced Holding Mechanism! }; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputData.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputData.java index ff5669e0cb..8626458b70 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputData.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputData.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.dataTransport.QuantumDataPacket; import com.github.technus.tectech.mechanics.pipe.IConnectsToDataPipe; import com.github.technus.tectech.util.CommonValues; @@ -10,8 +12,6 @@ import gregtech.api.metatileentity.MetaTileEntity; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 27.10.2016. */ @@ -20,7 +20,7 @@ public class GT_MetaTileEntity_Hatch_InputData extends GT_MetaTileEntity_Hatch_D public GT_MetaTileEntity_Hatch_InputData(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_Hatch_InputData(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -67,26 +67,27 @@ public class GT_MetaTileEntity_Hatch_InputData extends GT_MetaTileEntity_Hatch_D return null; } - public void setContents(QuantumDataPacket qIn){ - if(qIn==null){ - this.q=null; - }else{ - if(qIn.getContent()>0) { + public void setContents(QuantumDataPacket qIn) { + if (qIn == null) { + this.q = null; + } else { + if (qIn.getContent() > 0) { this.q = qIn; - delDelay=true; - }else{ - this.q=null; + delDelay = true; + } else { + this.q = null; } } } @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.hatch.datain.desc.0"),//Quantum Data Input for Multiblocks - translateToLocal("gt.blockmachines.hatch.datain.desc.1"),//High speed fibre optics connector. - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.hatch.datain.desc.2")//Must be painted to work + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.hatch.datain.desc.0"), // Quantum Data Input for Multiblocks + translateToLocal("gt.blockmachines.hatch.datain.desc.1"), // High speed fibre optics connector. + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.hatch.datain.desc.2") // Must be painted to work }; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java index ee619ac5ec..fd6a72088f 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java @@ -1,5 +1,12 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DataConnector.*; +import static com.github.technus.tectech.util.CommonValues.MOVE_AT; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.mechanics.dataTransport.InventoryDataPacket; import com.github.technus.tectech.mechanics.pipe.IConnectsToDataPipe; import com.github.technus.tectech.util.CommonValues; @@ -10,6 +17,7 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_DataAccess; import gregtech.api.objects.GT_RenderedTexture; +import java.util.ArrayList; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.InventoryPlayer; @@ -18,16 +26,8 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import org.apache.commons.lang3.reflect.FieldUtils; -import java.util.ArrayList; - -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DataConnector.*; -import static com.github.technus.tectech.util.CommonValues.MOVE_AT; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - -public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Hatch_DataAccess implements IConnectsToDataPipe { +public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Hatch_DataAccess + implements IConnectsToDataPipe { public boolean delDelay = true; private ItemStack[] stacks; @@ -35,21 +35,33 @@ public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Ha public GT_MetaTileEntity_Hatch_InputDataItems(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_InputDataItems(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_InputDataItems( + String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, aDescription, aTextures); } @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_D_ACTIVE, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), new GT_RenderedTexture(EM_D_CONN)}; + return new ITexture[] { + aBaseTexture, + new GT_RenderedTexture( + EM_D_ACTIVE, + Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), + new GT_RenderedTexture(EM_D_CONN) + }; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_D_SIDES, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), new GT_RenderedTexture(EM_D_CONN)}; + return new ITexture[] { + aBaseTexture, + new GT_RenderedTexture( + EM_D_SIDES, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), + new GT_RenderedTexture(EM_D_CONN) + }; } @Override @@ -132,51 +144,51 @@ public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Ha return null; } - public void setContents(InventoryDataPacket iIn){ - if(iIn==null){ - stacks=null; - }else{ - if(iIn.getContent().length>0) { + public void setContents(InventoryDataPacket iIn) { + if (iIn == null) { + stacks = null; + } else { + if (iIn.getContent().length > 0) { stacks = iIn.getContent(); - delDelay=true; - }else{ - stacks=null; + delDelay = true; + } else { + stacks = null; } } } @Override public void onRemoval() { - stacks=null; + stacks = null; } @Override public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); - NBTTagCompound stacksTag=new NBTTagCompound(); - if(stacks!=null){ - stacksTag.setInteger("count",stacks.length); - for(int i=0;i0){ - ArrayList stacks=new ArrayList<>(); - for(int i=0;i 0) { + ArrayList stacks = new ArrayList<>(); + for (int i = 0; i < count; i++) { + ItemStack stack = ItemStack.loadItemStackFromNBT(stacksTag.getCompoundTag(Integer.toString(i))); + if (stack != null) { stacks.add(stack); } } - if(stacks.size()>0) { + if (stacks.size() > 0) { this.stacks = stacks.toArray(nullItem); } } @@ -184,19 +196,19 @@ public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Ha @Override public int getSizeInventory() { - return stacks!=null?stacks.length:0; + return stacks != null ? stacks.length : 0; } @Override public ItemStack getStackInSlot(int aIndex) { - return stacks!=null && aIndex { public GT_MetaTileEntity_Hatch_OutputData(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_Hatch_OutputData(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -80,16 +80,17 @@ public class GT_MetaTileEntity_Hatch_OutputData extends GT_MetaTileEntity_Hatch_ @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.hatch.dataout.desc.0"),//Quantum Data Output for Multiblocks - translateToLocal("gt.blockmachines.hatch.dataout.desc.1"),//High speed fibre optics connector. - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.hatch.dataout.desc.2")//Must be painted to work + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.hatch.dataout.desc.0"), // Quantum Data Output for Multiblocks + translateToLocal("gt.blockmachines.hatch.dataout.desc.1"), // High speed fibre optics connector. + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.hatch.dataout.desc.2") // Must be painted to work }; } @Override - public IConnectsToDataPipe getNext(IConnectsToDataPipe source/*==this*/) { + public IConnectsToDataPipe getNext(IConnectsToDataPipe source /*==this*/) { IGregTechTileEntity base = getBaseMetaTileEntity(); byte color = base.getColorization(); if (color < 0) { @@ -100,12 +101,13 @@ public class GT_MetaTileEntity_Hatch_OutputData extends GT_MetaTileEntity_Hatch_ return null; } IMetaTileEntity meta = next.getMetaTileEntity(); - if (meta instanceof GT_MetaTileEntity_Pipe_Data){ + if (meta instanceof GT_MetaTileEntity_Pipe_Data) { ((GT_MetaTileEntity_Pipe_Data) meta).markUsed(); return (IConnectsToDataPipe) meta; - }else if (meta instanceof GT_MetaTileEntity_Hatch_InputData && - ((GT_MetaTileEntity_Hatch_InputData) meta).getColorization()==color && - ((GT_MetaTileEntity_Hatch_InputData) meta).canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) { + } else if (meta instanceof GT_MetaTileEntity_Hatch_InputData + && ((GT_MetaTileEntity_Hatch_InputData) meta).getColorization() == color + && ((GT_MetaTileEntity_Hatch_InputData) meta) + .canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) { return (IConnectsToDataPipe) meta; } return null; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java index 1c70ccd469..197006510d 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.dataTransport.InventoryDataPacket; import com.github.technus.tectech.mechanics.pipe.IConnectsToDataPipe; import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Data; @@ -16,15 +18,15 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; -import static net.minecraft.util.StatCollector.translateToLocal; - -public class GT_MetaTileEntity_Hatch_OutputDataItems extends GT_MetaTileEntity_Hatch_DataConnector { +public class GT_MetaTileEntity_Hatch_OutputDataItems + extends GT_MetaTileEntity_Hatch_DataConnector { public GT_MetaTileEntity_Hatch_OutputDataItems(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_OutputDataItems(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_OutputDataItems( + String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, aDescription, aTextures); } @@ -120,7 +122,7 @@ public class GT_MetaTileEntity_Hatch_OutputDataItems extends GT_MetaTileEntity_H } @Override - public IConnectsToDataPipe getNext(IConnectsToDataPipe source/*==this*/) { + public IConnectsToDataPipe getNext(IConnectsToDataPipe source /*==this*/) { IGregTechTileEntity base = getBaseMetaTileEntity(); byte color = base.getColorization(); if (color < 0) { @@ -131,12 +133,13 @@ public class GT_MetaTileEntity_Hatch_OutputDataItems extends GT_MetaTileEntity_H return null; } IMetaTileEntity meta = next.getMetaTileEntity(); - if (meta instanceof GT_MetaTileEntity_Pipe_Data){ + if (meta instanceof GT_MetaTileEntity_Pipe_Data) { ((GT_MetaTileEntity_Pipe_Data) meta).markUsed(); return (IConnectsToDataPipe) meta; - }else if (meta instanceof GT_MetaTileEntity_Hatch_InputDataItems && - ((GT_MetaTileEntity_Hatch_InputDataItems) meta).getColorization()==color && - ((GT_MetaTileEntity_Hatch_InputDataItems) meta).canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) { + } else if (meta instanceof GT_MetaTileEntity_Hatch_InputDataItems + && ((GT_MetaTileEntity_Hatch_InputDataItems) meta).getColorization() == color + && ((GT_MetaTileEntity_Hatch_InputDataItems) meta) + .canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) { return (IConnectsToDataPipe) meta; } return null; @@ -144,11 +147,12 @@ public class GT_MetaTileEntity_Hatch_OutputDataItems extends GT_MetaTileEntity_H @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.hatch.dataoutass.desc.0"),//ItemStack Data Output for Multiblocks - translateToLocal("gt.blockmachines.hatch.dataoutass.desc.1"),//High speed fibre optics connector. - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.hatch.dataoutass.desc.2")//Must be painted to work + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.hatch.dataoutass.desc.0"), // ItemStack Data Output for Multiblocks + translateToLocal("gt.blockmachines.hatch.dataoutass.desc.1"), // High speed fibre optics connector. + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.hatch.dataoutass.desc.2") // Must be painted to work }; } } 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 25ed1e6c47..da125d3e5f 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 @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EM; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.interfaces.ITexture; @@ -8,22 +10,27 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.util.GT_Utility; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * 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, translateToLocal("gt.blockmachines.emout.desc"));//Elemental Output for Multiblocks + super( + aID, + aName, + aNameRegional, + aTier, + translateToLocal("gt.blockmachines.emout.desc")); // Elemental Output for Multiblocks TT_Utility.setTier(aTier, this); } - //public GT_MetaTileEntity_Hatch_OutputElemental(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + // public GT_MetaTileEntity_Hatch_OutputElemental(String aName, int aTier, String aDescription, ITexture[][][] + // aTextures) { // super(aName, aTier, aDescription, aTextures); - //} + // } - public GT_MetaTileEntity_Hatch_OutputElemental(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_OutputElemental( + String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, aDescription, aTextures); } @@ -56,13 +63,16 @@ public class GT_MetaTileEntity_Hatch_OutputElemental extends GT_MetaTileEntity_H byte front = aBaseMetaTileEntity.getFrontFacing(); byte opposite = GT_Utility.getOppositeSide(front); for (byte dist = 1; dist < 16; dist++) { - IGregTechTileEntity tGTTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityAtSideAndDistance(front, dist); + IGregTechTileEntity tGTTileEntity = + aBaseMetaTileEntity.getIGregTechTileEntityAtSideAndDistance(front, dist); if (tGTTileEntity != null && tGTTileEntity.getColorization() == color) { IMetaTileEntity aMetaTileEntity = tGTTileEntity.getMetaTileEntity(); if (aMetaTileEntity != null) { - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputElemental && - opposite == tGTTileEntity.getFrontFacing()) { - ((GT_MetaTileEntity_Hatch_InputElemental) aMetaTileEntity).getContentHandler().putUnifyAll(content); + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputElemental + && opposite == tGTTileEntity.getFrontFacing()) { + ((GT_MetaTileEntity_Hatch_InputElemental) aMetaTileEntity) + .getContentHandler() + .putUnifyAll(content); ((GT_MetaTileEntity_Hatch_InputElemental) aMetaTileEntity).updateSlots(); content.clear(); return; @@ -88,4 +98,4 @@ public class GT_MetaTileEntity_Hatch_OutputElemental extends GT_MetaTileEntity_H 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_OverflowElemental.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OverflowElemental.java index 0d5347a87e..b41963964d 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 @@ -1,5 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.loader.MainLoader.elementalPollution; +import static com.github.technus.tectech.util.CommonValues.DISPERSE_AT; +import static com.github.technus.tectech.util.CommonValues.V; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; @@ -26,14 +34,6 @@ import net.minecraft.world.EnumSkyBlock; import net.minecraftforge.common.util.ForgeDirection; import org.apache.commons.lang3.reflect.FieldUtils; -import static com.github.technus.tectech.loader.MainLoader.elementalPollution; -import static com.github.technus.tectech.util.CommonValues.DISPERSE_AT; -import static com.github.technus.tectech.util.CommonValues.V; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by danie_000 on 12.12.2016. */ @@ -48,15 +48,23 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity private String clientLocale = "en_US"; - public GT_MetaTileEntity_Hatch_OverflowElemental(int aID, String aName, String aNameRegional, int aTier, double max) { - super(aID, aName, aNameRegional, aTier, 0, translateToLocal("gt.blockmachines.hatch.emmuffler.desc.0"));//Disposes excess elemental Matter + public GT_MetaTileEntity_Hatch_OverflowElemental( + int aID, String aName, String aNameRegional, int aTier, double max) { + super( + aID, + aName, + aNameRegional, + aTier, + 0, + translateToLocal("gt.blockmachines.hatch.emmuffler.desc.0")); // Disposes excess elemental Matter overflowMatter = max / 2; overflowMax = max; overflowDisperse = overflowMax / (float) (30 - aTier); TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_OverflowElemental(String aName, int aTier, double max, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_OverflowElemental( + String aName, int aTier, double max, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); overflowMatter = max / 2; overflowMax = max; @@ -75,22 +83,36 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_T_ACTIVE, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), new GT_RenderedTexture(MufflerEM)}; + return new ITexture[] { + aBaseTexture, + new GT_RenderedTexture( + EM_T_ACTIVE, + Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), + new GT_RenderedTexture(MufflerEM) + }; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_T_SIDES, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), new GT_RenderedTexture(MufflerEMidle)}; + return new ITexture[] { + aBaseTexture, + new GT_RenderedTexture( + EM_T_SIDES, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), + new GT_RenderedTexture(MufflerEMidle) + }; } @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - mDescription, - translateToLocal("gt.blockmachines.hatch.emmuffler.desc.1") + ": " + EnumChatFormatting.AQUA + TT_Utility.formatNumberShortExp(overflowMax) + " "+translateToLocal("tt.keyword.unit.mass"), - translateToLocal("gt.blockmachines.hatch.emmuffler.desc.2") + ": " + EnumChatFormatting.AQUA + TT_Utility.formatNumberShortExp(overflowDisperse) + " "+translateToLocal("tt.keyword.unit.massFlux"), - translateToLocal("gt.blockmachines.hatch.emmuffler.desc.3") + return new String[] { + CommonValues.TEC_MARK_EM, + mDescription, + translateToLocal("gt.blockmachines.hatch.emmuffler.desc.1") + ": " + EnumChatFormatting.AQUA + + TT_Utility.formatNumberShortExp(overflowMax) + " " + translateToLocal("tt.keyword.unit.mass"), + translateToLocal("gt.blockmachines.hatch.emmuffler.desc.2") + ": " + EnumChatFormatting.AQUA + + TT_Utility.formatNumberShortExp(overflowDisperse) + " " + + translateToLocal("tt.keyword.unit.massFlux"), + translateToLocal("gt.blockmachines.hatch.emmuffler.desc.3") }; } @@ -128,7 +150,7 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity @Override public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); - overflowMatter = aNBT.getFloat("overflowMatter")+aNBT.getDouble("OverflowMatter"); + overflowMatter = aNBT.getFloat("overflowMatter") + aNBT.getDouble("OverflowMatter"); } @Override @@ -146,28 +168,40 @@ 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/(Math.pow(2,mTier))); + TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, overflowDisperse / (Math.pow(2, mTier))); overflowMatter -= overflowDisperse; } else { - TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, overflowMatter/(Math.pow(2,mTier))); + TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, overflowMatter / (Math.pow(2, mTier))); overflowMatter = 0; aBaseMetaTileEntity.setActive(false); aBaseMetaTileEntity.setLightValue((byte) 0); - aBaseMetaTileEntity.getWorld().updateLightByType(EnumSkyBlock.Block, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord()); + aBaseMetaTileEntity + .getWorld() + .updateLightByType( + EnumSkyBlock.Block, + aBaseMetaTileEntity.getXCoord(), + aBaseMetaTileEntity.getYCoord(), + aBaseMetaTileEntity.getZCoord()); } vapePollution(aBaseMetaTileEntity); } else { if (overflowMatter > 0) { aBaseMetaTileEntity.setActive(true); aBaseMetaTileEntity.setLightValue((byte) 15); - aBaseMetaTileEntity.getWorld().updateLightByType(EnumSkyBlock.Block, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord()); + aBaseMetaTileEntity + .getWorld() + .updateLightByType( + EnumSkyBlock.Block, + aBaseMetaTileEntity.getXCoord(), + aBaseMetaTileEntity.getYCoord(), + aBaseMetaTileEntity.getZCoord()); } } } else if (aBaseMetaTileEntity.isClientSide() && aBaseMetaTileEntity.isActive()) { TecTech.proxy.em_particle(aBaseMetaTileEntity, aBaseMetaTileEntity.getFrontFacing()); } super.onPostTick(aBaseMetaTileEntity, aTick); - //DOES NOT CHECK FOR TOO MUCH, it is done only while putting stuff in (OPTIMIZATION!!!) + // DOES NOT CHECK FOR TOO MUCH, it is done only while putting stuff in (OPTIMIZATION!!!) } private void vapePollution(IGregTechTileEntity mte) { @@ -179,14 +213,22 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity 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))); + ((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); - if(entity instanceof EntityPlayer) { - TecTech.anomalyHandler.addMass((EntityPlayer) entity,overflowDisperse); + if (entity instanceof EntityPlayer) { + TecTech.anomalyHandler.addMass((EntityPlayer) entity, overflowDisperse); } } } @@ -215,12 +257,15 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity @Override public String[] getInfoData() { - return new String[]{ - translateToLocalFormatted("tt.keyphrase.Contained_mass", clientLocale) + ":", - EnumChatFormatting.RED + TT_Utility.formatNumberExp(overflowMatter) + EnumChatFormatting.RESET + " "+translateToLocal("tt.keyword.unit.mass")+ " / ", - EnumChatFormatting.GREEN + TT_Utility.formatNumberShortExp(overflowMax) + EnumChatFormatting.RESET + " "+translateToLocal("tt.keyword.unit.mass"), - translateToLocalFormatted("tt.keyphrase.Mass_Disposal_speed", clientLocale) + ": " + - EnumChatFormatting.BLUE + TT_Utility.formatNumberShortExp(overflowDisperse) + EnumChatFormatting.RESET + " "+translateToLocal("tt.keyword.unit.massFlux") + return new String[] { + translateToLocalFormatted("tt.keyphrase.Contained_mass", clientLocale) + ":", + EnumChatFormatting.RED + TT_Utility.formatNumberExp(overflowMatter) + EnumChatFormatting.RESET + " " + + translateToLocal("tt.keyword.unit.mass") + " / ", + EnumChatFormatting.GREEN + TT_Utility.formatNumberShortExp(overflowMax) + EnumChatFormatting.RESET + " " + + translateToLocal("tt.keyword.unit.mass"), + translateToLocalFormatted("tt.keyphrase.Mass_Disposal_speed", clientLocale) + ": " + EnumChatFormatting.BLUE + + TT_Utility.formatNumberShortExp(overflowDisperse) + EnumChatFormatting.RESET + " " + + translateToLocal("tt.keyword.unit.massFlux") }; } @@ -231,12 +276,15 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity if (TecTech.configTecTech.BOOM_ENABLE) { getBaseMetaTileEntity().doExplosion(V[15]); } else { - TecTech.proxy.broadcast(translateToLocalFormatted("tt.keyphrase.Muffler_BOOM", clientLocale) + " " + getBaseMetaTileEntity().getXCoord() + ' ' + getBaseMetaTileEntity().getYCoord() + ' ' + getBaseMetaTileEntity().getZCoord()); + TecTech.proxy.broadcast(translateToLocalFormatted("tt.keyphrase.Muffler_BOOM", clientLocale) + " " + + getBaseMetaTileEntity().getXCoord() + ' ' + + getBaseMetaTileEntity().getYCoord() + ' ' + + getBaseMetaTileEntity().getZCoord()); } } } - //Return - Should Explode + // Return - Should Explode public boolean addOverflowMatter(double matter) { overflowMatter += matter; return overflowMatter > overflowMax; @@ -246,9 +294,9 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity return overflowMatter; } - //Return - Should Explode + // Return - Should Explode public boolean setOverflowMatter(double overflowMatter) { 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/GT_MetaTileEntity_Hatch_Param.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Param.java index 60d2d8738a..ed6e00dccf 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Param.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Param.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Param; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_ParamAdv; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_Param; @@ -24,9 +27,6 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.reflect.FieldUtils; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by danie_000 on 15.12.2016. */ @@ -44,7 +44,7 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { public GT_MetaTileEntity_Hatch_Param(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_Hatch_Param(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -61,7 +61,7 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { @Override public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - if (mTier > 5) {//TODO update mTier to 4 after recipe check + if (mTier > 5) { // TODO update mTier to 4 after recipe check return new GT_Container_ParamAdv(aPlayerInventory, aBaseMetaTileEntity); } return new GT_Container_Param(aPlayerInventory, aBaseMetaTileEntity); @@ -69,7 +69,7 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - if (mTier > 5) {//TODO update mTier to 4 after recipe check + if (mTier > 5) { // TODO update mTier to 4 after recipe check return new GT_GUIContainer_ParamAdv(aPlayerInventory, aBaseMetaTileEntity); } return new GT_GUIContainer_Param(aPlayerInventory, aBaseMetaTileEntity); @@ -77,16 +77,16 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(ScreenON)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(ScreenON)}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(ScreenOFF)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(ScreenOFF)}; } - //@Override - //public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { + // @Override + // public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { // if (aBaseMetaTileEntity.isClientSide() && (aTick % 20L == 0L)) { // //refresh casing on state change // int Xpos = aBaseMetaTileEntity.getXCoord(); @@ -97,7 +97,7 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { // } catch (Exception e) {} // } // super.onPostTick(aBaseMetaTileEntity, aTick); - //} + // } @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity iGregTechTileEntity) { @@ -111,12 +111,14 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { @Override public String[] getInfoData() { - return new String[]{ - translateToLocalFormatted("tt.keyword.Parametrizer", clientLocale)+ " " + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.GREEN + param, - translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 0D: " + EnumChatFormatting.AQUA + value0D, - translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 1D: " + EnumChatFormatting.BLUE + value1D, - translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 0D: " + EnumChatFormatting.GOLD + input0D, - translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 1D: " + EnumChatFormatting.YELLOW + input1D, + return new String[] { + translateToLocalFormatted("tt.keyword.Parametrizer", clientLocale) + " " + + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.GREEN + + param, + translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 0D: " + EnumChatFormatting.AQUA + value0D, + translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 1D: " + EnumChatFormatting.BLUE + value1D, + translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 0D: " + EnumChatFormatting.GOLD + input0D, + translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 1D: " + EnumChatFormatting.YELLOW + input1D, }; } @@ -150,28 +152,28 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); pointer = aNBT.getInteger("ePointer"); - if(aNBT.hasKey("eFloats") || - aNBT.hasKey("eValue0i") || - aNBT.hasKey("eValue1i") || - aNBT.hasKey("eInput0i") || - aNBT.hasKey("eInput1i")){ + if (aNBT.hasKey("eFloats") + || aNBT.hasKey("eValue0i") + || aNBT.hasKey("eValue1i") + || aNBT.hasKey("eInput0i") + || aNBT.hasKey("eInput1i")) { boolean usesFloat = aNBT.getBoolean("eFloats"); - if(usesFloat){ - value0D=Double.longBitsToDouble(aNBT.getLong("eValue0i")); - value1D=Double.longBitsToDouble(aNBT.getLong("eValue1i")); - input0D=Double.longBitsToDouble(aNBT.getLong("eInput0i")); - input1D=Double.longBitsToDouble(aNBT.getLong("eInput1i")); - }else { - value0D=aNBT.getLong("eValue0i"); - value1D=aNBT.getLong("eValue1i"); - input0D=aNBT.getLong("eInput0i"); - input1D=aNBT.getLong("eInput1i"); + if (usesFloat) { + value0D = Double.longBitsToDouble(aNBT.getLong("eValue0i")); + value1D = Double.longBitsToDouble(aNBT.getLong("eValue1i")); + input0D = Double.longBitsToDouble(aNBT.getLong("eInput0i")); + input1D = Double.longBitsToDouble(aNBT.getLong("eInput1i")); + } else { + value0D = aNBT.getLong("eValue0i"); + value1D = aNBT.getLong("eValue1i"); + input0D = aNBT.getLong("eInput0i"); + input1D = aNBT.getLong("eInput1i"); } - }else{ - value0D=aNBT.getDouble("eValue0D"); - value1D=aNBT.getDouble("eValue1D"); - input0D=aNBT.getDouble("eInput0D"); - input1D=aNBT.getDouble("eInput1D"); + } else { + value0D = aNBT.getDouble("eValue0D"); + value1D = aNBT.getDouble("eValue1D"); + input0D = aNBT.getDouble("eInput0D"); + input1D = aNBT.getDouble("eInput1D"); } param = aNBT.getInteger("eParam"); } @@ -218,10 +220,11 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.hatch.param.desc.0"),//For parametrization of Multiblocks - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.hatch.param.desc.1") +"\u00b2"//E=mine*craft + return new String[] { + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.hatch.param.desc.0"), // For parametrization of Multiblocks + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + + translateToLocal("gt.blockmachines.hatch.param.desc.1") + "\u00b2" // E=mine*craft }; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java index b50475ae59..e241793e0e 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_ParamText; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_ParamText; @@ -16,20 +19,17 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.reflect.FieldUtils; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by danie_000 on 15.12.2016. */ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_Param { - public String value0s=""; - public String value1s=""; + public String value0s = ""; + public String value1s = ""; private String clientLocale = "en_US"; public GT_MetaTileEntity_Hatch_ParamText(int aID, String aName, String aNameRegional, int aTier) { - super(aID,aName,aNameRegional,aTier); + super(aID, aName, aNameRegional, aTier); } public GT_MetaTileEntity_Hatch_ParamText(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -38,8 +38,9 @@ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_P @Override public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - if(aPlayerInventory.player instanceof EntityPlayerMP) { - NetworkDispatcher.INSTANCE.sendTo(new TextParametersMessage.ParametersTextData(this), (EntityPlayerMP) aPlayerInventory.player); + if (aPlayerInventory.player instanceof EntityPlayerMP) { + NetworkDispatcher.INSTANCE.sendTo( + new TextParametersMessage.ParametersTextData(this), (EntityPlayerMP) aPlayerInventory.player); } return new GT_Container_ParamText(aPlayerInventory, aBaseMetaTileEntity); } @@ -49,8 +50,8 @@ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_P return new GT_GUIContainer_ParamText(aPlayerInventory, aBaseMetaTileEntity); } - //@Override - //public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { + // @Override + // public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { // if (aBaseMetaTileEntity.isClientSide() && (aTick % 20L == 0L)) { // //refresh casing on state change // int Xpos = aBaseMetaTileEntity.getXCoord(); @@ -61,7 +62,7 @@ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_P // } catch (Exception e) {} // } // super.onPostTick(aBaseMetaTileEntity, aTick); - //} + // } @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity iGregTechTileEntity) { @@ -75,14 +76,18 @@ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_P @Override public String[] getInfoData() { - return new String[]{ - translateToLocalFormatted("tt.keyword.Parametrizer", clientLocale)+ " " + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.GREEN + param, - translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 0S: " + EnumChatFormatting.DARK_AQUA + value0s, - translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 1S: " + EnumChatFormatting.DARK_BLUE + value1s, - translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 0D: " + EnumChatFormatting.AQUA + value0D, - translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 1D: " + EnumChatFormatting.BLUE + value1D, - translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 0D: " + EnumChatFormatting.GOLD + input0D, - translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 1D: " + EnumChatFormatting.YELLOW + input1D, + return new String[] { + translateToLocalFormatted("tt.keyword.Parametrizer", clientLocale) + " " + + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.GREEN + + param, + translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 0S: " + EnumChatFormatting.DARK_AQUA + + value0s, + translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 1S: " + EnumChatFormatting.DARK_BLUE + + value1s, + translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 0D: " + EnumChatFormatting.AQUA + value0D, + translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 1D: " + EnumChatFormatting.BLUE + value1D, + translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 0D: " + EnumChatFormatting.GOLD + input0D, + translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 1D: " + EnumChatFormatting.YELLOW + input1D, }; } @@ -158,10 +163,11 @@ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_P @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.hatch.param.desc.0"),//For parametrization of Multiblocks - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.hatch.param.desc.1") +"\u00b2"//E=mine*craft + return new String[] { + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.hatch.param.desc.0"), // For parametrization of Multiblocks + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + + translateToLocal("gt.blockmachines.hatch.param.desc.1") + "\u00b2" // E=mine*craft }; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java index e890a5e60b..5e3986ec41 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java @@ -1,5 +1,11 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.util.CommonValues.MULTI_CHECK_AT; +import static com.github.technus.tectech.util.TT_Utility.getUniqueIdentifier; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Rack; @@ -16,6 +22,8 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.objects.GT_RenderedTexture; +import java.util.HashMap; +import java.util.Map; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; @@ -25,15 +33,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import org.apache.commons.lang3.reflect.FieldUtils; -import java.util.HashMap; -import java.util.Map; - -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.util.CommonValues.MULTI_CHECK_AT; -import static com.github.technus.tectech.util.TT_Utility.getUniqueIdentifier; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by Tec on 03.04.2017. */ @@ -48,7 +47,7 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { public GT_MetaTileEntity_Hatch_Rack(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 4, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_Hatch_Rack(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -81,12 +80,12 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_R_ACTIVE)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(EM_R_ACTIVE)}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_R)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(EM_R)}; } @Override @@ -137,7 +136,10 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_Rack(aPlayerInventory, aBaseMetaTileEntity, translateToLocal("gt.blockmachines.hatch.rack.tier.08.name"));//Computer Rack + return new GT_GUIContainer_Rack( + aPlayerInventory, + aBaseMetaTileEntity, + translateToLocal("gt.blockmachines.hatch.rack.tier.08.name")); // Computer Rack } @Override @@ -151,11 +153,11 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { } catch (Exception e) { clientLocale = "en_US"; } - //if(aBaseMetaTileEntity.isActive()) + // if(aBaseMetaTileEntity.isActive()) // aPlayer.addChatComponentMessage(new ChatComponentText("It is still active...")); - //else if(heat>0) + // else if(heat>0) // aPlayer.addChatComponentMessage(new ChatComponentText("It is still warm...")); - //else + // else aBaseMetaTileEntity.openGUI(aPlayer); return true; } @@ -175,10 +177,16 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { mInventory[i] = null; continue; } else if (comp.subZero || this.heat >= 0) { - heat += (1f + comp.coEff * this.heat / 10000f) * (comp.heat > 0 ? comp.heat * overclock * overclock * overvolt : comp.heat); - //=MAX(0;MIN(MIN($B4;1*C$3+C$3-0,25);1+RAND()+(C$3-1)-($B4-1)/2)) + heat += (1f + comp.coEff * this.heat / 10000f) + * (comp.heat > 0 ? comp.heat * overclock * overclock * overvolt : comp.heat); + // =MAX(0;MIN(MIN($B4;1*C$3+C$3-0,25);1+RAND()+(C$3-1)-($B4-1)/2)) if (overvolt * 10f > 7f + TecTech.RANDOM.nextFloat()) { - computation += comp.computation * Math.max(0, Math.min(Math.min(overclock, overvolt + overvolt - 0.25), 1 + TecTech.RANDOM.nextFloat() + (overvolt - 1) - (overclock - 1) / 2)); + computation += comp.computation + * Math.max( + 0, + Math.min( + Math.min(overclock, overvolt + overvolt - 0.25), + 1 + TecTech.RANDOM.nextFloat() + (overvolt - 1) - (overclock - 1) / 2)); } } } else { @@ -245,24 +253,25 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { } } - //@Override - //public void onRemoval() { + // @Override + // public void onRemoval() { // if(mInventory!=null && (heat>0 || (getBaseMetaTileEntity()!=null && getBaseMetaTileEntity().isActive()))) // for(int i=0;i 500 || getBaseMetaTileEntity().isActive() ? 0 : mInventory.length; } @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.hatch.rack.desc.0"),//4 Slot Rack - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.hatch.rack.desc.1")//Holds Computer Components + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.hatch.rack.desc.0"), // 4 Slot Rack + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.hatch.rack.desc.1") // Holds Computer Components }; } @@ -273,97 +282,100 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { @Override public String[] getInfoData() { - return new String[]{ - translateToLocalFormatted("tt.keyphrase.Base_computation", clientLocale) + ": " + EnumChatFormatting.AQUA + getComputationPower(1, 0, false), - translateToLocalFormatted("tt.keyphrase.After_overclocking", clientLocale) + ": " + EnumChatFormatting.AQUA + getComputationPower(overClock, 0, false), - translateToLocalFormatted("tt.keyphrase.Heat_Accumulated", clientLocale) + ": " + EnumChatFormatting.RED + (heat + 99) / 100 + EnumChatFormatting.RESET + " %" + return new String[] { + translateToLocalFormatted("tt.keyphrase.Base_computation", clientLocale) + ": " + EnumChatFormatting.AQUA + + getComputationPower(1, 0, false), + translateToLocalFormatted("tt.keyphrase.After_overclocking", clientLocale) + ": " + EnumChatFormatting.AQUA + + getComputationPower(overClock, 0, false), + translateToLocalFormatted("tt.keyphrase.Heat_Accumulated", clientLocale) + ": " + EnumChatFormatting.RED + + (heat + 99) / 100 + EnumChatFormatting.RESET + " %" }; - //heat==0? --> ((heat+9)/10) = 0 - //Heat==1-10? --> 1 + // heat==0? --> ((heat+9)/10) = 0 + // Heat==1-10? --> 1 } - public static void run() {//20k heat cap max! - new RackComponent(ItemList.Circuit_Primitive.get(1), 1, 4, 0, 500, true);//Primitive Circuit - new RackComponent(ItemList.Circuit_Basic.get(1), 4, 8, 0, 1000, true);//Basic Circuit + public static void run() { // 20k heat cap max! + new RackComponent(ItemList.Circuit_Primitive.get(1), 1, 4, 0, 500, true); // Primitive Circuit + new RackComponent(ItemList.Circuit_Basic.get(1), 4, 8, 0, 1000, true); // Basic Circuit new RackComponent(ItemList.Circuit_Microprocessor.get(1), 6, 8, 0, 1250, true); - new RackComponent(ItemList.Circuit_Good.get(1), 6, 9, -.05f, 1500, true);//Good Circuit + new RackComponent(ItemList.Circuit_Good.get(1), 6, 9, -.05f, 1500, true); // Good Circuit new RackComponent(ItemList.Circuit_Integrated_Good.get(1), 7, 9, -.075f, 1750, true); new RackComponent(ItemList.Circuit_Processor.get(1), 8, 9, -.07f, 1800, true); new RackComponent(ItemList.Circuit_Parts_Advanced.get(1), 1, 2, -.05f, 2000, true); - new RackComponent(ItemList.Circuit_Nanoprocessor.get(1), 8, 10, -.09f, 2250, true);//Advanced Circuit + new RackComponent(ItemList.Circuit_Nanoprocessor.get(1), 8, 10, -.09f, 2250, true); // Advanced Circuit new RackComponent(ItemList.Circuit_Advanced.get(1), 8, 10, -.1f, 2500, true); - new RackComponent(ItemList.Circuit_Data.get(1), 9, 1, -.1f, 3000, true);//EV Circuit + new RackComponent(ItemList.Circuit_Data.get(1), 9, 1, -.1f, 3000, true); // EV Circuit new RackComponent(ItemList.Circuit_Nanocomputer.get(1), 11, 10, -.125f, 3300, true); new RackComponent(ItemList.Circuit_Quantumprocessor.get(1), 13, 10, -.15f, 3600, true); - new RackComponent(ItemList.Circuit_Elite.get(1), 12, 10, -.15F, 3500, true);//IV Circuit + new RackComponent(ItemList.Circuit_Elite.get(1), 12, 10, -.15F, 3500, true); // IV Circuit new RackComponent(ItemList.Circuit_Elitenanocomputer.get(1), 14, 10, -.15F, 4000, true); new RackComponent(ItemList.Circuit_Quantumcomputer.get(1), 16, 10, -.15F, 4500, true); new RackComponent(ItemList.Circuit_Crystalprocessor.get(1), 18, 10, -.15F, 5000, true); - new RackComponent(ItemList.Circuit_Master.get(1), 16, 12, -.2F, 5000, true);//LuV Circuit + new RackComponent(ItemList.Circuit_Master.get(1), 16, 12, -.2F, 5000, true); // LuV Circuit new RackComponent(ItemList.Circuit_Masterquantumcomputer.get(1), 16, 13, -.2F, 5100, true); new RackComponent(ItemList.Circuit_Crystalcomputer.get(1), 20, 14, -.25F, 5200, true); new RackComponent(ItemList.Circuit_Neuroprocessor.get(1), 24, 15, -.3F, 5300, true); - new RackComponent(ItemList.Circuit_Quantummainframe.get(1), 22, 14, -.3F, 5200, true);//ZPM Circuit + new RackComponent(ItemList.Circuit_Quantummainframe.get(1), 22, 14, -.3F, 5200, true); // ZPM Circuit new RackComponent(ItemList.Circuit_Ultimatecrystalcomputer.get(1), 26, 16, -.3F, 5400, true); new RackComponent(ItemList.Circuit_Wetwarecomputer.get(1), 30, 18, -.3F, 5600, true); - new RackComponent(ItemList.Circuit_Crystalmainframe.get(1), 30, 18, -.35F, 5500, true);//UV Circuit + new RackComponent(ItemList.Circuit_Crystalmainframe.get(1), 30, 18, -.35F, 5500, true); // UV Circuit new RackComponent(ItemList.Circuit_Wetwaresupercomputer.get(1), 35, 22, -.3F, 5700, true); - new RackComponent(ItemList.Circuit_Wetwaremainframe.get(1), 38, 25, -.4F, 6000, true);//UHV Circuit - + new RackComponent(ItemList.Circuit_Wetwaremainframe.get(1), 38, 25, -.4F, 6000, true); // UHV Circuit + new RackComponent("IC2:ic2.reactorVent", 0, -1, 10f, 1000, false); new RackComponent("IC2:ic2.reactorVentCore", 0, -1, 20f, 2500, false); new RackComponent("IC2:ic2.reactorVentGold", 0, -1, 40f, 5000, false); - new RackComponent("IC2:ic2.reactorVentDiamond", 0, -1, 80f, 10000, false);//2x oc - + new RackComponent("IC2:ic2.reactorVentDiamond", 0, -1, 80f, 10000, false); // 2x oc + if (Loader.isModLoaded(Reference.DREAMCRAFT)) { - //GTNH-GT5u circuits - //these components causes crashes when used with the original GT5u - new RackComponent(ItemList.NandChip.get(1), 2, 6, 0, 750, true);//Primitive Circuit + // GTNH-GT5u circuits + // these components causes crashes when used with the original GT5u + new RackComponent(ItemList.NandChip.get(1), 2, 6, 0, 750, true); // Primitive Circuit new RackComponent(ItemList.Circuit_Biowarecomputer.get(1), 40, 26, -.35F, 5900, true); new RackComponent(ItemList.Circuit_Biowaresupercomputer.get(1), 42, 30, -.4F, 6200, true); - new RackComponent(ItemList.Circuit_Biomainframe.get(1), 44, 28, -.4F, 6000, true);//UEV Circuit - new RackComponent(ItemList.Circuit_Bioprocessor.get(1), 34, 20, -.35F, 5800, true); - + new RackComponent(ItemList.Circuit_Biomainframe.get(1), 44, 28, -.4F, 6000, true); // UEV Circuit + new RackComponent(ItemList.Circuit_Bioprocessor.get(1), 34, 20, -.35F, 5800, true); + new RackComponent("dreamcraft:item.HighEnergyCircuitParts", 3, 2, -.1f, 9001, true); new RackComponent("dreamcraft:item.HighEnergyFlowCircuit", 24, 16, -.25f, 10000, true); new RackComponent("dreamcraft:item.NanoCircuit", 50, 35, -.45f, 8000, true); new RackComponent("dreamcraft:item.PikoCircuit", 64, 40, -.5f, 8500, true); new RackComponent("dreamcraft:item.QuantumCircuit", 128, 48, -.6f, 9000, true); } - + if (Loader.isModLoaded(Reference.SPARTAKCORE)) { - //CustomGT5u circuits - //these components causes crashes when used with the original GT5u - new RackComponent(ItemList.NandChip.get(1), 2, 6, 0, 750, true);//Primitive Circuit + // CustomGT5u circuits + // these components causes crashes when used with the original GT5u + new RackComponent(ItemList.NandChip.get(1), 2, 6, 0, 750, true); // Primitive Circuit new RackComponent(ItemList.Circuit_Biowarecomputer.get(1), 40, 26, -.35F, 5900, true); new RackComponent(ItemList.Circuit_Biowaresupercomputer.get(1), 42, 30, -.4F, 6200, true); - new RackComponent(ItemList.Circuit_Biomainframe.get(1), 40, 28, -.4F, 6000, true);//UHV Circuit - new RackComponent(ItemList.Circuit_Bioprocessor.get(1), 34, 20, -.35F, 5800, true); + new RackComponent(ItemList.Circuit_Biomainframe.get(1), 40, 28, -.4F, 6000, true); // UHV Circuit + new RackComponent(ItemList.Circuit_Bioprocessor.get(1), 34, 20, -.35F, 5800, true); } - + if (Loader.isModLoaded("OpenComputers")) { - new RackComponent("OpenComputers:item.oc.Transistor", 0, 1, 0f, 100, true);//Transistor - new RackComponent("OpenComputers:item.oc.Microchip0", 7, 12, -.05f, 1500, true);//chip t1 - new RackComponent("OpenComputers:item.oc.Microchip1", 18, 20, -.1f, 3000, true);//chip t2 - new RackComponent("OpenComputers:item.oc.Microchip2", 25, 22, -.15f, 4500, true);//chip t3 - new RackComponent("OpenComputers:item.oc.ALU", 10, 15, -.05f, 3000, true);//alu - new RackComponent("OpenComputers:item.oc.ControlUnit", 25, 18, -.05f, 1500, true);//cu - - new RackComponent("OpenComputers:item.oc.ComponentBus0", 42, 30, -.05f, 1500, true);//bus t1 - new RackComponent("OpenComputers:item.oc.ComponentBus1", 70, 50, -.1f, 3000, true);//bus t2 - new RackComponent("OpenComputers:item.oc.ComponentBus2", 105, 72, -.15f, 4500, true);//bus t3 - - new RackComponent("OpenComputers:item.oc.CPU0", 106, 73, -.1f, 1500, true);//cpu t1 - new RackComponent("OpenComputers:item.oc.CPU1", 226, 153, -.15f, 3000, true);//cpu t2 - new RackComponent("OpenComputers:item.oc.CPU2", 374, 241, -.2f, 4500, true);//cpu t3 - - new RackComponent("OpenComputers:item.oc.GraphicsCard0", 20, 27, -.1f, 1500, true);//gpu t1 - new RackComponent("OpenComputers:item.oc.GraphicsCard1", 62, 67, -.2f, 3000, true);//gpu t2 - new RackComponent("OpenComputers:item.oc.GraphicsCard2", 130, 111, -.3f, 4500, true);//gpu t3 - - new RackComponent("OpenComputers:item.oc.APU0", 350, 234, -.1f, 1500, true);//apu t2 - new RackComponent("OpenComputers:item.oc.APU1", 606, 398, -.2f, 4500, true);//apu t3 - new RackComponent("OpenComputers:item.oc.APU2", 1590, 1006, -.3f, 9000, true);//apu tC + new RackComponent("OpenComputers:item.oc.Transistor", 0, 1, 0f, 100, true); // Transistor + new RackComponent("OpenComputers:item.oc.Microchip0", 7, 12, -.05f, 1500, true); // chip t1 + new RackComponent("OpenComputers:item.oc.Microchip1", 18, 20, -.1f, 3000, true); // chip t2 + new RackComponent("OpenComputers:item.oc.Microchip2", 25, 22, -.15f, 4500, true); // chip t3 + new RackComponent("OpenComputers:item.oc.ALU", 10, 15, -.05f, 3000, true); // alu + new RackComponent("OpenComputers:item.oc.ControlUnit", 25, 18, -.05f, 1500, true); // cu + + new RackComponent("OpenComputers:item.oc.ComponentBus0", 42, 30, -.05f, 1500, true); // bus t1 + new RackComponent("OpenComputers:item.oc.ComponentBus1", 70, 50, -.1f, 3000, true); // bus t2 + new RackComponent("OpenComputers:item.oc.ComponentBus2", 105, 72, -.15f, 4500, true); // bus t3 + + new RackComponent("OpenComputers:item.oc.CPU0", 106, 73, -.1f, 1500, true); // cpu t1 + new RackComponent("OpenComputers:item.oc.CPU1", 226, 153, -.15f, 3000, true); // cpu t2 + new RackComponent("OpenComputers:item.oc.CPU2", 374, 241, -.2f, 4500, true); // cpu t3 + + new RackComponent("OpenComputers:item.oc.GraphicsCard0", 20, 27, -.1f, 1500, true); // gpu t1 + new RackComponent("OpenComputers:item.oc.GraphicsCard1", 62, 67, -.2f, 3000, true); // gpu t2 + new RackComponent("OpenComputers:item.oc.GraphicsCard2", 130, 111, -.3f, 4500, true); // gpu t3 + + new RackComponent("OpenComputers:item.oc.APU0", 350, 234, -.1f, 1500, true); // apu t2 + new RackComponent("OpenComputers:item.oc.APU1", 606, 398, -.2f, 4500, true); // apu t3 + new RackComponent("OpenComputers:item.oc.APU2", 1590, 1006, -.3f, 9000, true); // apu tC } } @@ -396,12 +408,10 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { @Override public boolean equals(Object obj) { - if(obj instanceof RackComponent) { + if (obj instanceof RackComponent) { return compareTo((RackComponent) obj) == 0; } return false; } } } - - diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java index 9ce5a1c446..5c34243742 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Uncertainty; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_Uncertainty; @@ -24,23 +27,21 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.reflect.FieldUtils; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by danie_000 on 15.12.2016. */ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch { private static Textures.BlockIcons.CustomIcon ScreenON; private static Textures.BlockIcons.CustomIcon ScreenOFF; - public short[] matrix = new short[]{500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500}; - public byte selection = -1, mode = 0, status = -128;//all 8 bits set + public short[] matrix = + new short[] {500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500}; + public byte selection = -1, mode = 0, status = -128; // all 8 bits set private String clientLocale = "en_US"; public GT_MetaTileEntity_Hatch_Uncertainty(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); regenerate(); } @@ -72,12 +73,12 @@ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(ScreenON)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(ScreenON)}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(ScreenOFF)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(ScreenOFF)}; } @Override @@ -106,8 +107,8 @@ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch @Override public String[] getInfoData() { - return new String[]{ - translateToLocalFormatted("tt.keyword.Status", clientLocale) + ": " + EnumChatFormatting.GOLD + status + return new String[] { + translateToLocalFormatted("tt.keyword.Status", clientLocale) + ": " + EnumChatFormatting.GOLD + status }; } @@ -193,10 +194,12 @@ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.hatch.certain.desc.0"),//Feeling certain, or not? - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.hatch.certain.desc.1")//Schrödinger equation in a box + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.hatch.certain.desc.0"), // Feeling certain, or not? + EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockmachines.hatch.certain.desc.1") // Schrödinger equation in a box }; } @@ -217,67 +220,83 @@ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch public byte compute() { int result = 0; switch (mode) { - case 1://ooo oxo ooo + case 1: // ooo oxo ooo result = balanceCheck(4, matrix) ? 0 : 1; break; - case 2://ooo xox ooo - result += balanceCheck(4, - matrix[0], matrix[4], - matrix[1], matrix[5], - matrix[2], matrix[6], - matrix[3], matrix[7]) ? 0 : 1; - result += balanceCheck(4, - matrix[8], matrix[12], - matrix[9], matrix[13], - matrix[10], matrix[14], - matrix[11], matrix[15]) ? 0 : 2; + case 2: // ooo xox ooo + result += balanceCheck( + 4, matrix[0], matrix[4], matrix[1], matrix[5], matrix[2], matrix[6], matrix[3], + matrix[7]) + ? 0 + : 1; + result += balanceCheck( + 4, + matrix[8], + matrix[12], + matrix[9], + matrix[13], + matrix[10], + matrix[14], + matrix[11], + matrix[15]) + ? 0 + : 2; break; - case 3://oxo xox oxo - result += balanceCheck(2, - matrix[0], matrix[4], matrix[8], matrix[12], - matrix[1], matrix[5], matrix[9], matrix[13]) ? 0 : 1; - result += balanceCheck(4, - matrix[0], matrix[4], - matrix[1], matrix[5], - matrix[2], matrix[6], - matrix[3], matrix[7]) ? 0 : 2; - result += balanceCheck(4, - matrix[8], matrix[12], - matrix[9], matrix[13], - matrix[10], matrix[14], - matrix[11], matrix[15]) ? 0 : 4; - result += balanceCheck(2, - matrix[2], matrix[6], matrix[10], matrix[14], - matrix[3], matrix[7], matrix[11], matrix[15]) ? 0 : 8; + case 3: // oxo xox oxo + result += balanceCheck( + 2, + matrix[0], + matrix[4], + matrix[8], + matrix[12], + matrix[1], + matrix[5], + matrix[9], + matrix[13]) + ? 0 + : 1; + result += balanceCheck( + 4, matrix[0], matrix[4], matrix[1], matrix[5], matrix[2], matrix[6], matrix[3], + matrix[7]) + ? 0 + : 2; + result += balanceCheck( + 4, + matrix[8], + matrix[12], + matrix[9], + matrix[13], + matrix[10], + matrix[14], + matrix[11], + matrix[15]) + ? 0 + : 4; + result += balanceCheck( + 2, + matrix[2], + matrix[6], + matrix[10], + matrix[14], + matrix[3], + matrix[7], + matrix[11], + matrix[15]) + ? 0 + : 8; break; - case 4://xox ooo xox - result += balanceCheck(2, - matrix[0], matrix[4], - matrix[1], matrix[5]) ? 0 : 1; - result += balanceCheck(2, - matrix[8], matrix[12], - matrix[9], matrix[13]) ? 0 : 2; - result += balanceCheck(2, - matrix[2], matrix[6], - matrix[3], matrix[7]) ? 0 : 4; - result += balanceCheck(2, - matrix[10], matrix[14], - matrix[11], matrix[15]) ? 0 : 8; + case 4: // xox ooo xox + result += balanceCheck(2, matrix[0], matrix[4], matrix[1], matrix[5]) ? 0 : 1; + result += balanceCheck(2, matrix[8], matrix[12], matrix[9], matrix[13]) ? 0 : 2; + result += balanceCheck(2, matrix[2], matrix[6], matrix[3], matrix[7]) ? 0 : 4; + result += balanceCheck(2, matrix[10], matrix[14], matrix[11], matrix[15]) ? 0 : 8; break; - case 5://xox oxo xox - result += balanceCheck(2, - matrix[0], matrix[4], - matrix[1], matrix[5]) ? 0 : 1; - result += balanceCheck(2, - matrix[8], matrix[12], - matrix[9], matrix[13]) ? 0 : 2; + case 5: // xox oxo xox + result += balanceCheck(2, matrix[0], matrix[4], matrix[1], matrix[5]) ? 0 : 1; + result += balanceCheck(2, matrix[8], matrix[12], matrix[9], matrix[13]) ? 0 : 2; result += balanceCheck(4, matrix) ? 0 : 4; - result += balanceCheck(2, - matrix[2], matrix[6], - matrix[3], matrix[7]) ? 0 : 8; - result += balanceCheck(2, - matrix[10], matrix[14], - matrix[11], matrix[15]) ? 0 : 16; + result += balanceCheck(2, matrix[2], matrix[6], matrix[3], matrix[7]) ? 0 : 8; + result += balanceCheck(2, matrix[10], matrix[14], matrix[11], matrix[15]) ? 0 : 16; break; } return status = (byte) result; @@ -307,11 +326,11 @@ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch return status; } - //@Override - //public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + // @Override + // public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { // if(aSide == this.getBaseMetaTileEntity().getFrontFacing()) { // changeMode(++mode); // GT_Utility.sendChatToPlayer(aPlayer, "Equation mode: "+mode); // } - //} + // } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java index 9e4b81cd5b..8058c14cf4 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java @@ -1,6 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; - import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_ParamText; import com.github.technus.tectech.util.TT_Utility; import cpw.mods.fml.common.network.ByteBufUtils; @@ -23,8 +22,8 @@ public class TextParametersMessage implements IMessage { int mPosY; int mPosZ; int mPosD; - String mVal0=""; - String mVal1=""; + String mVal0 = ""; + String mVal1 = ""; public TextParametersMessage() {} @@ -55,55 +54,56 @@ public class TextParametersMessage implements IMessage { public ParametersTextQuery() {} public ParametersTextQuery(GT_MetaTileEntity_Hatch_ParamText metaTile) { - IGregTechTileEntity base=metaTile.getBaseMetaTileEntity(); - mPosX=base.getXCoord(); - mPosY=base.getYCoord(); - mPosZ=base.getZCoord(); - mPosD=base.getWorld().provider.dimensionId; + IGregTechTileEntity base = metaTile.getBaseMetaTileEntity(); + mPosX = base.getXCoord(); + mPosY = base.getYCoord(); + mPosZ = base.getZCoord(); + mPosD = base.getWorld().provider.dimensionId; } } - public static class ParametersTextData extends TextParametersMessage{ + public static class ParametersTextData extends TextParametersMessage { public ParametersTextData() {} public ParametersTextData(GT_MetaTileEntity_Hatch_ParamText metaTile) { - IGregTechTileEntity base=metaTile.getBaseMetaTileEntity(); - mPosX=base.getXCoord(); - mPosY=base.getYCoord(); - mPosZ=base.getZCoord(); - mPosD=base.getWorld().provider.dimensionId; - mVal0 =metaTile.value0s; - mVal1 =metaTile.value1s; + IGregTechTileEntity base = metaTile.getBaseMetaTileEntity(); + mPosX = base.getXCoord(); + mPosY = base.getYCoord(); + mPosZ = base.getZCoord(); + mPosD = base.getWorld().provider.dimensionId; + mVal0 = metaTile.value0s; + mVal1 = metaTile.value1s; } } - public static class ParametersTextUpdate extends TextParametersMessage{ + public static class ParametersTextUpdate extends TextParametersMessage { public ParametersTextUpdate() {} public ParametersTextUpdate(GT_MetaTileEntity_Hatch_ParamText metaTile) { - IGregTechTileEntity base=metaTile.getBaseMetaTileEntity(); - mPosX=base.getXCoord(); - mPosY=base.getYCoord(); - mPosZ=base.getZCoord(); - mPosD=base.getWorld().provider.dimensionId; - mVal0 =metaTile.value0s; - mVal1 =metaTile.value1s; + IGregTechTileEntity base = metaTile.getBaseMetaTileEntity(); + mPosX = base.getXCoord(); + mPosY = base.getYCoord(); + mPosZ = base.getZCoord(); + mPosD = base.getWorld().provider.dimensionId; + mVal0 = metaTile.value0s; + mVal1 = metaTile.value1s; } } public static class ClientHandler extends AbstractClientMessageHandler { @Override public IMessage handleClientMessage(EntityPlayer pPlayer, ParametersTextData pMessage, MessageContext pCtx) { - if(pPlayer.worldObj.provider.dimensionId==pMessage.mPosD){ - TileEntity te=pPlayer.worldObj.getTileEntity(pMessage.mPosX,pMessage.mPosY,pMessage.mPosZ); - if(te instanceof IGregTechTileEntity){ + if (pPlayer.worldObj.provider.dimensionId == pMessage.mPosD) { + TileEntity te = pPlayer.worldObj.getTileEntity(pMessage.mPosX, pMessage.mPosY, pMessage.mPosZ); + if (te instanceof IGregTechTileEntity) { IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); - if(meta instanceof GT_MetaTileEntity_Hatch_ParamText){ - ((GT_MetaTileEntity_Hatch_ParamText) meta).value0s =pMessage.mVal0; - ((GT_MetaTileEntity_Hatch_ParamText) meta).value1s =pMessage.mVal1; - if(Minecraft.getMinecraft().currentScreen instanceof GT_GUIContainer_ParamText){ - GT_GUIContainer_ParamText gui=((GT_GUIContainer_ParamText) Minecraft.getMinecraft().currentScreen); - if(gui.mContainer==meta){ + if (meta instanceof GT_MetaTileEntity_Hatch_ParamText) { + ((GT_MetaTileEntity_Hatch_ParamText) meta).value0s = pMessage.mVal0; + ((GT_MetaTileEntity_Hatch_ParamText) meta).value1s = pMessage.mVal1; + if (Minecraft.getMinecraft().currentScreen instanceof GT_GUIContainer_ParamText) { + GT_GUIContainer_ParamText gui = + ((GT_GUIContainer_ParamText) Minecraft.getMinecraft().currentScreen); + if (gui.mContainer == meta) { gui.setTextIn0(pMessage.mVal0); gui.setTextIn1(pMessage.mVal1); } @@ -136,15 +136,15 @@ public class TextParametersMessage implements IMessage { @Override public IMessage handleServerMessage(EntityPlayer pPlayer, ParametersTextUpdate pMessage, MessageContext pCtx) { World world = DimensionManager.getWorld(pMessage.mPosD); - if(world!=null){ - TileEntity te=world.getTileEntity(pMessage.mPosX,pMessage.mPosY,pMessage.mPosZ); - if(te instanceof IGregTechTileEntity){ + if (world != null) { + TileEntity te = world.getTileEntity(pMessage.mPosX, pMessage.mPosY, pMessage.mPosZ); + if (te instanceof IGregTechTileEntity) { IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); - if(meta instanceof GT_MetaTileEntity_Hatch_ParamText){ - ((GT_MetaTileEntity_Hatch_ParamText) meta).value0s =pMessage.mVal0; - ((GT_MetaTileEntity_Hatch_ParamText) meta).value1s =pMessage.mVal1; - ((GT_MetaTileEntity_Hatch_ParamText) meta).value0D= TT_Utility.getValue(pMessage.mVal0); - ((GT_MetaTileEntity_Hatch_ParamText) meta).value1D= TT_Utility.getValue(pMessage.mVal1); + if (meta instanceof GT_MetaTileEntity_Hatch_ParamText) { + ((GT_MetaTileEntity_Hatch_ParamText) meta).value0s = pMessage.mVal0; + ((GT_MetaTileEntity_Hatch_ParamText) meta).value1s = pMessage.mVal1; + ((GT_MetaTileEntity_Hatch_ParamText) meta).value0D = TT_Utility.getValue(pMessage.mVal0); + ((GT_MetaTileEntity_Hatch_ParamText) meta).value1D = TT_Utility.getValue(pMessage.mVal1); } } } 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 cd29379afc..378736d334 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 @@ -33,10 +33,14 @@ public class GT_Container_Capacitor extends GT_ContainerMetaTile_Machine { } @Override - public int getSlotCount() { return 16; } + public int getSlotCount() { + return 16; + } @Override - public int getShiftClickSlotCount() { return getSlotCount(); } + public int getShiftClickSlotCount() { + return getSlotCount(); + } @Override public void detectAndSendChanges() { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java index f87e44aefb..f5e0ffd45d 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java @@ -118,8 +118,8 @@ public class GT_Container_Param extends GT_ContainerMetaTile_Machine { doStuff = false; } if (doStuff) { - IGregTechTileEntity base=paramH.getBaseMetaTileEntity(); - TecTech.proxy.playSound(base,"fx_click"); + IGregTechTileEntity base = paramH.getBaseMetaTileEntity(); + TecTech.proxy.playSound(base, "fx_click"); if (paramH.param > 9) { paramH.param = 9; } else if (paramH.param < -1) { @@ -144,11 +144,11 @@ public class GT_Container_Param extends GT_ContainerMetaTile_Machine { for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; - TT_Utility.sendInteger(param,this,var1,100); - TT_Utility.sendDouble(value0d,this,var1,102); - TT_Utility.sendDouble(value1d,this,var1, 106); - TT_Utility.sendDouble(input0d,this,var1, 110); - TT_Utility.sendDouble(input1d,this,var1, 114); + TT_Utility.sendInteger(param, this, var1, 100); + TT_Utility.sendDouble(value0d, this, var1, 102); + TT_Utility.sendDouble(value1d, this, var1, 106); + TT_Utility.sendDouble(input0d, this, var1, 110); + TT_Utility.sendDouble(input1d, this, var1, 114); } } @@ -159,31 +159,31 @@ public class GT_Container_Param extends GT_ContainerMetaTile_Machine { switch (par1) { case 100: case 101: - param= TT_Utility.receiveInteger(param,100,par1,par2); + param = TT_Utility.receiveInteger(param, 100, par1, par2); return; case 102: case 103: case 104: case 105: - value0d =Double.longBitsToDouble(value0l= TT_Utility.receiveLong(value0l,102,par1,par2)); + value0d = Double.longBitsToDouble(value0l = TT_Utility.receiveLong(value0l, 102, par1, par2)); return; case 106: case 107: case 108: case 109: - value1d =Double.longBitsToDouble(value1l= TT_Utility.receiveLong(value1l,106,par1,par2)); + value1d = Double.longBitsToDouble(value1l = TT_Utility.receiveLong(value1l, 106, par1, par2)); return; case 110: case 111: case 112: case 113: - input0d =Double.longBitsToDouble(input0l= TT_Utility.receiveLong(input0l,110,par1,par2)); + input0d = Double.longBitsToDouble(input0l = TT_Utility.receiveLong(input0l, 110, par1, par2)); return; case 114: case 115: case 116: case 117: - input1d =Double.longBitsToDouble(input1l= TT_Utility.receiveLong(input1l,114,par1,par2)); + input1d = Double.longBitsToDouble(input1l = TT_Utility.receiveLong(input1l, 114, par1, par2)); return; default: } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java index 0ed9c2d3b6..26faae689f 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java @@ -15,7 +15,7 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { - public int pointer=0; + public int pointer = 0; public int param = 0; public double value1d = 0; public double value0d = 0; @@ -62,8 +62,8 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { boolean doStuff = true; GT_MetaTileEntity_Hatch_Param paramH = (GT_MetaTileEntity_Hatch_Param) mTileEntity.getMetaTileEntity(); - int columnPointer=paramH.pointer &0xff; - boolean secondRow=(paramH.pointer &0x0100)!=0; + int columnPointer = paramH.pointer & 0xff; + boolean secondRow = (paramH.pointer & 0x0100) != 0; switch (aSlotIndex) { case 0: paramH.param -= aShifthold == 1 ? 16 : 4; @@ -91,13 +91,13 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { } } else { if (secondRow) { - long temp=Double.doubleToLongBits(paramH.value1D); - temp |= 1L << (long)columnPointer; - paramH.value1D=Double.longBitsToDouble(temp); + long temp = Double.doubleToLongBits(paramH.value1D); + temp |= 1L << (long) columnPointer; + paramH.value1D = Double.longBitsToDouble(temp); } else { - long temp=Double.doubleToLongBits(paramH.value0D); - temp |= 1L << (long)columnPointer; - paramH.value0D=Double.longBitsToDouble(temp); + long temp = Double.doubleToLongBits(paramH.value0D); + temp |= 1L << (long) columnPointer; + paramH.value0D = Double.longBitsToDouble(temp); } } break; @@ -127,13 +127,13 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { } } else { if (secondRow) { - long temp=Double.doubleToLongBits(paramH.value1D); - temp &= ~(1L << (long)columnPointer); - paramH.value1D=Double.longBitsToDouble(temp); + long temp = Double.doubleToLongBits(paramH.value1D); + temp &= ~(1L << (long) columnPointer); + paramH.value1D = Double.longBitsToDouble(temp); } else { - long temp=Double.doubleToLongBits(paramH.value0D); - temp &= ~(1L << (long)columnPointer); - paramH.value0D=Double.longBitsToDouble(temp); + long temp = Double.doubleToLongBits(paramH.value0D); + temp &= ~(1L << (long) columnPointer); + paramH.value0D = Double.longBitsToDouble(temp); } } break; @@ -155,8 +155,8 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { } break; case 11: - paramH.value0D=paramH.input0D; - paramH.value1D=paramH.input1D; + paramH.value0D = paramH.input0D; + paramH.value1D = paramH.input1D; break; case 12: paramH.param += aShifthold == 1 ? 2 : 1; @@ -184,13 +184,13 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { } } else { if (secondRow) { - long temp=Double.doubleToLongBits(paramH.value1D); - temp ^= 1L << (long)columnPointer; - paramH.value1D=Double.longBitsToDouble(temp); + long temp = Double.doubleToLongBits(paramH.value1D); + temp ^= 1L << (long) columnPointer; + paramH.value1D = Double.longBitsToDouble(temp); } else { - long temp=Double.doubleToLongBits(paramH.value0D); - temp ^= 1L << (long)columnPointer; - paramH.value0D=Double.longBitsToDouble(temp); + long temp = Double.doubleToLongBits(paramH.value0D); + temp ^= 1L << (long) columnPointer; + paramH.value0D = Double.longBitsToDouble(temp); } } break; @@ -198,14 +198,14 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { doStuff = false; } if (doStuff) { - IGregTechTileEntity base=paramH.getBaseMetaTileEntity(); - TecTech.proxy.playSound(base,"fx_click"); - if(columnPointer>=64) { + IGregTechTileEntity base = paramH.getBaseMetaTileEntity(); + TecTech.proxy.playSound(base, "fx_click"); + if (columnPointer >= 64) { columnPointer = 63; - } else if(columnPointer<0) { + } else if (columnPointer < 0) { columnPointer = 0; } - paramH.pointer=secondRow?columnPointer+0x100:columnPointer; + paramH.pointer = secondRow ? columnPointer + 0x100 : columnPointer; if (paramH.param > 9) { paramH.param = 9; } else if (paramH.param < -1) { @@ -231,12 +231,12 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; - TT_Utility.sendInteger(param,this,var1,100); - TT_Utility.sendDouble(value0d,this,var1,102); - TT_Utility.sendDouble(value1d,this,var1, 106); - TT_Utility.sendDouble(input0d,this,var1, 110); - TT_Utility.sendDouble(input1d,this,var1, 114); - TT_Utility.sendInteger(pointer,this,var1,118); + TT_Utility.sendInteger(param, this, var1, 100); + TT_Utility.sendDouble(value0d, this, var1, 102); + TT_Utility.sendDouble(value1d, this, var1, 106); + TT_Utility.sendDouble(input0d, this, var1, 110); + TT_Utility.sendDouble(input1d, this, var1, 114); + TT_Utility.sendInteger(pointer, this, var1, 118); } } @@ -247,35 +247,35 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { switch (par1) { case 100: case 101: - param= TT_Utility.receiveInteger(param,100,par1,par2); + param = TT_Utility.receiveInteger(param, 100, par1, par2); return; case 102: case 103: case 104: case 105: - value0d =Double.longBitsToDouble(value0l= TT_Utility.receiveLong(value0l,102,par1,par2)); + value0d = Double.longBitsToDouble(value0l = TT_Utility.receiveLong(value0l, 102, par1, par2)); return; case 106: case 107: case 108: case 109: - value1d =Double.longBitsToDouble(value1l= TT_Utility.receiveLong(value1l,106,par1,par2)); + value1d = Double.longBitsToDouble(value1l = TT_Utility.receiveLong(value1l, 106, par1, par2)); return; case 110: case 111: case 112: case 113: - input0d =Double.longBitsToDouble(input0l= TT_Utility.receiveLong(input0l,110,par1,par2)); + input0d = Double.longBitsToDouble(input0l = TT_Utility.receiveLong(input0l, 110, par1, par2)); return; case 114: case 115: case 116: case 117: - input1d =Double.longBitsToDouble(input1l= TT_Utility.receiveLong(input1l,114,par1,par2)); + input1d = Double.longBitsToDouble(input1l = TT_Utility.receiveLong(input1l, 114, par1, par2)); return; case 118: case 119: - pointer= TT_Utility.receiveInteger(pointer,118,par1,par2); + pointer = TT_Utility.receiveInteger(pointer, 118, par1, par2); return; default: } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java index b4c466192f..f46e69184b 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java @@ -10,6 +10,7 @@ import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.gui.GT_ContainerMetaTile_Machine; import gregtech.api.gui.GT_Slot_Holo; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import java.util.Objects; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.InventoryPlayer; @@ -17,8 +18,6 @@ import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -import java.util.Objects; - public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine { public int param = 0; public double value0d = 0; @@ -29,8 +28,8 @@ public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine { public long value1l = 0; public long input0l = 0; public long input1l = 0; - public String value0s=""; - public String value1s=""; + public String value0s = ""; + public String value1s = ""; public GT_Container_ParamText(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(aInventoryPlayer, aTileEntity); @@ -52,7 +51,8 @@ public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine { Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { boolean doStuff = true; - GT_MetaTileEntity_Hatch_ParamText paramH = (GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity(); + GT_MetaTileEntity_Hatch_ParamText paramH = + (GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity(); switch (aSlotIndex) { case 0: paramH.param -= aShifthold == 1 ? 16 : 4; @@ -70,8 +70,8 @@ public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine { doStuff = false; } if (doStuff) { - IGregTechTileEntity base=paramH.getBaseMetaTileEntity(); - TecTech.proxy.playSound(base,"fx_click"); + IGregTechTileEntity base = paramH.getBaseMetaTileEntity(); + TecTech.proxy.playSound(base, "fx_click"); if (paramH.param > 9) { paramH.param = 9; } else if (paramH.param < -1) { @@ -95,22 +95,23 @@ public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine { input1d = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).input1D; for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; - TT_Utility.sendInteger(param,this,var1,100); - TT_Utility.sendDouble(value0d,this,var1,102); - TT_Utility.sendDouble(value1d,this,var1, 106); - TT_Utility.sendDouble(input0d,this,var1, 110); - TT_Utility.sendDouble(input1d,this,var1, 114); + TT_Utility.sendInteger(param, this, var1, 100); + TT_Utility.sendDouble(value0d, this, var1, 102); + TT_Utility.sendDouble(value1d, this, var1, 106); + TT_Utility.sendDouble(input0d, this, var1, 110); + TT_Utility.sendDouble(input1d, this, var1, 114); } - if(!Objects.equals(value0s,((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s) || - !Objects.equals(value0s,((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s)){ - value0s =((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s; - value1s =((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value1s; - for(Object object:crafters){ - if(object instanceof EntityPlayerMP){ + if (!Objects.equals(value0s, ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s) + || !Objects.equals( + value0s, ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s)) { + value0s = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s; + value1s = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value1s; + for (Object object : crafters) { + if (object instanceof EntityPlayerMP) { NetworkDispatcher.INSTANCE.sendTo( new TextParametersMessage.ParametersTextData( ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity())), - (EntityPlayerMP)object); + (EntityPlayerMP) object); } } } @@ -123,31 +124,31 @@ public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine { switch (par1) { case 100: case 101: - param= TT_Utility.receiveInteger(param,100,par1,par2); + param = TT_Utility.receiveInteger(param, 100, par1, par2); return; case 102: case 103: case 104: case 105: - value0d =Double.longBitsToDouble(value0l= TT_Utility.receiveLong(value0l,102,par1,par2)); + value0d = Double.longBitsToDouble(value0l = TT_Utility.receiveLong(value0l, 102, par1, par2)); return; case 106: case 107: case 108: case 109: - value1d =Double.longBitsToDouble(value1l= TT_Utility.receiveLong(value1l,106,par1,par2)); + value1d = Double.longBitsToDouble(value1l = TT_Utility.receiveLong(value1l, 106, par1, par2)); return; case 110: case 111: case 112: case 113: - input0d =Double.longBitsToDouble(input0l= TT_Utility.receiveLong(input0l,110,par1,par2)); + input0d = Double.longBitsToDouble(input0l = TT_Utility.receiveLong(input0l, 110, par1, par2)); return; case 114: case 115: case 116: case 117: - input1d =Double.longBitsToDouble(input1l= TT_Utility.receiveLong(input1l,114,par1,par2)); + input1d = Double.longBitsToDouble(input1l = TT_Utility.receiveLong(input1l, 114, par1, par2)); return; default: } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java index 45bc8dede0..88dab21c37 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java @@ -14,7 +14,8 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class GT_Container_Uncertainty extends GT_ContainerMetaTile_Machine { - public short[] matrix = new short[]{500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500}; + public short[] matrix = + new short[] {500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500}; public byte selection = -1, mode = 0, status = -128; public GT_Container_Uncertainty(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { @@ -51,10 +52,11 @@ public class GT_Container_Uncertainty extends GT_ContainerMetaTile_Machine { } Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - GT_MetaTileEntity_Hatch_Uncertainty catH = (GT_MetaTileEntity_Hatch_Uncertainty) mTileEntity.getMetaTileEntity(); + GT_MetaTileEntity_Hatch_Uncertainty catH = + (GT_MetaTileEntity_Hatch_Uncertainty) mTileEntity.getMetaTileEntity(); if (aSlotIndex < 16 && catH.matrix != null) { - IGregTechTileEntity base=catH.getBaseMetaTileEntity(); - TecTech.proxy.playSound(base,"fx_click"); + IGregTechTileEntity base = catH.getBaseMetaTileEntity(); + TecTech.proxy.playSound(base, "fx_click"); if (catH.selection == -1) { catH.selection = (byte) aSlotIndex; } else { @@ -63,7 +65,6 @@ public class GT_Container_Uncertainty extends GT_ContainerMetaTile_Machine { catH.matrix[aSlotIndex] = temp; catH.selection = -1; } - } } return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); 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 3850e7dc30..e97430d9bb 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 @@ -12,8 +12,11 @@ public class GT_GUIContainer_Capacitor extends GT_GUIContainerMetaTile_Machine { 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"); + 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; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Param.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Param.java index 686c2c81ce..d5d3d64b37 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Param.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Param.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; @@ -7,8 +9,6 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; import org.lwjgl.opengl.GL11; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - public class GT_GUIContainer_Param extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_Param(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_Param(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Parametrizer.png"); @@ -17,15 +17,50 @@ public class GT_GUIContainer_Param extends GT_GUIContainerMetaTile_Machine { @Override protected void drawGuiContainerForegroundLayer(int par1, int par2) { if (mContainer != null) { - TecTechFontRender.INSTANCE.drawSplitString("Parameters: " + ((GT_Container_Param) mContainer).param, 46, 7, 167, 0xffffff); - TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b07" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).input0d), 46, 16, 167, 0x22ddff); - TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b07" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).input1d), 46, 24, 167, 0x00ffff); - TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b06" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).value0d), 46, 33, 167, 0x00bbff); - TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b06" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).value1d), 46, 41, 167, 0x0077ff); + TecTechFontRender.INSTANCE.drawSplitString( + "Parameters: " + ((GT_Container_Param) mContainer).param, 46, 7, 167, 0xffffff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u24EA\u2b07" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).input0d), + 46, + 16, + 167, + 0x22ddff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u2460\u2b07" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).input1d), + 46, + 24, + 167, + 0x00ffff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u24EA\u2b06" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).value0d), + 46, + 33, + 167, + 0x00bbff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u2460\u2b06" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).value1d), + 46, + 41, + 167, + 0x0077ff); GL11.glPushMatrix(); - GL11.glScalef(.5f,.5f,.5f); - TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b06" + TT_Utility.longBitsToShortString(Double.doubleToLongBits(((GT_Container_Param) mContainer).value0d)), 92, 100, 334, 0x00bbff); - TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b06" + TT_Utility.longBitsToShortString(Double.doubleToLongBits(((GT_Container_Param) mContainer).value1d)), 92, 116, 334, 0x0077ff); + GL11.glScalef(.5f, .5f, .5f); + TecTechFontRender.INSTANCE.drawSplitString( + "\u24EA\u2b06" + + TT_Utility.longBitsToShortString( + Double.doubleToLongBits(((GT_Container_Param) mContainer).value0d)), + 92, + 100, + 334, + 0x00bbff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u2460\u2b06" + + TT_Utility.longBitsToShortString( + Double.doubleToLongBits(((GT_Container_Param) mContainer).value1d)), + 92, + 116, + 334, + 0x0077ff); GL11.glPopMatrix(); } else { TecTechFontRender.INSTANCE.drawSplitString("Parameters", 46, 7, 167, 0xffffff); diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java index f7ffa18ffc..512a70d0a5 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; @@ -7,8 +9,6 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; import org.lwjgl.opengl.GL11; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - public class GT_GUIContainer_ParamAdv extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_ParamAdv(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_ParamAdv(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "ParametrizerAdv.png"); @@ -17,17 +17,59 @@ public class GT_GUIContainer_ParamAdv extends GT_GUIContainerMetaTile_Machine { @Override protected void drawGuiContainerForegroundLayer(int par1, int par2) { if (mContainer != null) { - TecTechFontRender.INSTANCE.drawSplitString("Parameters X: " + ((GT_Container_ParamAdv) mContainer).param, 46, 7, 167, 0xffffff); - TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).input0d)), 46, 16, 167, 0x22ddff); - TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).input1d)), 46, 24, 167, 0x00ffff); - TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b06" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).value0d)), 46, 33, 167, 0x00bbff); - TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b06" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).value1d)), 46, 41, 167, 0x0077ff); + TecTechFontRender.INSTANCE.drawSplitString( + "Parameters X: " + ((GT_Container_ParamAdv) mContainer).param, 46, 7, 167, 0xffffff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u24EA\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).input0d)), + 46, + 16, + 167, + 0x22ddff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u2460\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).input1d)), + 46, + 24, + 167, + 0x00ffff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u24EA\u2b06" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).value0d)), + 46, + 33, + 167, + 0x00bbff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u2460\u2b06" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).value1d)), + 46, + 41, + 167, + 0x0077ff); GL11.glPushMatrix(); - GL11.glScalef(.5f,.5f,.5f); - TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b06" + TT_Utility.longBitsToShortString(Double.doubleToLongBits(((GT_Container_ParamAdv) mContainer).value0d)), 92, 100, 334, 0x00bbff); - TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b06" + TT_Utility.longBitsToShortString(Double.doubleToLongBits(((GT_Container_ParamAdv) mContainer).value1d)), 92, 116, 334, 0x0077ff); + GL11.glScalef(.5f, .5f, .5f); + TecTechFontRender.INSTANCE.drawSplitString( + "\u24EA\u2b06" + + TT_Utility.longBitsToShortString( + Double.doubleToLongBits(((GT_Container_ParamAdv) mContainer).value0d)), + 92, + 100, + 334, + 0x00bbff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u2460\u2b06" + + TT_Utility.longBitsToShortString( + Double.doubleToLongBits(((GT_Container_ParamAdv) mContainer).value1d)), + 92, + 116, + 334, + 0x0077ff); GL11.glPopMatrix(); - TecTechFontRender.INSTANCE.drawSplitString("Pointer " + Integer.toHexString(((GT_Container_ParamAdv) mContainer).pointer | 0x10000).substring(1), 46, 66, 167, 0x0033ff); + TecTechFontRender.INSTANCE.drawSplitString( + "Pointer " + + Integer.toHexString(((GT_Container_ParamAdv) mContainer).pointer | 0x10000) + .substring(1), + 46, + 66, + 167, + 0x0033ff); } else { TecTechFontRender.INSTANCE.drawSplitString("Parameters X", 46, 7, 167, 0xffffff); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java index e10f30076d..bff21e5f98 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_ParamText; @@ -7,13 +9,10 @@ import com.github.technus.tectech.thing.metaTileEntity.hatch.TextParametersMessa import com.github.technus.tectech.util.TT_Utility; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import java.util.Objects; import net.minecraft.client.gui.GuiTextField; import net.minecraft.entity.player.InventoryPlayer; -import java.util.Objects; - -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine { private GuiTextField value0tb; private GuiTextField value1tb; @@ -25,9 +24,19 @@ public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine { @Override public void initGui() { super.initGui(); - value0tb = new GuiTextField(TecTechFontRender.INSTANCE, (this.width - 176) / 2 + 12 + 14, (this.height - 166) / 2 + 26, 156 - 18, 12); + value0tb = new GuiTextField( + TecTechFontRender.INSTANCE, + (this.width - 176) / 2 + 12 + 14, + (this.height - 166) / 2 + 26, + 156 - 18, + 12); value0tb.setMaxStringLength(80); - value1tb = new GuiTextField(TecTechFontRender.INSTANCE, (this.width - 176) / 2 + 12 + 14, (this.height - 166) / 2 + 41, 156 - 18, 12); + value1tb = new GuiTextField( + TecTechFontRender.INSTANCE, + (this.width - 176) / 2 + 12 + 14, + (this.height - 166) / 2 + 41, + 156 - 18, + 12); value1tb.setMaxStringLength(80); updateValues(); } @@ -44,7 +53,8 @@ public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine { protected void keyTyped(char p_73869_1_, int p_73869_2_) { value0tb.textboxKeyTyped(p_73869_1_, p_73869_2_); value1tb.textboxKeyTyped(p_73869_1_, p_73869_2_); - if ((p_73869_2_ != 1 && p_73869_2_ != this.mc.gameSettings.keyBindInventory.getKeyCode()) || (!value0tb.isFocused() && !value1tb.isFocused())) { + if ((p_73869_2_ != 1 && p_73869_2_ != this.mc.gameSettings.keyBindInventory.getKeyCode()) + || (!value0tb.isFocused() && !value1tb.isFocused())) { super.keyTyped(p_73869_1_, p_73869_2_); } updateValues(); @@ -75,11 +85,22 @@ public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine { @Override protected void drawGuiContainerForegroundLayer(int par1, int par2) { if (mContainer != null) { - TecTechFontRender.INSTANCE.drawSplitString("Parameters tXt: " + ((GT_Container_ParamText) mContainer).param, 46, 7, 167, 0xffffff); + TecTechFontRender.INSTANCE.drawSplitString( + "Parameters tXt: " + ((GT_Container_ParamText) mContainer).param, 46, 7, 167, 0xffffff); TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b06", 10, 29, 16, 0x00bbff); TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b06", 10, 44, 16, 0x0077ff); - TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamText) mContainer).input0d)), 10, 56, 167, 0x22ddff); - TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamText) mContainer).input1d)), 10, 65, 167, 0x00ffff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u24EA\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamText) mContainer).input0d)), + 10, + 56, + 167, + 0x22ddff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u2460\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamText) mContainer).input1d)), + 10, + 65, + 167, + 0x00ffff); } else { TecTechFontRender.INSTANCE.drawSplitString("Parameters tXt", 46, 7, 167, 0xffffff); } @@ -105,23 +126,33 @@ public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine { try { if (str.contains("b")) { String[] split = str.split("b"); - val = TT_Utility.bitStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_","")); + val = TT_Utility.bitStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", "")); } else if (str.contains("x")) { String[] split = str.split("x"); - val = TT_Utility.hexStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_","")); + val = TT_Utility.hexStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", "")); } else { val = TT_Utility.stringToDouble(str); } - if (!Objects.equals(((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value0s, value0tb.getText())) { + if (!Objects.equals( + ((GT_MetaTileEntity_Hatch_ParamText) + ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) + .value0s, + value0tb.getText())) { ((GT_Container_ParamText) mContainer).value0s = value0tb.getText(); ((GT_Container_ParamText) mContainer).value0d = val; - ((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value0s = value0tb.getText(); - - NetworkDispatcher.INSTANCE.sendToServer(new TextParametersMessage.ParametersTextUpdate( - (GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity())); + ((GT_MetaTileEntity_Hatch_ParamText) + ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) + .value0s = + value0tb.getText(); + + NetworkDispatcher.INSTANCE.sendToServer( + new TextParametersMessage.ParametersTextUpdate((GT_MetaTileEntity_Hatch_ParamText) + ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity())); } } catch (Exception e) { - value0tb.setText(((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value0s); + value0tb.setText(((GT_MetaTileEntity_Hatch_ParamText) + ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) + .value0s); } } } @@ -133,23 +164,33 @@ public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine { try { if (str.contains("b")) { String[] split = str.split("b"); - val = TT_Utility.bitStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_","")); + val = TT_Utility.bitStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", "")); } else if (str.contains("x")) { String[] split = str.split("x"); - val = TT_Utility.hexStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_","")); + val = TT_Utility.hexStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", "")); } else { val = TT_Utility.stringToDouble(str); } - if (!Objects.equals(((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value1s, value1tb.getText())) { + if (!Objects.equals( + ((GT_MetaTileEntity_Hatch_ParamText) + ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) + .value1s, + value1tb.getText())) { ((GT_Container_ParamText) mContainer).value1s = value1tb.getText(); ((GT_Container_ParamText) mContainer).value1d = val; - ((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value1s = value1tb.getText(); - - NetworkDispatcher.INSTANCE.sendToServer(new TextParametersMessage.ParametersTextUpdate( - (GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity())); + ((GT_MetaTileEntity_Hatch_ParamText) + ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) + .value1s = + value1tb.getText(); + + NetworkDispatcher.INSTANCE.sendToServer( + new TextParametersMessage.ParametersTextUpdate((GT_MetaTileEntity_Hatch_ParamText) + ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity())); } } catch (Exception e) { - value1tb.setText(((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value1s); + value1tb.setText(((GT_MetaTileEntity_Hatch_ParamText) + ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) + .value1s); } } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Uncertainty.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Uncertainty.java index 7d7dc1b656..5ef1ac9bc5 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Uncertainty.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Uncertainty.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.font.TecTechFontRender; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; @@ -7,8 +9,6 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; import org.lwjgl.opengl.GL11; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - public class GT_GUIContainer_Uncertainty extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_Uncertainty(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_Uncertainty(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Uncertainty.png"); @@ -37,76 +37,45 @@ public class GT_GUIContainer_Uncertainty extends GT_GUIContainerMetaTile_Machine y += 33; int state = ((GT_Container_Uncertainty) mContainer).status; switch (((GT_Container_Uncertainty) mContainer).mode) { - case 1://ooo oxo ooo - drawTexturedModalRect(x + 12, y + 12, - rU + (state == 0 ? 76 : 12), - Vs + 12, 10, 10); + case 1: // ooo oxo ooo + drawTexturedModalRect(x + 12, y + 12, rU + (state == 0 ? 76 : 12), Vs + 12, 10, 10); break; - case 2://ooo xox ooo - drawTexturedModalRect(x, y + 12, - rU + ((state & 1) == 0 ? 64 : 0), - Vs + 12, 10, 10); - drawTexturedModalRect(x + 24, y + 12, - rU + ((state & 2) == 0 ? 88 : 24), - Vs + 12, 10, 10); + case 2: // ooo xox ooo + drawTexturedModalRect(x, y + 12, rU + ((state & 1) == 0 ? 64 : 0), Vs + 12, 10, 10); + drawTexturedModalRect(x + 24, y + 12, rU + ((state & 2) == 0 ? 88 : 24), Vs + 12, 10, 10); break; - case 3://oxo xox oxo - drawTexturedModalRect(x + 12, y, - rU + ((state & 1) == 0 ? 76 : 12), - Vs, 10, 10); - drawTexturedModalRect(x, y + 12, - rU + ((state & 2) == 0 ? 64 : 0), - Vs + 12, 10, 10); - drawTexturedModalRect(x + 24, y + 12, - rU + ((state & 4) == 0 ? 88 : 24), - Vs + 12, 10, 10); - drawTexturedModalRect(x + 12, y + 24, - rU + ((state & 8) == 0 ? 76 : 12), - Vs + 24, 10, 10); + case 3: // oxo xox oxo + drawTexturedModalRect(x + 12, y, rU + ((state & 1) == 0 ? 76 : 12), Vs, 10, 10); + drawTexturedModalRect(x, y + 12, rU + ((state & 2) == 0 ? 64 : 0), Vs + 12, 10, 10); + drawTexturedModalRect(x + 24, y + 12, rU + ((state & 4) == 0 ? 88 : 24), Vs + 12, 10, 10); + drawTexturedModalRect(x + 12, y + 24, rU + ((state & 8) == 0 ? 76 : 12), Vs + 24, 10, 10); break; - case 4://xox ooo xox - drawTexturedModalRect(x, y, - rU + ((state & 1) == 0 ? 64 : 0), - Vs, 10, 10); - drawTexturedModalRect(x + 24, y, - rU + ((state & 2) == 0 ? 88 : 24), - Vs, 10, 10); - drawTexturedModalRect(x, y + 24, - rU + ((state & 4) == 0 ? 64 : 0), - Vs + 24, 10, 10); - drawTexturedModalRect(x + 24, y + 24, - rU + ((state & 8) == 0 ? 88 : 24), - Vs + 24, 10, 10); + case 4: // xox ooo xox + drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 64 : 0), Vs, 10, 10); + drawTexturedModalRect(x + 24, y, rU + ((state & 2) == 0 ? 88 : 24), Vs, 10, 10); + drawTexturedModalRect(x, y + 24, rU + ((state & 4) == 0 ? 64 : 0), Vs + 24, 10, 10); + drawTexturedModalRect(x + 24, y + 24, rU + ((state & 8) == 0 ? 88 : 24), Vs + 24, 10, 10); break; - case 5://xox oxo xox - drawTexturedModalRect(x, y, - rU + ((state & 1) == 0 ? 64 : 0), - Vs, 10, 10); - drawTexturedModalRect(x + 24, y, - rU + ((state & 2) == 0 ? 88 : 24), - Vs, 10, 10); - drawTexturedModalRect(x + 12, y + 12, - rU + ((state & 4) == 0 ? 76 : 12), - Vs + 12, 10, 10); - drawTexturedModalRect(x, y + 24, - rU + ((state & 8) == 0 ? 64 : 0), - Vs + 24, 10, 10); - drawTexturedModalRect(x + 24, y + 24, - rU + ((state & 16) == 0 ? 88 : 24), - Vs + 24, 10, 10); + case 5: // xox oxo xox + drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 64 : 0), Vs, 10, 10); + drawTexturedModalRect(x + 24, y, rU + ((state & 2) == 0 ? 88 : 24), Vs, 10, 10); + drawTexturedModalRect(x + 12, y + 12, rU + ((state & 4) == 0 ? 76 : 12), Vs + 12, 10, 10); + drawTexturedModalRect(x, y + 24, rU + ((state & 8) == 0 ? 64 : 0), Vs + 24, 10, 10); + drawTexturedModalRect(x + 24, y + 24, rU + ((state & 16) == 0 ? 88 : 24), Vs + 24, 10, 10); break; } x -= 6; y -= 6; for (int i = 0; i < 16; i++) { if (TecTech.RANDOM.nextInt(1000) < ((GT_Container_Uncertainty) mContainer).matrix[i]) { - drawTexturedModalRect(x + 12 * (i / 4), y + 12 * (i % 4), fU + 12 * (i / 4), V + 12 * (i % 4), 10, 10); + drawTexturedModalRect( + x + 12 * (i / 4), y + 12 * (i % 4), fU + 12 * (i / 4), V + 12 * (i % 4), 10, 10); } } if (((GT_Container_Uncertainty) mContainer).selection > -1) { int sel = ((GT_Container_Uncertainty) mContainer).selection; - drawTexturedModalRect(x + 12 * (sel / 4), y + 12 * (sel % 4), - bU + 12 * (sel / 4), V + 12 * (sel % 4), 10, 10); + drawTexturedModalRect( + x + 12 * (sel / 4), y + 12 * (sel % 4), bU + 12 * (sel / 4), V + 12 * (sel % 4), 10, 10); } } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_UncertaintyAdv.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_UncertaintyAdv.java index 51eaf64ce4..1e9bccfe88 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_UncertaintyAdv.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_UncertaintyAdv.java @@ -1,13 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; +import static org.lwjgl.opengl.GL11.*; + import com.github.technus.tectech.font.TecTechFontRender; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; -import static org.lwjgl.opengl.GL11.*; - public class GT_GUIContainer_UncertaintyAdv extends GT_GUIContainerMetaTile_Machine { protected static final short sX = 52, sY = 33, bU = 0, rU = 70, fU = 192, V = 210, Vs = 216; @@ -37,26 +37,26 @@ public class GT_GUIContainer_UncertaintyAdv extends GT_GUIContainerMetaTile_Mach y += sY; int state = ((GT_Container_Uncertainty) mContainer).status; switch (((GT_Container_Uncertainty) mContainer).mode) { - case 1://ooo oxo ooo + case 1: // ooo oxo ooo drawTexturedModalRect(x + 12, y + 12, rU + (state == 0 ? 76 : 12), Vs + 12, 10, 10); break; - case 2://ooo xox ooo + case 2: // ooo xox ooo drawTexturedModalRect(x, y + 12, rU + ((state & 1) == 0 ? 64 : 0), Vs + 12, 10, 10); drawTexturedModalRect(x + 24, y + 12, rU + ((state & 2) == 0 ? 88 : 24), Vs + 12, 10, 10); break; - case 3://oxo xox oxo + case 3: // oxo xox oxo drawTexturedModalRect(x + 12, y, rU + ((state & 1) == 0 ? 76 : 12), Vs, 10, 10); drawTexturedModalRect(x, y + 12, rU + ((state & 2) == 0 ? 64 : 0), Vs + 12, 10, 10); drawTexturedModalRect(x + 24, y + 12, rU + ((state & 4) == 0 ? 88 : 24), Vs + 12, 10, 10); drawTexturedModalRect(x + 12, y + 24, rU + ((state & 8) == 0 ? 76 : 12), Vs + 24, 10, 10); break; - case 4://xox ooo xox + case 4: // xox ooo xox drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 64 : 0), Vs, 10, 10); drawTexturedModalRect(x + 24, y, rU + ((state & 2) == 0 ? 88 : 24), Vs, 10, 10); drawTexturedModalRect(x, y + 24, rU + ((state & 4) == 0 ? 64 : 0), Vs + 24, 10, 10); drawTexturedModalRect(x + 24, y + 24, rU + ((state & 8) == 0 ? 88 : 24), Vs + 24, 10, 10); break; - case 5://xox ooo xox + case 5: // xox ooo xox drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 64 : 0), Vs, 10, 10); drawTexturedModalRect(x + 24, y, rU + ((state & 2) == 0 ? 88 : 24), Vs, 10, 10); drawTexturedModalRect(x + 12, y + 12, rU + ((state & 4) == 0 ? 76 : 12), Vs + 12, 10, 10); @@ -78,7 +78,8 @@ public class GT_GUIContainer_UncertaintyAdv extends GT_GUIContainerMetaTile_Mach glColor4f(1.0F, 1.0F, 1.0F, 1.0F); if (((GT_Container_Uncertainty) mContainer).selection > -1) { int sel = ((GT_Container_Uncertainty) mContainer).selection; - drawTexturedModalRect(x + 12 * (sel / 4), y + 12 * (sel % 4), bU + 12 * (sel / 4), V + 12 * (sel % 4), 10, 10); + drawTexturedModalRect( + x + 12 * (sel / 4), y + 12 * (sel % 4), bU + 12 * (sel / 4), V + 12 * (sel % 4), 10, 10); } } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java index a2996de081..45486183fd 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java @@ -1,5 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; @@ -17,54 +25,194 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_annihilation extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region variables - private static Textures.BlockIcons.CustomIcon ScreenOFF; - private static Textures.BlockIcons.CustomIcon ScreenON; - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.annihilation.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.annihilation.hint.1"),//2 - Elemental Hatches or Molecular Casing + // region variables + private static Textures.BlockIcons.CustomIcon ScreenOFF; + private static Textures.BlockIcons.CustomIcon ScreenON; + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.annihilation.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal( + "gt.blockmachines.multimachine.em.annihilation.hint.1"), // 2 - Elemental Hatches or Molecular Casing }; - //endregion + // endregion - //region structure - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {" ", " AB BA ", " AB BA ", " BBB ", " A A A ", "AA F AA", " A A A ", " BBB ", " AB BA ", " AB BA ", " "}, - {" ", " AB BA ", " EECEEECEE ", " EGGEEEGGE ", "ACGGGEGGGCA", "AEGGGDGGGEA", "ACGGGEGGGCA", " EGGEEEGGE ", " EECEEECEE ", " AB BA ", " "}, - {" ", " B B ", " EGGEGEGGE ", " G G ", " G G ", " G G ", " G G ", " G G ", " EGGEGEGGE ", " B B ", " "}, - {" AAA ", "AA BAB AA", "ACGGEGEGGCA", " G G ", " G G ", " G G ", " G G ", " G G ", "ACGGEGEGGCA", "AA BAB AA", " AAA "}, - {" AHHHA ", "BBBBBBBBBBB", "BEEEDEDEEEB", "BE EB", " G G ", " G G ", " G G ", "BE EB", "BEEEDEDEEEB", "BBBBBBBBBBB", " AHHHA "}, - {" AH~HA ", " ABBBA ", " EGGEEEGGE ", "BE EB", "AE EA", "FD DF", "AE EA", "BE EB", " EGGEEEGGE ", " ABBBA ", " AHHHA "}, - {" AHHHA ", "BBBBBBBBBBB", "BEEEDEDEEEB", "BE EB", " G G ", " G G ", " G G ", "BE EB", "BEEEDEDEEEB", "BBBBBBBBBBB", " AHHHA "}, - {" AAA ", "AA BAB AA", "ACGGEGEGGCA", " G G ", " G G ", " G G ", " G G ", " G G ", "ACGGEGEGGCA", "AA BAB AA", " AAA "}, - {" ", " B B ", " EGGEGEGGE ", " G G ", " G G ", " G G ", " G G ", " G G ", " EGGEGEGGE ", " B B ", " "}, - {" ", " AB BA ", " EECEEECEE ", " EGGEEEGGE ", "ACGGGEGGGCA", "AEGGGDGGGEA", "ACGGGEGGGCA", " EGGEEEGGE ", " EECEEECEE ", " AB BA ", " "}, - {" ", " AB BA ", " AB BA ", " BBB ", " A A A ", "AA F AA", " A A A ", " BBB ", " AB BA ", " AB BA ", " "} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('C', ofBlock(sBlockCasingsTT, 6)) - .addElement('D', ofBlock(sBlockCasingsTT, 10)) - .addElement('E', ofBlock(sBlockCasingsTT, 12)) - .addElement('G', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('H', ofHatchAdderOptional(GT_MetaTileEntity_EM_annihilation::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_annihilation::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) - .build(); - //endregion + // region structure + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + { + " ", + " AB BA ", + " AB BA ", + " BBB ", + " A A A ", + "AA F AA", + " A A A ", + " BBB ", + " AB BA ", + " AB BA ", + " " + }, + { + " ", + " AB BA ", + " EECEEECEE ", + " EGGEEEGGE ", + "ACGGGEGGGCA", + "AEGGGDGGGEA", + "ACGGGEGGGCA", + " EGGEEEGGE ", + " EECEEECEE ", + " AB BA ", + " " + }, + { + " ", + " B B ", + " EGGEGEGGE ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " EGGEGEGGE ", + " B B ", + " " + }, + { + " AAA ", + "AA BAB AA", + "ACGGEGEGGCA", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + "ACGGEGEGGCA", + "AA BAB AA", + " AAA " + }, + { + " AHHHA ", + "BBBBBBBBBBB", + "BEEEDEDEEEB", + "BE EB", + " G G ", + " G G ", + " G G ", + "BE EB", + "BEEEDEDEEEB", + "BBBBBBBBBBB", + " AHHHA " + }, + { + " AH~HA ", + " ABBBA ", + " EGGEEEGGE ", + "BE EB", + "AE EA", + "FD DF", + "AE EA", + "BE EB", + " EGGEEEGGE ", + " ABBBA ", + " AHHHA " + }, + { + " AHHHA ", + "BBBBBBBBBBB", + "BEEEDEDEEEB", + "BE EB", + " G G ", + " G G ", + " G G ", + "BE EB", + "BEEEDEDEEEB", + "BBBBBBBBBBB", + " AHHHA " + }, + { + " AAA ", + "AA BAB AA", + "ACGGEGEGGCA", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + "ACGGEGEGGCA", + "AA BAB AA", + " AAA " + }, + { + " ", + " B B ", + " EGGEGEGGE ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " EGGEGEGGE ", + " B B ", + " " + }, + { + " ", + " AB BA ", + " EECEEECEE ", + " EGGEEEGGE ", + "ACGGGEGGGCA", + "AEGGGDGGGEA", + "ACGGGEGGGCA", + " EGGEEEGGE ", + " EECEEECEE ", + " AB BA ", + " " + }, + { + " ", + " AB BA ", + " AB BA ", + " BBB ", + " A A A ", + "AA F AA", + " A A A ", + " BBB ", + " AB BA ", + " AB BA ", + " " + } + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement('C', ofBlock(sBlockCasingsTT, 6)) + .addElement('D', ofBlock(sBlockCasingsTT, 10)) + .addElement('E', ofBlock(sBlockCasingsTT, 12)) + .addElement('G', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'H', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_annihilation::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'F', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_annihilation::addElementalToMachineList, + textureOffset + 4, + 2, + sBlockCasingsTT, + 4)) + .build(); + // endregion public GT_MetaTileEntity_EM_annihilation(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -87,14 +235,24 @@ public class GT_MetaTileEntity_EM_annihilation extends GT_MetaTileEntity_Multibl @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.annihilation.name")) // Machine Type: Annihilation Generator - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.annihilation.desc.0")) // Controller block of the Annihilation Generator + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.annihilation.name")) // Machine Type: Annihilation Generator + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.annihilation.desc.0")) // Controller block of the + // Annihilation Generator .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(11, 11, 11, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.Elemental"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing"), 1) // Elemental Hatch: Any Molecular Casing - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.Elemental"), + translateToLocal("tt.keyword.Structure.AnyMolecularCasing"), + 1) // Elemental Hatch: Any Molecular Casing + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -108,11 +266,20 @@ public class GT_MetaTileEntity_EM_annihilation extends GT_MetaTileEntity_Multibl } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][12], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][12], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][12]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][12]}; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java index c0174ad510..9d595339d0 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java @@ -1,5 +1,15 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_decay.URANIUM_INGOT_MASS_DIFF; +import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_decay.URANIUM_MASS_TO_EU_INSTANT; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; @@ -17,131 +27,2386 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_decay.URANIUM_INGOT_MASS_DIFF; -import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_decay.URANIUM_MASS_TO_EU_INSTANT; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region variables + // region variables private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; - //todo CHECK VALUES - private static final double NEUTRONIUM_BLOCK_MASS = 4.1E17; - private static final double NEUTRONIUM_BLOCK_ATOM_COUNT = 2.4478671E44; - private static final double NEUTRONIUM_BLOCK_TO_EU_INSTANT = URANIUM_MASS_TO_EU_INSTANT * NEUTRONIUM_BLOCK_MASS / (URANIUM_INGOT_MASS_DIFF * 1.78266191e-36);//~ 5.314e40 - private static final double NEUTRON_TO_EU_INSTANT = NEUTRONIUM_BLOCK_TO_EU_INSTANT / NEUTRONIUM_BLOCK_ATOM_COUNT;//~ 0.00021708694 + // todo CHECK VALUES + private static final double NEUTRONIUM_BLOCK_MASS = 4.1E17; + private static final double NEUTRONIUM_BLOCK_ATOM_COUNT = 2.4478671E44; + private static final double NEUTRONIUM_BLOCK_TO_EU_INSTANT = URANIUM_MASS_TO_EU_INSTANT + * NEUTRONIUM_BLOCK_MASS + / (URANIUM_INGOT_MASS_DIFF * 1.78266191e-36); // ~ 5.314e40 + private static final double NEUTRON_TO_EU_INSTANT = + NEUTRONIUM_BLOCK_TO_EU_INSTANT / NEUTRONIUM_BLOCK_ATOM_COUNT; // ~ 0.00021708694 public boolean glassDome = false; - //endregion + // endregion - //Time dillatation - to slow down the explosion thing but REALLY REDUCE POWER OUTPUT - //Startcodes to startup - //per dim disable thingies + // Time dillatation - to slow down the explosion thing but REALLY REDUCE POWER OUTPUT + // Startcodes to startup + // per dim disable thingies - //region structure actual - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main_t1", transpose(new String[][]{ - {" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " CCCCCCCCC ", " C C ", " CCCCCCCCC ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " C C ", " DDDDD ", " DDCDCDD ", " CCCCDCCDCCDCCCC ", " DDDDDDD ", " CCCCDCCDCCDCCCC ", " DDCDCDD ", " DDDDD ", " C C ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " D ", " D ", " DDDDDDD ", " DD DD ", " D EEE D ", " CCC D EAAAE D CCC ", " DDD EAAAE DDD ", " CCC D EAAAE D CCC ", " D EEE D ", " DD DD ", " DDDDDDD ", " D ", " D ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " C C ", " C C ", " D ", " D ", " ", " ", " ", " ", " ", " CC CC ", " DD DD ", " CC CC ", " ", " ", " ", " ", " ", " D ", " D ", " C C ", " C C ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " C C ", " CCCCC ", " D ", " B ", " B ", " ", " ", " ", " ", " C C ", " CC CC ", " CDBB BBDC ", " CC CC ", " C C ", " ", " ", " ", " ", " B ", " B ", " D ", " CCCCC ", " C C ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " C C ", " C C ", " D ", " EEEBEEE ", " ", " ", " ", " ", " ", " E E ", " E E ", " CC E E CC ", " DB BD ", " CC E E CC ", " E E ", " E E ", " ", " ", " ", " ", " ", " EEEBEEE ", " D ", " C C ", " C C ", " ", " ", " ", " "}, - {" ", " ", " ", " C C ", " CCCCC ", " D ", " B ", " ", " ", " ", " ", " ", " ", " ", " C C ", " CC CC ", " CDB BDC ", " CC CC ", " C C ", " ", " ", " ", " ", " ", " ", " ", " B ", " D ", " CCCCC ", " C C ", " ", " ", " "}, - {" ", " ", " C C ", " C C ", " D ", " EEEBEEE ", " ", " ", " ", " ", " ", " ", " ", " E E ", " E E ", " CC E E CC ", " DB BD ", " CC E E CC ", " E E ", " E E ", " ", " ", " ", " ", " ", " ", " ", " EEEBEEE ", " D ", " C C ", " C C ", " ", " "}, - {" ", " ", " C C ", " D ", " B ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " DB BD ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " B ", " D ", " C C ", " ", " "}, - {" ", " C C ", " C C ", " D ", " B ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " CC CC ", " DB BD ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " B ", " D ", " C C ", " C C ", " "}, - {" ", " C C ", " D ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " D D ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " D ", " C C ", " "}, - {" ", " C C ", " D ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " D D ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " D ", " C C ", " "}, - {" CCCCCCC ", " C C ", " DDDDDDD ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " D D ", " D D ", "CCD DCC", " D D ", "CCD DCC", " D D ", " D D ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " DDDDDDD ", " C C ", " C C "}, - {" CCHHHHHCC ", " DDDDD ", " DD DD ", " ", " ", " E E ", " ", " E E ", " ", " ", " ", " ", " D D ", " D D ", " D D ", "CD DC", " D D ", "CD DC", " D D ", " D D ", " D D ", " ", " ", " ", " ", " E E ", " ", " E E ", " ", " ", " DD DD ", " DDDDD ", " C C "}, - {" CHHHHHHHC ", " DDCDCDD ", " D EEE D ", " ", " C C ", " E E ", " C C ", " E E ", " ", " ", " ", " ", " D D ", " D D ", " D D ", "CCE ECC", " DE ED ", "CCE ECC", " D D ", " D D ", " D D ", " ", " ", " ", " ", " E E ", " C C ", " E E ", " C C ", " ", " D EEE D ", " DDCDCDD ", " C C "}, - {" CHHFFFHHC ", " CCCCDCCDCCDCCCC ", " CCC D EAAAE D CCC ", " CC CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC E E CC ", " C C ", " CC CC ", " C C ", " C C ", "CCD DCC", "CD DC", "CCE ECC", "CCA ACC", "CDA ADC", "CCA ACC", "CCE ECC", "CD DC", "CCD DCC", " C C ", " C C ", " CC CC ", " C C ", " CC E E CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC CC ", " CCC D EAAAE D CCC ", " CCCCDCCDCCDCCCC ", " CCCCCCCCC "}, - {" CHHF~FHHC ", " DDDDDDD ", " DDD EAAAE DDD ", " DD DD ", " CDBB BBDC ", " DB BD ", " CDB BDC ", " DB BD ", " DB BD ", " DB BD ", " D D ", " D D ", " D D ", " D D ", " DE ED ", "CDA ADC", " DA AD ", "CDA ADC", " DE ED ", " D D ", " D D ", " D D ", " D D ", " DB BD ", " DB BD ", " DB BD ", " CDB BDC ", " DB BD ", " CDBB BBDC ", " DD DD ", " DDD EAAAE DDD ", " DDDDDDD ", " C C "}, - {" CHHFFFHHC ", " CCCCDCCDCCDCCCC ", " CCC D EAAAE D CCC ", " CC CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC E E CC ", " C C ", " CC CC ", " C C ", " C C ", "CCD DCC", "CD DC", "CCE ECC", "CCA ACC", "CDA ADC", "CCA ACC", "CCE ECC", "CD DC", "CCD DCC", " C C ", " C C ", " CC CC ", " C C ", " CC E E CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC CC ", " CCC D EAAAE D CCC ", " CCCCDCCDCCDCCCC ", " CCCCCCCCC "}, - {" CHHHHHHHC ", " DDCDCDD ", " D EEE D ", " ", " C C ", " E E ", " C C ", " E E ", " ", " ", " ", " ", " D D ", " D D ", " D D ", "CCE ECC", " DE ED ", "CCE ECC", " D D ", " D D ", " D D ", " ", " ", " ", " ", " E E ", " C C ", " E E ", " C C ", " ", " D EEE D ", " DDCDCDD ", " C C "}, - {" CCHHHHHCC ", " DDDDD ", " DD DD ", " ", " ", " E E ", " ", " E E ", " ", " ", " ", " ", " D D ", " D D ", " D D ", "CD DC", " D D ", "CD DC", " D D ", " D D ", " D D ", " ", " ", " ", " ", " E E ", " ", " E E ", " ", " ", " DD DD ", " DDDDD ", " C C "}, - {" CCCCCCC ", " C C ", " DDDDDDD ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " D D ", " D D ", "CCD DCC", " D D ", "CCD DCC", " D D ", " D D ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " DDDDDDD ", " C C ", " C C "}, - {" ", " C C ", " D ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " D D ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " D ", " C C ", " "}, - {" ", " C C ", " D ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " D D ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " D ", " C C ", " "}, - {" ", " C C ", " C C ", " D ", " B ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " CC CC ", " DB BD ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " B ", " D ", " C C ", " C C ", " "}, - {" ", " ", " C C ", " D ", " B ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " DB BD ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " B ", " D ", " C C ", " ", " "}, - {" ", " ", " C C ", " C C ", " D ", " EEEBEEE ", " ", " ", " ", " ", " ", " ", " ", " E E ", " E E ", " CC E E CC ", " DB BD ", " CC E E CC ", " E E ", " E E ", " ", " ", " ", " ", " ", " ", " ", " EEEBEEE ", " D ", " C C ", " C C ", " ", " "}, - {" ", " ", " ", " C C ", " CCCCC ", " D ", " B ", " ", " ", " ", " ", " ", " ", " ", " C C ", " CC CC ", " CDB BDC ", " CC CC ", " C C ", " ", " ", " ", " ", " ", " ", " ", " B ", " D ", " CCCCC ", " C C ", " ", " ", " "}, - {" ", " ", " ", " ", " C C ", " C C ", " D ", " EEEBEEE ", " ", " ", " ", " ", " ", " E E ", " E E ", " CC E E CC ", " DB BD ", " CC E E CC ", " E E ", " E E ", " ", " ", " ", " ", " ", " EEEBEEE ", " D ", " C C ", " C C ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " C C ", " CCCCC ", " D ", " B ", " B ", " ", " ", " ", " ", " C C ", " CC CC ", " CDBB BBDC ", " CC CC ", " C C ", " ", " ", " ", " ", " B ", " B ", " D ", " CCCCC ", " C C ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " C C ", " C C ", " D ", " D ", " ", " ", " ", " ", " ", " CC CC ", " DD DD ", " CC CC ", " ", " ", " ", " D ", " D ", " D ", " D ", " C C ", " C C ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " D ", " D ", " DDDDDDD ", " DD DD ", " D EEE D ", " CCC D EAAAE D CCC ", " DDD EAAAE DDD ", " CCC D EAAAE D CCC ", " D EEE D ", " DD DD ", " DDDDDDD ", " D ", " D ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " C C ", " DDDDD ", " DDCDCDD ", " CCCCDCCDCCDCCCC ", " DDDDDDD ", " CCCCDCCDCCDCCCC ", " DDCDCDD ", " DDDDD ", " C C ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " CCCCCCCCC ", " C C ", " CCCCCCCCC ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "} - })) - .addShape("main_t2", transpose(new String[][]{ - {" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " CCCCCCCCC ", " C C ", " CCCCCCCCC ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " GGC CGG ", " GGGC CGGG ", " GGGGC CGGGG ", " GGGGDDDDDGGGG ", " GGGDDCDCDDGGG ", " CCCCDCCDCCDCCCC ", " DDDDDDD ", " CCCCDCCDCCDCCCC ", " GGGDDCDCDDGGG ", " GGGGDDDDDGGGG ", " GGGGC CGGGG ", " GGGC CGGG ", " GGC CGG ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " C C ", " GGC CGG ", " GGGGC CGGGG ", " GGG D GGG ", " GGG D GGG ", " GG DDDDDDD GG ", " GG DD DD GG ", " GG D EEE D GG ", " CCC D EAAAE D CCC ", " DDD EAAAE DDD ", " CCC D EAAAE D CCC ", " GG D EEE D GG ", " GG DD DD GG ", " GG DDDDDDD GG ", " GGG D GGG ", " GGG D GGG ", " GGGGC CGGGG ", " GGC CGG ", " C C ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " C C ", " GGGC CGGG ", " GGG D GGG ", " GG D GG ", " GG GG ", " G G ", " GG GG ", " G G ", " G G ", " CC CC ", " DD DD ", " CC CC ", " G G ", " G G ", " GG GG ", " G G ", " GG GG ", " GG D GG ", " GGG D GGG ", " GGGC CGGG ", " C C ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " C C ", " GGGCCCCCGGG ", " GGG D GGG ", " GG B GG ", " GG B GG ", " G G ", " GG GG ", " G G ", " G G ", " C C ", " CC CC ", " CDBB BBDC ", " CC CC ", " C C ", " G G ", " G G ", " GG GG ", " G G ", " GG B GG ", " GG B GG ", " GGG D GGG ", " GGGCCCCCGGG ", " C C ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " C C ", " GGGGGC CGGGGG ", " GGG D GGG ", " GG EEEBEEE GG ", " GG GG ", " G G ", " GG GG ", " G G ", " G G ", " G E E G ", " G E E G ", " CC E E CC ", " DB BD ", " CC E E CC ", " G E E G ", " G E E G ", " G G ", " G G ", " GG GG ", " G G ", " GG GG ", " GG EEEBEEE GG ", " GGG D GGG ", " GGGGGC CGGGGG ", " C C ", " ", " ", " ", " "}, - {" ", " ", " ", " C C ", " GGGCCCCCGGG ", " GGG D GGG ", " GG B GG ", " G G ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " CC CC ", " CDB BDC ", " CC CC ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " G G ", " GG B GG ", " GGG D GGG ", " GGGCCCCCGGG ", " C C ", " ", " ", " "}, - {" ", " ", " C C ", " GGGC CGGG ", " GGG D GGG ", " GG EEEBEEE GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G E E G ", " G E E G ", " CC E E CC ", " DB BD ", " CC E E CC ", " G E E G ", " G E E G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG EEEBEEE GG ", " GGG D GGG ", " GGGC CGGG ", " C C ", " ", " "}, - {" ", " ", " GGC CGG ", " GGG D GGG ", " GG B GG ", " GG GG ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " DB BD ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " GG GG ", " GG B GG ", " GGG D GGG ", " GGC CGG ", " ", " "}, - {" ", " C C ", " GGGGC CGGGG ", " GG D GG ", " GG B GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " CC CC ", " DB BD ", " CC CC ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG B GG ", " GG D GG ", " GGGGC CGGGG ", " C C ", " "}, - {" ", " GGC CGG ", " GGG D GGG ", " GG GG ", " G G ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " D D ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " G G ", " GG GG ", " GGG D GGG ", " GGC CGG ", " "}, - {" ", " GGGC CGGG ", " GGG D GGG ", " G G ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " D D ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " G G ", " GGG D GGG ", " GGGC CGGG ", " "}, - {" CCCCCCC ", " GGGGC CGGGG ", " GG DDDDDDD GG ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GD DG ", " GD DG ", "CCD DCC", " D D ", "CCD DCC", " GD DG ", " GD DG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " GG DDDDDDD GG ", " GGGGC CGGGG ", " C C "}, - {" CCHHHHHCC ", " GGGGDDDDDGGGG ", " GG DD DD GG ", " G G ", " G G ", " G E E G ", " G G ", " G E E G ", " G G ", " G G ", " G G ", " G G ", " GD DG ", " GD DG ", " D D ", "CD DC", " D D ", "CD DC", " D D ", " GD DG ", " GD DG ", " G G ", " G G ", " G G ", " G G ", " G E E G ", " G G ", " G E E G ", " G G ", " G G ", " GG DD DD GG ", " GGGGDDDDDGGGG ", " C C "}, - {" CHHHHHHHC ", " GGGDDCDCDDGGG ", " GG D EEE D GG ", " G G ", " C C ", " G E E G ", " C C ", " G E E G ", " G G ", " G G ", " G G ", " G G ", " GD DG ", " D D ", " D D ", "CCE ECC", " DE ED ", "CCE ECC", " D D ", " D D ", " GD DG ", " G G ", " G G ", " G G ", " G G ", " G E E G ", " C C ", " G E E G ", " C C ", " G G ", " GG D EEE D GG ", " GGGDDCDCDDGGG ", " C C "}, - {" CHHFFFHHC ", " CCCCDCCDCCDCCCC ", " CCC D EAAAE D CCC ", " CC CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC E E CC ", " C C ", " CC CC ", " C C ", " C C ", "CCD DCC", "CD DC", "CCE ECC", "CCA ACC", "CDA ADC", "CCA ACC", "CCE ECC", "CD DC", "CCD DCC", " C C ", " C C ", " CC CC ", " C C ", " CC E E CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC CC ", " CCC D EAAAE D CCC ", " CCCCDCCDCCDCCCC ", " CCCCCCCCC "}, - {" CHHF~FHHC ", " DDDDDDD ", " DDD EAAAE DDD ", " DD DD ", " CDBB BBDC ", " DB BD ", " CDB BDC ", " DB BD ", " DB BD ", " DB BD ", " D D ", " D D ", " D D ", " D D ", " DE ED ", "CDA ADC", " DA AD ", "CDA ADC", " DE ED ", " D D ", " D D ", " D D ", " D D ", " DB BD ", " DB BD ", " DB BD ", " CDB BDC ", " DB BD ", " CDBB BBDC ", " DD DD ", " DDD EAAAE DDD ", " DDDDDDD ", " C C "}, - {" CHHFFFHHC ", " CCCCDCCDCCDCCCC ", " CCC D EAAAE D CCC ", " CC CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC E E CC ", " C C ", " CC CC ", " C C ", " C C ", "CCD DCC", "CD DC", "CCE ECC", "CCA ACC", "CDA ADC", "CCA ACC", "CCE ECC", "CD DC", "CCD DCC", " C C ", " C C ", " CC CC ", " C C ", " CC E E CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC CC ", " CCC D EAAAE D CCC ", " CCCCDCCDCCDCCCC ", " CCCCCCCCC "}, - {" CHHHHHHHC ", " GGGDDCDCDDGGG ", " GG D EEE D GG ", " G G ", " C C ", " G E E G ", " C C ", " G E E G ", " G G ", " G G ", " G G ", " G G ", " GD DG ", " D D ", " D D ", "CCE ECC", " DE ED ", "CCE ECC", " D D ", " D D ", " GD DG ", " G G ", " G G ", " G G ", " G G ", " G E E G ", " C C ", " G E E G ", " C C ", " G G ", " GG D EEE D GG ", " GGGDDCDCDDGGG ", " C C "}, - {" CCHHHHHCC ", " GGGGDDDDDGGGG ", " GG DD DD GG ", " G G ", " G G ", " G E E G ", " G G ", " G E E G ", " G G ", " G G ", " G G ", " G G ", " GD DG ", " GD DG ", " D D ", "CD DC", " D D ", "CD DC", " D D ", " GD DG ", " GD DG ", " G G ", " G G ", " G G ", " G G ", " G E E G ", " G G ", " G E E G ", " G G ", " G G ", " GG DD DD GG ", " GGGGDDDDDGGGG ", " C C "}, - {" CCCCCCC ", " GGGGC CGGGG ", " GG DDDDDDD GG ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GD DG ", " GD DG ", "CCD DCC", " D D ", "CCD DCC", " GD DG ", " GD DG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " GG DDDDDDD GG ", " GGGGC CGGGG ", " C C "}, - {" ", " GGGC CGGG ", " GGG D GGG ", " G G ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " D D ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " G G ", " GGG D GGG ", " GGGC CGGG ", " "}, - {" ", " GGC CGG ", " GGG D GGG ", " GG GG ", " G G ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " D D ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " G G ", " GG GG ", " GGG D GGG ", " GGC CGG ", " "}, - {" ", " C C ", " GGGGC CGGGG ", " GG D GG ", " GG B GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " CC CC ", " DB BD ", " CC CC ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG B GG ", " GG D GG ", " GGGGC CGGGG ", " C C ", " "}, - {" ", " ", " GGC CGG ", " GGG D GGG ", " GG B GG ", " GG GG ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " DB BD ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " GG GG ", " GG B GG ", " GGG D GGG ", " GGC CGG ", " ", " "}, - {" ", " ", " C C ", " GGGC CGGG ", " GGG D GGG ", " GG EEEBEEE GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G E E G ", " G E E G ", " CC E E CC ", " DB BD ", " CC E E CC ", " G E E G ", " G E E G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG EEEBEEE GG ", " GGG D GGG ", " GGGC CGGG ", " C C ", " ", " "}, - {" ", " ", " ", " C C ", " GGGCCCCCGGG ", " GGG D GGG ", " GG B GG ", " G G ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " CC CC ", " CDB BDC ", " CC CC ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " G G ", " GG B GG ", " GGG D GGG ", " GGGCCCCCGGG ", " C C ", " ", " ", " "}, - {" ", " ", " ", " ", " C C ", " GGGGGC CGGGGG ", " GGG D GGG ", " GG EEEBEEE GG ", " GG GG ", " G G ", " GG GG ", " G G ", " G G ", " G E E G ", " G E E G ", " CC E E CC ", " DB BD ", " CC E E CC ", " G E E G ", " G E E G ", " G G ", " G G ", " GG GG ", " G G ", " GG GG ", " GG EEEBEEE GG ", " GGG D GGG ", " GGGGGC CGGGGG ", " C C ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " C C ", " GGGCCCCCGGG ", " GGG D GGG ", " GG B GG ", " GG B GG ", " G G ", " GG GG ", " G G ", " G G ", " C C ", " CC CC ", " CDBB BBDC ", " CC CC ", " C C ", " G G ", " G G ", " GG GG ", " G G ", " GG B GG ", " GG B GG ", " GGG D GGG ", " GGGCCCCCGGG ", " C C ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " C C ", " GGGC CGGG ", " GGG D GGG ", " GG D GG ", " GG GG ", " G G ", " GG GG ", " G G ", " G G ", " CC CC ", " DD DD ", " CC CC ", " G G ", " G G ", " GG GG ", " G D G ", " GG D GG ", " GG D GG ", " GGG D GGG ", " GGGC CGGG ", " C C ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " C C ", " GGC CGG ", " GGGGC CGGGG ", " GGG D GGG ", " GGG D GGG ", " GG DDDDDDD GG ", " GG DD DD GG ", " GG D EEE D GG ", " CCC D EAAAE D CCC ", " DDD EAAAE DDD ", " CCC D EAAAE D CCC ", " GG D EEE D GG ", " GG DD DD GG ", " GG DDDDDDD GG ", " GGG D GGG ", " GGG D GGG ", " GGGGC CGGGG ", " GGC CGG ", " C C ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " GGC CGG ", " GGGC CGGG ", " GGGGC CGGGG ", " GGGGDDDDDGGGG ", " GGGDDCDCDDGGG ", " CCCCDCCDCCDCCCC ", " DDDDDDD ", " CCCCDCCDCCDCCCC ", " GGGDDCDCDDGGG ", " GGGGDDDDDGGGG ", " GGGGC CGGGG ", " GGGC CGGG ", " GGC CGG ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " CCCCCCCCC ", " C C ", " CCCCCCCCC ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 10)) - .addElement('B', ofBlock(sBlockCasingsTT, 11)) - .addElement('C', ofBlock(sBlockCasingsTT, 12)) - .addElement('D', ofBlock(sBlockCasingsTT, 13)) - .addElement('E', ofBlock(sBlockCasingsTT, 14)) - .addElement('G', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('H', ofHatchAdderOptional(GT_MetaTileEntity_EM_bhg::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_bhg::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) - .build(); + // region structure actual + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main_t1", transpose(new String[][] { + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " C C ", + " CCCCCCCCC ", + " C C ", + " CCCCCCCCC ", + " C C ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " C C ", + " C C ", + " DDDDD ", + " DDCDCDD ", + " CCCCDCCDCCDCCCC ", + " DDDDDDD ", + " CCCCDCCDCCDCCCC ", + " DDCDCDD ", + " DDDDD ", + " C C ", + " C C ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " C C ", + " D ", + " D ", + " DDDDDDD ", + " DD DD ", + " D EEE D ", + " CCC D EAAAE D CCC ", + " DDD EAAAE DDD ", + " CCC D EAAAE D CCC ", + " D EEE D ", + " DD DD ", + " DDDDDDD ", + " D ", + " D ", + " C C ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " D ", + " D ", + " ", + " ", + " ", + " ", + " ", + " CC CC ", + " DD DD ", + " CC CC ", + " ", + " ", + " ", + " ", + " ", + " D ", + " D ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " C C ", + " CCCCC ", + " D ", + " B ", + " B ", + " ", + " ", + " ", + " ", + " C C ", + " CC CC ", + " CDBB BBDC ", + " CC CC ", + " C C ", + " ", + " ", + " ", + " ", + " B ", + " B ", + " D ", + " CCCCC ", + " C C ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " D ", + " EEEBEEE ", + " ", + " ", + " ", + " ", + " ", + " E E ", + " E E ", + " CC E E CC ", + " DB BD ", + " CC E E CC ", + " E E ", + " E E ", + " ", + " ", + " ", + " ", + " ", + " EEEBEEE ", + " D ", + " C C ", + " C C ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " C C ", + " CCCCC ", + " D ", + " B ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " CC CC ", + " CDB BDC ", + " CC CC ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " B ", + " D ", + " CCCCC ", + " C C ", + " ", + " ", + " " + }, + { + " ", + " ", + " C C ", + " C C ", + " D ", + " EEEBEEE ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " E E ", + " E E ", + " CC E E CC ", + " DB BD ", + " CC E E CC ", + " E E ", + " E E ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " EEEBEEE ", + " D ", + " C C ", + " C C ", + " ", + " " + }, + { + " ", + " ", + " C C ", + " D ", + " B ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " DB BD ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " B ", + " D ", + " C C ", + " ", + " " + }, + { + " ", + " C C ", + " C C ", + " D ", + " B ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " CC CC ", + " DB BD ", + " CC CC ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " B ", + " D ", + " C C ", + " C C ", + " " + }, + { + " ", + " C C ", + " D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " D D ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D ", + " C C ", + " " + }, + { + " ", + " C C ", + " D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " D D ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D ", + " C C ", + " " + }, + { + " CCCCCCC ", + " C C ", + " DDDDDDD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D ", + " D D ", + "CCD DCC", + " D D ", + "CCD DCC", + " D D ", + " D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DDDDDDD ", + " C C ", + " C C " + }, + { + " CCHHHHHCC ", + " DDDDD ", + " DD DD ", + " ", + " ", + " E E ", + " ", + " E E ", + " ", + " ", + " ", + " ", + " D D ", + " D D ", + " D D ", + "CD DC", + " D D ", + "CD DC", + " D D ", + " D D ", + " D D ", + " ", + " ", + " ", + " ", + " E E ", + " ", + " E E ", + " ", + " ", + " DD DD ", + " DDDDD ", + " C C " + }, + { + " CHHHHHHHC ", + " DDCDCDD ", + " D EEE D ", + " ", + " C C ", + " E E ", + " C C ", + " E E ", + " ", + " ", + " ", + " ", + " D D ", + " D D ", + " D D ", + "CCE ECC", + " DE ED ", + "CCE ECC", + " D D ", + " D D ", + " D D ", + " ", + " ", + " ", + " ", + " E E ", + " C C ", + " E E ", + " C C ", + " ", + " D EEE D ", + " DDCDCDD ", + " C C " + }, + { + " CHHFFFHHC ", + " CCCCDCCDCCDCCCC ", + " CCC D EAAAE D CCC ", + " CC CC ", + " CC CC ", + " CC E E CC ", + " CC CC ", + " CC E E CC ", + " C C ", + " CC CC ", + " C C ", + " C C ", + "CCD DCC", + "CD DC", + "CCE ECC", + "CCA ACC", + "CDA ADC", + "CCA ACC", + "CCE ECC", + "CD DC", + "CCD DCC", + " C C ", + " C C ", + " CC CC ", + " C C ", + " CC E E CC ", + " CC CC ", + " CC E E CC ", + " CC CC ", + " CC CC ", + " CCC D EAAAE D CCC ", + " CCCCDCCDCCDCCCC ", + " CCCCCCCCC " + }, + { + " CHHF~FHHC ", + " DDDDDDD ", + " DDD EAAAE DDD ", + " DD DD ", + " CDBB BBDC ", + " DB BD ", + " CDB BDC ", + " DB BD ", + " DB BD ", + " DB BD ", + " D D ", + " D D ", + " D D ", + " D D ", + " DE ED ", + "CDA ADC", + " DA AD ", + "CDA ADC", + " DE ED ", + " D D ", + " D D ", + " D D ", + " D D ", + " DB BD ", + " DB BD ", + " DB BD ", + " CDB BDC ", + " DB BD ", + " CDBB BBDC ", + " DD DD ", + " DDD EAAAE DDD ", + " DDDDDDD ", + " C C " + }, + { + " CHHFFFHHC ", + " CCCCDCCDCCDCCCC ", + " CCC D EAAAE D CCC ", + " CC CC ", + " CC CC ", + " CC E E CC ", + " CC CC ", + " CC E E CC ", + " C C ", + " CC CC ", + " C C ", + " C C ", + "CCD DCC", + "CD DC", + "CCE ECC", + "CCA ACC", + "CDA ADC", + "CCA ACC", + "CCE ECC", + "CD DC", + "CCD DCC", + " C C ", + " C C ", + " CC CC ", + " C C ", + " CC E E CC ", + " CC CC ", + " CC E E CC ", + " CC CC ", + " CC CC ", + " CCC D EAAAE D CCC ", + " CCCCDCCDCCDCCCC ", + " CCCCCCCCC " + }, + { + " CHHHHHHHC ", + " DDCDCDD ", + " D EEE D ", + " ", + " C C ", + " E E ", + " C C ", + " E E ", + " ", + " ", + " ", + " ", + " D D ", + " D D ", + " D D ", + "CCE ECC", + " DE ED ", + "CCE ECC", + " D D ", + " D D ", + " D D ", + " ", + " ", + " ", + " ", + " E E ", + " C C ", + " E E ", + " C C ", + " ", + " D EEE D ", + " DDCDCDD ", + " C C " + }, + { + " CCHHHHHCC ", + " DDDDD ", + " DD DD ", + " ", + " ", + " E E ", + " ", + " E E ", + " ", + " ", + " ", + " ", + " D D ", + " D D ", + " D D ", + "CD DC", + " D D ", + "CD DC", + " D D ", + " D D ", + " D D ", + " ", + " ", + " ", + " ", + " E E ", + " ", + " E E ", + " ", + " ", + " DD DD ", + " DDDDD ", + " C C " + }, + { + " CCCCCCC ", + " C C ", + " DDDDDDD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D ", + " D D ", + "CCD DCC", + " D D ", + "CCD DCC", + " D D ", + " D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DDDDDDD ", + " C C ", + " C C " + }, + { + " ", + " C C ", + " D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " D D ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D ", + " C C ", + " " + }, + { + " ", + " C C ", + " D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " D D ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D ", + " C C ", + " " + }, + { + " ", + " C C ", + " C C ", + " D ", + " B ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " CC CC ", + " DB BD ", + " CC CC ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " B ", + " D ", + " C C ", + " C C ", + " " + }, + { + " ", + " ", + " C C ", + " D ", + " B ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " DB BD ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " B ", + " D ", + " C C ", + " ", + " " + }, + { + " ", + " ", + " C C ", + " C C ", + " D ", + " EEEBEEE ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " E E ", + " E E ", + " CC E E CC ", + " DB BD ", + " CC E E CC ", + " E E ", + " E E ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " EEEBEEE ", + " D ", + " C C ", + " C C ", + " ", + " " + }, + { + " ", + " ", + " ", + " C C ", + " CCCCC ", + " D ", + " B ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " CC CC ", + " CDB BDC ", + " CC CC ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " B ", + " D ", + " CCCCC ", + " C C ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " D ", + " EEEBEEE ", + " ", + " ", + " ", + " ", + " ", + " E E ", + " E E ", + " CC E E CC ", + " DB BD ", + " CC E E CC ", + " E E ", + " E E ", + " ", + " ", + " ", + " ", + " ", + " EEEBEEE ", + " D ", + " C C ", + " C C ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " C C ", + " CCCCC ", + " D ", + " B ", + " B ", + " ", + " ", + " ", + " ", + " C C ", + " CC CC ", + " CDBB BBDC ", + " CC CC ", + " C C ", + " ", + " ", + " ", + " ", + " B ", + " B ", + " D ", + " CCCCC ", + " C C ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " D ", + " D ", + " ", + " ", + " ", + " ", + " ", + " CC CC ", + " DD DD ", + " CC CC ", + " ", + " ", + " ", + " D ", + " D ", + " D ", + " D ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " C C ", + " D ", + " D ", + " DDDDDDD ", + " DD DD ", + " D EEE D ", + " CCC D EAAAE D CCC ", + " DDD EAAAE DDD ", + " CCC D EAAAE D CCC ", + " D EEE D ", + " DD DD ", + " DDDDDDD ", + " D ", + " D ", + " C C ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " C C ", + " C C ", + " DDDDD ", + " DDCDCDD ", + " CCCCDCCDCCDCCCC ", + " DDDDDDD ", + " CCCCDCCDCCDCCCC ", + " DDCDCDD ", + " DDDDD ", + " C C ", + " C C ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " C C ", + " CCCCCCCCC ", + " C C ", + " CCCCCCCCC ", + " C C ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + } + })) + .addShape("main_t2", transpose(new String[][] { + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " C C ", + " CCCCCCCCC ", + " C C ", + " CCCCCCCCC ", + " C C ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " GGC CGG ", + " GGGC CGGG ", + " GGGGC CGGGG ", + " GGGGDDDDDGGGG ", + " GGGDDCDCDDGGG ", + " CCCCDCCDCCDCCCC ", + " DDDDDDD ", + " CCCCDCCDCCDCCCC ", + " GGGDDCDCDDGGG ", + " GGGGDDDDDGGGG ", + " GGGGC CGGGG ", + " GGGC CGGG ", + " GGC CGG ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " GGC CGG ", + " GGGGC CGGGG ", + " GGG D GGG ", + " GGG D GGG ", + " GG DDDDDDD GG ", + " GG DD DD GG ", + " GG D EEE D GG ", + " CCC D EAAAE D CCC ", + " DDD EAAAE DDD ", + " CCC D EAAAE D CCC ", + " GG D EEE D GG ", + " GG DD DD GG ", + " GG DDDDDDD GG ", + " GGG D GGG ", + " GGG D GGG ", + " GGGGC CGGGG ", + " GGC CGG ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " GGGC CGGG ", + " GGG D GGG ", + " GG D GG ", + " GG GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " CC CC ", + " DD DD ", + " CC CC ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GG GG ", + " GG D GG ", + " GGG D GGG ", + " GGGC CGGG ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " C C ", + " GGGCCCCCGGG ", + " GGG D GGG ", + " GG B GG ", + " GG B GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " C C ", + " CC CC ", + " CDBB BBDC ", + " CC CC ", + " C C ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GG B GG ", + " GG B GG ", + " GGG D GGG ", + " GGGCCCCCGGG ", + " C C ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " C C ", + " GGGGGC CGGGGG ", + " GGG D GGG ", + " GG EEEBEEE GG ", + " GG GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " G E E G ", + " G E E G ", + " CC E E CC ", + " DB BD ", + " CC E E CC ", + " G E E G ", + " G E E G ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GG GG ", + " GG EEEBEEE GG ", + " GGG D GGG ", + " GGGGGC CGGGGG ", + " C C ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " C C ", + " GGGCCCCCGGG ", + " GGG D GGG ", + " GG B GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " C C ", + " CC CC ", + " CDB BDC ", + " CC CC ", + " C C ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GG B GG ", + " GGG D GGG ", + " GGGCCCCCGGG ", + " C C ", + " ", + " ", + " " + }, + { + " ", + " ", + " C C ", + " GGGC CGGG ", + " GGG D GGG ", + " GG EEEBEEE GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G E E G ", + " G E E G ", + " CC E E CC ", + " DB BD ", + " CC E E CC ", + " G E E G ", + " G E E G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG EEEBEEE GG ", + " GGG D GGG ", + " GGGC CGGG ", + " C C ", + " ", + " " + }, + { + " ", + " ", + " GGC CGG ", + " GGG D GGG ", + " GG B GG ", + " GG GG ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " C C ", + " DB BD ", + " C C ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " GG GG ", + " GG B GG ", + " GGG D GGG ", + " GGC CGG ", + " ", + " " + }, + { + " ", + " C C ", + " GGGGC CGGGG ", + " GG D GG ", + " GG B GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " CC CC ", + " DB BD ", + " CC CC ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG B GG ", + " GG D GG ", + " GGGGC CGGGG ", + " C C ", + " " + }, + { + " ", + " GGC CGG ", + " GGG D GGG ", + " GG GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " C C ", + " D D ", + " C C ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GG GG ", + " GGG D GGG ", + " GGC CGG ", + " " + }, + { + " ", + " GGGC CGGG ", + " GGG D GGG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " C C ", + " D D ", + " C C ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GGG D GGG ", + " GGGC CGGG ", + " " + }, + { + " CCCCCCC ", + " GGGGC CGGGG ", + " GG DDDDDDD GG ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GD DG ", + " GD DG ", + "CCD DCC", + " D D ", + "CCD DCC", + " GD DG ", + " GD DG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " GG DDDDDDD GG ", + " GGGGC CGGGG ", + " C C " + }, + { + " CCHHHHHCC ", + " GGGGDDDDDGGGG ", + " GG DD DD GG ", + " G G ", + " G G ", + " G E E G ", + " G G ", + " G E E G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GD DG ", + " GD DG ", + " D D ", + "CD DC", + " D D ", + "CD DC", + " D D ", + " GD DG ", + " GD DG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G E E G ", + " G G ", + " G E E G ", + " G G ", + " G G ", + " GG DD DD GG ", + " GGGGDDDDDGGGG ", + " C C " + }, + { + " CHHHHHHHC ", + " GGGDDCDCDDGGG ", + " GG D EEE D GG ", + " G G ", + " C C ", + " G E E G ", + " C C ", + " G E E G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GD DG ", + " D D ", + " D D ", + "CCE ECC", + " DE ED ", + "CCE ECC", + " D D ", + " D D ", + " GD DG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G E E G ", + " C C ", + " G E E G ", + " C C ", + " G G ", + " GG D EEE D GG ", + " GGGDDCDCDDGGG ", + " C C " + }, + { + " CHHFFFHHC ", + " CCCCDCCDCCDCCCC ", + " CCC D EAAAE D CCC ", + " CC CC ", + " CC CC ", + " CC E E CC ", + " CC CC ", + " CC E E CC ", + " C C ", + " CC CC ", + " C C ", + " C C ", + "CCD DCC", + "CD DC", + "CCE ECC", + "CCA ACC", + "CDA ADC", + "CCA ACC", + "CCE ECC", + "CD DC", + "CCD DCC", + " C C ", + " C C ", + " CC CC ", + " C C ", + " CC E E CC ", + " CC CC ", + " CC E E CC ", + " CC CC ", + " CC CC ", + " CCC D EAAAE D CCC ", + " CCCCDCCDCCDCCCC ", + " CCCCCCCCC " + }, + { + " CHHF~FHHC ", + " DDDDDDD ", + " DDD EAAAE DDD ", + " DD DD ", + " CDBB BBDC ", + " DB BD ", + " CDB BDC ", + " DB BD ", + " DB BD ", + " DB BD ", + " D D ", + " D D ", + " D D ", + " D D ", + " DE ED ", + "CDA ADC", + " DA AD ", + "CDA ADC", + " DE ED ", + " D D ", + " D D ", + " D D ", + " D D ", + " DB BD ", + " DB BD ", + " DB BD ", + " CDB BDC ", + " DB BD ", + " CDBB BBDC ", + " DD DD ", + " DDD EAAAE DDD ", + " DDDDDDD ", + " C C " + }, + { + " CHHFFFHHC ", + " CCCCDCCDCCDCCCC ", + " CCC D EAAAE D CCC ", + " CC CC ", + " CC CC ", + " CC E E CC ", + " CC CC ", + " CC E E CC ", + " C C ", + " CC CC ", + " C C ", + " C C ", + "CCD DCC", + "CD DC", + "CCE ECC", + "CCA ACC", + "CDA ADC", + "CCA ACC", + "CCE ECC", + "CD DC", + "CCD DCC", + " C C ", + " C C ", + " CC CC ", + " C C ", + " CC E E CC ", + " CC CC ", + " CC E E CC ", + " CC CC ", + " CC CC ", + " CCC D EAAAE D CCC ", + " CCCCDCCDCCDCCCC ", + " CCCCCCCCC " + }, + { + " CHHHHHHHC ", + " GGGDDCDCDDGGG ", + " GG D EEE D GG ", + " G G ", + " C C ", + " G E E G ", + " C C ", + " G E E G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GD DG ", + " D D ", + " D D ", + "CCE ECC", + " DE ED ", + "CCE ECC", + " D D ", + " D D ", + " GD DG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G E E G ", + " C C ", + " G E E G ", + " C C ", + " G G ", + " GG D EEE D GG ", + " GGGDDCDCDDGGG ", + " C C " + }, + { + " CCHHHHHCC ", + " GGGGDDDDDGGGG ", + " GG DD DD GG ", + " G G ", + " G G ", + " G E E G ", + " G G ", + " G E E G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GD DG ", + " GD DG ", + " D D ", + "CD DC", + " D D ", + "CD DC", + " D D ", + " GD DG ", + " GD DG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G E E G ", + " G G ", + " G E E G ", + " G G ", + " G G ", + " GG DD DD GG ", + " GGGGDDDDDGGGG ", + " C C " + }, + { + " CCCCCCC ", + " GGGGC CGGGG ", + " GG DDDDDDD GG ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GD DG ", + " GD DG ", + "CCD DCC", + " D D ", + "CCD DCC", + " GD DG ", + " GD DG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " GG DDDDDDD GG ", + " GGGGC CGGGG ", + " C C " + }, + { + " ", + " GGGC CGGG ", + " GGG D GGG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " C C ", + " D D ", + " C C ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GGG D GGG ", + " GGGC CGGG ", + " " + }, + { + " ", + " GGC CGG ", + " GGG D GGG ", + " GG GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " C C ", + " D D ", + " C C ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GG GG ", + " GGG D GGG ", + " GGC CGG ", + " " + }, + { + " ", + " C C ", + " GGGGC CGGGG ", + " GG D GG ", + " GG B GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " CC CC ", + " DB BD ", + " CC CC ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG B GG ", + " GG D GG ", + " GGGGC CGGGG ", + " C C ", + " " + }, + { + " ", + " ", + " GGC CGG ", + " GGG D GGG ", + " GG B GG ", + " GG GG ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " C C ", + " DB BD ", + " C C ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " GG GG ", + " GG B GG ", + " GGG D GGG ", + " GGC CGG ", + " ", + " " + }, + { + " ", + " ", + " C C ", + " GGGC CGGG ", + " GGG D GGG ", + " GG EEEBEEE GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G E E G ", + " G E E G ", + " CC E E CC ", + " DB BD ", + " CC E E CC ", + " G E E G ", + " G E E G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG EEEBEEE GG ", + " GGG D GGG ", + " GGGC CGGG ", + " C C ", + " ", + " " + }, + { + " ", + " ", + " ", + " C C ", + " GGGCCCCCGGG ", + " GGG D GGG ", + " GG B GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " C C ", + " CC CC ", + " CDB BDC ", + " CC CC ", + " C C ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GG B GG ", + " GGG D GGG ", + " GGGCCCCCGGG ", + " C C ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " C C ", + " GGGGGC CGGGGG ", + " GGG D GGG ", + " GG EEEBEEE GG ", + " GG GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " G E E G ", + " G E E G ", + " CC E E CC ", + " DB BD ", + " CC E E CC ", + " G E E G ", + " G E E G ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GG GG ", + " GG EEEBEEE GG ", + " GGG D GGG ", + " GGGGGC CGGGGG ", + " C C ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " C C ", + " GGGCCCCCGGG ", + " GGG D GGG ", + " GG B GG ", + " GG B GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " C C ", + " CC CC ", + " CDBB BBDC ", + " CC CC ", + " C C ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GG B GG ", + " GG B GG ", + " GGG D GGG ", + " GGGCCCCCGGG ", + " C C ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " GGGC CGGG ", + " GGG D GGG ", + " GG D GG ", + " GG GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " CC CC ", + " DD DD ", + " CC CC ", + " G G ", + " G G ", + " GG GG ", + " G D G ", + " GG D GG ", + " GG D GG ", + " GGG D GGG ", + " GGGC CGGG ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " GGC CGG ", + " GGGGC CGGGG ", + " GGG D GGG ", + " GGG D GGG ", + " GG DDDDDDD GG ", + " GG DD DD GG ", + " GG D EEE D GG ", + " CCC D EAAAE D CCC ", + " DDD EAAAE DDD ", + " CCC D EAAAE D CCC ", + " GG D EEE D GG ", + " GG DD DD GG ", + " GG DDDDDDD GG ", + " GGG D GGG ", + " GGG D GGG ", + " GGGGC CGGGG ", + " GGC CGG ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " GGC CGG ", + " GGGC CGGG ", + " GGGGC CGGGG ", + " GGGGDDDDDGGGG ", + " GGGDDCDCDDGGG ", + " CCCCDCCDCCDCCCC ", + " DDDDDDD ", + " CCCCDCCDCCDCCCC ", + " GGGDDCDCDDGGG ", + " GGGGDDDDDGGGG ", + " GGGGC CGGGG ", + " GGGC CGGG ", + " GGC CGG ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " C C ", + " CCCCCCCCC ", + " C C ", + " CCCCCCCCC ", + " C C ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + } + })) + .addElement('A', ofBlock(sBlockCasingsTT, 10)) + .addElement('B', ofBlock(sBlockCasingsTT, 11)) + .addElement('C', ofBlock(sBlockCasingsTT, 12)) + .addElement('D', ofBlock(sBlockCasingsTT, 13)) + .addElement('E', ofBlock(sBlockCasingsTT, 14)) + .addElement('G', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'H', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_bhg::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'F', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_bhg::addElementalToMachineList, + textureOffset + 4, + 2, + sBlockCasingsTT, + 4)) + .build(); @Override public IStructureDefinition getStructure_EM() { return STRUCTURE_DEFINITION; } - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.blackholegenerator.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.blackholegenerator.hint.1"),//2 - Elemental Hatches or Molecular Casing + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.blackholegenerator.hint.0"), // 1 - Classic Hatches or High Power + // Casing + translateToLocal( + "gt.blockmachines.multimachine.em.blackholegenerator.hint.1"), // 2 - Elemental Hatches or Molecular + // Casing }; - //endregion + // endregion public GT_MetaTileEntity_EM_bhg(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -256,9 +2521,9 @@ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_E return getLuminosity(massKg) + getAcretionDiskLuminosity(massKgPer1s) - getContainmentPower(massKg); } - //todo compaction energy 8 * Long.MAx_VALUE? + // todo compaction energy 8 * Long.MAx_VALUE? - //todo neutronium decay gen? 0.0007186885 mass diff - actually compute hydrogen amount... + // todo neutronium decay gen? 0.0007186885 mass diff - actually compute hydrogen amount... @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { @@ -275,21 +2540,32 @@ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_E glassDome = false; return true; } - //todo check tiers of hatches!!!! + // todo check tiers of hatches!!!! return false; } @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.blackholegenerator.name")) // Machine Type: Black Hole Generator - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.blackholegenerator.desc.0")) // Controller block of the Black Hole Generator - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.blackholegenerator.desc.1")) // Uses a black hole to generate power + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.blackholegenerator.name")) // Machine Type: Black Hole + // Generator + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.blackholegenerator.desc.0")) // Controller block of + // the Black Hole + // Generator + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.blackholegenerator.desc.1")) // Uses a black hole to + // generate power .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(33, 33, 33, false) - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), 1) // Energy Hatch: Any High Power Casing with 1 dot - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), 1) // Maintenance Hatch: Any High Power Casing with 1 dot + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), + 1) // Energy Hatch: Any High Power Casing with 1 dot + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), + 1) // Maintenance Hatch: Any High Power Casing with 1 dot .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -303,11 +2579,20 @@ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_E } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][12], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][12], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][12]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][12]}; } @Override 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 49d97e1e7b..7651cb22c4 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 @@ -1,6 +1,16 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import com.github.technus.tectech.TecTech; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.CommonValues.MULTI_CHECK_AT; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.dataTransport.QuantumDataPacket; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputData; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_OutputData; @@ -8,8 +18,6 @@ import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_H import com.github.technus.tectech.thing.metaTileEntity.multi.base.*; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; import com.github.technus.tectech.util.CommonValues; -import com.github.technus.tectech.util.TT_Utility; -import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; @@ -26,98 +34,73 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.IGT_HatchAdder; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.CommonValues.MULTI_CHECK_AT; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable { - //region variables +public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockBase_EM + implements ISurvivalConstructable { + // region variables private final ArrayList eRacks = new ArrayList<>(); private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; - //endregion - - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.computer.hint.0"),//1 - Classic/Data Hatches or Computer casing - translateToLocal("gt.blockmachines.multimachine.em.computer.hint.1"),//2 - Rack Hatches or Advanced computer casing + // endregion + + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.computer.hint.0"), // 1 - Classic/Data Hatches or Computer casing + translateToLocal( + "gt.blockmachines.multimachine.em.computer.hint.1"), // 2 - Rack Hatches or Advanced computer casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("front", transpose(new String[][]{ - {" AA"}, - {" AA"}, - {" ~A"}, - {" AA"} - })) - .addShape("cap", transpose(new String[][]{ - {"-CB"}, - {" DD"}, - {" DD"}, - {"-CB"} - })) - .addShape("slice", transpose(new String[][]{ - {"-CB"}, - {" ED"}, - {" ED"}, - {"-CB"} - })) - .addShape("back", transpose(new String[][]{ - {" AA"}, - {" AA"}, - {" AA"}, - {" AA"} - })) - .addElement('B', ofBlock(sBlockCasingsTT, 1)) - .addElement('C', ofBlock(sBlockCasingsTT, 2)) - .addElement('D', ofBlock(sBlockCasingsTT, 3)) - .addElement('A', classicHatches(textureOffset + 1, 1, sBlockCasingsTT, 1)) - .addElement('E', ofChain( - RackHatchElement.INSTANCE.newAny(textureOffset + 3, 2), - ofBlock(sBlockCasingsTT, 3) - )) - .build(); - //endregion - - //region parameters + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("front", transpose(new String[][] {{" AA"}, {" AA"}, {" ~A"}, {" AA"}})) + .addShape("cap", transpose(new String[][] {{"-CB"}, {" DD"}, {" DD"}, {"-CB"}})) + .addShape("slice", transpose(new String[][] {{"-CB"}, {" ED"}, {" ED"}, {"-CB"}})) + .addShape("back", transpose(new String[][] {{" AA"}, {" AA"}, {" AA"}, {" AA"}})) + .addElement('B', ofBlock(sBlockCasingsTT, 1)) + .addElement('C', ofBlock(sBlockCasingsTT, 2)) + .addElement('D', ofBlock(sBlockCasingsTT, 3)) + .addElement('A', classicHatches(textureOffset + 1, 1, sBlockCasingsTT, 1)) + .addElement( + 'E', + ofChain( + RackHatchElement.INSTANCE.newAny(textureOffset + 3, 2), + ofBlock(sBlockCasingsTT, 3))) + .build(); + // endregion + + // region parameters protected Parameters.Group.ParameterIn overclock, overvolt; protected Parameters.Group.ParameterOut maxCurrentTemp, availableData; - private static final INameFunction OC_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgi.0");//Overclock ratio - private static final INameFunction OV_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgi.1");//Overvoltage ratio - private static final INameFunction MAX_TEMP_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgo.0");//Current max. heat - private static final INameFunction COMPUTE_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgo.1");//Produced computation - private static final IStatusFunction OC_STATUS = + private static final INameFunction OC_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgi.0"); // Overclock ratio + private static final INameFunction OV_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgi.1"); // Overvoltage ratio + private static final INameFunction MAX_TEMP_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgo.0"); // Current max. heat + private static final INameFunction COMPUTE_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgo.1"); // Produced computation + private static final IStatusFunction OC_STATUS = (base, p) -> LedStatus.fromLimitsInclusiveOuterBoundary(p.get(), 0, 1, 1, 3); - private static final IStatusFunction OV_STATUS = + private static final IStatusFunction OV_STATUS = (base, p) -> LedStatus.fromLimitsInclusiveOuterBoundary(p.get(), .7, .8, 1.2, 2); private static final IStatusFunction MAX_TEMP_STATUS = (base, p) -> LedStatus.fromLimitsInclusiveOuterBoundary(p.get(), -10000, 0, 0, 5000); - private static final IStatusFunction COMPUTE_STATUS = (base, p) -> { + private static final IStatusFunction COMPUTE_STATUS = (base, p) -> { if (base.eAvailableData < 0) { return STATUS_TOO_LOW; } @@ -126,18 +109,18 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB } return STATUS_OK; }; - //endregion + // endregion public GT_MetaTileEntity_EM_computer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); eCertainMode = 5; - eCertainStatus = -128;//no-brain value + eCertainStatus = -128; // no-brain value } public GT_MetaTileEntity_EM_computer(String aName) { super(aName); eCertainMode = 5; - eCertainStatus = -128;//no-brain value + eCertainStatus = -128; // no-brain value } @Override @@ -197,7 +180,10 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { super.onPostTick(aBaseMetaTileEntity, aTick); - if (aBaseMetaTileEntity.isServerSide() && mMachine && !aBaseMetaTileEntity.isActive() && aTick % 20 == MULTI_CHECK_AT) { + if (aBaseMetaTileEntity.isServerSide() + && mMachine + && !aBaseMetaTileEntity.isActive() + && aTick % 20 == MULTI_CHECK_AT) { double maxTemp = 0; for (GT_MetaTileEntity_Hatch_Rack rack : eRacks) { if (!GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(rack)) { @@ -215,8 +201,8 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB public boolean checkRecipe_EM(ItemStack itemStack) { parametrization.setToDefaults(false, true); eAvailableData = 0; - double maxTemp = 0; - double overClockRatio = overclock.get(); + double maxTemp = 0; + double overClockRatio = overclock.get(); double overVoltageRatio = overvolt.get(); if (Double.isNaN(overClockRatio) || Double.isNaN(overVoltageRatio)) { return false; @@ -230,7 +216,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB return false; } short thingsActive = 0; - int rackComputation; + int rackComputation; for (GT_MetaTileEntity_Hatch_Rack rack : eRacks) { if (!GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(rack)) { @@ -248,7 +234,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB } for (GT_MetaTileEntity_Hatch_InputData di : eInputData) { - if (di.q != null)//ok for power losses + if (di.q != null) // ok for power losses { thingsActive++; } @@ -279,7 +265,8 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB @Override public void outputAfterRecipe_EM() { if (!eOutputData.isEmpty()) { - Vec3Impl pos = new Vec3Impl(getBaseMetaTileEntity().getXCoord(), + Vec3Impl pos = new Vec3Impl( + getBaseMetaTileEntity().getXCoord(), getBaseMetaTileEntity().getYCoord(), getBaseMetaTileEntity().getZCoord()); @@ -306,18 +293,38 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.computer.name")) // Machine Type: Quantum Computer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.computer.desc.0")) // Controller block of the Quantum Computer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.computer.desc.1")) // Used to generate computation (and heat) + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.computer.name")) // Machine Type: Quantum Computer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.computer.desc.0")) // Controller block of the Quantum Computer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.computer.desc.1")) // Used to generate computation (and heat) .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginVariableStructureBlock(2, 2, 4, 4, 5, 16, false) - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.certain.tier.07.name"), translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), 1) // Uncertainty Resolver: Any Computer Casing on first or last slice - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.DataConnector"), translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), 1) // Optical Connector: Any Computer Casing on first or last slice - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.rack.tier.08.name"), translateToLocal("tt.keyword.Structure.AnyAdvComputerCasingExceptOuter"), 2) // Computer Rack: Any Advanced Computer Casing, except the outer ones - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), translateToLocal ("tt.keyword.Structure.Optional") + " " + translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), 2) // Parametrizer: (optional) Any Computer Casing on first or last slice - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), 1) // Energy Hatch: Any Computer Casing on first or last slice - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), 1) // Maintenance Hatch: Any Computer Casing on first or last slice + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.certain.tier.07.name"), + translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), + 1) // Uncertainty Resolver: Any Computer Casing on first or last slice + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.DataConnector"), + translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), + 1) // Optical Connector: Any Computer Casing on first or last slice + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.rack.tier.08.name"), + translateToLocal("tt.keyword.Structure.AnyAdvComputerCasingExceptOuter"), + 2) // Computer Rack: Any Advanced Computer Casing, except the outer ones + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), + translateToLocal("tt.keyword.Structure.Optional") + " " + + translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), + 2) // Parametrizer: (optional) Any Computer Casing on first or last slice + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), + 1) // Energy Hatch: Any Computer Casing on first or last slice + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), + 1) // Maintenance Hatch: Any Computer Casing on first or last slice .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -331,11 +338,20 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][3], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][3], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][3]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][3]}; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafting.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafting.java index 822e6d6ddf..293baacb54 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafting.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafting.java @@ -1,5 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; @@ -17,51 +25,73 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_crafting extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region variables + // region variables private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; public static final String crafter = "EM Crafting"; - //endregion - - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.crafter.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.crafter.hint.1"),//2 - Elemental Hatches or Molecular Casing + // endregion + + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.crafter.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal( + "gt.blockmachines.multimachine.em.crafter.hint.1"), // 2 - Elemental Hatches or Molecular Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {" AAA ", "AAAAA", "A A", "BBBBB", "BGCGB", "BGGGB", "BGCGB", "BBBBB", "A A", "AAAAA", " AAA "}, - {"AHHHA", "AAAAA", " FFF ", "BBBBB", "GGGGG", "GGGGG", "GGGGG", "BBBBB", " FFF ", "AAAAA", "AHHHA"}, - {"AH~HA", "AAAAA", " FEF ", "BBEBB", "CGEGC", "GGDGG", "CGEGC", "BBEBB", " FEF ", "AAAAA", "AHHHA"}, - {"AHHHA", "AAAAA", " FFF ", "BBBBB", "GGGGG", "GGGGG", "GGGGG", "BBBBB", " FFF ", "AAAAA", "AHHHA"}, - {" AAA ", "AAAAA", "A A", "BBBBB", "BGCGB", "BGGGB", "BGCGB", "BBBBB", "A A", "AAAAA", " AAA "} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('C', ofBlock(sBlockCasingsTT, 6)) - .addElement('D', ofBlock(sBlockCasingsTT, 9)) - .addElement('E', ofBlock(sBlockCasingsTT, 10)) - .addElement('G', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('H', ofHatchAdderOptional(GT_MetaTileEntity_EM_crafting::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_crafting::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) - .build(); - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + { + " AAA ", "AAAAA", "A A", "BBBBB", "BGCGB", "BGGGB", "BGCGB", "BBBBB", "A A", "AAAAA", + " AAA " + }, + { + "AHHHA", "AAAAA", " FFF ", "BBBBB", "GGGGG", "GGGGG", "GGGGG", "BBBBB", " FFF ", "AAAAA", + "AHHHA" + }, + { + "AH~HA", "AAAAA", " FEF ", "BBEBB", "CGEGC", "GGDGG", "CGEGC", "BBEBB", " FEF ", "AAAAA", + "AHHHA" + }, + { + "AHHHA", "AAAAA", " FFF ", "BBBBB", "GGGGG", "GGGGG", "GGGGG", "BBBBB", " FFF ", "AAAAA", + "AHHHA" + }, + { + " AAA ", "AAAAA", "A A", "BBBBB", "BGCGB", "BGGGB", "BGCGB", "BBBBB", "A A", "AAAAA", + " AAA " + } + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement('C', ofBlock(sBlockCasingsTT, 6)) + .addElement('D', ofBlock(sBlockCasingsTT, 9)) + .addElement('E', ofBlock(sBlockCasingsTT, 10)) + .addElement('G', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'H', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_crafting::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'F', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_crafting::addElementalToMachineList, + textureOffset + 4, + 2, + sBlockCasingsTT, + 4)) + .build(); + // endregion public GT_MetaTileEntity_EM_crafting(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -92,24 +122,42 @@ public class GT_MetaTileEntity_EM_crafting extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.crafter.name")) // Machine Type: Matter Assembler - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.crafter.desc.0")) // Controller block of the Matter Assembler + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.crafter.name")) // Machine Type: Matter Assembler + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.crafter.desc.0")) // Controller block of the Matter Assembler .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(5, 5, 11, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.Elemental"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), 2) // Elemental Hatch: Any Molecular Casing with 2 dot - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.Elemental"), + translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), + 2) // Elemental Hatch: Any Molecular Casing with 2 dot + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][12], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][12], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][12]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][12]}; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java index 48aabf8da3..01eab07bd5 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java @@ -1,5 +1,15 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.mechanics.dataTransport.InventoryDataPacket; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputDataItems; @@ -9,7 +19,6 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContaine import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; import com.github.technus.tectech.util.CommonValues; -import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; @@ -24,6 +33,10 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_DataAccess; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.IGT_HatchAdder; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.IInventory; @@ -31,55 +44,45 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static net.minecraft.util.StatCollector.translateToLocal; - -public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable { - //region variables +public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockBase_EM + implements ISurvivalConstructable { + // region variables private final ArrayList eStacksDataOutputs = new ArrayList<>(); - private final ArrayList eDataAccessHatches = new ArrayList<>(); + private final ArrayList eDataAccessHatches = new ArrayList<>(); private boolean slave = false; - //endregion + // endregion - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.databank.hint.0"),//1 - Classic Hatches or high power casing - translateToLocal("gt.blockmachines.multimachine.em.databank.hint.1"),//2 - Data Access/Data Bank Master Hatches or computer casing + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.databank.hint.0"), // 1 - Classic Hatches or high power casing + translateToLocal( + "gt.blockmachines.multimachine.em.databank.hint.1"), // 2 - Data Access/Data Bank Master Hatches or + // computer casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {"BCCCB", "BDDDB", "BDDDB"}, - {"BC~CB", "BAAAB", "BDDDB"}, - {"BCCCB", "BDDDB", "BDDDB"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 1)) - .addElement('B', ofBlock(sBlockCasingsTT, 2)) - .addElement('C', classicHatches(textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('D', buildHatchAdder(GT_MetaTileEntity_EM_dataBank.class) - .atLeast(DataBankHatches.OutboundConnector, DataBankHatches.InboundConnector) - .casingIndex(textureOffset + 1) - .dot(2) - .buildAndChain( - DataBankHatches.DataStick.newAny(textureOffset + 1, 2), - ofBlock(sBlockCasingsTT, 1) - )) - .build(); - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {"BCCCB", "BDDDB", "BDDDB"}, + {"BC~CB", "BAAAB", "BDDDB"}, + {"BCCCB", "BDDDB", "BDDDB"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 1)) + .addElement('B', ofBlock(sBlockCasingsTT, 2)) + .addElement('C', classicHatches(textureOffset, 1, sBlockCasingsTT, 0)) + .addElement( + 'D', + buildHatchAdder(GT_MetaTileEntity_EM_dataBank.class) + .atLeast(DataBankHatches.OutboundConnector, DataBankHatches.InboundConnector) + .casingIndex(textureOffset + 1) + .dot(2) + .buildAndChain( + DataBankHatches.DataStick.newAny(textureOffset + 1, 2), + ofBlock(sBlockCasingsTT, 1))) + .build(); + // endregion public GT_MetaTileEntity_EM_dataBank(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -97,17 +100,33 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.databank.name")) // Machine Type: Data Bank - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.databank.desc.0")) // Controller block of the Data Bank - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.databank.desc.1")) // Used to supply Assembling Lines with more Data Sticks - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.databank.desc.2")) // and give multiple Assembling Lines access to the same Data Stick + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.databank.name")) // Machine Type: Data Bank + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.databank.desc.0")) // Controller block of the Data Bank + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.databank.desc.1")) // Used to supply Assembling Lines + // with more Data Sticks + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.databank.desc.2")) // and give multiple Assembling + // Lines access to the same Data + // Stick .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(5, 3, 3, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.DataAccessHatch"), translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 2) // Data Access Hatch: Any Computer Casing - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.dataoutass.tier.07.name"), translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 2) // Data Bank Master Connector: Any Computer Casing - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.DataAccessHatch"), + translateToLocal("tt.keyword.Structure.AnyComputerCasing"), + 2) // Data Access Hatch: Any Computer Casing + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.dataoutass.tier.07.name"), + translateToLocal("tt.keyword.Structure.AnyComputerCasing"), + 2) // Data Bank Master Connector: Any Computer Casing + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -163,18 +182,37 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png", true, false, true);//todo texture + return new GT_GUIContainer_MultiMachineEM( + aPlayerInventory, + aBaseMetaTileEntity, + getLocalName(), + "EMDisplay.png", + true, + false, + true); // todo texture } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][1], new TT_RenderedExtendedFacingTexture(aActive ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][1], + new TT_RenderedExtendedFacingTexture( + aActive + ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON + : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][1]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][1]}; } - public final static ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_hi_freq"); + public static final ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_hi_freq"); @Override @SideOnly(Side.CLIENT) @@ -193,7 +231,8 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_OutputDataItems) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); return eStacksDataOutputs.add((GT_MetaTileEntity_Hatch_OutputDataItems) aMetaTileEntity); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_DataAccess && !(aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputDataItems)) { + } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_DataAccess + && !(aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputDataItems)) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); return eDataAccessHatches.add(aMetaTileEntity); } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputDataItems) { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java index 2d07932c92..3c69391f17 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java @@ -1,5 +1,18 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.STATUS_OK; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.STATUS_TOO_LOW; +import static com.github.technus.tectech.util.CommonValues.VN; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti; @@ -31,69 +44,74 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import org.apache.commons.lang3.reflect.FieldUtils; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.STATUS_OK; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.STATUS_TOO_LOW; -import static com.github.technus.tectech.util.CommonValues.VN; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region variables + // region variables private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; - public static final double URANIUM_INGOT_MASS_DIFF = 1.6114516E10* EM_COUNT_PER_MATERIAL_AMOUNT; - private static final double URANIUM_MASS_TO_EU_PARTIAL = ConfigUtil.getDouble(MainConfig.get(), "balance/energy/generator/nuclear") * 3_000_000.0 / URANIUM_INGOT_MASS_DIFF; + public static final double URANIUM_INGOT_MASS_DIFF = 1.6114516E10 * EM_COUNT_PER_MATERIAL_AMOUNT; + private static final double URANIUM_MASS_TO_EU_PARTIAL = + ConfigUtil.getDouble(MainConfig.get(), "balance/energy/generator/nuclear") + * 3_000_000.0 + / URANIUM_INGOT_MASS_DIFF; public static final double URANIUM_MASS_TO_EU_INSTANT = URANIUM_MASS_TO_EU_PARTIAL * 20; private String clientLocale = "en_US"; - //endregion + // endregion - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.decay.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.decay.hint.1"),//2 - Elemental Hatches or Molecular Casing + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.decay.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.decay.hint.1"), // 2 - Elemental Hatches or Molecular Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main",transpose(new String[][]{ - {"A A","AAAAA","A A","ABBBA","ABCBA","ABBBA","A A","AAAAA","A A"}, - {" FFF ","AAAAA"," EEE ","BDDDB","BDDDB","BDDDB"," EEE ","AAAAA"," FFF "}, - {" F~F ","AAAAA"," EAE ","BDDDB","CDDDC","BDDDB"," EAE ","AAAAA"," FFF "}, - {" FFF ","AAAAA"," EEE ","BDDDB","BDDDB","BDDDB"," EEE ","AAAAA"," FFF "}, - {"A A","AAAAA","A A","ABBBA","ABCBA","ABBBA","A A","AAAAA","A A"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('C', ofBlock(sBlockCasingsTT, 6)) - .addElement('D', ofBlock(sBlockCasingsTT, 8)) - .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_decay::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_EM_decay::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) - .build(); - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {"A A", "AAAAA", "A A", "ABBBA", "ABCBA", "ABBBA", "A A", "AAAAA", "A A"}, + {" FFF ", "AAAAA", " EEE ", "BDDDB", "BDDDB", "BDDDB", " EEE ", "AAAAA", " FFF "}, + {" F~F ", "AAAAA", " EAE ", "BDDDB", "CDDDC", "BDDDB", " EAE ", "AAAAA", " FFF "}, + {" FFF ", "AAAAA", " EEE ", "BDDDB", "BDDDB", "BDDDB", " EEE ", "AAAAA", " FFF "}, + {"A A", "AAAAA", "A A", "ABBBA", "ABCBA", "ABBBA", "A A", "AAAAA", "A A"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement('C', ofBlock(sBlockCasingsTT, 6)) + .addElement('D', ofBlock(sBlockCasingsTT, 8)) + .addElement( + 'F', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_decay::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'E', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_decay::addElementalToMachineList, + textureOffset + 4, + 2, + sBlockCasingsTT, + 4)) + .build(); + // endregion - //region parameters + // region parameters protected Parameters.Group.ParameterIn ampereFlow; - private static final INameFunction FLOW_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.decay.conf");//Ampere divider + private static final INameFunction FLOW_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.decay.conf"); // Ampere divider private static final IStatusFunction FLOW_STATUS = (base, p) -> { if (base.eAmpereFlow <= 0) { return STATUS_TOO_LOW; } return STATUS_OK; }; - //endregion + // endregion public GT_MetaTileEntity_EM_decay(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -133,9 +151,11 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase outputEM[1] = new EMInstanceStackMap(); for (EMInstanceStack stack : outputEM[0].valuesToArray()) { - if (stack.getEnergy() == 0 && stack.getDefinition().decayMakesEnergy(1) && - getBaseMetaTileEntity().decreaseStoredEnergyUnits( - (long) (stack.getEnergySettingCost(1) * URANIUM_MASS_TO_EU_INSTANT), false)) { + if (stack.getEnergy() == 0 + && stack.getDefinition().decayMakesEnergy(1) + && getBaseMetaTileEntity() + .decreaseStoredEnergyUnits( + (long) (stack.getEnergySettingCost(1) * URANIUM_MASS_TO_EU_INSTANT), false)) { stack.setEnergy(1); } else if (!stack.getDefinition().decayMakesEnergy(stack.getEnergy())) { outputEM[0].removeKey(stack.getDefinition()); @@ -149,7 +169,7 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase return false; } double energyDose = -outputEM[0].tickContent(1, 0, 1) * URANIUM_MASS_TO_EU_PARTIAL; - mEUt = (int) ( energyDose / eAmpereFlow); + mEUt = (int) (energyDose / eAmpereFlow); return outputEM[0].hasStacks(); } @@ -164,22 +184,36 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.decay.name")) // Machine Type: Decay Generator - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.decay.desc.0")) // Controller block of the Decay Generator - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.decay.desc.1")) // Decays elemental matter to generate power + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.decay.name")) // Machine Type: Decay Generator + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.decay.desc.0")) // Controller block of the Decay Generator + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.decay.desc.1")) // Decays elemental matter to generate power .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(5, 5, 9, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.Elemental"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), 2) // Elemental Hatch: Any Molecular Casing with 2 dot - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), translateToLocal ("tt.keyword.Structure.Optional") + " " + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Parametrizer: (optional) Any High Power Casing - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.Elemental"), + translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), + 2) // Elemental Hatch: Any Molecular Casing with 2 dot + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), + translateToLocal("tt.keyword.Structure.Optional") + " " + + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Parametrizer: (optional) Any High Power Casing + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @Override - public String[] getInfoData() {//TODO Do it + public String[] getInfoData() { // TODO Do it long storedEnergy = 0; long maxEnergy = 0; for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { @@ -195,32 +229,42 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase } } - return new String[]{ - translateToLocalFormatted("tt.keyword.Progress", clientLocale) + ":", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(mProgresstime / 20) + EnumChatFormatting.RESET + " s / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(mMaxProgresstime / 20) + EnumChatFormatting.RESET + " s", - translateToLocalFormatted("tt.keyphrase.Energy_Hatches", clientLocale) + ":", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + " EU", - (mEUt <= 0 ? translateToLocalFormatted("tt.keyphrase.Probably_uses", clientLocale) + ": " : translateToLocalFormatted("tt.keyphrase.Probably_makes", clientLocale) + ": ") + - EnumChatFormatting.RED + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t at " + - EnumChatFormatting.RED + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", - translateToLocalFormatted("tt.keyphrase.Tier_Rating", clientLocale) + ": " + - EnumChatFormatting.YELLOW + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.GREEN + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " " + - translateToLocalFormatted("tt.keyphrase.Amp_Rating", clientLocale) + ": " + - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", - translateToLocalFormatted("tt.keyword.Problems", clientLocale) + ": " + - EnumChatFormatting.RED + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + " " + - translateToLocalFormatted("tt.keyword.Efficiency", clientLocale) + ": " + - EnumChatFormatting.YELLOW + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", - translateToLocalFormatted("tt.keyword.PowerPass", clientLocale) + ": " + - EnumChatFormatting.BLUE + ePowerPass + EnumChatFormatting.RESET + " " + - translateToLocalFormatted("tt.keyword.SafeVoid", clientLocale) + ": " + - EnumChatFormatting.BLUE + eSafeVoid, - translateToLocalFormatted("tt.keyword.Computation", clientLocale) + ": " + - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET, + return new String[] { + translateToLocalFormatted("tt.keyword.Progress", clientLocale) + ":", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(mProgresstime / 20) + EnumChatFormatting.RESET + " s / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(mMaxProgresstime / 20) + + EnumChatFormatting.RESET + " s", + translateToLocalFormatted("tt.keyphrase.Energy_Hatches", clientLocale) + ":", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + + " EU", + (mEUt <= 0 + ? translateToLocalFormatted("tt.keyphrase.Probably_uses", clientLocale) + ": " + : translateToLocalFormatted("tt.keyphrase.Probably_makes", clientLocale) + ": ") + + EnumChatFormatting.RED + + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t at " + + EnumChatFormatting.RED + + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", + translateToLocalFormatted("tt.keyphrase.Tier_Rating", clientLocale) + ": " + EnumChatFormatting.YELLOW + + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + EnumChatFormatting.GREEN + + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyphrase.Amp_Rating", clientLocale) + + ": " + EnumChatFormatting.GREEN + + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", + translateToLocalFormatted("tt.keyword.Problems", clientLocale) + ": " + EnumChatFormatting.RED + + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyword.Efficiency", clientLocale) + + ": " + EnumChatFormatting.YELLOW + + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", + translateToLocalFormatted("tt.keyword.PowerPass", clientLocale) + ": " + EnumChatFormatting.BLUE + + ePowerPass + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyword.SafeVoid", clientLocale) + + ": " + EnumChatFormatting.BLUE + + eSafeVoid, + translateToLocalFormatted("tt.keyword.Computation", clientLocale) + ": " + EnumChatFormatting.GREEN + + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " + + EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET, }; } @@ -233,11 +277,20 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][12], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][12], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][12]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][12]}; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java index ef26152a82..d2132869ee 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java @@ -1,5 +1,17 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.STABLE_RAW_LIFE_TIME; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refMass; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refUnstableMass; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; @@ -17,55 +29,64 @@ import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import java.util.ArrayList; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; -import java.util.ArrayList; - -import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.STABLE_RAW_LIFE_TIME; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refMass; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refUnstableMass; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_dequantizer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region structure - //use multi A energy inputs, use less power the longer it runs - - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {"CCC", "ABA", "EEE", "BDB"}, - {"C~C", "BBB", "EBE", "DFD"}, - {"CCC", "ABA", "EEE", "BDB"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 0)) - .addElement('B', ofBlock(sBlockCasingsTT, 4)) - .addElement('D', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('C', ofHatchAdderOptional(GT_MetaTileEntity_EM_dequantizer::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('F', ofHatchAdder(GT_MetaTileEntity_EM_dequantizer::addElementalInputToMachineList, textureOffset + 4, 2)) - .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_EM_dequantizer::addElementalMufflerToMachineList, textureOffset + 4, 3, sBlockCasingsTT, 4)) - .build(); - - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.emtomatter.hint.0"),//1 - Classic Hatches or High Power Casing" - translateToLocal("gt.blockmachines.multimachine.em.emtomatter.hint.1"),//2 - Elemental Input Hatch - translateToLocal("gt.blockmachines.multimachine.em.emtomatter.hint.2"),//3 - Elemental Overflow Hatches or Molecular Casing + // region structure + // use multi A energy inputs, use less power the longer it runs + + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {"CCC", "ABA", "EEE", "BDB"}, + {"C~C", "BBB", "EBE", "DFD"}, + {"CCC", "ABA", "EEE", "BDB"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 0)) + .addElement('B', ofBlock(sBlockCasingsTT, 4)) + .addElement('D', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'C', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_dequantizer::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'F', + ofHatchAdder( + GT_MetaTileEntity_EM_dequantizer::addElementalInputToMachineList, + textureOffset + 4, + 2)) + .addElement( + 'E', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_dequantizer::addElementalMufflerToMachineList, + textureOffset + 4, + 3, + sBlockCasingsTT, + 4)) + .build(); + + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.emtomatter.hint.0"), // 1 - Classic Hatches or High Power Casing" + translateToLocal("gt.blockmachines.multimachine.em.emtomatter.hint.1"), // 2 - Elemental Input Hatch + translateToLocal( + "gt.blockmachines.multimachine.em.emtomatter.hint.2"), // 3 - Elemental Overflow Hatches or Molecular + // Casing }; - //endregion + // endregion public GT_MetaTileEntity_EM_dequantizer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -78,7 +99,7 @@ public class GT_MetaTileEntity_EM_dequantizer extends GT_MetaTileEntity_Multiblo private void startRecipe(IEMStack from, long energy) { mMaxProgresstime = 20; mEfficiencyIncrease = 10000; - double mass = from.getMass(); + double mass = from.getMass(); double euMult = Math.abs(mass / refMass); eAmpereFlow = (int) Math.ceil(Math.sqrt(Math.sqrt(euMult))); if (mass > refUnstableMass || from.getDefinition().getRawTimeSpan(energy) < STABLE_RAW_LIFE_TIME) { @@ -103,17 +124,21 @@ public class GT_MetaTileEntity_EM_dequantizer extends GT_MetaTileEntity_Multiblo for (GT_MetaTileEntity_Hatch_InputElemental in : eInputHatches) { EMInstanceStackMap map = in.getContentHandler(); for (EMInstanceStack stack : map.valuesToArray()) { - EMDequantizationInfo emDequantizationInfo = TecTech.transformationInfo.getInfoMap().get(stack.getDefinition()); - if (emDequantizationInfo != null && emDequantizationInfo.getStack() != null && map.removeAllAmounts(emDequantizationInfo.getInput())) { + EMDequantizationInfo emDequantizationInfo = + TecTech.transformationInfo.getInfoMap().get(stack.getDefinition()); + if (emDequantizationInfo != null + && emDequantizationInfo.getStack() != null + && map.removeAllAmounts(emDequantizationInfo.getInput())) { Object out = emDequantizationInfo.getStack(); if (out instanceof ItemStack) { - mOutputItems = new ItemStack[]{emDequantizationInfo.getItem()}; + mOutputItems = new ItemStack[] {emDequantizationInfo.getItem()}; } else if (out instanceof FluidStack) { - mOutputFluids = new FluidStack[]{emDequantizationInfo.getFluid()}; + mOutputFluids = new FluidStack[] {emDequantizationInfo.getFluid()}; } else if (out instanceof OreDictionaryStack) { - ArrayList items = OreDictionary.getOres(OreDictionary.getOreName(emDequantizationInfo.getOre().getOreId())); + ArrayList items = OreDictionary.getOres(OreDictionary.getOreName( + emDequantizationInfo.getOre().getOreId())); if (items != null && !items.isEmpty()) { - mOutputItems = new ItemStack[]{items.get(0)}; + mOutputItems = new ItemStack[] {items.get(0)}; } } startRecipe(emDequantizationInfo.getInput(), stack.getEnergy()); @@ -127,17 +152,34 @@ public class GT_MetaTileEntity_EM_dequantizer extends GT_MetaTileEntity_Multiblo @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.emtomatter.name")) // Machine Type: Matter Dequantizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.emtomatter.desc.0")) // Controller block of the Matter Dequantizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.emtomatter.desc.1")) // Transforms elemental matter back into items + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.emtomatter.name")) // Machine Type: Matter Dequantizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.emtomatter.desc.0")) // Controller block of the Matter + // Dequantizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.emtomatter.desc.1")) // Transforms elemental matter + // back into items .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(3, 3, 4, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalInput"), translateToLocal("tt.keyword.Structure.BackCenter"), 2) // Elemental Input Hatch: Back center - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOverflow"), translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd"), 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 3rd slice - .addOutputBus(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Output Bus: Any High Power Casing on the front side - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Energy Hatch: Any High Power Casing on the front side - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Maintenance Hatch: Any High Power Casing on the front side + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalInput"), + translateToLocal("tt.keyword.Structure.BackCenter"), + 2) // Elemental Input Hatch: Back center + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOverflow"), + translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd"), + 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 3rd slice + .addOutputBus( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Output Bus: Any High Power Casing on the front side + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Energy Hatch: Any High Power Casing on the front side + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Maintenance Hatch: Any High Power Casing on the front side .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java index 51262076cd..65ebff7a6e 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java @@ -1,5 +1,14 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.GregTech_API.mEUtoRF; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import cofh.api.energy.IEnergyContainerItem; import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; @@ -25,15 +34,6 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.GregTech_API.mEUtoRF; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ @@ -43,26 +43,33 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa private static final long usedEuPerDurability = 1000; private static final int usedUumPerDurability = 1; - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.infuser.hint"),//1 - Classic Hatches or High Power Casing + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.infuser.hint"), // 1 - Classic Hatches or High Power Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {"CCC", "CCC", "CCC"}, - {"BBB", "BAB", "BBB"}, - {"A~A", "AAA", "AAA"}, - {"BBB", "BAB", "BBB"}, - {"CCC", "CCC", "CCC"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 7)) - .addElement('C', ofHatchAdderOptional(GT_MetaTileEntity_EM_infuser::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .build(); - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {"CCC", "CCC", "CCC"}, + {"BBB", "BAB", "BBB"}, + {"A~A", "AAA", "AAA"}, + {"BBB", "BAB", "BBB"}, + {"CCC", "CCC", "CCC"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 7)) + .addElement( + 'C', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_infuser::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .build(); + // endregion public GT_MetaTileEntity_EM_infuser(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -83,9 +90,10 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa Item item = stack.getItem(); if (stack.stackSize == 1) { if (item instanceof IElectricItem) { - return ElectricItem.manager.getCharge(stack) >= ((IElectricItem)item).getMaxCharge(stack); + return ElectricItem.manager.getCharge(stack) >= ((IElectricItem) item).getMaxCharge(stack); } else if (TecTech.hasCOFH && item instanceof IEnergyContainerItem) { - return ((IEnergyContainerItem)item).getEnergyStored(stack) >= ((IEnergyContainerItem)item).getMaxEnergyStored(stack); + return ((IEnergyContainerItem) item).getEnergyStored(stack) + >= ((IEnergyContainerItem) item).getMaxEnergyStored(stack); } } return true; @@ -103,9 +111,7 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa try { double euDiff = item.getMaxCharge(stack) - ElectricItem.manager.getCharge(stack); long remove = (long) Math.ceil( - ElectricItem.manager.charge(stack, - Math.min(euDiff, getEUVar()) - , item.getTier(stack), true, false)); + ElectricItem.manager.charge(stack, Math.min(euDiff, getEUVar()), item.getTier(stack), true, false)); setEUVar(getEUVar() - remove); if (getEUVar() < 0) { setEUVar(0); @@ -121,7 +127,8 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa private long doChargeItemStackRF(IEnergyContainerItem item, ItemStack stack) { try { - long RF = Math.min(item.getMaxEnergyStored(stack) - item.getEnergyStored(stack), getEUVar() * mEUtoRF / 100L); + long RF = + Math.min(item.getMaxEnergyStored(stack) - item.getEnergyStored(stack), getEUVar() * mEUtoRF / 100L); RF = item.receiveEnergy(stack, RF > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int) RF, false); RF = RF * 100L / mEUtoRF; setEUVar(getEUVar() - RF); @@ -188,12 +195,22 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa } } else { if (item.isRepairable()) { - FluidStack uum = getStoredFluids().stream().filter(fluid -> Materials.UUMatter.getFluid(1).isFluidEqual(fluid)).findAny().orElse(null); + FluidStack uum = getStoredFluids().stream() + .filter(fluid -> Materials.UUMatter.getFluid(1) + .isFluidEqual(fluid)) + .findAny() + .orElse(null); if (uum != null) { - int repairedDamage = Math.min(item.getDamage(itemStackInBus), maxRepairedDamagePerOperation); + int repairedDamage = + Math.min(item.getDamage(itemStackInBus), maxRepairedDamagePerOperation); long euCost = repairedDamage * usedEuPerDurability; - if (getEUVar() >= euCost && depleteInput(new FluidStack(Materials.UUMatter.mFluid,repairedDamage * usedUumPerDurability))) { - item.setDamage(itemStackInBus, Math.max(item.getDamage(itemStackInBus) - repairedDamage, 0)); + if (getEUVar() >= euCost + && depleteInput(new FluidStack( + Materials.UUMatter.mFluid, + repairedDamage * usedUumPerDurability))) { + item.setDamage( + itemStackInBus, + Math.max(item.getDamage(itemStackInBus) - repairedDamage, 0)); setEUVar(Math.min(getEUVar() - euCost, 0)); } } @@ -219,18 +236,41 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.infuser.name")) // Machine Type: Energy Infuser - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.0")) // Controller block of the Energy Infuser - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.1")) // Can be used to charge items (lossless) - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.2")) // Can be fed with UU-Matter to repair items + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.infuser.name")) // Machine Type: Energy Infuser + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.infuser.desc.0")) // Controller block of the Energy Infuser + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.infuser.desc.1")) // Can be used to charge items (lossless) + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.infuser.desc.2")) // Can be fed with UU-Matter to repair items .addSeparator() .beginStructureBlock(3, 5, 3, false) - .addController(translateToLocal("tt.keyword.Structure.FrontCenter3rd")) // Controller: Front 3rd layer center - .addOtherStructurePart(translateToLocal("gt.blockcasingsTT.0.name"), translateToLocal("gt.blockmachines.multimachine.em.infuser.Structure.HighPowerCasing")) // High Power Casing: Layer 1 and 5 - .addOtherStructurePart(translateToLocal("gt.blockcasingsTT.7.name"), translateToLocal("gt.blockmachines.multimachine.em.infuser.Structure.MolecularCoil")) // Molecular Coil: Layer 2 and 4 - .addOtherStructurePart(translateToLocal("gt.blockcasingsTT.4.name"), translateToLocal("gt.blockmachines.multimachine.em.infuser.Structure.MolecularCasing")) // Molecular Casing: Layer 3 (hollow) - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing + .addController( + translateToLocal("tt.keyword.Structure.FrontCenter3rd")) // Controller: Front 3rd layer center + .addOtherStructurePart( + translateToLocal("gt.blockcasingsTT.0.name"), + translateToLocal( + "gt.blockmachines.multimachine.em.infuser.Structure.HighPowerCasing")) // High Power + // Casing: Layer + // 1 and 5 + .addOtherStructurePart( + translateToLocal("gt.blockcasingsTT.7.name"), + translateToLocal( + "gt.blockmachines.multimachine.em.infuser.Structure.MolecularCoil")) // Molecular Coil: + // Layer 2 and 4 + .addOtherStructurePart( + translateToLocal("gt.blockcasingsTT.4.name"), + translateToLocal( + "gt.blockmachines.multimachine.em.infuser.Structure.MolecularCasing")) // Molecular + // Casing: Layer + // 3 (hollow) + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_GENERAL); return tt; } @@ -242,10 +282,11 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png", true, false, true); + return new GT_GUIContainer_MultiMachineEM( + aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png", true, false, true); } - public final static ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_whooum"); + public static final ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_whooum"); @Override @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java index bcf943c339..5342393157 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java @@ -1,5 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputElemental; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_OutputElemental; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; @@ -16,77 +24,85 @@ import gregtech.api.util.GT_Utility; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_junction extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region structure - //use multi A energy inputs, use less power the longer it runs - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.junction.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.junction.hint.1"),//2 - Elemental Hatches or Molecular Casing + // region structure + // use multi A energy inputs, use less power the longer it runs + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.junction.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal( + "gt.blockmachines.multimachine.em.junction.hint.1"), // 2 - Elemental Hatches or Molecular Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", new String[][]{ - {"CCC", "C~C", "CCC"}, - {"AAA", "AAA", "AAA"}, - {"DDD", "DAD", "DDD"}, - {"DDD", "DDD", "DDD"} - }) - .addShape("mainBig", new String[][]{ - {" A ", " CCC ", "AC~CA", " CCC ", " A "}, - {" DDD ", "DAAAD", "DAAAD", "DAAAD", " DDD "}, - {"ADDDA", "DAAAD", "DABAD", "DAAAD", "ADDDA"}, - {" DDD ", "DAAAD", "DAAAD", "DAAAD", " DDD "}, - {" A ", "DDDDD", "ADDDA", "DDDDD", " A "} - }) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('C', ofHatchAdderOptional(GT_MetaTileEntity_EM_junction::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('D', ofHatchAdderOptional(GT_MetaTileEntity_EM_junction::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) - .build(); - //endregion - - //region parameters - private static final INameFunction ROUTE_NAME = - (base, p) -> (p.parameterId() == 0 ? translateToLocal("tt.keyword.Source") + " " : translateToLocal("tt.keyword.Destination") + " ") + p.hatchId(); - private static final IStatusFunction SRC_STATUS = - (base, p) -> { - double v = p.get(); - if (Double.isNaN(v)) return STATUS_WRONG; - v = (int) v; - if (v < 0) return STATUS_TOO_LOW; - if (v == 0) return STATUS_NEUTRAL; - if (v > base.eOutputHatches.size()) return STATUS_TOO_HIGH; - return STATUS_OK; - }; - private static final IStatusFunction DST_STATUS = - (base, p) -> { - if (base.src[p.hatchId()].getStatus(false) == STATUS_OK) { - double v = p.get(); - if (Double.isNaN(v)) return STATUS_WRONG; - v = (int) v; - if (v < 0) return STATUS_TOO_LOW; - if (v == 0) return STATUS_LOW; - if (v > base.eInputHatches.size()) return STATUS_TOO_HIGH; - return STATUS_OK; - } - return STATUS_NEUTRAL; - }; - protected Parameters.Group.ParameterIn[] src; - protected Parameters.Group.ParameterIn[] dst; - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", new String[][] { + {"CCC", "C~C", "CCC"}, + {"AAA", "AAA", "AAA"}, + {"DDD", "DAD", "DDD"}, + {"DDD", "DDD", "DDD"} + }) + .addShape("mainBig", new String[][] { + {" A ", " CCC ", "AC~CA", " CCC ", " A "}, + {" DDD ", "DAAAD", "DAAAD", "DAAAD", " DDD "}, + {"ADDDA", "DAAAD", "DABAD", "DAAAD", "ADDDA"}, + {" DDD ", "DAAAD", "DAAAD", "DAAAD", " DDD "}, + {" A ", "DDDDD", "ADDDA", "DDDDD", " A "} + }) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement( + 'C', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_junction::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'D', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_junction::addElementalToMachineList, + textureOffset + 4, + 2, + sBlockCasingsTT, + 4)) + .build(); + // endregion + + // region parameters + private static final INameFunction ROUTE_NAME = (base, p) -> (p.parameterId() == 0 + ? translateToLocal("tt.keyword.Source") + " " + : translateToLocal("tt.keyword.Destination") + " ") + + p.hatchId(); + private static final IStatusFunction SRC_STATUS = (base, p) -> { + double v = p.get(); + if (Double.isNaN(v)) return STATUS_WRONG; + v = (int) v; + if (v < 0) return STATUS_TOO_LOW; + if (v == 0) return STATUS_NEUTRAL; + if (v > base.eOutputHatches.size()) return STATUS_TOO_HIGH; + return STATUS_OK; + }; + private static final IStatusFunction DST_STATUS = (base, p) -> { + if (base.src[p.hatchId()].getStatus(false) == STATUS_OK) { + double v = p.get(); + if (Double.isNaN(v)) return STATUS_WRONG; + v = (int) v; + if (v < 0) return STATUS_TOO_LOW; + if (v == 0) return STATUS_LOW; + if (v > base.eInputHatches.size()) return STATUS_TOO_HIGH; + return STATUS_OK; + } + return STATUS_NEUTRAL; + }; + protected Parameters.Group.ParameterIn[] src; + protected Parameters.Group.ParameterIn[] dst; + // endregion public GT_MetaTileEntity_EM_junction(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -103,7 +119,8 @@ public class GT_MetaTileEntity_EM_junction extends GT_MetaTileEntity_MultiblockB @Override public boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { - int meta = iGregTechTileEntity.getMetaIDAtSideAndDistance(GT_Utility.getOppositeSide(iGregTechTileEntity.getFrontFacing()),2); + int meta = iGregTechTileEntity.getMetaIDAtSideAndDistance( + GT_Utility.getOppositeSide(iGregTechTileEntity.getFrontFacing()), 2); if (meta == 4) { return structureCheck_EM("main", 1, 1, 0); } else if (meta == 5) { @@ -139,9 +156,9 @@ public class GT_MetaTileEntity_EM_junction extends GT_MetaTileEntity_MultiblockB if (inIndex < 0 || inIndex >= eInputHatches.size()) { continue; } - int outIndex = (int) dst - 1; - GT_MetaTileEntity_Hatch_InputElemental in = eInputHatches.get(inIndex); - if (outIndex == -1) {//param==0 -> null the content + int outIndex = (int) dst - 1; + GT_MetaTileEntity_Hatch_InputElemental in = eInputHatches.get(inIndex); + if (outIndex == -1) { // param==0 -> null the content cleanHatchContentEM_EM(in); } else { if (outIndex < 0 || outIndex >= eOutputHatches.size()) { @@ -157,18 +174,37 @@ public class GT_MetaTileEntity_EM_junction extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.junction.name")) // Machine Type: Matter Junction - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.junction.desc.0")) // Controller block of the Matter Junction - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.junction.desc.1")) // Used to route and distribute elemental matter - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.junction.desc.2")) // Needs a Parametrizer to be configured + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.junction.name")) // Machine Type: Matter Junction + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.junction.desc.0")) // Controller block of the Matter Junction + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.junction.desc.1")) // Used to route and distribute + // elemental matter + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.junction.desc.2")) // Needs a Parametrizer to be configured .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(3, 3, 4, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOutput"), translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd4th"), 2) // Elemental Output Hatch: Any outer Molecular Casing on the 3rd or 4th slice - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalInput"), translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd4th"), 2) // Elemental Input Hatch: Any outer Molecular Casing on the 3rd or 4th slice - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), translateToLocal("tt.keyword.Structure.Optional") + " " + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 2) // Parametrizer: (optional) Any High Power Casing on the front side - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Energy Hatch: Any High Power Casing on the front side - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Maintenance Hatch: Any High Power Casing on the front side + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOutput"), + translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd4th"), + 2) // Elemental Output Hatch: Any outer Molecular Casing on the 3rd or 4th slice + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalInput"), + translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd4th"), + 2) // Elemental Input Hatch: Any outer Molecular Casing on the 3rd or 4th slice + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), + translateToLocal("tt.keyword.Structure.Optional") + " " + + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 2) // Parametrizer: (optional) Any High Power Casing on the front side + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Energy Hatch: Any High Power Casing on the front side + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Maintenance Hatch: Any High Power Casing on the front side .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java index 07d9d44abb..4de9308ec5 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java @@ -1,5 +1,22 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.DEFAULT_ENERGY_LEVEL; +import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.STABLE_RAW_LIFE_TIME; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refMass; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refUnstableMass; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullFluid; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.github.technus.tectech.util.TT_Utility.isInputEqual; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; @@ -19,59 +36,63 @@ import gregtech.api.GregTech_API; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import java.util.ArrayList; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; -import java.util.ArrayList; - -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.DEFAULT_ENERGY_LEVEL; -import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.STABLE_RAW_LIFE_TIME; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refMass; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refUnstableMass; -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullFluid; -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.github.technus.tectech.util.TT_Utility.isInputEqual; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_quantizer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region structure - //use multi A energy inputs, use less power the longer it runs - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {"CCC", "BAB", "EEE", "DBD"}, - {"C~C", "ABA", "EBE", "BFB"}, - {"CCC", "BAB", "EEE", "DBD"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 0)) - .addElement('B', ofBlock(sBlockCasingsTT, 4)) - .addElement('D', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('C', ofHatchAdderOptional(GT_MetaTileEntity_EM_quantizer::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('F', ofHatchAdder(GT_MetaTileEntity_EM_quantizer::addElementalOutputToMachineList, textureOffset + 4, 2)) - .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_EM_quantizer::addElementalMufflerToMachineList, textureOffset + 4, 3, sBlockCasingsTT, 4)) - .build(); - - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.mattertoem.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.mattertoem.hint.1"),//2 - Elemental Output Hatch - translateToLocal("gt.blockmachines.multimachine.em.mattertoem.hint.2"),//3 - Elemental Overflow Hatches or Molecular Casing + // region structure + // use multi A energy inputs, use less power the longer it runs + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {"CCC", "BAB", "EEE", "DBD"}, + {"C~C", "ABA", "EBE", "BFB"}, + {"CCC", "BAB", "EEE", "DBD"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 0)) + .addElement('B', ofBlock(sBlockCasingsTT, 4)) + .addElement('D', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'C', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_quantizer::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'F', + ofHatchAdder( + GT_MetaTileEntity_EM_quantizer::addElementalOutputToMachineList, + textureOffset + 4, + 2)) + .addElement( + 'E', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_quantizer::addElementalMufflerToMachineList, + textureOffset + 4, + 3, + sBlockCasingsTT, + 4)) + .build(); + + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.mattertoem.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.mattertoem.hint.1"), // 2 - Elemental Output Hatch + translateToLocal( + "gt.blockmachines.multimachine.em.mattertoem.hint.2"), // 3 - Elemental Overflow Hatches or Molecular + // Casing }; - //endregion + // endregion public GT_MetaTileEntity_EM_quantizer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -92,41 +113,68 @@ public class GT_MetaTileEntity_EM_quantizer extends GT_MetaTileEntity_Multiblock } @Override - public boolean checkRecipe_EM(ItemStack itemStack) {//TODO implement instance quantization + public boolean checkRecipe_EM(ItemStack itemStack) { // TODO implement instance quantization if (GregTech_API.sPostloadFinished) { ArrayList storedInputs = getStoredInputs(); - ItemStack[] inI = storedInputs.toArray(nullItem); + ItemStack[] inI = storedInputs.toArray(nullItem); if (inI.length > 0) { for (ItemStack is : inI) { - //ITEM STACK quantization - EMItemQuantizationInfo aIQI = TecTech.transformationInfo.getItemQuantization().get(new EMItemQuantizationInfo(is, false, null)); + // ITEM STACK quantization + EMItemQuantizationInfo aIQI = TecTech.transformationInfo + .getItemQuantization() + .get(new EMItemQuantizationInfo(is, false, null)); if (aIQI == null) { - aIQI = TecTech.transformationInfo.getItemQuantization().get(new EMItemQuantizationInfo(is, true, null));//todo check if works? + aIQI = TecTech.transformationInfo + .getItemQuantization() + .get(new EMItemQuantizationInfo(is, true, null)); // todo check if works? } if (aIQI == null) { - //ORE DICT quantization //todo fix for uranium? + // ORE DICT quantization //todo fix for uranium? int[] oreIDs = OreDictionary.getOreIDs(is); for (int ID : oreIDs) { if (DEBUG_MODE) { - TecTech.LOGGER.info("Quantifier-Ore-recipe " + is.getItem().getUnlocalizedName() + '.' + is.getItemDamage() + ' ' + OreDictionary.getOreName(ID)); + TecTech.LOGGER.info( + "Quantifier-Ore-recipe " + is.getItem().getUnlocalizedName() + '.' + + is.getItemDamage() + ' ' + OreDictionary.getOreName(ID)); } - EMOredictQuantizationInfo aOQI = TecTech.transformationInfo.getOredictQuantization().get(ID); + EMOredictQuantizationInfo aOQI = TecTech.transformationInfo + .getOredictQuantization() + .get(ID); if (aOQI == null) { continue; } IEMStack into = aOQI.getOut(); - if (into != null && isInputEqual(true, false, nullFluid, new ItemStack[]{new ItemStack(is.getItem(), aOQI.getAmount(), is.getItemDamage())}, null, inI)) { + if (into != null + && isInputEqual( + true, + false, + nullFluid, + new ItemStack[] { + new ItemStack(is.getItem(), aOQI.getAmount(), is.getItemDamage()) + }, + null, + inI)) { startRecipe(into); return true; } } } else { - //Do ITEM STACK quantization + // Do ITEM STACK quantization if (DEBUG_MODE) { - TecTech.LOGGER.info("Quantifier-Item-recipe " + is.getItem().getUnlocalizedName() + '.' + is.getItemDamage()); + TecTech.LOGGER.info("Quantifier-Item-recipe " + + is.getItem().getUnlocalizedName() + '.' + is.getItemDamage()); } IEMStack into = aIQI.output(); - if (into != null && isInputEqual(true, false, nullFluid, new ItemStack[]{new ItemStack(is.getItem(), aIQI.input().stackSize, is.getItemDamage())}, null, inI)) { + if (into != null + && isInputEqual( + true, + false, + nullFluid, + new ItemStack[] { + new ItemStack(is.getItem(), aIQI.input().stackSize, is.getItemDamage()) + }, + null, + inI)) { startRecipe(into); return true; } @@ -134,16 +182,20 @@ public class GT_MetaTileEntity_EM_quantizer extends GT_MetaTileEntity_Multiblock } } ArrayList storedFluids = getStoredFluids(); - FluidStack[] inF = storedFluids.toArray(nullFluid); + FluidStack[] inF = storedFluids.toArray(nullFluid); if (inF.length > 0) { for (FluidStack fs : inF) { - EMFluidQuantizationInfo aFQI = TecTech.transformationInfo.getFluidQuantization().get(fs.getFluid().getID()); + EMFluidQuantizationInfo aFQI = TecTech.transformationInfo + .getFluidQuantization() + .get(fs.getFluid().getID()); if (aFQI == null) { continue; } IEMStack into = aFQI.output(); - if (into != null && fs.amount >= aFQI.input().amount && isInputEqual(true, false, - new FluidStack[]{aFQI.input()}, nullItem, inF, (ItemStack[]) null)) { + if (into != null + && fs.amount >= aFQI.input().amount + && isInputEqual( + true, false, new FluidStack[] {aFQI.input()}, nullItem, inF, (ItemStack[]) null)) { startRecipe(into); return true; } @@ -156,18 +208,19 @@ public class GT_MetaTileEntity_EM_quantizer extends GT_MetaTileEntity_Multiblock private void startRecipe(IEMStack into) { mMaxProgresstime = 20; mEfficiencyIncrease = 10000; - double mass = into.getMass(); + double mass = into.getMass(); double euMult = Math.abs(mass / refMass); eAmpereFlow = (int) Math.ceil(Math.sqrt(Math.sqrt(euMult))); - if (mass > refUnstableMass || into.getDefinition().getRawTimeSpan(DEFAULT_ENERGY_LEVEL) < STABLE_RAW_LIFE_TIME) { + if (mass > refUnstableMass + || into.getDefinition().getRawTimeSpan(DEFAULT_ENERGY_LEVEL) < STABLE_RAW_LIFE_TIME) { mEUt = (int) -V[8]; } else { mEUt = (int) -V[6]; } - outputEM = new EMInstanceStackMap[]{ - into instanceof EMInstanceStack ? - new EMInstanceStackMap((EMInstanceStack) into) : - new EMInstanceStackMap(new EMInstanceStack(into.getDefinition(), into.getAmount())) + outputEM = new EMInstanceStackMap[] { + into instanceof EMInstanceStack + ? new EMInstanceStackMap((EMInstanceStack) into) + : new EMInstanceStackMap(new EMInstanceStack(into.getDefinition(), into.getAmount())) }; } @@ -184,22 +237,39 @@ public class GT_MetaTileEntity_EM_quantizer extends GT_MetaTileEntity_Multiblock @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.mattertoem.name")) // Machine Type: Matter Quantizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.mattertoem.desc.0")) // Controller block of the Matter Quantizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.mattertoem.desc.1")) // Transforms items into their elemental form + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.mattertoem.name")) // Machine Type: Matter Quantizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.mattertoem.desc.0")) // Controller block of the Matter + // Quantizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.mattertoem.desc.1")) // Transforms items into their + // elemental form .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(3, 3, 4, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOutput"), translateToLocal("tt.keyword.Structure.BackCenter"), 2) // Elemental Output Hatch: Back center - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOverflow"), translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd"), 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 3rd slice - .addInputBus(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Input Bus: Any High Power Casing on the front side - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Energy Hatch: Any High Power Casing on the front side - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Maintenance Hatch: Any High Power Casing on the front side + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOutput"), + translateToLocal("tt.keyword.Structure.BackCenter"), + 2) // Elemental Output Hatch: Back center + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOverflow"), + translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd"), + 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 3rd slice + .addInputBus( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Input Bus: Any High Power Casing on the front side + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Energy Hatch: Any High Power Casing on the front side + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Maintenance Hatch: Any High Power Casing on the front side .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } - public final static ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_mid_freq"); + public static final ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_mid_freq"); @Override @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java index ca26b35785..8defa2c64c 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java @@ -1,12 +1,25 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.recipe.TT_recipe.E_RECIPE_ID; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_crafting.crafter; +import static com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine.machine; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.github.technus.tectech.util.CommonValues.VN; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.enums.GT_HatchElement.*; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.recipe.TT_recipe; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Holder; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; import com.github.technus.tectech.util.CommonValues; -import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; @@ -22,6 +35,10 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase; import gregtech.api.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.List; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; @@ -31,73 +48,51 @@ import net.minecraft.nbt.NBTTagString; import net.minecraft.util.EnumChatFormatting; import org.apache.commons.lang3.reflect.FieldUtils; -import java.util.ArrayList; -import java.util.Collections; -import java.util.LinkedHashMap; -import java.util.List; - -import static com.github.technus.tectech.recipe.TT_recipe.E_RECIPE_ID; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_crafting.crafter; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.DynamoMulti; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.EnergyMulti; -import static com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine.machine; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.github.technus.tectech.util.CommonValues.VN; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.*; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable { - //region variables - private final ArrayList eHolders = new ArrayList<>(); - private GT_Recipe.GT_Recipe_AssemblyLine tRecipe; - private TT_recipe.TT_assLineRecipe aRecipe; - private String machineType; - private static final String assembly = "Assembly line"; - private ItemStack holdItem; - private long computationRemaining, computationRequired; +public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockBase_EM + implements ISurvivalConstructable { + // region variables + private final ArrayList eHolders = new ArrayList<>(); + private GT_Recipe.GT_Recipe_AssemblyLine tRecipe; + private TT_recipe.TT_assLineRecipe aRecipe; + private String machineType; + private static final String assembly = "Assembly line"; + private ItemStack holdItem; + private long computationRemaining, computationRequired; private static LinkedHashMap lServerNames; - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.research.hint.0"),//1 - Classic/Data Hatches or Computer casing - translateToLocal("gt.blockmachines.multimachine.em.research.hint.1"),//2 - Holder Hatch + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.research.hint.0"), // 1 - Classic/Data Hatches or Computer casing + translateToLocal("gt.blockmachines.multimachine.em.research.hint.1"), // 2 - Holder Hatch }; private String clientLocale = "en_US"; - //endregion - - //region structure - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {" ", " A ", " A ", "AAA", "AAA", "AAA", "AAA"}, - {"AAA", "ACA", "ACA", "ACA", "BCB", "BCB", "BBB"}, - {" ", " C ", " ", " ", "ACA", "CCC", "DDD"}, - {" ", " E ", " ", " ", "A~A", "CCC", "DDD"}, - {" ", " C ", " ", " ", "ACA", "CCC", "DDD"}, - {"AAA", "ACA", "ACA", "ACA", "BCB", "BCB", "BBB"}, - {" ", " A ", " A ", "AAA", "AAA", "AAA", "AAA"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 1)) - .addElement('B', ofBlock(sBlockCasingsTT, 2)) - .addElement('C', ofBlock(sBlockCasingsTT, 3)) - .addElement('D', classicHatches(textureOffset + 1, 1, sBlockCasingsTT, 1)) - .addElement('E', HolderHatchElement.INSTANCE.newAny(3, 2)) - .build(); - //endregion + // endregion + + // region structure + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {" ", " A ", " A ", "AAA", "AAA", "AAA", "AAA"}, + {"AAA", "ACA", "ACA", "ACA", "BCB", "BCB", "BBB"}, + {" ", " C ", " ", " ", "ACA", "CCC", "DDD"}, + {" ", " E ", " ", " ", "A~A", "CCC", "DDD"}, + {" ", " C ", " ", " ", "ACA", "CCC", "DDD"}, + {"AAA", "ACA", "ACA", "ACA", "BCB", "BCB", "BBB"}, + {" ", " A ", " A ", "AAA", "AAA", "AAA", "AAA"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 1)) + .addElement('B', ofBlock(sBlockCasingsTT, 2)) + .addElement('C', ofBlock(sBlockCasingsTT, 3)) + .addElement('D', classicHatches(textureOffset + 1, 1, sBlockCasingsTT, 1)) + .addElement('E', HolderHatchElement.INSTANCE.newAny(3, 2)) + .build(); + // endregion public GT_MetaTileEntity_EM_research(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -109,9 +104,12 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB private void makeStick() { mInventory[1].setTagCompound(new NBTTagCompound()); - mInventory[1].setStackDisplayName(GT_LanguageManager.getTranslation(tRecipe.mOutput.getDisplayName()) + " Construction Data"); - GT_Utility.ItemNBT.setBookTitle(mInventory[1], GT_LanguageManager.getTranslation(tRecipe.mOutput.getDisplayName()) + " Construction Data"); - NBTTagCompound tNBT = mInventory[1].getTagCompound();//code above makes it not null + mInventory[1].setStackDisplayName( + GT_LanguageManager.getTranslation(tRecipe.mOutput.getDisplayName()) + " Construction Data"); + GT_Utility.ItemNBT.setBookTitle( + mInventory[1], + GT_LanguageManager.getTranslation(tRecipe.mOutput.getDisplayName()) + " Construction Data"); + NBTTagCompound tNBT = mInventory[1].getTagCompound(); // code above makes it not null tNBT.setTag("output", tRecipe.mOutput.writeToNBT(new NBTTagCompound())); tNBT.setInteger("time", tRecipe.mDuration); @@ -122,17 +120,24 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB for (int i = 0; i < tRecipe.mFluidInputs.length; i++) { tNBT.setTag("f" + i, tRecipe.mFluidInputs[i].writeToNBT(new NBTTagCompound())); } - tNBT.setString("author", EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.WHITE + " Assembling Line Recipe Generator"); + tNBT.setString( + "author", + EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.WHITE + + " Assembling Line Recipe Generator"); NBTTagList tNBTList = new NBTTagList(); - tNBTList.appendTag(new NBTTagString("Construction plan for " + tRecipe.mOutput.stackSize + ' ' + GT_LanguageManager.getTranslation(tRecipe.mOutput.getDisplayName()) + ". Needed EU/t: " + tRecipe.mEUt + " Production time: " + tRecipe.mDuration / 20)); + tNBTList.appendTag(new NBTTagString("Construction plan for " + tRecipe.mOutput.stackSize + ' ' + + GT_LanguageManager.getTranslation(tRecipe.mOutput.getDisplayName()) + ". Needed EU/t: " + tRecipe.mEUt + + " Production time: " + tRecipe.mDuration / 20)); for (int i = 0; i < tRecipe.mInputs.length; i++) { if (tRecipe.mInputs[i] != null) { - tNBTList.appendTag(new NBTTagString("Input Bus " + (i + 1) + ": " + tRecipe.mInputs[i].stackSize + ' ' + GT_LanguageManager.getTranslation(tRecipe.mInputs[i].getDisplayName()))); + tNBTList.appendTag(new NBTTagString("Input Bus " + (i + 1) + ": " + tRecipe.mInputs[i].stackSize + ' ' + + GT_LanguageManager.getTranslation(tRecipe.mInputs[i].getDisplayName()))); } } for (int i = 0; i < tRecipe.mFluidInputs.length; i++) { if (tRecipe.mFluidInputs[i] != null) { - tNBTList.appendTag(new NBTTagString("Input Hatch " + (i + 1) + ": " + tRecipe.mFluidInputs[i].amount + "L " + GT_LanguageManager.getTranslation(tRecipe.mFluidInputs[i].getLocalizedName()))); + tNBTList.appendTag(new NBTTagString("Input Hatch " + (i + 1) + ": " + tRecipe.mFluidInputs[i].amount + + "L " + GT_LanguageManager.getTranslation(tRecipe.mFluidInputs[i].getLocalizedName()))); } } tNBT.setTag("pages", tNBTList); @@ -141,7 +146,8 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB static { try { Class GT_Assemblyline_Server = Class.forName("gregtech.api.util.GT_Assemblyline_Server"); - lServerNames = (LinkedHashMap) GT_Assemblyline_Server.getField("lServerNames").get(null); + lServerNames = (LinkedHashMap) + GT_Assemblyline_Server.getField("lServerNames").get(null); } catch (ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) { lServerNames = null; } @@ -182,7 +188,10 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB for (int i = 0; i < tRecipe.mFluidInputs.length; i++) { tNBT.setTag("f" + i, tRecipe.mFluidInputs[i].writeToNBT(new NBTTagCompound())); } - tNBT.setString("author", EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.WHITE + ' ' + machineType + " Recipe Generator"); + tNBT.setString( + "author", + EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.WHITE + ' ' + + machineType + " Recipe Generator"); NBTTagList tNBTList = new NBTTagList(); s = tRecipe.mOutput.getDisplayName(); if (getBaseMetaTileEntity().isServerSide()) { @@ -191,22 +200,24 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB s = tRecipe.mOutput.getDisplayName(); } } - tNBTList.appendTag(new NBTTagString("Construction plan for " + tRecipe.mOutput.stackSize + " " + s + ". Needed EU/t: " + tRecipe.mEUt + " Production time: " + (tRecipe.mDuration / 20))); + tNBTList.appendTag(new NBTTagString("Construction plan for " + tRecipe.mOutput.stackSize + " " + s + + ". Needed EU/t: " + tRecipe.mEUt + " Production time: " + (tRecipe.mDuration / 20))); for (int i = 0; i < tRecipe.mInputs.length; i++) { if (tRecipe.mOreDictAlt[i] != null) { - int count = 0; + int count = 0; StringBuilder tBuilder = new StringBuilder("Input Bus " + (i + 1) + ": "); for (ItemStack tStack : tRecipe.mOreDictAlt[i]) { if (tStack != null) { s = tStack.getDisplayName(); if (getBaseMetaTileEntity().isServerSide()) { s = lServerNames.get(tStack.getDisplayName()); - if (s == null) - s = tStack.getDisplayName(); + if (s == null) s = tStack.getDisplayName(); } - - tBuilder.append(count == 0 ? "" : "\nOr ").append(tStack.stackSize).append(" ").append(s); + tBuilder.append(count == 0 ? "" : "\nOr ") + .append(tStack.stackSize) + .append(" ") + .append(s); count++; } } @@ -219,7 +230,8 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB s = tRecipe.mInputs[i].getDisplayName(); } } - tNBTList.appendTag(new NBTTagString("Input Bus " + (i + 1) + ": " + tRecipe.mInputs[i].stackSize + " " + s)); + tNBTList.appendTag( + new NBTTagString("Input Bus " + (i + 1) + ": " + tRecipe.mInputs[i].stackSize + " " + s)); } } for (int i = 0; i < tRecipe.mFluidInputs.length; i++) { @@ -231,7 +243,8 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB s = tRecipe.mFluidInputs[i].getLocalizedName(); } } - tNBTList.appendTag(new NBTTagString("Input Hatch " + (i + 1) + ": " + tRecipe.mFluidInputs[i].amount + "L " + s)); + tNBTList.appendTag( + new NBTTagString("Input Hatch " + (i + 1) + ": " + tRecipe.mFluidInputs[i].amount + "L " + s)); } } tNBT.setTag("pages", tNBTList); @@ -292,7 +305,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB if (GT_Utility.areStacksEqual(assRecipe.mResearchItem, holdItem, true)) { machineType = assembly; tRecipe = assRecipe; - //if found + // if found if (iterateRecipes()) return true; } } @@ -301,7 +314,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB if (GT_Utility.areStacksEqual(assRecipeTT.mResearchItem, holdItem, true)) { aRecipe = assRecipeTT; machineType = machine; - //if found + // if found if (iterateRecipes()) return true; } } @@ -309,7 +322,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB if (GT_Utility.areStacksEqual(assRecipeTT.mResearchItem, holdItem, true)) { aRecipe = assRecipeTT; machineType = crafter; - //if found + // if found if (iterateRecipes()) return true; } } @@ -342,13 +355,18 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB eHolders.get(0).getBaseMetaTileEntity().setActive(false); eHolders.get(0).mInventory[0] = null; - mInventory[1].setStackDisplayName(GT_LanguageManager.getTranslation(aRecipe.mOutputs[0].getDisplayName()) + ' ' + machineType + " Construction Data"); - NBTTagCompound tNBT = mInventory[1].getTagCompound();//code above makes it not null + mInventory[1].setStackDisplayName( + GT_LanguageManager.getTranslation(aRecipe.mOutputs[0].getDisplayName()) + ' ' + machineType + + " Construction Data"); + NBTTagCompound tNBT = mInventory[1].getTagCompound(); // code above makes it not null tNBT.setString("eMachineType", machineType); GameRegistry.UniqueIdentifier uid = GameRegistry.findUniqueIdentifierFor(aRecipe.mOutputs[0].getItem()); tNBT.setString(E_RECIPE_ID, uid + ":" + aRecipe.mOutputs[0].getItemDamage()); - tNBT.setString("author", EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.WHITE + ' ' + machineType + " Recipe Generator"); + tNBT.setString( + "author", + EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + + EnumChatFormatting.WHITE + ' ' + machineType + " Recipe Generator"); } } computationRequired = computationRemaining = 0; @@ -360,18 +378,35 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.research.name")) // Machine Type: Research Station - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.0")) // Controller block of the Research Station - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.1")) // Used to scan Data Sticks for Assembling Line Recipes - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.2")) // Needs to be fed with computation to work - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.3")) // Does not consume the item until the Data Stick is written + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.research.name")) // Machine Type: Research Station + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.research.desc.0")) // Controller block of the Research Station + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.research.desc.1")) // Used to scan Data Sticks for + // Assembling Line Recipes + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.research.desc.2")) // Needs to be fed with computation to work + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.research.desc.3")) // Does not consume the item until + // the Data Stick is written .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(3, 7, 7, false) - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.holder.tier.09.name"), translateToLocal("tt.keyword.Structure.CenterPillar"), 2) // Object Holder: Center of the front pillar - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.DataConnector"), translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), 1) // Optical Connector: Any Computer Casing on the backside of the main body - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), 1) // Energy Hatch: Any Computer Casing on the backside of the main body - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), 1) // Maintenance Hatch: Any Computer Casing on the backside of the main body + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.holder.tier.09.name"), + translateToLocal("tt.keyword.Structure.CenterPillar"), + 2) // Object Holder: Center of the front pillar + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.DataConnector"), + translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), + 1) // Optical Connector: Any Computer Casing on the backside of the main body + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), + 1) // Energy Hatch: Any Computer Casing on the backside of the main body + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), + 1) // Maintenance Hatch: Any Computer Casing on the backside of the main body .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -379,7 +414,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB @Override public String[] getInfoData() { long storedEnergy = 0; - long maxEnergy = 0; + long maxEnergy = 0; for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { storedEnergy += tHatch.getBaseMetaTileEntity().getStoredEU(); @@ -393,42 +428,64 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB } } - return new String[]{ - translateToLocalFormatted("tt.keyphrase.Energy_Hatches", clientLocale) + ":", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + " EU", - (mEUt <= 0 ? translateToLocalFormatted("tt.keyphrase.Probably_uses", clientLocale) + ": " : translateToLocalFormatted("tt.keyphrase.Probably_makes", clientLocale) + ": ") + - EnumChatFormatting.RED + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t " + - translateToLocalFormatted("tt.keyword.at", clientLocale) + " " + - EnumChatFormatting.RED + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", - translateToLocalFormatted("tt.keyphrase.Tier_Rating", clientLocale) + ": " + - EnumChatFormatting.YELLOW + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.GREEN + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " " + - translateToLocalFormatted("tt.keyphrase.Amp_Rating", clientLocale) + ": " + - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", - translateToLocalFormatted("tt.keyword.Problems", clientLocale) + ": " + - EnumChatFormatting.RED + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + " " + - translateToLocalFormatted("tt.keyword.Efficiency", clientLocale) + ": " + - EnumChatFormatting.YELLOW + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", - translateToLocalFormatted("tt.keyword.PowerPass", clientLocale) + ": " + - EnumChatFormatting.BLUE + ePowerPass + EnumChatFormatting.RESET + " " + - translateToLocalFormatted("tt.keyword.SafeVoid", clientLocale) + ": " + - EnumChatFormatting.BLUE + eSafeVoid, - translateToLocalFormatted("tt.keyphrase.Computation_Available", clientLocale) + ": " + - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET, - translateToLocalFormatted("tt.keyphrase.Computation_Remaining", clientLocale) + ":", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(computationRemaining / 20L) + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(computationRequired / 20L) + return new String[] { + translateToLocalFormatted("tt.keyphrase.Energy_Hatches", clientLocale) + ":", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + + " EU", + (mEUt <= 0 + ? translateToLocalFormatted("tt.keyphrase.Probably_uses", clientLocale) + ": " + : translateToLocalFormatted("tt.keyphrase.Probably_makes", clientLocale) + ": ") + + EnumChatFormatting.RED + + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t " + + translateToLocalFormatted("tt.keyword.at", clientLocale) + + " " + EnumChatFormatting.RED + + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", + translateToLocalFormatted("tt.keyphrase.Tier_Rating", clientLocale) + ": " + EnumChatFormatting.YELLOW + + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + EnumChatFormatting.GREEN + + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyphrase.Amp_Rating", clientLocale) + + ": " + EnumChatFormatting.GREEN + + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", + translateToLocalFormatted("tt.keyword.Problems", clientLocale) + ": " + EnumChatFormatting.RED + + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyword.Efficiency", clientLocale) + + ": " + EnumChatFormatting.YELLOW + + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", + translateToLocalFormatted("tt.keyword.PowerPass", clientLocale) + ": " + EnumChatFormatting.BLUE + + ePowerPass + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyword.SafeVoid", clientLocale) + + ": " + EnumChatFormatting.BLUE + + eSafeVoid, + translateToLocalFormatted("tt.keyphrase.Computation_Available", clientLocale) + ": " + + EnumChatFormatting.GREEN + + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " + + EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET, + translateToLocalFormatted("tt.keyphrase.Computation_Remaining", clientLocale) + ":", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(computationRemaining / 20L) + EnumChatFormatting.RESET + + " / " + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(computationRequired / 20L) }; } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][3], new TT_RenderedExtendedFacingTexture(aActive ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF)}; - } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][3]}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][3], + new TT_RenderedExtendedFacingTexture( + aActive + ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON + : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF) + }; + } + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][3]}; } @Override @@ -482,10 +539,10 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB holdItem = null; } - //@Override - //public boolean isFacingValid(byte aFacing) { + // @Override + // public boolean isFacingValid(byte aFacing) { // return aFacing >= 2; - //} + // } @Override public void onFirstTick_EM(IGregTechTileEntity aBaseMetaTileEntity) { @@ -495,7 +552,8 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB tRecipe = null; if (holdItem != null) { if (ItemList.Tool_DataStick.isStackEqual(mInventory[1], false, true)) { - for (GT_Recipe.GT_Recipe_AssemblyLine tRecipe : TT_recipe.GT_Recipe_MapTT.sAssemblylineRecipes) { + for (GT_Recipe.GT_Recipe_AssemblyLine tRecipe : + TT_recipe.GT_Recipe_MapTT.sAssemblylineRecipes) { if (GT_Utility.areStacksEqual(tRecipe.mResearchItem, holdItem, true)) { this.tRecipe = tRecipe; machineType = assembly; @@ -503,7 +561,8 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB } } } else if (ItemList.Tool_DataOrb.isStackEqual(mInventory[1], false, true)) { - for (TT_recipe.TT_assLineRecipe assRecipeTT : TT_recipe.TT_Recipe_Map.sMachineRecipes.recipeList()) { + for (TT_recipe.TT_assLineRecipe assRecipeTT : + TT_recipe.TT_Recipe_Map.sMachineRecipes.recipeList()) { if (GT_Utility.areStacksEqual(assRecipeTT.mResearchItem, holdItem, true)) { aRecipe = assRecipeTT; machineType = machine; @@ -511,7 +570,8 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB } } if (aRecipe == null) { - for (TT_recipe.TT_assLineRecipe assRecipeTT : TT_recipe.TT_Recipe_Map.sCrafterRecipes.recipeList()) { + for (TT_recipe.TT_assLineRecipe assRecipeTT : + TT_recipe.TT_Recipe_Map.sCrafterRecipes.recipeList()) { if (GT_Utility.areStacksEqual(assRecipeTT.mResearchItem, holdItem, true)) { aRecipe = assRecipeTT; machineType = crafter; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java index 1fa3d7588c..56b68e8d37 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java @@ -1,5 +1,19 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.recipe.TT_recipe.E_RECIPE_ID; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_crafting.crafter; +import static com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine.machine; +import static com.github.technus.tectech.util.CommonValues.*; +import static com.github.technus.tectech.util.TT_Utility.areBitsSet; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; @@ -36,98 +50,108 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; import org.apache.commons.lang3.reflect.FieldUtils; -import static com.github.technus.tectech.recipe.TT_recipe.E_RECIPE_ID; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_crafting.crafter; -import static com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine.machine; -import static com.github.technus.tectech.util.CommonValues.*; -import static com.github.technus.tectech.util.TT_Utility.areBitsSet; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region variables - public static final int - SCAN_DO_NOTHING = 0, - SCAN_GET_NOMENCLATURE = 1<<0, - SCAN_GET_DEPTH_LEVEL = 1<<1, - SCAN_GET_AMOUNT = 1<<2, - SCAN_GET_CHARGE = 1<<3, - SCAN_GET_MASS = 1<<4, - SCAN_GET_ENERGY = 1<<5, - SCAN_GET_ENERGY_LEVEL = 1<<6, - SCAN_GET_TIMESPAN_INFO = 1<<7, - SCAN_GET_ENERGY_STATES = 1<<8, - SCAN_GET_COLORABLE = 1<<9, - SCAN_GET_COLOR_VALUE = 1<<10, - SCAN_GET_AGE = 1<<11, - SCAN_GET_TIMESPAN_MULT = 1<<12, - SCAN_GET_CLASS_TYPE = 1<<13, - SCAN_GET_TOO_BIG = 1<<14;//should be the sum of all flags +1 + // region variables + public static final int SCAN_DO_NOTHING = 0, + SCAN_GET_NOMENCLATURE = 1 << 0, + SCAN_GET_DEPTH_LEVEL = 1 << 1, + SCAN_GET_AMOUNT = 1 << 2, + SCAN_GET_CHARGE = 1 << 3, + SCAN_GET_MASS = 1 << 4, + SCAN_GET_ENERGY = 1 << 5, + SCAN_GET_ENERGY_LEVEL = 1 << 6, + SCAN_GET_TIMESPAN_INFO = 1 << 7, + SCAN_GET_ENERGY_STATES = 1 << 8, + SCAN_GET_COLORABLE = 1 << 9, + SCAN_GET_COLOR_VALUE = 1 << 10, + SCAN_GET_AGE = 1 << 11, + SCAN_GET_TIMESPAN_MULT = 1 << 12, + SCAN_GET_CLASS_TYPE = 1 << 13, + SCAN_GET_TOO_BIG = 1 << 14; // should be the sum of all flags +1 private TT_recipe.TT_EMRecipe.TT_EMRecipe eRecipe; - private EMDefinitionStack objectResearched; - private EMInstanceStackMap objectsScanned; - private String machineType; - private long computationRemaining, computationRequired; + private EMDefinitionStack objectResearched; + private EMInstanceStackMap objectsScanned; + private String machineType; + private long computationRemaining, computationRequired; private int[] scanComplexity; private String clientLocale = "en_US"; - //endregion - - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.scanner.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.scanner.hint.1"),//2 - Elemental Input Hatches or Molecular Casing - translateToLocal("gt.blockmachines.multimachine.em.scanner.hint.2"),//3 - Elemental Output Hatches or Molecular Casing - translateToLocal("gt.blockmachines.multimachine.em.scanner.hint.3"),//4 - Elemental Overflow Hatches or Molecular Casing + // endregion + + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.scanner.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal( + "gt.blockmachines.multimachine.em.scanner.hint.1"), // 2 - Elemental Input Hatches or Molecular Casing + translateToLocal( + "gt.blockmachines.multimachine.em.scanner.hint.2"), // 3 - Elemental Output Hatches or Molecular Casing + translateToLocal( + "gt.blockmachines.multimachine.em.scanner.hint.3"), // 4 - Elemental Overflow Hatches or Molecular + // Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {"CCCCC", "BBBBB", "BBDBB", "BDDDB", "BDDDB", "BDDDB", "BBDBB", "EEEEE"}, - {"CAAAC", "BBBBB", "BDDDB", "D---D", "D---D", "D---D", "BDDDB", "EBBBE"}, - {"CA~AC", "BBBBB", "DDDDD", "D---D", "D- -D", "D---D", "DDGDD", "EBFBE"}, - {"CAAAC", "BBBBB", "BDDDB", "D---D", "D---D", "D---D", "BDDDB", "EBBBE"}, - {"CCCCC", "BBBBB", "BBDBB", "BDDDB", "BDDDB", "BDDDB", "BBDBB", "EEEEE"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 0)) - .addElement('B', ofBlock(sBlockCasingsTT, 4)) - .addElement('D', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('C', ofHatchAdderOptional(GT_MetaTileEntity_EM_scanner::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('F', ofHatchAdder(GT_MetaTileEntity_EM_scanner::addElementalInputToMachineList, textureOffset + 4, 2)) - .addElement('G', ofHatchAdder(GT_MetaTileEntity_EM_scanner::addElementalOutputToMachineList, textureOffset + 4, 3)) - .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_EM_scanner::addElementalMufflerToMachineList, textureOffset + 4, 4, sBlockCasingsTT, 4)) - .build(); - //endregion - - //region parameters - private static final INameFunction CONFIG_NAME = + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {"CCCCC", "BBBBB", "BBDBB", "BDDDB", "BDDDB", "BDDDB", "BBDBB", "EEEEE"}, + {"CAAAC", "BBBBB", "BDDDB", "D---D", "D---D", "D---D", "BDDDB", "EBBBE"}, + {"CA~AC", "BBBBB", "DDDDD", "D---D", "D- -D", "D---D", "DDGDD", "EBFBE"}, + {"CAAAC", "BBBBB", "BDDDB", "D---D", "D---D", "D---D", "BDDDB", "EBBBE"}, + {"CCCCC", "BBBBB", "BBDBB", "BDDDB", "BDDDB", "BDDDB", "BBDBB", "EEEEE"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 0)) + .addElement('B', ofBlock(sBlockCasingsTT, 4)) + .addElement('D', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'C', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_scanner::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'F', + ofHatchAdder( + GT_MetaTileEntity_EM_scanner::addElementalInputToMachineList, textureOffset + 4, 2)) + .addElement( + 'G', + ofHatchAdder( + GT_MetaTileEntity_EM_scanner::addElementalOutputToMachineList, + textureOffset + 4, + 3)) + .addElement( + 'E', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_scanner::addElementalMufflerToMachineList, + textureOffset + 4, + 4, + sBlockCasingsTT, + 4)) + .build(); + // endregion + + // region parameters + private static final INameFunction CONFIG_NAME = (base, p) -> "Config at Depth: " + (p.hatchId() * 2 + p.parameterId()); - private static final IStatusFunction CONFIG_STATUS = - (base, p) -> { - double v = p.get(); - if (Double.isNaN(v)) { - return LedStatus.STATUS_WRONG; - } - v = (int) v; - if (v == 0) return LedStatus.STATUS_NEUTRAL; - if (v >= SCAN_GET_TOO_BIG) return LedStatus.STATUS_TOO_HIGH; - if (v < 0) return LedStatus.STATUS_TOO_LOW; - return LedStatus.STATUS_OK; - }; - protected Parameters.Group.ParameterIn[] scanConfiguration; - //endregion + private static final IStatusFunction CONFIG_STATUS = (base, p) -> { + double v = p.get(); + if (Double.isNaN(v)) { + return LedStatus.STATUS_WRONG; + } + v = (int) v; + if (v == 0) return LedStatus.STATUS_NEUTRAL; + if (v >= SCAN_GET_TOO_BIG) return LedStatus.STATUS_TOO_HIGH; + if (v < 0) return LedStatus.STATUS_TOO_LOW; + return LedStatus.STATUS_OK; + }; + protected Parameters.Group.ParameterIn[] scanConfiguration; + // endregion public GT_MetaTileEntity_EM_scanner(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -142,9 +166,9 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa private void quantumStuff(boolean shouldExist) { IGregTechTileEntity base = getBaseMetaTileEntity(); if (base != null && base.getWorld() != null) { - int xDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetX * 4 + base.getXCoord(); - int yDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetY * 4 + base.getYCoord(); - int zDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetZ * 4 + base.getZCoord(); + int xDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetX * 4 + base.getXCoord(); + int yDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetY * 4 + base.getYCoord(); + int zDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetZ * 4 + base.getZCoord(); Block block = base.getWorld().getBlock(xDir, yDir, zDir); if (shouldExist) { if (block != null && block.getMaterial() == Material.air) { @@ -227,13 +251,18 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa if (!structureCheck_EM("main", 2, 2, 0)) { return false; } - return eInputHatches.size() == 1 && eOutputHatches.size() == 1 && eOutputHatches.get(0).getBaseMetaTileEntity().getFrontFacing() == iGregTechTileEntity.getFrontFacing(); + return eInputHatches.size() == 1 + && eOutputHatches.size() == 1 + && eOutputHatches.get(0).getBaseMetaTileEntity().getFrontFacing() + == iGregTechTileEntity.getFrontFacing(); } @Override public boolean checkRecipe_EM(ItemStack itemStack) { eRecipe = null; - if (!eInputHatches.isEmpty() && eInputHatches.get(0).getContentHandler().hasStacks() && !eOutputHatches.isEmpty()) { + if (!eInputHatches.isEmpty() + && eInputHatches.get(0).getContentHandler().hasStacks() + && !eOutputHatches.isEmpty()) { EMInstanceStackMap researchEM = eInputHatches.get(0).getContentHandler(); if (ItemList.Tool_DataOrb.isStackEqual(itemStack, false, true)) { GT_Recipe scannerRecipe = null; @@ -244,7 +273,7 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa scannerRecipe = eRecipe.scannerRecipe; machineType = machine; objectResearched = new EMDefinitionStack(stackEM.getDefinition(), 1); - //cleanMassEM_EM(objectResearched.getMass()); + // cleanMassEM_EM(objectResearched.getMass()); researchEM.removeKey(objectResearched.getDefinition()); break; } @@ -253,16 +282,16 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa scannerRecipe = eRecipe.scannerRecipe; machineType = crafter; objectResearched = new EMDefinitionStack(stackEM.getDefinition(), 1); - //cleanMassEM_EM(objectResearched.getMass()); + // cleanMassEM_EM(objectResearched.getMass()); researchEM.removeKey(objectResearched.getDefinition()); break; } cleanStackEM_EM(stackEM); researchEM.removeKey(stackEM.getDefinition()); } - if (eRecipe != null && scannerRecipe != null) {//todo make sure it werks + if (eRecipe != null && scannerRecipe != null) { // todo make sure it werks computationRequired = computationRemaining = scannerRecipe.mDuration * 20L; - mMaxProgresstime = 20;//const + mMaxProgresstime = 20; // const mEfficiencyIncrease = 10000; eRequiredData = (short) (scannerRecipe.mSpecialValue >>> 16); eAmpereFlow = (short) (scannerRecipe.mSpecialValue & 0xFFFF); @@ -281,7 +310,7 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa eAmpereFlow = objectsScanned.size() + TecTech.RANDOM.next(objectsScanned.size()); mEUt = -(int) V[8]; - //get depth scan complexity array + // get depth scan complexity array { int[] scanComplexityTemp = new int[20]; for (int i = 0; i < 20; i++) { @@ -294,13 +323,13 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa addComputationRequirements(i + 1, scanComplexityTemp[i]); } } - maxDepth += 1;//from index to len + maxDepth += 1; // from index to len scanComplexity = new int[maxDepth]; System.arraycopy(scanComplexityTemp, 0, scanComplexity, 0, maxDepth); } computationRemaining = computationRequired *= 20; - mMaxProgresstime = 20;//const + mMaxProgresstime = 20; // const mEfficiencyIncrease = 10000; quantumStuff(true); return true; @@ -317,12 +346,14 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa public void outputAfterRecipe_EM() { if (eRecipe != null && ItemList.Tool_DataOrb.isStackEqual(mInventory[1], false, true)) { - mInventory[1].setStackDisplayName(GT_LanguageManager.getTranslation(eRecipe.mOutputs[0].getDisplayName()) + ' ' + machineType + " Construction Data"); - NBTTagCompound tNBT = mInventory[1].getTagCompound();//code above makes it not null + mInventory[1].setStackDisplayName(GT_LanguageManager.getTranslation(eRecipe.mOutputs[0].getDisplayName()) + + ' ' + machineType + " Construction Data"); + NBTTagCompound tNBT = mInventory[1].getTagCompound(); // code above makes it not null tNBT.setString("eMachineType", machineType); tNBT.setTag(E_RECIPE_ID, objectResearched.toNBT(TecTech.definitionsRegistry)); - tNBT.setString("author", TEC_MARK_SHORT + EnumChatFormatting.WHITE + ' ' + machineType + " EM Recipe Generator"); + tNBT.setString( + "author", TEC_MARK_SHORT + EnumChatFormatting.WHITE + ' ' + machineType + " EM Recipe Generator"); } else if (objectsScanned != null && CustomItemList.scanContainer.isStackEqual(mInventory[1], false, true)) { ElementalDefinitionScanStorage_EM.setContent(mInventory[1], objectsScanned, scanComplexity); } @@ -334,15 +365,27 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.scanner.name")) // Machine Type: Elemental Scanner - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.scanner.desc.0")) // Controller block of the Elemental Scanner + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.scanner.name")) // Machine Type: Elemental Scanner + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.scanner.desc.0")) // Controller block of the Elemental Scanner .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(5, 5, 8, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalInput"), translateToLocal("tt.keyword.Structure.BackCenter"), 2) // Elemental Input Hatch: Back Center - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOutput"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing3D"), 3) // Elemental Output Hatch: Any Molecular Casing with 3 dot - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), 1) // Energy Hatch: Any High Power Casing with 1 dot - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), 1) // Maintenance Hatch: Any High Power Casing with 1 dot + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalInput"), + translateToLocal("tt.keyword.Structure.BackCenter"), + 2) // Elemental Input Hatch: Back Center + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOutput"), + translateToLocal("tt.keyword.Structure.AnyMolecularCasing3D"), + 3) // Elemental Output Hatch: Any Molecular Casing with 3 dot + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), + 1) // Energy Hatch: Any High Power Casing with 1 dot + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), + 1) // Maintenance Hatch: Any High Power Casing with 1 dot .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -350,7 +393,7 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa @Override public String[] getInfoData() { long storedEnergy = 0; - long maxEnergy = 0; + long maxEnergy = 0; for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { storedEnergy += tHatch.getBaseMetaTileEntity().getStoredEU(); @@ -364,33 +407,43 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa } } - return new String[]{ - translateToLocalFormatted("tt.keyphrase.Energy_Hatches", clientLocale) + ":", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + " EU", - (mEUt <= 0 ? translateToLocalFormatted("tt.keyphrase.Probably_uses", clientLocale) + ": " : translateToLocalFormatted("tt.keyphrase.Probably_makes", clientLocale) + ": ") + - EnumChatFormatting.RED + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t " + - translateToLocalFormatted("tt.keyword.at", clientLocale) + " " + - EnumChatFormatting.RED + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", - translateToLocalFormatted("tt.keyphrase.Tier_Rating", clientLocale) + ": " + - EnumChatFormatting.YELLOW + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.GREEN + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " " + - translateToLocalFormatted("tt.keyphrase.Amp_Rating", clientLocale) + ": " + - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", - translateToLocalFormatted("tt.keyword.Problems", clientLocale) + ": " + - EnumChatFormatting.RED + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + " " + - translateToLocalFormatted("tt.keyword.Efficiency", clientLocale) + ": " + - EnumChatFormatting.YELLOW + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", - translateToLocalFormatted("tt.keyword.PowerPass", clientLocale) + ": " + - EnumChatFormatting.BLUE + ePowerPass + EnumChatFormatting.RESET + " " + - translateToLocalFormatted("tt.keyword.SafeVoid", clientLocale) + ": " + - EnumChatFormatting.BLUE + eSafeVoid, - translateToLocalFormatted("tt.keyphrase.Computation_Available", clientLocale) + ": " + - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET, - translateToLocalFormatted("tt.keyphrase.Computation_Remaining", clientLocale) + ":", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(computationRemaining / 20L) + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(computationRequired / 20L) + return new String[] { + translateToLocalFormatted("tt.keyphrase.Energy_Hatches", clientLocale) + ":", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + + " EU", + (mEUt <= 0 + ? translateToLocalFormatted("tt.keyphrase.Probably_uses", clientLocale) + ": " + : translateToLocalFormatted("tt.keyphrase.Probably_makes", clientLocale) + ": ") + + EnumChatFormatting.RED + + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t " + + translateToLocalFormatted("tt.keyword.at", clientLocale) + + " " + EnumChatFormatting.RED + + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", + translateToLocalFormatted("tt.keyphrase.Tier_Rating", clientLocale) + ": " + EnumChatFormatting.YELLOW + + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + EnumChatFormatting.GREEN + + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyphrase.Amp_Rating", clientLocale) + + ": " + EnumChatFormatting.GREEN + + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", + translateToLocalFormatted("tt.keyword.Problems", clientLocale) + ": " + EnumChatFormatting.RED + + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyword.Efficiency", clientLocale) + + ": " + EnumChatFormatting.YELLOW + + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", + translateToLocalFormatted("tt.keyword.PowerPass", clientLocale) + ": " + EnumChatFormatting.BLUE + + ePowerPass + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyword.SafeVoid", clientLocale) + + ": " + EnumChatFormatting.BLUE + + eSafeVoid, + translateToLocalFormatted("tt.keyphrase.Computation_Available", clientLocale) + ": " + + EnumChatFormatting.GREEN + + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " + + EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET, + translateToLocalFormatted("tt.keyphrase.Computation_Remaining", clientLocale) + ":", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(computationRemaining / 20L) + EnumChatFormatting.RESET + + " / " + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(computationRequired / 20L) }; } @@ -452,7 +505,8 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa } try { if (aNBT.hasKey("eScanObjects")) { - objectsScanned = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, aNBT.getCompoundTag("eScanObjects")); + objectsScanned = + EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, aNBT.getCompoundTag("eScanObjects")); } } catch (EMException e) { objectsScanned = new EMInstanceStackMap(); @@ -465,7 +519,6 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa super.stopMachine(); computationRequired = computationRemaining = 0; objectResearched = null; - } @Override @@ -478,7 +531,8 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa if (eRecipe != null) { machineType = machine; } else { - eRecipe = TT_recipe.TT_Recipe_Map_EM.sCrafterRecipesEM.findRecipe(objectResearched.getDefinition()); + eRecipe = TT_recipe.TT_Recipe_Map_EM.sCrafterRecipesEM.findRecipe( + objectResearched.getDefinition()); if (eRecipe != null) { machineType = crafter; } @@ -531,9 +585,12 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa @Override public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isActive() && (aTick & 0x2) == 0 && aBaseMetaTileEntity.isClientSide()) { - int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 4 + aBaseMetaTileEntity.getXCoord(); - int yDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetY * 4 + aBaseMetaTileEntity.getYCoord(); - int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 4 + aBaseMetaTileEntity.getZCoord(); + int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 4 + + aBaseMetaTileEntity.getXCoord(); + int yDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetY * 4 + + aBaseMetaTileEntity.getYCoord(); + int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 4 + + aBaseMetaTileEntity.getZCoord(); aBaseMetaTileEntity.getWorld().markBlockRangeForRenderUpdate(xDir, yDir, zDir, xDir, yDir, zDir); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_stabilizer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_stabilizer.java index c24ee46057..dad18a6388 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_stabilizer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_stabilizer.java @@ -1,5 +1,12 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.util.CommonValues; @@ -11,42 +18,51 @@ import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_stabilizer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.stabilizer.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.stabilizer.hint.1"),//2 - Elemental Hatches or Molecular Casing + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.stabilizer.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal( + "gt.blockmachines.multimachine.em.stabilizer.hint.1"), // 2 - Elemental Hatches or Molecular Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {" AFA ", "BCBCB", "FBGBF", "BCBCB", " AFA "}, - {"AEEEA", "CBBBC", "BBDBB", "CBBBC", "AEEEA"}, - {"FE~EF", "BBBBB", "GDDDG", "BBBBB", "FEEEF"}, - {"AEEEA", "CBBBC", "BBDBB", "CBBBC", "AEEEA"}, - {" AFA ", "BCBCB", "FBGBF", "BCBCB", " AFA "} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('C', ofBlock(sBlockCasingsTT, 6)) - .addElement('D', ofBlock(sBlockCasingsTT, 9)) - .addElement('F', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_EM_stabilizer::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('G', ofHatchAdderOptional(GT_MetaTileEntity_EM_stabilizer::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) - .build(); - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {" AFA ", "BCBCB", "FBGBF", "BCBCB", " AFA "}, + {"AEEEA", "CBBBC", "BBDBB", "CBBBC", "AEEEA"}, + {"FE~EF", "BBBBB", "GDDDG", "BBBBB", "FEEEF"}, + {"AEEEA", "CBBBC", "BBDBB", "CBBBC", "AEEEA"}, + {" AFA ", "BCBCB", "FBGBF", "BCBCB", " AFA "} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement('C', ofBlock(sBlockCasingsTT, 6)) + .addElement('D', ofBlock(sBlockCasingsTT, 9)) + .addElement('F', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'E', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_stabilizer::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'G', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_stabilizer::addElementalToMachineList, + textureOffset + 4, + 2, + sBlockCasingsTT, + 4)) + .build(); + // endregion public GT_MetaTileEntity_EM_stabilizer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -69,14 +85,24 @@ public class GT_MetaTileEntity_EM_stabilizer extends GT_MetaTileEntity_Multibloc @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.stabilizer.name")) // Machine Type: Elemental Stabilizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.stabilizer.desc.0")) // Controller block of the Elemental Stabilizer + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.stabilizer.name")) // Machine Type: Elemental Stabilizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.stabilizer.desc.0")) // Controller block of the + // Elemental Stabilizer .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(5, 5, 5, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.Elemental"), translateToLocal("tt.keyword.Structure.SideCenter"), 2) // Elemental Hatch: Side center - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.Elemental"), + translateToLocal("tt.keyword.Structure.SideCenter"), + 2) // Elemental Hatch: Side center + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } 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 909f43c355..7896899cc5 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 @@ -1,5 +1,15 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.mechanics.dataTransport.QuantumDataPacket; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputData; @@ -24,65 +34,62 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - "1 - Classic/Data Hatches or Computer casing",//1 - Classic/Data Hatches or Computer casing + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + "1 - Classic/Data Hatches or Computer casing", // 1 - Classic/Data Hatches or Computer casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {"BBB", "BBB", "BBB"}, - {"B~B", "BAB", "BBB"}, - {"BBB", "BBB", "BBB"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 3)) - .addElement('B', ofHatchAdderOptional(GT_MetaTileEntity_EM_switch::addClassicToMachineList, textureOffset + 1, 1, sBlockCasingsTT, 1)) - .build(); - //endregion - - //region parameters - private static final INameFunction ROUTE_NAME = - (base, p) -> (p.parameterId() == 0 ? translateToLocal("tt.keyword.Destination") + " " : translateToLocal("tt.keyword.Weight") + " ") + p.hatchId(); - private static final IStatusFunction WEI_STATUS = - (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; - return STATUS_OK; - }; - private static final IStatusFunction DST_STATUS = - (base, p) -> { - if (base.weight[p.hatchId()].getStatus(false).isOk) { - double v = p.get(); - if (Double.isNaN(v)) return STATUS_WRONG; - v = (int) v; - if (v <= 0) return STATUS_TOO_LOW; - if (v >= base.eOutputHatches.size()) return STATUS_TOO_HIGH; - return STATUS_OK; - } - return STATUS_NEUTRAL; - }; - protected Parameters.Group.ParameterIn[] dst; - protected Parameters.Group.ParameterIn[] weight; - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {"BBB", "BBB", "BBB"}, + {"B~B", "BAB", "BBB"}, + {"BBB", "BBB", "BBB"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 3)) + .addElement( + 'B', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_switch::addClassicToMachineList, + textureOffset + 1, + 1, + sBlockCasingsTT, + 1)) + .build(); + // endregion + + // region parameters + private static final INameFunction ROUTE_NAME = (base, p) -> (p.parameterId() == 0 + ? translateToLocal("tt.keyword.Destination") + " " + : translateToLocal("tt.keyword.Weight") + " ") + + p.hatchId(); + private static final IStatusFunction WEI_STATUS = (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; + return STATUS_OK; + }; + private static final IStatusFunction DST_STATUS = (base, p) -> { + if (base.weight[p.hatchId()].getStatus(false).isOk) { + double v = p.get(); + if (Double.isNaN(v)) return STATUS_WRONG; + v = (int) v; + if (v <= 0) return STATUS_TOO_LOW; + if (v >= base.eOutputHatches.size()) return STATUS_TOO_HIGH; + return STATUS_OK; + } + return STATUS_NEUTRAL; + }; + protected Parameters.Group.ParameterIn[] dst; + protected Parameters.Group.ParameterIn[] weight; + // endregion public GT_MetaTileEntity_EM_switch(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -127,14 +134,15 @@ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBas if (!eOutputData.isEmpty()) { double total = 0; double weight; - for (int i = 0; i < 10; i++) {//each param pair + for (int i = 0; i < 10; i++) { // each param pair weight = this.weight[i].get(); if (weight > 0 && dst[i].get() >= 0) { - total += weight;//Total weighted div + total += weight; // Total weighted div } } - Vec3Impl pos = new Vec3Impl(getBaseMetaTileEntity().getXCoord(), + Vec3Impl pos = new Vec3Impl( + getBaseMetaTileEntity().getXCoord(), getBaseMetaTileEntity().getYCoord(), getBaseMetaTileEntity().getZCoord()); @@ -191,32 +199,61 @@ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBas @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.switch.name")) // Machine Type: Network Switch With QoS - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.switch.desc.0")) // Controller block of the Network Switch With QoS - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.switch.desc.1")) // Used to route and distribute computation - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.switch.desc.2")) // Needs a Parametrizer to be configured + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.switch.name")) // Machine Type: Network Switch With QoS + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.switch.desc.0")) // Controller block of the Network + // Switch With QoS + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.switch.desc.1")) // Used to route and distribute computation + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.switch.desc.2")) // Needs a Parametrizer to be configured .addSeparator() .beginStructureBlock(3, 3, 3, false) - .addController(translateToLocal("tt.keyword.Structure.FrontCenter")) // Controller: Front center + .addController(translateToLocal("tt.keyword.Structure.FrontCenter")) // Controller: Front center .addCasingInfo(translateToLocal("gt.blockcasingsTT.1.name"), 0) // 0x Computer Casing (minimum) - .addOtherStructurePart(translateToLocal("gt.blockcasingsTT.3.name"), translateToLocal("tt.keyword.Structure.Center")) // Advanced Computer Casing: Center - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.DataConnector"), translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 2) // Data Connector: Any Computer Casing - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 2) // Parametrizer: Any Computer Casing - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 1) // Energy Hatch: Any Computer Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 1) // Maintenance Hatch: Any Computer Casing + .addOtherStructurePart( + translateToLocal("gt.blockcasingsTT.3.name"), + translateToLocal("tt.keyword.Structure.Center")) // Advanced Computer Casing: Center + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.DataConnector"), + translateToLocal("tt.keyword.Structure.AnyComputerCasing"), + 2) // Data Connector: Any Computer Casing + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), + translateToLocal("tt.keyword.Structure.AnyComputerCasing"), + 2) // Parametrizer: Any Computer Casing + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyComputerCasing"), + 1) // Energy Hatch: Any Computer Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyComputerCasing"), + 1) // Maintenance Hatch: Any Computer Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][1], new TT_RenderedExtendedFacingTexture(aActive ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][1], + new TT_RenderedExtendedFacingTexture( + aActive + ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON + : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][1]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][1]}; } - public final static ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_hi_freq"); + public static final ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_hi_freq"); @Override @SideOnly(Side.CLIENT) 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 251765ce0c..613dbe0e21 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 @@ -1,12 +1,23 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.DynamoMulti; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.EnergyMulti; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; +import static gregtech.api.GregTech_API.sBlockCasings1; +import static gregtech.api.enums.GT_HatchElement.Dynamo; +import static gregtech.api.enums.GT_HatchElement.Energy; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_Container_MultiMachineEM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContainer_MultiMachineEM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; import com.github.technus.tectech.util.CommonValues; -import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; @@ -23,49 +34,46 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.DynamoMulti; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.EnergyMulti; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; -import static gregtech.api.GregTech_API.sBlockCasings1; -import static gregtech.api.enums.GT_HatchElement.Dynamo; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable { - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.transformer.hint"),//1 - Energy IO Hatches or High Power Casing +public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_MultiblockBase_EM + implements ISurvivalConstructable { + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.transformer.hint"), // 1 - Energy IO Hatches or High Power Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", new String[][]{ - {"111", "1~1", "111",}, - {"111", "101", "111",}, - {"111", "111", "111",}, - }) - .addElement('0', ofBlock(sBlockCasings1, 15)) - .addElement('1', buildHatchAdder(GT_MetaTileEntity_EM_transformer.class) - .atLeast(Energy, EnergyMulti, Dynamo, DynamoMulti) - .casingIndex(textureOffset) - .dot(1) - .buildAndChain(onElementPass(t -> t.casingCount++, ofBlock(sBlockCasingsTT, 0)))) - .build(); - private int casingCount = 0; + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", new String[][] { + { + "111", "1~1", "111", + }, + { + "111", "101", "111", + }, + { + "111", "111", "111", + }, + }) + .addElement('0', ofBlock(sBlockCasings1, 15)) + .addElement( + '1', + buildHatchAdder(GT_MetaTileEntity_EM_transformer.class) + .atLeast(Energy, EnergyMulti, Dynamo, DynamoMulti) + .casingIndex(textureOffset) + .dot(1) + .buildAndChain(onElementPass(t -> t.casingCount++, ofBlock(sBlockCasingsTT, 0)))) + .build(); + private int casingCount = 0; @Override public IStructureDefinition getStructure_EM() { return STRUCTURE_DEFINITION; } - //endregion + // endregion public GT_MetaTileEntity_EM_transformer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -117,18 +125,30 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.transformer.name")) // Machine Type: Transformer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.transformer.desc.0")) // Controller block of the Active Transformer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.transformer.desc.1")) // Can transform to and from any voltage - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.transformer.desc.2")) // Only 0.004% power loss, HAYO! - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.transformer.desc.3")) // Will explode if broken while running + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.transformer.name")) // Machine Type: Transformer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.transformer.desc.0")) // Controller block of the + // Active Transformer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.transformer.desc.1")) // Can transform to and from any voltage + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.transformer.desc.2")) // Only 0.004% power loss, HAYO! + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.transformer.desc.3")) // Will explode if broken while running .addSeparator() .beginStructureBlock(3, 3, 3, false) - .addController(translateToLocal("tt.keyword.Structure.FrontCenter")) // Controller: Front center + .addController(translateToLocal("tt.keyword.Structure.FrontCenter")) // Controller: Front center .addCasingInfo(translateToLocal("gt.blockcasingsTT.0.name"), 5) // 5x High Power Casing (minimum) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.SuperconductingCoilBlock"), translateToLocal("tt.keyword.Structure.Center")) // SuperconductingCoilBlock: Center - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addDynamoHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Dynamo Hatch: Any High Power Casing + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.SuperconductingCoilBlock"), + translateToLocal("tt.keyword.Structure.Center")) // SuperconductingCoilBlock: Center + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addDynamoHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Dynamo Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_GENERAL); return tt; } @@ -140,18 +160,31 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo @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 - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][0], new TT_RenderedExtendedFacingTexture(aActive ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][0], + new TT_RenderedExtendedFacingTexture( + aActive + ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON + : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][0]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][0]}; } - public final static ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_noise"); + public static final ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_noise"); @Override @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_wormhole.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_wormhole.java index e156595611..97b98c859e 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_wormhole.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_wormhole.java @@ -1,5 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; @@ -17,52 +25,169 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_wormhole extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable {//TODO MAKE COMPATIBLE WITH STARGATES XD - //region variables +public class GT_MetaTileEntity_EM_wormhole extends GT_MetaTileEntity_MultiblockBase_EM + implements IConstructable { // TODO MAKE COMPATIBLE WITH STARGATES XD + // region variables private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; - //endregion + // endregion - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.wormhole.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.wormhole.hint.1"),//2 - Elemental Hatches or Molecular Casing + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.wormhole.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal( + "gt.blockmachines.multimachine.em.wormhole.hint.1"), // 2 - Elemental Hatches or Molecular Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {" ", " ", " ", " ", " ", " D ", " DDDDD ", " DGGGD ", " DGGGD ", " DGGGD ", " DDDDD "}, - {" ", " ", " ", " D ", " D ", " D ", " DDAAADD ", " EABBBAE ", " EABBBAE ", " EABBBAE ", " DDAAADD "}, - {" ", " D ", " D ", " D ", " ", " ", "DDA ADD", "DABFFFBAD", "DABCCCBAD", "DABFFFBAD", "DDA ADD"}, - {" EEE ", " DDD ", " F F ", " ", " ", " ", "DA AD", "GBF FBG", "GBC CBG", "GBF FBG", "DA AD"}, - {" E~E ", " DDBDD ", " D D ", " DD DD ", " D D ", "DD DD", "DA AD", "GBF FBG", "GBC CBG", "GBF FBG", "DA AD"}, - {" EEE ", " DDD ", " F F ", " ", " ", " ", "DA AD", "GBF FBG", "GBC CBG", "GBF FBG", "DA AD"}, - {" ", " D ", " D ", " D ", " ", " ", "DDA ADD", "DABFFFBAD", "DABCCCBAD", "DABFFFBAD", "DDA ADD"}, - {" ", " ", " ", " D ", " D ", " D ", " DDAAADD ", " EABBBAE ", " EABBBAE ", " EABBBAE ", " DDAAADD "}, - {" ", " ", " ", " ", " ", " D ", " DDDDD ", " DGGGD ", " DGGGD ", " DGGGD ", " DDDDD "} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 5)) - .addElement('B', ofBlock(sBlockCasingsTT, 10)) - .addElement('C', ofBlock(sBlockCasingsTT, 11)) - .addElement('D', ofBlock(sBlockCasingsTT, 12)) - .addElement('F', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_EM_wormhole::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('G', ofHatchAdderOptional(GT_MetaTileEntity_EM_wormhole::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) - .build(); - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + { + " ", + " ", + " ", + " ", + " ", + " D ", + " DDDDD ", + " DGGGD ", + " DGGGD ", + " DGGGD ", + " DDDDD " + }, + { + " ", + " ", + " ", + " D ", + " D ", + " D ", + " DDAAADD ", + " EABBBAE ", + " EABBBAE ", + " EABBBAE ", + " DDAAADD " + }, + { + " ", + " D ", + " D ", + " D ", + " ", + " ", + "DDA ADD", + "DABFFFBAD", + "DABCCCBAD", + "DABFFFBAD", + "DDA ADD" + }, + { + " EEE ", + " DDD ", + " F F ", + " ", + " ", + " ", + "DA AD", + "GBF FBG", + "GBC CBG", + "GBF FBG", + "DA AD" + }, + { + " E~E ", + " DDBDD ", + " D D ", + " DD DD ", + " D D ", + "DD DD", + "DA AD", + "GBF FBG", + "GBC CBG", + "GBF FBG", + "DA AD" + }, + { + " EEE ", + " DDD ", + " F F ", + " ", + " ", + " ", + "DA AD", + "GBF FBG", + "GBC CBG", + "GBF FBG", + "DA AD" + }, + { + " ", + " D ", + " D ", + " D ", + " ", + " ", + "DDA ADD", + "DABFFFBAD", + "DABCCCBAD", + "DABFFFBAD", + "DDA ADD" + }, + { + " ", + " ", + " ", + " D ", + " D ", + " D ", + " DDAAADD ", + " EABBBAE ", + " EABBBAE ", + " EABBBAE ", + " DDAAADD " + }, + { + " ", + " ", + " ", + " ", + " ", + " D ", + " DDDDD ", + " DGGGD ", + " DGGGD ", + " DGGGD ", + " DDDDD " + } + })) + .addElement('A', ofBlock(sBlockCasingsTT, 5)) + .addElement('B', ofBlock(sBlockCasingsTT, 10)) + .addElement('C', ofBlock(sBlockCasingsTT, 11)) + .addElement('D', ofBlock(sBlockCasingsTT, 12)) + .addElement('F', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'E', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_wormhole::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'G', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_wormhole::addElementalToMachineList, + textureOffset + 4, + 2, + sBlockCasingsTT, + 4)) + .build(); + // endregion public GT_MetaTileEntity_EM_wormhole(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -85,14 +210,22 @@ public class GT_MetaTileEntity_EM_wormhole extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.wormhole.name")) // Machine Type: Wormhole - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.wormhole.desc.0")) // Controller block of the Wormhole + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.wormhole.name")) // Machine Type: Wormhole + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.wormhole.desc.0")) // Controller block of the Wormhole .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(9, 9, 11, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.Elemental"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing"), 2) // Elemental Hatch: Any Molecular Casing - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.Elemental"), + translateToLocal("tt.keyword.Structure.AnyMolecularCasing"), + 2) // Elemental Hatch: Any Molecular Casing + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -106,11 +239,20 @@ public class GT_MetaTileEntity_EM_wormhole extends GT_MetaTileEntity_MultiblockB } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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 TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][4], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][4]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][4]}; } @Override 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 5e148e36df..4406977759 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 @@ -1,5 +1,15 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.loader.MainLoader.microwaving; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.GregTech_API.sBlockCasings4; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.AxisAlignedBB.getBoundingBox; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.thing.metaTileEntity.multi.base.*; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; @@ -14,6 +24,8 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; +import java.util.ArrayList; +import java.util.HashSet; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; @@ -22,59 +34,57 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; -import java.util.ArrayList; -import java.util.HashSet; - -import static com.github.technus.tectech.loader.MainLoader.microwaving; -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.GregTech_API.sBlockCasings4; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.AxisAlignedBB.getBoundingBox; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region variables + // region variables private boolean hasBeenPausedThisCycle = false; - //endregion + // endregion - //region structure - //use multi A energy inputs, use less power the longer it runs - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.tm.microwave.hint.0"),//1 - Classic Hatches or Clean Stainless Steel Casing - translateToLocal("gt.blockmachines.multimachine.tm.microwave.hint.1"),//Also acts like a hopper so give it an Output Bus + // region structure + // use multi A energy inputs, use less power the longer it runs + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.tm.microwave.hint.0"), // 1 - Classic Hatches or Clean Stainless Steel + // Casing + translateToLocal( + "gt.blockmachines.multimachine.tm.microwave.hint.1"), // Also acts like a hopper so give it an Output + // Bus }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {"AAAAA", "A---A", "A---A", "A---A", "AAAAA"}, - {"AAAAA", "A---A", "A---A", "A---A", "AAAAA"}, - {"AA~AA", "A---A", "A---A", "A---A", "AAAAA"}, - {"ABBBA", "BAAAB", "BAAAB", "BAAAB", "ABBBA"} - })) - .addElement('A', ofBlock(sBlockCasings4, 1)) - .addElement('B', ofHatchAdderOptional(GT_MetaTileEntity_TM_microwave::addClassicToMachineList, 49, 1, sBlockCasings4, 1)) - .build(); - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {"AAAAA", "A---A", "A---A", "A---A", "AAAAA"}, + {"AAAAA", "A---A", "A---A", "A---A", "AAAAA"}, + {"AA~AA", "A---A", "A---A", "A---A", "AAAAA"}, + {"ABBBA", "BAAAB", "BAAAB", "BAAAB", "ABBBA"} + })) + .addElement('A', ofBlock(sBlockCasings4, 1)) + .addElement( + 'B', + ofHatchAdderOptional( + GT_MetaTileEntity_TM_microwave::addClassicToMachineList, 49, 1, sBlockCasings4, 1)) + .build(); + // endregion - //region parameters + // region parameters protected Parameters.Group.ParameterIn powerSetting, timerSetting; protected Parameters.Group.ParameterOut timerValue, remainingTime; - private static final INameFunction POWER_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgi.0");//Power setting - private static final INameFunction TIMER_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgi.1");//Timer setting + private static final INameFunction POWER_SETTING_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgi.0"); // Power setting + private static final INameFunction TIMER_SETTING_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgi.1"); // Timer setting - private static final INameFunction TIMER_VALUE_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgo.0");//Timer value - private static final INameFunction TIMER_REMAINING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgo.1");//Timer remaining - private static final IStatusFunction POWER_STATUS = + private static final INameFunction TIMER_VALUE_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgo.0"); // Timer value + private static final INameFunction TIMER_REMAINING_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgo.1"); // Timer remaining + private static final IStatusFunction POWER_STATUS = (base, p) -> LedStatus.fromLimitsInclusiveOuterBoundary(p.get(), 300, 1000, 1000, Double.POSITIVE_INFINITY); - private static final IStatusFunction TIMER_STATUS = (base, p) -> { + private static final IStatusFunction TIMER_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; value = (int) value; @@ -82,7 +92,7 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock if (value > 3000) return STATUS_TOO_HIGH; return STATUS_OK; }; - //endregion + // endregion public GT_MetaTileEntity_TM_microwave(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -122,28 +132,25 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock @Override public void outputAfterRecipe_EM() { if (hasBeenPausedThisCycle) { - return;//skip timer and actions if paused + return; // skip timer and actions if paused } timerValue.set(timerValue.get() + 1); remainingTime.set(timerSetting.get() - timerValue.get()); - IGregTechTileEntity mte = getBaseMetaTileEntity(); - Vec3Impl xyzOffsets = getExtendedFacing().getWorldOffset(new Vec3Impl(0, -1, 2)); - double xPos = mte.getXCoord() + 0.5f + xyzOffsets.get0(); - double yPos = mte.getYCoord() + 0.5f + xyzOffsets.get1(); - double zPos = mte.getZCoord() + 0.5f + xyzOffsets.get2(); - AxisAlignedBB aabb = getBoundingBox(-2, -2, -2, 2, 2, 2) - .offset(xPos, yPos, zPos); + IGregTechTileEntity mte = getBaseMetaTileEntity(); + Vec3Impl xyzOffsets = getExtendedFacing().getWorldOffset(new Vec3Impl(0, -1, 2)); + double xPos = mte.getXCoord() + 0.5f + xyzOffsets.get0(); + double yPos = mte.getYCoord() + 0.5f + xyzOffsets.get1(); + double zPos = mte.getZCoord() + 0.5f + xyzOffsets.get2(); + AxisAlignedBB aabb = getBoundingBox(-2, -2, -2, 2, 2, 2).offset(xPos, yPos, zPos); xyzOffsets = getExtendedFacing().getWorldOffset(new Vec3Impl(0, -4, 0)); - Vec3Impl xyzExpansion = getExtendedFacing().getWorldOffset(new Vec3Impl(1, 0, 1)).abs(); - int power = (int) powerSetting.get(); + Vec3Impl xyzExpansion = + getExtendedFacing().getWorldOffset(new Vec3Impl(1, 0, 1)).abs(); + int power = (int) powerSetting.get(); int damagingFactor = - Math.min(power >> 6, 8) + - Math.min(power >> 8, 24) + - Math.min(power >> 12, 48) + - (power >> 18); + Math.min(power >> 6, 8) + Math.min(power >> 8, 24) + Math.min(power >> 12, 48) + (power >> 18); ArrayList itemsToOutput = new ArrayList<>(); - HashSet tickedStuff = new HashSet<>(); + HashSet tickedStuff = new HashSet<>(); boolean inside = true; do { @@ -152,7 +159,9 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock 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()}); + mte, null, true, 128, null, null, new ItemStack[] { + ((EntityItem) entity).getEntityItem() + }); if (tRecipe == null || tRecipe.mInputs[0].stackSize != 1) { itemsToOutput.add(((EntityItem) entity).getEntityItem()); } else { @@ -187,21 +196,45 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.tm.microwave.name")) // Machine Type: Microwave Grinder - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.0")) // Controller block of the Microwave Grinder - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.1")) // Starts a timer when enabled - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.2")) // While the timer is running anything inside the machine will take damage - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.3")) // The machine will also collect any items inside of it - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.4")) // Can be configured with a Parametrizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.5")) // (Do not insert a Wither) + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.tm.microwave.name")) // Machine Type: Microwave Grinder + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.microwave.desc.0")) // Controller block of the + // Microwave Grinder + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.microwave.desc.1")) // Starts a timer when enabled + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.microwave.desc.2")) // While the timer is running + // anything inside the machine + // will take damage + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.microwave.desc.3")) // The machine will also collect + // any items inside of it + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.microwave.desc.4")) // Can be configured with a Parametrizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.microwave.desc.5")) // (Do not insert a Wither) .addSeparator() .beginStructureBlock(5, 4, 5, true) - .addController(translateToLocal("tt.keyword.Structure.FrontCenter")) // Controller: Front center - .addCasingInfo(translateToLocal("tt.keyword.Structure.StainlessSteelCasing"), 60) // 60x Stainless Steel Casing (minimum) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.DataConnector"), translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), 2) // Output Bus: Any outer casing on the bottom layer - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), translateToLocal("tt.keyword.Structure.Optional") + " " + translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), 2) // Parametrizer: (optional) Any outer casing on the bottom layer - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), 1) // Energy Hatch: Any outer casing on the bottom layer - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), 1) // Maintenance Hatch: Any outer casing on the bottom layer + .addController(translateToLocal("tt.keyword.Structure.FrontCenter")) // Controller: Front center + .addCasingInfo( + translateToLocal("tt.keyword.Structure.StainlessSteelCasing"), + 60) // 60x Stainless Steel Casing (minimum) + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.DataConnector"), + translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), + 2) // Output Bus: Any outer casing on the bottom layer + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), + translateToLocal("tt.keyword.Structure.Optional") + " " + + translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), + 2) // Parametrizer: (optional) Any outer casing on the bottom layer + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), + 1) // Energy Hatch: Any outer casing on the bottom layer + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), + 1) // Maintenance Hatch: Any outer casing on the bottom layer .toolTipFinisher(CommonValues.BASS_MARK); return tt; } @@ -213,17 +246,39 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png", true, false, true);//todo texture + return new GT_GUIContainer_MultiMachineEM( + aPlayerInventory, + aBaseMetaTileEntity, + getLocalName(), + "EMDisplay.png", + true, + false, + true); // todo texture } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aFacing, + byte aColorIndex, + boolean aActive, + boolean aRedstone) { if (aSide == aFacing) { - return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49], new TT_RenderedExtendedFacingTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[0][49], + new TT_RenderedExtendedFacingTexture( + aActive + ? Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE + : Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE) + }; } else if (aSide == GT_Utility.getOppositeSide(aFacing)) { - return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49], aActive ? Textures.BlockIcons.casingTexturePages[0][52] : Textures.BlockIcons.casingTexturePages[0][53]}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[0][49], + aActive ? Textures.BlockIcons.casingTexturePages[0][52] : Textures.BlockIcons.casingTexturePages[0][53] + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[0][49]}; } @Override @@ -248,10 +303,10 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock if (eSafeVoid) { hasBeenPausedThisCycle = true; } - return hasBeenPausedThisCycle || super.onRunningTick(aStack);//consume eu and other resources if not paused + return hasBeenPausedThisCycle || super.onRunningTick(aStack); // consume eu and other resources if not paused } - //TODO Why is the basetype 1?? + // TODO Why is the basetype 1?? @Override public byte getTileEntityBaseType() { return 1; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java index ba0af2d349..d38e41a695 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java @@ -8,7 +8,8 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.item.ItemStack; @Deprecated -public class GT_MetaTileEntity_TM_proccessingStack extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { +public class GT_MetaTileEntity_TM_proccessingStack extends GT_MetaTileEntity_MultiblockBase_EM + implements IConstructable { protected GT_MetaTileEntity_TM_proccessingStack(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); } @@ -19,9 +20,7 @@ public class GT_MetaTileEntity_TM_proccessingStack extends GT_MetaTileEntity_Mul } @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - - } + public void construct(ItemStack stackSize, boolean hintsOnly) {} @Override public String[] getStructureDescription(ItemStack stackSize) { @@ -33,114 +32,114 @@ public class GT_MetaTileEntity_TM_proccessingStack extends GT_MetaTileEntity_Mul return null; } /* - //region variables - private boolean hasBeenPausedThisCycle = false; - //endregion - - //region structure - //use multi A energy inputs, use less power the longer it runs - private static final String[][] base = new String[][]{ - {" ",}, - {" 0 ",}, - {" ",}, - }; - private static final String[][] slice = new String[][]{ - {"111",}, - {"101",}, - {"111",}, - }; - private static final String[][] cap = new String[][]{ - {" ",}, - {" 0 ",}, - {" ",}, - }; - private static final Block[] blockType = new Block[]{sBlockCasings4}; - private static final byte[] blockMeta = new byte[]{1}; - - private static final IHatchAdder[] addingMethods = adders( - GT_MetaTileEntity_TM_proccessingStack::addClassicToMachineList); - private static final short[] casingTextures = new short[]{49}; - 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 + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.hint.0"), - translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.hint.1"), - }; - //endregion - - public GT_MetaTileEntity_TM_proccessingStack(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GT_MetaTileEntity_TM_proccessingStack(String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_TM_proccessingStack(mName); - } - - @Override - public boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { - return false; - //return structureCheck_EM(shape, blockType, blockMeta, addingMethods, casingTextures, blockTypeFallback, blockMetaFallback, 1, 0, 0); - } - - @Override - public boolean checkRecipe_EM(ItemStack itemStack) { - return true; - } - - @Override - public void outputAfterRecipe_EM() { - - } - - @Override - public String[] getDescription() { - return new String[]{ - CommonValues.BASS_MARK, - translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.desc.0"), - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.desc.1"), - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.desc.2"), - }; - } - - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity,true, false, true); - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png",true, false, true); - } - - @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[0][49], new TT_RenderedExtendedFacingTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE)}; - } else if (aSide == GT_Utility.getOppositeSide(aFacing)) { - return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49], aActive ? Textures.BlockIcons.casingTexturePages[0][52] : Textures.BlockIcons.casingTexturePages[0][53]}; - } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49]}; - } - - @Override - public boolean onRunningTick(ItemStack aStack) { - return true; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - //StructureBuilderExtreme(shape, blockType, blockMeta, 2, 2, 0, getBaseMetaTileEntity(), this, hintsOnly); - } - - @Override - public String[] getStructureDescription(ItemStack stackSize) { - return description; - } - */ -} \ No newline at end of file + //region variables + private boolean hasBeenPausedThisCycle = false; + //endregion + + //region structure + //use multi A energy inputs, use less power the longer it runs + private static final String[][] base = new String[][]{ + {" ",}, + {" 0 ",}, + {" ",}, + }; + private static final String[][] slice = new String[][]{ + {"111",}, + {"101",}, + {"111",}, + }; + private static final String[][] cap = new String[][]{ + {" ",}, + {" 0 ",}, + {" ",}, + }; + private static final Block[] blockType = new Block[]{sBlockCasings4}; + private static final byte[] blockMeta = new byte[]{1}; + + private static final IHatchAdder[] addingMethods = adders( + GT_MetaTileEntity_TM_proccessingStack::addClassicToMachineList); + private static final short[] casingTextures = new short[]{49}; + 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 + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.hint.0"), + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.hint.1"), + }; + //endregion + + public GT_MetaTileEntity_TM_proccessingStack(int aID, String aName, String aNameRegional) { + super(aID, aName, aNameRegional); + } + + public GT_MetaTileEntity_TM_proccessingStack(String aName) { + super(aName); + } + + @Override + public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { + return new GT_MetaTileEntity_TM_proccessingStack(mName); + } + + @Override + public boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { + return false; + //return structureCheck_EM(shape, blockType, blockMeta, addingMethods, casingTextures, blockTypeFallback, blockMetaFallback, 1, 0, 0); + } + + @Override + public boolean checkRecipe_EM(ItemStack itemStack) { + return true; + } + + @Override + public void outputAfterRecipe_EM() { + + } + + @Override + public String[] getDescription() { + return new String[]{ + CommonValues.BASS_MARK, + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.desc.0"), + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.desc.1"), + EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.desc.2"), + }; + } + + @Override + public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_Container_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity,true, false, true); + } + + @Override + public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png",true, false, true); + } + + @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[0][49], new TT_RenderedExtendedFacingTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE)}; + } else if (aSide == GT_Utility.getOppositeSide(aFacing)) { + return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49], aActive ? Textures.BlockIcons.casingTexturePages[0][52] : Textures.BlockIcons.casingTexturePages[0][53]}; + } + return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49]}; + } + + @Override + public boolean onRunningTick(ItemStack aStack) { + return true; + } + + @Override + public void construct(ItemStack stackSize, boolean hintsOnly) { + //StructureBuilderExtreme(shape, blockType, blockMeta, 2, 2, 0, getBaseMetaTileEntity(), this, hintsOnly); + } + + @Override + public String[] getStructureDescription(ItemStack stackSize) { + return description; + } + */ +} 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 721987fe97..94e85ff183 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,5 +1,20 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.*; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsBA0; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.DynamoMulti; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.EnergyMulti; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.Param; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; +import static gregtech.api.enums.GT_HatchElement.*; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import static java.lang.Math.min; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.mechanics.spark.RendererMessage; @@ -42,6 +57,10 @@ import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; import gregtech.api.util.IGT_HatchAdder; import gregtech.common.blocks.GT_Item_Machines; +import java.util.*; +import java.util.function.Consumer; +import java.util.stream.Collectors; +import java.util.stream.IntStream; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Items; @@ -56,189 +75,286 @@ import net.minecraft.world.World; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.tuple.Pair; -import java.util.*; -import java.util.function.Consumer; -import java.util.stream.Collectors; -import java.util.stream.IntStream; - -import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.*; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsBA0; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.DynamoMulti; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.EnergyMulti; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.Param; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; -import static gregtech.api.enums.GT_HatchElement.*; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static java.lang.Math.min; -import static net.minecraft.util.StatCollector.translateToLocal; +public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_MultiblockBase_EM + implements ISurvivalConstructable, ITeslaConnectable { + // Interface fields + private final Multimap teslaNodeMap = + MultimapBuilder.treeKeys().linkedListValues().build(); + private final HashSet sparkList = new HashSet<>(); + private int sparkCount = 10; + + // region variables + private static final int transferRadiusTowerFromConfig = + TecTech.configTecTech.TESLA_MULTI_RANGE_TOWER; // Default is 32 + private static final int transferRadiusTransceiverFromConfig = + TecTech.configTecTech.TESLA_MULTI_RANGE_TRANSCEIVER; // Default is 16 + private static final int transferRadiusCoverUltimateFromConfig = + TecTech.configTecTech.TESLA_MULTI_RANGE_COVER; // Default is 16 + private static final int plasmaRangeMultiT1 = + TecTech.configTecTech.TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1; // Default is 2 + private static final int plasmaRangeMultiT2 = + TecTech.configTecTech.TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2; // Default is 4 + private static final int heliumUse = + TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM; // Default is 100 + private static final int nitrogenUse = + TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN; // Default is 50 + private static final int radonUse = TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON; // Default is 50 + private static final boolean visualEffect = TecTech.configTecTech.TESLA_VISUAL_EFFECT; // Default is true + // Default is {1, 1, 1} + private static final int[] plasmaTierLoss = new int[] { + TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T0, + TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T1, + TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T2 + }; + private static final float overDriveLoss = + TecTech.configTecTech.TESLA_MULTI_LOSS_FACTOR_OVERDRIVE; // Default is 0.25F; + private static final boolean doFluidOutput = TecTech.configTecTech.TESLA_MULTI_GAS_OUTPUT; // Default is false -public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable, ITeslaConnectable { - //Interface fields - private final Multimap teslaNodeMap = MultimapBuilder.treeKeys().linkedListValues().build(); - private final HashSet sparkList = new HashSet<>(); - private int sparkCount = 10; - - //region variables - private static final int transferRadiusTowerFromConfig = TecTech.configTecTech.TESLA_MULTI_RANGE_TOWER;//Default is 32 - private static final int transferRadiusTransceiverFromConfig = TecTech.configTecTech.TESLA_MULTI_RANGE_TRANSCEIVER;//Default is 16 - private static final int transferRadiusCoverUltimateFromConfig = TecTech.configTecTech.TESLA_MULTI_RANGE_COVER;//Default is 16 - private static final int plasmaRangeMultiT1 = TecTech.configTecTech.TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1;//Default is 2 - private static final int plasmaRangeMultiT2 = TecTech.configTecTech.TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2;//Default is 4 - private static final int heliumUse = TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM;//Default is 100 - private static final int nitrogenUse = TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN;//Default is 50 - private static final int radonUse = TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON;//Default is 50 - private static final boolean visualEffect = TecTech.configTecTech.TESLA_VISUAL_EFFECT;//Default is true - //Default is {1, 1, 1} - private static final int[] plasmaTierLoss = new int[]{TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T0, - TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T1, TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T2}; - private static final float overDriveLoss = TecTech.configTecTech.TESLA_MULTI_LOSS_FACTOR_OVERDRIVE;//Default is 0.25F; - private static final boolean doFluidOutput = TecTech.configTecTech.TESLA_MULTI_GAS_OUTPUT; //Default is false - - //Face icons + // Face icons private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; - private int mTier = 0; //Determines max voltage (LV to ZPM) - private int plasmaTier = 0; //0 is None, 1 is Helium or Nitrogen, 2 is Radon (Does not match actual plasma tiers) + private int mTier = 0; // Determines max voltage (LV to ZPM) + private int plasmaTier = 0; // 0 is None, 1 is Helium or Nitrogen, 2 is Radon (Does not match actual plasma tiers) - private FluidStack[] mOutputFluidsQueue; //Used to buffer the fluid outputs, so the tesla takes a second to 'cool' any plasma it would output as a gas + private FluidStack[] + mOutputFluidsQueue; // Used to buffer the fluid outputs, so the tesla takes a second to 'cool' any plasma it + // would output as a gas - private final ArrayList eCapacitorHatches = new ArrayList<>(); //Capacitor hatches which determine the max voltage tier and count of amps + private final ArrayList eCapacitorHatches = + new ArrayList<>(); // Capacitor hatches which determine the max voltage tier and count of amps - 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 + 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 - //outputVoltage and current after settings + // outputVoltage and current after settings private long outputVoltage; private long outputCurrent; - //Prevents unnecessary offset calculation, saving on lag - private byte oldRotation = -1; - private byte oldOrientation = -1; - //Location of the center of the sphere on top of the tower, used as the Thaumcraft lightning and origin - public Vec3Impl posTop = Vec3Impl.NULL_VECTOR; - //endregion - - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.hint.0"),//1 - Classic Hatches, Capacitor Hatches or Tesla Base Casing - translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.hint.1"),//2 - ""Titanium frames"" + // Prevents unnecessary offset calculation, saving on lag + private byte oldRotation = -1; + private byte oldOrientation = -1; + // Location of the center of the sphere on top of the tower, used as the Thaumcraft lightning and origin + public Vec3Impl posTop = Vec3Impl.NULL_VECTOR; + // endregion + + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.hint.0"), // 1 - Classic Hatches, Capacitor Hatches or Tesla + // Base Casing + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.hint.1"), // 2 - ""Titanium frames"" }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {" ", " ", " BBB ", " BBB ", " BBB ", " ", " "}, - {" ", " BBB ", " BBBBB ", " BBBBB ", " BBBBB ", " BBB ", " "}, - {" ", " BBB ", " BBBBB ", " BBBBB ", " BBBBB ", " BBB ", " "}, - {" ", " BBB ", " BBBBB ", " BBBBB ", " BBBBB ", " BBB ", " "}, - {" ", " ", " BBB ", " BCB ", " BBB ", " ", " "}, - {" ", " ", " ", " C ", " ", " ", " "}, - {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, - {" ", " ", " ", " C ", " ", " ", " "}, - {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, - {" ", " ", " ", " C ", " ", " ", " "}, - {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, - {" ", " ", " ", " C ", " ", " ", " "}, - {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, - {" ", " ", " ", " C ", " ", " ", " "}, - {" ", " ", " ", " C ", " ", " ", " "}, - {" ", " DDD ", " D D ", " D C D ", " D D ", " DDD ", " "}, - {" EE~EE ", "EAAAAAE", "EADDDAE", "EADADAE", "EADDDAE", "EAAAAAE", " EEEEE "} - })) - .addElement('A', ofBlock(sBlockCasingsBA0, 6)) - .addElement('B', ofBlock(sBlockCasingsBA0, 7)) - .addElement('C', ofBlock(sBlockCasingsBA0, 8)) - .addElement('D', ofBlocksTiered( - (block, meta) -> block != sBlockCasingsBA0 ? -1 : meta <= 5 ? meta : meta == 9 ? 6 : -1, - IntStream.range(0, 6).map(tier -> tier == 5 ? 9 : tier).mapToObj(meta -> Pair.of(sBlockCasingsBA0, meta)).collect(Collectors.toList()), - -1, - (t, v) -> t.mTier = v, - t -> t.mTier)) - .addElement('E', buildHatchAdder(GT_MetaTileEntity_TM_teslaCoil.class) - .atLeast(CapacitorHatchElement.INSTANCE, EnergyMulti, Energy, DynamoMulti, Dynamo, InputHatch, OutputHatch, Param, Maintenance) - .dot(1) - .casingIndex(textureOffset + 16 +6) - .buildAndChain(sBlockCasingsBA0, 6)) - .addElement('F', new IStructureElement() { - private IIcon[] mIcons; - - @Override - public boolean check(GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z) { - TileEntity tBase = world.getTileEntity(x, y, z); - if (tBase instanceof BaseMetaPipeEntity) { - BaseMetaPipeEntity tPipeBase = (BaseMetaPipeEntity) tBase; - if (tPipeBase.isInvalidTileEntity()) return false; - return tPipeBase.getMetaTileEntity() instanceof GT_MetaPipeEntity_Frame; - } - return false; - } - - @Override - public boolean spawnHint(GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z, ItemStack trigger) { - if (mIcons == null) { - mIcons = new IIcon[6]; - Arrays.fill(mIcons, Materials._NULL.mIconSet.mTextures[OrePrefixes.frameGt.mTextureIndex].getIcon()); - } - StructureLibAPI.hintParticleTinted(world, x, y, z, mIcons, Materials._NULL.mRGBa); - return true; - } - - @Override - public boolean placeBlock(GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z, ItemStack trigger) { - ItemStack tFrameStack = GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Titanium, 1); - if (!GT_Utility.isStackValid(tFrameStack) || !(tFrameStack.getItem() instanceof ItemBlock)) - return false; - ItemBlock tFrameStackItem = (ItemBlock) tFrameStack.getItem(); - return tFrameStackItem.placeBlockAt(tFrameStack, null, world, x, y, z, 6, 0, 0, 0, Items.feather.getDamage(tFrameStack)); - } - - @Override - public PlaceResult survivalPlaceBlock(GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z, ItemStack trigger, IItemSource source, EntityPlayerMP actor, Consumer chatter) { - if (check(t, world, x, y, z)) return PlaceResult.SKIP; - ItemStack tFrameStack = source.takeOne(s -> GT_Item_Machines.getMetaTileEntity(s) instanceof GT_MetaPipeEntity_Frame, true); - if (tFrameStack == null) return PlaceResult.REJECT; - return StructureUtility.survivalPlaceBlock(tFrameStack, ItemStackPredicate.NBTMode.IGNORE_KNOWN_INSIGNIFICANT_TAGS, null, false, world, x, y, z, source, actor, chatter); - } - }) - .build(); - //endregion - - //region parameters - protected Parameters.Group.ParameterIn popogaSetting, histLowSetting, histHighSetting, transferRadiusTowerSetting, transferRadiusTransceiverSetting, transferRadiusCoverUltimateSetting, outputVoltageSetting, outputCurrentSetting, sortTimeMinSetting, overDriveSetting; - protected Parameters.Group.ParameterOut popogaDisplay, transferRadiusTowerDisplay, transferRadiusTransceiverDisplay, transferRadiusCoverUltimateDisplay, outputVoltageDisplay, outputCurrentDisplay, energyCapacityDisplay, energyStoredDisplay, energyFractionDisplay, sortTimeDisplay; - - private static final INameFunction HYSTERESIS_LOW_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.0");//Hysteresis low setting - private static final INameFunction HYSTERESIS_HIGH_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.1");//Hysteresis high setting - private static final INameFunction TRANSFER_RADIUS_TOWER_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.2");//Tesla Towers transfer radius setting - private static final INameFunction TRANSFER_RADIUS_TRANSCEIVER_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.3");//Tesla Transceiver transfer radius setting - private static final INameFunction TRANSFER_RADIUS_COVER_ULTIMATE_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.4");//Tesla Ultimate Cover transfer radius setting - private static final INameFunction OUTPUT_VOLTAGE_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.5");//Output voltage setting - private static final INameFunction OUTPUT_CURRENT_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.6");//Output current setting - private static final INameFunction SCAN_TIME_MIN_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.7");//Scan time Min setting - private static final INameFunction OVERDRIVE_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.8");//Overdrive setting - private static final INameFunction POPOGA_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.9");//Unused - - private static final INameFunction TRANSFER_RADIUS_TOWER_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.0");//Tesla Towers transfer radius display - private static final INameFunction TRANSFER_RADIUS_TRANSCEIVER_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.1");//Tesla Transceiver transfer radius display - private static final INameFunction TRANSFER_RADIUS_COVER_ULTIMATE_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.2");//Tesla Ultimate Cover transfer radius display - private static final INameFunction OUTPUT_VOLTAGE_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.3");//Output voltage display - private static final INameFunction OUTPUT_CURRENT_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.4");//Output current display - private static final INameFunction ENERGY_CAPACITY_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.5");//Energy Capacity display - private static final INameFunction ENERGY_STORED_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.6");//Energy Stored display - private static final INameFunction ENERGY_FRACTION_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.7");//Energy Fraction display - private static final INameFunction SCAN_TIME_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.8");//Scan time display - - private static final IStatusFunction HYSTERESIS_LOW_STATUS = (base, p) -> { + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {" ", " ", " BBB ", " BBB ", " BBB ", " ", " "}, + {" ", " BBB ", " BBBBB ", " BBBBB ", " BBBBB ", " BBB ", " "}, + {" ", " BBB ", " BBBBB ", " BBBBB ", " BBBBB ", " BBB ", " "}, + {" ", " BBB ", " BBBBB ", " BBBBB ", " BBBBB ", " BBB ", " "}, + {" ", " ", " BBB ", " BCB ", " BBB ", " ", " "}, + {" ", " ", " ", " C ", " ", " ", " "}, + {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, + {" ", " ", " ", " C ", " ", " ", " "}, + {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, + {" ", " ", " ", " C ", " ", " ", " "}, + {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, + {" ", " ", " ", " C ", " ", " ", " "}, + {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, + {" ", " ", " ", " C ", " ", " ", " "}, + {" ", " ", " ", " C ", " ", " ", " "}, + {" ", " DDD ", " D D ", " D C D ", " D D ", " DDD ", " "}, + {" EE~EE ", "EAAAAAE", "EADDDAE", "EADADAE", "EADDDAE", "EAAAAAE", " EEEEE "} + })) + .addElement('A', ofBlock(sBlockCasingsBA0, 6)) + .addElement('B', ofBlock(sBlockCasingsBA0, 7)) + .addElement('C', ofBlock(sBlockCasingsBA0, 8)) + .addElement( + 'D', + ofBlocksTiered( + (block, meta) -> + block != sBlockCasingsBA0 ? -1 : meta <= 5 ? meta : meta == 9 ? 6 : -1, + IntStream.range(0, 6) + .map(tier -> tier == 5 ? 9 : tier) + .mapToObj(meta -> Pair.of(sBlockCasingsBA0, meta)) + .collect(Collectors.toList()), + -1, + (t, v) -> t.mTier = v, + t -> t.mTier)) + .addElement( + 'E', + buildHatchAdder(GT_MetaTileEntity_TM_teslaCoil.class) + .atLeast( + CapacitorHatchElement.INSTANCE, + EnergyMulti, + Energy, + DynamoMulti, + Dynamo, + InputHatch, + OutputHatch, + Param, + Maintenance) + .dot(1) + .casingIndex(textureOffset + 16 + 6) + .buildAndChain(sBlockCasingsBA0, 6)) + .addElement('F', new IStructureElement() { + private IIcon[] mIcons; + + @Override + public boolean check(GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z) { + TileEntity tBase = world.getTileEntity(x, y, z); + if (tBase instanceof BaseMetaPipeEntity) { + BaseMetaPipeEntity tPipeBase = (BaseMetaPipeEntity) tBase; + if (tPipeBase.isInvalidTileEntity()) return false; + return tPipeBase.getMetaTileEntity() instanceof GT_MetaPipeEntity_Frame; + } + return false; + } + + @Override + public boolean spawnHint( + GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z, ItemStack trigger) { + if (mIcons == null) { + mIcons = new IIcon[6]; + Arrays.fill( + mIcons, + Materials._NULL.mIconSet.mTextures[OrePrefixes.frameGt.mTextureIndex] + .getIcon()); + } + StructureLibAPI.hintParticleTinted(world, x, y, z, mIcons, Materials._NULL.mRGBa); + return true; + } + + @Override + public boolean placeBlock( + GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z, ItemStack trigger) { + ItemStack tFrameStack = + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Titanium, 1); + if (!GT_Utility.isStackValid(tFrameStack) || !(tFrameStack.getItem() instanceof ItemBlock)) + return false; + ItemBlock tFrameStackItem = (ItemBlock) tFrameStack.getItem(); + return tFrameStackItem.placeBlockAt( + tFrameStack, + null, + world, + x, + y, + z, + 6, + 0, + 0, + 0, + Items.feather.getDamage(tFrameStack)); + } + + @Override + public PlaceResult survivalPlaceBlock( + GT_MetaTileEntity_TM_teslaCoil t, + World world, + int x, + int y, + int z, + ItemStack trigger, + IItemSource source, + EntityPlayerMP actor, + Consumer chatter) { + if (check(t, world, x, y, z)) return PlaceResult.SKIP; + ItemStack tFrameStack = source.takeOne( + s -> GT_Item_Machines.getMetaTileEntity(s) instanceof GT_MetaPipeEntity_Frame, + true); + if (tFrameStack == null) return PlaceResult.REJECT; + return StructureUtility.survivalPlaceBlock( + tFrameStack, + ItemStackPredicate.NBTMode.IGNORE_KNOWN_INSIGNIFICANT_TAGS, + null, + false, + world, + x, + y, + z, + source, + actor, + chatter); + } + }) + .build(); + // endregion + + // region parameters + protected Parameters.Group.ParameterIn popogaSetting, + histLowSetting, + histHighSetting, + transferRadiusTowerSetting, + transferRadiusTransceiverSetting, + transferRadiusCoverUltimateSetting, + outputVoltageSetting, + outputCurrentSetting, + sortTimeMinSetting, + overDriveSetting; + protected Parameters.Group.ParameterOut popogaDisplay, + transferRadiusTowerDisplay, + transferRadiusTransceiverDisplay, + transferRadiusCoverUltimateDisplay, + outputVoltageDisplay, + outputCurrentDisplay, + energyCapacityDisplay, + energyStoredDisplay, + energyFractionDisplay, + sortTimeDisplay; + + private static final INameFunction HYSTERESIS_LOW_SETTING_NAME = (base, p) -> + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.0"); // Hysteresis low setting + private static final INameFunction HYSTERESIS_HIGH_SETTING_NAME = (base, p) -> + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.1"); // Hysteresis high setting + private static final INameFunction TRANSFER_RADIUS_TOWER_SETTING_NAME = + (base, p) -> translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.cfgi.2"); // Tesla Towers transfer radius setting + private static final INameFunction TRANSFER_RADIUS_TRANSCEIVER_SETTING_NAME = + (base, p) -> translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.cfgi.3"); // Tesla Transceiver transfer radius setting + private static final INameFunction TRANSFER_RADIUS_COVER_ULTIMATE_SETTING_NAME = + (base, p) -> translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.cfgi.4"); // Tesla Ultimate Cover transfer radius + // setting + private static final INameFunction OUTPUT_VOLTAGE_SETTING_NAME = (base, p) -> + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.5"); // Output voltage setting + private static final INameFunction OUTPUT_CURRENT_SETTING_NAME = (base, p) -> + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.6"); // Output current setting + private static final INameFunction SCAN_TIME_MIN_SETTING_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.7"); // Scan time Min setting + private static final INameFunction OVERDRIVE_SETTING_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.8"); // Overdrive setting + private static final INameFunction POPOGA_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.9"); // Unused + + private static final INameFunction TRANSFER_RADIUS_TOWER_DISPLAY_NAME = + (base, p) -> translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.cfgo.0"); // Tesla Towers transfer radius display + private static final INameFunction TRANSFER_RADIUS_TRANSCEIVER_DISPLAY_NAME = + (base, p) -> translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.cfgo.1"); // Tesla Transceiver transfer radius display + private static final INameFunction TRANSFER_RADIUS_COVER_ULTIMATE_DISPLAY_NAME = + (base, p) -> translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.cfgo.2"); // Tesla Ultimate Cover transfer radius + // display + private static final INameFunction OUTPUT_VOLTAGE_DISPLAY_NAME = (base, p) -> + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.3"); // Output voltage display + private static final INameFunction OUTPUT_CURRENT_DISPLAY_NAME = (base, p) -> + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.4"); // Output current display + private static final INameFunction ENERGY_CAPACITY_DISPLAY_NAME = (base, p) -> + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.5"); // Energy Capacity display + private static final INameFunction ENERGY_STORED_DISPLAY_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.6"); // Energy Stored display + private static final INameFunction ENERGY_FRACTION_DISPLAY_NAME = (base, p) -> + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.7"); // Energy Fraction display + private static final INameFunction SCAN_TIME_DISPLAY_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.8"); // Scan time display + + private static final IStatusFunction HYSTERESIS_LOW_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) { return STATUS_WRONG; @@ -247,14 +363,14 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock if (value > base.histHighSetting.get()) return STATUS_TOO_HIGH; return STATUS_OK; }; - private static final IStatusFunction HYSTERESIS_HIGH_STATUS = (base, p) -> { + private static final IStatusFunction 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 IStatusFunction TRANSFER_RADIUS_TOWER_STATUS = (base, p) -> { + private static final IStatusFunction TRANSFER_RADIUS_TOWER_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; value = (int) value; @@ -263,33 +379,36 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock if (value < transferRadiusTowerFromConfig) return STATUS_LOW; return STATUS_OK; }; - private static final IStatusFunction TRANSFER_RADIUS_TRANSCEIVER_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 > transferRadiusTransceiverFromConfig) return STATUS_HIGH; - if (value < transferRadiusTransceiverFromConfig) return STATUS_LOW; - return STATUS_OK; - }; - private static final IStatusFunction TRANSFER_RADIUS_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 > transferRadiusCoverUltimateFromConfig) return STATUS_HIGH; - if (value < transferRadiusCoverUltimateFromConfig) return STATUS_LOW; - return STATUS_OK; - }; - private static final IStatusFunction 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 SCAN_TIME_MIN_STATUS = (base, p) -> { + private static final IStatusFunction TRANSFER_RADIUS_TRANSCEIVER_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 > transferRadiusTransceiverFromConfig) return STATUS_HIGH; + if (value < transferRadiusTransceiverFromConfig) return STATUS_LOW; + return STATUS_OK; + }; + private static final IStatusFunction TRANSFER_RADIUS_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 > transferRadiusCoverUltimateFromConfig) return STATUS_HIGH; + if (value < transferRadiusCoverUltimateFromConfig) return STATUS_LOW; + return STATUS_OK; + }; + private static final IStatusFunction 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 SCAN_TIME_MIN_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; value = (int) value; @@ -297,7 +416,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock if (value == 100) return STATUS_OK; return STATUS_HIGH; }; - private static final IStatusFunction OVERDRIVE_STATUS = (base, p) -> { + private static final IStatusFunction OVERDRIVE_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; value = (int) value; @@ -305,20 +424,20 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock if (value == 0) return STATUS_LOW; return STATUS_HIGH; }; - private static final IStatusFunction POPOGA_STATUS = (base, p) -> { + private static final IStatusFunction POPOGA_STATUS = (base, p) -> { if (base.getBaseMetaTileEntity().getWorld().isThundering()) { return STATUS_WTF; } return STATUS_NEUTRAL; }; - private static final IStatusFunction SCAN_TIME_STATUS = (base, p) -> { + private static final IStatusFunction SCAN_TIME_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; value = (int) value; if (value == 0) return STATUS_HIGH; return STATUS_LOW; }; - private static final IStatusFunction POWER_STATUS = (base, p) -> { + private static final IStatusFunction POWER_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; value = (long) value; @@ -328,7 +447,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock return STATUS_LOW; } }; - private static final IStatusFunction ENERGY_STATUS = (base, p) -> { + private static final IStatusFunction ENERGY_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; if (base.energyFractionDisplay.get() > base.histHighSetting.get()) { @@ -339,7 +458,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock return STATUS_OK; } }; - //endregion + // endregion public GT_MetaTileEntity_TM_teslaCoil(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -350,9 +469,9 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock } private float getRangeMulti(int mTier, int vTier) { - //By Default: - //Helium and Nitrogen Plasmas will double the range - //Radon will quadruple the range + // By Default: + // Helium and Nitrogen Plasmas will double the range + // Radon will quadruple the range int plasmaBoost; switch (plasmaTier) { case 2: @@ -365,7 +484,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock plasmaBoost = 1; } - //Over-tiered coils will add +25% range + // Over-tiered coils will add +25% range if (vTier > mTier) { return 1.25F * plasmaBoost; } @@ -373,8 +492,8 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock } private void checkPlasmaBoost() { - //If there's fluid in the queue, try to output it - //That way it takes at least a second to 'process' the plasma + // If there's fluid in the queue, try to output it + // That way it takes at least a second to 'process' the plasma if (mOutputFluidsQueue != null) { mOutputFluids = mOutputFluidsQueue; mOutputFluidsQueue = null; @@ -382,24 +501,27 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock for (GT_MetaTileEntity_Hatch_Input fluidHatch : mInputHatches) { if (fluidHatch.mFluid != null) { - if (fluidHatch.mFluid.isFluidEqual(Materials.Helium.getPlasma(1)) && fluidHatch.mFluid.amount >= heliumUse) { + if (fluidHatch.mFluid.isFluidEqual(Materials.Helium.getPlasma(1)) + && fluidHatch.mFluid.amount >= heliumUse) { fluidHatch.mFluid.amount = fluidHatch.mFluid.amount - heliumUse; if (doFluidOutput) { - mOutputFluidsQueue = new FluidStack[]{Materials.Helium.getGas(heliumUse)}; + mOutputFluidsQueue = new FluidStack[] {Materials.Helium.getGas(heliumUse)}; } plasmaTier = 1; return; - } else if (fluidHatch.mFluid.isFluidEqual(Materials.Nitrogen.getPlasma(1)) && fluidHatch.mFluid.amount >= nitrogenUse) { + } else if (fluidHatch.mFluid.isFluidEqual(Materials.Nitrogen.getPlasma(1)) + && fluidHatch.mFluid.amount >= nitrogenUse) { fluidHatch.mFluid.amount = fluidHatch.mFluid.amount - nitrogenUse; if (doFluidOutput) { - mOutputFluidsQueue = new FluidStack[]{Materials.Nitrogen.getGas(nitrogenUse)}; + mOutputFluidsQueue = new FluidStack[] {Materials.Nitrogen.getGas(nitrogenUse)}; } plasmaTier = 1; return; - } else if (fluidHatch.mFluid.isFluidEqual(Materials.Radon.getPlasma(1)) && fluidHatch.mFluid.amount >= radonUse) { + } else if (fluidHatch.mFluid.isFluidEqual(Materials.Radon.getPlasma(1)) + && fluidHatch.mFluid.amount >= radonUse) { fluidHatch.mFluid.amount = fluidHatch.mFluid.amount - radonUse; if (doFluidOutput) { - mOutputFluidsQueue = new FluidStack[]{Materials.Radon.getGas(radonUse)}; + mOutputFluidsQueue = new FluidStack[] {Materials.Radon.getGas(radonUse)}; } plasmaTier = 2; return; @@ -432,20 +554,26 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock } } - //Only recalculate offsets on orientation or rotation change - if (oldRotation != getExtendedFacing().ordinal() || oldOrientation != iGregTechTileEntity.getFrontFacing()) { + // Only recalculate offsets on orientation or rotation change + if (oldRotation != getExtendedFacing().ordinal() + || oldOrientation != iGregTechTileEntity.getFrontFacing()) { oldRotation = (byte) getExtendedFacing().ordinal(); oldOrientation = iGregTechTileEntity.getFrontFacing(); - Vec3Impl posBMTE = new Vec3Impl(getBaseMetaTileEntity().getXCoord(), + Vec3Impl posBMTE = new Vec3Impl( + getBaseMetaTileEntity().getXCoord(), getBaseMetaTileEntity().getYCoord(), getBaseMetaTileEntity().getZCoord()); - //Calculate coordinates of the middle bottom - posTop = getExtendedFacing().getWorldOffset(new Vec3Impl(0, 0, 2)).add(posBMTE); + // Calculate coordinates of the middle bottom + posTop = getExtendedFacing() + .getWorldOffset(new Vec3Impl(0, 0, 2)) + .add(posBMTE); - //Calculate coordinates of the top sphere - posTop = getExtendedFacing().getWorldOffset(new Vec3Impl(0, -14, 2)).add(posBMTE); + // Calculate coordinates of the top sphere + posTop = getExtendedFacing() + .getWorldOffset(new Vec3Impl(0, -14, 2)) + .add(posBMTE); } return true; } @@ -456,16 +584,15 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock public boolean checkRecipe_EM(ItemStack itemStack) { checkPlasmaBoost(); - 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 || - !sortTimeMinSetting.getStatus(false).isOk || - !overDriveSetting.getStatus(false).isOk - ) return false; + 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 + || !sortTimeMinSetting.getStatus(false).isOk + || !overDriveSetting.getStatus(false).isOk) return false; mEfficiencyIncrease = 10000; mMaxProgresstime = 20; @@ -484,7 +611,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock outputCurrentMax = 0; if (vTier < 0) { - //Returning true to allow for 'passive running' + // Returning true to allow for 'passive running' outputVoltageMax = 0; return true; } else if (vTier > mTier && getEUVar() > 0) { @@ -514,18 +641,37 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.name")) // Machine Type: Tesla Tower - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.0")) // Controller block of the Tesla Tower - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.1")) // Used to transmit power to Tesla Coil Covers and Tesla Transceivers - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.2")) // Can be fed with Helium/Nitrogen/Radon Plasma to increase the range - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.3")) // Transmitted voltage depends on the used Tesla Capacitor tier - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.4")) // Primary Tesla Windings need to be at least the same tier as the Tesla Capacitor + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.name")) // Machine Type: Tesla Tower + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.desc.0")) // Controller block of the Tesla Tower + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.desc.1")) // Used to transmit power to Tesla + // Coil Covers and Tesla + // Transceivers + .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.2")) // Can be fed with + // Helium/Nitrogen/Radon Plasma to + // increase the range + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.desc.3")) // Transmitted voltage depends on + // the used Tesla Capacitor tier + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.desc.4")) // Primary Tesla Windings need to + // be at least the same tier as + // the Tesla Capacitor .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(7, 17, 7, false) - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.capacitor.tier.03.name"), translateToLocal("tt.keyword.Structure.AnyTeslaBaseCasingOuter"), 1) // Capacitor Hatch: Any outer Tesla Base Casing - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyTeslaBaseCasingOuter"), 1) // Energy Hatch: Any outer Tesla Base Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyTeslaBaseCasingOuter"), 1) // Maintenance Hatch: Any outer Tesla Base Casing + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.capacitor.tier.03.name"), + translateToLocal("tt.keyword.Structure.AnyTeslaBaseCasingOuter"), + 1) // Capacitor Hatch: Any outer Tesla Base Casing + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyTeslaBaseCasingOuter"), + 1) // Energy Hatch: Any outer Tesla Base Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyTeslaBaseCasingOuter"), + 1) // Maintenance Hatch: Any outer Tesla Base Casing .toolTipFinisher(CommonValues.BASS_MARK); return tt; } @@ -539,11 +685,20 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][16 + 6], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][16 + 6], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][16 + 6]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][16 + 6]}; } @Override @@ -576,13 +731,24 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock 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, transferRadiusTowerFromConfig, TRANSFER_RADIUS_TOWER_SETTING_NAME, TRANSFER_RADIUS_TOWER_STATUS); + transferRadiusTowerSetting = hatch_2.makeInParameter( + 0, transferRadiusTowerFromConfig, TRANSFER_RADIUS_TOWER_SETTING_NAME, TRANSFER_RADIUS_TOWER_STATUS); popogaSetting = hatch_2.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); - transferRadiusTransceiverSetting = hatch_3.makeInParameter(0, transferRadiusTransceiverFromConfig, TRANSFER_RADIUS_TRANSCEIVER_SETTING_NAME, TRANSFER_RADIUS_TRANSCEIVER_STATUS); - transferRadiusCoverUltimateSetting = hatch_3.makeInParameter(1, transferRadiusCoverUltimateFromConfig, TRANSFER_RADIUS_COVER_ULTIMATE_SETTING_NAME, TRANSFER_RADIUS_COVER_ULTIMATE_STATUS); - outputVoltageSetting = hatch_4.makeInParameter(0, -1, OUTPUT_VOLTAGE_SETTING_NAME, OUTPUT_VOLTAGE_OR_CURRENT_STATUS); + transferRadiusTransceiverSetting = hatch_3.makeInParameter( + 0, + transferRadiusTransceiverFromConfig, + TRANSFER_RADIUS_TRANSCEIVER_SETTING_NAME, + TRANSFER_RADIUS_TRANSCEIVER_STATUS); + transferRadiusCoverUltimateSetting = hatch_3.makeInParameter( + 1, + transferRadiusCoverUltimateFromConfig, + TRANSFER_RADIUS_COVER_ULTIMATE_SETTING_NAME, + TRANSFER_RADIUS_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); + 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); @@ -597,10 +763,13 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock 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); + 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_STATUS); - transferRadiusCoverUltimateDisplay = hatch_3.makeOutParameter(1, 0, TRANSFER_RADIUS_COVER_ULTIMATE_DISPLAY_NAME, TRANSFER_RADIUS_COVER_ULTIMATE_STATUS); + transferRadiusTransceiverDisplay = hatch_3.makeOutParameter( + 0, 0, TRANSFER_RADIUS_TRANSCEIVER_DISPLAY_NAME, TRANSFER_RADIUS_TRANSCEIVER_STATUS); + transferRadiusCoverUltimateDisplay = hatch_3.makeOutParameter( + 1, 0, TRANSFER_RADIUS_COVER_ULTIMATE_DISPLAY_NAME, TRANSFER_RADIUS_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); @@ -652,7 +821,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock @Override public boolean onRunningTick(ItemStack aStack) { - //Hysteresis based ePowerPass setting + // Hysteresis based ePowerPass setting float energyFrac = (float) getEUVar() / energyCapacity; energyCapacityDisplay.set(energyCapacity); @@ -665,7 +834,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock ePowerPass = false; } - //Power Limit Settings + // Power Limit Settings if (outputVoltageSetting.get() > 0) { outputVoltage = min(outputVoltageMax, (long) outputVoltageSetting.get()); } else { @@ -679,22 +848,23 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock outputCurrent = outputCurrentMax; } - //Range calculation and display + // Range calculation and display int transferRadiusTower = getTeslaTransmissionRange(); transferRadiusTowerDisplay.set(transferRadiusTower); transferRadiusTransceiverDisplay.set(transferRadiusTower * 2); transferRadiusCoverUltimateDisplay.set(transferRadiusTower); - //Power transfer + // Power transfer outputCurrentDisplay.set(powerTeslaNodeMap(this)); - //TODO Encapsulate the spark sender + // TODO Encapsulate the spark sender sparkCount--; if (sparkCount == 0 && visualEffect) { IGregTechTileEntity mte = getBaseMetaTileEntity(); sparkCount = 10; if (!sparkList.isEmpty()) { - NetworkDispatcher.INSTANCE.sendToAllAround(new RendererMessage.RendererData(sparkList), + NetworkDispatcher.INSTANCE.sendToAllAround( + new RendererMessage.RendererData(sparkList), mte.getWorld().provider.dimensionId, mte.getXCoord(), mte.getYCoord(), @@ -708,14 +878,14 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock @Override public long maxEUStore() { - //Setting the power here so that the tower looses all it's charge once disabled - //This also stops it from exploding + // Setting the power here so that the tower looses all it's charge once disabled + // This also stops it from exploding return getBaseMetaTileEntity().isActive() ? energyCapacity * 2 : 0; } @Override public long getEUVar() { - //Same reason as maxEUStore, set to 1 instead of zero so it doesn't drain constantly + // Same reason as maxEUStore, set to 1 instead of zero so it doesn't drain constantly return getBaseMetaTileEntity().isActive() ? super.getEUVar() : 1; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java index 1691940997..a26003dd74 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java @@ -12,43 +12,49 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { - public LedStatus[] eParamsInStatus = LedStatus.makeArray(20,LedStatus.STATUS_UNDEFINED); - public LedStatus[] eParamsOutStatus = LedStatus.makeArray(20,LedStatus.STATUS_UNDEFINED); - public double[] eParamsIn = new double[20];//number I from parametrizers + public LedStatus[] eParamsInStatus = LedStatus.makeArray(20, LedStatus.STATUS_UNDEFINED); + public LedStatus[] eParamsOutStatus = LedStatus.makeArray(20, LedStatus.STATUS_UNDEFINED); + public double[] eParamsIn = new double[20]; // number I from parametrizers public long[] eParamsInl = new long[20]; - public double[] eParamsOut = new double[20];//number O to parametrizers + public double[] eParamsOut = new double[20]; // number O to parametrizers public long[] eParamsOutl = new long[20]; public byte eCertainMode = 5, eCertainStatus = 127; public boolean ePowerPass = false, eSafeVoid = false, allowedToWork = false; - public final boolean eSafeVoidButton, allowedToWorkButton,ePowerPassButton; + public final boolean eSafeVoidButton, allowedToWorkButton, ePowerPassButton; public boolean ePowerPassCover; - public GT_Container_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity,boolean enablePowerPassButton, boolean enableSafeVoid, boolean enablePowerButton) { + public GT_Container_MultiMachineEM( + InventoryPlayer aInventoryPlayer, + IGregTechTileEntity aTileEntity, + boolean enablePowerPassButton, + boolean enableSafeVoid, + boolean enablePowerButton) { super(aInventoryPlayer, aTileEntity); - ePowerPassButton=enablePowerPassButton; - eSafeVoidButton=enableSafeVoid; - allowedToWorkButton=enablePowerButton; + ePowerPassButton = enablePowerPassButton; + eSafeVoidButton = enableSafeVoid; + allowedToWorkButton = enablePowerButton; } public GT_Container_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - this(aInventoryPlayer,aTileEntity,true,true,true); + this(aInventoryPlayer, aTileEntity, true, true, true); } - public GT_Container_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, boolean bindInventory) { + public GT_Container_MultiMachineEM( + InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, boolean bindInventory) { super(aInventoryPlayer, aTileEntity, bindInventory); - ePowerPassButton=eSafeVoidButton=allowedToWorkButton=true; + ePowerPassButton = eSafeVoidButton = allowedToWorkButton = true; } @Override protected void bindPlayerInventory(InventoryPlayer aInventoryPlayer) { int i; - for(i = 0; i < 3; ++i) { - for(int j = 0; j < 9; ++j) { + for (i = 0; i < 3; ++i) { + for (int j = 0; j < 9; ++j) { this.addSlotToContainer(new Slot(aInventoryPlayer, j + i * 9 + 9, 8 + j * 18, 110 + i * 18)); } } - for(i = 0; i < 9; ++i) { + for (i = 0; i < 9; ++i) { this.addSlotToContainer(new Slot(aInventoryPlayer, i, 8 + i * 18, 168)); } } @@ -68,18 +74,19 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { } Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - GT_MetaTileEntity_MultiblockBase_EM mte = (GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity(); + GT_MetaTileEntity_MultiblockBase_EM mte = + (GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity(); IGregTechTileEntity base = mte.getBaseMetaTileEntity(); switch (aSlotIndex) { case 0: - if(ePowerPassButton || mte.ePowerPassCover) { - TecTech.proxy.playSound(base,"fx_click"); - if(mte.ePowerPassCover){ + if (ePowerPassButton || mte.ePowerPassCover) { + TecTech.proxy.playSound(base, "fx_click"); + if (mte.ePowerPassCover) { mte.ePowerPass ^= true; - }else { + } else { mte.ePowerPass = false; } - if (!allowedToWorkButton) {//TRANSFORMER HACK + if (!allowedToWorkButton) { // TRANSFORMER HACK if (mte.ePowerPass) { mte.getBaseMetaTileEntity().enableWorking(); } else { @@ -89,14 +96,14 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { } break; case 1: - if(eSafeVoidButton) { - TecTech.proxy.playSound(base,"fx_click"); + if (eSafeVoidButton) { + TecTech.proxy.playSound(base, "fx_click"); mte.eSafeVoid ^= true; } break; case 2: - if(allowedToWorkButton) { - TecTech.proxy.playSound(base,"fx_click"); + if (allowedToWorkButton) { + TecTech.proxy.playSound(base, "fx_click"); if (mte.getBaseMetaTileEntity().isAllowedToWork()) { mte.getBaseMetaTileEntity().disableWorking(); } else { @@ -115,10 +122,13 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null || eParamsInStatus == null) { return; } - eParamsInStatus = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.eParamsInStatus; - eParamsOutStatus = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.eParamsOutStatus; - eParamsIn= ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.iParamsIn; - eParamsOut= ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.iParamsOut; + eParamsInStatus = + ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.eParamsInStatus; + eParamsOutStatus = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()) + .parametrization + .eParamsOutStatus; + eParamsIn = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.iParamsIn; + eParamsOut = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.iParamsOut; eCertainMode = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).eCertainMode; eCertainStatus = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).eCertainStatus; ePowerPass = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).ePowerPass; @@ -128,12 +138,16 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; - for (int i=100, j = 0; j < eParamsInStatus.length; j++) { - var1.sendProgressBarUpdate(this, i++, (eParamsInStatus[j].getOrdinalByte() | (eParamsOutStatus[j].getOrdinalByte() << 8))); + for (int i = 100, j = 0; j < eParamsInStatus.length; j++) { + var1.sendProgressBarUpdate( + this, i++, (eParamsInStatus[j].getOrdinalByte() | (eParamsOutStatus[j].getOrdinalByte() << 8))); } var1.sendProgressBarUpdate(this, 120, eCertainMode | (eCertainStatus << 8)); - var1.sendProgressBarUpdate(this, 121, (ePowerPass ? 1 : 0) + (eSafeVoid ? 2 : 0) + (allowedToWork ? 4 : 0) + (ePowerPassButton?8:0)); - for(int i=128,k=208,j=0;j<20;j++,i+=4,k+=4) { + var1.sendProgressBarUpdate( + this, + 121, + (ePowerPass ? 1 : 0) + (eSafeVoid ? 2 : 0) + (allowedToWork ? 4 : 0) + (ePowerPassButton ? 8 : 0)); + for (int i = 128, k = 208, j = 0; j < 20; j++, i += 4, k += 4) { TT_Utility.sendDouble(eParamsOut[j], this, var1, i); TT_Utility.sendDouble(eParamsIn[j], this, var1, k); } @@ -147,8 +161,8 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { return; } if (par1 >= 100 && par1 < 120) { - eParamsInStatus[par1 - 100] = LedStatus.getStatus ((byte) (par2 & 0xff)); - eParamsOutStatus[par1 - 100] = LedStatus.getStatus ((byte) (par2 >>> 8)); + eParamsInStatus[par1 - 100] = LedStatus.getStatus((byte) (par2 & 0xff)); + eParamsOutStatus[par1 - 100] = LedStatus.getStatus((byte) (par2 >>> 8)); } else if (par1 == 120) { eCertainMode = (byte) (par2 & 0xff); eCertainStatus = (byte) (par2 >>> 8); @@ -157,12 +171,14 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { eSafeVoid = (par2 & 2) == 2; allowedToWork = (par2 & 4) == 4; ePowerPassCover = (par2 & 8) == 8; - } else if(par1>=128 && par1<208){ - int pos=(par1-128)>>2; - eParamsOut[pos]=Double.longBitsToDouble(eParamsOutl[pos]= TT_Utility.receiveLong(eParamsOutl[pos],par1&0xFFFFFFFC,par1,par2)); - }else if(par1>=208 && par1<288){ - int pos=(par1-208)>>2; - eParamsIn[pos]=Double.longBitsToDouble(eParamsInl[pos]= TT_Utility.receiveLong(eParamsInl[pos],par1&0xFFFFFFFC,par1,par2)); + } else if (par1 >= 128 && par1 < 208) { + int pos = (par1 - 128) >> 2; + eParamsOut[pos] = Double.longBitsToDouble( + eParamsOutl[pos] = TT_Utility.receiveLong(eParamsOutl[pos], par1 & 0xFFFFFFFC, par1, par2)); + } else if (par1 >= 208 && par1 < 288) { + int pos = (par1 - 208) >> 2; + eParamsIn[pos] = Double.longBitsToDouble( + eParamsInl[pos] = TT_Utility.receiveLong(eParamsInl[pos], par1 & 0xFFFFFFFC, par1, par2)); } } @@ -180,4 +196,4 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { public int getShiftClickSlotCount() { return 1; } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java index 070976006c..0c20d76dae 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java @@ -1,56 +1,75 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + import com.github.technus.tectech.TecTech; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import java.util.List; import net.minecraft.client.gui.FontRenderer; import net.minecraft.entity.player.InventoryPlayer; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; -import java.util.List; - -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - /** * Created by Tec on 21.02.2017. */ - public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Machine { protected final String mName; protected static byte counter = 0; - protected final boolean eSafeVoidButton, allowedToWorkButton,ePowerPassButton; + protected final boolean eSafeVoidButton, allowedToWorkButton, ePowerPassButton; protected final GT_Container_MultiMachineEM mContainer; - protected GT_GUIContainer_MultiMachineEM(GT_Container_MultiMachineEM container, String aName, String aTextureFile,boolean enablePowerPass, boolean enableSafeVoid, boolean enablePowerButton) { + protected GT_GUIContainer_MultiMachineEM( + GT_Container_MultiMachineEM container, + String aName, + String aTextureFile, + boolean enablePowerPass, + boolean enableSafeVoid, + boolean enablePowerButton) { super(container, RES_PATH_GUI + "multimachines/" + (aTextureFile == null ? "MultiblockDisplay" : aTextureFile)); - mContainer=(GT_Container_MultiMachineEM)super.mContainer; + mContainer = (GT_Container_MultiMachineEM) super.mContainer; mName = aName; - ePowerPassButton=enablePowerPass; - eSafeVoidButton=enableSafeVoid; - allowedToWorkButton=enablePowerButton; - ySize= 192; + ePowerPassButton = enablePowerPass; + eSafeVoidButton = enableSafeVoid; + allowedToWorkButton = enablePowerButton; + ySize = 192; xSize = 198; } - public GT_GUIContainer_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile,boolean enablePowerPass, boolean enableSafeVoid, boolean enablePowerButton) { - this(new GT_Container_MultiMachineEM(aInventoryPlayer, aTileEntity),aName,aTextureFile,enablePowerPass,enableSafeVoid,enablePowerButton); + public GT_GUIContainer_MultiMachineEM( + InventoryPlayer aInventoryPlayer, + IGregTechTileEntity aTileEntity, + String aName, + String aTextureFile, + boolean enablePowerPass, + boolean enableSafeVoid, + boolean enablePowerButton) { + this( + new GT_Container_MultiMachineEM(aInventoryPlayer, aTileEntity), + aName, + aTextureFile, + enablePowerPass, + enableSafeVoid, + enablePowerButton); } protected GT_GUIContainer_MultiMachineEM(GT_Container_MultiMachineEM container, String aName, String aTextureFile) { - this(container,aName,aTextureFile,true,true,true); + this(container, aName, aTextureFile, true, true, true); } - public GT_GUIContainer_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile) { - this(new GT_Container_MultiMachineEM(aInventoryPlayer, aTileEntity),aName,aTextureFile); + public GT_GUIContainer_MultiMachineEM( + InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile) { + this(new GT_Container_MultiMachineEM(aInventoryPlayer, aTileEntity), aName, aTextureFile); } @Override public void drawScreen(int mouseX, int mouseY, float par3) { super.drawScreen(mouseX, mouseY, par3); if (mContainer != null) { - if (mContainer.mTileEntity != null && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_MultiblockBase_EM) { + if (mContainer.mTileEntity != null + && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_MultiblockBase_EM) { LEDtooltips(mouseX, mouseY); } } @@ -110,22 +129,22 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach if (mContainer != null && mContainer.eParamsInStatus != null) { counter = (byte) ((1 + counter) % 6); GL11.glColor4f(1f, 1f, 1f, 1f); - x+= 173; - if (!ePowerPassButton && !mContainer.ePowerPassCover) {//no function + x += 173; + if (!ePowerPassButton && !mContainer.ePowerPassCover) { // no function drawTexturedModalRect(x, y + 115, 231, 23, 18, 18); } else { - if (mContainer.ePowerPass) {// + if (mContainer.ePowerPass) { // drawTexturedModalRect(x, y + 115, 207, 23, 18, 18); } } - if(!eSafeVoidButton) { + if (!eSafeVoidButton) { drawTexturedModalRect(x, y + 132, 231, 41, 18, 18); } else if (mContainer.eSafeVoid) { drawTexturedModalRect(x, y + 132, 207, 41, 18, 18); } - if(!allowedToWorkButton) { + if (!allowedToWorkButton) { drawTexturedModalRect(x, y + 147, 231, 57, 18, 18); } else if (mContainer.allowedToWork) { drawTexturedModalRect(x, y + 147, 207, 57, 18, 18); @@ -144,63 +163,31 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach x += 162; byte state = mContainer.eCertainStatus; switch (mContainer.eCertainMode) { - case 1://ooo oxo ooo - drawTexturedModalRect(x + 6, y + 6, - rU + (state == 0 ? 30 : 6), - Vs + 6, 6, 6); + case 1: // ooo oxo ooo + drawTexturedModalRect(x + 6, y + 6, rU + (state == 0 ? 30 : 6), Vs + 6, 6, 6); break; - case 2://ooo xox ooo - drawTexturedModalRect(x, y + 6, - rU + ((state & 1) == 0 ? 24 : 0), - Vs + 6, 6, 6); - drawTexturedModalRect(x + 12, y + 6, - rU + ((state & 2) == 0 ? 36 : 12), - Vs + 6, 6, 6); + case 2: // ooo xox ooo + drawTexturedModalRect(x, y + 6, rU + ((state & 1) == 0 ? 24 : 0), Vs + 6, 6, 6); + drawTexturedModalRect(x + 12, y + 6, rU + ((state & 2) == 0 ? 36 : 12), Vs + 6, 6, 6); break; - case 3://oxo xox oxo - drawTexturedModalRect(x + 6, y, - rU + ((state & 1) == 0 ? 30 : 6), - Vs, 6, 6); - drawTexturedModalRect(x, y + 6, - rU + ((state & 2) == 0 ? 24 : 0), - Vs + 6, 6, 6); - drawTexturedModalRect(x + 12, y + 6, - rU + ((state & 4) == 0 ? 36 : 12), - Vs + 6, 6, 6); - drawTexturedModalRect(x + 6, y + 12, - rU + ((state & 8) == 0 ? 30 : 6), - Vs + 12, 6, 6); + case 3: // oxo xox oxo + drawTexturedModalRect(x + 6, y, rU + ((state & 1) == 0 ? 30 : 6), Vs, 6, 6); + drawTexturedModalRect(x, y + 6, rU + ((state & 2) == 0 ? 24 : 0), Vs + 6, 6, 6); + drawTexturedModalRect(x + 12, y + 6, rU + ((state & 4) == 0 ? 36 : 12), Vs + 6, 6, 6); + drawTexturedModalRect(x + 6, y + 12, rU + ((state & 8) == 0 ? 30 : 6), Vs + 12, 6, 6); break; - case 4://xox ooo xox - drawTexturedModalRect(x, y, - rU + ((state & 1) == 0 ? 24 : 0), - Vs, 6, 6); - drawTexturedModalRect(x + 12, y, - rU + ((state & 2) == 0 ? 36 : 12), - Vs, 6, 6); - drawTexturedModalRect(x, y + 12, - rU + ((state & 4) == 0 ? 24 : 0), - Vs + 12, 6, 6); - drawTexturedModalRect(x + 12, y + 12, - rU + ((state & 8) == 0 ? 36 : 12), - Vs + 12, 6, 6); + case 4: // xox ooo xox + drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 24 : 0), Vs, 6, 6); + drawTexturedModalRect(x + 12, y, rU + ((state & 2) == 0 ? 36 : 12), Vs, 6, 6); + drawTexturedModalRect(x, y + 12, rU + ((state & 4) == 0 ? 24 : 0), Vs + 12, 6, 6); + drawTexturedModalRect(x + 12, y + 12, rU + ((state & 8) == 0 ? 36 : 12), Vs + 12, 6, 6); break; - case 5://xox oxo xox - drawTexturedModalRect(x, y, - rU + ((state & 1) == 0 ? 24 : 0), - Vs, 6, 6); - drawTexturedModalRect(x + 12, y, - rU + ((state & 2) == 0 ? 36 : 12), - Vs, 6, 6); - drawTexturedModalRect(x + 6, y + 6, - rU + ((state & 4) == 0 ? 30 : 6), - Vs + 6, 6, 6); - drawTexturedModalRect(x, y + 12, - rU + ((state & 8) == 0 ? 24 : 0), - Vs + 12, 6, 6); - drawTexturedModalRect(x + 12, y + 12, - rU + ((state & 16) == 0 ? 36 : 12), - Vs + 12, 6, 6); + case 5: // xox oxo xox + drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 24 : 0), Vs, 6, 6); + drawTexturedModalRect(x + 12, y, rU + ((state & 2) == 0 ? 36 : 12), Vs, 6, 6); + drawTexturedModalRect(x + 6, y + 6, rU + ((state & 4) == 0 ? 30 : 6), Vs + 6, 6, 6); + drawTexturedModalRect(x, y + 12, rU + ((state & 8) == 0 ? 24 : 0), Vs + 12, 6, 6); + drawTexturedModalRect(x + 12, y + 12, rU + ((state & 16) == 0 ? 36 : 12), Vs + 12, 6, 6); break; } } @@ -210,71 +197,72 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach int v = 192, su = 8, sv = 6, u = 11; switch (status) { case STATUS_WTF: { - int c=counter; - if(c>4){ - c= TecTech.RANDOM.nextInt(5); + int c = counter; + if (c > 4) { + c = TecTech.RANDOM.nextInt(5); } switch (c) { case 0: - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv);//BLUE + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv); // BLUE break; case 1: - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (2 + j), su, sv);//cyan + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (2 + j), su, sv); // cyan break; case 2: - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (4 + j), su, sv);//green + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (4 + j), su, sv); // green break; case 3: - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (6 + j), su, sv);//orangeyello + drawTexturedModalRect( + x + su * i, y + sv * j, u + su * i, v + sv * (6 + j), su, sv); // orangeyello break; case 4: - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv);//redd + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv); // redd break; } break; } - case STATUS_WRONG: //fallthrough + case STATUS_WRONG: // fallthrough if (counter < 2) { - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv);//blue + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv); // blue break; } else if (counter < 4) { - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv);//red + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv); // red break; } - case STATUS_OK://ok - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (4 + j), su, sv);//green + case STATUS_OK: // ok + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (4 + j), su, sv); // green break; - case STATUS_TOO_LOW://too low blink + case STATUS_TOO_LOW: // too low blink if (counter < 3) { - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv);//BLUE + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv); // BLUE break; } - case STATUS_LOW:// too low - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (2 + j), su, sv);//cyan + case STATUS_LOW: // too low + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (2 + j), su, sv); // cyan break; - case STATUS_TOO_HIGH://too high blink + case STATUS_TOO_HIGH: // too high blink if (counter < 3) { - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv);//redd + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv); // redd break; } - case STATUS_HIGH:// too high - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (6 + j), su, sv);//orangeyello + case STATUS_HIGH: // too high + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (6 + j), su, sv); // orangeyello break; case STATUS_NEUTRAL: - if(counter<3){ + if (counter < 3) { GL11.glColor4f(.85f, .9f, .95f, .5F); - drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2); - }else { + drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su + 2, sv + 2); + } else { GL11.glColor4f(.8f, .9f, 1f, .5F); - drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2); + drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su + 2, sv + 2); } GL11.glColor4f(1f, 1f, 1f, 1f); break; case STATUS_UNDEFINED: - if(counter<3) { + if (counter < 3) { GL11.glColor4f(.5f, .1f, .15f, .5F); drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su + 2, sv + 2); - }else { + } else { GL11.glColor4f(0f, .1f, .2f, .5F); drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su + 2, sv + 2); } @@ -282,50 +270,61 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach break; case STATUS_UNUSED: default: - //if (GregTech_API.sColoredGUI && this.mContainer.mTileEntity != null) { + // if (GregTech_API.sColoredGUI && this.mContainer.mTileEntity != null) { // int tColor = this.mContainer.mTileEntity.getColorization() & 15; // if (tColor < ItemDye.field_150922_c.length) { // tColor = ItemDye.field_150922_c[tColor]; - // GL11.glColor4f((float)(tColor >> 16 & 255) / 255.0F, (float)(tColor >> 8 & 255) / 255.0F, (float)(tColor & 255) / 255.0F, 1F); + // GL11.glColor4f((float)(tColor >> 16 & 255) / 255.0F, (float)(tColor >> 8 & 255) / 255.0F, + // (float)(tColor & 255) / 255.0F, 1F); // } - //} - //drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2); - //GL11.glColor4f(1f, 1f, 1f, 1f); - //break; + // } + // drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2); + // GL11.glColor4f(1f, 1f, 1f, 1f); + // break; } } - protected void LEDtooltips(int x,int y){ - int renderPosX=x; - int renderPosY=y; - x-= (width - xSize) / 2; - y-= (height - ySize) / 2; - //drawHoveringText(Arrays.asList(""+x,""+y), -1, -11, fontRendererObj); - if(mContainer.mTileEntity!=null){ - IMetaTileEntity mte=mContainer.mTileEntity.getMetaTileEntity(); - if(mte instanceof GT_MetaTileEntity_MultiblockBase_EM){ - Parameters parametrization=((GT_MetaTileEntity_MultiblockBase_EM)mte).parametrization; - parametrization.eParamsInStatus=mContainer.eParamsInStatus; - parametrization.eParamsOutStatus=mContainer.eParamsOutStatus; - parametrization.iParamsIn=mContainer.eParamsIn; - parametrization.iParamsOut=mContainer.eParamsOut; - int su = 8, sv = 6, u=11,v=96; - if(x=v && y= v && y < v + sv) { + // if(mContainer.eParamsOutStatus[hatch + (10*param)]==STATUS_UNUSED){ // return; - //} - hoveringText(((GT_MetaTileEntity_MultiblockBase_EM) mte).getFullLedDescriptionOut(hatch,param), renderPosX, renderPosY, fontRendererObj); + // } + hoveringText( + ((GT_MetaTileEntity_MultiblockBase_EM) mte) + .getFullLedDescriptionOut(hatch, param), + renderPosX, + renderPosY, + fontRendererObj); return; } } @@ -338,7 +337,7 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach protected void hoveringText(List strings, int x, int y, FontRenderer font) { if (!strings.isEmpty()) { GL11.glDisable(GL12.GL_RESCALE_NORMAL); - //RenderHelper.disableStandardItemLighting(); + // RenderHelper.disableStandardItemLighting(); GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_DEPTH_TEST); int k = 0; @@ -368,16 +367,16 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach y2 = this.height - i1 - 6; } - //this.zLevel = 300.0F; - //itemRender.zLevel = 300.0F; - int j1 = 0xf0001040;//bg + // this.zLevel = 300.0F; + // itemRender.zLevel = 300.0F; + int j1 = 0xf0001040; // bg this.drawGradientRect(x2 - 3, y2 - 4, x2 + k + 3, y2 - 3, j1, j1); this.drawGradientRect(x2 - 3, y2 + i1 + 3, x2 + k + 3, y2 + i1 + 4, j1, j1); this.drawGradientRect(x2 - 3, y2 - 3, x2 + k + 3, y2 + i1 + 3, j1, j1); this.drawGradientRect(x2 - 4, y2 - 3, x2 - 3, y2 + i1 + 3, j1, j1); this.drawGradientRect(x2 + k + 3, y2 - 3, x2 + k + 4, y2 + i1 + 3, j1, j1); - int k1 = 0x500040ff;//border bright - int l1 = (k1 & 0xfefefe) >> 1 | k1 & 0xff000000;//border dark??? + int k1 = 0x500040ff; // border bright + int l1 = (k1 & 0xfefefe) >> 1 | k1 & 0xff000000; // border dark??? this.drawGradientRect(x2 - 3, y2 - 3 + 1, x2 - 3 + 1, y2 + i1 + 3 - 1, k1, l1); this.drawGradientRect(x2 + k + 2, y2 - 3 + 1, x2 + k + 3, y2 + i1 + 3 - 1, k1, l1); this.drawGradientRect(x2 - 3, y2 - 3, x2 + k + 3, y2 - 3 + 1, k1, k1); @@ -394,12 +393,12 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach y2 += 10; } - //this.zLevel = 0.0F; - //itemRender.zLevel = 0.0F; + // this.zLevel = 0.0F; + // itemRender.zLevel = 0.0F; GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_DEPTH_TEST); - //RenderHelper.enableStandardItemLighting(); + // RenderHelper.enableStandardItemLighting(); GL11.glEnable(GL12.GL_RESCALE_NORMAL); } } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java index 86ca00d80e..b071196b14 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java @@ -1,5 +1,14 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.loader.TecTechConfig.POWERLESS_MODE; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.util.CommonValues.*; +import static com.github.technus.tectech.util.DoubleCount.div; +import static com.github.technus.tectech.util.TT_Utility.getTier; +import static gregtech.api.enums.GT_HatchElement.*; +import static java.lang.Math.min; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; @@ -33,12 +42,15 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.*; import gregtech.api.util.*; import gregtech.common.GT_Pollution; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.EntityPlayer; - +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -47,114 +59,105 @@ import net.minecraft.util.ResourceLocation; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidStack; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.loader.TecTechConfig.POWERLESS_MODE; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.util.CommonValues.*; -import static com.github.technus.tectech.util.DoubleCount.div; -import static com.github.technus.tectech.util.TT_Utility.getTier; -import static gregtech.api.enums.GT_HatchElement.*; -import static java.lang.Math.min; - /** * Created by danie_000 on 27.10.2016. */ -public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEntity_TooltipMultiBlockBase implements IAlignment { - //region Client side variables (static - one per class) +public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEntity_TooltipMultiBlockBase + implements IAlignment { + // region Client side variables (static - one per class) - //Front icon holders - static so it is default one for my blocks - //just add new static ones in your class and and override getTexture + // Front icon holders - static so it is default one for my blocks + // just add new static ones in your class and and override getTexture protected static Textures.BlockIcons.CustomIcon ScreenOFF; protected static Textures.BlockIcons.CustomIcon ScreenON; - //Sound resource - same as with screen but override getActivitySound - public final static ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_lo_freq"); + // Sound resource - same as with screen but override getActivitySound + public static final ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_lo_freq"); + @SideOnly(Side.CLIENT) - private SoundLoop activitySoundLoop; - //endregion - - //region HATCHES ARRAYS - they hold info about found hatches, add hatches to them... (auto structure magic does it tho) - - //HATCHES!!!, should be added and removed in check machine - - //EM in/out - protected ArrayList eInputHatches = new ArrayList<>(); - protected ArrayList eOutputHatches = new ArrayList<>(); - //EM overflow output - protected ArrayList eMufflerHatches = new ArrayList<>(); - //extra hatches - protected ArrayList eParamHatches = new ArrayList<>(); - protected ArrayList eUncertainHatches = new ArrayList<>(); - //multi amp hatches in/out - protected ArrayList eEnergyMulti = new ArrayList<>(); - protected ArrayList eDynamoMulti = new ArrayList<>(); - //data hatches - protected ArrayList eInputData = new ArrayList<>(); - protected ArrayList eOutputData = new ArrayList<>(); - - //endregion - - //region parameters + private SoundLoop activitySoundLoop; + // endregion + + // region HATCHES ARRAYS - they hold info about found hatches, add hatches to them... (auto structure magic does it + // tho) + + // HATCHES!!!, should be added and removed in check machine + + // EM in/out + protected ArrayList eInputHatches = new ArrayList<>(); + protected ArrayList eOutputHatches = new ArrayList<>(); + // EM overflow output + protected ArrayList eMufflerHatches = new ArrayList<>(); + // extra hatches + protected ArrayList eParamHatches = new ArrayList<>(); + protected ArrayList eUncertainHatches = new ArrayList<>(); + // multi amp hatches in/out + protected ArrayList eEnergyMulti = new ArrayList<>(); + protected ArrayList eDynamoMulti = new ArrayList<>(); + // data hatches + protected ArrayList eInputData = new ArrayList<>(); + protected ArrayList eOutputData = new ArrayList<>(); + + // endregion + + // region parameters public final Parameters parametrization; - //endregion + // endregion - //region Control variables + // region Control variables - //should explode on dismatle?, set it in constructor, if true machine will explode if invalidated structure while active + // should explode on dismatle?, set it in constructor, if true machine will explode if invalidated structure while + // active protected boolean eDismantleBoom = false; - //what is the amount of A required - public long eAmpereFlow = 1; // analogue of EU/t but for amperes used (so eu/t is actually eu*A/t) USE ONLY POSITIVE NUMBERS! + // what is the amount of A required + public long eAmpereFlow = + 1; // analogue of EU/t but for amperes used (so eu/t is actually eu*A/t) USE ONLY POSITIVE NUMBERS! - //set to what you need it to be in check recipe - //data required to operate + // set to what you need it to be in check recipe + // data required to operate protected long eRequiredData = 0; - //storage for output EM that will be auto handled in case of failure to finish recipe - //if you succed to use a recipe - be sure to output EM from outputEM to hatches in the output method + // storage for output EM that will be auto handled in case of failure to finish recipe + // if you succed to use a recipe - be sure to output EM from outputEM to hatches in the output method protected EMInstanceStackMap[] outputEM; - //are parameters correct - change in check recipe/output/update params etc. (maintenance status boolean) + // are parameters correct - change in check recipe/output/update params etc. (maintenance status boolean) protected boolean eParameters = true; - //what type of certainty inconvenience is used - can be used as in Computer - more info in uncertainty hatch + // what type of certainty inconvenience is used - can be used as in Computer - more info in uncertainty hatch protected byte eCertainMode = 0, eCertainStatus = 0; - //minimal repair status to make the machine even usable (how much unfixed fixed stuff is needed) - //if u need to force some things to be fixed - u might need to override doRandomMaintenanceDamage + // minimal repair status to make the machine even usable (how much unfixed fixed stuff is needed) + // if u need to force some things to be fixed - u might need to override doRandomMaintenanceDamage protected byte minRepairStatus = 3; - //is power pass cover present + // is power pass cover present public boolean ePowerPassCover = false; - //functionality toggles - changed by buttons in gui also + // functionality toggles - changed by buttons in gui also public boolean ePowerPass = false, eSafeVoid = false; - //endregion + // endregion - //region READ ONLY unless u really need to change it + // region READ ONLY unless u really need to change it - //max amperes machine can take in after computing it to the lowest tier (exchange packets to min tier count) + // max amperes machine can take in after computing it to the lowest tier (exchange packets to min tier count) protected long eMaxAmpereFlow = 0, eMaxAmpereGen = 0; - //What is the max and minimal tier of eu hatches installed + // What is the max and minimal tier of eu hatches installed private long maxEUinputMin = 0, maxEUinputMax = 0, maxEUoutputMin = 0, maxEUoutputMax = 0; - //read only unless you are making computation generator - read computer class + // read only unless you are making computation generator - read computer class protected long eAvailableData = 0; // data being available - //just some info - private so hidden + // just some info - private so hidden private boolean explodedThisTick = false; - //front rotation val + // front rotation val private IAlignmentLimits alignmentLimits = IAlignmentLimits.UNLIMITED; - private ExtendedFacing extendedFacing = ExtendedFacing.DEFAULT; - //endregion + private ExtendedFacing extendedFacing = ExtendedFacing.DEFAULT; + // endregion protected GT_MetaTileEntity_MultiblockBase_EM(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -170,7 +173,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt parametrization.setToDefaults(true, true); } - //region SUPER STRUCT + // region SUPER STRUCT @Override public IAlignmentLimits getAlignmentLimits() { return alignmentLimits; @@ -184,16 +187,21 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt @Override public void setExtendedFacing(ExtendedFacing newExtendedFacing) { if (extendedFacing != newExtendedFacing) { - if(mMachine) - stopMachine(); + if (mMachine) stopMachine(); extendedFacing = newExtendedFacing; final IGregTechTileEntity base = getBaseMetaTileEntity(); mMachine = false; mUpdated = false; mUpdate = 100; if (getBaseMetaTileEntity().isServerSide()) { - StructureLibAPI.sendAlignment((IAlignmentProvider) base, - new NetworkRegistry.TargetPoint(base.getWorld().provider.dimensionId, base.getXCoord(), base.getYCoord(), base.getZCoord(), 512)); + StructureLibAPI.sendAlignment( + (IAlignmentProvider) base, + new NetworkRegistry.TargetPoint( + base.getWorld().provider.dimensionId, + base.getXCoord(), + base.getYCoord(), + base.getZCoord(), + 512)); } else { base.issueTextureUpdate(); } @@ -201,11 +209,13 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } @Override - public boolean onWrenchRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + public boolean onWrenchRightClick( + byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { if (aWrenchingSide != getBaseMetaTileEntity().getFrontFacing()) return super.onWrenchRightClick(aSide, aWrenchingSide, aPlayer, aX, aY, aZ); if (aPlayer.isSneaking()) { - // we won't be allowing horizontal flips, as it can be perfectly emulated by rotating twice and flipping horizontally + // we won't be allowing horizontal flips, as it can be perfectly emulated by rotating twice and flipping + // horizontally // allowing an extra round of flip make it hard to draw meaningful flip markers in GT_Proxy#drawGrid toolSetFlip(getFlip().isHorizontallyFlipped() ? Flip.NONE : Flip.HORIZONTAL); } else { @@ -238,31 +248,94 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt public final boolean structureCheck_EM(String piece, int horizontalOffset, int verticalOffset, int depthOffset) { IGregTechTileEntity baseMetaTileEntity = getBaseMetaTileEntity(); - return getStructure_EM_Internal().check(this, piece, baseMetaTileEntity.getWorld(), getExtendedFacing(), - baseMetaTileEntity.getXCoord(), baseMetaTileEntity.getYCoord(), baseMetaTileEntity.getZCoord(), - horizontalOffset, verticalOffset, depthOffset, !mMachine); - } - - public final boolean structureBuild_EM(String piece, int horizontalOffset, int verticalOffset, int depthOffset, ItemStack trigger, boolean hintsOnly) { + return getStructure_EM_Internal() + .check( + this, + piece, + baseMetaTileEntity.getWorld(), + getExtendedFacing(), + baseMetaTileEntity.getXCoord(), + baseMetaTileEntity.getYCoord(), + baseMetaTileEntity.getZCoord(), + horizontalOffset, + verticalOffset, + depthOffset, + !mMachine); + } + + public final boolean structureBuild_EM( + String piece, + int horizontalOffset, + int verticalOffset, + int depthOffset, + ItemStack trigger, + boolean hintsOnly) { IGregTechTileEntity baseMetaTileEntity = getBaseMetaTileEntity(); - return getStructure_EM_Internal().buildOrHints(this, trigger, piece, baseMetaTileEntity.getWorld(), - getExtendedFacing(), baseMetaTileEntity.getXCoord(), baseMetaTileEntity.getYCoord(), - baseMetaTileEntity.getZCoord(), horizontalOffset, verticalOffset, depthOffset, hintsOnly); - } - - protected final int survivialBuildPiece(String piece, ItemStack trigger, int horizontalOffset, int verticalOffset, int depthOffset, int elementsBudget, IItemSource source, EntityPlayerMP actor, boolean check) { + return getStructure_EM_Internal() + .buildOrHints( + this, + trigger, + piece, + baseMetaTileEntity.getWorld(), + getExtendedFacing(), + baseMetaTileEntity.getXCoord(), + baseMetaTileEntity.getYCoord(), + baseMetaTileEntity.getZCoord(), + horizontalOffset, + verticalOffset, + depthOffset, + hintsOnly); + } + + protected final int survivialBuildPiece( + String piece, + ItemStack trigger, + int horizontalOffset, + int verticalOffset, + int depthOffset, + int elementsBudget, + IItemSource source, + EntityPlayerMP actor, + boolean check) { final IGregTechTileEntity tTile = getBaseMetaTileEntity(); - return getStructure_EM_Internal().survivalBuild(this, trigger, piece, tTile.getWorld(), getExtendedFacing(), tTile.getXCoord(), tTile.getYCoord(), tTile.getZCoord(), horizontalOffset, verticalOffset, depthOffset, elementsBudget, source, actor, check); - } - - protected final int survivialBuildPiece(String piece, ItemStack trigger, int horizontalOffset, int verticalOffset, int depthOffset, int elementsBudget, IItemSource source, EntityPlayerMP actor, boolean check, boolean checkIfPlaced) { - int built = survivialBuildPiece(piece, trigger, horizontalOffset, verticalOffset, depthOffset, elementsBudget, source, actor, check); + return getStructure_EM_Internal() + .survivalBuild( + this, + trigger, + piece, + tTile.getWorld(), + getExtendedFacing(), + tTile.getXCoord(), + tTile.getYCoord(), + tTile.getZCoord(), + horizontalOffset, + verticalOffset, + depthOffset, + elementsBudget, + source, + actor, + check); + } + + protected final int survivialBuildPiece( + String piece, + ItemStack trigger, + int horizontalOffset, + int verticalOffset, + int depthOffset, + int elementsBudget, + IItemSource source, + EntityPlayerMP actor, + boolean check, + boolean checkIfPlaced) { + int built = survivialBuildPiece( + piece, trigger, horizontalOffset, verticalOffset, depthOffset, elementsBudget, source, actor, check); if (checkIfPlaced && built > 0) checkStructure(true, getBaseMetaTileEntity()); return built; } - //endregion + // endregion - //region METHODS TO OVERRIDE - general functionality, recipe check, output + // region METHODS TO OVERRIDE - general functionality, recipe check, output /** * Check structure here, also add hatches @@ -297,8 +370,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * (Well it can be overflowed if machine didn't finished, soft-hammered/disabled/not enough EU) * Setting available data processing */ - public void outputAfterRecipe_EM() { - } + public void outputAfterRecipe_EM() {} /** * to add fluids into hatches @@ -309,14 +381,16 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt protected void addFluidOutputs(FluidStack[] mOutputFluids) { int min = Math.min(mOutputFluids.length, mOutputHatches.size()); for (int i = 0; i < min; ++i) { - if (mOutputHatches.get(i) != null && mOutputFluids[i] != null && GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(mOutputHatches.get(i))) { + if (mOutputHatches.get(i) != null + && mOutputFluids[i] != null + && GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(mOutputHatches.get(i))) { mOutputHatches.get(i).fill(mOutputFluids[i], true); } } } - //endregion + // endregion - //region tooltip and scanner result + // region tooltip and scanner result /** * @param hatchNo @@ -325,14 +399,14 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt */ public ArrayList getFullLedDescriptionIn(int hatchNo, int paramID) { ArrayList list = new ArrayList<>(); - list.add(EnumChatFormatting.WHITE + "ID: " + - EnumChatFormatting.AQUA + hatchNo + - EnumChatFormatting.YELLOW + ":" + - EnumChatFormatting.AQUA + paramID + - EnumChatFormatting.YELLOW + ":" + - EnumChatFormatting.AQUA + "I " + parametrization.getStatusIn(hatchNo, paramID).name.get()); - list.add(EnumChatFormatting.WHITE + "Value: " + - EnumChatFormatting.AQUA + TT_Utility.doubleToString(parametrization.getIn(hatchNo, paramID))); + list.add(EnumChatFormatting.WHITE + "ID: " + EnumChatFormatting.AQUA + + hatchNo + EnumChatFormatting.YELLOW + + ":" + EnumChatFormatting.AQUA + + paramID + EnumChatFormatting.YELLOW + + ":" + EnumChatFormatting.AQUA + + "I " + parametrization.getStatusIn(hatchNo, paramID).name.get()); + list.add(EnumChatFormatting.WHITE + "Value: " + EnumChatFormatting.AQUA + + TT_Utility.doubleToString(parametrization.getIn(hatchNo, paramID))); try { list.add(parametrization.groups[hatchNo].parameterIn[paramID].getBrief()); } catch (NullPointerException | IndexOutOfBoundsException e) { @@ -348,14 +422,14 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt */ public ArrayList getFullLedDescriptionOut(int hatchNo, int paramID) { ArrayList list = new ArrayList<>(); - list.add(EnumChatFormatting.WHITE + "ID: " + - EnumChatFormatting.AQUA + hatchNo + - EnumChatFormatting.YELLOW + ":" + - EnumChatFormatting.AQUA + paramID + - EnumChatFormatting.YELLOW + ":" + - EnumChatFormatting.AQUA + "O " + parametrization.getStatusOut(hatchNo, paramID).name.get()); - list.add(EnumChatFormatting.WHITE + "Value: " + - EnumChatFormatting.AQUA + TT_Utility.doubleToString(parametrization.getOut(hatchNo, paramID))); + list.add(EnumChatFormatting.WHITE + "ID: " + EnumChatFormatting.AQUA + + hatchNo + EnumChatFormatting.YELLOW + + ":" + EnumChatFormatting.AQUA + + paramID + EnumChatFormatting.YELLOW + + ":" + EnumChatFormatting.AQUA + + "O " + parametrization.getStatusOut(hatchNo, paramID).name.get()); + list.add(EnumChatFormatting.WHITE + "Value: " + EnumChatFormatting.AQUA + + TT_Utility.doubleToString(parametrization.getOut(hatchNo, paramID))); try { list.add(parametrization.groups[hatchNo].parameterOut[paramID].getBrief()); } catch (NullPointerException | IndexOutOfBoundsException e) { @@ -367,8 +441,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt @Override protected GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addInfo("Nothing special just override me") - .toolTipFinisher(TEC_MARK_GENERAL); + tt.addInfo("Nothing special just override me").toolTipFinisher(TEC_MARK_GENERAL); return tt; } @@ -378,9 +451,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * @return */ @Override - public String[] getInfoData() {//TODO Do it + public String[] getInfoData() { // TODO Do it long storedEnergy = 0; - long maxEnergy = 0; + long maxEnergy = 0; for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { storedEnergy += tHatch.getBaseMetaTileEntity().getStoredEU(); @@ -394,25 +467,32 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } - return new String[]{ - "Progress:", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(mProgresstime / 20) + EnumChatFormatting.RESET + " s / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(mMaxProgresstime / 20) + EnumChatFormatting.RESET + " s", - "Energy Hatches:", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + " EU", - (mEUt * eAmpereFlow <= 0 ? "Probably uses: " : "Probably makes: ") + - EnumChatFormatting.RED + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t at " + - EnumChatFormatting.RED + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", - "Tier Rating: " + EnumChatFormatting.YELLOW + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.GREEN + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + - " Amp Rating: " + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", - "Problems: " + EnumChatFormatting.RED + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + - " Efficiency: " + EnumChatFormatting.YELLOW + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", - "PowerPass: " + EnumChatFormatting.BLUE + ePowerPass + EnumChatFormatting.RESET + - " SafeVoid: " + EnumChatFormatting.BLUE + eSafeVoid, - "Computation: " + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET + return new String[] { + "Progress:", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(mProgresstime / 20) + EnumChatFormatting.RESET + " s / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(mMaxProgresstime / 20) + + EnumChatFormatting.RESET + " s", + "Energy Hatches:", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + + " EU", + (mEUt * eAmpereFlow <= 0 ? "Probably uses: " : "Probably makes: ") + EnumChatFormatting.RED + + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t at " + + EnumChatFormatting.RED + + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", + "Tier Rating: " + EnumChatFormatting.YELLOW + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + + " / " + EnumChatFormatting.GREEN + + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " Amp Rating: " + + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + + " A", + "Problems: " + EnumChatFormatting.RED + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + + " Efficiency: " + EnumChatFormatting.YELLOW + mEfficiency / 100.0F + EnumChatFormatting.RESET + + " %", + "PowerPass: " + EnumChatFormatting.BLUE + ePowerPass + EnumChatFormatting.RESET + " SafeVoid: " + + EnumChatFormatting.BLUE + eSafeVoid, + "Computation: " + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eAvailableData) + + EnumChatFormatting.RESET + " / " + EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET }; } @@ -426,9 +506,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return true; } - //endregion + // endregion - //region GUI/SOUND/RENDER + // region GUI/SOUND/RENDER /** * Server side container @@ -453,10 +533,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt */ @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png"); + return new GT_GUIContainer_MultiMachineEM( + aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png"); } - /** * add more textures * @@ -482,11 +562,20 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * @return */ @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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 TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][4], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][4]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][4]}; } /** @@ -518,9 +607,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } - //endregion + // endregion - //region Methods to maybe override (if u implement certain stuff) + // region Methods to maybe override (if u implement certain stuff) /** * is the thing inside controller a valid item to make the machine work @@ -572,7 +661,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } cleanOutputEM_EM(); - if (ePowerPass && getEUVar() > V[3] || eDismantleBoom && mMaxProgresstime > 0 && areChunksAroundLoaded_EM()) { + if (ePowerPass && getEUVar() > V[3] + || eDismantleBoom && mMaxProgresstime > 0 && areChunksAroundLoaded_EM()) { explodeMultiblock(); } } catch (Exception e) { @@ -589,10 +679,11 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * @return */ protected boolean areChunksAroundLoaded_EM() { - if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(this) && getBaseMetaTileEntity().isServerSide()) { + if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(this) + && getBaseMetaTileEntity().isServerSide()) { IGregTechTileEntity base = getBaseMetaTileEntity(); return base.getWorld().doChunksNearChunkExist(base.getXCoord(), base.getYCoord(), base.getZCoord(), 3); - //todo check if it is actually checking if chunks are loaded + // todo check if it is actually checking if chunks are loaded } else { return false; } @@ -601,8 +692,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt /** * instantiate parameters in CONSTRUCTOR! CALLED ONCE on creation, don't call it in your classes */ - protected void parametersInstantiation_EM() { - } + protected void parametersInstantiation_EM() {} /** * It is automatically called OFTEN @@ -613,7 +703,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * * @param machineBusy is machine doing SHIT */ - protected void parametersStatusesWrite_EM(boolean machineBusy) {//todo unimplement? + protected void parametersStatusesWrite_EM(boolean machineBusy) { // todo unimplement? if (!machineBusy) { for (Parameters.Group.ParameterIn parameterIn : parametrization.parameterInArrayList) { if (parameterIn != null) { @@ -643,14 +733,12 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * * @param mMachine was the machine considered complete at that point in onPostTick */ - protected void hatchInit_EM(boolean mMachine) { - } + protected void hatchInit_EM(boolean mMachine) {} /** * called when the multiblock is exploding - if u want to add more EXPLOSIONS, for ex. new types of hatches also have to explode */ - protected void extraExplosions_EM() { - }//For that extra hatches explosions, and maybe some MOORE EXPLOSIONS + protected void extraExplosions_EM() {} // For that extra hatches explosions, and maybe some MOORE EXPLOSIONS /** * Get Available data, Override only on data outputters should return mAvailableData that is set in check recipe @@ -658,9 +746,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * @return available data */ protected long getAvailableData_EM() { - long result = 0; + long result = 0; IGregTechTileEntity baseMetaTileEntity = getBaseMetaTileEntity(); - Vec3Impl pos = new Vec3Impl(baseMetaTileEntity.getXCoord(), baseMetaTileEntity.getYCoord(), baseMetaTileEntity.getZCoord()); + Vec3Impl pos = new Vec3Impl( + baseMetaTileEntity.getXCoord(), baseMetaTileEntity.getYCoord(), baseMetaTileEntity.getZCoord()); for (GT_MetaTileEntity_Hatch_InputData in : eInputData) { if (in.q != null) { Long value = in.q.contentIfNotInTrace(pos); @@ -677,8 +766,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * BUT NEEDED WHEN - machine blocks are not touching each other or they don't implement IMachineBlockUpdateable (ex. air,stone,weird TE's) */ protected boolean cyclicUpdate_EM() { - return mUpdate <= -1000;//set to false to disable cyclic update - //default is once per 50s; mUpdate is decremented every tick + return mUpdate <= -1000; // set to false to disable cyclic update + // default is once per 50s; mUpdate is decremented every tick } /** @@ -740,7 +829,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt aNBT.setBoolean("eVoid", eSafeVoid); aNBT.setBoolean("eBoom", eDismantleBoom); aNBT.setBoolean("eOK", mMachine); - //Ensures compatibility + // Ensures compatibility if (mOutputItems != null) { aNBT.setInteger("mOutputItemsLength", mOutputItems.length); for (int i = 0; i < mOutputItems.length; i++) { @@ -752,7 +841,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } - //Ensures compatibility + // Ensures compatibility if (mOutputFluids != null) { aNBT.setInteger("mOutputFluidsLength", mOutputFluids.length); for (int i = 0; i < mOutputFluids.length; i++) { @@ -834,7 +923,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt eDismantleBoom = aNBT.getBoolean("eBoom"); mMachine = aNBT.getBoolean("eOK"); - //Ensures compatibility + // Ensures compatibility int aOutputItemsLength = aNBT.getInteger("mOutputItemsLength"); if (aOutputItemsLength > 0) { mOutputItems = new ItemStack[aOutputItemsLength]; @@ -843,7 +932,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } - //Ensures compatibility + // Ensures compatibility int aOutputFluidsLength = aNBT.getInteger("mOutputFluidsLength"); if (aOutputFluidsLength > 0) { mOutputFluids = new FluidStack[aOutputFluidsLength]; @@ -859,7 +948,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt for (int i = 0; i < outputEM.length; i++) { if (compound.hasKey(Integer.toString(i))) { try { - outputEM[i] = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, compound.getCompoundTag(Integer.toString(i))); + outputEM[i] = EMInstanceStackMap.fromNBT( + TecTech.definitionsRegistry, compound.getCompoundTag(Integer.toString(i))); } catch (EMException e) { if (DEBUG_MODE) { e.printStackTrace(); @@ -926,9 +1016,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt purgeAllOverflowEM_EM(); } - //endregion + // endregion - //region RATHER LEAVE ALONE Section + // region RATHER LEAVE ALONE Section /** * Override if needed but usually call super method at start! @@ -971,8 +1061,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt mProgresstime = 0; mMaxProgresstime = 0; eAvailableData = 0; - //getBaseMetaTileEntity().disableWorking(); //can add in override - //hatchesStatusUpdate_EM(); //called always after recipe checks + // getBaseMetaTileEntity().disableWorking(); //can add in override + // hatchesStatusUpdate_EM(); //called always after recipe checks } private void cleanOrExplode() { @@ -1022,9 +1112,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return 3; } - //endregion + // endregion - //region internal + // region internal /** * internal check machine @@ -1045,9 +1135,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * @return */ @Override - public final boolean checkRecipe(ItemStack itemStack) {//do recipe checks, based on "machine content and state" + public final boolean checkRecipe(ItemStack itemStack) { // do recipe checks, based on "machine content and state" hatchesStatusUpdate_EM(); - boolean result = checkRecipe_EM(itemStack);//if had no - set default params + boolean result = checkRecipe_EM(itemStack); // if had no - set default params hatchesStatusUpdate_EM(); return result; } @@ -1060,7 +1150,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return; } boolean busy = mMaxProgresstime > 0; - if (busy) {//write from buffer to hatches only + if (busy) { // write from buffer to hatches only for (GT_MetaTileEntity_Hatch_Param hatch : eParamHatches) { if (!GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(hatch) || hatch.param < 0) { continue; @@ -1073,7 +1163,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt hatch.input0D = parametrization.iParamsOut[hatchId]; hatch.input1D = parametrization.iParamsOut[hatchId + 10]; } - } else {//if has nothing to do update all + } else { // if has nothing to do update all for (GT_MetaTileEntity_Hatch_Param hatch : eParamHatches) { if (!GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(hatch) || hatch.param < 0) { continue; @@ -1096,12 +1186,11 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt public final int getAmountOfOutputs() { throw new NoSuchMethodError("Deprecated Do not use"); } - //endregion + // endregion - //region TICKING functions + // region TICKING functions - public void onFirstTick_EM(IGregTechTileEntity aBaseMetaTileEntity) { - } + public void onFirstTick_EM(IGregTechTileEntity aBaseMetaTileEntity) {} @Override public final void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { @@ -1154,7 +1243,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt mEfficiency = 0; } - if (--mUpdate == 0 || --mStartUpCheck == 0 || cyclicUpdate() || aBaseMetaTileEntity.hasWorkJustBeenEnabled()) { + if (--mUpdate == 0 + || --mStartUpCheck == 0 + || cyclicUpdate() + || aBaseMetaTileEntity.hasWorkJustBeenEnabled()) { clearHatches_EM(); if (aBaseMetaTileEntity instanceof BaseTileEntity) { @@ -1163,7 +1255,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt mMachine = checkMachine(aBaseMetaTileEntity, mInventory[1]); if (!mMachine) { - if (ePowerPass && getEUVar() > V[3] || eDismantleBoom && mMaxProgresstime > 0 && areChunksAroundLoaded_EM()) { + if (ePowerPass && getEUVar() > V[3] + || eDismantleBoom && mMaxProgresstime > 0 && areChunksAroundLoaded_EM()) { explodeMultiblock(); } if (outputEM != null) { @@ -1196,8 +1289,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt hatchInit_EM(mMachine); } - if (mStartUpCheck < 0) {//E - if (mMachine) {//S + if (mStartUpCheck < 0) { // E + if (mMachine) { // S byte Tick = (byte) (aTick % 20); if (MULTI_PURGE_1_AT == Tick || MULTI_PURGE_2_AT == Tick) { purgeAllOverflowEM_EM(); @@ -1207,7 +1300,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt safeVoid_EM(); } - if (getRepairStatus() >= minRepairStatus) {//S + if (getRepairStatus() >= minRepairStatus) { // S if (MULTI_CHECK_AT == Tick) { hatchesStatusUpdate_EM(); } @@ -1215,14 +1308,15 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt dischargeController_EM(aBaseMetaTileEntity); chargeController_EM(aBaseMetaTileEntity); - if (mMaxProgresstime > 0 && doRandomMaintenanceDamage()) {//Start - if (onRunningTick(mInventory[1])) {//Compute EU + if (mMaxProgresstime > 0 && doRandomMaintenanceDamage()) { // Start + if (onRunningTick(mInventory[1])) { // Compute EU cleanMassEM_EM(getExcessMassPerTick_EM(mInventory[1])); if (!polluteEnvironment(getPollutionPerTick(mInventory[1]))) { stopMachine(); } - if (mMaxProgresstime > 0 && ++mProgresstime >= mMaxProgresstime) {//progress increase and done + if (mMaxProgresstime > 0 + && ++mProgresstime >= mMaxProgresstime) { // progress increase and done hatchesStatusUpdate_EM(); outputAfterRecipe_EM(); @@ -1237,7 +1331,12 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt if (aBaseMetaTileEntity.isAllowedToWork()) { if (checkRecipe(mInventory[1])) { - mEfficiency = Math.max(0, min(mEfficiency + mEfficiencyIncrease, getMaxEfficiency(mInventory[1]) - (getIdealStatus() - getRepairStatus()) * 1000)); + mEfficiency = Math.max( + 0, + min( + mEfficiency + mEfficiencyIncrease, + getMaxEfficiency(mInventory[1]) + - (getIdealStatus() - getRepairStatus()) * 1000)); } else { afterRecipeCheckFailed(); } @@ -1246,28 +1345,42 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt notAllowedToWork_stopMachine_EM(); } } - }// else {//failed to consume power/resources - inside on running tick + } // else {//failed to consume power/resources - inside on running tick // stopMachine(); - //} + // } } else if (RECIPE_AT == Tick || aBaseMetaTileEntity.hasWorkJustBeenEnabled()) { if (aBaseMetaTileEntity.isAllowedToWork()) { if (checkRecipe(mInventory[1])) { - mEfficiency = Math.max(0, min(mEfficiency + mEfficiencyIncrease, getMaxEfficiency(mInventory[1]) - (getIdealStatus() - getRepairStatus()) * 1000)); + mEfficiency = Math.max( + 0, + min( + mEfficiency + mEfficiencyIncrease, + getMaxEfficiency(mInventory[1]) + - (getIdealStatus() - getRepairStatus()) * 1000)); } else { afterRecipeCheckFailed(); } updateSlots(); - } //else notAllowedToWork_stopMachine_EM(); //it is already stopped here + } // else notAllowedToWork_stopMachine_EM(); //it is already stopped here } - } else {//not repaired + } else { // not repaired stopMachine(); } - } else {//not complete + } else { // not complete stopMachine(); } } - aBaseMetaTileEntity.setErrorDisplayID(aBaseMetaTileEntity.getErrorDisplayID() & -512 | (mWrench ? 0 : 1) | (mScrewdriver ? 0 : 2) | (mSoftHammer ? 0 : 4) | (mHardHammer ? 0 : 8) | (mSolderingTool ? 0 : 16) | (mCrowbar ? 0 : 32) | (mMachine ? 0 : 64) | (eCertainStatus == 0 ? 0 : 128) | (eParameters ? 0 : 256)); + aBaseMetaTileEntity.setErrorDisplayID(aBaseMetaTileEntity.getErrorDisplayID() & -512 + | (mWrench ? 0 : 1) + | (mScrewdriver ? 0 : 2) + | (mSoftHammer ? 0 : 4) + | (mHardHammer ? 0 : 8) + | (mSolderingTool ? 0 : 16) + | (mCrowbar ? 0 : 32) + | (mMachine ? 0 : 64) + | (eCertainStatus == 0 ? 0 : 128) + | (eParameters ? 0 : 256)); aBaseMetaTileEntity.setActive(mMaxProgresstime > 0); boolean active = aBaseMetaTileEntity.isActive() && mPollution > 0; for (GT_MetaTileEntity_Hatch_Muffler aMuffler : mMufflerHatches) { @@ -1346,7 +1459,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } else { for (GT_MetaTileEntity_Hatch_Maintenance tHatch : mMaintenanceHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { - if (tHatch.mAuto && !(mWrench && mScrewdriver && mSoftHammer && mHardHammer && mSolderingTool && mCrowbar)) { + if (tHatch.mAuto + && !(mWrench && mScrewdriver && mSoftHammer && mHardHammer && mSolderingTool && mCrowbar)) { tHatch.autoMaintainance(); } if (tHatch.mWrench) { @@ -1473,7 +1587,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } protected void setupEnergyHatchesVariables_EM() { - if (!mEnergyHatches.isEmpty() || !eEnergyMulti.isEmpty() || !mDynamoHatches.isEmpty() || !eDynamoMulti.isEmpty()) { + if (!mEnergyHatches.isEmpty() + || !eEnergyMulti.isEmpty() + || !mDynamoHatches.isEmpty() + || !eDynamoMulti.isEmpty()) { maxEUinputMin = V[15]; maxEUinputMax = V[0]; maxEUoutputMin = V[15]; @@ -1520,7 +1637,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } eMaxAmpereFlow = 0; eMaxAmpereGen = 0; - //counts only full amps + // counts only full amps for (GT_MetaTileEntity_Hatch_Energy hatch : mEnergyHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(hatch)) { eMaxAmpereFlow += hatch.maxEUInput() / maxEUinputMin; @@ -1562,8 +1679,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt for (GT_MetaTileEntity_Hatch_Dynamo tHatch : mDynamoHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { euVar = tHatch.maxEUOutput() * tHatch.maxAmperesOut(); - if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar && - aBaseMetaTileEntity.decreaseStoredEnergyUnits(euVar + Math.max(euVar / 24576, tHatch.maxAmperesOut()), false)) { + if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar + && aBaseMetaTileEntity.decreaseStoredEnergyUnits( + euVar + Math.max(euVar / 24576, tHatch.maxAmperesOut()), false)) { tHatch.setEUVar(tHatch.getBaseMetaTileEntity().getStoredEU() + euVar); } } @@ -1571,8 +1689,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt for (GT_MetaTileEntity_Hatch_DynamoMulti tHatch : eDynamoMulti) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { euVar = tHatch.maxEUOutput() * tHatch.maxAmperesOut(); - if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar && - aBaseMetaTileEntity.decreaseStoredEnergyUnits(euVar + Math.max(euVar / 24576, tHatch.maxAmperesOut()), false)) { + if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar + && aBaseMetaTileEntity.decreaseStoredEnergyUnits( + euVar + Math.max(euVar / 24576, tHatch.maxAmperesOut()), false)) { tHatch.setEUVar(tHatch.getBaseMetaTileEntity().getStoredEU() + euVar); } } @@ -1584,8 +1703,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt for (GT_MetaTileEntity_Hatch_Dynamo tHatch : mDynamoHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { euVar = tHatch.maxEUOutput(); - if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar && - aBaseMetaTileEntity.decreaseStoredEnergyUnits(euVar + Math.max(euVar / 24576, 1), false)) { + if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar + && aBaseMetaTileEntity.decreaseStoredEnergyUnits(euVar + Math.max(euVar / 24576, 1), false)) { tHatch.setEUVar(tHatch.getBaseMetaTileEntity().getStoredEU() + euVar); } } @@ -1593,8 +1712,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt for (GT_MetaTileEntity_Hatch_DynamoMulti tHatch : eDynamoMulti) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { euVar = tHatch.maxEUOutput() * tHatch.Amperes; - if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar && - aBaseMetaTileEntity.decreaseStoredEnergyUnits(euVar + Math.max(euVar / 24576, tHatch.Amperes), false)) { + if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar + && aBaseMetaTileEntity.decreaseStoredEnergyUnits( + euVar + Math.max(euVar / 24576, tHatch.Amperes), false)) { tHatch.setEUVar(tHatch.getBaseMetaTileEntity().getStoredEU() + euVar); } } @@ -1657,9 +1777,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } - //endregion + // endregion - //region EFFICIENCY AND FIXING LIMITS + // region EFFICIENCY AND FIXING LIMITS @Override public int getMaxEfficiency(ItemStack itemStack) { @@ -1676,20 +1796,21 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return super.getRepairStatus() + (eCertainStatus == 0 ? 1 : 0) + (eParameters ? 1 : 0); } - //endregion + // endregion - //region ENERGY!!!! + // region ENERGY!!!! - //new method + // new method public boolean energyFlowOnRunningTick_EM(ItemStack aStack, boolean allowProduction) { - long euFlow = mEUt * eAmpereFlow;//quick scope sign + long euFlow = mEUt * eAmpereFlow; // quick scope sign if (allowProduction && euFlow > 0) { addEnergyOutput_EM((long) mEUt * (long) mEfficiency / getMaxEfficiency(aStack), eAmpereFlow); } else if (euFlow < 0) { if (POWERLESS_MODE) { return true; } - if (!drainEnergyInput_EM(mEUt, (long) mEUt * getMaxEfficiency(aStack) / Math.max(1000L, mEfficiency), eAmpereFlow)) { + if (!drainEnergyInput_EM( + mEUt, (long) mEUt * getMaxEfficiency(aStack) / Math.max(1000L, mEfficiency), eAmpereFlow)) { criticalStopMachine(); return false; } @@ -1698,7 +1819,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } public boolean energyFlowOnRunningTick(ItemStack aStack, boolean allowProduction) { - long euFlow = mEUt * eAmpereFlow;//quick scope sign + long euFlow = mEUt * eAmpereFlow; // quick scope sign if (allowProduction && euFlow > 0) { addEnergyOutput_EM((long) mEUt * (long) mEfficiency / getMaxEfficiency(aStack), eAmpereFlow); } else if (euFlow < 0) { @@ -1713,7 +1834,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return true; } - //public final boolean energyFlowWithoutEffieciencyComputation(int eu,long ampere) { + // public final boolean energyFlowWithoutEffieciencyComputation(int eu,long ampere) { // long temp = eu * ampere;//quick scope sign // if (temp > 0) { // this.addEnergyOutput_EM(eu, ampere); @@ -1724,7 +1845,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt // } // } // return true; - //} + // } @Override public long maxEUStore() { @@ -1816,19 +1937,25 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt if (EUuse < 0) { EUuse = -EUuse; } - if (EUuse > getEUVar() || //not enough power - (EUtTierVoltage == 0 ? EUuse > getMaxInputEnergy() : - (EUtTierVoltage > maxEUinputMax) || //TIER IS BASED ON BEST HATCH! not total EUtEffective input - (EUtTierVoltage * Amperes - 1) / maxEUinputMin + 1 > eMaxAmpereFlow)) {// EUuse==0? --> (EUuse - 1) / maxEUinputMin + 1 = 1! //if not too much A + if (EUuse > getEUVar() + || // not enough power + (EUtTierVoltage == 0 + ? EUuse > getMaxInputEnergy() + : (EUtTierVoltage > maxEUinputMax) + || // TIER IS BASED ON BEST HATCH! not total EUtEffective input + (EUtTierVoltage * Amperes - 1) / maxEUinputMin + 1 + > eMaxAmpereFlow)) { // EUuse==0? --> (EUuse - 1) / maxEUinputMin + 1 = 1! //if + // not too much A if (DEBUG_MODE) { TecTech.LOGGER.debug("L1 " + EUuse + ' ' + getEUVar() + ' ' + (EUuse > getEUVar())); TecTech.LOGGER.debug("L2 " + EUtEffective + ' ' + maxEUinputMax + ' ' + (EUtEffective > maxEUinputMax)); TecTech.LOGGER.debug("L3 " + Amperes + ' ' + getMaxInputEnergy()); - TecTech.LOGGER.debug("L4 " + ((EUuse - 1) / maxEUinputMin + 1) + ' ' + eMaxAmpereFlow + ' ' + ((EUuse - 1) / maxEUinputMin + 1 > eMaxAmpereFlow)); + TecTech.LOGGER.debug("L4 " + ((EUuse - 1) / maxEUinputMin + 1) + ' ' + eMaxAmpereFlow + ' ' + + ((EUuse - 1) / maxEUinputMin + 1 > eMaxAmpereFlow)); } return false; } - //sub eu + // sub eu setEUVar(getEUVar() - EUuse); return true; } @@ -1844,28 +1971,33 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt if (EUuse < 0) { EUuse = -EUuse; } - //not enough power - if (EUuse > getEUVar() || EUuse > getMaxInputEnergy()) {// EUuse==0? --> (EUuse - 1) / maxEUinputMin + 1 = 1! //if not too much A + // not enough power + if (EUuse > getEUVar() + || EUuse + > getMaxInputEnergy()) { // EUuse==0? --> (EUuse - 1) / maxEUinputMin + 1 = 1! //if not too much + // A return false; } - //sub eu + // sub eu setEUVar(getEUVar() - EUuse); return true; } - //new method - public final boolean overclockAndPutValuesIn_EM(long EU, int time) {//TODO revise + // new method + public final boolean overclockAndPutValuesIn_EM(long EU, int time) { // TODO revise if (EU == 0L) { mEUt = 0; mMaxProgresstime = time; return true; } - long tempEUt = Math.max(EU, V[1]); + long tempEUt = Math.max(EU, V[1]); long tempTier = maxEUinputMax >> 2; while (tempEUt < tempTier) { tempEUt <<= 2; time >>= 1; - EU = time == 0 ? EU >> 1 : EU << 2;//U know, if the time is less than 1 tick make the machine use less power + EU = time == 0 + ? EU >> 1 + : EU << 2; // U know, if the time is less than 1 tick make the machine use less power } if (EU > Integer.MAX_VALUE || EU < Integer.MIN_VALUE) { mEUt = Integer.MAX_VALUE - 1; @@ -1875,7 +2007,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt mEUt = (int) EU; mMaxProgresstime = time == 0 ? 1 : time; return true; - }//Use in EM check recipe return statement if you want overclocking + } // Use in EM check recipe return statement if you want overclocking @Override // same as gt sum of all hatches public long getMaxInputVoltage() { @@ -1898,7 +2030,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return rVoltage; } - //new Method + // new Method public final long getMaxInputEnergy() { long energy = 0; for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { @@ -1929,12 +2061,12 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return energy; } - //new Method + // new Method public final int getMaxEnergyInputTier_EM() { return getTier(maxEUinputMax); } - //new Method + // new Method public final int getMinEnergyInputTier_EM() { return getTier(maxEUinputMin); } @@ -1943,10 +2075,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return eAmpereFlow; } - //endregion + // endregion - //region convenience copies input and output EM - //new Method + // region convenience copies input and output EM + // new Method public final EMInstanceStackMap getInputsClone_EM() { EMInstanceStackMap in = new EMInstanceStackMap(); for (GT_MetaTileEntity_Hatch_ElementalContainer hatch : eInputHatches) { @@ -1955,7 +2087,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return in.hasStacks() ? in : null; } - //new Method + // new Method public final EMInstanceStackMap getOutputsClone_EM() { EMInstanceStackMap out = new EMInstanceStackMap(); for (GT_MetaTileEntity_Hatch_ElementalContainer hatch : eOutputHatches) { @@ -1963,9 +2095,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } return out.hasStacks() ? out : null; } - //endregion + // endregion - //region em cleaning + // region em cleaning private void purgeAllOverflowEM_EM() { float mass = 0; for (GT_MetaTileEntity_Hatch_InputElemental tHatch : eInputHatches) { @@ -2032,9 +2164,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt outputEM = null; cleanMassEM_EM(mass); } - //endregion + // endregion - //region EXPLOSIONS + // region EXPLOSIONS @Override public boolean explodesOnComponentBreak(ItemStack itemStack) { @@ -2048,7 +2180,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } explodedThisTick = true; if (!TecTech.configTecTech.BOOM_ENABLE) { - TecTech.proxy.broadcast("Multi Explode BOOM! " + getBaseMetaTileEntity().getXCoord() + ' ' + getBaseMetaTileEntity().getYCoord() + ' ' + getBaseMetaTileEntity().getZCoord()); + TecTech.proxy.broadcast( + "Multi Explode BOOM! " + getBaseMetaTileEntity().getXCoord() + ' ' + + getBaseMetaTileEntity().getYCoord() + ' ' + + getBaseMetaTileEntity().getZCoord()); StackTraceElement[] ste = Thread.currentThread().getStackTrace(); TecTech.proxy.broadcast("Multi Explode BOOM! " + ste[2].toString()); return; @@ -2113,17 +2248,20 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt @Override public void doExplosion(long aExplosionPower) { if (!TecTech.configTecTech.BOOM_ENABLE) { - TecTech.proxy.broadcast("Multi DoExplosion BOOM! " + getBaseMetaTileEntity().getXCoord() + ' ' + getBaseMetaTileEntity().getYCoord() + ' ' + getBaseMetaTileEntity().getZCoord()); + TecTech.proxy.broadcast( + "Multi DoExplosion BOOM! " + getBaseMetaTileEntity().getXCoord() + ' ' + + getBaseMetaTileEntity().getYCoord() + ' ' + + getBaseMetaTileEntity().getZCoord()); StackTraceElement[] ste = Thread.currentThread().getStackTrace(); TecTech.proxy.broadcast("Multi DoExplosion BOOM! " + ste[2].toString()); return; } explodeMultiblock(); super.doExplosion(aExplosionPower); - }//Redirecting to explodemultiblock - //endregion + } // Redirecting to explodemultiblock + // endregion - //region adder methods + // region adder methods @Override public final boolean addToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { @@ -2340,7 +2478,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputElemental) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); - //((GT_MetaTileEntity_Hatch_Elemental) aMetaTileEntity).mRecipeMap = getRecipeMap(); + // ((GT_MetaTileEntity_Hatch_Elemental) aMetaTileEntity).mRecipeMap = getRecipeMap(); return eInputHatches.add((GT_MetaTileEntity_Hatch_InputElemental) aMetaTileEntity); } return false; @@ -2412,7 +2550,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - //New Method + // New Method public final boolean addEnergyIOToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2440,7 +2578,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - //NEW METHOD + // NEW METHOD public final boolean addElementalInputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2451,13 +2589,13 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputElemental) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); - //((GT_MetaTileEntity_Hatch_Elemental) aMetaTileEntity).mRecipeMap = getRecipeMap(); + // ((GT_MetaTileEntity_Hatch_Elemental) aMetaTileEntity).mRecipeMap = getRecipeMap(); return eInputHatches.add((GT_MetaTileEntity_Hatch_InputElemental) aMetaTileEntity); } return false; } - //NEW METHOD + // NEW METHOD public final boolean addElementalOutputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2473,7 +2611,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - //NEW METHOD + // NEW METHOD public final boolean addClassicInputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2495,7 +2633,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - //NEW METHOD + // NEW METHOD public final boolean addClassicOutputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2515,7 +2653,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - //NEW METHOD + // NEW METHOD public final boolean addParametrizerToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2531,7 +2669,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - //NEW METHOD + // NEW METHOD public final boolean addUncertainToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2571,7 +2709,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - //NEW METHOD + // NEW METHOD public final boolean addClassicMaintenanceToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2587,7 +2725,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - //NEW METHOD + // NEW METHOD public final boolean addDataConnectorToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2606,38 +2744,71 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } return false; } - //endregion + // endregion - protected static IStructureElement classicHatches(int casingIndex, int dot, Block casingBlock, int casingMeta) { + protected static IStructureElement classicHatches( + int casingIndex, int dot, Block casingBlock, int casingMeta) { return GT_HatchElementBuilder.builder() - .atLeast(InputBus, InputHatch, OutputHatch, OutputBus, Maintenance, Muffler, HatchElement.EnergyMulti, HatchElement.DynamoMulti, HatchElement.InputData, HatchElement.OutputData, HatchElement.Uncertainty) + .atLeast( + InputBus, + InputHatch, + OutputHatch, + OutputBus, + Maintenance, + Muffler, + HatchElement.EnergyMulti, + HatchElement.DynamoMulti, + HatchElement.InputData, + HatchElement.OutputData, + HatchElement.Uncertainty) .casingIndex(casingIndex) .dot(dot) .buildAndChain(casingBlock, casingMeta); } - protected static IStructureElement allHatches(int casingIndex, int dot, Block casingBlock, int casingMeta) { + protected static IStructureElement allHatches( + int casingIndex, int dot, Block casingBlock, int casingMeta) { return GT_HatchElementBuilder.builder() - .atLeast(InputBus, InputHatch, OutputHatch, OutputBus, Maintenance, Muffler, HatchElement.EnergyMulti, HatchElement.DynamoMulti, HatchElement.InputData, HatchElement.OutputData, HatchElement.Uncertainty, HatchElement.InputElemental, HatchElement.OutputElemental, HatchElement.OverflowElemental) + .atLeast( + InputBus, + InputHatch, + OutputHatch, + OutputBus, + Maintenance, + Muffler, + HatchElement.EnergyMulti, + HatchElement.DynamoMulti, + HatchElement.InputData, + HatchElement.OutputData, + HatchElement.Uncertainty, + HatchElement.InputElemental, + HatchElement.OutputElemental, + HatchElement.OverflowElemental) .casingIndex(casingIndex) .dot(dot) .buildAndChain(casingBlock, casingMeta); } public enum HatchElement implements IHatchElement { - InputElemental(GT_MetaTileEntity_MultiblockBase_EM::addElementalInputToMachineList, GT_MetaTileEntity_Hatch_InputElemental.class) { + InputElemental( + GT_MetaTileEntity_MultiblockBase_EM::addElementalInputToMachineList, + GT_MetaTileEntity_Hatch_InputElemental.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eInputHatches.size(); } }, - OutputElemental(GT_MetaTileEntity_MultiblockBase_EM::addElementalOutputToMachineList, GT_MetaTileEntity_Hatch_OutputElemental.class) { + OutputElemental( + GT_MetaTileEntity_MultiblockBase_EM::addElementalOutputToMachineList, + GT_MetaTileEntity_Hatch_OutputElemental.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eOutputHatches.size(); } }, - OverflowElemental(GT_MetaTileEntity_MultiblockBase_EM::addElementalMufflerToMachineList, GT_MetaTileEntity_Hatch_OverflowElemental.class) { + OverflowElemental( + GT_MetaTileEntity_MultiblockBase_EM::addElementalMufflerToMachineList, + GT_MetaTileEntity_Hatch_OverflowElemental.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eMufflerHatches.size(); @@ -2649,31 +2820,41 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return t.eParamHatches.size(); } }, - Uncertainty(GT_MetaTileEntity_MultiblockBase_EM::addUncertainToMachineList, GT_MetaTileEntity_Hatch_Uncertainty.class) { + Uncertainty( + GT_MetaTileEntity_MultiblockBase_EM::addUncertainToMachineList, + GT_MetaTileEntity_Hatch_Uncertainty.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eUncertainHatches.size(); } }, - EnergyMulti(GT_MetaTileEntity_MultiblockBase_EM::addEnergyInputToMachineList, GT_MetaTileEntity_Hatch_EnergyMulti.class) { + EnergyMulti( + GT_MetaTileEntity_MultiblockBase_EM::addEnergyInputToMachineList, + GT_MetaTileEntity_Hatch_EnergyMulti.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eEnergyMulti.size(); } }, - DynamoMulti(GT_MetaTileEntity_MultiblockBase_EM::addDynamoToMachineList, GT_MetaTileEntity_Hatch_DynamoMulti.class) { + DynamoMulti( + GT_MetaTileEntity_MultiblockBase_EM::addDynamoToMachineList, + GT_MetaTileEntity_Hatch_DynamoMulti.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eDynamoMulti.size(); } }, - InputData(GT_MetaTileEntity_MultiblockBase_EM::addDataConnectorToMachineList, GT_MetaTileEntity_Hatch_InputData.class) { + InputData( + GT_MetaTileEntity_MultiblockBase_EM::addDataConnectorToMachineList, + GT_MetaTileEntity_Hatch_InputData.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eInputData.size(); } }, - OutputData(GT_MetaTileEntity_MultiblockBase_EM::addDataConnectorToMachineList, GT_MetaTileEntity_Hatch_OutputData.class) { + OutputData( + GT_MetaTileEntity_MultiblockBase_EM::addDataConnectorToMachineList, + GT_MetaTileEntity_Hatch_OutputData.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eOutputData.size(); @@ -2684,7 +2865,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt private final IGT_HatchAdder adder; @SafeVarargs - HatchElement(IGT_HatchAdder adder, Class... mteClasses) { + HatchElement( + IGT_HatchAdder adder, + Class... mteClasses) { this.mteClasses = Collections.unmodifiableList(Arrays.asList(mteClasses)); this.adder = adder; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/INameFunction.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/INameFunction.java index 1c2a8bd477..3de1d25cdc 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/INameFunction.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/INameFunction.java @@ -1,5 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; -public interface INameFunction{ +public interface INameFunction { String apply(T t, Parameters.IParameter iParameter); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/IStatusFunction.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/IStatusFunction.java index 0c7616093a..862d6c1726 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/IStatusFunction.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/IStatusFunction.java @@ -1,5 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; -public interface IStatusFunction{ +public interface IStatusFunction { LedStatus apply(T t, Parameters.IParameter iParameter); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/LedStatus.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/LedStatus.java index d1173933f7..98ac63b2d4 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/LedStatus.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/LedStatus.java @@ -1,97 +1,102 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; import com.github.technus.tectech.TecTech; -import net.minecraft.util.EnumChatFormatting; - import java.util.function.Supplier; +import net.minecraft.util.EnumChatFormatting; public enum LedStatus { - STATUS_UNUSED(()->EnumChatFormatting.DARK_GRAY +"Unused",true),// - STATUS_TOO_LOW(()->EnumChatFormatting.BLUE+"Too Low",false),// - STATUS_LOW(()->EnumChatFormatting.AQUA+"Low",true),// - STATUS_WRONG(()->EnumChatFormatting.DARK_PURPLE+"Wrong",false),// - STATUS_OK(()->EnumChatFormatting.GREEN+"Valid",true),// - STATUS_TOO_HIGH(()->EnumChatFormatting.RED+"Too High",false),// - STATUS_HIGH(()->EnumChatFormatting.GOLD+"High",true),// - STATUS_UNDEFINED(()->EnumChatFormatting.GRAY+"Unknown",false), - STATUS_NEUTRAL(()->EnumChatFormatting.WHITE+"Neutral",true),// - STATUS_WTF(()->{ - return LedStatus.values()[TecTech.RANDOM.nextInt(9)].name.get(); - },false);// + STATUS_UNUSED(() -> EnumChatFormatting.DARK_GRAY + "Unused", true), // + STATUS_TOO_LOW(() -> EnumChatFormatting.BLUE + "Too Low", false), // + STATUS_LOW(() -> EnumChatFormatting.AQUA + "Low", true), // + STATUS_WRONG(() -> EnumChatFormatting.DARK_PURPLE + "Wrong", false), // + STATUS_OK(() -> EnumChatFormatting.GREEN + "Valid", true), // + STATUS_TOO_HIGH(() -> EnumChatFormatting.RED + "Too High", false), // + STATUS_HIGH(() -> EnumChatFormatting.GOLD + "High", true), // + STATUS_UNDEFINED(() -> EnumChatFormatting.GRAY + "Unknown", false), + STATUS_NEUTRAL(() -> EnumChatFormatting.WHITE + "Neutral", true), // + STATUS_WTF( + () -> { + return LedStatus.values()[TecTech.RANDOM.nextInt(9)].name.get(); + }, + false); // public final Supplier name; public final boolean isOk; - LedStatus(Supplier name, boolean ok){ - this.name=name; - this.isOk=ok; + LedStatus(Supplier name, boolean ok) { + this.name = name; + this.isOk = ok; } - public byte getOrdinalByte(){ - return (byte)ordinal(); + public byte getOrdinalByte() { + return (byte) ordinal(); } - public static LedStatus getStatus(byte value){ - try{ + public static LedStatus getStatus(byte value) { + try { return LedStatus.values()[value]; - }catch (Exception e){ + } catch (Exception e) { return STATUS_UNDEFINED; } } - public static LedStatus[] makeArray(int count,LedStatus defaultValue){ - LedStatus[] statuses=new LedStatus[count]; + public static LedStatus[] makeArray(int count, LedStatus defaultValue) { + LedStatus[] statuses = new LedStatus[count]; for (int i = 0; i < count; i++) { - statuses[i]=defaultValue; + statuses[i] = defaultValue; } return statuses; } - public static LedStatus fromLimitsInclusiveOuterBoundary(double value, double min,double low, double high, double max, double... excludedNumbers){ - if(valuemax) return STATUS_TOO_HIGH; + public static LedStatus fromLimitsInclusiveOuterBoundary( + double value, double min, double low, double high, double max, double... excludedNumbers) { + if (value < min) return STATUS_TOO_LOW; + if (value > max) return STATUS_TOO_HIGH; - if(valuehigh) return STATUS_HIGH; + if (value < low) return STATUS_LOW; + if (value > high) return STATUS_HIGH; for (double val : excludedNumbers) { - if(val==value) return STATUS_WRONG; + if (val == value) return STATUS_WRONG; } - if(Double.isNaN(value)) return STATUS_WRONG; + if (Double.isNaN(value)) return STATUS_WRONG; return STATUS_OK; } - public static LedStatus fromLimitsExclusiveOuterBoundary(double value, double min,double low, double high,double max, double... excludedNumbers){ - if(value<=min) return STATUS_TOO_LOW; - if(value>=max) return STATUS_TOO_HIGH; + public static LedStatus fromLimitsExclusiveOuterBoundary( + double value, double min, double low, double high, double max, double... excludedNumbers) { + if (value <= min) return STATUS_TOO_LOW; + if (value >= max) return STATUS_TOO_HIGH; - if(valuehigh) return STATUS_HIGH; + if (value < low) return STATUS_LOW; + if (value > high) return STATUS_HIGH; for (double val : excludedNumbers) { - if(val==value) return STATUS_WRONG; + if (val == value) return STATUS_WRONG; } - if(Double.isNaN(value)) return STATUS_WRONG; + if (Double.isNaN(value)) return STATUS_WRONG; return STATUS_OK; } - public static LedStatus fromLimitsInclusiveBoundary(double value, double min, double max, double... excludedNumbers){ - if(valuemax) return STATUS_TOO_HIGH; + public static LedStatus fromLimitsInclusiveBoundary( + double value, double min, double max, double... excludedNumbers) { + if (value < min) return STATUS_TOO_LOW; + if (value > max) return STATUS_TOO_HIGH; for (double val : excludedNumbers) { - if(val==value) return STATUS_WRONG; + if (val == value) return STATUS_WRONG; } - if(Double.isNaN(value)) return STATUS_WRONG; + if (Double.isNaN(value)) return STATUS_WRONG; return STATUS_OK; } - public static LedStatus fromLimitsExclusiveBoundary(double value, double min, double max, double... excludedNumbers){ - if(value<=min) return STATUS_TOO_LOW; - if(value>=max) return STATUS_TOO_HIGH; + public static LedStatus fromLimitsExclusiveBoundary( + double value, double min, double max, double... excludedNumbers) { + if (value <= min) return STATUS_TOO_LOW; + if (value >= max) return STATUS_TOO_HIGH; for (double val : excludedNumbers) { - if(val==value) return STATUS_WRONG; + if (val == value) return STATUS_WRONG; } - if(Double.isNaN(value)) return STATUS_WRONG; + if (Double.isNaN(value)) return STATUS_WRONG; return STATUS_OK; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/MultiblockControl.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/MultiblockControl.java index 8429bf4e67..fad1169bff 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/MultiblockControl.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/MultiblockControl.java @@ -3,8 +3,7 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; /** * Created by danie_000 on 23.12.2017. */ - -public class MultiblockControl{ +public class MultiblockControl { private final boolean shouldExplode; private final T value; private final int eUt; @@ -15,7 +14,16 @@ public class MultiblockControl{ private final int pollutionToAdd; private final double excessMass; - public MultiblockControl(T value, int eUt, int amperes, int requiredData, int effIncrease, int maxProgressTime, int pollutionToAdd, double excessMass,boolean shouldExplode){ + public MultiblockControl( + T value, + int eUt, + int amperes, + int requiredData, + int effIncrease, + int maxProgressTime, + int pollutionToAdd, + double excessMass, + boolean shouldExplode) { this.value = value; this.eUt = eUt; this.amperes = amperes; @@ -24,50 +32,58 @@ public class MultiblockControl{ this.maxProgressTime = maxProgressTime; this.pollutionToAdd = pollutionToAdd; this.excessMass = excessMass; - this.shouldExplode=shouldExplode; + this.shouldExplode = shouldExplode; } - public MultiblockControl(T value, int eUt, int amperes, int requiredData, int effIncrease, int maxProgressTime, int pollutionToAdd, double excessMass){ - this(value, eUt, amperes, requiredData, effIncrease, maxProgressTime,pollutionToAdd,excessMass,false); + public MultiblockControl( + T value, + int eUt, + int amperes, + int requiredData, + int effIncrease, + int maxProgressTime, + int pollutionToAdd, + double excessMass) { + this(value, eUt, amperes, requiredData, effIncrease, maxProgressTime, pollutionToAdd, excessMass, false); } - public MultiblockControl(T value, int eUt, int amperes, int requiredData, int effIncrease, int maxProgressTime){ - this(value,eUt,amperes,requiredData,effIncrease,maxProgressTime,0,0); + public MultiblockControl(T value, int eUt, int amperes, int requiredData, int effIncrease, int maxProgressTime) { + this(value, eUt, amperes, requiredData, effIncrease, maxProgressTime, 0, 0); } - public MultiblockControl(double excessMass){ - this(null,0,0,0,0,0,0,excessMass,true); + public MultiblockControl(double excessMass) { + this(null, 0, 0, 0, 0, 0, 0, excessMass, true); } public T getValue() { return value; } - public int getEUT(){ + public int getEUT() { return eUt; } - public int getAmperage(){ + public int getAmperage() { return amperes; } - public int getRequiredData(){ + public int getRequiredData() { return requiredData; } - public int getEffIncrease(){ + public int getEffIncrease() { return effIncrease; } - public int getMaxProgressTime(){ + public int getMaxProgressTime() { return maxProgressTime; } - public int getPollutionToAdd(){ + public int getPollutionToAdd() { return pollutionToAdd; } - public double getExcessMass(){ + public double getExcessMass() { return excessMass; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/Parameters.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/Parameters.java index 23250a5b02..f6016a7482 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/Parameters.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/Parameters.java @@ -6,54 +6,54 @@ import java.util.ArrayList; * Instantiate parameters as field in parametersInstantiation_EM(); */ public class Parameters { - private static final IStatusFunction LED_STATUS_FUNCTION_DEFAULT = (b, p)->LedStatus.STATUS_UNDEFINED; - private static final INameFunction NAME_FUNCTION_DEFAULT= (b, p)->"Undefined"; + private static final IStatusFunction LED_STATUS_FUNCTION_DEFAULT = (b, p) -> LedStatus.STATUS_UNDEFINED; + private static final INameFunction NAME_FUNCTION_DEFAULT = (b, p) -> "Undefined"; final Group[] groups = new Group[10]; - double[] iParamsIn = new double[20];//number I from parametrizers - double[] iParamsOut = new double[20];//number O to parametrizers - final ArrayList parameterInArrayList =new ArrayList<>(); - final ArrayList parameterOutArrayList =new ArrayList<>(); + double[] iParamsIn = new double[20]; // number I from parametrizers + double[] iParamsOut = new double[20]; // number O to parametrizers + final ArrayList parameterInArrayList = new ArrayList<>(); + final ArrayList parameterOutArrayList = new ArrayList<>(); - //package private for use in gui - LedStatus[] eParamsInStatus = LedStatus.makeArray(20,LedStatus.STATUS_UNUSED);//LED status for I - LedStatus[] eParamsOutStatus = LedStatus.makeArray(20,LedStatus.STATUS_UNUSED);//LED status for O + // package private for use in gui + LedStatus[] eParamsInStatus = LedStatus.makeArray(20, LedStatus.STATUS_UNUSED); // LED status for I + LedStatus[] eParamsOutStatus = LedStatus.makeArray(20, LedStatus.STATUS_UNUSED); // LED status for O - double getIn(int hatchNo,int parameterId){ - return iParamsIn[hatchNo+10*parameterId]; + double getIn(int hatchNo, int parameterId) { + return iParamsIn[hatchNo + 10 * parameterId]; } - double getOut(int hatchNo,int parameterId){ - return iParamsOut[hatchNo+10*parameterId]; + double getOut(int hatchNo, int parameterId) { + return iParamsOut[hatchNo + 10 * parameterId]; } - LedStatus getStatusIn(int hatchNo,int parameterId){ - return eParamsInStatus[hatchNo+10*parameterId]; + LedStatus getStatusIn(int hatchNo, int parameterId) { + return eParamsInStatus[hatchNo + 10 * parameterId]; } - LedStatus getStatusOut(int hatchNo,int parameterId){ - return eParamsOutStatus[hatchNo+10*parameterId]; + LedStatus getStatusOut(int hatchNo, int parameterId) { + return eParamsOutStatus[hatchNo + 10 * parameterId]; } private final GT_MetaTileEntity_MultiblockBase_EM parent; - Parameters(GT_MetaTileEntity_MultiblockBase_EM parent){ - this.parent=parent; + Parameters(GT_MetaTileEntity_MultiblockBase_EM parent) { + this.parent = parent; } - public boolean trySetParameters(int hatch,double parameter0,double parameter1){ - Group p=groups[hatch]; - if(parent.mMaxProgresstime<=0 || (p!=null && p.updateWhileRunning)){ - iParamsIn[hatch]=parameter0; - iParamsIn[hatch+10]=parameter1; + public boolean trySetParameters(int hatch, double parameter0, double parameter1) { + Group p = groups[hatch]; + if (parent.mMaxProgresstime <= 0 || (p != null && p.updateWhileRunning)) { + iParamsIn[hatch] = parameter0; + iParamsIn[hatch + 10] = parameter1; return true; } return false; } - public void setToDefaults(int hatch,boolean defaultIn, boolean defaultOut) { - Group p= groups[hatch]; + public void setToDefaults(int hatch, boolean defaultIn, boolean defaultOut) { + Group p = groups[hatch]; if (p == null) { if (defaultIn) { iParamsIn[hatch] = 0; @@ -64,61 +64,68 @@ public class Parameters { iParamsOut[hatch + 10] = 0; } } else { - p.setToDefaults(defaultIn,defaultOut); + p.setToDefaults(defaultIn, defaultOut); } } - public void setToDefaults(boolean defaultIn, boolean defaultOut){ - for (int hatch=0;hatch<10;hatch++) { - setToDefaults(hatch,defaultIn,defaultOut); + public void setToDefaults(boolean defaultIn, boolean defaultOut) { + for (int hatch = 0; hatch < 10; hatch++) { + setToDefaults(hatch, defaultIn, defaultOut); } } - public void ClearDefinitions(){ + public void ClearDefinitions() { parameterInArrayList.clear(); parameterOutArrayList.clear(); - for(int i = 0; i< groups.length; i++){ - groups[i]=null; + for (int i = 0; i < groups.length; i++) { + groups[i] = null; } } - public void removeGroup(Group group){ - if(group==groups[group.hatchNo]){ + public void removeGroup(Group group) { + if (group == groups[group.hatchNo]) { removeGroup(group.hatchNo); - }else{ + } else { throw new IllegalArgumentException("Group does not exists in this parametrization!"); } } - public void removeGroup(int hatchNo){ - Group hatch=groups[hatchNo]; - if(hatch!=null){ - for (Group.ParameterOut p:hatch.parameterOut) { + public void removeGroup(int hatchNo) { + Group hatch = groups[hatchNo]; + if (hatch != null) { + for (Group.ParameterOut p : hatch.parameterOut) { parameterOutArrayList.remove(p); } - for (Group.ParameterIn p:hatch.parameterIn) { + for (Group.ParameterIn p : hatch.parameterIn) { parameterInArrayList.remove(p); } - groups[hatchNo]=null; + groups[hatchNo] = null; } } - public Group getGroup(int hatchNo, boolean updateWhileRunning){ - return groups[hatchNo]!=null?groups[hatchNo]:new Group( hatchNo, updateWhileRunning); + public Group getGroup(int hatchNo, boolean updateWhileRunning) { + return groups[hatchNo] != null ? groups[hatchNo] : new Group(hatchNo, updateWhileRunning); } - public Group getGroup(int hatchNo){ - return groups[hatchNo]!=null?groups[hatchNo]:new Group( hatchNo, false); + public Group getGroup(int hatchNo) { + return groups[hatchNo] != null ? groups[hatchNo] : new Group(hatchNo, false); } - public interface IParameter{ + public interface IParameter { double get(); + double getDefault(); + void updateStatus(); + LedStatus getStatus(boolean update); + int id(); + int hatchId(); + int parameterId(); + String getBrief(); } @@ -127,29 +134,31 @@ public class Parameters { */ public class Group { private final int hatchNo; - final ParameterIn[] parameterIn =new ParameterIn[2]; - final ParameterOut[] parameterOut =new ParameterOut[2]; + final ParameterIn[] parameterIn = new ParameterIn[2]; + final ParameterOut[] parameterOut = new ParameterOut[2]; public boolean updateWhileRunning; - private Group(int hatchNo, boolean updateWhileRunning){ - if(hatchNo<0 || hatchNo>=10){ + private Group(int hatchNo, boolean updateWhileRunning) { + if (hatchNo < 0 || hatchNo >= 10) { throw new IllegalArgumentException("Hatch id must be in 0 to 9 range"); } - this.hatchNo=hatchNo; - this.updateWhileRunning=updateWhileRunning; - groups[hatchNo]=this; + this.hatchNo = hatchNo; + this.updateWhileRunning = updateWhileRunning; + groups[hatchNo] = this; } - public ParameterIn makeInParameter(int paramID, double defaultValue, INameFunction name, IStatusFunction status){ - return new ParameterIn(paramID, defaultValue,name, status); + public ParameterIn makeInParameter( + int paramID, double defaultValue, INameFunction name, IStatusFunction status) { + return new ParameterIn(paramID, defaultValue, name, status); } - public ParameterOut makeOutParameter(int paramID, double defaultValue, INameFunction name, IStatusFunction status){ + public ParameterOut makeOutParameter( + int paramID, double defaultValue, INameFunction name, IStatusFunction status) { return new ParameterOut(paramID, defaultValue, name, status); } public void setToDefaults(boolean defaultIn, boolean defaultOut) { - if(defaultIn){ + if (defaultIn) { if (this.parameterIn[0] != null) { this.parameterIn[0].setDefault(); } else { @@ -161,7 +170,7 @@ public class Parameters { iParamsIn[hatchNo + 10] = 0; } } - if(defaultOut){ + if (defaultOut) { if (this.parameterOut[0] != null) { this.parameterOut[0].setDefault(); } else { @@ -184,19 +193,19 @@ public class Parameters { IStatusFunction status; INameFunction name; - private ParameterOut(int paramID, double defaultValue, INameFunction name, IStatusFunction status){ - this.name= name==null?NAME_FUNCTION_DEFAULT:name; - if(paramID<0 || paramID>2){ + private ParameterOut(int paramID, double defaultValue, INameFunction name, IStatusFunction status) { + this.name = name == null ? NAME_FUNCTION_DEFAULT : name; + if (paramID < 0 || paramID > 2) { throw new IllegalArgumentException("Parameter id must be in 0 to 1 range"); } - if(parameterOut[paramID]!=null){ + if (parameterOut[paramID] != null) { throw new IllegalArgumentException("Parameter id already occupied"); } - this.id=hatchNo+10*paramID; - this.defaultValue=defaultValue; - this.status = status==null?LED_STATUS_FUNCTION_DEFAULT:status; + this.id = hatchNo + 10 * paramID; + this.defaultValue = defaultValue; + this.status = status == null ? LED_STATUS_FUNCTION_DEFAULT : status; parameterOutArrayList.add(this); - parameterOut[paramID]=this; + parameterOut[paramID] = this; } void setDefault() { @@ -204,7 +213,7 @@ public class Parameters { } @Override - public double get(){ + public double get() { return iParamsOut[id]; } @@ -213,27 +222,27 @@ public class Parameters { return defaultValue; } - public void set(double value){ - iParamsOut[id]=value; + public void set(double value) { + iParamsOut[id] = value; } @SuppressWarnings("unchecked") @Override - public void updateStatus(){ - eParamsOutStatus[id]=status.apply(parent,this); + public void updateStatus() { + eParamsOutStatus[id] = status.apply(parent, this); } @Override - public LedStatus getStatus(boolean update){ - if(update){ + public LedStatus getStatus(boolean update) { + if (update) { updateStatus(); } return eParamsOutStatus[id]; } @Override - public String getBrief(){ - return name.apply(parent,this); + public String getBrief() { + return name.apply(parent, this); } @Override @@ -243,12 +252,12 @@ public class Parameters { @Override public int hatchId() { - return id%10; + return id % 10; } @Override public int parameterId() { - return id/10; + return id / 10; } } @@ -261,19 +270,19 @@ public class Parameters { IStatusFunction status; INameFunction name; - private ParameterIn(int paramID, double defaultValue, INameFunction name, IStatusFunction status){ - this.name= name==null?NAME_FUNCTION_DEFAULT:name; - this.id=hatchNo+10*paramID; - if(paramID<0 || paramID>2){ + private ParameterIn(int paramID, double defaultValue, INameFunction name, IStatusFunction status) { + this.name = name == null ? NAME_FUNCTION_DEFAULT : name; + this.id = hatchNo + 10 * paramID; + if (paramID < 0 || paramID > 2) { throw new IllegalArgumentException("Parameter id must be in 0 to 1 range"); } - if(parameterIn[paramID]!=null){ + if (parameterIn[paramID] != null) { throw new IllegalArgumentException("Parameter id already occupied"); } - this.defaultValue=defaultValue; - this.status = status==null?LED_STATUS_FUNCTION_DEFAULT:status; + this.defaultValue = defaultValue; + this.status = status == null ? LED_STATUS_FUNCTION_DEFAULT : status; parameterInArrayList.add(this); - parameterIn[paramID]=this; + parameterIn[paramID] = this; } void setDefault() { @@ -281,12 +290,12 @@ public class Parameters { } @Override - public double get(){ + public double get() { return iParamsIn[id]; } - void set(double value){ - iParamsIn[id]=value; + void set(double value) { + iParamsIn[id] = value; } @Override @@ -296,24 +305,23 @@ public class Parameters { @SuppressWarnings("unchecked") @Override - public void updateStatus(){ - eParamsInStatus[id]=status.apply(parent,this); + public void updateStatus() { + eParamsInStatus[id] = status.apply(parent, this); } @Override - public LedStatus getStatus(boolean update){ - if(update){ + public LedStatus getStatus(boolean update) { + if (update) { updateStatus(); } return eParamsInStatus[id]; } @Override - public String getBrief(){ - return name.apply(parent,this); + public String getBrief() { + return name.apply(parent, this); } - @Override public int id() { return id; @@ -321,14 +329,13 @@ public class Parameters { @Override public int hatchId() { - return id%10; + return id % 10; } @Override public int parameterId() { - return id/10; + return id / 10; } } } } - diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/SoundLoop.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/SoundLoop.java index e8e1a7eb27..fc6b5d276b 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/SoundLoop.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/SoundLoop.java @@ -10,47 +10,49 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; @SideOnly(Side.CLIENT) -public class SoundLoop extends MovingSound{ +public class SoundLoop extends MovingSound { private final boolean whileActive; private final boolean whileInactive; private final int worldID; - private boolean fadeMe=false; + private boolean fadeMe = false; - public SoundLoop(ResourceLocation p_i45104_1_, IGregTechTileEntity base, boolean stopWhenActive,boolean stopWhenInactive) { + public SoundLoop( + ResourceLocation p_i45104_1_, IGregTechTileEntity base, boolean stopWhenActive, boolean stopWhenInactive) { super(p_i45104_1_); this.whileActive = stopWhenActive; this.whileInactive = stopWhenInactive; - xPosF=base.getXCoord(); - yPosF=base.getYCoord(); - zPosF=base.getZCoord(); - worldID=base.getWorld().provider.dimensionId; - repeat=true; - volume= 0.0625f; + xPosF = base.getXCoord(); + yPosF = base.getYCoord(); + zPosF = base.getZCoord(); + worldID = base.getWorld().provider.dimensionId; + repeat = true; + volume = 0.0625f; } @Override public void update() { - if(donePlaying) { + if (donePlaying) { return; } - if(fadeMe) { - volume-=0.0625f; - if(volume<=0){ - volume=0; - donePlaying=true; + if (fadeMe) { + volume -= 0.0625f; + if (volume <= 0) { + volume = 0; + donePlaying = true; } - }else if(volume<1) { + } else if (volume < 1) { volume += 0.0625f; } - World world=Minecraft.getMinecraft().thePlayer.worldObj; - donePlaying=world.provider.dimensionId!=worldID || - !world.checkChunksExist((int)xPosF,(int)yPosF,(int)zPosF,(int)xPosF,(int)yPosF,(int)zPosF); - if(donePlaying) return; - TileEntity tile= world.getTileEntity((int)xPosF,(int)yPosF,(int)zPosF); - if(!(tile instanceof IGregTechTileEntity)) { - donePlaying=true; + World world = Minecraft.getMinecraft().thePlayer.worldObj; + donePlaying = world.provider.dimensionId != worldID + || !world.checkChunksExist( + (int) xPosF, (int) yPosF, (int) zPosF, (int) xPosF, (int) yPosF, (int) zPosF); + if (donePlaying) return; + TileEntity tile = world.getTileEntity((int) xPosF, (int) yPosF, (int) zPosF); + if (!(tile instanceof IGregTechTileEntity)) { + donePlaying = true; return; } - fadeMe|=((IGregTechTileEntity) tile).isActive()?whileActive:whileInactive; + fadeMe |= ((IGregTechTileEntity) tile).isActive() ? whileActive : whileInactive; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedExtendedFacingTexture.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedExtendedFacingTexture.java index 9795b42827..6a7aea9cb3 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedExtendedFacingTexture.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedExtendedFacingTexture.java @@ -5,12 +5,18 @@ import gregtech.api.interfaces.IIconContainer; import gregtech.common.render.GT_RenderedTexture; public class TT_RenderedExtendedFacingTexture extends GT_RenderedTexture { - public TT_RenderedExtendedFacingTexture(IIconContainer aIcon, short[] aRGBa, boolean allowAlpha, boolean glow, boolean stdOrient, boolean extFacing) { + public TT_RenderedExtendedFacingTexture( + IIconContainer aIcon, + short[] aRGBa, + boolean allowAlpha, + boolean glow, + boolean stdOrient, + boolean extFacing) { super(aIcon, aRGBa, allowAlpha, glow, stdOrient, extFacing); } public TT_RenderedExtendedFacingTexture(IIconContainer aIcon, short[] aRGBa, boolean aAllowAlpha) { - this(aIcon,aRGBa,aAllowAlpha,false,false,true); + this(aIcon, aRGBa, aAllowAlpha, false, false, true); } public TT_RenderedExtendedFacingTexture(IIconContainer aIcon, short[] aRGBa) { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_collider/GT_MetaTileEntity_EM_collider.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_collider/GT_MetaTileEntity_EM_collider.java index 6e8a7c8d88..4973f6f37a 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_collider/GT_MetaTileEntity_EM_collider.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_collider/GT_MetaTileEntity_EM_collider.java @@ -1,5 +1,17 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.em_collider; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.DoubleCount.add; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.EMComplexAspectDefinition; import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.EMPrimalAspectDefinition; @@ -29,31 +41,18 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import java.util.HashMap; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; -import java.util.HashMap; - -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.DoubleCount.add; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region variables + // region variables private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; private static Textures.BlockIcons.CustomIcon ScreenON_Slave; @@ -61,145 +60,163 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB protected static final byte FUSE_MODE = 0, COLLIDE_MODE = 1; private static double MASS_TO_EU_INSTANT; - private static int STARTUP_COST, KEEPUP_COST; + private static int STARTUP_COST, KEEPUP_COST; - protected byte eTier = 0; + protected byte eTier = 0; protected EMInstanceStack stack; - private long plasmaEnergy; + private long plasmaEnergy; protected boolean started = false; - //endregion + // endregion - //region collision handlers - public static final HashMap FUSE_HANDLERS = new HashMap<>(); + // region collision handlers + public static final HashMap FUSE_HANDLERS = new HashMap<>(); public static final HashMap PRIMITIVE_FUSE_HANDLERS = new HashMap<>(); static { - FUSE_HANDLERS.put(((long) EMAtomDefinition.getClassTypeStatic() << 16) | EMAtomDefinition.getClassTypeStatic(), new IColliderHandler() { - @Override - public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { - try { - EMDefinitionStackMap defs = new EMDefinitionStackMap(); - defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); - defs.putUnifyAllExact(in2.getDefinition().getSubParticles()); - EMAtomDefinition atom = new EMAtomDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); - out.putUnify(new EMInstanceStack(atom, Math.min(in1.getAmount(), in2.getAmount()))); - } catch (Exception e) { - out.putUnifyAll(in1, in2); - return; - } - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - } + FUSE_HANDLERS.put( + ((long) EMAtomDefinition.getClassTypeStatic() << 16) | EMAtomDefinition.getClassTypeStatic(), + new IColliderHandler() { + @Override + public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { + try { + EMDefinitionStackMap defs = new EMDefinitionStackMap(); + defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); + defs.putUnifyAllExact(in2.getDefinition().getSubParticles()); + EMAtomDefinition atom = new EMAtomDefinition( + defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); + out.putUnify(new EMInstanceStack(atom, Math.min(in1.getAmount(), in2.getAmount()))); + } catch (Exception e) { + out.putUnifyAll(in1, in2); + return; + } + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + } - @Override - public byte getRequiredTier() { - return 1; - } - }); + @Override + public byte getRequiredTier() { + return 1; + } + }); registerSimpleAtomFuse(EMHadronDefinition.getClassTypeStatic()); registerSimpleAtomFuse(EMComplexAspectDefinition.getClassTypeStatic()); registerSimpleAtomFuse(EMPrimitiveTemplate.getClassTypeStatic()); - FUSE_HANDLERS.put(((long) EMHadronDefinition.getClassTypeStatic() << 16) | EMHadronDefinition.getClassTypeStatic(), new IColliderHandler() { - @Override - public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { - try { - EMDefinitionStackMap defs = new EMDefinitionStackMap(); - defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); - defs.putUnifyAllExact(in2.getDefinition().getSubParticles()); - EMHadronDefinition hadron = new EMHadronDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); - out.putUnify(new EMInstanceStack(hadron, Math.min(in1.getAmount(), in2.getAmount()))); - } catch (Exception e) { - out.putUnifyAll(in1, in2); - return; - } - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - } + FUSE_HANDLERS.put( + ((long) EMHadronDefinition.getClassTypeStatic() << 16) | EMHadronDefinition.getClassTypeStatic(), + new IColliderHandler() { + @Override + public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { + try { + EMDefinitionStackMap defs = new EMDefinitionStackMap(); + defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); + defs.putUnifyAllExact(in2.getDefinition().getSubParticles()); + EMHadronDefinition hadron = new EMHadronDefinition( + defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); + out.putUnify(new EMInstanceStack(hadron, Math.min(in1.getAmount(), in2.getAmount()))); + } catch (Exception e) { + out.putUnifyAll(in1, in2); + return; + } + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + } - @Override - public byte getRequiredTier() { - return 2; - } - }); - FUSE_HANDLERS.put(((long) EMHadronDefinition.getClassTypeStatic() << 16) | EMPrimitiveTemplate.getClassTypeStatic(), new IColliderHandler() { - @Override - public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { - try { - EMDefinitionStackMap defs = new EMDefinitionStackMap(); - defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); - defs.putUnifyExact(in2.getDefinition().getStackForm(1)); - EMHadronDefinition hadron = new EMHadronDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); - out.putUnify(new EMInstanceStack(hadron, Math.min(in1.getAmount(), in2.getAmount()))); - } catch (Exception e) { - out.putUnifyAll(in1, in2); - return; - } - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - } + @Override + public byte getRequiredTier() { + return 2; + } + }); + FUSE_HANDLERS.put( + ((long) EMHadronDefinition.getClassTypeStatic() << 16) | EMPrimitiveTemplate.getClassTypeStatic(), + new IColliderHandler() { + @Override + public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { + try { + EMDefinitionStackMap defs = new EMDefinitionStackMap(); + defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); + defs.putUnifyExact(in2.getDefinition().getStackForm(1)); + EMHadronDefinition hadron = new EMHadronDefinition( + defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); + out.putUnify(new EMInstanceStack(hadron, Math.min(in1.getAmount(), in2.getAmount()))); + } catch (Exception e) { + out.putUnifyAll(in1, in2); + return; + } + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + } - @Override - public byte getRequiredTier() { - return 2; - } - }); + @Override + public byte getRequiredTier() { + return 2; + } + }); registerSimpleAspectFuse(EMComplexAspectDefinition.getClassTypeStatic()); registerSimpleAspectFuse(EMPrimitiveTemplate.getClassTypeStatic()); - FUSE_HANDLERS.put(((long) EMPrimitiveTemplate.getClassTypeStatic() << 16) | EMPrimitiveTemplate.getClassTypeStatic(), new IColliderHandler() { - @Override - public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { - IPrimitiveColliderHandler collisionHandler = PRIMITIVE_FUSE_HANDLERS.get(in1.getDefinition().getClass().getName() + '\0' + in2.getDefinition().getClass().getName()); - if (collisionHandler != null) { - collisionHandler.collide(in2, in1, out); - } else { - out.putUnifyAll(in1, in2); - } - } + FUSE_HANDLERS.put( + ((long) EMPrimitiveTemplate.getClassTypeStatic() << 16) | EMPrimitiveTemplate.getClassTypeStatic(), + new IColliderHandler() { + @Override + public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { + IPrimitiveColliderHandler collisionHandler = PRIMITIVE_FUSE_HANDLERS.get( + in1.getDefinition().getClass().getName() + + '\0' + + in2.getDefinition().getClass().getName()); + if (collisionHandler != null) { + collisionHandler.collide(in2, in1, out); + } else { + out.putUnifyAll(in1, in2); + } + } - @Override - public byte getRequiredTier() { - return 2; - } - }); - - PRIMITIVE_FUSE_HANDLERS.put(EMQuarkDefinition.class.getName() + '\0' + EMQuarkDefinition.class.getName(), (in1, in2, out) -> { - try { - EMDefinitionStackMap defs = new EMDefinitionStackMap(); - defs.putUnifyExact(in1.getDefinition().getStackForm(1)); - defs.putUnifyExact(in2.getDefinition().getStackForm(1)); - EMHadronDefinition hadron = new EMHadronDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); - out.putUnify(new EMInstanceStack(hadron, Math.min(in1.getAmount(), in2.getAmount()))); - } catch (Exception e) { - out.putUnifyAll(in1, in2); - return; - } - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - }); - PRIMITIVE_FUSE_HANDLERS.put(EMPrimalAspectDefinition.class.getName() + '\0' + EMPrimalAspectDefinition.class.getName(), (in1, in2, out) -> { - if (fuseAspects(in1, in2, out)) return; - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - }); + @Override + public byte getRequiredTier() { + return 2; + } + }); + + PRIMITIVE_FUSE_HANDLERS.put( + EMQuarkDefinition.class.getName() + '\0' + EMQuarkDefinition.class.getName(), (in1, in2, out) -> { + try { + EMDefinitionStackMap defs = new EMDefinitionStackMap(); + defs.putUnifyExact(in1.getDefinition().getStackForm(1)); + defs.putUnifyExact(in2.getDefinition().getStackForm(1)); + EMHadronDefinition hadron = + new EMHadronDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); + out.putUnify(new EMInstanceStack(hadron, Math.min(in1.getAmount(), in2.getAmount()))); + } catch (Exception e) { + out.putUnifyAll(in1, in2); + return; + } + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + }); + PRIMITIVE_FUSE_HANDLERS.put( + EMPrimalAspectDefinition.class.getName() + '\0' + EMPrimalAspectDefinition.class.getName(), + (in1, in2, out) -> { + if (fuseAspects(in1, in2, out)) return; + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + }); } private static boolean fuseAspects(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { @@ -207,7 +224,8 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB EMDefinitionStackMap defs = new EMDefinitionStackMap(); defs.putUnifyExact(in1.getDefinition().getStackForm(1)); defs.putUnifyExact(in2.getDefinition().getStackForm(1)); - EMComplexAspectDefinition aspect = new EMComplexAspectDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); + EMComplexAspectDefinition aspect = + new EMComplexAspectDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); out.putUnify(new EMInstanceStack(aspect, Math.min(in1.getAmount(), in2.getAmount()))); } catch (Exception e) { out.putUnifyAll(in1, in2); @@ -217,55 +235,59 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB } private static void registerSimpleAspectFuse(int classTypeStatic) { - FUSE_HANDLERS.put(((long) EMComplexAspectDefinition.getClassTypeStatic() << 16) | classTypeStatic, new IColliderHandler() { - @Override - public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { - if (fuseAspects(in1, in2, out)) return; - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - } + FUSE_HANDLERS.put( + ((long) EMComplexAspectDefinition.getClassTypeStatic() << 16) | classTypeStatic, + new IColliderHandler() { + @Override + public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { + if (fuseAspects(in1, in2, out)) return; + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + } - @Override - public byte getRequiredTier() { - return 1; - } - }); + @Override + public byte getRequiredTier() { + return 1; + } + }); } private static void registerSimpleAtomFuse(int classTypeStatic) { - FUSE_HANDLERS.put(((long) EMAtomDefinition.getClassTypeStatic() << 16) | classTypeStatic, new IColliderHandler() { - @Override - public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { - try { - EMDefinitionStackMap defs = new EMDefinitionStackMap(); - defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); - defs.putUnifyExact(in2.getDefinition().getStackForm(1)); - EMAtomDefinition atom = new EMAtomDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); - out.putUnify(new EMInstanceStack(atom, Math.min(in1.getAmount(), in2.getAmount()))); - } catch (Exception e) { - out.putUnifyAll(in1, in2); - return; - } - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - } + FUSE_HANDLERS.put( + ((long) EMAtomDefinition.getClassTypeStatic() << 16) | classTypeStatic, new IColliderHandler() { + @Override + public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { + try { + EMDefinitionStackMap defs = new EMDefinitionStackMap(); + defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); + defs.putUnifyExact(in2.getDefinition().getStackForm(1)); + EMAtomDefinition atom = new EMAtomDefinition( + defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); + out.putUnify(new EMInstanceStack(atom, Math.min(in1.getAmount(), in2.getAmount()))); + } catch (Exception e) { + out.putUnifyAll(in1, in2); + return; + } + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + } - @Override - public byte getRequiredTier() { - return 1; - } - }); + @Override + public byte getRequiredTier() { + return 1; + } + }); } - //endregion + // endregion - //region parameters - protected Parameters.Group.ParameterIn mode; + // region parameters + protected Parameters.Group.ParameterIn mode; private static final IStatusFunction MODE_STATUS = (base_EM, p) -> { if (base_EM.isMaster()) { double mode = p.get(); @@ -280,64 +302,231 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB } return STATUS_OK; }; - private static final INameFunction MODE_NAME = (base_EM, p) -> { + private static final INameFunction MODE_NAME = (base_EM, p) -> { if (base_EM.isMaster()) { double mode = p.get(); if (mode == FUSE_MODE) { - return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.0");//Mode: Fuse + return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.0"); // Mode: Fuse } else if (mode == COLLIDE_MODE) { - return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.1");//Mode: Collide + return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.1"); // Mode: Collide } - return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.2");//Mode: Undefined + return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.2"); // Mode: Undefined } - return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.3");//Currently Slaves... + return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.3"); // Currently Slaves... }; - //endregion - - //region structure - //use multi A energy inputs, use less power the longer it runs - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.collider.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.collider.hint.1"),//2 - Elemental Input Hatches or Molecular Casing - translateToLocal("gt.blockmachines.multimachine.em.collider.hint.2"),//3 - Elemental Output Hatches or Molecular Casing - translateToLocal("gt.blockmachines.multimachine.em.collider.hint.3"),//4 - Elemental Overflow Hatches or Molecular Casing - translateToLocal("gt.blockmachines.multimachine.em.collider.hint.4"),//General - Another Controller facing opposite direction + // endregion + + // region structure + // use multi A energy inputs, use less power the longer it runs + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.collider.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal( + "gt.blockmachines.multimachine.em.collider.hint.1"), // 2 - Elemental Input Hatches or Molecular Casing + translateToLocal( + "gt.blockmachines.multimachine.em.collider.hint.2"), // 3 - Elemental Output Hatches or Molecular Casing + translateToLocal( + "gt.blockmachines.multimachine.em.collider.hint.3"), // 4 - Elemental Overflow Hatches or Molecular + // Casing + translateToLocal( + "gt.blockmachines.multimachine.em.collider.hint.4"), // General - Another Controller facing opposite + // direction }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("tier1", transpose(new String[][]{ - {" A A A ", " AAAAAAA ", " bbbbIIIbbbb ", " bAAAAAAAAAAAb ", " bAAAA AAAAb ", " bAAA AAAb ", " bAAA AAAb ", " bAA AAb ", " AbAA AAbA ", "AAbA AbAA", " AIA AIA ", "AAIA AIAA", " AIA AIA ", "AAbA AbAA", " AbAA AAbA ", " bAA AAb ", " bAAA AAAb ", " bAAA AAAb ", " bAAAAbJJJbAAAAb ", " bAHHbbbbbHHAb ", " bbbbGFGbbbb "}, - {" AAAAA ", " AADDDDDAA ", " cDDeeeeeDDc ", " cDeeDDDDDeeDc ", " cDeDD DDeDc ", " cDeD DeDc ", " cDeD DeDc ", " ADeD DeDA ", " ADeD DeDA ", "ADeD DeDA", "ADeD DeDA", "ADeD DeDA", "ADeD DeDA", "ADeD DeDA", " ADeD DeDA ", " ADeD DeDA ", " cDeD DeDc ", " cDeD DeDc ", " cDeDDbJ~JbDDeDc ", " cDeeDDDDDeeDc ", " cDDeeeeeDDc "}, - {" A A A ", " AAAAAAA ", " bbbbIIIbbbb ", " bAAAAAAAAAAAb ", " bAAAA AAAAb ", " bAAA AAAb ", " bAAA AAAb ", " bAA AAb ", " AbAA AAbA ", "AAbA AbAA", " AIA AIA ", "AAIA AIAA", " AIA AIA ", "AAbA AbAA", " AbAA AAbA ", " bAA AAb ", " bAAA AAAb ", " bAAA AAAb ", " bAAAAbJJJbAAAAb ", " bAHHbbbbbHHAb ", " bbbbGFGbbbb "} - })) - .addShape("tier2", transpose(new String[][]{ - {" A A A ", " AAAAAAA ", " BBBBIIIBBBB ", " BAAAAAAAAAAAB ", " BAAAA AAAAB ", " BAAA AAAB ", " BAAA AAAB ", " BAA AAB ", " ABAA AABA ", "AABA ABAA", " AIA AIA ", "AAIA AIAA", " AIA AIA ", "AABA ABAA", " ABAA AABA ", " BAA AAB ", " BAAA AAAB ", " BAAA AAAB ", " BAAAABJJJBAAAAB ", " BAHHBBBBBHHAB ", " BBBBGFGBBBB "}, - {" AAAAA ", " AADDDDDAA ", " CDDEEEEEDDC ", " CDEEDDDDDEEDC ", " CDEDD DDEDC ", " CDED DEDC ", " CDED DEDC ", " ADED DEDA ", " ADED DEDA ", "ADED DEDA", "ADED DEDA", "ADED DEDA", "ADED DEDA", "ADED DEDA", " ADED DEDA ", " ADED DEDA ", " CDED DEDC ", " CDED DEDC ", " CDEDDBJ~JBDDEDC ", " CDEEDDDDDEEDC ", " CDDEEEEEDDC "}, - {" A A A ", " AAAAAAA ", " BBBBIIIBBBB ", " BAAAAAAAAAAAB ", " BAAAA AAAAB ", " BAAA AAAB ", " BAAA AAAB ", " BAA AAB ", " ABAA AABA ", "AABA ABAA", " AIA AIA ", "AAIA AIAA", " AIA AIA ", "AABA ABAA", " ABAA AABA ", " BAA AAB ", " BAAA AAAB ", " BAAA AAAB ", " BAAAABJJJBAAAAB ", " BAHHBBBBBHHAB ", " BBBBGFGBBBB "} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('b', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('c', ofBlock(sBlockCasingsTT, 4)) - .addElement('C', ofBlock(sBlockCasingsTT, 6)) - .addElement('D', ofBlock(sBlockCasingsTT, 7)) - .addElement('e', ofBlock(sBlockCasingsTT, 8)) - .addElement('E', ofBlock(sBlockCasingsTT, 9)) - .addElement('I', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('J', ofHatchAdderOptional(GT_MetaTileEntity_EM_collider::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('H', ofHatchAdderOptional(GT_MetaTileEntity_EM_collider::addElementalInputToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) - .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_collider::addElementalOutputToMachineList, textureOffset + 4, 3, sBlockCasingsTT, 4)) - .addElement('G', ofHatchAdderOptional(GT_MetaTileEntity_EM_collider::addElementalMufflerToMachineList, textureOffset + 4, 4, sBlockCasingsTT, 4)) - .build(); + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("tier1", transpose(new String[][] { + { + " A A A ", + " AAAAAAA ", + " bbbbIIIbbbb ", + " bAAAAAAAAAAAb ", + " bAAAA AAAAb ", + " bAAA AAAb ", + " bAAA AAAb ", + " bAA AAb ", + " AbAA AAbA ", + "AAbA AbAA", + " AIA AIA ", + "AAIA AIAA", + " AIA AIA ", + "AAbA AbAA", + " AbAA AAbA ", + " bAA AAb ", + " bAAA AAAb ", + " bAAA AAAb ", + " bAAAAbJJJbAAAAb ", + " bAHHbbbbbHHAb ", + " bbbbGFGbbbb " + }, + { + " AAAAA ", + " AADDDDDAA ", + " cDDeeeeeDDc ", + " cDeeDDDDDeeDc ", + " cDeDD DDeDc ", + " cDeD DeDc ", + " cDeD DeDc ", + " ADeD DeDA ", + " ADeD DeDA ", + "ADeD DeDA", + "ADeD DeDA", + "ADeD DeDA", + "ADeD DeDA", + "ADeD DeDA", + " ADeD DeDA ", + " ADeD DeDA ", + " cDeD DeDc ", + " cDeD DeDc ", + " cDeDDbJ~JbDDeDc ", + " cDeeDDDDDeeDc ", + " cDDeeeeeDDc " + }, + { + " A A A ", + " AAAAAAA ", + " bbbbIIIbbbb ", + " bAAAAAAAAAAAb ", + " bAAAA AAAAb ", + " bAAA AAAb ", + " bAAA AAAb ", + " bAA AAb ", + " AbAA AAbA ", + "AAbA AbAA", + " AIA AIA ", + "AAIA AIAA", + " AIA AIA ", + "AAbA AbAA", + " AbAA AAbA ", + " bAA AAb ", + " bAAA AAAb ", + " bAAA AAAb ", + " bAAAAbJJJbAAAAb ", + " bAHHbbbbbHHAb ", + " bbbbGFGbbbb " + } + })) + .addShape("tier2", transpose(new String[][] { + { + " A A A ", + " AAAAAAA ", + " BBBBIIIBBBB ", + " BAAAAAAAAAAAB ", + " BAAAA AAAAB ", + " BAAA AAAB ", + " BAAA AAAB ", + " BAA AAB ", + " ABAA AABA ", + "AABA ABAA", + " AIA AIA ", + "AAIA AIAA", + " AIA AIA ", + "AABA ABAA", + " ABAA AABA ", + " BAA AAB ", + " BAAA AAAB ", + " BAAA AAAB ", + " BAAAABJJJBAAAAB ", + " BAHHBBBBBHHAB ", + " BBBBGFGBBBB " + }, + { + " AAAAA ", + " AADDDDDAA ", + " CDDEEEEEDDC ", + " CDEEDDDDDEEDC ", + " CDEDD DDEDC ", + " CDED DEDC ", + " CDED DEDC ", + " ADED DEDA ", + " ADED DEDA ", + "ADED DEDA", + "ADED DEDA", + "ADED DEDA", + "ADED DEDA", + "ADED DEDA", + " ADED DEDA ", + " ADED DEDA ", + " CDED DEDC ", + " CDED DEDC ", + " CDEDDBJ~JBDDEDC ", + " CDEEDDDDDEEDC ", + " CDDEEEEEDDC " + }, + { + " A A A ", + " AAAAAAA ", + " BBBBIIIBBBB ", + " BAAAAAAAAAAAB ", + " BAAAA AAAAB ", + " BAAA AAAB ", + " BAAA AAAB ", + " BAA AAB ", + " ABAA AABA ", + "AABA ABAA", + " AIA AIA ", + "AAIA AIAA", + " AIA AIA ", + "AABA ABAA", + " ABAA AABA ", + " BAA AAB ", + " BAAA AAAB ", + " BAAA AAAB ", + " BAAAABJJJBAAAAB ", + " BAHHBBBBBHHAB ", + " BBBBGFGBBBB " + } + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('b', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement('c', ofBlock(sBlockCasingsTT, 4)) + .addElement('C', ofBlock(sBlockCasingsTT, 6)) + .addElement('D', ofBlock(sBlockCasingsTT, 7)) + .addElement('e', ofBlock(sBlockCasingsTT, 8)) + .addElement('E', ofBlock(sBlockCasingsTT, 9)) + .addElement('I', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'J', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_collider::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'H', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_collider::addElementalInputToMachineList, + textureOffset + 4, + 2, + sBlockCasingsTT, + 4)) + .addElement( + 'F', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_collider::addElementalOutputToMachineList, + textureOffset + 4, + 3, + sBlockCasingsTT, + 4)) + .addElement( + 'G', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_collider::addElementalMufflerToMachineList, + textureOffset + 4, + 4, + sBlockCasingsTT, + 4)) + .build(); @Override public IStructureDefinition getStructure_EM() { return STRUCTURE_DEFINITION; } - //endregion + // endregion public GT_MetaTileEntity_EM_collider(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -348,65 +537,72 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB } public static void setValues(int heliumPlasmaValue) { - double MASS_TO_EU_PARTIAL = heliumPlasmaValue / (1.75893000478707E07 * EM_COUNT_PER_MATERIAL_AMOUNT);//mass diff + double MASS_TO_EU_PARTIAL = + heliumPlasmaValue / (1.75893000478707E07 * EM_COUNT_PER_MATERIAL_AMOUNT); // mass diff MASS_TO_EU_INSTANT = MASS_TO_EU_PARTIAL * 20; STARTUP_COST = -heliumPlasmaValue * 10000; KEEPUP_COST = -heliumPlasmaValue; } - protected double fuse(GT_MetaTileEntity_EM_collider partner) {///CAN MAKE EU - if (partner.stack != null && stack != null) {//todo add single event mode as an option - boolean check = stack.getDefinition().fusionMakesEnergy(stack.getEnergy()) && - partner.stack.getDefinition().fusionMakesEnergy(partner.stack.getEnergy()); + protected double fuse(GT_MetaTileEntity_EM_collider partner) { // /CAN MAKE EU + if (partner.stack != null && stack != null) { // todo add single event mode as an option + boolean check = stack.getDefinition().fusionMakesEnergy(stack.getEnergy()) + && partner.stack.getDefinition().fusionMakesEnergy(partner.stack.getEnergy()); - EMInstanceStack stack2 = partner.stack; - double preMass = add(stack2.getMass(), stack.getMass()); - //System.out.println("preMass = " + preMass); + EMInstanceStack stack2 = partner.stack; + double preMass = add(stack2.getMass(), stack.getMass()); + // System.out.println("preMass = " + preMass); EMInstanceStackMap map = new EMInstanceStackMap(); - IColliderHandler colliderHandler; - if (stack2.getDefinition().getMatterMassType() > stack.getDefinition().getMatterMassType()) {//always bigger first - colliderHandler = FUSE_HANDLERS.get((stack2.getDefinition().getMatterMassType() << 16) | stack.getDefinition().getMatterMassType()); + IColliderHandler colliderHandler; + if (stack2.getDefinition().getMatterMassType() + > stack.getDefinition().getMatterMassType()) { // always bigger first + colliderHandler = FUSE_HANDLERS.get((stack2.getDefinition().getMatterMassType() << 16) + | stack.getDefinition().getMatterMassType()); if (handleRecipe(stack2, map, colliderHandler)) return 0; } else { - colliderHandler = FUSE_HANDLERS.get((stack.getDefinition().getMatterMassType() << 16) | stack2.getDefinition().getMatterMassType()); + colliderHandler = FUSE_HANDLERS.get((stack.getDefinition().getMatterMassType() << 16) + | stack2.getDefinition().getMatterMassType()); if (handleRecipe(stack2, map, colliderHandler)) return 0; } for (EMInstanceStack newStack : map.valuesToArray()) { check &= newStack.getDefinition().fusionMakesEnergy(newStack.getEnergy()); } - //System.out.println("outputEM[0].getMass() = " + outputEM[0].getMass()); - outputEM = new EMInstanceStackMap[]{map}; + // System.out.println("outputEM[0].getMass() = " + outputEM[0].getMass()); + outputEM = new EMInstanceStackMap[] {map}; partner.stack = stack = null; - //System.out.println("check = " + check); - //System.out.println("preMass-map.getMass() = " + (preMass - map.getMass())); + // System.out.println("check = " + check); + // System.out.println("preMass-map.getMass() = " + (preMass - map.getMass())); return check ? preMass - map.getMass() : Math.min(preMass - map.getMass(), 0); } return 0; } - protected double collide(GT_MetaTileEntity_EM_collider partner) {//DOES NOT MAKE EU! - if (partner.stack != null && stack != null) {//todo add single event mode as an option - EMInstanceStack stack2 = partner.stack; - double preMass = stack2.getMass() + stack.getMass(); - //System.out.println("preMass = " + preMass); + protected double collide(GT_MetaTileEntity_EM_collider partner) { // DOES NOT MAKE EU! + if (partner.stack != null && stack != null) { // todo add single event mode as an option + EMInstanceStack stack2 = partner.stack; + double preMass = stack2.getMass() + stack.getMass(); + // System.out.println("preMass = " + preMass); EMInstanceStackMap map = new EMInstanceStackMap(); - IColliderHandler colliderHandler; - if (stack2.getDefinition().getMatterMassType() > stack.getDefinition().getMatterMassType()) {//always bigger first - colliderHandler = FUSE_HANDLERS.get((stack2.getDefinition().getMatterMassType() << 16) | stack.getDefinition().getMatterMassType()); + IColliderHandler colliderHandler; + if (stack2.getDefinition().getMatterMassType() + > stack.getDefinition().getMatterMassType()) { // always bigger first + colliderHandler = FUSE_HANDLERS.get((stack2.getDefinition().getMatterMassType() << 16) + | stack.getDefinition().getMatterMassType()); if (handleRecipe(stack2, map, colliderHandler)) return 0; } else { - colliderHandler = FUSE_HANDLERS.get((stack.getDefinition().getMatterMassType() << 16) | stack2.getDefinition().getMatterMassType()); + colliderHandler = FUSE_HANDLERS.get((stack.getDefinition().getMatterMassType() << 16) + | stack2.getDefinition().getMatterMassType()); if (handleRecipe(stack2, map, colliderHandler)) return 0; } - //System.out.println("outputEM[0].getMass() = " + outputEM[0].getMass()); - outputEM = new EMInstanceStackMap[]{map}; + // System.out.println("outputEM[0].getMass() = " + outputEM[0].getMass()); + outputEM = new EMInstanceStackMap[] {map}; partner.stack = stack = null; - //System.out.println("check = " + check); - //System.out.println("preMass-map.getMass() = " + (preMass - map.getMass())); + // System.out.println("check = " + check); + // System.out.println("preMass-map.getMass() = " + (preMass - map.getMass())); return Math.min(preMass - map.getMass(), 0); } return 0; @@ -417,24 +613,25 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB colliderHandler.collide(stack2, stack, map); } else { map.putUnifyAll(stack, stack2); - outputEM = new EMInstanceStackMap[]{map}; + outputEM = new EMInstanceStackMap[] {map}; return true; } return false; } protected GT_MetaTileEntity_EM_collider getPartner() { - IGregTechTileEntity iGregTechTileEntity = getBaseMetaTileEntity(); - int xDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetX * 4; - int yDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetY * 4; - int zDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetZ * 4; + IGregTechTileEntity iGregTechTileEntity = getBaseMetaTileEntity(); + int xDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetX * 4; + int yDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetY * 4; + int zDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetZ * 4; IGregTechTileEntity gregTechBaseTileEntity = iGregTechTileEntity.getIGregTechTileEntityOffset(xDir, yDir, zDir); if (gregTechBaseTileEntity != null) { IMetaTileEntity gregTechMetaTileEntity = gregTechBaseTileEntity.getMetaTileEntity(); - return gregTechMetaTileEntity instanceof GT_MetaTileEntity_EM_collider && - ((GT_MetaTileEntity_EM_collider) gregTechMetaTileEntity).mMachine && - gregTechBaseTileEntity.getBackFacing() == iGregTechTileEntity.getFrontFacing() ? - (GT_MetaTileEntity_EM_collider) gregTechMetaTileEntity : null; + return gregTechMetaTileEntity instanceof GT_MetaTileEntity_EM_collider + && ((GT_MetaTileEntity_EM_collider) gregTechMetaTileEntity).mMachine + && gregTechBaseTileEntity.getBackFacing() == iGregTechTileEntity.getFrontFacing() + ? (GT_MetaTileEntity_EM_collider) gregTechMetaTileEntity + : null; } return null; } @@ -460,7 +657,9 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB stack.nextColor(); return null; } else { - stack = newInstances.getOutput().removeKey(newInstances.getOutput().getLast().getDefinition()); + stack = newInstances + .getOutput() + .removeKey(newInstances.getOutput().getLast().getDefinition()); return newInstances.getOutput(); } } @@ -487,7 +686,7 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB eTier = 0; return false; } - if (structureCheck_EM("tier"+eTier, 11, 1, 18)) { + if (structureCheck_EM("tier" + eTier, 11, 1, 18)) { return true; } eTier = 0; @@ -509,7 +708,12 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB continue; } stack = container.removeKey(container.getFirst().getDefinition()); - long eut = KEEPUP_COST + (long) (KEEPUP_COST * Math.abs(stack.getMass() / EMAtomDefinition.getSomethingHeavy().getMass())) / 2; + long eut = KEEPUP_COST + + (long) (KEEPUP_COST + * Math.abs(stack.getMass() + / EMAtomDefinition.getSomethingHeavy() + .getMass())) + / 2; if (eut < Integer.MIN_VALUE + 7) { return false; } @@ -551,7 +755,7 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB makeEU(fuse(partner)); break; case COLLIDE_MODE: - collide(partner);//todo + collide(partner); // todo break; default: { outputEM = new EMInstanceStackMap[2]; @@ -580,20 +784,45 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.collider.name")) // Machine Type: Matter Collider - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.collider.desc.0")) // Controller block of the Matter Collider - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.collider.desc.1")) // This machine needs a mirrored copy of it to work - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.collider.desc.2")) // One needs to be set to 'Fuse Mode' and the other to 'Collide Mode' - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.collider.desc.3")) // Fuses two elemental matter to create another (and power) + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.collider.name")) // Machine Type: Matter Collider + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.collider.desc.0")) // Controller block of the Matter Collider + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.collider.desc.1")) // This machine needs a mirrored + // copy of it to work + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.collider.desc.2")) // One needs to be set to 'Fuse + // Mode' and the other to 'Collide + // Mode' + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.collider.desc.3")) // Fuses two elemental matter to + // create another (and power) .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(21, 3, 23, false) - .addOtherStructurePart(translateToLocal("gt.blockmachines.multimachine.em.collider.name"), translateToLocal("gt.blockmachines.multimachine.em.collider.Structure.AdditionalCollider"), 2) // Matter Collider: Needs another Matter Collider that is mirrored to this one - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalInput"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), 2) // Elemental Input Hatch: Any Molecular Casing with 2 dots - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOutput"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing3D"), 2) // Elemental Output Hatch: Any Molecular Casing with 3 dots - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOverflow"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing4D"), 2) // Elemental Overflow Hatch: Any Molecular Casing with 4 dots - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart( + translateToLocal("gt.blockmachines.multimachine.em.collider.name"), + translateToLocal("gt.blockmachines.multimachine.em.collider.Structure.AdditionalCollider"), + 2) // Matter Collider: Needs another Matter Collider that is mirrored to this one + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalInput"), + translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), + 2) // Elemental Input Hatch: Any Molecular Casing with 2 dots + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOutput"), + translateToLocal("tt.keyword.Structure.AnyMolecularCasing3D"), + 2) // Elemental Output Hatch: Any Molecular Casing with 3 dots + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOverflow"), + translateToLocal("tt.keyword.Structure.AnyMolecularCasing4D"), + 2) // Elemental Overflow Hatch: Any Molecular Casing with 4 dots + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -609,15 +838,27 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aFacing, + byte aColorIndex, + boolean aActive, + boolean aRedstone) { if (aSide == aFacing) { if (aFacing % 2 == 0) { - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][4], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][4], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) + }; } else { - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][4], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON_Slave : ScreenOFF_Slave)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][4], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON_Slave : ScreenOFF_Slave) + }; } } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][4]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][4]}; } @Override @@ -636,7 +877,7 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB @Override public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); - aNBT.setByte("eTier", eTier);//collider tier + aNBT.setByte("eTier", eTier); // collider tier aNBT.setBoolean("eStarted", started); if (stack != null) { aNBT.setTag("eStack", stack.toNBT(TecTech.definitionsRegistry)); @@ -647,7 +888,7 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB @Override public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); - eTier = aNBT.getByte("eTier");//collider tier + eTier = aNBT.getByte("eTier"); // collider tier started = aNBT.getBoolean("eStarted"); if (aNBT.hasKey("eStack")) { stack = EMInstanceStack.fromNBT(TecTech.definitionsRegistry, aNBT.getCompoundTag("eStack")); @@ -687,17 +928,19 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB @Override public void construct(ItemStack trigger, boolean hintsOnly) { IGregTechTileEntity iGregTechTileEntity = getBaseMetaTileEntity(); - int xDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetX * 4; - int yDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetY * 4; - int zDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetZ * 4; + int xDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetX * 4; + int yDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetY * 4; + int zDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetZ * 4; if (hintsOnly) { - StructureLibAPI.hintParticle(iGregTechTileEntity.getWorld(), + StructureLibAPI.hintParticle( + iGregTechTileEntity.getWorld(), iGregTechTileEntity.getXCoord() + xDir, iGregTechTileEntity.getYCoord() + yDir, iGregTechTileEntity.getZCoord() + zDir, - StructureLibAPI.getBlockHint(), 12); + StructureLibAPI.getBlockHint(), + 12); } - structureBuild_EM("tier"+(((trigger.stackSize-1)%2)+1), 11, 1, 18, trigger, hintsOnly); + structureBuild_EM("tier" + (((trigger.stackSize - 1) % 2) + 1), 11, 1, 18, trigger, hintsOnly); } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Centrifuge.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Centrifuge.java index e6e618a31c..9b02645de6 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Centrifuge.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Centrifuge.java @@ -1,5 +1,11 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.em_machine; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.github.technus.tectech.util.DoubleCount.*; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; @@ -8,15 +14,8 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.INameFunction; import com.github.technus.tectech.thing.metaTileEntity.multi.base.IStatusFunction; import com.github.technus.tectech.thing.metaTileEntity.multi.base.MultiblockControl; import com.github.technus.tectech.thing.metaTileEntity.multi.base.Parameters; - import java.util.Arrays; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.github.technus.tectech.util.DoubleCount.*; - /** * Created by danie_000 on 24.12.2017. */ @@ -28,55 +27,76 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav private final double maxForce; private final double maxCapacity; private Parameters.Group.ParameterIn settingRPM, settingFraction; - private final static INameFunction rpmName= (gt_metaTileEntity_em_machine, iParameter) -> "RPM Setting"; - private final IStatusFunction rpmStatus= (gt_metaTileEntity_em_machine, iParameter) -> { - double v=iParameter.get(); - if(Double.isNaN(v)){ - return STATUS_WRONG; - } - if (v <=0) { - return STATUS_TOO_LOW; - }else if (v>maxRPM){ - return STATUS_TOO_HIGH; - } - return STATUS_OK; - }; - private final static INameFunction fractionName= (gt_metaTileEntity_em_machine, iParameter) -> "Fraction Count"; - private static final IStatusFunction fractionStatus= (gt_metaTileEntity_em_machine, iParameter) -> { - double v=iParameter.get(); - if(Double.isNaN(v)){ - return STATUS_WRONG; - } - v=(int)v; - if (v <= 1) { - return STATUS_TOO_LOW; - }else if (v>6){ - return STATUS_TOO_HIGH; - } - return STATUS_OK; - }; - //private final static String[] DESCRIPTION_O =new String[]{"RPM Setting","RCF Setting","Radius [mm]","Max RPM","Max Force [eV/c^2 * m/s]","Max Capacity [eV/c^2]","Max Power Usage[EU/t]","Max Recipe Rime [tick]"}; - - private static final double[/*tier+5*/][/*outputHatches+2*/] MIXING_FACTORS =new double[][]{ - {.45,.85,.95,1,1,}, - {.4 ,.75,.9,.95,1,}, - {.35,.45,.75,.9,.95,}, - {.25,.3,.45,.75,.9,}, - {.2,.25,.3,.45,.75,}, - {.1,.15,.2,.3,.45,}, - {.05,.1,.15,.2,.25,}, - {.01,.05,.1,.15,.2,}, + private static final INameFunction rpmName = + (gt_metaTileEntity_em_machine, iParameter) -> "RPM Setting"; + private final IStatusFunction rpmStatus = + (gt_metaTileEntity_em_machine, iParameter) -> { + double v = iParameter.get(); + if (Double.isNaN(v)) { + return STATUS_WRONG; + } + if (v <= 0) { + return STATUS_TOO_LOW; + } else if (v > maxRPM) { + return STATUS_TOO_HIGH; + } + return STATUS_OK; + }; + private static final INameFunction fractionName = + (gt_metaTileEntity_em_machine, iParameter) -> "Fraction Count"; + private static final IStatusFunction fractionStatus = + (gt_metaTileEntity_em_machine, iParameter) -> { + double v = iParameter.get(); + if (Double.isNaN(v)) { + return STATUS_WRONG; + } + v = (int) v; + if (v <= 1) { + return STATUS_TOO_LOW; + } else if (v > 6) { + return STATUS_TOO_HIGH; + } + return STATUS_OK; + }; + // private final static String[] DESCRIPTION_O =new String[]{"RPM Setting","RCF Setting","Radius [mm]","Max + // RPM","Max Force [eV/c^2 * m/s]","Max Capacity [eV/c^2]","Max Power Usage[EU/t]","Max Recipe Rime [tick]"}; + + private static final double[ /*tier+5*/][ /*outputHatches+2*/] MIXING_FACTORS = new double[][] { + { + .45, .85, .95, 1, 1, + }, + { + .4, .75, .9, .95, 1, + }, + { + .35, .45, .75, .9, .95, + }, + { + .25, .3, .45, .75, .9, + }, + { + .2, .25, .3, .45, .75, + }, + { + .1, .15, .2, .3, .45, + }, + { + .05, .1, .15, .2, .25, + }, + { + .01, .05, .1, .15, .2, + }, }; - //6 to 12 recommended + // 6 to 12 recommended public Behaviour_Centrifuge(int desiredTier) { tier = (byte) desiredTier; radius = 0.5D - (12D - tier) / 64D; maxRCF = Math.pow(Math.E, tier) * 12D; maxRPM = Math.sqrt(maxRCF / (0.001118D * radius)); double maxSafeMass = EMAtomDefinition.getSomethingHeavy().getMass() * (1 << tier); - maxForce = maxSafeMass * maxRCF;// (eV/c^2 * m/s) / g - maxCapacity = maxSafeMass * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * radius;// eV/c^2 + maxForce = maxSafeMass * maxRCF; // (eV/c^2 * m/s) / g + maxCapacity = maxSafeMass * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * radius; // eV/c^2 } private double getRCF(double RPM) { @@ -84,26 +104,26 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav } private void addRandomly(EMInstanceStack me, EMInstanceStackMap[] toThis, int fractionCount) { - double amountPerFraction = div(me.getAmount(),fractionCount); - EMInstanceStack[] stacks = new EMInstanceStack[fractionCount]; + double amountPerFraction = div(me.getAmount(), fractionCount); + EMInstanceStack[] stacks = new EMInstanceStack[fractionCount]; for (int i = 0; i < fractionCount; i++) { stacks[i] = me.clone(); stacks[i].setAmount(amountPerFraction); toThis[i].putReplace(stacks[i]); } - //int remainingAmount = (int) (me.amount % fractionCount); - //while (remainingAmount > 0) { + // int remainingAmount = (int) (me.amount % fractionCount); + // while (remainingAmount > 0) { // int amountToAdd = TecTech.RANDOM.nextInt(remainingAmount) + 1; // stacks[TecTech.RANDOM.nextInt(fractionCount)].amount += amountToAdd; // remainingAmount -= amountToAdd; - //} + // } } @Override public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) { - Parameters.Group hatch1=parameters.getGroup(7); - settingRPM=hatch1.makeInParameter(0,0,rpmName,rpmStatus); - settingFraction=hatch1.makeInParameter(1,2,fractionName,fractionStatus); + Parameters.Group hatch1 = parameters.getGroup(7); + settingRPM = hatch1.makeInParameter(0, 0, rpmName, rpmStatus); + settingFraction = hatch1.makeInParameter(1, 2, fractionName, fractionStatus); } @Override @@ -112,9 +132,10 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav } @Override - public MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { + public MultiblockControl process( + EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { EMInstanceStackMap input = inputs[0]; - if (input == null || input.isEmpty()) return null;//nothing in only valid input + if (input == null || input.isEmpty()) return null; // nothing in only valid input EMInstanceStack[] stacks = input.valuesToArray(); @@ -124,9 +145,9 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav } double excessMass = 0; while (inputMass > maxCapacity) { - EMInstanceStack randomStack = stacks[TecTech.RANDOM.nextInt(stacks.length)]; - double amountToRemove = TecTech.RANDOM.nextDouble()/10D * randomStack.getAmount(); - randomStack.setAmount(sub(randomStack.getAmount(),amountToRemove));//mutates the parent InstanceStackMap + EMInstanceStack randomStack = stacks[TecTech.RANDOM.nextInt(stacks.length)]; + double amountToRemove = TecTech.RANDOM.nextDouble() / 10D * randomStack.getAmount(); + randomStack.setAmount(sub(randomStack.getAmount(), amountToRemove)); // mutates the parent InstanceStackMap if (randomStack.isInvalidAmount()) { input.removeKey(randomStack.getDefinition()); stacks = input.valuesToArray(); @@ -139,30 +160,29 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav inputMass = Math.abs(input.getMass()); double RCF = getRCF(settingRPM.get()); - if (inputMass * RCF > maxForce) return new MultiblockControl<>(excessMass);//AND THEN IT EXPLODES + if (inputMass * RCF > maxForce) return new MultiblockControl<>(excessMass); // AND THEN IT EXPLODES // how many output hatches to use - int fractionCount = (int) settingFraction.get(); - EMInstanceStackMap[] outputs = new EMInstanceStackMap[fractionCount]; + int fractionCount = (int) settingFraction.get(); + EMInstanceStackMap[] outputs = new EMInstanceStackMap[fractionCount]; for (int i = 0; i < fractionCount; i++) { outputs[i] = new EMInstanceStackMap(); } - //mixing factor... - double mixingFactor=Math.min(1d-(RCF/maxRCF)*(1d-MIXING_FACTORS[tier-5][fractionCount-2]),1); - if(DEBUG_MODE){ - TecTech.LOGGER.info("mixingFactor "+mixingFactor); + // mixing factor... + double mixingFactor = Math.min(1d - (RCF / maxRCF) * (1d - MIXING_FACTORS[tier - 5][fractionCount - 2]), 1); + if (DEBUG_MODE) { + TecTech.LOGGER.info("mixingFactor " + mixingFactor); } int mEut = (int) (Math.pow(settingRPM.get() / maxRPM, 3D) * V[tier]); mEut = Math.max(mEut, 512); mEut = -mEut; int mTicks = (int) (20 * (inputMass / maxCapacity) * (fractionCount - 1)); - mTicks=Math.max(mTicks,20); - + mTicks = Math.max(mTicks, 20); - //take all from hatch handler and put into new map - this takes from hatch to inner data storage - stacks = input.takeAll().valuesToArray();//cleanup stacks + // take all from hatch handler and put into new map - this takes from hatch to inner data storage + stacks = input.takeAll().valuesToArray(); // cleanup stacks if (stacks.length > 1) { Arrays.sort(stacks, (o1, o2) -> { double m1 = o1.getDefinition().getMass(); @@ -172,23 +192,23 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav return o1.compareTo(o2); }); - double absMassPerOutput = 0;//"volume" + double absMassPerOutput = 0; // "volume" for (EMInstanceStack stack : stacks) { - double tempMass=Math.abs(stack.getMass()); - if(tempMass!=0) { + double tempMass = Math.abs(stack.getMass()); + if (tempMass != 0) { double amount = stack.getAmount(); - stack.setAmount(mul(stack.getAmount(),mixingFactor)); + stack.setAmount(mul(stack.getAmount(), mixingFactor)); addRandomly(stack, outputs, fractionCount); stack.setAmount(sub(amount, stack.getAmount())); absMassPerOutput += tempMass; } } - //if(DEBUG_MODE){ + // if(DEBUG_MODE){ // TecTech.LOGGER.info("absMass "+absMassPerOutput); - //} - absMassPerOutput = div(absMassPerOutput,fractionCount); - if(DEBUG_MODE){ - TecTech.LOGGER.info("absMassPerOutput "+absMassPerOutput); + // } + absMassPerOutput = div(absMassPerOutput, fractionCount); + if (DEBUG_MODE) { + TecTech.LOGGER.info("absMassPerOutput " + absMassPerOutput); } nextFraction: @@ -197,37 +217,41 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav for (int stackNo = 0; stackNo < stacks.length; stackNo++) { if (stacks[stackNo] != null) { double stackMass = Math.abs(stacks[stackNo].getMass()); - double amount = div(remaining,Math.abs(stacks[stackNo].getDefinition().getMass())); - //if(DEBUG_MODE){ + double amount = div( + remaining, + Math.abs(stacks[stackNo].getDefinition().getMass())); + // if(DEBUG_MODE){ // TecTech.LOGGER.info("stackMass "+stackMass); // TecTech.LOGGER.info("defMass "+stacks[stackNo].definition.getMass()); // TecTech.LOGGER.info("remaining "+remaining); // TecTech.LOGGER.info("amountToMoveAvailable "+amount+"/"+stacks[stackNo].amount); - //} + // } if (stackMass == 0) { addRandomly(stacks[stackNo], outputs, fractionCount); stacks[stackNo] = null; } else if (amount >= stacks[stackNo].getAmount()) { - remaining= sub(remaining,stackMass); + remaining = sub(remaining, stackMass); outputs[fraction].putUnify(stacks[stackNo]); stacks[stackNo] = null; } else if (amount > 0) { - remaining= sub(remaining, mul(amount, stacks[stackNo].getDefinition().getMass())); + remaining = sub( + remaining, + mul(amount, stacks[stackNo].getDefinition().getMass())); EMInstanceStack clone = stacks[stackNo].clone(); clone.setAmount(amount); outputs[fraction].putUnify(clone); - stacks[stackNo].setAmount(sub(stacks[stackNo].getAmount(),amount)); - //if(DEBUG_MODE){ + stacks[stackNo].setAmount(sub(stacks[stackNo].getAmount(), amount)); + // if(DEBUG_MODE){ // TecTech.LOGGER.info("remainingAfter "+remaining); // TecTech.LOGGER.info("amountCloneAfter "+clone.amount+"/"+stacks[stackNo].amount); - //} + // } } else { continue nextFraction; } } } } - //add remaining + // add remaining for (EMInstanceStack stack : stacks) { if (stack != null) { outputs[fractionCount - 1].putUnify(stack); diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Electrolyzer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Electrolyzer.java index 4c95c2acd7..0bff2797a3 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Electrolyzer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Electrolyzer.java @@ -9,14 +9,13 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.Parameters; */ public class Behaviour_Electrolyzer implements GT_MetaTileEntity_EM_machine.IBehaviour { final int tier; - public Behaviour_Electrolyzer(int tier){ - this.tier=tier; + + public Behaviour_Electrolyzer(int tier) { + this.tier = tier; } @Override - public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) { - - } + public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) {} @Override public boolean checkParametersInAndSetStatuses(GT_MetaTileEntity_EM_machine te, Parameters parameters) { @@ -24,7 +23,8 @@ public class Behaviour_Electrolyzer implements GT_MetaTileEntity_EM_machine.IBeh } @Override - public MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { + public MultiblockControl process( + EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { return null; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_ElectromagneticSeparator.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_ElectromagneticSeparator.java index 3d1259f808..bd8d0d0b7a 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_ElectromagneticSeparator.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_ElectromagneticSeparator.java @@ -1,5 +1,11 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.em_machine; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.github.technus.tectech.util.DoubleCount.mul; +import static com.github.technus.tectech.util.DoubleCount.sub; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; @@ -9,143 +15,150 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.IStatusFunctio import com.github.technus.tectech.thing.metaTileEntity.multi.base.MultiblockControl; import com.github.technus.tectech.thing.metaTileEntity.multi.base.Parameters; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.github.technus.tectech.util.DoubleCount.mul; -import static com.github.technus.tectech.util.DoubleCount.sub; - /** * Created by danie_000 on 24.12.2017. */ public class Behaviour_ElectromagneticSeparator implements GT_MetaTileEntity_EM_machine.IBehaviour { private final byte tier; private int ticks; - private byte precisionFull,precisionMinimal; + private byte precisionFull, precisionMinimal; private double maxCapacity; private double maxCharge; private int offsetMax; - private Parameters.Group.ParameterIn fullSetting,minimalSetting,offsetSetting; - private final static INameFunction fullName= (gt_metaTileEntity_em_machine, iParameter) -> "Full Precision Input [e/3]"; - private final IStatusFunction fullStatus= (gt_metaTileEntity_em_machine, iParameter) -> { - double v=iParameter.get(); - if(Double.isNaN(v)){ - return STATUS_WRONG; - } - v=(int)v; - if(Double.isInfinite(v) && v>0) { - return STATUS_TOO_HIGH; - }else if(v>precisionFull){ - return STATUS_HIGH; - }else if(v minimalName= (gt_metaTileEntity_em_machine, iParameter) -> "Minimal Precision Input [e/3]"; - private final IStatusFunction minimalStatus= (gt_metaTileEntity_em_machine, iParameter) -> { - double minimal=iParameter.get(); - double full=fullSetting.get(); - if(Double.isInfinite(minimal) && minimal>0) { - return STATUS_TOO_HIGH; - }else if(minimal>precisionMinimal){ - if(minimal>full){ - return STATUS_TOO_HIGH; - }else { - return STATUS_HIGH; - } - }else if(minimal==precisionMinimal){ - if(minimal>full){ - return STATUS_TOO_HIGH; - }else { + private Parameters.Group.ParameterIn fullSetting, minimalSetting, offsetSetting; + private static final INameFunction fullName = + (gt_metaTileEntity_em_machine, iParameter) -> "Full Precision Input [e/3]"; + private final IStatusFunction fullStatus = + (gt_metaTileEntity_em_machine, iParameter) -> { + double v = iParameter.get(); + if (Double.isNaN(v)) { + return STATUS_WRONG; + } + v = (int) v; + if (Double.isInfinite(v) && v > 0) { + return STATUS_TOO_HIGH; + } else if (v > precisionFull) { + return STATUS_HIGH; + } else if (v < precisionFull) { + return STATUS_TOO_LOW; + } return STATUS_OK; - } - }else if(minimal offsetName= (gt_metaTileEntity_em_machine, iParameter) -> "Offset Input [e/3]"; - private final IStatusFunction offsetStatus= (gt_metaTileEntity_em_machine, iParameter) -> { - double offset=iParameter.get(); - if(offset>offsetMax){ - return STATUS_TOO_HIGH; - }else if(offset>0){ - return STATUS_HIGH; - }else if(offset==0){ - return STATUS_OK; - }else if(offset>=-offsetMax){ - return STATUS_LOW; - }else if(offset<-offsetMax){ - return STATUS_TOO_LOW; - }else { - return STATUS_WRONG; - } - }; - //private final static String[] DESCRIPTION_O =new String[]{"Full Precision Limit [e/3]","Minimal Precision Limit [e/3]","Offset Limit [e/3]",null,"Max Charge [e/3]","Max Capacity [eV/c^2]","Max Power Usage[EU/t]","Max Recipe Rime [tick]"}; - - public Behaviour_ElectromagneticSeparator(int desiredTier){ - tier=(byte) desiredTier; - ticks =Math.max(20,(1<<(12-desiredTier))*20); - maxCapacity= EMAtomDefinition.getSomethingHeavy().getMass()*(2< minimalName = + (gt_metaTileEntity_em_machine, iParameter) -> "Minimal Precision Input [e/3]"; + private final IStatusFunction minimalStatus = + (gt_metaTileEntity_em_machine, iParameter) -> { + double minimal = iParameter.get(); + double full = fullSetting.get(); + if (Double.isInfinite(minimal) && minimal > 0) { + return STATUS_TOO_HIGH; + } else if (minimal > precisionMinimal) { + if (minimal > full) { + return STATUS_TOO_HIGH; + } else { + return STATUS_HIGH; + } + } else if (minimal == precisionMinimal) { + if (minimal > full) { + return STATUS_TOO_HIGH; + } else { + return STATUS_OK; + } + } else if (minimal < precisionMinimal) { + return STATUS_TOO_LOW; + } else { + return STATUS_WRONG; + } + }; + private static final INameFunction offsetName = + (gt_metaTileEntity_em_machine, iParameter) -> "Offset Input [e/3]"; + private final IStatusFunction offsetStatus = + (gt_metaTileEntity_em_machine, iParameter) -> { + double offset = iParameter.get(); + if (offset > offsetMax) { + return STATUS_TOO_HIGH; + } else if (offset > 0) { + return STATUS_HIGH; + } else if (offset == 0) { + return STATUS_OK; + } else if (offset >= -offsetMax) { + return STATUS_LOW; + } else if (offset < -offsetMax) { + return STATUS_TOO_LOW; + } else { + return STATUS_WRONG; + } + }; + // private final static String[] DESCRIPTION_O =new String[]{"Full Precision Limit [e/3]","Minimal Precision Limit + // [e/3]","Offset Limit [e/3]",null,"Max Charge [e/3]","Max Capacity [eV/c^2]","Max Power Usage[EU/t]","Max Recipe + // Rime [tick]"}; + + public Behaviour_ElectromagneticSeparator(int desiredTier) { + tier = (byte) desiredTier; + ticks = Math.max(20, (1 << (12 - desiredTier)) * 20); + maxCapacity = + EMAtomDefinition.getSomethingHeavy().getMass() * (2 << tier) * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; + maxCharge = 144D * (1 << (tier - 5)); + switch (tier) { case 12: - precisionFull=1; - precisionMinimal =1; + precisionFull = 1; + precisionMinimal = 1; break; case 11: - precisionFull=2; - precisionMinimal =1; + precisionFull = 2; + precisionMinimal = 1; break; case 10: - precisionFull=3; - precisionMinimal =1; + precisionFull = 3; + precisionMinimal = 1; break; case 9: - precisionFull=3; - precisionMinimal =2; + precisionFull = 3; + precisionMinimal = 2; break; case 8: - precisionFull=3; - precisionMinimal =3; + precisionFull = 3; + precisionMinimal = 3; break; case 7: - precisionFull=6; - precisionMinimal =3; + precisionFull = 6; + precisionMinimal = 3; break; case 6: - precisionFull=12; - precisionMinimal =3; + precisionFull = 12; + precisionMinimal = 3; break; case 5: - precisionFull=24; - precisionMinimal =6; + precisionFull = 24; + precisionMinimal = 6; break; - default: precisionFull= precisionMinimal =Byte.MAX_VALUE; + default: + precisionFull = precisionMinimal = Byte.MAX_VALUE; } - offsetMax=1<<((tier-8)<<1); + offsetMax = 1 << ((tier - 8) << 1); } @Override public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) { - Parameters.Group hatch1=parameters.getGroup(7); - fullSetting=hatch1.makeInParameter(0,0,fullName,fullStatus); - minimalSetting=hatch1.makeInParameter(1,2,minimalName,minimalStatus); - Parameters.Group hatch2=parameters.getGroup(8); - offsetSetting=hatch2.makeInParameter(0,0,offsetName,offsetStatus); + Parameters.Group hatch1 = parameters.getGroup(7); + fullSetting = hatch1.makeInParameter(0, 0, fullName, fullStatus); + minimalSetting = hatch1.makeInParameter(1, 2, minimalName, minimalStatus); + Parameters.Group hatch2 = parameters.getGroup(8); + offsetSetting = hatch2.makeInParameter(0, 0, offsetName, offsetStatus); } @Override public boolean checkParametersInAndSetStatuses(GT_MetaTileEntity_EM_machine te, Parameters parameters) { - return fullSetting.getStatus(true).isOk && minimalSetting.getStatus(true).isOk && offsetSetting.getStatus(true).isOk; + return fullSetting.getStatus(true).isOk + && minimalSetting.getStatus(true).isOk + && offsetSetting.getStatus(true).isOk; } @Override - public MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { + public MultiblockControl process( + EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { EMInstanceStackMap input = inputs[0]; - if (input == null || input.isEmpty()) return null;//nothing in only valid input + if (input == null || input.isEmpty()) return null; // nothing in only valid input EMInstanceStack[] stacks = input.valuesToArray(); @@ -155,9 +168,9 @@ public class Behaviour_ElectromagneticSeparator implements GT_MetaTileEntity_EM_ } float excessMass = 0; while (inputMass > maxCapacity) { - EMInstanceStack randomStack = stacks[TecTech.RANDOM.nextInt(stacks.length)]; - double amountToRemove = TecTech.RANDOM.nextDouble()/10D * randomStack.getAmount(); - randomStack.setAmount(sub(randomStack.getAmount(),amountToRemove));//mutates the parent InstanceStackMap + EMInstanceStack randomStack = stacks[TecTech.RANDOM.nextInt(stacks.length)]; + double amountToRemove = TecTech.RANDOM.nextDouble() / 10D * randomStack.getAmount(); + randomStack.setAmount(sub(randomStack.getAmount(), amountToRemove)); // mutates the parent InstanceStackMap if (randomStack.isInvalidAmount()) { input.removeKey(randomStack.getDefinition()); } @@ -166,36 +179,38 @@ public class Behaviour_ElectromagneticSeparator implements GT_MetaTileEntity_EM_ inputMass -= mass; } - double totalCharge=Math.abs(input.getCharge()); - if (totalCharge>maxCharge) return new MultiblockControl<>(excessMass);//AND THEN IT EXPLODES + double totalCharge = Math.abs(input.getCharge()); + if (totalCharge > maxCharge) return new MultiblockControl<>(excessMass); // AND THEN IT EXPLODES - int mEut=(int)((totalCharge/ maxCharge)*V[tier]); + int mEut = (int) ((totalCharge / maxCharge) * V[tier]); mEut = Math.max(mEut, 512); - int mTicks=(int)(ticks*(inputMass/maxCapacity)); - mTicks=Math.max(mTicks,20); + int mTicks = (int) (ticks * (inputMass / maxCapacity)); + mTicks = Math.max(mTicks, 20); EMInstanceStackMap[] outputs = new EMInstanceStackMap[3]; for (int i = 0; i < 3; i++) { outputs[i] = new EMInstanceStackMap(); } - double offsetIn=offsetSetting.get(); - double precisionFullIn=fullSetting.get(); - double precisionMinimalIn=minimalSetting.get(); - double levelsCountPlus1=precisionFullIn-precisionMinimalIn+1; + double offsetIn = offsetSetting.get(); + double precisionFullIn = fullSetting.get(); + double precisionMinimalIn = minimalSetting.get(); + double levelsCountPlus1 = precisionFullIn - precisionMinimalIn + 1; - //take all from hatch handler and put into new map - this takes from hatch to inner data storage - stacks = input.takeAll().valuesToArray();//cleanup stacks - for(EMInstanceStack stack:stacks){ - double charge= stack.getDefinition().getCharge()-offsetIn; - if(charge-precisionMinimalIn){ + // take all from hatch handler and put into new map - this takes from hatch to inner data storage + stacks = input.takeAll().valuesToArray(); // cleanup stacks + for (EMInstanceStack stack : stacks) { + double charge = stack.getDefinition().getCharge() - offsetIn; + if (charge < precisionMinimalIn && charge > -precisionMinimalIn) { outputs[1].putReplace(stack); - }else if(charge>=precisionFullIn){ + } else if (charge >= precisionFullIn) { outputs[2].putReplace(stack); - }else if(charge<=-precisionFullIn){ + } else if (charge <= -precisionFullIn) { outputs[0].putReplace(stack); - }else{ - double amount=mul(stack.getAmount(),(Math.abs(charge)-precisionMinimalIn+1D)/levelsCountPlus1);//todo check + } else { + double amount = mul( + stack.getAmount(), + (Math.abs(charge) - precisionMinimalIn + 1D) / levelsCountPlus1); // todo check if (amount < stack.getAmount()) { EMInstanceStack clone = stack.clone(); clone.setAmount(sub(clone.getAmount(), amount)); @@ -203,14 +218,15 @@ public class Behaviour_ElectromagneticSeparator implements GT_MetaTileEntity_EM_ stack.setAmount(amount); } - if(charge>0){ + if (charge > 0) { outputs[2].putReplace(stack); - }else { + } else { outputs[0].putReplace(stack); } } } - return new MultiblockControl<>(outputs, mEut, 1+((int)Math.abs(offsetIn))/3, 0, 10000, mTicks, 0, excessMass); + return new MultiblockControl<>( + outputs, mEut, 1 + ((int) Math.abs(offsetIn)) / 3, 0, 10000, mTicks, 0, excessMass); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_PrecisionLaser.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_PrecisionLaser.java index 7d472de847..e8049d5052 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_PrecisionLaser.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_PrecisionLaser.java @@ -9,14 +9,13 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.Parameters; */ public class Behaviour_PrecisionLaser implements GT_MetaTileEntity_EM_machine.IBehaviour { final int tier; - public Behaviour_PrecisionLaser(int tier){ - this.tier=tier; + + public Behaviour_PrecisionLaser(int tier) { + this.tier = tier; } @Override - public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) { - - } + public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) {} @Override public boolean checkParametersInAndSetStatuses(GT_MetaTileEntity_EM_machine te, Parameters parameters) { @@ -24,7 +23,8 @@ public class Behaviour_PrecisionLaser implements GT_MetaTileEntity_EM_machine.IB } @Override - public MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { + public MultiblockControl process( + EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { return null; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Recycler.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Recycler.java index 05050a3c66..5c0cd5acc0 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Recycler.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Recycler.java @@ -1,20 +1,21 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.em_machine; +import static com.github.technus.tectech.util.CommonValues.V; + import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.thing.metaTileEntity.multi.base.MultiblockControl; import com.github.technus.tectech.thing.metaTileEntity.multi.base.Parameters; -import static com.github.technus.tectech.util.CommonValues.V; - /** * Created by danie_000 on 24.12.2017. */ public class Behaviour_Recycler implements GT_MetaTileEntity_EM_machine.IBehaviour { private final int tier; private final double coeff; - public Behaviour_Recycler(int tier){ - this.tier=tier; - coeff=(1D/Math.pow(2D,tier-4)); + + public Behaviour_Recycler(int tier) { + this.tier = tier; + coeff = (1D / Math.pow(2D, tier - 4)); } @Override @@ -26,14 +27,14 @@ public class Behaviour_Recycler implements GT_MetaTileEntity_EM_machine.IBehavio } @Override - public MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { - double mass=0; + public MultiblockControl process( + EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { + double mass = 0; for (EMInstanceStackMap input : inputs) { if (input != null) { mass += input.getMass(); } } - return new MultiblockControl<>(null,(int)V[tier], 4, - 0,10000,20, 0,mass*coeff); + return new MultiblockControl<>(null, (int) V[tier], 4, 0, 10000, 20, 0, mass * coeff); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Scanner.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Scanner.java index fa517c73d4..873e5d7615 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Scanner.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Scanner.java @@ -9,14 +9,13 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.Parameters; */ public class Behaviour_Scanner implements GT_MetaTileEntity_EM_machine.IBehaviour { final int tier; - public Behaviour_Scanner(int tier){ - this.tier=tier; + + public Behaviour_Scanner(int tier) { + this.tier = tier; } @Override - public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) { - - } + public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) {} @Override public boolean checkParametersInAndSetStatuses(GT_MetaTileEntity_EM_machine te, Parameters parameters) { @@ -24,7 +23,8 @@ public class Behaviour_Scanner implements GT_MetaTileEntity_EM_machine.IBehaviou } @Override - public MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { + public MultiblockControl process( + EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { return null; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/GT_MetaTileEntity_EM_machine.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/GT_MetaTileEntity_EM_machine.java index e1ca5d6d9e..2078a2e5ab 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/GT_MetaTileEntity_EM_machine.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/GT_MetaTileEntity_EM_machine.java @@ -1,5 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.em_machine; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.thing.block.QuantumGlassBlock; @@ -12,6 +20,8 @@ import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import java.util.HashMap; +import java.util.function.Supplier; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.init.Blocks; @@ -20,82 +30,87 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; -import java.util.HashMap; -import java.util.function.Supplier; - -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region variables + // region variables public static final String machine = "EM Machinery"; - private ItemStack loadedMachine; + private ItemStack loadedMachine; private IBehaviour currentBehaviour; - //endregion - - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.processing.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.processing.hint.1"),//2 - Elemental Hatches or Molecular Casing + // endregion + + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.processing.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal( + "gt.blockmachines.multimachine.em.processing.hint.1"), // 2 - Elemental Hatches or Molecular Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {" A ", " AAA ", " EBE ", " ECE ", " EBE ", " AAA ", " A "}, - {" DDD ", "AAAAA", "E---E", "E---E", "E---E", "AAAAA", " FFF "}, - {"AD-DA", "AA~AA", "B---B", "C- -C", "B---B", "AA-AA", "AFFFA"}, - {" DDD ", "AAAAA", "E---E", "E---E", "E---E", "AAAAA", " FFF "}, - {" A ", " AAA ", " EBE ", " ECE ", " EBE ", " AAA ", " A "} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('C', ofBlock(sBlockCasingsTT, 6)) - .addElement('E', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('D', ofHatchAdderOptional(GT_MetaTileEntity_EM_machine::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_machine::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) - .build(); - //endregion - - //region parameters - protected Parameters.Group.ParameterIn[] inputMux; - protected Parameters.Group.ParameterIn[] outputMux; - private static final IStatusFunction SRC_STATUS = - (base, p) -> { - double v = p.get(); - if (Double.isNaN(v)) return STATUS_WRONG; - v = (int) v; - if (v < 0) return STATUS_TOO_LOW; - if (v == 0) return STATUS_NEUTRAL; - if (v >= base.eInputHatches.size()) return STATUS_TOO_HIGH; - return STATUS_OK; - }; - private static final IStatusFunction DST_STATUS = - (base, p) -> { - if (base.inputMux[p.hatchId()].getStatus(false) == STATUS_OK) { - double v = p.get(); - if (Double.isNaN(v)) return STATUS_WRONG; - v = (int) v; - if (v < 0) return STATUS_TOO_LOW; - if (v == 0) return STATUS_LOW; - if (v >= base.eInputHatches.size()) return STATUS_TOO_HIGH; - return STATUS_OK; - } - return STATUS_NEUTRAL; - }; - private static final INameFunction ROUTE_NAME = - (base, p) -> (p.parameterId() == 0 ? translateToLocal("tt.keyword.Source") + " " : translateToLocal("tt.keyword.Destination") + " ") + p.hatchId(); - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {" A ", " AAA ", " EBE ", " ECE ", " EBE ", " AAA ", " A "}, + {" DDD ", "AAAAA", "E---E", "E---E", "E---E", "AAAAA", " FFF "}, + {"AD-DA", "AA~AA", "B---B", "C- -C", "B---B", "AA-AA", "AFFFA"}, + {" DDD ", "AAAAA", "E---E", "E---E", "E---E", "AAAAA", " FFF "}, + {" A ", " AAA ", " EBE ", " ECE ", " EBE ", " AAA ", " A "} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement('C', ofBlock(sBlockCasingsTT, 6)) + .addElement('E', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'D', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_machine::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'F', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_machine::addElementalToMachineList, + textureOffset + 4, + 2, + sBlockCasingsTT, + 4)) + .build(); + // endregion + + // region parameters + protected Parameters.Group.ParameterIn[] inputMux; + protected Parameters.Group.ParameterIn[] outputMux; + private static final IStatusFunction SRC_STATUS = (base, p) -> { + double v = p.get(); + if (Double.isNaN(v)) return STATUS_WRONG; + v = (int) v; + if (v < 0) return STATUS_TOO_LOW; + if (v == 0) return STATUS_NEUTRAL; + if (v >= base.eInputHatches.size()) return STATUS_TOO_HIGH; + return STATUS_OK; + }; + private static final IStatusFunction DST_STATUS = (base, p) -> { + if (base.inputMux[p.hatchId()].getStatus(false) == STATUS_OK) { + double v = p.get(); + if (Double.isNaN(v)) return STATUS_WRONG; + v = (int) v; + if (v < 0) return STATUS_TOO_LOW; + if (v == 0) return STATUS_LOW; + if (v >= base.eInputHatches.size()) return STATUS_TOO_HIGH; + return STATUS_OK; + } + return STATUS_NEUTRAL; + }; + private static final INameFunction ROUTE_NAME = (base, p) -> (p.parameterId() == 0 + ? translateToLocal("tt.keyword.Source") + " " + : translateToLocal("tt.keyword.Destination") + " ") + + p.hatchId(); + // endregion public GT_MetaTileEntity_EM_machine(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -111,7 +126,8 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa return false; } loadedMachine = newMachine; - Supplier behaviourSupplier = GT_MetaTileEntity_EM_machine.BEHAVIOUR_MAP.get(new TT_Utility.ItemStack_NoNBT(newMachine)); + Supplier behaviourSupplier = + GT_MetaTileEntity_EM_machine.BEHAVIOUR_MAP.get(new TT_Utility.ItemStack_NoNBT(newMachine)); if (currentBehaviour == null && behaviourSupplier == null) { return false; } @@ -137,7 +153,8 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa public static void registerBehaviour(Supplier behaviour, ItemStack is) { BEHAVIOUR_MAP.put(new TT_Utility.ItemStack_NoNBT(is), behaviour); - TecTech.LOGGER.info("Registered EM machine behaviour " + behaviour.get().getClass().getSimpleName() + ' ' + new TT_Utility.ItemStack_NoNBT(is).toString()); + TecTech.LOGGER.info("Registered EM machine behaviour " + + behaviour.get().getClass().getSimpleName() + ' ' + new TT_Utility.ItemStack_NoNBT(is).toString()); } public interface IBehaviour { @@ -165,15 +182,16 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa * @param parameters array passed from previous method! * @return null if recipe should not start, control object to set machine state and start recipe */ - MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters); + MultiblockControl process( + EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters); } private void quantumStuff(boolean shouldIExist) { IGregTechTileEntity base = getBaseMetaTileEntity(); if (base != null && base.getWorld() != null) { - int xDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetX * 2 + base.getXCoord(); - int yDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetY * 2 + base.getYCoord(); - int zDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetZ * 2 + base.getZCoord(); + int xDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetX * 2 + base.getXCoord(); + int yDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetY * 2 + base.getYCoord(); + int zDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetZ * 2 + base.getZCoord(); Block block = base.getWorld().getBlock(xDir, yDir, zDir); if (shouldIExist) { if (block != null && block.getMaterial() == Material.air) { @@ -227,15 +245,28 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.processing.name")) // Machine Type: Quantum Processing machine - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.processing.desc.0")) // Controller block of the Quantum Processing machine + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.processing.name")) // Machine Type: Quantum Processing machine + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.processing.desc.0")) // Controller block of the + // Quantum Processing machine .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(5, 5, 7, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.Elemental"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), 2) // Elemental Hatch: Any Molecular Casing with 2 dots - .addOtherStructurePart(translateToLocal("tt.keyword.Parametrizer"), translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Parametrizer: Any High Power Casing - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.Elemental"), + translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), + 2) // Elemental Hatch: Any Molecular Casing with 2 dots + .addOtherStructurePart( + translateToLocal("tt.keyword.Parametrizer"), + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Parametrizer: Any High Power Casing + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -292,7 +323,7 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa explodeMultiblock(); return false; } - //update other parameters + // update other parameters outputEM = control.getValue(); mEUt = control.getEUT(); eAmpereFlow = control.getAmperage(); @@ -329,7 +360,7 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa handles[i] = eOutputHatches.get(pointer).getContentHandler(); } } - //output + // output for (int i = 0; i < 6 && i < outputEM.length; i++) { if (handles[i] != null && outputEM[i] != null && outputEM[i].hasStacks()) { handles[i].putUnifyAll(outputEM[i]); @@ -337,7 +368,7 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa } } quantumStuff(false); - //all other are handled by base multi block code - cleaning is automatic + // all other are handled by base multi block code - cleaning is automatic } @Override @@ -355,9 +386,12 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa setCurrentBehaviour(); } if (aBaseMetaTileEntity.isActive()) { - int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 2 + aBaseMetaTileEntity.getXCoord(); - int yDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetY * 2 + aBaseMetaTileEntity.getYCoord(); - int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 2 + aBaseMetaTileEntity.getZCoord(); + int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 2 + + aBaseMetaTileEntity.getXCoord(); + int yDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetY * 2 + + aBaseMetaTileEntity.getYCoord(); + int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 2 + + aBaseMetaTileEntity.getZCoord(); aBaseMetaTileEntity.getWorld().markBlockRangeForRenderUpdate(xDir, yDir, zDir, xDir, yDir, zDir); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java index 1cc3123528..2975d28fa5 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.pipe; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.mechanics.pipe.IActivePipe; @@ -28,15 +31,12 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 26.02.2017. */ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConnectsToDataPipe, IActivePipe { private static Textures.BlockIcons.CustomIcon EMpipe; - private static Textures.BlockIcons.CustomIcon EMbar,EMbarActive; + private static Textures.BlockIcons.CustomIcon EMbar, EMbarActive; public byte connectionCount = 0; private boolean active; @@ -64,8 +64,18 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aConnections, byte aColorIndex, boolean aConnected, boolean aRedstone) { - return new ITexture[]{new GT_RenderedTexture(EMpipe), new GT_RenderedTexture(getActive()?EMbarActive:EMbar, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA()))}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aConnections, + byte aColorIndex, + boolean aConnected, + boolean aRedstone) { + return new ITexture[] { + new GT_RenderedTexture(EMpipe), + new GT_RenderedTexture( + getActive() ? EMbarActive : EMbar, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA())) + }; } @Override @@ -80,12 +90,12 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn @Override public void loadNBTData(NBTTagCompound nbtTagCompound) { - active=nbtTagCompound.getBoolean("eActive"); + active = nbtTagCompound.getBoolean("eActive"); } @Override public void saveNBTData(NBTTagCompound nbtTagCompound) { - nbtTagCompound.setBoolean("eActive",active); + nbtTagCompound.setBoolean("eActive", active); } @Override @@ -100,18 +110,22 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.pipe.datastream.desc.0"),//Advanced data transmission - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.pipe.datastream.desc.1"),//Don't stare at the beam! - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.datastream.desc.2"),//Must be painted to work - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.datastream.desc.3")//Do not cross or split + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.pipe.datastream.desc.0"), // Advanced data transmission + EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockmachines.pipe.datastream.desc.1"), // Don't stare at the beam! + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.pipe.datastream.desc.2"), // Must be painted to work + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.pipe.datastream.desc.3") // Do not cross or split }; } @Override public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { - if(aBaseMetaTileEntity.isClientSide()){ + if (aBaseMetaTileEntity.isClientSide()) { NetworkDispatcher.INSTANCE.sendToServer(new PipeActivityMessage.PipeActivityQuery(this)); } onPostTick(aBaseMetaTileEntity, 31); @@ -121,20 +135,21 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isServerSide()) { if ((aTick & 31) == 31) { - if(TecTech.RANDOM.nextInt(15)==0) { - NetworkDispatcher.INSTANCE.sendToAllAround(new PipeActivityMessage.PipeActivityData(this), + if (TecTech.RANDOM.nextInt(15) == 0) { + NetworkDispatcher.INSTANCE.sendToAllAround( + new PipeActivityMessage.PipeActivityData(this), aBaseMetaTileEntity.getWorld().provider.dimensionId, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), 256); } - if(active){ - active=false; + if (active) { + active = false; } mConnections = 0; connectionCount = 0; - byte myColor=aBaseMetaTileEntity.getColorization(); + byte myColor = aBaseMetaTileEntity.getColorization(); if (aBaseMetaTileEntity.getColorization() < 0) { return; } @@ -146,18 +161,18 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn if (tColor != myColor) { continue; } - if(((IConnectsToDataPipe) tTileEntity).canConnectData(b1)){ + if (((IConnectsToDataPipe) tTileEntity).canConnectData(b1)) { mConnections |= 1 << b0; connectionCount++; } - }else if(tTileEntity instanceof IGregTechTileEntity){ - IMetaTileEntity meta=((IGregTechTileEntity) tTileEntity).getMetaTileEntity(); - if(meta instanceof IConnectsToDataPipe){ + } else if (tTileEntity instanceof IGregTechTileEntity) { + IMetaTileEntity meta = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity(); + if (meta instanceof IConnectsToDataPipe) { byte tColor = ((IConnectsToDataPipe) meta).getColorization(); if (tColor != myColor) { continue; } - if(((IConnectsToDataPipe) meta).canConnectData(b1)){ + if (((IConnectsToDataPipe) meta).canConnectData(b1)) { mConnections |= 1 << b0; connectionCount++; } @@ -182,18 +197,18 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn } for (byte b = 0; b < 6; b++) { if ((mConnections & 1 << b) == 0) { - continue;//if not connected continue + continue; // if not connected continue } TileEntity next = getBaseMetaTileEntity().getTileEntityAtSide(b); if (next instanceof IConnectsToDataPipe && next != source) { - if(((IConnectsToDataPipe) next).isDataInputFacing(GT_Utility.getOppositeSide(b))){ + if (((IConnectsToDataPipe) next).isDataInputFacing(GT_Utility.getOppositeSide(b))) { return (IConnectsToDataPipe) next; } - }else if(next instanceof IGregTechTileEntity) { + } else if (next instanceof IGregTechTileEntity) { IMetaTileEntity meta = ((IGregTechTileEntity) next).getMetaTileEntity(); if (meta instanceof IConnectsToDataPipe && meta != source) { - if (meta instanceof GT_MetaTileEntity_Pipe_Data && - ((GT_MetaTileEntity_Pipe_Data) meta).connectionCount == 2) { + if (meta instanceof GT_MetaTileEntity_Pipe_Data + && ((GT_MetaTileEntity_Pipe_Data) meta).connectionCount == 2) { ((GT_MetaTileEntity_Pipe_Data) meta).markUsed(); return (IConnectsToDataPipe) meta; } @@ -208,7 +223,7 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) { - float tSpace = (1f - 0.375f)/2; + float tSpace = (1f - 0.375f) / 2; float tSide0 = tSpace; float tSide1 = 1f - tSpace; float tSide2 = tSpace; @@ -216,39 +231,58 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn float tSide4 = tSpace; float tSide5 = 1f - tSpace; - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 0) != 0){tSide0=tSide2=tSide4=0;tSide3=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 1) != 0){tSide2=tSide4=0;tSide1=tSide3=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 2) != 0){tSide0=tSide2=tSide4=0;tSide1=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 3) != 0){tSide0=tSide4=0;tSide1=tSide3=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 4) != 0){tSide0=tSide2=tSide4=0;tSide1=tSide3=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 5) != 0){tSide0=tSide2=0;tSide1=tSide3=tSide5=1;} + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 0) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 1) != 0) { + tSide2 = tSide4 = 0; + tSide1 = tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 2) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide1 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 3) != 0) { + tSide0 = tSide4 = 0; + tSide1 = tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 4) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide1 = tSide3 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 5) != 0) { + tSide0 = tSide2 = 0; + tSide1 = tSide3 = tSide5 = 1; + } byte tConn = ((BaseMetaPipeEntity) getBaseMetaTileEntity()).mConnections; - if((tConn & 1 << ForgeDirection.DOWN.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.DOWN.ordinal()) != 0) { tSide0 = 0f; } - if((tConn & 1 << ForgeDirection.UP.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.UP.ordinal()) != 0) { tSide1 = 1f; } - if((tConn & 1 << ForgeDirection.NORTH.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.NORTH.ordinal()) != 0) { tSide2 = 0f; } - if((tConn & 1 << ForgeDirection.SOUTH.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.SOUTH.ordinal()) != 0) { tSide3 = 1f; } - if((tConn & 1 << ForgeDirection.WEST.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.WEST.ordinal()) != 0) { tSide4 = 0f; } - if((tConn & 1 << ForgeDirection.EAST.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.EAST.ordinal()) != 0) { tSide5 = 1f; } - return AxisAlignedBB.getBoundingBox(aX + tSide4, aY + tSide0, aZ + tSide2, aX + tSide5, aY + tSide1, aZ + tSide3); + return AxisAlignedBB.getBoundingBox( + aX + tSide4, aY + tSide0, aZ + tSide2, aX + tSide5, aY + tSide1, aZ + tSide3); } @Override public float getThickNess() { - if(GT_Mod.instance.isClientSide() && GT_Client.hideValue==1) { + if (GT_Mod.instance.isClientSide() && GT_Client.hideValue == 1) { return 0.0625F; } return 0.375f; @@ -271,7 +305,7 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn @Override public void setActive(boolean state) { - if(state!=active) { + if (state != active) { active = state; getBaseMetaTileEntity().issueTextureUpdate(); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java index d19fec6f05..4a5679e759 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.pipe; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.mechanics.pipe.IActivePipe; @@ -29,15 +32,12 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 26.02.2017. */ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnectsToElementalPipe, IActivePipe { private static Textures.BlockIcons.CustomIcon EMpipe; - static Textures.BlockIcons.CustomIcon EMcandy,EMCandyActive; + static Textures.BlockIcons.CustomIcon EMcandy, EMCandyActive; public byte connectionCount = 0; private boolean active; @@ -65,8 +65,18 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aConnections, byte aColorIndex, boolean aConnected, boolean aRedstone) { - return new ITexture[]{new GT_RenderedTexture(EMpipe), new GT_RenderedTexture(getActive()?EMCandyActive:EMcandy, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA()))}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aConnections, + byte aColorIndex, + boolean aConnected, + boolean aRedstone) { + return new ITexture[] { + new GT_RenderedTexture(EMpipe), + new GT_RenderedTexture( + getActive() ? EMCandyActive : EMcandy, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA())) + }; } @Override @@ -81,12 +91,12 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec @Override public void loadNBTData(NBTTagCompound nbtTagCompound) { - active=nbtTagCompound.getBoolean("eActive"); + active = nbtTagCompound.getBoolean("eActive"); } @Override public void saveNBTData(NBTTagCompound nbtTagCompound) { - nbtTagCompound.setBoolean("eActive",active); + nbtTagCompound.setBoolean("eActive", active); } @Override @@ -101,18 +111,22 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.0"),//Quantum tunneling device. - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.1"),//Not a portal!!! - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.2"),//Must be painted to work - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.3")//Do not cross, split or turn + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.0"), // Quantum tunneling device. + EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.1"), // Not a portal!!! + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.2"), // Must be painted to work + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.3") // Do not cross, split or turn }; } @Override public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { - if(getBaseMetaTileEntity().isClientSide()){ + if (getBaseMetaTileEntity().isClientSide()) { NetworkDispatcher.INSTANCE.sendToServer(new PipeActivityMessage.PipeActivityQuery(this)); } onPostTick(aBaseMetaTileEntity, 31); @@ -122,16 +136,17 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isServerSide()) { if ((aTick & 31) == 31) { - if(TecTech.RANDOM.nextInt(15)==0) { - NetworkDispatcher.INSTANCE.sendToAllAround(new PipeActivityMessage.PipeActivityData(this), + if (TecTech.RANDOM.nextInt(15) == 0) { + NetworkDispatcher.INSTANCE.sendToAllAround( + new PipeActivityMessage.PipeActivityData(this), aBaseMetaTileEntity.getWorld().provider.dimensionId, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), 256); } - if(active){ - active=false; + if (active) { + active = false; } mConnections = 0; connectionCount = 0; @@ -140,34 +155,42 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec } for (byte b0 = 0, b1; b0 < 6; b0++) { b1 = GT_Utility.getOppositeSide(b0); - //if (!aBaseMetaTileEntity.getCoverBehaviorAtSide(b0).alwaysLookConnected(b0, aBaseMetaTileEntity.getCoverIDAtSide(b0), aBaseMetaTileEntity.getCoverDataAtSide(b0), aBaseMetaTileEntity)) { + // if (!aBaseMetaTileEntity.getCoverBehaviorAtSide(b0).alwaysLookConnected(b0, + // aBaseMetaTileEntity.getCoverIDAtSide(b0), aBaseMetaTileEntity.getCoverDataAtSide(b0), + // aBaseMetaTileEntity)) { TileEntity tTileEntity = aBaseMetaTileEntity.getTileEntityAtSide(b0); if (tTileEntity instanceof IColoredTileEntity) { - //if (aBaseMetaTileEntity.getColorization() >= 0) { + // if (aBaseMetaTileEntity.getColorization() >= 0) { byte tColor = ((IColoredTileEntity) tTileEntity).getColorization(); if (tColor != aBaseMetaTileEntity.getColorization()) { continue; } - //} + // } } - if (tTileEntity instanceof IConnectsToElementalPipe && ((IConnectsToElementalPipe) tTileEntity).canConnect(b1)) { + if (tTileEntity instanceof IConnectsToElementalPipe + && ((IConnectsToElementalPipe) tTileEntity).canConnect(b1)) { mConnections |= 1 << b0; connectionCount++; - } else if (tTileEntity instanceof IGregTechTileEntity && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() instanceof IConnectsToElementalPipe) { - if (//((IGregTechTileEntity) tTileEntity).getCoverBehaviorAtSide(b1).alwaysLookConnected(b1, ((IGregTechTileEntity) tTileEntity).getCoverIDAtSide(b1), ((IGregTechTileEntity) tTileEntity).getCoverDataAtSide(b1), ((IGregTechTileEntity) tTileEntity)) || - ((IConnectsToElementalPipe) ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()).canConnect(b1)) { + } else if (tTileEntity instanceof IGregTechTileEntity + && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() + instanceof IConnectsToElementalPipe) { + if ( // ((IGregTechTileEntity) tTileEntity).getCoverBehaviorAtSide(b1).alwaysLookConnected(b1, + // ((IGregTechTileEntity) tTileEntity).getCoverIDAtSide(b1), ((IGregTechTileEntity) + // tTileEntity).getCoverDataAtSide(b1), ((IGregTechTileEntity) tTileEntity)) || + ((IConnectsToElementalPipe) ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()) + .canConnect(b1)) { mConnections |= 1 << b0; connectionCount++; } } - //} - //else { + // } + // else { // mConnections |= (1 << b0); // if (mOld != mConnections) { // connectionCount++; // mOld = mConnections; // } - //} + // } } } } else if (aBaseMetaTileEntity.isClientSide() && GT_Client.changeDetected == 4) { @@ -182,7 +205,7 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) { - float tSpace = (1f - 0.5f)/2; + float tSpace = (1f - 0.5f) / 2; float tSide0 = tSpace; float tSide1 = 1f - tSpace; float tSide2 = tSpace; @@ -190,39 +213,58 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec float tSide4 = tSpace; float tSide5 = 1f - tSpace; - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 0) != 0){tSide0=tSide2=tSide4=0;tSide3=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 1) != 0){tSide2=tSide4=0;tSide1=tSide3=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 2) != 0){tSide0=tSide2=tSide4=0;tSide1=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 3) != 0){tSide0=tSide4=0;tSide1=tSide3=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 4) != 0){tSide0=tSide2=tSide4=0;tSide1=tSide3=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 5) != 0){tSide0=tSide2=0;tSide1=tSide3=tSide5=1;} + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 0) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 1) != 0) { + tSide2 = tSide4 = 0; + tSide1 = tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 2) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide1 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 3) != 0) { + tSide0 = tSide4 = 0; + tSide1 = tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 4) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide1 = tSide3 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 5) != 0) { + tSide0 = tSide2 = 0; + tSide1 = tSide3 = tSide5 = 1; + } byte tConn = ((BaseMetaPipeEntity) getBaseMetaTileEntity()).mConnections; - if((tConn & 1 << ForgeDirection.DOWN.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.DOWN.ordinal()) != 0) { tSide0 = 0f; } - if((tConn & 1 << ForgeDirection.UP.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.UP.ordinal()) != 0) { tSide1 = 1f; } - if((tConn & 1 << ForgeDirection.NORTH.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.NORTH.ordinal()) != 0) { tSide2 = 0f; } - if((tConn & 1 << ForgeDirection.SOUTH.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.SOUTH.ordinal()) != 0) { tSide3 = 1f; } - if((tConn & 1 << ForgeDirection.WEST.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.WEST.ordinal()) != 0) { tSide4 = 0f; } - if((tConn & 1 << ForgeDirection.EAST.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.EAST.ordinal()) != 0) { tSide5 = 1f; } - return AxisAlignedBB.getBoundingBox(aX + tSide4, aY + tSide0, aZ + tSide2, aX + tSide5, aY + tSide1, aZ + tSide3); + return AxisAlignedBB.getBoundingBox( + aX + tSide4, aY + tSide0, aZ + tSide2, aX + tSide5, aY + tSide1, aZ + tSide3); } @Override public float getThickNess() { - if(GT_Mod.instance.isClientSide() && GT_Client.hideValue==1) { + if (GT_Mod.instance.isClientSide() && GT_Client.hideValue == 1) { return 0.0625F; } return 0.5f; @@ -235,7 +277,7 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec @Override public void setActive(boolean state) { - if(state!=active) { + if (state != active) { active = state; getBaseMetaTileEntity().issueTextureUpdate(); } @@ -248,8 +290,8 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec @Override public void onRemoval() { - if(getActive()){ - TecTech.anomalyHandler.addAnomaly(getBaseMetaTileEntity(),1e10f); + if (getActive()) { + TecTech.anomalyHandler.addAnomaly(getBaseMetaTileEntity(), 1e10f); } } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java index 1f4fd71a39..e83a358f78 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java @@ -1,5 +1,10 @@ package com.github.technus.tectech.thing.metaTileEntity.pipe; +import static com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EM.EMCandyActive; +import static com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EM.EMcandy; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.mechanics.pipe.IActivePipe; @@ -29,16 +34,11 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import static com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EM.EMCandyActive; -import static com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EM.EMcandy; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static net.minecraft.util.StatCollector.translateToLocal; - public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements IConnectsToEnergyTunnel, IActivePipe { private static Textures.BlockIcons.CustomIcon EMpipe; public byte connectionCount = 0; - private boolean active,lastActive; + private boolean active, lastActive; public GT_MetaTileEntity_Pipe_Energy(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional, 0); @@ -61,8 +61,18 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aConnections, byte aColorIndex, boolean aConnected, boolean aRedstone) { - return new ITexture[]{new GT_RenderedTexture(EMpipe), new GT_RenderedTexture(getActive()?EMCandyActive:EMcandy, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA()))}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aConnections, + byte aColorIndex, + boolean aConnected, + boolean aRedstone) { + return new ITexture[] { + new GT_RenderedTexture(EMpipe), + new GT_RenderedTexture( + getActive() ? EMCandyActive : EMcandy, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA())) + }; } @Override @@ -77,12 +87,12 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo @Override public void loadNBTData(NBTTagCompound nbtTagCompound) { - active=nbtTagCompound.getBoolean("eActive"); + active = nbtTagCompound.getBoolean("eActive"); } @Override public void saveNBTData(NBTTagCompound nbtTagCompound) { - nbtTagCompound.setBoolean("eActive",active); + nbtTagCompound.setBoolean("eActive", active); } @Override @@ -97,18 +107,22 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.pipe.energystream.desc.0"),//Laser tunneling device. - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.pipe.energystream.desc.1"),//Bright Vacuum!!! - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.energystream.desc.2"),//Must be painted to work - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.energystream.desc.3")//Do not split or turn + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.pipe.energystream.desc.0"), // Laser tunneling device. + EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockmachines.pipe.energystream.desc.1"), // Bright Vacuum!!! + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.pipe.energystream.desc.2"), // Must be painted to work + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.pipe.energystream.desc.3") // Do not split or turn }; } @Override public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { - if(getBaseMetaTileEntity().isClientSide()){ + if (getBaseMetaTileEntity().isClientSide()) { NetworkDispatcher.INSTANCE.sendToServer(new PipeActivityMessage.PipeActivityQuery(this)); } onPostTick(aBaseMetaTileEntity, 31); @@ -118,16 +132,17 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isServerSide()) { if ((aTick & 31) == 31) { - if(TecTech.RANDOM.nextInt(15)==0) { - NetworkDispatcher.INSTANCE.sendToAllAround(new PipeActivityMessage.PipeActivityData(this), + if (TecTech.RANDOM.nextInt(15) == 0) { + NetworkDispatcher.INSTANCE.sendToAllAround( + new PipeActivityMessage.PipeActivityData(this), aBaseMetaTileEntity.getWorld().provider.dimensionId, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), 256); } - if(active){ - active=false; + if (active) { + active = false; } mConnections = 0; connectionCount = 0; @@ -136,34 +151,42 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo } for (byte b0 = 0, b1; b0 < 6; b0++) { b1 = GT_Utility.getOppositeSide(b0); - //if (!aBaseMetaTileEntity.getCoverBehaviorAtSide(b0).alwaysLookConnected(b0, aBaseMetaTileEntity.getCoverIDAtSide(b0), aBaseMetaTileEntity.getCoverDataAtSide(b0), aBaseMetaTileEntity)) { + // if (!aBaseMetaTileEntity.getCoverBehaviorAtSide(b0).alwaysLookConnected(b0, + // aBaseMetaTileEntity.getCoverIDAtSide(b0), aBaseMetaTileEntity.getCoverDataAtSide(b0), + // aBaseMetaTileEntity)) { TileEntity tTileEntity = aBaseMetaTileEntity.getTileEntityAtSide(b0); if (tTileEntity instanceof IColoredTileEntity) { - //if (aBaseMetaTileEntity.getColorization() >= 0) { + // if (aBaseMetaTileEntity.getColorization() >= 0) { byte tColor = ((IColoredTileEntity) tTileEntity).getColorization(); if (tColor != aBaseMetaTileEntity.getColorization()) { continue; } - //} + // } } - if (tTileEntity instanceof IConnectsToEnergyTunnel && ((IConnectsToEnergyTunnel) tTileEntity).canConnect(b1)) { + if (tTileEntity instanceof IConnectsToEnergyTunnel + && ((IConnectsToEnergyTunnel) tTileEntity).canConnect(b1)) { mConnections |= 1 << b0; connectionCount++; - } else if (tTileEntity instanceof IGregTechTileEntity && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() instanceof IConnectsToEnergyTunnel) { - if (//((IGregTechTileEntity) tTileEntity).getCoverBehaviorAtSide(b1).alwaysLookConnected(b1, ((IGregTechTileEntity) tTileEntity).getCoverIDAtSide(b1), ((IGregTechTileEntity) tTileEntity).getCoverDataAtSide(b1), ((IGregTechTileEntity) tTileEntity)) || - ((IConnectsToEnergyTunnel) ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()).canConnect(b1)) { + } else if (tTileEntity instanceof IGregTechTileEntity + && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() + instanceof IConnectsToEnergyTunnel) { + if ( // ((IGregTechTileEntity) tTileEntity).getCoverBehaviorAtSide(b1).alwaysLookConnected(b1, + // ((IGregTechTileEntity) tTileEntity).getCoverIDAtSide(b1), ((IGregTechTileEntity) + // tTileEntity).getCoverDataAtSide(b1), ((IGregTechTileEntity) tTileEntity)) || + ((IConnectsToEnergyTunnel) ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()) + .canConnect(b1)) { mConnections |= 1 << b0; connectionCount++; } } - //} - //else { + // } + // else { // mConnections |= (1 << b0); // if (mOld != mConnections) { // connectionCount++; // mOld = mConnections; // } - //} + // } } } @@ -173,8 +196,8 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo } @Override - public void setActive(boolean state){ - if(state!=active) { + public void setActive(boolean state) { + if (state != active) { active = state; getBaseMetaTileEntity().issueTextureUpdate(); } @@ -197,7 +220,7 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) { - float tSpace = (1f - 0.5f)/2; + float tSpace = (1f - 0.5f) / 2; float tSide0 = tSpace; float tSide1 = 1f - tSpace; float tSide2 = tSpace; @@ -205,41 +228,60 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo float tSide4 = tSpace; float tSide5 = 1f - tSpace; - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 0) != 0){tSide0=tSide2=tSide4=0;tSide3=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 1) != 0){tSide2=tSide4=0;tSide1=tSide3=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 2) != 0){tSide0=tSide2=tSide4=0;tSide1=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 3) != 0){tSide0=tSide4=0;tSide1=tSide3=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 4) != 0){tSide0=tSide2=tSide4=0;tSide1=tSide3=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 5) != 0){tSide0=tSide2=0;tSide1=tSide3=tSide5=1;} + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 0) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 1) != 0) { + tSide2 = tSide4 = 0; + tSide1 = tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 2) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide1 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 3) != 0) { + tSide0 = tSide4 = 0; + tSide1 = tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 4) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide1 = tSide3 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 5) != 0) { + tSide0 = tSide2 = 0; + tSide1 = tSide3 = tSide5 = 1; + } byte tConn = ((BaseMetaPipeEntity) getBaseMetaTileEntity()).mConnections; - if((tConn & 1 << ForgeDirection.DOWN.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.DOWN.ordinal()) != 0) { tSide0 = 0f; } - if((tConn & 1 << ForgeDirection.UP.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.UP.ordinal()) != 0) { tSide1 = 1f; } - if((tConn & 1 << ForgeDirection.NORTH.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.NORTH.ordinal()) != 0) { tSide2 = 0f; } - if((tConn & 1 << ForgeDirection.SOUTH.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.SOUTH.ordinal()) != 0) { tSide3 = 1f; } - if((tConn & 1 << ForgeDirection.WEST.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.WEST.ordinal()) != 0) { tSide4 = 0f; } - if((tConn & 1 << ForgeDirection.EAST.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.EAST.ordinal()) != 0) { tSide5 = 1f; } - return AxisAlignedBB.getBoundingBox(aX + tSide4, aY + tSide0, aZ + tSide2, aX + tSide5, aY + tSide1, aZ + tSide3); + return AxisAlignedBB.getBoundingBox( + aX + tSide4, aY + tSide0, aZ + tSide2, aX + tSide5, aY + tSide1, aZ + tSide3); } @Override public float getThickNess() { - if(GT_Mod.instance.isClientSide() && GT_Client.hideValue==1) { + if (GT_Mod.instance.isClientSide() && GT_Client.hideValue == 1) { return 0.0625F; } return 0.5f; } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java index f3fc2145a6..b3be875b85 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.single; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_Container_BuckConverter; import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_GUIContainer_BuckConverter; import com.github.technus.tectech.util.CommonValues; @@ -20,21 +23,18 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; -import static net.minecraft.util.StatCollector.translateToLocal; - public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMachineBlock { - private static GT_RenderedTexture BUCK,BUCK_ACTIVE; - public int EUT=0,AMP=0; + private static GT_RenderedTexture BUCK, BUCK_ACTIVE; + public int EUT = 0, AMP = 0; public GT_MetaTileEntity_BuckConverter(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_BuckConverter(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } @Override @@ -51,11 +51,21 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aSide == aFacing ? (aActive?BUCK_ACTIVE:BUCK) : - (aSide==GT_Utility.getOppositeSide(aFacing)? - OVERLAYS_ENERGY_IN_POWER_TT[mTier]: - (aActive ? OVERLAYS_ENERGY_OUT_POWER_TT[mTier] : OVERLAYS_ENERGY_IN_POWER_TT[mTier]))}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aFacing, + byte aColorIndex, + boolean aActive, + boolean aRedstone) { + return new ITexture[] { + MACHINE_CASINGS_TT[mTier][aColorIndex + 1], + aSide == aFacing + ? (aActive ? BUCK_ACTIVE : BUCK) + : (aSide == GT_Utility.getOppositeSide(aFacing) + ? OVERLAYS_ENERGY_IN_POWER_TT[mTier] + : (aActive ? OVERLAYS_ENERGY_OUT_POWER_TT[mTier] : OVERLAYS_ENERGY_IN_POWER_TT[mTier])) + }; } @Override @@ -85,15 +95,15 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac @Override public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setInteger("eEUT",EUT); - aNBT.setInteger("eAMP",AMP); + aNBT.setInteger("eEUT", EUT); + aNBT.setInteger("eAMP", AMP); } @Override public void loadNBTData(NBTTagCompound aNBT) { - EUT=aNBT.getInteger("eEUT"); - AMP=aNBT.getInteger("eAMP"); - getBaseMetaTileEntity().setActive((long)AMP*EUT >=0); + EUT = aNBT.getInteger("eEUT"); + AMP = aNBT.getInteger("eAMP"); + getBaseMetaTileEntity().setActive((long) AMP * EUT >= 0); } @Override @@ -122,11 +132,13 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.machine.tt.buck.desc.0"),//Electronic voltage regulator - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.machine.tt.buck.desc.1"),//Adjustable step down transformer - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.machine.tt.buck.desc.2")//Switching power supply... + return new String[] { + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.machine.tt.buck.desc.0"), // Electronic voltage regulator + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.machine.tt.buck.desc.1"), // Adjustable step down transformer + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.machine.tt.buck.desc.2") // Switching power supply... }; } @@ -152,7 +164,9 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac @Override public boolean isOutputFacing(byte aSide) { - return getBaseMetaTileEntity().isActive() && aSide != getBaseMetaTileEntity().getFrontFacing() && aSide != getBaseMetaTileEntity().getBackFacing(); + return getBaseMetaTileEntity().isActive() + && aSide != getBaseMetaTileEntity().getFrontFacing() + && aSide != getBaseMetaTileEntity().getBackFacing(); } @Override @@ -162,7 +176,7 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac @Override public long maxAmperesOut() { - return getBaseMetaTileEntity().isActive()?Math.min(Math.abs(AMP),64):0; + return getBaseMetaTileEntity().isActive() ? Math.min(Math.abs(AMP), 64) : 0; } @Override @@ -172,17 +186,17 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac @Override public long maxEUOutput() { - return getBaseMetaTileEntity().isActive()?Math.min(Math.abs(EUT),maxEUInput()):0; + return getBaseMetaTileEntity().isActive() ? Math.min(Math.abs(EUT), maxEUInput()) : 0; } @Override public long maxEUStore() { - return CommonValues.V[mTier]<<4; + return CommonValues.V[mTier] << 4; } @Override public long getMinimumStoredEU() { - return CommonValues.V[mTier]<<2; + return CommonValues.V[mTier] << 2; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DataReader.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DataReader.java index 9b177dd1ce..90f1d17dec 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DataReader.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DataReader.java @@ -1,5 +1,11 @@ package com.github.technus.tectech.thing.metaTileEntity.single; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_Container_DataReader; import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_GUIContainer_DataReader; import com.github.technus.tectech.util.CommonValues; @@ -16,6 +22,7 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Utility; +import java.util.*; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -26,29 +33,21 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; -import java.util.*; - -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 23.03.2017. */ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine { - private static final HashMap> RENDER_REGISTRY =new HashMap<>(); - public static GT_RenderedTexture READER_ONLINE, READER_OFFLINE; + private static final HashMap> RENDER_REGISTRY = new HashMap<>(); + public static GT_RenderedTexture READER_ONLINE, READER_OFFLINE; public GT_MetaTileEntity_DataReader(int aID, String aName, String aNameRegional, int aTier) { - super(aID,aName,aNameRegional,aTier,1,"",1,1,"dataReader.png",""); - TT_Utility.setTier(aTier,this); + super(aID, aName, aNameRegional, aTier, 1, "", 1, 1, "dataReader.png", ""); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_DataReader(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { - super(aName,aTier,1,aDescription,aTextures,1,1,"dataReader.png",""); - TT_Utility.setTier(aTier,this); + super(aName, aTier, 1, aDescription, aTextures, 1, 1, "dataReader.png", ""); + TT_Utility.setTier(aTier, this); } @Override @@ -65,19 +64,30 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { - if(aBaseMetaTileEntity.getWorld()==null){ - if(aSide==aFacing){ - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aFacing, + byte aColorIndex, + boolean aActive, + boolean aRedstone) { + if (aBaseMetaTileEntity.getWorld() == null) { + if (aSide == aFacing) { + return new ITexture[] { + MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE + }; } - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; + return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; } - if(aSide==mMainFacing){ - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE}; - }else if(aSide==aFacing){ - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT)}; + if (aSide == mMainFacing) { + return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE + }; + } else if (aSide == aFacing) { + return new ITexture[] { + MACHINE_CASINGS_TT[mTier][aColorIndex + 1], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) + }; } - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; + return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; } @Override @@ -87,15 +97,15 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public int checkRecipe() { - if(getOutputAt(0)!=null){ + if (getOutputAt(0) != null) { return DID_NOT_FIND_RECIPE; } - ItemStack input=getInputAt(0); - for(IDataRender render:getRenders(new TT_Utility.ItemStack_NoNBT(input))){ - if(render.canRender(input,mTier)){ - mOutputItems[0]=input.copy(); - input.stackSize-=1; - calculateOverclockedNess(render.getReadingEUt(),render.getReadingTime()); + ItemStack input = getInputAt(0); + for (IDataRender render : getRenders(new TT_Utility.ItemStack_NoNBT(input))) { + if (render.canRender(input, mTier)) { + mOutputItems[0] = input.copy(); + input.stackSize -= 1; + calculateOverclockedNess(render.getReadingEUt(), render.getReadingTime()); if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1) return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS; return FOUND_AND_SUCCESSFULLY_USED_RECIPE; @@ -107,7 +117,7 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { super.onPostTick(aBaseMetaTileEntity, aTick); - aBaseMetaTileEntity.setActive(getOutputAt(0)!=null || mMaxProgresstime>0); + aBaseMetaTileEntity.setActive(getOutputAt(0) != null || mMaxProgresstime > 0); } @Override @@ -117,7 +127,14 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_DataReader(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), mGUIName, GT_Utility.isStringValid(mNEIName) ? mNEIName : getRecipeList() != null ? getRecipeList().mUnlocalizedName : ""); + return new GT_GUIContainer_DataReader( + aPlayerInventory, + aBaseMetaTileEntity, + getLocalName(), + mGUIName, + GT_Utility.isStringValid(mNEIName) + ? mNEIName + : getRecipeList() != null ? getRecipeList().mUnlocalizedName : ""); } @Override @@ -132,11 +149,13 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.machine.tt.datareader.desc.0"),//Reads Data Sticks and Orbs - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.machine.tt.datareader.desc.1"),//Power it up and - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.machine.tt.datareader.desc.2")//Put the data storage in + return new String[] { + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.machine.tt.datareader.desc.0"), // Reads Data Sticks and Orbs + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.machine.tt.datareader.desc.1"), // Power it up and + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.machine.tt.datareader.desc.2") // Put the data storage in }; } @@ -152,12 +171,12 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public boolean isInputFacing(byte aSide) { - return aSide!=getBaseMetaTileEntity().getFrontFacing(); + return aSide != getBaseMetaTileEntity().getFrontFacing(); } @Override public boolean isOutputFacing(byte aSide) { - return aSide!=getBaseMetaTileEntity().getFrontFacing(); + return aSide != getBaseMetaTileEntity().getFrontFacing(); } @Override @@ -167,89 +186,107 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public long maxEUStore() { - return maxEUInput()*16L; + return maxEUInput() * 16L; } @Override public long getMinimumStoredEU() { - return maxEUInput()*4L; + return maxEUInput() * 4L; } - public static void addDataRender(TT_Utility.ItemStack_NoNBT stack, IDataRender render){ + public static void addDataRender(TT_Utility.ItemStack_NoNBT stack, IDataRender render) { ArrayList renders = RENDER_REGISTRY.computeIfAbsent(stack, k -> new ArrayList<>()); - if(FMLCommonHandler.instance().getEffectiveSide().isClient()) { + if (FMLCommonHandler.instance().getEffectiveSide().isClient()) { render.loadResources(); } renders.add(render); } - public static List getRenders(TT_Utility.ItemStack_NoNBT stack){ + public static List getRenders(TT_Utility.ItemStack_NoNBT stack) { ArrayList iDataRenders = RENDER_REGISTRY.get(stack); - return iDataRenders==null?Collections.emptyList():iDataRenders; + return iDataRenders == null ? Collections.emptyList() : iDataRenders; } public interface IDataRender { @SideOnly(Side.CLIENT) void loadResources(); + @SideOnly(Side.CLIENT) void initRender(ItemStack itemStack); + @SideOnly(Side.CLIENT) - void renderTooltips(ItemStack itemStack,int mouseX,int mouseY,GT_GUIContainer_DataReader gui); + void renderTooltips(ItemStack itemStack, int mouseX, int mouseY, GT_GUIContainer_DataReader gui); + @SideOnly(Side.CLIENT) - void renderForeground(ItemStack itemStack,int mouseX,int mouseY,GT_GUIContainer_DataReader gui, FontRenderer font); + void renderForeground( + ItemStack itemStack, int mouseX, int mouseY, GT_GUIContainer_DataReader gui, FontRenderer font); + @SideOnly(Side.CLIENT) - void renderBackgroundOverlay(ItemStack itemStack, int mouseX, int mouseY, int X, int Y, GT_GUIContainer_DataReader gui); + void renderBackgroundOverlay( + ItemStack itemStack, int mouseX, int mouseY, int X, int Y, GT_GUIContainer_DataReader gui); + boolean canRender(ItemStack itemStack, byte tier); + int getReadingEUt(); + int getReadingTime(); } - public static void run(){ - addDataRender(new TT_Utility.ItemStack_NoNBT(ItemList.Tool_DataStick.get(1)),new IDataRender() { + public static void run() { + addDataRender(new TT_Utility.ItemStack_NoNBT(ItemList.Tool_DataStick.get(1)), new IDataRender() { @SideOnly(Side.CLIENT) private ResourceLocation bg; + @SideOnly(Side.CLIENT) - private HashMap slots; - private HashMap slots2; + private HashMap slots; + + private HashMap slots2; @Override @SideOnly(Side.CLIENT) public void loadResources() { - bg =new ResourceLocation(MODID+":textures/gui/assLineRender.png"); + bg = new ResourceLocation(MODID + ":textures/gui/assLineRender.png"); } @Override public void initRender(ItemStack itemStack) { - slots=new HashMap<>(); - slots2=new HashMap<>(); - - slots.put(new GT_Slot_Holo(null,0,143,55,false,false,1),ItemList.Tool_DataStick.getWithName(1,"Research data")); - ItemStack output=ItemStack.loadItemStackFromNBT(itemStack.stackTagCompound.getCompoundTag("output")); - if(output!=null){ - slots.put(new GT_Slot_Holo(null,0,143,19,false,false,64),output); + slots = new HashMap<>(); + slots2 = new HashMap<>(); + + slots.put( + new GT_Slot_Holo(null, 0, 143, 55, false, false, 1), + ItemList.Tool_DataStick.getWithName(1, "Research data")); + ItemStack output = ItemStack.loadItemStackFromNBT(itemStack.stackTagCompound.getCompoundTag("output")); + if (output != null) { + slots.put(new GT_Slot_Holo(null, 0, 143, 19, false, false, 64), output); } for (int i = 0; i < 16; i++) { - ArrayList array=new ArrayList<>(); - ItemStack input=ItemStack.loadItemStackFromNBT(itemStack.stackTagCompound.getCompoundTag(Integer.toString(i))); - if(input!=null){ + ArrayList array = new ArrayList<>(); + ItemStack input = ItemStack.loadItemStackFromNBT( + itemStack.stackTagCompound.getCompoundTag(Integer.toString(i))); + if (input != null) { array.add(input); } - for (int k = 0; k < itemStack.stackTagCompound.getInteger("a"+i); k++) { - input=ItemStack.loadItemStackFromNBT(itemStack.stackTagCompound.getCompoundTag("a" + i + ":" + k)); - if(input!=null){ + for (int k = 0; k < itemStack.stackTagCompound.getInteger("a" + i); k++) { + input = ItemStack.loadItemStackFromNBT( + itemStack.stackTagCompound.getCompoundTag("a" + i + ":" + k)); + if (input != null) { array.add(input); } } - if(array.size()>0){ - slots2.put(new GT_Slot_Holo(null,0,17+(i&0x3)*18,19+(i>>2)*18,false,false,64), + if (array.size() > 0) { + slots2.put( + new GT_Slot_Holo(null, 0, 17 + (i & 0x3) * 18, 19 + (i >> 2) * 18, false, false, 64), array.toArray(nullItem)); } } for (int i = 0; i < 4; i++) { - FluidStack fs=FluidStack.loadFluidStackFromNBT(itemStack.stackTagCompound.getCompoundTag("f"+i)); - if(fs!=null){ - slots.put(new GT_Slot_Holo(null,0,107,19+i*18,false,false,1), + FluidStack fs = + FluidStack.loadFluidStackFromNBT(itemStack.stackTagCompound.getCompoundTag("f" + i)); + if (fs != null) { + slots.put( + new GT_Slot_Holo(null, 0, 107, 19 + i * 18, false, false, 1), GT_Utility.getFluidDisplayStack(fs, true)); } } @@ -257,53 +294,68 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public void renderTooltips(ItemStack itemStack, int mouseX, int mouseY, GT_GUIContainer_DataReader gui) { - for(Map.Entry entry:slots.entrySet()){ - gui.renderTooltipSimple(mouseX, mouseY, entry.getKey(),entry.getValue()); + for (Map.Entry entry : slots.entrySet()) { + gui.renderTooltipSimple(mouseX, mouseY, entry.getKey(), entry.getValue()); } - int time=(int)(System.currentTimeMillis()/2000); - for(Map.Entry entry:slots2.entrySet()){ - gui.renderTooltipSimple(mouseX, mouseY, entry.getKey(),entry.getValue()[time%entry.getValue().length]); + int time = (int) (System.currentTimeMillis() / 2000); + for (Map.Entry entry : slots2.entrySet()) { + gui.renderTooltipSimple( + mouseX, mouseY, entry.getKey(), entry.getValue()[time % entry.getValue().length]); } } @Override @SideOnly(Side.CLIENT) - public void renderForeground(ItemStack itemStack, int mouseX, int mouseY, GT_GUIContainer_DataReader gui, FontRenderer font) { - int time=itemStack.stackTagCompound.getInteger("time"); - int EUt=itemStack.stackTagCompound.getInteger("eu"); + public void renderForeground( + ItemStack itemStack, int mouseX, int mouseY, GT_GUIContainer_DataReader gui, FontRenderer font) { + int time = itemStack.stackTagCompound.getInteger("time"); + int EUt = itemStack.stackTagCompound.getInteger("eu"); font.drawString(translateToLocal("tt.keyphrase.Ass_line_recipe"), 7, 8, 0x80a0ff); - font.drawString(GT_Utility.trans("152","Total: ") + GT_Utility.formatNumbers((long) time * EUt) + " EU",7,93, 0x80a0ff); - font.drawString(GT_Utility.trans("153","Usage: ") + GT_Utility.formatNumbers(EUt) + " EU/t",7,103, 0x80a0ff); - font.drawString(GT_Utility.trans("154","Voltage: ") + GT_Utility.formatNumbers(EUt) + " EU",7,113, 0x80a0ff); - font.drawString(GT_Utility.trans("155","Amperage: ") + 1 ,7,123, 0x80a0ff); - font.drawString( GT_Utility.trans("158","Time: ") + GT_Utility.formatNumbers(0.05d * time) + GT_Utility.trans("161"," secs"), 7,133, 0x80a0ff); - - for(Map.Entry entry:slots.entrySet()){ - gui.renderItemSimple(entry.getKey(),entry.getValue()); + font.drawString( + GT_Utility.trans("152", "Total: ") + GT_Utility.formatNumbers((long) time * EUt) + " EU", + 7, + 93, + 0x80a0ff); + font.drawString( + GT_Utility.trans("153", "Usage: ") + GT_Utility.formatNumbers(EUt) + " EU/t", 7, 103, 0x80a0ff); + font.drawString( + GT_Utility.trans("154", "Voltage: ") + GT_Utility.formatNumbers(EUt) + " EU", 7, 113, 0x80a0ff); + font.drawString(GT_Utility.trans("155", "Amperage: ") + 1, 7, 123, 0x80a0ff); + font.drawString( + GT_Utility.trans("158", "Time: ") + + GT_Utility.formatNumbers(0.05d * time) + + GT_Utility.trans("161", " secs"), + 7, + 133, + 0x80a0ff); + + for (Map.Entry entry : slots.entrySet()) { + gui.renderItemSimple(entry.getKey(), entry.getValue()); } - time=(int)(System.currentTimeMillis()/2000); - for(Map.Entry entry:slots2.entrySet()){ - gui.renderItemSimple(entry.getKey(),entry.getValue()[time%entry.getValue().length]); + time = (int) (System.currentTimeMillis() / 2000); + for (Map.Entry entry : slots2.entrySet()) { + gui.renderItemSimple(entry.getKey(), entry.getValue()[time % entry.getValue().length]); } } @Override @SideOnly(Side.CLIENT) - public void renderBackgroundOverlay(ItemStack itemStack, int mouseX, int mouseY, int X, int Y, GT_GUIContainer_DataReader gui) { - //176/83 + public void renderBackgroundOverlay( + ItemStack itemStack, int mouseX, int mouseY, int X, int Y, GT_GUIContainer_DataReader gui) { + // 176/83 gui.mc.getTextureManager().bindTexture(bg); - gui.drawTexturedModalRect(X,Y,0,0,176, 151); + gui.drawTexturedModalRect(X, Y, 0, 0, 176, 151); } @Override - public boolean canRender(ItemStack itemStack,byte tier) { - NBTTagCompound nbtTagCompound=itemStack.stackTagCompound; + public boolean canRender(ItemStack itemStack, byte tier) { + NBTTagCompound nbtTagCompound = itemStack.stackTagCompound; return nbtTagCompound != null && nbtTagCompound.hasKey("output"); } @Override public int getReadingEUt() { - return (int)V[4]; + return (int) V[4]; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java index c68b9fc395..d1990fc316 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.single; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_OverflowElemental; import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_Container_DebugPollutor; @@ -22,25 +25,22 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 23.03.2017. */ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMachineBlock { private static GT_RenderedTexture POLLUTOR; - public int pollution=0; - public float anomaly=0; + public int pollution = 0; + public float anomaly = 0; public GT_MetaTileEntity_DebugPollutor(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_DebugPollutor(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } @Override @@ -56,8 +56,21 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aSide != aFacing ? aActive? new GT_RenderedTexture(GT_MetaTileEntity_Hatch_OverflowElemental.MufflerEM): new GT_RenderedTexture(GT_MetaTileEntity_Hatch_OverflowElemental.MufflerEMidle) : POLLUTOR}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aFacing, + byte aColorIndex, + boolean aActive, + boolean aRedstone) { + return new ITexture[] { + MACHINE_CASINGS_TT[mTier][aColorIndex + 1], + aSide != aFacing + ? aActive + ? new GT_RenderedTexture(GT_MetaTileEntity_Hatch_OverflowElemental.MufflerEM) + : new GT_RenderedTexture(GT_MetaTileEntity_Hatch_OverflowElemental.MufflerEMidle) + : POLLUTOR + }; } @Override @@ -87,15 +100,15 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac @Override public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setInteger("ePollution",pollution); - aNBT.setFloat("eAnomaly",anomaly); + aNBT.setInteger("ePollution", pollution); + aNBT.setFloat("eAnomaly", anomaly); } @Override public void loadNBTData(NBTTagCompound aNBT) { - pollution=aNBT.getInteger("ePollution"); - anomaly=aNBT.getFloat("eAnomaly"); - getBaseMetaTileEntity().setActive(anomaly>0||pollution>0); + pollution = aNBT.getInteger("ePollution"); + anomaly = aNBT.getFloat("eAnomaly"); + getBaseMetaTileEntity().setActive(anomaly > 0 || pollution > 0); } @Override @@ -106,18 +119,18 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isServerSide()) { - aBaseMetaTileEntity.setActive(anomaly>0||pollution>0); + aBaseMetaTileEntity.setActive(anomaly > 0 || pollution > 0); if (anomaly > 0) { - TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity,anomaly); + TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, anomaly); } if (pollution > 0) { GT_Pollution.addPollution(aBaseMetaTileEntity, pollution); } } else if (aBaseMetaTileEntity.isClientSide() && aBaseMetaTileEntity.isActive()) { - for(byte i=0;i<6;i++){ - if(i!=aBaseMetaTileEntity.getFrontFacing()){ + for (byte i = 0; i < 6; i++) { + if (i != aBaseMetaTileEntity.getFrontFacing()) { TecTech.proxy.em_particle(aBaseMetaTileEntity, i); - TecTech.proxy.pollutor_particle(aBaseMetaTileEntity,i); + TecTech.proxy.pollutor_particle(aBaseMetaTileEntity, i); } } } @@ -144,11 +157,13 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.debug.tt.pollutor.desc.0"),//Shit genny broke! - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.debug.tt.pollutor.desc.1"),//Infinite Producer/Consumer - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.debug.tt.pollutor.desc.2")//Since i wanted one? + return new String[] { + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.debug.tt.pollutor.desc.0"), // Shit genny broke! + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.debug.tt.pollutor.desc.1"), // Infinite Producer/Consumer + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.debug.tt.pollutor.desc.2") // Since i wanted one? }; } @@ -156,5 +171,4 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac public boolean isElectric() { return false; } - } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java index 074a07181a..a920d6db10 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java @@ -1,5 +1,9 @@ package com.github.technus.tectech.thing.metaTileEntity.single; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; +import static com.github.technus.tectech.util.CommonValues.TRANSFER_AT; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.pipe.IConnectsToEnergyTunnel; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyTunnel; import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Energy; @@ -25,27 +29,25 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; -import static com.github.technus.tectech.util.CommonValues.TRANSFER_AT; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 23.03.2017. */ -public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_TieredMachineBlock implements IConnectsToEnergyTunnel { +public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_TieredMachineBlock + implements IConnectsToEnergyTunnel { private static GT_RenderedTexture GENNY; private boolean LASER = false; - public int EUT=0,AMP=0; - public boolean producing=true; + public int EUT = 0, AMP = 0; + public boolean producing = true; public GT_MetaTileEntity_DebugPowerGenerator(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_DebugPowerGenerator(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_DebugPowerGenerator( + String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } @Override @@ -56,7 +58,9 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie @Override public final void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { LASER = !LASER; - GT_Utility.sendChatToPlayer(aPlayer, String.format(StatCollector.translateToLocal("tt.chat.debug.generator"), LASER ? "ON" : "OFF")); + GT_Utility.sendChatToPlayer( + aPlayer, + String.format(StatCollector.translateToLocal("tt.chat.debug.generator"), LASER ? "ON" : "OFF")); } @Override @@ -67,11 +71,21 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { - return new ITexture[]{ - MACHINE_CASINGS_TT[mTier][aColorIndex + 1], - aSide != aFacing ? LASER ? (aActive ? OVERLAYS_ENERGY_OUT_LASER_TT[mTier] : OVERLAYS_ENERGY_IN_LASER_TT[mTier]) - : (aActive ? OVERLAYS_ENERGY_OUT_POWER_TT[mTier]: OVERLAYS_ENERGY_IN_POWER_TT[mTier]) : GENNY}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aFacing, + byte aColorIndex, + boolean aActive, + boolean aRedstone) { + return new ITexture[] { + MACHINE_CASINGS_TT[mTier][aColorIndex + 1], + aSide != aFacing + ? LASER + ? (aActive ? OVERLAYS_ENERGY_OUT_LASER_TT[mTier] : OVERLAYS_ENERGY_IN_LASER_TT[mTier]) + : (aActive ? OVERLAYS_ENERGY_OUT_POWER_TT[mTier] : OVERLAYS_ENERGY_IN_POWER_TT[mTier]) + : GENNY + }; } @Override @@ -101,17 +115,17 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie @Override public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setInteger("eEUT",EUT); - aNBT.setInteger("eAMP",AMP); - aNBT.setBoolean("eLaser",LASER); + aNBT.setInteger("eEUT", EUT); + aNBT.setInteger("eAMP", AMP); + aNBT.setBoolean("eLaser", LASER); } @Override public void loadNBTData(NBTTagCompound aNBT) { - EUT=aNBT.getInteger("eEUT"); - AMP=aNBT.getInteger("eAMP"); - LASER=aNBT.getBoolean("eLaser"); - producing=(long)AMP*EUT>=0; + EUT = aNBT.getInteger("eEUT"); + AMP = aNBT.getInteger("eAMP"); + LASER = aNBT.getBoolean("eLaser"); + producing = (long) AMP * EUT >= 0; getBaseMetaTileEntity().setActive(producing); } @@ -130,14 +144,12 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie } else { setEUVar(0); } - } - else { + } else { byte Tick = (byte) (aTick % 20); if (aBaseMetaTileEntity.isActive() && TRANSFER_AT == Tick) { setEUVar(maxEUStore()); moveAround(aBaseMetaTileEntity); - } - else if (TRANSFER_AT == Tick) { + } else if (TRANSFER_AT == Tick) { setEUVar(0); } } @@ -165,12 +177,14 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.debug.tt.genny.desc.0"),//Power from nothing - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.debug.tt.genny.desc.3"),// - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.debug.tt.genny.desc.1"),//Infinite Producer/Consumer - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.debug.tt.genny.desc.2")//Since i wanted one... + return new String[] { + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.debug.tt.genny.desc.0"), // Power from nothing + EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.debug.tt.genny.desc.3"), // + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.debug.tt.genny.desc.1"), // Infinite Producer/Consumer + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.debug.tt.genny.desc.2") // Since i wanted one... }; } @@ -201,32 +215,32 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie @Override public long maxAmperesIn() { - return producing?0:Math.abs(AMP); + return producing ? 0 : Math.abs(AMP); } @Override public long maxAmperesOut() { - return producing?Math.abs(AMP):0; + return producing ? Math.abs(AMP) : 0; } @Override public long maxEUInput() { - return producing?0:Integer.MAX_VALUE; + return producing ? 0 : Integer.MAX_VALUE; } @Override public long maxEUOutput() { - return producing?Math.abs(EUT):0; + return producing ? Math.abs(EUT) : 0; } @Override public long maxEUStore() { - return LASER ? Math.abs((long)EUT*AMP*24) : Math.abs((long)EUT*AMP)<<2 ; + return LASER ? Math.abs((long) EUT * AMP * 24) : Math.abs((long) EUT * AMP) << 2; } @Override public long getMinimumStoredEU() { - return Math.abs((long)EUT*AMP); + return Math.abs((long) EUT * AMP); } @Override @@ -245,29 +259,33 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie } private void moveAround(IGregTechTileEntity aBaseMetaTileEntity) { - for (byte face = 0; face < 6; face ++) { - if (face == aBaseMetaTileEntity.getFrontFacing()) - continue; + for (byte face = 0; face < 6; face++) { + if (face == aBaseMetaTileEntity.getFrontFacing()) continue; byte opposite = GT_Utility.getOppositeSide(face); for (short dist = 1; dist < 1000; dist++) { - IGregTechTileEntity tGTTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityAtSideAndDistance(face, dist); + IGregTechTileEntity tGTTileEntity = + aBaseMetaTileEntity.getIGregTechTileEntityAtSideAndDistance(face, dist); if (tGTTileEntity != null) { IMetaTileEntity aMetaTileEntity = tGTTileEntity.getMetaTileEntity(); if (aMetaTileEntity != null) { - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyTunnel && - opposite == tGTTileEntity.getFrontFacing()) { + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyTunnel + && opposite == tGTTileEntity.getFrontFacing()) { if (maxEUOutput() > ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()) { aMetaTileEntity.doExplosion(maxEUOutput()); } else { long diff = Math.min( AMP * 20L * maxEUOutput(), Math.min( - ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUStore() - - aMetaTileEntity.getBaseMetaTileEntity().getStoredEU(), - aBaseMetaTileEntity.getStoredEU() - )); + ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUStore() + - aMetaTileEntity + .getBaseMetaTileEntity() + .getStoredEU(), + aBaseMetaTileEntity.getStoredEU())); ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity) - .setEUVar(aMetaTileEntity.getBaseMetaTileEntity().getStoredEU() + diff); + .setEUVar(aMetaTileEntity + .getBaseMetaTileEntity() + .getStoredEU() + + diff); } } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Pipe_Energy) { if (((GT_MetaTileEntity_Pipe_Energy) aMetaTileEntity).connectionCount < 2) { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java index 46b3d5e927..0aeb9b853d 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.single; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_Container_DebugStructureWriter; import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_GUIContainer_DebugStructureWriter; @@ -23,9 +26,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 23.03.2017. */ @@ -33,16 +33,17 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti private static GT_RenderedTexture MARK; public short[] numbers = new short[6]; public boolean size = false; - public String[] result = new String[]{"Undefined"}; + public String[] result = new String[] {"Undefined"}; public GT_MetaTileEntity_DebugStructureWriter(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_DebugStructureWriter(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_DebugStructureWriter( + String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } @Override @@ -58,8 +59,17 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aSide != aFacing ? new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TELEPORTER_ACTIVE) : MARK}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aFacing, + byte aColorIndex, + boolean aActive, + boolean aRedstone) { + return new ITexture[] { + MACHINE_CASINGS_TT[mTier][aColorIndex + 1], + aSide != aFacing ? new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TELEPORTER_ACTIVE) : MARK + }; } @Override @@ -115,17 +125,26 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isAllowedToWork()) { -// String pseudoJavaCode = StructureUtility.getPseudoJavaCode(aBaseMetaTileEntity.getWorld(), -// ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), -// aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), -// numbers[0], numbers[1], numbers[2], -// numbers[3], numbers[4], numbers[5],false); + // String pseudoJavaCode = StructureUtility.getPseudoJavaCode(aBaseMetaTileEntity.getWorld(), + // + // ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), + // aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), + // aBaseMetaTileEntity.getZCoord(), + // numbers[0], numbers[1], numbers[2], + // numbers[3], numbers[4], numbers[5],false); String pseudoJavaCode = StructureUtility.getPseudoJavaCode( - aBaseMetaTileEntity.getWorld(), ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), - aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), - numbers[0], numbers[1], numbers[2], + aBaseMetaTileEntity.getWorld(), + ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), + aBaseMetaTileEntity.getXCoord(), + aBaseMetaTileEntity.getYCoord(), + aBaseMetaTileEntity.getZCoord(), + numbers[0], + numbers[1], + numbers[2], te -> te.getClass().getCanonicalName(), - numbers[3], numbers[4], numbers[5], + numbers[3], + numbers[4], + numbers[5], false); TecTech.LOGGER.info(pseudoJavaCode); result = pseudoJavaCode.split("\\n"); @@ -136,17 +155,25 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti @Override public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { IGregTechTileEntity aBaseMetaTileEntity = getBaseMetaTileEntity(); -// String pseudoJavaCode = StructureUtility.getPseudoJavaCode(aBaseMetaTileEntity.getWorld(), -// ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), -// aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), -// numbers[0], numbers[1], numbers[2], -// numbers[3], numbers[4], numbers[5],true); + // String pseudoJavaCode = StructureUtility.getPseudoJavaCode(aBaseMetaTileEntity.getWorld(), + // ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), + // aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), + // aBaseMetaTileEntity.getZCoord(), + // numbers[0], numbers[1], numbers[2], + // numbers[3], numbers[4], numbers[5],true); String pseudoJavaCode = StructureUtility.getPseudoJavaCode( - aBaseMetaTileEntity.getWorld(), ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), - aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), - numbers[0], numbers[1], numbers[2], + aBaseMetaTileEntity.getWorld(), + ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), + aBaseMetaTileEntity.getXCoord(), + aBaseMetaTileEntity.getYCoord(), + aBaseMetaTileEntity.getZCoord(), + numbers[0], + numbers[1], + numbers[2], te -> te.getClass().getCanonicalName(), - numbers[3], numbers[4], numbers[5], + numbers[3], + numbers[4], + numbers[5], false); TecTech.LOGGER.info(pseudoJavaCode); result = pseudoJavaCode.split("\\n"); @@ -179,11 +206,14 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.debug.tt.writer.desc.0"),//Scans Blocks Around - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.debug.tt.writer.desc.1"),//Prints Multiblock NonTE structure check code - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.debug.tt.writer.desc.2")//ABC axises aligned to machine front + return new String[] { + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.debug.tt.writer.desc.0"), // Scans Blocks Around + EnumChatFormatting.BLUE + + translateToLocal( + "gt.blockmachines.debug.tt.writer.desc.1"), // Prints Multiblock NonTE structure check code + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.debug.tt.writer.desc.2") // ABC axises aligned to machine front }; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_MicroController.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_MicroController.java index 4c4e035d44..82b1295351 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_MicroController.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_MicroController.java @@ -1,5 +1,9 @@ package com.github.technus.tectech.thing.metaTileEntity.single; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; +import static com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_DataReader.READER_OFFLINE; +import static com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_DataReader.READER_ONLINE; + import com.github.technus.avrClone.AvrCore; import com.github.technus.avrClone.instructions.ExecutionEvent; import com.github.technus.avrClone.instructions.Instruction; @@ -21,39 +25,36 @@ import gregtech.api.objects.GT_RenderedTexture; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; -import static com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_DataReader.READER_OFFLINE; -import static com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_DataReader.READER_ONLINE; - public class GT_MetaTileEntity_MicroController extends GT_MetaTileEntity_TieredMachineBlock { - public static final int OPS_PER_TICK_MAX =512; + public static final int OPS_PER_TICK_MAX = 512; static { - Instruction.random= TecTech.RANDOM; + Instruction.random = TecTech.RANDOM; } + public AvrCore core; private int[] tempData; public boolean debugRun; private int delay; private int maxLoad; - public static final SidedRedstone sidedRedstone=new SidedRedstone(0x16); + public static final SidedRedstone sidedRedstone = new SidedRedstone(0x16); public GT_MetaTileEntity_MicroController(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, "AVR Micro-controller"); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_MicroController(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); - TT_Utility.setTier(aTier,this); - core=new AvrCore(); + TT_Utility.setTier(aTier, this); + core = new AvrCore(); core.setUsingImmersiveOperands(false); core.setInstructionRegistry(InstructionRegistry.INSTRUCTION_REGISTRY_OP); - core.setDataMemory(Math.max(64,1< eeprom=core.getEepromMemory(); - if(eeprom!=null){ - avr.setInteger("eepromSize",eeprom.getDefinition().getSize()); + RemovableMemory eeprom = core.getEepromMemory(); + if (eeprom != null) { + avr.setInteger("eepromSize", eeprom.getDefinition().getSize()); } - if(core.dataMemory!=null){ - avr.setIntArray("dataMemory",core.dataMemory); + if (core.dataMemory != null) { + avr.setIntArray("dataMemory", core.dataMemory); } - tag.setTag("avr",avr); + tag.setTag("avr", avr); } @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (tempData != null) { - //todo discovery of components + // todo discovery of components core.dataMemory = tempData; tempData = null; } if (aBaseMetaTileEntity.isActive()) { - sidedRedstone.preSync(core,aBaseMetaTileEntity); + sidedRedstone.preSync(core, aBaseMetaTileEntity); core.interruptsHandle(); if (core.awoken) { - delay=0; - for (int load=0; load < maxLoad;) { - load+=core.getInstruction().getCost(core); + delay = 0; + for (int load = 0; load < maxLoad; ) { + load += core.getInstruction().getCost(core); ExecutionEvent executionEvent = core.cpuCycleForce(); if (executionEvent != null) { if (executionEvent.throwable instanceof DelayEvent) { delay = executionEvent.data[0]; break; } else if (executionEvent.throwable instanceof DebugEvent) { - if(debugRun) { + if (debugRun) { aBaseMetaTileEntity.setActive(false); break; } } } } - }else if(delay>0){ + } else if (delay > 0) { delay--; - if(delay==0){ - core.awoken=true; + if (delay == 0) { + core.awoken = true; } } - sidedRedstone.postSync(core,aBaseMetaTileEntity); + sidedRedstone.postSync(core, aBaseMetaTileEntity); } - core.active=aBaseMetaTileEntity.isActive(); + core.active = aBaseMetaTileEntity.isActive(); } @Override @@ -166,19 +165,30 @@ public class GT_MetaTileEntity_MicroController extends GT_MetaTileEntity_TieredM } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { - if(aBaseMetaTileEntity.getWorld()==null){ - if(aSide==aFacing){ - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aFacing, + byte aColorIndex, + boolean aActive, + boolean aRedstone) { + if (aBaseMetaTileEntity.getWorld() == null) { + if (aSide == aFacing) { + return new ITexture[] { + MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE + }; } - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; + return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; } - if(aSide==aBaseMetaTileEntity.getFrontFacing()){ - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE}; - }else if(aSide==aFacing){ - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT)}; + if (aSide == aBaseMetaTileEntity.getFrontFacing()) { + return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE + }; + } else if (aSide == aFacing) { + return new ITexture[] { + MACHINE_CASINGS_TT[mTier][aColorIndex + 1], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) + }; } - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; + return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_OwnerDetector.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_OwnerDetector.java index 57009c2e35..1a7048fed4 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_OwnerDetector.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_OwnerDetector.java @@ -1,5 +1,10 @@ package com.github.technus.tectech.thing.metaTileEntity.single; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; +import static com.github.technus.tectech.util.CommonValues.RECIPE_AT; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; @@ -21,27 +26,22 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import org.apache.commons.lang3.reflect.FieldUtils; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; -import static com.github.technus.tectech.util.CommonValues.RECIPE_AT; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by Tec on 23.03.2017. */ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMachineBlock { - private static GT_RenderedTexture OWNER_ONLINE,OWNER_OFFLINE; + private static GT_RenderedTexture OWNER_ONLINE, OWNER_OFFLINE; private String uuid; - private boolean interdimensional=true; + private boolean interdimensional = true; public GT_MetaTileEntity_OwnerDetector(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_OwnerDetector(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } @Override @@ -58,8 +58,14 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? OWNER_ONLINE : OWNER_OFFLINE}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aFacing, + byte aColorIndex, + boolean aActive, + boolean aRedstone) { + return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? OWNER_ONLINE : OWNER_OFFLINE}; } @Override @@ -89,14 +95,14 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac @Override public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setString("eUUID",uuid); - aNBT.setBoolean("eInterDim",interdimensional); + aNBT.setString("eUUID", uuid); + aNBT.setBoolean("eInterDim", interdimensional); } @Override public void loadNBTData(NBTTagCompound aNBT) { - uuid=aNBT.getString("eUUID"); - interdimensional=aNBT.getBoolean("eInterDim"); + uuid = aNBT.getString("eUUID"); + interdimensional = aNBT.getBoolean("eInterDim"); } @Override @@ -106,11 +112,11 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac @Override public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { - if(aBaseMetaTileEntity.isServerSide()) { + if (aBaseMetaTileEntity.isServerSide()) { if (uuid == null || uuid.length() == 0) { String name = aBaseMetaTileEntity.getOwnerName(); if (!("Player".equals(name))) { - uuid= TecTech.proxy.getUUID(name); + uuid = TecTech.proxy.getUUID(name); } } } @@ -118,13 +124,16 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - if (aBaseMetaTileEntity.isServerSide() && aTick%20==RECIPE_AT) { - boolean detected=TecTech.proxy.isOnlineUUID(uuid) || (uuid!=null && uuid.length()>0 && TecTech.proxy.isOnlineName(aBaseMetaTileEntity.getOwnerName())); + if (aBaseMetaTileEntity.isServerSide() && aTick % 20 == RECIPE_AT) { + boolean detected = TecTech.proxy.isOnlineUUID(uuid) + || (uuid != null + && uuid.length() > 0 + && TecTech.proxy.isOnlineName(aBaseMetaTileEntity.getOwnerName())); aBaseMetaTileEntity.setActive(detected); aBaseMetaTileEntity.setGenericRedstoneOutput(detected); - byte value=(byte)(detected?15:0); - for(byte b=0;b<6;b++){ - aBaseMetaTileEntity.setStrongOutputRedstoneSignal(b,value); + byte value = (byte) (detected ? 15 : 0); + for (byte b = 0; b < 6; b++) { + aBaseMetaTileEntity.setStrongOutputRedstoneSignal(b, value); } } } @@ -139,7 +148,11 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac clientLocale = "en_US"; } interdimensional ^= true; - GT_Utility.sendChatToPlayer(aPlayer, interdimensional ? translateToLocalFormatted("tt.keyphrase.Running_interdimensional_scan", clientLocale) : translateToLocalFormatted("tt.keyphrase.Running_local_dimension_scan", clientLocale)); + GT_Utility.sendChatToPlayer( + aPlayer, + interdimensional + ? translateToLocalFormatted("tt.keyphrase.Running_interdimensional_scan", clientLocale) + : translateToLocalFormatted("tt.keyphrase.Running_local_dimension_scan", clientLocale)); } @Override @@ -154,11 +167,13 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.machine.tt.ownerdetector.desc.0"),//Screwdrive to change mode - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.machine.tt.ownerdetector.desc.1"),//Looks for his pa - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.machine.tt.ownerdetector.desc.2")//Emits signal when happy + return new String[] { + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.machine.tt.ownerdetector.desc.0"), // Screwdrive to change mode + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.machine.tt.ownerdetector.desc.1"), // Looks for his pa + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.machine.tt.ownerdetector.desc.2") // Emits signal when happy }; } @@ -219,7 +234,7 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac @Override public int getProgresstime() { - return interdimensional?1:0; + return interdimensional ? 1 : 0; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TT_Transformer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TT_Transformer.java index c5391537a6..0e997f1eb0 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TT_Transformer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TT_Transformer.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.single; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.interfaces.ITexture; @@ -7,9 +10,6 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Transformer; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; -import static net.minecraft.util.StatCollector.translateToLocal; - public class GT_MetaTileEntity_TT_Transformer extends GT_MetaTileEntity_Transformer { public GT_MetaTileEntity_TT_Transformer(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, ""); @@ -30,24 +30,36 @@ public class GT_MetaTileEntity_TT_Transformer extends GT_MetaTileEntity_Transfor public ITexture[][][] getTextureSet(ITexture[] aTextures) { ITexture[][][] rTextures = new ITexture[12][17][]; for (byte b = -1; b < 16; b++) { - rTextures[0][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_MULTI_TT[mTier]}; - rTextures[1][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_MULTI_TT[mTier]}; - rTextures[2][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_MULTI_TT[mTier]}; - rTextures[3][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_POWER_TT[mTier + 1]}; - rTextures[4][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_POWER_TT[mTier + 1]}; - rTextures[5][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_POWER_TT[mTier + 1]}; - rTextures[6][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_MULTI_TT[mTier]}; - rTextures[7][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_MULTI_TT[mTier]}; - rTextures[8][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_MULTI_TT[mTier]}; - rTextures[9][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_POWER_TT[mTier + 1]}; - rTextures[10][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_POWER_TT[mTier + 1]}; - rTextures[11][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_POWER_TT[mTier + 1]}; + rTextures[0][b + 1] = + new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_MULTI_TT[mTier]}; + rTextures[1][b + 1] = + new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_MULTI_TT[mTier]}; + rTextures[2][b + 1] = + new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_MULTI_TT[mTier]}; + rTextures[3][b + 1] = + new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_POWER_TT[mTier + 1]}; + rTextures[4][b + 1] = + new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_POWER_TT[mTier + 1]}; + rTextures[5][b + 1] = + new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_POWER_TT[mTier + 1]}; + rTextures[6][b + 1] = new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_MULTI_TT[mTier]}; + rTextures[7][b + 1] = new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_MULTI_TT[mTier]}; + rTextures[8][b + 1] = new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_MULTI_TT[mTier]}; + rTextures[9][b + 1] = + new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_POWER_TT[mTier + 1]}; + rTextures[10][b + 1] = + new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_POWER_TT[mTier + 1]}; + rTextures[11][b + 1] = + new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_POWER_TT[mTier + 1]}; } return rTextures; } @Override public String[] getDescription() { - return new String[]{translateToLocal("gt.blockmachines.tt.transformer.tier." + (mTier > 9 ? "" : "0") + mTier + ".desc"), CommonValues.TEC_MARK_GENERAL}; + return new String[] { + translateToLocal("gt.blockmachines.tt.transformer.tier." + (mTier > 9 ? "" : "0") + mTier + ".desc"), + CommonValues.TEC_MARK_GENERAL + }; } -} \ No newline at end of file +} 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 index 8ca4844043..e3c0ede5e3 100644 --- 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 @@ -1,5 +1,12 @@ package com.github.technus.tectech.thing.metaTileEntity.single; +import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.*; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; +import static com.github.technus.tectech.util.CommonValues.V; +import static java.lang.Math.round; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.mechanics.spark.RendererMessage; @@ -16,6 +23,8 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicBatteryBuffer; +import java.util.Arrays; +import java.util.HashSet; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.nbt.NBTTagCompound; @@ -23,36 +32,30 @@ import net.minecraft.util.EnumChatFormatting; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.reflect.FieldUtils; -import java.util.Arrays; -import java.util.HashSet; - -import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.*; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; -import static com.github.technus.tectech.util.CommonValues.V; -import static java.lang.Math.round; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryBuffer implements ITeslaConnectable { - //Interface fields - private final Multimap teslaNodeMap = MultimapBuilder.treeKeys().linkedListValues().build(); + // Interface fields + private final Multimap teslaNodeMap = + MultimapBuilder.treeKeys().linkedListValues().build(); private final HashSet sparkList = new HashSet<>(); private int sparkCount = 10; - private final static int transferRadiusMax = TecTech.configTecTech.TESLA_SINGLE_RANGE;//Default is 20 - private final static int perBlockLoss = TecTech.configTecTech.TESLA_SINGLE_LOSS_PER_BLOCK;//Default is 1 - private final static float overDriveLoss = TecTech.configTecTech.TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE;//Default is 0.25F - private final static int transferRadiusMin = 4;//Minimum user configurable - private int transferRadius = transferRadiusMax;//Default transferRadius setting - - public boolean powerPassToggle = false;//Power Pass for public viewing - private final static int histSteps = 20;//Hysteresis Resolution - private int histSettingLow = 3;//Hysteresis Low Limit - private int histSettingHigh = 15;//Hysteresis High Limit - private final static int histLowLimit = 1;//How low can you configure it? - private final static 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 static final int transferRadiusMax = TecTech.configTecTech.TESLA_SINGLE_RANGE; // Default is 20 + private static final int perBlockLoss = TecTech.configTecTech.TESLA_SINGLE_LOSS_PER_BLOCK; // Default is 1 + private static final float overDriveLoss = + TecTech.configTecTech.TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE; // Default is 0.25F + private static final int transferRadiusMin = 4; // Minimum user configurable + private int transferRadius = transferRadiusMax; // Default transferRadius setting + + public boolean powerPassToggle = false; // Power Pass for public viewing + private static final int histSteps = 20; // Hysteresis Resolution + private int histSettingLow = 3; // Hysteresis Low Limit + private int histSettingHigh = 15; // Hysteresis High Limit + private static final int histLowLimit = 1; // How low can you configure it? + private static final 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 final long outputVoltage = V[mTier]; private boolean overdriveToggle = false; @@ -64,30 +67,35 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_TeslaCoil(String aName, int aTier, String aDescription, ITexture[][][] aTextures, int aSlotCount) { + 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[]{ - CommonValues.BASS_MARK, - translateToLocal("gt.blockmachines.machine.tt.tesla.desc.0"),//Your Tesla I/O machine of choice - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.machine.tt.tesla.desc.1")//Lightning stoves for the rich + String[] jargon = new String[] { + CommonValues.BASS_MARK, + translateToLocal("gt.blockmachines.machine.tt.tesla.desc.0"), // Your Tesla I/O machine of choice + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.machine.tt.tesla.desc.1") // Lightning stoves for the rich }; String[] sDesc = super.getDescription(); - sDesc = Arrays.copyOfRange(sDesc, 1, sDesc.length);//Removes first element from array + sDesc = Arrays.copyOfRange(sDesc, 1, sDesc.length); // Removes first element from array return ArrayUtils.addAll(jargon, sDesc); } @Override - public boolean onSolderingToolRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + public boolean onSolderingToolRightClick( + byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { if (overdriveToggle) { overdriveToggle = false; - PlayerChatHelper.SendInfo(aPlayer, translateToLocalFormatted("tt.keyphrase.Overdrive_disengaged", clientLocale)); + PlayerChatHelper.SendInfo( + aPlayer, translateToLocalFormatted("tt.keyphrase.Overdrive_disengaged", clientLocale)); } else { overdriveToggle = true; - PlayerChatHelper.SendInfo(aPlayer, translateToLocalFormatted("tt.keyphrase.Overdrive_engaged", clientLocale)); + PlayerChatHelper.SendInfo( + aPlayer, translateToLocalFormatted("tt.keyphrase.Overdrive_engaged", clientLocale)); } return true; } @@ -101,7 +109,10 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB histSettingHigh = histSettingLow + 1; } histHigh = (float) histSettingHigh / histSteps; - PlayerChatHelper.SendInfo(aPlayer, translateToLocalFormatted("tt.keyphrase.Hysteresis_high_set_to", clientLocale) + " " + round(histHigh * 100F) + "%"); + PlayerChatHelper.SendInfo( + aPlayer, + translateToLocalFormatted("tt.keyphrase.Hysteresis_high_set_to", clientLocale) + " " + + round(histHigh * 100F) + "%"); } else { if (histSettingLow > histLowLimit) { histSettingLow--; @@ -109,12 +120,16 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB histSettingLow = histSettingHigh - 1; } histLow = (float) histSettingLow / histSteps; - PlayerChatHelper.SendInfo(aPlayer, translateToLocalFormatted("tt.keyphrase.Hysteresis_low_set_to", clientLocale) + " " + round(histLow * 100F) + "%"); + PlayerChatHelper.SendInfo( + aPlayer, + translateToLocalFormatted("tt.keyphrase.Hysteresis_low_set_to", clientLocale) + " " + + round(histLow * 100F) + "%"); } } @Override - public boolean onWireCutterRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + public boolean onWireCutterRightClick( + byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { if (aPlayer.isSneaking()) { if (transferRadius > transferRadiusMin) { transferRadius--; @@ -124,7 +139,10 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB transferRadius++; } } - PlayerChatHelper.SendInfo(aPlayer, translateToLocalFormatted("tt.keyphrase.Tesla_radius_set_to", clientLocale) + " " + transferRadius + "m"); + PlayerChatHelper.SendInfo( + aPlayer, + translateToLocalFormatted("tt.keyphrase.Tesla_radius_set_to", clientLocale) + " " + transferRadius + + "m"); return false; } @@ -136,12 +154,12 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB @Override public String getAlternativeModeText() { - //Hysteresis based ePowerPass Config + // Hysteresis based ePowerPass Config long energyMax = getStoredEnergy()[1]; long energyStored = getStoredEnergy()[0]; float energyFrac = (float) energyStored / energyMax; - //ePowerPass hist toggle + // ePowerPass hist toggle if (energyFrac > histHigh) { powerPassToggle = true; } else if (energyFrac < histLow) { @@ -150,28 +168,43 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB powerPassToggle = !powerPassToggle; } - //And after this cheeky-ness, toss the string XD - return powerPassToggle ? translateToLocalFormatted("tt.keyphrase.Sending_power", clientLocale) + "!" : translateToLocalFormatted("tt.keyphrase.Receiving_power", clientLocale) + "!"; + // And after this cheeky-ness, toss the string XD + return powerPassToggle + ? translateToLocalFormatted("tt.keyphrase.Sending_power", clientLocale) + "!" + : translateToLocalFormatted("tt.keyphrase.Receiving_power", clientLocale) + "!"; } @Override public boolean isFacingValid(byte aSide) { return aSide != 1; - }//Prevents output at the top side + } // 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[]{MACHINE_CASINGS_TT[this.mTier][i + 1]}; - rTextures[1][i + 1] = new ITexture[]{MACHINE_CASINGS_TT[this.mTier][i + 1], TESLA_TRANSCEIVER_TOP_BA}; - rTextures[2][i + 1] = new ITexture[]{MACHINE_CASINGS_TT[this.mTier][i + 1], this.mInventory.length == 16 ? OVERLAYS_ENERGY_OUT_POWER_TT[this.mTier] : (this.mInventory.length > 4 ? OVERLAYS_ENERGY_OUT_MULTI_TT[this.mTier] : OVERLAYS_ENERGY_OUT_TT[this.mTier])}; + rTextures[0][i + 1] = new ITexture[] {MACHINE_CASINGS_TT[this.mTier][i + 1]}; + rTextures[1][i + 1] = new ITexture[] {MACHINE_CASINGS_TT[this.mTier][i + 1], TESLA_TRANSCEIVER_TOP_BA}; + rTextures[2][i + 1] = new ITexture[] { + MACHINE_CASINGS_TT[this.mTier][i + 1], + this.mInventory.length == 16 + ? OVERLAYS_ENERGY_OUT_POWER_TT[this.mTier] + : (this.mInventory.length > 4 + ? OVERLAYS_ENERGY_OUT_MULTI_TT[this.mTier] + : OVERLAYS_ENERGY_OUT_TT[this.mTier]) + }; } return rTextures; } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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]; } @@ -210,27 +243,28 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB return; } - //Hysteresis based ePowerPass Config + // Hysteresis based ePowerPass Config long energyMax = getStoredEnergy()[1]; long energyStored = getStoredEnergy()[0]; float energyFrac = (float) energyStored / energyMax; - //ePowerPass hist toggle + // ePowerPass hist toggle if (!powerPassToggle && energyFrac > histHigh) { powerPassToggle = true; } else if (powerPassToggle && energyFrac < histLow) { powerPassToggle = false; } - //Send Power + // Send Power powerTeslaNodeMap(this); - //TODO Encapsulate the spark sender + // TODO Encapsulate the spark sender sparkCount--; - if (sparkCount == 0){ + if (sparkCount == 0) { sparkCount = 10; - if(!sparkList.isEmpty()){ - NetworkDispatcher.INSTANCE.sendToAllAround(new RendererMessage.RendererData(sparkList), + if (!sparkList.isEmpty()) { + NetworkDispatcher.INSTANCE.sendToAllAround( + new RendererMessage.RendererData(sparkList), aBaseMetaTileEntity.getWorld().provider.dimensionId, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), @@ -332,9 +366,10 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB @Override public Vec3Impl getTeslaPosition() { - return new Vec3Impl(this.getBaseMetaTileEntity().getXCoord(), - this.getBaseMetaTileEntity().getYCoord(), - this.getBaseMetaTileEntity().getZCoord()); + return new Vec3Impl( + this.getBaseMetaTileEntity().getXCoord(), + this.getBaseMetaTileEntity().getYCoord(), + this.getBaseMetaTileEntity().getZCoord()); } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_WetTransformer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_WetTransformer.java index ca937f813c..86cc4395fb 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_WetTransformer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_WetTransformer.java @@ -1,13 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.single; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - public class GT_MetaTileEntity_WetTransformer extends GT_MetaTileEntity_TT_Transformer { public GT_MetaTileEntity_WetTransformer(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier); @@ -24,7 +24,11 @@ public class GT_MetaTileEntity_WetTransformer extends GT_MetaTileEntity_TT_Trans @Override public String[] getDescription() { - return new String[]{translateToLocal("gt.blockmachines.wetransformer.tier." + (mTier > 9 ? "" : "0") + mTier + ".desc"), "Accepts 16A and outputs 64A", CommonValues.TEC_MARK_GENERAL}; + return new String[] { + translateToLocal("gt.blockmachines.wetransformer.tier." + (mTier > 9 ? "" : "0") + mTier + ".desc"), + "Accepts 16A and outputs 64A", + CommonValues.TEC_MARK_GENERAL + }; } @Override @@ -37,7 +41,6 @@ public class GT_MetaTileEntity_WetTransformer extends GT_MetaTileEntity_TT_Trans return 512L + V[mTier + 1] * 128L; } - @Override public long maxAmperesOut() { return getBaseMetaTileEntity().isAllowedToWork() ? 64 : 16; @@ -47,4 +50,4 @@ public class GT_MetaTileEntity_WetTransformer extends GT_MetaTileEntity_TT_Trans public long maxAmperesIn() { return getBaseMetaTileEntity().isAllowedToWork() ? 16 : 64; } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_BuckConverter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_BuckConverter.java index 2f0325c776..35950cc27c 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_BuckConverter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_BuckConverter.java @@ -12,9 +12,8 @@ import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -public class GT_Container_BuckConverter - extends GT_ContainerMetaTile_Machine { - public int EUT=0,AMP=0; +public class GT_Container_BuckConverter extends GT_ContainerMetaTile_Machine { + public int EUT = 0, AMP = 0; public GT_Container_BuckConverter(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(aInventoryPlayer, aTileEntity); @@ -100,9 +99,10 @@ public class GT_Container_BuckConverter case 15: buck.AMP *= aShifthold == 1 ? 16 : 2; break; - default: return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); + default: + return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); } - buck.getBaseMetaTileEntity().setActive((long)AMP*EUT>=0); + buck.getBaseMetaTileEntity().setActive((long) AMP * EUT >= 0); return null; } return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); @@ -116,9 +116,9 @@ public class GT_Container_BuckConverter } GT_MetaTileEntity_BuckConverter buck = (GT_MetaTileEntity_BuckConverter) mTileEntity.getMetaTileEntity(); - EUT=buck.EUT; - AMP=buck.AMP; - buck.getBaseMetaTileEntity().setActive((long)AMP*EUT>=0); + EUT = buck.EUT; + AMP = buck.AMP; + buck.getBaseMetaTileEntity().setActive((long) AMP * EUT >= 0); for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DataReader.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DataReader.java index a7f31dc103..57eda3f1d5 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DataReader.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DataReader.java @@ -19,31 +19,31 @@ public class GT_Container_DataReader extends GT_Container_BasicTank { @Override public void addSlots(InventoryPlayer aInventoryPlayer) { - //this.addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 0, 8, 63, false, true, 1)); - //this.addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 0, 26, 63, false, true, 1)); - //this.addSlotToContainer(new GT_Slot_Render(this.mTileEntity, 2, 107, 63)); + // this.addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 0, 8, 63, false, true, 1)); + // this.addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 0, 26, 63, false, true, 1)); + // this.addSlotToContainer(new GT_Slot_Render(this.mTileEntity, 2, 107, 63)); - int tStartIndex = ((GT_MetaTileEntity_BasicMachine)this.mTileEntity.getMetaTileEntity()).getInputSlot(); + int tStartIndex = ((GT_MetaTileEntity_BasicMachine) this.mTileEntity.getMetaTileEntity()).getInputSlot(); this.addSlotToContainer(new Slot(this.mTileEntity, tStartIndex, 53, 153)); - tStartIndex = ((GT_MetaTileEntity_BasicMachine)this.mTileEntity.getMetaTileEntity()).getOutputSlot(); + tStartIndex = ((GT_MetaTileEntity_BasicMachine) this.mTileEntity.getMetaTileEntity()).getOutputSlot(); this.addSlotToContainer(new GT_Slot_Output(this.mTileEntity, tStartIndex, 107, 153)); this.addSlotToContainer(new Slot(this.mTileEntity, 1, 17, 153)); - //this.addSlotToContainer(new Slot(this.mTileEntity, 3, 125, 63)); - //this.addSlotToContainer(new GT_Slot_Render(this.mTileEntity, tStartIndex, 53, 63)); + // this.addSlotToContainer(new Slot(this.mTileEntity, 3, 125, 63)); + // this.addSlotToContainer(new GT_Slot_Render(this.mTileEntity, tStartIndex, 53, 63)); } @Override protected void bindPlayerInventory(InventoryPlayer aInventoryPlayer) { int i; - for(i = 0; i < 3; ++i) { - for(int j = 0; j < 9; ++j) { + for (i = 0; i < 3; ++i) { + for (int j = 0; j < 9; ++j) { this.addSlotToContainer(new Slot(aInventoryPlayer, j + i * 9 + 9, 8 + j * 18, 174 + i * 18)); } } - for(i = 0; i < 9; ++i) { + for (i = 0; i < 9; ++i) { this.addSlotToContainer(new Slot(aInventoryPlayer, i, 8 + i * 18, 232)); } } @@ -52,13 +52,12 @@ public class GT_Container_DataReader extends GT_Container_BasicTank { public void detectAndSendChanges() { super.detectAndSendChanges(); if (!this.mTileEntity.isClientSide() && this.mTileEntity.getMetaTileEntity() != null) { - this.mStuttering = ((GT_MetaTileEntity_BasicMachine)this.mTileEntity.getMetaTileEntity()).mStuttering; + this.mStuttering = ((GT_MetaTileEntity_BasicMachine) this.mTileEntity.getMetaTileEntity()).mStuttering; for (Object crafter : this.crafters) { ICrafting var1 = (ICrafting) crafter; var1.sendProgressBarUpdate(this, 102, this.mStuttering ? 1 : 0); } - } } @@ -74,7 +73,6 @@ public class GT_Container_DataReader extends GT_Container_BasicTank { if (par1 == 102) { this.mStuttering = par2 != 0; } - } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java index e74c51ab90..097464efe8 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java @@ -13,8 +13,7 @@ import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -public class GT_Container_DebugPollutor - extends GT_ContainerMetaTile_Machine { +public class GT_Container_DebugPollutor extends GT_ContainerMetaTile_Machine { public int pollution; public float anomaly; private int anomalyInt; @@ -103,12 +102,13 @@ public class GT_Container_DebugPollutor case 15: dpg.anomaly *= aShifthold == 1 ? 16 : 2; break; - default: return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); + default: + return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); } - if(dpg.anomaly==Float.POSITIVE_INFINITY){ - dpg.anomaly=Float.MAX_VALUE; - }else if (dpg.anomaly==Float.NEGATIVE_INFINITY){ - dpg.anomaly=-Float.MAX_VALUE; + if (dpg.anomaly == Float.POSITIVE_INFINITY) { + dpg.anomaly = Float.MAX_VALUE; + } else if (dpg.anomaly == Float.NEGATIVE_INFINITY) { + dpg.anomaly = -Float.MAX_VALUE; } return null; } @@ -123,14 +123,14 @@ public class GT_Container_DebugPollutor } GT_MetaTileEntity_DebugPollutor dpg = (GT_MetaTileEntity_DebugPollutor) mTileEntity.getMetaTileEntity(); - pollution =dpg.pollution; - anomaly =dpg.anomaly; - anomalyInt=Float.floatToIntBits(anomaly); + pollution = dpg.pollution; + anomaly = dpg.anomaly; + anomalyInt = Float.floatToIntBits(anomaly); for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; - TT_Utility.sendInteger(pollution,this,var1,100); - TT_Utility.sendFloat(anomaly,this,var1,102); + TT_Utility.sendInteger(pollution, this, var1, 100); + TT_Utility.sendFloat(anomaly, this, var1, 102); } } @@ -141,11 +141,11 @@ public class GT_Container_DebugPollutor switch (par1) { case 100: case 101: - pollution = TT_Utility.receiveInteger(pollution,100,par1,par2); + pollution = TT_Utility.receiveInteger(pollution, 100, par1, par2); break; case 102: case 103: - anomaly = Float.intBitsToFloat(anomalyInt= TT_Utility.receiveInteger(anomalyInt,102,par1,par2)); + anomaly = Float.intBitsToFloat(anomalyInt = TT_Utility.receiveInteger(anomalyInt, 102, par1, par2)); break; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPowerGenerator.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPowerGenerator.java index b4cea250ed..3563334b7a 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPowerGenerator.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPowerGenerator.java @@ -12,9 +12,8 @@ import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -public class GT_Container_DebugPowerGenerator - extends GT_ContainerMetaTile_Machine { - public int EUT=0,AMP=0; +public class GT_Container_DebugPowerGenerator extends GT_ContainerMetaTile_Machine { + public int EUT = 0, AMP = 0; public GT_Container_DebugPowerGenerator(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(aInventoryPlayer, aTileEntity); @@ -50,7 +49,8 @@ public class GT_Container_DebugPowerGenerator } Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - GT_MetaTileEntity_DebugPowerGenerator dpg = (GT_MetaTileEntity_DebugPowerGenerator) mTileEntity.getMetaTileEntity(); + GT_MetaTileEntity_DebugPowerGenerator dpg = + (GT_MetaTileEntity_DebugPowerGenerator) mTileEntity.getMetaTileEntity(); switch (aSlotIndex) { case 0: dpg.EUT -= aShifthold == 1 ? 512 : 64; @@ -100,9 +100,10 @@ public class GT_Container_DebugPowerGenerator case 15: dpg.AMP *= aShifthold == 1 ? 16 : 2; break; - default: return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); + default: + return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); } - dpg.producing=(long)AMP*EUT>=0; + dpg.producing = (long) AMP * EUT >= 0; return null; } return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); @@ -115,10 +116,11 @@ public class GT_Container_DebugPowerGenerator return; } - GT_MetaTileEntity_DebugPowerGenerator dpg = (GT_MetaTileEntity_DebugPowerGenerator) mTileEntity.getMetaTileEntity(); - EUT=dpg.EUT; - AMP=dpg.AMP; - dpg.producing =(long)AMP*EUT>=0; + GT_MetaTileEntity_DebugPowerGenerator dpg = + (GT_MetaTileEntity_DebugPowerGenerator) mTileEntity.getMetaTileEntity(); + EUT = dpg.EUT; + AMP = dpg.AMP; + dpg.producing = (long) AMP * EUT >= 0; for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugStructureWriter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugStructureWriter.java index 442a7c2d47..f2fcf9108b 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugStructureWriter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugStructureWriter.java @@ -12,8 +12,7 @@ import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -public class GT_Container_DebugStructureWriter - extends GT_ContainerMetaTile_Machine { +public class GT_Container_DebugStructureWriter extends GT_ContainerMetaTile_Machine { public boolean size = false; public short[] numbers = new short[6]; @@ -51,7 +50,8 @@ public class GT_Container_DebugStructureWriter } Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - GT_MetaTileEntity_DebugStructureWriter dsw = (GT_MetaTileEntity_DebugStructureWriter) mTileEntity.getMetaTileEntity(); + GT_MetaTileEntity_DebugStructureWriter dsw = + (GT_MetaTileEntity_DebugStructureWriter) mTileEntity.getMetaTileEntity(); if (dsw.numbers == null) { return null; } @@ -109,7 +109,8 @@ public class GT_Container_DebugStructureWriter if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) { return; } - GT_MetaTileEntity_DebugStructureWriter dsw = (GT_MetaTileEntity_DebugStructureWriter) mTileEntity.getMetaTileEntity(); + GT_MetaTileEntity_DebugStructureWriter dsw = + (GT_MetaTileEntity_DebugStructureWriter) mTileEntity.getMetaTileEntity(); if (numbers != null) { System.arraycopy(dsw.numbers, 0, numbers, 0, dsw.numbers.length); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_BuckConverter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_BuckConverter.java index 1cff7e6c30..8aef833a1b 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_BuckConverter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_BuckConverter.java @@ -1,13 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.single.gui; +import static com.github.technus.tectech.util.CommonValues.VN; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + import com.github.technus.tectech.util.TT_Utility; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; -import static com.github.technus.tectech.util.CommonValues.VN; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - public class GT_GUIContainer_BuckConverter extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_BuckConverter(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_BuckConverter(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Teleporter.png"); @@ -19,9 +19,10 @@ public class GT_GUIContainer_BuckConverter extends GT_GUIContainerMetaTile_Machi if (mContainer != null) { GT_Container_BuckConverter buck = (GT_Container_BuckConverter) mContainer; fontRendererObj.drawString("EUT: " + buck.EUT, 46, 24, 16448255); - fontRendererObj.drawString("TIER: " + VN[TT_Utility.getTier(buck.EUT<0?-buck.EUT:buck.EUT)], 46, 32, 16448255); + fontRendererObj.drawString( + "TIER: " + VN[TT_Utility.getTier(buck.EUT < 0 ? -buck.EUT : buck.EUT)], 46, 32, 16448255); fontRendererObj.drawString("AMP: " + buck.AMP, 46, 40, 16448255); - fontRendererObj.drawString("SUM: " + (long)buck.AMP*buck.EUT, 46, 48, 16448255); + fontRendererObj.drawString("SUM: " + (long) buck.AMP * buck.EUT, 46, 48, 16448255); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DataReader.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DataReader.java index 738587941e..d6f150d87e 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DataReader.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DataReader.java @@ -6,6 +6,7 @@ import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.gui.GT_Slot_Holo; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Utility; +import java.util.List; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.texture.TextureMap; @@ -15,21 +16,33 @@ import net.minecraft.util.IIcon; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; -import java.util.List; - public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine { public final String mName; public final String mNEI; public final byte mProgressBarDirection; public final byte mProgressBarAmount; - private ItemStack stack=null; + private ItemStack stack = null; - public GT_GUIContainer_DataReader(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile, String aNEI) { + public GT_GUIContainer_DataReader( + InventoryPlayer aInventoryPlayer, + IGregTechTileEntity aTileEntity, + String aName, + String aTextureFile, + String aNEI) { this(aInventoryPlayer, aTileEntity, aName, aTextureFile, aNEI, (byte) 0, (byte) 1); } - public GT_GUIContainer_DataReader(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile, String aNEI, byte aProgressBarDirection, byte aProgressBarAmount) { - super(new GT_Container_DataReader(aInventoryPlayer, aTileEntity), "gregtech:textures/gui/basicmachines/" + aTextureFile); + public GT_GUIContainer_DataReader( + InventoryPlayer aInventoryPlayer, + IGregTechTileEntity aTileEntity, + String aName, + String aTextureFile, + String aNEI, + byte aProgressBarDirection, + byte aProgressBarAmount) { + super( + new GT_Container_DataReader(aInventoryPlayer, aTileEntity), + "gregtech:textures/gui/basicmachines/" + aTextureFile); this.mProgressBarDirection = aProgressBarDirection; this.mProgressBarAmount = (byte) Math.max(1, aProgressBarAmount); this.mName = aName; @@ -41,17 +54,21 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine public void drawScreen(int mouseX, int mouseY, float par3) { super.drawScreen(mouseX, mouseY, par3); if (mContainer != null) { - if (mContainer.mTileEntity != null && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { - GT_MetaTileEntity_DataReader reader = (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); - renderDataTooltips(mouseX,mouseY,reader.mTier); + if (mContainer.mTileEntity != null + && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { + GT_MetaTileEntity_DataReader reader = + (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); + renderDataTooltips(mouseX, mouseY, reader.mTier); } } } protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { if (mContainer != null) { - if (mContainer.mTileEntity != null && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { - GT_MetaTileEntity_DataReader reader = (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); + if (mContainer.mTileEntity != null + && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { + GT_MetaTileEntity_DataReader reader = + (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); if (renderDataFG(mouseX, mouseY, reader.mTier)) { return; } @@ -72,7 +89,16 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine if (this.mContainer.mMaxProgressTime > 0) { int tSize = this.mProgressBarDirection < 2 ? 20 : 18; - int tProgress = Math.max(1, Math.min(tSize * this.mProgressBarAmount, (this.mContainer.mProgressTime > 0 ? 1 : 0) + this.mContainer.mProgressTime * tSize * this.mProgressBarAmount / this.mContainer.mMaxProgressTime)) % (tSize + 1); + int tProgress = Math.max( + 1, + Math.min( + tSize * this.mProgressBarAmount, + (this.mContainer.mProgressTime > 0 ? 1 : 0) + + this.mContainer.mProgressTime + * tSize + * this.mProgressBarAmount + / this.mContainer.mMaxProgressTime)) + % (tSize + 1); switch (this.mProgressBarDirection) { case 0: this.drawTexturedModalRect(x + 78, y + 152, 176, 0, tProgress, 18); @@ -84,7 +110,8 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine this.drawTexturedModalRect(x + 78, y + 152, 176, 0, 20, tProgress); break; case 3: - this.drawTexturedModalRect(x + 78, y + 152 + 18 - tProgress, 176, 18 - tProgress, 20, tProgress); + this.drawTexturedModalRect( + x + 78, y + 152 + 18 - tProgress, 176, 18 - tProgress, 20, tProgress); break; case 4: tProgress = 20 - tProgress; @@ -100,13 +127,16 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine break; case 7: tProgress = 18 - tProgress; - this.drawTexturedModalRect(x + 78, y + 152 + 18 - tProgress, 176, 18 - tProgress, 20, tProgress); + this.drawTexturedModalRect( + x + 78, y + 152 + 18 - tProgress, 176, 18 - tProgress, 20, tProgress); } } } if (mContainer != null) { - if (mContainer.mTileEntity != null && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { - GT_MetaTileEntity_DataReader reader = (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); + if (mContainer.mTileEntity != null + && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { + GT_MetaTileEntity_DataReader reader = + (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); renderDataBG(reader.getStackInSlot(reader.getOutputSlot()), mouseX, mouseY, x, y, reader.mTier); } } @@ -125,11 +155,11 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine } } } - stack=thing; + stack = thing; } private boolean renderDataFG(int mouseX, int mouseY, byte mTier) { - if(stack==null){ + if (stack == null) { return false; } for (GT_MetaTileEntity_DataReader.IDataRender render : @@ -143,7 +173,7 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine } private boolean renderDataTooltips(int mouseX, int mouseY, byte mTier) { - if(stack==null){ + if (stack == null) { return false; } for (GT_MetaTileEntity_DataReader.IDataRender render : @@ -185,10 +215,10 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine public void renderTooltipSimple(int mouseX, int mouseY, GT_Slot_Holo slot, ItemStack itemStack) { int x = slot.xDisplayPosition + (width - xSize) / 2; int y = slot.yDisplayPosition + (height - ySize) / 2; - if (mouseX >= x && mouseY >= y && mouseX <= x+16 && mouseY <= y+16 ) { - List strings=itemStack.getTooltip(Minecraft.getMinecraft().thePlayer, false); - if(strings.size()>0){ - strings.set(0,itemStack.getRarity().rarityColor+(String)strings.get(0)); + if (mouseX >= x && mouseY >= y && mouseX <= x + 16 && mouseY <= y + 16) { + List strings = itemStack.getTooltip(Minecraft.getMinecraft().thePlayer, false); + if (strings.size() > 0) { + strings.set(0, itemStack.getRarity().rarityColor + (String) strings.get(0)); } hoveringText(strings, mouseX, mouseY, fontRendererObj); } @@ -197,7 +227,7 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine private void hoveringText(List strings, int x, int y, FontRenderer font) { if (!strings.isEmpty()) { GL11.glDisable(GL12.GL_RESCALE_NORMAL); - //RenderHelper.disableStandardItemLighting(); + // RenderHelper.disableStandardItemLighting(); GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_DEPTH_TEST); int k = 0; @@ -227,16 +257,16 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine y2 = this.height - i1 - 6; } - //this.zLevel = 300.0F; - //itemRender.zLevel = 300.0F; - int j1 = 0xf0001040;//bg + // this.zLevel = 300.0F; + // itemRender.zLevel = 300.0F; + int j1 = 0xf0001040; // bg this.drawGradientRect(x2 - 3, y2 - 4, x2 + k + 3, y2 - 3, j1, j1); this.drawGradientRect(x2 - 3, y2 + i1 + 3, x2 + k + 3, y2 + i1 + 4, j1, j1); this.drawGradientRect(x2 - 3, y2 - 3, x2 + k + 3, y2 + i1 + 3, j1, j1); this.drawGradientRect(x2 - 4, y2 - 3, x2 - 3, y2 + i1 + 3, j1, j1); this.drawGradientRect(x2 + k + 3, y2 - 3, x2 + k + 4, y2 + i1 + 3, j1, j1); - int k1 = 0x500040ff;//border bright - int l1 = (k1 & 0xfefefe) >> 1 | k1 & 0xff000000;//border dark??? + int k1 = 0x500040ff; // border bright + int l1 = (k1 & 0xfefefe) >> 1 | k1 & 0xff000000; // border dark??? this.drawGradientRect(x2 - 3, y2 - 3 + 1, x2 - 3 + 1, y2 + i1 + 3 - 1, k1, l1); this.drawGradientRect(x2 + k + 2, y2 - 3 + 1, x2 + k + 3, y2 + i1 + 3 - 1, k1, l1); this.drawGradientRect(x2 - 3, y2 - 3, x2 + k + 3, y2 - 3 + 1, k1, k1); @@ -253,11 +283,11 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine y2 += 10; } - //this.zLevel = 0.0F; - //itemRender.zLevel = 0.0F; + // this.zLevel = 0.0F; + // itemRender.zLevel = 0.0F; GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_DEPTH_TEST); - //RenderHelper.enableStandardItemLighting(); + // RenderHelper.enableStandardItemLighting(); GL11.glEnable(GL12.GL_RESCALE_NORMAL); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPollutor.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPollutor.java index 39c67f1b50..a754412eb6 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPollutor.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPollutor.java @@ -1,11 +1,11 @@ package com.github.technus.tectech.thing.metaTileEntity.single.gui; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - public class GT_GUIContainer_DebugPollutor extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_DebugPollutor(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_DebugPollutor(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Teleporter.png"); diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPowerGenerator.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPowerGenerator.java index f1f5050d9d..e0990fa49c 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPowerGenerator.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPowerGenerator.java @@ -1,13 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.single.gui; +import static com.github.technus.tectech.util.CommonValues.VN; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + import com.github.technus.tectech.util.TT_Utility; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; -import static com.github.technus.tectech.util.CommonValues.VN; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - public class GT_GUIContainer_DebugPowerGenerator extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_DebugPowerGenerator(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_DebugPowerGenerator(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Teleporter.png"); @@ -19,9 +19,10 @@ public class GT_GUIContainer_DebugPowerGenerator extends GT_GUIContainerMetaTile if (mContainer != null) { GT_Container_DebugPowerGenerator dpg = (GT_Container_DebugPowerGenerator) mContainer; fontRendererObj.drawString("EUT: " + dpg.EUT, 46, 24, 16448255); - fontRendererObj.drawString("TIER: " + VN[TT_Utility.getTier(dpg.EUT<0?-dpg.EUT:dpg.EUT)], 46, 32, 16448255); + fontRendererObj.drawString( + "TIER: " + VN[TT_Utility.getTier(dpg.EUT < 0 ? -dpg.EUT : dpg.EUT)], 46, 32, 16448255); fontRendererObj.drawString("AMP: " + dpg.AMP, 46, 40, 16448255); - fontRendererObj.drawString("SUM: " + (long)dpg.AMP*dpg.EUT, 46, 48, 16448255); + fontRendererObj.drawString("SUM: " + (long) dpg.AMP * dpg.EUT, 46, 48, 16448255); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugStructureWriter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugStructureWriter.java index 0f64c83d5e..f37327d457 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugStructureWriter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugStructureWriter.java @@ -1,11 +1,11 @@ package com.github.technus.tectech.thing.metaTileEntity.single.gui; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - public class GT_GUIContainer_DebugStructureWriter extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_DebugStructureWriter(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_DebugStructureWriter(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Teleporter.png"); @@ -20,7 +20,7 @@ public class GT_GUIContainer_DebugStructureWriter extends GT_GUIContainerMetaTil return; } fontRendererObj.drawString(dsw.size ? "Structure size" : "My position", 46, 16, 16448255); - fontRendererObj.drawString(dsw.size ? "(Changing scan size)" : "(Moving origin)", 46,24, 16448255); + fontRendererObj.drawString(dsw.size ? "(Changing scan size)" : "(Moving origin)", 46, 24, 16448255); fontRendererObj.drawString("A: " + dsw.numbers[dsw.size ? 3 : 0], 46, 32, 16448255); fontRendererObj.drawString("B: " + dsw.numbers[dsw.size ? 4 : 1], 46, 40, 16448255); fontRendererObj.drawString("C: " + dsw.numbers[dsw.size ? 5 : 2], 46, 48, 16448255); diff --git a/src/main/java/com/github/technus/tectech/thing/tileEntity/ReactorSimTileEntity.java b/src/main/java/com/github/technus/tectech/thing/tileEntity/ReactorSimTileEntity.java index 55fa327364..8f95472cd3 100644 --- a/src/main/java/com/github/technus/tectech/thing/tileEntity/ReactorSimTileEntity.java +++ b/src/main/java/com/github/technus/tectech/thing/tileEntity/ReactorSimTileEntity.java @@ -16,20 +16,20 @@ import net.minecraftforge.fluids.FluidStack; * Created by danie_000 on 30.09.2017. */ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { - private boolean hadRedstone =true; + private boolean hadRedstone = true; @Override public void onLoaded() { super.onLoaded(); - if(IC2.platform.isSimulating() && addedToEnergyNet) { + if (IC2.platform.isSimulating() && addedToEnergyNet) { MinecraftForge.EVENT_BUS.post(new EnergyTileUnloadEvent(this)); - //this.addedToEnergyNet = false; + // this.addedToEnergyNet = false; } } @Override public void onUnloaded() { - addedToEnergyNet=false; + addedToEnergyNet = false; super.onUnloaded(); } @@ -38,19 +38,19 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { return "Nuclear Reactor Simulator"; } - //public int gaugeHeatScaled(int i) { + // public int gaugeHeatScaled(int i) { // return i * this.heat / (this.maxHeat / 100 * 85); - //} + // } - //public void readFromNBT(NBTTagCompound nbttagcompound) { + // public void readFromNBT(NBTTagCompound nbttagcompound) { // super.readFromNBT(nbttagcompound); // //this.heat = nbttagcompound.getInteger("heat"); // //this.inputTank.readFromNBT(nbttagcompound.getCompoundTag("inputTank")); // //this.outputTank.readFromNBT(nbttagcompound.getCompoundTag("outputTank")); // //this.output = (float)nbttagcompound.getShort("output"); - //} + // } - //public void writeToNBT(NBTTagCompound nbttagcompound) { + // public void writeToNBT(NBTTagCompound nbttagcompound) { // super.writeToNBT(nbttagcompound); // //NBTTagCompound inputTankTag = new NBTTagCompound(); // //this.inputTank.writeToNBT(inputTankTag); @@ -60,18 +60,18 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // //nbttagcompound.setTag("outputTank", outputTankTag); // //nbttagcompound.setInteger("heat", this.heat); // //nbttagcompound.setShort("output", (short)((int)this.getReactorEnergyOutput())); - //} + // } - //public void setRedstoneSignal(boolean redstone) { + // public void setRedstoneSignal(boolean redstone) { // this.redstone = redstone; - //} + // } - //public void drawEnergy(double amount) { - //} + // public void drawEnergy(double amount) { + // } - //public float sendEnergy(float send) { + // public float sendEnergy(float send) { // return 0.0F; - //} + // } @Override public boolean emitsEnergyTo(TileEntity receiver, ForgeDirection direction) { @@ -83,16 +83,18 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { return 0; } - //public int getSourceTier() { + // public int getSourceTier() { // return 4; - //} + // } @Override public double getReactorEUEnergyOutput() { - return getReactorEnergyOutput() * 5.0F * ConfigUtil.getDouble(MainConfig.get(), "balance/energy/generator/nuclear"); + return getReactorEnergyOutput() + * 5.0F + * ConfigUtil.getDouble(MainConfig.get(), "balance/energy/generator/nuclear"); } - //public List getSubTiles() { + // public List getSubTiles() { // if(this.subTiles == null) { // this.subTiles = new ArrayList(); // this.subTiles.add(this); @@ -109,9 +111,9 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // } // // return this.subTiles; - //} + // } - //private void processfluidsSlots() { + // private void processfluidsSlots() { // RecipeOutput outputinputSlot = this.processInputSlot(true); // if(outputinputSlot != null) { // this.processInputSlot(false); @@ -126,9 +128,9 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.hotcoolantoutputSlot.add(processResult); // } // - //} + // } - //public void refreshChambers() { + // public void refreshChambers() { // if(this.addedToEnergyNet) { // MinecraftForge.EVENT_BUS.post(new EnergyTileUnloadEvent(this)); // } @@ -138,24 +140,24 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // MinecraftForge.EVENT_BUS.post(new EnergyTileLoadEvent(this)); // } // - //} + // } @Override protected void updateEntityServer() { - if(updateTicker++ % getTickRate() == 0) { + if (updateTicker++ % getTickRate() == 0) { if (!worldObj.isRemote && worldObj.doChunksNearChunkExist(xCoord, yCoord, zCoord, 2)) { - if(hadRedstone && !receiveredstone()) { + if (hadRedstone && !receiveredstone()) { hadRedstone = false; - } else if(!hadRedstone && receiveredstone()){ + } else if (!hadRedstone && receiveredstone()) { doUpdates(); - hadRedstone=true; + hadRedstone = true; } markDirty(); } } } - //public void dropAllUnfittingStuff() { + // public void dropAllUnfittingStuff() { // int i; // ItemStack stack; // for(i = 0; i < this.reactorSlot.size(); ++i) { @@ -172,63 +174,73 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.eject(stack); // } // - //} + // } - //public boolean isUsefulItem(ItemStack stack, boolean forInsertion) { + // public boolean isUsefulItem(ItemStack stack, boolean forInsertion) { // Item item = stack.getItem(); - // return (item instanceof IReactorComponent || (item == Ic2Items.TritiumCell.getItem() || item == Ic2Items.reactorDepletedUraniumSimple.getItem() || item == Ic2Items.reactorDepletedUraniumDual.getItem() || item == Ic2Items.reactorDepletedUraniumQuad.getItem() || item == Ic2Items.reactorDepletedMOXSimple.getItem() || item == Ic2Items.reactorDepletedMOXDual.getItem() || item == Ic2Items.reactorDepletedMOXQuad.getItem())); - //} + // return (item instanceof IReactorComponent || (item == Ic2Items.TritiumCell.getItem() || item == + // Ic2Items.reactorDepletedUraniumSimple.getItem() || item == Ic2Items.reactorDepletedUraniumDual.getItem() || item + // == Ic2Items.reactorDepletedUraniumQuad.getItem() || item == Ic2Items.reactorDepletedMOXSimple.getItem() || item + // == Ic2Items.reactorDepletedMOXDual.getItem() || item == Ic2Items.reactorDepletedMOXQuad.getItem())); + // } - //public void eject(ItemStack drop) { + // public void eject(ItemStack drop) { // if(IC2.platform.isSimulating() && drop != null) { // float f = 0.7F; // double d = (double)(this.worldObj.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D; // double d1 = (double)(this.worldObj.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D; // double d2 = (double)(this.worldObj.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D; - // EntityItem entityitem = new EntityItem(this.worldObj, (double)this.xCoord + d, (double)this.yCoord + d1, (double)this.zCoord + d2, drop); + // EntityItem entityitem = new EntityItem(this.worldObj, (double)this.xCoord + d, (double)this.yCoord + d1, + // (double)this.zCoord + d2, drop); // entityitem.delayBeforeCanPickup = 10; // this.worldObj.spawnEntityInWorld(entityitem); // } - //} + // } @Override public boolean calculateHeatEffects() { - if(heat >= 4000 && IC2.platform.isSimulating()) { + if (heat >= 4000 && IC2.platform.isSimulating()) { float power = (float) heat / (float) maxHeat; - if(power >= 1.0F) { - explode();//ding + if (power >= 1.0F) { + explode(); // ding return true; } else { - //int[] coord; - //Block block; - //Material mat; - //if(power >= 0.85F && this.worldObj.rand.nextFloat() <= 0.2F * this.hem) { + // int[] coord; + // Block block; + // Material mat; + // if(power >= 0.85F && this.worldObj.rand.nextFloat() <= 0.2F * this.hem) { // coord = this.getRandCoord(2); // if(coord != null) { // block = this.worldObj.getBlock(coord[0], coord[1], coord[2]); // if(block.isAir(this.worldObj, coord[0], coord[1], coord[2])) { // this.worldObj.setBlock(coord[0], coord[1], coord[2], Blocks.fire, 0, 7); - // } else if(block.getBlockHardness(this.worldObj, coord[0], coord[1], coord[2]) >= 0.0F && this.worldObj.getTileEntity(coord[0], coord[1], coord[2]) == null) { + // } else if(block.getBlockHardness(this.worldObj, coord[0], coord[1], coord[2]) >= 0.0F && + // this.worldObj.getTileEntity(coord[0], coord[1], coord[2]) == null) { // mat = block.getMaterial(); - // if(mat != Material.rock && mat != Material.iron && mat != Material.lava && mat != Material.ground && mat != Material.clay) { + // if(mat != Material.rock && mat != Material.iron && mat != Material.lava && mat != + // Material.ground && mat != Material.clay) { // this.worldObj.setBlock(coord[0], coord[1], coord[2], Blocks.fire, 0, 7); // } else { // this.worldObj.setBlock(coord[0], coord[1], coord[2], Blocks.flowing_lava, 15, 7); // } // } // } - //} + // } // - //if(power >= 0.7F) { - // List var5 = this.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox((double)(this.xCoord - 3), (double)(this.yCoord - 3), (double)(this.zCoord - 3), (double)(this.xCoord + 4), (double)(this.yCoord + 4), (double)(this.zCoord + 4))); + // if(power >= 0.7F) { + // List var5 = this.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, + // AxisAlignedBB.getBoundingBox((double)(this.xCoord - 3), (double)(this.yCoord - 3), + // (double)(this.zCoord - 3), (double)(this.xCoord + 4), (double)(this.yCoord + 4), (double)(this.zCoord + // + 4))); // // for(int var6 = 0; var6 < var5.size(); ++var6) { // Entity var7 = (Entity)var5.get(var6); - // var7.attackEntityFrom(IC2DamageSource.radiation, (float)((int)((float)this.worldObj.rand.nextInt(4) * this.hem))); + // var7.attackEntityFrom(IC2DamageSource.radiation, + // (float)((int)((float)this.worldObj.rand.nextInt(4) * this.hem))); // } - //} + // } // - //if(power >= 0.5F && this.worldObj.rand.nextFloat() <= this.hem) { + // if(power >= 0.5F && this.worldObj.rand.nextFloat() <= this.hem) { // coord = this.getRandCoord(2); // if(coord != null) { // block = this.worldObj.getBlock(coord[0], coord[1], coord[2]); @@ -236,9 +248,9 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.worldObj.setBlockToAir(coord[0], coord[1], coord[2]); // } // } - //} + // } // - //if(power >= 0.4F && this.worldObj.rand.nextFloat() <= this.hem) { + // if(power >= 0.4F && this.worldObj.rand.nextFloat() <= this.hem) { // coord = this.getRandCoord(2); // if(coord != null && this.worldObj.getTileEntity(coord[0], coord[1], coord[2]) == null) { // block = this.worldObj.getBlock(coord[0], coord[1], coord[2]); @@ -247,23 +259,25 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.worldObj.setBlock(coord[0], coord[1], coord[2], Blocks.fire, 0, 7); // } // } - //} + // } return false; } } return false; } - //public int[] getRandCoord(int radius) { + // public int[] getRandCoord(int radius) { // if(radius <= 0) { // return null; // } else { - // int[] c = new int[]{this.xCoord + this.worldObj.rand.nextInt(2 * radius + 1) - radius, this.yCoord + this.worldObj.rand.nextInt(2 * radius + 1) - radius, this.zCoord + this.worldObj.rand.nextInt(2 * radius + 1) - radius}; + // int[] c = new int[]{this.xCoord + this.worldObj.rand.nextInt(2 * radius + 1) - radius, this.yCoord + + // this.worldObj.rand.nextInt(2 * radius + 1) - radius, this.zCoord + this.worldObj.rand.nextInt(2 * radius + 1) - + // radius}; // return c[0] == this.xCoord && c[1] == this.yCoord && c[2] == this.zCoord?null:c; // } - //} + // } - //public void processChambers() { + // public void processChambers() { // short size = this.getReactorSize(); // // for(int pass = 0; pass < 2; ++pass) { @@ -278,18 +292,19 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // } // } // - //} + // } - //public boolean produceEnergy() { - // return this.receiveredstone() && ConfigUtil.getFloat(MainConfig.get(), "balance/energy/generator/generator") > 0.0F; - //} + // public boolean produceEnergy() { + // return this.receiveredstone() && ConfigUtil.getFloat(MainConfig.get(), "balance/energy/generator/generator") > + // 0.0F; + // } - //NO need - //public boolean receiveredstone() { + // NO need + // public boolean receiveredstone() { // return this.worldObj.isBlockIndirectlyGettingPowered(this.xCoord, this.yCoord, this.zCoord) || this.redstone; - //} + // } - //public short getReactorSize() { + // public short getReactorSize() { // if(this.worldObj == null) { // return 9; // } else { @@ -307,42 +322,43 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // // return cols; // } - //} + // } - //public int getTickRate() { + // public int getTickRate() { // return 20; - //} + // } - //public ContainerBase getGuiContainer(EntityPlayer entityPlayer) { + // public ContainerBase getGuiContainer(EntityPlayer entityPlayer) { // return new ContainerNuclearReactor(entityPlayer, this); - //} + // } - //@SideOnly(Side.CLIENT) - //public GuiScreen getGui(EntityPlayer entityPlayer, boolean isAdmin) { + // @SideOnly(Side.CLIENT) + // public GuiScreen getGui(EntityPlayer entityPlayer, boolean isAdmin) { // return new GuiNuclearReactor(new ContainerNuclearReactor(entityPlayer, this)); - //} + // } - //public void onGuiClosed(EntityPlayer entityPlayer) {} + // public void onGuiClosed(EntityPlayer entityPlayer) {} - //new method - private void doUpdates(){ - heat=0; - do{ + // new method + private void doUpdates() { + heat = 0; + do { dropAllUnfittingStuff(); output = 0.0F; maxHeat = 10000; hem = 1.0F; processChambers(); - }while(!calculateHeatEffects() && output>0); + } while (!calculateHeatEffects() && output > 0); } - //region no need to change - //public void onNetworkUpdate(String field) { + // region no need to change + // public void onNetworkUpdate(String field) { // if(field.equals("output")) { // if(this.output > 0.0F) { // if(this.lastOutput <= 0.0F) { // if(this.audioSourceMain == null) { - // this.audioSourceMain = IC2.audioManager.createSource(this, PositionSpec.Center, "Generators/NuclearReactor/NuclearReactorLoop.ogg", true, false, IC2.audioManager.getDefaultVolume()); + // this.audioSourceMain = IC2.audioManager.createSource(this, PositionSpec.Center, + // "Generators/NuclearReactor/NuclearReactorLoop.ogg", true, false, IC2.audioManager.getDefaultVolume()); // } // // if(this.audioSourceMain != null) { @@ -356,7 +372,8 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.audioSourceGeiger.remove(); // } // - // this.audioSourceGeiger = IC2.audioManager.createSource(this, PositionSpec.Center, "Generators/NuclearReactor/GeigerLowEU.ogg", true, false, IC2.audioManager.getDefaultVolume()); + // this.audioSourceGeiger = IC2.audioManager.createSource(this, PositionSpec.Center, + // "Generators/NuclearReactor/GeigerLowEU.ogg", true, false, IC2.audioManager.getDefaultVolume()); // if(this.audioSourceGeiger != null) { // this.audioSourceGeiger.play(); // } @@ -367,7 +384,8 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.audioSourceGeiger.remove(); // } // - // this.audioSourceGeiger = IC2.audioManager.createSource(this, PositionSpec.Center, "Generators/NuclearReactor/GeigerMedEU.ogg", true, false, IC2.audioManager.getDefaultVolume()); + // this.audioSourceGeiger = IC2.audioManager.createSource(this, PositionSpec.Center, + // "Generators/NuclearReactor/GeigerMedEU.ogg", true, false, IC2.audioManager.getDefaultVolume()); // if(this.audioSourceGeiger != null) { // this.audioSourceGeiger.play(); // } @@ -377,7 +395,8 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.audioSourceGeiger.remove(); // } // - // this.audioSourceGeiger = IC2.audioManager.createSource(this, PositionSpec.Center, "Generators/NuclearReactor/GeigerHighEU.ogg", true, false, IC2.audioManager.getDefaultVolume()); + // this.audioSourceGeiger = IC2.audioManager.createSource(this, PositionSpec.Center, + // "Generators/NuclearReactor/GeigerHighEU.ogg", true, false, IC2.audioManager.getDefaultVolume()); // if(this.audioSourceGeiger != null) { // this.audioSourceGeiger.play(); // } @@ -396,81 +415,82 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // } // // super.onNetworkUpdate(field); - //} + // } - //public float getWrenchDropRate() { + // public float getWrenchDropRate() { // return 1F; - //} + // } - //public ChunkCoordinates getPosition() { + // public ChunkCoordinates getPosition() { // return new ChunkCoordinates(this.xCoord, this.yCoord, this.zCoord); - //} + // } - //public World getWorld() { + // public World getWorld() { // return this.worldObj; - //} + // } - //public int getHeat() { + // public int getHeat() { // return this.heat; - //} + // } - //public void setHeat(int heat1) { + // public void setHeat(int heat1) { // this.heat = heat1; - //} + // } - //public int addHeat(int amount) { + // public int addHeat(int amount) { // this.heat += amount; // return this.heat; - //} + // } - //public ItemStack getItemAt(int x, int y) { + // public ItemStack getItemAt(int x, int y) { // return x >= 0 && x < this.getReactorSize() && y >= 0 && y < 6?this.reactorSlot.get(x, y):null; - //} + // } - //public void setItemAt(int x, int y, ItemStack item) { + // public void setItemAt(int x, int y, ItemStack item) { // if(x >= 0 && x < this.getReactorSize() && y >= 0 && y < 6) { // this.reactorSlot.put(x, y, item); // } - //} + // } @Override public void explode() { - getWorld().playSoundEffect(xCoord,yCoord,zCoord, Reference.MODID+":microwave_ding", 1, 1); + getWorld().playSoundEffect(xCoord, yCoord, zCoord, Reference.MODID + ":microwave_ding", 1, 1); } @Override public void addEmitHeat(int heat) {} - //region no need - //public int getMaxHeat() { + // region no need + // public int getMaxHeat() { // return this.maxHeat; - //} + // } - //public void setMaxHeat(int newMaxHeat) { + // public void setMaxHeat(int newMaxHeat) { // this.maxHeat = newMaxHeat; - //} + // } - //public float getHeatEffectModifier() { + // public float getHeatEffectModifier() { // return this.hem; - //} + // } - //public void setHeatEffectModifier(float newHEM) { + // public void setHeatEffectModifier(float newHEM) { // this.hem = newHEM; - //} + // } - //public float getReactorEnergyOutput() { + // public float getReactorEnergyOutput() { // return this.output; - //} + // } - //public float addOutput(float energy) { + // public float addOutput(float energy) { // return this.output += energy; - //} + // } - //PRIVATE not used - //private RecipeOutput processInputSlot(boolean simulate) { + // PRIVATE not used + // private RecipeOutput processInputSlot(boolean simulate) { // if(!this.coolantinputSlot.isEmpty()) { // MutableObject output = new MutableObject(); - // if(this.coolantinputSlot.transferToTank(this.inputTank, output, simulate) && (output.getValue() == null || this.coolantoutputSlot.canAdd((ItemStack)output.getValue()))) { + // if(this.coolantinputSlot.transferToTank(this.inputTank, output, simulate) && (output.getValue() == null || + // this.coolantoutputSlot.canAdd((ItemStack)output.getValue()))) { // if(output.getValue() == null) { // return new RecipeOutput(null); // } @@ -480,12 +500,13 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // } // // return null; - //} + // } - //private RecipeOutput processOutputSlot(boolean simulate) { + // private RecipeOutput processOutputSlot(boolean simulate) { // if(!this.hotcoolinputSlot.isEmpty()) { // MutableObject output = new MutableObject(); - // if(this.hotcoolinputSlot.transferFromTank(this.outputTank, output, simulate) && (output.getValue() == null || this.hotcoolantoutputSlot.canAdd((ItemStack)output.getValue()))) { + // if(this.hotcoolinputSlot.transferFromTank(this.outputTank, output, simulate) && (output.getValue() == null + // || this.hotcoolantoutputSlot.canAdd((ItemStack)output.getValue()))) { // if(output.getValue() == null) { // return new RecipeOutput(null); // } @@ -495,15 +516,15 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // } // // return null; - //} + // } @Override public boolean isFluidCooled() { return false; } - //!!!Private - removed use cases - //private void movefluidinWorld(boolean out) { + // !!!Private - removed use cases + // private void movefluidinWorld(boolean out) { // if(out) { // if(this.inputTank.getFluidAmount() < 1000 && this.outputTank.getFluidAmount() < 1000) { // this.inputTank.setFluid(null); @@ -514,10 +535,12 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // for(int hotCoolantFluid = 1; hotCoolantFluid < 4; ++hotCoolantFluid) { // if(this.surroundings[coolantBlock][coolantFluid][hotCoolantFluid] instanceof BlockAir) { // if(this.inputTank.getFluidAmount() >= 1000) { - // this.worldObj.setBlock(coolantBlock + this.xCoord - 2, coolantFluid + this.yCoord - 2, hotCoolantFluid + this.zCoord - 2, this.inputTank.getFluid().getFluid().getBlock()); + // this.worldObj.setBlock(coolantBlock + this.xCoord - 2, coolantFluid + this.yCoord + // - 2, hotCoolantFluid + this.zCoord - 2, this.inputTank.getFluid().getFluid().getBlock()); // this.inputTank.drain(1000, true); // } else if(this.outputTank.getFluidAmount() >= 1000) { - // this.worldObj.setBlock(coolantBlock + this.xCoord - 2, coolantFluid + this.yCoord - 2, hotCoolantFluid + this.zCoord - 2, this.outputTank.getFluid().getFluid().getBlock()); + // this.worldObj.setBlock(coolantBlock + this.xCoord - 2, coolantFluid + this.yCoord + // - 2, hotCoolantFluid + this.zCoord - 2, this.outputTank.getFluid().getFluid().getBlock()); // this.outputTank.drain(1000, true); // } // } @@ -543,10 +566,12 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // for(int xoffset = 1; xoffset < 4; ++xoffset) { // for(int zoffset = 1; zoffset < 4; ++zoffset) { // if(this.surroundings[xoffset][yoffset][zoffset] == var10) { - // this.worldObj.setBlock(xoffset + this.xCoord - 2, yoffset + this.yCoord - 2, zoffset + this.zCoord - 2, Blocks.air); + // this.worldObj.setBlock(xoffset + this.xCoord - 2, yoffset + this.yCoord - 2, zoffset + + // this.zCoord - 2, Blocks.air); // this.inputTank.fill(new FluidStack(var9, 1000), true); // } else if(this.surroundings[xoffset][yoffset][zoffset] == hotCoolantBlock) { - // this.worldObj.setBlock(xoffset + this.xCoord - 2, yoffset + this.yCoord - 2, zoffset + this.zCoord - 2, Blocks.air); + // this.worldObj.setBlock(xoffset + this.xCoord - 2, yoffset + this.yCoord - 2, zoffset + + // this.zCoord - 2, Blocks.air); // this.outputTank.fill(new FluidStack(var11, 1000), true); // } // } @@ -554,10 +579,10 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // } // } // - //} + // } - //!!!! PRIVATE - removed use cases - //private boolean readyforpressurizedreactor() { + // !!!! PRIVATE - removed use cases + // private boolean readyforpressurizedreactor() { // Block coolantBlock = BlocksItems.getFluidBlock(InternalName.fluidCoolant); // Block hotCoolantBlock = BlocksItems.getFluidBlock(InternalName.fluidHotCoolant); // @@ -567,11 +592,14 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // for(xoffset = -2; xoffset < 3; ++xoffset) { // for(yoffset = -2; yoffset < 3; ++yoffset) { // for(zoffset = -2; zoffset < 3; ++zoffset) { - // if(this.worldObj.isAirBlock(xoffset + this.xCoord, yoffset + this.yCoord, zoffset + this.zCoord)) { + // if(this.worldObj.isAirBlock(xoffset + this.xCoord, yoffset + this.yCoord, zoffset + this.zCoord)) + // { // this.surroundings[xoffset + 2][yoffset + 2][zoffset + 2] = Blocks.air; // } else { - // Block block = this.worldObj.getBlock(xoffset + this.xCoord, yoffset + this.yCoord, zoffset + this.zCoord); - // if((block == coolantBlock || block == hotCoolantBlock) && this.worldObj.getBlockMetadata(xoffset + this.xCoord, yoffset + this.yCoord, zoffset + this.zCoord) != 0) { + // Block block = this.worldObj.getBlock(xoffset + this.xCoord, yoffset + this.yCoord, zoffset + + // this.zCoord); + // if((block == coolantBlock || block == hotCoolantBlock) && + // this.worldObj.getBlockMetadata(xoffset + this.xCoord, yoffset + this.yCoord, zoffset + this.zCoord) != 0) { // this.surroundings[xoffset + 2][yoffset + 2][zoffset + 2] = Blocks.air; // } else { // this.surroundings[xoffset + 2][yoffset + 2][zoffset + 2] = block; @@ -584,7 +612,10 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // for(xoffset = 1; xoffset < 4; ++xoffset) { // for(yoffset = 1; yoffset < 4; ++yoffset) { // for(zoffset = 1; zoffset < 4; ++zoffset) { - // if(!(this.surroundings[xoffset][yoffset][zoffset] instanceof BlockGenerator) && !(this.surroundings[xoffset][yoffset][zoffset] instanceof BlockReactorChamber) && this.surroundings[xoffset][yoffset][zoffset] != coolantBlock && this.surroundings[xoffset][yoffset][zoffset] != hotCoolantBlock && !(this.surroundings[xoffset][yoffset][zoffset] instanceof BlockAir)) { + // if(!(this.surroundings[xoffset][yoffset][zoffset] instanceof BlockGenerator) && + // !(this.surroundings[xoffset][yoffset][zoffset] instanceof BlockReactorChamber) && + // this.surroundings[xoffset][yoffset][zoffset] != coolantBlock && this.surroundings[xoffset][yoffset][zoffset] != + // hotCoolantBlock && !(this.surroundings[xoffset][yoffset][zoffset] instanceof BlockAir)) { // return false; // } // } @@ -593,36 +624,54 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // // for(xoffset = 0; xoffset < 5; ++xoffset) { // for(yoffset = 0; yoffset < 5; ++yoffset) { - // if(!(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorVessel) && !(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorAccessHatch) && !(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorRedstonePort) && !(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorFluidPort)) { + // if(!(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorVessel) && + // !(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorAccessHatch) && + // !(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorRedstonePort) && + // !(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorFluidPort)) { // return false; // } // - // if(!(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorVessel) && !(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorAccessHatch) && !(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorRedstonePort) && !(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorFluidPort)) { + // if(!(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorVessel) && + // !(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorAccessHatch) && + // !(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorRedstonePort) && + // !(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorFluidPort)) { // return false; // } // - // if(!(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorVessel) && !(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorAccessHatch) && !(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorRedstonePort) && !(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorFluidPort)) { + // if(!(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorVessel) && + // !(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorAccessHatch) && + // !(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorRedstonePort) && + // !(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorFluidPort)) { // return false; // } // - // if(!(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorVessel) && !(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorAccessHatch) && !(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorRedstonePort) && !(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorFluidPort)) { + // if(!(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorVessel) && + // !(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorAccessHatch) && + // !(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorRedstonePort) && + // !(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorFluidPort)) { // return false; // } // - // if(!(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorVessel) && !(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorAccessHatch) && !(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorRedstonePort) && !(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorFluidPort)) { + // if(!(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorVessel) && + // !(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorAccessHatch) && + // !(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorRedstonePort) && + // !(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorFluidPort)) { // return false; // } // - // if(!(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorVessel) && !(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorAccessHatch) && !(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorRedstonePort) && !(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorFluidPort)) { + // if(!(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorVessel) && + // !(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorAccessHatch) && + // !(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorRedstonePort) && + // !(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorFluidPort)) { // return false; // } // } // } // // return true; - //} + // } - //public int gaugeLiquidScaled(int i, int tank) { + // public int gaugeLiquidScaled(int i, int tank) { // switch(tank) { // case 0: // if(this.inputTank.getFluidAmount() <= 0) { @@ -639,19 +688,19 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // default: // return 0; // } - //} + // } - //public FluidTank getinputtank() { + // public FluidTank getinputtank() { // return this.inputTank; - //} + // } - //public FluidTank getoutputtank() { + // public FluidTank getoutputtank() { // return this.outputTank; - //} + // } - //public FluidTankInfo[] getTankInfo(ForgeDirection from) { + // public FluidTankInfo[] getTankInfo(ForgeDirection from) { // return new FluidTankInfo[]{this.inputTank.getInfo(), this.outputTank.getInfo()}; - //} + // } @Override public boolean canFill(ForgeDirection from, Fluid fluid) { diff --git a/src/main/java/com/github/technus/tectech/util/CommonValues.java b/src/main/java/com/github/technus/tectech/util/CommonValues.java index 603644bcde..cb894f8e9c 100644 --- a/src/main/java/com/github/technus/tectech/util/CommonValues.java +++ b/src/main/java/com/github/technus/tectech/util/CommonValues.java @@ -6,33 +6,66 @@ import net.minecraft.util.EnumChatFormatting; * Created by danie_000 on 11.01.2017. */ public final class CommonValues { - public static final String TEC_MARK_SHORT = - EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech"; - public static final String TEC_MARK_GENERAL = TEC_MARK_SHORT + - EnumChatFormatting.BLUE + ": Interdimensional"; - public static final String TEC_MARK_EM = TEC_MARK_SHORT + - EnumChatFormatting.BLUE + ": Elemental Matter"; - public static final String BASS_MARK = TEC_MARK_SHORT + - EnumChatFormatting.BLUE + ": Theta Movement"; - public static final String COSMIC_MARK = TEC_MARK_SHORT + - EnumChatFormatting.BLUE + ": Cosmic";//TODO get a better name than cosmic for *UNDEFINED* thing + public static final String TEC_MARK_SHORT = EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech"; + public static final String TEC_MARK_GENERAL = TEC_MARK_SHORT + EnumChatFormatting.BLUE + ": Interdimensional"; + public static final String TEC_MARK_EM = TEC_MARK_SHORT + EnumChatFormatting.BLUE + ": Elemental Matter"; + public static final String BASS_MARK = TEC_MARK_SHORT + EnumChatFormatting.BLUE + ": Theta Movement"; + public static final String COSMIC_MARK = TEC_MARK_SHORT + 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 - public static final byte MOVE_AT = 4;// move stuff around - public static final byte RECIPE_AT = 6;// move stuff around - public static final byte MULTI_PURGE_2_AT = 8;// multiblocks clean their hatches 2 - public static final byte OVERFLOW_AT = 10;// then hatches clean themselves + public static final byte DECAY_AT = 0; // hatches compute decays + public static final byte MULTI_PURGE_1_AT = 2; // multiblocks clean their hatches 1 + public static final byte MOVE_AT = 4; // move stuff around + public static final byte RECIPE_AT = 6; // move stuff around + public static final byte MULTI_PURGE_2_AT = 8; // multiblocks clean their hatches 2 + public static final byte OVERFLOW_AT = 10; // then hatches clean themselves // - in case some hatches are not in multiblock structure - public static final byte MULTI_CHECK_AT = 12;// multiblock checks it's state - public static final byte DISPERSE_AT = 14;// overflow hatches perform disperse - public static final byte TRANSFER_AT = 16; + public static final byte MULTI_CHECK_AT = 12; // multiblock checks it's state + public static final byte DISPERSE_AT = 14; // overflow hatches perform disperse + public static final byte TRANSFER_AT = 16; - public static final long[] AatV = new long[]{268435455, 67108863, 16777215, 4194303, 1048575, 262143, 65535, 16383, 4095, 1023, 255, 63, 15, 3, 1, 1}; - public static final String[] VOLTAGE_NAMES = new String[]{"Ultra Low Voltage", "Low Voltage", "Medium Voltage", "High Voltage", "Extreme Voltage", "Insane Voltage", "Ludicrous Voltage", "ZPM Voltage", "Ultimate Voltage", "Ultimate High Voltage", "Ultimate Extreme Voltage", "Ultimate Insane Voltage", "Ultimate Mega Voltage", "Ultimate Extended Mega Voltage", "Overpowered Voltage", "Maximum Voltage"}; - public static final String[] VN = new String[]{"ULV", "LV", "MV", "HV", "EV", "IV", "LuV", "ZPM", "UV", "UHV", "UEV", "UIV", "UMV", "UXV", "OpV", "MAX"}; - public static final long[] V = new long[]{8L, 32L, 128L, 512L, 2048L, 8192L, 32768L, 131072L, 524288L, 2097152L, 8388608L, 33554432L, 134217728L, 536870912L, 1073741824L, Integer.MAX_VALUE - 7}; + public static final long[] AatV = new long[] { + 268435455, 67108863, 16777215, 4194303, 1048575, 262143, 65535, 16383, 4095, 1023, 255, 63, 15, 3, 1, 1 + }; + public static final String[] VOLTAGE_NAMES = new String[] { + "Ultra Low Voltage", + "Low Voltage", + "Medium Voltage", + "High Voltage", + "Extreme Voltage", + "Insane Voltage", + "Ludicrous Voltage", + "ZPM Voltage", + "Ultimate Voltage", + "Ultimate High Voltage", + "Ultimate Extreme Voltage", + "Ultimate Insane Voltage", + "Ultimate Mega Voltage", + "Ultimate Extended Mega Voltage", + "Overpowered Voltage", + "Maximum Voltage" + }; + public static final String[] VN = new String[] { + "ULV", "LV", "MV", "HV", "EV", "IV", "LuV", "ZPM", "UV", "UHV", "UEV", "UIV", "UMV", "UXV", "OpV", "MAX" + }; + public static final long[] V = new long[] { + 8L, + 32L, + 128L, + 512L, + 2048L, + 8192L, + 32768L, + 131072L, + 524288L, + 2097152L, + 8388608L, + 33554432L, + 134217728L, + 536870912L, + 1073741824L, + Integer.MAX_VALUE - 7 + }; - private CommonValues() { - } + private CommonValues() {} } diff --git a/src/main/java/com/github/technus/tectech/util/Converter.java b/src/main/java/com/github/technus/tectech/util/Converter.java index 799d98a4d6..c34206b13d 100644 --- a/src/main/java/com/github/technus/tectech/util/Converter.java +++ b/src/main/java/com/github/technus/tectech/util/Converter.java @@ -5,7 +5,7 @@ import java.io.*; public final class Converter { private Converter() {} - public static void writeInts(int [] array,ByteArrayOutputStream byteArrayOutputStream) { + public static void writeInts(int[] array, ByteArrayOutputStream byteArrayOutputStream) { try { DataOutputStream dataOutputStream = new DataOutputStream(byteArrayOutputStream); for (int i = 0; i < array.length; i++) { @@ -17,7 +17,7 @@ public final class Converter { } } - public static void readInts(ByteArrayInputStream byteArrayInputStream,int[] array) { + public static void readInts(ByteArrayInputStream byteArrayInputStream, int[] array) { try { DataInputStream dataInputStream = new DataInputStream(byteArrayInputStream); for (int i = 0; i < array.length; i++) { diff --git a/src/main/java/com/github/technus/tectech/util/DoubleCount.java b/src/main/java/com/github/technus/tectech/util/DoubleCount.java index cd86480be9..629062c3b9 100644 --- a/src/main/java/com/github/technus/tectech/util/DoubleCount.java +++ b/src/main/java/com/github/technus/tectech/util/DoubleCount.java @@ -1,10 +1,10 @@ package com.github.technus.tectech.util; -import java.util.Arrays; - import static java.lang.Math.abs; import static java.lang.Math.ulp; +import java.util.Arrays; + public class DoubleCount { /** * Distributes count across probabilities @@ -26,7 +26,7 @@ public class DoubleCount { } else { switch (probabilities.length) { default: { - int size = probabilities.length; + int size = probabilities.length; double[] output = new double[size]; size--; double remaining = count, previous = probabilities[size], probability, out; @@ -39,14 +39,15 @@ public class DoubleCount { output[i] = out; if (previous < probability) { - throw new ArithmeticException("Malformed probability order: " + Arrays.toString(probabilities)); + throw new ArithmeticException( + "Malformed probability order: " + Arrays.toString(probabilities)); } previous = probability; if (probability >= 1) { break; } } - if (remaining * count < 0) {//overshoot + if (remaining * count < 0) { // overshoot finishIt(size, output, remaining); } else { output[size] = remaining; @@ -54,9 +55,9 @@ public class DoubleCount { return output; } case 1: - return new double[]{count}; + return new double[] {count}; case 0: - return probabilities;//empty array at hand... + return probabilities; // empty array at hand... } } } @@ -81,8 +82,8 @@ public class DoubleCount { } public static double div(double count, double divisor) { - if (count == 0 || abs(divisor) == 1 || abs(count)==abs(divisor)) { - return count/divisor; + if (count == 0 || abs(divisor) == 1 || abs(count) == abs(divisor)) { + return count / divisor; } else { double result = count / divisor; return result - ulpSigned(result); @@ -90,8 +91,8 @@ public class DoubleCount { } public static double mul(double count, double multiplier) { - if (count == 0 || multiplier == 0 || abs(multiplier)==1 || abs(count)==1) { - return count*multiplier; + if (count == 0 || multiplier == 0 || abs(multiplier) == 1 || abs(count) == 1) { + return count * multiplier; } else { double result = count * multiplier; return result - ulpSigned(result); @@ -103,7 +104,7 @@ public class DoubleCount { return count - value; } else { double result = count - value; - if(result==count||result==value){ + if (result == count || result == value) { return result; } return result - ulpSigned(result); @@ -115,7 +116,7 @@ public class DoubleCount { return count + value; } else { double result = count + value; - if(result==count||result==value){ + if (result == count || result == value) { return result; } return result - ulpSigned(result); diff --git a/src/main/java/com/github/technus/tectech/util/LightingHelper.java b/src/main/java/com/github/technus/tectech/util/LightingHelper.java index 9a1c1b1abd..15a0ab1e51 100644 --- a/src/main/java/com/github/technus/tectech/util/LightingHelper.java +++ b/src/main/java/com/github/technus/tectech/util/LightingHelper.java @@ -26,9 +26,9 @@ import net.minecraft.client.renderer.EntityRenderer; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; -//This is duplicated in newer GT5u on the GTNH Branch inside the gregtech.api.util package -//But I include it here as the easiest way to implement backwards compat with non-NH stuff -//Yes, it could be done in a cleaner way. If you would like to, you're welcome to make your own PR and @basdxz +// This is duplicated in newer GT5u on the GTNH Branch inside the gregtech.api.util package +// But I include it here as the easiest way to implement backwards compat with non-NH stuff +// Yes, it could be done in a cleaner way. If you would like to, you're welcome to make your own PR and @basdxz @SuppressWarnings("unused") @SideOnly(Side.CLIENT) public class LightingHelper { @@ -44,6 +44,7 @@ public class LightingHelper { * Ambient occlusion values for all four corners of side. */ private float aoTopLeft, aoBottomLeft, aoBottomRight, aoTopRight; + private boolean hasLightnessOverride; private float lightnessOverride; private boolean hasBrightnessOverride; @@ -91,7 +92,7 @@ public class LightingHelper { float green = color[1] / 255.0F; float blue = color[2] / 255.0F; - return new float[]{red, green, blue}; + return new float[] {red, green, blue}; } /** @@ -227,15 +228,21 @@ public class LightingHelper { if (renderBlocks.hasOverrideBlockTexture()) { - renderBlocks.colorRedTopLeft = renderBlocks.colorRedBottomLeft = renderBlocks.colorRedBottomRight = renderBlocks.colorRedTopRight = rgb[0]; - renderBlocks.colorGreenTopLeft = renderBlocks.colorGreenBottomLeft = renderBlocks.colorGreenBottomRight = renderBlocks.colorGreenTopRight = rgb[1]; - renderBlocks.colorBlueTopLeft = renderBlocks.colorBlueBottomLeft = renderBlocks.colorBlueBottomRight = renderBlocks.colorBlueTopRight = rgb[2]; + renderBlocks.colorRedTopLeft = renderBlocks.colorRedBottomLeft = + renderBlocks.colorRedBottomRight = renderBlocks.colorRedTopRight = rgb[0]; + renderBlocks.colorGreenTopLeft = renderBlocks.colorGreenBottomLeft = + renderBlocks.colorGreenBottomRight = renderBlocks.colorGreenTopRight = rgb[1]; + renderBlocks.colorBlueTopLeft = renderBlocks.colorBlueBottomLeft = + renderBlocks.colorBlueBottomRight = renderBlocks.colorBlueTopRight = rgb[2]; } else { - renderBlocks.colorRedTopLeft = renderBlocks.colorRedBottomLeft = renderBlocks.colorRedBottomRight = renderBlocks.colorRedTopRight = rgb[0] * lightness; - renderBlocks.colorGreenTopLeft = renderBlocks.colorGreenBottomLeft = renderBlocks.colorGreenBottomRight = renderBlocks.colorGreenTopRight = rgb[1] * lightness; - renderBlocks.colorBlueTopLeft = renderBlocks.colorBlueBottomLeft = renderBlocks.colorBlueBottomRight = renderBlocks.colorBlueTopRight = rgb[2] * lightness; + renderBlocks.colorRedTopLeft = renderBlocks.colorRedBottomLeft = + renderBlocks.colorRedBottomRight = renderBlocks.colorRedTopRight = rgb[0] * lightness; + renderBlocks.colorGreenTopLeft = renderBlocks.colorGreenBottomLeft = + renderBlocks.colorGreenBottomRight = renderBlocks.colorGreenTopRight = rgb[1] * lightness; + renderBlocks.colorBlueTopLeft = renderBlocks.colorBlueBottomLeft = + renderBlocks.colorBlueBottomRight = renderBlocks.colorBlueTopRight = rgb[2] * lightness; renderBlocks.colorRedTopLeft *= aoTopLeft; renderBlocks.colorGreenTopLeft *= aoTopLeft; @@ -254,7 +261,6 @@ public class LightingHelper { } else { tessellator.setColorOpaque_F(rgb[0] * lightness, rgb[1] * lightness, rgb[2] * lightness); - } } @@ -269,7 +275,7 @@ public class LightingHelper { float green = (color >> 8 & 0xff) / 255.0F; float blue = (color & 0xff) / 255.0F; - return new float[]{red, green, blue}; + return new float[] {red, green, blue}; } /** @@ -332,43 +338,150 @@ public class LightingHelper { float ratio = (float) (1.0F - renderBlocks.renderMinX); float aoLightValue = renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(); - renderBlocks.aoBrightnessXYNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z); - renderBlocks.aoBrightnessXZNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z - 1); - renderBlocks.aoBrightnessXZNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z + 1); - renderBlocks.aoBrightnessXYNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z); - renderBlocks.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z - 1); - renderBlocks.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z + 1); - renderBlocks.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z - 1); - renderBlocks.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z + 1); - renderBlocks.aoLightValueScratchXYNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXZNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXZNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZNNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZNNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZNPN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZNPP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), ratio); - - int brightnessMixedXYZNPN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXZNN, renderBlocks.aoBrightnessXYZNPN, renderBlocks.aoBrightnessXYNP, mixedBrightness); - int brightnessMixedXYZNNN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYZNNN, renderBlocks.aoBrightnessXYNN, renderBlocks.aoBrightnessXZNN, mixedBrightness); - int brightnessMixedXYZNNP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYNN, renderBlocks.aoBrightnessXYZNNP, renderBlocks.aoBrightnessXZNP, mixedBrightness); - int brightnessMixedXYZNPP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXZNP, renderBlocks.aoBrightnessXYNP, renderBlocks.aoBrightnessXYZNPP, mixedBrightness); - - float aoMixedXYZNPN = (renderBlocks.aoLightValueScratchXZNN + aoLightValue + renderBlocks.aoLightValueScratchXYZNPN + renderBlocks.aoLightValueScratchXYNP) / 4.0F; - float aoMixedXYZNNN = (renderBlocks.aoLightValueScratchXYZNNN + renderBlocks.aoLightValueScratchXYNN + renderBlocks.aoLightValueScratchXZNN + aoLightValue) / 4.0F; - float aoMixedXYZNNP = (renderBlocks.aoLightValueScratchXYNN + renderBlocks.aoLightValueScratchXYZNNP + aoLightValue + renderBlocks.aoLightValueScratchXZNP) / 4.0F; - float aoMixedXYZNPP = (aoLightValue + renderBlocks.aoLightValueScratchXZNP + renderBlocks.aoLightValueScratchXYNP + renderBlocks.aoLightValueScratchXYZNPP) / 4.0F; - - aoTopLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * renderBlocks.renderMaxZ + aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ); - aoBottomLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * renderBlocks.renderMinZ + aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ); - aoBottomRight = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * renderBlocks.renderMinZ + aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ); - aoTopRight = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * renderBlocks.renderMaxZ + aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ); - - renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNPN, brightnessMixedXYZNNN, brightnessMixedXYZNNP, renderBlocks.renderMaxY * renderBlocks.renderMaxZ, renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ), (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ), (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ); - renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNPN, brightnessMixedXYZNNN, brightnessMixedXYZNNP, renderBlocks.renderMaxY * renderBlocks.renderMinZ, renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ), (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ), (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ); - renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNPN, brightnessMixedXYZNNN, brightnessMixedXYZNNP, renderBlocks.renderMinY * renderBlocks.renderMinZ, renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ), (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ), (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ); - renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNPN, brightnessMixedXYZNNN, brightnessMixedXYZNNP, renderBlocks.renderMinY * renderBlocks.renderMaxZ, renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ), (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ), (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ); - + renderBlocks.aoBrightnessXYNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z); + renderBlocks.aoBrightnessXZNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z - 1); + renderBlocks.aoBrightnessXZNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z + 1); + renderBlocks.aoBrightnessXYNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z); + renderBlocks.aoBrightnessXYZNNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z - 1); + renderBlocks.aoBrightnessXYZNNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z + 1); + renderBlocks.aoBrightnessXYZNPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z - 1); + renderBlocks.aoBrightnessXYZNPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z + 1); + renderBlocks.aoLightValueScratchXYNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXZNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXZNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZNNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZNNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZNPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZNPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), + ratio); + + int brightnessMixedXYZNPN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXZNN, + renderBlocks.aoBrightnessXYZNPN, + renderBlocks.aoBrightnessXYNP, + mixedBrightness); + int brightnessMixedXYZNNN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYZNNN, + renderBlocks.aoBrightnessXYNN, + renderBlocks.aoBrightnessXZNN, + mixedBrightness); + int brightnessMixedXYZNNP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYNN, + renderBlocks.aoBrightnessXYZNNP, + renderBlocks.aoBrightnessXZNP, + mixedBrightness); + int brightnessMixedXYZNPP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXZNP, + renderBlocks.aoBrightnessXYNP, + renderBlocks.aoBrightnessXYZNPP, + mixedBrightness); + + float aoMixedXYZNPN = (renderBlocks.aoLightValueScratchXZNN + + aoLightValue + + renderBlocks.aoLightValueScratchXYZNPN + + renderBlocks.aoLightValueScratchXYNP) + / 4.0F; + float aoMixedXYZNNN = (renderBlocks.aoLightValueScratchXYZNNN + + renderBlocks.aoLightValueScratchXYNN + + renderBlocks.aoLightValueScratchXZNN + + aoLightValue) + / 4.0F; + float aoMixedXYZNNP = (renderBlocks.aoLightValueScratchXYNN + + renderBlocks.aoLightValueScratchXYZNNP + + aoLightValue + + renderBlocks.aoLightValueScratchXZNP) + / 4.0F; + float aoMixedXYZNPP = (aoLightValue + + renderBlocks.aoLightValueScratchXZNP + + renderBlocks.aoLightValueScratchXYNP + + renderBlocks.aoLightValueScratchXYZNPP) + / 4.0F; + + aoTopLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * renderBlocks.renderMaxZ + + aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ) + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ) + + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ); + aoBottomLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * renderBlocks.renderMinZ + + aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ) + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ) + + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ); + aoBottomRight = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * renderBlocks.renderMinZ + + aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ) + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ) + + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ); + aoTopRight = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * renderBlocks.renderMaxZ + + aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ) + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ) + + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ); + + renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZNPN, + brightnessMixedXYZNNN, + brightnessMixedXYZNNP, + renderBlocks.renderMaxY * renderBlocks.renderMaxZ, + renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ), + (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ), + (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ); + renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZNPN, + brightnessMixedXYZNNN, + brightnessMixedXYZNNP, + renderBlocks.renderMaxY * renderBlocks.renderMinZ, + renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ), + (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ), + (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ); + renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZNPN, + brightnessMixedXYZNNN, + brightnessMixedXYZNNP, + renderBlocks.renderMinY * renderBlocks.renderMinZ, + renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ), + (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ), + (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ); + renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZNPN, + brightnessMixedXYZNNN, + brightnessMixedXYZNNP, + renderBlocks.renderMinY * renderBlocks.renderMaxZ, + renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ), + (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ), + (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ); } return this; @@ -402,43 +515,150 @@ public class LightingHelper { float aoLightValue = renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(); - renderBlocks.aoBrightnessXYPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z); - renderBlocks.aoBrightnessXZPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z - 1); - renderBlocks.aoBrightnessXZPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z + 1); - renderBlocks.aoBrightnessXYPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z); - renderBlocks.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z - 1); - renderBlocks.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z + 1); - renderBlocks.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z - 1); - renderBlocks.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z + 1); - renderBlocks.aoLightValueScratchXYPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXZPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXZPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXYPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXYZPNN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXYZPNP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXYZPPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXYZPPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); - - int brightnessMixedXYZPPP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXZPP, renderBlocks.aoBrightnessXYPP, renderBlocks.aoBrightnessXYZPPP, mixedBrightness); - int brightnessMixedXYZPNP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYPN, renderBlocks.aoBrightnessXYZPNP, renderBlocks.aoBrightnessXZPP, mixedBrightness); - int brightnessMixedXYZPNN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYZPNN, renderBlocks.aoBrightnessXYPN, renderBlocks.aoBrightnessXZPN, mixedBrightness); - int brightnessMixedXYZPPN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXZPN, renderBlocks.aoBrightnessXYZPPN, renderBlocks.aoBrightnessXYPP, mixedBrightness); - - float aoMixedXYZPPP = (aoLightValue + renderBlocks.aoLightValueScratchXZPP + renderBlocks.aoLightValueScratchXYPP + renderBlocks.aoLightValueScratchXYZPPP) / 4.0F; - float aoMixedXYZPNP = (renderBlocks.aoLightValueScratchXYPN + renderBlocks.aoLightValueScratchXYZPNP + aoLightValue + renderBlocks.aoLightValueScratchXZPP) / 4.0F; - float aoMixedXYZPNN = (renderBlocks.aoLightValueScratchXYZPNN + renderBlocks.aoLightValueScratchXYPN + renderBlocks.aoLightValueScratchXZPN + aoLightValue) / 4.0F; - float aoMixedXYZPPN = (renderBlocks.aoLightValueScratchXZPN + aoLightValue + renderBlocks.aoLightValueScratchXYZPPN + renderBlocks.aoLightValueScratchXYPP) / 4.0F; - - aoTopLeft = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZPPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMaxZ); - aoBottomLeft = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZPPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMinZ); - aoBottomRight = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZPPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMinZ); - aoTopRight = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZPPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMaxZ); - - renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZPPN, brightnessMixedXYZPPP, (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ, (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ), renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ), renderBlocks.renderMinY * renderBlocks.renderMaxZ); - renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZPPN, brightnessMixedXYZPPP, (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ, (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ), renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ), renderBlocks.renderMinY * renderBlocks.renderMinZ); - renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness(brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZPPN, brightnessMixedXYZPPP, (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ, (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ), renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ), renderBlocks.renderMaxY * renderBlocks.renderMinZ); - renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness(brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZPPN, brightnessMixedXYZPPP, (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ, (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ), renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ), renderBlocks.renderMaxY * renderBlocks.renderMaxZ); - + renderBlocks.aoBrightnessXYPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z); + renderBlocks.aoBrightnessXZPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z - 1); + renderBlocks.aoBrightnessXZPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z + 1); + renderBlocks.aoBrightnessXYPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z); + renderBlocks.aoBrightnessXYZPNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z - 1); + renderBlocks.aoBrightnessXYZPNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z + 1); + renderBlocks.aoBrightnessXYZPPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z - 1); + renderBlocks.aoBrightnessXYZPPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z + 1); + renderBlocks.aoLightValueScratchXYPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXZPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXZPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXYPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXYZPNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXYZPNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXYZPPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXYZPPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxX); + + int brightnessMixedXYZPPP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXZPP, + renderBlocks.aoBrightnessXYPP, + renderBlocks.aoBrightnessXYZPPP, + mixedBrightness); + int brightnessMixedXYZPNP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYPN, + renderBlocks.aoBrightnessXYZPNP, + renderBlocks.aoBrightnessXZPP, + mixedBrightness); + int brightnessMixedXYZPNN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYZPNN, + renderBlocks.aoBrightnessXYPN, + renderBlocks.aoBrightnessXZPN, + mixedBrightness); + int brightnessMixedXYZPPN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXZPN, + renderBlocks.aoBrightnessXYZPPN, + renderBlocks.aoBrightnessXYPP, + mixedBrightness); + + float aoMixedXYZPPP = (aoLightValue + + renderBlocks.aoLightValueScratchXZPP + + renderBlocks.aoLightValueScratchXYPP + + renderBlocks.aoLightValueScratchXYZPPP) + / 4.0F; + float aoMixedXYZPNP = (renderBlocks.aoLightValueScratchXYPN + + renderBlocks.aoLightValueScratchXYZPNP + + aoLightValue + + renderBlocks.aoLightValueScratchXZPP) + / 4.0F; + float aoMixedXYZPNN = (renderBlocks.aoLightValueScratchXYZPNN + + renderBlocks.aoLightValueScratchXYPN + + renderBlocks.aoLightValueScratchXZPN + + aoLightValue) + / 4.0F; + float aoMixedXYZPPN = (renderBlocks.aoLightValueScratchXZPN + + aoLightValue + + renderBlocks.aoLightValueScratchXYZPPN + + renderBlocks.aoLightValueScratchXYPP) + / 4.0F; + + aoTopLeft = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ) + + aoMixedXYZPPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ) + + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMaxZ); + aoBottomLeft = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ) + + aoMixedXYZPPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ) + + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMinZ); + aoBottomRight = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ) + + aoMixedXYZPPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ) + + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMinZ); + aoTopRight = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ) + + aoMixedXYZPPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ) + + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMaxZ); + + renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZPNP, + brightnessMixedXYZPNN, + brightnessMixedXYZPPN, + brightnessMixedXYZPPP, + (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ, + (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ), + renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ), + renderBlocks.renderMinY * renderBlocks.renderMaxZ); + renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZPNP, + brightnessMixedXYZPNN, + brightnessMixedXYZPPN, + brightnessMixedXYZPPP, + (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ, + (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ), + renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ), + renderBlocks.renderMinY * renderBlocks.renderMinZ); + renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZPNP, + brightnessMixedXYZPNN, + brightnessMixedXYZPPN, + brightnessMixedXYZPPP, + (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ, + (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ), + renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ), + renderBlocks.renderMaxY * renderBlocks.renderMinZ); + renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZPNP, + brightnessMixedXYZPNN, + brightnessMixedXYZPPN, + brightnessMixedXYZPPP, + (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ, + (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ), + renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ), + renderBlocks.renderMaxY * renderBlocks.renderMaxZ); } return this; @@ -473,43 +693,150 @@ public class LightingHelper { float ratio = (float) (1.0F - renderBlocks.renderMinY); float aoLightValue = renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(); - renderBlocks.aoBrightnessXYNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z); - renderBlocks.aoBrightnessYZNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z - 1); - renderBlocks.aoBrightnessYZNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z + 1); - renderBlocks.aoBrightnessXYPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z); - renderBlocks.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z - 1); - renderBlocks.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z + 1); - renderBlocks.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z - 1); - renderBlocks.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z + 1); - renderBlocks.aoLightValueScratchXYNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchYZNN = getMixedAo(renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchYZNP = getMixedAo(renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZNNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZNNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZPNN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZPNP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), ratio); - - int brightnessMixedXYZPNP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZNP, renderBlocks.aoBrightnessXYZPNP, renderBlocks.aoBrightnessXYPN, mixedBrightness); - int brightnessMixedXYZPNN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZNN, renderBlocks.aoBrightnessXYPN, renderBlocks.aoBrightnessXYZPNN, mixedBrightness); - int brightnessMixedXYZNNN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYNN, renderBlocks.aoBrightnessXYZNNN, renderBlocks.aoBrightnessYZNN, mixedBrightness); - int brightnessMixedXYZNNP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYZNNP, renderBlocks.aoBrightnessXYNN, renderBlocks.aoBrightnessYZNP, mixedBrightness); - - float aoMixedXYZPNP = (renderBlocks.aoLightValueScratchYZNP + aoLightValue + renderBlocks.aoLightValueScratchXYZPNP + renderBlocks.aoLightValueScratchXYPN) / 4.0F; - float aoMixedXYZPNN = (aoLightValue + renderBlocks.aoLightValueScratchYZNN + renderBlocks.aoLightValueScratchXYPN + renderBlocks.aoLightValueScratchXYZPNN) / 4.0F; - float aoMixedXYZNNN = (renderBlocks.aoLightValueScratchXYNN + renderBlocks.aoLightValueScratchXYZNNN + aoLightValue + renderBlocks.aoLightValueScratchYZNN) / 4.0F; - float aoMixedXYZNNP = (renderBlocks.aoLightValueScratchXYZNNP + renderBlocks.aoLightValueScratchXYNN + renderBlocks.aoLightValueScratchYZNP + aoLightValue) / 4.0F; - - aoTopLeft = (float) (aoMixedXYZNNP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPNP * renderBlocks.renderMaxZ * renderBlocks.renderMinX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); - aoBottomLeft = (float) (aoMixedXYZNNP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPNP * renderBlocks.renderMinZ * renderBlocks.renderMinX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); - aoBottomRight = (float) (aoMixedXYZNNP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPNP * renderBlocks.renderMinZ * renderBlocks.renderMaxX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); - aoTopRight = (float) (aoMixedXYZNNP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPNP * renderBlocks.renderMaxZ * renderBlocks.renderMaxX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); - - renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX), renderBlocks.renderMaxZ * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); - renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX), renderBlocks.renderMinZ * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); - renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX), renderBlocks.renderMinZ * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); - renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX), renderBlocks.renderMaxZ * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); - + renderBlocks.aoBrightnessXYNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z); + renderBlocks.aoBrightnessYZNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z - 1); + renderBlocks.aoBrightnessYZNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z + 1); + renderBlocks.aoBrightnessXYPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z); + renderBlocks.aoBrightnessXYZNNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z - 1); + renderBlocks.aoBrightnessXYZNNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z + 1); + renderBlocks.aoBrightnessXYZPNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z - 1); + renderBlocks.aoBrightnessXYZPNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z + 1); + renderBlocks.aoLightValueScratchXYNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchYZNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchYZNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZNNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZNNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZPNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZPNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), + ratio); + + int brightnessMixedXYZPNP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessYZNP, + renderBlocks.aoBrightnessXYZPNP, + renderBlocks.aoBrightnessXYPN, + mixedBrightness); + int brightnessMixedXYZPNN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessYZNN, + renderBlocks.aoBrightnessXYPN, + renderBlocks.aoBrightnessXYZPNN, + mixedBrightness); + int brightnessMixedXYZNNN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYNN, + renderBlocks.aoBrightnessXYZNNN, + renderBlocks.aoBrightnessYZNN, + mixedBrightness); + int brightnessMixedXYZNNP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYZNNP, + renderBlocks.aoBrightnessXYNN, + renderBlocks.aoBrightnessYZNP, + mixedBrightness); + + float aoMixedXYZPNP = (renderBlocks.aoLightValueScratchYZNP + + aoLightValue + + renderBlocks.aoLightValueScratchXYZPNP + + renderBlocks.aoLightValueScratchXYPN) + / 4.0F; + float aoMixedXYZPNN = (aoLightValue + + renderBlocks.aoLightValueScratchYZNN + + renderBlocks.aoLightValueScratchXYPN + + renderBlocks.aoLightValueScratchXYZPNN) + / 4.0F; + float aoMixedXYZNNN = (renderBlocks.aoLightValueScratchXYNN + + renderBlocks.aoLightValueScratchXYZNNN + + aoLightValue + + renderBlocks.aoLightValueScratchYZNN) + / 4.0F; + float aoMixedXYZNNP = (renderBlocks.aoLightValueScratchXYZNNP + + renderBlocks.aoLightValueScratchXYNN + + renderBlocks.aoLightValueScratchYZNP + + aoLightValue) + / 4.0F; + + aoTopLeft = (float) (aoMixedXYZNNP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX) + + aoMixedXYZPNP * renderBlocks.renderMaxZ * renderBlocks.renderMinX + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); + aoBottomLeft = (float) (aoMixedXYZNNP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX) + + aoMixedXYZPNP * renderBlocks.renderMinZ * renderBlocks.renderMinX + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); + aoBottomRight = (float) (aoMixedXYZNNP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX) + + aoMixedXYZPNP * renderBlocks.renderMinZ * renderBlocks.renderMaxX + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); + aoTopRight = (float) (aoMixedXYZNNP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX) + + aoMixedXYZPNP * renderBlocks.renderMaxZ * renderBlocks.renderMaxX + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); + + renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNNP, + brightnessMixedXYZPNP, + brightnessMixedXYZPNN, + brightnessMixedXYZNNN, + renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX), + renderBlocks.renderMaxZ * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); + renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNNP, + brightnessMixedXYZPNP, + brightnessMixedXYZPNN, + brightnessMixedXYZNNN, + renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX), + renderBlocks.renderMinZ * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); + renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNNP, + brightnessMixedXYZPNP, + brightnessMixedXYZPNN, + brightnessMixedXYZNNN, + renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX), + renderBlocks.renderMinZ * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); + renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNNP, + brightnessMixedXYZPNP, + brightnessMixedXYZPNN, + brightnessMixedXYZNNN, + renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX), + renderBlocks.renderMaxZ * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); } return this; @@ -543,42 +870,150 @@ public class LightingHelper { float aoLightValue = renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(); - renderBlocks.aoBrightnessXYNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z); - renderBlocks.aoBrightnessXYPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z); - renderBlocks.aoBrightnessYZPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z - 1); - renderBlocks.aoBrightnessYZPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z + 1); - renderBlocks.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z - 1); - renderBlocks.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z - 1); - renderBlocks.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z + 1); - renderBlocks.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z + 1); - renderBlocks.aoLightValueScratchXYNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchXYPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchYZPN = getMixedAo(renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchYZPP = getMixedAo(renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchXYZNPN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchXYZPPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchXYZNPP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchXYZPPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); - - int brightnessMixedXYZPPP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZPP, renderBlocks.aoBrightnessXYZPPP, renderBlocks.aoBrightnessXYPP, mixedBrightness); - int brightnessMixedXYZPPN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZPN, renderBlocks.aoBrightnessXYPP, renderBlocks.aoBrightnessXYZPPN, mixedBrightness); - int brightnessMixedXYZNPN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYNP, renderBlocks.aoBrightnessXYZNPN, renderBlocks.aoBrightnessYZPN, mixedBrightness); - int brightnessMixedXYZNPP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYZNPP, renderBlocks.aoBrightnessXYNP, renderBlocks.aoBrightnessYZPP, mixedBrightness); - - float aoMixedXYZPPP = (renderBlocks.aoLightValueScratchYZPP + aoLightValue + renderBlocks.aoLightValueScratchXYZPPP + renderBlocks.aoLightValueScratchXYPP) / 4.0F; - float aoMixedXYZPPN = (aoLightValue + renderBlocks.aoLightValueScratchYZPN + renderBlocks.aoLightValueScratchXYPP + renderBlocks.aoLightValueScratchXYZPPN) / 4.0F; - float aoMixedXYZNPN = (renderBlocks.aoLightValueScratchXYNP + renderBlocks.aoLightValueScratchXYZNPN + aoLightValue + renderBlocks.aoLightValueScratchYZPN) / 4.0F; - float aoMixedXYZNPP = (renderBlocks.aoLightValueScratchXYZNPP + renderBlocks.aoLightValueScratchXYNP + renderBlocks.aoLightValueScratchYZPP + aoLightValue) / 4.0F; - - aoTopLeft /*SE*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPPP * renderBlocks.renderMaxZ * renderBlocks.renderMaxX + aoMixedXYZPPN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX + aoMixedXYZNPN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); - aoBottomLeft /*NE*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPPP * renderBlocks.renderMinZ * renderBlocks.renderMaxX + aoMixedXYZPPN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX + aoMixedXYZNPN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); - aoBottomRight /*NW*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPPP * renderBlocks.renderMinZ * renderBlocks.renderMinX + aoMixedXYZPPN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX + aoMixedXYZNPN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); - aoTopRight /*SW*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPPP * renderBlocks.renderMaxZ * renderBlocks.renderMinX + aoMixedXYZPPN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX + aoMixedXYZNPN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); - - renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZPPP, brightnessMixedXYZPPN, brightnessMixedXYZNPN, renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX), renderBlocks.renderMaxZ * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); - renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZPPP, brightnessMixedXYZPPN, brightnessMixedXYZNPN, renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX), renderBlocks.renderMinZ * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); - renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZPPP, brightnessMixedXYZPPN, brightnessMixedXYZNPN, renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX), renderBlocks.renderMinZ * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); - renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZPPP, brightnessMixedXYZPPN, brightnessMixedXYZNPN, renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX), renderBlocks.renderMaxZ * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); + renderBlocks.aoBrightnessXYNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z); + renderBlocks.aoBrightnessXYPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z); + renderBlocks.aoBrightnessYZPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z - 1); + renderBlocks.aoBrightnessYZPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z + 1); + renderBlocks.aoBrightnessXYZNPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z - 1); + renderBlocks.aoBrightnessXYZPPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z - 1); + renderBlocks.aoBrightnessXYZNPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z + 1); + renderBlocks.aoBrightnessXYZPPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z + 1); + renderBlocks.aoLightValueScratchXYNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchXYPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchYZPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchYZPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchXYZNPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchXYZPPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchXYZNPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchXYZPPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxY); + + int brightnessMixedXYZPPP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessYZPP, + renderBlocks.aoBrightnessXYZPPP, + renderBlocks.aoBrightnessXYPP, + mixedBrightness); + int brightnessMixedXYZPPN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessYZPN, + renderBlocks.aoBrightnessXYPP, + renderBlocks.aoBrightnessXYZPPN, + mixedBrightness); + int brightnessMixedXYZNPN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYNP, + renderBlocks.aoBrightnessXYZNPN, + renderBlocks.aoBrightnessYZPN, + mixedBrightness); + int brightnessMixedXYZNPP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYZNPP, + renderBlocks.aoBrightnessXYNP, + renderBlocks.aoBrightnessYZPP, + mixedBrightness); + + float aoMixedXYZPPP = (renderBlocks.aoLightValueScratchYZPP + + aoLightValue + + renderBlocks.aoLightValueScratchXYZPPP + + renderBlocks.aoLightValueScratchXYPP) + / 4.0F; + float aoMixedXYZPPN = (aoLightValue + + renderBlocks.aoLightValueScratchYZPN + + renderBlocks.aoLightValueScratchXYPP + + renderBlocks.aoLightValueScratchXYZPPN) + / 4.0F; + float aoMixedXYZNPN = (renderBlocks.aoLightValueScratchXYNP + + renderBlocks.aoLightValueScratchXYZNPN + + aoLightValue + + renderBlocks.aoLightValueScratchYZPN) + / 4.0F; + float aoMixedXYZNPP = (renderBlocks.aoLightValueScratchXYZNPP + + renderBlocks.aoLightValueScratchXYNP + + renderBlocks.aoLightValueScratchYZPP + + aoLightValue) + / 4.0F; + + aoTopLeft /*SE*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX) + + aoMixedXYZPPP * renderBlocks.renderMaxZ * renderBlocks.renderMaxX + + aoMixedXYZPPN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX + + aoMixedXYZNPN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); + aoBottomLeft /*NE*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX) + + aoMixedXYZPPP * renderBlocks.renderMinZ * renderBlocks.renderMaxX + + aoMixedXYZPPN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX + + aoMixedXYZNPN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); + aoBottomRight /*NW*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX) + + aoMixedXYZPPP * renderBlocks.renderMinZ * renderBlocks.renderMinX + + aoMixedXYZPPN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX + + aoMixedXYZNPN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); + aoTopRight /*SW*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX) + + aoMixedXYZPPP * renderBlocks.renderMaxZ * renderBlocks.renderMinX + + aoMixedXYZPPN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX + + aoMixedXYZNPN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); + + renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZPPP, + brightnessMixedXYZPPN, + brightnessMixedXYZNPN, + renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX), + renderBlocks.renderMaxZ * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); + renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZPPP, + brightnessMixedXYZPPN, + brightnessMixedXYZNPN, + renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX), + renderBlocks.renderMinZ * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); + renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZPPP, + brightnessMixedXYZPPN, + brightnessMixedXYZNPN, + renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX), + renderBlocks.renderMinZ * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); + renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZPPP, + brightnessMixedXYZPPN, + brightnessMixedXYZNPN, + renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX), + renderBlocks.renderMaxZ * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); } return this; @@ -613,43 +1048,150 @@ public class LightingHelper { float ratio = (float) (1.0F - renderBlocks.renderMinZ); float aoLightValue = renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(); - renderBlocks.aoBrightnessXZNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y, zOffset); - renderBlocks.aoBrightnessYZNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y - 1, zOffset); - renderBlocks.aoBrightnessYZPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y + 1, zOffset); - renderBlocks.aoBrightnessXZPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y, zOffset); - renderBlocks.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y - 1, zOffset); - renderBlocks.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y + 1, zOffset); - renderBlocks.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y - 1, zOffset); - renderBlocks.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y + 1, zOffset); - renderBlocks.aoLightValueScratchXZNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchYZNN = getMixedAo(renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchYZPN = getMixedAo(renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXZPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZNNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZNPN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZPNN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZPPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), ratio); - - int brightnessMixedXYZPPN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZPN, renderBlocks.aoBrightnessXZPN, renderBlocks.aoBrightnessXYZPPN, mixedBrightness); - int brightnessMixedXYZPNN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZNN, renderBlocks.aoBrightnessXYZPNN, renderBlocks.aoBrightnessXZPN, mixedBrightness); - int brightnessMixedXYZNNN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYZNNN, renderBlocks.aoBrightnessXZNN, renderBlocks.aoBrightnessYZNN, mixedBrightness); - int brightnessMixedXYZNPN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXZNN, renderBlocks.aoBrightnessXYZNPN, renderBlocks.aoBrightnessYZPN, mixedBrightness); - - float aoMixedXYZPPN = (aoLightValue + renderBlocks.aoLightValueScratchYZPN + renderBlocks.aoLightValueScratchXZPN + renderBlocks.aoLightValueScratchXYZPPN) / 4.0F; - float aoMixedXYZPNN = (renderBlocks.aoLightValueScratchYZNN + aoLightValue + renderBlocks.aoLightValueScratchXYZPNN + renderBlocks.aoLightValueScratchXZPN) / 4.0F; - float aoMixedXYZNNN = (renderBlocks.aoLightValueScratchXYZNNN + renderBlocks.aoLightValueScratchXZNN + renderBlocks.aoLightValueScratchYZNN + aoLightValue) / 4.0F; - float aoMixedXYZNPN = (renderBlocks.aoLightValueScratchXZNN + renderBlocks.aoLightValueScratchXYZNPN + aoLightValue + renderBlocks.aoLightValueScratchYZPN) / 4.0F; - - aoTopLeft = (float) (aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPPN * renderBlocks.renderMaxY * renderBlocks.renderMinX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX)); - aoBottomLeft = (float) (aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPPN * renderBlocks.renderMaxY * renderBlocks.renderMaxX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX)); - aoBottomRight = (float) (aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPPN * renderBlocks.renderMinY * renderBlocks.renderMaxX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX)); - aoTopRight = (float) (aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPPN * renderBlocks.renderMinY * renderBlocks.renderMinX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX)); - - renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPN, brightnessMixedXYZPPN, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX), renderBlocks.renderMaxY * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX)); - renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPN, brightnessMixedXYZPPN, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX), renderBlocks.renderMaxY * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX)); - renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPN, brightnessMixedXYZPPN, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX), renderBlocks.renderMinY * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX)); - renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPN, brightnessMixedXYZPPN, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX), renderBlocks.renderMinY * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX)); - + renderBlocks.aoBrightnessXZNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y, zOffset); + renderBlocks.aoBrightnessYZNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y - 1, zOffset); + renderBlocks.aoBrightnessYZPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y + 1, zOffset); + renderBlocks.aoBrightnessXZPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y, zOffset); + renderBlocks.aoBrightnessXYZNNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y - 1, zOffset); + renderBlocks.aoBrightnessXYZNPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y + 1, zOffset); + renderBlocks.aoBrightnessXYZPNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y - 1, zOffset); + renderBlocks.aoBrightnessXYZPPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y + 1, zOffset); + renderBlocks.aoLightValueScratchXZNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchYZNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchYZPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXZPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZNNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZNPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZPNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZPPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), + ratio); + + int brightnessMixedXYZPPN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessYZPN, + renderBlocks.aoBrightnessXZPN, + renderBlocks.aoBrightnessXYZPPN, + mixedBrightness); + int brightnessMixedXYZPNN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessYZNN, + renderBlocks.aoBrightnessXYZPNN, + renderBlocks.aoBrightnessXZPN, + mixedBrightness); + int brightnessMixedXYZNNN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYZNNN, + renderBlocks.aoBrightnessXZNN, + renderBlocks.aoBrightnessYZNN, + mixedBrightness); + int brightnessMixedXYZNPN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXZNN, + renderBlocks.aoBrightnessXYZNPN, + renderBlocks.aoBrightnessYZPN, + mixedBrightness); + + float aoMixedXYZPPN = (aoLightValue + + renderBlocks.aoLightValueScratchYZPN + + renderBlocks.aoLightValueScratchXZPN + + renderBlocks.aoLightValueScratchXYZPPN) + / 4.0F; + float aoMixedXYZPNN = (renderBlocks.aoLightValueScratchYZNN + + aoLightValue + + renderBlocks.aoLightValueScratchXYZPNN + + renderBlocks.aoLightValueScratchXZPN) + / 4.0F; + float aoMixedXYZNNN = (renderBlocks.aoLightValueScratchXYZNNN + + renderBlocks.aoLightValueScratchXZNN + + renderBlocks.aoLightValueScratchYZNN + + aoLightValue) + / 4.0F; + float aoMixedXYZNPN = (renderBlocks.aoLightValueScratchXZNN + + renderBlocks.aoLightValueScratchXYZNPN + + aoLightValue + + renderBlocks.aoLightValueScratchYZPN) + / 4.0F; + + aoTopLeft = (float) (aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX) + + aoMixedXYZPPN * renderBlocks.renderMaxY * renderBlocks.renderMinX + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX)); + aoBottomLeft = (float) (aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX) + + aoMixedXYZPPN * renderBlocks.renderMaxY * renderBlocks.renderMaxX + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX)); + aoBottomRight = (float) (aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX) + + aoMixedXYZPPN * renderBlocks.renderMinY * renderBlocks.renderMaxX + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX)); + aoTopRight = (float) (aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX) + + aoMixedXYZPPN * renderBlocks.renderMinY * renderBlocks.renderMinX + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX)); + + renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPN, + brightnessMixedXYZPPN, + brightnessMixedXYZPNN, + brightnessMixedXYZNNN, + renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX), + renderBlocks.renderMaxY * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX)); + renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPN, + brightnessMixedXYZPPN, + brightnessMixedXYZPNN, + brightnessMixedXYZNNN, + renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX), + renderBlocks.renderMaxY * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX)); + renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPN, + brightnessMixedXYZPPN, + brightnessMixedXYZPNN, + brightnessMixedXYZNNN, + renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX), + renderBlocks.renderMinY * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX)); + renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPN, + brightnessMixedXYZPPN, + brightnessMixedXYZPNN, + brightnessMixedXYZNNN, + renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX), + renderBlocks.renderMinY * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX)); } return this; @@ -683,42 +1225,150 @@ public class LightingHelper { float aoLightValue = renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(); - renderBlocks.aoBrightnessXZNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y, zOffset); - renderBlocks.aoBrightnessXZPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y, zOffset); - renderBlocks.aoBrightnessYZNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y - 1, zOffset); - renderBlocks.aoBrightnessYZPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y + 1, zOffset); - renderBlocks.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y - 1, zOffset); - renderBlocks.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y + 1, zOffset); - renderBlocks.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y - 1, zOffset); - renderBlocks.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y + 1, zOffset); - renderBlocks.aoLightValueScratchXZNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchXZPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchYZNP = getMixedAo(renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchYZPP = getMixedAo(renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchXYZNNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchXYZNPP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchXYZPNP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchXYZPPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); - - int brightnessMixedXYZNPP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXZNP, renderBlocks.aoBrightnessXYZNPP, renderBlocks.aoBrightnessYZPP, mixedBrightness); - int brightnessMixedXYZNNP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYZNNP, renderBlocks.aoBrightnessXZNP, renderBlocks.aoBrightnessYZNP, mixedBrightness); - int brightnessMixedXYZPNP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZNP, renderBlocks.aoBrightnessXYZPNP, renderBlocks.aoBrightnessXZPP, mixedBrightness); - int brightnessMixedXYZPPP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZPP, renderBlocks.aoBrightnessXZPP, renderBlocks.aoBrightnessXYZPPP, mixedBrightness); - - float aoMixedXYZNPP = (renderBlocks.aoLightValueScratchXZNP + renderBlocks.aoLightValueScratchXYZNPP + aoLightValue + renderBlocks.aoLightValueScratchYZPP) / 4.0F; - float aoMixedXYZNNP = (renderBlocks.aoLightValueScratchXYZNNP + renderBlocks.aoLightValueScratchXZNP + renderBlocks.aoLightValueScratchYZNP + aoLightValue) / 4.0F; - float aoMixedXYZPNP = (renderBlocks.aoLightValueScratchYZNP + aoLightValue + renderBlocks.aoLightValueScratchXYZPNP + renderBlocks.aoLightValueScratchXZPP) / 4.0F; - float aoMixedXYZPPP = (aoLightValue + renderBlocks.aoLightValueScratchYZPP + renderBlocks.aoLightValueScratchXZPP + renderBlocks.aoLightValueScratchXYZPPP) / 4.0F; - - aoTopLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMinX + aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX)); - aoBottomLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMinX + aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX)); - aoBottomRight = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMaxX + aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX)); - aoTopRight = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMaxX + aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX)); - - renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPPP, renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX), (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX), (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX, renderBlocks.renderMaxY * renderBlocks.renderMinX); - renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPPP, renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX), (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX), (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX, renderBlocks.renderMinY * renderBlocks.renderMinX); - renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPPP, renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX), (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX), (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX, renderBlocks.renderMinY * renderBlocks.renderMaxX); - renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPPP, renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX), (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX), (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX, renderBlocks.renderMaxY * renderBlocks.renderMaxX); + renderBlocks.aoBrightnessXZNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y, zOffset); + renderBlocks.aoBrightnessXZPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y, zOffset); + renderBlocks.aoBrightnessYZNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y - 1, zOffset); + renderBlocks.aoBrightnessYZPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y + 1, zOffset); + renderBlocks.aoBrightnessXYZNNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y - 1, zOffset); + renderBlocks.aoBrightnessXYZNPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y + 1, zOffset); + renderBlocks.aoBrightnessXYZPNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y - 1, zOffset); + renderBlocks.aoBrightnessXYZPPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y + 1, zOffset); + renderBlocks.aoLightValueScratchXZNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchXZPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchYZNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchYZPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchXYZNNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchXYZNPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchXYZPNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchXYZPPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxZ); + + int brightnessMixedXYZNPP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXZNP, + renderBlocks.aoBrightnessXYZNPP, + renderBlocks.aoBrightnessYZPP, + mixedBrightness); + int brightnessMixedXYZNNP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYZNNP, + renderBlocks.aoBrightnessXZNP, + renderBlocks.aoBrightnessYZNP, + mixedBrightness); + int brightnessMixedXYZPNP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessYZNP, + renderBlocks.aoBrightnessXYZPNP, + renderBlocks.aoBrightnessXZPP, + mixedBrightness); + int brightnessMixedXYZPPP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessYZPP, + renderBlocks.aoBrightnessXZPP, + renderBlocks.aoBrightnessXYZPPP, + mixedBrightness); + + float aoMixedXYZNPP = (renderBlocks.aoLightValueScratchXZNP + + renderBlocks.aoLightValueScratchXYZNPP + + aoLightValue + + renderBlocks.aoLightValueScratchYZPP) + / 4.0F; + float aoMixedXYZNNP = (renderBlocks.aoLightValueScratchXYZNNP + + renderBlocks.aoLightValueScratchXZNP + + renderBlocks.aoLightValueScratchYZNP + + aoLightValue) + / 4.0F; + float aoMixedXYZPNP = (renderBlocks.aoLightValueScratchYZNP + + aoLightValue + + renderBlocks.aoLightValueScratchXYZPNP + + renderBlocks.aoLightValueScratchXZPP) + / 4.0F; + float aoMixedXYZPPP = (aoLightValue + + renderBlocks.aoLightValueScratchYZPP + + renderBlocks.aoLightValueScratchXZPP + + renderBlocks.aoLightValueScratchXYZPPP) + / 4.0F; + + aoTopLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX) + + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMinX + + aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX + + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX)); + aoBottomLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX) + + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMinX + + aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX + + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX)); + aoBottomRight = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX) + + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMaxX + + aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX + + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX)); + aoTopRight = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX) + + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMaxX + + aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX + + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX)); + + renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZNNP, + brightnessMixedXYZPNP, + brightnessMixedXYZPPP, + renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX), + (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX), + (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX, + renderBlocks.renderMaxY * renderBlocks.renderMinX); + renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZNNP, + brightnessMixedXYZPNP, + brightnessMixedXYZPPP, + renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX), + (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX), + (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX, + renderBlocks.renderMinY * renderBlocks.renderMinX); + renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZNNP, + brightnessMixedXYZPNP, + brightnessMixedXYZPPP, + renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX), + (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX), + (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX, + renderBlocks.renderMinY * renderBlocks.renderMaxX); + renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZNNP, + brightnessMixedXYZPNP, + brightnessMixedXYZPPP, + renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX), + (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX), + (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX, + renderBlocks.renderMaxY * renderBlocks.renderMaxX); } return this; diff --git a/src/main/java/com/github/technus/tectech/util/TT_Utility.java b/src/main/java/com/github/technus/tectech/util/TT_Utility.java index 2b67f72ff0..41335bb31a 100644 --- a/src/main/java/com/github/technus/tectech/util/TT_Utility.java +++ b/src/main/java/com/github/technus/tectech/util/TT_Utility.java @@ -8,6 +8,14 @@ import gregtech.api.GregTech_API; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.lang.reflect.Array; +import java.lang.reflect.Field; +import java.nio.charset.StandardCharsets; +import java.util.*; +import java.util.function.Function; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.inventory.Container; @@ -26,28 +34,19 @@ import net.minecraft.world.storage.SaveHandler; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.StringUtils; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.lang.reflect.Array; -import java.lang.reflect.Field; -import java.nio.charset.StandardCharsets; -import java.util.*; -import java.util.function.Function; - /** * Created by Tec on 21.03.2017. */ public final class TT_Utility { - private TT_Utility() { - } + private TT_Utility() {} - private static final StringBuilder STRING_BUILDER = new StringBuilder(); - private static final Map FORMATTER_MAP = new HashMap<>(); + private static final StringBuilder STRING_BUILDER = new StringBuilder(); + private static final Map FORMATTER_MAP = new HashMap<>(); private static Formatter getFormatter() { STRING_BUILDER.setLength(0); - return FORMATTER_MAP.computeIfAbsent(Locale.getDefault(Locale.Category.FORMAT), locale -> new Formatter(STRING_BUILDER, locale)); + return FORMATTER_MAP.computeIfAbsent( + Locale.getDefault(Locale.Category.FORMAT), locale -> new Formatter(STRING_BUILDER, locale)); } public static String formatNumberShortExp(double value) { @@ -64,12 +63,10 @@ public final class TT_Utility { @SuppressWarnings("ComparatorMethodParameterNotUsed") public static > SortedSet> entriesSortedByValues(Map map) { - SortedSet> sortedEntries = new TreeSet<>( - (e1, e2) -> { - int res = e1.getValue().compareTo(e2.getValue()); - return res != 0 ? res : 1; // Special fix to preserve items with equal values - } - ); + SortedSet> sortedEntries = new TreeSet<>((e1, e2) -> { + int res = e1.getValue().compareTo(e2.getValue()); + return res != 0 ? res : 1; // Special fix to preserve items with equal values + }); sortedEntries.addAll(map.entrySet()); return sortedEntries; } @@ -101,16 +98,18 @@ public final class TT_Utility { return Double.parseDouble(str); } - private static final String SUPER_SCRIPT = "\u207D\u207E*\u207A,\u207B./\u2070\u00B9\u00B2\u00B3\u2074\u2075\u2076\u2077\u2078\u2079:;<\u207C"; - private static final String SUB_SCRIPT = "\u208D\u208E*\u208A,\u208B./\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089:;<\u208C"; + private static final String SUPER_SCRIPT = + "\u207D\u207E*\u207A,\u207B./\u2070\u00B9\u00B2\u00B3\u2074\u2075\u2076\u2077\u2078\u2079:;<\u207C"; + private static final String SUB_SCRIPT = + "\u208D\u208E*\u208A,\u208B./\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089:;<\u208C"; public static String toSubscript(String s) { STRING_BUILDER.setLength(0); - for (int i = 0; i ='('&&c<='='){ - STRING_BUILDER.append(SUB_SCRIPT.charAt(c-'(')); - }else { + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + if (c >= '(' && c <= '=') { + STRING_BUILDER.append(SUB_SCRIPT.charAt(c - '(')); + } else { STRING_BUILDER.append(c); } } @@ -119,18 +118,17 @@ public final class TT_Utility { public static String toSuperscript(String s) { STRING_BUILDER.setLength(0); - for (int i = 0; i ='('&&c<='='){ - STRING_BUILDER.append(SUPER_SCRIPT.charAt(c-'(')); - }else { + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + if (c >= '(' && c <= '=') { + STRING_BUILDER.append(SUPER_SCRIPT.charAt(c - '(')); + } else { STRING_BUILDER.append(c); } } return STRING_BUILDER.toString(); } - public static double getValue(String in1) { String str = in1.toLowerCase(); double val; @@ -150,7 +148,6 @@ public final class TT_Utility { } } - public static String intBitsToString(int number) { StringBuilder result = new StringBuilder(16); @@ -203,7 +200,13 @@ public final class TT_Utility { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } - public static boolean isInputEqual(boolean aDecreaseStacksizeBySuccess, boolean aDontCheckStackSizes, FluidStack[] requiredFluidInputs, ItemStack[] requiredInputs, FluidStack[] givenFluidInputs, ItemStack... givenInputs) { + public static boolean isInputEqual( + boolean aDecreaseStacksizeBySuccess, + boolean aDontCheckStackSizes, + FluidStack[] requiredFluidInputs, + ItemStack[] requiredInputs, + FluidStack[] givenFluidInputs, + ItemStack... givenInputs) { if (!GregTech_API.sPostloadFinished) { return false; } @@ -242,7 +245,8 @@ public final class TT_Utility { amt = tStack.stackSize; boolean temp = true; for (ItemStack aStack : givenInputs) { - if (GT_Utility.areUnificationsEqual(aStack, tStack, true) || GT_Utility.areUnificationsEqual(GT_OreDictUnificator.get(false, aStack), tStack, true)) { + if (GT_Utility.areUnificationsEqual(aStack, tStack, true) + || GT_Utility.areUnificationsEqual(GT_OreDictUnificator.get(false, aStack), tStack, true)) { if (aDontCheckStackSizes) { temp = false; break; @@ -289,7 +293,9 @@ public final class TT_Utility { if (tStack != null) { amt = tStack.stackSize; for (ItemStack aStack : givenInputs) { - if (GT_Utility.areUnificationsEqual(aStack, tStack, true) || GT_Utility.areUnificationsEqual(GT_OreDictUnificator.get(false, aStack), tStack, true)) { + if (GT_Utility.areUnificationsEqual(aStack, tStack, true) + || GT_Utility.areUnificationsEqual( + GT_OreDictUnificator.get(false, aStack), tStack, true)) { if (aDontCheckStackSizes) { aStack.stackSize -= amt; break; @@ -330,7 +336,7 @@ public final class TT_Utility { public static String[] splitButDifferent(String string, String delimiter) { String[] strings = new String[StringUtils.countMatches(string, delimiter) + 1]; - int lastEnd = 0; + int lastEnd = 0; for (int i = 0; i < strings.length - 1; i++) { int nextEnd = string.indexOf(delimiter, lastEnd); strings[i] = string.substring(lastEnd, nextEnd); @@ -385,8 +391,8 @@ public final class TT_Utility { public static class ItemStack_NoNBT implements Comparable { public final Item mItem; - public final int mStackSize; - public final int mMetaData; + public final int mStackSize; + public final int mMetaData; public ItemStack_NoNBT(Item aItem, long aStackSize, long aMetaData) { this.mItem = aItem; @@ -420,11 +426,15 @@ public final class TT_Utility { @Override public boolean equals(Object aStack) { - return aStack == this || - (aStack instanceof ItemStack_NoNBT && - ((mItem == ((ItemStack_NoNBT) aStack).mItem) || ((ItemStack_NoNBT) aStack).mItem.getUnlocalizedName().equals(this.mItem.getUnlocalizedName())) && - ((ItemStack_NoNBT) aStack).mStackSize == this.mStackSize && - ((ItemStack_NoNBT) aStack).mMetaData == this.mMetaData); + return aStack == this + || (aStack instanceof ItemStack_NoNBT + && ((mItem == ((ItemStack_NoNBT) aStack).mItem) + || ((ItemStack_NoNBT) aStack) + .mItem + .getUnlocalizedName() + .equals(this.mItem.getUnlocalizedName())) + && ((ItemStack_NoNBT) aStack).mStackSize == this.mStackSize + && ((ItemStack_NoNBT) aStack).mMetaData == this.mMetaData); } @Override @@ -434,7 +444,13 @@ public final class TT_Utility { @Override public String toString() { - return Integer.toString(hashCode()) + ' ' + (mItem == null ? "null" : mItem.getUnlocalizedName()) + ' ' + mMetaData + ' ' + mStackSize; + return Integer.toString(hashCode()) + + ' ' + + (mItem == null ? "null" : mItem.getUnlocalizedName()) + + ' ' + + mMetaData + + ' ' + + mStackSize; } } @@ -444,7 +460,7 @@ public final class TT_Utility { field.setAccessible(true); field.set(me, (byte) tier); } catch (Exception e) { - //e.printStackTrace(); + // e.printStackTrace(); } } @@ -551,11 +567,15 @@ public final class TT_Utility { try { if (FMLCommonHandler.instance().getEffectiveSide().isServer()) { if (uuid1 != null && uuid2 != null) { - IPlayerFileData playerNBTManagerObj = MinecraftServer.getServer().worldServerForDimension(0).getSaveHandler().getSaveHandler(); - SaveHandler sh = (SaveHandler) playerNBTManagerObj; - File dir = ObfuscationReflectionHelper.getPrivateValue(SaveHandler.class, sh, new String[]{"playersDirectory", "field_75771_c"}); - String id1 = uuid1.toString(); - NBTTagCompound tagCompound = read(new File(dir, id1 + "." + extension)); + IPlayerFileData playerNBTManagerObj = MinecraftServer.getServer() + .worldServerForDimension(0) + .getSaveHandler() + .getSaveHandler(); + SaveHandler sh = (SaveHandler) playerNBTManagerObj; + File dir = ObfuscationReflectionHelper.getPrivateValue( + SaveHandler.class, sh, new String[] {"playersDirectory", "field_75771_c"}); + String id1 = uuid1.toString(); + NBTTagCompound tagCompound = read(new File(dir, id1 + "." + extension)); if (tagCompound != null) { return tagCompound; } @@ -583,13 +603,19 @@ public final class TT_Utility { try { if (FMLCommonHandler.instance().getEffectiveSide().isServer()) { if (player != null) { - IPlayerFileData playerNBTManagerObj = MinecraftServer.getServer().worldServerForDimension(0).getSaveHandler().getSaveHandler(); - SaveHandler sh = (SaveHandler) playerNBTManagerObj; - File dir = ObfuscationReflectionHelper.getPrivateValue(SaveHandler.class, sh, new String[]{"playersDirectory", "field_75771_c"}); - String id1 = player.getUniqueID().toString(); + IPlayerFileData playerNBTManagerObj = MinecraftServer.getServer() + .worldServerForDimension(0) + .getSaveHandler() + .getSaveHandler(); + SaveHandler sh = (SaveHandler) playerNBTManagerObj; + File dir = ObfuscationReflectionHelper.getPrivateValue( + SaveHandler.class, sh, new String[] {"playersDirectory", "field_75771_c"}); + String id1 = player.getUniqueID().toString(); write(new File(dir, id1 + "." + extension), data); write(new File(dir, id1 + "." + extension + "_bak"), data); - String id2 = UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(StandardCharsets.UTF_8)).toString(); + String id2 = UUID.nameUUIDFromBytes( + player.getCommandSenderName().getBytes(StandardCharsets.UTF_8)) + .toString(); write(new File(dir, id2 + "." + extension), data); write(new File(dir, id2 + "." + extension + "_bak"), data); } diff --git a/src/main/java/com/github/technus/tectech/util/XSTR.java b/src/main/java/com/github/technus/tectech/util/XSTR.java index 31c9b6a65c..0f1c5578d7 100644 --- a/src/main/java/com/github/technus/tectech/util/XSTR.java +++ b/src/main/java/com/github/technus/tectech/util/XSTR.java @@ -1,28 +1,28 @@ package com.github.technus.tectech.util; /* - A subclass of java.util.random that implements the Xorshift random number - generator -

- - it is 30% faster than the generator from Java's library - it produces - random sequences of higher quality than java.util.Random - this class also - provides a clone() function -

- Usage: XSRandom rand = new XSRandom(); //Instantiation x = rand.nextInt(); - //pull a random number -

- To use the class in legacy code, you may also instantiate an XSRandom object - and assign it to a java.util.Random object: java.util.Random rand = new - XSRandom(); -

- for an explanation of the algorithm, see - http://demesos.blogspot.com/2011/09/pseudo-random-number-generators.html + A subclass of java.util.random that implements the Xorshift random number + generator +

+ - it is 30% faster than the generator from Java's library - it produces + random sequences of higher quality than java.util.Random - this class also + provides a clone() function +

+ Usage: XSRandom rand = new XSRandom(); //Instantiation x = rand.nextInt(); + //pull a random number +

+ To use the class in legacy code, you may also instantiate an XSRandom object + and assign it to a java.util.Random object: java.util.Random rand = new + XSRandom(); +

+ for an explanation of the algorithm, see + http://demesos.blogspot.com/2011/09/pseudo-random-number-generators.html - @author Wilfried Elmenreich University of Klagenfurt/Lakeside Labs - * http://www.elmenreich.tk - *

- * This code is released under the GNU Lesser General Public License Version 3 - * http://www.gnu.org/licenses/lgpl-3.0.txt - */ + @author Wilfried Elmenreich University of Klagenfurt/Lakeside Labs +* http://www.elmenreich.tk +*

+* This code is released under the GNU Lesser General Public License Version 3 +* http://www.gnu.org/licenses/lgpl-3.0.txt +*/ import java.util.Random; import java.util.concurrent.atomic.AtomicLong; @@ -40,22 +40,22 @@ public class XSTR extends Random { private static final long GAMMA = 0x9e3779b97f4a7c15L; private static final int PROBE_INCREMENT = 0x9e3779b9; private static final long SEEDER_INCREMENT = 0xbb67ae8584caa73bL; - private static final double DOUBLE_UNIT = 0x1.0p-53; // 1.0 / (1L << 53) + private static final double DOUBLE_UNIT = 0x1.0p-53; // 1.0 / (1L << 53) private static final float FLOAT_UNIT = 0x1.0p-24f; // 1.0f / (1 << 24) private static final AtomicLong seedUniquifier = new AtomicLong(8682522807148012L); - public static final XSTR XSTR_INSTANCE=new XSTR(){ + public static final XSTR XSTR_INSTANCE = new XSTR() { @Override public synchronized void setSeed(long seed) { - if(!Thread.currentThread().getStackTrace()[2].getClassName().equals(Random.class.getName())) { + if (!Thread.currentThread().getStackTrace()[2].getClassName().equals(Random.class.getName())) { throw new NoSuchMethodError("This is meant to be shared!, leave seed state alone!"); } } }; /* - MODIFIED BY: Robotia - Modification: Implemented Random class seed generator - */ + MODIFIED BY: Robotia + Modification: Implemented Random class seed generator + */ /** * Creates a new pseudo random number generator. The seed is initialized to @@ -226,9 +226,9 @@ public class XSTR extends Random { */ @Override public int nextInt(int bound) { - //if (bound <= 0) { - //throw new RuntimeException("BadBound"); - //} + // if (bound <= 0) { + // throw new RuntimeException("BadBound"); + // } /*int r = next(31); int m = bound - 1; @@ -242,7 +242,7 @@ public class XSTR extends Random { ; } return r;*/ - //speedup, new nextInt ~+40% + // speedup, new nextInt ~+40% long last = seed ^ seed << 21; last ^= last >>> 35; last ^= last << 4; @@ -270,9 +270,11 @@ public class XSTR extends Random { @Override public void nextBytes(byte[] bytes_arr) { for (int iba = 0, lenba = bytes_arr.length; iba < lenba; ) { - for (int rndba = nextInt(), nba = Math.min(lenba - iba, Integer.SIZE / Byte.SIZE); nba-- > 0; rndba >>= Byte.SIZE) { + for (int rndba = nextInt(), nba = Math.min(lenba - iba, Integer.SIZE / Byte.SIZE); + nba-- > 0; + rndba >>= Byte.SIZE) { bytes_arr[iba++] = (byte) rndba; } } } -} \ No newline at end of file +} -- cgit From 3ed060b97b334f05994f14487957aa82ad0ac6aa Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Sat, 20 Aug 2022 00:14:00 +0200 Subject: Revert "buildscript update and spotless" This reverts commit b00133893a4b96624420e32fcedd2338c230ae2b. --- build.gradle | 370 +- settings.gradle | 10 - .../java/com/github/technus/tectech/TecTech.java | 49 +- .../dreamcraft/DreamCraftRecipeLoader.java | 7330 +++++++------------- .../dreamcraft/NoDreamCraftMachineLoader.java | 196 +- .../tectech/compatibility/gtpp/GtppAtomLoader.java | 216 +- .../openComputers/AvrArchitecture.java | 121 +- .../openmodularturrets/TT_turret_loader.java | 4 +- .../blocks/turretbases/TurretBaseEM.java | 14 +- .../blocks/turretbases/TurretBaseItemEM.java | 9 +- .../blocks/turretheads/TurretHeadEM.java | 22 +- .../blocks/turretheads/TurretHeadItemEM.java | 34 +- .../entity/projectiles/projectileEM.java | 125 +- .../entity/projectiles/projectileRenderEM.java | 34 +- .../tileentity/turret/TileTurretHeadEM.java | 27 +- .../tileentity/turretbase/TileTurretBaseEM.java | 49 +- .../spartakcore/SpartakCoreRecipeLoader.java | 2165 ++---- .../definitions/EMComplexAspectDefinition.java | 33 +- .../definitions/EMPrimalAspectDefinition.java | 40 +- .../transformations/AspectDefinitionCompat.java | 14 +- .../AspectDefinitionCompatEnabled.java | 67 +- .../thing/metaTileEntity/multi/EssentiaCompat.java | 10 +- .../multi/EssentiaCompatEnabled.java | 40 +- .../GT_MetaTileEntity_EM_essentiaDequantizer.java | 128 +- .../GT_MetaTileEntity_EM_essentiaQuantizer.java | 136 +- .../technus/tectech/font/TecTechFontRender.java | 50 +- .../technus/tectech/loader/EntityLoader.java | 2 +- .../github/technus/tectech/loader/MainLoader.java | 70 +- .../technus/tectech/loader/NetworkDispatcher.java | 10 +- .../technus/tectech/loader/TecTechConfig.java | 221 +- .../tectech/loader/gui/CreativeTabTecTech.java | 5 +- .../technus/tectech/loader/gui/ModGuiHandler.java | 6 +- .../tectech/loader/recipe/BaseRecipeLoader.java | 195 +- .../tectech/loader/recipe/BloodyRecipeLoader.java | 3576 +++------- .../tectech/loader/thing/ComponentLoader.java | 14 +- .../technus/tectech/loader/thing/CoverLoader.java | 31 +- .../tectech/loader/thing/MachineLoader.java | 1010 +-- .../technus/tectech/loader/thing/ThingsLoader.java | 10 +- .../tectech/mechanics/anomaly/AnomalyHandler.java | 264 +- .../tectech/mechanics/anomaly/CancerCommand.java | 28 +- .../tectech/mechanics/anomaly/ChargeCommand.java | 28 +- .../tectech/mechanics/anomaly/MassCommand.java | 27 +- .../tectech/mechanics/avr/SidedRedstone.java | 209 +- .../tectech/mechanics/commands/ConvertFloat.java | 31 +- .../tectech/mechanics/commands/ConvertInteger.java | 31 +- .../tectech/mechanics/data/ChunkDataHandler.java | 185 +- .../tectech/mechanics/data/ChunkDataMessage.java | 63 +- .../mechanics/data/IChunkMetaDataHandler.java | 39 +- .../tectech/mechanics/data/PlayerDataMessage.java | 55 +- .../tectech/mechanics/data/PlayerPersistence.java | 66 +- .../technus/tectech/mechanics/data/WorldData.java | 13 +- .../mechanics/dataTransport/DataPacket.java | 35 +- .../dataTransport/InventoryDataPacket.java | 37 +- .../mechanics/dataTransport/QuantumDataPacket.java | 10 +- .../elementalMatter/core/commands/EMGive.java | 18 +- .../elementalMatter/core/commands/EMList.java | 50 +- .../elementalMatter/core/decay/EMDecay.java | 39 +- .../elementalMatter/core/decay/EMDecayResult.java | 4 +- .../core/definitions/EMComplexTemplate.java | 19 +- .../core/definitions/EMPrimitiveTemplate.java | 55 +- .../core/definitions/IEMDefinition.java | 100 +- .../registry/EMDefinitionsRegistry.java | 44 +- .../core/definitions/registry/EMIndirectType.java | 20 +- .../core/definitions/registry/EMType.java | 15 +- .../core/maps/EMConstantStackMap.java | 17 +- .../core/maps/EMDefinitionStackMap.java | 15 +- .../core/maps/EMInstanceStackMap.java | 64 +- .../elementalMatter/core/maps/EMStackMap.java | 7 +- .../elementalMatter/core/maps/IEMMapRead.java | 114 +- .../elementalMatter/core/maps/IEMMapWrite.java | 47 +- .../core/maps/IEMMapWriteExact.java | 51 +- .../elementalMatter/core/recipes/EMRecipe.java | 14 +- .../elementalMatter/core/recipes/EMRecipeMap.java | 35 +- .../core/stacks/EMDefinitionStack.java | 22 +- .../core/stacks/EMInstanceStack.java | 183 +- .../elementalMatter/core/stacks/IEMStack.java | 5 +- .../core/transformations/EMDequantizationInfo.java | 2 +- .../transformations/EMFluidQuantizationInfo.java | 14 +- .../transformations/EMItemQuantizationInfo.java | 23 +- .../transformations/EMOredictQuantizationInfo.java | 10 +- .../transformations/EMTransformationRegistry.java | 49 +- .../definitions/complex/EMAtomDefinition.java | 2171 ++---- .../definitions/complex/EMHadronDefinition.java | 177 +- .../definitions/complex/EMNuclideIAEA.java | 308 +- .../definitions/primitive/EMBosonDefinition.java | 7 +- .../definitions/primitive/EMFermionDefinition.java | 7 +- .../primitive/EMGaugeBosonDefinition.java | 50 +- .../definitions/primitive/EMLeptonDefinition.java | 84 +- .../primitive/EMNeutrinoDefinition.java | 58 +- .../primitive/EMPrimitiveDefinition.java | 42 +- .../definitions/primitive/EMQuarkDefinition.java | 170 +- .../primitive/EMScalarBosonDefinition.java | 43 +- .../enderStorage/EnderFluidContainer.java | 12 +- .../enderStorage/EnderLinkCoverMessage.java | 36 +- .../mechanics/enderStorage/EnderLinkTag.java | 8 +- .../mechanics/enderStorage/EnderLinkTank.java | 10 +- .../enderStorage/EnderWorldSavedData.java | 13 +- .../tectech/mechanics/pipe/IActivePipe.java | 2 - .../mechanics/pipe/PipeActivityMessage.java | 71 +- .../tectech/mechanics/spark/RendererMessage.java | 43 +- .../tectech/mechanics/spark/ThaumSpark.java | 18 +- .../tectech/mechanics/tesla/ITeslaConnectable.java | 112 +- .../mechanics/tesla/ITeslaConnectableSimple.java | 9 +- .../mechanics/tesla/TeslaCoverConnection.java | 12 +- .../github/technus/tectech/nei/NEI_TT_Config.java | 4 +- .../tectech/nei/TT_NEI_ResearchHandler.java | 160 +- .../technus/tectech/nei/TT_NEI_ScannerHandler.java | 157 +- .../github/technus/tectech/proxy/ClientProxy.java | 104 +- .../github/technus/tectech/proxy/CommonProxy.java | 47 +- .../github/technus/tectech/recipe/TT_recipe.java | 398 +- .../technus/tectech/recipe/TT_recipeAdder.java | 412 +- .../technus/tectech/thing/CustomItemList.java | 448 +- .../tectech/thing/block/QuantumGlassBlock.java | 19 +- .../tectech/thing/block/QuantumGlassItem.java | 15 +- .../tectech/thing/block/QuantumGlassRender.java | 26 +- .../tectech/thing/block/QuantumStuffBlock.java | 18 +- .../tectech/thing/block/QuantumStuffRender.java | 51 +- .../tectech/thing/block/ReactorSimBlock.java | 23 +- .../tectech/thing/block/ReactorSimItem.java | 15 +- .../tectech/thing/casing/GT_Block_CasingsBA0.java | 31 +- .../tectech/thing/casing/GT_Block_CasingsNH.java | 39 +- .../tectech/thing/casing/GT_Block_CasingsTT.java | 44 +- .../tectech/thing/casing/GT_Item_CasingsBA0.java | 64 +- .../tectech/thing/casing/GT_Item_CasingsNH.java | 3 +- .../tectech/thing/casing/GT_Item_CasingsTT.java | 174 +- .../thing/cover/GT_Cover_TM_EnderFluidLink.java | 128 +- .../thing/cover/GT_Cover_TM_PowerPassUpgrade.java | 18 +- .../tectech/thing/cover/GT_Cover_TM_TeslaCoil.java | 36 +- .../cover/GT_Cover_TM_TeslaCoil_Ultimate.java | 5 +- .../technus/tectech/thing/item/AvrProgrammer.java | 103 +- .../item/DebugElementalInstanceContainer_EM.java | 65 +- .../item/ElementalDefinitionContainer_EM.java | 42 +- .../item/ElementalDefinitionScanStorage_EM.java | 51 +- .../tectech/thing/item/EnderFluidLinkCover.java | 22 +- .../technus/tectech/thing/item/EuMeterGT.java | 93 +- .../tectech/thing/item/ParametrizerMemoryCard.java | 61 +- .../tectech/thing/item/PowerPassUpgradeCover.java | 20 +- .../tectech/thing/item/TeslaCoilCapacitor.java | 29 +- .../tectech/thing/item/TeslaCoilComponent.java | 15 +- .../technus/tectech/thing/item/TeslaCoilCover.java | 26 +- .../technus/tectech/thing/item/TeslaStaff.java | 12 +- .../tectech/thing/item/gui/ProgrammerScreen.java | 4 +- .../tectech/thing/item/gui/ScanDisplayScreen.java | 70 +- .../thing/item/renderElemental/IElementalItem.java | 8 +- .../item/renderElemental/RenderElementalName.java | 34 +- .../tectech/thing/metaTileEntity/Textures.java | 352 +- .../hatch/GT_MetaTileEntity_Hatch_Capacitor.java | 56 +- .../GT_MetaTileEntity_Hatch_CreativeData.java | 36 +- ...T_MetaTileEntity_Hatch_CreativeMaintenance.java | 31 +- .../GT_MetaTileEntity_Hatch_DataConnector.java | 63 +- .../hatch/GT_MetaTileEntity_Hatch_DynamoMulti.java | 35 +- .../GT_MetaTileEntity_Hatch_DynamoTunnel.java | 66 +- ...GT_MetaTileEntity_Hatch_ElementalContainer.java | 143 +- .../hatch/GT_MetaTileEntity_Hatch_EnergyMulti.java | 39 +- .../GT_MetaTileEntity_Hatch_EnergyTunnel.java | 42 +- .../hatch/GT_MetaTileEntity_Hatch_Holder.java | 30 +- .../hatch/GT_MetaTileEntity_Hatch_InputData.java | 33 +- .../GT_MetaTileEntity_Hatch_InputDataItems.java | 112 +- .../GT_MetaTileEntity_Hatch_InputElemental.java | 21 +- .../hatch/GT_MetaTileEntity_Hatch_OutputData.java | 28 +- .../GT_MetaTileEntity_Hatch_OutputDataItems.java | 34 +- .../GT_MetaTileEntity_Hatch_OutputElemental.java | 32 +- .../GT_MetaTileEntity_Hatch_OverflowElemental.java | 128 +- .../hatch/GT_MetaTileEntity_Hatch_Param.java | 85 +- .../hatch/GT_MetaTileEntity_Hatch_ParamText.java | 52 +- .../hatch/GT_MetaTileEntity_Hatch_Rack.java | 180 +- .../hatch/GT_MetaTileEntity_Hatch_Uncertainty.java | 163 +- .../hatch/TextParametersMessage.java | 82 +- .../hatch/gui/GT_Container_Capacitor.java | 8 +- .../hatch/gui/GT_Container_Param.java | 24 +- .../hatch/gui/GT_Container_ParamAdv.java | 80 +- .../hatch/gui/GT_Container_ParamText.java | 49 +- .../hatch/gui/GT_Container_Uncertainty.java | 11 +- .../hatch/gui/GT_GUIContainer_Capacitor.java | 7 +- .../hatch/gui/GT_GUIContainer_Param.java | 55 +- .../hatch/gui/GT_GUIContainer_ParamAdv.java | 64 +- .../hatch/gui/GT_GUIContainer_ParamText.java | 93 +- .../hatch/gui/GT_GUIContainer_Uncertainty.java | 85 +- .../hatch/gui/GT_GUIContainer_UncertaintyAdv.java | 19 +- .../multi/GT_MetaTileEntity_EM_annihilation.java | 267 +- .../multi/GT_MetaTileEntity_EM_bhg.java | 2521 +------ .../multi/GT_MetaTileEntity_EM_computer.java | 204 +- .../multi/GT_MetaTileEntity_EM_crafting.java | 134 +- .../multi/GT_MetaTileEntity_EM_dataBank.java | 157 +- .../multi/GT_MetaTileEntity_EM_decay.java | 219 +- .../multi/GT_MetaTileEntity_EM_dequantizer.java | 148 +- .../multi/GT_MetaTileEntity_EM_infuser.java | 139 +- .../multi/GT_MetaTileEntity_EM_junction.java | 192 +- .../multi/GT_MetaTileEntity_EM_quantizer.java | 216 +- .../multi/GT_MetaTileEntity_EM_research.java | 318 +- .../multi/GT_MetaTileEntity_EM_scanner.java | 327 +- .../multi/GT_MetaTileEntity_EM_stabilizer.java | 96 +- .../multi/GT_MetaTileEntity_EM_switch.java | 177 +- .../multi/GT_MetaTileEntity_EM_transformer.java | 131 +- .../multi/GT_MetaTileEntity_EM_wormhole.java | 234 +- .../multi/GT_MetaTileEntity_TM_microwave.java | 209 +- .../GT_MetaTileEntity_TM_proccessingStack.java | 229 +- .../multi/GT_MetaTileEntity_TM_teslaCoil.java | 698 +- .../multi/base/GT_Container_MultiMachineEM.java | 100 +- .../multi/base/GT_GUIContainer_MultiMachineEM.java | 293 +- .../base/GT_MetaTileEntity_MultiblockBase_EM.java | 733 +- .../metaTileEntity/multi/base/INameFunction.java | 2 +- .../metaTileEntity/multi/base/IStatusFunction.java | 2 +- .../thing/metaTileEntity/multi/base/LedStatus.java | 103 +- .../multi/base/MultiblockControl.java | 50 +- .../metaTileEntity/multi/base/Parameters.java | 205 +- .../thing/metaTileEntity/multi/base/SoundLoop.java | 50 +- .../render/TT_RenderedExtendedFacingTexture.java | 10 +- .../em_collider/GT_MetaTileEntity_EM_collider.java | 813 +-- .../multi/em_machine/Behaviour_Centrifuge.java | 204 +- .../multi/em_machine/Behaviour_Electrolyzer.java | 12 +- .../Behaviour_ElectromagneticSeparator.java | 260 +- .../multi/em_machine/Behaviour_PrecisionLaser.java | 12 +- .../multi/em_machine/Behaviour_Recycler.java | 19 +- .../multi/em_machine/Behaviour_Scanner.java | 12 +- .../em_machine/GT_MetaTileEntity_EM_machine.java | 204 +- .../pipe/GT_MetaTileEntity_Pipe_Data.java | 126 +- .../pipe/GT_MetaTileEntity_Pipe_EM.java | 136 +- .../pipe/GT_MetaTileEntity_Pipe_Energy.java | 140 +- .../single/GT_MetaTileEntity_BuckConverter.java | 68 +- .../single/GT_MetaTileEntity_DataReader.java | 246 +- .../single/GT_MetaTileEntity_DebugPollutor.java | 64 +- .../GT_MetaTileEntity_DebugPowerGenerator.java | 118 +- .../GT_MetaTileEntity_DebugStructureWriter.java | 94 +- .../single/GT_MetaTileEntity_MicroController.java | 142 +- .../single/GT_MetaTileEntity_OwnerDetector.java | 73 +- .../single/GT_MetaTileEntity_TT_Transformer.java | 46 +- .../single/GT_MetaTileEntity_TeslaCoil.java | 151 +- .../single/GT_MetaTileEntity_WetTransformer.java | 15 +- .../single/gui/GT_Container_BuckConverter.java | 16 +- .../single/gui/GT_Container_DataReader.java | 24 +- .../single/gui/GT_Container_DebugPollutor.java | 28 +- .../gui/GT_Container_DebugPowerGenerator.java | 22 +- .../gui/GT_Container_DebugStructureWriter.java | 9 +- .../single/gui/GT_GUIContainer_BuckConverter.java | 11 +- .../single/gui/GT_GUIContainer_DataReader.java | 94 +- .../single/gui/GT_GUIContainer_DebugPollutor.java | 4 +- .../gui/GT_GUIContainer_DebugPowerGenerator.java | 11 +- .../gui/GT_GUIContainer_DebugStructureWriter.java | 6 +- .../thing/tileEntity/ReactorSimTileEntity.java | 355 +- .../github/technus/tectech/util/CommonValues.java | 83 +- .../com/github/technus/tectech/util/Converter.java | 4 +- .../github/technus/tectech/util/DoubleCount.java | 27 +- .../technus/tectech/util/LightingHelper.java | 1114 +-- .../github/technus/tectech/util/TT_Utility.java | 140 +- .../java/com/github/technus/tectech/util/XSTR.java | 70 +- 246 files changed, 13854 insertions(+), 26778 deletions(-) delete mode 100644 settings.gradle diff --git a/build.gradle b/build.gradle index 1f363c02bc..c09bee22f3 100644 --- a/build.gradle +++ b/build.gradle @@ -1,9 +1,10 @@ -//version: 1660899027 +//version: 1652851397 /* - DO NOT CHANGE THIS FILE! - Also, you may replace this file at any time if there is an update available. - Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/build.gradle for updates. - */ +DO NOT CHANGE THIS FILE! + +Also, you may replace this file at any time if there is an update available. +Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/build.gradle for updates. +*/ import com.github.jengelman.gradle.plugins.shadow.tasks.ConfigureShadowRelocation @@ -11,17 +12,10 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar import org.gradle.internal.logging.text.StyledTextOutput.Style import org.gradle.internal.logging.text.StyledTextOutputFactory -import java.nio.file.Files -import java.nio.file.Paths import java.util.concurrent.TimeUnit -import java.util.zip.ZipEntry -import java.util.zip.ZipInputStream -import java.util.zip.ZipOutputStream buildscript { repositories { - mavenCentral() - maven { name 'forge' url 'https://maven.minecraftforge.net' @@ -43,6 +37,7 @@ buildscript { classpath 'com.github.GTNewHorizons:ForgeGradle:1.2.7' } } + plugins { id 'java-library' id 'idea' @@ -57,16 +52,8 @@ plugins { id 'com.palantir.git-version' version '0.13.0' apply false id 'de.undercouch.download' version '5.0.1' id 'com.github.gmazzo.buildconfig' version '3.0.3' apply false - id 'com.diffplug.spotless' version '6.7.2' apply false -} -verifySettingsGradle() - -dependencies { - implementation 'com.diffplug:blowdryer:1.6.0' } -apply plugin: 'com.diffplug.blowdryer' - if (project.file('.git/HEAD').isFile()) { apply plugin: 'com.palantir.git-version' } @@ -91,13 +78,6 @@ idea { } } -boolean disableSpotless = project.hasProperty("disableSpotless") ? project.disableSpotless.toBoolean() : false - -if (!disableSpotless) { - apply plugin: 'com.diffplug.spotless' - apply from: Blowdryer.file('spotless.gradle') -} - if(JavaVersion.current() != JavaVersion.VERSION_1_8) { throw new GradleException("This project requires Java 8, but it's running on " + JavaVersion.current()) } @@ -123,11 +103,9 @@ checkPropertyExists("containsMixinsAndOrCoreModOnly") checkPropertyExists("usesShadowedDependencies") checkPropertyExists("developmentEnvironmentUserName") -boolean noPublishedSources = project.hasProperty("noPublishedSources") ? project.noPublishedSources.toBoolean() : false -boolean usesMixinDebug = project.hasProperty('usesMixinDebug') ?: project.usesMixins.toBoolean() -boolean forceEnableMixins = project.hasProperty('forceEnableMixins') ? project.forceEnableMixins.toBoolean() : false -String channel = project.hasProperty('channel') ? project.channel : 'stable' -String mappingsVersion = project.hasProperty('mappingsVersion') ? project.mappingsVersion : '12' +boolean noPublishedSources = project.findProperty("noPublishedSources") ? project.noPublishedSources.toBoolean() : false +boolean usesMixinDebug = project.findProperty('usesMixinDebug') ?: project.usesMixins.toBoolean() + String javaSourceDir = "src/main/java/" String scalaSourceDir = "src/main/scala/" String kotlinSourceDir = "src/main/kotlin/" @@ -210,10 +188,10 @@ try { } catch (Exception ignored) { out.style(Style.Failure).text( - 'This mod must be version controlled by Git AND the repository must provide at least one tag,\n' + - 'or the VERSION override must be set! ').style(Style.SuccessHeader).text('(Do NOT download from GitHub using the ZIP option, instead\n' + - 'clone the repository, see ').style(Style.Info).text('https://gtnh.miraheze.org/wiki/Development').style(Style.SuccessHeader).println(' for details.)' - ) + 'This mod must be version controlled by Git AND the repository must provide at least one tag,\n' + + 'or the VERSION override must be set! ').style(Style.SuccessHeader).text('(Do NOT download from GitHub using the ZIP option, instead\n' + + 'clone the repository, see ').style(Style.Info).text('https://gtnh.miraheze.org/wiki/Development').style(Style.SuccessHeader).println(' for details.)' + ) versionOverride = 'NO-GIT-TAG-SET' identifiedVersion = versionOverride } @@ -237,7 +215,7 @@ else { def arguments = [] def jvmArguments = [] -if (usesMixins.toBoolean() || forceEnableMixins) { +if (usesMixins.toBoolean()) { arguments += [ "--tweakClass org.spongepowered.asm.launch.MixinTweaker" ] @@ -302,7 +280,7 @@ repositories { name 'Overmind forge repo mirror' url 'https://gregtech.overminddl1.com/' } - if(usesMixins.toBoolean() || forceEnableMixins) { + if(usesMixins.toBoolean()) { maven { name 'sponge' url 'https://repo.spongepowered.org/repository/maven-public' @@ -319,8 +297,6 @@ dependencies { annotationProcessor('com.google.guava:guava:24.1.1-jre') annotationProcessor('com.google.code.gson:gson:2.8.6') annotationProcessor('org.spongepowered:mixin:0.8-SNAPSHOT') - } - if(usesMixins.toBoolean() || forceEnableMixins) { // using 0.8 to workaround a issue in 0.7 which fails mixin application compile('com.github.GTNewHorizons:SpongePoweredMixin:0.7.12-GTNH') { // Mixin includes a lot of dependencies that are too up-to-date @@ -378,10 +354,7 @@ shadowJar { } minimize() // This will only allow shading for actually used classes - configurations = [ - project.configurations.shadowImplementation, - project.configurations.shadowCompile - ] + configurations = [project.configurations.shadowImplementation, project.configurations.shadowCompile] dependsOn(relocateShadowJar) } @@ -403,7 +376,7 @@ jar { } reobf { - if(usesMixins.toBoolean() && file(mixinSrg).exists()) { + if(usesMixins.toBoolean()) { addExtraSrgFile mixinSrg } } @@ -412,12 +385,12 @@ afterEvaluate { if(usesMixins.toBoolean()) { tasks.compileJava { options.compilerArgs += [ - "-AreobfSrgFile=${tasks.reobf.srg}", - "-AoutSrgFile=${mixinSrg}", - "-AoutRefMapFile=${refMap}", - // Elan: from what I understand they are just some linter configs so you get some warning on how to properly code - "-XDenableSunApiLintControl", - "-XDignore.symbol.file" + "-AreobfSrgFile=${tasks.reobf.srg}", + "-AoutSrgFile=${mixinSrg}", + "-AoutRefMapFile=${refMap}", + // Elan: from what I understand they are just some linter configs so you get some warning on how to properly code + "-XDenableSunApiLintControl", + "-XDignore.symbol.file" ] } } @@ -426,8 +399,8 @@ afterEvaluate { runClient { if(developmentEnvironmentUserName) { arguments += [ - "--username", - developmentEnvironmentUserName + "--username", + developmentEnvironmentUserName ] } @@ -445,14 +418,13 @@ tasks.withType(JavaExec).configureEach { javaToolchains.launcherFor { languageVersion = projectJavaVersion } - ) + ) } processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version - exclude("spotless.gradle") // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { @@ -460,9 +432,9 @@ processResources { // replace modVersion and minecraftVersion expand "minecraftVersion": project.minecraft.version, - "modVersion": modVersion, - "modId": modId, - "modName": modName + "modVersion": modVersion, + "modId": modId, + "modName": modName } if(usesMixins.toBoolean()) { @@ -472,7 +444,6 @@ processResources { // copy everything else that's not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' - exclude 'spotless.gradle' } } @@ -492,9 +463,9 @@ def getManifestAttributes() { if(usesMixins.toBoolean()) { manifestAttributes += [ - "TweakClass" : "org.spongepowered.asm.launch.MixinTweaker", - "MixinConfigs" : "mixins." + modId + ".json", - "ForceLoadAsMod" : !containsMixinsAndOrCoreModOnly.toBoolean() + "TweakClass" : "org.spongepowered.asm.launch.MixinTweaker", + "MixinConfigs" : "mixins." + modId + ".json", + "ForceLoadAsMod" : !containsMixinsAndOrCoreModOnly.toBoolean() ] } return manifestAttributes @@ -521,10 +492,7 @@ task shadowDevJar(type: ShadowJar) { } minimize() // This will only allow shading for actually used classes - configurations = [ - project.configurations.shadowImplementation, - project.configurations.shadowCompile - ] + configurations = [project.configurations.shadowImplementation, project.configurations.shadowCompile] } task relocateShadowDevJar(type: ConfigureShadowRelocation) { @@ -616,10 +584,7 @@ publishing { // remove extra garbage from minecraft and minecraftDeps configuration pom.withXml { def badArtifacts = [:].withDefault {[] as Set} - for (configuration in [ - projectConfigs.minecraft, - projectConfigs.minecraftDeps - ]) { + for (configuration in [projectConfigs.minecraft, projectConfigs.minecraftDeps]) { for (dependency in configuration.allDependencies) { badArtifacts[dependency.group == null ? "" : dependency.group] += dependency.name } @@ -653,11 +618,11 @@ task updateBuildScript { doLast { if (performBuildScriptUpdate(projectDir.toString())) return - print("Build script already up-to-date!") + print("Build script already up-to-date!") } } -if (!project.getGradle().startParameter.isOffline() && isNewBuildScriptVersionAvailable(projectDir.toString())) { +if (isNewBuildScriptVersionAvailable(projectDir.toString())) { if (autoUpdateBuildScript.toBoolean()) { performBuildScriptUpdate(projectDir.toString()) } else { @@ -668,26 +633,12 @@ if (!project.getGradle().startParameter.isOffline() && isNewBuildScriptVersionAv static URL availableBuildScriptUrl() { new URL("https://raw.githubusercontent.com/GTNewHorizons/ExampleMod1.7.10/main/build.gradle") } -static URL exampleSettingsGradleUrl() { - new URL("https://raw.githubusercontent.com/GTNewHorizons/ExampleMod1.7.10/main/settings.gradle.example") -} - - -def verifySettingsGradle() { - def settingsFile = getFile("settings.gradle") - if (!settingsFile.exists()) { - println("Downloading default settings.gradle") - exampleSettingsGradleUrl().withInputStream { i -> settingsFile.withOutputStream { it << i } } - throw new GradleException("Settings.gradle has been updated, please re-run task.") - } -} boolean performBuildScriptUpdate(String projectDir) { if (isNewBuildScriptVersionAvailable(projectDir)) { def buildscriptFile = getFile("build.gradle") availableBuildScriptUrl().withInputStream { i -> buildscriptFile.withOutputStream { it << i } } out.style(Style.Success).print("Build script updated. Please REIMPORT the project or RESTART your IDE!") - verifySettingsGradle() return true } return false @@ -718,225 +669,80 @@ configure(updateBuildScript) { description = 'Updates the build script to the latest version' } -// Parameter Deobfuscation - -task deobfParams { - doLast { - - String mcpDir = "$project.gradle.gradleUserHomeDir/caches/minecraft/de/oceanlabs/mcp/mcp_$channel/$mappingsVersion" - String mcpZIP = "$mcpDir/mcp_$channel-$mappingsVersion-${minecraftVersion}.zip" - String paramsCSV = "$mcpDir/params.csv" +// Deobfuscation - download.run { - src "https://maven.minecraftforge.net/de/oceanlabs/mcp/mcp_$channel/$mappingsVersion-$minecraftVersion/mcp_$channel-$mappingsVersion-${minecraftVersion}.zip" - dest mcpZIP - overwrite false +def deobf(String sourceURL) { + try { + URL url = new URL(sourceURL) + String fileName = url.getFile() + + //get rid of directories: + int lastSlash = fileName.lastIndexOf("/") + if(lastSlash > 0) { + fileName = fileName.substring(lastSlash + 1) } - - if(!file(paramsCSV).exists()) { - println("Extracting MCP archive ...") - unzip(mcpZIP, mcpDir) + //get rid of extension: + if(fileName.endsWith(".jar")) { + fileName = fileName.substring(0, fileName.lastIndexOf(".")) } - println("Parsing params.csv ...") - Map params = new HashMap<>() - Files.lines(Paths.get(paramsCSV)).forEach{line -> - String[] cells = line.split(",") - if(cells.length > 2 && cells[0].matches("p_i?\\d+_\\d+_")) { - params.put(cells[0], cells[1]) - } + String hostName = url.getHost() + if(hostName.startsWith("www.")) { + hostName = hostName.substring(4) } + List parts = Arrays.asList(hostName.split("\\.")) + Collections.reverse(parts) + hostName = String.join(".", parts) - out.style(Style.Success).println("Modified ${replaceParams(file("$projectDir/src/main/java"), params)} files!") - out.style(Style.Failure).println("Don't forget to verify that the code still works as before!\n It could be broken due to duplicate variables existing now\n or parameters taking priority over other variables.") -} -} - -static int replaceParams(File file, Map params) { -int fileCount = 0 - -if(file.isDirectory()) { - for(File f : file.listFiles()) { - fileCount += replaceParams(f, params) - } - return fileCount -} -println("Visiting ${file.getName()} ...") -try { - String content = new String(Files.readAllBytes(file.toPath())) - int hash = content.hashCode() - params.forEach{key, value -> - content = content.replaceAll(key, value) - } - if(hash != content.hashCode()) { - Files.write(file.toPath(), content.getBytes("UTF-8")) - return 1 - } -} catch(Exception e) { - e.printStackTrace() -} -return 0 -} - -// Credit: bitsnaps (https://gist.github.com/bitsnaps/00947f2dce66f4bbdabc67d7e7b33681) -static unzip(String zipFileName, String outputDir) { -byte[] buffer = new byte[16384] -ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFileName)) -ZipEntry zipEntry = zis.getNextEntry() -while (zipEntry != null) { - File newFile = new File(outputDir + File.separator, zipEntry.name) - if (zipEntry.isDirectory()) { - if (!newFile.isDirectory() && !newFile.mkdirs()) { - throw new IOException("Failed to create directory $newFile") - } - } else { - // fix for Windows-created archives - File parent = newFile.parentFile - if (!parent.isDirectory() && !parent.mkdirs()) { - throw new IOException("Failed to create directory $parent") - } - // write file content - FileOutputStream fos = new FileOutputStream(newFile) - int len = 0 - while ((len = zis.read(buffer)) > 0) { - fos.write(buffer, 0, len) - } - fos.close() + return deobf(sourceURL, hostName + "/" + fileName) + } catch(Exception e) { + return deobf(sourceURL, "deobf/" + String.valueOf(sourceURL.hashCode())) } - zipEntry = zis.getNextEntry() -} -zis.closeEntry() -zis.close() -} - -configure(deobfParams) { -group = 'forgegradle' -description = 'Rename all obfuscated parameter names inherited from Minecraft classes' } -// Dependency Deobfuscation - -def deobf(String sourceURL) { -try { - URL url = new URL(sourceURL) - String fileName = url.getFile() +// The method above is to be preferred. Use this method if the filename is not at the end of the URL. +def deobf(String sourceURL, String fileName) { + String cacheDir = System.getProperty("user.home") + "/.gradle/caches/" + String bon2Dir = cacheDir + "forge_gradle/deobf" + String bon2File = bon2Dir + "/BON2-2.5.0.jar" + String obfFile = cacheDir + "modules-2/files-2.1/" + fileName + ".jar" + String deobfFile = cacheDir + "modules-2/files-2.1/" + fileName + "-deobf.jar" - //get rid of directories: - int lastSlash = fileName.lastIndexOf("/") - if(lastSlash > 0) { - fileName = fileName.substring(lastSlash + 1) + if(file(deobfFile).exists()) { + return files(deobfFile) } - //get rid of extension: - if(fileName.endsWith(".jar") || fileName.endsWith(".litemod")) { - fileName = fileName.substring(0, fileName.lastIndexOf(".")) + + download.run { + src 'https://github.com/GTNewHorizons/BON2/releases/download/2.5.0/BON2-2.5.0.CUSTOM-all.jar' + dest bon2File + quiet true + overwrite false } - String hostName = url.getHost() - if(hostName.startsWith("www.")) { - hostName = hostName.substring(4) + download.run { + src sourceURL + dest obfFile + quiet true + overwrite false } - List parts = Arrays.asList(hostName.split("\\.")) - Collections.reverse(parts) - hostName = String.join(".", parts) - return deobf(sourceURL, "$hostName/$fileName") -} catch(Exception e) { - return deobf(sourceURL, "deobf/${sourceURL.hashCode()}") -} -} + exec { + commandLine 'java', '-jar', bon2File, '--inputJar', obfFile, '--outputJar', deobfFile, '--mcVer', '1.7.10', '--mappingsVer', 'stable_12', '--notch' + workingDir bon2Dir + standardOutput = new ByteArrayOutputStream() + } -// The method above is to be preferred. Use this method if the filename is not at the end of the URL. -def deobf(String sourceURL, String rawFileName) { -String bon2Version = "2.5.1" -String fileName = URLDecoder.decode(rawFileName, "UTF-8") -String cacheDir = "$project.gradle.gradleUserHomeDir/caches" -String bon2Dir = "$cacheDir/forge_gradle/deobf" -String bon2File = "$bon2Dir/BON2-${bon2Version}.jar" -String obfFile = "$cacheDir/modules-2/files-2.1/${fileName}.jar" -String deobfFile = "$cacheDir/modules-2/files-2.1/${fileName}-deobf.jar" - -if(file(deobfFile).exists()) { return files(deobfFile) } -String mappingsVer -String remoteMappings = project.hasProperty('remoteMappings') ? project.remoteMappings : 'https://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/conf/' -if(remoteMappings) { - String id = "${forgeVersion.split("\\.")[3]}-$minecraftVersion" - String mappingsZIP = "$cacheDir/forge_gradle/maven_downloader/de/oceanlabs/mcp/mcp_snapshot_nodoc/$id/mcp_snapshot_nodoc-${id}.zip" - - zipMappings(mappingsZIP, remoteMappings, bon2Dir) - - mappingsVer = "snapshot_$id" -} else { - mappingsVer = "${channel}_$mappingsVersion" -} - -download.run { - src "http://jenkins.usrv.eu:8081/nexus/content/repositories/releases/com/github/parker8283/BON2/$bon2Version-CUSTOM/BON2-$bon2Version-CUSTOM-all.jar" - dest bon2File - quiet true - overwrite false -} - -download.run { - src sourceURL - dest obfFile - quiet true - overwrite false -} - -exec { - commandLine 'java', '-jar', bon2File, '--inputJar', obfFile, '--outputJar', deobfFile, '--mcVer', minecraftVersion, '--mappingsVer', mappingsVer, '--notch' - workingDir bon2Dir - standardOutput = new FileOutputStream("${deobfFile}.log") -} - -return files(deobfFile) -} - -def zipMappings(String zipPath, String url, String bon2Dir) { -File zipFile = new File(zipPath) -if(zipFile.exists()) { - return -} - -String fieldsCache = "$bon2Dir/data/fields.csv" -String methodsCache = "$bon2Dir/data/methods.csv" - -download.run { - src "${url}fields.csv" - dest fieldsCache - quiet true -} -download.run { - src "${url}methods.csv" - dest methodsCache - quiet true -} - -zipFile.getParentFile().mkdirs() -ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile)) - -zos.putNextEntry(new ZipEntry("fields.csv")) -Files.copy(Paths.get(fieldsCache), zos) -zos.closeEntry() - -zos.putNextEntry(new ZipEntry("methods.csv")) -Files.copy(Paths.get(methodsCache), zos) -zos.closeEntry() - -zos.close() -} - // Helper methods def checkPropertyExists(String propertyName) { -if (!project.hasProperty(propertyName)) { - throw new GradleException("This project requires a property \"" + propertyName + "\"! Please add it your \"gradle.properties\". You can find all properties and their description here: https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/gradle.properties") -} + if (!project.hasProperty(propertyName)) { + throw new GradleException("This project requires a property \"" + propertyName + "\"! Please add it your \"gradle.properties\". You can find all properties and their description here: https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/gradle.properties") + } } def getFile(String relativePath) { -return new File(projectDir, relativePath) + return new File(projectDir, relativePath) } diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index 97d8f71c52..0000000000 --- a/settings.gradle +++ /dev/null @@ -1,10 +0,0 @@ -plugins { - id 'com.diffplug.blowdryerSetup' version '1.6.0' -} - -apply plugin: 'com.diffplug.blowdryerSetup' - -blowdryerSetup { - github('GTNewHorizons/ExampleMod1.7.10', 'tag', '0.1.4') - //devLocal '.' // Use this when testing config updates locally -} diff --git a/src/main/java/com/github/technus/tectech/TecTech.java b/src/main/java/com/github/technus/tectech/TecTech.java index 4911b4be7b..fe85fc08c5 100644 --- a/src/main/java/com/github/technus/tectech/TecTech.java +++ b/src/main/java/com/github/technus/tectech/TecTech.java @@ -1,7 +1,5 @@ package com.github.technus.tectech; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; - import com.github.technus.tectech.loader.MainLoader; import com.github.technus.tectech.loader.TecTechConfig; import com.github.technus.tectech.loader.gui.CreativeTabEM; @@ -29,21 +27,21 @@ import eu.usrv.yamcore.auxiliary.IngameErrorLog; import eu.usrv.yamcore.auxiliary.LogHelper; import gregtech.GT_Mod; import gregtech.common.GT_Proxy; +import net.minecraftforge.common.MinecraftForge; + import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.util.Collection; import java.util.Iterator; -import net.minecraftforge.common.MinecraftForge; -@Mod( - modid = Reference.MODID, - name = Reference.NAME, - version = Reference.VERSION, - dependencies = "required-after:Forge@[10.13.4.1614,);" + "required-after:YAMCore@[0.5.70,);" - + "required-after:structurelib;" + "after:ComputerCraft;" - + "after:OpenComputers;" + "required-after:gregtech;" - + "after:dreamcraft;" + "after:appliedenergistics2;" - + "after:CoFHCore;" + "after:Thaumcraft;") +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; + +@Mod(modid = Reference.MODID, name = Reference.NAME, version = Reference.VERSION, + dependencies = "required-after:Forge@[10.13.4.1614,);" + + "required-after:YAMCore@[0.5.70,);" + "required-after:structurelib;" + + "after:ComputerCraft;" + "after:OpenComputers;" + + "required-after:gregtech;" + "after:dreamcraft;" + + "after:appliedenergistics2;" + "after:CoFHCore;" + "after:Thaumcraft;") public class TecTech { @SidedProxy(clientSide = Reference.CLIENTSIDE, serverSide = Reference.SERVERSIDE) public static CommonProxy proxy; @@ -51,20 +49,20 @@ public class TecTech { @Mod.Instance(Reference.MODID) public static TecTech instance; - public static final XSTR RANDOM = XSTR.XSTR_INSTANCE; - public static final LogHelper LOGGER = new LogHelper(Reference.MODID); - public static CreativeTabTecTech creativeTabTecTech; - public static CreativeTabEM creativeTabEM; + public static final XSTR RANDOM = XSTR.XSTR_INSTANCE; + public static final LogHelper LOGGER = new LogHelper(Reference.MODID); + public static CreativeTabTecTech creativeTabTecTech; + public static CreativeTabEM creativeTabEM; private static IngameErrorLog moduleAdminErrorLogs; - public static TecTechConfig configTecTech; + public static TecTechConfig configTecTech; - public static ChunkDataHandler chunkDataHandler; - public static AnomalyHandler anomalyHandler; + public static ChunkDataHandler chunkDataHandler; + public static AnomalyHandler anomalyHandler; public static PlayerPersistence playerPersistence; - public static final EMDefinitionsRegistry definitionsRegistry = new EMDefinitionsRegistry(); - public static final EMTransformationRegistry transformationInfo = new EMTransformationRegistry(); + public static final EMDefinitionsRegistry definitionsRegistry = new EMDefinitionsRegistry(); + public static final EMTransformationRegistry transformationInfo = new EMTransformationRegistry(); /** * For Loader.isModLoaded checks during the runtime @@ -87,8 +85,8 @@ public class TecTech { public void PreLoad(FMLPreInitializationEvent PreEvent) { LOGGER.setDebugOutput(true); - configTecTech = - new TecTechConfig(PreEvent.getModConfigurationDirectory(), Reference.COLLECTIONNAME, Reference.MODID); + configTecTech = new TecTechConfig(PreEvent.getModConfigurationDirectory(), Reference.COLLECTIONNAME, + Reference.MODID); if (!configTecTech.LoadConfig()) { LOGGER.error(Reference.MODID + " could not load its config file. Things are going to be weird!"); @@ -174,7 +172,9 @@ public class TecTech { } @Override - public void clear() {} + public void clear() { + + } @Override public boolean retainAll(Collection c) { @@ -199,6 +199,7 @@ public class TecTech { } catch (NoSuchFieldException | IllegalAccessException e) { LOGGER.error(Reference.MODID + " could not disable material loading!"); } + } MainLoader.load(definitionsRegistry); 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 8e0eee7c99..40e81c5706 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 @@ -1,7 +1,5 @@ package com.github.technus.tectech.compatibility.dreamcraft; -import static com.github.technus.tectech.loader.recipe.BaseRecipeLoader.getOrDefault; - import com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry; import com.github.technus.tectech.recipe.TT_recipeAdder; import com.github.technus.tectech.thing.CustomItemList; @@ -11,6 +9,7 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.Behaviou import com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.Behaviour_Recycler; import com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine; import cpw.mods.fml.common.Loader; +import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; @@ -20,24 +19,28 @@ import gregtech.api.interfaces.IItemContainer; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.material.ALLOY; import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import java.lang.reflect.Method; import net.minecraft.init.Blocks; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; +import gtPlusPlus.core.material.ALLOY; + +import java.lang.reflect.Method; + +import static com.github.technus.tectech.loader.recipe.BaseRecipeLoader.getOrDefault; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; /** * Created by Tec on 06.08.2017. */ public class DreamCraftRecipeLoader { - // region reflect a bit + //region reflect a bit @SuppressWarnings("rawtypes") private Class CUSTOM_ITEM_LIST; - private Method ADD_ASSEMBLER_RECIPE; @SuppressWarnings("unchecked") @@ -45,2577 +48,739 @@ public class DreamCraftRecipeLoader { return (IItemContainer) Enum.valueOf(CUSTOM_ITEM_LIST, name); } - private void addAssemblerRecipeWithCleanroom( - ItemStack[] items, FluidStack fluid, ItemStack output, int time, int eut) { + private void addAssemblerRecipeWithCleanroom(ItemStack[] items, FluidStack fluid, ItemStack output, int time, int eut) { try { ADD_ASSEMBLER_RECIPE.invoke(GT_Values.RA, items, fluid, output, time, eut, true); } catch (Exception e) { throw new RuntimeException("Failed to add clean room assembler recipe! " + output.getDisplayName(), e); } } - // endregion + //endregion public void run(EMTransformationRegistry transformationInfo) { - // region reflect a bit + //region reflect a bit try { CUSTOM_ITEM_LIST = Class.forName("com.dreammaster.gthandler.CustomItemList"); - ADD_ASSEMBLER_RECIPE = GT_Values.RA - .getClass() - .getMethod( - "addAssemblerRecipe", - ItemStack[].class, - FluidStack.class, - ItemStack.class, - int.class, - int.class, - boolean.class); + ADD_ASSEMBLER_RECIPE = GT_Values.RA.getClass().getMethod("addAssemblerRecipe", ItemStack[].class, FluidStack.class, ItemStack.class, int.class, int.class, boolean.class); } catch (Exception e) { throw new Error(e); } - // endregion - - Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null - ? FluidRegistry.getFluid("molten.indalloy140") - : FluidRegistry.getFluid("molten.solderingalloy"); - Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null - ? FluidRegistry.getFluid("molten.mutatedlivingsolder") - : FluidRegistry.getFluid("molten.solderingalloy"); - - // Quantum Glass - 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); - - // region pipes - - // Data - addAssemblerRecipeWithCleanroom( - new ItemStack[] { - ItemList.Circuit_Parts_GlassFiber.get(8), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silver, 8) - }, - Materials.Polytetrafluoroethylene.getMolten(144), + //endregion + + Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null ? FluidRegistry.getFluid("molten.indalloy140") : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null ? FluidRegistry.getFluid("molten.mutatedlivingsolder") : FluidRegistry.getFluid("molten.solderingalloy"); + + //Quantum Glass + 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); + + //region pipes + + //Data + addAssemblerRecipeWithCleanroom(new ItemStack[]{ + ItemList.Circuit_Parts_GlassFiber.get(8), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silver, 8) + }, Materials.Polytetrafluoroethylene.getMolten(144), CustomItemList.DATApipe.get(1), 200, 30720); + + //Tunnel + addAssemblerRecipeWithCleanroom(new ItemStack[]{ CustomItemList.DATApipe.get(1), - 200, - 30720); - - // Tunnel - addAssemblerRecipeWithCleanroom( - new ItemStack[] { - CustomItemList.DATApipe.get(1), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmiridium, 4), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2), - ItemList.Field_Generator_MV.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 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); - - // endregion - - // region casing - - // High Power Casing - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 16), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) - }, - Materials.TungstenSteel.getMolten(576), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmiridium, 4), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 4), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2), + ItemList.Field_Generator_MV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 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); + + //endregion + + //region casing + + //High Power Casing + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 16), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, Materials.TungstenSteel.getMolten(576), CustomItemList.eM_Power.get(1), 100, 30720); + + //Computer Casing + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ CustomItemList.eM_Power.get(1), - 100, - 30720); - - // Computer Casing - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Power.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) - }, - Materials.Aluminium.getMolten(1296), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, Materials.Aluminium.getMolten(1296), CustomItemList.eM_Computer_Casing.get(1), 200, 122880); + //Computer Vent Casing + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), + ItemList.Electric_Motor_IV.get(2), + 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) + }, Materials.SolderingAlloy.getMolten(1296), + CustomItemList.eM_Computer_Vent.get(1), 100, 1920); + + //Advanced Computer Casing + addAssemblerRecipeWithCleanroom(new ItemStack[]{ CustomItemList.eM_Computer_Casing.get(1), - 200, - 122880); - // Computer Vent Casing - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), - ItemList.Electric_Motor_IV.get(2), - 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) - }, - Materials.SolderingAlloy.getMolten(1296), - CustomItemList.eM_Computer_Vent.get(1), - 100, - 1920); - - // Advanced Computer Casing - addAssemblerRecipeWithCleanroom( - new ItemStack[] { - CustomItemList.eM_Computer_Casing.get(1), - 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) - }, - 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.screw, Materials.TungstenSteel, 24), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TungstenSteel, 24), - ItemList.Field_Generator_IV.get(1) - }, - Materials.Osmium.getMolten(1296), - CustomItemList.eM_Containment.get(1), - 800, - 500000); - - // Hollow Casing - GT_Values.RA.addAssemblylineRecipe( - CustomItemList.eM_Containment.get(1), - 7500, - new ItemStack[] { - CustomItemList.eM_Containment.get(1), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Europium, 2), - GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.Plutonium, 4), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Lead, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Uranium, 16), - GT_OreDictUnificator.get(OrePrefixes.screw, getOrDefault("Quantium", Materials.Europium), 16), - }, - new FluidStack[] { - getOrDefault("Trinium", Materials.Osmium).getMolten(1296), - Materials.Osmium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Argon.getGas(1000), - }, - CustomItemList.eM_Hollow.get(2), - 200, - 200000); - - // EM Coil - GT_Values.RA.addAssemblylineRecipe( - CustomItemList.eM_Hollow.get(1), - 7500, - new ItemStack[] { - CustomItemList.eM_Hollow.get(1), - ItemList.Casing_Fusion_Coil.get(2), - ItemList.Casing_Coil_NaquadahAlloy.get(2), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Europium, 64), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Europium, 64), - }, - new FluidStack[] { - Materials.Glass.getMolten(2304), - Materials.Silicone.getMolten(1872), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - getOrDefault("Trinium", Materials.Osmium).getMolten(1296), - }, - CustomItemList.eM_Coil.get(4), - 800, - 200000); + 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) + }, 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.screw, Materials.TungstenSteel, 24), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TungstenSteel, 24), + ItemList.Field_Generator_IV.get(1) + }, Materials.Osmium.getMolten(1296), CustomItemList.eM_Containment.get(1), 800, 500000); + + //Hollow Casing + GT_Values.RA.addAssemblylineRecipe(CustomItemList.eM_Containment.get(1), 7500, new ItemStack[]{ + CustomItemList.eM_Containment.get(1), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Europium, 2), + GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.Plutonium, 4), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Lead, 8), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Uranium, 16), + GT_OreDictUnificator.get(OrePrefixes.screw, getOrDefault("Quantium", Materials.Europium), 16), + }, new FluidStack[]{ + getOrDefault("Trinium", Materials.Osmium).getMolten(1296), + Materials.Osmium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Argon.getGas(1000), + }, CustomItemList.eM_Hollow.get(2), 200, 200000); + + //EM Coil + GT_Values.RA.addAssemblylineRecipe(CustomItemList.eM_Hollow.get(1), 7500, new ItemStack[]{ + CustomItemList.eM_Hollow.get(1), + ItemList.Casing_Fusion_Coil.get(2), + ItemList.Casing_Coil_NaquadahAlloy.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Europium, 64), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Europium, 64), + }, new FluidStack[]{ + Materials.Glass.getMolten(2304), + Materials.Silicone.getMolten(1872), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + getOrDefault("Trinium", Materials.Osmium).getMolten(1296), + }, CustomItemList.eM_Coil.get(4), 800, 200000); // Infinite Oil Rig - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.OilDrill3.get(1), - 16777216, - 2048, - 2000000, - 4, - new Object[] { - ItemList.OilDrill3.get(1), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 4), - new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 4L}, - ItemList.Electric_Motor_UHV.get(4), - ItemList.Electric_Pump_UHV.get(4), - GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Neutronium, 4), - ItemList.Sensor_UHV.get(3), - ItemList.Field_Generator_UHV.get(3), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 12) - }, - new FluidStack[] {new FluidStack(solderUEV, 1296), Materials.Neutronium.getMolten(576)}, - ItemList.OilDrillInfinite.get(1), - 6000, - 2000000); + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.OilDrill3.get(1), + 16777216, 2048, 2000000, 4, new Object[]{ + ItemList.OilDrill3.get(1), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 4), + new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4L}, + ItemList.Electric_Motor_UHV.get(4), + ItemList.Electric_Pump_UHV.get(4), + GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Neutronium, 4), + ItemList.Sensor_UHV.get(3), + ItemList.Field_Generator_UHV.get(3), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 12) + }, new FluidStack[]{ + new FluidStack(solderUEV, 1296), + Materials.Neutronium.getMolten(576) + }, ItemList.OilDrillInfinite.get(1), 6000, 2000000); // Infinity Coil - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Casing_Coil_AwakenedDraconium.get(1), - 16_777_216, - 2048, - 8_000_000, - 1, - new Object[] { - new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 1L}, - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Infinity, 8), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Infinity, 16), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 32, 0) - }, - new FluidStack[] { - Materials.DraconiumAwakened.getMolten(576), - }, - ItemList.Casing_Coil_Infinity.get(1), - 60 * 20, - 8_000_000); + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Coil_AwakenedDraconium.get(1), + 16_777_216, 2048, 8_000_000, 1, new Object[]{ + new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L}, + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Infinity, 8), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Infinity, 16), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 32, 0) + }, new FluidStack[]{ + Materials.DraconiumAwakened.getMolten(576), + }, ItemList.Casing_Coil_Infinity.get(1), 60*20, 8_000_000); // Hypogen Coil - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Casing_Coil_Infinity.get(1), - 16_777_216 * 2, - 2048 * 2, - 32_000_000, - 1, - new Object[] { - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, - GT_OreDictUnificator.get("wireGt02Hypogen", 8L), - GT_ModHandler.getModItem("miscutils", "itemScrewHypogen", 8, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - }, - new FluidStack[] { - Materials.Infinity.getMolten(576), - }, - ItemList.Casing_Coil_Hypogen.get(1), - 60 * 20, - 8000000 * 4); + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Coil_Infinity.get(1), + 16_777_216*2, 2048*2, 32_000_000, 1, new Object[]{ + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, + GT_OreDictUnificator.get("wireGt02Hypogen", 8L), + GT_ModHandler.getModItem("miscutils", "itemScrewHypogen", 8, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + }, new FluidStack[]{ + Materials.Infinity.getMolten(576), + }, ItemList.Casing_Coil_Hypogen.get(1), 60*20, 8000000*4); // Eternal coil - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Casing_Coil_Hypogen.get(1), - 16_777_216 * 4, - 8_192, - 128_000_000, - 1, - new Object[] { - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SpaceTime, 8), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 8), - GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 1L), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - }, - new FluidStack[] { - new FluidStack(FluidRegistry.getFluid("molten.hypogen"), 576), - }, - ItemList.Casing_Coil_Eternal.get(1), - 60 * 20, - 8_000_000 * 16); - - // 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), + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Coil_Hypogen.get(1), + 16_777_216*4, 8_192, 128_000_000, 1, new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SpaceTime, 8), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 8), + GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 1L), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + }, new FluidStack[]{ + new FluidStack(FluidRegistry.getFluid("molten.hypogen"), 576), + }, ItemList.Casing_Coil_Eternal.get(1), 60*20, 8_000_000*16); + + + //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), + 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), - 200, - 30720); - // Tesla Primary Coils T6 - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorZPM, 8), - getItemContainer("MicaInsulatorFoil").get(32) - }, - Materials.Naquadah.getMolten(144), - CustomItemList.tM_TeslaPrimary_6.get(1), - 200, - 122880); - - // 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) - }, - Materials.Silver.getMolten(144), - CustomItemList.eM_dynamoMulti4_IV.get(1), - 100, - 1920); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Transformer_LuV_IV.get(1), - 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[] { - getItemContainer("WetTransformer_LuV_IV").get(1), - 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) - }, - Materials.Silver.getMolten(288), - CustomItemList.eM_dynamoMulti4_LuV.get(1), - 100, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Transformer_ZPM_LuV.get(1), - 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, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - getItemContainer("WetTransformer_ZPM_LuV").get(1), - 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, - 7680); - - 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) - }, - Materials.Silver.getMolten(576), - CustomItemList.eM_dynamoMulti4_ZPM.get(1), - 100, - 30720); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Transformer_UV_ZPM.get(1), - 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[] { - getItemContainer("WetTransformer_UV_ZPM").get(1), - 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) - }, - Materials.Silver.getMolten(1152), - CustomItemList.eM_dynamoMulti4_UV.get(1), - 100, - 122880); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Transformer_MAX_UV.get(1), - 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[] { - getItemContainer("WetTransformer_UHV_UV").get(1), - 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.SuperconductorUHV, 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[] { - 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_UIV").get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2) - }, - Materials.Silver.getMolten(9216), - CustomItemList.eM_dynamoMulti4_UIV.get(1), - 100, - 8000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - getItemContainer("Transformer_UMV_UIV").get(1), - CustomItemList.eM_dynamoMulti4_UIV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 4) - }, - Materials.Electrum.getMolten(9216), - CustomItemList.eM_dynamoMulti16_UIV.get(1), - 200, - 8000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - getItemContainer("WetTransformer_UMV_UIV").get(1), - CustomItemList.eM_dynamoMulti16_UIV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NetherStar, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 6) - }, - Materials.Tungsten.getMolten(9216), - CustomItemList.eM_dynamoMulti64_UIV.get(1), - 400, - 8000000); - - // Energy Hatches IV-UIV - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Hatch_Energy_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_energyMulti4_IV.get(1), - 100, - 1920); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Transformer_LuV_IV.get(1), - CustomItemList.eM_energyMulti4_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_energyMulti16_IV.get(1), - 200, - 1920); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - getItemContainer("WetTransformer_LuV_IV").get(1), - CustomItemList.eM_energyMulti16_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_energyMulti64_IV.get(1), - 400, - 1920); - - 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, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 2) - }, - Materials.Silver.getMolten(288), - CustomItemList.eM_energyMulti4_LuV.get(1), - 100, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Transformer_ZPM_LuV.get(1), - CustomItemList.eM_energyMulti4_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 2), - GT_OreDictUnificator.get( - OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 4) - }, - Materials.Electrum.getMolten(288), - CustomItemList.eM_energyMulti16_LuV.get(1), - 200, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - getItemContainer("WetTransformer_ZPM_LuV").get(1), - CustomItemList.eM_energyMulti16_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.VanadiumGallium, 2), - GT_OreDictUnificator.get( - OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 6) - }, - Materials.Tungsten.getMolten(288), - CustomItemList.eM_energyMulti64_LuV.get(1), - 400, - 7680); - - 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) - }, - Materials.Silver.getMolten(576), - CustomItemList.eM_energyMulti4_ZPM.get(1), - 100, - 30720); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Transformer_UV_ZPM.get(1), - 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, - 30720); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - getItemContainer("WetTransformer_UV_ZPM").get(1), - 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, - 30720); - - 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) - }, - Materials.Silver.getMolten(1152), - CustomItemList.eM_energyMulti4_UV.get(1), - 100, - 122880); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Transformer_MAX_UV.get(1), - 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, - 122880); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - getItemContainer("WetTransformer_UHV_UV").get(1), - 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, - 122880); - - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Hatch_Energy_MAX.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUHV, 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[] { - 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(2304), - 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(2304), - 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(4608), - 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(4608), - 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(4608), - CustomItemList.eM_energyMulti64_UEV.get(1), - 400, - 2000000); - - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - getItemContainer("Hatch_Energy_UIV").get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2) - }, - Materials.Silver.getMolten(9216), - CustomItemList.eM_energyMulti4_UIV.get(1), - 100, - 8000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - getItemContainer("Transformer_UMV_UIV").get(1), - CustomItemList.eM_energyMulti4_UIV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 4) - }, - Materials.Electrum.getMolten(9216), - CustomItemList.eM_energyMulti16_UIV.get(1), - 200, - 8000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - getItemContainer("WetTransformer_UMV_UIV").get(1), - CustomItemList.eM_energyMulti16_UIV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NetherStar, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 6) - }, - Materials.Tungsten.getMolten(9216), - CustomItemList.eM_energyMulti64_UIV.get(1), - 400, - 8000000); - - // Buck Converter IV-UIV + 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), 200, 30720); + //Tesla Primary Coils T6 + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorZPM, 8), + getItemContainer("MicaInsulatorFoil").get(32) + }, Materials.Naquadah.getMolten(144), CustomItemList.tM_TeslaPrimary_6.get(1), 200, 122880); + + //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)}, Materials.Silver.getMolten(144), CustomItemList.eM_dynamoMulti4_IV.get(1), 100, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_LuV_IV.get(1), 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[]{getItemContainer("WetTransformer_LuV_IV").get(1), 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)}, Materials.Silver.getMolten(288), CustomItemList.eM_dynamoMulti4_LuV.get(1), 100, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_ZPM_LuV.get(1), 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, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_ZPM_LuV").get(1), 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, 7680); + + 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)}, Materials.Silver.getMolten(576), CustomItemList.eM_dynamoMulti4_ZPM.get(1), 100, 30720); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_UV_ZPM.get(1), 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[]{getItemContainer("WetTransformer_UV_ZPM").get(1), 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)}, Materials.Silver.getMolten(1152), CustomItemList.eM_dynamoMulti4_UV.get(1), 100, 122880); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_MAX_UV.get(1), 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[]{getItemContainer("WetTransformer_UHV_UV").get(1), 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.SuperconductorUHV, 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[]{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_UIV").get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2)}, Materials.Silver.getMolten(9216), CustomItemList.eM_dynamoMulti4_UIV.get(1), 100, 8000000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UMV_UIV").get(1), CustomItemList.eM_dynamoMulti4_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 4)}, Materials.Electrum.getMolten(9216), CustomItemList.eM_dynamoMulti16_UIV.get(1), 200, 8000000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UMV_UIV").get(1), CustomItemList.eM_dynamoMulti16_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 6)}, Materials.Tungsten.getMolten(9216), CustomItemList.eM_dynamoMulti64_UIV.get(1), 400, 8000000); + + //Energy Hatches IV-UIV + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hatch_Energy_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_energyMulti4_IV.get(1), 100, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_LuV_IV.get(1), CustomItemList.eM_energyMulti4_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_energyMulti16_IV.get(1), 200, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_LuV_IV").get(1), CustomItemList.eM_energyMulti16_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_energyMulti64_IV.get(1), 400, 1920); + + 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, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 2)}, Materials.Silver.getMolten(288), CustomItemList.eM_energyMulti4_LuV.get(1), 100, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_ZPM_LuV.get(1), CustomItemList.eM_energyMulti4_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 4)}, Materials.Electrum.getMolten(288), CustomItemList.eM_energyMulti16_LuV.get(1), 200, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_ZPM_LuV").get(1), CustomItemList.eM_energyMulti16_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.VanadiumGallium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 6)}, Materials.Tungsten.getMolten(288), CustomItemList.eM_energyMulti64_LuV.get(1), 400, 7680); + + 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)}, Materials.Silver.getMolten(576), CustomItemList.eM_energyMulti4_ZPM.get(1), 100, 30720); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_UV_ZPM.get(1), 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, 30720); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UV_ZPM").get(1), 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, 30720); + + 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)}, Materials.Silver.getMolten(1152), CustomItemList.eM_energyMulti4_UV.get(1), 100, 122880); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_MAX_UV.get(1), 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, 122880); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UHV_UV").get(1), 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, 122880); + + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hatch_Energy_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUHV, 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[]{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(2304), 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(2304), 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(4608), 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(4608), 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(4608), CustomItemList.eM_energyMulti64_UEV.get(1), 400, 2000000); + + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hatch_Energy_UIV").get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2)}, Materials.Silver.getMolten(9216), CustomItemList.eM_energyMulti4_UIV.get(1), 100, 8000000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UMV_UIV").get(1), CustomItemList.eM_energyMulti4_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 4)}, Materials.Electrum.getMolten(9216), CustomItemList.eM_energyMulti16_UIV.get(1), 200, 8000000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UMV_UIV").get(1), CustomItemList.eM_energyMulti16_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 6)}, Materials.Tungsten.getMolten(9216), CustomItemList.eM_energyMulti64_UIV.get(1), 400, 8000000); + + //Buck Converter IV-UIV if (Loader.isModLoaded("bartworks")) { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Transformer_LuV_IV.get(1), - getItemContainer("Display").get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 4), - GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 2) - }, - Materials.TungstenSteel.getMolten(288), - CustomItemList.Machine_BuckConverter_IV.get(1), - 100, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Transformer_ZPM_LuV.get(1), - getItemContainer("Display").get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), - GT_OreDictUnificator.get( - OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 2), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NiobiumTitanium, 4), - GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 3) - }, - new FluidStack(FluidRegistry.getFluid("molten.rhodium-plated palladium"), 288), - CustomItemList.Machine_BuckConverter_LuV.get(1), - 100, - 30720); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Transformer_UV_ZPM.get(1), - getItemContainer("Display").get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 4), - GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 4) - }, - Materials.Iridium.getMolten(288), - CustomItemList.Machine_BuckConverter_ZPM.get(1), - 100, - 122880); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Transformer_MAX_UV.get(1), - getItemContainer("Display").get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Naquadah, 4), - GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 5) - }, - Materials.Osmium.getMolten(288), - CustomItemList.Machine_BuckConverter_UV.get(1), - 100, - 500000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - getItemContainer("Transformer_UEV_UHV").get(1), - getItemContainer("Display").get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Infinite, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.ElectrumFlux, 4), - GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 4L, 5) - }, - Materials.Neutronium.getMolten(288), - CustomItemList.Machine_BuckConverter_UHV.get(1), - 100, - 2000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - getItemContainer("Transformer_UIV_UEV").get(1), - getItemContainer("Display").get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 2), - GT_OreDictUnificator.get( - OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 2), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Bedrockium, 4), - GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 8L, 5) - }, - getOrDefault("Bedrockium", Materials.Neutronium).getMolten(288), - CustomItemList.Machine_BuckConverter_UEV.get(1), - 100, - 8000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - getItemContainer("Transformer_UMV_UIV").get(1), - getItemContainer("Display").get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 2), - GT_OreDictUnificator.get( - OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Draconium, 4), - GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 16L, 5) - }, - getOrDefault("BlackPlutonium", Materials.Neutronium).getMolten(288), - CustomItemList.Machine_BuckConverter_UIV.get(1), - 200, - 8000000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_LuV_IV.get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 2)}, Materials.TungstenSteel.getMolten(288), CustomItemList.Machine_BuckConverter_IV.get(1), 100, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_ZPM_LuV.get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NiobiumTitanium, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 3)}, new FluidStack(FluidRegistry.getFluid("molten.rhodium-plated palladium"), 288), CustomItemList.Machine_BuckConverter_LuV.get(1), 100, 30720); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_UV_ZPM.get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 4)}, Materials.Iridium.getMolten(288), CustomItemList.Machine_BuckConverter_ZPM.get(1), 100, 122880); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_MAX_UV.get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Naquadah, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 5)}, Materials.Osmium.getMolten(288), CustomItemList.Machine_BuckConverter_UV.get(1), 100, 500000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UEV_UHV").get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Infinite, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.ElectrumFlux, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 4L, 5)}, Materials.Neutronium.getMolten(288), CustomItemList.Machine_BuckConverter_UHV.get(1), 100, 2000000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UIV_UEV").get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Bedrockium, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 8L, 5)}, getOrDefault("Bedrockium", Materials.Neutronium).getMolten(288), CustomItemList.Machine_BuckConverter_UEV.get(1), 100, 8000000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UMV_UIV").get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Draconium, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 16L, 5)}, getOrDefault("BlackPlutonium", Materials.Neutronium).getMolten(288), CustomItemList.Machine_BuckConverter_UIV.get(1), 200, 8000000); } - // Laser Dynamo IV-UEV 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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), - ItemList.Hatch_Input_Bus_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), - CustomItemList.DATApipe.get(2) - }, - Materials.Iridium.getMolten(1296), - CustomItemList.dataIn_Hatch.get(1), - 200, - 122880); - // Data Output - addAssemblerRecipeWithCleanroom( - new ItemStack[] { - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Hatch_Output_Bus_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), - CustomItemList.DATApipe.get(2) - }, - Materials.Iridium.getMolten(1296), - CustomItemList.dataOut_Hatch.get(1), - 200, - 122880); - - // Rack - addAssemblerRecipeWithCleanroom( - new ItemStack[] { - CustomItemList.eM_Computer_Bus.get(1), - ItemList.Hatch_Input_Bus_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), - CustomItemList.DATApipe.get(4) - }, - Materials.Iridium.getMolten(1296), - CustomItemList.rack_Hatch.get(1), - 800, - 122880); + //Laser Dynamo IV-UEV 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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), + ItemList.Hatch_Input_Bus_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + CustomItemList.DATApipe.get(2) + }, Materials.Iridium.getMolten(1296), CustomItemList.dataIn_Hatch.get(1), 200, 122880); + //Data Output + addAssemblerRecipeWithCleanroom(new ItemStack[]{ + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Hatch_Output_Bus_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + CustomItemList.DATApipe.get(2) + }, Materials.Iridium.getMolten(1296), CustomItemList.dataOut_Hatch.get(1), 200, 122880); - // Object Holder - GT_Values.RA.addAssemblylineRecipe( + //Rack + addAssemblerRecipeWithCleanroom(new ItemStack[]{ + CustomItemList.eM_Computer_Bus.get(1), ItemList.Hatch_Input_Bus_ZPM.get(1), - 10000, - new Object[] { - ItemList.Hatch_Input_Bus_ZPM.get(1), - CustomItemList.eM_Computer_Bus.get(1), - ItemList.Emitter_ZPM.get(8), - ItemList.Robot_Arm_ZPM.get(1), - ItemList.Electric_Motor_ZPM.get(2), - new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 1}, - new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2)}, - new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 16)}, - CustomItemList.DATApipe.get(2), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(500), - Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) - }, - CustomItemList.holder_Hatch.get(1), - 1200, - 100000); - - // Parameterizer - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), - CustomItemList.DATApipe.get(4), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 16), - GT_Utility.getIntegratedCircuit(1), - }, - Materials.Iridium.getMolten(2592), - CustomItemList.Parametrizer_Hatch.get(1), - 800, - 122880); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), - CustomItemList.DATApipe.get(6), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 32), - GT_Utility.getIntegratedCircuit(2), - }, - Materials.Iridium.getMolten(2592), - CustomItemList.ParametrizerX_Hatch.get(1), - 800, - 122880); - - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 1), - CustomItemList.DATApipe.get(8), - ItemList.Cover_Screen.get(2), - new ItemStack(Blocks.stone_button, 64), - GT_Utility.getIntegratedCircuit(3), - }, - Materials.Iridium.getMolten(2592), - CustomItemList.ParametrizerTXT_Hatch.get(1), - 800, - 122880); - // Uncertainty - addAssemblerRecipeWithCleanroom( - new ItemStack[] { - CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), - CustomItemList.DATApipe.get(16), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 16), - GT_Utility.getIntegratedCircuit(4), - }, - Materials.Iridium.getMolten(2592), - CustomItemList.Uncertainty_Hatch.get(1), - 1200, - 122880); - - addAssemblerRecipeWithCleanroom( - new ItemStack[] { - CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 1), - CustomItemList.DATApipe.get(32), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 16), - GT_Utility.getIntegratedCircuit(5), - }, - Materials.Iridium.getMolten(2592), - CustomItemList.UncertaintyX_Hatch.get(1), - 1200, - 122880); - - // Elemental Input - addAssemblerRecipeWithCleanroom( - new ItemStack[] { - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Input_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), - ItemList.Sensor_UV.get(1) - }, - Materials.Osmiridium.getMolten(1296), - CustomItemList.eM_in_UV.get(1), - 800, - 500000); - // Elemental Output - addAssemblerRecipeWithCleanroom( - new ItemStack[] { - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Output_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), - ItemList.Emitter_UV.get(1) - }, - Materials.Osmiridium.getMolten(1296), - CustomItemList.eM_out_UV.get(1), - 800, - 500000); - // Overflow - addAssemblerRecipeWithCleanroom( - new ItemStack[] { - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Muffler_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Naquadah, 1), - 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 - - // 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[] { - ItemList.Machine_HV_Microwave.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16), - ItemList.Upgrade_Overclocker.get(4), - }, - Materials.Copper.getMolten(576), - CustomItemList.Machine_Multi_Microwave.get(1), - 800, - 480); - - // Active Transformer - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - getItemContainer("WetTransformer_ZPM_LuV").get(1), - getItemContainer("HighEnergyFlowCircuit").get(1), - GT_OreDictUnificator.get( - OrePrefixes.wireGt01, getOrDefault("SuperconductorLuV", Materials.Superconductor), 16), - ItemList.valueOf("Circuit_Chip_UHPIC").get(2), - }, - Materials.TungstenSteel.getMolten(576), - CustomItemList.Machine_Multi_Transformer.get(1), - 400, - 30720); - - // Network Switch - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.Machine_Multi_Transformer.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 4), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 64), - CustomItemList.DATApipe.get(4), - }, - Materials.Iridium.getMolten(1296), - CustomItemList.Machine_Multi_Switch.get(1), - 800, - 122880); + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), + CustomItemList.DATApipe.get(4) + }, Materials.Iridium.getMolten(1296), CustomItemList.rack_Hatch.get(1), 800, 122880); - // Quantum Computer - GT_Values.RA.addAssemblylineRecipe( - ItemList.Tool_DataOrb.get(1), - 20000, - new Object[] { - CustomItemList.Machine_Multi_Switch.get(1), - new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 2}, - ItemList.Tool_DataOrb.get(1), - ItemList.Cover_Screen.get(1), - new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUV, 8)}, - CustomItemList.DATApipe.get(8), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(1000), - Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Hydrogen.getGas(1000), - }, - CustomItemList.Machine_Multi_Computer.get(1), - 12000, - 100000); - - // Research Station - GT_Values.RA.addAssemblylineRecipe( - getItemContainer("ScannerZPM").get(1), - 80000, - new Object[] { - CustomItemList.Machine_Multi_Switch.get(1), - ItemList.Sensor_ZPM.get(8), - new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 4}, - ItemList.Field_Generator_ZPM.get(1), - ItemList.Electric_Motor_ZPM.get(2), - new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4)}, - new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 32)}, - CustomItemList.DATApipe.get(16), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(1000), - Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, - CustomItemList.Machine_Multi_Research.get(1), - 12000, - 100000); - - // Matter Junction - TT_recipeAdder.addResearchableAssemblylineRecipe( - CustomItemList.Machine_Multi_Switch.get(1), - 8000, - 32, - 500000, - 4, - new Object[] { - CustomItemList.Machine_Multi_Transformer.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), - ItemList.Robot_Arm_LuV.get(2), - ItemList.Electric_Piston_LuV.get(2), - new Object[] {"circuitSuperconductor", 2}, - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 4), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, - CustomItemList.Machine_Multi_EMjunction.get(1), - 12000, - 100000); + //Object Holder + GT_Values.RA.addAssemblylineRecipe(ItemList.Hatch_Input_Bus_ZPM.get(1), 10000, new Object[]{ + ItemList.Hatch_Input_Bus_ZPM.get(1), + CustomItemList.eM_Computer_Bus.get(1), + ItemList.Emitter_ZPM.get(8), + ItemList.Robot_Arm_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 1}, + new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2)}, + new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 16)}, + CustomItemList.DATApipe.get(2), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(500), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) + }, CustomItemList.holder_Hatch.get(1), 1200, 100000); - // Matter Quantizer - TT_recipeAdder.addResearchableAssemblylineRecipe( + //Parameterizer + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Computer_Casing.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + CustomItemList.DATApipe.get(4), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + GT_Utility.getIntegratedCircuit(1), + }, Materials.Iridium.getMolten(2592), CustomItemList.Parametrizer_Hatch.get(1), 800, 122880); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Computer_Casing.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + CustomItemList.DATApipe.get(6), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 32), + GT_Utility.getIntegratedCircuit(2), + }, Materials.Iridium.getMolten(2592), CustomItemList.ParametrizerX_Hatch.get(1), 800, 122880); + + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Computer_Casing.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 1), + CustomItemList.DATApipe.get(8), + ItemList.Cover_Screen.get(2), + new ItemStack(Blocks.stone_button, 64), + GT_Utility.getIntegratedCircuit(3), + }, Materials.Iridium.getMolten(2592), CustomItemList.ParametrizerTXT_Hatch.get(1), 800, 122880); + //Uncertainty + addAssemblerRecipeWithCleanroom(new ItemStack[]{ + CustomItemList.eM_Computer_Casing.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + CustomItemList.DATApipe.get(16), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + GT_Utility.getIntegratedCircuit(4), + }, Materials.Iridium.getMolten(2592), CustomItemList.Uncertainty_Hatch.get(1), 1200, 122880); + + addAssemblerRecipeWithCleanroom(new ItemStack[]{ + CustomItemList.eM_Computer_Casing.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 1), + CustomItemList.DATApipe.get(32), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + GT_Utility.getIntegratedCircuit(5), + }, Materials.Iridium.getMolten(2592), CustomItemList.UncertaintyX_Hatch.get(1), 1200, 122880); + + //Elemental Input + addAssemblerRecipeWithCleanroom(new ItemStack[]{ + CustomItemList.eM_Containment.get(1), ItemList.Hatch_Input_UV.get(1), - 12000, - 32, - 500000, - 6, - new Object[] { - CustomItemList.Machine_Multi_Transformer.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), - ItemList.Emitter_UV.get(2), - new Object[] {"circuitSuperconductor", 1}, - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, - CustomItemList.Machine_Multi_MatterToEM.get(1), - 12000, - 100000); - - // Matter DeQuantizer - TT_recipeAdder.addResearchableAssemblylineRecipe( + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), + ItemList.Sensor_UV.get(1) + }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_in_UV.get(1), 800, 500000); + //Elemental Output + addAssemblerRecipeWithCleanroom(new ItemStack[]{ + CustomItemList.eM_Containment.get(1), ItemList.Hatch_Output_UV.get(1), - 12000, - 32, - 500000, - 6, - new Object[] { - CustomItemList.Machine_Multi_Transformer.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), - ItemList.Sensor_UV.get(2), - new Object[] {"circuitSuperconductor", 1}, - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, - CustomItemList.Machine_Multi_EMToMatter.get(1), - 12000, - 100000); + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), + ItemList.Emitter_UV.get(1) + }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_out_UV.get(1), 800, 500000); + //Overflow + addAssemblerRecipeWithCleanroom(new ItemStack[]{ + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Muffler_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Naquadah, 1), + 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 + + //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[]{ + ItemList.Machine_HV_Microwave.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16), + ItemList.Upgrade_Overclocker.get(4), + }, Materials.Copper.getMolten(576), CustomItemList.Machine_Multi_Microwave.get(1), 800, 480); + + //Active Transformer + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + getItemContainer("WetTransformer_ZPM_LuV").get(1), + getItemContainer("HighEnergyFlowCircuit").get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, getOrDefault("SuperconductorLuV", Materials.Superconductor), 16), + ItemList.valueOf("Circuit_Chip_UHPIC").get(2), + }, Materials.TungstenSteel.getMolten(576), CustomItemList.Machine_Multi_Transformer.get(1), 400, 30720); + + //Network Switch + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.Machine_Multi_Transformer.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 64), + CustomItemList.DATApipe.get(4), + }, Materials.Iridium.getMolten(1296), CustomItemList.Machine_Multi_Switch.get(1), 800, 122880); + + //Quantum Computer + GT_Values.RA.addAssemblylineRecipe(ItemList.Tool_DataOrb.get(1), 20000, new Object[]{ + CustomItemList.Machine_Multi_Switch.get(1), + new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 2}, + ItemList.Tool_DataOrb.get(1), + ItemList.Cover_Screen.get(1), + new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUV, 8)}, + CustomItemList.DATApipe.get(8), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Hydrogen.getGas(1000), + }, CustomItemList.Machine_Multi_Computer.get(1), 12000, 100000); - // Essentia Quantizer - TT_recipeAdder.addResearchableAssemblylineRecipe( - CustomItemList.Machine_Multi_MatterToEM.get(1), - 15000, - 32, - 500000, - 8, - new Object[] { - CustomItemList.Machine_Multi_MatterToEM.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Neutronium, 4), - ItemList.Emitter_UV.get(2), - new Object[] {"circuitSuperconductor", 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); + //Research Station + GT_Values.RA.addAssemblylineRecipe(getItemContainer("ScannerZPM").get(1), 80000, new Object[]{ + CustomItemList.Machine_Multi_Switch.get(1), + ItemList.Sensor_ZPM.get(8), + new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 4}, + ItemList.Field_Generator_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4)}, + new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 32)}, + CustomItemList.DATApipe.get(16), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_Research.get(1), 12000, 100000); - // Essentia DeQuantizer - TT_recipeAdder.addResearchableAssemblylineRecipe( - CustomItemList.Machine_Multi_EMToMatter.get(1), - 15000, - 32, - 500000, - 8, - new Object[] { - CustomItemList.Machine_Multi_EMToMatter.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Neutronium, 4), - ItemList.Sensor_UV.get(2), - new Object[] {"circuitSuperconductor", 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); + //Matter Junction + TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Switch.get(1), + 8000, 32, 500000, 4, new Object[]{ + CustomItemList.Machine_Multi_Transformer.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), + ItemList.Robot_Arm_LuV.get(2), + ItemList.Electric_Piston_LuV.get(2), + new Object[]{"circuitSuperconductor", 2}, + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 4), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_EMjunction.get(1), 12000, 100000); + + //Matter Quantizer + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Input_UV.get(1), + 12000, 32, 500000, 6, new Object[]{ + CustomItemList.Machine_Multi_Transformer.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), + ItemList.Emitter_UV.get(2), + new Object[]{"circuitSuperconductor", 1}, + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_MatterToEM.get(1), 12000, 100000); + + //Matter DeQuantizer + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Output_UV.get(1), + 12000, 32, 500000, 6, new Object[]{ + CustomItemList.Machine_Multi_Transformer.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), + ItemList.Sensor_UV.get(2), + new Object[]{"circuitSuperconductor", 1}, + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_EMToMatter.get(1), 12000, 100000); + + //Essentia Quantizer + TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_MatterToEM.get(1), + 15000, 32, 500000, 8, new Object[]{ + CustomItemList.Machine_Multi_MatterToEM.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Neutronium, 4), + ItemList.Emitter_UV.get(2), + new Object[]{"circuitSuperconductor", 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 Object[]{ + CustomItemList.Machine_Multi_EMToMatter.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Neutronium, 4), + ItemList.Sensor_UV.get(2), + new Object[]{"circuitSuperconductor", 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[]{ + CustomItemList.Machine_Multi_EMjunction.get(1), + CustomItemList.eM_Computer_Bus.get(4), + ItemList.Field_Generator_UV.get(4), + ItemList.Sensor_UV.get(4), + getItemContainer("NanoCircuit").get(4), + getItemContainer("MysteriousCrystalLens").get(4), + GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Draconium, 4), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(2000), + Materials.Neutronium.getMolten(2592), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), + Materials.Osmiridium.getMolten(1296), + }, CustomItemList.Machine_Multi_Scanner.get(1), 24000, 500000); + + //Multi Infuser + GT_Values.RA.addAssemblylineRecipe(CustomItemList.Machine_Multi_Transformer.get(1), 7500, new ItemStack[]{ + CustomItemList.Machine_Multi_Transformer.get(1), + CustomItemList.eM_Coil.get(8), + CustomItemList.eM_Power.get(8), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), + }, new FluidStack[]{ + Materials.Electrum.getMolten(2592), + Materials.Europium.getMolten(1872), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + }, CustomItemList.Machine_Multi_Infuser.get(1), 8000, 200000); - // EM Scanner - TT_recipeAdder.addResearchableAssemblylineRecipe( - CustomItemList.Machine_Multi_Research.get(1), - 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), - getItemContainer("NanoCircuit").get(4), - getItemContainer("MysteriousCrystalLens").get(4), - GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Draconium, 4), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(2000), - Materials.Neutronium.getMolten(2592), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), - Materials.Osmiridium.getMolten(1296), - }, - CustomItemList.Machine_Multi_Scanner.get(1), - 24000, - 500000); - - // Multi Infuser - GT_Values.RA.addAssemblylineRecipe( - CustomItemList.Machine_Multi_Transformer.get(1), - 7500, - new ItemStack[] { - CustomItemList.Machine_Multi_Transformer.get(1), - CustomItemList.eM_Coil.get(8), - CustomItemList.eM_Power.get(8), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), - }, - new FluidStack[] { - Materials.Electrum.getMolten(2592), - Materials.Europium.getMolten(1872), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - }, - CustomItemList.Machine_Multi_Infuser.get(1), - 8000, - 200000); item_parts_UHV_assline_recipes(); item_parts_UEV_assline_recipes(); @@ -2624,535 +789,386 @@ public class DreamCraftRecipeLoader { add_wireless_energy_recipes(); - // UHV-UMV Energy Hatch & Dynamo - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Hatch_Energy_UV.get(1L), - 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), - new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 2L}, - ItemList.UHV_Coil.get(2L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Electric_Pump_UHV.get(1L) - }, - new FluidStack[] { - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000), - new FluidStack(solderIndalloy, 40 * 144) - }, - ItemList.Hatch_Energy_MAX.get(1L), - 1000, - 2000000); - - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Hatch_Dynamo_UV.get(1L), - 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), - new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 2L}, - ItemList.UHV_Coil.get(2L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Electric_Pump_UHV.get(1L) - }, - new FluidStack[] { - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000), - new FluidStack(solderIndalloy, 40 * 144) - }, - ItemList.Hatch_Dynamo_MAX.get(1L), - 1000, - 2000000); + //UHV-UMV Energy Hatch & Dynamo + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Energy_UV.get(1L), + 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), + new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 2L}, + ItemList.UHV_Coil.get(2L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Electric_Pump_UHV.get(1L)}, + new FluidStack[]{ + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000), + new FluidStack(solderIndalloy, 40*144) + }, ItemList.Hatch_Energy_MAX.get(1L), 1000, 2000000); + + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Dynamo_UV.get(1L), + 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), + new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 2L}, + ItemList.UHV_Coil.get(2L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Electric_Pump_UHV.get(1L)}, + new FluidStack[]{ + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000), + new FluidStack(solderIndalloy, 40*144) + }, + ItemList.Hatch_Dynamo_MAX.get(1L), 1000, 2000000); // UEV Dynamo / energy hatch - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Hatch_Energy_MAX.get(1L), - 48000, - 32, - 100000, - 4, - new Object[] { - getItemContainer("Hull_UEV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUHV, 4L), - ItemList.Circuit_Chip_QPIC.get(4L), - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 2L}, - ItemList.UHV_Coil.get(4L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Electric_Pump_UEV.get(1L) - }, - new FluidStack[] { - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000), - new FluidStack(solderUEV, 20 * 144), - Materials.UUMatter.getFluid(8000L) - }, - getItemContainer("Hatch_Energy_UEV").get(1L), - 1000, - 8000000); + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Energy_MAX.get(1L), + 48000, 32, 100000, 4, new Object[]{ + getItemContainer("Hull_UEV").get(1L), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUHV, 4L), + ItemList.Circuit_Chip_QPIC.get(4L), + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 2L}, + ItemList.UHV_Coil.get(4L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Electric_Pump_UEV.get(1L)}, + new FluidStack[]{ + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000), + new FluidStack(solderUEV, 20*144), + Materials.UUMatter.getFluid(8000L)}, + getItemContainer("Hatch_Energy_UEV").get(1L), 1000, 8000000); + + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Dynamo_MAX.get(1L), + 96000, 64, 200000, 8, new Object[]{ + getItemContainer("Hull_UEV").get(1L), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Longasssuperconductornameforuhvwire, 16L), + ItemList.Circuit_Chip_QPIC.get(4L), + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 2L}, + ItemList.UHV_Coil.get(4L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Electric_Pump_UEV.get(1L)}, + new FluidStack[]{ + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000), + new FluidStack(solderUEV, 20*144), + Materials.UUMatter.getFluid(8000L)}, + getItemContainer("Hatch_Dynamo_UEV").get(1L), 1000, 8000000); + + // UIV Dynamo/energy hatch + TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("Hatch_Energy_UEV").get(1L), + 96_000, 64, 200_000, 8, new Object[]{ + getItemContainer("Hull_UIV").get(1L), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUIV, 2L), + ItemList.Circuit_Chip_QPIC.get(4L), + getItemContainer("NanoCircuit").get(2), + ItemList.UHV_Coil.get(8L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Electric_Pump_UIV.get(1L)}, + new FluidStack[]{ + Materials.SuperCoolant.getFluid(16_000L), + new FluidStack(solderUEV, 20*144), + Materials.UUMatter.getFluid(16_000L)}, + getItemContainer("Hatch_Energy_UIV").get(1L), 1000, 32_000_000); + + TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("Hatch_Dynamo_UEV").get(1L), + 192_000, 128, 400_000, 16, new Object[]{ + getItemContainer("Hull_UIV").get(1L), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUIVBase, 8L), + ItemList.Circuit_Chip_QPIC.get(4L), + getItemContainer("NanoCircuit").get(2), + ItemList.UHV_Coil.get(8L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Electric_Pump_UIV.get(1L)}, + new FluidStack[]{ + Materials.SuperCoolant.getFluid(16_000L), + new FluidStack(solderUEV, 20*144), + Materials.UUMatter.getFluid(16_000L)}, + getItemContainer("Hatch_Dynamo_UIV").get(1L), 1000, 32_000_000); + + // UMV Dynamo/energy hatch + TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("Hatch_Energy_UIV").get(1L), + 192000, 128, 400000, 16, new Object[]{ + getItemContainer("Hull_UMV").get(1L), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUMV, 2L), + ItemList.Circuit_Chip_QPIC.get(4L), + getItemContainer("PikoCircuit").get(2), + ItemList.UHV_Coil.get(16L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Electric_Pump_UMV.get(1L)}, + new FluidStack[]{ + Materials.SuperCoolant.getFluid(32_000L), + new FluidStack(solderUEV, 40*144), + Materials.UUMatter.getFluid(32000L)}, + getItemContainer("Hatch_Energy_UMV").get(1L), 1000, 128_000_000); + + TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("Hatch_Dynamo_UIV").get(1L), + 384000, 256, 800000, 32, new Object[]{ + getItemContainer("Hull_UMV").get(1L), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUMVBase, 8L), + ItemList.Circuit_Chip_QPIC.get(4L), + getItemContainer("PikoCircuit").get(2), + ItemList.UHV_Coil.get(16L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Electric_Pump_UMV.get(1L)}, + new FluidStack[]{ + Materials.SuperCoolant.getFluid(32_000L), + new FluidStack(solderUEV, 40*144), + Materials.UUMatter.getFluid(32000L)}, + getItemContainer("Hatch_Dynamo_UMV").get(1L), 1000, 128_000_000); + + //UHV Circuit Wetwaremainframe + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Circuit_Wetwaresupercomputer.get(1L), + 24000, 64, 50000, 4, new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 2), + ItemList.Circuit_Wetwaresupercomputer.get(2L), + ItemList.ZPM_Coil.get(16L), + new ItemStack[]{ItemList.Circuit_Parts_CapacitorASMD.get(16L), ItemList.Circuit_Parts_CapacitorXSMD.get(4L)}, + new ItemStack[]{ItemList.Circuit_Parts_ResistorASMD.get(16L), ItemList.Circuit_Parts_ResistorXSMD.get(4L)}, + new ItemStack[]{ItemList.Circuit_Parts_TransistorASMD.get(16L), ItemList.Circuit_Parts_TransistorXSMD.get(4L)}, + new ItemStack[]{ItemList.Circuit_Parts_DiodeASMD.get(16L), ItemList.Circuit_Parts_DiodeXSMD.get(4L)}, + ItemList.Circuit_Chip_Ram.get(48L), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 64L), + new Object[]{OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, + }, new FluidStack[]{ + new FluidStack(solderIndalloy, 2880), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 10000), + Materials.Radon.getGas(2500L), + }, ItemList.Circuit_Wetwaremainframe.get(1L), 2000, 300000); - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Hatch_Dynamo_MAX.get(1L), - 96000, - 64, - 200000, - 8, - new Object[] { - getItemContainer("Hull_UEV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Longasssuperconductornameforuhvwire, 16L), - ItemList.Circuit_Chip_QPIC.get(4L), - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 2L}, - ItemList.UHV_Coil.get(4L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Electric_Pump_UEV.get(1L) - }, - new FluidStack[] { - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000), - new FluidStack(solderUEV, 20 * 144), - Materials.UUMatter.getFluid(8000L) - }, - getItemContainer("Hatch_Dynamo_UEV").get(1L), - 1000, - 8000000); + // Bioware circuits. + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Circuit_Biowarecomputer.get(1L), + 48000, 128, 500000, 8, new Object[]{ + ItemList.Circuit_Board_Bio_Ultra.get(2L), + ItemList.Circuit_Biowarecomputer.get(2L), + new ItemStack[]{ItemList.Circuit_Parts_TransistorASMD.get(16L), ItemList.Circuit_Parts_TransistorXSMD.get(4L)}, + new ItemStack[]{ItemList.Circuit_Parts_ResistorASMD.get(16L), ItemList.Circuit_Parts_ResistorXSMD.get(4L)}, + new ItemStack[]{ItemList.Circuit_Parts_CapacitorASMD.get(16L), ItemList.Circuit_Parts_CapacitorXSMD.get(4L)}, + new ItemStack[]{ItemList.Circuit_Parts_DiodeASMD.get(16L), ItemList.Circuit_Parts_DiodeXSMD.get(4L)}, + ItemList.Circuit_Chip_NOR.get(32L), + ItemList.Circuit_Chip_Ram.get(64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.NiobiumTitanium, 32L), + new Object[]{OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, + }, new FluidStack[]{ + new FluidStack(solderUEV, 1440), + Materials.BioMediumSterilized.getFluid(1440L), + Materials.SuperCoolant.getFluid(10_000L), + }, + ItemList.Circuit_Biowaresupercomputer.get(1L), 4000, 500000); - // UIV Dynamo/energy hatch - TT_recipeAdder.addResearchableAssemblylineRecipe( - getItemContainer("Hatch_Energy_UEV").get(1L), - 96_000, - 64, - 200_000, - 8, - new Object[] { - getItemContainer("Hull_UIV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUIV, 2L), - ItemList.Circuit_Chip_QPIC.get(4L), - getItemContainer("NanoCircuit").get(2), - ItemList.UHV_Coil.get(8L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Electric_Pump_UIV.get(1L) - }, - new FluidStack[] { - Materials.SuperCoolant.getFluid(16_000L), - new FluidStack(solderUEV, 20 * 144), - Materials.UUMatter.getFluid(16_000L) - }, - getItemContainer("Hatch_Energy_UIV").get(1L), - 1000, - 32_000_000); + // Bio + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Circuit_Biowaresupercomputer.get(1L), + 96000, 256, 1000000, 16, new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 4L), + ItemList.Circuit_Biowaresupercomputer.get(2L), + ItemList.UV_Coil.get(16L), + new ItemStack[]{ItemList.Circuit_Parts_TransistorASMD.get(24L), ItemList.Circuit_Parts_TransistorXSMD.get(6L)}, + new ItemStack[]{ItemList.Circuit_Parts_ResistorASMD.get(24L), ItemList.Circuit_Parts_ResistorXSMD.get(6L)}, + new ItemStack[]{ItemList.Circuit_Parts_CapacitorASMD.get(24L), ItemList.Circuit_Parts_CapacitorXSMD.get(6L)}, + new ItemStack[]{ItemList.Circuit_Parts_DiodeASMD.get(24L), ItemList.Circuit_Parts_DiodeXSMD.get(6L)}, + ItemList.Circuit_Chip_Ram.get(64L), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 64), + new Object[]{OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Polybenzimidazole, 64) + }, new FluidStack[]{ + new FluidStack(solderUEV, 2880), + Materials.BioMediumSterilized.getFluid(2880L), + Materials.SuperCoolant.getFluid(20_000L), + }, ItemList.Circuit_Biomainframe.get(1L), 6000, 2000000); - TT_recipeAdder.addResearchableAssemblylineRecipe( - getItemContainer("Hatch_Dynamo_UEV").get(1L), - 192_000, - 128, - 400_000, - 16, - new Object[] { - getItemContainer("Hull_UIV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUIVBase, 8L), - ItemList.Circuit_Chip_QPIC.get(4L), - getItemContainer("NanoCircuit").get(2), - ItemList.UHV_Coil.get(8L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Electric_Pump_UIV.get(1L) - }, - new FluidStack[] { - Materials.SuperCoolant.getFluid(16_000L), - new FluidStack(solderUEV, 20 * 144), - Materials.UUMatter.getFluid(16_000L) - }, - getItemContainer("Hatch_Dynamo_UIV").get(1L), - 1000, - 32_000_000); - // UMV Dynamo/energy hatch - TT_recipeAdder.addResearchableAssemblylineRecipe( - getItemContainer("Hatch_Energy_UIV").get(1L), - 192000, - 128, - 400000, - 16, - new Object[] { - getItemContainer("Hull_UMV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUMV, 2L), - ItemList.Circuit_Chip_QPIC.get(4L), - getItemContainer("PikoCircuit").get(2), - ItemList.UHV_Coil.get(16L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Electric_Pump_UMV.get(1L) - }, - new FluidStack[] { - Materials.SuperCoolant.getFluid(32_000L), - new FluidStack(solderUEV, 40 * 144), - Materials.UUMatter.getFluid(32000L) - }, - getItemContainer("Hatch_Energy_UMV").get(1L), - 1000, - 128_000_000); + // GTNH UIV, UMV, UXV Circuits + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Circuit_Biomainframe.get(1L), + 192000, 512, 2000000, 32, new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 8), + ItemList.Circuit_Biomainframe.get(2L), + ItemList.Circuit_Parts_CapacitorXSMD.get(32L), + ItemList.Circuit_Parts_ResistorXSMD.get(32L), + ItemList.Circuit_Parts_TransistorXSMD.get(32L), + ItemList.Circuit_Parts_DiodeXSMD.get(32L), + 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), + new Object[]{OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Polybenzimidazole, 64) + }, new FluidStack[]{ + new FluidStack(solderUEV, 3744), + Materials.Naquadria.getMolten(4032L), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 20000) + }, getItemContainer("NanoCircuit").get(1L), 8000, 32_000_000); + + + TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("NanoCircuit").get(1L), + 384000, 1024, 4000000, 64, new ItemStack[]{ + ItemList.Circuit_Board_Bio_Ultra.get(1L), + getItemContainer("PicoWafer").get(4L), + getItemContainer("NanoCircuit").get(2L), + ItemList.Circuit_Parts_TransistorXSMD.get(48L), + ItemList.Circuit_Parts_ResistorXSMD.get(48L), + ItemList.Circuit_Parts_CapacitorXSMD.get(48L), + ItemList.Circuit_Parts_DiodeXSMD.get(48L), + 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[]{ + new FluidStack(solderUEV, 3744), + Materials.UUMatter.getFluid(8000L), + Materials.Osmium.getMolten(1152L) + }, getItemContainer("PikoCircuit").get(1L), 10000, 128_000_000); + + + TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("PikoCircuit").get(1L), + 720000, 2048, 8000000, 128, new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 16), + getItemContainer("PikoCircuit").get(2L), + ItemList.Circuit_Parts_CapacitorXSMD.get(64L), + ItemList.Circuit_Parts_DiodeXSMD.get(64L), + ItemList.Circuit_Parts_TransistorXSMD.get(64L), + ItemList.Circuit_Parts_ResistorXSMD.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.SpaceTime, 8), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Lanthanum, 64) + }, new FluidStack[]{ + new FluidStack(solderUEV, 3744), + Materials.UUMatter.getFluid(24000L), + Materials.Osmium.getMolten(2304L) + }, getItemContainer("QuantumCircuit").get(1L), 20000, 512_000_000); + + + //Stargate Recipes + if (Loader.isModLoaded("eternalsingularity") && Loader.isModLoaded("SGCraft")) { + TT_recipeAdder.addResearchableAssemblylineRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 1L), + 2_000_000_000, 32768, 500_000_000, 64, new ItemStack[]{ - TT_recipeAdder.addResearchableAssemblylineRecipe( - getItemContainer("Hatch_Dynamo_UIV").get(1L), - 384000, - 256, - 800000, - 32, - new Object[] { - getItemContainer("Hull_UMV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUMVBase, 8L), - ItemList.Circuit_Chip_QPIC.get(4L), - getItemContainer("PikoCircuit").get(2), - ItemList.UHV_Coil.get(16L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Electric_Pump_UMV.get(1L) - }, - new FluidStack[] { - Materials.SuperCoolant.getFluid(32_000L), - new FluidStack(solderUEV, 40 * 144), - Materials.UUMatter.getFluid(32000L) - }, - getItemContainer("Hatch_Dynamo_UMV").get(1L), - 1000, - 128_000_000); + ItemList.Casing_Dim_Bridge.get(64), + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), - // UHV Circuit Wetwaremainframe - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Circuit_Wetwaresupercomputer.get(1L), - 24000, - 64, - 50000, - 4, - new Object[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 2), - ItemList.Circuit_Wetwaresupercomputer.get(2L), - ItemList.ZPM_Coil.get(16L), - new ItemStack[] { - ItemList.Circuit_Parts_CapacitorASMD.get(16L), ItemList.Circuit_Parts_CapacitorXSMD.get(4L) - }, - new ItemStack[] { - ItemList.Circuit_Parts_ResistorASMD.get(16L), ItemList.Circuit_Parts_ResistorXSMD.get(4L) - }, - new ItemStack[] { - ItemList.Circuit_Parts_TransistorASMD.get(16L), ItemList.Circuit_Parts_TransistorXSMD.get(4L) - }, - new ItemStack[] {ItemList.Circuit_Parts_DiodeASMD.get(16L), ItemList.Circuit_Parts_DiodeXSMD.get(4L) - }, - ItemList.Circuit_Chip_Ram.get(48L), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 64L), - new Object[] {OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, - }, - new FluidStack[] { - new FluidStack(solderIndalloy, 2880), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 10000), - Materials.Radon.getGas(2500L), - }, - ItemList.Circuit_Wetwaremainframe.get(1L), - 2000, - 300000); + GT_OreDictUnificator.get(OrePrefixes.block, Materials.SpaceTime, 16L), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Quantum, 16L), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.SpaceTime, 16L), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 16L), - // Bioware circuits. - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Circuit_Biowarecomputer.get(1L), - 48000, - 128, - 500000, - 8, - new Object[] { - ItemList.Circuit_Board_Bio_Ultra.get(2L), - ItemList.Circuit_Biowarecomputer.get(2L), - new ItemStack[] { - ItemList.Circuit_Parts_TransistorASMD.get(16L), ItemList.Circuit_Parts_TransistorXSMD.get(4L) - }, - new ItemStack[] { - ItemList.Circuit_Parts_ResistorASMD.get(16L), ItemList.Circuit_Parts_ResistorXSMD.get(4L) - }, - new ItemStack[] { - ItemList.Circuit_Parts_CapacitorASMD.get(16L), ItemList.Circuit_Parts_CapacitorXSMD.get(4L) - }, - new ItemStack[] {ItemList.Circuit_Parts_DiodeASMD.get(16L), ItemList.Circuit_Parts_DiodeXSMD.get(4L) - }, - ItemList.Circuit_Chip_NOR.get(32L), - ItemList.Circuit_Chip_Ram.get(64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.NiobiumTitanium, 32L), - new Object[] {OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, - }, - new FluidStack[] { - new FluidStack(solderUEV, 1440), - Materials.BioMediumSterilized.getFluid(1440L), - Materials.SuperCoolant.getFluid(10_000L), - }, - ItemList.Circuit_Biowaresupercomputer.get(1L), - 4000, - 500000); + ItemList.Sensor_UMV.get(16L), + ItemList.Emitter_UMV.get(16L), + GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 16L) - // Bio - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Circuit_Biowaresupercomputer.get(1L), - 96000, - 256, - 1000000, - 16, - new Object[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 4L), - ItemList.Circuit_Biowaresupercomputer.get(2L), - ItemList.UV_Coil.get(16L), - new ItemStack[] { - ItemList.Circuit_Parts_TransistorASMD.get(24L), ItemList.Circuit_Parts_TransistorXSMD.get(6L) }, - new ItemStack[] { - ItemList.Circuit_Parts_ResistorASMD.get(24L), ItemList.Circuit_Parts_ResistorXSMD.get(6L) + new FluidStack[]{ + Materials.Neutronium.getMolten(32_768_000L), + Materials.SpaceTime.getMolten(4*36864L), + Materials.SuperconductorUMVBase.getMolten(4*36864L), + Materials.ExcitedDTEC.getFluid(4*36864L) }, - new ItemStack[] { - ItemList.Circuit_Parts_CapacitorASMD.get(24L), ItemList.Circuit_Parts_CapacitorXSMD.get(6L) + getItemContainer("StargateShieldingFoil").get(1L), 72_000, 500_000_000); + + TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("StargateShieldingFoil").get(1L), + 2_000_000_000, 32_768, 500_000_000, 64, new ItemStack[]{ + + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.block, Materials.NaquadahAlloy, 64L), + ItemList.Casing_Dim_Bridge.get(64), + ItemList.Casing_Dim_Bridge.get(64), + + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 16L), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 16L), + GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Ruby, 16L), + GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Jasper, 16L), + + GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Opal, 16L), + GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Sapphire, 16L), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmiridium, 8L), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmiridium, 8L), + + ItemList.Electric_Motor_UMV.get(64L), + ItemList.Electric_Piston_UMV.get(64L), + ItemList.Field_Generator_UMV.get(16L), + getItemContainer("QuantumCircuit").get(1L).splitStack(32), }, - new ItemStack[] {ItemList.Circuit_Parts_DiodeASMD.get(24L), ItemList.Circuit_Parts_DiodeXSMD.get(6L) + new FluidStack[]{ + Materials.Neutronium.getMolten(32_768_000L), + Materials.SpaceTime.getMolten(4*36864L), + Materials.SuperconductorUMVBase.getMolten(4*36864L), + Materials.ExcitedDTEC.getFluid(4*36864L) }, - ItemList.Circuit_Chip_Ram.get(64L), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 64), - new Object[] {OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Polybenzimidazole, 64) - }, - new FluidStack[] { - new FluidStack(solderUEV, 2880), - Materials.BioMediumSterilized.getFluid(2880L), - Materials.SuperCoolant.getFluid(20_000L), - }, - ItemList.Circuit_Biomainframe.get(1L), - 6000, - 2000000); + getItemContainer("StargateChevron").get(1L), 72_000, 500_000_000); - // GTNH UIV, UMV, UXV Circuits - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Circuit_Biomainframe.get(1L), - 192000, - 512, - 2000000, - 32, - new Object[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 8), - ItemList.Circuit_Biomainframe.get(2L), - ItemList.Circuit_Parts_CapacitorXSMD.get(32L), - ItemList.Circuit_Parts_ResistorXSMD.get(32L), - ItemList.Circuit_Parts_TransistorXSMD.get(32L), - ItemList.Circuit_Parts_DiodeXSMD.get(32L), - 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), - new Object[] {OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Polybenzimidazole, 64) - }, - new FluidStack[] { - new FluidStack(solderUEV, 3744), - Materials.Naquadria.getMolten(4032L), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 20000) - }, - getItemContainer("NanoCircuit").get(1L), - 8000, - 32_000_000); + TT_recipeAdder.addResearchableAssemblylineRecipe(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), + 2_000_000_000, 32_768, 500_000_000, 64, new ItemStack[]{ - TT_recipeAdder.addResearchableAssemblylineRecipe( - getItemContainer("NanoCircuit").get(1L), - 384000, - 1024, - 4000000, - 64, - new ItemStack[] { - ItemList.Circuit_Board_Bio_Ultra.get(1L), - getItemContainer("PicoWafer").get(4L), - getItemContainer("NanoCircuit").get(2L), - ItemList.Circuit_Parts_TransistorXSMD.get(48L), - ItemList.Circuit_Parts_ResistorXSMD.get(48L), - ItemList.Circuit_Parts_CapacitorXSMD.get(48L), - ItemList.Circuit_Parts_DiodeXSMD.get(48L), - 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[] { - new FluidStack(solderUEV, 3744), - Materials.UUMatter.getFluid(8000L), - Materials.Osmium.getMolten(1152L) - }, - getItemContainer("PikoCircuit").get(1L), - 10000, - 128_000_000); + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahAlloy, 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.CosmicNeutronium, 64L), - TT_recipeAdder.addResearchableAssemblylineRecipe( - getItemContainer("PikoCircuit").get(1L), - 720000, - 2048, - 8000000, - 128, - new ItemStack[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 16), - getItemContainer("PikoCircuit").get(2L), - ItemList.Circuit_Parts_CapacitorXSMD.get(64L), - ItemList.Circuit_Parts_DiodeXSMD.get(64L), - ItemList.Circuit_Parts_TransistorXSMD.get(64L), - ItemList.Circuit_Parts_ResistorXSMD.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.SpaceTime, 8), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Lanthanum, 64) - }, - new FluidStack[] { - new FluidStack(solderUEV, 3744), - Materials.UUMatter.getFluid(24000L), - Materials.Osmium.getMolten(2304L) - }, - getItemContainer("QuantumCircuit").get(1L), - 20000, - 512_000_000); + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Neutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Osmiridium, 64L), + GT_ModHandler.getModItem("bartworks", "gt.bwMetaGeneratedstickLong", 64L, 39), + GT_ModHandler.getModItem("miscutils", "itemRodLongQuantum", 64L), - // Stargate Recipes - if (Loader.isModLoaded("eternalsingularity") && Loader.isModLoaded("SGCraft")) { - TT_recipeAdder.addResearchableAssemblylineRecipe( - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 1L), - 2_000_000_000, - 32768, - 500_000_000, - 64, - new ItemStack[] { - ItemList.Casing_Dim_Bridge.get(64), - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.block, Materials.SpaceTime, 16L), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Quantum, 16L), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.SpaceTime, 16L), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 16L), - ItemList.Sensor_UMV.get(16L), - ItemList.Emitter_UMV.get(16L), - GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 16L) - }, - new FluidStack[] { - Materials.Neutronium.getMolten(32_768_000L), - Materials.SpaceTime.getMolten(4 * 36864L), - Materials.SuperconductorUMVBase.getMolten(4 * 36864L), - Materials.ExcitedDTEC.getFluid(4 * 36864L) - }, - getItemContainer("StargateShieldingFoil").get(1L), - 72_000, - 500_000_000); + GT_ModHandler.getModItem("miscutils", "itemRodLongHypogen", 64L), + GT_ModHandler.getModItem("miscutils", "itemRodLongCelestialTungsten", 64L), + GT_ModHandler.getModItem("bartworks", "gt.bwMetaGeneratedstickLong", 64L, 10106), + GT_ModHandler.getModItem("miscutils", "itemRodLongAstralTitanium", 64L), - TT_recipeAdder.addResearchableAssemblylineRecipe( - getItemContainer("StargateShieldingFoil").get(1L), - 2_000_000_000, - 32_768, - 500_000_000, - 64, - new ItemStack[] { - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.block, Materials.NaquadahAlloy, 64L), - ItemList.Casing_Dim_Bridge.get(64), - ItemList.Casing_Dim_Bridge.get(64), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 16L), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 16L), - GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Ruby, 16L), - GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Jasper, 16L), - GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Opal, 16L), - GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Sapphire, 16L), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmiridium, 8L), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmiridium, 8L), - ItemList.Electric_Motor_UMV.get(64L), - ItemList.Electric_Piston_UMV.get(64L), - ItemList.Field_Generator_UMV.get(16L), - getItemContainer("QuantumCircuit").get(1L).splitStack(32), - }, - new FluidStack[] { - Materials.Neutronium.getMolten(32_768_000L), - Materials.SpaceTime.getMolten(4 * 36864L), - Materials.SuperconductorUMVBase.getMolten(4 * 36864L), - Materials.ExcitedDTEC.getFluid(4 * 36864L) - }, - getItemContainer("StargateChevron").get(1L), - 72_000, - 500_000_000); + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SuperconductorUMVBase, 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Sunnarium, 64L), + GT_ModHandler.getModItem("miscutils", "itemRodLongAbyssalAlloy", 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TranscendentMetal, 64L), - TT_recipeAdder.addResearchableAssemblylineRecipe( - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), - 2_000_000_000, - 32_768, - 500_000_000, - 64, - new ItemStack[] { - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahAlloy, 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.CosmicNeutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Neutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Osmiridium, 64L), - GT_ModHandler.getModItem("bartworks", "gt.bwMetaGeneratedstickLong", 64L, 39), - GT_ModHandler.getModItem("miscutils", "itemRodLongQuantum", 64L), - GT_ModHandler.getModItem("miscutils", "itemRodLongHypogen", 64L), - GT_ModHandler.getModItem("miscutils", "itemRodLongCelestialTungsten", 64L), - GT_ModHandler.getModItem("bartworks", "gt.bwMetaGeneratedstickLong", 64L, 10106), - GT_ModHandler.getModItem("miscutils", "itemRodLongAstralTitanium", 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SuperconductorUMVBase, 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Sunnarium, 64L), - GT_ModHandler.getModItem("miscutils", "itemRodLongAbyssalAlloy", 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TranscendentMetal, 64L), }, - new FluidStack[] { - Materials.Neutronium.getMolten(32_768_000L), - Materials.SpaceTime.getMolten(4 * 36864L), - Materials.SuperconductorUMVBase.getMolten(4 * 36864L), - Materials.ExcitedDTEC.getFluid(4 * 36864L) + new FluidStack[]{ + Materials.Neutronium.getMolten(32_768_000L), + Materials.SpaceTime.getMolten(4*36864L), + Materials.SuperconductorUMVBase.getMolten(4*36864L), + Materials.ExcitedDTEC.getFluid(4*36864L) }, - getItemContainer("StargateFramePart").get(1L), - 72_000, - 500_000_000); + getItemContainer("StargateFramePart").get(1L), 72_000, 500_000_000); } // Dimensionally Transcendent Plasma Forge (DTPF) @@ -3160,990 +1176,724 @@ public class DreamCraftRecipeLoader { if (Loader.isModLoaded("eternalsingularity")) { // DTPF Controller. - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Casing_Dim_Bridge.get(1), - 32_000_000, - 4096, - 32_000_000, - 1, - new Object[] { - ItemList.Casing_Dim_Bridge.get(4), - GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 16L, 12730), - getItemContainer("Hatch_Energy_UEV").get(4L), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUEV, 6), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 20), - ItemList.Field_Generator_UEV.get(4), - GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 4L), - GT_ModHandler.getModItem("miscutils", "MU-metaitem.01", 1L, 32105), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 64L), - ItemList.Electric_Pump_UEV.get(4), - ItemList.ZPM3.get(1), - GT_ModHandler.getModItem("IC2", "blockMachine2", 1, 0) + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Dim_Bridge.get(1), + 32_000_000, 4096, 32_000_000, 1, new Object[]{ + ItemList.Casing_Dim_Bridge.get(4), + GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 16L, 12730), + getItemContainer("Hatch_Energy_UEV").get(4L), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUEV, 6), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 20), + ItemList.Field_Generator_UEV.get(4), + GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 4L), + GT_ModHandler.getModItem("miscutils", "MU-metaitem.01", 1L, 32105), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 64L), + ItemList.Electric_Pump_UEV.get(4), + ItemList.ZPM3.get(1), + GT_ModHandler.getModItem("IC2", "blockMachine2", 1, 0) }, - new FluidStack[] { - new FluidStack(FluidRegistry.getFluid("oganesson"), 128000), - new FluidStack(solderUEV, 36864 * 2), - new FluidStack(FluidRegistry.getFluid("molten.californium"), 36864), - Materials.NaquadahEnriched.getMolten(36864L) + new FluidStack[]{ + new FluidStack(FluidRegistry.getFluid("oganesson"), 128000), + new FluidStack(solderUEV, 36864*2), + new FluidStack(FluidRegistry.getFluid("molten.californium"), 36864), + Materials.NaquadahEnriched.getMolten(36864L) }, - ItemList.Machine_Multi_PlasmaForge.get(1), - 72000, - 32_000_000); + ItemList.Machine_Multi_PlasmaForge.get(1), 72000, 32_000_000); // Dimensional bridge. - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Casing_Dim_Injector.get(1), - 8_000_000, - 4096, - 32_000_000, - 1, - new Object[] { - ItemList.Casing_Dim_Trans.get(1), - ItemList.MicroTransmitter_UV.get(1), - new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 2L}, - GT_ModHandler.getModItem("Avaritia", "Singularity", 2L, 0), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 6), - GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 2, 0), - ItemList.Field_Generator_UHV.get(1L) + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Dim_Injector.get(1), + 8_000_000, 4096, 32_000_000, 1, new Object[]{ + ItemList.Casing_Dim_Trans.get(1), + ItemList.MicroTransmitter_UV.get(1), + new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 2L}, + GT_ModHandler.getModItem("Avaritia", "Singularity", 2L, 0), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 6), + GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 2, 0), + ItemList.Field_Generator_UHV.get(1L) }, - new FluidStack[] { - new FluidStack(FluidRegistry.getFluid("oganesson"), 8000), - new FluidStack(solderUEV, 1152 * 8), - Materials.NaquadahEnriched.getMolten(1296L) + new FluidStack[]{ + new FluidStack(FluidRegistry.getFluid("oganesson"), 8000), + new FluidStack(solderUEV, 1152*8), + Materials.NaquadahEnriched.getMolten(1296L) }, - ItemList.Casing_Dim_Bridge.get(1), - 240 * 20, - 32_000_000); + ItemList.Casing_Dim_Bridge.get(1), 240*20, 32_000_000); // Dimensional injection casing. - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Casing_Dim_Trans.get(1), - 2_000_000, - 2048, - 32_000_000, - 1, - new Object[] { - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 4), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Ledox, 1), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.CallistoIce, 1), - ItemList.Reactor_Coolant_Sp_6.get(1L), - GT_ModHandler.getModItem("miscutils", "itemScrewLaurenium", 12, 0), - new Object[] {OrePrefixes.circuit.get(Materials.Elite), 2L}, - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 2), - ItemList.Super_Chest_IV.get(1), - ItemList.Super_Tank_IV.get(1), - GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 1, 0), + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Dim_Trans.get(1), + 2_000_000, 2048, 32_000_000, 1, new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 4), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Ledox, 1), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.CallistoIce, 1), + ItemList.Reactor_Coolant_Sp_6.get(1L), + GT_ModHandler.getModItem("miscutils", "itemScrewLaurenium", 12, 0), + new Object[]{OrePrefixes.circuit.get(Materials.Elite), 2L}, + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 2), + ItemList.Super_Chest_IV.get(1), + ItemList.Super_Tank_IV.get(1), + GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 1, 0), }, - new FluidStack[] { - new FluidStack(FluidRegistry.getFluid("oganesson"), 1000), - new FluidStack(solderUEV, 576), - Materials.NaquadahEnriched.getMolten(288L) + new FluidStack[]{ + new FluidStack(FluidRegistry.getFluid("oganesson"), 1000), + new FluidStack(solderUEV, 576), + Materials.NaquadahEnriched.getMolten(288L) }, - ItemList.Casing_Dim_Injector.get(1), - 20 * 20, - 32_000_000); + ItemList.Casing_Dim_Injector.get(1), 20*20, 32_000_000); // Dimensionally Transcendent Casing. - TT_recipeAdder.addResearchableAssemblylineRecipe( - GT_ModHandler.getModItem("Avaritia", "Singularity", 1L, 0), - 2_000_000, - 2048, - 32_000_000, - 1, - new Object[] { - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 6), - GT_ModHandler.getModItem("miscutils", "itemScrewLaurenium", 12, 0), - ItemList.Reactor_Coolant_Sp_6.get(1L), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 1), + TT_recipeAdder.addResearchableAssemblylineRecipe(GT_ModHandler.getModItem("Avaritia", "Singularity", 1L, 0), + 2_000_000, 2048, 32_000_000, 1, new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 6), + GT_ModHandler.getModItem("miscutils", "itemScrewLaurenium", 12, 0), + ItemList.Reactor_Coolant_Sp_6.get(1L), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 1), }, - new FluidStack[] { - new FluidStack(FluidRegistry.getFluid("oganesson"), 500), - new FluidStack(solderUEV, 288), - Materials.NaquadahEnriched.getMolten(144L) + new FluidStack[]{ + new FluidStack(FluidRegistry.getFluid("oganesson"), 500), + new FluidStack(solderUEV, 288), + Materials.NaquadahEnriched.getMolten(144L) }, - ItemList.Casing_Dim_Trans.get(1), - 20 * 20, - 32_000_000); - } - - Fluid oganesson = FluidRegistry.getFluid("oganesson"); - // Deep Dark Portal - TT_recipeAdder.addResearchableAssemblylineRecipe( - GT_ModHandler.getModItem("dreamcraft", "item.HeavyDutyPlateTier8", 1, 0), - 16_777_216, - 2048, - 2_000_000, - 64, - new Object[] { - GT_ModHandler.getModItem("ExtraUtilities", "cobblestone_compressed", 1, 7), - GT_ModHandler.getModItem("IC2", "blockMachine2", 1, 0), - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 4L), - new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 1}, - new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 1}, - new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 1}, - new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 1}, - GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 32, 0), - ItemList.Robot_Arm_UMV.get(4), - ItemList.Emitter_UMV.get(4), - ItemList.Sensor_UMV.get(4), - }, - new FluidStack[] { - oganesson != null ? new FluidStack(oganesson, 50000) : null, - Materials.Infinity.getMolten(144L * 512), - Materials.Cheese.getMolten(232000L), - }, - ItemList.Block_BedrockiumCompressed.get(1), - 10000, - 5000000); + ItemList.Casing_Dim_Trans.get(1), 20*20, 32_000_000); - // Debug maintenance hatch - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Hatch_AutoMaintenance.get(1L), - 2764800, - 128, - 500000, - 6, - new Object[] { - ItemList.Hatch_AutoMaintenance.get(1L), - ItemList.Robot_Arm_UV.get(1L), - ItemList.Electric_Pump_UV.get(1L), - ItemList.Conveyor_Module_UV.get(1L), - new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 4L}, - ItemList.Energy_LapotronicOrb2.get(1L), - ItemList.Duct_Tape.get(64L), - ItemList.Duct_Tape.get(64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64L), - }, - new FluidStack[] { - Materials.Lubricant.getFluid(256000), new FluidStack(solderIndalloy, 1296), - }, - CustomItemList.hatch_CreativeMaintenance.get(1), - 6000, - 500000); - // Batteries - 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), 1L}, - new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 1L}, - new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 1L}, - new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 1L}, - ItemList.Energy_Cluster.get(8L), - ItemList.Field_Generator_UV.get(2), - ItemList.Circuit_Wafer_HPIC.get(64), - ItemList.Circuit_Wafer_HPIC.get(64), - ItemList.Circuit_Parts_DiodeASMD.get(32), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 32), - }, - new FluidStack[] { - new FluidStack(solderIndalloy, 2880), 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[] { - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L), - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, - ItemList.ZPM2.get(8), - ItemList.Field_Generator_UHV.get(4), - ItemList.Circuit_Wafer_UHPIC.get(64), - ItemList.Circuit_Wafer_UHPIC.get(64), - ItemList.Circuit_Wafer_SoC2.get(32), - ItemList.Circuit_Parts_DiodeASMD.get(64), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 64), - }, - new FluidStack[] { - new FluidStack(solderUEV, 4608), - Materials.Naquadria.getMolten(9216), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000) - }, - ItemList.ZPM3.get(1), - 4000, - 1600000); + Fluid oganesson = FluidRegistry.getFluid("oganesson"); + //Deep Dark Portal + TT_recipeAdder.addResearchableAssemblylineRecipe(GT_ModHandler.getModItem("dreamcraft", "item.HeavyDutyPlateTier8", 1, 0), + 16_777_216, 2048, 2_000_000, 64, new Object[]{ + GT_ModHandler.getModItem("ExtraUtilities", "cobblestone_compressed", 1, 7), + GT_ModHandler.getModItem("IC2", "blockMachine2", 1, 0), + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 4L), + new Object[]{OrePrefixes.circuit.get(Materials.Quantum), 1}, + new Object[]{OrePrefixes.circuit.get(Materials.Quantum), 1}, + new Object[]{OrePrefixes.circuit.get(Materials.Quantum), 1}, + new Object[]{OrePrefixes.circuit.get(Materials.Quantum), 1}, + GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 32, 0), + ItemList.Robot_Arm_UMV.get(4), + ItemList.Emitter_UMV.get(4), + ItemList.Sensor_UMV.get(4), + }, new FluidStack[]{ + oganesson != null ? new FluidStack(oganesson, 50000) : null, + Materials.Infinity.getMolten(144L*512), + Materials.Cheese.getMolten(232000L), + }, ItemList.Block_BedrockiumCompressed.get(1), 10000, 5000000); + + //Debug maintenance hatch + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_AutoMaintenance.get(1L), + 2764800, 128, 500000, 6, new Object[]{ + ItemList.Hatch_AutoMaintenance.get(1L), + ItemList.Robot_Arm_UV.get(1L), + ItemList.Electric_Pump_UV.get(1L), + ItemList.Conveyor_Module_UV.get(1L), + new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 4L}, + ItemList.Energy_LapotronicOrb2.get(1L), + ItemList.Duct_Tape.get(64L), + ItemList.Duct_Tape.get(64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64L), + }, new FluidStack[]{ + Materials.Lubricant.getFluid(256000), + new FluidStack(solderIndalloy, 1296), + }, CustomItemList.hatch_CreativeMaintenance.get(1), 6000, 500000); + + //Batteries + 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), 1L}, + new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L}, + new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L}, + new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L}, + ItemList.Energy_Cluster.get(8L), + ItemList.Field_Generator_UV.get(2), + ItemList.Circuit_Wafer_HPIC.get(64), + ItemList.Circuit_Wafer_HPIC.get(64), + ItemList.Circuit_Parts_DiodeASMD.get(32), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 32), + }, new FluidStack[]{ + new FluidStack(solderIndalloy, 2880), + 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[]{ + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L), + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, + ItemList.ZPM2.get(8), + ItemList.Field_Generator_UHV.get(4), + ItemList.Circuit_Wafer_UHPIC.get(64), + ItemList.Circuit_Wafer_UHPIC.get(64), + ItemList.Circuit_Wafer_SoC2.get(32), + ItemList.Circuit_Parts_DiodeASMD.get(64), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 64), + }, new FluidStack[]{ + new FluidStack(solderUEV, 4608), + Materials.Naquadria.getMolten(9216), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000) + }, ItemList.ZPM3.get(1), 4000, 1600000); // MK4 Computer - TT_recipeAdder.addResearchableAssemblylineRecipe( - GregtechItemList.Compressed_Fusion_Reactor.get(1), - 320000, - 512, - 2000000, - 1, - new Object[] { - GregtechItemList.Casing_Fusion_Internal.get(1), - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Neutronium, 4), - ItemList.Field_Generator_UHV.get(2), - ItemList.Circuit_Wafer_QPIC.get(64), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Longasssuperconductornameforuhvwire, 32), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(50000), - ALLOY.CINOBITE.getFluidStack(9216), - ALLOY.OCTIRON.getFluidStack(9216), - ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(9216), - }, - GregtechItemList.FusionComputer_UV2.get(1), - 6000, - 2000000); + TT_recipeAdder.addResearchableAssemblylineRecipe(GregtechItemList.Compressed_Fusion_Reactor.get(1), + 320000, 512, 2000000, 1, new Object[]{ + GregtechItemList.Casing_Fusion_Internal.get(1), + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Neutronium, 4), + ItemList.Field_Generator_UHV.get(2), + ItemList.Circuit_Wafer_QPIC.get(64), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Longasssuperconductornameforuhvwire, 32), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(50000), + ALLOY.CINOBITE.getFluidStack(9216), + ALLOY.OCTIRON.getFluidStack(9216), + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(9216), + }, GregtechItemList.FusionComputer_UV2.get(1), 6000, 2000000); + // MK4 Coils - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Casing_Fusion_Coil.get(1L), - 160000, - 512, - 2000000, - 1, - new Object[] { - ItemList.Energy_LapotronicOrb2.get(16L), - new Object[] {OrePrefixes.circuit.get(Materials.Master), 16L}, - new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 8L}, - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), - ItemList.Emitter_UHV.get(1), - ItemList.Sensor_UHV.get(1), - ItemList.Casing_Fusion_Coil.get(1L), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(8000L), - ALLOY.CINOBITE.getFluidStack(2304), - ALLOY.OCTIRON.getFluidStack(2304), - ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(2304), - }, - GregtechItemList.Casing_Fusion_Internal.get(1), - 1200, - 2000000); + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Fusion_Coil.get(1L), + 160000, 512, 2000000, 1, new Object[]{ + ItemList.Energy_LapotronicOrb2.get(16L), + new Object[]{OrePrefixes.circuit.get(Materials.Master), 16L}, + new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 8L}, + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), + ItemList.Emitter_UHV.get(1), + ItemList.Sensor_UHV.get(1), + ItemList.Casing_Fusion_Coil.get(1L), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(8000L), + ALLOY.CINOBITE.getFluidStack(2304), + ALLOY.OCTIRON.getFluidStack(2304), + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(2304), + }, GregtechItemList.Casing_Fusion_Internal.get(1), 1200, 2000000); // MK4 Casing - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Casing_Fusion2.get(1L), - 80000, - 512, - 2000000, - 1, - new Object[] { - new Object[] {OrePrefixes.circuit.get(Materials.Data), 16L}, - new Object[] {OrePrefixes.circuit.get(Materials.Elite), 8L}, - GT_OreDictUnificator.get(OrePrefixes.block, Materials.TungstenCarbide, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), - ItemList.Electric_Motor_UHV.get(2), - ItemList.Electric_Piston_UHV.get(1), - ItemList.Casing_Fusion2.get(1L), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(1000L), - ALLOY.CINOBITE.getFluidStack(576), - ALLOY.OCTIRON.getFluidStack(576), - ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(576), - }, - GregtechItemList.Casing_Fusion_External.get(1), - 300, - 2000000); + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Fusion2.get(1L), + 80000, 512, 2000000, 1, new Object[]{ + new Object[]{OrePrefixes.circuit.get(Materials.Data), 16L}, + new Object[]{OrePrefixes.circuit.get(Materials.Elite), 8L}, + GT_OreDictUnificator.get(OrePrefixes.block, Materials.TungstenCarbide, 8), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), + ItemList.Electric_Motor_UHV.get(2), + ItemList.Electric_Piston_UHV.get(1), + ItemList.Casing_Fusion2.get(1L), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000L), + ALLOY.CINOBITE.getFluidStack(576), + ALLOY.OCTIRON.getFluidStack(576), + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(576), + }, GregtechItemList.Casing_Fusion_External.get(1), 300, 2000000); // Draconic Evolution Fusion Crafter Controller - if (Loader.isModLoaded("AWWayofTime") && Loader.isModLoaded("EMT")) { - TT_recipeAdder.addResearchableAssemblylineRecipe( - GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 8), - 16_777_216, - 1024, - 2_000_000, - 8, - new Object[] { - GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 10783), - GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 8), - GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsBotania.GaiaSpirit, 1L), - ItemList.Casing_Coil_AwakenedDraconium.get(8L), - ItemList.Electric_Motor_UHV.get(8L), - ItemList.Robot_Arm_UHV.get(4L), - new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 4}, - ItemList.Gravistar.get(4, new Object() {}), - GT_ModHandler.getModItem("Thaumcraft", "ItemEldritchObject", 1, 3), - GT_ModHandler.getModItem("AWWayofTime", "bloodMagicBaseItems", 8, 29), - GT_ModHandler.getModItem("AWWayofTime", "bloodMagicBaseItems", 8, 28), - }, - new FluidStack[] { - new FluidStack(solderIndalloy, 2880), - Materials.Void.getMolten(2880L), - Materials.DraconiumAwakened.getMolten(1440), - }, - GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 5001), - 1500, - 8_000_000); - } - - // region singleblocks - - // Tesla Transceiver LV 1A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] {ItemList.Battery_Buffer_1by1_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)}, + if (Loader.isModLoaded("AWWayofTime")&&Loader.isModLoaded("EMT")){ + TT_recipeAdder.addResearchableAssemblylineRecipe(GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 8), + 16_777_216, 1024, 2_000_000, 8, new Object[]{ + GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 10783), + GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 8), + GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsBotania.GaiaSpirit, 1L), + ItemList.Casing_Coil_AwakenedDraconium.get(8L), + ItemList.Electric_Motor_UHV.get(8L), + ItemList.Robot_Arm_UHV.get(4L), + new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4}, + ItemList.Gravistar.get(4, new Object(){}), + GT_ModHandler.getModItem("Thaumcraft", "ItemEldritchObject", 1, 3), + GT_ModHandler.getModItem("AWWayofTime", "bloodMagicBaseItems", 8, 29), + GT_ModHandler.getModItem("AWWayofTime", "bloodMagicBaseItems", 8, 28), + }, new FluidStack[]{ + new FluidStack(solderIndalloy, 2880), + Materials.Void.getMolten(2880L), + Materials.DraconiumAwakened.getMolten(1440), + }, GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 5001), 1500, 8_000_000); + } + + //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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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); + CustomItemList.Machine_TeslaCoil_4by4_IV.get(1), 400, 7680); - // endregion + //endregion - // region components + //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); + //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 + //endregion - // region items + //region items // Parametrizer Memory Card - GT_Values.RA.addCircuitAssemblerRecipe( - new ItemStack[] { - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 2), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, 4), - }, - Materials.Plastic.getMolten(72), - CustomItemList.parametrizerMemory.get(1), - 200, - 480, - true); - - // 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); - // LuV Tesla Capacitor - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.HSSG, 4), - GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 14), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 28), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 28), - }, - Materials.Epoxid.getMolten(432), - CustomItemList.teslaCapacitor.getWithDamage(1, 5), - 320, - 30720); - // ZPM Tesla Capacitor - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 4), - GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 16), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 32), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 32), - }, - Materials.Epoxid.getMolten(504), - CustomItemList.teslaCapacitor.getWithDamage(1, 6), - 320, - 122880); - // 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); - - // Ender Fluid Link Cover - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Enderium, 4), - ItemList.Sensor_LuV.get(1), - ItemList.Emitter_LuV.get(1), - ItemList.Electric_Pump_LuV.get(1), - }, - Materials.Chrome.getMolten(288), - CustomItemList.enderLinkFluidCover.getWithDamage(1, 0), - 320, - 30720); - - // Power Pass Upgrade Cover - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] {CustomItemList.Machine_Multi_Transformer.get(1), GT_Utility.getIntegratedCircuit(1)}, - null, - CustomItemList.powerPassUpgradeCover.getWithDamage(1, 0), - 320, - 30720); - // endregion - - // region recycling - - // LV Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 0), + GT_Values.RA.addCircuitAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, 4), + }, Materials.Plastic.getMolten(72), CustomItemList.parametrizerMemory.get(1), 200, 480, true); + + //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), - 300, - 2); - // MV Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 1), + 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), - 300, - 2); - // HV Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 2), + 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), - 300, - 2); - // EV Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 3), + 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), - 300, - 2); - // IV Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 4), + 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), - 300, - 2); - // LuV Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 5), + 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); + //LuV Tesla Capacitor + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.HSSG, 4), GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 14), - 300, - 2); - // ZPM Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 6), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 28), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 28), + }, Materials.Epoxid.getMolten(432), CustomItemList.teslaCapacitor.getWithDamage(1, 5), 320, 30720); + //ZPM Tesla Capacitor + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 4), GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 16), - 300, - 2); - - // endregion + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 32), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 32), + }, Materials.Epoxid.getMolten(504), CustomItemList.teslaCapacitor.getWithDamage(1, 6), 320, 122880); + //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); + + //Ender Fluid Link Cover + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Enderium, 4), + ItemList.Sensor_LuV.get(1), + ItemList.Emitter_LuV.get(1), + ItemList.Electric_Pump_LuV.get(1), + }, Materials.Chrome.getMolten(288), CustomItemList.enderLinkFluidCover.getWithDamage(1, 0), 320, 30720); + + //Power Pass Upgrade Cover + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.Machine_Multi_Transformer.get(1), + GT_Utility.getIntegratedCircuit(1) + }, null, CustomItemList.powerPassUpgradeCover.getWithDamage(1, 0), 320, 30720); + //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); + //LuV Tesla Capacitor + GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 5), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 14), 300, 2); + //ZPM Tesla Capacitor + GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 6), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 16), 300, 2); + + //endregion register_machine_EM_behaviours(); } @@ -4154,9 +1904,7 @@ public class DreamCraftRecipeLoader { // ------------------------- Set up information ------------------------- // ---------------------------------------------------------------------- - Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null - ? FluidRegistry.getFluid("molten.indalloy140") - : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null ? FluidRegistry.getFluid("molten.indalloy140") : FluidRegistry.getFluid("molten.solderingalloy"); int total_computation = 24000; int comp_per_second = 32; @@ -4172,215 +1920,280 @@ public class DreamCraftRecipeLoader { // ------------------------------------------------------------- + + // ------------------------- UHV Motor ------------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Electric_Motor_UV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - 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) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + 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[]{ + fluid_0, + fluid_1, + fluid_2 }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + ItemList.Electric_Motor_UHV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // --------------------- UHV Electric Pump --------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Electric_Pump_UV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - 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), - new Object[] {OrePrefixes.ring.get(Materials.AnySyntheticRubber), 32L}, - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.CosmicNeutronium, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 2L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + 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), + new Object[]{OrePrefixes.ring.get(Materials.AnySyntheticRubber), 32L}, + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.CosmicNeutronium, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 2L) }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2 + }, + ItemList.Electric_Pump_UHV.get(1), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // ----------------------- UHV Conveyor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Conveyor_Module_UV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - 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 Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 40L} + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + 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 Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 40L} + }, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2 }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + ItemList.Conveyor_Module_UHV.get(1), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // -------------------- UHV Robot Arm -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Robot_Arm_UV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + 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) + 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[]{ + fluid_0, + fluid_1, + fluid_2 }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + ItemList.Robot_Arm_UHV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // -------------------- UHV Electric Piston -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Electric_Piston_UV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - 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) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + 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[] {fluid_0, fluid_1, fluid_2}, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2 + }, + ItemList.Electric_Piston_UHV.get(1), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // ------------------------ UHV Emitter ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Emitter_UV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), - ItemList.Electric_Motor_UHV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.CosmicNeutronium, 8L), - ItemList.Gravistar.get(8L), - new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 4L}, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 7L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), + ItemList.Electric_Motor_UHV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.CosmicNeutronium, 8L), + ItemList.Gravistar.get(8L), + new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4L}, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 7L) + }, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2 }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + ItemList.Emitter_UHV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // ------------------------ UHV Sensor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Sensor_UV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), - ItemList.Electric_Motor_UHV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 8L), - ItemList.Gravistar.get(8L), - new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 4L}, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 7L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), + ItemList.Electric_Motor_UHV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 8L), + ItemList.Gravistar.get(8L), + new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4L}, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 7L) }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2 + }, + ItemList.Sensor_UHV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // --------------------------------------------------------------------- + + // ------------------------ UHV Field Generator ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Field_Generator_UV.get(1), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 6L), - ItemList.Gravistar.get(4L), - ItemList.Emitter_UHV.get(4L), - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 4L}, - 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, 8L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 6L), + ItemList.Gravistar.get(4L), + ItemList.Emitter_UHV.get(4L), + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 4L}, + 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, 8L) + }, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2 }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + ItemList.Field_Generator_UHV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); + } private void item_parts_UEV_assline_recipes() { @@ -4389,9 +2202,7 @@ public class DreamCraftRecipeLoader { // ------------------------- Set up information ------------------------- // ---------------------------------------------------------------------- - Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null - ? FluidRegistry.getFluid("molten.mutatedlivingsolder") - : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null ? FluidRegistry.getFluid("molten.mutatedlivingsolder") : FluidRegistry.getFluid("molten.solderingalloy"); int total_computation = 48_000; int comp_per_second = 64; @@ -4407,216 +2218,278 @@ public class DreamCraftRecipeLoader { // ------------------------------------------------------------- + + // ------------------------- UEV Motor ------------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Electric_Motor_UHV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - 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), - 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) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + 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), + 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[] {fluid_0, fluid_1, fluid_2}, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2 + }, + ItemList.Electric_Motor_UEV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // --------------------- UEV Electric Pump --------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Electric_Pump_UHV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - 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), - new Object[] {OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L}, - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Infinity, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 2L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + 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), + new Object[]{OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L}, + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Infinity, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 2L) + }, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2 }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + ItemList.Electric_Pump_UEV.get(1), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // ----------------------- UEV Conveyor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Conveyor_Module_UHV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - 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 Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L}, - new Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L} + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + 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 Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L}, + new Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L} }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2 + }, + ItemList.Conveyor_Module_UEV.get(1), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // -------------------- UEV Robot Arm -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Robot_Arm_UHV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + 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) + 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[]{ + fluid_0, + fluid_1, + fluid_2 }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + ItemList.Robot_Arm_UEV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // -------------------- UEV Electric Piston -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Electric_Piston_UHV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - 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) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + 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[]{ + fluid_0, + fluid_1, + fluid_2 }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + ItemList.Electric_Piston_UEV.get(1), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // ------------------------ UEV Emitter ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Emitter_UHV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), - ItemList.Electric_Motor_UEV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Infinity, 16L), - ItemList.Gravistar.get(16L), - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 4L}, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 7L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), + ItemList.Electric_Motor_UEV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Infinity, 16L), + ItemList.Gravistar.get(16L), + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 4L}, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 7L) }, - new FluidStack[] {fluid_0, fluid_1}, + + new FluidStack[]{ + fluid_0, + fluid_1 + }, + ItemList.Emitter_UEV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // ------------------------ UEV Sensor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Sensor_UHV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), - ItemList.Electric_Motor_UEV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 8L), - ItemList.Gravistar.get(16), - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 4L}, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 7L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), + ItemList.Electric_Motor_UEV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 8L), + ItemList.Gravistar.get(16), + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 4L}, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 7L) + }, + + new FluidStack[]{ + fluid_0, + fluid_1 }, - new FluidStack[] {fluid_0, fluid_1}, + ItemList.Sensor_UEV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // --------------------------------------------------------------------- + + // ------------------------ UEV Field Generator ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Field_Generator_UHV.get(1), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 6L), - ItemList.Gravistar.get(8L), - ItemList.Emitter_UEV.get(4L), - new Object[] {OrePrefixes.circuit.get(Materials.Nano), 4}, - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 8L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 6L), + ItemList.Gravistar.get(8L), + ItemList.Emitter_UEV.get(4L), + new Object[]{OrePrefixes.circuit.get(Materials.Nano), 4}, + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 8L) }, - new FluidStack[] {fluid_0, fluid_1}, + + new FluidStack[]{ + fluid_0, + fluid_1 + }, + ItemList.Field_Generator_UEV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); + } private void item_parts_UIV_assline_recipes() { @@ -4625,9 +2498,7 @@ public class DreamCraftRecipeLoader { // ------------------------- Set up information ------------------------- // ---------------------------------------------------------------------- - Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null - ? FluidRegistry.getFluid("molten.mutatedlivingsolder") - : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null ? FluidRegistry.getFluid("molten.mutatedlivingsolder") : FluidRegistry.getFluid("molten.solderingalloy"); int total_computation = 96_000; int comp_per_second = 128; @@ -4643,217 +2514,278 @@ public class DreamCraftRecipeLoader { // ------------------------------------------------------------- + + // ------------------------- UIV Motor ------------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Electric_Motor_UEV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new ItemStack[] { - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 16L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TranscendentMetal, 16L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TranscendentMetal, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.TranscendentMetal, 32L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 16L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TranscendentMetal, 16L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TranscendentMetal, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.TranscendentMetal, 32L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L) + }, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2 }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + ItemList.Electric_Motor_UIV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // --------------------- UIV Electric Pump --------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Electric_Pump_UEV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - ItemList.Electric_Motor_UIV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.DraconiumAwakened, 2L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 4L), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TranscendentMetal, 16L), - new Object[] {OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L}, - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.TranscendentMetal, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + ItemList.Electric_Motor_UIV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.DraconiumAwakened, 2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 4L), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TranscendentMetal, 16L), + new Object[]{OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L}, + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.TranscendentMetal, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L) }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2 + }, + ItemList.Electric_Pump_UIV.get(1), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // ----------------------- UIV Conveyor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Conveyor_Module_UEV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - ItemList.Electric_Motor_UIV.get(2L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 2L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TranscendentMetal, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.TranscendentMetal, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L), - new Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L}, - new Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L} + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + ItemList.Electric_Motor_UIV.get(2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 2L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TranscendentMetal, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.TranscendentMetal, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L), + new Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L}, + new Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L} + }, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2 }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + ItemList.Conveyor_Module_UIV.get(1), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // -------------------- UIV Robot Arm -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Robot_Arm_UEV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + new Object[] { - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TranscendentMetal, 8L), - GT_OreDictUnificator.get(OrePrefixes.gear, Materials.TranscendentMetal, 2L), - GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.TranscendentMetal, 6L), - ItemList.Electric_Motor_UIV.get(2L), - ItemList.Electric_Piston_UIV.get(1L), - new Object[] {OrePrefixes.circuit.get(Materials.Nano), 2L}, - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 4L}, - new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 8L}, - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 6L) + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TranscendentMetal, 8L), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.TranscendentMetal, 2L), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.TranscendentMetal, 6L), + ItemList.Electric_Motor_UIV.get(2L), + ItemList.Electric_Piston_UIV.get(1L), + new Object[]{OrePrefixes.circuit.get(Materials.Nano), 2L}, + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 4L}, + new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 8L}, + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 6L) + }, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2 }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + ItemList.Robot_Arm_UIV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // -------------------- UIV Electric Piston -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Electric_Piston_UEV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new ItemStack[] { - ItemList.Electric_Motor_UIV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 6L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TranscendentMetal, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.TranscendentMetal, 64L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TranscendentMetal, 8L), - GT_OreDictUnificator.get(OrePrefixes.gear, Materials.TranscendentMetal, 2L), - GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.TranscendentMetal, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 4L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new ItemStack[]{ + ItemList.Electric_Motor_UIV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 6L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TranscendentMetal, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.TranscendentMetal, 64L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TranscendentMetal, 8L), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.TranscendentMetal, 2L), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.TranscendentMetal, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 4L) }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2 + }, + ItemList.Electric_Piston_UIV.get(1), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // ------------------------ UIV Emitter ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Emitter_UEV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 1L), - ItemList.Electric_Motor_UIV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TranscendentMetal, 16L), - ItemList.Gravistar.get(32L), - new Object[] {OrePrefixes.circuit.get(Materials.Nano), 4L}, - GT_ModHandler.getModItem("miscutils", "itemFoilArceusAlloy2B", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilLafiumCompound", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilCinobiteA243", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilPikyonium64B", 64, 0), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 7L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 1L), + ItemList.Electric_Motor_UIV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TranscendentMetal, 16L), + ItemList.Gravistar.get(32L), + new Object[]{OrePrefixes.circuit.get(Materials.Nano), 4L}, + GT_ModHandler.getModItem("miscutils", "itemFoilArceusAlloy2B", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilLafiumCompound", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilCinobiteA243", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilPikyonium64B", 64, 0), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 7L) + }, + + new FluidStack[]{ + fluid_0, + fluid_1 }, - new FluidStack[] {fluid_0, fluid_1}, + ItemList.Emitter_UIV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // ------------------------ UIV Sensor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Sensor_UEV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 1L), - ItemList.Electric_Motor_UIV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 8L), - ItemList.Gravistar.get(32), - new Object[] {OrePrefixes.circuit.get(Materials.Nano), 4L}, - GT_ModHandler.getModItem("miscutils", "itemFoilArceusAlloy2B", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilLafiumCompound", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilCinobiteA243", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilPikyonium64B", 64, 0), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 7L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 1L), + ItemList.Electric_Motor_UIV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 8L), + ItemList.Gravistar.get(32), + new Object[]{OrePrefixes.circuit.get(Materials.Nano), 4L}, + GT_ModHandler.getModItem("miscutils", "itemFoilArceusAlloy2B", 64, 0), + GT_ModHandler.getModItem("miscutils","itemFoilLafiumCompound", 64, 0), + GT_ModHandler.getModItem("miscutils","itemFoilCinobiteA243", 64, 0), + GT_ModHandler.getModItem("miscutils","itemFoilPikyonium64B", 64, 0), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 7L) }, - new FluidStack[] {fluid_0, fluid_1}, + + new FluidStack[]{ + fluid_0, + fluid_1 + }, + ItemList.Sensor_UIV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // --------------------------------------------------------------------- + + // ------------------------ UIV Field Generator ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Field_Generator_UEV.get(1), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 6L), - ItemList.Gravistar.get(32), - ItemList.Emitter_UIV.get(4L), - new Object[] {OrePrefixes.circuit.get(Materials.Piko), 4}, - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 8L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 6L), + ItemList.Gravistar.get(32), + ItemList.Emitter_UIV.get(4L), + new Object[]{OrePrefixes.circuit.get(Materials.Piko), 4}, + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 8L) + }, + + new FluidStack[]{ + fluid_0, + fluid_1 }, - new FluidStack[] {fluid_0, fluid_1}, + ItemList.Field_Generator_UIV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // --------------------------------------------------------------------- @@ -4865,9 +2797,7 @@ public class DreamCraftRecipeLoader { // ------------------------- Set up information ------------------------- // ---------------------------------------------------------------------- - Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null - ? FluidRegistry.getFluid("molten.mutatedlivingsolder") - : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null ? FluidRegistry.getFluid("molten.mutatedlivingsolder") : FluidRegistry.getFluid("molten.solderingalloy"); int total_computation = 192_000; int comp_per_second = 256; @@ -4884,217 +2814,286 @@ public class DreamCraftRecipeLoader { // ------------------------------------------------------------- + + // ------------------------- UMV Motor ------------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Electric_Motor_UIV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new ItemStack[] { - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 32L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 16L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 32L), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 32L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 16L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 32L), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L) + }, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2, + fluid_3 }, - new FluidStack[] {fluid_0, fluid_1, fluid_2, fluid_3}, + ItemList.Electric_Motor_UMV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // --------------------- UMV Electric Pump --------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Electric_Pump_UIV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - ItemList.Electric_Motor_UMV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Infinity, 2L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 4L), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 16L), - new Object[] {OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L}, - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.SpaceTime, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + ItemList.Electric_Motor_UMV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Infinity, 2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 4L), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 16L), + new Object[]{OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L}, + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.SpaceTime, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L) + }, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2, + fluid_3 }, - new FluidStack[] {fluid_0, fluid_1, fluid_2, fluid_3}, + ItemList.Electric_Pump_UMV.get(1), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // ----------------------- UMV Conveyor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Conveyor_Module_UIV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - ItemList.Electric_Motor_UMV.get(2L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 2L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L), - new Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L}, - new Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L} + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + ItemList.Electric_Motor_UMV.get(2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 2L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L), + new Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L}, + new Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L} + }, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2, + fluid_3 }, - new FluidStack[] {fluid_0, fluid_1, fluid_2, fluid_3}, + ItemList.Conveyor_Module_UMV.get(1), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // -------------------- UMV Robot Arm -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Robot_Arm_UIV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + new Object[] { - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 8L), - GT_OreDictUnificator.get(OrePrefixes.gear, Materials.SpaceTime, 2L), - GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.SpaceTime, 6L), - ItemList.Electric_Motor_UMV.get(2L), - ItemList.Electric_Piston_UMV.get(1L), - new Object[] {OrePrefixes.circuit.get(Materials.Piko), 2L}, - new Object[] {OrePrefixes.circuit.get(Materials.Nano), 4L}, - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 8L}, - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 6L) + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 8L), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.SpaceTime, 2L), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.SpaceTime, 6L), + ItemList.Electric_Motor_UMV.get(2L), + ItemList.Electric_Piston_UMV.get(1L), + new Object[]{OrePrefixes.circuit.get(Materials.Piko), 2L}, + new Object[]{OrePrefixes.circuit.get(Materials.Nano), 4L}, + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 8L}, + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 6L) }, - new FluidStack[] {fluid_0, fluid_1, fluid_2, fluid_3}, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2, + fluid_3 + }, + ItemList.Robot_Arm_UMV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // -------------------- UMV Electric Piston -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Electric_Piston_UIV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new ItemStack[] { - ItemList.Electric_Motor_UMV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 6L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 64L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SpaceTime, 8L), - GT_OreDictUnificator.get(OrePrefixes.gear, Materials.SpaceTime, 2L), - GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.SpaceTime, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 4L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new ItemStack[]{ + ItemList.Electric_Motor_UMV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 6L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 64L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SpaceTime, 8L), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.SpaceTime, 2L), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.SpaceTime, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 4L) + }, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2, + fluid_3 }, - new FluidStack[] {fluid_0, fluid_1, fluid_2, fluid_3}, + ItemList.Electric_Piston_UMV.get(1), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // ------------------------ UMV Emitter ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Emitter_UIV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), - ItemList.Electric_Motor_UMV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SpaceTime, 16L), - ItemList.Gravistar.get(64), - new Object[] {OrePrefixes.circuit.get(Materials.Piko), 4L}, - GT_ModHandler.getModItem("miscutils", "itemFoilCelestialTungsten", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilQuantum", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilAstralTitanium", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilTitansteel", 64, 0), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 7L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), + ItemList.Electric_Motor_UMV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SpaceTime, 16L), + ItemList.Gravistar.get(64), + new Object[]{OrePrefixes.circuit.get(Materials.Piko), 4L}, + GT_ModHandler.getModItem("miscutils", "itemFoilCelestialTungsten", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilQuantum", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilAstralTitanium", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilTitansteel", 64, 0), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 7L) + }, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2 }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + ItemList.Emitter_UMV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // ------------------------------------------------------------- + + // ------------------------ UMV Sensor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Sensor_UIV.get(1L), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), - ItemList.Electric_Motor_UMV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 8L), - ItemList.Gravistar.get(64), - new Object[] {OrePrefixes.circuit.get(Materials.Piko), 4L}, - GT_ModHandler.getModItem("miscutils", "itemFoilCelestialTungsten", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilQuantum", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilAstralTitanium", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilTitansteel", 64, 0), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 7L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), + ItemList.Electric_Motor_UMV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 8L), + ItemList.Gravistar.get(64), + new Object[]{OrePrefixes.circuit.get(Materials.Piko), 4L}, + GT_ModHandler.getModItem("miscutils", "itemFoilCelestialTungsten", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilQuantum", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilAstralTitanium", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilTitansteel", 64, 0), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 7L) + }, + + new FluidStack[] { + fluid_0, + fluid_1, + fluid_2 }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + ItemList.Sensor_UMV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // --------------------------------------------------------------------- + + // ------------------------ UMV Field Generator ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Field_Generator_UIV.get(1), - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 6L), - ItemList.Gravistar.get(8L), - ItemList.Emitter_UMV.get(4L), - new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 4}, - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 8L) + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 6L), + ItemList.Gravistar.get(8L), + ItemList.Emitter_UMV.get(4L), + new Object[]{OrePrefixes.circuit.get(Materials.Quantum), 4}, + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 8L) }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + + new FluidStack[]{ + fluid_0, + fluid_1, + fluid_2 + }, + ItemList.Field_Generator_UMV.get(1L), - crafting_time_in_ticks, - crafting_eu_per_tick); + + crafting_time_in_ticks, crafting_eu_per_tick); // --------------------------------------------------------------------- @@ -5102,11 +3101,9 @@ public class DreamCraftRecipeLoader { private void add_wireless_energy_recipes() { - Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null - ? FluidRegistry.getFluid("molten.mutatedlivingsolder") - : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null ? FluidRegistry.getFluid("molten.mutatedlivingsolder") : FluidRegistry.getFluid("molten.solderingalloy"); - int recipe_duration_ticks = 20 * 20; + int recipe_duration_ticks = 20*20; int recipe_eu_per_tick = 128_000_000; int research_eu_per_tick = 128_000_000; @@ -5115,207 +3112,176 @@ public class DreamCraftRecipeLoader { int total_computation = 500_000; ItemStack[] energy_hatches = { - ItemList.Hatch_Energy_ULV.get(1), - ItemList.Hatch_Energy_LV.get(1), - ItemList.Hatch_Energy_MV.get(1), - ItemList.Hatch_Energy_HV.get(1), - ItemList.Hatch_Energy_EV.get(1), - ItemList.Hatch_Energy_IV.get(1), - ItemList.Hatch_Energy_LuV.get(1), - ItemList.Hatch_Energy_ZPM.get(1), - ItemList.Hatch_Energy_UV.get(1), - ItemList.Hatch_Energy_MAX.get(1), - getItemContainer("Hatch_Energy_UEV").get(1L), - getItemContainer("Hatch_Energy_UIV").get(1L), - getItemContainer("Hatch_Energy_UMV").get(1L) + ItemList.Hatch_Energy_ULV.get(1), + ItemList.Hatch_Energy_LV.get(1), + ItemList.Hatch_Energy_MV.get(1), + ItemList.Hatch_Energy_HV.get(1), + ItemList.Hatch_Energy_EV.get(1), + ItemList.Hatch_Energy_IV.get(1), + ItemList.Hatch_Energy_LuV.get(1), + ItemList.Hatch_Energy_ZPM.get(1), + ItemList.Hatch_Energy_UV.get(1), + ItemList.Hatch_Energy_MAX.get(1), + getItemContainer("Hatch_Energy_UEV").get(1L), + getItemContainer("Hatch_Energy_UIV").get(1L), + getItemContainer("Hatch_Energy_UMV").get(1L) }; ItemStack[] dynamo_hatches = { - ItemList.Hatch_Dynamo_ULV.get(1), - ItemList.Hatch_Dynamo_LV.get(1), - ItemList.Hatch_Dynamo_MV.get(1), - ItemList.Hatch_Dynamo_HV.get(1), - ItemList.Hatch_Dynamo_EV.get(1), - ItemList.Hatch_Dynamo_IV.get(1), - ItemList.Hatch_Dynamo_LuV.get(1), - ItemList.Hatch_Dynamo_ZPM.get(1), - ItemList.Hatch_Dynamo_UV.get(1), - ItemList.Hatch_Dynamo_MAX.get(1), - getItemContainer("Hatch_Dynamo_UEV").get(1L), - getItemContainer("Hatch_Dynamo_UIV").get(1L), - getItemContainer("Hatch_Dynamo_UMV").get(1L) + ItemList.Hatch_Dynamo_ULV.get(1), + ItemList.Hatch_Dynamo_LV.get(1), + ItemList.Hatch_Dynamo_MV.get(1), + ItemList.Hatch_Dynamo_HV.get(1), + ItemList.Hatch_Dynamo_EV.get(1), + ItemList.Hatch_Dynamo_IV.get(1), + ItemList.Hatch_Dynamo_LuV.get(1), + ItemList.Hatch_Dynamo_ZPM.get(1), + ItemList.Hatch_Dynamo_UV.get(1), + ItemList.Hatch_Dynamo_MAX.get(1), + getItemContainer("Hatch_Dynamo_UEV").get(1L), + getItemContainer("Hatch_Dynamo_UIV").get(1L), + getItemContainer("Hatch_Dynamo_UMV").get(1L) }; Object[] circuits_tier_plus_two = { - new Object[] {OrePrefixes.circuit.get(Materials.Good), 1L}, // MV - new Object[] {OrePrefixes.circuit.get(Materials.Advanced), 1L}, // HV - new Object[] {OrePrefixes.circuit.get(Materials.Data), 1L}, // EV - new Object[] {OrePrefixes.circuit.get(Materials.Elite), 1L}, // IV - new Object[] {OrePrefixes.circuit.get(Materials.Master), 1L}, // LuV - new Object[] {OrePrefixes.circuit.get(Materials.Ultimate), 1L}, // ZPM - new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 1L}, // UV - new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 1L}, // UHV - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, // UEV - new Object[] {OrePrefixes.circuit.get(Materials.Nano), 1L}, // UIV - new Object[] {OrePrefixes.circuit.get(Materials.Piko), 1L}, // UMV - new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 1L}, // UXV - new Object[] {OrePrefixes.circuit.get(Materials.Transcendent), 1L}, // MAX + new Object[]{OrePrefixes.circuit.get(Materials.Good), 1L}, // MV + new Object[]{OrePrefixes.circuit.get(Materials.Advanced), 1L}, // HV + new Object[]{OrePrefixes.circuit.get(Materials.Data), 1L}, // EV + new Object[]{OrePrefixes.circuit.get(Materials.Elite), 1L}, // IV + new Object[]{OrePrefixes.circuit.get(Materials.Master), 1L}, // LuV + new Object[]{OrePrefixes.circuit.get(Materials.Ultimate), 1L}, // ZPM + new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 1L}, // UV + new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L}, // UHV + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, // UEV + new Object[]{OrePrefixes.circuit.get(Materials.Nano), 1L}, // UIV + new Object[]{OrePrefixes.circuit.get(Materials.Piko), 1L}, // UMV + new Object[]{OrePrefixes.circuit.get(Materials.Quantum), 1L}, // UXV + new Object[]{OrePrefixes.circuit.get(Materials.Transcendent), 1L}, // MAX }; ItemStack[] wireless_hatches = { - ItemList.Wireless_Hatch_Energy_ULV.get(1), - ItemList.Wireless_Hatch_Energy_LV.get(1), - ItemList.Wireless_Hatch_Energy_MV.get(1), - ItemList.Wireless_Hatch_Energy_HV.get(1), - ItemList.Wireless_Hatch_Energy_EV.get(1), - ItemList.Wireless_Hatch_Energy_IV.get(1), - ItemList.Wireless_Hatch_Energy_LuV.get(1), - ItemList.Wireless_Hatch_Energy_ZPM.get(1), - ItemList.Wireless_Hatch_Energy_UV.get(1), - ItemList.Wireless_Hatch_Energy_UHV.get(1), - ItemList.Wireless_Hatch_Energy_UEV.get(1), - ItemList.Wireless_Hatch_Energy_UIV.get(1), - ItemList.Wireless_Hatch_Energy_UMV.get(1), + ItemList.Wireless_Hatch_Energy_ULV.get(1), + ItemList.Wireless_Hatch_Energy_LV.get(1), + ItemList.Wireless_Hatch_Energy_MV.get(1), + ItemList.Wireless_Hatch_Energy_HV.get(1), + ItemList.Wireless_Hatch_Energy_EV.get(1), + ItemList.Wireless_Hatch_Energy_IV.get(1), + ItemList.Wireless_Hatch_Energy_LuV.get(1), + ItemList.Wireless_Hatch_Energy_ZPM.get(1), + ItemList.Wireless_Hatch_Energy_UV.get(1), + ItemList.Wireless_Hatch_Energy_UHV.get(1), + ItemList.Wireless_Hatch_Energy_UEV.get(1), + ItemList.Wireless_Hatch_Energy_UIV.get(1), + ItemList.Wireless_Hatch_Energy_UMV.get(1), }; ItemStack[] wireless_dynamos = { - ItemList.Wireless_Dynamo_Energy_ULV.get(1), - ItemList.Wireless_Dynamo_Energy_LV.get(1), - ItemList.Wireless_Dynamo_Energy_MV.get(1), - ItemList.Wireless_Dynamo_Energy_HV.get(1), - ItemList.Wireless_Dynamo_Energy_EV.get(1), - ItemList.Wireless_Dynamo_Energy_IV.get(1), - ItemList.Wireless_Dynamo_Energy_LuV.get(1), - ItemList.Wireless_Dynamo_Energy_ZPM.get(1), - ItemList.Wireless_Dynamo_Energy_UV.get(1), - ItemList.Wireless_Dynamo_Energy_UHV.get(1), - ItemList.Wireless_Dynamo_Energy_UEV.get(1), - ItemList.Wireless_Dynamo_Energy_UIV.get(1), - ItemList.Wireless_Dynamo_Energy_UMV.get(1), + ItemList.Wireless_Dynamo_Energy_ULV.get(1), + ItemList.Wireless_Dynamo_Energy_LV.get(1), + ItemList.Wireless_Dynamo_Energy_MV.get(1), + ItemList.Wireless_Dynamo_Energy_HV.get(1), + ItemList.Wireless_Dynamo_Energy_EV.get(1), + ItemList.Wireless_Dynamo_Energy_IV.get(1), + ItemList.Wireless_Dynamo_Energy_LuV.get(1), + ItemList.Wireless_Dynamo_Energy_ZPM.get(1), + ItemList.Wireless_Dynamo_Energy_UV.get(1), + ItemList.Wireless_Dynamo_Energy_UHV.get(1), + ItemList.Wireless_Dynamo_Energy_UEV.get(1), + ItemList.Wireless_Dynamo_Energy_UIV.get(1), + ItemList.Wireless_Dynamo_Energy_UMV.get(1), }; // ------------------------ Wireless EU hatches ------------------------ - for (int i = 0; i < wireless_hatches.length; i++) { + for(int i = 0; i < wireless_hatches.length; i++) { TT_recipeAdder.addResearchableAssemblylineRecipe( - (i == 0) ? ItemList.Tesseract.get(1) : wireless_hatches[i - 1], - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - energy_hatches[i], - GT_ModHandler.getModItem("GoodGenerator", "compactFusionCoil", 1), - ItemList.Casing_Coil_Superconductor.get(1), - CustomItemList.Machine_Multi_Transformer.get(1), - CustomItemList.eM_Power.get(2), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SpaceTime, 2), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 1), - circuits_tier_plus_two[i], - ItemList.EnergisedTesseract.get(1) + + (i==0) ? ItemList.Tesseract.get(1) : wireless_hatches[i-1], + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + energy_hatches[i], + GT_ModHandler.getModItem("GoodGenerator", "compactFusionCoil", 1), + ItemList.Casing_Coil_Superconductor.get(1), + CustomItemList.Machine_Multi_Transformer.get(1), + CustomItemList.eM_Power.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SpaceTime, 2), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 1), + circuits_tier_plus_two[i], + ItemList.EnergisedTesseract.get(1) }, - new FluidStack[] {new FluidStack(solderUEV, 1296), Materials.ExcitedDTEC.getFluid(500L)}, + + new FluidStack[]{ + new FluidStack(solderUEV, 1296), + Materials.ExcitedDTEC.getFluid(500L) + }, + wireless_hatches[i], - recipe_duration_ticks, - recipe_eu_per_tick); + + recipe_duration_ticks, recipe_eu_per_tick); } // ------------------------ Wireless EU dynamos ------------------------ - for (int i = 0; i < wireless_hatches.length; i++) { + for(int i = 0; i < wireless_hatches.length; i++) { TT_recipeAdder.addResearchableAssemblylineRecipe( - (i == 0) ? ItemList.EnergisedTesseract.get(1) : wireless_dynamos[i - 1], - total_computation, - comp_per_second, - research_eu_per_tick, - research_amperage, - new Object[] { - dynamo_hatches[i], - GT_ModHandler.getModItem("GoodGenerator", "compactFusionCoil", 1), - ItemList.Casing_Coil_Superconductor.get(1), - CustomItemList.Machine_Multi_Transformer.get(1), - CustomItemList.eM_Power.get(2), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SpaceTime, 2), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 1), - circuits_tier_plus_two[i], - ItemList.EnergisedTesseract.get(1) + + (i==0) ? ItemList.EnergisedTesseract.get(1) : wireless_dynamos[i-1], + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + dynamo_hatches[i], + GT_ModHandler.getModItem("GoodGenerator", "compactFusionCoil", 1), + ItemList.Casing_Coil_Superconductor.get(1), + CustomItemList.Machine_Multi_Transformer.get(1), + CustomItemList.eM_Power.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SpaceTime, 2), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 1), + circuits_tier_plus_two[i], + ItemList.EnergisedTesseract.get(1) }, - new FluidStack[] {new FluidStack(solderUEV, 1296), Materials.ExcitedDTEC.getFluid(500L)}, + + new FluidStack[]{ + new FluidStack(solderUEV, 1296), + Materials.ExcitedDTEC.getFluid(500L) + }, + wireless_dynamos[i], - recipe_duration_ticks, - recipe_eu_per_tick); + + recipe_duration_ticks, recipe_eu_per_tick); } } 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)); + 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 b08480fe8a..90274c69e6 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 @@ -1,8 +1,5 @@ package com.github.technus.tectech.compatibility.dreamcraft; -import static gregtech.api.GregTech_API.METATILEENTITIES; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.CustomItemList; @@ -15,32 +12,36 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicHull; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock; +import net.minecraft.util.EnumChatFormatting; + import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; -import net.minecraft.util.EnumChatFormatting; + +import static gregtech.api.GregTech_API.METATILEENTITIES; +import static net.minecraft.util.StatCollector.translateToLocal; public class NoDreamCraftMachineLoader implements Runnable { - public static final String imagination = EnumChatFormatting.RESET + "You just need " - + EnumChatFormatting.DARK_PURPLE + "I" - + EnumChatFormatting.LIGHT_PURPLE + "m" - + EnumChatFormatting.DARK_RED + "a" - + EnumChatFormatting.RED + "g" - + EnumChatFormatting.YELLOW + "i" - + EnumChatFormatting.GREEN + "n" - + EnumChatFormatting.AQUA + "a" - + EnumChatFormatting.DARK_AQUA + "t" - + EnumChatFormatting.BLUE + "i" - + EnumChatFormatting.DARK_BLUE + "o" - + EnumChatFormatting.DARK_PURPLE + "n" - + EnumChatFormatting.RESET + " to use this."; + public final static String imagination = EnumChatFormatting.RESET + + "You just need " + EnumChatFormatting.DARK_PURPLE + + "I" + EnumChatFormatting.LIGHT_PURPLE + + "m" + EnumChatFormatting.DARK_RED + + "a" + EnumChatFormatting.RED + + "g" + EnumChatFormatting.YELLOW + + "i" + EnumChatFormatting.GREEN + + "n" + EnumChatFormatting.AQUA + + "a" + EnumChatFormatting.DARK_AQUA + + "t" + EnumChatFormatting.BLUE + + "i" + EnumChatFormatting.DARK_BLUE + + "o" + EnumChatFormatting.DARK_PURPLE + + "n" + EnumChatFormatting.RESET + + " to use this."; @Override public void run() { try { CustomItemList.WetTransformer_LV_ULV.set(new GT_MetaTileEntity_WetTransformer( - 12000, "wettransformer.tier.00", "Ultra Low Voltage Power Transformer", 0) - .getStackForm(1L)); // LV -> ULV (Use Soft Mallet to invert) + 12000, "wettransformer.tier.00", "Ultra Low Voltage Power Transformer", 0).getStackForm(1L));//LV -> ULV (Use Soft Mallet to invert) } catch (IllegalArgumentException e) { System.out.println(METATILEENTITIES[12000].getClass().getCanonicalName()); TecTech.LOGGER.error(e); @@ -48,61 +49,47 @@ public class NoDreamCraftMachineLoader implements Runnable { 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) - .getStackForm(1L)); // MV -> LV (Use Soft Mallet to invert) + CustomItemList.WetTransformer_MV_LV.set(new GT_MetaTileEntity_WetTransformer( + 12001, "wetransformer.tier.01", "Low Voltage Power Transformer", 1).getStackForm(1L));//MV -> LV (Use Soft Mallet to invert) CustomItemList.WetTransformer_HV_MV.set(new GT_MetaTileEntity_WetTransformer( - 12002, "wettransformer.tier.02", "Medium Voltage Power Transformer", 2) - .getStackForm(1L)); // HV -> MV (Use Soft Mallet to invert) + 12002, "wettransformer.tier.02", "Medium Voltage Power Transformer", 2).getStackForm(1L));//HV -> MV (Use Soft Mallet to invert) CustomItemList.WetTransformer_EV_HV.set(new GT_MetaTileEntity_WetTransformer( - 12003, "wettransformer.tier.03", "High Voltage Power Transformer", 3) - .getStackForm(1L)); // EV -> HV (Use Soft Mallet to invert) + 12003, "wettransformer.tier.03", "High Voltage Power Transformer", 3).getStackForm(1L));//EV -> HV (Use Soft Mallet to invert) - CustomItemList.WetTransformer_IV_EV.set( - new GT_MetaTileEntity_WetTransformer(12004, "wettransformer.tier.04", "Extreme Power Transformer", 4) - .getStackForm(1L)); // IV -> EV (Use Soft Mallet to invert) + CustomItemList.WetTransformer_IV_EV.set(new GT_MetaTileEntity_WetTransformer( + 12004, "wettransformer.tier.04", "Extreme Power Transformer", 4).getStackForm(1L));//IV -> EV (Use Soft Mallet to invert) - CustomItemList.WetTransformer_LuV_IV.set( - new GT_MetaTileEntity_WetTransformer(12005, "wettransformer.tier.05", "Insane Power Transformer", 5) - .getStackForm(1L)); // LuV -> IV (Use Soft Mallet to invert) + CustomItemList.WetTransformer_LuV_IV.set(new GT_MetaTileEntity_WetTransformer( + 12005, "wettransformer.tier.05", "Insane Power Transformer", 5).getStackForm(1L));//LuV -> IV (Use Soft Mallet to invert) - CustomItemList.WetTransformer_ZPM_LuV.set( - new GT_MetaTileEntity_WetTransformer(12006, "wettransformer.tier.06", "Ludicrous Power Transformer", 6) - .getStackForm(1L)); // ZPM -> LuV (Use Soft Mallet to invert) + CustomItemList.WetTransformer_ZPM_LuV.set(new GT_MetaTileEntity_WetTransformer( + 12006, "wettransformer.tier.06", "Ludicrous Power Transformer", 6).getStackForm(1L));//ZPM -> LuV (Use Soft Mallet to invert) CustomItemList.WetTransformer_UV_ZPM.set(new GT_MetaTileEntity_WetTransformer( - 12007, "wettransformer.tier.07", "ZPM Voltage Power Transformer", 7) - .getStackForm(1L)); // UV -> ZPM (Use Soft Mallet to invert) + 12007, "wettransformer.tier.07", "ZPM Voltage Power Transformer", 7).getStackForm(1L));//UV -> ZPM (Use Soft Mallet to invert) - CustomItemList.WetTransformer_UHV_UV.set( - new GT_MetaTileEntity_WetTransformer(12008, "wettransformer.tier.08", "Ultimate Power Transformer", 8) - .getStackForm(1L)); // UHV -> UV (Use Soft Mallet to invert) + CustomItemList.WetTransformer_UHV_UV.set(new GT_MetaTileEntity_WetTransformer( + 12008, "wettransformer.tier.08", "Ultimate Power Transformer", 8).getStackForm(1L));//UHV -> UV (Use Soft Mallet to invert) CustomItemList.WetTransformer_UEV_UHV.set(new GT_MetaTileEntity_WetTransformer( - 12009, "wettransformer.tier.09", "Highly Ultimate Power Transformer", 9) - .getStackForm(1L)); // UEV -> UHV (Use Soft Mallet to invert) + 12009, "wettransformer.tier.09", "Highly Ultimate Power Transformer", 9).getStackForm(1L));//UEV -> UHV (Use Soft Mallet to invert) CustomItemList.WetTransformer_UIV_UEV.set(new GT_MetaTileEntity_WetTransformer( - 12010, "wettransformer.tier.10", "Extremely Ultimate Power Transformer", 10) - .getStackForm(1L)); // UIV -> UEV (Use Soft Mallet to invert) + 12010, "wettransformer.tier.10", "Extremely Ultimate Power Transformer", 10).getStackForm(1L));//UIV -> UEV (Use Soft Mallet to invert) CustomItemList.WetTransformer_UMV_UIV.set(new GT_MetaTileEntity_WetTransformer( - 12011, "wettransformer.tier.11", "Insanely Ultimate Power Transformer", 11) - .getStackForm(1L)); // UMV -> UIV (Use Soft Mallet to invert) + 12011, "wettransformer.tier.11", "Insanely Ultimate Power Transformer", 11).getStackForm(1L));//UMV -> UIV (Use Soft Mallet to invert) CustomItemList.WetTransformer_UXV_UMV.set(new GT_MetaTileEntity_WetTransformer( - 12012, "wettransformer.tier.12", "Mega Ultimate Power Transformer", 12) - .getStackForm(1L)); // UXV -> UMV (Use Soft Mallet to invert) + 12012, "wettransformer.tier.12", "Mega Ultimate Power Transformer", 12).getStackForm(1L));//UXV -> UMV (Use Soft Mallet to invert) CustomItemList.WetTransformer_OPV_UXV.set(new GT_MetaTileEntity_WetTransformer( - 12013, "wettransformer.tier.13", "Extended Mega Ultimate Power Transformer", 13) - .getStackForm(1L)); // OPV -> UXV (Use Soft Mallet to invert) + 12013, "wettransformer.tier.13", "Extended Mega Ultimate Power Transformer", 13).getStackForm(1L));//OPV -> UXV (Use Soft Mallet to invert) CustomItemList.WetTransformer_MAXV_OPV.set(new GT_MetaTileEntity_WetTransformer( - 12014, "wettransformer.tier.14", "Overpowered Power Transformer", 14) - .getStackForm(1L)); // MAX -> OPV (Use Soft Mallet to invert) + 12014, "wettransformer.tier.14", "Overpowered Power Transformer", 14).getStackForm(1L));//MAX -> OPV (Use Soft Mallet to invert) try { MetaTileEntity temp; @@ -115,42 +102,54 @@ public class NoDreamCraftMachineLoader implements Runnable { field.setAccessible(true); } - temp = new GT_MetaTileEntity_BasicHull(11230, "hull.tier.10", "UEV Machine Hull", 10, imagination); + temp = new GT_MetaTileEntity_BasicHull( + 11230, "hull.tier.10", "UEV Machine Hull", 10, + imagination); TT_Utility.setTier(10, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } CustomItemList.Hull_UEV.set(temp.getStackForm(1L)); - temp = new GT_MetaTileEntity_BasicHull(11231, "hull.tier.11", "UIV Machine Hull", 11, imagination); + temp = new GT_MetaTileEntity_BasicHull( + 11231, "hull.tier.11", "UIV Machine Hull", 11, + imagination); TT_Utility.setTier(11, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } CustomItemList.Hull_UIV.set(temp.getStackForm(1L)); - temp = new GT_MetaTileEntity_BasicHull(11232, "hull.tier.12", "UMV Machine Hull", 12, imagination); + temp = new GT_MetaTileEntity_BasicHull( + 11232, "hull.tier.12", "UMV Machine Hull", 12, + imagination); TT_Utility.setTier(12, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } CustomItemList.Hull_UMV.set(temp.getStackForm(1L)); - temp = new GT_MetaTileEntity_BasicHull(11233, "hull.tier.13", "UXV Machine Hull", 13, imagination); + temp = new GT_MetaTileEntity_BasicHull( + 11233, "hull.tier.13", "UXV Machine Hull", 13, + imagination); TT_Utility.setTier(13, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } CustomItemList.Hull_UXV.set(temp.getStackForm(1L)); - temp = new GT_MetaTileEntity_BasicHull(11234, "hull.tier.14", "OPV Machine Hull", 14, imagination); + temp = new GT_MetaTileEntity_BasicHull( + 11234, "hull.tier.14", "OPV Machine Hull", 14, + imagination); TT_Utility.setTier(14, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } CustomItemList.Hull_OPV.set(temp.getStackForm(1L)); - temp = new GT_MetaTileEntity_BasicHull(11235, "hull.tier.15", "MAX Machine Hull", 15, imagination); + temp = new GT_MetaTileEntity_BasicHull( + 11235, "hull.tier.15", "MAX Machine Hull", 15, + imagination); TT_Utility.setTier(15, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -158,17 +157,11 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Hull_MAXV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_TT_Transformer( - 11220, - "tt.transformer.tier.09", - "Highly Ultimate Transformer", - 9); // UEV -> UHV (Use Soft Mallet to invert) + 11220, "tt.transformer.tier.09", "Highly Ultimate Transformer", 9);//UEV -> UHV (Use Soft Mallet to invert) CustomItemList.Transformer_UEV_UHV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_TT_Transformer( - 11221, - "tt.transformer.tier.10", - "Extremely Ultimate Transformer", - 10); // UIV -> UEV (Use Soft Mallet to invert) + 11221, "tt.transformer.tier.10", "Extremely Ultimate Transformer", 10);//UIV -> UEV (Use Soft Mallet to invert) TT_Utility.setTier(10, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -176,10 +169,7 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_UIV_UEV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_TT_Transformer( - 11222, - "tt.transformer.tier.11", - "Insanely Ultimate Transformer", - 11); // UMV -> UIV (Use Soft Mallet to invert) + 11222, "tt.transformer.tier.11", "Insanely Ultimate Transformer", 11);//UMV -> UIV (Use Soft Mallet to invert) TT_Utility.setTier(11, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -187,10 +177,7 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_UMV_UIV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_TT_Transformer( - 11223, - "tt.transformer.tier.12", - "Mega Ultimate Transformer", - 12); // UXV -> UMV (Use Soft Mallet to invert) + 11223, "tt.transformer.tier.12", "Mega Ultimate Transformer", 12);//UXV -> UMV (Use Soft Mallet to invert) TT_Utility.setTier(12, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -198,10 +185,7 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_UXV_UMV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_TT_Transformer( - 11224, - "tt.transformer.tier.13", - "Extended Mega Ultimate Transformer", - 13); // OPV -> UXV (Use Soft Mallet to invert) + 11224, "tt.transformer.tier.13", "Extended Mega Ultimate Transformer", 13);//OPV -> UXV (Use Soft Mallet to invert) TT_Utility.setTier(13, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -209,37 +193,27 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_OPV_UXV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_TT_Transformer( - 11225, - "tt.transformer.tier.14", - "Overpowered Transformer", - 14); // MAX -> OPV (Use Soft Mallet to invert) + 11225, "tt.transformer.tier.14", "Overpowered Transformer", 14);//MAX -> OPV (Use Soft Mallet to invert) TT_Utility.setTier(14, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } CustomItemList.Transformer_MAXV_OPV.set(temp.getStackForm(1L)); + if (Loader.isModLoaded(Reference.GTPLUSPLUS)) { - Class clazz = Class.forName( - "gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMetaTransformerHiAmp"); - Constructor constructor = - clazz.getConstructor(int.class, String.class, String.class, int.class, String.class); + Class clazz = Class.forName("gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMetaTransformerHiAmp"); + Constructor constructor = clazz.getConstructor(int.class, String.class, String.class, int.class, String.class); temp = constructor.newInstance( - 11989, - "transformer.ha.tier.09", - "Highly Ultimate Hi-Amp Transformer", - 9, - // UEV -> UHV (Use Soft Mallet to invert + 11989, "transformer.ha.tier.09", "Highly Ultimate Hi-Amp Transformer", 9, + //UEV -> UHV (Use Soft Mallet to invert 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) + 11910, "transformer.ha.tier.10", "Extremely Ultimate Hi-Amp Transformer", 10, + //UIV -> UEV (Use Soft Mallet to invert) translateToLocal("gt.blockmachines.transformer.ha.tier.10.desc")); TT_Utility.setTier(10, temp); if (GT_Values.GT.isClientSide()) { @@ -248,11 +222,8 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_HA_UIV_UEV.set(temp.getStackForm(1)); temp = constructor.newInstance( - 11911, - "transformer.ha.tier.11", - "Insanely Ultimate Hi-Amp Transformer", - 11, - // UMV -> UIV (Use Soft Mallet to invert) + 11911, "transformer.ha.tier.11", "Insanely Ultimate Hi-Amp Transformer", 11, + //UMV -> UIV (Use Soft Mallet to invert) translateToLocal("gt.blockmachines.transformer.ha.tier.11.desc")); TT_Utility.setTier(11, temp); if (GT_Values.GT.isClientSide()) { @@ -261,11 +232,8 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_HA_UMV_UIV.set(temp.getStackForm(1)); temp = constructor.newInstance( - 11912, - "transformer.ha.tier.12", - "Mega Ultimate Hi-Amp Transformer", - 12, - // UXV -> UMV (Use Soft Mallet to invert) + 11912, "transformer.ha.tier.12", "Mega Ultimate Hi-Amp Transformer", 12, + //UXV -> UMV (Use Soft Mallet to invert) translateToLocal("gt.blockmachines.transformer.ha.tier.12.desc")); TT_Utility.setTier(12, temp); if (GT_Values.GT.isClientSide()) { @@ -274,11 +242,8 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_HA_UXV_UMV.set(temp.getStackForm(1)); temp = constructor.newInstance( - 11913, - "transformer.ha.tier.13", - "Extended Mega Ultimate Hi-Amp Transformer", - 13, - // OPV -> UXV (Use Soft Mallet to invert) + 11913, "transformer.ha.tier.13", "Extended Mega Ultimate Hi-Amp Transformer", 13, + //OPV -> UXV (Use Soft Mallet to invert) translateToLocal("gt.blockmachines.transformer.ha.tier.13.desc")); TT_Utility.setTier(13, temp); if (GT_Values.GT.isClientSide()) { @@ -287,11 +252,8 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_HA_OPV_UXV.set(temp.getStackForm(1)); temp = constructor.newInstance( - 11914, - "transformer.ha.tier.14", - "Overpowered Hi-Amp Transformer", - 14, - // MAX -> OPV (Use Soft Mallet to invert) + 11914, "transformer.ha.tier.14", "Overpowered Hi-Amp Transformer", 14, + //MAX -> OPV (Use Soft Mallet to invert) translateToLocal("gt.blockmachines.transformer.ha.tier.14.desc")); TT_Utility.setTier(14, temp); if (GT_Values.GT.isClientSide()) { @@ -303,4 +265,4 @@ public class NoDreamCraftMachineLoader implements Runnable { e.printStackTrace(); } } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java b/src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java index 62c399aa26..65219271f9 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java +++ b/src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java @@ -1,194 +1,96 @@ package com.github.technus.tectech.compatibility.gtpp; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.getBestUnstableIsotope; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.getFirstStableIsotope; - import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; import com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry; import gregtech.api.enums.OrePrefixes; -import java.lang.reflect.Method; import net.minecraftforge.fluids.FluidStack; +import java.lang.reflect.Method; + +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.getBestUnstableIsotope; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.getFirstStableIsotope; + public class GtppAtomLoader { - // region reflect a bit + //region reflect a bit private Class ELEMENT; private Object ELEMENT_INSTANCE; - private Method getUnlocalizedName, getFluid, generate; + private Method getUnlocalizedName,getFluid,generate; - private String getUnlocalizedName(String elementName) { + private String getUnlocalizedName(String elementName){ try { - return (String) - getUnlocalizedName.invoke(ELEMENT.getField(elementName).get(ELEMENT_INSTANCE)); - } catch (Exception e) { + return (String) getUnlocalizedName.invoke(ELEMENT.getField(elementName).get(ELEMENT_INSTANCE)); + }catch (Exception e){ throw new Error(e); } } - private FluidStack getFluid(String elementName, int fluidAmount) { + private FluidStack getFluid(String elementName, int fluidAmount){ try { - return (FluidStack) getFluid.invoke(ELEMENT.getField(elementName).get(ELEMENT_INSTANCE), fluidAmount); - } catch (Exception e) { + return (FluidStack) getFluid.invoke(ELEMENT.getField(elementName).get(ELEMENT_INSTANCE),fluidAmount); + }catch (Exception e){ throw new Error(e); } } - private void generate(String elementName, boolean generateAll, boolean generateBlastRecipes) { + private void generate(String elementName,boolean generateAll, boolean generateBlastRecipes){ try { - generate.invoke( - null, ELEMENT.getField(elementName).get(ELEMENT_INSTANCE), generateAll, generateBlastRecipes); - } catch (Exception e) { + generate.invoke(null,ELEMENT.getField(elementName).get(ELEMENT_INSTANCE),generateAll,generateBlastRecipes); + }catch (Exception e){ throw new Error(e); } } - // endregion + //endregion public void setTransformations(EMTransformationRegistry transformationInfo) { - // region reflect a bit - try { - ELEMENT = Class.forName("gtPlusPlus.core.material.ELEMENT"); - ELEMENT_INSTANCE = ELEMENT.getMethod("getInstance").invoke(null); + //region reflect a bit + try{ + ELEMENT=Class.forName("gtPlusPlus.core.material.ELEMENT"); + ELEMENT_INSTANCE=ELEMENT.getMethod("getInstance").invoke(null); - Class clazz = Class.forName("gtPlusPlus.core.material.Material"); - getUnlocalizedName = clazz.getMethod("getUnlocalizedName"); - try { - getFluid = clazz.getMethod("getFluidStack", int.class); - } catch (Exception e) { - getFluid = clazz.getMethod("getFluid", int.class); + Class clazz=Class.forName("gtPlusPlus.core.material.Material"); + getUnlocalizedName=clazz.getMethod("getUnlocalizedName"); + try{ + getFluid=clazz.getMethod("getFluidStack", int.class); + }catch (Exception e){ + getFluid=clazz.getMethod("getFluid", int.class); } - clazz = Class.forName("gtPlusPlus.core.material.MaterialGenerator"); - generate = clazz.getMethod( - "generate", Class.forName("gtPlusPlus.core.material.Material"), boolean.class, boolean.class); - } catch (Exception e) { + clazz=Class.forName("gtPlusPlus.core.material.MaterialGenerator"); + generate=clazz.getMethod("generate", Class.forName("gtPlusPlus.core.material.Material"), boolean.class, boolean.class); + }catch (Exception e){ throw new Error(e); } - // endregion + //endregion - transformationInfo.addFluid( - new EMDefinitionStack(getFirstStableIsotope(10), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - getFluid("NEON", 144)); - generate("GERMANIUM", true, true); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(32), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("GERMANIUM"), - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(34), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("SELENIUM"), - 1); - transformationInfo.addFluid( - new EMDefinitionStack(getFirstStableIsotope(35), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - getFluid("BROMINE", 144)); - transformationInfo.addFluid( - new EMDefinitionStack(getFirstStableIsotope(36), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - getFluid("KRYPTON", 144)); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(40), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("ZIRCONIUM"), - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(43), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("TECHNETIUM"), - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(44), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("RUTHENIUM"), - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(45), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("RHODIUM"), - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(53), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("IODINE"), - 1); - transformationInfo.addFluid( - new EMDefinitionStack(getFirstStableIsotope(54), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - getFluid("XENON", 144)); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(72), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("HAFNIUM"), - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(75), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("RHENIUM"), - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(81), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("THALLIUM"), - 1); + transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(10), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), getFluid("NEON",144)); + generate("GERMANIUM",true,true); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(32), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), OrePrefixes.dust, getUnlocalizedName("GERMANIUM"),1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(34), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), OrePrefixes.dust, getUnlocalizedName("SELENIUM"),1); + transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(35), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), getFluid("BROMINE",144)); + transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(36), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), getFluid("KRYPTON",144)); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(40), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("ZIRCONIUM"),1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(43), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("TECHNETIUM"),1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(44), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("RUTHENIUM"),1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(45), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("RHODIUM"),1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(53), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("IODINE"),1); + transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(54), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),getFluid("XENON",144)); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(72), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("HAFNIUM"),1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(75), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("RHENIUM"),1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(81), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("THALLIUM"),1); - transformationInfo.addOredict( - new EMDefinitionStack(getBestUnstableIsotope(84), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("POLONIUM"), - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getBestUnstableIsotope(85), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("ASTATINE"), - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getBestUnstableIsotope(87), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("FRANCIUM"), - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getBestUnstableIsotope(88), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("RADIUM"), - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getBestUnstableIsotope(89), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("ACTINIUM"), - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getBestUnstableIsotope(91), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("PROTACTINIUM"), - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getBestUnstableIsotope(93), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("NEPTUNIUM"), - 1); + transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(84), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("POLONIUM"),1); + transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(85), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("ASTATINE"),1); + transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(87), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("FRANCIUM"),1); + transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(88), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("RADIUM"),1); + transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(89), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("ACTINIUM"),1); + transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(91), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("PROTACTINIUM"),1); + transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(93), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("NEPTUNIUM"),1); - transformationInfo.addOredict( - new EMDefinitionStack(getBestUnstableIsotope(96), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("CURIUM"), - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getBestUnstableIsotope(97), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("BERKELIUM"), - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getBestUnstableIsotope(98), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("CALIFORNIUM"), - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getBestUnstableIsotope(99), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("EINSTEINIUM"), - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getBestUnstableIsotope(100), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - OrePrefixes.dust, - getUnlocalizedName("FERMIUM"), - 1); + transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(96), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("CURIUM"),1); + transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(97), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("BERKELIUM"),1); + transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(98), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("CALIFORNIUM"),1); + transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(99), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("EINSTEINIUM"),1); + transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(100), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("FERMIUM"),1); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openComputers/AvrArchitecture.java b/src/main/java/com/github/technus/tectech/compatibility/openComputers/AvrArchitecture.java index ff610f70da..ceadce9d6d 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openComputers/AvrArchitecture.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openComputers/AvrArchitecture.java @@ -10,11 +10,6 @@ import com.github.technus.avrClone.memory.RemovableMemory; import com.github.technus.avrClone.memory.program.ProgramMemory; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.util.Converter; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.zip.GZIPInputStream; -import java.util.zip.GZIPOutputStream; import li.cil.oc.Settings; import li.cil.oc.api.Driver; import li.cil.oc.api.driver.Item; @@ -28,6 +23,12 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import org.apache.commons.compress.utils.IOUtils; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.zip.GZIPInputStream; +import java.util.zip.GZIPOutputStream; + @Architecture.Name("AVR 32Bit Clone") @Architecture.NoMemoryRequirements public class AvrArchitecture implements Architecture { @@ -44,7 +45,7 @@ public class AvrArchitecture implements Architecture { @Override public boolean isInitialized() { - return core != null && core.checkValid(); + return core!=null && core.checkValid(); } @Override @@ -59,22 +60,24 @@ public class AvrArchitecture implements Architecture { Item driver = Driver.driverFor(component); if (driver instanceof Memory) { Memory memoryDriver = (Memory) driver; - memory += memoryDriver.amount(component) * 256; // in integers - } // else if (driver instanceof DriverEEPROM$) { + memory += memoryDriver.amount(component) * 256;//in integers + }// else if (driver instanceof DriverEEPROM$) { - // } + //} } memory = Math.min(Math.max(memory, 0), Settings.get().maxTotalRam()); - if (memory != memSize) {} + if(memory!=memSize){ + + } } @Override public boolean initialize() { - core = new AvrCore(); + core=new AvrCore(); computeMemory(this.machine.host().internalComponents()); - if (isInitialized()) { + if(isInitialized()) { machine.beep("."); return true; } @@ -83,9 +86,9 @@ public class AvrArchitecture implements Architecture { @Override public void close() { - core = null; - tempData = null; - delay = 0; + core=null; + tempData=null; + delay=0; } @Override @@ -96,26 +99,26 @@ public class AvrArchitecture implements Architecture { @Override public ExecutionResult runThreaded(boolean isSynchronizedReturn) { if (core.awoken) { - delay = 0; - for (int load = 0; load < 512; ) { - load += core.getInstruction().getCost(core); + delay=0; + for (int load=0; load < 512;) { + load+=core.getInstruction().getCost(core); ExecutionEvent executionEvent = core.cpuCycleForce(); if (executionEvent != null) { if (executionEvent.throwable instanceof DelayEvent) { delay = executionEvent.data[0]; break; } else if (executionEvent.throwable instanceof DebugEvent) { - if (debugRun) { - // aBaseMetaTileEntity.setActive(false); + if(debugRun) { + //aBaseMetaTileEntity.setActive(false); break; } } } } - } else if (delay > 0) { + }else if(delay>0){ delay--; - if (delay == 0) { - core.awoken = true; + if(delay==0){ + core.awoken=true; } } return null; @@ -123,14 +126,14 @@ public class AvrArchitecture implements Architecture { @Override public void onSignal() { - Signal signal = machine.popSignal(); + Signal signal=machine.popSignal(); core.interruptsHandle(); } @Override public void onConnect() { - // init network components, in case init was called from load logic (pre first tick?) + //init network components, in case init was called from load logic (pre first tick?) } @Override @@ -140,17 +143,15 @@ public class AvrArchitecture implements Architecture { core.active = avr.getBoolean("active"); core.awoken = (avr.getBoolean("awoken")); core.programCounter = avr.getInteger("programCounter"); - InstructionRegistry registry = InstructionRegistry.REGISTRIES.get(avr.getString("instructionRegistry")); + InstructionRegistry registry = + InstructionRegistry.REGISTRIES. + get(avr.getString("instructionRegistry")); if (registry != null) { byte[] instructions = SaveHandler.load(avr, this.machine.node().address() + "_instructionsMemory"); byte[] param0 = SaveHandler.load(avr, this.machine.node().address() + "_param0Memory"); byte[] param1 = SaveHandler.load(avr, this.machine.node().address() + "_param1Memory"); - if (instructions != null - && param0 != null - && param1 != null - && instructions.length > 0 - && param0.length > 0 - && param1.length > 0) { + if (instructions != null && param0 != null && param1 != null && + instructions.length > 0 && param0.length > 0 && param1.length > 0) { int[] instr = null, par0 = null, par1 = null; try { GZIPInputStream gzis = new GZIPInputStream(new ByteArrayInputStream(instructions)); @@ -176,20 +177,22 @@ public class AvrArchitecture implements Architecture { TecTech.LOGGER.error("Failed to decompress param1 memory from disk."); e.printStackTrace(); } - if (instr != null - && par0 != null - && par1 != null - && instr.length == par0.length - && instr.length == par1.length) { - core.setProgramMemory(new ProgramMemory(registry, avr.getBoolean("immersive"), instr, par0, par1)); + if (instr != null && par0 != null && par1 != null && + instr.length==par0.length && instr.length==par1.length) { + core.setProgramMemory(new ProgramMemory( + registry, + avr.getBoolean("immersive"), + instr, + par0, + par1)); } } } - if (avr.hasKey("eepromSize")) { + if(avr.hasKey("eepromSize")){ core.restoreEepromDefinition(EepromMemory.make(avr.getInteger("eepromSize"))); } byte[] data = SaveHandler.load(avr, this.machine.node().address() + "_dataMemory"); - if (data != null && data.length > 0) { + if(data!=null && data.length > 0) { try { GZIPInputStream gzis = new GZIPInputStream(new ByteArrayInputStream(data)); tempData = Converter.readInts(IOUtils.toByteArray(gzis)); @@ -204,20 +207,19 @@ public class AvrArchitecture implements Architecture { @Override public void save(NBTTagCompound avr) { - avr.setBoolean("debugRun", debugRun); - avr.setInteger("delay", delay); - avr.setBoolean("active", core.active); - avr.setBoolean("awoken", core.awoken); - avr.setInteger("programCounter", core.programCounter); - ProgramMemory programMemory = core.getProgramMemory(); - if (programMemory != null) { + avr.setBoolean("debugRun",debugRun); + avr.setInteger("delay",delay); + avr.setBoolean("active",core.active); + avr.setBoolean("awoken",core.awoken); + avr.setInteger("programCounter",core.programCounter); + ProgramMemory programMemory=core.getProgramMemory(); + if(programMemory!=null){ try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); GZIPOutputStream gzos = new GZIPOutputStream(baos); gzos.write(Converter.writeInts(programMemory.instructions)); gzos.close(); - SaveHandler.scheduleSave( - machine.host(), avr, machine.node().address() + "_instructionsMemory", baos.toByteArray()); + SaveHandler.scheduleSave(machine.host(), avr, machine.node().address() + "_instructionsMemory", baos.toByteArray()); } catch (IOException e) { TecTech.LOGGER.error("Failed to compress instructions memory to disk"); e.printStackTrace(); @@ -227,8 +229,7 @@ public class AvrArchitecture implements Architecture { GZIPOutputStream gzos = new GZIPOutputStream(baos); gzos.write(Converter.writeInts(programMemory.param0)); gzos.close(); - SaveHandler.scheduleSave( - machine.host(), avr, machine.node().address() + "_param0Memory", baos.toByteArray()); + SaveHandler.scheduleSave(machine.host(), avr, machine.node().address() + "_param0Memory", baos.toByteArray()); } catch (IOException e) { TecTech.LOGGER.error("Failed to compress param0 memory to disk"); e.printStackTrace(); @@ -238,27 +239,25 @@ public class AvrArchitecture implements Architecture { GZIPOutputStream gzos = new GZIPOutputStream(baos); gzos.write(Converter.writeInts(programMemory.param1)); gzos.close(); - SaveHandler.scheduleSave( - machine.host(), avr, machine.node().address() + "_param1Memory", baos.toByteArray()); + SaveHandler.scheduleSave(machine.host(), avr, machine.node().address() + "_param1Memory", baos.toByteArray()); } catch (IOException e) { TecTech.LOGGER.error("Failed to compress param1 memory to disk"); e.printStackTrace(); } - avr.setBoolean("immersive", programMemory.immersiveOperands); - avr.setString("instructionRegistry", programMemory.registry.toString()); + avr.setBoolean("immersive",programMemory.immersiveOperands); + avr.setString("instructionRegistry",programMemory.registry.toString()); } - RemovableMemory eeprom = core.getEepromMemory(); - if (eeprom != null) { - avr.setInteger("eepromSize", eeprom.getDefinition().getSize()); + RemovableMemory eeprom=core.getEepromMemory(); + if(eeprom!=null){ + avr.setInteger("eepromSize",eeprom.getDefinition().getSize()); } - if (core.dataMemory != null) { + if(core.dataMemory!=null) { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); GZIPOutputStream gzos = new GZIPOutputStream(baos); gzos.write(Converter.writeInts(core.dataMemory)); gzos.close(); - SaveHandler.scheduleSave( - machine.host(), avr, machine.node().address() + "_dataMemory", baos.toByteArray()); + SaveHandler.scheduleSave(machine.host(), avr, machine.node().address() + "_dataMemory", baos.toByteArray()); } catch (IOException e) { TecTech.LOGGER.error("Failed to compress data memory to disk"); e.printStackTrace(); 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 1d77c71ce8..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 @@ -16,9 +16,7 @@ public class TT_turret_loader implements Runnable { public void run() { TurretHeadRenderEM turretHeadRenderEM = new TurretHeadRenderEM(); ClientRegistry.bindTileEntitySpecialRenderer(TileTurretHeadEM.class, turretHeadRenderEM); - MinecraftForgeClient.registerItemRenderer( - Item.getItemFromBlock(TurretHeadEM.INSTANCE), - new TurretHeadItemRenderEM(turretHeadRenderEM, new TileTurretHeadEM())); + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(TurretHeadEM.INSTANCE), new TurretHeadItemRenderEM(turretHeadRenderEM, new TileTurretHeadEM())); RenderingRegistry.registerEntityRenderingHandler(projectileEM.class, new projectileRenderEM()); } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseEM.java index fd2ed56162..654b4e37a6 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseEM.java @@ -1,7 +1,5 @@ package com.github.technus.tectech.compatibility.openmodularturrets.blocks.turretbases; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; - import com.github.technus.tectech.Reference; import com.github.technus.tectech.compatibility.openmodularturrets.tileentity.turretbase.TileTurretBaseEM; import cpw.mods.fml.common.registry.GameRegistry; @@ -12,6 +10,8 @@ import net.minecraft.world.World; import openmodularturrets.blocks.turretbases.BlockAbstractTurretBase; import openmodularturrets.handler.ConfigHandler; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; + /** * Created by Tec on 27/07/2017. */ @@ -20,28 +20,28 @@ public class TurretBaseEM extends BlockAbstractTurretBase { private final int MaxIO = ConfigHandler.getBaseTierFiveMaxIo(); public static TurretBaseEM INSTANCE; - public TurretBaseEM() { + public TurretBaseEM(){ setCreativeTab(creativeTabTecTech); setResistance(16); setBlockName("turretBaseEM"); setStepSound(Block.soundTypeMetal); - setBlockTextureName(Reference.MODID + ":turretBaseEM"); + setBlockTextureName(Reference.MODID+":turretBaseEM"); } @Override public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileTurretBaseEM(MaxCharge, MaxIO); + return new TileTurretBaseEM(MaxCharge,MaxIO); } @Override public void registerBlockIcons(IIconRegister p_149651_1_) { super.registerBlockIcons(p_149651_1_); - blockIcon = p_149651_1_.registerIcon(Reference.MODID + ":turretBaseEM"); + blockIcon = p_149651_1_.registerIcon(Reference.MODID+":turretBaseEM"); } public static void run() { INSTANCE = new TurretBaseEM(); GameRegistry.registerBlock(INSTANCE, TurretBaseItemEM.class, INSTANCE.getUnlocalizedName()); - GameRegistry.registerTileEntity(TileTurretBaseEM.class, "TileTurretBaseEM"); + GameRegistry.registerTileEntity(TileTurretBaseEM.class,"TileTurretBaseEM"); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseItemEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseItemEM.java index ce5e7c60a8..ed4b72f094 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseItemEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseItemEM.java @@ -1,15 +1,16 @@ package com.github.technus.tectech.compatibility.openmodularturrets.blocks.turretbases; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.util.CommonValues; -import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import java.util.List; + +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by Tec on 28/07/2017. */ @@ -32,4 +33,4 @@ public class TurretBaseItemEM extends ItemBlock { list.add(""); list.add(EnumChatFormatting.DARK_GRAY + translateToLocal("flavour.base.0")); } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadEM.java index 0b242505ab..da212d4853 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadEM.java @@ -1,7 +1,5 @@ package com.github.technus.tectech.compatibility.openmodularturrets.blocks.turretheads; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; - import com.github.technus.tectech.compatibility.openmodularturrets.tileentity.turret.TileTurretHeadEM; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; @@ -13,13 +11,15 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import openmodularturrets.tileentity.turretbase.TurretBase; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; + /** * Created by Tec on 27/07/2017. */ public class TurretHeadEM extends Block implements ITileEntityProvider { public static TurretHeadEM INSTANCE; - public TurretHeadEM() { + public TurretHeadEM(){ super(Material.glass); setCreativeTab(creativeTabTecTech); setBlockUnbreakable(); @@ -27,7 +27,7 @@ public class TurretHeadEM extends Block implements ITileEntityProvider { setStepSound(Block.soundTypeMetal); setBlockBounds(0.2F, 0.0F, 0.2F, 0.8F, 1F, 0.8F); setBlockName("turretHeadEM"); - // this.setBlockTextureName(Reference.MODID+":turretHeadEM"); + //this.setBlockTextureName(Reference.MODID+":turretHeadEM"); } @Override @@ -42,12 +42,12 @@ public class TurretHeadEM extends Block implements ITileEntityProvider { @Override public boolean canPlaceBlockAt(World worldIn, int x, int y, int z) { - return worldIn.getTileEntity(x + 1, y, z) instanceof TurretBase - || worldIn.getTileEntity(x - 1, y, z) instanceof TurretBase - || worldIn.getTileEntity(x, y + 1, z) instanceof TurretBase - || worldIn.getTileEntity(x, y - 1, z) instanceof TurretBase - || worldIn.getTileEntity(x, y, z + 1) instanceof TurretBase - || worldIn.getTileEntity(x, y, z - 1) instanceof TurretBase; + return worldIn.getTileEntity(x + 1, y, z) instanceof TurretBase || + worldIn.getTileEntity(x - 1, y, z) instanceof TurretBase || + worldIn.getTileEntity(x,y + 1, z) instanceof TurretBase || + worldIn.getTileEntity(x,y - 1, z) instanceof TurretBase || + worldIn.getTileEntity(x,y, z + 1) instanceof TurretBase || + worldIn.getTileEntity(x,y, z - 1) instanceof TurretBase; } @Override @@ -63,6 +63,6 @@ public class TurretHeadEM extends Block implements ITileEntityProvider { public static void run() { INSTANCE = new TurretHeadEM(); GameRegistry.registerBlock(INSTANCE, TurretHeadItemEM.class, INSTANCE.getUnlocalizedName()); - GameRegistry.registerTileEntity(TileTurretHeadEM.class, "TileTurretHeadEM"); + GameRegistry.registerTileEntity(TileTurretHeadEM.class,"TileTurretHeadEM"); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadItemEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadItemEM.java index 068e0fbb0f..ce11976020 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadItemEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadItemEM.java @@ -1,10 +1,5 @@ package com.github.technus.tectech.compatibility.openmodularturrets.blocks.turretheads; -import static com.github.technus.tectech.util.CommonValues.TEC_MARK_EM; -import static net.minecraft.util.StatCollector.translateToLocal; - -import java.text.DecimalFormat; -import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; @@ -12,6 +7,12 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import openmodularturrets.handler.ConfigHandler; +import java.text.DecimalFormat; +import java.util.List; + +import static com.github.technus.tectech.util.CommonValues.TEC_MARK_EM; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by Tec on 28/07/2017. */ @@ -28,25 +29,16 @@ public class TurretHeadItemEM extends ItemBlock { list.add(""); list.add(EnumChatFormatting.GOLD + "--" + translateToLocal("tooltip.info") + "--"); list.add(translateToLocal("tooltip.tier") + ": " + EnumChatFormatting.WHITE + '5'); - list.add(translateToLocal("tooltip.range") + ": " + EnumChatFormatting.WHITE - + ConfigHandler.getLaserTurretSettings().getRange()); - list.add(translateToLocal("tooltip.accuracy") + ": " + EnumChatFormatting.WHITE - + translateToLocal("turret.accuracy.high")); - list.add( - translateToLocal("tooltip.ammo") + ": " + EnumChatFormatting.WHITE + translateToLocal("turret.ammo.4")); - list.add(translateToLocal("tooltip.tierRequired") + ": " + EnumChatFormatting.WHITE - + translateToLocal("base.tier.5")); + list.add(translateToLocal("tooltip.range") + ": " + EnumChatFormatting.WHITE + ConfigHandler.getLaserTurretSettings().getRange()); + list.add(translateToLocal("tooltip.accuracy") + ": " + EnumChatFormatting.WHITE + translateToLocal("turret.accuracy.high")); + list.add(translateToLocal("tooltip.ammo") + ": " + EnumChatFormatting.WHITE + translateToLocal("turret.ammo.4")); + list.add(translateToLocal("tooltip.tierRequired") + ": " + EnumChatFormatting.WHITE + translateToLocal("base.tier.5")); list.add(""); list.add(EnumChatFormatting.DARK_PURPLE + "--" + translateToLocal("tooltip.damage.label") + "--"); - list.add(translateToLocal("tooltip.damage.stat") + ": " + EnumChatFormatting.WHITE - + (float) ConfigHandler.getLaserTurretSettings().getDamage() / 2.0F + ' ' - + translateToLocal("tooltip.health")); + list.add(translateToLocal("tooltip.damage.stat") + ": " + EnumChatFormatting.WHITE + (float)ConfigHandler.getLaserTurretSettings().getDamage() / 2.0F + ' ' + translateToLocal("tooltip.health")); list.add(translateToLocal("tooltip.aoe") + ": " + EnumChatFormatting.WHITE + '0'); - list.add(translateToLocal("tooltip.firerate") + ": " + EnumChatFormatting.WHITE - + df.format( - 20.0F / (float) ConfigHandler.getLaserTurretSettings().getFireRate())); - list.add(translateToLocal("tooltip.energy.stat") + ": " + EnumChatFormatting.WHITE - + ConfigHandler.getLaserTurretSettings().getPowerUsage() + " RF"); + list.add(translateToLocal("tooltip.firerate") + ": " + EnumChatFormatting.WHITE + df.format(20.0F / (float)ConfigHandler.getLaserTurretSettings().getFireRate())); + list.add(translateToLocal("tooltip.energy.stat") + ": " + EnumChatFormatting.WHITE + ConfigHandler.getLaserTurretSettings().getPowerUsage() + " RF"); list.add(""); list.add(EnumChatFormatting.DARK_GRAY + translateToLocal("flavour.turret.4")); } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileEM.java index b985f00b01..54bd3aaea5 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileEM.java @@ -16,19 +16,20 @@ import openmodularturrets.tileentity.turretbase.TurretBase; import openmodularturrets.util.PlayerUtil; import openmodularturrets.util.TurretHeadUtil; + /** * Created by Bass on 27/07/2017. */ public class projectileEM extends LaserProjectile { - public float gravity = 0; + public float gravity=0; private TurretBase turretBase; - private boolean strange, antiMatter, isAmped; + private boolean strange, antiMatter,isAmped; private int ampLevel; private float massFactor; - private double mass, charge; + private double mass,charge; public projectileEM(World par1World) { super(par1World); @@ -36,7 +37,7 @@ public class projectileEM extends LaserProjectile { public projectileEM(World par1World, TurretBase turretBase) { super(par1World, turretBase); - int amp = TurretHeadUtil.getAmpLevel(turretBase); + int amp=TurretHeadUtil.getAmpLevel(turretBase); if (amp > 0) { this.isAmped = true; this.ampLevel = amp; @@ -46,121 +47,86 @@ public class projectileEM extends LaserProjectile { public projectileEM(World par1World, TurretBase turretBase, EMInstanceStack projectileContent) { super(par1World, turretBase); this.turretBase = turretBase; - if (projectileContent != null) { - mass = projectileContent.getMass(); - charge = projectileContent.getCharge(); - massFactor = (float) (projectileContent.getDefinition().getMass() / EMHadronDefinition.hadron_n_.getMass()); + if(projectileContent != null){ + mass=projectileContent.getMass(); + charge=projectileContent.getCharge(); + massFactor =(float) (projectileContent.getDefinition().getMass()/ EMHadronDefinition.hadron_n_.getMass()); - if (projectileContent.getDefinition().getGeneration() > 1 - || projectileContent.getDefinition().getGeneration() < -1) { + if(projectileContent.getDefinition().getGeneration()>1 || projectileContent.getDefinition().getGeneration()<-1) { strange = true; } - if (projectileContent.getDefinition().getGeneration() < 0) { + if(projectileContent.getDefinition().getGeneration()<0) { antiMatter = true; } if (projectileContent.getDefinition().getCharge() == 0) { gravity = massFactor / 100f; } else { - gravity = Math.min( - 0.0025F / Math.abs(projectileContent.getDefinition().getCharge()), massFactor / 100f); + gravity = Math.min(0.0025F / Math.abs(projectileContent.getDefinition().getCharge()), massFactor / 100f); } } } @Override protected void onImpact(MovingObjectPosition movingobjectposition) { - if (ticksExisted > 1) { - if (!worldObj.isRemote) { - worldObj.playSoundEffect( - posX, - posY, - posZ, - "openmodularturrets:laserHit", - ConfigHandler.getTurretSoundVolume(), - TecTech.RANDOM.nextFloat() + 0.5F); - switch (movingobjectposition.typeOfHit) { + if(ticksExisted > 1) { + if(!worldObj.isRemote){ + worldObj.playSoundEffect(posX, posY, posZ, "openmodularturrets:laserHit", ConfigHandler.getTurretSoundVolume(), TecTech.RANDOM.nextFloat() + 0.5F); + switch (movingobjectposition.typeOfHit){ case BLOCK: - Block hitBlock = worldObj.getBlock( - movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ); - if (hitBlock != null) { - if (TecTech.configTecTech.ENABLE_TURRET_EXPLOSIONS - && antiMatter - && hitBlock.getMaterial().isSolid()) { - GT_Utility.sendSoundToPlayers( - worldObj, - GregTech_API.sSoundList.get(209), - 1.0F, - -1.0F, + Block hitBlock = worldObj.getBlock(movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ); + if(hitBlock != null){ + if (TecTech.configTecTech.ENABLE_TURRET_EXPLOSIONS && antiMatter && hitBlock.getMaterial().isSolid()) { + GT_Utility.sendSoundToPlayers(worldObj, GregTech_API.sSoundList.get(209), 1.0F, -1.0F, movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ); - worldObj.createExplosion( - null, + worldObj.createExplosion(null, movingobjectposition.blockX + 0.5D, movingobjectposition.blockY + 0.5D, movingobjectposition.blockZ + 0.5D, - TecTech.configTecTech.TURRET_EXPLOSION_FACTOR - * (strange ? 10 : 1) - * massFactor - * (isAmped ? ampLevel * .1f + 1 : 1) - * (ticksExisted / 250f), - true); + TecTech.configTecTech.TURRET_EXPLOSION_FACTOR * (strange ? 10 : 1) * massFactor * (isAmped ? ampLevel * .1f + 1 : 1) * (ticksExisted / 250f), true); } else { return; } } break; case ENTITY: - float damage = (strange ? 10 : 1) - * TecTech.configTecTech.TURRET_DAMAGE_FACTOR - * massFactor - * (isAmped ? ampLevel * .1f + 1 : 1); - - if (movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) movingobjectposition.entityHit; - if (canDamagePlayer(player)) { - movingobjectposition.entityHit.setFire((strange ? 10 : 1) * 2); - movingobjectposition.entityHit.attackEntityFrom( - new NormalDamageSource("laser"), damage); - if (antiMatter) { + float damage = (strange ?10:1) * TecTech.configTecTech.TURRET_DAMAGE_FACTOR * massFactor * (isAmped? ampLevel*.1f +1:1); + + if(movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer player=(EntityPlayer)movingobjectposition.entityHit; + if(canDamagePlayer(player)) { + movingobjectposition.entityHit.setFire((strange ?10:1)*2); + movingobjectposition.entityHit.attackEntityFrom(new NormalDamageSource("laser"), damage); + if(antiMatter) { movingobjectposition.entityHit.hurtResistantTime = 0; } - if (strange) { - TecTech.anomalyHandler.addCancer(player, mass); + if(strange){ + TecTech.anomalyHandler.addCancer(player,mass); } - if (charge != 0) { - TecTech.anomalyHandler.addCharge(player, charge); + if(charge!=0) { + TecTech.anomalyHandler.addCharge(player,charge); } } } else { - movingobjectposition.entityHit.setFire((strange ? 10 : 1) * 2); + movingobjectposition.entityHit.setFire((strange ?10:1)*2); movingobjectposition.entityHit.attackEntityFrom(new NormalDamageSource("laser"), damage); - if (antiMatter) { + if(antiMatter) { movingobjectposition.entityHit.hurtResistantTime = 0; } } if (TecTech.configTecTech.ENABLE_TURRET_EXPLOSIONS && antiMatter) { - GT_Utility.sendSoundToPlayers( - worldObj, - GregTech_API.sSoundList.get(209), - 1.0F, - -1.0F, - (int) movingobjectposition.entityHit.posX, - (int) movingobjectposition.entityHit.posY, - (int) movingobjectposition.entityHit.posZ); - worldObj.createExplosion( - null, + GT_Utility.sendSoundToPlayers(worldObj, GregTech_API.sSoundList.get(209), 1.0F, -1.0F, + (int)movingobjectposition.entityHit.posX, + (int)movingobjectposition.entityHit.posY, + (int)movingobjectposition.entityHit.posZ); + worldObj.createExplosion(null, movingobjectposition.entityHit.posX, movingobjectposition.entityHit.posY, movingobjectposition.entityHit.posZ, - (strange ? 10 : 1) - * TecTech.configTecTech.TURRET_EXPLOSION_FACTOR - * massFactor - * (isAmped ? ampLevel * .1f + 1 : 1) - * (ticksExisted / 250f), - true); + (strange ?10:1) * TecTech.configTecTech.TURRET_EXPLOSION_FACTOR * massFactor * (isAmped? ampLevel*.1f +1:1) * (ticksExisted/250f), true); } break; } @@ -170,15 +136,12 @@ public class projectileEM extends LaserProjectile { } public boolean canDamagePlayer(EntityPlayer entityPlayer) { - return ConfigHandler.turretDamageTrustedPlayers - || this.turretBase.getTrustedPlayer(entityPlayer.getUniqueID()) == null - && !PlayerUtil.getPlayerUIDUnstable(this.turretBase.getOwner()) - .equals(entityPlayer.getUniqueID()); + return ConfigHandler.turretDamageTrustedPlayers || this.turretBase.getTrustedPlayer(entityPlayer.getUniqueID()) == null && !PlayerUtil.getPlayerUIDUnstable(this.turretBase.getOwner()).equals(entityPlayer.getUniqueID()); } @Override public void onEntityUpdate() { - if (ticksExisted >= 75) { + if(ticksExisted >= 75) { setDead(); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileRenderEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileRenderEM.java index ce656f8c8f..812a752562 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileRenderEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileRenderEM.java @@ -16,30 +16,24 @@ import org.lwjgl.opengl.GL11; */ @SideOnly(Side.CLIENT) public class projectileRenderEM extends Render { - private static final ResourceLocation textures = - new ResourceLocation(Reference.MODID + ":textures/entity/projectileEM.png"); + private static final ResourceLocation textures = new ResourceLocation(Reference.MODID + ":textures/entity/projectileEM.png"); private void render(projectileEM entity, double par2, double par4, double par6, float par9) { bindEntityTexture(entity); GL11.glPushMatrix(); - GL11.glTranslatef((float) par2, (float) par4 + 0.3F, (float) par6); - GL11.glRotatef( - entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * par9 - 90.0F, - 0.0F, - 1.0F, - 0.0F); - GL11.glRotatef( - entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef((float)par2, (float)par4 + 0.3F, (float)par6); + GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F); Tessellator var18 = Tessellator.instance; byte b0 = 0; float f2 = 0.0F; float f3 = 0.5F; - float f4 = (float) (b0 * 10) / 32.0F; - float f5 = (float) (5 + b0 * 10) / 32.0F; + float f4 = (float)(b0 * 10) / 32.0F; + float f5 = (float)(5 + b0 * 10) / 32.0F; float f10 = 0.05625F; GL11.glEnable('\u803a'); - float f11 = -par9; - if (f11 > 0.0F) { + float f11 = - par9; + if(f11 > 0.0F) { float f = -MathHelper.sin(f11 * 3.0F) * f11; GL11.glRotatef(f, 0.0F, 0.0F, 1.0F); } @@ -51,14 +45,14 @@ public class projectileRenderEM extends Render { GL11.glTranslatef(0.0F, 0.0F, 0.0F); GL11.glNormal3f(f10, 0.0F, 0.0F); - for (int var19 = 0; var19 < 4; ++var19) { + for(int var19 = 0; var19 < 4; ++var19) { GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); GL11.glNormal3f(0.0F, 0.0F, f10); var18.startDrawingQuads(); - var18.addVertexWithUV(-16.0D, -2.0D, 0.0D, (double) f2, (double) f4); - var18.addVertexWithUV(16.0D, -2.0D, 0.0D, (double) f3, (double) f4); - var18.addVertexWithUV(16.0D, 2.0D, 0.0D, (double) f3, (double) f5); - var18.addVertexWithUV(-16.0D, 2.0D, 0.0D, (double) f2, (double) f5); + var18.addVertexWithUV(-16.0D, -2.0D, 0.0D, (double)f2, (double)f4); + var18.addVertexWithUV(16.0D, -2.0D, 0.0D, (double)f3, (double)f4); + var18.addVertexWithUV(16.0D, 2.0D, 0.0D, (double)f3, (double)f5); + var18.addVertexWithUV(-16.0D, 2.0D, 0.0D, (double)f2, (double)f5); var18.draw(); } @@ -74,6 +68,6 @@ public class projectileRenderEM extends Render { @Override public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9) { - render((projectileEM) par1Entity, par2, par4, par6, par9); + render((projectileEM)par1Entity, par2, par4, par6, par9); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turret/TileTurretHeadEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turret/TileTurretHeadEM.java index b8b843844f..742232d8c6 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turret/TileTurretHeadEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turret/TileTurretHeadEM.java @@ -1,7 +1,5 @@ package com.github.technus.tectech.compatibility.openmodularturrets.tileentity.turret; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; - import com.github.technus.tectech.compatibility.openmodularturrets.entity.projectiles.projectileEM; import com.github.technus.tectech.compatibility.openmodularturrets.tileentity.turretbase.TileTurretBaseEM; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; @@ -16,35 +14,37 @@ import openmodularturrets.handler.ConfigHandler; import openmodularturrets.tileentity.turrets.TurretHead; import openmodularturrets.util.TurretHeadUtil; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; + /** * Created by Bass on 27/07/2017. */ -public class TileTurretHeadEM extends TurretHead { +public class TileTurretHeadEM extends TurretHead{ private EMInstanceStackMap hatchContentPointer; @Override public int getTurretRange() { - return ConfigHandler.getLaserTurretSettings().getRange() << 1; + return ConfigHandler.getLaserTurretSettings().getRange()<<1; } @Override public int getTurretPowerUsage() { - return ConfigHandler.getLaserTurretSettings().getPowerUsage() << 4; + return ConfigHandler.getLaserTurretSettings().getPowerUsage()<<4; } @Override public int getTurretFireRate() { - return (int) Math.ceil(ConfigHandler.getLaserTurretSettings().getFireRate() / 2f); + return (int)Math.ceil(ConfigHandler.getLaserTurretSettings().getFireRate()/2f); } @Override public double getTurretAccuracy() { - return (int) Math.ceil(ConfigHandler.getLaserTurretSettings().getAccuracy() / 10.0F); + return (int)Math.ceil(ConfigHandler.getLaserTurretSettings().getAccuracy() / 10.0F); } @Override public void updateEntity() { - if (!worldObj.isRemote && base instanceof TileTurretBaseEM) { + if(!worldObj.isRemote && base instanceof TileTurretBaseEM) { hatchContentPointer = ((TileTurretBaseEM) base).getContainerHandler(); } super.updateEntity(); @@ -57,13 +57,12 @@ public class TileTurretHeadEM extends TurretHead { @Override public boolean requiresSpecificAmmo() { - return true; // to enable failure in shooting when there is no EM to use + return true;//to enable failure in shooting when there is no EM to use } @Override public Item getAmmo() { - return DebugElementalInstanceContainer_EM - .INSTANCE; // Placeholder item that cannot be achieved, yet still usable for debug + return DebugElementalInstanceContainer_EM.INSTANCE;//Placeholder item that cannot be achieved, yet still usable for debug } @Override @@ -71,10 +70,10 @@ public class TileTurretHeadEM extends TurretHead { if (hatchContentPointer == null || hatchContentPointer.isEmpty()) { return new projectileEM(world, TurretHeadUtil.getTurretBase(worldObj, xCoord, yCoord, zCoord), null); } - EMInstanceStack stack = hatchContentPointer.getRandom(); - double amount = Math.min(EM_COUNT_PER_MATERIAL_AMOUNT, stack.getAmount()); + EMInstanceStack stack = hatchContentPointer.getRandom(); + double amount = Math.min(EM_COUNT_PER_MATERIAL_AMOUNT, stack.getAmount()); hatchContentPointer.removeAmount(stack.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT); - stack = stack.clone(); + stack=stack.clone(); stack.setAmount(amount); return new projectileEM(world, TurretHeadUtil.getTurretBase(worldObj, xCoord, yCoord, zCoord), stack); } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java index 4e048fd51a..0dbc33e007 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java @@ -11,13 +11,16 @@ import openmodularturrets.tileentity.turretbase.TurretBaseTierFiveTileEntity; /** * Created by Bass on 27/07/2017. */ + public class TileTurretBaseEM extends TurretBaseTierFiveTileEntity { public TileTurretBaseEM(int MaxEnergyStorage, int MaxIO) { super(MaxEnergyStorage, MaxIO); } @Override - @Optional.Method(modid = "OpenComputers") + @Optional.Method( + modid = "OpenComputers" + ) public String getComponentName() { return "turretBaseEM"; } @@ -25,47 +28,41 @@ public class TileTurretBaseEM extends TurretBaseTierFiveTileEntity { public final EMInstanceStackMap getContainerHandler() { World worldIn = getWorldObj(); TileEntity te; - if ((te = worldIn.getTileEntity(xCoord + 1, yCoord, zCoord)) instanceof IGregTechTileEntity - && ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { - return getFromHatch( - (GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); + if ((te = worldIn.getTileEntity(xCoord + 1, yCoord, zCoord)) instanceof IGregTechTileEntity && + ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { + return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); } - if ((te = worldIn.getTileEntity(xCoord - 1, yCoord, zCoord)) instanceof IGregTechTileEntity - && ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { - return getFromHatch( - (GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); + if ((te = worldIn.getTileEntity(xCoord - 1, yCoord, zCoord)) instanceof IGregTechTileEntity && + ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { + return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); } - if ((te = worldIn.getTileEntity(xCoord, yCoord + 1, zCoord)) instanceof IGregTechTileEntity - && ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { - return getFromHatch( - (GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); + if ((te = worldIn.getTileEntity(xCoord, yCoord + 1, zCoord)) instanceof IGregTechTileEntity && + ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { + return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); } - if ((te = worldIn.getTileEntity(xCoord, yCoord - 1, zCoord)) instanceof IGregTechTileEntity - && ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { - return getFromHatch( - (GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); + if ((te = worldIn.getTileEntity(xCoord, yCoord - 1, zCoord)) instanceof IGregTechTileEntity && + ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { + return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); } - if ((te = worldIn.getTileEntity(xCoord, yCoord, zCoord + 1)) instanceof IGregTechTileEntity - && ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { - return getFromHatch( - (GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); + if ((te = worldIn.getTileEntity(xCoord, yCoord, zCoord + 1)) instanceof IGregTechTileEntity && + ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { + return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); } - if ((te = worldIn.getTileEntity(xCoord, yCoord, zCoord - 1)) instanceof IGregTechTileEntity - && ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { - return getFromHatch( - (GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); + if ((te = worldIn.getTileEntity(xCoord, yCoord, zCoord - 1)) instanceof IGregTechTileEntity && + ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { + return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); } return null; } private EMInstanceStackMap getFromHatch(GT_MetaTileEntity_Hatch_InputElemental hatch) { - hatch.updateTexture((byte) 8, (byte) 4); + hatch.updateTexture((byte) 8,(byte) 4); return hatch.getContentHandler(); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/spartakcore/SpartakCoreRecipeLoader.java b/src/main/java/com/github/technus/tectech/compatibility/spartakcore/SpartakCoreRecipeLoader.java index 635c1de419..b2050bbac5 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/spartakcore/SpartakCoreRecipeLoader.java +++ b/src/main/java/com/github/technus/tectech/compatibility/spartakcore/SpartakCoreRecipeLoader.java @@ -1,7 +1,5 @@ package com.github.technus.tectech.compatibility.spartakcore; -import static com.github.technus.tectech.loader.recipe.BaseRecipeLoader.getOrDefault; - import com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry; import com.github.technus.tectech.recipe.TT_recipeAdder; import com.github.technus.tectech.thing.CustomItemList; @@ -22,1695 +20,662 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; +import static com.github.technus.tectech.loader.recipe.BaseRecipeLoader.getOrDefault; + /** * Created by Spartak1997 on 28.07.2019. */ public class SpartakCoreRecipeLoader { public void run(EMTransformationRegistry transformationInfo) { + + //Quantum Glass + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Containment.get(1), + GT_ModHandler.getIC2Item("reinforcedGlass", 1L) + }, Materials.Osmium.getMolten(576), new ItemStack(QuantumGlassBlock.INSTANCE, 1), 200, 500000); - // Quantum Glass - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] {CustomItemList.eM_Containment.get(1), GT_ModHandler.getIC2Item("reinforcedGlass", 1L)}, - Materials.Osmium.getMolten(576), - new ItemStack(QuantumGlassBlock.INSTANCE, 1), - 200, - 500000); - - // region pipes - - // Data - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Circuit_Parts_GlassFiber.get(8), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silver, 8) - }, - Materials.Polytetrafluoroethylene.getMolten(144), - CustomItemList.DATApipe.get(1), - 200, - 30720); - - // endregion - - // Tunnel - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.DATApipe.get(1), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmiridium, 4), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), - ItemList.Field_Generator_MV.get(1), - ItemList.Circuit_Quantummainframe.get(1) - }, - Materials.Osmium.getMolten(288), - CustomItemList.EMpipe.get(1), - 400, - 500000); - - // Laser - GT_Values.RA.addAssemblerRecipe( - 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); + //region pipes - // endregoin + //Data + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Circuit_Parts_GlassFiber.get(8), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silver, 8) + }, Materials.Polytetrafluoroethylene.getMolten(144), CustomItemList.DATApipe.get(1), 200, 30720); - // region casing + //endregion - // High Power Casing - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 16), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) - }, - Materials.TungstenSteel.getMolten(576), + //Tunnel + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.DATApipe.get(1), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmiridium, 4), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 4), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + ItemList.Field_Generator_MV.get(1), + ItemList.Circuit_Quantummainframe.get(1) + }, Materials.Osmium.getMolten(288), CustomItemList.EMpipe.get(1), 400, 500000); + + //Laser + GT_Values.RA.addAssemblerRecipe(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 + + //region casing + + //High Power Casing + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 16), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, Materials.TungstenSteel.getMolten(576), CustomItemList.eM_Power.get(1), 100, 30720); + + //Computer Casing + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ CustomItemList.eM_Power.get(1), - 100, - 30720); - - // Computer Casing - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Power.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) - }, - Materials.Aluminium.getMolten(1296), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, Materials.Aluminium.getMolten(1296), CustomItemList.eM_Computer_Casing.get(1), 200, 122880); + //Computer Vent Casing + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), + ItemList.Electric_Motor_IV.get(2), + 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) + }, Materials.SolderingAlloy.getMolten(1296), CustomItemList.eM_Computer_Vent.get(1), 100, 1920); + //Advanced Computer Casing + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ CustomItemList.eM_Computer_Casing.get(1), - 200, - 122880); - // Computer Vent Casing - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), - ItemList.Electric_Motor_IV.get(2), - 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) - }, - Materials.SolderingAlloy.getMolten(1296), - CustomItemList.eM_Computer_Vent.get(1), - 100, - 1920); - // Advanced Computer Casing - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Computer_Casing.get(1), - 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) - }, - 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, 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) - }, - Materials.Osmium.getMolten(1296), - CustomItemList.eM_Containment.get(1), - 800, - 500000); - - // Hollow Casing - TT_recipeAdder.addResearchableAssemblylineRecipe( - CustomItemList.eM_Containment.get(1), - 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), - }, - new FluidStack[] { - getOrDefault("Trinium", Materials.Americium).getMolten(1296), - Materials.Osmium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Argon.getGas(1000), - }, - CustomItemList.eM_Hollow.get(2), - 200, - 2000000); - - // EM Coil - TT_recipeAdder.addResearchableAssemblylineRecipe( - CustomItemList.eM_Hollow.get(1), - 48000, - 128, - 1000000, - 16, - new ItemStack[] { - CustomItemList.eM_Hollow.get(1), - ItemList.Casing_Fusion_Coil.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), - }, - CustomItemList.eM_Coil.get(4), - 800, - 2000000); - - // endregion - - // region hatches - - // Dynamo Hatches IV-UHV - 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) - }, + 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) + }, 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, 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) + }, Materials.Osmium.getMolten(1296), CustomItemList.eM_Containment.get(1), 800, 500000); + + //Hollow Casing + TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Containment.get(1), + 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), + }, new FluidStack[]{ + getOrDefault("Trinium",Materials.Americium).getMolten(1296), + Materials.Osmium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Argon.getGas(1000), + }, CustomItemList.eM_Hollow.get(2), 200, 2000000); + + //EM Coil + TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Hollow.get(1), + 48000,128, 1000000, 16, new ItemStack[]{ + CustomItemList.eM_Hollow.get(1), + ItemList.Casing_Fusion_Coil.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), + }, CustomItemList.eM_Coil.get(4), 800, 2000000); + + //endregion + + + //region hatches + + //Dynamo Hatches IV-UHV + 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)}, Materials.Silver.getMolten(144), + CustomItemList.eM_dynamoMulti4_IV.get(1), 100, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ 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) - }, + 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), - 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) - }, + 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); + 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) - }, + 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)}, Materials.Silver.getMolten(288), + CustomItemList.eM_dynamoMulti4_LuV.get(1), 100, 7860); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ 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) - }, + 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), - 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) - }, + 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); + 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) - }, + 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)}, Materials.Silver.getMolten(576), + CustomItemList.eM_dynamoMulti4_ZPM.get(1), 100, 30720); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ 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) - }, + 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), - 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) - }, + 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); + 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) - }, + 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)}, Materials.Silver.getMolten(1152), + CustomItemList.eM_dynamoMulti4_UV.get(1), 100, 122880); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ 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) - }, + 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), - 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) - }, + 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); + 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) - }, + 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)}, Materials.Silver.getMolten(2304), + CustomItemList.eM_dynamoMulti4_UHV.get(1), 100, 500000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ 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) - }, + 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), - 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) - }, + 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); + CustomItemList.eM_dynamoMulti64_UHV.get(1), 400, 500000); - // Energy Hatches 4A-64A IV-UHV - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Hatch_Energy_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2) - }, + //Energy Hatches 4A-64A IV-UHV + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Hatch_Energy_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_energyMulti4_IV.get(1), - 100, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_energyMulti4_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 4) - }, + CustomItemList.eM_energyMulti4_IV.get(1), 100, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_energyMulti4_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_energyMulti16_IV.get(1), - 200, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_energyMulti16_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6) - }, + CustomItemList.eM_energyMulti16_IV.get(1), 200, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_energyMulti16_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_energyMulti64_IV.get(1), - 400, - 7680); + 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) - }, + 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)}, Materials.Silver.getMolten(288), + CustomItemList.eM_energyMulti4_LuV.get(1), 100, 30720); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ 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) - }, + 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), - 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) - }, + 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); + 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) - }, + 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)}, 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), 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)}, 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), 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)}, Materials.Tungsten.getMolten(576), - CustomItemList.eM_energyMulti64_ZPM.get(1), - 400, - 122880); + 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) - }, + 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)}, Materials.Silver.getMolten(1152), + CustomItemList.eM_energyMulti4_UV.get(1), 100, 500000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ 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) - }, + 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), - 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) - }, + 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); + 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) - }, + 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)}, Materials.Silver.getMolten(2304), + CustomItemList.eM_energyMulti4_UHV.get(1), 100, 500000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ 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) - }, + 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), - 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) - }, + 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); - - // 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), - ItemList.Hatch_Input_Bus_LuV.get(1), - ItemList.Circuit_Crystalcomputer.get(1), - CustomItemList.DATApipe.get(2) - }, - Materials.Iridium.getMolten(1296), - CustomItemList.dataIn_Hatch.get(1), - 200, - 122880); - // Data Output - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Hatch_Output_Bus_LuV.get(1), - ItemList.Circuit_Crystalcomputer.get(1), - CustomItemList.DATApipe.get(2) - }, - Materials.Iridium.getMolten(1296), - CustomItemList.dataOut_Hatch.get(1), - 200, - 122880); - - // Rack - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Computer_Bus.get(1), - ItemList.Hatch_Input_Bus_ZPM.get(1), - ItemList.Circuit_Crystalcomputer.get(2), - CustomItemList.DATApipe.get(4) - }, - Materials.Iridium.getMolten(1296), - CustomItemList.rack_Hatch.get(1), - 800, - 122880); + CustomItemList.eM_energyMulti64_UHV.get(1), 400, 500000); + + //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), + ItemList.Hatch_Input_Bus_LuV.get(1), + ItemList.Circuit_Crystalcomputer.get(1), + CustomItemList.DATApipe.get(2) + }, Materials.Iridium.getMolten(1296), CustomItemList.dataIn_Hatch.get(1), 200, 122880); + //Data Output + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Hatch_Output_Bus_LuV.get(1), + ItemList.Circuit_Crystalcomputer.get(1), + CustomItemList.DATApipe.get(2) + }, Materials.Iridium.getMolten(1296), CustomItemList.dataOut_Hatch.get(1), 200, 122880); - // Object Holder - GT_Values.RA.addAssemblylineRecipe( + //Rack + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Computer_Bus.get(1), ItemList.Hatch_Input_Bus_ZPM.get(1), - 10000, - new Object[] { - ItemList.Hatch_Input_Bus_ZPM.get(1), - CustomItemList.eM_Computer_Bus.get(1), - ItemList.Emitter_ZPM.get(8), - ItemList.Robot_Arm_ZPM.get(1), - ItemList.Electric_Motor_ZPM.get(2), - new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 1)}, - new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2)}, - new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 16)}, - CustomItemList.DATApipe.get(2), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(500), - Materials.Iridium.getMolten(1000), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) - }, - CustomItemList.holder_Hatch.get(1), - 1200, - 100000); + ItemList.Circuit_Crystalcomputer.get(2), + CustomItemList.DATApipe.get(4) + }, Materials.Iridium.getMolten(1296), CustomItemList.rack_Hatch.get(1), 800, 122880); - // Parameterizer - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Circuit_Masterquantumcomputer.get(1), - CustomItemList.DATApipe.get(4), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 16), - }, - Materials.Iridium.getMolten(2592), - CustomItemList.Parametrizer_Hatch.get(1), - 800, - 122880); - // Uncertainty - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Circuit_Ultimatecrystalcomputer.get(1), - CustomItemList.DATApipe.get(16), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 16), - }, - Materials.Iridium.getMolten(2592), - CustomItemList.Uncertainty_Hatch.get(1), - 1200, - 122880); + //Object Holder + GT_Values.RA.addAssemblylineRecipe(ItemList.Hatch_Input_Bus_ZPM.get(1), 10000, new Object[]{ + ItemList.Hatch_Input_Bus_ZPM.get(1), + CustomItemList.eM_Computer_Bus.get(1), + ItemList.Emitter_ZPM.get(8), + ItemList.Robot_Arm_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 1)}, + new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2)}, + new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 16)}, + CustomItemList.DATApipe.get(2), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(500), + Materials.Iridium.getMolten(1000), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) + }, CustomItemList.holder_Hatch.get(1), 1200, 100000); + + //Parameterizer + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Circuit_Masterquantumcomputer.get(1), + CustomItemList.DATApipe.get(4), + ItemList.Cover_Screen.get(1 ), + new ItemStack(Blocks.stone_button, 16), + }, Materials.Iridium.getMolten(2592), CustomItemList.Parametrizer_Hatch.get(1), 800, 122880); + //Uncertainty + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Circuit_Ultimatecrystalcomputer.get(1), + CustomItemList.DATApipe.get(16), + ItemList.Cover_Screen.get(1 ), + new ItemStack(Blocks.stone_button, 16), + }, Materials.Iridium.getMolten(2592), CustomItemList.Uncertainty_Hatch.get(1), 1200, 122880); + + //Elemental Input + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Input_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), + ItemList.Sensor_UV.get(1) + }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_in_UV.get(1), 800, 500000); + //Elemental Output + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Output_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), + ItemList.Emitter_UV.get(1) + }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_out_UV.get(1), 800, 500000); + //Overflow + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Muffler_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Naquadah, 1), + ItemList.Field_Generator_UV.get(1) + }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_muffler_UV.get(1), 800, 500000); - // Elemental Input - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Input_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), - ItemList.Sensor_UV.get(1) - }, - Materials.Osmiridium.getMolten(1296), - CustomItemList.eM_in_UV.get(1), - 800, - 500000); - // Elemental Output - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Output_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), - ItemList.Emitter_UV.get(1) - }, - Materials.Osmiridium.getMolten(1296), - CustomItemList.eM_out_UV.get(1), - 800, - 500000); - // Overflow - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Muffler_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Naquadah, 1), - ItemList.Field_Generator_UV.get(1) - }, - Materials.Osmiridium.getMolten(1296), - CustomItemList.eM_muffler_UV.get(1), - 800, - 500000); + //endregion - // endregion - // region multi blocks + //region multi blocks - // Microwave Grinder - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Machine_HV_Microwave.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16), - ItemList.Upgrade_Overclocker.get(4), - }, - Materials.Copper.getMolten(576), - CustomItemList.Machine_Multi_Microwave.get(1), - 800, - 480); + //Microwave Grinder + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Machine_HV_Microwave.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16), + ItemList.Upgrade_Overclocker.get(4), + }, Materials.Copper.getMolten(576), CustomItemList.Machine_Multi_Microwave.get(1), 800, 480); - // Network Switch - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.Machine_Multi_Transformer.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 4), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 64), - CustomItemList.DATApipe.get(4), - }, - Materials.Iridium.getMolten(1296), + //Network Switch + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.Machine_Multi_Transformer.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 64), + CustomItemList.DATApipe.get(4), + }, Materials.Iridium.getMolten(1296), CustomItemList.Machine_Multi_Switch.get(1), 800, 122880); + + //Quantum Computer + GT_Values.RA.addAssemblylineRecipe(ItemList.Tool_DataOrb.get(1), 20000, new Object[]{ CustomItemList.Machine_Multi_Switch.get(1), - 800, - 122880); - - // Quantum Computer - GT_Values.RA.addAssemblylineRecipe( + new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2)}, ItemList.Tool_DataOrb.get(1), - 20000, - new Object[] { - CustomItemList.Machine_Multi_Switch.get(1), - new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2)}, - ItemList.Tool_DataOrb.get(1), - ItemList.Cover_Screen.get(1), - new ItemStack[] { - GT_OreDictUnificator.get( - OrePrefixes.wireGt04, getOrDefault("SuperconductorUV", Materials.Superconductor), 8) - }, - CustomItemList.DATApipe.get(8), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(1000), - Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Hydrogen.getGas(1000), - }, - CustomItemList.Machine_Multi_Computer.get(1), - 12000, - 100000); - - // Research Station - GT_Values.RA.addAssemblylineRecipe( - ItemList.Machine_IV_Scanner.get(1), - 80000, - new Object[] { - CustomItemList.Machine_Multi_Switch.get(1), - ItemList.Sensor_ZPM.get(8), - new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 4)}, - ItemList.Field_Generator_ZPM.get(1), - ItemList.Electric_Motor_ZPM.get(2), - new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4)}, - new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 32)}, - CustomItemList.DATApipe.get(16), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(1000), - Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, - CustomItemList.Machine_Multi_Research.get(1), - 12000, - 100000); + ItemList.Cover_Screen.get(1), + new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireGt04, getOrDefault("SuperconductorUV",Materials.Superconductor), 8)}, + CustomItemList.DATApipe.get(8), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Hydrogen.getGas(1000), + }, CustomItemList.Machine_Multi_Computer.get(1), 12000, 100000); - // Matter Junction - TT_recipeAdder.addResearchableAssemblylineRecipe( + //Research Station + GT_Values.RA.addAssemblylineRecipe(ItemList.Machine_IV_Scanner.get(1), 80000, new Object[]{ CustomItemList.Machine_Multi_Switch.get(1), - 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), - ItemList.Electric_Piston_LuV.get(2), - ItemList.Circuit_Wetwaresupercomputer.get(2), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 4), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, - CustomItemList.Machine_Multi_EMjunction.get(1), - 12000, - 100000); - - // Matter Quantizer - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Hatch_Input_UV.get(1), - 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), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, - CustomItemList.Machine_Multi_MatterToEM.get(1), - 12000, - 100000); + ItemList.Sensor_ZPM.get(8), + new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 4)}, + ItemList.Field_Generator_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4)}, + new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 32)}, + CustomItemList.DATApipe.get(16), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_Research.get(1), 12000, 100000); - // Matter DeQuantizer - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Hatch_Output_UV.get(1), - 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), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, - CustomItemList.Machine_Multi_EMToMatter.get(1), - 12000, - 100000); + //Matter Junction + TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Switch.get(1), + 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), + ItemList.Electric_Piston_LuV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 4), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_EMjunction.get(1), 12000, 100000); - // Multi Infuser - TT_recipeAdder.addResearchableAssemblylineRecipe( + //Matter Quantizer + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Input_UV.get(1), + 12000,32, 500000, 6, new ItemStack[]{ CustomItemList.Machine_Multi_Transformer.get(1), - 192000, - 512, - 2000000, - 32, - new ItemStack[] { - CustomItemList.Machine_Multi_Transformer.get(1), - CustomItemList.eM_Coil.get(8), - CustomItemList.eM_Power.get(8), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), - }, - new FluidStack[] { - Materials.Electrum.getMolten(2592), - Materials.Neutronium.getMolten(1872), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - }, - CustomItemList.Machine_Multi_Infuser.get(1), - 8000, - 2000000); + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), + ItemList.Emitter_UV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_MatterToEM.get(1), 12000, 100000); - // endregion + //Matter DeQuantizer + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Output_UV.get(1), + 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), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_EMToMatter.get(1), 12000, 100000); + + //Multi Infuser + TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Transformer.get(1), + 192000,512, 2000000, 32, new ItemStack[]{ + CustomItemList.Machine_Multi_Transformer.get(1), + CustomItemList.eM_Coil.get(8), + CustomItemList.eM_Power.get( 8), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), + }, new FluidStack[]{ + Materials.Electrum.getMolten(2592), + Materials.Neutronium.getMolten(1872), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + }, CustomItemList.Machine_Multi_Infuser.get(1), 8000, 2000000); + + + //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)); + + 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)); } } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMComplexAspectDefinition.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMComplexAspectDefinition.java index 197e59dc1e..c2d93cf0fd 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMComplexAspectDefinition.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMComplexAspectDefinition.java @@ -1,10 +1,5 @@ package com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; @@ -16,11 +11,16 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.reg import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMConstantStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by Tec on 06.05.2017. */ public final class EMComplexAspectDefinition extends EMComplexTemplate { - private final int hash; + private final int hash; private final double mass; private static final String nbtType = "`"; @@ -52,15 +52,14 @@ public final class EMComplexAspectDefinition extends EMComplexTemplate { hash = super.hashCode(); } - // public but u can just try{}catch(){} the constructor it still calls this method + //public but u can just try{}catch(){} the constructor it still calls this method private static boolean canTheyBeTogether(EMConstantStackMap stacks) { long amount = 0; for (EMDefinitionStack aspects : stacks.valuesToArray()) { - if (!(aspects.getDefinition() instanceof EMComplexAspectDefinition) - && !(aspects.getDefinition() instanceof EMPrimalAspectDefinition)) { + if (!(aspects.getDefinition() instanceof EMComplexAspectDefinition) && !(aspects.getDefinition() instanceof EMPrimalAspectDefinition)) { return false; } - if ((int) aspects.getAmount() != aspects.getAmount()) { + if((int) aspects.getAmount() != aspects.getAmount()){ throw new ArithmeticException("Amount cannot be safely converted to int!"); } amount += aspects.getAmount(); @@ -158,7 +157,7 @@ public final class EMComplexAspectDefinition extends EMComplexTemplate { @Override public EMDecay[] getEnergyInducedDecay(long energyLevel) { - return new EMDecay[] {new EMDecay(0.75F, aspectStacks), deadEnd}; + return new EMDecay[]{new EMDecay(0.75F, aspectStacks), deadEnd}; } @Override @@ -207,16 +206,10 @@ public final class EMComplexAspectDefinition extends EMComplexTemplate { } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass( - nbtType, - new EMIndirectType( - (definitionsRegistry, nbt) -> - new EMComplexAspectDefinition(EMConstantStackMap.fromNBT(definitionsRegistry, nbt)), - EMComplexAspectDefinition.class, - "tt.keyword.Aspect")); + registry.registerDefinitionClass(nbtType, new EMIndirectType((definitionsRegistry, nbt)-> + new EMComplexAspectDefinition(EMConstantStackMap.fromNBT(definitionsRegistry,nbt)), EMComplexAspectDefinition.class, "tt.keyword.Aspect")); if (DEBUG_MODE) { - TecTech.LOGGER.info( - "Registered Elemental Matter Class: ComplexAspect " + nbtType + ' ' + getClassTypeStatic()); + TecTech.LOGGER.info("Registered Elemental Matter Class: ComplexAspect " + nbtType + ' ' + getClassTypeStatic()); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMPrimalAspectDefinition.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMPrimalAspectDefinition.java index 26a425bcc8..6fa709ef3e 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMPrimalAspectDefinition.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMPrimalAspectDefinition.java @@ -1,37 +1,37 @@ package com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions; -import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.EMPrimitiveTemplate; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; +import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by Tec on 06.05.2017. */ public final class EMPrimalAspectDefinition extends EMPrimitiveTemplate { public static final EMPrimalAspectDefinition - magic_air = new EMPrimalAspectDefinition("tt.keyword.Air", "a`", 1e1D, 45, "a`"), - magic_earth = new EMPrimalAspectDefinition("tt.keyword.Earth", "e`", 1e9D, 44, "e`"), - magic_fire = new EMPrimalAspectDefinition("tt.keyword.Fire", "f`", 1e3D, 43, "f`"), - magic_water = new EMPrimalAspectDefinition("tt.keyword.Water", "w`", 1e7D, 42, "w`"), - magic_order = new EMPrimalAspectDefinition("tt.keyword.Order", "o`", 1e5D, 40, "o`"), - magic_entropy = new EMPrimalAspectDefinition("tt.keyword.Chaos", "c`", 1e5D, 41, "c`"); - - private EMPrimalAspectDefinition(String name, String symbol, double mass, int ID, String bind) { - super(name, symbol, 0, mass, 0, -1, ID, bind); + magic_air = new EMPrimalAspectDefinition("tt.keyword.Air", "a`", 1e1D, 45,"a`"), + magic_earth = new EMPrimalAspectDefinition("tt.keyword.Earth", "e`", 1e9D, 44,"e`"), + magic_fire = new EMPrimalAspectDefinition("tt.keyword.Fire", "f`", 1e3D, 43,"f`"), + magic_water = new EMPrimalAspectDefinition("tt.keyword.Water", "w`", 1e7D, 42,"w`"), + magic_order = new EMPrimalAspectDefinition("tt.keyword.Order", "o`", 1e5D, 40,"o`"), + magic_entropy = new EMPrimalAspectDefinition("tt.keyword.Chaos", "c`", 1e5D, 41,"c`"); + + private EMPrimalAspectDefinition(String name, String symbol, double mass, int ID,String bind) { + super(name, symbol, 0, mass, 0, -1, ID,bind); } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(new EMType(EMPrimalAspectDefinition.class, "tt.keyword.Primal")); - magic_air.init(registry, null, -1F, -1, -1, NO_DECAY); - magic_earth.init(registry, null, -1F, -1, -1, NO_DECAY); - magic_fire.init(registry, null, -1F, -1, -1, NO_DECAY); - magic_water.init(registry, null, -1F, -1, -1, NO_DECAY); - magic_order.init(registry, null, -1F, -1, -1, NO_DECAY); - magic_entropy.init(registry, null, -1F, -1, -1, NO_DECAY); + registry.registerDefinitionClass(new EMType(EMPrimalAspectDefinition.class,"tt.keyword.Primal")); + magic_air.init(registry,null, -1F, -1, -1, NO_DECAY); + magic_earth.init(registry,null, -1F, -1, -1, NO_DECAY); + magic_fire.init(registry,null, -1F, -1, -1, NO_DECAY); + magic_water.init(registry,null, -1F, -1, -1, NO_DECAY); + magic_order.init(registry,null, -1F, -1, -1, NO_DECAY); + magic_entropy.init(registry,null, -1F, -1, -1, NO_DECAY); } @Override @@ -49,4 +49,4 @@ public final class EMPrimalAspectDefinition extends EMPrimitiveTemplate { public boolean isTimeSpanHalfLife() { return false; } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompat.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompat.java index e3d7835692..c1c6c6dcb2 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompat.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompat.java @@ -1,28 +1,30 @@ package com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations; + import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; + import java.util.HashMap; /** * Created by Tec on 21.05.2017. */ public class AspectDefinitionCompat { - public static AspectDefinitionCompat aspectDefinitionCompat; - private final HashMap defToAspect = new HashMap<>(); + public static AspectDefinitionCompat aspectDefinitionCompat; + private final HashMap defToAspect = new HashMap<>(); private final HashMap aspectToDef = new HashMap<>(); - public void run(EMDefinitionsRegistry registry) {} + public void run(EMDefinitionsRegistry registry){} - public String getAspectTag(IEMDefinition definition) { + public String getAspectTag(IEMDefinition definition){ return null; } - public String getAspectLocalizedName(IEMDefinition definition) { + public String getAspectLocalizedName(IEMDefinition definition){ return null; } - public IEMDefinition getDefinition(String aspect) { + public IEMDefinition getDefinition(String aspect){ return null; } diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompatEnabled.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompatEnabled.java index aa01486ec3..5b47414dc0 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompatEnabled.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompatEnabled.java @@ -1,65 +1,60 @@ package com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations; -import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.EMPrimalAspectDefinition.*; - import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.EMComplexAspectDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; -import java.util.ArrayList; import thaumcraft.api.aspects.Aspect; +import java.util.ArrayList; + +import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.EMPrimalAspectDefinition.*; + /** * Created by Tec on 21.05.2017. */ public final class AspectDefinitionCompatEnabled extends AspectDefinitionCompat { @Override - public void run(EMDefinitionsRegistry registry) { - getDefToAspect().put(magic_air, "aer"); - getDefToAspect().put(magic_earth, "terra"); - getDefToAspect().put(magic_fire, "ignis"); - getDefToAspect().put(magic_water, "aqua"); - getDefToAspect().put(magic_order, "ordo"); - getDefToAspect().put(magic_entropy, "perditio"); + public void run(EMDefinitionsRegistry registry){ + getDefToAspect().put(magic_air,"aer"); + getDefToAspect().put(magic_earth,"terra"); + getDefToAspect().put(magic_fire,"ignis"); + getDefToAspect().put(magic_water,"aqua"); + getDefToAspect().put(magic_order,"ordo"); + getDefToAspect().put(magic_entropy,"perditio"); - getAspectToDef().put("aer", magic_air); - getAspectToDef().put("terra", magic_earth); - getAspectToDef().put("ignis", magic_fire); - getAspectToDef().put("aqua", magic_water); - getAspectToDef().put("ordo", magic_order); - getAspectToDef().put("perditio", magic_entropy); + getAspectToDef().put("aer",magic_air); + getAspectToDef().put("terra",magic_earth); + getAspectToDef().put("ignis",magic_fire); + getAspectToDef().put("aqua",magic_water); + getAspectToDef().put("ordo",magic_order); + getAspectToDef().put("perditio",magic_entropy); - ArrayList list = Aspect.getCompoundAspects(); - Aspect[] array = list.toArray(new Aspect[0]); + ArrayList list=Aspect.getCompoundAspects(); + Aspect[] array= list.toArray(new Aspect[0]); while (!list.isEmpty()) { for (Aspect aspect : array) { if (list.contains(aspect)) { Aspect[] content = aspect.getComponents(); if (content.length != 2) { list.remove(aspect); - } else if (getAspectToDef().containsKey(content[0].getTag()) - && getAspectToDef().containsKey(content[1].getTag())) { + }else if(getAspectToDef().containsKey(content[0].getTag()) && getAspectToDef().containsKey(content[1].getTag())){ try { EMComplexAspectDefinition newAspect; - if (content[0].getTag().equals(content[1].getTag())) { - newAspect = new EMComplexAspectDefinition(getAspectToDef() - .get(content[0].getTag()) - .getStackForm(2)); - } else { + if(content[0].getTag().equals(content[1].getTag())){ + newAspect = new EMComplexAspectDefinition( + getAspectToDef().get(content[0].getTag()).getStackForm(2)); + }else{ newAspect = new EMComplexAspectDefinition( - getAspectToDef() - .get(content[0].getTag()) - .getStackForm(1), - getAspectToDef() - .get(content[1].getTag()) - .getStackForm(1)); + getAspectToDef().get(content[0].getTag()).getStackForm(1), + getAspectToDef().get(content[1].getTag()).getStackForm(1)); } - getAspectToDef().put(aspect.getTag(), newAspect); - getDefToAspect().put(newAspect, aspect.getTag()); + getAspectToDef().put(aspect.getTag(),newAspect); + getDefToAspect().put(newAspect,aspect.getTag()); registry.registerForDisplay(newAspect); - } catch (EMException e) { + }catch (EMException e) { /**/ - } finally { + }finally { list.remove(aspect); } } @@ -73,7 +68,7 @@ public final class AspectDefinitionCompatEnabled extends AspectDefinitionCompat return getDefToAspect().get(definition); } - public String getAspectLocalizedName(IEMDefinition definition) { + public String getAspectLocalizedName(IEMDefinition definition){ Aspect aspect = Aspect.aspects.get(getAspectTag(definition)); return aspect != null ? aspect.getName() : null; } diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompat.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompat.java index 7908be7bc0..a335b81793 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompat.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompat.java @@ -10,23 +10,23 @@ import net.minecraft.tileentity.TileEntity; public class EssentiaCompat { public static EssentiaCompat essentiaContainerCompat; - public boolean check(T meta, TileEntity te) { + public boolean check(T meta,TileEntity te){ return false; } - public TileEntity getContainer(T meta) { + public TileEntity getContainer(T meta){ return null; } - public String getEssentiaName(IEMDefinition stack) { + public String getEssentiaName(IEMDefinition stack){ return null; } - public boolean putInContainer(TileEntity container, String name) { + public boolean putInContainer(TileEntity container, String name){ return false; } - public IEMDefinition getFromContainer(TileEntity container) { + public IEMDefinition getFromContainer(TileEntity container){ return null; } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompatEnabled.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompatEnabled.java index ab60922b9a..bd20269944 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompatEnabled.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompatEnabled.java @@ -1,7 +1,5 @@ package com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi; -import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat.aspectDefinitionCompat; - import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import net.minecraft.tileentity.TileEntity; @@ -11,23 +9,21 @@ import thaumcraft.api.aspects.IAspectContainer; import thaumcraft.common.tiles.TileEssentiaReservoir; import thaumcraft.common.tiles.TileJarFillable; +import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat.aspectDefinitionCompat; + /** * Created by Tec on 21.05.2017. */ public class EssentiaCompatEnabled extends EssentiaCompat { @Override - public boolean check(T meta, TileEntity te) { + public boolean check(T meta,TileEntity te) { return te instanceof TileEssentiaReservoir || te instanceof TileJarFillable; } @Override public TileEntity getContainer(T meta) { - TileEntity tile = meta.getBaseMetaTileEntity() - .getTileEntityAtSide(meta.getBaseMetaTileEntity().getBackFacing()); - return tile != null && !tile.isInvalid() && tile instanceof TileEssentiaReservoir - || tile instanceof TileJarFillable - ? tile - : null; + TileEntity tile =meta.getBaseMetaTileEntity().getTileEntityAtSide(meta.getBaseMetaTileEntity().getBackFacing()); + return tile!=null && !tile.isInvalid() && tile instanceof TileEssentiaReservoir || tile instanceof TileJarFillable ?tile:null; } @Override @@ -42,28 +38,28 @@ public class EssentiaCompatEnabled extends EssentiaCompat { } if (container instanceof IAspectContainer) { Aspect aspect = Aspect.getAspect(aspectName); - if (aspect == null) { + if(aspect==null){ return false; } - int remaining = ((IAspectContainer) container).addToContainer(aspect, 1); - return remaining == 0; + int remaining=((IAspectContainer) container).addToContainer(aspect, 1); + return remaining==0; } return false; } @Override - public IEMDefinition getFromContainer(TileEntity container) { - if (container == null || container.isInvalid()) { + public IEMDefinition getFromContainer(TileEntity container){ + if(container==null || container.isInvalid()) { return null; } - if (container instanceof IAspectContainer) { - AspectList aspects = ((IAspectContainer) container).getAspects(); - if (aspects != null) { - Aspect[] aspectsArr = aspects.getAspects(); - if (aspectsArr != null && aspectsArr[0] != null) { - if (((IAspectContainer) container).takeFromContainer(aspectsArr[0], 1)) { - return aspectDefinitionCompat.getAspectToDef().get(aspectsArr[0].getTag()); - } + if(container instanceof IAspectContainer){ + AspectList aspects=((IAspectContainer) container).getAspects(); + if(aspects!=null){ + Aspect[] aspectsArr= aspects.getAspects(); + if(aspectsArr!=null && aspectsArr[0]!=null){ + if (((IAspectContainer) container).takeFromContainer(aspectsArr[0],1)){ + return aspectDefinitionCompat.getAspectToDef().get(aspectsArr[0].getTag()); + } } } } 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 3a1ec00999..d8eb7d69dc 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 @@ -1,17 +1,5 @@ package com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi; -import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_ITEM_DIMINISHED; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofTileAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; import com.github.technus.tectech.thing.block.QuantumGlassBlock; @@ -33,65 +21,53 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import thaumcraft.api.aspects.Aspect; +import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_ITEM_DIMINISHED; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofTileAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_MultiblockBase_EM - implements IConstructable { - // region structure - // use multi A energy inputs, use less power the longer it runs - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal( - "gt.blockmachines.multimachine.em.emtoessentia.hint.0"), // 1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.hint.1"), // 2 - Elemental Input Hatch - translateToLocal( - "gt.blockmachines.multimachine.em.emtoessentia.hint.2"), // 3 - Elemental Overflow Hatches or Elemental - // Casing - translateToLocal( - "gt.blockmachines.multimachine.em.emtoessentia.hint.3"), // General - Some sort of Essentia Storage +public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { + //region structure + //use multi A energy inputs, use less power the longer it runs + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.hint.0"),//1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.hint.1"),//2 - Elemental Input Hatch + translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.hint.2"),//3 - Elemental Overflow Hatches or Elemental Casing + translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.hint.3"),//General - Some sort of Essentia Storage }; private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition.builder() - .addShape("main", new String[][] { - {"DDD", "D~D", "DDD"}, - {"E E", " * ", "E E"}, - {"ABA", "BCB", "ABA"}, - {"FFF", "FBF", "FFF"}, - {"BEB", "EGE", "BEB"} + .addShape("main", new String[][]{ + {"DDD", "D~D", "DDD"}, + {"E E", " * ", "E E"}, + {"ABA", "BCB", "ABA"}, + {"FFF", "FBF", "FFF"}, + {"BEB", "EGE", "BEB"} }) .addElement('A', ofBlock(sBlockCasingsTT, 0)) .addElement('B', ofBlock(sBlockCasingsTT, 4)) .addElement('C', ofBlock(sBlockCasingsTT, 8)) - .addElement( - 'D', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_essentiaDequantizer::addClassicToMachineList, - textureOffset, - 1, - sBlockCasingsTT, - 0)) + .addElement('D', ofHatchAdderOptional(GT_MetaTileEntity_EM_essentiaDequantizer::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) .addElement('E', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement( - 'F', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_essentiaDequantizer::addElementalMufflerToMachineList, - textureOffset + 4, - 3, - sBlockCasingsTT, - 4)) - .addElement( - 'G', - ofHatchAdder( - GT_MetaTileEntity_EM_essentiaDequantizer::addElementalInputToMachineList, - textureOffset + 4, - 2)) - .addElement('*', ofTileAdder(essentiaContainerCompat::check, StructureLibAPI.getBlockHint(), 12)) + .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_essentiaDequantizer::addElementalMufflerToMachineList, textureOffset + 4, 3, sBlockCasingsTT, 4)) + .addElement('G', ofHatchAdder(GT_MetaTileEntity_EM_essentiaDequantizer::addElementalInputToMachineList, textureOffset + 4, 2)) + .addElement('*', ofTileAdder(essentiaContainerCompat::check, StructureLibAPI.getBlockHint(),12)) .build(); - private String outputEssentiaName = ""; - // endregion + private String outputEssentiaName= ""; + //endregion public GT_MetaTileEntity_EM_essentiaDequantizer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -155,8 +131,8 @@ public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_ TileEntity container = essentiaContainerCompat.getContainer(this); if (container == null) { stopMachine(); - } else { - if (!essentiaContainerCompat.putInContainer(container, outputEssentiaName)) { + }else{ + if(!essentiaContainerCompat.putInContainer(container,outputEssentiaName)){ stopMachine(); } } @@ -166,35 +142,17 @@ public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_ @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.em.emtoessentia.name")) // Machine Type: Essentia Dequantizer - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.emtoessentia.desc.0")) // Controller block of the - // Essentia Dequantizer - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.emtoessentia.desc.1")) // Transforms elemental matter - // back into essentia + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.name")) // Machine Type: Essentia Dequantizer + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.desc.0")) // Controller block of the Essentia Dequantizer + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.desc.1")) // Transforms elemental matter back into essentia .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(3, 3, 5, false) - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.ElementalInput"), - translateToLocal("tt.keyword.Structure.BackCenter"), - 2) // Elemental Input Hatch: Back center - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.ElementalOverflow"), - translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing4th"), - 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 4th slice - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.EssentiaStorage"), - translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), - 1) // Essentia Storage: Any High Power Casing on the front side - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), - 1) // Energy Hatch: Any High Power Casing on the front side - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), - 1) // Maintenance Hatch: Any High Power Casing on the front side + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalInput"), translateToLocal("tt.keyword.Structure.BackCenter"), 2) // Elemental Input Hatch: Back center + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOverflow"), translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing4th"), 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 4th slice + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.EssentiaStorage"), translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Essentia Storage: Any High Power Casing on the front side + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Energy Hatch: Any High Power Casing on the front side + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Maintenance Hatch: Any High Power Casing on the front side .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } 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 f1e28c4b27..a151c2becf 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 @@ -1,16 +1,5 @@ package com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi; -import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofTileAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.EMPrimalAspectDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; @@ -31,63 +20,50 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; +import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofTileAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_MultiblockBase_EM - implements IConstructable { - // region structure - // use multi A energy inputs, use less power the longer it runs - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal( - "gt.blockmachines.multimachine.em.essentiatoem.hint.0"), // 1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.hint.1"), // 2 - Elemental Output Hatch - translateToLocal( - "gt.blockmachines.multimachine.em.essentiatoem.hint.2"), // 3 - Elemental Overflow Hatches or Elemental - // Casing - translateToLocal( - "gt.blockmachines.multimachine.em.essentiatoem.hint.3"), // General - Some sort of Essentia Storage +public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { + //region structure + //use multi A energy inputs, use less power the longer it runs + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.hint.0"),//1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.hint.1"),//2 - Elemental Output Hatch + translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.hint.2"),//3 - Elemental Overflow Hatches or Elemental Casing + translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.hint.3"),//General - Some sort of Essentia Storage }; private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition.builder() - .addShape("main", new String[][] { - {"FFF", "F~F", "FFF"}, - {"E E", " * ", "E E"}, - {"BAB", "ACA", "BAB"}, - {"DDD", "DBD", "DDD"}, - {"EBE", "BGB", "EBE"} - }) - .addElement('A', ofBlock(sBlockCasingsTT, 0)) - .addElement('B', ofBlock(sBlockCasingsTT, 4)) - .addElement('C', ofBlock(sBlockCasingsTT, 8)) - .addElement( - 'D', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_essentiaQuantizer::addElementalMufflerToMachineList, - textureOffset + 4, - 3, - sBlockCasingsTT, - 4)) - .addElement('E', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement( - 'F', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_essentiaQuantizer::addClassicToMachineList, - textureOffset, - 1, - sBlockCasingsTT, - 0)) - .addElement( - 'G', - ofHatchAdder( - GT_MetaTileEntity_EM_essentiaQuantizer::addElementalOutputToMachineList, - textureOffset + 4, - 2)) - .addElement('*', ofTileAdder(essentiaContainerCompat::check, StructureLibAPI.getBlockHint(), 12)) - .build(); - // endregion + .addShape("main", new String[][]{ + {"FFF", "F~F", "FFF"}, + {"E E", " * ", "E E"}, + {"BAB", "ACA", "BAB"}, + {"DDD", "DBD", "DDD"}, + {"EBE", "BGB", "EBE"} + }) + .addElement('A', ofBlock(sBlockCasingsTT, 0)) + .addElement('B', ofBlock(sBlockCasingsTT, 4)) + .addElement('C', ofBlock(sBlockCasingsTT, 8)) + .addElement('D', ofHatchAdderOptional(GT_MetaTileEntity_EM_essentiaQuantizer::addElementalMufflerToMachineList, textureOffset + 4, 3, sBlockCasingsTT, 4)) + .addElement('E', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_essentiaQuantizer::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) + .addElement('G', ofHatchAdder(GT_MetaTileEntity_EM_essentiaQuantizer::addElementalOutputToMachineList, textureOffset + 4, 2)) + .addElement('*', ofTileAdder(essentiaContainerCompat::check, StructureLibAPI.getBlockHint(),12)) + .build(); + //endregion public GT_MetaTileEntity_EM_essentiaQuantizer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -114,8 +90,8 @@ public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_Mu mMaxProgresstime = 20; mEfficiencyIncrease = 10000; eAmpereFlow = 1; - outputEM = new EMInstanceStackMap[] { - new EMInstanceStackMap(new EMInstanceStack(definition, EM_COUNT_PER_MATERIAL_AMOUNT)) + outputEM = new EMInstanceStackMap[]{ + new EMInstanceStackMap(new EMInstanceStack(definition, EM_COUNT_PER_MATERIAL_AMOUNT)) }; if (definition instanceof EMPrimalAspectDefinition) { mEUt = (int) -V[8]; @@ -140,35 +116,17 @@ public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_Mu @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.em.essentiatoem.name")) // Machine Type: Essentia Quantizer - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.essentiatoem.desc.0")) // Controller block of the - // Essentia Quantizer - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.essentiatoem.desc.1")) // Transforms essentia into - // their elemental form + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.name")) // Machine Type: Essentia Quantizer + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.desc.0")) // Controller block of the Essentia Quantizer + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.desc.1")) // Transforms essentia into their elemental form .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(3, 3, 5, false) - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.ElementalOutput"), - translateToLocal("tt.keyword.Structure.BackCenter"), - 2) // Elemental Output Hatch: Back center - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.ElementalOverflow"), - translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing4th"), - 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 4th slice - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.EssentiaStorage"), - translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), - 1) // Essentia Storage: Any High Power Casing on the front side - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), - 1) // Energy Hatch: Any High Power Casing on the front side - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), - 1) // Maintenance Hatch: Any High Power Casing on the front side + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOutput"), translateToLocal("tt.keyword.Structure.BackCenter"), 2) // Elemental Output Hatch: Back center + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOverflow"), translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing4th"), 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 4th slice + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.EssentiaStorage"), translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Essentia Storage: Any High Power Casing on the front side + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Energy Hatch: Any High Power Casing on the front side + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Maintenance Hatch: Any High Power Casing on the front side .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } diff --git a/src/main/java/com/github/technus/tectech/font/TecTechFontRender.java b/src/main/java/com/github/technus/tectech/font/TecTechFontRender.java index a07f3fc224..60c3df47f9 100644 --- a/src/main/java/com/github/technus/tectech/font/TecTechFontRender.java +++ b/src/main/java/com/github/technus/tectech/font/TecTechFontRender.java @@ -5,33 +5,31 @@ import com.ibm.icu.text.ArabicShapingException; import com.ibm.icu.text.Bidi; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import java.io.IOException; -import java.io.InputStream; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; +import java.io.IOException; +import java.io.InputStream; + @SideOnly(Side.CLIENT) public class TecTechFontRender extends FontRenderer { public static final TecTechFontRender INSTANCE = new TecTechFontRender(); - private static final float DISTANCE_L = .125F; + private static final float DISTANCE_L = .125F; private static final float DISTANCE_L2 = DISTANCE_L * 2F; - private static final float DISTANCE_M = 0.06F; + private static final float DISTANCE_M = 0.06F; private static final float DISTANCE_M2 = DISTANCE_M * 2F; - private static final float DISTANCE_A = 0.06F; + private static final float DISTANCE_A = 0.06F; private static final float DISTANCE_A2 = DISTANCE_A * 2F; + private TecTechFontRender() { - super( - Minecraft.getMinecraft().gameSettings, - new ResourceLocation("textures/font/ascii.png"), - Minecraft.getMinecraft().renderEngine, - false); + super(Minecraft.getMinecraft().gameSettings, new ResourceLocation("textures/font/ascii.png"), Minecraft.getMinecraft().renderEngine, false); } private void resetStyles() { @@ -83,8 +81,8 @@ public class TecTechFontRender extends FontRenderer { private void renderStringAtPos(String p_78255_1_, boolean p_78255_2_) { for (int i = 0; i < p_78255_1_.length(); ++i) { char c0 = p_78255_1_.charAt(i); - int j; - int k; + int j; + int k; if (c0 == 167 && i + 1 < p_78255_1_.length()) { j = "0123456789abcdefklmnor".indexOf(p_78255_1_.toLowerCase().charAt(i + 1)); if (j < 16) { @@ -103,11 +101,7 @@ public class TecTechFontRender extends FontRenderer { k = this.colorCode[j]; this.textColor = k; - this.setColor( - (float) (k >> 16) / 255.0F, - (float) (k >> 8 & 255) / 255.0F, - (float) (k & 255) / 255.0F, - this.alpha); + this.setColor((float) (k >> 16) / 255.0F, (float) (k >> 8 & 255) / 255.0F, (float) (k & 255) / 255.0F, this.alpha); } else if (j == 16) { this.randomStyle = true; } else if (j == 17) { @@ -129,9 +123,7 @@ public class TecTechFontRender extends FontRenderer { ++i; } else { - j = - "\u00C0\u00C1\u00C2\u00C8\u00CA\u00CB\u00CD\u00D3\u00D4\u00D5\u00DA\u00DF\u00E3\u00F5\u011F\u0130\u0131\u0152\u0153\u015E\u015F\u0174\u0175\u017E\u0207\u0000\u0000\u0000\u0000\u0000\u0000\u0000 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u0000\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9\u00FF\u00D6\u00DC\u00F8\u00A3\u00D8\u00D7\u0192\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA\u00BF\u00AE\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\u03B2\u0393\u03C0\u03A3\u03C3\u03BC\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u2205\u2208\u2229\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u0000" - .indexOf(c0); + j = "\u00C0\u00C1\u00C2\u00C8\u00CA\u00CB\u00CD\u00D3\u00D4\u00D5\u00DA\u00DF\u00E3\u00F5\u011F\u0130\u0131\u0152\u0153\u015E\u015F\u0174\u0175\u017E\u0207\u0000\u0000\u0000\u0000\u0000\u0000\u0000 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u0000\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9\u00FF\u00D6\u00DC\u00F8\u00A3\u00D8\u00D7\u0192\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA\u00BF\u00AE\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\u03B2\u0393\u03C0\u03A3\u03C3\u03BC\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u2205\u2208\u2229\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u0000".indexOf(c0); if (this.randomStyle && j != -1) { do { k = this.fontRandom.nextInt(this.charWidth.length); @@ -140,7 +132,7 @@ public class TecTechFontRender extends FontRenderer { j = k; } - float f1 = this.unicodeFlag ? 0.5F : 1.0F; + float f1 = this.unicodeFlag ? 0.5F : 1.0F; boolean flag1 = (c0 == 0 || j == -1 || this.unicodeFlag) && p_78255_2_; if (flag1) { this.posX -= f1; @@ -173,6 +165,7 @@ public class TecTechFontRender extends FontRenderer { this.doDraw(f); } } + } @Override @@ -206,14 +199,7 @@ public class TecTechFontRender extends FontRenderer { } private float renderCharAtPos(int p_78278_1_, char p_78278_2_, boolean p_78278_3_) { - return p_78278_2_ == ' ' - ? 4.0F - : ("\u00C0\u00C1\u00C2\u00C8\u00CA\u00CB\u00CD\u00D3\u00D4\u00D5\u00DA\u00DF\u00E3\u00F5\u011F\u0130\u0131\u0152\u0153\u015E\u015F\u0174\u0175\u017E\u0207\u0000\u0000\u0000\u0000\u0000\u0000\u0000 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u0000\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9\u00FF\u00D6\u00DC\u00F8\u00A3\u00D8\u00D7\u0192\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA\u00BF\u00AE\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\u03B2\u0393\u03C0\u03A3\u03C3\u03BC\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u2205\u2208\u2229\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u0000" - .indexOf(p_78278_2_) - != -1 - && !this.unicodeFlag - ? this.renderDefaultChar(p_78278_1_, p_78278_3_) - : this.renderUnicodeChar(p_78278_2_, p_78278_3_)); + return p_78278_2_ == ' ' ? 4.0F : ("\u00C0\u00C1\u00C2\u00C8\u00CA\u00CB\u00CD\u00D3\u00D4\u00D5\u00DA\u00DF\u00E3\u00F5\u011F\u0130\u0131\u0152\u0153\u015E\u015F\u0174\u0175\u017E\u0207\u0000\u0000\u0000\u0000\u0000\u0000\u0000 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u0000\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9\u00FF\u00D6\u00DC\u00F8\u00A3\u00D8\u00D7\u0192\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA\u00BF\u00AE\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\u03B2\u0393\u03C0\u03A3\u03C3\u03BC\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u2205\u2208\u2229\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u0000".indexOf(p_78278_2_) != -1 && !this.unicodeFlag ? this.renderDefaultChar(p_78278_1_, p_78278_3_) : this.renderUnicodeChar(p_78278_2_, p_78278_3_)); } @Override @@ -404,12 +390,12 @@ public class TecTechFontRender extends FontRenderer { if (p_78256_1_ == null) { return 0; } else { - int i = 0; + int i = 0; boolean flag = false; for (int j = 0; j < p_78256_1_.length(); ++j) { char c0 = p_78256_1_.charAt(j); - int k = this.getCharWidth(c0); + int k = this.getCharWidth(c0); if (k < 0 && j < p_78256_1_.length() - 1) { ++j; @@ -436,4 +422,6 @@ public class TecTechFontRender extends FontRenderer { return i; } } + + } diff --git a/src/main/java/com/github/technus/tectech/loader/EntityLoader.java b/src/main/java/com/github/technus/tectech/loader/EntityLoader.java index 00a702f112..b188989ba3 100644 --- a/src/main/java/com/github/technus/tectech/loader/EntityLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/EntityLoader.java @@ -11,7 +11,7 @@ import cpw.mods.fml.common.registry.EntityRegistry; public class EntityLoader implements Runnable { @Override public void run() { - if (Loader.isModLoaded("openmodularturrets")) { + if(Loader.isModLoaded("openmodularturrets")) { EntityRegistry.registerModEntity(projectileEM.class, "projectileEM", 0, TecTech.instance, 16, 5, true); } } 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 f34ee81709..7965f09aff 100644 --- a/src/main/java/com/github/technus/tectech/loader/MainLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/MainLoader.java @@ -1,12 +1,5 @@ package com.github.technus.tectech.loader; -import static com.github.technus.tectech.TecTech.*; -import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat.aspectDefinitionCompat; -import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.util.CommonValues.*; -import static gregtech.api.enums.GT_Values.W; - import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat; @@ -37,20 +30,29 @@ import gregtech.api.enums.Materials; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; + +import static com.github.technus.tectech.TecTech.*; +import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat.aspectDefinitionCompat; +import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.util.CommonValues.*; +import static gregtech.api.enums.GT_Values.W; + public final class MainLoader { public static DamageSource microwaving, elementalPollution, subspace; - private MainLoader() {} + private MainLoader() { + } public static void staticLoad() { for (int i = 0; i < 16; i++) { @@ -65,7 +67,7 @@ public final class MainLoader { creativeTabTecTech = new CreativeTabTecTech("TecTech"); creativeTabEM = new CreativeTabEM("EM"); - // set expanded texture arrays for tiers + //set expanded texture arrays for tiers try { Textures.run(); } catch (Throwable t) { @@ -122,16 +124,14 @@ public final class MainLoader { ProgressManager.pop(progressBarLoad); } - public static void postLoad( - EMDefinitionsRegistry definitionsRegistry, EMTransformationRegistry transformationInfo) { + public static void postLoad(EMDefinitionsRegistry definitionsRegistry, EMTransformationRegistry transformationInfo) { ProgressManager.ProgressBar progressBarPostLoad = ProgressManager.push("TecTech Post Loader", 4); progressBarPostLoad.step("Dreamcraft Compatibility"); if (Loader.isModLoaded(Reference.DREAMCRAFT)) { try { Class clazz = Class.forName("com.dreammaster.gthandler.casings.GT_Container_CasingsNH"); - TT_Container_Casings.sBlockCasingsNH = - (Block) clazz.getField("sBlockCasingsNH").get(null); + TT_Container_Casings.sBlockCasingsNH = (Block) clazz.getField("sBlockCasingsNH").get(null); if (TT_Container_Casings.sBlockCasingsNH == null) { throw new NullPointerException("sBlockCasingsNH Is not set at this time"); @@ -153,10 +153,10 @@ public final class MainLoader { new BaseRecipeLoader().run(transformationInfo); TecTech.LOGGER.info("Recipe Init Done"); - // Hazmat moved to GT5U - // progressBarPostLoad.step("Register Extra Hazmat Suits"); - // registerExtraHazmats(); - // TecTech.LOGGER.info("Hazmat additions done"); + //Hazmat moved to GT5U + //progressBarPostLoad.step("Register Extra Hazmat Suits"); + //registerExtraHazmats(); + //TecTech.LOGGER.info("Hazmat additions done"); if (!configTecTech.DISABLE_BLOCK_HARDNESS_NERF) { progressBarPostLoad.step("Nerf blocks blast resistance"); @@ -171,8 +171,8 @@ public final class MainLoader { } private static void registerExtraHazmats() { - ItemStack EMT_iqC = GT_ModHandler.getModItem("EMT", "itemArmorQuantumChestplate", 1, W); - ItemStack GRAVI_gC = GT_ModHandler.getModItem("GraviSuite", "graviChestPlate", 1, W); + ItemStack EMT_iqC = GT_ModHandler.getModItem("EMT", "itemArmorQuantumChestplate", 1, W); + ItemStack GRAVI_gC = GT_ModHandler.getModItem("GraviSuite", "graviChestPlate", 1, W); ItemStack GRAVI_anC = GT_ModHandler.getModItem("GraviSuite", "advNanoChestPlate", 1, W); ItemStack IC2_qH = GT_ModHandler.getIC2Item("quantumHelmet", 1L, W); @@ -239,7 +239,7 @@ public final class MainLoader { GregTech_API.sElectroHazmatList.add(IC2_qL); GregTech_API.sElectroHazmatList.add(IC2_qB); - // todo add GC GS stuff + //todo add GC GS stuff } public static void addAfterGregTechPostLoadRunner() { @@ -259,11 +259,11 @@ public final class MainLoader { if (DEBUG_MODE) { LOGGER.info("Found Plasma of " + material.mName); } - if (material.mElement != null - && (material.mElement.mProtons >= Materials.Iron.mElement.mProtons - || -material.mElement.mProtons >= Materials.Iron.mElement.mProtons - || material.mElement.mNeutrons >= Materials.Iron.mElement.mNeutrons - || -material.mElement.mNeutrons >= Materials.Iron.mElement.mNeutrons)) { + if (material.mElement != null && + (material.mElement.mProtons >= Materials.Iron.mElement.mProtons || + -material.mElement.mProtons >= Materials.Iron.mElement.mProtons || + material.mElement.mNeutrons >= Materials.Iron.mElement.mNeutrons || + -material.mElement.mNeutrons >= Materials.Iron.mElement.mNeutrons)) { if (DEBUG_MODE) { LOGGER.info("Attempting to bind " + material.mName); } @@ -306,12 +306,11 @@ public final class MainLoader { public static int getFuelValue(FluidStack aLiquid) { if (aLiquid == null || GT_Recipe.GT_Recipe_Map.sTurbineFuels == null) return 0; - FluidStack tLiquid; + FluidStack tLiquid; Collection tRecipeList = GT_Recipe.GT_Recipe_Map.sPlasmaFuels.mRecipeList; - if (tRecipeList != null) - for (GT_Recipe tFuel : tRecipeList) - if ((tLiquid = GT_Utility.getFluidForFilledItem(tFuel.getRepresentativeInput(0), true)) != null) - if (aLiquid.isFluidEqual(tLiquid)) return tFuel.mSpecialValue; + if (tRecipeList != null) for (GT_Recipe tFuel : tRecipeList) + if ((tLiquid = GT_Utility.getFluidForFilledItem(tFuel.getRepresentativeInput(0), true)) != null) + if (aLiquid.isFluidEqual(tLiquid)) return tFuel.mSpecialValue; return 0; } @@ -345,7 +344,8 @@ public final class MainLoader { "witchery", "lootgames", "utilityworlds", - Reference.MODID)); + Reference.MODID + )); for (Block block : GameData.getBlockRegistry().typeSafeIterable()) { GameRegistry.UniqueIdentifier uniqueIdentifier = GameRegistry.findUniqueIdentifierFor(block); if (uniqueIdentifier != null) { 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 4b57c09ab8..8401af51ca 100644 --- a/src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java +++ b/src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java @@ -1,7 +1,5 @@ package com.github.technus.tectech.loader; -import static com.github.technus.tectech.Reference.MODID; - import com.github.technus.tectech.mechanics.data.ChunkDataMessage; import com.github.technus.tectech.mechanics.data.PlayerDataMessage; import com.github.technus.tectech.mechanics.enderStorage.EnderLinkCoverMessage; @@ -9,6 +7,8 @@ import com.github.technus.tectech.mechanics.pipe.PipeActivityMessage; import com.github.technus.tectech.mechanics.spark.RendererMessage; import com.github.technus.tectech.thing.metaTileEntity.hatch.TextParametersMessage; +import static com.github.technus.tectech.Reference.MODID; + public class NetworkDispatcher extends eu.usrv.yamcore.network.PacketDispatcher { public static NetworkDispatcher INSTANCE; @@ -32,13 +32,11 @@ public class NetworkDispatcher extends eu.usrv.yamcore.network.PacketDispatcher registerMessage(RendererMessage.ClientHandler.class, RendererMessage.RendererData.class); registerMessage(EnderLinkCoverMessage.ServerHandler.class, EnderLinkCoverMessage.EnderLinkCoverQuery.class); - registerMessage( - EnderLinkCoverMessage.ServerUpdateHandler.class, EnderLinkCoverMessage.EnderLinkCoverUpdate.class); + registerMessage(EnderLinkCoverMessage.ServerUpdateHandler.class, EnderLinkCoverMessage.EnderLinkCoverUpdate.class); registerMessage(EnderLinkCoverMessage.ClientHandler.class, EnderLinkCoverMessage.EnderLinkCoverData.class); registerMessage(TextParametersMessage.ServerHandler.class, TextParametersMessage.ParametersTextQuery.class); - registerMessage( - TextParametersMessage.ServerUpdateHandler.class, TextParametersMessage.ParametersTextUpdate.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 f69941cb63..840fe91b11 100644 --- a/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java +++ b/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java @@ -1,6 +1,7 @@ package com.github.technus.tectech.loader; import eu.usrv.yamcore.config.ConfigManager; + import java.io.File; public class TecTechConfig extends ConfigManager { @@ -8,7 +9,7 @@ public class TecTechConfig extends ConfigManager { super(pConfigBaseDirectory, pModCollectionDirectory, pModID); } - // final static to allow compiler to remove the debug code when this is false + //final static to allow compiler to remove the debug code when this is false public static boolean DEBUG_MODE = false; public static boolean POWERLESS_MODE = false; public boolean DISABLE_MATERIAL_LOADING_FFS; @@ -82,179 +83,71 @@ public class TecTechConfig extends ConfigManager { */ @Override protected void Init() { - DEBUG_MODE = _mainConfig.getBoolean( - "DebugMode", "debug", DEBUG_MODE, "Enables logging and other purely debug features"); - POWERLESS_MODE = - _mainConfig.getBoolean("PowerlessMode", "debug", POWERLESS_MODE, "Enables 0EU/t multi block machinery"); - DISABLE_MATERIAL_LOADING_FFS = _mainConfig.getBoolean( - "DisableMaterialLoading", - "debug", - DISABLE_MATERIAL_LOADING_FFS, - "Set to true to disable gregtech material processing"); + DEBUG_MODE = _mainConfig.getBoolean("DebugMode", "debug", DEBUG_MODE, + "Enables logging and other purely debug features"); + POWERLESS_MODE = _mainConfig.getBoolean("PowerlessMode", "debug", POWERLESS_MODE, + "Enables 0EU/t multi block machinery"); + DISABLE_MATERIAL_LOADING_FFS = _mainConfig.getBoolean("DisableMaterialLoading", "debug", + DISABLE_MATERIAL_LOADING_FFS, "Set to true to disable gregtech material processing"); - BOOM_ENABLE = _mainConfig.getBoolean( - "BoomEnable", - "features", - BOOM_ENABLE, + BOOM_ENABLE = _mainConfig.getBoolean("BoomEnable", "features", BOOM_ENABLE, "Set to false to disable explosions on everything bad that you can do"); - DISABLE_BLOCK_HARDNESS_NERF = _mainConfig.getBoolean( - "DisableBlockHardnessNerf", - "features", - DISABLE_BLOCK_HARDNESS_NERF, - "Set to true to disable the block hardness nerf"); - EASY_SCAN = _mainConfig.getBoolean( - "EasyScan", "features", EASY_SCAN, "Enables tricorder to scan EM i/o hatches directly, too CHEEKY"); - NERF_FUSION = _mainConfig.getBoolean( - "NerfFusion", - "features", - NERF_FUSION, + DISABLE_BLOCK_HARDNESS_NERF = _mainConfig.getBoolean("DisableBlockHardnessNerf", "features", + DISABLE_BLOCK_HARDNESS_NERF, "Set to true to disable the block hardness nerf"); + EASY_SCAN = _mainConfig.getBoolean("EasyScan", "features", EASY_SCAN, + "Enables tricorder to scan EM i/o hatches directly, too CHEEKY"); + NERF_FUSION = _mainConfig.getBoolean("NerfFusion", "features", NERF_FUSION, "Set to true to enable removal of plasmas heavier than Fe and other weird ones"); - ENABLE_TURRET_EXPLOSIONS = _mainConfig.getBoolean( - "TurretBoomEnable", - "features", - ENABLE_TURRET_EXPLOSIONS, - "Set to false to disable explosions caused by EM turrets"); - TURRET_DAMAGE_FACTOR = _mainConfig.getFloat( - "TurretDamageFactor", - "features", - TURRET_DAMAGE_FACTOR, - 0, - Short.MAX_VALUE, - "Damage is multiplied by this number"); - TURRET_EXPLOSION_FACTOR = _mainConfig.getFloat( - "TurretExplosionFactor", - "features", - TURRET_EXPLOSION_FACTOR, - 0, - Short.MAX_VALUE, - "Explosion strength is multiplied by this number"); + ENABLE_TURRET_EXPLOSIONS = _mainConfig.getBoolean("TurretBoomEnable", "features", + ENABLE_TURRET_EXPLOSIONS, "Set to false to disable explosions caused by EM turrets"); + TURRET_DAMAGE_FACTOR = _mainConfig.getFloat("TurretDamageFactor", "features", TURRET_DAMAGE_FACTOR, + 0, Short.MAX_VALUE, "Damage is multiplied by this number"); + TURRET_EXPLOSION_FACTOR = _mainConfig.getFloat("TurretExplosionFactor", "features", + TURRET_EXPLOSION_FACTOR, 0, Short.MAX_VALUE, "Explosion strength is multiplied by this number"); - MOD_ADMIN_ERROR_LOGS = _mainConfig.getBoolean( - "AdminErrorLog", - "modules", - MOD_ADMIN_ERROR_LOGS, + MOD_ADMIN_ERROR_LOGS = _mainConfig.getBoolean("AdminErrorLog", "modules", MOD_ADMIN_ERROR_LOGS, "If set to true, every op/admin will receive all errors occurred during the startup phase as in game message on join"); - TESLA_MULTI_GAS_OUTPUT = _mainConfig.getBoolean( - "TeslaMultiGasOutput", - "tesla_tweaks", - TESLA_MULTI_GAS_OUTPUT, - "Set to true to enable outputting plasmas as gasses from the tesla tower with a 1:1 ratio"); - TESLA_MULTI_LOSS_FACTOR_OVERDRIVE = _mainConfig.getFloat( - "TeslaMultiLossFactorOverdrive", - "tesla_tweaks", - TESLA_MULTI_LOSS_FACTOR_OVERDRIVE, - 0, - 1, - "Additional Tesla Tower power loss per amp as a factor of the tier voltage"); - TESLA_MULTI_LOSS_PER_BLOCK_T0 = _mainConfig.getInt( - "TeslaMultiLossPerBlockT0", - "tesla_tweaks", - TESLA_MULTI_LOSS_PER_BLOCK_T0, - 0, - Integer.MAX_VALUE, - "Tesla Tower power transmission loss per block per amp using no plasmas"); - TESLA_MULTI_LOSS_PER_BLOCK_T1 = _mainConfig.getInt( - "TeslaMultiLossPerBlockT1", - "tesla_tweaks", - TESLA_MULTI_LOSS_PER_BLOCK_T1, - 0, - Integer.MAX_VALUE, - "Tesla Tower power transmission loss per block per amp using helium or nitrogen plasma"); - TESLA_MULTI_LOSS_PER_BLOCK_T2 = _mainConfig.getInt( - "TeslaMultiLossPerBlockT2", - "tesla_tweaks", - TESLA_MULTI_LOSS_PER_BLOCK_T2, - 0, - Integer.MAX_VALUE, - "Tesla Tower power transmission loss per block per amp using radon plasma"); - TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM = _mainConfig.getInt( - "TeslaMultiPlasmaPerSecondT1Helium", - "tesla_tweaks", - TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM, - 0, - Integer.MAX_VALUE, - "Tesla Tower helium plasma consumed each second the tesla tower is active"); - TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN = _mainConfig.getInt( - "TeslaMultiPlasmaPerSecondT1Nitrogen", - "tesla_tweaks", - TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN, - 0, - Integer.MAX_VALUE, - "Tesla Tower nitrogen plasma consumed each second the tesla tower is active"); - TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON = _mainConfig.getInt( - "TeslaMultiPlasmaPerSecondT2Radon", - "tesla_tweaks", - TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON, - 0, - Integer.MAX_VALUE, - "Tesla Tower radon plasma consumed each second the tesla tower is active"); - TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1 = _mainConfig.getInt( - "TeslaMultiRangeCoefficientPlasmaT1", - "tesla_tweaks", - TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1, - 0, - Integer.MAX_VALUE, - "Tesla Tower T1 Plasmas Range Multiplier"); - TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2 = _mainConfig.getInt( - "TeslaMultiRangeCoefficientPlasmaT2", - "tesla_tweaks", - TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2, - 0, - Integer.MAX_VALUE, - "Tesla Tower T2 Plasmas Range Multiplier"); - TESLA_MULTI_RANGE_COVER = _mainConfig.getInt( - "TeslaMultiRangeCover", - "tesla_tweaks", - TESLA_MULTI_RANGE_COVER, - 0, - Integer.MAX_VALUE, - "Tesla Tower to Tesla Coil Rich Edition Cover max range"); - TESLA_MULTI_RANGE_TOWER = _mainConfig.getInt( - "TeslaMultiRangeTower", - "tesla_tweaks", - TESLA_MULTI_RANGE_TOWER, - 0, - Integer.MAX_VALUE, - "Tesla Tower to Tower max range"); - TESLA_MULTI_RANGE_TRANSCEIVER = _mainConfig.getInt( - "TeslaMultiRangeTransceiver", - "tesla_tweaks", - TESLA_MULTI_RANGE_TRANSCEIVER, - 0, - Integer.MAX_VALUE, - "Tesla Tower to Transceiver max range"); - TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE = _mainConfig.getFloat( - "TeslaSingleLossFactorOverdrive", - "tesla_tweaks", - TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE, - 0, - 1, - "Additional Tesla Transceiver power loss per amp as a factor of the tier voltage"); - TESLA_SINGLE_LOSS_PER_BLOCK = _mainConfig.getInt( - "TeslaSingleLossPerBlock", - "tesla_tweaks", - TESLA_SINGLE_LOSS_PER_BLOCK, - 0, - Integer.MAX_VALUE, - "Tesla Transceiver power transmission loss per block per amp"); - TESLA_SINGLE_RANGE = _mainConfig.getInt( - "TeslaSingleRange", - "tesla_tweaks", - TESLA_SINGLE_RANGE, - 0, - Integer.MAX_VALUE, - "Tesla Transceiver to max range"); - TESLA_VISUAL_EFFECT = _mainConfig.getBoolean( - "EnableTeslaVisualEffect", - "tesla_tweaks", - TESLA_VISUAL_EFFECT, - "Set true to enable the cool visual effect when tesla tower running."); + TESLA_MULTI_GAS_OUTPUT = _mainConfig.getBoolean("TeslaMultiGasOutput", "tesla_tweaks", + TESLA_MULTI_GAS_OUTPUT, "Set to true to enable outputting plasmas as gasses from the tesla tower with a 1:1 ratio"); + TESLA_MULTI_LOSS_FACTOR_OVERDRIVE = _mainConfig.getFloat("TeslaMultiLossFactorOverdrive", "tesla_tweaks", + TESLA_MULTI_LOSS_FACTOR_OVERDRIVE, 0, 1, "Additional Tesla Tower power loss per amp as a factor of the tier voltage"); + TESLA_MULTI_LOSS_PER_BLOCK_T0 = _mainConfig.getInt("TeslaMultiLossPerBlockT0", "tesla_tweaks", + TESLA_MULTI_LOSS_PER_BLOCK_T0, 0, Integer.MAX_VALUE, "Tesla Tower power transmission loss per block per amp using no plasmas"); + TESLA_MULTI_LOSS_PER_BLOCK_T1 = _mainConfig.getInt("TeslaMultiLossPerBlockT1", "tesla_tweaks", + TESLA_MULTI_LOSS_PER_BLOCK_T1, 0, Integer.MAX_VALUE, "Tesla Tower power transmission loss per block per amp using helium or nitrogen plasma"); + TESLA_MULTI_LOSS_PER_BLOCK_T2 = _mainConfig.getInt("TeslaMultiLossPerBlockT2", "tesla_tweaks", + TESLA_MULTI_LOSS_PER_BLOCK_T2, 0, Integer.MAX_VALUE, "Tesla Tower power transmission loss per block per amp using radon plasma"); + TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM = _mainConfig.getInt("TeslaMultiPlasmaPerSecondT1Helium", + "tesla_tweaks", TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM, 0, Integer.MAX_VALUE, "Tesla Tower helium plasma consumed each second the tesla tower is active"); + TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN = _mainConfig.getInt("TeslaMultiPlasmaPerSecondT1Nitrogen", + "tesla_tweaks", TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN, 0, Integer.MAX_VALUE, "Tesla Tower nitrogen plasma consumed each second the tesla tower is active"); + TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON = _mainConfig.getInt("TeslaMultiPlasmaPerSecondT2Radon", + "tesla_tweaks", TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON, 0, Integer.MAX_VALUE, "Tesla Tower radon plasma consumed each second the tesla tower is active"); + TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1 = _mainConfig.getInt("TeslaMultiRangeCoefficientPlasmaT1", + "tesla_tweaks", TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1, 0, Integer.MAX_VALUE, "Tesla Tower T1 Plasmas Range Multiplier"); + TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2 = _mainConfig.getInt("TeslaMultiRangeCoefficientPlasmaT2", + "tesla_tweaks", TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2, 0, Integer.MAX_VALUE, "Tesla Tower T2 Plasmas Range Multiplier"); + TESLA_MULTI_RANGE_COVER = _mainConfig.getInt("TeslaMultiRangeCover", "tesla_tweaks", + TESLA_MULTI_RANGE_COVER, 0, Integer.MAX_VALUE, "Tesla Tower to Tesla Coil Rich Edition Cover max range"); + TESLA_MULTI_RANGE_TOWER = _mainConfig.getInt("TeslaMultiRangeTower", "tesla_tweaks", + TESLA_MULTI_RANGE_TOWER, 0, Integer.MAX_VALUE, "Tesla Tower to Tower max range"); + TESLA_MULTI_RANGE_TRANSCEIVER = _mainConfig.getInt("TeslaMultiRangeTransceiver", "tesla_tweaks", + TESLA_MULTI_RANGE_TRANSCEIVER, 0, Integer.MAX_VALUE, "Tesla Tower to Transceiver max range"); + TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE = _mainConfig.getFloat("TeslaSingleLossFactorOverdrive", "tesla_tweaks", + TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE, 0, 1, "Additional Tesla Transceiver power loss per amp as a factor of the tier voltage"); + TESLA_SINGLE_LOSS_PER_BLOCK = _mainConfig.getInt("TeslaSingleLossPerBlock", "tesla_tweaks", + TESLA_SINGLE_LOSS_PER_BLOCK, 0, Integer.MAX_VALUE, "Tesla Transceiver power transmission loss per block per amp"); + TESLA_SINGLE_RANGE = _mainConfig.getInt("TeslaSingleRange", "tesla_tweaks", + TESLA_SINGLE_RANGE, 0, Integer.MAX_VALUE, "Tesla Transceiver to max range"); + TESLA_VISUAL_EFFECT = _mainConfig.getBoolean("EnableTeslaVisualEffect", "tesla_tweaks", + TESLA_VISUAL_EFFECT, "Set true to enable the cool visual effect when tesla tower running."); } /** * This loading phases do not correspond to mod loading phases! */ @Override - protected void PostInit() {} + protected void PostInit() { + } } diff --git a/src/main/java/com/github/technus/tectech/loader/gui/CreativeTabTecTech.java b/src/main/java/com/github/technus/tectech/loader/gui/CreativeTabTecTech.java index c853af8ee3..e5b9fea395 100644 --- a/src/main/java/com/github/technus/tectech/loader/gui/CreativeTabTecTech.java +++ b/src/main/java/com/github/technus/tectech/loader/gui/CreativeTabTecTech.java @@ -5,10 +5,11 @@ import com.github.technus.tectech.thing.item.DebugElementalInstanceContainer_EM; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.GregTech_API; -import java.util.List; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; +import java.util.List; + public class CreativeTabTecTech extends CreativeTabs { public CreativeTabTecTech(String name) { super(name); @@ -22,7 +23,7 @@ public class CreativeTabTecTech extends CreativeTabs { @Override public void displayAllReleventItems(List stuffToShow) { - for (CustomItemList item : CustomItemList.values()) { + for(CustomItemList item: CustomItemList.values()){ if (item.hasBeenSet() && item.getBlock() == GregTech_API.sBlockMachines) { stuffToShow.add(item.get(1)); } diff --git a/src/main/java/com/github/technus/tectech/loader/gui/ModGuiHandler.java b/src/main/java/com/github/technus/tectech/loader/gui/ModGuiHandler.java index 51bece0d4d..e555437104 100644 --- a/src/main/java/com/github/technus/tectech/loader/gui/ModGuiHandler.java +++ b/src/main/java/com/github/technus/tectech/loader/gui/ModGuiHandler.java @@ -10,8 +10,8 @@ import net.minecraft.world.World; * Created by danie_000 on 17.12.2017. */ public class ModGuiHandler implements IGuiHandler { - public static final int SCAN_DISPLAY_SCREEN_ID = 0; - public static final int PROGRAMMER_DISPLAY_SCREEN_ID = 1; + public static final int SCAN_DISPLAY_SCREEN_ID =0; + public static final int PROGRAMMER_DISPLAY_SCREEN_ID =1; @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { @@ -22,7 +22,7 @@ public class ModGuiHandler implements IGuiHandler { public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { if (ID == SCAN_DISPLAY_SCREEN_ID) { return new ScanDisplayScreen(player); - } else if (ID == PROGRAMMER_DISPLAY_SCREEN_ID) { + }else if(ID==PROGRAMMER_DISPLAY_SCREEN_ID){ return new ProgrammerScreen(player); } return null; diff --git a/src/main/java/com/github/technus/tectech/loader/recipe/BaseRecipeLoader.java b/src/main/java/com/github/technus/tectech/loader/recipe/BaseRecipeLoader.java index bdd2dc1136..e77e057d94 100644 --- a/src/main/java/com/github/technus/tectech/loader/recipe/BaseRecipeLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/recipe/BaseRecipeLoader.java @@ -1,7 +1,5 @@ package com.github.technus.tectech.loader.recipe; -import static gregtech.api.enums.GT_Values.RA; - import com.github.technus.tectech.Reference; import com.github.technus.tectech.compatibility.dreamcraft.DreamCraftRecipeLoader; import com.github.technus.tectech.compatibility.gtpp.GtppAtomLoader; @@ -24,6 +22,8 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; +import static gregtech.api.enums.GT_Values.RA; + /** * Created by danie_000 on 16.11.2016. */ @@ -44,142 +44,83 @@ public class BaseRecipeLoader { // Recipes init - common goes here rest goes into methods below // =================================================================================================== - for (int i = 0; i <= 15; i++) { - RA.addAssemblerRecipe( - new ItemStack[] { - GT_Utility.getIntegratedCircuit(i + 1), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 1) - }, + for(int i=0;i<=15;i++) { + RA.addAssemblerRecipe(new ItemStack[]{GT_Utility.getIntegratedCircuit(i+1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 1)}, Materials.Aluminium.getMolten(864), - new ItemStack(StructureLibAPI.getBlockHint(), 1, i), - 32, - 120); + new ItemStack(StructureLibAPI.getBlockHint(), 1, i), 32, 120); } - // Front Rotation Tool - GT_ModHandler.addCraftingRecipe( - GT_ModHandler.getModItem(StructureLibAPI.MOD_ID, "item.structurelib.frontRotationTool", 1L, 0), + //Front Rotation Tool + GT_ModHandler.addCraftingRecipe(GT_ModHandler.getModItem(StructureLibAPI.MOD_ID, "item.structurelib.frontRotationTool", 1L, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { - "fPR", - " RP", - "S h", - 'P', - OrePrefixes.plate.get(Materials.Cobalt), - 'R', - OrePrefixes.stick.get(Materials.Cobalt), - 'S', - OrePrefixes.stick.get(Materials.Wood), - }); - - // BLUEprint - // GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(ConstructableTriggerItem.INSTANCE, 1), - // GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - // new Object[]{Dyes.dyeBlue, OrePrefixes.plate.get(Materials.Paper), Dyes.dyeBlue, - // Dyes.dyeWhite}); - - // GT EU reader - GT_ModHandler.addCraftingRecipe( - new ItemStack(EuMeterGT.INSTANCE, 1), + new Object[]{"fPR", " RP", "S h", + 'P', OrePrefixes.plate.get(Materials.Cobalt), + 'R', OrePrefixes.stick.get(Materials.Cobalt), + 'S', OrePrefixes.stick.get(Materials.Wood),}); + + //BLUEprint +// GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(ConstructableTriggerItem.INSTANCE, 1), +// GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, +// new Object[]{Dyes.dyeBlue, OrePrefixes.plate.get(Materials.Paper), Dyes.dyeBlue, Dyes.dyeWhite}); + + + //GT EU reader + GT_ModHandler.addCraftingRecipe(new ItemStack(EuMeterGT.INSTANCE,1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { - "PGW", - "SCW", - "BRN", - 'P', - OrePrefixes.plateDouble.get(Materials.Steel), - 'G', - OrePrefixes.plate.get(Materials.Glass), - 'W', - OrePrefixes.cableGt01.get(Materials.Copper), - 'S', - OrePrefixes.stick.get(Materials.Brass), - 'C', - ItemList.Casing_Coil_Cupronickel.get(1), - 'B', - Dyes.dyeBlue, - 'R', - Dyes.dyeRed, - 'N', - Dyes.dyeBlack, - }); - - // Owner detector - GT_ModHandler.addCraftingRecipe( - CustomItemList.Machine_OwnerDetector.get(1), + new Object[]{"PGW", "SCW", "BRN", + 'P', OrePrefixes.plateDouble.get(Materials.Steel), + 'G', OrePrefixes.plate.get(Materials.Glass), + 'W', OrePrefixes.cableGt01.get(Materials.Copper), + 'S', OrePrefixes.stick.get(Materials.Brass), + 'C', ItemList.Casing_Coil_Cupronickel.get(1), + 'B', Dyes.dyeBlue, + 'R', Dyes.dyeRed, + 'N', Dyes.dyeBlack,}); + + //Owner detector + GT_ModHandler.addCraftingRecipe(CustomItemList.Machine_OwnerDetector.get(1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { - "PPP", - "GEG", - "PPP", - 'P', - OrePrefixes.plate.get(Materials.IronMagnetic), - 'G', - OrePrefixes.plate.get(Materials.Glass), - 'E', - OrePrefixes.gem.get(Materials.EnderPearl) - }); - - // Data reader - GT_ModHandler.addCraftingRecipe( - CustomItemList.Machine_DataReader.get(1), + new Object[]{"PPP","GEG","PPP", + 'P', OrePrefixes.plate.get(Materials.IronMagnetic), + 'G', OrePrefixes.plate.get(Materials.Glass), + 'E', OrePrefixes.gem.get(Materials.EnderPearl)}); + + //Data reader + GT_ModHandler.addCraftingRecipe(CustomItemList.Machine_DataReader.get(1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { - "BdB", - "GES", - "PwP", - 'B', - OrePrefixes.screw.get(Materials.Iridium), - 'P', - OrePrefixes.plate.get(Materials.Iridium), - 'G', - ItemList.Cover_Screen, - 'S', - OrePrefixes.circuit.get(Materials.Elite), - 'E', - ItemList.Hull_IV - }); - - // Data Bank - RA.addAssemblylineRecipe( - ItemList.Hatch_DataAccess_EV.get(1), - 20000, - new Object[] { - CustomItemList.Machine_Multi_Switch.get(1), - new Object[] {OrePrefixes.circuit.get(Materials.Master), 2}, - ItemList.Tool_DataOrb.get(1), - ItemList.Cover_Screen.get(1), - }, - new FluidStack[] { - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), Materials.Hydrogen.getGas(1000), - }, - CustomItemList.Machine_Multi_DataBank.get(1), - 12000, - 14000); - - // Bucks - // RA.addAssemblerRecipe(CustomItemList.) - - // recipe for ass line data hatches - RA.addAssemblerRecipe( - ItemList.Hatch_DataAccess_EV.get(1), - CustomItemList.dataIn_Hatch.get(1), - CustomItemList.dataInAss_Hatch.get(1), - 2048, - 12000); - RA.addAssemblerRecipe( - ItemList.Hatch_DataAccess_EV.get(1), - CustomItemList.dataOut_Hatch.get(1), - CustomItemList.dataOutAss_Hatch.get(1), - 2048, - 12000); + new Object[]{"BdB","GES","PwP", + 'B', OrePrefixes.screw.get(Materials.Iridium), + 'P', OrePrefixes.plate.get(Materials.Iridium), + 'G', ItemList.Cover_Screen, + 'S', OrePrefixes.circuit.get(Materials.Elite), + 'E', ItemList.Hull_IV}); + + //Data Bank + RA.addAssemblylineRecipe(ItemList.Hatch_DataAccess_EV.get(1), 20000, new Object[]{ + CustomItemList.Machine_Multi_Switch.get(1), + new Object[]{OrePrefixes.circuit.get(Materials.Master), 2}, + ItemList.Tool_DataOrb.get(1), + ItemList.Cover_Screen.get(1), + }, new FluidStack[]{ + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Hydrogen.getGas(1000), + }, CustomItemList.Machine_Multi_DataBank.get(1), 12000, 14000); + + //Bucks + //RA.addAssemblerRecipe(CustomItemList.) + + //recipe for ass line data hatches + RA.addAssemblerRecipe(ItemList.Hatch_DataAccess_EV.get(1), CustomItemList.dataIn_Hatch.get(1), CustomItemList.dataInAss_Hatch.get(1), 2048, 12000); + RA.addAssemblerRecipe(ItemList.Hatch_DataAccess_EV.get(1), CustomItemList.dataOut_Hatch.get(1), CustomItemList.dataOutAss_Hatch.get(1), 2048, 12000); if (Loader.isModLoaded(Reference.DREAMCRAFT)) { - new DreamCraftRecipeLoader().run(transformationInfo); // init recipes for GTNH version + new DreamCraftRecipeLoader().run(transformationInfo);//init recipes for GTNH version } else if (Loader.isModLoaded(Reference.SPARTAKCORE)) { - new SpartakCoreRecipeLoader().run(transformationInfo); // init recipes for SpartakCore version + new SpartakCoreRecipeLoader().run(transformationInfo);//init recipes for SpartakCore version } else { - new BloodyRecipeLoader().run(transformationInfo); // init recipes for NON-GTNH version + new BloodyRecipeLoader().run(transformationInfo);//init recipes for NON-GTNH version } } } + 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 a7b3b51b7c..a57f268d4e 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 @@ -25,2572 +25,1294 @@ import net.minecraftforge.fluids.FluidStack; */ public class BloodyRecipeLoader { public void run(EMTransformationRegistry transformationInfo) { - // Quantum Glass - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] {CustomItemList.eM_Containment.get(1), GT_ModHandler.getIC2Item("reinforcedGlass", 1L)}, - Materials.Osmium.getMolten(576), - new ItemStack(QuantumGlassBlock.INSTANCE, 1), - 200, - 500000); - - // region pipes - - // Data - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Circuit_Parts_GlassFiber.get(8), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Silver, 6) - }, - Materials.Polytetrafluoroethylene.getMolten(144), + //Quantum Glass + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Containment.get(1), + GT_ModHandler.getIC2Item("reinforcedGlass", 1L) + }, Materials.Osmium.getMolten(576), new ItemStack(QuantumGlassBlock.INSTANCE, 1), 200, 500000); + + //region pipes + + //Data + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Circuit_Parts_GlassFiber.get(8), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Silver, 6) + }, Materials.Polytetrafluoroethylene.getMolten(144), CustomItemList.DATApipe.get(1), 200, 30720); + + //Tunnel + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.DATApipe.get(1), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmiridium, 4), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 4), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + 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), - 200, - 30720); - - // Tunnel - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.DATApipe.get(1), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmiridium, 4), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), - 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); - - // endregion - - // region casing - - // High Power Casing - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Cobalt, 16), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) - }, - Materials.TungstenSteel.getMolten(576), + GT_ModHandler.getIC2Item("reinforcedGlass", 1L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 2) + }, null, CustomItemList.LASERpipe.get(1), 100, 500000); + + //endregion + + //region casing + + //High Power Casing + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Cobalt, 16), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, Materials.TungstenSteel.getMolten(576), CustomItemList.eM_Power.get(1), 100, 30720); + + //Computer Casing + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ CustomItemList.eM_Power.get(1), - 100, - 30720); - - // Computer Casing - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Power.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) - }, - Materials.Aluminium.getMolten(1296), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, Materials.Aluminium.getMolten(1296), CustomItemList.eM_Computer_Casing.get(1), 200, 122880); + //Computer Vent Casing + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), + ItemList.Electric_Motor_IV.get(2), + 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, Materials.Superconductor, 1) + }, Materials.SolderingAlloy.getMolten(1296), CustomItemList.eM_Computer_Vent.get(1), 100, 1920); + //Advanced Computer Casing + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ CustomItemList.eM_Computer_Casing.get(1), - 200, - 122880); - // Computer Vent Casing - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), - ItemList.Electric_Motor_IV.get(2), - 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, Materials.Superconductor, 1) - }, - Materials.SolderingAlloy.getMolten(1296), - CustomItemList.eM_Computer_Vent.get(1), - 100, - 1920); - // Advanced Computer Casing - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Cobalt, 32), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 64), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, 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.plateDouble, Materials.Osmiridium, 16), - GT_OreDictUnificator.get(OrePrefixes.foil, 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) - }, - Materials.Osmium.getMolten(1296), - CustomItemList.eM_Containment.get(1), - 800, - 500000); - - // Hollow Casing - TT_recipeAdder.addResearchableAssemblylineRecipe( - CustomItemList.eM_Containment.get(1), - 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), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Lead, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 16), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 16), - }, - new FluidStack[] { - Materials.Americium.getMolten(1296), - Materials.Osmium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Argon.getGas(576), - }, - CustomItemList.eM_Hollow.get(2), - 200, - 2000000); - - // EM Coil - TT_recipeAdder.addResearchableAssemblylineRecipe( - CustomItemList.eM_Hollow.get(1), - 48000, - 128, - 1000000, - 16, - new ItemStack[] { - CustomItemList.eM_Hollow.get(1), - ItemList.Casing_Fusion_Coil.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[] { - Materials.Glass.getMolten(2304), - Materials.Silicone.getMolten(1872), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Americium.getMolten(1296), - }, - CustomItemList.eM_Coil.get(4), - 800, - 2000000); - - // 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_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Cobalt, 32), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 64), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, 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.plateDouble, Materials.Osmiridium, 16), + GT_OreDictUnificator.get(OrePrefixes.foil, 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) + }, Materials.Osmium.getMolten(1296), CustomItemList.eM_Containment.get(1), 800, 500000); + + //Hollow Casing + TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Containment.get(1), + 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), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Lead, 8), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 16), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 16), + }, new FluidStack[]{ + Materials.Americium.getMolten(1296), + Materials.Osmium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Argon.getGas(576), + }, CustomItemList.eM_Hollow.get(2), 200, 2000000); + + //EM Coil + TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Hollow.get(1), + 48000, 128, 1000000, 16, new ItemStack[]{ + CustomItemList.eM_Hollow.get(1), + ItemList.Casing_Fusion_Coil.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[]{ + Materials.Glass.getMolten(2304), + Materials.Silicone.getMolten(1872), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Americium.getMolten(1296), + }, CustomItemList.eM_Coil.get(4), 800, 2000000); + + //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), + 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), + 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), + 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.Tin)}); - // Tesla Primary Coils T1 - GT_ModHandler.addCraftingRecipe( - CustomItemList.tM_TeslaPrimary_1.get(1), + new Object[]{"WWW", "WwW", "WWW", + 'W', OrePrefixes.wireGt02.get(Materials.Tin)}); + //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.Copper)}); - // Tesla Primary Coils T2 - GT_ModHandler.addCraftingRecipe( - CustomItemList.tM_TeslaPrimary_2.get(1), + new Object[]{"WWW", "WwW", "WWW", + 'W', OrePrefixes.wireGt02.get(Materials.Copper)}); + //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.Silver)}); - // Tesla Primary Coils T3 - GT_ModHandler.addCraftingRecipe( - CustomItemList.tM_TeslaPrimary_3.get(1), + new Object[]{"WWW", "WwW", "WWW", + 'W', OrePrefixes.wireGt02.get(Materials.Silver)}); + //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.Aluminium)}); - // Tesla Primary Coils T4 - GT_ModHandler.addCraftingRecipe( - CustomItemList.tM_TeslaPrimary_4.get(1), + new Object[]{"WWW", "WwW", "WWW", + 'W', OrePrefixes.wireGt02.get(Materials.Aluminium)}); + //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.Platinum)}); - // Tesla Primary Coils T5 - GT_ModHandler.addCraftingRecipe( - CustomItemList.tM_TeslaPrimary_5.get(1), + new Object[]{"WWW", "WwW", "WWW", + 'W', OrePrefixes.wireGt02.get(Materials.Platinum)}); + //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.Superconductor)}); - // TODO Add Tesla Primary Coils T6 + new Object[]{"WWW", "WwW", "WWW", + 'W', OrePrefixes.wireGt02.get(Materials.Superconductor)}); + //TODO Add Tesla Primary Coils T6 - // endregion + //endregion - // region hatches + //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) - }, + //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)}, 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), 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)}, 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), 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)}, 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) - }, + 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)}, 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), 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)}, 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), 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)}, 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) - }, + 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)}, 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), 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)}, 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), 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)}, 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) - }, + 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)}, 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), 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)}, 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), 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)}, 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) - }, + 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)}, 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), 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)}, 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), 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)}, 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) - }, + 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)}, 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), 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)}, 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), 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)}, Materials.Tungsten.getMolten(4608), - CustomItemList.eM_dynamoMulti64_UEV.get(1), - 2000, - 500000); - - // Energy Hatches 4A-64A IV-UIV - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Hatch_Energy_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2) - }, + CustomItemList.eM_dynamoMulti64_UEV.get(1), 2000, 500000); + + //Energy Hatches 4A-64A IV-UIV + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Hatch_Energy_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_energyMulti4_IV.get(1), - 100, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_energyMulti4_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 4) - }, + CustomItemList.eM_energyMulti4_IV.get(1), 100, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_energyMulti4_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_energyMulti16_IV.get(1), - 200, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_energyMulti16_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6) - }, + CustomItemList.eM_energyMulti16_IV.get(1), 200, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_energyMulti16_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_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) - }, + 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)}, 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), 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)}, 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), 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)}, 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) - }, + 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)}, 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), 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)}, 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), 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)}, 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) - }, + 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)}, 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), 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)}, 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), 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)}, 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) - }, + 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)}, 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), 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)}, 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), 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)}, 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) - }, + 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); - 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) - }, + 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); - 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) - }, + 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); - - // 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), - ItemList.Hatch_Input_Bus_LuV.get(1), - ItemList.Circuit_Crystalcomputer.get(1), - CustomItemList.DATApipe.get(2) - }, - Materials.Iridium.getMolten(1296), - CustomItemList.dataIn_Hatch.get(1), - 200, - 122880); - // Data Output - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Hatch_Output_Bus_LuV.get(1), - ItemList.Circuit_Crystalcomputer.get(1), - CustomItemList.DATApipe.get(2) - }, - Materials.Iridium.getMolten(1296), - CustomItemList.dataOut_Hatch.get(1), - 200, - 122880); - - // Rack - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Computer_Bus.get(1), - ItemList.Hatch_Input_Bus_ZPM.get(1), - ItemList.Circuit_Crystalcomputer.get(2), - CustomItemList.DATApipe.get(4) - }, - Materials.Iridium.getMolten(1296), - CustomItemList.rack_Hatch.get(1), - 800, - 122880); + 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), + ItemList.Hatch_Input_Bus_LuV.get(1), + ItemList.Circuit_Crystalcomputer.get(1), + CustomItemList.DATApipe.get(2) + }, Materials.Iridium.getMolten(1296), CustomItemList.dataIn_Hatch.get(1), 200, 122880); + //Data Output + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Hatch_Output_Bus_LuV.get(1), + ItemList.Circuit_Crystalcomputer.get(1), + CustomItemList.DATApipe.get(2) + }, Materials.Iridium.getMolten(1296), CustomItemList.dataOut_Hatch.get(1), 200, 122880); - // Object Holder - GT_Values.RA.addAssemblylineRecipe( + //Rack + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Computer_Bus.get(1), ItemList.Hatch_Input_Bus_ZPM.get(1), - 10000, - new ItemStack[] { - ItemList.Hatch_Input_Bus_ZPM.get(1), - CustomItemList.eM_Computer_Bus.get(1), - ItemList.Emitter_ZPM.get(8), - ItemList.Robot_Arm_ZPM.get(1), - ItemList.Electric_Motor_ZPM.get(2), - ItemList.Circuit_Crystalmainframe.get(1), - GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Naquadah, 16), - CustomItemList.DATApipe.get(2), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(500), - Materials.Iridium.getMolten(1152), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) - }, - CustomItemList.holder_Hatch.get(1), - 1200, - 100000); - - // Parameterizer - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Circuit_Masterquantumcomputer.get(1), - CustomItemList.DATApipe.get(4), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 16), - }, - Materials.Iridium.getMolten(2592), - CustomItemList.Parametrizer_Hatch.get(1), - 800, - 122880); - // Uncertainty - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Circuit_Ultimatecrystalcomputer.get(1), - CustomItemList.DATApipe.get(16), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 16), - }, - Materials.Iridium.getMolten(2592), - CustomItemList.Uncertainty_Hatch.get(1), - 1200, - 122880); - - // Elemental Input - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Input_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 8), - ItemList.Sensor_UV.get(1) - }, - Materials.Osmiridium.getMolten(1296), - CustomItemList.eM_in_UV.get(1), - 800, - 500000); - // Elemental Output - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Output_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 8), - ItemList.Emitter_UV.get(1) - }, - Materials.Osmiridium.getMolten(1296), - CustomItemList.eM_out_UV.get(1), - 800, - 500000); - // Overflow - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Muffler_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 4), - 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 - - // 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), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16), - ItemList.Upgrade_Overclocker.get(4), - }, - Materials.Copper.getMolten(576), - CustomItemList.Machine_Multi_Microwave.get(1), - 800, - 480); - - // Active Transformer - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - ItemList.Transformer_ZPM_LuV.get(16), - ItemList.Circuit_Board_Elite.get(1), // ? - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 16), - ItemList.Circuit_Chip_HPIC.get(2), - }, - Materials.TungstenSteel.getMolten(576), - CustomItemList.Machine_Multi_Transformer.get(1), - 400, - 30720); - - // Network Switch - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - CustomItemList.Machine_Multi_Transformer.get(1), - ItemList.Circuit_Ultimatecrystalcomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Cobalt, 32), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Copper, 32), - CustomItemList.DATApipe.get(4), - }, - Materials.Iridium.getMolten(1296), - CustomItemList.Machine_Multi_Switch.get(1), - 800, - 122880); + ItemList.Circuit_Crystalcomputer.get(2), + CustomItemList.DATApipe.get(4) + }, Materials.Iridium.getMolten(1296), CustomItemList.rack_Hatch.get(1), 800, 122880); - // Quantum Computer - GT_Values.RA.addAssemblylineRecipe( - ItemList.Tool_DataOrb.get(1), - 20000, - new ItemStack[] { - CustomItemList.Machine_Multi_Switch.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2), - ItemList.Tool_DataOrb.get(1), - ItemList.Cover_Screen.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 8), - CustomItemList.DATApipe.get(8), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(1000), - Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Hydrogen.getGas(1000), - }, - CustomItemList.Machine_Multi_Computer.get(1), - 12000, - 100000); - - // Research Station - GT_Values.RA.addAssemblylineRecipe( - ItemList.Tool_Scanner.get(1), - 80000, - new ItemStack[] { - CustomItemList.Machine_Multi_Switch.get(1), - ItemList.Sensor_ZPM.get(8), - ItemList.Circuit_Crystalmainframe.get(4), - ItemList.Field_Generator_ZPM.get(1), - ItemList.Electric_Motor_ZPM.get(2), - GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Naquadah, 32), - CustomItemList.DATApipe.get(16), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(1000), - Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, - CustomItemList.Machine_Multi_Research.get(1), - 12000, - 100000); - - // Matter Junction - TT_recipeAdder.addResearchableAssemblylineRecipe( - CustomItemList.Machine_Multi_Switch.get(1), - 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), - ItemList.Electric_Piston_LuV.get(2), - ItemList.Circuit_Wetwaresupercomputer.get(2), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 4), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, - CustomItemList.Machine_Multi_EMjunction.get(1), - 12000, - 100000); - - // Matter Quantizer - TT_recipeAdder.addResearchableAssemblylineRecipe( + //Object Holder + GT_Values.RA.addAssemblylineRecipe(ItemList.Hatch_Input_Bus_ZPM.get(1), 10000, new ItemStack[]{ + ItemList.Hatch_Input_Bus_ZPM.get(1), + CustomItemList.eM_Computer_Bus.get(1), + ItemList.Emitter_ZPM.get(8), + ItemList.Robot_Arm_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + ItemList.Circuit_Crystalmainframe.get(1), + GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Naquadah, 16), + CustomItemList.DATApipe.get(2), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(500), + Materials.Iridium.getMolten(1152), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) + }, CustomItemList.holder_Hatch.get(1), 1200, 100000); + + //Parameterizer + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Circuit_Masterquantumcomputer.get(1), + CustomItemList.DATApipe.get(4), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + }, Materials.Iridium.getMolten(2592), CustomItemList.Parametrizer_Hatch.get(1), 800, 122880); + //Uncertainty + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Circuit_Ultimatecrystalcomputer.get(1), + CustomItemList.DATApipe.get(16), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + }, Materials.Iridium.getMolten(2592), CustomItemList.Uncertainty_Hatch.get(1), 1200, 122880); + + //Elemental Input + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Containment.get(1), ItemList.Hatch_Input_UV.get(1), - 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), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, - CustomItemList.Machine_Multi_MatterToEM.get(1), - 12000, - 100000); - - // Matter DeQuantizer - TT_recipeAdder.addResearchableAssemblylineRecipe( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 8), + ItemList.Sensor_UV.get(1) + }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_in_UV.get(1), 800, 500000); + //Elemental Output + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Containment.get(1), ItemList.Hatch_Output_UV.get(1), - 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), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, - CustomItemList.Machine_Multi_EMToMatter.get(1), - 12000, - 100000); - - // 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.plateDouble, Materials.Neutronium, 8), - ItemList.Emitter_UV.get(2), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 8), - }, - 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.plateDouble, Materials.Neutronium, 8), - ItemList.Sensor_UV.get(2), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 8), - }, - 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[] { - 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.wireGt04, Materials.Superconductor, 16), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(2000), - Materials.Neutronium.getMolten(2592), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), - Materials.Osmiridium.getMolten(1296), - }, - CustomItemList.Machine_Multi_Scanner.get(1), - 24000, - 500000); - - // Multi Infuser - TT_recipeAdder.addResearchableAssemblylineRecipe( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 8), + ItemList.Emitter_UV.get(1) + }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_out_UV.get(1), 800, 500000); + //Overflow + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Muffler_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 4), + 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 + + //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), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16), + ItemList.Upgrade_Overclocker.get(4), + }, Materials.Copper.getMolten(576), CustomItemList.Machine_Multi_Microwave.get(1), 800, 480); + + //Active Transformer + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Transformer_ZPM_LuV.get(16), + ItemList.Circuit_Board_Elite.get(1),//? + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 16), + ItemList.Circuit_Chip_HPIC.get(2), + }, Materials.TungstenSteel.getMolten(576), CustomItemList.Machine_Multi_Transformer.get(1), 400, 30720); + + //Network Switch + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ CustomItemList.Machine_Multi_Transformer.get(1), - 192000, - 512, - 2000000, - 32, - new ItemStack[] { - CustomItemList.Machine_Multi_Transformer.get(1), - CustomItemList.eM_Coil.get(8), - CustomItemList.eM_Power.get(8), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), - }, - new FluidStack[] { - Materials.Electrum.getMolten(2592), - Materials.Neutronium.getMolten(1872), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - }, - CustomItemList.Machine_Multi_Infuser.get(1), - 8000, - 2000000); - - // 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)}, + ItemList.Circuit_Ultimatecrystalcomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Cobalt, 32), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Copper, 32), + CustomItemList.DATApipe.get(4), + }, Materials.Iridium.getMolten(1296), CustomItemList.Machine_Multi_Switch.get(1), 800, 122880); + + //Quantum Computer + GT_Values.RA.addAssemblylineRecipe(ItemList.Tool_DataOrb.get(1), 20000, new ItemStack[]{ + CustomItemList.Machine_Multi_Switch.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2), + ItemList.Tool_DataOrb.get(1), + ItemList.Cover_Screen.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 8), + CustomItemList.DATApipe.get(8), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Hydrogen.getGas(1000), + }, CustomItemList.Machine_Multi_Computer.get(1), 12000, 100000); + + //Research Station + GT_Values.RA.addAssemblylineRecipe(ItemList.Tool_Scanner.get(1), 80000, new ItemStack[]{ + CustomItemList.Machine_Multi_Switch.get(1), + ItemList.Sensor_ZPM.get(8), + ItemList.Circuit_Crystalmainframe.get(4), + ItemList.Field_Generator_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Naquadah, 32), + CustomItemList.DATApipe.get(16), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_Research.get(1), 12000, 100000); + + //Matter Junction + TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Switch.get(1), + 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), + ItemList.Electric_Piston_LuV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 4), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_EMjunction.get(1), 12000, 100000); + + //Matter Quantizer + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Input_UV.get(1), + 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), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_MatterToEM.get(1), 12000, 100000); + + //Matter DeQuantizer + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Output_UV.get(1), + 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), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_EMToMatter.get(1), 12000, 100000); + + //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.plateDouble, Materials.Neutronium, 8), + ItemList.Emitter_UV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 8), + }, 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.plateDouble, Materials.Neutronium, 8), + ItemList.Sensor_UV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 8), + }, 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[]{ + 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.wireGt04, Materials.Superconductor, 16), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(2000), + Materials.Neutronium.getMolten(2592), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), + Materials.Osmiridium.getMolten(1296), + }, CustomItemList.Machine_Multi_Scanner.get(1), 24000, 500000); + + //Multi Infuser + TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Transformer.get(1), + 192000, 512, 2000000, 32, new ItemStack[]{ + CustomItemList.Machine_Multi_Transformer.get(1), + CustomItemList.eM_Coil.get(8), + CustomItemList.eM_Power.get(8), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), + }, new FluidStack[]{ + Materials.Electrum.getMolten(2592), + Materials.Neutronium.getMolten(1872), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + }, CustomItemList.Machine_Multi_Infuser.get(1), 8000, 2000000); + + //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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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.Superconductor, 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.plate, 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.plate, 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.plate, 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.plate, 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.plate, 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); - // LuV Tesla Capacitor - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.HSSG, 4), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 14), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 28), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 28), - }, - Materials.Epoxid.getMolten(432), - CustomItemList.teslaCapacitor.getWithDamage(1, 5), - 320, - 30720); - // ZPM Tesla Capacitor - // GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - // GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 4), - // GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 16), - // GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 32), - // GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 32), - // }, Materials.Epoxid.getMolten(504), CustomItemList.teslaCapacitor.getWithDamage(1, 6), 320, 122880); - // TODO Allow with the coils, useless alone and will only cause trouble - // 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), + 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.Superconductor, 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.plate, Materials.BatteryAlloy, 4), - 300, - 2); - // MV Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 1), + 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.plate, Materials.BatteryAlloy, 6), - 300, - 2); - // HV Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 2), + 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.plate, Materials.BatteryAlloy, 8), - 300, - 2); - // EV Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 3), + 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.plate, Materials.BatteryAlloy, 10), - 300, - 2); - // IV Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 4), + 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.plate, Materials.BatteryAlloy, 12), - 300, - 2); - // LuV Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 5), + 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); + //LuV Tesla Capacitor + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.HSSG, 4), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 14), - 300, - 2); - // ZPM Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 6), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 16), - 300, - 2); - - // endregion - - // ha trafos - // if(Loader.isModLoaded(Reference.GTPLUSPLUS)){ + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 28), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 28), + }, Materials.Epoxid.getMolten(432), CustomItemList.teslaCapacitor.getWithDamage(1, 5), 320, 30720); + //ZPM Tesla Capacitor + //GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + // GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 4), + // GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 16), + // GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 32), + // GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 32), + //}, Materials.Epoxid.getMolten(504), CustomItemList.teslaCapacitor.getWithDamage(1, 6), 320, 122880); + //TODO Allow with the coils, useless alone and will only cause trouble + //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.plate, Materials.BatteryAlloy, 4), 300, 2); + //MV Tesla Capacitor + GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 6), 300, 2); + //HV Tesla Capacitor + GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 8), 300, 2); + //EV Tesla Capacitor + GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 3), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 10), 300, 2); + //IV Tesla Capacitor + GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 4), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 12), 300, 2); + //LuV Tesla Capacitor + GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 5), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 14), 300, 2); + //ZPM Tesla Capacitor + GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 6), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 16), 300, 2); + + //endregion + + //ha trafos + //if(Loader.isModLoaded(Reference.GTPLUSPLUS)){ // GT_Values.RA.addAssemblerRecipe(CustomItemList.HA) - // } + //} - // power trafos - // GT_Values.RA.addAssemblerRecipe() + //power trafos + //GT_Values.RA.addAssemblerRecipe() 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(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)); + 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.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)); + 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.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)); + 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.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/ComponentLoader.java b/src/main/java/com/github/technus/tectech/loader/thing/ComponentLoader.java index 933229b537..39b42c1249 100644 --- a/src/main/java/com/github/technus/tectech/loader/thing/ComponentLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/thing/ComponentLoader.java @@ -4,19 +4,23 @@ import gregtech.api.enums.Materials; import gregtech.api.interfaces.IMaterialHandler; public class ComponentLoader implements IMaterialHandler { - public ComponentLoader() { + public ComponentLoader(){ Materials.add(this); } @Override public void onComponentInit() { - // example - // OrePrefixes.ring.enableComponent(Materials.RedAlloy); + //example + //OrePrefixes.ring.enableComponent(Materials.RedAlloy); } @Override - public void onComponentIteration(Materials materials) {} + public void onComponentIteration(Materials materials) { + + } @Override - public void onMaterialsInit() {} + public void onMaterialsInit() { + + } } 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 index a5e68e2a0a..880113073c 100644 --- a/src/main/java/com/github/technus/tectech/loader/thing/CoverLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/thing/CoverLoader.java @@ -14,32 +14,19 @@ 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"); - final IIconContainer ENDERFLUIDLINK_OVERLAY = - new Textures.BlockIcons.CustomIcon("iconsets/ENDERFLUIDLINK_OVERLAY"); - final IIconContainer POWERPASSUPGRADE_OVERLAY = - new Textures.BlockIcons.CustomIcon("iconsets/POWERPASSUPGRADE_OVERLAY"); + final IIconContainer TESLA_OVERLAY_ULTIMATE = new Textures.BlockIcons.CustomIcon("iconsets/TESLA_OVERLAY_ULTIMATE"); + final IIconContainer ENDERFLUIDLINK_OVERLAY = new Textures.BlockIcons.CustomIcon("iconsets/ENDERFLUIDLINK_OVERLAY"); + final IIconContainer POWERPASSUPGRADE_OVERLAY = new Textures.BlockIcons.CustomIcon("iconsets/POWERPASSUPGRADE_OVERLAY"); - 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()); - GregTech_API.registerCover( - new ItemStack(EnderFluidLinkCover.INSTANCE, 1, 0), - new GT_RenderedTexture(ENDERFLUIDLINK_OVERLAY), - new GT_Cover_TM_EnderFluidLink()); - GregTech_API.registerCover( - new ItemStack(PowerPassUpgradeCover.INSTANCE, 1, 0), - new GT_RenderedTexture(POWERPASSUPGRADE_OVERLAY), - new GT_Cover_TM_PowerPassUpgrade()); + 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()); + GregTech_API.registerCover(new ItemStack(EnderFluidLinkCover.INSTANCE, 1, 0), new GT_RenderedTexture(ENDERFLUIDLINK_OVERLAY), new GT_Cover_TM_EnderFluidLink()); + GregTech_API.registerCover(new ItemStack(PowerPassUpgradeCover.INSTANCE, 1, 0), new GT_RenderedTexture(POWERPASSUPGRADE_OVERLAY), new GT_Cover_TM_PowerPassUpgrade()); 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 c58c43ef8d..65cba0a2b7 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 @@ -1,9 +1,5 @@ package com.github.technus.tectech.loader.thing; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.thing.CustomItemList.*; -import static com.github.technus.tectech.util.CommonValues.V; - import com.github.technus.tectech.Reference; import com.github.technus.tectech.compatibility.dreamcraft.NoDreamCraftMachineLoader; import com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_essentiaDequantizer; @@ -20,6 +16,10 @@ import cpw.mods.fml.common.Loader; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.thing.CustomItemList.*; +import static com.github.technus.tectech.util.CommonValues.V; + /** * Created by danie_000 on 16.11.2016. */ @@ -30,1003 +30,645 @@ public class MachineLoader implements Runnable { // eM IN // =================================================================================================== - eM_in_UV.set( - new GT_MetaTileEntity_Hatch_InputElemental(15000, "hatch.emin.tier.08", "UV Elemental Input Hatch", 8) - .getStackForm(1L)); + eM_in_UV.set(new GT_MetaTileEntity_Hatch_InputElemental( + 15000, "hatch.emin.tier.08", "UV Elemental Input Hatch", 8).getStackForm(1L)); - eM_in_UHV.set( - new GT_MetaTileEntity_Hatch_InputElemental(15001, "hatch.emin.tier.09", "UHV Elemental Input Hatch", 9) - .getStackForm(1L)); + eM_in_UHV.set(new GT_MetaTileEntity_Hatch_InputElemental( + 15001, "hatch.emin.tier.09", "UHV Elemental Input Hatch", 9).getStackForm(1L)); - eM_in_UEV.set( - new GT_MetaTileEntity_Hatch_InputElemental(15002, "hatch.emin.tier.10", "UEV Elemental Input Hatch", 10) - .getStackForm(1L)); + eM_in_UEV.set(new GT_MetaTileEntity_Hatch_InputElemental( + 15002, "hatch.emin.tier.10", "UEV Elemental Input Hatch", 10).getStackForm(1L)); - eM_in_UIV.set( - new GT_MetaTileEntity_Hatch_InputElemental(15003, "hatch.emin.tier.11", "UIV Elemental Input Hatch", 11) - .getStackForm(1L)); + eM_in_UIV.set(new GT_MetaTileEntity_Hatch_InputElemental( + 15003, "hatch.emin.tier.11", "UIV Elemental Input Hatch", 11).getStackForm(1L)); - eM_in_UMV.set( - new GT_MetaTileEntity_Hatch_InputElemental(15004, "hatch.emin.tier.12", "UMV Elemental Input Hatch", 12) - .getStackForm(1L)); + eM_in_UMV.set(new GT_MetaTileEntity_Hatch_InputElemental( + 15004, "hatch.emin.tier.12", "UMV Elemental Input Hatch", 12).getStackForm(1L)); - eM_in_UXV.set( - new GT_MetaTileEntity_Hatch_InputElemental(15005, "hatch.emin.tier.13", "UXV Elemental Input Hatch", 13) - .getStackForm(1L)); + eM_in_UXV.set(new GT_MetaTileEntity_Hatch_InputElemental( + 15005, "hatch.emin.tier.13", "UXV Elemental Input Hatch", 13).getStackForm(1L)); // =================================================================================================== // eM OUT // =================================================================================================== eM_out_UV.set(new GT_MetaTileEntity_Hatch_OutputElemental( - 15010, "hatch.emout.tier.08", "UV Elemental Output Hatch", 8) - .getStackForm(1L)); + 15010, "hatch.emout.tier.08", "UV Elemental Output Hatch", 8).getStackForm(1L)); eM_out_UHV.set(new GT_MetaTileEntity_Hatch_OutputElemental( - 15011, "hatch.emout.tier.09", "UHV Elemental Output Hatch", 9) - .getStackForm(1L)); + 15011, "hatch.emout.tier.09", "UHV Elemental Output Hatch", 9).getStackForm(1L)); eM_out_UEV.set(new GT_MetaTileEntity_Hatch_OutputElemental( - 15012, "hatch.emout.tier.10", "UEV Elemental Output Hatch", 10) - .getStackForm(1L)); + 15012, "hatch.emout.tier.10", "UEV Elemental Output Hatch", 10).getStackForm(1L)); eM_out_UIV.set(new GT_MetaTileEntity_Hatch_OutputElemental( - 15013, "hatch.emout.tier.11", "UIV Elemental Output Hatch", 11) - .getStackForm(1L)); + 15013, "hatch.emout.tier.11", "UIV Elemental Output Hatch", 11).getStackForm(1L)); eM_out_UMV.set(new GT_MetaTileEntity_Hatch_OutputElemental( - 15014, "hatch.emout.tier.12", "UMV Elemental Output Hatch", 12) - .getStackForm(1L)); + 15014, "hatch.emout.tier.12", "UMV Elemental Output Hatch", 12).getStackForm(1L)); eM_out_UXV.set(new GT_MetaTileEntity_Hatch_OutputElemental( - 15015, "hatch.emout.tier.13", "UXV Elemental Output Hatch", 13) - .getStackForm(1L)); + 15015, "hatch.emout.tier.13", "UXV Elemental Output Hatch", 13).getStackForm(1L)); // =================================================================================================== // eM Waste OUT // =================================================================================================== eM_muffler_UV.set(new GT_MetaTileEntity_Hatch_OverflowElemental( - 15020, - "hatch.emmuffler.tier.08", - "UV Overflow Output Hatch", - 8, - 1e10f * EM_COUNT_PER_MATERIAL_AMOUNT) - .getStackForm(1L)); + 15020, "hatch.emmuffler.tier.08", "UV Overflow Output Hatch", 8, 1e10f* EM_COUNT_PER_MATERIAL_AMOUNT).getStackForm(1L)); eM_muffler_UHV.set(new GT_MetaTileEntity_Hatch_OverflowElemental( - 15021, - "hatch.emmuffler.tier.09", - "UHV Overflow Output Hatch", - 9, - 5e10f * EM_COUNT_PER_MATERIAL_AMOUNT) - .getStackForm(1L)); + 15021, "hatch.emmuffler.tier.09", "UHV Overflow Output Hatch", 9, 5e10f* EM_COUNT_PER_MATERIAL_AMOUNT).getStackForm(1L)); eM_muffler_UEV.set(new GT_MetaTileEntity_Hatch_OverflowElemental( - 15022, - "hatch.emmuffler.tier.10", - "UEV Overflow Output Hatch", - 10, - 25e10f * EM_COUNT_PER_MATERIAL_AMOUNT) - .getStackForm(1L)); + 15022, "hatch.emmuffler.tier.10", "UEV Overflow Output Hatch", 10, 25e10f* EM_COUNT_PER_MATERIAL_AMOUNT).getStackForm(1L)); eM_muffler_UIV.set(new GT_MetaTileEntity_Hatch_OverflowElemental( - 15023, - "hatch.emmuffler.tier.11", - "UIV Overflow Output Hatch", - 11, - 125e10f * EM_COUNT_PER_MATERIAL_AMOUNT) - .getStackForm(1L)); + 15023, "hatch.emmuffler.tier.11", "UIV Overflow Output Hatch", 11, 125e10f* EM_COUNT_PER_MATERIAL_AMOUNT).getStackForm(1L)); eM_muffler_UMV.set(new GT_MetaTileEntity_Hatch_OverflowElemental( - 15024, - "hatch.emmuffler.tier.12", - "UMV Overflow Output Hatch", - 12, - 125e11f * EM_COUNT_PER_MATERIAL_AMOUNT) - .getStackForm(1L)); + 15024, "hatch.emmuffler.tier.12", "UMV Overflow Output Hatch", 12, 125e11f* EM_COUNT_PER_MATERIAL_AMOUNT).getStackForm(1L)); eM_muffler_UXV.set(new GT_MetaTileEntity_Hatch_OverflowElemental( - 15025, - "hatch.emmuffler.tier.13", - "UXV Overflow Output Hatch", - 13, - 125e12f * EM_COUNT_PER_MATERIAL_AMOUNT) - .getStackForm(1L)); + 15025, "hatch.emmuffler.tier.13", "UXV Overflow Output Hatch", 13, 125e12f* EM_COUNT_PER_MATERIAL_AMOUNT).getStackForm(1L)); + // =================================================================================================== // Microcontrollers // =================================================================================================== + + eM_avr_HV.set(new GT_MetaTileEntity_MicroController( + 15030, "machine.avr.tier.08", "HV AVR Micro-controller", 3).getStackForm(1L)); + + eM_avr_EV.set(new GT_MetaTileEntity_MicroController( + 15031, "machine.avr.tier.08", "EV AVR Micro-controller", 4).getStackForm(1L)); + + eM_avr_IV.set(new GT_MetaTileEntity_MicroController( + 15032, "machine.avr.tier.08", "IV AVR Micro-controller", 5).getStackForm(1L)); + + eM_avr_LuV.set(new GT_MetaTileEntity_MicroController( + 15033, "machine.avr.tier.08", "LuV AVR Micro-controller", 6).getStackForm(1L)); + + eM_avr_ZPM.set(new GT_MetaTileEntity_MicroController( + 15034, "machine.avr.tier.08", "ZPM AVR Micro-controller", 7).getStackForm(1L)); - eM_avr_HV.set(new GT_MetaTileEntity_MicroController(15030, "machine.avr.tier.08", "HV AVR Micro-controller", 3) - .getStackForm(1L)); + eM_avr_UV.set(new GT_MetaTileEntity_MicroController( + 15035, "machine.avr.tier.08", "UV AVR Micro-controller", 8).getStackForm(1L)); - eM_avr_EV.set(new GT_MetaTileEntity_MicroController(15031, "machine.avr.tier.08", "EV AVR Micro-controller", 4) - .getStackForm(1L)); + eM_avr_UHV.set(new GT_MetaTileEntity_MicroController( + 15036, "machine.avr.tier.09", "UHV AVR Micro-controller", 9).getStackForm(1L)); - eM_avr_IV.set(new GT_MetaTileEntity_MicroController(15032, "machine.avr.tier.08", "IV AVR Micro-controller", 5) - .getStackForm(1L)); + eM_avr_UEV.set(new GT_MetaTileEntity_MicroController( + 15037, "machine.avr.tier.10", "UEV AVR Micro-controller", 10).getStackForm(1L)); - eM_avr_LuV.set( - new GT_MetaTileEntity_MicroController(15033, "machine.avr.tier.08", "LuV AVR Micro-controller", 6) - .getStackForm(1L)); + eM_avr_UIV.set(new GT_MetaTileEntity_MicroController( + 15038, "machine.avr.tier.11", "UIV AVR Micro-controller", 11).getStackForm(1L)); - eM_avr_ZPM.set( - new GT_MetaTileEntity_MicroController(15034, "machine.avr.tier.08", "ZPM AVR Micro-controller", 7) - .getStackForm(1L)); - - eM_avr_UV.set(new GT_MetaTileEntity_MicroController(15035, "machine.avr.tier.08", "UV AVR Micro-controller", 8) - .getStackForm(1L)); - - eM_avr_UHV.set( - new GT_MetaTileEntity_MicroController(15036, "machine.avr.tier.09", "UHV AVR Micro-controller", 9) - .getStackForm(1L)); - - eM_avr_UEV.set( - new GT_MetaTileEntity_MicroController(15037, "machine.avr.tier.10", "UEV AVR Micro-controller", 10) - .getStackForm(1L)); - - eM_avr_UIV.set( - new GT_MetaTileEntity_MicroController(15038, "machine.avr.tier.11", "UIV AVR Micro-controller", 11) - .getStackForm(1L)); - - eM_avr_UMV.set( - new GT_MetaTileEntity_MicroController(15039, "machine.avr.tier.12", "UMV AVR Micro-controller", 12) - .getStackForm(1L)); + eM_avr_UMV.set(new GT_MetaTileEntity_MicroController( + 15039, "machine.avr.tier.12", "UMV AVR Micro-controller", 12).getStackForm(1L)); + // =================================================================================================== // Multi AMP Power INPUTS // =================================================================================================== eM_energyMulti4_IV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15100, "hatch.energymulti04.tier.05", "IV 4A Energy Hatch", 5, 4) - .getStackForm(1L)); + 15100, "hatch.energymulti04.tier.05", "IV 4A Energy Hatch", 5, 4).getStackForm(1L)); eM_energyMulti16_IV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15110, "hatch.energymulti16.tier.05", "IV 16A Energy Hatch", 5, 16) - .getStackForm(1L)); + 15110, "hatch.energymulti16.tier.05", "IV 16A Energy Hatch", 5, 16).getStackForm(1L)); eM_energyMulti64_IV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15120, "hatch.energymulti64.tier.05", "IV 64A Energy Hatch", 5, 64) - .getStackForm(1L)); + 15120, "hatch.energymulti64.tier.05", "IV 64A Energy Hatch", 5, 64).getStackForm(1L)); eM_energyMulti4_LuV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15101, "hatch.energymulti04.tier.06", "LuV 4A Energy Hatch", 6, 4) - .getStackForm(1L)); + 15101, "hatch.energymulti04.tier.06", "LuV 4A Energy Hatch", 6, 4).getStackForm(1L)); eM_energyMulti16_LuV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15111, "hatch.energymulti16.tier.06", "LuV 16A Energy Hatch", 6, 16) - .getStackForm(1L)); + 15111, "hatch.energymulti16.tier.06", "LuV 16A Energy Hatch", 6, 16).getStackForm(1L)); eM_energyMulti64_LuV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15121, "hatch.energymulti64.tier.06", "LuV 64A Energy Hatch", 6, 64) - .getStackForm(1L)); + 15121, "hatch.energymulti64.tier.06", "LuV 64A Energy Hatch", 6, 64).getStackForm(1L)); eM_energyMulti4_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15102, "hatch.energymulti04.tier.07", "ZPM 4A Energy Hatch", 7, 4) - .getStackForm(1L)); + 15102, "hatch.energymulti04.tier.07", "ZPM 4A Energy Hatch", 7, 4).getStackForm(1L)); eM_energyMulti16_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15112, "hatch.energymulti16.tier.07", "ZPM 16A Energy Hatch", 7, 16) - .getStackForm(1L)); + 15112, "hatch.energymulti16.tier.07", "ZPM 16A Energy Hatch", 7, 16).getStackForm(1L)); eM_energyMulti64_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15122, "hatch.energymulti64.tier.07", "ZPM 64A Energy Hatch", 7, 64) - .getStackForm(1L)); + 15122, "hatch.energymulti64.tier.07", "ZPM 64A Energy Hatch", 7, 64).getStackForm(1L)); eM_energyMulti4_UV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15103, "hatch.energymulti04.tier.08", "UV 4A Energy Hatch", 8, 4) - .getStackForm(1L)); + 15103, "hatch.energymulti04.tier.08", "UV 4A Energy Hatch", 8, 4).getStackForm(1L)); eM_energyMulti16_UV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15113, "hatch.energymulti16.tier.08", "UV 16A Energy Hatch", 8, 16) - .getStackForm(1L)); + 15113, "hatch.energymulti16.tier.08", "UV 16A Energy Hatch", 8, 16).getStackForm(1L)); eM_energyMulti64_UV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15123, "hatch.energymulti64.tier.08", "UV 64A Energy Hatch", 8, 64) - .getStackForm(1L)); + 15123, "hatch.energymulti64.tier.08", "UV 64A Energy Hatch", 8, 64).getStackForm(1L)); eM_energyMulti4_UHV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15104, "hatch.energymulti04.tier.09", "UHV 4A Energy Hatch", 9, 4) - .getStackForm(1L)); + 15104, "hatch.energymulti04.tier.09", "UHV 4A Energy Hatch", 9, 4).getStackForm(1L)); eM_energyMulti16_UHV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15114, "hatch.energymulti16.tier.09", "UHV 16A Energy Hatch", 9, 16) - .getStackForm(1L)); + 15114, "hatch.energymulti16.tier.09", "UHV 16A Energy Hatch", 9, 16).getStackForm(1L)); eM_energyMulti64_UHV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15124, "hatch.energymulti64.tier.09", "UHV 64A Energy Hatch", 9, 64) - .getStackForm(1L)); + 15124, "hatch.energymulti64.tier.09", "UHV 64A Energy Hatch", 9, 64).getStackForm(1L)); eM_energyMulti4_UEV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15105, "hatch.energymulti04.tier.10", "UEV 4A Energy Hatch", 10, 4) - .getStackForm(1L)); + 15105, "hatch.energymulti04.tier.10", "UEV 4A Energy Hatch", 10, 4).getStackForm(1L)); eM_energyMulti16_UEV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15115, "hatch.energymulti16.tier.10", "UEV 16A Energy Hatch", 10, 16) - .getStackForm(1L)); + 15115, "hatch.energymulti16.tier.10", "UEV 16A Energy Hatch", 10, 16).getStackForm(1L)); eM_energyMulti64_UEV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15125, "hatch.energymulti64.tier.10", "UEV 64A Energy Hatch", 10, 64) - .getStackForm(1L)); + 15125, "hatch.energymulti64.tier.10", "UEV 64A Energy Hatch", 10, 64).getStackForm(1L)); eM_energyMulti4_UIV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15106, "hatch.energymulti04.tier.11", "UIV 4A Energy Hatch", 11, 4) - .getStackForm(1L)); + 15106, "hatch.energymulti04.tier.11", "UIV 4A Energy Hatch", 11, 4).getStackForm(1L)); eM_energyMulti16_UIV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15116, "hatch.energymulti16.tier.11", "UIV 16A Energy Hatch", 11, 16) - .getStackForm(1L)); + 15116, "hatch.energymulti16.tier.11", "UIV 16A Energy Hatch", 11, 16).getStackForm(1L)); eM_energyMulti64_UIV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15126, "hatch.energymulti64.tier.11", "UIV 64A Energy Hatch", 11, 64) - .getStackForm(1L)); + 15126, "hatch.energymulti64.tier.11", "UIV 64A Energy Hatch", 11, 64).getStackForm(1L)); eM_energyMulti4_UMV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15107, "hatch.energymulti04.tier.12", "UMV 4A Energy Hatch", 12, 4) - .getStackForm(1L)); + 15107, "hatch.energymulti04.tier.12", "UMV 4A Energy Hatch", 12, 4).getStackForm(1L)); eM_energyMulti16_UMV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15117, "hatch.energymulti16.tier.12", "UMV 16A Energy Hatch", 12, 16) - .getStackForm(1L)); + 15117, "hatch.energymulti16.tier.12", "UMV 16A Energy Hatch", 12, 16).getStackForm(1L)); eM_energyMulti64_UMV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15127, "hatch.energymulti64.tier.12", "UMV 64A Energy Hatch", 12, 64) - .getStackForm(1L)); + 15127, "hatch.energymulti64.tier.12", "UMV 64A Energy Hatch", 12, 64).getStackForm(1L)); eM_energyMulti4_UXV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15108, "hatch.energymulti04.tier.13", "UXV 4A Energy Hatch", 13, 4) - .getStackForm(1L)); + 15108, "hatch.energymulti04.tier.13", "UXV 4A Energy Hatch", 13, 4).getStackForm(1L)); eM_energyMulti16_UXV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15118, "hatch.energymulti16.tier.13", "UXV 16A Energy Hatch", 13, 16) - .getStackForm(1L)); + 15118, "hatch.energymulti16.tier.13", "UXV 16A Energy Hatch", 13, 16).getStackForm(1L)); eM_energyMulti64_UXV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15128, "hatch.energymulti64.tier.13", "UXV 64A Energy Hatch", 13, 64) - .getStackForm(1L)); + 15128, "hatch.energymulti64.tier.13", "UXV 64A Energy Hatch", 13, 64).getStackForm(1L)); // =================================================================================================== // Multi AMP Laser INPUTS // =================================================================================================== eM_energyTunnel1_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15130, "hatch.energytunnel1.tier.05", "IV 256A/t Laser Target Hatch", 5, 256) - .getStackForm(1L)); + 15130, "hatch.energytunnel1.tier.05", "IV 256A/t Laser Target Hatch", 5, 256).getStackForm(1L)); eM_energyTunnel2_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15140, "hatch.energytunnel2.tier.05", "IV 1024A/t Laser Target Hatch", 5, 1024) - .getStackForm(1L)); + 15140, "hatch.energytunnel2.tier.05", "IV 1024A/t Laser Target Hatch", 5, 1024).getStackForm(1L)); eM_energyTunnel3_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15150, "hatch.energytunnel3.tier.05", "IV 4096A/t Laser Target Hatch", 5, 4096) - .getStackForm(1L)); + 15150, "hatch.energytunnel3.tier.05", "IV 4096A/t Laser Target Hatch", 5, 4096).getStackForm(1L)); eM_energyTunnel4_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15160, "hatch.energytunnel4.tier.05", "IV 16384A/t Laser Target Hatch", 5, 16384) - .getStackForm(1L)); + 15160, "hatch.energytunnel4.tier.05", "IV 16384A/t Laser Target Hatch", 5, 16384).getStackForm(1L)); eM_energyTunnel5_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15170, "hatch.energytunnel5.tier.05", "IV 65536A/t Laser Target Hatch", 5, 65536) - .getStackForm(1L)); + 15170, "hatch.energytunnel5.tier.05", "IV 65536A/t Laser Target Hatch", 5, 65536).getStackForm(1L)); eM_energyTunnel6_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15180, "hatch.energytunnel6.tier.05", "IV 262144A/t Laser Target Hatch", 5, 262144) - .getStackForm(1L)); + 15180, "hatch.energytunnel6.tier.05", "IV 262144A/t Laser Target Hatch", 5, 262144).getStackForm(1L)); eM_energyTunnel7_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15190, "hatch.energytunnel7.tier.05", "IV 1048576A/t Laser Target Hatch", 5, 1048576) - .getStackForm(1L)); + 15190, "hatch.energytunnel7.tier.05", "IV 1048576A/t Laser Target Hatch", 5, 1048576).getStackForm(1L)); eM_energyTunnel1_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15131, "hatch.energytunnel1.tier.06", "LuV 256A/t Laser Target Hatch", 6, 256) - .getStackForm(1L)); + 15131, "hatch.energytunnel1.tier.06", "LuV 256A/t Laser Target Hatch", 6, 256).getStackForm(1L)); eM_energyTunnel2_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15141, "hatch.energytunnel2.tier.06", "LuV 1024A/t Laser Target Hatch", 6, 1024) - .getStackForm(1L)); + 15141, "hatch.energytunnel2.tier.06", "LuV 1024A/t Laser Target Hatch", 6, 1024).getStackForm(1L)); eM_energyTunnel3_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15151, "hatch.energytunnel3.tier.06", "LuV 4096A/t Laser Target Hatch", 6, 4096) - .getStackForm(1L)); + 15151, "hatch.energytunnel3.tier.06", "LuV 4096A/t Laser Target Hatch", 6, 4096).getStackForm(1L)); eM_energyTunnel4_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15161, "hatch.energytunnel4.tier.06", "LuV 16384A/t Laser Target Hatch", 6, 16384) - .getStackForm(1L)); + 15161, "hatch.energytunnel4.tier.06", "LuV 16384A/t Laser Target Hatch", 6, 16384).getStackForm(1L)); eM_energyTunnel5_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15171, "hatch.energytunnel5.tier.06", "LuV 65536A/t Laser Target Hatch", 6, 65536) - .getStackForm(1L)); + 15171, "hatch.energytunnel5.tier.06", "LuV 65536A/t Laser Target Hatch", 6, 65536).getStackForm(1L)); eM_energyTunnel6_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15181, "hatch.energytunnel6.tier.06", "LuV 262144A/t Laser Target Hatch", 6, 262144) - .getStackForm(1L)); + 15181, "hatch.energytunnel6.tier.06", "LuV 262144A/t Laser Target Hatch", 6, 262144).getStackForm(1L)); eM_energyTunnel7_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15191, "hatch.energytunnel7.tier.06", "LuV 1048576A/t Laser Target Hatch", 6, 1048576) - .getStackForm(1L)); + 15191, "hatch.energytunnel7.tier.06", "LuV 1048576A/t Laser Target Hatch", 6, 1048576).getStackForm(1L)); eM_energyTunnel1_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15132, "hatch.energytunnel1.tier.07", "ZPM 256A/t Laser Target Hatch", 7, 256) - .getStackForm(1L)); + 15132, "hatch.energytunnel1.tier.07", "ZPM 256A/t Laser Target Hatch", 7, 256).getStackForm(1L)); eM_energyTunnel2_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15142, "hatch.energytunnel2.tier.07", "ZPM 1024A/t Laser Target Hatch", 7, 1024) - .getStackForm(1L)); + 15142, "hatch.energytunnel2.tier.07", "ZPM 1024A/t Laser Target Hatch", 7, 1024).getStackForm(1L)); eM_energyTunnel3_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15152, "hatch.energytunnel3.tier.07", "ZPM 4096A/t Laser Target Hatch", 7, 4096) - .getStackForm(1L)); + 15152, "hatch.energytunnel3.tier.07", "ZPM 4096A/t Laser Target Hatch", 7, 4096).getStackForm(1L)); eM_energyTunnel4_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15162, "hatch.energytunnel4.tier.07", "ZPM 16384A/t Laser Target Hatch", 7, 16384) - .getStackForm(1L)); + 15162, "hatch.energytunnel4.tier.07", "ZPM 16384A/t Laser Target Hatch", 7, 16384).getStackForm(1L)); eM_energyTunnel5_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15172, "hatch.energytunnel5.tier.07", "ZPM 65536A/t Laser Target Hatch", 7, 65536) - .getStackForm(1L)); + 15172, "hatch.energytunnel5.tier.07", "ZPM 65536A/t Laser Target Hatch", 7, 65536).getStackForm(1L)); eM_energyTunnel6_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15182, "hatch.energytunnel6.tier.07", "ZPM 262144A/t Laser Target Hatch", 7, 262144) - .getStackForm(1L)); + 15182, "hatch.energytunnel6.tier.07", "ZPM 262144A/t Laser Target Hatch", 7, 262144).getStackForm(1L)); eM_energyTunnel7_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15192, "hatch.energytunnel7.tier.07", "ZPM 1048576A/t Laser Target Hatch", 7, 1048576) - .getStackForm(1L)); + 15192, "hatch.energytunnel7.tier.07", "ZPM 1048576A/t Laser Target Hatch", 7, 1048576).getStackForm(1L)); eM_energyTunnel1_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15133, "hatch.energytunnel1.tier.08", "UV 256A/t Laser Target Hatch", 8, 256) - .getStackForm(1L)); + 15133, "hatch.energytunnel1.tier.08", "UV 256A/t Laser Target Hatch", 8, 256).getStackForm(1L)); eM_energyTunnel2_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15143, "hatch.energytunnel2.tier.08", "UV 1024A/t Laser Target Hatch", 8, 1024) - .getStackForm(1L)); + 15143, "hatch.energytunnel2.tier.08", "UV 1024A/t Laser Target Hatch", 8, 1024).getStackForm(1L)); eM_energyTunnel3_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15153, "hatch.energytunnel3.tier.08", "UV 4096A/t Laser Target Hatch", 8, 4096) - .getStackForm(1L)); + 15153, "hatch.energytunnel3.tier.08", "UV 4096A/t Laser Target Hatch", 8, 4096).getStackForm(1L)); eM_energyTunnel4_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15163, "hatch.energytunnel4.tier.08", "UV 16384A/t Laser Target Hatch", 8, 16384) - .getStackForm(1L)); + 15163, "hatch.energytunnel4.tier.08", "UV 16384A/t Laser Target Hatch", 8, 16384).getStackForm(1L)); eM_energyTunnel5_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15173, "hatch.energytunnel5.tier.08", "UV 65536A/t Laser Target Hatch", 8, 65536) - .getStackForm(1L)); + 15173, "hatch.energytunnel5.tier.08", "UV 65536A/t Laser Target Hatch", 8, 65536).getStackForm(1L)); eM_energyTunnel6_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15183, "hatch.energytunnel6.tier.08", "UV 262144A/t Laser Target Hatch", 8, 262144) - .getStackForm(1L)); + 15183, "hatch.energytunnel6.tier.08", "UV 262144A/t Laser Target Hatch", 8, 262144).getStackForm(1L)); eM_energyTunnel7_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15193, "hatch.energytunnel7.tier.08", "UV 1048576A/t Laser Target Hatch", 8, 1048576) - .getStackForm(1L)); + 15193, "hatch.energytunnel7.tier.08", "UV 1048576A/t Laser Target Hatch", 8, 1048576).getStackForm(1L)); eM_energyTunnel1_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15134, "hatch.energytunnel1.tier.09", "UHV 256A/t Laser Target Hatch", 9, 256) - .getStackForm(1L)); + 15134, "hatch.energytunnel1.tier.09", "UHV 256A/t Laser Target Hatch", 9, 256).getStackForm(1L)); eM_energyTunnel2_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15144, "hatch.energytunnel2.tier.09", "UHV 1024A/t Laser Target Hatch", 9, 1024) - .getStackForm(1L)); + 15144, "hatch.energytunnel2.tier.09", "UHV 1024A/t Laser Target Hatch", 9, 1024).getStackForm(1L)); eM_energyTunnel3_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15154, "hatch.energytunnel3.tier.09", "UHV 4096A/t Laser Target Hatch", 9, 4096) - .getStackForm(1L)); + 15154, "hatch.energytunnel3.tier.09", "UHV 4096A/t Laser Target Hatch", 9, 4096).getStackForm(1L)); eM_energyTunnel4_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15164, "hatch.energytunnel4.tier.09", "UHV 16384A/t Laser Target Hatch", 9, 16384) - .getStackForm(1L)); + 15164, "hatch.energytunnel4.tier.09", "UHV 16384A/t Laser Target Hatch", 9, 16384).getStackForm(1L)); eM_energyTunnel5_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15174, "hatch.energytunnel5.tier.09", "UHV 65536A/t Laser Target Hatch", 9, 65536) - .getStackForm(1L)); + 15174, "hatch.energytunnel5.tier.09", "UHV 65536A/t Laser Target Hatch", 9, 65536).getStackForm(1L)); eM_energyTunnel6_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15184, "hatch.energytunnel6.tier.09", "UHV 262144A/t Laser Target Hatch", 9, 262144) - .getStackForm(1L)); + 15184, "hatch.energytunnel6.tier.09", "UHV 262144A/t Laser Target Hatch", 9, 262144).getStackForm(1L)); eM_energyTunnel7_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15194, "hatch.energytunnel7.tier.09", "UHV 1048576A/t Laser Target Hatch", 9, 1048576) - .getStackForm(1L)); + 15194, "hatch.energytunnel7.tier.09", "UHV 1048576A/t Laser Target Hatch", 9, 1048576).getStackForm(1L)); eM_energyTunnel1_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15135, "hatch.energytunnel1.tier.10", "UEV 256A/t Laser Target Hatch", 10, 256) - .getStackForm(1L)); + 15135, "hatch.energytunnel1.tier.10", "UEV 256A/t Laser Target Hatch", 10, 256).getStackForm(1L)); eM_energyTunnel2_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15145, "hatch.energytunnel2.tier.10", "UEV 1024A/t Laser Target Hatch", 10, 1024) - .getStackForm(1L)); + 15145, "hatch.energytunnel2.tier.10", "UEV 1024A/t Laser Target Hatch", 10, 1024).getStackForm(1L)); eM_energyTunnel3_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15155, "hatch.energytunnel3.tier.10", "UEV 4096A/t Laser Target Hatch", 10, 4096) - .getStackForm(1L)); + 15155, "hatch.energytunnel3.tier.10", "UEV 4096A/t Laser Target Hatch", 10, 4096).getStackForm(1L)); eM_energyTunnel4_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15165, "hatch.energytunnel4.tier.10", "UEV 16384A/t Laser Target Hatch", 10, 16384) - .getStackForm(1L)); + 15165, "hatch.energytunnel4.tier.10", "UEV 16384A/t Laser Target Hatch", 10, 16384).getStackForm(1L)); eM_energyTunnel5_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15175, "hatch.energytunnel5.tier.10", "UEV 65536A/t Laser Target Hatch", 10, 65536) - .getStackForm(1L)); + 15175, "hatch.energytunnel5.tier.10", "UEV 65536A/t Laser Target Hatch", 10, 65536).getStackForm(1L)); eM_energyTunnel6_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15185, "hatch.energytunnel6.tier.10", "UEV 262144A/t Laser Target Hatch", 10, 262144) - .getStackForm(1L)); + 15185, "hatch.energytunnel6.tier.10", "UEV 262144A/t Laser Target Hatch", 10, 262144).getStackForm(1L)); eM_energyTunnel7_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15195, "hatch.energytunnel7.tier.10", "UEV 1048576A/t Laser Target Hatch", 10, 1048576) - .getStackForm(1L)); + 15195, "hatch.energytunnel7.tier.10", "UEV 1048576A/t Laser Target Hatch", 10, 1048576).getStackForm(1L)); eM_energyTunnel1_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15136, "hatch.energytunnel1.tier.11", "UIV 256A/t Laser Target Hatch", 11, 256) - .getStackForm(1L)); + 15136, "hatch.energytunnel1.tier.11", "UIV 256A/t Laser Target Hatch", 11, 256).getStackForm(1L)); eM_energyTunnel2_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15146, "hatch.energytunnel2.tier.11", "UIV 1024A/t Laser Target Hatch", 11, 1024) - .getStackForm(1L)); + 15146, "hatch.energytunnel2.tier.11", "UIV 1024A/t Laser Target Hatch", 11, 1024).getStackForm(1L)); eM_energyTunnel3_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15156, "hatch.energytunnel3.tier.11", "UIV 4096A/t Laser Target Hatch", 11, 4096) - .getStackForm(1L)); + 15156, "hatch.energytunnel3.tier.11", "UIV 4096A/t Laser Target Hatch", 11, 4096).getStackForm(1L)); eM_energyTunnel4_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15166, "hatch.energytunnel4.tier.11", "UIV 16384A/t Laser Target Hatch", 11, 16384) - .getStackForm(1L)); + 15166, "hatch.energytunnel4.tier.11", "UIV 16384A/t Laser Target Hatch", 11, 16384).getStackForm(1L)); eM_energyTunnel5_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15176, "hatch.energytunnel5.tier.11", "UIV 65536A/t Laser Target Hatch", 11, 65536) - .getStackForm(1L)); + 15176, "hatch.energytunnel5.tier.11", "UIV 65536A/t Laser Target Hatch", 11, 65536).getStackForm(1L)); eM_energyTunnel6_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15186, "hatch.energytunnel6.tier.11", "UIV 262144A/t Laser Target Hatch", 11, 262144) - .getStackForm(1L)); + 15186, "hatch.energytunnel6.tier.11", "UIV 262144A/t Laser Target Hatch", 11, 262144).getStackForm(1L)); eM_energyTunnel7_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15196, "hatch.energytunnel7.tier.11", "UIV 1048576A/t Laser Target Hatch", 11, 1048576) - .getStackForm(1L)); + 15196, "hatch.energytunnel7.tier.11", "UIV 1048576A/t Laser Target Hatch", 11, 1048576).getStackForm(1L)); eM_energyTunnel1_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15137, "hatch.energytunnel1.tier.12", "UMV 256A/t Laser Target Hatch", 12, 256) - .getStackForm(1L)); + 15137, "hatch.energytunnel1.tier.12", "UMV 256A/t Laser Target Hatch", 12, 256).getStackForm(1L)); eM_energyTunnel2_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15147, "hatch.energytunnel2.tier.12", "UMV 1024A/t Laser Target Hatch", 12, 1024) - .getStackForm(1L)); + 15147, "hatch.energytunnel2.tier.12", "UMV 1024A/t Laser Target Hatch", 12, 1024).getStackForm(1L)); eM_energyTunnel3_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15157, "hatch.energytunnel3.tier.12", "UMV 4096A/t Laser Target Hatch", 12, 4096) - .getStackForm(1L)); + 15157, "hatch.energytunnel3.tier.12", "UMV 4096A/t Laser Target Hatch", 12, 4096).getStackForm(1L)); eM_energyTunnel4_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15167, "hatch.energytunnel4.tier.12", "UMV 16384A/t Laser Target Hatch", 12, 16384) - .getStackForm(1L)); + 15167, "hatch.energytunnel4.tier.12", "UMV 16384A/t Laser Target Hatch", 12, 16384).getStackForm(1L)); eM_energyTunnel5_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15177, "hatch.energytunnel5.tier.12", "UMV 65536A/t Laser Target Hatch", 12, 65536) - .getStackForm(1L)); + 15177, "hatch.energytunnel5.tier.12", "UMV 65536A/t Laser Target Hatch", 12, 65536).getStackForm(1L)); eM_energyTunnel6_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15187, "hatch.energytunnel6.tier.12", "UMV 262144A/t Laser Target Hatch", 12, 262144) - .getStackForm(1L)); + 15187, "hatch.energytunnel6.tier.12", "UMV 262144A/t Laser Target Hatch", 12, 262144).getStackForm(1L)); eM_energyTunnel7_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15197, "hatch.energytunnel7.tier.12", "UMV 1048576A/t Laser Target Hatch", 12, 1048576) - .getStackForm(1L)); + 15197, "hatch.energytunnel7.tier.12", "UMV 1048576A/t Laser Target Hatch", 12, 1048576).getStackForm(1L)); eM_energyTunnel1_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15138, "hatch.energytunnel1.tier.13", "UXV 256A/t Laser Target Hatch", 13, 256) - .getStackForm(1L)); + 15138, "hatch.energytunnel1.tier.13", "UXV 256A/t Laser Target Hatch", 13, 256).getStackForm(1L)); eM_energyTunnel2_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15148, "hatch.energytunnel2.tier.13", "UXV 1024A/t Laser Target Hatch", 13, 1024) - .getStackForm(1L)); + 15148, "hatch.energytunnel2.tier.13", "UXV 1024A/t Laser Target Hatch", 13, 1024).getStackForm(1L)); eM_energyTunnel3_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15158, "hatch.energytunnel3.tier.13", "UXV 4096A/t Laser Target Hatch", 13, 4096) - .getStackForm(1L)); + 15158, "hatch.energytunnel3.tier.13", "UXV 4096A/t Laser Target Hatch", 13, 4096).getStackForm(1L)); eM_energyTunnel4_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15168, "hatch.energytunnel4.tier.13", "UXV 16384A/t Laser Target Hatch", 13, 16384) - .getStackForm(1L)); + 15168, "hatch.energytunnel4.tier.13", "UXV 16384A/t Laser Target Hatch", 13, 16384).getStackForm(1L)); eM_energyTunnel5_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15178, "hatch.energytunnel5.tier.13", "UXV 65536A/t Laser Target Hatch", 13, 65536) - .getStackForm(1L)); + 15178, "hatch.energytunnel5.tier.13", "UXV 65536A/t Laser Target Hatch", 13, 65536).getStackForm(1L)); eM_energyTunnel6_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15188, "hatch.energytunnel6.tier.13", "UXV 262144A/t Laser Target Hatch", 13, 262144) - .getStackForm(1L)); + 15188, "hatch.energytunnel6.tier.13", "UXV 262144A/t Laser Target Hatch", 13, 262144).getStackForm(1L)); eM_energyTunnel7_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15198, "hatch.energytunnel7.tier.13", "UXV 1048576A/t Laser Target Hatch", 13, 1048576) - .getStackForm(1L)); + 15198, "hatch.energytunnel7.tier.13", "UXV 1048576A/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", 13, (int) V[13]) - .getStackForm(1L)); + 15199, "hatch.energytunnel.tier.14", "Legendary Laser Target Hatch", 13, (int) V[13]).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)); + 15200, "hatch.dynamomulti04.tier.05", "IV 4A Dynamo Hatch", 5, 4).getStackForm(1L)); eM_dynamoMulti16_IV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15210, "hatch.dynamomulti16.tier.05", "IV 16A Dynamo Hatch", 5, 16) - .getStackForm(1L)); + 15210, "hatch.dynamomulti16.tier.05", "IV 16A Dynamo Hatch", 5, 16).getStackForm(1L)); eM_dynamoMulti64_IV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15220, "hatch.dynamomulti64.tier.05", "IV 64A Dynamo Hatch", 5, 64) - .getStackForm(1L)); + 15220, "hatch.dynamomulti64.tier.05", "IV 64A Dynamo Hatch", 5, 64).getStackForm(1L)); eM_dynamoMulti4_LuV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15201, "hatch.dynamomulti04.tier.06", "LuV 4A Dynamo Hatch", 6, 4) - .getStackForm(1L)); + 15201, "hatch.dynamomulti04.tier.06", "LuV 4A Dynamo Hatch", 6, 4).getStackForm(1L)); eM_dynamoMulti16_LuV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15211, "hatch.dynamomulti16.tier.06", "LuV 16A Dynamo Hatch", 6, 16) - .getStackForm(1L)); + 15211, "hatch.dynamomulti16.tier.06", "LuV 16A Dynamo Hatch", 6, 16).getStackForm(1L)); eM_dynamoMulti64_LuV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15221, "hatch.dynamomulti64.tier.06", "LuV 64A Dynamo Hatch", 6, 64) - .getStackForm(1L)); + 15221, "hatch.dynamomulti64.tier.06", "LuV 64A Dynamo Hatch", 6, 64).getStackForm(1L)); eM_dynamoMulti4_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15202, "hatch.dynamomulti04.tier.07", "ZPM 4A Dynamo Hatch", 7, 4) - .getStackForm(1L)); + 15202, "hatch.dynamomulti04.tier.07", "ZPM 4A Dynamo Hatch", 7, 4).getStackForm(1L)); eM_dynamoMulti16_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15212, "hatch.dynamomulti16.tier.07", "ZPM 16A Dynamo Hatch", 7, 16) - .getStackForm(1L)); + 15212, "hatch.dynamomulti16.tier.07", "ZPM 16A Dynamo Hatch", 7, 16).getStackForm(1L)); eM_dynamoMulti64_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15222, "hatch.dynamomulti64.tier.07", "ZPM 64A Dynamo Hatch", 7, 64) - .getStackForm(1L)); + 15222, "hatch.dynamomulti64.tier.07", "ZPM 64A Dynamo Hatch", 7, 64).getStackForm(1L)); eM_dynamoMulti4_UV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15203, "hatch.dynamomulti04.tier.08", "UV 4A Dynamo Hatch", 8, 4) - .getStackForm(1L)); + 15203, "hatch.dynamomulti04.tier.08", "UV 4A Dynamo Hatch", 8, 4).getStackForm(1L)); eM_dynamoMulti16_UV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15213, "hatch.dynamomulti16.tier.08", "UV 16A Dynamo Hatch", 8, 16) - .getStackForm(1L)); + 15213, "hatch.dynamomulti16.tier.08", "UV 16A Dynamo Hatch", 8, 16).getStackForm(1L)); eM_dynamoMulti64_UV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15223, "hatch.dynamomulti64.tier.08", "UV 64A Dynamo Hatch", 8, 64) - .getStackForm(1L)); + 15223, "hatch.dynamomulti64.tier.08", "UV 64A Dynamo Hatch", 8, 64).getStackForm(1L)); eM_dynamoMulti4_UHV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15204, "hatch.dynamomulti04.tier.09", "UHV 4A Dynamo Hatch", 9, 4) - .getStackForm(1L)); + 15204, "hatch.dynamomulti04.tier.09", "UHV 4A Dynamo Hatch", 9, 4).getStackForm(1L)); eM_dynamoMulti16_UHV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15214, "hatch.dynamomulti16.tier.09", "UHV 16A Dynamo Hatch", 9, 16) - .getStackForm(1L)); + 15214, "hatch.dynamomulti16.tier.09", "UHV 16A Dynamo Hatch", 9, 16).getStackForm(1L)); eM_dynamoMulti64_UHV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15224, "hatch.dynamomulti64.tier.09", "UHV 64A Dynamo Hatch", 9, 64) - .getStackForm(1L)); + 15224, "hatch.dynamomulti64.tier.09", "UHV 64A Dynamo Hatch", 9, 64).getStackForm(1L)); eM_dynamoMulti4_UEV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15205, "hatch.dynamomulti04.tier.10", "UEV 4A Dynamo Hatch", 10, 4) - .getStackForm(1L)); + 15205, "hatch.dynamomulti04.tier.10", "UEV 4A Dynamo Hatch", 10, 4).getStackForm(1L)); eM_dynamoMulti16_UEV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15215, "hatch.dynamomulti16.tier.10", "UEV 16A Dynamo Hatch", 10, 16) - .getStackForm(1L)); + 15215, "hatch.dynamomulti16.tier.10", "UEV 16A Dynamo Hatch", 10, 16).getStackForm(1L)); eM_dynamoMulti64_UEV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15225, "hatch.dynamomulti64.tier.10", "UEV 64A Dynamo Hatch", 10, 64) - .getStackForm(1L)); + 15225, "hatch.dynamomulti64.tier.10", "UEV 64A Dynamo Hatch", 10, 64).getStackForm(1L)); eM_dynamoMulti4_UIV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15206, "hatch.dynamomulti04.tier.11", "UIV 4A Dynamo Hatch", 11, 4) - .getStackForm(1L)); + 15206, "hatch.dynamomulti04.tier.11", "UIV 4A Dynamo Hatch", 11, 4).getStackForm(1L)); eM_dynamoMulti16_UIV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15216, "hatch.dynamomulti16.tier.11", "UIV 16A Dynamo Hatch", 11, 16) - .getStackForm(1L)); + 15216, "hatch.dynamomulti16.tier.11", "UIV 16A Dynamo Hatch", 11, 16).getStackForm(1L)); eM_dynamoMulti64_UIV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15226, "hatch.dynamomulti64.tier.11", "UIV 64A Dynamo Hatch", 11, 64) - .getStackForm(1L)); + 15226, "hatch.dynamomulti64.tier.11", "UIV 64A Dynamo Hatch", 11, 64).getStackForm(1L)); eM_dynamoMulti4_UMV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15207, "hatch.dynamomulti04.tier.12", "UMV 4A Dynamo Hatch", 12, 4) - .getStackForm(1L)); + 15207, "hatch.dynamomulti04.tier.12", "UMV 4A Dynamo Hatch", 12, 4).getStackForm(1L)); eM_dynamoMulti16_UMV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15217, "hatch.dynamomulti16.tier.12", "UMV 16A Dynamo Hatch", 12, 16) - .getStackForm(1L)); + 15217, "hatch.dynamomulti16.tier.12", "UMV 16A Dynamo Hatch", 12, 16).getStackForm(1L)); eM_dynamoMulti64_UMV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15227, "hatch.dynamomulti64.tier.12", "UMV 64A Dynamo Hatch", 12, 64) - .getStackForm(1L)); + 15227, "hatch.dynamomulti64.tier.12", "UMV 64A Dynamo Hatch", 12, 64).getStackForm(1L)); eM_dynamoMulti4_UXV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15208, "hatch.dynamomulti04.tier.13", "UXV 4A Dynamo Hatch", 13, 4) - .getStackForm(1L)); + 15208, "hatch.dynamomulti04.tier.13", "UXV 4A Dynamo Hatch", 13, 4).getStackForm(1L)); eM_dynamoMulti16_UXV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15218, "hatch.dynamomulti16.tier.13", "UXV 16A Dynamo Hatch", 13, 16) - .getStackForm(1L)); + 15218, "hatch.dynamomulti16.tier.13", "UXV 16A Dynamo Hatch", 13, 16).getStackForm(1L)); eM_dynamoMulti64_UXV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15228, "hatch.dynamomulti64.tier.13", "UXV 64A Dynamo Hatch", 13, 64) - .getStackForm(1L)); + 15228, "hatch.dynamomulti64.tier.13", "UXV 64A Dynamo Hatch", 13, 64).getStackForm(1L)); // =================================================================================================== // Multi AMP Laser OUTPUTS // =================================================================================================== eM_dynamoTunnel1_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15230, "hatch.dynamotunnel1.tier.05", "IV 256A/t Laser Source Hatch", 5, 256) - .getStackForm(1L)); + 15230, "hatch.dynamotunnel1.tier.05", "IV 256A/t Laser Source Hatch", 5, 256).getStackForm(1L)); eM_dynamoTunnel2_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15240, "hatch.dynamotunnel2.tier.05", "IV 1024A/t Laser Source Hatch", 5, 1024) - .getStackForm(1L)); + 15240, "hatch.dynamotunnel2.tier.05", "IV 1024A/t Laser Source Hatch", 5, 1024).getStackForm(1L)); eM_dynamoTunnel3_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15250, "hatch.dynamotunnel3.tier.05", "IV 4096A/t Laser Source Hatch", 5, 4096) - .getStackForm(1L)); + 15250, "hatch.dynamotunnel3.tier.05", "IV 4096A/t Laser Source Hatch", 5, 4096).getStackForm(1L)); eM_dynamoTunnel4_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15260, "hatch.dynamotunnel4.tier.05", "IV 16384A/t Laser Source Hatch", 5, 16384) - .getStackForm(1L)); + 15260, "hatch.dynamotunnel4.tier.05", "IV 16384A/t Laser Source Hatch", 5, 16384).getStackForm(1L)); eM_dynamoTunnel5_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15270, "hatch.dynamotunnel5.tier.05", "IV 65536A/t Laser Source Hatch", 5, 65536) - .getStackForm(1L)); + 15270, "hatch.dynamotunnel5.tier.05", "IV 65536A/t Laser Source Hatch", 5, 65536).getStackForm(1L)); eM_dynamoTunnel6_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15280, "hatch.dynamotunnel6.tier.05", "IV 262144A/t Laser Source Hatch", 5, 262144) - .getStackForm(1L)); + 15280, "hatch.dynamotunnel6.tier.05", "IV 262144A/t Laser Source Hatch", 5, 262144).getStackForm(1L)); eM_dynamoTunnel7_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15290, "hatch.dynamotunnel7.tier.05", "IV 1048576A/t Laser Source Hatch", 5, 1048576) - .getStackForm(1L)); + 15290, "hatch.dynamotunnel7.tier.05", "IV 1048576A/t Laser Source Hatch", 5, 1048576).getStackForm(1L)); eM_dynamoTunnel1_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15231, "hatch.dynamotunnel1.tier.06", "LuV 256A/t Laser Source Hatch", 6, 256) - .getStackForm(1L)); + 15231, "hatch.dynamotunnel1.tier.06", "LuV 256A/t Laser Source Hatch", 6, 256).getStackForm(1L)); eM_dynamoTunnel2_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15241, "hatch.dynamotunnel2.tier.06", "LuV 1024A/t Laser Source Hatch", 6, 1024) - .getStackForm(1L)); + 15241, "hatch.dynamotunnel2.tier.06", "LuV 1024A/t Laser Source Hatch", 6, 1024).getStackForm(1L)); eM_dynamoTunnel3_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15251, "hatch.dynamotunnel3.tier.06", "LuV 4096A/t Laser Source Hatch", 6, 4096) - .getStackForm(1L)); + 15251, "hatch.dynamotunnel3.tier.06", "LuV 4096A/t Laser Source Hatch", 6, 4096).getStackForm(1L)); eM_dynamoTunnel4_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15261, "hatch.dynamotunnel4.tier.06", "LuV 16384A/t Laser Source Hatch", 6, 16384) - .getStackForm(1L)); + 15261, "hatch.dynamotunnel4.tier.06", "LuV 16384A/t Laser Source Hatch", 6, 16384).getStackForm(1L)); eM_dynamoTunnel5_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15271, "hatch.dynamotunnel5.tier.06", "LuV 65536A/t Laser Source Hatch", 6, 65536) - .getStackForm(1L)); + 15271, "hatch.dynamotunnel5.tier.06", "LuV 65536A/t Laser Source Hatch", 6, 65536).getStackForm(1L)); eM_dynamoTunnel6_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15281, "hatch.dynamotunnel6.tier.06", "LuV 262144A/t Laser Source Hatch", 6, 262144) - .getStackForm(1L)); + 15281, "hatch.dynamotunnel6.tier.06", "LuV 262144A/t Laser Source Hatch", 6, 262144).getStackForm(1L)); eM_dynamoTunnel7_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15291, "hatch.dynamotunnel7.tier.06", "LuV 1048576A/t Laser Source Hatch", 6, 1048576) - .getStackForm(1L)); + 15291, "hatch.dynamotunnel7.tier.06", "LuV 1048576A/t Laser Source Hatch", 6, 1048576).getStackForm(1L)); eM_dynamoTunnel1_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15232, "hatch.dynamotunnel1.tier.07", "ZPM 256A/t Laser Source Hatch", 7, 256) - .getStackForm(1L)); + 15232, "hatch.dynamotunnel1.tier.07", "ZPM 256A/t Laser Source Hatch", 7, 256).getStackForm(1L)); eM_dynamoTunnel2_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15242, "hatch.dynamotunnel2.tier.07", "ZPM 1024A/t Laser Source Hatch", 7, 1024) - .getStackForm(1L)); + 15242, "hatch.dynamotunnel2.tier.07", "ZPM 1024A/t Laser Source Hatch", 7, 1024).getStackForm(1L)); eM_dynamoTunnel3_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15252, "hatch.dynamotunnel3.tier.07", "ZPM 4096A/t Laser Source Hatch", 7, 4096) - .getStackForm(1L)); + 15252, "hatch.dynamotunnel3.tier.07", "ZPM 4096A/t Laser Source Hatch", 7, 4096).getStackForm(1L)); eM_dynamoTunnel4_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15262, "hatch.dynamotunnel4.tier.07", "ZPM 16384A/t Laser Source Hatch", 7, 16384) - .getStackForm(1L)); + 15262, "hatch.dynamotunnel4.tier.07", "ZPM 16384A/t Laser Source Hatch", 7, 16384).getStackForm(1L)); eM_dynamoTunnel5_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15272, "hatch.dynamotunnel5.tier.07", "ZPM 65536A/t Laser Source Hatch", 7, 65536) - .getStackForm(1L)); + 15272, "hatch.dynamotunnel5.tier.07", "ZPM 65536A/t Laser Source Hatch", 7, 65536).getStackForm(1L)); eM_dynamoTunnel6_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15282, "hatch.dynamotunnel6.tier.07", "ZPM 262144A/t Laser Source Hatch", 7, 262144) - .getStackForm(1L)); + 15282, "hatch.dynamotunnel6.tier.07", "ZPM 262144A/t Laser Source Hatch", 7, 262144).getStackForm(1L)); eM_dynamoTunnel7_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15292, "hatch.dynamotunnel7.tier.07", "ZPM 1048576A/t Laser Source Hatch", 7, 1048576) - .getStackForm(1L)); + 15292, "hatch.dynamotunnel7.tier.07", "ZPM 1048576A/t Laser Source Hatch", 7, 1048576).getStackForm(1L)); eM_dynamoTunnel1_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15233, "hatch.dynamotunnel1.tier.08", "UV 256A/t Laser Source Hatch", 8, 256) - .getStackForm(1L)); + 15233, "hatch.dynamotunnel1.tier.08", "UV 256A/t Laser Source Hatch", 8, 256).getStackForm(1L)); eM_dynamoTunnel2_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15243, "hatch.dynamotunnel2.tier.08", "UV 1024A/t Laser Source Hatch", 8, 1024) - .getStackForm(1L)); + 15243, "hatch.dynamotunnel2.tier.08", "UV 1024A/t Laser Source Hatch", 8, 1024).getStackForm(1L)); eM_dynamoTunnel3_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15253, "hatch.dynamotunnel3.tier.08", "UV 4096A/t Laser Source Hatch", 8, 4096) - .getStackForm(1L)); + 15253, "hatch.dynamotunnel3.tier.08", "UV 4096A/t Laser Source Hatch", 8, 4096).getStackForm(1L)); eM_dynamoTunnel4_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15263, "hatch.dynamotunnel4.tier.08", "UV 16384A/t Laser Source Hatch", 8, 16384) - .getStackForm(1L)); + 15263, "hatch.dynamotunnel4.tier.08", "UV 16384A/t Laser Source Hatch", 8, 16384).getStackForm(1L)); eM_dynamoTunnel5_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15273, "hatch.dynamotunnel5.tier.08", "UV 65536A/t Laser Source Hatch", 8, 65536) - .getStackForm(1L)); + 15273, "hatch.dynamotunnel5.tier.08", "UV 65536A/t Laser Source Hatch", 8, 65536).getStackForm(1L)); eM_dynamoTunnel6_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15283, "hatch.dynamotunnel6.tier.08", "UV 262144A/t Laser Source Hatch", 8, 262144) - .getStackForm(1L)); + 15283, "hatch.dynamotunnel6.tier.08", "UV 262144A/t Laser Source Hatch", 8, 262144).getStackForm(1L)); eM_dynamoTunnel7_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15293, "hatch.dynamotunnel7.tier.08", "UV 1048576A/t Laser Source Hatch", 8, 1048576) - .getStackForm(1L)); + 15293, "hatch.dynamotunnel7.tier.08", "UV 1048576A/t Laser Source Hatch", 8, 1048576).getStackForm(1L)); eM_dynamoTunnel1_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15234, "hatch.dynamotunnel1.tier.09", "UHV 256A/t Laser Source Hatch", 9, 256) - .getStackForm(1L)); + 15234, "hatch.dynamotunnel1.tier.09", "UHV 256A/t Laser Source Hatch", 9, 256).getStackForm(1L)); eM_dynamoTunnel2_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15244, "hatch.dynamotunnel2.tier.09", "UHV 1024A/t Laser Source Hatch", 9, 1024) - .getStackForm(1L)); + 15244, "hatch.dynamotunnel2.tier.09", "UHV 1024A/t Laser Source Hatch", 9, 1024).getStackForm(1L)); eM_dynamoTunnel3_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15254, "hatch.dynamotunnel3.tier.09", "UHV 4096A/t Laser Source Hatch", 9, 4096) - .getStackForm(1L)); + 15254, "hatch.dynamotunnel3.tier.09", "UHV 4096A/t Laser Source Hatch", 9, 4096).getStackForm(1L)); eM_dynamoTunnel4_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15264, "hatch.dynamotunnel4.tier.09", "UHV 16384A/t Laser Source Hatch", 9, 16384) - .getStackForm(1L)); + 15264, "hatch.dynamotunnel4.tier.09", "UHV 16384A/t Laser Source Hatch", 9, 16384).getStackForm(1L)); eM_dynamoTunnel5_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15274, "hatch.dynamotunnel5.tier.09", "UHV 65536A/t Laser Source Hatch", 9, 65536) - .getStackForm(1L)); + 15274, "hatch.dynamotunnel5.tier.09", "UHV 65536A/t Laser Source Hatch", 9, 65536).getStackForm(1L)); eM_dynamoTunnel6_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15284, "hatch.dynamotunnel6.tier.09", "UHV 262144A/t Laser Source Hatch", 9, 262144) - .getStackForm(1L)); + 15284, "hatch.dynamotunnel6.tier.09", "UHV 262144A/t Laser Source Hatch", 9, 262144).getStackForm(1L)); eM_dynamoTunnel7_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15294, "hatch.dynamotunnel7.tier.09", "UHV 1048576A/t Laser Source Hatch", 9, 1048576) - .getStackForm(1L)); + 15294, "hatch.dynamotunnel7.tier.09", "UHV 1048576A/t Laser Source Hatch", 9, 1048576).getStackForm(1L)); eM_dynamoTunnel1_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15235, "hatch.dynamotunnel1.tier.10", "UEV 256A/t Laser Source Hatch", 10, 256) - .getStackForm(1L)); + 15235, "hatch.dynamotunnel1.tier.10", "UEV 256A/t Laser Source Hatch", 10, 256).getStackForm(1L)); eM_dynamoTunnel2_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15245, "hatch.dynamotunnel2.tier.10", "UEV 1024A/t Laser Source Hatch", 10, 1024) - .getStackForm(1L)); + 15245, "hatch.dynamotunnel2.tier.10", "UEV 1024A/t Laser Source Hatch", 10, 1024).getStackForm(1L)); eM_dynamoTunnel3_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15255, "hatch.dynamotunnel3.tier.10", "UEV 4096A/t Laser Source Hatch", 10, 4096) - .getStackForm(1L)); + 15255, "hatch.dynamotunnel3.tier.10", "UEV 4096A/t Laser Source Hatch", 10, 4096).getStackForm(1L)); eM_dynamoTunnel4_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15265, "hatch.dynamotunnel4.tier.10", "UEV 16384A/t Laser Source Hatch", 10, 16384) - .getStackForm(1L)); + 15265, "hatch.dynamotunnel4.tier.10", "UEV 16384A/t Laser Source Hatch", 10, 16384).getStackForm(1L)); eM_dynamoTunnel5_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15275, "hatch.dynamotunnel5.tier.10", "UEV 65536A/t Laser Source Hatch", 10, 65536) - .getStackForm(1L)); + 15275, "hatch.dynamotunnel5.tier.10", "UEV 65536A/t Laser Source Hatch", 10, 65536).getStackForm(1L)); eM_dynamoTunnel6_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15285, "hatch.dynamotunnel6.tier.10", "UEV 262144A/t Laser Source Hatch", 10, 262144) - .getStackForm(1L)); + 15285, "hatch.dynamotunnel6.tier.10", "UEV 262144A/t Laser Source Hatch", 10, 262144).getStackForm(1L)); eM_dynamoTunnel7_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15295, "hatch.dynamotunnel7.tier.10", "UEV 1048576A/t Laser Source Hatch", 10, 1048576) - .getStackForm(1L)); + 15295, "hatch.dynamotunnel7.tier.10", "UEV 1048576A/t Laser Source Hatch", 10, 1048576).getStackForm(1L)); eM_dynamoTunnel1_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15236, "hatch.dynamotunnel1.tier.11", "UIV 256A/t Laser Source Hatch", 11, 256) - .getStackForm(1L)); + 15236, "hatch.dynamotunnel1.tier.11", "UIV 256A/t Laser Source Hatch", 11, 256).getStackForm(1L)); eM_dynamoTunnel2_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15246, "hatch.dynamotunnel2.tier.11", "UIV 1024A/t Laser Source Hatch", 11, 1024) - .getStackForm(1L)); + 15246, "hatch.dynamotunnel2.tier.11", "UIV 1024A/t Laser Source Hatch", 11, 1024).getStackForm(1L)); eM_dynamoTunnel3_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15256, "hatch.dynamotunnel3.tier.11", "UIV 4096A/t Laser Source Hatch", 11, 4096) - .getStackForm(1L)); + 15256, "hatch.dynamotunnel3.tier.11", "UIV 4096A/t Laser Source Hatch", 11, 4096).getStackForm(1L)); eM_dynamoTunnel4_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15266, "hatch.dynamotunnel4.tier.11", "UIV 16384A/t Laser Source Hatch", 11, 16384) - .getStackForm(1L)); + 15266, "hatch.dynamotunnel4.tier.11", "UIV 16384A/t Laser Source Hatch", 11, 16384).getStackForm(1L)); eM_dynamoTunnel5_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15276, "hatch.dynamotunnel5.tier.11", "UIV 65536A/t Laser Source Hatch", 11, 65536) - .getStackForm(1L)); + 15276, "hatch.dynamotunnel5.tier.11", "UIV 65536A/t Laser Source Hatch", 11, 65536).getStackForm(1L)); eM_dynamoTunnel6_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15286, "hatch.dynamotunnel6.tier.11", "UIV 262144A/t Laser Source Hatch", 11, 262144) - .getStackForm(1L)); + 15286, "hatch.dynamotunnel6.tier.11", "UIV 262144A/t Laser Source Hatch", 11, 262144).getStackForm(1L)); eM_dynamoTunnel7_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15296, "hatch.dynamotunnel7.tier.11", "UIV 1048576A/t Laser Source Hatch", 11, 1048576) - .getStackForm(1L)); + 15296, "hatch.dynamotunnel7.tier.11", "UIV 1048576A/t Laser Source Hatch", 11, 1048576).getStackForm(1L)); eM_dynamoTunnel1_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15237, "hatch.dynamotunnel1.tier.12", "UMV 256A/t Laser Source Hatch", 12, 256) - .getStackForm(1L)); + 15237, "hatch.dynamotunnel1.tier.12", "UMV 256A/t Laser Source Hatch", 12, 256).getStackForm(1L)); eM_dynamoTunnel2_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15247, "hatch.dynamotunnel2.tier.12", "UMV 1024A/t Laser Source Hatch", 12, 1024) - .getStackForm(1L)); + 15247, "hatch.dynamotunnel2.tier.12", "UMV 1024A/t Laser Source Hatch", 12, 1024).getStackForm(1L)); eM_dynamoTunnel3_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15257, "hatch.dynamotunnel3.tier.12", "UMV 4096A/t Laser Source Hatch", 12, 4096) - .getStackForm(1L)); + 15257, "hatch.dynamotunnel3.tier.12", "UMV 4096A/t Laser Source Hatch", 12, 4096).getStackForm(1L)); eM_dynamoTunnel4_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15267, "hatch.dynamotunnel4.tier.12", "UMV 16384A/t Laser Source Hatch", 12, 16384) - .getStackForm(1L)); + 15267, "hatch.dynamotunnel4.tier.12", "UMV 16384A/t Laser Source Hatch", 12, 16384).getStackForm(1L)); eM_dynamoTunnel5_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15277, "hatch.dynamotunnel5.tier.12", "UMV 65536A/t Laser Source Hatch", 12, 65536) - .getStackForm(1L)); + 15277, "hatch.dynamotunnel5.tier.12", "UMV 65536A/t Laser Source Hatch", 12, 65536).getStackForm(1L)); eM_dynamoTunnel6_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15287, "hatch.dynamotunnel6.tier.12", "UMV 262144A/t Laser Source Hatch", 12, 262144) - .getStackForm(1L)); + 15287, "hatch.dynamotunnel6.tier.12", "UMV 262144A/t Laser Source Hatch", 12, 262144).getStackForm(1L)); eM_dynamoTunnel7_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15297, "hatch.dynamotunnel7.tier.12", "UMV 1048576A/t Laser Source Hatch", 12, 1048576) - .getStackForm(1L)); + 15297, "hatch.dynamotunnel7.tier.12", "UMV 1048576A/t Laser Source Hatch", 12, 1048576).getStackForm(1L)); eM_dynamoTunnel1_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15238, "hatch.dynamotunnel1.tier.13", "UXV 256A/t Laser Source Hatch", 13, 256) - .getStackForm(1L)); + 15238, "hatch.dynamotunnel1.tier.13", "UXV 256A/t Laser Source Hatch", 13, 256).getStackForm(1L)); eM_dynamoTunnel2_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15248, "hatch.dynamotunnel2.tier.13", "UXV 1024A/t Laser Source Hatch", 13, 1024) - .getStackForm(1L)); + 15248, "hatch.dynamotunnel2.tier.13", "UXV 1024A/t Laser Source Hatch", 13, 1024).getStackForm(1L)); eM_dynamoTunnel3_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15258, "hatch.dynamotunnel3.tier.13", "UXV 4096A/t Laser Source Hatch", 13, 4096) - .getStackForm(1L)); + 15258, "hatch.dynamotunnel3.tier.13", "UXV 4096A/t Laser Source Hatch", 13, 4096).getStackForm(1L)); eM_dynamoTunnel4_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15268, "hatch.dynamotunnel4.tier.13", "UXV 16384A/t Laser Source Hatch", 13, 16384) - .getStackForm(1L)); + 15268, "hatch.dynamotunnel4.tier.13", "UXV 16384A/t Laser Source Hatch", 13, 16384).getStackForm(1L)); eM_dynamoTunnel5_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15278, "hatch.dynamotunnel5.tier.13", "UXV 65536A/t Laser Source Hatch", 13, 65536) - .getStackForm(1L)); + 15278, "hatch.dynamotunnel5.tier.13", "UXV 65536A/t Laser Source Hatch", 13, 65536).getStackForm(1L)); eM_dynamoTunnel6_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15288, "hatch.dynamotunnel6.tier.13", "UXV 262144A/t Laser Source Hatch", 13, 262144) - .getStackForm(1L)); + 15288, "hatch.dynamotunnel6.tier.13", "UXV 262144A/t Laser Source Hatch", 13, 262144).getStackForm(1L)); eM_dynamoTunnel7_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15298, "hatch.dynamotunnel7.tier.13", "UXV 1048576A/t Laser Source Hatch", 13, 1048576) - .getStackForm(1L)); + 15298, "hatch.dynamotunnel7.tier.13", "UXV 1048576A/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", 13, (int) V[13]) - .getStackForm(1L)); + 15299, "hatch.dynamotunnel.tier.14", "Legendary Laser Source Hatch", 13, (int) V[13]).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_DataBank.set( - new GT_MetaTileEntity_EM_dataBank(15313, "multimachine.em.databank", "Data Bank").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)); - Machine_Multi_EMToMatter.set( - new GT_MetaTileEntity_EM_dequantizer(15322, "multimachine.em.emtomatter", "Matter Dequantizer") - .getStackForm(1L)); + 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_DataBank.set(new GT_MetaTileEntity_EM_dataBank(15313, "multimachine.em.databank", "Data Bank").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)); + Machine_Multi_EMToMatter.set(new GT_MetaTileEntity_EM_dequantizer(15322, "multimachine.em.emtomatter", "Matter Dequantizer").getStackForm(1L)); // COMPAT - Machine_Multi_EssentiaToEM.set( - new GT_MetaTileEntity_EM_essentiaQuantizer(15323, "multimachine.em.essentiatoem", "Essentia Quantizer") - .getStackForm(1L)); - Machine_Multi_EMToEssentia.set(new GT_MetaTileEntity_EM_essentiaDequantizer( - 15324, "multimachine.em.emtoessentia", "Essentia Dequantizer") - .getStackForm(1L)); - - Machine_Multi_Scanner.set( - new GT_MetaTileEntity_EM_scanner(15330, "multimachine.em.scanner", "Elemental Scanner") - .getStackForm(1L)); - Machine_Multi_Research.set( - new GT_MetaTileEntity_EM_research(15331, "multimachine.em.research", "Research station") - .getStackForm(1L)); - - Machine_Multi_Collider.set( - new GT_MetaTileEntity_EM_collider(15340, "multimachine.em.collider", "Matter Collider") - .getStackForm(1L)); - - Machine_Multi_Infuser.set( - new GT_MetaTileEntity_EM_infuser(15350, "multimachine.em.infuser", "Energy Infuser").getStackForm(1)); - - Machine_Multi_EMmachine.set( - new GT_MetaTileEntity_EM_machine(15360, "multimachine.em.processing", "Quantum Processing Machine") - .getStackForm(1L)); - - Machine_Multi_EMCrafter.set( - new GT_MetaTileEntity_EM_crafting(15370, "multimachine.em.crafter", "Matter Assembler") - .getStackForm(1L)); - - Machine_Multi_Stabilizer.set( - new GT_MetaTileEntity_EM_stabilizer(15380, "multimachine.em.stabilizer", "Elemental Stabilizer") - .getStackForm(1L)); - - Machine_Multi_Wormhole.set( - new GT_MetaTileEntity_EM_wormhole(15390, "multimachine.em.wormhole", "Wormhole").getStackForm(1L)); - - Machine_Multi_Decay.set( - new GT_MetaTileEntity_EM_decay(15400, "multimachine.em.decay", "Decay Generator").getStackForm(1L)); - Machine_Multi_Annihilation.set( - new GT_MetaTileEntity_EM_annihilation(15405, "multimachine.em.annihilation", "Annihilation Generator") - .getStackForm(1L)); - Machine_Multi_BHG.set( - new GT_MetaTileEntity_EM_bhg(15410, "multimachine.em.blackholegenerator", "Black Hole Generator") - .getStackForm(1L)); + Machine_Multi_EssentiaToEM.set(new GT_MetaTileEntity_EM_essentiaQuantizer(15323, "multimachine.em.essentiatoem", "Essentia Quantizer").getStackForm(1L)); + Machine_Multi_EMToEssentia.set(new GT_MetaTileEntity_EM_essentiaDequantizer(15324, "multimachine.em.emtoessentia", "Essentia Dequantizer").getStackForm(1L)); + + Machine_Multi_Scanner.set(new GT_MetaTileEntity_EM_scanner(15330, "multimachine.em.scanner", "Elemental Scanner").getStackForm(1L)); + Machine_Multi_Research.set(new GT_MetaTileEntity_EM_research(15331, "multimachine.em.research", "Research station").getStackForm(1L)); + + Machine_Multi_Collider.set(new GT_MetaTileEntity_EM_collider(15340, "multimachine.em.collider", "Matter Collider").getStackForm(1L)); + + Machine_Multi_Infuser.set(new GT_MetaTileEntity_EM_infuser(15350, "multimachine.em.infuser", "Energy Infuser").getStackForm(1)); + + Machine_Multi_EMmachine.set(new GT_MetaTileEntity_EM_machine(15360, "multimachine.em.processing", "Quantum Processing Machine").getStackForm(1L)); + + Machine_Multi_EMCrafter.set(new GT_MetaTileEntity_EM_crafting(15370, "multimachine.em.crafter", "Matter Assembler").getStackForm(1L)); + + Machine_Multi_Stabilizer.set(new GT_MetaTileEntity_EM_stabilizer(15380, "multimachine.em.stabilizer", "Elemental Stabilizer").getStackForm(1L)); + + Machine_Multi_Wormhole.set(new GT_MetaTileEntity_EM_wormhole(15390, "multimachine.em.wormhole", "Wormhole").getStackForm(1L)); + + Machine_Multi_Decay.set(new GT_MetaTileEntity_EM_decay(15400, "multimachine.em.decay", "Decay Generator").getStackForm(1L)); + Machine_Multi_Annihilation.set(new GT_MetaTileEntity_EM_annihilation(15405, "multimachine.em.annihilation", "Annihilation Generator").getStackForm(1L)); + Machine_Multi_BHG.set(new GT_MetaTileEntity_EM_bhg(15410, "multimachine.em.blackholegenerator", "Black Hole Generator").getStackForm(1L)); // =================================================================================================== // Hatches // =================================================================================================== - Parametrizer_Hatch.set(new GT_MetaTileEntity_Hatch_Param(15420, "hatch.param.tier.05", "Parametrizer", 5) - .getStackForm(1L)); // TODO refactor aName to hatch.param.tier.04 and aTier to 4, check recipe for NH - ParametrizerX_Hatch.set( - new GT_MetaTileEntity_Hatch_Param(15421, "hatch.param.tier.07", "Parametrizer X", 7).getStackForm(1L)); - ParametrizerTXT_Hatch.set( - new GT_MetaTileEntity_Hatch_ParamText(15422, "hatch.param.tier.10", "Parametrizer tXt", 10) - .getStackForm(1L)); // TODO check recipe for NH - - Uncertainty_Hatch.set( - new GT_MetaTileEntity_Hatch_Uncertainty(15430, "hatch.certain.tier.07", "Uncertainty Resolver", 7) - .getStackForm(1L)); - UncertaintyX_Hatch.set( - new GT_MetaTileEntity_Hatch_Uncertainty(15431, "hatch.certain.tier.10", "Uncertainty Resolver X", 10) - .getStackForm(1L)); - - dataIn_Hatch.set( - new GT_MetaTileEntity_Hatch_InputData(15440, "hatch.datain.tier.07", "Optical Slave Connector", 7) - .getStackForm(1L)); - dataOut_Hatch.set( - new GT_MetaTileEntity_Hatch_OutputData(15441, "hatch.dataout.tier.07", "Optical Master Connector", 7) - .getStackForm(1L)); - dataInAss_Hatch.set(new GT_MetaTileEntity_Hatch_InputDataItems( - 15442, "hatch.datainass.tier.07", "Assembly line Slave Connector", 7) - .getStackForm(1L)); - dataOutAss_Hatch.set(new GT_MetaTileEntity_Hatch_OutputDataItems( - 15443, "hatch.dataoutass.tier.07", "Data Bank Master Connector", 7) - .getStackForm(1L)); - - rack_Hatch.set( - new GT_MetaTileEntity_Hatch_Rack(15450, "hatch.rack.tier.08", "Computer Rack", 8).getStackForm(1L)); - holder_Hatch.set( - new GT_MetaTileEntity_Hatch_Holder(15451, "hatch.holder.tier.09", "Object Holder", 8).getStackForm(1L)); - - capacitor_Hatch.set( - new GT_MetaTileEntity_Hatch_Capacitor(15452, "hatch.capacitor.tier.03", "Capacitor Hatch", 3) - .getStackForm(1L)); + Parametrizer_Hatch.set(new GT_MetaTileEntity_Hatch_Param(15420, "hatch.param.tier.05", "Parametrizer", 5).getStackForm(1L));//TODO refactor aName to hatch.param.tier.04 and aTier to 4, check recipe for NH + ParametrizerX_Hatch.set(new GT_MetaTileEntity_Hatch_Param(15421, "hatch.param.tier.07", "Parametrizer X", 7).getStackForm(1L)); + ParametrizerTXT_Hatch.set(new GT_MetaTileEntity_Hatch_ParamText(15422, "hatch.param.tier.10", "Parametrizer tXt", 10).getStackForm(1L));//TODO check recipe for NH + + Uncertainty_Hatch.set(new GT_MetaTileEntity_Hatch_Uncertainty(15430, "hatch.certain.tier.07", "Uncertainty Resolver", 7).getStackForm(1L)); + UncertaintyX_Hatch.set(new GT_MetaTileEntity_Hatch_Uncertainty(15431, "hatch.certain.tier.10", "Uncertainty Resolver X", 10).getStackForm(1L)); + + dataIn_Hatch.set(new GT_MetaTileEntity_Hatch_InputData(15440, "hatch.datain.tier.07", "Optical Slave Connector", 7).getStackForm(1L)); + dataOut_Hatch.set(new GT_MetaTileEntity_Hatch_OutputData(15441, "hatch.dataout.tier.07", "Optical Master Connector", 7).getStackForm(1L)); + dataInAss_Hatch.set(new GT_MetaTileEntity_Hatch_InputDataItems(15442, "hatch.datainass.tier.07", "Assembly line Slave Connector", 7).getStackForm(1L)); + dataOutAss_Hatch.set(new GT_MetaTileEntity_Hatch_OutputDataItems(15443, "hatch.dataoutass.tier.07", "Data Bank Master Connector", 7).getStackForm(1L)); + + rack_Hatch.set(new GT_MetaTileEntity_Hatch_Rack(15450, "hatch.rack.tier.08", "Computer Rack", 8).getStackForm(1L)); + holder_Hatch.set(new GT_MetaTileEntity_Hatch_Holder(15451, "hatch.holder.tier.09", "Object Holder", 8).getStackForm(1L)); + + capacitor_Hatch.set(new GT_MetaTileEntity_Hatch_Capacitor(15452, "hatch.capacitor.tier.03", "Capacitor Hatch", 3).getStackForm(1L)); // =================================================================================================== // Pipes // =================================================================================================== EMpipe.set(new GT_MetaTileEntity_Pipe_EM(15460, "pipe.elementalmatter", "Quantum \"Tunnel\"").getStackForm(1L)); - LASERpipe.set( - new GT_MetaTileEntity_Pipe_Energy(15465, "pipe.energystream", "Laser Vacuum Pipe").getStackForm(1L)); + LASERpipe.set(new GT_MetaTileEntity_Pipe_Energy(15465, "pipe.energystream", "Laser Vacuum Pipe").getStackForm(1L)); DATApipe.set(new GT_MetaTileEntity_Pipe_Data(15470, "pipe.datastream", "Optical Fiber Cable").getStackForm(1L)); // =================================================================================================== // Single Blocks // =================================================================================================== - 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)); + 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)); - Machine_BuckConverter_UV.set( - new GT_MetaTileEntity_BuckConverter(15488, "machine.tt.buck.08", "Ultimate Power Buck Converter", 8) - .getStackForm(1L)); - Machine_BuckConverter_UHV.set( - new GT_MetaTileEntity_BuckConverter(15489, "machine.tt.buck.09", "Highly Ultimate Buck Converter", 9) - .getStackForm(1L)); - Machine_BuckConverter_UEV.set(new GT_MetaTileEntity_BuckConverter( - 15490, "machine.tt.buck.10", "Extremely Ultimate Buck Converter", 10) - .getStackForm(1L)); - Machine_BuckConverter_UIV.set( - new GT_MetaTileEntity_BuckConverter(15491, "machine.tt.buck.11", "Insanely Ultimate Buck Converter", 11) - .getStackForm(1L)); - Machine_BuckConverter_UMV.set( - new GT_MetaTileEntity_BuckConverter(15492, "machine.tt.buck.12", "Mega Ultimate Buck Converter", 12) - .getStackForm(1L)); - Machine_BuckConverter_UXV.set(new GT_MetaTileEntity_BuckConverter( - 15493, "machine.tt.buck.13", "Extended Mega Ultimate Buck Converter", 13) - .getStackForm(1L)); + 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)); + Machine_BuckConverter_UV.set(new GT_MetaTileEntity_BuckConverter(15488, "machine.tt.buck.08", "Ultimate Power Buck Converter", 8).getStackForm(1L)); + Machine_BuckConverter_UHV.set(new GT_MetaTileEntity_BuckConverter(15489, "machine.tt.buck.09", "Highly Ultimate Buck Converter", 9).getStackForm(1L)); + Machine_BuckConverter_UEV.set(new GT_MetaTileEntity_BuckConverter(15490, "machine.tt.buck.10", "Extremely Ultimate Buck Converter", 10).getStackForm(1L)); + Machine_BuckConverter_UIV.set(new GT_MetaTileEntity_BuckConverter(15491, "machine.tt.buck.11", "Insanely Ultimate Buck Converter", 11).getStackForm(1L)); + Machine_BuckConverter_UMV.set(new GT_MetaTileEntity_BuckConverter(15492, "machine.tt.buck.12", "Mega Ultimate Buck Converter", 12).getStackForm(1L)); + 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)); + 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)); - hatch_CreativeMaintenance.set(new GT_MetaTileEntity_Hatch_CreativeMaintenance( - 15497, "debug.tt.maintenance", "Auto-Taping 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)); + 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", "Auto-Taping 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)); UnusedStuff.set(new ItemStack(Blocks.air)); // =================================================================================================== @@ -1043,4 +685,4 @@ public class MachineLoader implements Runnable { new NoDreamCraftMachineLoader().run(); } } -} +} \ No newline at end of file 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 bf02479fc2..7c32bb70d2 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 @@ -1,7 +1,5 @@ package com.github.technus.tectech.loader.thing; -import static com.github.technus.tectech.TecTech.tectechTexturePage1; - import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.compatibility.openmodularturrets.blocks.turretbases.TurretBaseEM; @@ -18,17 +16,19 @@ import cpw.mods.fml.common.Loader; import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; +import static com.github.technus.tectech.TecTech.tectechTexturePage1; + /** * Created by danie_000 on 16.11.2016. */ public class ThingsLoader implements Runnable { @Override public void run() { - if (Textures.BlockIcons.casingTexturePages[tectechTexturePage1] == null) { + if(Textures.BlockIcons.casingTexturePages[tectechTexturePage1]==null) { Textures.BlockIcons.casingTexturePages[tectechTexturePage1] = new ITexture[128]; } TecTech.LOGGER.info("Added texture page if was null"); - if (!Loader.isModLoaded(Reference.DREAMCRAFT)) { + if(!Loader.isModLoaded(Reference.DREAMCRAFT)){ TT_Container_Casings.sBlockCasingsNH = new GT_Block_CasingsNH(); TecTech.LOGGER.info("Adding basic casings"); } @@ -43,7 +43,7 @@ public class ThingsLoader implements Runnable { QuantumStuffBlock.run(); TecTech.LOGGER.info("Quantum Stuff registered"); - if (Loader.isModLoaded("openmodularturrets")) { + if(Loader.isModLoaded("openmodularturrets")) { TurretHeadEM.run(); TecTech.LOGGER.info("TurretHeadEM registered"); TurretBaseEM.run(); diff --git a/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java b/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java index 524ad51aa4..bd25b05a0c 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java +++ b/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java @@ -1,10 +1,5 @@ package com.github.technus.tectech.mechanics.anomaly; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.util.TT_Utility.crossProduct3D; -import static com.github.technus.tectech.util.TT_Utility.normalize3D; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.loader.MainLoader; import com.github.technus.tectech.loader.NetworkDispatcher; @@ -18,10 +13,6 @@ import cpw.mods.fml.common.gameevent.TickEvent; import gregtech.api.GregTech_API; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Utility; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; import net.minecraft.block.Block; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -35,26 +26,30 @@ import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; import net.minecraftforge.event.world.ChunkEvent; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.util.TT_Utility.crossProduct3D; +import static com.github.technus.tectech.util.TT_Utility.normalize3D; + public class AnomalyHandler implements IChunkMetaDataHandler { - private static final double SWAP_THRESHOLD = - EMAtomDefinition.getSomethingHeavy().getMass() - * 1000D - * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; // can be const as it is computed later... - private static final int COUNT_DIV = 32; - private static final double PER_PARTICLE = SWAP_THRESHOLD / COUNT_DIV; - private static final String INTENSITY = "intensity", - SPACE_CANCER = "space_cancer", - SPACE_CHARGE = "space_charge", - SPACE_MASS = "space_mass"; - private static final int MEAN_DELAY = 50; + private static final double SWAP_THRESHOLD = EMAtomDefinition.getSomethingHeavy().getMass() * 1000D * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED;//can be const as it is computed later... + private static final int COUNT_DIV = 32; + private static final double PER_PARTICLE = SWAP_THRESHOLD / COUNT_DIV; + private static final String INTENSITY = "intensity", SPACE_CANCER = "space_cancer", SPACE_CHARGE = "space_charge", SPACE_MASS = "space_mass"; + private static final int MEAN_DELAY = 50; private static final double CANCER_EFFECTIVENESS = 1 / EM_COUNT_PER_MATERIAL_AMOUNT; - private static final double MASS_EFFECTIVENESS = 1 / EM_COUNT_PER_MATERIAL_AMOUNT; + private static final double MASS_EFFECTIVENESS = 1 / EM_COUNT_PER_MATERIAL_AMOUNT; private static final double CHARGE_EFFECTIVENESS = 10 / EM_COUNT_PER_MATERIAL_AMOUNT; private static final double CHARGE_EXPLOSIVENESS = 5 / EM_COUNT_PER_MATERIAL_AMOUNT; - private boolean fixMe = false; - private final List playersWithCharge = new ArrayList<>(); - private final ArrayList worldDataArrayList = new ArrayList<>(512); + private boolean fixMe = false; + private final List playersWithCharge = new ArrayList<>(); + private final ArrayList worldDataArrayList = new ArrayList<>(512); @Override public String getTagName() { @@ -75,27 +70,24 @@ public class AnomalyHandler implements IChunkMetaDataHandler { @Override public void tickWorld(HashMap data, TickEvent.WorldTickEvent aEvent) { if (TecTech.RANDOM.nextInt(MEAN_DELAY) == 0) { - int dim = aEvent.world.provider.dimensionId; + int dim = aEvent.world.provider.dimensionId; ChunkDataHandler.ChunkHashMap chunkHashMap = data.get(dim); chunkHashMap.forEach((chunkCoordIntPair, compound) -> { if (compound.getDouble(INTENSITY) > SWAP_THRESHOLD) { - Chunk chunk = aEvent.world.getChunkFromChunkCoords( - chunkCoordIntPair.chunkXPos, chunkCoordIntPair.chunkZPos); + Chunk chunk = aEvent.world.getChunkFromChunkCoords(chunkCoordIntPair.chunkXPos, chunkCoordIntPair.chunkZPos); if (chunk.isChunkLoaded) { worldDataArrayList.add(chunk); } } }); if (worldDataArrayList.size() >= 2) { - Chunk a = worldDataArrayList.remove(TecTech.RANDOM.nextInt(worldDataArrayList.size())); - Chunk b = worldDataArrayList.get(TecTech.RANDOM.nextInt(worldDataArrayList.size())); + Chunk a = worldDataArrayList.remove(TecTech.RANDOM.nextInt(worldDataArrayList.size())); + Chunk b = worldDataArrayList.get(TecTech.RANDOM.nextInt(worldDataArrayList.size())); ChunkCoordIntPair aCoords = a.getChunkCoordIntPair(); ChunkCoordIntPair bCoords = b.getChunkCoordIntPair(); - double newValue = (chunkHashMap.get(aCoords).getDouble(INTENSITY) - + chunkHashMap.get(bCoords).getDouble(INTENSITY)) - / 2 - - SWAP_THRESHOLD / 8; + double newValue = (chunkHashMap.get(aCoords).getDouble(INTENSITY) + + chunkHashMap.get(bCoords).getDouble(INTENSITY)) / 2 - SWAP_THRESHOLD / 8; float split = TecTech.RANDOM.nextFloat(); chunkHashMap.get(aCoords).setDouble(INTENSITY, newValue * split); @@ -121,45 +113,18 @@ public class AnomalyHandler implements IChunkMetaDataHandler { if (other == player) { continue outer; } - double field = getCharge(player); + double field = getCharge(player); double absDifference = Math.abs(field - fieldOther); if (absDifference != 0) { if (player.getDistanceSqToEntity(other) < 1) { double avg = (fieldOther + field) / 2; - // addAnomaly(other.worldObj.provider.dimensionId, new ChunkCoordIntPair(other.chunkCoordX, - // other.chunkCoordZ), Math.min(SWAP_THRESHOLD, PER_PARTICLE * absDifference)); + //addAnomaly(other.worldObj.provider.dimensionId, new ChunkCoordIntPair(other.chunkCoordX, other.chunkCoordZ), Math.min(SWAP_THRESHOLD, PER_PARTICLE * absDifference)); if (TecTech.configTecTech.BOOM_ENABLE) { - other.worldObj.createExplosion( - other, - other.posX, - other.posY, - other.posZ, - (float) Math.min(CHARGE_EXPLOSIVENESS * absDifference, 25), - true); - player.worldObj.createExplosion( - player, - player.posX, - player.posY, - player.posZ, - (float) Math.min(CHARGE_EXPLOSIVENESS * absDifference, 25), - true); + other.worldObj.createExplosion(other, other.posX, other.posY, other.posZ, (float) Math.min(CHARGE_EXPLOSIVENESS * absDifference, 25), true); + player.worldObj.createExplosion(player, player.posX, player.posY, player.posZ, (float) Math.min(CHARGE_EXPLOSIVENESS * absDifference, 25), true); } - GT_Utility.sendSoundToPlayers( - other.worldObj, - GregTech_API.sSoundList.get(209), - 1.0F, - -1, - (int) other.posX, - (int) other.posY, - (int) other.posZ); - GT_Utility.sendSoundToPlayers( - player.worldObj, - GregTech_API.sSoundList.get(209), - 1.0F, - -1, - (int) player.posX, - (int) player.posY, - (int) player.posZ); + GT_Utility.sendSoundToPlayers(other.worldObj, GregTech_API.sSoundList.get(209), 1.0F, -1, (int) other.posX, (int) other.posY, (int) other.posZ); + GT_Utility.sendSoundToPlayers(player.worldObj, GregTech_API.sSoundList.get(209), 1.0F, -1, (int) player.posX, (int) player.posY, (int) player.posZ); setCharge(player, avg); setCharge(other, avg); } @@ -173,13 +138,13 @@ public class AnomalyHandler implements IChunkMetaDataHandler { private void swapSomething(Chunk a, Chunk b, double mass) { float explosionPower = (float) Math.log(mass / EM_COUNT_PER_MATERIAL_AMOUNT); for (int i = 0; i < Math.min((int) explosionPower, 64); i++) { - int x = TecTech.RANDOM.nextInt(16); - int y = TecTech.RANDOM.nextInt(a.worldObj.getActualHeight()); - int z = TecTech.RANDOM.nextInt(16); + int x = TecTech.RANDOM.nextInt(16); + int y = TecTech.RANDOM.nextInt(a.worldObj.getActualHeight()); + int z = TecTech.RANDOM.nextInt(16); Block aBlock = a.getBlock(x, y, z); Block bBlock = a.getBlock(x, y, z); - int aMeta = a.getBlockMetadata(x, y, z); - int bMeta = a.getBlockMetadata(x, y, z); + int aMeta = a.getBlockMetadata(x, y, z); + int bMeta = a.getBlockMetadata(x, y, z); if (a.getTileEntityUnsafe(x, y, z) == null && b.getTileEntityUnsafe(x, y, z) == null) { a.worldObj.setBlock((a.xPosition << 4) + x, y, (a.zPosition << 4) + z, bBlock, bMeta, 3); b.worldObj.setBlock((b.xPosition << 4) + x, y, (b.zPosition << 4) + z, aBlock, aMeta, 3); @@ -195,43 +160,17 @@ public class AnomalyHandler implements IChunkMetaDataHandler { } if (TecTech.configTecTech.BOOM_ENABLE) { if (TecTech.RANDOM.nextBoolean()) { - a.worldObj.createExplosion( - null, - (a.xPosition << 4) + x + .5, - y + .5, - (a.zPosition << 4) + z + .5, - explosionPower * TecTech.RANDOM.nextFloat(), - true); + a.worldObj.createExplosion(null, (a.xPosition << 4) + x + .5, y + .5, (a.zPosition << 4) + z + .5, explosionPower * TecTech.RANDOM.nextFloat(), true); } - GT_Utility.sendSoundToPlayers( - a.worldObj, - GregTech_API.sSoundList.get(209), - 1.0F, - -1, - (a.xPosition << 4) + x, - y, - (a.zPosition << 4) + z); + GT_Utility.sendSoundToPlayers(a.worldObj, GregTech_API.sSoundList.get(209), 1.0F, -1, (a.xPosition << 4) + x, y, (a.zPosition << 4) + z); if (TecTech.RANDOM.nextBoolean()) { - b.worldObj.createExplosion( - null, - (b.xPosition << 4) + x + .5, - y + .5, - (b.zPosition << 4) + z + .5, - explosionPower * TecTech.RANDOM.nextFloat(), - true); + b.worldObj.createExplosion(null, (b.xPosition << 4) + x + .5, y + .5, (b.zPosition << 4) + z + .5, explosionPower * TecTech.RANDOM.nextFloat(), true); } - GT_Utility.sendSoundToPlayers( - b.worldObj, - GregTech_API.sSoundList.get(209), - 1.0F, - -1, - (b.xPosition << 4) + x, - y, - (b.zPosition << 4) + z); + GT_Utility.sendSoundToPlayers(b.worldObj, GregTech_API.sSoundList.get(209), 1.0F, -1, (b.xPosition << 4) + x, y, (b.zPosition << 4) + z); } } - int x = (b.xPosition - a.xPosition) << 4; - int z = (b.xPosition - a.xPosition) << 4; + int x = (b.xPosition - a.xPosition) << 4; + int z = (b.xPosition - a.xPosition) << 4; List aE = a.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, TT_Utility.fromChunk(a)); List bE = b.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, TT_Utility.fromChunk(b)); for (EntityLivingBase entityLivingBase : aE) { @@ -239,10 +178,8 @@ public class AnomalyHandler implements IChunkMetaDataHandler { if (entityLivingBase instanceof EntityPlayer) { EntityPlayer player = ((EntityPlayer) entityLivingBase); if (!player.capabilities.isCreativeMode) { - player.setPositionAndUpdate( - entityLivingBase.posX + x, entityLivingBase.posY, entityLivingBase.posZ + z); - player.attackEntityFrom( - MainLoader.subspace, 8 + TecTech.RANDOM.nextInt((int) (explosionPower / 4))); + player.setPositionAndUpdate(entityLivingBase.posX + x, entityLivingBase.posY, entityLivingBase.posZ + z); + player.attackEntityFrom(MainLoader.subspace, 8 + TecTech.RANDOM.nextInt((int) (explosionPower / 4))); player.addPotionEffect(new PotionEffect(Potion.hunger.id, 1200)); player.addPotionEffect(new PotionEffect(Potion.weakness.id, 1000)); player.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 800)); @@ -254,10 +191,8 @@ public class AnomalyHandler implements IChunkMetaDataHandler { addCharge(player, -mass * TecTech.RANDOM.nextFloat()); } } else { - entityLivingBase.setPositionAndUpdate( - entityLivingBase.posX + x, entityLivingBase.posY, entityLivingBase.posZ + z); - entityLivingBase.attackEntityFrom( - MainLoader.subspace, 8 + TecTech.RANDOM.nextInt((int) (explosionPower / 4))); + entityLivingBase.setPositionAndUpdate(entityLivingBase.posX + x, entityLivingBase.posY, entityLivingBase.posZ + z); + entityLivingBase.attackEntityFrom(MainLoader.subspace, 8 + TecTech.RANDOM.nextInt((int) (explosionPower / 4))); } } } @@ -267,8 +202,7 @@ public class AnomalyHandler implements IChunkMetaDataHandler { EntityPlayer player = ((EntityPlayer) o); if (!player.capabilities.isCreativeMode) { player.setPositionAndUpdate(o.posX - x, o.posY, o.posZ - z); - player.attackEntityFrom( - MainLoader.subspace, 8 + TecTech.RANDOM.nextInt((int) -(explosionPower / 4))); + player.attackEntityFrom(MainLoader.subspace, 8 + TecTech.RANDOM.nextInt((int) -(explosionPower / 4))); player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 800)); player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 600)); player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 400)); @@ -288,34 +222,24 @@ public class AnomalyHandler implements IChunkMetaDataHandler { @Override public void tickPlayer(HashMap data, TickEvent.PlayerTickEvent aEvent) { if (aEvent.side.isClient()) { - EntityPlayer player = TecTech.proxy.getPlayer(); - ChunkCoordIntPair pair = new ChunkCoordIntPair(player.chunkCoordX, player.chunkCoordZ); - NBTTagCompound compound = - data.get(player.worldObj.provider.dimensionId).get(pair); + EntityPlayer player = TecTech.proxy.getPlayer(); + ChunkCoordIntPair pair = new ChunkCoordIntPair(player.chunkCoordX, player.chunkCoordZ); + NBTTagCompound compound = data.get(player.worldObj.provider.dimensionId).get(pair); if (compound != null) { - for (int i = 0, badness = (int) Math.min(COUNT_DIV, compound.getDouble(INTENSITY) / PER_PARTICLE); - i < badness; - i++) { - TecTech.proxy.em_particle( - player.worldObj, + for (int i = 0, badness = (int) Math.min(COUNT_DIV, compound.getDouble(INTENSITY) / PER_PARTICLE); i < badness; i++) { + TecTech.proxy.em_particle(player.worldObj, player.posX + TecTech.RANDOM.nextGaussian() * 64D, player.posY + TecTech.RANDOM.nextGaussian() * 64D, player.posZ + TecTech.RANDOM.nextGaussian() * 64D); } } - for (Map.Entry entry : - data.get(player.worldObj.provider.dimensionId).entrySet()) { + for (Map.Entry entry : data.get(player.worldObj.provider.dimensionId).entrySet()) { ChunkCoordIntPair chunkCoordIntPair = entry.getKey(); - NBTTagCompound dat = entry.getValue(); - if (Math.abs(chunkCoordIntPair.getCenterXPos() - player.posX) - + Math.abs(chunkCoordIntPair.getCenterZPosition() - player.posZ) - < 256) { - for (int i = 0, pow = (int) Math.min(COUNT_DIV, dat.getDouble(INTENSITY) / PER_PARTICLE); - i < pow; - i++) { - TecTech.proxy.em_particle( - player.worldObj, + NBTTagCompound dat = entry.getValue(); + if (Math.abs(chunkCoordIntPair.getCenterXPos() - player.posX) + Math.abs(chunkCoordIntPair.getCenterZPosition() - player.posZ) < 256) { + for (int i = 0, pow = (int) Math.min(COUNT_DIV, dat.getDouble(INTENSITY) / PER_PARTICLE); i < pow; i++) { + TecTech.proxy.em_particle(player.worldObj, chunkCoordIntPair.getCenterXPos() + TecTech.RANDOM.nextGaussian() * 32D, player.posY + TecTech.RANDOM.nextFloat() * 128D - 64D, chunkCoordIntPair.getCenterZPosition() + TecTech.RANDOM.nextGaussian() * 32D); @@ -323,12 +247,11 @@ public class AnomalyHandler implements IChunkMetaDataHandler { } } } else if (TecTech.RANDOM.nextInt(50) == 0) { - EntityPlayer player = aEvent.player; - ChunkCoordIntPair pair = new ChunkCoordIntPair(player.chunkCoordX, player.chunkCoordZ); - NBTTagCompound compound = - data.get(player.worldObj.provider.dimensionId).get(pair); - NBTTagCompound playerTag = TecTech.playerPersistence.getDataOrSetToNewTag(player); - boolean saveRequired = false; + EntityPlayer player = aEvent.player; + ChunkCoordIntPair pair = new ChunkCoordIntPair(player.chunkCoordX, player.chunkCoordZ); + NBTTagCompound compound = data.get(player.worldObj.provider.dimensionId).get(pair); + NBTTagCompound playerTag = TecTech.playerPersistence.getDataOrSetToNewTag(player); + boolean saveRequired = false; if (!player.capabilities.isCreativeMode) { double cancer = getCancer(player); if (compound != null) { @@ -348,8 +271,7 @@ public class AnomalyHandler implements IChunkMetaDataHandler { if (saveRequired) { TecTech.playerPersistence.saveData(player); - NetworkDispatcher.INSTANCE.sendTo( - new PlayerDataMessage.PlayerDataData(player), (EntityPlayerMP) player); + NetworkDispatcher.INSTANCE.sendTo(new PlayerDataMessage.PlayerDataData(player), (EntityPlayerMP) player); } } } @@ -362,20 +284,12 @@ public class AnomalyHandler implements IChunkMetaDataHandler { double cancer = getCancer(player) * CANCER_EFFECTIVENESS; if (cancer > 0) { player.setInvisible(fixMe = TecTech.RANDOM.nextFloat() * 2 < cancer); - player.setAngles( - (TecTech.RANDOM.nextFloat() - .5F) * 36 * (float) cancer, - (TecTech.RANDOM.nextFloat() - .5F) * 36 * (float) cancer); + player.setAngles((TecTech.RANDOM.nextFloat() - .5F) * 36 * (float) cancer, (TecTech.RANDOM.nextFloat() - .5F) * 36 * (float) cancer); cancer *= cancer / 2F; if (cancer > 1.75f) { - player.setVelocity( - (TecTech.RANDOM.nextFloat() - .5F) * cancer, - (TecTech.RANDOM.nextFloat() - .5F) * cancer, - (TecTech.RANDOM.nextFloat() - .5F) * cancer); + player.setVelocity((TecTech.RANDOM.nextFloat() - .5F) * cancer, (TecTech.RANDOM.nextFloat() - .5F) * cancer, (TecTech.RANDOM.nextFloat() - .5F) * cancer); } else { - player.addVelocity( - (TecTech.RANDOM.nextFloat() - .5F) * cancer, - (TecTech.RANDOM.nextFloat() - .5F) * cancer, - (TecTech.RANDOM.nextFloat() - .5F) * cancer); + player.addVelocity((TecTech.RANDOM.nextFloat() - .5F) * cancer, (TecTech.RANDOM.nextFloat() - .5F) * cancer, (TecTech.RANDOM.nextFloat() - .5F) * cancer); } } @@ -384,18 +298,16 @@ public class AnomalyHandler implements IChunkMetaDataHandler { for (Object o : player.worldObj.playerEntities) { if (o instanceof EntityPlayer && !((EntityPlayer) o).capabilities.isCreativeMode) { EntityPlayer otherPlayer = (EntityPlayer) o; - double chargeOther = getCharge(otherPlayer); + double chargeOther = getCharge(otherPlayer); if (chargeOther != 0 && player != o) { double reaction = chargeOther * charge; if (reaction != 0) { double distanceSq = otherPlayer.getDistanceSqToEntity(player); if (distanceSq >= 1) { - double effect = CHARGE_EFFECTIVENESS - * reaction - / (distanceSq * distanceSq * distanceSq); - double dX = (player.posX - otherPlayer.posX) * effect; - double dY = (player.posY - otherPlayer.posY) * effect; - double dZ = (player.posZ - otherPlayer.posZ) * effect; + double effect = CHARGE_EFFECTIVENESS * reaction / (distanceSq * distanceSq * distanceSq); + double dX = (player.posX - otherPlayer.posX) * effect; + double dY = (player.posY - otherPlayer.posY) * effect; + double dZ = (player.posZ - otherPlayer.posZ) * effect; player.addVelocity(dX, dY, dZ); otherPlayer.addVelocity(-dX, -dY, -dZ); } @@ -410,29 +322,23 @@ public class AnomalyHandler implements IChunkMetaDataHandler { for (Object o : player.worldObj.playerEntities) { if (o instanceof EntityPlayer && !((EntityPlayer) o).capabilities.isCreativeMode) { EntityPlayer otherPlayer = (EntityPlayer) o; - double massOther = getMass(otherPlayer); + double massOther = getMass(otherPlayer); if (massOther != 0 && player != o) { double reaction = massOther * mass; if (reaction != 0) { double distanceSq = otherPlayer.getDistanceSqToEntity(player); if (distanceSq >= 1) { - double effect = - MASS_EFFECTIVENESS * reaction / (distanceSq * distanceSq * distanceSq); - double effect1 = effect / mass; - double effect2 = effect / massOther; - double[] dPos = new double[] { - player.posX - otherPlayer.posX, - player.posY - otherPlayer.posY, - player.posZ - otherPlayer.posZ - }; - double[] vel = new double[] {player.motionX, player.motionY, player.motionZ}; - double[] out = new double[3]; + double effect = MASS_EFFECTIVENESS * reaction / (distanceSq * distanceSq * distanceSq); + double effect1 = effect / mass; + double effect2 = effect / massOther; + double[] dPos = new double[]{player.posX - otherPlayer.posX, player.posY - otherPlayer.posY, player.posZ - otherPlayer.posZ}; + double[] vel = new double[]{player.motionX, player.motionY, player.motionZ}; + double[] out = new double[3]; crossProduct3D(dPos, vel, out); crossProduct3D(out, dPos, vel); - normalize3D(vel, out); + normalize3D(vel,out); player.addVelocity(effect1 * out[0], effect1 * out[1], effect1 * out[2]); - otherPlayer.addVelocity( - effect2 * -out[0], effect2 * -out[1], effect2 * -out[2]); + otherPlayer.addVelocity(effect2 * -out[0], effect2 * -out[1], effect2 * -out[2]); } } } @@ -454,9 +360,7 @@ public class AnomalyHandler implements IChunkMetaDataHandler { @Override public void pushData(World world, ChunkCoordIntPair chunk) { - NetworkDispatcher.INSTANCE.sendToDimension( - new ChunkDataMessage.ChunkDataData(world.provider.dimensionId, chunk, this), - world.provider.dimensionId); + NetworkDispatcher.INSTANCE.sendToDimension(new ChunkDataMessage.ChunkDataData(world.provider.dimensionId, chunk, this), world.provider.dimensionId); } @Override @@ -474,7 +378,11 @@ public class AnomalyHandler implements IChunkMetaDataHandler { public void addAnomaly(World w, int x, int z, double amount) { if (!w.isRemote) { - addAnomaly(w.provider.dimensionId, new ChunkCoordIntPair(x >> 4, z >> 4), amount); + addAnomaly(w.provider.dimensionId, + new ChunkCoordIntPair( + x >> 4, + z >> 4), + amount); } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/anomaly/CancerCommand.java b/src/main/java/com/github/technus/tectech/mechanics/anomaly/CancerCommand.java index 582d8d08a2..fdbd98fee0 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/anomaly/CancerCommand.java +++ b/src/main/java/com/github/technus/tectech/mechanics/anomaly/CancerCommand.java @@ -1,17 +1,18 @@ package com.github.technus.tectech.mechanics.anomaly; import com.github.technus.tectech.TecTech; -import java.util.ArrayList; -import java.util.List; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.util.ChatComponentText; +import java.util.ArrayList; +import java.util.List; + public class CancerCommand implements ICommand { - ArrayList aliases = new ArrayList<>(); + ArrayList aliases=new ArrayList<>(); - public CancerCommand() { + public CancerCommand(){ aliases.add("cancer_EM"); aliases.add("cancer"); aliases.add("sanser_EM"); @@ -23,24 +24,23 @@ public class CancerCommand implements ICommand { @Override public void processCommand(ICommandSender sender, String[] args) { if (sender instanceof EntityPlayerMP && !sender.getEntityWorld().isRemote) { - EntityPlayerMP player = (EntityPlayerMP) sender; - if (args == null || args.length == 0) { - sender.addChatMessage( - new ChatComponentText("Cancer amount: " + TecTech.anomalyHandler.getCancer(player))); + EntityPlayerMP player=(EntityPlayerMP)sender; + if(args==null || args.length==0){ + sender.addChatMessage(new ChatComponentText("Cancer amount: "+TecTech.anomalyHandler.getCancer(player))); return; } double amount; try { amount = Double.parseDouble(args[0]); - } catch (NumberFormatException e) { + }catch (NumberFormatException e){ sender.addChatMessage(new ChatComponentText("Cannot parse amount!")); return; } - if (player.capabilities.isCreativeMode) { + if(player.capabilities.isCreativeMode){ sender.addChatMessage(new ChatComponentText("Doesn't really work in creative mode!")); - } else { - TecTech.anomalyHandler.setCancer(player, amount); - sender.addChatMessage(new ChatComponentText("Cancer set to: " + amount)); + }else { + TecTech.anomalyHandler.setCancer(player,amount); + sender.addChatMessage(new ChatComponentText("Cancer set to: "+amount)); } } } @@ -72,7 +72,7 @@ public class CancerCommand implements ICommand { @Override public int compareTo(Object o) { - if (o instanceof ICommand) { + if(o instanceof ICommand){ return getCommandName().compareTo(((ICommand) o).getCommandName()); } return 0; diff --git a/src/main/java/com/github/technus/tectech/mechanics/anomaly/ChargeCommand.java b/src/main/java/com/github/technus/tectech/mechanics/anomaly/ChargeCommand.java index 68d3de8769..b486b73295 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/anomaly/ChargeCommand.java +++ b/src/main/java/com/github/technus/tectech/mechanics/anomaly/ChargeCommand.java @@ -1,17 +1,18 @@ package com.github.technus.tectech.mechanics.anomaly; import com.github.technus.tectech.TecTech; -import java.util.ArrayList; -import java.util.List; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.util.ChatComponentText; +import java.util.ArrayList; +import java.util.List; + public class ChargeCommand implements ICommand { - ArrayList aliases = new ArrayList<>(); + ArrayList aliases=new ArrayList<>(); - public ChargeCommand() { + public ChargeCommand(){ aliases.add("charge_EM"); aliases.add("charge"); } @@ -19,24 +20,23 @@ public class ChargeCommand implements ICommand { @Override public void processCommand(ICommandSender sender, String[] args) { if (sender instanceof EntityPlayerMP && !sender.getEntityWorld().isRemote) { - EntityPlayerMP player = (EntityPlayerMP) sender; - if (args == null || args.length == 0) { - sender.addChatMessage( - new ChatComponentText("Charge amount: " + TecTech.anomalyHandler.getCharge(player))); + EntityPlayerMP player=(EntityPlayerMP)sender; + if(args==null || args.length==0){ + sender.addChatMessage(new ChatComponentText("Charge amount: "+TecTech.anomalyHandler.getCharge(player))); return; } double amount; try { amount = Double.parseDouble(args[0]); - } catch (NumberFormatException e) { + }catch (NumberFormatException e){ sender.addChatMessage(new ChatComponentText("Cannot parse amount!")); return; } - if (player.capabilities.isCreativeMode) { + if(player.capabilities.isCreativeMode){ sender.addChatMessage(new ChatComponentText("Doesn't really work in creative mode!")); - } else { - TecTech.anomalyHandler.setCharge(player, amount); - sender.addChatMessage(new ChatComponentText("Charge set to: " + amount)); + }else { + TecTech.anomalyHandler.setCharge(player,amount); + sender.addChatMessage(new ChatComponentText("Charge set to: "+amount)); } } } @@ -68,7 +68,7 @@ public class ChargeCommand implements ICommand { @Override public int compareTo(Object o) { - if (o instanceof ICommand) { + if(o instanceof ICommand){ return getCommandName().compareTo(((ICommand) o).getCommandName()); } return 0; diff --git a/src/main/java/com/github/technus/tectech/mechanics/anomaly/MassCommand.java b/src/main/java/com/github/technus/tectech/mechanics/anomaly/MassCommand.java index df841309ee..05bba9433b 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/anomaly/MassCommand.java +++ b/src/main/java/com/github/technus/tectech/mechanics/anomaly/MassCommand.java @@ -1,17 +1,18 @@ package com.github.technus.tectech.mechanics.anomaly; import com.github.technus.tectech.TecTech; -import java.util.ArrayList; -import java.util.List; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.util.ChatComponentText; +import java.util.ArrayList; +import java.util.List; + public class MassCommand implements ICommand { - ArrayList aliases = new ArrayList<>(); + ArrayList aliases=new ArrayList<>(); - public MassCommand() { + public MassCommand(){ aliases.add("mass_EM"); aliases.add("mass"); } @@ -19,23 +20,23 @@ public class MassCommand implements ICommand { @Override public void processCommand(ICommandSender sender, String[] args) { if (sender instanceof EntityPlayerMP && !sender.getEntityWorld().isRemote) { - EntityPlayerMP player = (EntityPlayerMP) sender; - if (args == null || args.length == 0) { - sender.addChatMessage(new ChatComponentText("Msdd amount: " + TecTech.anomalyHandler.getMass(player))); + EntityPlayerMP player=(EntityPlayerMP)sender; + if(args==null || args.length==0){ + sender.addChatMessage(new ChatComponentText("Msdd amount: "+TecTech.anomalyHandler.getMass(player))); return; } double amount; try { amount = Double.parseDouble(args[0]); - } catch (NumberFormatException e) { + }catch (NumberFormatException e){ sender.addChatMessage(new ChatComponentText("Cannot parse amount!")); return; } - if (player.capabilities.isCreativeMode) { + if(player.capabilities.isCreativeMode){ sender.addChatMessage(new ChatComponentText("Doesn't really work in creative mode!")); - } else { - TecTech.anomalyHandler.setMass(player, amount); - sender.addChatMessage(new ChatComponentText("Mass set to: " + amount)); + }else { + TecTech.anomalyHandler.setMass(player,amount); + sender.addChatMessage(new ChatComponentText("Mass set to: "+amount)); } } } @@ -67,7 +68,7 @@ public class MassCommand implements ICommand { @Override public int compareTo(Object o) { - if (o instanceof ICommand) { + if(o instanceof ICommand){ return getCommandName().compareTo(((ICommand) o).getCommandName()); } return 0; diff --git a/src/main/java/com/github/technus/tectech/mechanics/avr/SidedRedstone.java b/src/main/java/com/github/technus/tectech/mechanics/avr/SidedRedstone.java index ec2e5613a5..715988d26f 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/avr/SidedRedstone.java +++ b/src/main/java/com/github/technus/tectech/mechanics/avr/SidedRedstone.java @@ -7,8 +7,8 @@ import com.github.technus.avrClone.registerPackages.IRegisterBit; import com.github.technus.avrClone.registerPackages.RegisterPackageSync; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -public class SidedRedstone extends RegisterPackageSync { - public static final RSINT RSINT = new RSINT(); +public class SidedRedstone extends RegisterPackageSync { + public static final RSINT RSINT =new RSINT(); public SidedRedstone(int offset) { super(offset, Register.values().length); @@ -22,40 +22,39 @@ public class SidedRedstone extends RegisterPackageSync 0 ? 1 : 0) << i; - core.setDataValue(addr++, iGregTechTileEntity.getInputRedstoneSignal(i)); - core.setDataValue(addr++, val); + public void preSync(AvrCore core,IGregTechTileEntity iGregTechTileEntity) { + int addr=this.getOffset(); + int sides=0; + for(byte i=0;i<6;i++){ + int val=iGregTechTileEntity.getInternalInputRedstoneSignal(i); + sides|=(val > 0?1:0)< 0) { @@ -67,64 +66,43 @@ public class SidedRedstone extends RegisterPackageSync { - PIN0, - PINT0, - PORT0, - PIN1, - PINT1, - PORT1, - PIN2, - PINT2, - PORT2, - PIN3, - PINT3, - PORT3, - PIN4, - PINT4, - PORT4, - PIN5, - PINT5, - PORT5, - PCMSK, - PCFR, - PCINT, - PNEW, - POLD; + public enum Register implements IRegister{ + PIN0,PINT0,PORT0, + PIN1,PINT1,PORT1, + PIN2,PINT2,PORT2, + PIN3,PINT3,PORT3, + PIN4,PINT4,PORT4, + PIN5,PINT5,PORT5, + PCMSK,PCFR,PCINT,PNEW,POLD; public final int relativeOffset; - Register() { - this.relativeOffset = ordinal(); + Register(){ + this.relativeOffset =ordinal(); } @Override public int getAddress(SidedRedstone registerPackage) { - return registerPackage.getOffset() + relativeOffset; + return registerPackage.getOffset()+relativeOffset; } } - public enum RegisterBitsPCMSK implements IRegisterBit { - PCINT0, - PCINT1, - PCINT2, - PCINT3, - PCINT4, - PCINT5; - private final int bit, mask; - - RegisterBitsPCMSK() { - bit = ordinal(); - mask = 1 << bit; + public enum RegisterBitsPCMSK implements IRegisterBit{ + PCINT0,PCINT1,PCINT2,PCINT3,PCINT4,PCINT5; + + private final int bit,mask; + + RegisterBitsPCMSK(){ + bit=ordinal(); + mask=1< { - PCF0, - PCF1, - PCF2, - PCF3, - PCF4, - PCF5; - private final int bit, mask; - - RegisterBitsPCFR() { - bit = ordinal(); - mask = 1 << bit; + public enum RegisterBitsPCFR implements IRegisterBit{ + PCF0,PCF1,PCF2,PCF3,PCF4,PCF5; + + private final int bit,mask; + + RegisterBitsPCFR(){ + bit=ordinal(); + mask=1< { - PCIF, - PCEN, - PCISC0, - PCISC1; - private final int bit, mask; + public enum RegisterBitsPCINT implements IRegisterBit{ + PCIF,PCEN,PCISC0,PCISC1; + + private final int bit,mask; - RegisterBitsPCINT() { - bit = ordinal(); - mask = 1 << bit; + RegisterBitsPCINT(){ + bit=ordinal(); + mask=1< { - PNEW0, - PNEW1, - PNEW2, - PNEW3, - PNEW4, - PNEW5; - private final int bit, mask; - - RegisterBitsPNEW() { - bit = ordinal(); - mask = 1 << bit; + public enum RegisterBitsPNEW implements IRegisterBit{ + PNEW0,PNEW1,PNEW2,PNEW3,PNEW4,PNEW5; + + private final int bit,mask; + + RegisterBitsPNEW(){ + bit=ordinal(); + mask=1< { - POLD0, - POLD1, - POLD2, - POLD3, - POLD4, - POLD5; - private final int bit, mask; - - RegisterBitsPOLD() { - bit = ordinal(); - mask = 1 << bit; + public enum RegisterBitsPOLD implements IRegisterBit{ + POLD0,POLD1,POLD2,POLD3,POLD4,POLD5; + + private final int bit,mask; + + RegisterBitsPOLD(){ + bit=ordinal(); + mask=1< { + public static class RSINT implements IInterrupt{ @Override public int getVector() { return 1; @@ -269,15 +233,14 @@ public class SidedRedstone extends RegisterPackageSync aliases = new ArrayList<>(); + ArrayList aliases=new ArrayList<>(); - public ConvertFloat() { + public ConvertFloat(){ aliases.add("convert_float"); aliases.add("c_f"); } @@ -19,17 +20,17 @@ public class ConvertFloat implements ICommand { @Override public void processCommand(ICommandSender sender, String[] args) { if (!sender.getEntityWorld().isRemote) { - if (args.length == 1) { - try { - float value = Float.parseFloat(args[0]); - sender.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD + TT_Utility.intBitsToShortString(Float.floatToIntBits(value)) - + " " + EnumChatFormatting.RESET - + EnumChatFormatting.BLUE + value)); - } catch (Exception e) { - sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Invalid Float " + args[0])); + if(args.length == 1) { + try{ + float value=Float.parseFloat(args[0]); + sender.addChatMessage(new ChatComponentText( + EnumChatFormatting.AQUA.toString()+ EnumChatFormatting.BOLD + + TT_Utility.intBitsToShortString(Float.floatToIntBits(value))+" "+ + EnumChatFormatting.RESET+EnumChatFormatting.BLUE +value)); + }catch (Exception e){ + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED+"Invalid Float "+args[0])); } - } else { + }else{ sender.addChatMessage(new ChatComponentText(getCommandUsage(sender))); } } @@ -62,7 +63,7 @@ public class ConvertFloat implements ICommand { @Override public int compareTo(Object o) { - if (o instanceof ICommand) { + if(o instanceof ICommand){ return getCommandName().compareTo(((ICommand) o).getCommandName()); } return 0; diff --git a/src/main/java/com/github/technus/tectech/mechanics/commands/ConvertInteger.java b/src/main/java/com/github/technus/tectech/mechanics/commands/ConvertInteger.java index 052a6a8476..37651e7478 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/commands/ConvertInteger.java +++ b/src/main/java/com/github/technus/tectech/mechanics/commands/ConvertInteger.java @@ -1,17 +1,18 @@ package com.github.technus.tectech.mechanics.commands; import com.github.technus.tectech.util.TT_Utility; -import java.util.ArrayList; -import java.util.List; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.util.ChatComponentText; import net.minecraft.util.EnumChatFormatting; +import java.util.ArrayList; +import java.util.List; + public class ConvertInteger implements ICommand { - ArrayList aliases = new ArrayList<>(); + ArrayList aliases=new ArrayList<>(); - public ConvertInteger() { + public ConvertInteger(){ aliases.add("convert_integer"); aliases.add("c_i"); } @@ -19,17 +20,17 @@ public class ConvertInteger implements ICommand { @Override public void processCommand(ICommandSender sender, String[] args) { if (!sender.getEntityWorld().isRemote) { - if (args.length == 1) { - try { - int value = Integer.parseInt(args[0]); - sender.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD + TT_Utility.intBitsToShortString(value) - + " " + EnumChatFormatting.RESET - + EnumChatFormatting.BLUE + value)); - } catch (Exception e) { - sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Invalid Integer " + args[0])); + if(args.length == 1) { + try{ + int value=Integer.parseInt(args[0]); + sender.addChatMessage(new ChatComponentText( + EnumChatFormatting.AQUA.toString()+ EnumChatFormatting.BOLD + + TT_Utility.intBitsToShortString(value)+" "+ + EnumChatFormatting.RESET+EnumChatFormatting.BLUE +value)); + }catch (Exception e){ + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED+"Invalid Integer "+args[0])); } - } else { + }else{ sender.addChatMessage(new ChatComponentText(getCommandUsage(sender))); } } @@ -62,7 +63,7 @@ public class ConvertInteger implements ICommand { @Override public int compareTo(Object o) { - if (o instanceof ICommand) { + if(o instanceof ICommand){ return getCommandName().compareTo(((ICommand) o).getCommandName()); } return 0; diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataHandler.java b/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataHandler.java index 04a161a2cb..0d0af5b390 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataHandler.java +++ b/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataHandler.java @@ -5,7 +5,6 @@ import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import java.util.*; import net.minecraft.client.Minecraft; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.ChunkCoordIntPair; @@ -14,25 +13,27 @@ import net.minecraftforge.event.world.ChunkDataEvent; import net.minecraftforge.event.world.ChunkEvent; import net.minecraftforge.event.world.WorldEvent; +import java.util.*; + public class ChunkDataHandler { - private final String BASE_TAG_NAME = "TecTechData"; - private final HashMap> dimensionWiseChunkData = new HashMap<>(); - private final HashMap> dimensionWiseMetaChunkData = new HashMap<>(); - private final HashMap metaDataHandlerHashMap = new HashMap<>(); - private final ArrayList pushSyncHandlers = new ArrayList<>(); - private final ArrayList pullSyncHandlers = new ArrayList<>(); - private final ArrayList serverHandlers = new ArrayList<>(); - private final ArrayList worldHandlers = new ArrayList<>(); - private final ArrayList playerHandlers = new ArrayList<>(); - private final ArrayList clientHandlers = new ArrayList<>(); - private final ArrayList renderHandlers = new ArrayList<>(); + private final String BASE_TAG_NAME ="TecTechData"; + private final HashMap> dimensionWiseChunkData=new HashMap<>(); + private final HashMap> dimensionWiseMetaChunkData=new HashMap<>(); + private final HashMap metaDataHandlerHashMap =new HashMap<>(); + private final ArrayList pushSyncHandlers =new ArrayList<>(); + private final ArrayList pullSyncHandlers =new ArrayList<>(); + private final ArrayList serverHandlers=new ArrayList<>(); + private final ArrayList worldHandlers=new ArrayList<>(); + private final ArrayList playerHandlers=new ArrayList<>(); + private final ArrayList clientHandlers=new ArrayList<>(); + private final ArrayList renderHandlers=new ArrayList<>(); @SubscribeEvent - public void onWorldLoad(WorldEvent.Load event) { - int dim = event.world.provider.dimensionId; - dimensionWiseChunkData.computeIfAbsent(dim, m -> { + public void onWorldLoad(WorldEvent.Load event){ + int dim=event.world.provider.dimensionId; + dimensionWiseChunkData.computeIfAbsent(dim, m->{ HashMap map = new HashMap<>(); - for (Map.Entry meta : metaDataHandlerHashMap.entrySet()) { + for (Map.Entry meta : metaDataHandlerHashMap.entrySet()) { dimensionWiseMetaChunkData.get(meta.getKey()).put(dim, new ChunkHashMap(meta.getValue(), map)); } return map; @@ -41,10 +42,8 @@ public class ChunkDataHandler { @SubscribeEvent public void handleChunkSaveEvent(ChunkDataEvent.Save event) { - HashMap dimensionData = - dimensionWiseChunkData.get(event.world.provider.dimensionId); - NBTChunk chunkData = - dimensionData != null ? dimensionData.get(event.getChunk().getChunkCoordIntPair()) : null; + HashMap dimensionData = dimensionWiseChunkData.get(event.world.provider.dimensionId); + NBTChunk chunkData = dimensionData != null ? dimensionData.get(event.getChunk().getChunkCoordIntPair()) : null; if (chunkData == null) { event.getData().removeTag(BASE_TAG_NAME); } else { @@ -98,17 +97,16 @@ public class ChunkDataHandler { @SideOnly(Side.CLIENT) @SubscribeEvent - public void onLoadChunk(ChunkEvent.Load aEvent) { - if (aEvent.world.isRemote && !Minecraft.getMinecraft().isSingleplayer()) { // we already have the data! + public void onLoadChunk(ChunkEvent.Load aEvent){ + if(aEvent.world.isRemote && !Minecraft.getMinecraft().isSingleplayer()) {//we already have the data! pullSyncHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.pullData(aEvent)); } } @SideOnly(Side.CLIENT) @SubscribeEvent - public void onUnloadChunk(ChunkEvent.Unload aEvent) { - if (aEvent.world.isRemote - && !Minecraft.getMinecraft().isSingleplayer()) { // we need all data if running local server! + public void onUnloadChunk(ChunkEvent.Unload aEvent){ + if(aEvent.world.isRemote && !Minecraft.getMinecraft().isSingleplayer()) {//we need all data if running local server! pullSyncHandlers.forEach(chunkMetaDataHandler -> dimensionWiseMetaChunkData .get(chunkMetaDataHandler.getTagName()) .get(aEvent.world.provider.dimensionId) @@ -119,31 +117,33 @@ public class ChunkDataHandler { @SideOnly(Side.CLIENT) @SubscribeEvent public void onClientTickEvent(TickEvent.ClientTickEvent aEvent) { - clientHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.tickClient( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); + clientHandlers.forEach(chunkMetaDataHandler -> + chunkMetaDataHandler.tickClient( + dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); } @SideOnly(Side.CLIENT) @SubscribeEvent public void onRenderTickEvent(TickEvent.RenderTickEvent aEvent) { - renderHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.tickRender( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); + renderHandlers.forEach(chunkMetaDataHandler -> + chunkMetaDataHandler.tickRender( + dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); } @SubscribeEvent public void onServerTickEvent(TickEvent.ServerTickEvent aEvent) { - serverHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.tickServer( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); + serverHandlers.forEach(chunkMetaDataHandler -> + chunkMetaDataHandler.tickServer( + dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); } - // Ticks only on server side (but must be present for client server) + //Ticks only on server side (but must be present for client server) @SubscribeEvent public void onWorldTickEvent(TickEvent.WorldTickEvent aEvent) { int dim = aEvent.world.provider.dimensionId; pushSyncHandlers.forEach(chunkMetaDataHandler -> { ChunkHashMap data = dimensionWiseMetaChunkData - .get(chunkMetaDataHandler.getTagName()) - .get(dim); + .get(chunkMetaDataHandler.getTagName()).get(dim); int cycle = chunkMetaDataHandler.pushPayloadSpreadPeriod(); int epoch = (int) (aEvent.world.getTotalWorldTime() % cycle); ArrayList work; @@ -166,119 +166,106 @@ public class ChunkDataHandler { chunkMetaDataHandler.pushPayload(aEvent.world, work); work.clear(); }); - worldHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.tickWorld( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); + worldHandlers.forEach(chunkMetaDataHandler -> + chunkMetaDataHandler.tickWorld( + dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); } @SubscribeEvent public void onPlayerTickEvent(TickEvent.PlayerTickEvent aEvent) { - playerHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.tickPlayer( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); + playerHandlers.forEach(chunkMetaDataHandler -> + chunkMetaDataHandler.tickPlayer( + dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); } + public void clearData() { dimensionWiseChunkData.clear(); - dimensionWiseMetaChunkData.forEach((k, v) -> v.clear()); + dimensionWiseMetaChunkData.forEach((k,v)->v.clear()); } - public IChunkMetaDataHandler getChunkMetaDataHandler(String s) { + public IChunkMetaDataHandler getChunkMetaDataHandler(String s){ return metaDataHandlerHashMap.get(s); } - public void registerChunkMetaDataHandler(IChunkMetaDataHandler handler) { - metaDataHandlerHashMap.put(handler.getTagName(), handler); - dimensionWiseMetaChunkData.put(handler.getTagName(), new HashMap<>()); - Class clazz = handler.getClass(); + public void registerChunkMetaDataHandler(IChunkMetaDataHandler handler){ + metaDataHandlerHashMap.put(handler.getTagName(),handler); + dimensionWiseMetaChunkData.put(handler.getTagName(),new HashMap<>()); + Class clazz=handler.getClass(); try { - if (clazz.getMethod("tickServer", HashMap.class, TickEvent.ServerTickEvent.class) - .getDeclaringClass() - != IChunkMetaDataHandler.class) { + if(clazz.getMethod("tickServer", HashMap.class, TickEvent.ServerTickEvent.class).getDeclaringClass()!= IChunkMetaDataHandler.class){ serverHandlers.add(handler); } - if (clazz.getMethod("tickPlayer", HashMap.class, TickEvent.PlayerTickEvent.class) - .getDeclaringClass() - != IChunkMetaDataHandler.class) { + if(clazz.getMethod("tickPlayer", HashMap.class, TickEvent.PlayerTickEvent.class).getDeclaringClass()!= IChunkMetaDataHandler.class){ playerHandlers.add(handler); } - if (clazz.getMethod("pushData", World.class, ChunkCoordIntPair.class) - .getDeclaringClass() - != IChunkMetaDataHandler.class) { + if (clazz.getMethod("pushData", World.class, ChunkCoordIntPair.class).getDeclaringClass()!=IChunkMetaDataHandler.class) { pushSyncHandlers.add(handler); } - if (clazz.getMethod("tickWorld", HashMap.class, TickEvent.WorldTickEvent.class) - .getDeclaringClass() - != IChunkMetaDataHandler.class) { + if(clazz.getMethod("tickWorld", HashMap.class, TickEvent.WorldTickEvent.class).getDeclaringClass()!= IChunkMetaDataHandler.class){ worldHandlers.add(handler); } } catch (NoSuchMethodException e) { - throw new RuntimeException("Cannot register common event handlers!", e); + throw new RuntimeException("Cannot register common event handlers!",e); } - if (FMLCommonHandler.instance().getSide().isClient()) { + if(FMLCommonHandler.instance().getSide().isClient()) { try { - if (clazz.getMethod("pullData", ChunkEvent.Load.class).getDeclaringClass() - != IChunkMetaDataHandler.class) { + if (clazz.getMethod("pullData", ChunkEvent.Load.class).getDeclaringClass() != IChunkMetaDataHandler.class) { pullSyncHandlers.add(handler); } - if (clazz.getMethod("tickClient", HashMap.class, TickEvent.ClientTickEvent.class) - .getDeclaringClass() - != IChunkMetaDataHandler.class) { + if (clazz.getMethod("tickClient", HashMap.class, TickEvent.ClientTickEvent.class).getDeclaringClass() != IChunkMetaDataHandler.class) { clientHandlers.add(handler); } - if (clazz.getMethod("tickRender", HashMap.class, TickEvent.RenderTickEvent.class) - .getDeclaringClass() - != IChunkMetaDataHandler.class) { + if (clazz.getMethod("tickRender", HashMap.class, TickEvent.RenderTickEvent.class).getDeclaringClass() != IChunkMetaDataHandler.class) { renderHandlers.add(handler); } } catch (NoSuchMethodException e) { - throw new RuntimeException("Cannot register client event handlers!", e); + throw new RuntimeException("Cannot register client event handlers!",e); } } } - public NBTTagCompound removeChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk) { + public NBTTagCompound removeChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk){ return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world).remove(chunk); } - public NBTTagCompound getChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk) { + public NBTTagCompound getChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk){ return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world).get(chunk); } - public NBTTagCompound putChunkData( - IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk, NBTTagCompound data) { - return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world).put(chunk, data); + public NBTTagCompound putChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk, NBTTagCompound data){ + return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world).put(chunk,data); } - public NBTTagCompound createIfAbsentChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk) { - return dimensionWiseMetaChunkData - .get(handler.getTagName()) - .get(world) - .computeIfAbsent(chunk, chunkCoordIntPair -> handler.createData()); + public NBTTagCompound createIfAbsentChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk){ + return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world) + .computeIfAbsent(chunk,chunkCoordIntPair -> handler.createData()); } - public HashMap getChunkData(IChunkMetaDataHandler chunkMetaDataHandler) { + public HashMap getChunkData(IChunkMetaDataHandler chunkMetaDataHandler){ return dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()); } - public ChunkHashMap getChunkData(IChunkMetaDataHandler chunkMetaDataHandler, int world) { + public ChunkHashMap getChunkData(IChunkMetaDataHandler chunkMetaDataHandler, int world){ return dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()).get(world); } - public static final class ChunkHashMap implements Map { - private final HashMap storage; - private final HashMap storageMeta = new HashMap<>(1024); - private final HashSet dirtyBoys = new HashSet<>(1024); - private final ArrayList> workLoad = new ArrayList<>(); + public static final class ChunkHashMap implements Map{ + private final HashMap storage; + private final HashMap storageMeta=new HashMap<>(1024); + private final HashSet dirtyBoys=new HashSet<>(1024); + private final ArrayList> workLoad=new ArrayList<>(); private final String meta; private ChunkHashMap(IChunkMetaDataHandler meta, HashMap storage) { - this.storage = storage; - this.meta = meta.getTagName(); + this.storage =storage; + this.meta=meta.getTagName(); for (int i = 0; i < meta.pushPayloadSpreadPeriod(); i++) { workLoad.add(new ArrayList<>(128)); } } - public void markForTransmissionToClient(ChunkCoordIntPair chunk) { + public void markForTransmissionToClient(ChunkCoordIntPair chunk){ dirtyBoys.add(chunk); } @@ -288,11 +275,11 @@ public class ChunkDataHandler { @Override public NBTTagCompound remove(Object key) { - NBTTagCompound compound = storageMeta.remove(key); - if (compound != null) { + NBTTagCompound compound=storageMeta.remove(key); + if(compound!=null) { NBTChunk chunk = storage.get(key); chunk.data.removeTag(meta); - if (chunk.data.hasNoTags()) { + if(chunk.data.hasNoTags()){ storage.remove(key); } } @@ -301,16 +288,16 @@ public class ChunkDataHandler { @Override public NBTTagCompound put(ChunkCoordIntPair key, NBTTagCompound value) { - if (value == null) { + if(value==null){ return remove(key); } NBTChunk chunk = storage.get(key); - if (chunk == null) { - NBTTagCompound base = new NBTTagCompound(); - base.setTag(meta, value); - storage.put(key, new NBTChunk(base, false)); - } else { - chunk.data.setTag(meta, value); + if(chunk==null){ + NBTTagCompound base=new NBTTagCompound(); + base.setTag(meta,value); + storage.put(key,new NBTChunk(base,false)); + }else { + chunk.data.setTag(meta,value); } return storageMeta.put(key, value); } @@ -371,8 +358,8 @@ public class ChunkDataHandler { private boolean isLoaded; private NBTChunk(NBTTagCompound data, boolean isLoaded) { - if (data == null) { - data = new NBTTagCompound(); + if(data==null){ + data=new NBTTagCompound(); } this.data = data; this.isLoaded = isLoaded; diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataMessage.java b/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataMessage.java index 1d1bc7a200..216c4057ef 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataMessage.java +++ b/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataMessage.java @@ -19,66 +19,69 @@ public class ChunkDataMessage implements IMessage { NBTTagCompound data; IChunkMetaDataHandler handler; - public ChunkDataMessage() {} + public ChunkDataMessage(){} @Override public void fromBytes(ByteBuf pBuffer) { NBTTagCompound tag = ByteBufUtils.readTag(pBuffer); worldId = tag.getInteger("wId"); - chunk = new ChunkCoordIntPair(tag.getInteger("posx"), tag.getInteger("posz")); - handler = TecTech.chunkDataHandler.getChunkMetaDataHandler(tag.getString("handle")); - if (tag.hasKey("data")) { - data = tag.getCompoundTag("data"); + chunk=new ChunkCoordIntPair( + tag.getInteger("posx"), + tag.getInteger("posz")); + handler = TecTech.chunkDataHandler.getChunkMetaDataHandler( + tag.getString("handle")); + if(tag.hasKey("data")){ + data=tag.getCompoundTag("data"); } } @Override public void toBytes(ByteBuf pBuffer) { NBTTagCompound tag = new NBTTagCompound(); - tag.setInteger("wId", worldId); - tag.setInteger("posx", chunk.chunkXPos); - tag.setInteger("posz", chunk.chunkZPos); - tag.setString("handle", handler.getTagName()); - if (data != null) { - tag.setTag("data", data); + tag.setInteger("wId",worldId); + tag.setInteger("posx",chunk.chunkXPos); + tag.setInteger("posz",chunk.chunkZPos); + tag.setString("handle",handler.getTagName()); + if(data!=null){ + tag.setTag("data",data); } ByteBufUtils.writeTag(pBuffer, tag); } public static class ChunkDataQuery extends ChunkDataMessage { - public ChunkDataQuery() {} - + public ChunkDataQuery() { + } public ChunkDataQuery(ChunkEvent.Load aEvent, IChunkMetaDataHandler handler) { - worldId = aEvent.world.provider.dimensionId; - chunk = aEvent.getChunk().getChunkCoordIntPair(); - this.handler = handler; + worldId=aEvent.world.provider.dimensionId; + chunk=aEvent.getChunk().getChunkCoordIntPair(); + this.handler=handler; } } public static class ChunkDataData extends ChunkDataMessage { - public ChunkDataData() {} + public ChunkDataData() { + } - public ChunkDataData(int worldId, ChunkCoordIntPair chunk, IChunkMetaDataHandler handler) { - this.worldId = worldId; - this.chunk = chunk; - this.handler = handler; - this.data = TecTech.chunkDataHandler.getChunkData(handler, worldId, chunk); + public ChunkDataData(int worldId, ChunkCoordIntPair chunk, IChunkMetaDataHandler handler){ + this.worldId=worldId; + this.chunk=chunk; + this.handler=handler; + this.data=TecTech.chunkDataHandler.getChunkData(handler,worldId,chunk); } - public ChunkDataData(ChunkDataQuery query) { - worldId = query.worldId; - chunk = query.chunk; - handler = query.handler; - data = TecTech.chunkDataHandler.getChunkData(handler, worldId, chunk); + public ChunkDataData(ChunkDataQuery query){ + worldId=query.worldId; + chunk=query.chunk; + handler=query.handler; + data=TecTech.chunkDataHandler.getChunkData(handler,worldId,chunk); } } public static class ClientHandler extends AbstractClientMessageHandler { @Override public IMessage handleClientMessage(EntityPlayer pPlayer, ChunkDataData pMessage, MessageContext pCtx) { - if (TT_Utility.checkChunkExist(pPlayer.worldObj, pMessage.chunk)) { - TecTech.chunkDataHandler.putChunkData( - pMessage.handler, pMessage.worldId, pMessage.chunk, pMessage.data); + if(TT_Utility.checkChunkExist(pPlayer.worldObj,pMessage.chunk)){ + TecTech.chunkDataHandler.putChunkData(pMessage.handler, pMessage.worldId,pMessage.chunk, pMessage.data); } return null; } diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/IChunkMetaDataHandler.java b/src/main/java/com/github/technus/tectech/mechanics/data/IChunkMetaDataHandler.java index 00e87848b3..0be1fec517 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/data/IChunkMetaDataHandler.java +++ b/src/main/java/com/github/technus/tectech/mechanics/data/IChunkMetaDataHandler.java @@ -3,42 +3,33 @@ package com.github.technus.tectech.mechanics.data; import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import java.util.ArrayList; -import java.util.HashMap; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; import net.minecraftforge.event.world.ChunkEvent; +import java.util.ArrayList; +import java.util.HashMap; + public interface IChunkMetaDataHandler { String getTagName(); - void mergeData(NBTTagCompound target, NBTTagCompound loadedData); - NBTTagCompound createData(); - @SideOnly(Side.CLIENT) - default void pullData(ChunkEvent.Load aEvent) {} - - default void pushData(World world, ChunkCoordIntPair chunk) {} - - default void pushPayload(World world, ArrayList chunk) { - chunk.forEach(chunkCoordIntPair -> pushData(world, chunkCoordIntPair)); + default void pullData(ChunkEvent.Load aEvent){} + default void pushData(World world, ChunkCoordIntPair chunk){} + default void pushPayload(World world, ArrayList chunk){ + chunk.forEach(chunkCoordIntPair -> pushData(world,chunkCoordIntPair)); } - - default int pushPayloadSpreadPeriod() { - return 20; // must be a constant! + default int pushPayloadSpreadPeriod(){ + return 20;//must be a constant! } - @SideOnly(Side.CLIENT) - default void tickRender(HashMap data, TickEvent.RenderTickEvent event) {} - + default void tickRender(HashMap data, TickEvent.RenderTickEvent event){} @SideOnly(Side.CLIENT) - default void tickClient(HashMap data, TickEvent.ClientTickEvent event) {} - - default void tickServer(HashMap data, TickEvent.ServerTickEvent event) {} - - default void tickWorld(HashMap data, TickEvent.WorldTickEvent event) {} - - default void tickPlayer(HashMap data, TickEvent.PlayerTickEvent event) {} + default void tickClient(HashMap data, TickEvent.ClientTickEvent event){} + default void tickServer(HashMap data, TickEvent.ServerTickEvent event){} + default void tickWorld(HashMap data, TickEvent.WorldTickEvent event){} + default void tickPlayer(HashMap data, TickEvent.PlayerTickEvent event){} } + diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/PlayerDataMessage.java b/src/main/java/com/github/technus/tectech/mechanics/data/PlayerDataMessage.java index f6a36f2f01..58abc2fa20 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/data/PlayerDataMessage.java +++ b/src/main/java/com/github/technus/tectech/mechanics/data/PlayerDataMessage.java @@ -1,7 +1,5 @@ package com.github.technus.tectech.mechanics.data; -import static java.nio.charset.Charset.forName; - import com.github.technus.tectech.TecTech; import cpw.mods.fml.common.network.ByteBufUtils; import cpw.mods.fml.common.network.simpleimpl.IMessage; @@ -9,66 +7,71 @@ import cpw.mods.fml.common.network.simpleimpl.MessageContext; import eu.usrv.yamcore.network.client.AbstractClientMessageHandler; import eu.usrv.yamcore.network.server.AbstractServerMessageHandler; import io.netty.buffer.ByteBuf; -import java.util.UUID; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; +import java.util.UUID; + +import static java.nio.charset.Charset.forName; + public class PlayerDataMessage implements IMessage { NBTTagCompound data; - UUID uuid1, uuid2; + UUID uuid1,uuid2; - public PlayerDataMessage() {} + public PlayerDataMessage(){} @Override public void fromBytes(ByteBuf pBuffer) { NBTTagCompound tag = ByteBufUtils.readTag(pBuffer); - uuid1 = UUID.fromString(tag.getString("id1")); - uuid2 = UUID.fromString(tag.getString("id2")); - if (tag.hasKey("data")) { - data = tag.getCompoundTag("data"); + uuid1=UUID.fromString(tag.getString("id1")); + uuid2=UUID.fromString(tag.getString("id2")); + if(tag.hasKey("data")){ + data=tag.getCompoundTag("data"); } } @Override public void toBytes(ByteBuf pBuffer) { NBTTagCompound tag = new NBTTagCompound(); - tag.setString("id1", uuid1.toString()); - tag.setString("id2", uuid2.toString()); - if (data != null) { - tag.setTag("data", data); + tag.setString("id1",uuid1.toString()); + tag.setString("id2",uuid2.toString()); + if(data!=null){ + tag.setTag("data",data); } ByteBufUtils.writeTag(pBuffer, tag); } public static class PlayerDataQuery extends PlayerDataMessage { - public PlayerDataQuery() {} + public PlayerDataQuery() { + } public PlayerDataQuery(EntityPlayer player) { - uuid1 = player.getUniqueID(); - uuid2 = UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))); + uuid1=player.getUniqueID(); + uuid2=UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))); } } public static class PlayerDataData extends PlayerDataMessage { - public PlayerDataData() {} + public PlayerDataData() { + } - public PlayerDataData(EntityPlayer player) { - uuid1 = player.getUniqueID(); - uuid2 = UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))); - data = TecTech.playerPersistence.getDataOrSetToNewTag(player); + public PlayerDataData(EntityPlayer player){ + uuid1=player.getUniqueID(); + uuid2=UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))); + data=TecTech.playerPersistence.getDataOrSetToNewTag(player); } - public PlayerDataData(PlayerDataQuery query) { - uuid1 = query.uuid1; - uuid2 = query.uuid2; - data = TecTech.playerPersistence.getDataOrSetToNewTag(uuid1, uuid2); + public PlayerDataData(PlayerDataQuery query){ + uuid1=query.uuid1; + uuid2=query.uuid2; + data= TecTech.playerPersistence.getDataOrSetToNewTag(uuid1,uuid2); } } public static class ClientHandler extends AbstractClientMessageHandler { @Override public IMessage handleClientMessage(EntityPlayer pPlayer, PlayerDataData pMessage, MessageContext pCtx) { - TecTech.playerPersistence.putDataOrSetToNewTag(pMessage.uuid1, pMessage.uuid2, pMessage.data); + TecTech.playerPersistence.putDataOrSetToNewTag(pMessage.uuid1,pMessage.uuid2,pMessage.data); return null; } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/PlayerPersistence.java b/src/main/java/com/github/technus/tectech/mechanics/data/PlayerPersistence.java index 1c220c0bc7..b31b1a6b76 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/data/PlayerPersistence.java +++ b/src/main/java/com/github/technus/tectech/mechanics/data/PlayerPersistence.java @@ -1,78 +1,72 @@ package com.github.technus.tectech.mechanics.data; -import static java.nio.charset.Charset.forName; - import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.util.TT_Utility; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.PlayerEvent; -import java.util.HashMap; -import java.util.UUID; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.server.MinecraftServer; import net.minecraft.world.WorldServer; +import java.util.HashMap; +import java.util.UUID; + +import static java.nio.charset.Charset.forName; + public class PlayerPersistence { - private final HashMap map = new HashMap<>(); + private final HashMap map=new HashMap<>(); private final String extension; public PlayerPersistence(String extension) { this.extension = extension; } - public NBTTagCompound getDataOrSetToNewTag(UUID uuid1, UUID uuid2) { - NBTTagCompound tag = map.get(uuid1); - if (tag != null) { + public NBTTagCompound getDataOrSetToNewTag(UUID uuid1, UUID uuid2){ + NBTTagCompound tag=map.get(uuid1); + if(tag!=null){ return tag; } - tag = map.get(uuid2); - if (tag != null) { + tag=map.get(uuid2); + if(tag!=null){ return tag; } - tag = TT_Utility.getPlayerData(uuid1, uuid2, extension); - if (tag == null) { - tag = new NBTTagCompound(); + tag= TT_Utility.getPlayerData(uuid1,uuid2,extension); + if(tag==null){ + tag=new NBTTagCompound(); } - map.put(uuid1, tag); - map.put(uuid2, tag); + map.put(uuid1,tag); + map.put(uuid2,tag); return tag; } - public NBTTagCompound getDataOrSetToNewTag(EntityPlayer player) { - return getDataOrSetToNewTag( - player.getUniqueID(), - UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8")))); + public NBTTagCompound getDataOrSetToNewTag(EntityPlayer player){ + return getDataOrSetToNewTag(player.getUniqueID(),UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8")))); } - public void putDataOrSetToNewTag(UUID uuid1, UUID uuid2, NBTTagCompound tagCompound) { - if (tagCompound == null) { - tagCompound = new NBTTagCompound(); + public void putDataOrSetToNewTag(UUID uuid1, UUID uuid2, NBTTagCompound tagCompound){ + if(tagCompound==null){ + tagCompound=new NBTTagCompound(); } - map.put(uuid1, tagCompound); - map.put(uuid2, tagCompound); + map.put(uuid1,tagCompound); + map.put(uuid2,tagCompound); } - public void putDataOrSetToNewTag(EntityPlayer player, NBTTagCompound tagCompound) { - putDataOrSetToNewTag( - player.getUniqueID(), - UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))), - tagCompound); + public void putDataOrSetToNewTag(EntityPlayer player, NBTTagCompound tagCompound){ + putDataOrSetToNewTag(player.getUniqueID(),UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))),tagCompound); } - public void saveData(EntityPlayer player) { - TT_Utility.savePlayerFile(player, extension, getDataOrSetToNewTag(player)); + public void saveData(EntityPlayer player){ + TT_Utility.savePlayerFile(player,extension,getDataOrSetToNewTag(player)); } @SubscribeEvent - public void onLogin(PlayerEvent.PlayerLoggedInEvent event) { - if (!event.player.worldObj.isRemote) { + public void onLogin(PlayerEvent.PlayerLoggedInEvent event){ + if(!event.player.worldObj.isRemote){ for (WorldServer worldServer : MinecraftServer.getServer().worldServers) { for (Object playerEntity : worldServer.playerEntities) { - NetworkDispatcher.INSTANCE.sendTo( - new PlayerDataMessage.PlayerDataData((EntityPlayer) playerEntity), - (EntityPlayerMP) event.player); + NetworkDispatcher.INSTANCE.sendTo(new PlayerDataMessage.PlayerDataData((EntityPlayer) playerEntity),(EntityPlayerMP) event.player); } } NetworkDispatcher.INSTANCE.sendToAll(new PlayerDataMessage.PlayerDataData(event.player)); diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/WorldData.java b/src/main/java/com/github/technus/tectech/mechanics/data/WorldData.java index fb9bf22472..4f6f730c9b 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/data/WorldData.java +++ b/src/main/java/com/github/technus/tectech/mechanics/data/WorldData.java @@ -1,10 +1,11 @@ package com.github.technus.tectech.mechanics.data; -import java.util.Objects; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; +import java.util.Objects; + public final class WorldData { private final World world; private final Chunk chunk; @@ -13,13 +14,13 @@ public final class WorldData { public WorldData(World world, Chunk data) { this.world = world; this.chunk = data; - coordIntPair = data.getChunkCoordIntPair(); + coordIntPair=data.getChunkCoordIntPair(); } public WorldData(World world, ChunkCoordIntPair data) { this.world = world; this.coordIntPair = data; - chunk = world.getChunkFromChunkCoords(data.chunkXPos, data.chunkZPos); + chunk= world.getChunkFromChunkCoords(data.chunkXPos,data.chunkZPos); } public World getWorld() { @@ -39,9 +40,9 @@ public final class WorldData { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; WorldData worldData = (WorldData) o; - return world.provider.dimensionId == worldData.world.provider.dimensionId - && coordIntPair.chunkXPos == worldData.coordIntPair.chunkXPos - && coordIntPair.chunkZPos == worldData.coordIntPair.chunkXPos; + return world.provider.dimensionId==worldData.world.provider.dimensionId && + coordIntPair.chunkXPos==worldData.coordIntPair.chunkXPos && + coordIntPair.chunkZPos==worldData.coordIntPair.chunkXPos; } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/dataTransport/DataPacket.java b/src/main/java/com/github/technus/tectech/mechanics/dataTransport/DataPacket.java index e4936ec339..f30105f1ee 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/dataTransport/DataPacket.java +++ b/src/main/java/com/github/technus/tectech/mechanics/dataTransport/DataPacket.java @@ -1,35 +1,40 @@ package com.github.technus.tectech.mechanics.dataTransport; import com.gtnewhorizon.structurelib.util.Vec3Impl; +import net.minecraft.nbt.NBTTagCompound; + import java.util.Collections; import java.util.LinkedHashSet; import java.util.Set; -import net.minecraft.nbt.NBTTagCompound; /** * Created by Tec on 05.04.2017. */ -public abstract class DataPacket { +public abstract class DataPacket{ private static final byte MAX_HISTORY = 64; private Set trace = new LinkedHashSet<>(); protected T content; - protected DataPacket(T content) { - this.content = content; + protected DataPacket(T content){ + this.content=content; } protected DataPacket(NBTTagCompound nbt) { content = contentFromNBT(nbt.getCompoundTag("qContent")); for (int i = 0; i < nbt.getByte("qHistory"); i++) { - trace.add(new Vec3Impl(nbt.getInteger("qX" + i), nbt.getInteger("qY" + i), nbt.getInteger("qZ" + i))); + trace.add(new Vec3Impl( + nbt.getInteger("qX" + i), + nbt.getInteger("qY" + i), + nbt.getInteger("qZ" + i) + )); } } public final NBTTagCompound toNbt() { NBTTagCompound nbt = new NBTTagCompound(); - NBTTagCompound contentTag = contentToNBT(); - if (contentTag != null) { + NBTTagCompound contentTag=contentToNBT(); + if(contentTag!=null) { nbt.setTag("qContent", contentTag); } nbt.setByte("qHistory", (byte) trace.size()); @@ -60,21 +65,21 @@ public abstract class DataPacket { public abstract boolean extraCheck(); protected final DataPacket unifyTrace(Vec3Impl... positions) { - Collections.addAll(trace, positions); + Collections.addAll(trace,positions); return (check() && extraCheck()) ? this : null; } protected final DataPacket unifyTrace(DataPacket p) { - if (p == null) return this; + if(p==null) return this; trace.addAll(p.trace); return (check() && extraCheck()) ? this : null; } protected final DataPacket unifyWith(DataPacket p) { - if (p == null) return this; + if(p==null) return this; trace.addAll(p.trace); - if (check() && extraCheck()) { - content = unifyContentWith(p.content); + if(check() && extraCheck()){ + content=unifyContentWith(p.content); return this; } return null; @@ -87,15 +92,15 @@ public abstract class DataPacket { return getContent(); } - public T getContent() { + public T getContent(){ return content; } - public String getContentString() { + public String getContentString(){ return content.toString(); } - public final int getTraceSize() { + public final int getTraceSize(){ return trace.size(); } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/dataTransport/InventoryDataPacket.java b/src/main/java/com/github/technus/tectech/mechanics/dataTransport/InventoryDataPacket.java index af238edfe3..4eb5356ae7 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/dataTransport/InventoryDataPacket.java +++ b/src/main/java/com/github/technus/tectech/mechanics/dataTransport/InventoryDataPacket.java @@ -1,43 +1,44 @@ package com.github.technus.tectech.mechanics.dataTransport; -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; - -import java.util.ArrayList; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import java.util.ArrayList; + +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; + public class InventoryDataPacket extends DataPacket { - public InventoryDataPacket(ItemStack[] content) { + public InventoryDataPacket(ItemStack[] content){ super(content); } - public InventoryDataPacket(NBTTagCompound compound) { + public InventoryDataPacket(NBTTagCompound compound){ super(compound); } @Override protected ItemStack[] contentFromNBT(NBTTagCompound nbt) { - int count = nbt.getInteger("count"); - if (count > 0) { - ArrayList stacks = new ArrayList<>(); - for (int i = 0; i < count; i++) { - ItemStack stack = ItemStack.loadItemStackFromNBT(nbt.getCompoundTag(Integer.toString(i))); - if (stack != null) { + int count=nbt.getInteger("count"); + if(count>0){ + ArrayList stacks=new ArrayList<>(); + for(int i=0;i 0 ? stacks.toArray(nullItem) : null; + return stacks.size()>0?stacks.toArray(nullItem):null; } return null; } @Override protected NBTTagCompound contentToNBT() { - NBTTagCompound compound = new NBTTagCompound(); - if (content != null && content.length > 0) { - compound.setInteger("count", content.length); - for (int i = 0; i < content.length; i++) { - compound.setTag(Integer.toString(i), content[i].writeToNBT(new NBTTagCompound())); + NBTTagCompound compound=new NBTTagCompound(); + if(content!=null && content.length>0){ + compound.setInteger("count",content.length); + for(int i=0;i { @Override public String getContentString() { - return "Stack Count: " + (content == null ? 0 : content.length); + return "Stack Count: "+(content==null?0:content.length); } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/dataTransport/QuantumDataPacket.java b/src/main/java/com/github/technus/tectech/mechanics/dataTransport/QuantumDataPacket.java index 92a933d278..0fddb53fe9 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/dataTransport/QuantumDataPacket.java +++ b/src/main/java/com/github/technus/tectech/mechanics/dataTransport/QuantumDataPacket.java @@ -4,11 +4,11 @@ import com.gtnewhorizon.structurelib.util.Vec3Impl; import net.minecraft.nbt.NBTTagCompound; public class QuantumDataPacket extends DataPacket { - public QuantumDataPacket(Long content) { + public QuantumDataPacket(Long content){ super(content); } - public QuantumDataPacket(NBTTagCompound compound) { + public QuantumDataPacket(NBTTagCompound compound){ super(compound); } @@ -19,8 +19,8 @@ public class QuantumDataPacket extends DataPacket { @Override protected NBTTagCompound contentToNBT() { - NBTTagCompound compound = new NBTTagCompound(); - compound.setLong("computation", content); + NBTTagCompound compound=new NBTTagCompound(); + compound.setLong("computation",content); return compound; } @@ -31,7 +31,7 @@ public class QuantumDataPacket extends DataPacket { @Override protected Long unifyContentWith(Long content) { - return this.content + content; + return this.content+content; } public QuantumDataPacket unifyTraceWith(Vec3Impl... positions) { diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMGive.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMGive.java index 0826a5d253..eed30a7974 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMGive.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMGive.java @@ -9,15 +9,16 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstance import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; import com.github.technus.tectech.thing.item.DebugElementalInstanceContainer_EM; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.util.ChatComponentText; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + /** * Created by danie_000 on 30.12.2017. */ @@ -36,19 +37,16 @@ public class EMGive implements ICommand { if (args.length < 3) { sender.addChatMessage(new ChatComponentText(getCommandUsage(sender))); } else { - TecTech.LOGGER.info("Spawninig EM for " + ((EntityPlayerMP) sender).getDisplayName() + " - " - + Arrays.toString(args)); + TecTech.LOGGER.info("Spawninig EM for " + ((EntityPlayerMP) sender).getDisplayName() + " - " + Arrays.toString(args)); - ArrayList list = new ArrayList<>(Arrays.asList(args)); - String energy = list.remove(0); + ArrayList list = new ArrayList<>(Arrays.asList(args)); + String energy = list.remove(0); EMDefinitionStack def = getDefinitionStack(TecTech.definitionsRegistry, list); if (def != null) { EMInstanceStack instanceStack = new EMInstanceStack(def, 1, 0, Long.parseLong(energy)); - sender.addChatMessage( - new ChatComponentText(instanceStack.getDefinition().getSymbol() + " - " - + instanceStack.getDefinition().getLocalizedName())); + sender.addChatMessage(new ChatComponentText(instanceStack.getDefinition().getSymbol() + " - " + instanceStack.getDefinition().getLocalizedName())); EMInstanceStackMap instanceMap = new EMInstanceStackMap(instanceStack); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMList.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMList.java index 22dd9b7dcb..0f71a24d82 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMList.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMList.java @@ -3,20 +3,21 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.commands; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; import com.github.technus.tectech.util.TT_Utility; -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.util.ChatComponentText; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + /** * Created by danie_000 on 30.12.2017. */ public class EMList implements ICommand { - ArrayList aliases = new ArrayList<>(); + ArrayList aliases=new ArrayList<>(); - public EMList() { + public EMList(){ aliases.add("em_list"); aliases.add("list_em"); } @@ -24,40 +25,32 @@ public class EMList implements ICommand { @Override public void processCommand(ICommandSender sender, String[] args) { if (!sender.getEntityWorld().isRemote) { - if (args.length == 0) { + if(args.length == 0) { listClasses(sender); - } else { + }else { String concated = TT_Utility.getConcated(args, " "); - listDefinitions(sender, concated, concated.replaceAll(" ", "_"), concated.replaceAll("_", " ")); + listDefinitions(sender,concated, concated.replaceAll(" ","_"),concated.replaceAll("_"," ")); } } } - private void listDefinitions(ICommandSender sender, String raw, String unlocalized, String localized) { + private void listDefinitions(ICommandSender sender,String raw, String unlocalized,String localized) { sender.addChatMessage(new ChatComponentText(" Available Direct: tag - name symbol")); for (EMType directType : TecTech.definitionsRegistry.getDirectTypes().values()) { - if ("*".equals(raw) - || localized.equalsIgnoreCase(directType.getLocalizedName()) - || unlocalized.equalsIgnoreCase(directType.getUnlocalizedName())) { - directType - .getDefinitions() - .forEach((bind, definition) -> sender.addChatMessage(new ChatComponentText( - bind + " - " + definition.getLocalizedName() + " " + definition.getSymbol()))); + if ("*".equals(raw) || localized.equalsIgnoreCase(directType.getLocalizedName()) || unlocalized.equalsIgnoreCase(directType.getUnlocalizedName())) { + directType.getDefinitions().forEach((bind, definition) -> + sender.addChatMessage(new ChatComponentText(bind + " - " + definition.getLocalizedName() + " " + definition.getSymbol()))); } } } private void listClasses(ICommandSender sender) { sender.addChatMessage(new ChatComponentText(" Available Direct: name (use as parameter to learn more")); - TecTech.definitionsRegistry - .getDirectTypes() - .forEach((aClass, emDirectType) -> - sender.addChatMessage(new ChatComponentText(emDirectType.getLocalizedName()))); + TecTech.definitionsRegistry.getDirectTypes().forEach((aClass, emDirectType) -> + sender.addChatMessage(new ChatComponentText(emDirectType.getLocalizedName()))); sender.addChatMessage(new ChatComponentText(" Available Indirect: tag - name")); - TecTech.definitionsRegistry - .getIndirectBinds() - .forEach((bind, emIndirectType) -> - sender.addChatMessage(new ChatComponentText(bind + " - " + emIndirectType.getLocalizedName()))); + TecTech.definitionsRegistry.getIndirectBinds().forEach((bind, emIndirectType) -> + sender.addChatMessage(new ChatComponentText(bind+" - "+emIndirectType.getLocalizedName()))); } @Override @@ -77,11 +70,8 @@ public class EMList implements ICommand { @Override public List addTabCompletionOptions(ICommandSender sender, String[] args) { - if (args.length == 1) { - return TecTech.definitionsRegistry.getDirectTypes().values().stream() - .map(EMType::getLocalizedName) - .map(s -> s.replaceAll(" ", "_")) - .collect(Collectors.toList()); + if(args.length==1){ + return TecTech.definitionsRegistry.getDirectTypes().values().stream().map(EMType::getLocalizedName).map(s->s.replaceAll(" ","_")).collect(Collectors.toList()); } return null; } @@ -93,7 +83,7 @@ public class EMList implements ICommand { @Override public int compareTo(Object o) { - if (o instanceof ICommand) { + if(o instanceof ICommand){ return getCommandName().compareTo(((ICommand) o).getCommandName()); } return 0; diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecay.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecay.java index 3efbe615eb..dfd1551c49 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecay.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecay.java @@ -1,25 +1,25 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.decay; -import static com.github.technus.tectech.util.DoubleCount.mul; - import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMConstantStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; +import static com.github.technus.tectech.util.DoubleCount.mul; + /** * Created by danie_000 on 22.10.2016. */ public final class EMDecay { - public static final EMDecay[] NO_DECAY = null; - // DECAY IMPOSSIBLE!!! - // Do not use regular NULL java will not make it work with varargs!!! - // Or cast null into ARRAY type but this static is more convenient!!! - public static final EMDecay[] NO_PRODUCT = new EMDecay[0]; - // this in turn can be used to tell that the thing should just vanish + public static final EMDecay[] NO_DECAY = null; + //DECAY IMPOSSIBLE!!! + //Do not use regular NULL java will not make it work with varargs!!! + //Or cast null into ARRAY type but this static is more convenient!!! + public static final EMDecay[] NO_PRODUCT = new EMDecay[0]; + //this in turn can be used to tell that the thing should just vanish private final EMConstantStackMap outputStacks; - private final double probability; + private final double probability; public EMDecay(IEMDefinition... outSafe) { this(1D, outSafe); @@ -55,28 +55,27 @@ public final class EMDecay { public EMInstanceStackMap getResults(double lifeMult, double age, long newEnergyLevel, double amountDecaying) { EMInstanceStackMap decayResult = new EMInstanceStackMap(); if (getOutputStacks() == null) { - return decayResult; // This is to prevent null pointer exceptions. + return decayResult;//This is to prevent null pointer exceptions. } - // Deny decay code is in instance! - boolean empty = true; + //Deny decay code is in instance! + boolean empty=true; for (EMDefinitionStack stack : getOutputStacks().valuesToArray()) { - if (stack.getAmount() > 0) { - empty = false; + if(stack.getAmount() >0){ + empty=false; break; } } if (empty) { return decayResult; } - // newEnergyLevel /= qtty; - // lifeMult /= (float) qtty; + //newEnergyLevel /= qtty; + //lifeMult /= (float) qtty; for (EMDefinitionStack stack : getOutputStacks().valuesToArray()) { - decayResult.putUnify(new EMInstanceStack( - stack.getDefinition(), + decayResult.putUnify(new EMInstanceStack(stack.getDefinition(), mul(amountDecaying, stack.getAmount()), lifeMult, - age /*new products*/, - (long) (newEnergyLevel / Math.max(1D, Math.abs(stack.getAmount()))))); // get instances from stack + age/*new products*/, + (long)(newEnergyLevel / Math.max(1D, Math.abs(stack.getAmount())))));//get instances from stack } return decayResult; } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecayResult.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecayResult.java index dd37b2faaf..0a00a519f9 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecayResult.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecayResult.java @@ -4,8 +4,8 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstance public class EMDecayResult { private final EMInstanceStackMap output; - private double massAffected; - private double massDiff; + private double massAffected; + private double massDiff; public EMDecayResult(EMInstanceStackMap output, double massAffected, double massDiff) { this.output = output; diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMComplexTemplate.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMComplexTemplate.java index fbb72734f3..be22092163 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMComplexTemplate.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMComplexTemplate.java @@ -16,7 +16,7 @@ public abstract class EMComplexTemplate implements IEMDefinition { @Override public final EMComplexTemplate clone() { - return this; // IMMUTABLE + return this;//IMMUTABLE } @Override @@ -25,14 +25,14 @@ public abstract class EMComplexTemplate implements IEMDefinition { if (classCompare != 0) { return classCompare; } - // that allows neat check if the same thing and - // top hierarchy amount can be used to store amount info + //that allows neat check if the same thing and + //top hierarchy amount can be used to store amount info return getSubParticles().compareWithAmountsInternal(o.getSubParticles()); } @Override public final boolean equals(Object obj) { - if (this == obj) { + if(this==obj) { return true; } if (obj instanceof IEMDefinition) { @@ -45,23 +45,22 @@ public abstract class EMComplexTemplate implements IEMDefinition { } @Override - public int hashCode() { // Internal amounts should be also hashed + public int hashCode() {//Internal amounts should be also hashed int hash = -(getSubParticles().size() << 16); for (EMDefinitionStack stack : getSubParticles().valuesToArray()) { - int amount = (int) stack.getAmount(); - hash += ((amount & 0x1) == 0 ? -amount : amount) - * (stack.getDefinition().hashCode() << 4); + int amount=(int) stack.getAmount(); + hash += ((amount & 0x1) == 0 ? -amount : amount) * (stack.getDefinition().hashCode()<<4); } return hash; } @Override public String toString() { - return getLocalizedName() + " " + getSymbol(); + return getLocalizedName()+ " " + getSymbol(); } public NBTTagCompound toNBT(EMDefinitionsRegistry registry) { - return registry.indirectToNBT(getTagValue(), getSubParticles()); + return registry.indirectToNBT(getTagValue(),getSubParticles()); } protected abstract String getTagValue(); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMPrimitiveTemplate.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMPrimitiveTemplate.java index 7886580a0c..272e7cffc0 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMPrimitiveTemplate.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMPrimitiveTemplate.java @@ -1,12 +1,12 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.definitions; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMConstantStackMap; import net.minecraft.nbt.NBTTagCompound; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 22.10.2016. * EXTEND THIS TO ADD NEW PRIMITIVES, WATCH OUT FOR ID'S!!! @@ -14,30 +14,29 @@ import net.minecraft.nbt.NBTTagCompound; public abstract class EMPrimitiveTemplate extends EMComplexTemplate { private final String name; private final String symbol; - // float-mass in eV/c^2 + //float-mass in eV/c^2 private final double mass; - // int -electric charge in 1/3rds of electron charge for optimization - private final int charge; - // byte color; 0=Red 1=Green 2=Blue 0=Cyan 1=Magenta 2=Yellow, else ignored (-1 - uncolorable) + //int -electric charge in 1/3rds of electron charge for optimization + private final int charge; + //byte color; 0=Red 1=Green 2=Blue 0=Cyan 1=Magenta 2=Yellow, else ignored (-1 - uncolorable) private final int color; - // -1/-2/-3 anti matter generations, +1/+2/+3 matter generations, 0 self anti + //-1/-2/-3 anti matter generations, +1/+2/+3 matter generations, 0 self anti private final int generation; - private IEMDefinition anti; // IMMUTABLE - private EMDecay[] elementalDecays; - private byte naturalDecayInstant; + private IEMDefinition anti;//IMMUTABLE + private EMDecay[] elementalDecays; + private byte naturalDecayInstant; private byte energeticDecayInstant; private double rawLifeTime; private final int ID; private final String bind; - // no _ at end - normal particle + //no _ at end - normal particle // _ at end - anti particle // __ at end - self is antiparticle - protected EMPrimitiveTemplate( - String name, String symbol, int generation, double mass, int charge, int color, int ID, String bind) { + protected EMPrimitiveTemplate(String name, String symbol, int generation, double mass, int charge, int color, int ID, String bind) { this.name = name; this.symbol = symbol; this.generation = generation; @@ -45,24 +44,18 @@ public abstract class EMPrimitiveTemplate extends EMComplexTemplate { this.charge = charge; this.color = color; this.ID = ID; - this.bind = bind; + this.bind=bind; } // - protected void init( - EMDefinitionsRegistry registry, - IEMDefinition antiParticle, - double rawLifeTime, - int naturalInstant, - int energeticInstant, - EMDecay... elementalDecaysArray) { + protected void init(EMDefinitionsRegistry registry,IEMDefinition antiParticle, double rawLifeTime, int naturalInstant, int energeticInstant, EMDecay... elementalDecaysArray) { anti = antiParticle; this.rawLifeTime = rawLifeTime; naturalDecayInstant = (byte) naturalInstant; energeticDecayInstant = (byte) energeticInstant; - elementalDecays = elementalDecaysArray; + elementalDecays =elementalDecaysArray; registry.registerForDisplay(this); - registry.registerDirectDefinition(bind, this); + registry.registerDirectDefinition(bind,this); } @Override @@ -82,7 +75,7 @@ public abstract class EMPrimitiveTemplate extends EMComplexTemplate { @Override public IEMDefinition getAnti() { - return anti; // no need for copy + return anti;//no need for copy } @Override @@ -104,25 +97,25 @@ public abstract class EMPrimitiveTemplate extends EMComplexTemplate { public EMDecay[] getNaturalDecayInstant() { if (naturalDecayInstant < 0) { return elementalDecays; - } else if (naturalDecayInstant >= elementalDecays.length) { + }else if (naturalDecayInstant>=elementalDecays.length){ return EMDecay.NO_PRODUCT; } - return new EMDecay[] {elementalDecays[naturalDecayInstant]}; + return new EMDecay[]{elementalDecays[naturalDecayInstant]}; } @Override public EMDecay[] getEnergyInducedDecay(long energyLevel) { if (energeticDecayInstant < 0) { return elementalDecays; - } else if (energeticDecayInstant >= elementalDecays.length) { + }else if (energeticDecayInstant>=elementalDecays.length){ return EMDecay.NO_PRODUCT; } - return new EMDecay[] {elementalDecays[energeticDecayInstant]}; + return new EMDecay[]{elementalDecays[energeticDecayInstant]}; } @Override public double getEnergyDiffBetweenStates(long currentEnergyLevel, long newEnergyLevel) { - return IEMDefinition.DEFAULT_ENERGY_REQUIREMENT * (newEnergyLevel - currentEnergyLevel); + return IEMDefinition.DEFAULT_ENERGY_REQUIREMENT *(newEnergyLevel-currentEnergyLevel); } @Override @@ -180,7 +173,7 @@ public abstract class EMPrimitiveTemplate extends EMComplexTemplate { return getClassTypeStatic(); } - public static int getClassTypeStatic() { + public static int getClassTypeStatic(){ return Short.MIN_VALUE; } @@ -201,4 +194,4 @@ public abstract class EMPrimitiveTemplate extends EMComplexTemplate { public String getUnlocalizedName() { return name; } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/IEMDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/IEMDefinition.java index 4d076712b4..ee123735f8 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/IEMDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/IEMDefinition.java @@ -1,29 +1,29 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.definitions; -import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_scanner.*; -import static com.github.technus.tectech.util.TT_Utility.areBitsSet; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMConstantStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; import com.github.technus.tectech.util.TT_Utility; -import java.util.ArrayList; import net.minecraft.nbt.NBTTagCompound; +import java.util.ArrayList; + +import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_scanner.*; +import static com.github.technus.tectech.util.TT_Utility.areBitsSet; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 11.11.2016. */ -public interface IEMDefinition extends Comparable, Cloneable { // IMMUTABLE - double STABLE_RAW_LIFE_TIME = 1.5e36D; - double NO_DECAY_RAW_LIFE_TIME = -1D; - long DEFAULT_ENERGY_LEVEL = 0; - double DEFAULT_ENERGY_REQUIREMENT = - 25000D; // legit cuz normal atoms should only emit a gamma if they don't have defined energy levels - // add text based creators for recipe formula input? - - // Nomenclature +public interface IEMDefinition extends Comparable, Cloneable {//IMMUTABLE + double STABLE_RAW_LIFE_TIME = 1.5e36D; + double NO_DECAY_RAW_LIFE_TIME = -1D; + long DEFAULT_ENERGY_LEVEL = 0; + double DEFAULT_ENERGY_REQUIREMENT = 25000D;//legit cuz normal atoms should only emit a gamma if they don't have defined energy levels + //add text based creators for recipe formula input? + + //Nomenclature String getLocalizedTypeName(); String getShortLocalizedName(); @@ -36,63 +36,57 @@ public interface IEMDefinition extends Comparable, Cloneable { // String getSymbol(); - default void addScanShortSymbols( - ArrayList lines, int capabilities, long energyLevel, EMDefinitionsRegistry registry) { - if (areBitsSet( - SCAN_GET_NOMENCLATURE | SCAN_GET_CLASS_TYPE | SCAN_GET_CHARGE | SCAN_GET_MASS | SCAN_GET_TIMESPAN_INFO, - capabilities)) { + default void addScanShortSymbols(ArrayList lines, int capabilities, long energyLevel, EMDefinitionsRegistry registry) { + if (areBitsSet(SCAN_GET_NOMENCLATURE | SCAN_GET_CLASS_TYPE | SCAN_GET_CHARGE | SCAN_GET_MASS | SCAN_GET_TIMESPAN_INFO, capabilities)) { lines.add(getShortSymbol()); } } - default void addScanResults( - ArrayList lines, int capabilities, long energyLevel, EMDefinitionsRegistry registry) { - if (TT_Utility.areBitsSet( - SCAN_GET_CLASS_TYPE | SCAN_GET_CHARGE | SCAN_GET_MASS | SCAN_GET_TIMESPAN_INFO, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.class") + " = " - + registry.getTypes().get(getClass()).getLocalizedName()); + default void addScanResults(ArrayList lines, int capabilities, long energyLevel, EMDefinitionsRegistry registry) { + if (TT_Utility.areBitsSet(SCAN_GET_CLASS_TYPE | SCAN_GET_CHARGE | SCAN_GET_MASS | SCAN_GET_TIMESPAN_INFO, capabilities)) { + lines.add(translateToLocal("tt.keyword.scan.class") + + " = " + registry.getTypes().get(getClass()).getLocalizedName()); if (areBitsSet(SCAN_GET_NOMENCLATURE, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.name") + " = " + getLocalizedName()); - lines.add(translateToLocal("tt.keyword.scan.symbol") + " = " + getSymbol()); + lines.add(translateToLocal("tt.keyword.scan.name") + + " = " + getLocalizedName()); + lines.add(translateToLocal("tt.keyword.scan.symbol") + + " = " + getSymbol()); } } if (areBitsSet(SCAN_GET_CHARGE, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.charge") + " = " + getCharge() / 3D + " " - + translateToLocal("tt.keyword.unit.charge")); + lines.add(translateToLocal("tt.keyword.scan.charge") + + " = " + getCharge() / 3D + " " + translateToLocal("tt.keyword.unit.charge")); } if (areBitsSet(SCAN_GET_COLORABLE, capabilities)) { - lines.add( - hasColor() - ? translateToLocal("tt.keyword.scan.colored") - : translateToLocal("tt.keyword.scan.colorless")); + lines.add(hasColor() ? + translateToLocal("tt.keyword.scan.colored") : + translateToLocal("tt.keyword.scan.colorless")); } if (areBitsSet(SCAN_GET_MASS, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.mass") + " = " + getMass() + " " - + translateToLocal("tt.keyword.unit.mass")); + lines.add(translateToLocal("tt.keyword.scan.mass") + + " = " + getMass() + " " + translateToLocal("tt.keyword.unit.mass")); } if (areBitsSet(SCAN_GET_TIMESPAN_INFO, capabilities)) { - lines.add((isTimeSpanHalfLife() - ? translateToLocal("tt.keyword.scan.half_life") - : translateToLocal("tt.keyword.scan.life_time")) - + " = " - + getRawTimeSpan(energyLevel) + " " + translateToLocal("tt.keyword.unit.time")); + lines.add((isTimeSpanHalfLife() ? + translateToLocal("tt.keyword.scan.half_life") : + translateToLocal("tt.keyword.scan.life_time")) + + " = " + getRawTimeSpan(energyLevel) + " " + translateToLocal("tt.keyword.unit.time")); lines.add(" " + translateToLocal("tt.keyphrase.scan.at_current_energy_level")); } } - int getMatterMassType(); // bigger number means bigger things usually, but it is just used to differentiate - // between classes of iED + int getMatterMassType();//bigger number means bigger things usually, but it is just used to differentiate between classes of iED int getGeneration(); - // Not dynamically changing stuff - IEMDefinition getAnti(); // gives new anti particle def + //Not dynamically changing stuff + IEMDefinition getAnti();//gives new anti particle def - EMDecay[] getDecayArray(); // possible decays + EMDecay[] getDecayArray();//possible decays - EMDecay[] getNaturalDecayInstant(); // natural decay if lifespan <1tick + EMDecay[] getNaturalDecayInstant();//natural decay if lifespan <1tick - EMDecay[] getEnergyInducedDecay(long energyLevel); // energetic decay + EMDecay[] getEnergyInducedDecay(long energyLevel);//energetic decay boolean usesSpecialEnergeticDecayHandling(); @@ -102,24 +96,24 @@ public interface IEMDefinition extends Comparable, Cloneable { // boolean fusionMakesEnergy(long energyLevel); - double getEnergyDiffBetweenStates(long currentEnergy, long newEnergyLevel); // positive or negative + double getEnergyDiffBetweenStates(long currentEnergy, long newEnergyLevel);//positive or negative - double getMass(); // mass... MeV/c^2 + double getMass();//mass... MeV/c^2 - int getCharge(); // charge 1/3 electron charge + int getCharge();//charge 1/3 electron charge - // dynamically changing stuff + //dynamically changing stuff int getMaxColors(); default boolean hasColor() { return getMaxColors() > 0; } - double getRawTimeSpan(long currentEnergy); // defined in static fields or generated + double getRawTimeSpan(long currentEnergy);//defined in static fields or generated boolean isTimeSpanHalfLife(); - EMConstantStackMap getSubParticles(); // contents... null if none + EMConstantStackMap getSubParticles();//contents... null if none NBTTagCompound toNBT(EMDefinitionsRegistry registry); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMDefinitionsRegistry.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMDefinitionsRegistry.java index 8866403d04..458965da66 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMDefinitionsRegistry.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMDefinitionsRegistry.java @@ -1,37 +1,37 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.nbtE__; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.null__; - import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.IEMMapRead; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; -import java.util.*; import net.minecraft.nbt.NBTTagCompound; +import java.util.*; + +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.nbtE__; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.null__; + public class EMDefinitionsRegistry { private static final String TAG_NAME = "EM"; private final NavigableSet stacksRegistered = new TreeSet<>(); - private final Map hashMap = new HashMap<>(); + private final Map hashMap = new HashMap<>(); private final Map hashMapR = Collections.unmodifiableMap(hashMap); - private final Map, EMType> types = new HashMap<>(); - private final Map, EMType> typesR = Collections.unmodifiableMap(types); - private final Map, EMType> directTypes = new HashMap<>(); - private final Map, EMType> directTypesR = Collections.unmodifiableMap(directTypes); - private final Map, EMIndirectType> indirectTypes = new HashMap<>(); - private final Map, EMIndirectType> indirectTypesR = - Collections.unmodifiableMap(indirectTypes); - - private final Map binds = new HashMap<>(); - private final Map bindsR = Collections.unmodifiableMap(binds); - private final Map directBinds = new HashMap<>(); - private final Map directBindsR = Collections.unmodifiableMap(directBinds); - private final Map indirectBinds = new HashMap<>(); + private final Map, EMType> types = new HashMap<>(); + private final Map, EMType> typesR = Collections.unmodifiableMap(types); + private final Map, EMType> directTypes = new HashMap<>(); + private final Map, EMType> directTypesR = Collections.unmodifiableMap(directTypes); + private final Map, EMIndirectType> indirectTypes = new HashMap<>(); + private final Map, EMIndirectType> indirectTypesR = Collections.unmodifiableMap(indirectTypes); + + private final Map binds = new HashMap<>(); + private final Map bindsR = Collections.unmodifiableMap(binds); + private final Map directBinds = new HashMap<>(); + private final Map directBindsR = Collections.unmodifiableMap(directBinds); + private final Map indirectBinds = new HashMap<>(); private final Map indirectBindsR = Collections.unmodifiableMap(indirectBinds); public NBTTagCompound directToNBT(String bind) { @@ -84,8 +84,7 @@ public class EMDefinitionsRegistry { protected void addType(EMType emType) { if (types.put(emType.getClazz(), emType) != null) { - EMException e = - new EMException("Class collision! " + emType.getClazz().getName()); + EMException e = new EMException("Class collision! " + emType.getClazz().getName()); if (DEBUG_MODE) { e.printStackTrace(); } else { @@ -131,8 +130,7 @@ public class EMDefinitionsRegistry { if (emType != null) { directTypes.put(definition.getClass(), emType); } else { - EMException e = new EMException( - "Direct Type bind missing! " + definition.getClass().getName()); + EMException e = new EMException("Direct Type bind missing! " + definition.getClass().getName()); if (DEBUG_MODE) { e.printStackTrace(); } else { diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMIndirectType.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMIndirectType.java index f970bfbbaa..680dd029a4 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMIndirectType.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMIndirectType.java @@ -1,32 +1,30 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.nbtE__; - import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; -import java.util.function.BiFunction; import net.minecraft.nbt.NBTTagCompound; +import java.util.function.BiFunction; + +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.nbtE__; + public class EMIndirectType extends EMType { private final BiFunction creator; - public EMIndirectType( - BiFunction creator, - Class clazz, - String unlocalizedName) { + public EMIndirectType(BiFunction creator, Class clazz, String unlocalizedName) { super(clazz, unlocalizedName); this.creator = creator; } - protected BiFunction getCreator() { + protected BiFunction getCreator() { return creator; } - public IEMDefinition create(EMDefinitionsRegistry registry, NBTTagCompound nbt) { + public IEMDefinition create(EMDefinitionsRegistry registry,NBTTagCompound nbt){ try { return creator.apply(registry, nbt); - } catch (Exception e) { + }catch (Exception e){ EMException emException = new EMException("Failed to create from: " + nbt.toString(), e); if (DEBUG_MODE) { emException.printStackTrace(); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMType.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMType.java index 1af46f6ff0..73097db663 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMType.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMType.java @@ -1,19 +1,20 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; + import java.util.Collections; import java.util.HashMap; import java.util.Map; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static net.minecraft.util.StatCollector.translateToLocal; + public class EMType { - private final Map definitions = new HashMap<>(); + private final Map definitions = new HashMap<>(); private final Map definitionsR = Collections.unmodifiableMap(definitions); - private final Class clazz; - private final String unlocalizedName; + private final Class clazz; + private final String unlocalizedName; public EMType(Class clazz, String unlocalizedName) { this.clazz = clazz; @@ -37,7 +38,7 @@ public class EMType { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - return clazz == ((EMType) o).clazz; + return clazz==((EMType) o).clazz; } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMConstantStackMap.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMConstantStackMap.java index d830005760..ed2ebbab57 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMConstantStackMap.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMConstantStackMap.java @@ -1,22 +1,22 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.maps; -import static com.github.technus.tectech.util.TT_Utility.unpackNBT; - import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; +import net.minecraft.nbt.NBTTagCompound; + import java.util.Collections; import java.util.NavigableMap; import java.util.TreeMap; -import net.minecraft.nbt.NBTTagCompound; + +import static com.github.technus.tectech.util.TT_Utility.unpackNBT; /** * Created by Tec on 12.05.2017. */ -public final class EMConstantStackMap /*IMMUTABLE*/ - extends EMStackMap { // Target class for construction of definitions/recipes - // Constructors + Clone, all make a whole new OBJ. +public final class EMConstantStackMap/*IMMUTABLE*/ extends EMStackMap {//Target class for construction of definitions/recipes + //Constructors + Clone, all make a whole new OBJ. public static final EMConstantStackMap EMPTY = new EMConstantStackMap(); private EMConstantStackMap() { @@ -36,7 +36,7 @@ public final class EMConstantStackMap /*IMMUTABLE*/ return EMDefinitionStack.class; } - // IMMUTABLE DON'T NEED IT + //IMMUTABLE DON'T NEED IT @Override public EMConstantStackMap clone() { return this; @@ -47,7 +47,6 @@ public final class EMConstantStackMap /*IMMUTABLE*/ } public static EMConstantStackMap fromNBT(EMDefinitionsRegistry registry, NBTTagCompound nbt) throws EMException { - return new EMConstantStackMap( - unpackNBT(EMDefinitionStack.class, inner -> EMDefinitionStack.fromNBT(registry, inner), nbt)); + return new EMConstantStackMap(unpackNBT(EMDefinitionStack.class,inner -> EMDefinitionStack.fromNBT(registry, inner),nbt)); } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMDefinitionStackMap.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMDefinitionStackMap.java index 2fe0f1ff95..6892e2cd59 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMDefinitionStackMap.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMDefinitionStackMap.java @@ -1,21 +1,21 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.maps; -import static com.github.technus.tectech.util.TT_Utility.unpackNBT; - import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; +import net.minecraft.nbt.NBTTagCompound; + import java.util.NavigableMap; import java.util.TreeMap; -import net.minecraft.nbt.NBTTagCompound; + +import static com.github.technus.tectech.util.TT_Utility.unpackNBT; /** * Created by danie_000 on 22.01.2017. */ -public final class EMDefinitionStackMap extends EMStackMap - implements IEMMapWriteExact { // Transient class for construction of definitions/recipes - // Constructors + Clone, all make a whole new OBJ. +public final class EMDefinitionStackMap extends EMStackMap implements IEMMapWriteExact {//Transient class for construction of definitions/recipes + //Constructors + Clone, all make a whole new OBJ. public EMDefinitionStackMap() {} public EMDefinitionStackMap(EMDefinitionStack... in) { @@ -45,7 +45,6 @@ public final class EMDefinitionStackMap extends EMStackMap } public static EMDefinitionStackMap fromNBT(EMDefinitionsRegistry registry, NBTTagCompound nbt) throws EMException { - return new EMDefinitionStackMap( - unpackNBT(EMDefinitionStack.class, inner -> EMDefinitionStack.fromNBT(registry, inner), nbt)); + return new EMDefinitionStackMap(unpackNBT(EMDefinitionStack.class,inner -> EMDefinitionStack.fromNBT(registry, inner),nbt)); } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMInstanceStackMap.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMInstanceStackMap.java index 8b3ffcd454..8a92c819df 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMInstanceStackMap.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMInstanceStackMap.java @@ -1,10 +1,5 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.maps; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.AVOGADRO_CONSTANT; -import static com.github.technus.tectech.util.DoubleCount.add; -import static com.github.technus.tectech.util.TT_Utility.unpackNBT; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecayResult; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; @@ -14,19 +9,26 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstan import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.util.GT_Utility; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; + import java.util.ArrayList; import java.util.Map; import java.util.NavigableMap; import java.util.TreeMap; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; + +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.AVOGADRO_CONSTANT; +import static com.github.technus.tectech.util.DoubleCount.add; +import static com.github.technus.tectech.util.TT_Utility.unpackNBT; +import static net.minecraft.util.StatCollector.translateToLocal; /** * Created by danie_000 on 22.01.2017. */ public final class EMInstanceStackMap extends EMStackMap implements IEMMapWrite { - // Constructors - public EMInstanceStackMap() {} + //Constructors + public EMInstanceStackMap() { + } public EMInstanceStackMap(EMInstanceStack... inSafe) { this(true, inSafe); @@ -67,7 +69,7 @@ public final class EMInstanceStackMap extends EMStackMap implem return new EMInstanceStackMap(getBackingMap()); } - // Remove overflow + //Remove overflow public double removeOverflow(int stacksCount, double stackCapacity) { double massRemoved = 0; @@ -88,30 +90,18 @@ public final class EMInstanceStackMap extends EMStackMap implem return massRemoved; } - // Getters + //Getters public String[] getElementalInfo() { String[] info = new String[size()]; - int i = 0; + int i = 0; for (Map.Entry entry : entrySet()) { EMInstanceStack instance = entry.getValue(); - info[i++] = EnumChatFormatting.BLUE + instance.getDefinition().getLocalizedName() + " " - + EnumChatFormatting.AQUA + instance.getDefinition().getSymbol() + EnumChatFormatting.RESET + " " - + translateToLocal("tt.keyword.short.amount") + ": " + EnumChatFormatting.GREEN - + TT_Utility.formatNumberExp(instance.getAmount() / AVOGADRO_CONSTANT) + " " - + translateToLocal("tt.keyword.unit.mol") + EnumChatFormatting.RESET + " " - + translateToLocal("tt.keyword.short.energy") + ": " + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers( - instance.getDefinition().getEnergyDiffBetweenStates(0, instance.getEnergy())) - + " " + translateToLocal("tt.keyword.unit.energy") + EnumChatFormatting.RESET + " " - + translateToLocal("tt.keyword.short.charge") + ": " + EnumChatFormatting.GREEN - + TT_Utility.formatNumberExp(instance.getCharge()) + " " - + translateToLocal("tt.keyword.unit.charge") + EnumChatFormatting.RESET + " " - + translateToLocal("tt.keyword.short.time") + ": " + EnumChatFormatting.GREEN - + (instance.getLifeTime() < 0 - ? translateToLocal("tt.keyword.stable") - : TT_Utility.formatNumberShortExp(instance.getLifeTime()) + " " - + translateToLocal("tt.keyword.unit.time")) - + EnumChatFormatting.RESET; + info[i++] = EnumChatFormatting.BLUE + instance.getDefinition().getLocalizedName() + " " + EnumChatFormatting.AQUA + instance.getDefinition().getSymbol() + EnumChatFormatting.RESET + + " " + translateToLocal("tt.keyword.short.amount") + ": " + EnumChatFormatting.GREEN + TT_Utility.formatNumberExp(instance.getAmount() / AVOGADRO_CONSTANT) + " " + translateToLocal("tt.keyword.unit.mol") + EnumChatFormatting.RESET + + " " + translateToLocal("tt.keyword.short.energy") + ": " + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(instance.getDefinition().getEnergyDiffBetweenStates(0, instance.getEnergy())) + " " + translateToLocal("tt.keyword.unit.energy") + EnumChatFormatting.RESET + + " " + translateToLocal("tt.keyword.short.charge") + ": " + EnumChatFormatting.GREEN + TT_Utility.formatNumberExp(instance.getCharge()) + " " + translateToLocal("tt.keyword.unit.charge") + EnumChatFormatting.RESET + + " " + translateToLocal("tt.keyword.short.time") + ": " + EnumChatFormatting.GREEN + (instance.getLifeTime() < 0 ? + translateToLocal("tt.keyword.stable") : TT_Utility.formatNumberShortExp(instance.getLifeTime()) + " " + translateToLocal("tt.keyword.unit.time")) + EnumChatFormatting.RESET; } return info; } @@ -125,7 +115,7 @@ public final class EMInstanceStackMap extends EMStackMap implem } public double tickContent(double lifeTimeMult, int postEnergize, double seconds) { - // cleanUp(); + //cleanUp(); double diff = 0; for (EMInstanceStack instance : takeAllToArray()) { instance.setAge(instance.getAge() + seconds); @@ -140,10 +130,9 @@ public final class EMInstanceStackMap extends EMStackMap implem return diff; } - // NBT + //NBT public static EMInstanceStackMap fromNBT(EMDefinitionsRegistry registry, NBTTagCompound nbt) throws EMException { - return new EMInstanceStackMap( - false, unpackNBT(EMInstanceStack.class, inner -> EMInstanceStack.fromNBT(registry, inner), nbt)); + return new EMInstanceStackMap(false, unpackNBT(EMInstanceStack.class, inner -> EMInstanceStack.fromNBT(registry, inner), nbt)); } @Override @@ -156,14 +145,13 @@ public final class EMInstanceStackMap extends EMStackMap implem } public EMInstanceStack[] takeAllToArray() { - EMInstanceStack[] newStack = valuesToArray(); // just in case to uncouple The map + EMInstanceStack[] newStack = valuesToArray();//just in case to uncouple The map clear(); return newStack; } public EMInstanceStackMap takeAll() { - EMInstanceStackMap newStack = - new EMInstanceStackMap(false, new TreeMap<>(getBackingMap())); // just in case to uncouple The map + EMInstanceStackMap newStack = new EMInstanceStackMap(false, new TreeMap<>(getBackingMap()));//just in case to uncouple The map clear(); return newStack; } @@ -171,7 +159,7 @@ public final class EMInstanceStackMap extends EMStackMap implem @Deprecated public EMDefinitionStackMap toDefinitionMapForComparison() { EMDefinitionStack[] list = new EMDefinitionStack[size()]; - int i = 0; + int i = 0; for (Map.Entry entry : entrySet()) { EMInstanceStack value = entry.getValue(); list[i++] = new EMDefinitionStack(value.getDefinition(), value.getAmount()); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMStackMap.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMStackMap.java index f9f4b946b9..84b4123f32 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMStackMap.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMStackMap.java @@ -2,6 +2,7 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.maps; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; + import java.util.Map; import java.util.NavigableMap; import java.util.TreeMap; @@ -17,7 +18,7 @@ abstract class EMStackMap implements IEMMapRead { } protected EMStackMap(NavigableMap map) { - this.backingMap = map; + this.backingMap =map; } @Override @@ -30,7 +31,7 @@ abstract class EMStackMap implements IEMMapRead { @Override public boolean equals(Object obj) { - if (this == obj) { + if(this == obj){ return true; } if (obj instanceof IEMMapRead) { @@ -40,7 +41,7 @@ abstract class EMStackMap implements IEMMapRead { } @Override - public int hashCode() { // Hash only definitions to compare contents not amounts or data + public int hashCode() {//Hash only definitions to compare contents not amounts or data int hash = -(size() << 4); for (Map.Entry entry : entrySet()) { hash += entry.getValue().getDefinition().hashCode(); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapRead.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapRead.java index 47af5e716e..6bd12a849b 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapRead.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapRead.java @@ -1,31 +1,32 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.maps; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.AVOGADRO_CONSTANT; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_EPSILON; -import static com.github.technus.tectech.util.DoubleCount.ulpSigned; -import static com.github.technus.tectech.util.TT_Utility.packNBT; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; import com.github.technus.tectech.util.TT_Utility; -import java.lang.reflect.Array; -import java.util.*; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; +import java.lang.reflect.Array; +import java.util.*; + +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.AVOGADRO_CONSTANT; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_EPSILON; +import static com.github.technus.tectech.util.DoubleCount.ulpSigned; +import static com.github.technus.tectech.util.TT_Utility.packNBT; +import static net.minecraft.util.StatCollector.translateToLocal; + public interface IEMMapRead extends Comparable>, Cloneable { - NavigableMap getBackingMap(); + NavigableMap getBackingMap(); IEMMapRead clone(); - default Set> entrySet() { + default Set> entrySet(){ return getBackingMap().entrySet(); } - default Set keySet() { + default Set keySet(){ return getBackingMap().keySet(); } @@ -37,27 +38,27 @@ public interface IEMMapRead extends Comparable values() { + default Collection values(){ return getBackingMap().values(); } @SuppressWarnings("unchecked") - default T[] valuesToArray() { - return valuesToArray((T[]) Array.newInstance(getType(), size())); + default T[] valuesToArray(){ + return valuesToArray((T[]) Array.newInstance(getType(),size())); } - default T[] valuesToArray(T[] array) { + default T[] valuesToArray(T[] array){ return values().toArray(array); } Class getType(); - // Getters - default T getFirst() { + //Getters + default T getFirst(){ return getBackingMap().firstEntry().getValue(); } - default T getLast() { + default T getLast(){ return getBackingMap().lastEntry().getValue(); } @@ -70,11 +71,11 @@ public interface IEMMapRead extends Comparable= size()) { - throw new IndexOutOfBoundsException("Index was: " + pos + " size was: " + size()); + if(pos<0 || pos>=size()){ + throw new IndexOutOfBoundsException("Index was: "+pos+" size was: "+size()); } for (Map.Entry entry : entrySet()) { - if (pos == 0) { + if(pos==0){ return entry.getValue(); } pos--; @@ -97,36 +98,30 @@ public interface IEMMapRead extends Comparable entry : entrySet()) { T instance = entry.getValue(); - info[i++] = EnumChatFormatting.BLUE + instance.getDefinition().getLocalizedName() + " " - + EnumChatFormatting.AQUA + instance.getDefinition().getSymbol() + EnumChatFormatting.RESET + " " - + translateToLocal("tt.keyword.short.amount") + ": " + EnumChatFormatting.GREEN - + TT_Utility.formatNumberExp(instance.getAmount() / AVOGADRO_CONSTANT) + " " - + translateToLocal("tt.keyword.unit.mol") + EnumChatFormatting.RESET + " " - + translateToLocal("tt.keyword.short.charge") + ": " + EnumChatFormatting.GREEN - + TT_Utility.formatNumberExp(instance.getCharge()) + " " - + translateToLocal("tt.keyword.unit.charge") + EnumChatFormatting.RESET; + info[i++] = EnumChatFormatting.BLUE + instance.getDefinition().getLocalizedName() + " " + EnumChatFormatting.AQUA + instance.getDefinition().getSymbol() + EnumChatFormatting.RESET + + " " + translateToLocal("tt.keyword.short.amount") + ": " + EnumChatFormatting.GREEN + TT_Utility.formatNumberExp(instance.getAmount() / AVOGADRO_CONSTANT) + " " + translateToLocal("tt.keyword.unit.mol") + EnumChatFormatting.RESET + + " " + translateToLocal("tt.keyword.short.charge") + ": " + EnumChatFormatting.GREEN + TT_Utility.formatNumberExp(instance.getCharge()) + " " + translateToLocal("tt.keyword.unit.charge") + EnumChatFormatting.RESET; } return info; } - // NBT + //NBT default NBTTagCompound toNBT(EMDefinitionsRegistry registry) { - return packNBT(t -> t.toNBT(registry), valuesToArray()); + return packNBT(t -> t.toNBT(registry),valuesToArray()); } @Override - default int compareTo(IEMMapRead o) { // this actually compares rest + default int compareTo(IEMMapRead o) {//this actually compares rest int sizeDiff = size() - o.size(); if (sizeDiff != 0) { return sizeDiff; } - Iterator> iterator = entrySet().iterator(); - Iterator> iteratorO = - o.entrySet().iterator(); + Iterator> iterator = entrySet().iterator(); + Iterator> iteratorO = o.entrySet().iterator(); while (iterator.hasNext()) { int result = iterator.next().getValue().compareTo(iteratorO.next().getValue()); @@ -152,18 +147,17 @@ public interface IEMMapRead extends Comparable> iterator = entrySet().iterator(); - Iterator> iteratorO = - o.entrySet().iterator(); + Iterator> iterator = entrySet().iterator(); + Iterator> iteratorO = o.entrySet().iterator(); while (iterator.hasNext()) { - T first = iterator.next().getValue(); + T first = iterator.next().getValue(); IEMStack second = iteratorO.next().getValue(); - int result = first.compareTo(second); + int result = first.compareTo(second); if (result != 0) { return result; } - result = Double.compare(first.getAmount(), second.getAmount()); + result=Double.compare(first.getAmount(),second.getAmount()); if (result != 0) { return result; } @@ -171,23 +165,23 @@ public interface IEMMapRead extends Comparable entry : entrySet()) { - mass += entry.getValue().getMass(); + mass+=entry.getValue().getMass(); } return mass; } - default long getCharge() { - long charge = 0; + default long getCharge(){ + long charge=0; for (Map.Entry entry : entrySet()) { - charge += entry.getValue().getCharge(); + charge+=entry.getValue().getCharge(); } return charge; } - // Tests + //Tests default boolean containsKey(IEMDefinition def) { return getBackingMap().containsKey(def); } @@ -220,12 +214,12 @@ public interface IEMMapRead extends Comparable extends Comparable container) { for (Map.Entry entry : container.entrySet()) { - if (!containsAmountExact(entry.getValue())) { + if(!containsAmountExact(entry.getValue())){ return false; } } @@ -242,20 +236,20 @@ public interface IEMMapRead extends Comparable extends Comparable container) { for (Map.Entry entry : container.entrySet()) { - if (!containsAmount(entry.getValue())) { + if(!containsAmount(entry.getValue())){ return false; } } @@ -279,7 +273,7 @@ public interface IEMMapRead extends Comparable extends IEMMapWriteExact { IEMMapWrite clone(); @@ -17,23 +18,23 @@ public interface IEMMapWrite extends IEMMapWriteExact { * @param amountToConsume should be comparable to {@link EMTransformationRegistry#EM_COUNT_PER_MATERIAL_AMOUNT} * @return consumed successfully */ - default boolean removeAmount(IEMDefinition def, double amountToConsume) { - double amountRequired = amountToConsume - EM_COUNT_EPSILON; - if (amountRequired == amountToConsume) { - amountRequired -= ulpSigned(amountRequired); + default boolean removeAmount(IEMDefinition def, double amountToConsume){ + double amountRequired=amountToConsume- EM_COUNT_EPSILON; + if(amountRequired==amountToConsume){ + amountRequired-=ulpSigned(amountRequired); } - return removeAmount(def, amountToConsume, amountRequired); + return removeAmount(def,amountToConsume,amountRequired); } - default boolean removeAmount(IEMDefinition def, double amountToConsume, double amountRequired) { - T current = get(def); - if (current != null) { - if (current.getAmount() >= amountRequired) { - double newAmount = sub(current.getAmount(), amountToConsume); - if (IEMStack.isValidAmount(newAmount)) { - current = (T) current.mutateAmount(newAmount); + default boolean removeAmount(IEMDefinition def, double amountToConsume, double amountRequired){ + T current=get(def); + if(current!=null){ + if(current.getAmount()>=amountRequired){ + double newAmount=sub(current.getAmount(),amountToConsume); + if(IEMStack.isValidAmount(newAmount)){ + current=(T)current.mutateAmount(newAmount); putReplace(current); - } else { + }else { removeKey(current.getDefinition()); } return true; @@ -43,7 +44,7 @@ public interface IEMMapWrite extends IEMMapWriteExact { } default boolean removeAmount(IEMStack stack) { - return removeAmount(stack.getDefinition(), stack.getAmount()); + return removeAmount(stack.getDefinition(),stack.getAmount()); } default boolean removeAllAmounts(IEMStack... stacks) { @@ -61,7 +62,7 @@ public interface IEMMapWrite extends IEMMapWriteExact { } default boolean removeAllAmounts(IEMMapRead map) { - boolean test = true; + boolean test=true; for (Map.Entry entry : map.entrySet()) { test &= containsAmount(entry.getValue()); } @@ -74,24 +75,24 @@ public interface IEMMapWrite extends IEMMapWriteExact { return true; } - // Put unify + //Put unify /** * * @param stack thing to put * @return new mapping or null if merging actually removed stuff */ default T putUnify(T stack) { - T target = get(stack.getDefinition()); - if (target == null) { + T target=get(stack.getDefinition()); + if(target==null) { putReplace(stack); return stack; } double newAmount = add(target.getAmount(), stack.getAmount()); if (IEMStack.isValidAmount(newAmount)) { - stack = (T) target.mutateAmount(newAmount); + stack=(T) target.mutateAmount(newAmount); putReplace(stack); return stack; - } else { + }else { removeKey(stack.getDefinition()); return null; } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapWriteExact.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapWriteExact.java index 2e12df401f..ef1bc5a4f6 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapWriteExact.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapWriteExact.java @@ -2,10 +2,11 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.maps; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; + import java.util.Map; public interface IEMMapWriteExact extends IEMMapRead { - default void cleanUp() { + default void cleanUp(){ entrySet().removeIf(entry -> entry.getValue().isInvalidAmount()); } @@ -15,30 +16,30 @@ public interface IEMMapWriteExact extends IEMMapRead { IEMMapWriteExact clone(); - // Remove + //Remove default T removeKey(IEMDefinition def) { return getBackingMap().remove(def); } default boolean removeKeys(IEMDefinition... definitions) { - boolean hadAll = true; + boolean hadAll=true; for (IEMDefinition def : definitions) { - hadAll &= removeKey(def) != null; + hadAll&=removeKey(def)!=null; } return hadAll; } default boolean removeKeys(IEMStack... hasElementalDefinition) { - boolean hadAll = true; + boolean hadAll=true; for (IEMStack has : hasElementalDefinition) { - hadAll &= removeKey(has.getDefinition()) != null; + hadAll&=removeKey(has.getDefinition())!=null; } return hadAll; } default boolean removeAllKeys(IEMDefinition... definitions) { - boolean hadAll = containsAllKeys(definitions); - if (hadAll) { + boolean hadAll=containsAllKeys(definitions); + if(hadAll){ for (IEMDefinition def : definitions) { removeKey(def); } @@ -47,8 +48,8 @@ public interface IEMMapWriteExact extends IEMMapRead { } default boolean removeAllKeys(IEMStack... hasElementalDefinition) { - boolean hadAll = containsAllKeys(hasElementalDefinition); - if (hadAll) { + boolean hadAll=containsAllKeys(hasElementalDefinition); + if(hadAll){ for (IEMStack stack : hasElementalDefinition) { removeKey(stack.getDefinition()); } @@ -75,8 +76,8 @@ public interface IEMMapWriteExact extends IEMMapRead { * @param def * @return */ - default boolean removeAmountExact(IEMStack def) { - return removeAmountExact(def.getDefinition(), def.getAmount()); + default boolean removeAmountExact(IEMStack def){ + return removeAmountExact(def.getDefinition(),def.getAmount()); } /** @@ -85,13 +86,13 @@ public interface IEMMapWriteExact extends IEMMapRead { * @param amountToConsume * @return */ - default boolean removeAmountExact(IEMDefinition def, double amountToConsume) { - T current = get(def); - if (current != null) { - double newAmount = current.getAmount() - amountToConsume; - if (newAmount >= 0) { - if (current.isValidAmount()) { - current = (T) current.mutateAmount(newAmount); + default boolean removeAmountExact(IEMDefinition def, double amountToConsume){ + T current=get(def); + if(current!=null){ + double newAmount=current.getAmount()-amountToConsume; + if(newAmount>=0){ + if(current.isValidAmount()){ + current=(T)current.mutateAmount(newAmount); putReplace(current); } else { removeKey(current.getDefinition()); @@ -117,7 +118,7 @@ public interface IEMMapWriteExact extends IEMMapRead { } default boolean removeAllAmountsExact(IEMMapRead map) { - boolean test = true; + boolean test=true; for (Map.Entry entry : map.entrySet()) { test &= containsAmountExact(entry.getValue()); } @@ -131,17 +132,17 @@ public interface IEMMapWriteExact extends IEMMapRead { } default T putUnifyExact(T stack) { - T target = get(stack.getDefinition()); - if (target == null) { + T target=get(stack.getDefinition()); + if(target==null) { putReplace(stack); return stack; } - double newAmount = target.getAmount() + stack.getAmount(); + double newAmount = target.getAmount()+stack.getAmount(); if (IEMStack.isValidAmount(newAmount)) { - stack = (T) target.mutateAmount(newAmount); + stack=(T) target.mutateAmount(newAmount); putReplace(stack); return stack; - } else { + }else { removeKey(stack.getDefinition()); return null; } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipe.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipe.java index d756c3f72f..4b0792eac9 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipe.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipe.java @@ -10,15 +10,15 @@ import net.minecraftforge.fluids.FluidStack; * Created by Tec on 02.03.2017. */ public class EMRecipe implements Comparable> { - private final int ID; - private final EMConstantStackMap inEM; + private final int ID; + private final EMConstantStackMap inEM; private final IEMMapRead outEM; - private final ItemStack[] outItems; + private final ItemStack[] outItems; private final FluidStack[] outFluids; - private T extension; + private T extension; public EMRecipe( - EMConstantStackMap inEM, // not null plz + EMConstantStackMap inEM,//not null plz int id, IEMMapRead outEM, ItemStack[] outItems, @@ -27,7 +27,7 @@ public class EMRecipe implements Comparable> { this.outEM = outEM; this.outItems = outItems; this.outFluids = outFluids; - ID = id; // allows multiple recipes with the same input EM,so u can actually extend... + ID = id;//allows multiple recipes with the same input EM,so u can actually extend... } public EMRecipe extend(T data) { @@ -38,7 +38,7 @@ public class EMRecipe implements Comparable> { @Override public int compareTo(EMRecipe o) { int compare = getInEM().compareTo(o.getInEM()); - if (compare != 0) { + if(compare!=0) { return compare; } return Integer.compare(getID(), o.getID()); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipeMap.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipeMap.java index c3a4b298ff..95a4aaf595 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipeMap.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipeMap.java @@ -4,14 +4,15 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMConstant import com.github.technus.tectech.mechanics.elementalMatter.core.maps.IEMMapRead; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; + import java.util.HashMap; import java.util.Map; /** * Created by Tec on 02.03.2017. */ -public class EMRecipeMap { // TODO FIX - // Multimap for multiple recipes from the same thing - you know parameters might differ the output +public class EMRecipeMap {//TODO FIX + //Multimap for multiple recipes from the same thing - you know parameters might differ the output private final Map>> recipes; public EMRecipeMap() { @@ -20,11 +21,8 @@ public class EMRecipeMap { // TODO FIX public EMRecipe put(EMRecipe in) { Map> r = getRecipes().computeIfAbsent(in.getInEM(), k -> new HashMap<>()); - return r.put( - in.getID(), - in); // IF THIS RETURN SHIT, it means that inputs are using the exact same types of matter as input - - // (non amount wise collision) - // It is either bad, or unimportant if you use different id's + return r.put(in.getID(), in);//IF THIS RETURN SHIT, it means that inputs are using the exact same types of matter as input - (non amount wise collision) + //It is either bad, or unimportant if you use different id's } public void putAll(EMRecipe... contents) { @@ -35,29 +33,24 @@ public class EMRecipeMap { // TODO FIX public EMRecipe remove(IEMMapRead map, int id) { Map> recipesMap = getRecipes().get(map); - return recipesMap != null - ? recipesMap.remove(id) - : null; // todo check, suspicious but ok, equals and hashcode methods are adjusted for that + return recipesMap != null ? recipesMap.remove(id) : null;//todo check, suspicious but ok, equals and hashcode methods are adjusted for that } public Map> remove(IEMMapRead map) { - return getRecipes() - .remove(map); // todo check, suspicious but ok, equals and hashcode methods are adjusted for that + return getRecipes().remove(map);//todo check, suspicious but ok, equals and hashcode methods are adjusted for that } - // Recipe founding should not check amounts - this checks if the types of matter in map are equal to any recipe! - // Return a recipeShortMap when the content of input is equal (ignoring amounts and instance data) + //Recipe founding should not check amounts - this checks if the types of matter in map are equal to any recipe! + //Return a recipeShortMap when the content of input is equal (ignoring amounts and instance data) @Deprecated public Map> findExact(IEMMapRead in) { - return getRecipes().get(in); // suspicious but ok, equals and hashcode methods are adjusted for that + return getRecipes().get(in);//suspicious but ok, equals and hashcode methods are adjusted for that } - // this does check if the map contains all the requirements for any recipe, and the required amounts - // Return a recipeShortMap when the content of input matches the recipe input - does not ignore amounts but ignores - // instance data! + //this does check if the map contains all the requirements for any recipe, and the required amounts + //Return a recipeShortMap when the content of input matches the recipe input - does not ignore amounts but ignores instance data! public Map> findMatch(IEMMapRead in) { - for (Map.Entry>> cElementalDefinitionStackMapHashMapEntry : - getRecipes().entrySet()) { + for (Map.Entry>> cElementalDefinitionStackMapHashMapEntry : getRecipes().entrySet()) { if (in.containsAllAmounts(cElementalDefinitionStackMapHashMapEntry.getKey())) { return cElementalDefinitionStackMapHashMapEntry.getValue(); } @@ -69,5 +62,5 @@ public class EMRecipeMap { // TODO FIX return recipes; } - // To check for instance data and other things use recipe extensions! + //To check for instance data and other things use recipe extensions! } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMDefinitionStack.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMDefinitionStack.java index 2757b6f23d..2abee4c36e 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMDefinitionStack.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMDefinitionStack.java @@ -1,17 +1,17 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.stacks; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.null__; - import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import net.minecraft.nbt.NBTTagCompound; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.null__; + /** * Created by danie_000 on 20.11.2016. */ public final class EMDefinitionStack implements IEMStack { private final IEMDefinition definition; - private final double amount; + private final double amount; public EMDefinitionStack(IEMDefinition def, double amount) { definition = def == null ? null__ : def; @@ -20,20 +20,20 @@ public final class EMDefinitionStack implements IEMStack { @Override public EMDefinitionStack clone() { - return this; // IMMUTABLE + return this;//IMMUTABLE } @Override public EMDefinitionStack mutateAmount(double newAmount) { - if (getAmount() == newAmount) { + if(getAmount() == newAmount){ return this; } - return new EMDefinitionStack(getDefinition(), newAmount); // IMMUTABLE + return new EMDefinitionStack(getDefinition(), newAmount);//IMMUTABLE } @Override public IEMDefinition getDefinition() { - return definition; // IMMUTABLE + return definition;//IMMUTABLE } @Override @@ -48,8 +48,10 @@ public final class EMDefinitionStack implements IEMStack { return nbt; } - public static EMDefinitionStack fromNBT(EMDefinitionsRegistry registry, NBTTagCompound nbt) { - return new EMDefinitionStack(registry.fromNBT(nbt.getCompoundTag("d")), nbt.getLong("q") + nbt.getDouble("Q")); + public static EMDefinitionStack fromNBT(EMDefinitionsRegistry registry,NBTTagCompound nbt) { + return new EMDefinitionStack( + registry.fromNBT(nbt.getCompoundTag("d")), + nbt.getLong("q")+nbt.getDouble("Q")); } @Override @@ -63,7 +65,7 @@ public final class EMDefinitionStack implements IEMStack { return false; } - // Amount shouldn't be hashed if this is just indicating amount and not structure + //Amount shouldn't be hashed if this is just indicating amount and not structure @Override public int hashCode() { return getDefinition().hashCode(); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMInstanceStack.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMInstanceStack.java index 09cfd180fe..0dbd56609e 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMInstanceStack.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMInstanceStack.java @@ -1,15 +1,5 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.stacks; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.AVOGADRO_CONSTANT; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.null__; -import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_scanner.*; -import static com.github.technus.tectech.util.DoubleCount.*; -import static java.lang.Math.max; -import static java.lang.Math.min; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecayResult; @@ -18,26 +8,37 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.reg import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMConstantStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.util.TT_Utility; -import java.util.ArrayList; import net.minecraft.client.Minecraft; import net.minecraft.crash.CrashReport; import net.minecraft.nbt.NBTTagCompound; +import java.util.ArrayList; + +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.AVOGADRO_CONSTANT; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.null__; +import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_scanner.*; +import static com.github.technus.tectech.util.DoubleCount.*; +import static java.lang.Math.max; +import static java.lang.Math.min; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 22.10.2016. */ public final class EMInstanceStack implements IEMStack { public static int MIN_MULTIPLE_DECAY_CALLS = 4, MAX_MULTIPLE_DECAY_CALLS = 16; - public static double DECAY_CALL_PER = EM_COUNT_PER_MATERIAL_AMOUNT; // todo + public static double DECAY_CALL_PER = EM_COUNT_PER_MATERIAL_AMOUNT;//todo private final IEMDefinition definition; - private double amount; + private double amount; private double age; - // energy - if positive then particle should try to decay - private long energy; - // byte color; 0=Red 1=Green 2=Blue 0=Cyan 1=Magenta 2=Yellow, else ignored (-1 - uncolorable) - private int color; + //energy - if positive then particle should try to decay + private long energy; + //byte color; 0=Red 1=Green 2=Blue 0=Cyan 1=Magenta 2=Yellow, else ignored (-1 - uncolorable) + private int color; private double lifeTime; private double lifeTimeMult; @@ -57,7 +58,7 @@ public final class EMInstanceStack implements IEMStack { definition = defSafe == null ? null__ : defSafe; if (getDefinition().hasColor()) { this.color = (byte) TecTech.RANDOM.nextInt(getDefinition().getMaxColors()); - } else { // transforms colorable??? into proper color + } else {//transforms colorable??? into proper color this.color = getDefinition().getMaxColors(); } this.lifeTimeMult = lifeTimeMult; @@ -67,7 +68,7 @@ public final class EMInstanceStack implements IEMStack { this.setAmount(amount); } - // Clone proxy + //Clone proxy private EMInstanceStack(EMInstanceStack stack) { definition = stack.getDefinition(); color = stack.color; @@ -124,14 +125,14 @@ public final class EMInstanceStack implements IEMStack { return color; } - public void setColor(int color) { // does not allow changing magic element + public void setColor(int color) {//does not allow changing magic element if (this.color < 0 || this.color > 2 || color < 0 || color >= 3) { return; } this.color = color; } - public void nextColor() { // does not allow changing magic element + public void nextColor() {//does not allow changing magic element if (definition.hasColor()) { color = (byte) TecTech.RANDOM.nextInt(definition.getMaxColors()); } @@ -142,7 +143,7 @@ public final class EMInstanceStack implements IEMStack { } public void setLifeTimeMultiplier(double mult) { - if (mult <= 0) // since infinity*0=nan + if (mult <= 0) //since infinity*0=nan { throw new IllegalArgumentException("multiplier must be >0"); } @@ -175,7 +176,7 @@ public final class EMInstanceStack implements IEMStack { } public EMDecayResult decay() { - return decay(1D, getAge(), 0); // try to decay without changes + return decay(1D, getAge(), 0);//try to decay without changes } public EMDecayResult decay(double apparentAge, long postEnergize) { @@ -192,8 +193,7 @@ public final class EMInstanceStack implements IEMStack { EMDecayResult output; if (getDefinition().usesMultipleDecayCalls(energy)) { double amountTemp = getAmount(); - int decayCnt = - (int) min(MAX_MULTIPLE_DECAY_CALLS, max(getAmount() / DECAY_CALL_PER, MIN_MULTIPLE_DECAY_CALLS)); + int decayCnt = (int) min(MAX_MULTIPLE_DECAY_CALLS, max(getAmount() / DECAY_CALL_PER, MIN_MULTIPLE_DECAY_CALLS)); setAmount(div(getAmount(), decayCnt)); decayCnt--; @@ -226,43 +226,24 @@ public final class EMInstanceStack implements IEMStack { setLifeTimeMultiplier(getLifeTimeMultiplier()); return decayCompute(getDefinition().getEnergyInducedDecay(energy), lifeTimeMult, -1D, newEnergyLevel); } else if (getDefinition().getRawTimeSpan(energy) < 0) { - return null; // return null, decay cannot be achieved + return null;//return null, decay cannot be achieved } else if (getDefinition().isTimeSpanHalfLife()) { - return exponentialDecayCompute( - energy > 0 - ? getDefinition().getEnergyInducedDecay(energy) - : getDefinition().getDecayArray(), - lifeTimeMult, - -1D, - newEnergyLevel); + return exponentialDecayCompute(energy > 0 ? getDefinition().getEnergyInducedDecay(energy) : getDefinition().getDecayArray(), lifeTimeMult, -1D, newEnergyLevel); } else { if (1 > lifeTime) { - return decayCompute( - energy > 0 - ? getDefinition().getEnergyInducedDecay(energy) - : getDefinition().getNaturalDecayInstant(), - lifeTimeMult, - 0D, - newEnergyLevel); + return decayCompute(energy > 0 ? getDefinition().getEnergyInducedDecay(energy) : getDefinition().getNaturalDecayInstant(), lifeTimeMult, 0D, newEnergyLevel); } else if (apparentAge > lifeTime) { - return decayCompute( - energy > 0 - ? getDefinition().getEnergyInducedDecay(energy) - : getDefinition().getDecayArray(), - lifeTimeMult, - 0D, - newEnergyLevel); + return decayCompute(energy > 0 ? getDefinition().getEnergyInducedDecay(energy) : getDefinition().getDecayArray(), lifeTimeMult, 0D, newEnergyLevel); } } - return null; // return null since decay cannot be achieved + return null;//return null since decay cannot be achieved } - // Use to get direct decay output providing correct decay array - private EMDecayResult exponentialDecayCompute( - EMDecay[] decays, double lifeTimeMult, double newProductsAge, long newEnergyLevel) { - double newAmount = div(getAmount(), Math.pow(2D, 1D /* 1 second */ / lifeTime)); + //Use to get direct decay output providing correct decay array + private EMDecayResult exponentialDecayCompute(EMDecay[] decays, double lifeTimeMult, double newProductsAge, long newEnergyLevel) { + double newAmount = div(getAmount(), Math.pow(2D, 1D/* 1 second */ / lifeTime)); - // if(definition.getSymbol().startsWith("U ")) { + //if(definition.getSymbol().startsWith("U ")) { // System.out.println("newAmount = " + newAmount); // System.out.println("amountRemaining = " + amountRemaining); // for(cElementalDecay decay:decays){ @@ -271,14 +252,14 @@ public final class EMInstanceStack implements IEMStack { // System.out.println("stack = " + stack.getDefinition().getSymbol() + " " + stack.amount); // } // } - // } + //} if (newAmount == getAmount()) { newAmount -= ulpSigned(newAmount); } else if (newAmount < 1) { return decayCompute(decays, lifeTimeMult, newProductsAge, newEnergyLevel); } - // split to non decaying and decaying part + //split to non decaying and decaying part double amount = this.getAmount(); this.setAmount(this.getAmount() - newAmount); EMDecayResult products = decayCompute(decays, lifeTimeMult, newProductsAge, newEnergyLevel); @@ -290,25 +271,19 @@ public final class EMInstanceStack implements IEMStack { return products; } - // Use to get direct decay output providing correct decay array - private EMDecayResult decayCompute( - EMDecay[] decays, double lifeTimeMult, double newProductsAge, long newEnergyLevel) { + //Use to get direct decay output providing correct decay array + private EMDecayResult decayCompute(EMDecay[] decays, double lifeTimeMult, double newProductsAge, long newEnergyLevel) { if (decays == null) { - return null; // Can not decay so it won't + return null;//Can not decay so it won't } boolean makesEnergy = getDefinition().decayMakesEnergy(energy); - double mass = getMass(); + double mass = getMass(); if (decays.length == 0) { return makesEnergy ? null : new EMDecayResult(new EMInstanceStackMap(), mass, 0); - // provide non null 0 length array for annihilation - } else if (decays.length == 1) { // only one type of decay :D, doesn't need dead end + //provide non null 0 length array for annihilation + } else if (decays.length == 1) {//only one type of decay :D, doesn't need dead end if (decays[0] == deadEnd) { - return makesEnergy - ? null - : new EMDecayResult( - decays[0].getResults(lifeTimeMult, newProductsAge, newEnergyLevel, getAmount()), - mass, - 0); + return makesEnergy ? null : new EMDecayResult(decays[0].getResults(lifeTimeMult, newProductsAge, newEnergyLevel, getAmount()), mass, 0); } EMInstanceStackMap output = decays[0].getResults(lifeTimeMult, newProductsAge, newEnergyLevel, getAmount()); if (newProductsAge < 0) { @@ -330,14 +305,14 @@ public final class EMInstanceStack implements IEMStack { } } if (energy <= 0 && output.getMass() > mass) { - return null; // no energy usage to decay + return null;//no energy usage to decay } return new EMDecayResult(new EMInstanceStackMap(), mass, makesEnergy ? output.getMass() - mass : 0); } else { - EMDecayResult totalOutput = new EMDecayResult(new EMInstanceStackMap(), getMass(), 0); - EMInstanceStackMap output = totalOutput.getOutput(), results; - int differentDecays = decays.length; - double[] probabilities = new double[differentDecays]; + EMDecayResult totalOutput = new EMDecayResult(new EMInstanceStackMap(), getMass(), 0); + EMInstanceStackMap output = totalOutput.getOutput(), results; + int differentDecays = decays.length; + double[] probabilities = new double[differentDecays]; for (int i = 0; i < probabilities.length; i++) { probabilities[i] = decays[i].getProbability(); } @@ -348,10 +323,10 @@ public final class EMInstanceStack implements IEMStack { Minecraft.getMinecraft().crashed(new CrashReport("Decay failed for: " + this, e)); return null; } - // long amountRemaining = this.amount, amount = this.amount; - // float remainingProbability = 1D; - // - // for (int i = 0; i < differentDecays; i++) { + //long amountRemaining = this.amount, amount = this.amount; + //float remainingProbability = 1D; +// + //for (int i = 0; i < differentDecays; i++) { // if (decays[i].probability >= 1D) { // long thisDecayAmount = (long) Math.floor(remainingProbability * (double) amount); // if (thisDecayAmount > 0) { @@ -380,9 +355,9 @@ public final class EMInstanceStack implements IEMStack { // if(remainingProbability<=0) { // break; // } - // } + //} - // for (int i = 0; i < amountRemaining; i++) { + //for (int i = 0; i < amountRemaining; i++) { // double rand = TecTech.RANDOM.nextDouble(); // for (int j = 0; j < differentDecays; j++) {//looking for the thing it decayed into // rand -= decays[j].probability; @@ -391,7 +366,7 @@ public final class EMInstanceStack implements IEMStack { // break; // } // } - // } + //} if (getDefinition().decayMakesEnergy(energy)) { for (int i = differentDecays - 1; i >= 0; i--) { @@ -430,7 +405,7 @@ public final class EMInstanceStack implements IEMStack { } } if (energy <= 0 && output.getMass() > getMass()) { - return null; // no energy usage to decay + return null;//no energy usage to decay } return totalOutput; } @@ -440,20 +415,20 @@ public final class EMInstanceStack implements IEMStack { if (instances == null) { return this; } - // returns with the definition from the first object passed + //returns with the definition from the first object passed double energyTotal = getEnergySettingCost(0, energy); - long maxEnergy = energy; - long minEnergy = energy; + long maxEnergy = energy; + long minEnergy = energy; for (EMInstanceStack instance : instances) { - // if (instance != null && compareTo(instance) == 0) { + //if (instance != null && compareTo(instance) == 0) { setAmount(add(getAmount(), instance.getAmount())); energyTotal += instance.getEnergySettingCost(0, instance.energy); maxEnergy = max(instance.energy, maxEnergy); minEnergy = min(instance.energy, maxEnergy); lifeTimeMult = min(lifeTimeMult, instance.lifeTimeMult); setAge(max(getAge(), instance.getAge())); - // } + //} } if (energyTotal >= 0) { @@ -478,20 +453,20 @@ public final class EMInstanceStack implements IEMStack { if (instances == null) { return this; } - // returns with the definition from the first object passed + //returns with the definition from the first object passed double energyTotal = getEnergySettingCost(0, energy); - long maxEnergy = energy; - long minEnergy = energy; + long maxEnergy = energy; + long minEnergy = energy; for (EMInstanceStack instance : instances) { - // if (instance != null && compareTo(instance) == 0) { + //if (instance != null && compareTo(instance) == 0) { setAmount(getAmount() + instance.getAmount()); energyTotal += instance.getEnergySettingCost(0, instance.energy); maxEnergy = max(instance.energy, maxEnergy); minEnergy = min(instance.energy, maxEnergy); lifeTimeMult = min(lifeTimeMult, instance.lifeTimeMult); setAge(max(getAge(), instance.getAge())); - // } + //} } if (energyTotal >= 0) { @@ -523,40 +498,35 @@ public final class EMInstanceStack implements IEMStack { lines.add(translateToLocal("tt.keyword.scan.life_mult") + " = " + lifeTimeMult); } if (TT_Utility.areBitsSet(SCAN_GET_AGE, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.age") + " = " + getAge() + " " - + translateToLocal("tt.keyword.unit.time")); + lines.add(translateToLocal("tt.keyword.scan.age") + " = " + getAge() + " " + translateToLocal("tt.keyword.unit.time")); } if (TT_Utility.areBitsSet(SCAN_GET_COLOR_VALUE, capabilities)) { lines.add(translateToLocal("tt.keyword.scan.color") + " = " + color); } if (TT_Utility.areBitsSet(SCAN_GET_ENERGY, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.energy") + " = " - + getDefinition().getEnergyDiffBetweenStates(0, energy) + " " - + translateToLocal("tt.keyword.unit.energy")); + lines.add(translateToLocal("tt.keyword.scan.energy") + " = " + getDefinition().getEnergyDiffBetweenStates(0, energy) + " " + translateToLocal("tt.keyword.unit.energy")); } if (TT_Utility.areBitsSet(SCAN_GET_ENERGY_LEVEL, capabilities)) { lines.add(translateToLocal("tt.keyword.scan.energyLevel") + " = " + energy); } if (TT_Utility.areBitsSet(SCAN_GET_AMOUNT, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.amount") + " = " + getAmount() / AVOGADRO_CONSTANT + " " - + translateToLocal("tt.keyword.unit.mol")); + lines.add(translateToLocal("tt.keyword.scan.amount") + " = " + getAmount() / AVOGADRO_CONSTANT + " " + translateToLocal("tt.keyword.unit.mol")); } scanContents(lines, getDefinition().getSubParticles(), 1, detailsOnDepthLevels); } - private void scanContents( - ArrayList lines, EMConstantStackMap definitions, int depth, int[] detailsOnDepthLevels) { + private void scanContents(ArrayList lines, EMConstantStackMap definitions, int depth, int[] detailsOnDepthLevels) { if (definitions != null && depth < detailsOnDepthLevels.length) { int deeper = depth + 1; for (EMDefinitionStack definitionStack : definitions.valuesToArray()) { - lines.add(""); // def separator + lines.add("");//def separator if (TT_Utility.areBitsSet(SCAN_GET_DEPTH_LEVEL, detailsOnDepthLevels[depth])) { - lines.add(translateToLocal("tt.keyword.scan.depth") + " = " + depth); + lines.add(translateToLocal("tt.keyword.scan.depth") +" = " + depth); } getDefinition().addScanResults(lines, detailsOnDepthLevels[depth], energy, TecTech.definitionsRegistry); if (TT_Utility.areBitsSet(SCAN_GET_AMOUNT, detailsOnDepthLevels[depth])) { - lines.add(translateToLocal("tt.keyword.scan.count") + " = " + definitionStack.getAmount()); + lines.add(translateToLocal("tt.keyword.scan.count")+" = " + definitionStack.getAmount()); } scanContents(lines, definitionStack.getDefinition().getSubParticles(), deeper, detailsOnDepthLevels); } @@ -596,8 +566,7 @@ public final class EMInstanceStack implements IEMStack { return false; } - // Amount shouldn't be hashed if this is just indicating amount and not structure, DOES NOT CARE ABOUT - // creativeTabTecTech INFO + //Amount shouldn't be hashed if this is just indicating amount and not structure, DOES NOT CARE ABOUT creativeTabTecTech INFO @Override public int hashCode() { return getDefinition().hashCode(); @@ -605,9 +574,7 @@ public final class EMInstanceStack implements IEMStack { @Override public String toString() { - return getDefinition().toString() + ' ' + getAmount() / AVOGADRO_CONSTANT + " " - + translateToLocal("tt.keyword.unit.mol") + " " + getMass() + " " - + translateToLocal("tt.keyword.unit.mass"); + return getDefinition().toString() + ' ' + getAmount() / AVOGADRO_CONSTANT + " " + translateToLocal("tt.keyword.unit.mol") + " " + getMass() + " "+translateToLocal("tt.keyword.unit.mass"); } public void setAmount(double amount) { diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/IEMStack.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/IEMStack.java index b3b439408d..e5cfab9752 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/IEMStack.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/IEMStack.java @@ -1,11 +1,11 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.stacks; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_MINIMUM; - import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import net.minecraft.nbt.NBTTagCompound; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_MINIMUM; + /** * Created by danie_000 on 30.01.2017. */ @@ -17,7 +17,6 @@ public interface IEMStack extends Comparable, Cloneable { static boolean isInvalidAmount(double amount) { return amount < EM_COUNT_MINIMUM; } - default boolean isValidAmount() { return isValidAmount(getAmount()); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMDequantizationInfo.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMDequantizationInfo.java index cbc9f9801d..855be96797 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMDequantizationInfo.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMDequantizationInfo.java @@ -6,7 +6,7 @@ import net.minecraftforge.fluids.FluidStack; public class EMDequantizationInfo { private final IEMStack definition; - private Object stack; + private Object stack; public EMDequantizationInfo(IEMStack definition) { this.definition = definition; diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMFluidQuantizationInfo.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMFluidQuantizationInfo.java index 3dabb8334a..cf0cc6218c 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMFluidQuantizationInfo.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMFluidQuantizationInfo.java @@ -9,16 +9,16 @@ import net.minecraftforge.fluids.FluidStack; */ public class EMFluidQuantizationInfo { private final FluidStack in; - private final IEMStack out; + private final IEMStack out; - public EMFluidQuantizationInfo(FluidStack fluidStackIn, IEMStack emOut) { - in = fluidStackIn; - out = emOut; + public EMFluidQuantizationInfo(FluidStack fluidStackIn, IEMStack emOut){ + in=fluidStackIn; + out=emOut; } - public EMFluidQuantizationInfo(Fluid fluid, int fluidAmount, IEMStack emOut) { - in = new FluidStack(fluid, fluidAmount); - out = emOut; + public EMFluidQuantizationInfo(Fluid fluid, int fluidAmount, IEMStack emOut){ + in=new FluidStack(fluid,fluidAmount); + out=emOut; } public FluidStack input() { diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMItemQuantizationInfo.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMItemQuantizationInfo.java index 279a00af16..c5db63b3ad 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMItemQuantizationInfo.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMItemQuantizationInfo.java @@ -13,8 +13,8 @@ import net.minecraftforge.oredict.OreDictionary; */ public class EMItemQuantizationInfo { private final ItemStack in; - private final boolean skipNBT; - private final IEMStack out; + private final boolean skipNBT; + private final IEMStack out; public EMItemQuantizationInfo(ItemStack itemStackIn, boolean skipNBT, IEMStack emOut) { in = itemStackIn; @@ -38,27 +38,24 @@ public class EMItemQuantizationInfo { @Override public int hashCode() { - return (GameRegistry.findUniqueIdentifierFor(in.getItem()) + ":" + in.getUnlocalizedName() + ':' - + in.getItemDamage()) - .hashCode(); + return (GameRegistry.findUniqueIdentifierFor(in.getItem())+":"+in.getUnlocalizedName()+ ':' +in.getItemDamage()).hashCode(); } @Override public boolean equals(Object obj) { - if (obj instanceof EMItemQuantizationInfo) { - // alias - ItemStack stack = ((EMItemQuantizationInfo) obj).in; - if (!in.getUnlocalizedName().equals(((EMItemQuantizationInfo) obj).in.getUnlocalizedName())) { + if(obj instanceof EMItemQuantizationInfo){ + //alias + ItemStack stack=((EMItemQuantizationInfo) obj).in; + if(!in.getUnlocalizedName().equals(((EMItemQuantizationInfo) obj).in.getUnlocalizedName())) { return false; } - if (!GameRegistry.findUniqueIdentifierFor(in.getItem()) - .equals(GameRegistry.findUniqueIdentifierFor(((EMItemQuantizationInfo) obj).in.getItem()))) { + if(!GameRegistry.findUniqueIdentifierFor(in.getItem()).equals( + GameRegistry.findUniqueIdentifierFor(((EMItemQuantizationInfo) obj).in.getItem()))) { return false; } - if (in.getItemDamage() != OreDictionary.WILDCARD_VALUE - && stack.getItemDamage() != OreDictionary.WILDCARD_VALUE) { + if(in.getItemDamage() != OreDictionary.WILDCARD_VALUE && stack.getItemDamage() != OreDictionary.WILDCARD_VALUE) { if (in.getItemDamage() != stack.getItemDamage()) { return false; } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMOredictQuantizationInfo.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMOredictQuantizationInfo.java index b8af4bafc1..3c54dd86ac 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMOredictQuantizationInfo.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMOredictQuantizationInfo.java @@ -9,8 +9,8 @@ import net.minecraftforge.oredict.OreDictionary; * Created by Tec on 23.05.2017. */ public class EMOredictQuantizationInfo { - private final int id; - private final int amount; + private final int id; + private final int amount; private final IEMStack out; public EMOredictQuantizationInfo(int id, int amount, IEMStack out) { @@ -20,15 +20,15 @@ public class EMOredictQuantizationInfo { } public EMOredictQuantizationInfo(String name, int qty, IEMStack emOut) { - this(OreDictionary.getOreID(name), qty, emOut); + this(OreDictionary.getOreID(name),qty,emOut); } public EMOredictQuantizationInfo(OrePrefixes prefix, Materials material, int qty, IEMStack emOut) { - this(prefix, material.mName, qty, emOut); + this(prefix, material.mName, qty,emOut); } public EMOredictQuantizationInfo(OrePrefixes prefix, String materialName, int qty, IEMStack emOut) { - this(OreDictionary.getOreID(prefix.name() + materialName), qty, emOut); + this(OreDictionary.getOreID(prefix.name() + materialName),qty,emOut); } public IEMStack getOut() { diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMTransformationRegistry.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMTransformationRegistry.java index 98f72ea53a..5e41beb9fd 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMTransformationRegistry.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMTransformationRegistry.java @@ -1,20 +1,21 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.transformations; -import static java.lang.Math.pow; - import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_OreDictUnificator; -import java.util.HashMap; -import java.util.Map; -import java.util.function.Function; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; +import java.util.HashMap; +import java.util.Map; +import java.util.function.Function; + +import static java.lang.Math.pow; + /** * Created by Tec on 26.05.2017. */ @@ -22,15 +23,14 @@ public class EMTransformationRegistry { /** * Atom count per Mol */ - public static final double AVOGADRO_CONSTANT = 6.02214076e23D; + public static final double AVOGADRO_CONSTANT = 6.02214076e23D; /** * Scale to 1m^3 of C-12 */ - public static final double EM_COUNT_PER_CUBE = AVOGADRO_CONSTANT * 1650_000D / 0.012; - + public static final double EM_COUNT_PER_CUBE = AVOGADRO_CONSTANT * 1650_000D / 0.012; public static final double EM_COUNT_PER_MATERIAL_AMOUNT = EM_COUNT_PER_CUBE / 144 / 9; - public static final double EM_COUNT_PER_ITEM = EM_COUNT_PER_CUBE * 9; - public static final double EM_COUNT_PER_1k = EM_COUNT_PER_MATERIAL_AMOUNT * 1000; + public static final double EM_COUNT_PER_ITEM = EM_COUNT_PER_CUBE * 9; + public static final double EM_COUNT_PER_1k = EM_COUNT_PER_MATERIAL_AMOUNT * 1000; public static final double EM_COUNT_MINIMUM = 1 / EM_COUNT_PER_CUBE; /** @@ -38,15 +38,14 @@ public class EMTransformationRegistry { */ public static final double EM_COUNT_EPSILON = EM_COUNT_PER_CUBE / pow(2, 40); - public static final double EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED = - EM_COUNT_PER_MATERIAL_AMOUNT - EM_COUNT_EPSILON; - public static final double EM_COUNT_PER_CUBE_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * 144 * 9; - public static final double EM_COUNT_PER_ITEM_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * 144; - public static final double EM_COUNT_PER_1k_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * 1000; + public static final double EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT - EM_COUNT_EPSILON; + public static final double EM_COUNT_PER_CUBE_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * 144 * 9; + public static final double EM_COUNT_PER_ITEM_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * 144; + public static final double EM_COUNT_PER_1k_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * 1000; - private final Map fluidQuantization; + private final Map fluidQuantization; private final Map itemQuantization; - private final Map oredictQuantization; + private final Map oredictQuantization; private final Map infoMap; private final Function creator; @@ -56,15 +55,17 @@ public class EMTransformationRegistry { } public EMTransformationRegistry(Function creator) { - this(creator, new HashMap<>(16), new HashMap<>(16), new HashMap<>(64), new HashMap<>(256)); + this(creator, + new HashMap<>(16), new HashMap<>(16), new HashMap<>(64), + new HashMap<>(256) + ); } - public EMTransformationRegistry( - Function creator, - Map fluidQuantization, - Map itemQuantization, - Map oredictQuantization, - Map infoMap) { + public EMTransformationRegistry(Function creator, + Map fluidQuantization, + Map itemQuantization, + Map oredictQuantization, + Map infoMap) { this.creator = creator; this.fluidQuantization = fluidQuantization; this.itemQuantization = itemQuantization; diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMAtomDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMAtomDefinition.java index 79e0d5167c..03c57a754e 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMAtomDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMAtomDefinition.java @@ -1,15 +1,5 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.complex; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.boson_Y__; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; -import static com.github.technus.tectech.util.XSTR.XSTR_INSTANCE; -import static gregtech.api.enums.Materials.*; -import static gregtech.api.enums.OrePrefixes.dust; -import static java.lang.Math.abs; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; @@ -26,170 +16,40 @@ import com.github.technus.tectech.mechanics.elementalMatter.definitions.primitiv import com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMNeutrinoDefinition; import com.github.technus.tectech.util.TT_Utility; import com.github.technus.tectech.util.XSTR; + import java.util.*; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.boson_Y__; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; +import static com.github.technus.tectech.util.XSTR.XSTR_INSTANCE; +import static gregtech.api.enums.Materials.*; +import static gregtech.api.enums.OrePrefixes.dust; +import static java.lang.Math.abs; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 18.11.2016. */ public class EMAtomDefinition extends EMComplexTemplate { - private static final String[] SYMBOL = new String[] { - "Nt", "H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne", "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", - "Ca", "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", - "Y", "Zr", "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", - "Ce", "Pr", "Nd", "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu", "Hf", "Ta", "W", "Re", "Os", - "Ir", "Pt", "Au", "Hg", "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", "Pa", "U", "Np", "Pu", "Am", - "Cm", "Bk", "Cf", "Es", "Fm", "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg", "Cn", "Nh", - "Fl", "Mc", "Lv", "Ts", "Og" - }; - private static final String[] NAME = new String[] { - "Neutronium", - "Hydrogen", - "Helium", - "Lithium", - "Beryllium", - "Boron", - "Carbon", - "Nitrogen", - "Oxygen", - "Fluorine", - "Neon", - "Sodium", - "Magnesium", - "Aluminium", - "Silicon", - "Phosphorus", - "Sulfur", - "Chlorine", - "Argon", - "Potassium", - "Calcium", - "Scandium", - "Titanium", - "Vanadium", - "Chromium", - "Manganese", - "Iron", - "Cobalt", - "Nickel", - "Copper", - "Zinc", - "Gallium", - "Germanium", - "Arsenic", - "Selenium", - "Bromine", - "Krypton", - "Rubidium", - "Strontium", - "Yttrium", - "Zirconium", - "Niobium", - "Molybdenum", - "Technetium", - "Ruthenium", - "Rhodium", - "Palladium", - "Silver", - "Cadmium", - "Indium", - "Tin", - "Antimony", - "Tellurium", - "Iodine", - "Xenon", - "Caesium", - "Barium", - "Lanthanum", - "Cerium", - "Praseodymium", - "Neodymium", - "Promethium", - "Samarium", - "Europium", - "Gadolinium", - "Terbium", - "Dysprosium", - "Holmium", - "Erbium", - "Thulium", - "Ytterbium", - "Lutetium", - "Hafnium", - "Tantalum", - "Tungsten", - "Rhenium", - "Osmium", - "Iridium", - "Platinum", - "Gold", - "Mercury", - "Thallium", - "Lead", - "Bismuth", - "Polonium", - "Astatine", - "Radon", - "Francium", - "Radium", - "Actinium", - "Thorium", - "Protactinium", - "Uranium", - "Neptunium", - "Plutonium", - "Americium", - "Curium", - "Berkelium", - "Californium", - "Einsteinium", - "Fermium", - "Mendelevium", - "Nobelium", - "Lawrencium", - "Rutherfordium", - "Dubnium", - "Seaborgium", - "Bohrium", - "Hassium", - "Meitnerium", - "Darmstadtium", - "Roentgenium", - "Copernicium", - "Nihonium", - "Flerovium", - "Moscovium", - "Livermorium", - "Tennessine", - "Oganesson" - }; - private static final String[] SYMBOL_IUPAC = new String[] { - "n", "u", "b", "t", "q", "p", "h", "s", "o", "e", "N", "U", "B", "T", "Q", "P", "H", "S", "O", "E" - }; - - public static final long ATOM_COMPLEXITY_LIMIT = 65536L; - private static final byte BYTE_OFFSET = 32; - - private final int hash; + private static final String[] SYMBOL = new String[]{"Nt", "H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne", "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", "Ca", "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y", "Zr", "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Nd", "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu", "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg", "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg", "Cn", "Nh", "Fl", "Mc", "Lv", "Ts", "Og"}; + private static final String[] NAME = new String[]{"Neutronium", "Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", "Nitrogen", "Oxygen", "Fluorine", "Neon", "Sodium", "Magnesium", "Aluminium", "Silicon", "Phosphorus", "Sulfur", "Chlorine", "Argon", "Potassium", "Calcium", "Scandium", "Titanium", "Vanadium", "Chromium", "Manganese", "Iron", "Cobalt", "Nickel", "Copper", "Zinc", "Gallium", "Germanium", "Arsenic", "Selenium", "Bromine", "Krypton", "Rubidium", "Strontium", "Yttrium", "Zirconium", "Niobium", "Molybdenum", "Technetium", "Ruthenium", "Rhodium", "Palladium", "Silver", "Cadmium", "Indium", "Tin", "Antimony", "Tellurium", "Iodine", "Xenon", "Caesium", "Barium", "Lanthanum", "Cerium", "Praseodymium", "Neodymium", "Promethium", "Samarium", "Europium", "Gadolinium", "Terbium", "Dysprosium", "Holmium", "Erbium", "Thulium", "Ytterbium", "Lutetium", "Hafnium", "Tantalum", "Tungsten", "Rhenium", "Osmium", "Iridium", "Platinum", "Gold", "Mercury", "Thallium", "Lead", "Bismuth", "Polonium", "Astatine", "Radon", "Francium", "Radium", "Actinium", "Thorium", "Protactinium", "Uranium", "Neptunium", "Plutonium", "Americium", "Curium", "Berkelium", "Californium", "Einsteinium", "Fermium", "Mendelevium", "Nobelium", "Lawrencium", "Rutherfordium", "Dubnium", "Seaborgium", "Bohrium", "Hassium", "Meitnerium", "Darmstadtium", "Roentgenium", "Copernicium", "Nihonium", "Flerovium", "Moscovium", "Livermorium", "Tennessine", "Oganesson"}; + private static final String[] SYMBOL_IUPAC = new String[]{"n", "u", "b", "t", "q", "p", "h", "s", "o", "e", "N", "U", "B", "T", "Q", "P", "H", "S", "O", "E"}; + + public static final long ATOM_COMPLEXITY_LIMIT = 65536L; + private static final byte BYTE_OFFSET = 32; + + private final int hash; public static double refMass, refUnstableMass; - private static final String nbtType = "a"; - private static final Random xstr = new XSTR(); // NEEDS SEPARATE! - private static Map> stableIsotopes = new HashMap<>(); - private static final Map stableAtoms = new HashMap<>(); - private static Map> mostStableUnstableIsotopes = new HashMap<>(); - private static final Map unstableAtoms = new HashMap<>(); - private static EMDefinitionStack alpha, - deuterium, - tritium, - helium_3, - beryllium_8, - carbon_14, - neon_24, - silicon_34, - uranium_238, - uranium_235, - plutonium_239, - plutonium_241; + private static final String nbtType = "a"; + private static final Random xstr = new XSTR();//NEEDS SEPARATE! + private static Map> stableIsotopes = new HashMap<>(); + private static final Map stableAtoms = new HashMap<>(); + private static Map> mostStableUnstableIsotopes = new HashMap<>(); + private static final Map unstableAtoms = new HashMap<>(); + private static EMDefinitionStack alpha, deuterium, tritium, helium_3, beryllium_8, carbon_14, neon_24, silicon_34, uranium_238, uranium_235, plutonium_239, plutonium_241; private static final HashMap lifetimeOverrides = new HashMap<>(); private final EMNuclideIAEA iaea; @@ -206,18 +66,18 @@ public class EMAtomDefinition extends EMComplexTemplate { lifetimeOverrides.put(atom, rawLifeTime); } - // float-mass in eV/c^2 + //float-mass in eV/c^2 private final double mass; - // public final int charge; - private final int charge; - // int -electric charge in 1/3rds of electron charge for optimization - private final int chargeLeptons; + //public final int charge; + private final int charge; + //int -electric charge in 1/3rds of electron charge for optimization + private final int chargeLeptons; private final double rawLifeTime; - // generation max present inside - minus if contains any anti quark - private final byte type; + //generation max present inside - minus if contains any anti quark + private final byte type; - private final byte decayMode; // t neutron to proton+,0,f proton to neutron - // public final boolean stable; + private final byte decayMode;//t neutron to proton+,0,f proton to neutron + //public final boolean stable; private final int neutralCount; private final int element; @@ -226,7 +86,7 @@ public class EMAtomDefinition extends EMComplexTemplate { private final EMConstantStackMap elementalStacks; - // stable is rawLifeTime>=10^9 + //stable is rawLifeTime>=10^9 public EMAtomDefinition(EMDefinitionStack... things) throws EMException { this(true, new EMConstantStackMap(things)); @@ -246,15 +106,15 @@ public class EMAtomDefinition extends EMComplexTemplate { } elementalStacks = things; - double mass = 0; - int cLeptons = 0; - int cNucleus = 0; - int neutralCount = 0, element = 0; - int type = 0; + double mass = 0; + int cLeptons = 0; + int cNucleus = 0; + int neutralCount = 0, element = 0; + int type = 0; boolean containsAnti = false; for (EMDefinitionStack stack : elementalStacks.valuesToArray()) { - IEMDefinition def = stack.getDefinition(); - int amount = (int) stack.getAmount(); + IEMDefinition def = stack.getDefinition(); + int amount = (int) stack.getAmount(); if ((int) stack.getAmount() != stack.getAmount()) { throw new ArithmeticException("Amount cannot be safely converted to int!"); } @@ -278,7 +138,7 @@ public class EMAtomDefinition extends EMComplexTemplate { } } this.type = containsAnti ? (byte) -type : (byte) type; - // this.mass = mass; + //this.mass = mass; chargeLeptons = cLeptons; charge = cNucleus + cLeptons; this.neutralCount = neutralCount; @@ -286,10 +146,10 @@ public class EMAtomDefinition extends EMComplexTemplate { element = abs(element); - // stability curve + //stability curve int StableIsotope = stableIzoCurve(element); - int izoDiff = neutralCount - StableIsotope; - int izoDiffAbs = abs(izoDiff); + int izoDiff = neutralCount - StableIsotope; + int izoDiffAbs = abs(izoDiff); xstr.setSeed((element + 1L) * (neutralCount + 100L)); iaea = EMNuclideIAEA.get(element, neutralCount); @@ -310,9 +170,7 @@ public class EMAtomDefinition extends EMComplexTemplate { } rawLifeTime = Math.min(rawLifeTimeTemp, STABLE_RAW_LIFE_TIME); } else { - rawLifeTime = containsAnti - ? getIaea().getHalfTime() * 1.5514433E-21d * (1d + xstr.nextDouble() * 9d) - : getIaea().getHalfTime(); + rawLifeTime = containsAnti ? getIaea().getHalfTime() * 1.5514433E-21d * (1d + xstr.nextDouble() * 9d) : getIaea().getHalfTime(); } iaeaDefinitionExistsAndHasEnergyLevels = getIaea().getEnergeticStatesArray().length > 1; } else { @@ -334,41 +192,29 @@ public class EMAtomDefinition extends EMComplexTemplate { if (izoDiff == 0) { decayMode = 0; } else { - decayMode = - izoDiff > 0 ? (byte) Math.min(2, 1 + izoDiffAbs / 4) : (byte) -Math.min(2, 1 + izoDiffAbs / 4); + decayMode = izoDiff > 0 ? (byte) Math.min(2, 1 + izoDiffAbs / 4) : (byte) -Math.min(2, 1 + izoDiffAbs / 4); } } else { - decayMode = izoDiff > 0 - ? (byte) (Math.min(2, 1 + izoDiffAbs / 4) + BYTE_OFFSET) - : (byte) (-Math.min(2, 1 + izoDiffAbs / 4) + BYTE_OFFSET); + decayMode = izoDiff > 0 ? (byte) (Math.min(2, 1 + izoDiffAbs / 4) + BYTE_OFFSET) : (byte) (-Math.min(2, 1 + izoDiffAbs / 4) + BYTE_OFFSET); } - // this.stable = this.rawLifeTime >= STABLE_RAW_LIFE_TIME; + //this.stable = this.rawLifeTime >= STABLE_RAW_LIFE_TIME; hash = super.hashCode(); } private static int stableIzoCurve(int element) { - return (int) Math.round(-1.19561E-06D * Math.pow(element, 4D) - + 1.60885E-04D * Math.pow(element, 3D) - + 3.76604E-04D * Math.pow(element, 2D) - + 1.08418E+00D * (double) element); + return (int) Math.round(-1.19561E-06D * Math.pow(element, 4D) + + 1.60885E-04D * Math.pow(element, 3D) + + 3.76604E-04D * Math.pow(element, 2D) + + 1.08418E+00D * (double) element); } - private static double calculateLifeTime( - int izoDiff, int izoDiffAbs, int element, int isotope, boolean containsAnti) { + private static double calculateLifeTime(int izoDiff, int izoDiffAbs, int element, int isotope, boolean containsAnti) { double rawLifeTime; - if (element <= 83 - && isotope < 127 - && (izoDiffAbs == 0 - || element == 1 && isotope == 0 - || element == 2 && isotope == 1 - || izoDiffAbs == 1 && element > 2 && element % 2 == 1 - || izoDiffAbs == 3 && element > 30 && element % 2 == 0 - || izoDiffAbs == 5 && element > 30 && element % 2 == 0 - || izoDiffAbs == 2 && element > 20 && element % 2 == 1)) { + if (element <= 83 && isotope < 127 && (izoDiffAbs == 0 || element == 1 && isotope == 0 || element == 2 && isotope == 1 || izoDiffAbs == 1 && element > 2 && element % 2 == 1 || izoDiffAbs == 3 && element > 30 && element % 2 == 0 || izoDiffAbs == 5 && element > 30 && element % 2 == 0 || izoDiffAbs == 2 && element > 20 && element % 2 == 1)) { rawLifeTime = (1D + xstr.nextDouble() * 9D) * (containsAnti ? 2.381e4D : 1.5347e25D); } else { - // Y = (X-A)/(B-A) * (D-C) + C + //Y = (X-A)/(B-A) * (D-C) + C double unstabilityEXP; if (element == 0) { return 1e-35D; @@ -392,12 +238,9 @@ public class EMAtomDefinition extends EMComplexTemplate { } else if (element <= 83 || isotope <= 127 && element <= 120) { double elementPow4 = Math.pow(element, 4); - unstabilityEXP = Math.min(element / 2.4D, 6 + ((element + 1) % 2) * 3e6D / elementPow4) - + -izoDiff * elementPow4 / 1e8D - - abs(izoDiff - 1 + element / 60D) * (3D - element / 12.5D + element * element / 1500D); + unstabilityEXP = Math.min(element / 2.4D, 6 + ((element + 1) % 2) * 3e6D / elementPow4) + -izoDiff * elementPow4 / 1e8D - abs(izoDiff - 1 + element / 60D) * (3D - element / 12.5D + element * element / 1500D); } else if (element < 180) { - unstabilityEXP = Math.min((element - 85) * 2, 16 + ((isotope + 1) % 2) * 2.5D - (element - 85) / 3D) - - abs(izoDiff) * (3D - element / 13D + element * element / 1600D); + unstabilityEXP = Math.min((element - 85) * 2, 16 + ((isotope + 1) % 2) * 2.5D - (element - 85) / 3D) - abs(izoDiff) * (3D - element / 13D + element * element / 1600D); } else { return -1; } @@ -424,7 +267,7 @@ public class EMAtomDefinition extends EMComplexTemplate { private static boolean canTheyBeTogether(EMConstantStackMap stacks) { boolean nuclei = false; - long qty = 0; + long qty = 0; for (EMDefinitionStack stack : stacks.valuesToArray()) { if (stack.getDefinition() instanceof EMHadronDefinition) { if (((EMHadronDefinition) stack.getDefinition()).getAmount() != 3) { @@ -476,8 +319,7 @@ public class EMAtomDefinition extends EMComplexTemplate { } if (iaeaDefinitionExistsAndHasEnergyLevels) { if (currentEnergy >= getIaea().getEnergeticStatesArray().length) { - return getIaea().getEnergeticStatesArray()[getIaea().getEnergeticStatesArray().length - 1].Thalf - / (currentEnergy - getIaea().getEnergeticStatesArray().length + 1); + return getIaea().getEnergeticStatesArray()[getIaea().getEnergeticStatesArray().length - 1].Thalf / (currentEnergy - getIaea().getEnergeticStatesArray().length + 1); } return getIaea().getEnergeticStatesArray()[(int) currentEnergy].Thalf; } @@ -501,65 +343,62 @@ public class EMAtomDefinition extends EMComplexTemplate { @Override public String getShortLocalizedName() { - int element = abs(getElement()); + int element = abs(getElement()); boolean anti = getElement() < 0; boolean weird = abs(getGeneration()) != 1; - if (element >= NAME.length) { + if(element>=NAME.length){ StringBuilder s = new StringBuilder(); - if (anti) { + if(anti){ s.append(translateToLocal("tt.IUPAC.Anti")); do { - s.append(translateToLocal("tt.IUPAC." + SYMBOL_IUPAC[element % 10])); + s.append(translateToLocal("tt.IUPAC."+SYMBOL_IUPAC[element % 10])); element = element / 10; } while (element > 0); - } else { + }else { while (element >= 10) { - s.append(translateToLocal("tt.IUPAC." + SYMBOL_IUPAC[element % 10])); + s.append(translateToLocal("tt.IUPAC."+SYMBOL_IUPAC[element % 10])); element = element / 10; } - s.append(translateToLocal("tt.IUPAC." + SYMBOL_IUPAC[element + 10])); + s.append(translateToLocal("tt.IUPAC."+SYMBOL_IUPAC[element + 10])); } - if (weird) { + if(weird){ s.append(translateToLocal("tt.keyword.Weird")); } return s.toString(); } - return translateToLocal("tt.element." + (anti ? "Anti" : "") + NAME[element]) - + (weird ? translateToLocal("tt.keyword.Weird") : ""); + return translateToLocal("tt.element."+(anti?"Anti":"")+NAME[element])+(weird?translateToLocal("tt.keyword.Weird"):""); } @Override public String getSymbol() { - String ionName = ""; + String ionName = ""; int ionization = getCharge() / 3; - if (ionization > 0) { + if(ionization>0){ ionName = ionization == 1 ? TT_Utility.toSuperscript("+") : TT_Utility.toSuperscript(ionization + "+"); - } else if (ionization < 0) { + }else if(ionization<0) { ionName = ionization == -1 ? TT_Utility.toSuperscript("-") : TT_Utility.toSuperscript(-ionization + "-"); } - return TT_Utility.toSuperscript(Long.toString(getNeutralCount() + (long) getElement())) - + getShortSymbol() - + ionName; + return TT_Utility.toSuperscript(Long.toString(getNeutralCount() + (long)getElement())) +getShortSymbol()+ ionName; } @Override public String getShortSymbol() { - int element = abs(getElement()); + int element = abs(getElement()); boolean anti = getElement() < 0; boolean weird = abs(getGeneration()) != 1; - if (element >= SYMBOL.length) { - StringBuilder s = new StringBuilder(anti ? "~" : ""); + if(element>=SYMBOL.length){ + StringBuilder s = new StringBuilder(anti?"~":""); while (element >= 10) { s.append(SYMBOL_IUPAC[element % 10]); element = element / 10; } s.append(SYMBOL_IUPAC[element + 10]); - if (weird) { + if(weird){ s.append(translateToLocal("tt.keyword.Weird")); } return s.toString(); } - return (anti ? "~" : "") + SYMBOL[element] + (weird ? translateToLocal("tt.keyword.Weird") : ""); + return (anti?"~":"")+SYMBOL[element]+(weird?translateToLocal("tt.keyword.Weird"):""); } @Override @@ -573,7 +412,7 @@ public class EMAtomDefinition extends EMComplexTemplate { return getDecayArray(decaysList, getDecayMode(), true); } - private EMDecay[] getDecayArray(ArrayList decaysList, int decayMode, boolean tryAnti) { // todo? + private EMDecay[] getDecayArray(ArrayList decaysList, int decayMode, boolean tryAnti) {//todo? if (getGeneration() == 1) { switch (decayMode) { case -2: @@ -642,663 +481,543 @@ public class EMAtomDefinition extends EMComplexTemplate { private boolean getDecayFromIaea(ArrayList decaysList, EMNuclideIAEA.iaeaDecay decay, long energy) { EMDefinitionStackMap withThis = elementalStacks.toMutable(), newStuff = new EMDefinitionStackMap(); switch (decay.decayName) { - case "D": - { - if (withThis.removeAllAmountsExact(deuterium.getDefinition().getSubParticles())) { - withThis.putReplace(deuterium); - decaysList.add(new EMDecay( - decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } + case "D": { + if (withThis.removeAllAmountsExact(deuterium.getDefinition().getSubParticles())) { + withThis.putReplace(deuterium); + decaysList.add(new EMDecay(decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; } - break; - case "3H": - { - if (withThis.removeAllAmountsExact(tritium.getDefinition().getSubParticles())) { - withThis.putReplace(tritium); - decaysList.add(new EMDecay( - decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } + } + break; + case "3H": { + if (withThis.removeAllAmountsExact(tritium.getDefinition().getSubParticles())) { + withThis.putReplace(tritium); + decaysList.add(new EMDecay(decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; } - break; - case "3HE": - { - if (withThis.removeAllAmountsExact(helium_3.getDefinition().getSubParticles())) { - withThis.putReplace(helium_3); - decaysList.add(new EMDecay( - decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } + } + break; + case "3HE": { + if (withThis.removeAllAmountsExact(helium_3.getDefinition().getSubParticles())) { + withThis.putReplace(helium_3); + decaysList.add(new EMDecay(decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; } - break; - case "8BE": - { - if (withThis.removeAllAmountsExact( - beryllium_8.getDefinition().getSubParticles())) { - withThis.putReplace(beryllium_8); - decaysList.add(new EMDecay( - decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } + } + break; + case "8BE": { + if (withThis.removeAllAmountsExact(beryllium_8.getDefinition().getSubParticles())) { + withThis.putReplace(beryllium_8); + decaysList.add(new EMDecay(decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; } - break; - case "14C": - { - if (withThis.removeAllAmountsExact(carbon_14.getDefinition().getSubParticles())) { - newStuff.putReplace(carbon_14); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "14C": { + if (withThis.removeAllAmountsExact(carbon_14.getDefinition().getSubParticles())) { + newStuff.putReplace(carbon_14); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "24NE": - { - if (withThis.removeAllAmountsExact(neon_24.getDefinition().getSubParticles())) { - newStuff.putReplace(neon_24); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "24NE": { + if (withThis.removeAllAmountsExact(neon_24.getDefinition().getSubParticles())) { + newStuff.putReplace(neon_24); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "34SI": - { - if (withThis.removeAllAmountsExact( - silicon_34.getDefinition().getSubParticles())) { - newStuff.putReplace(silicon_34); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "34SI": { + if (withThis.removeAllAmountsExact(silicon_34.getDefinition().getSubParticles())) { + newStuff.putReplace(silicon_34); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; + } + break; case "A": - case "A?": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2, EMHadronDefinition.hadron_p2)) { - newStuff.putReplace(alpha); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + case "A?": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2, EMHadronDefinition.hadron_p2)) { + newStuff.putReplace(alpha); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "B+": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "B+": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "2B+": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n2); - newStuff.putReplace(EMLeptonDefinition.lepton_e_2); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "2B+": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n2); + newStuff.putReplace(EMLeptonDefinition.lepton_e_2); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "B-": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_p1); - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "B-": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_p1); + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "2B-": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_p2); - newStuff.putReplace(EMLeptonDefinition.lepton_e2); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_2); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "2B-": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_p2); + newStuff.putReplace(EMLeptonDefinition.lepton_e2); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_2); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "EC": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1, EMLeptonDefinition.lepton_e1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "EC": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1, EMLeptonDefinition.lepton_e1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "2EC": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e2)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n2); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "2EC": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e2)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n2); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; + } + break; case "B++EC": - case "EC+B+": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n2); - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + case "EC+B+": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n2); + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "B+A": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p3, EMHadronDefinition.hadron_n1)) { - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(alpha); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "B+A": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p3, EMHadronDefinition.hadron_n1)) { + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(alpha); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "B+P": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(EMHadronDefinition.hadron_p1); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "B+P": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(EMHadronDefinition.hadron_p1); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "B+2P": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p3)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(EMHadronDefinition.hadron_p2); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "B+2P": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p3)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(EMHadronDefinition.hadron_p2); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "B-A": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n3, EMHadronDefinition.hadron_p1)) { - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - newStuff.putReplace(alpha); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "B-A": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n3, EMHadronDefinition.hadron_p1)) { + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + newStuff.putReplace(alpha); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "B-N": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_p1); - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - newStuff.putReplace(EMHadronDefinition.hadron_n1); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "B-N": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_p1); + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + newStuff.putReplace(EMHadronDefinition.hadron_n1); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "B-2N": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n3)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_p1); - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - newStuff.putReplace(EMHadronDefinition.hadron_n2); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "B-2N": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n3)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_p1); + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + newStuff.putReplace(EMHadronDefinition.hadron_n2); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "B-P": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - newStuff.putReplace(EMHadronDefinition.hadron_p1); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "B-P": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + newStuff.putReplace(EMHadronDefinition.hadron_p1); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "ECA": - { - if (withThis.removeAllAmountsExact( - EMHadronDefinition.hadron_n1, EMLeptonDefinition.lepton_e1, EMHadronDefinition.hadron_p3)) { - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(alpha); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "ECA": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1, EMLeptonDefinition.lepton_e1, EMHadronDefinition.hadron_p3)) { + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(alpha); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "ECP": - { - if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e1, EMHadronDefinition.hadron_p2)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(EMHadronDefinition.hadron_p1); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "ECP": { + if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e1, EMHadronDefinition.hadron_p2)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(EMHadronDefinition.hadron_p1); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "EC2P": - { - if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e1, EMHadronDefinition.hadron_p3)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(EMHadronDefinition.hadron_p2); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "EC2P": { + if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e1, EMHadronDefinition.hadron_p3)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(EMHadronDefinition.hadron_p2); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "ECP+EC2P": - { // todo look at branching ratios - if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e2, EMHadronDefinition.hadron_p5)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); - newStuff.putReplace(EMHadronDefinition.hadron_p3); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "ECP+EC2P": {//todo look at branching ratios + if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e2, EMHadronDefinition.hadron_p5)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); + newStuff.putReplace(EMHadronDefinition.hadron_p3); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "N": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { - newStuff.putReplace(EMHadronDefinition.hadron_n1); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "N": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { + newStuff.putReplace(EMHadronDefinition.hadron_n1); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "2N": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2)) { - newStuff.putReplace(EMHadronDefinition.hadron_n2); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "2N": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2)) { + newStuff.putReplace(EMHadronDefinition.hadron_n2); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "P": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1)) { - newStuff.putReplace(EMHadronDefinition.hadron_p1); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "P": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1)) { + newStuff.putReplace(EMHadronDefinition.hadron_p1); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "2P": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2)) { - newStuff.putReplace(EMHadronDefinition.hadron_p2); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "2P": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2)) { + newStuff.putReplace(EMHadronDefinition.hadron_p2); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "SF": - { - if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { - return true; - } + } + break; + case "SF": { + if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { + return true; } - break; - case "B-F": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_p1); - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - try { - if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { - return true; - } - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "B-F": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_p1); + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + try { + if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { + return true; + } + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; + } + break; case "ECF": case "ECSF": - case "EC(+SF)": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1, EMLeptonDefinition.lepton_e1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - try { - if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { - return true; - } - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + case "EC(+SF)": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1, EMLeptonDefinition.lepton_e1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + try { + if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { + return true; + } + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; + } + break; case "SF(+EC+B+)": - case "SF+EC+B+": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n2); - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); - try { - if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { - return true; - } - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + case "SF+EC+B+": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n2); + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); + try { + if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { + return true; + } + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; - case "SF+EC+B-": - { - if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e1)) { - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - try { - if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { - return true; - } - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } + break; + case "SF+EC+B-": { + if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e1)) { + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + try { + if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { + return true; + } + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; + } + break; case "IT": case "IT?": case "G": { @@ -1311,35 +1030,30 @@ public class EMAtomDefinition extends EMComplexTemplate { decaysList.add(new EMDecay(decay.chance, this)); } return true; - } // break; - case "IT+EC+B+": - { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n2); - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); - newStuff.putReplace(EMGaugeBosonDefinition.boson_Y__1); - try { - newStuff.putReplace(new EMAtomDefinition( - withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) - .getStackForm(1)); - decaysList.add(new EMDecay( - decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); - } + } //break; + case "IT+EC+B+": { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n2); + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); + newStuff.putReplace(EMGaugeBosonDefinition.boson_Y__1); + try { + newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); + decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); } } } - break; + } + break; case "DEAD_END": decaysList.add(deadEnd); return true; default: - throw new Error( - "Unsupported decay mode: " + decay.decayName + ' ' + getNeutralCount() + ' ' + getElement()); + throw new Error("Unsupported decay mode: " + decay.decayName + ' ' + getNeutralCount() + ' ' + getElement()); } if (DEBUG_MODE) { TecTech.LOGGER.info("Failed to decay " + getElement() + ' ' + getNeutralCount() + ' ' + decay.decayName); @@ -1351,12 +1065,7 @@ public class EMAtomDefinition extends EMComplexTemplate { EMDefinitionStackMap tree = elementalStacks.toMutable(); if (tree.removeAmountExact(emit)) { try { - decaysList.add(new EMDecay( - 1, - new EMDefinitionStack( - new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), - 1), - emit)); + decaysList.add(new EMDecay(1, new EMDefinitionStack(new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1), emit)); return true; } catch (Exception e) { if (DEBUG_MODE) { @@ -1371,12 +1080,7 @@ public class EMAtomDefinition extends EMComplexTemplate { EMDefinitionStackMap tree = elementalStacks.toMutable(); if (tree.removeAllAmountsExact(alpha.getDefinition().getSubParticles())) { try { - decaysList.add(new EMDecay( - 1, - new EMDefinitionStack( - new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), - 1), - alpha)); + decaysList.add(new EMDecay(1, new EMDefinitionStack(new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1), alpha)); return true; } catch (Exception e) { if (DEBUG_MODE) { @@ -1392,13 +1096,7 @@ public class EMAtomDefinition extends EMComplexTemplate { if (tree.removeAmountExact(EMHadronDefinition.hadron_n1)) { try { tree.putUnifyExact(EMHadronDefinition.hadron_p1); - decaysList.add(new EMDecay( - 1, - new EMDefinitionStack( - new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), - 1), - EMLeptonDefinition.lepton_e1, - EMNeutrinoDefinition.lepton_Ve_1)); + decaysList.add(new EMDecay(1, new EMDefinitionStack(new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1), EMLeptonDefinition.lepton_e1, EMNeutrinoDefinition.lepton_Ve_1)); return true; } catch (Exception e) { if (DEBUG_MODE) { @@ -1414,13 +1112,7 @@ public class EMAtomDefinition extends EMComplexTemplate { if (tree.removeAmountExact(EMHadronDefinition.hadron_p1)) { try { tree.putUnifyExact(EMHadronDefinition.hadron_n1); - decaysList.add(new EMDecay( - 1, - new EMDefinitionStack( - new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), - 1), - EMLeptonDefinition.lepton_e_1, - EMNeutrinoDefinition.lepton_Ve1)); + decaysList.add(new EMDecay(1, new EMDefinitionStack(new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1), EMLeptonDefinition.lepton_e_1, EMNeutrinoDefinition.lepton_Ve1)); return true; } catch (Exception e) { if (DEBUG_MODE) { @@ -1436,12 +1128,7 @@ public class EMAtomDefinition extends EMComplexTemplate { if (tree.removeAllAmountsExact(EMHadronDefinition.hadron_p1, EMLeptonDefinition.lepton_e1)) { try { tree.putUnifyExact(EMHadronDefinition.hadron_n1); - decaysList.add(new EMDecay( - 1, - new EMDefinitionStack( - new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), - 1), - EMNeutrinoDefinition.lepton_Ve1)); + decaysList.add(new EMDecay(1, new EMDefinitionStack(new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1), EMNeutrinoDefinition.lepton_Ve1)); return true; } catch (Exception e) { if (DEBUG_MODE) { @@ -1452,26 +1139,19 @@ public class EMAtomDefinition extends EMComplexTemplate { return false; } - private boolean Fission( - ArrayList decaysList, - EMDefinitionStackMap fissile, - EMDefinitionStackMap particles, - double probability, - boolean spontaneousCheck) { - EMDefinitionStackMap heavy = new EMDefinitionStackMap(); - double[] liquidDrop = liquidDropFunction(abs(getElement()) <= 97); + private boolean Fission(ArrayList decaysList, EMDefinitionStackMap fissile, EMDefinitionStackMap particles, double probability, boolean spontaneousCheck) { + EMDefinitionStackMap heavy = new EMDefinitionStackMap(); + double[] liquidDrop = liquidDropFunction(abs(getElement()) <= 97); for (EMDefinitionStack stack : fissile.valuesToArray()) { - if (spontaneousCheck - && stack.getDefinition() instanceof EMHadronDefinition - && (stack.getAmount() <= 80 - || stack.getAmount() < 90 && XSTR_INSTANCE.nextInt(10) < stack.getAmount() - 80)) { + if (spontaneousCheck && stack.getDefinition() instanceof EMHadronDefinition && + (stack.getAmount() <= 80 || stack.getAmount() < 90 && XSTR_INSTANCE.nextInt(10) < stack.getAmount() - 80)) { return false; } if (stack.getDefinition().getCharge() == 0) { - // if(stack.definition instanceof dHadronDefinition){ - double neutrals = stack.getAmount() * liquidDrop[2]; - int neutrals_cnt = (int) Math.floor(neutrals); + //if(stack.definition instanceof dHadronDefinition){ + double neutrals = stack.getAmount() * liquidDrop[2]; + int neutrals_cnt = (int) Math.floor(neutrals); neutrals_cnt += neutrals - neutrals_cnt > XSTR_INSTANCE.nextDouble() ? 1 : 0; particles.putUnifyExact(new EMDefinitionStack(stack.getDefinition(), neutrals_cnt)); @@ -1481,10 +1161,10 @@ public class EMAtomDefinition extends EMComplexTemplate { } fissile.removeAmountExact(new EMDefinitionStack(stack.getDefinition(), heavy_cnt + neutrals_cnt)); heavy.putReplace(new EMDefinitionStack(stack.getDefinition(), heavy_cnt)); - // }else{ + //}else{ // particles.add(stack); // light.remove(stack.definition); - // } + //} } else { int heavy_cnt = (int) Math.ceil(stack.getAmount() * liquidDrop[0]); if (heavy_cnt % 2 == 1 && XSTR_INSTANCE.nextDouble() > 0.05D) { @@ -1497,12 +1177,9 @@ public class EMAtomDefinition extends EMComplexTemplate { } try { - particles.putReplace(new EMDefinitionStack( - new EMAtomDefinition(fissile.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1)); - particles.putReplace(new EMDefinitionStack( - new EMAtomDefinition(heavy.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1)); - decaysList.add( - new EMDecay(probability, particles.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + particles.putReplace(new EMDefinitionStack(new EMAtomDefinition(fissile.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1)); + particles.putReplace(new EMDefinitionStack(new EMAtomDefinition(heavy.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1)); + decaysList.add(new EMDecay(probability, particles.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); return true; } catch (Exception e) { if (DEBUG_MODE) { @@ -1527,7 +1204,7 @@ public class EMAtomDefinition extends EMComplexTemplate { out[0] = -out[0]; } - // scale to splitting ratio + //scale to splitting ratio out[0] = out[0] * 0.05d + .6d; if (out[0] < 0 || out[0] > 1) { @@ -1537,7 +1214,7 @@ public class EMAtomDefinition extends EMComplexTemplate { out[0] = 1d - out[0]; } - // extra neutrals + //extra neutrals out[2] = 0.012d + XSTR_INSTANCE.nextDouble() * 0.01d; if (asymmetric) { @@ -1558,7 +1235,7 @@ public class EMAtomDefinition extends EMComplexTemplate { } } if (energyLevel < abs(getCharge()) / 3 + getNeutralCount()) { - return new EMDecay[] {new EMDecay(1, this, boson_Y__)}; + return new EMDecay[]{new EMDecay(1, this, boson_Y__)}; } return getNaturalDecayInstant(); } @@ -1566,7 +1243,7 @@ public class EMAtomDefinition extends EMComplexTemplate { @Override public double getEnergyDiffBetweenStates(long currentEnergyLevel, long newEnergyLevel) { if (iaeaDefinitionExistsAndHasEnergyLevels) { - double result = 0; + double result = 0; boolean backwards = newEnergyLevel < currentEnergyLevel; if (backwards) { long temp = currentEnergyLevel; @@ -1581,17 +1258,13 @@ public class EMAtomDefinition extends EMComplexTemplate { result += IEMDefinition.DEFAULT_ENERGY_REQUIREMENT * -currentEnergyLevel; } } else { - result -= getIaea() - .getEnergeticStatesArray()[ - (int) Math.min(getIaea().getEnergeticStatesArray().length - 1, currentEnergyLevel)] - .energy; + result -= getIaea().getEnergeticStatesArray()[(int) Math.min(getIaea().getEnergeticStatesArray().length - 1, currentEnergyLevel)].energy; } if (newEnergyLevel >= getIaea().getEnergeticStatesArray().length) { if (currentEnergyLevel >= getIaea().getEnergeticStatesArray().length) { return IEMDefinition.DEFAULT_ENERGY_REQUIREMENT * (newEnergyLevel - currentEnergyLevel); } else { - result += IEMDefinition.DEFAULT_ENERGY_REQUIREMENT - * (newEnergyLevel - getIaea().getEnergeticStatesArray().length + 1); + result += IEMDefinition.DEFAULT_ENERGY_REQUIREMENT * (newEnergyLevel - getIaea().getEnergeticStatesArray().length + 1); } result += getIaea().getEnergeticStatesArray()[getIaea().getEnergeticStatesArray().length - 1].energy; } else { @@ -1620,7 +1293,7 @@ public class EMAtomDefinition extends EMComplexTemplate { state = getIaea().getEnergeticStatesArray()[(int) energyLevel]; } for (EMNuclideIAEA.iaeaDecay decay : state.decaymodes) { - if (decay.decayName.contains("F")) return true; // if is fissile + if (decay.decayName.contains("F")) return true;//if is fissile } return false; } @@ -1637,23 +1310,22 @@ public class EMAtomDefinition extends EMComplexTemplate { @Override public EMDecay[] getNaturalDecayInstant() { - // disembody + //disembody ArrayList decaysInto = new ArrayList<>(); for (EMDefinitionStack elementalStack : elementalStacks.valuesToArray()) { - if (elementalStack.getDefinition().getGeneration() == 1 - || elementalStack.getDefinition().getGeneration() == -1) { - // covers both quarks and antiquarks + if (elementalStack.getDefinition().getGeneration() == 1 || elementalStack.getDefinition().getGeneration() == -1) { + //covers both quarks and antiquarks decaysInto.add(elementalStack); } else { - // covers both quarks and antiquarks + //covers both quarks and antiquarks decaysInto.add(new EMDefinitionStack(boson_Y__, 2)); } } - return new EMDecay[] {new EMDecay(0.75D, decaysInto.toArray(new EMDefinitionStack[0])), deadEnd}; + return new EMDecay[]{new EMDecay(0.75D, decaysInto.toArray(new EMDefinitionStack[0])), deadEnd}; } - // @Override - // public iElementalDefinition getAnti() { + //@Override + //public iElementalDefinition getAnti() { // EMDefinitionStack[] stacks = this.elementalStacks.values(); // EMDefinitionStack[] antiElements = new EMDefinitionStack[stacks.length]; // for (int i = 0; i < antiElements.length; i++) { @@ -1665,7 +1337,7 @@ public class EMAtomDefinition extends EMComplexTemplate { // if (DEBUG_MODE) e.printStackTrace(); // return null; // } - // } + //} @Override public EMAtomDefinition getAnti() { @@ -1705,13 +1377,8 @@ public class EMAtomDefinition extends EMComplexTemplate { } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass( - nbtType, - new EMIndirectType( - (definitionsRegistry, nbt) -> - new EMAtomDefinition(EMConstantStackMap.fromNBT(definitionsRegistry, nbt)), - EMAtomDefinition.class, - "tt.keyword.Element")); + registry.registerDefinitionClass(nbtType, new EMIndirectType((definitionsRegistry, nbt) -> + new EMAtomDefinition(EMConstantStackMap.fromNBT(definitionsRegistry, nbt)), EMAtomDefinition.class, "tt.keyword.Element")); EMNuclideIAEA.run(); for (Runnable r : overrides) { @@ -1722,162 +1389,137 @@ public class EMAtomDefinition extends EMComplexTemplate { try { lifetimeOverrides.put(new EMAtomDefinition(entry.getKey().elementalStacks), entry.getValue()); } catch (EMException e) { - e.printStackTrace(); // Impossible + e.printStackTrace(); //Impossible } } - // populate stable isotopes - for (int element = 1; element < 83; element++) { // Up to Bismuth exclusive + //populate stable isotopes + for (int element = 1; element < 83; element++) {//Up to Bismuth exclusive for (int isotope = 0; isotope < 130; isotope++) { xstr.setSeed((long) (element + 1) * (isotope + 100)); - // stability curve - int StableIsotope = stableIzoCurve(element); - int izoDiff = isotope - StableIsotope; - int izoDiffAbs = abs(izoDiff); - double rawLifeTime = calculateLifeTime(izoDiff, izoDiffAbs, element, isotope, false); - EMNuclideIAEA nuclide = EMNuclideIAEA.get(element, isotope); - if (rawLifeTime >= STABLE_RAW_LIFE_TIME - || nuclide != null && nuclide.getHalfTime() >= STABLE_RAW_LIFE_TIME) { + //stability curve + int StableIsotope = stableIzoCurve(element); + int izoDiff = isotope - StableIsotope; + int izoDiffAbs = abs(izoDiff); + double rawLifeTime = calculateLifeTime(izoDiff, izoDiffAbs, element, isotope, false); + EMNuclideIAEA nuclide = EMNuclideIAEA.get(element, isotope); + if (rawLifeTime >= STABLE_RAW_LIFE_TIME || nuclide != null && nuclide.getHalfTime() >= STABLE_RAW_LIFE_TIME) { TreeSet isotopes = stableIsotopes.computeIfAbsent(element, k -> new TreeSet<>()); isotopes.add(isotope); } } } - // populate unstable isotopes + //populate unstable isotopes for (int element = 1; element < 150; element++) { for (int isotope = 100; isotope < 180; isotope++) { xstr.setSeed((long) (element + 1) * (isotope + 100)); - // stability curve - int Isotope = stableIzoCurve(element); - int izoDiff = isotope - Isotope; - int izoDiffAbs = abs(izoDiff); - double rawLifeTime = calculateLifeTime(izoDiff, izoDiffAbs, element, isotope, false); - TreeMap isotopes = - mostStableUnstableIsotopes.computeIfAbsent(element, k -> new TreeMap<>()); - isotopes.put(rawLifeTime, isotope); // todo dont add stable ones + //stability curve + int Isotope = stableIzoCurve(element); + int izoDiff = isotope - Isotope; + int izoDiffAbs = abs(izoDiff); + double rawLifeTime = calculateLifeTime(izoDiff, izoDiffAbs, element, isotope, false); + TreeMap isotopes = mostStableUnstableIsotopes.computeIfAbsent(element, k -> new TreeMap<>()); + isotopes.put(rawLifeTime, isotope);//todo dont add stable ones } } try { for (Map.Entry> integerTreeSetEntry : stableIsotopes.entrySet()) { - stableAtoms.put( - integerTreeSetEntry.getKey(), - new EMAtomDefinition( - new EMDefinitionStack(EMHadronDefinition.hadron_p, integerTreeSetEntry.getKey()), - new EMDefinitionStack( - EMHadronDefinition.hadron_n, - integerTreeSetEntry.getValue().first()), - new EMDefinitionStack(EMLeptonDefinition.lepton_e, integerTreeSetEntry.getKey()))); + stableAtoms.put(integerTreeSetEntry.getKey(), new EMAtomDefinition( + new EMDefinitionStack(EMHadronDefinition.hadron_p, integerTreeSetEntry.getKey()), + new EMDefinitionStack(EMHadronDefinition.hadron_n, integerTreeSetEntry.getValue().first()), + new EMDefinitionStack(EMLeptonDefinition.lepton_e, integerTreeSetEntry.getKey()))); if (DEBUG_MODE) { - TecTech.LOGGER.info("Added Stable Atom:" + integerTreeSetEntry.getKey() + ' ' - + integerTreeSetEntry.getValue().first() + ' ' - + stableAtoms.get(integerTreeSetEntry.getKey()).getMass()); + TecTech.LOGGER.info("Added Stable Atom:" + integerTreeSetEntry.getKey() + ' ' + integerTreeSetEntry.getValue().first() + ' ' + stableAtoms.get(integerTreeSetEntry.getKey()).getMass()); } } - for (Map.Entry> integerTreeMapEntry : - mostStableUnstableIsotopes.entrySet()) { - unstableAtoms.put( - integerTreeMapEntry.getKey(), - new EMAtomDefinition( - new EMDefinitionStack(EMHadronDefinition.hadron_p, integerTreeMapEntry.getKey()), - new EMDefinitionStack( - EMHadronDefinition.hadron_n, - integerTreeMapEntry - .getValue() - .lastEntry() - .getValue()), - new EMDefinitionStack(EMLeptonDefinition.lepton_e, integerTreeMapEntry.getKey()))); + for (Map.Entry> integerTreeMapEntry : mostStableUnstableIsotopes.entrySet()) { + unstableAtoms.put(integerTreeMapEntry.getKey(), new EMAtomDefinition( + new EMDefinitionStack(EMHadronDefinition.hadron_p, integerTreeMapEntry.getKey()), + new EMDefinitionStack(EMHadronDefinition.hadron_n, integerTreeMapEntry.getValue().lastEntry().getValue()), + new EMDefinitionStack(EMLeptonDefinition.lepton_e, integerTreeMapEntry.getKey()))); if (DEBUG_MODE) { - TecTech.LOGGER.info("Added Unstable Atom:" + integerTreeMapEntry.getKey() + ' ' - + integerTreeMapEntry.getValue().lastEntry().getValue() + ' ' - + unstableAtoms.get(integerTreeMapEntry.getKey()).getMass()); + TecTech.LOGGER.info("Added Unstable Atom:" + integerTreeMapEntry.getKey() + ' ' + integerTreeMapEntry.getValue().lastEntry().getValue() + ' ' + unstableAtoms.get(integerTreeMapEntry.getKey()).getMass()); } } deuterium = new EMAtomDefinition( - EMHadronDefinition.hadron_p1, EMHadronDefinition.hadron_n1, EMLeptonDefinition.lepton_e1) - .getStackForm(1); + EMHadronDefinition.hadron_p1, + EMHadronDefinition.hadron_n1, + EMLeptonDefinition.lepton_e1).getStackForm(1); registry.registerForDisplay(deuterium.getDefinition()); tritium = new EMAtomDefinition( - EMHadronDefinition.hadron_p1, EMHadronDefinition.hadron_n2, EMLeptonDefinition.lepton_e1) - .getStackForm(1); + EMHadronDefinition.hadron_p1, + EMHadronDefinition.hadron_n2, + EMLeptonDefinition.lepton_e1).getStackForm(1); registry.registerForDisplay(tritium.getDefinition()); helium_3 = new EMAtomDefinition( - EMHadronDefinition.hadron_p2, EMHadronDefinition.hadron_n1, EMLeptonDefinition.lepton_e2) - .getStackForm(1); + EMHadronDefinition.hadron_p2, + EMHadronDefinition.hadron_n1, + EMLeptonDefinition.lepton_e2).getStackForm(1); registry.registerForDisplay(helium_3.getDefinition()); - alpha = new EMAtomDefinition(EMHadronDefinition.hadron_p2, EMHadronDefinition.hadron_n2).getStackForm(1); + alpha = new EMAtomDefinition( + EMHadronDefinition.hadron_p2, + EMHadronDefinition.hadron_n2).getStackForm(1); registry.registerForDisplay(alpha.getDefinition()); beryllium_8 = new EMAtomDefinition( - new EMDefinitionStack(EMHadronDefinition.hadron_p, 4), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 4), - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 4)) - .getStackForm(1); + new EMDefinitionStack(EMHadronDefinition.hadron_p, 4), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 4), + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 4)).getStackForm(1); registry.registerForDisplay(beryllium_8.getDefinition()); carbon_14 = new EMAtomDefinition( - new EMDefinitionStack(EMHadronDefinition.hadron_p, 6), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 8), - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 6)) - .getStackForm(1); + new EMDefinitionStack(EMHadronDefinition.hadron_p, 6), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 8), + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 6)).getStackForm(1); registry.registerForDisplay(carbon_14.getDefinition()); neon_24 = new EMAtomDefinition( - new EMDefinitionStack(EMHadronDefinition.hadron_p, 10), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 14), - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 10)) - .getStackForm(1); + new EMDefinitionStack(EMHadronDefinition.hadron_p, 10), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 14), + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 10)).getStackForm(1); registry.registerForDisplay(neon_24.getDefinition()); silicon_34 = new EMAtomDefinition( - new EMDefinitionStack(EMHadronDefinition.hadron_p, 14), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 20), - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 14)) - .getStackForm(1); + new EMDefinitionStack(EMHadronDefinition.hadron_p, 14), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 20), + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 14)).getStackForm(1); registry.registerForDisplay(silicon_34.getDefinition()); uranium_238 = new EMAtomDefinition( - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 92), - new EMDefinitionStack(EMHadronDefinition.hadron_p, 92), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 146)) - .getStackForm(1); + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 92), + new EMDefinitionStack(EMHadronDefinition.hadron_p, 92), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 146)).getStackForm(1); registry.registerForDisplay(uranium_238.getDefinition()); uranium_235 = new EMAtomDefinition( - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 92), - new EMDefinitionStack(EMHadronDefinition.hadron_p, 92), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 143)) - .getStackForm(1); + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 92), + new EMDefinitionStack(EMHadronDefinition.hadron_p, 92), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 143)).getStackForm(1); registry.registerForDisplay(uranium_235.getDefinition()); - TecTech.LOGGER.info("Diff Mass U : " - + (uranium_238.getDefinition().getMass() - - uranium_235.getDefinition().getMass())); + TecTech.LOGGER.info("Diff Mass U : " + (uranium_238.getDefinition().getMass() - uranium_235.getDefinition().getMass())); plutonium_239 = new EMAtomDefinition( - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 94), - new EMDefinitionStack(EMHadronDefinition.hadron_p, 94), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 145)) - .getStackForm(1); + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 94), + new EMDefinitionStack(EMHadronDefinition.hadron_p, 94), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 145)).getStackForm(1); registry.registerForDisplay(plutonium_239.getDefinition()); plutonium_241 = new EMAtomDefinition( - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 94), - new EMDefinitionStack(EMHadronDefinition.hadron_p, 94), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 147)) - .getStackForm(1); + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 94), + new EMDefinitionStack(EMHadronDefinition.hadron_p, 94), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 147)).getStackForm(1); registry.registerForDisplay(plutonium_241.getDefinition()); - TecTech.LOGGER.info("Diff Mass Pu: " - + (plutonium_241.getDefinition().getMass() - - plutonium_239.getDefinition().getMass())); + TecTech.LOGGER.info("Diff Mass Pu: " + (plutonium_241.getDefinition().getMass() - plutonium_239.getDefinition().getMass())); - somethingHeavy = (EMAtomDefinition) plutonium_241.getDefinition(); + somethingHeavy=(EMAtomDefinition) plutonium_241.getDefinition(); } catch (Exception e) { if (DEBUG_MODE) { @@ -1891,9 +1533,9 @@ public class EMAtomDefinition extends EMComplexTemplate { for (int i = 1; i <= 118; i++) { EMAtomDefinition firstStableIsotope = getFirstStableIsotope(i); - if (firstStableIsotope == null) { + if(firstStableIsotope==null){ firstStableIsotope = getBestUnstableIsotope(i); - if (firstStableIsotope == null) { + if(firstStableIsotope==null){ continue; } } @@ -1905,438 +1547,115 @@ public class EMAtomDefinition extends EMComplexTemplate { /*----STABLE ATOMS----**/ refMass = getFirstStableIsotope(1).getMass() * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; - transformationInfo.addFluid( - new EMDefinitionStack(getFirstStableIsotope(1), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - Hydrogen.mGas, - 144); - transformationInfo.addFluid( - new EMDefinitionStack(getFirstStableIsotope(2), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - Helium.mGas, - 144); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(3), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Lithium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(4), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Beryllium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(5), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Boron, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(6), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Carbon, - 1); - transformationInfo.addFluid( - new EMDefinitionStack(getFirstStableIsotope(7), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - Nitrogen.mGas, - 144); - transformationInfo.addFluid( - new EMDefinitionStack(getFirstStableIsotope(8), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - Oxygen.mGas, - 144); - transformationInfo.addFluid( - new EMDefinitionStack(getFirstStableIsotope(9), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - Fluorine.mGas, - 144); - // transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(10), - // AVOGADRO_CONSTANT_144),Neon.mGas.getID(), 144); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(11), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Sodium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(12), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Magnesium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(13), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Aluminium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(14), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Silicon, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(15), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Phosphorus, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(16), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Sulfur, - 1); - transformationInfo.addFluid( - new EMDefinitionStack(getFirstStableIsotope(17), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - Argon.mGas, - 144); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(19), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Potassium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(20), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Calcium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(21), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Scandium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(22), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Titanium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(23), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Vanadium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(24), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Chrome, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(25), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Manganese, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(26), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Iron, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(27), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Cobalt, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(28), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Nickel, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(29), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Copper, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(30), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Zinc, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(31), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Gallium, - 1); - // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(32), AVOGADRO_CONSTANT_144),dust, - // Germanium,1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(33), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Arsenic, - 1); - // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(34), AVOGADRO_CONSTANT_144),dust, - // Selenium,1); - // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(35), AVOGADRO_CONSTANT_144),dust, - // Bromine,1); - // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(36), AVOGADRO_CONSTANT_144),dust, - // Krypton,1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(37), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Rubidium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(38), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Strontium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(39), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Yttrium, - 1); - // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(40), AVOGADRO_CONSTANT_144),dust, - // Zirconium,1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(41), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Niobium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(42), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Molybdenum, - 1); - // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(43), AVOGADRO_CONSTANT_144),dust, - // Technetium,1); - // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(44), AVOGADRO_CONSTANT_144),dust, - // Ruthenium,1); - // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(45), AVOGADRO_CONSTANT_144),dust, - // Rhodium,1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(46), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Palladium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(47), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Silver, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(48), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Cadmium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(49), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Indium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(50), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Tin, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(51), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Antimony, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(52), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Tellurium, - 1); - // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(53), AVOGADRO_CONSTANT_144),dust, - // Iodine,1); - // transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(54), - // AVOGADRO_CONSTANT_144),Xenon.mGas.getID(), 144); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(55), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Caesium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(56), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Barium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(57), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Lanthanum, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(58), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Cerium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(59), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Praseodymium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(60), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Neodymium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(62), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Samarium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(63), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Europium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(64), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Gadolinium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(65), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Terbium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(66), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Dysprosium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(67), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Holmium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(68), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Erbium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(69), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Thulium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(70), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Ytterbium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(71), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Lutetium, - 1); - // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(72), AVOGADRO_CONSTANT_144),dust, - // Hafnum,1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(73), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Tantalum, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(74), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Tungsten, - 1); - // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(75), AVOGADRO_CONSTANT_144),dust, - // Rhenium,1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(76), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Osmium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(77), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Iridium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(78), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Platinum, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(79), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Gold, - 1); - transformationInfo.addFluid( - new EMDefinitionStack(getFirstStableIsotope(80), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - Mercury.mFluid, - 144); - // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(81), AVOGADRO_CONSTANT_144),dust, - // Thallium,1); - transformationInfo.addOredict( - new EMDefinitionStack(getFirstStableIsotope(82), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Lead, - 1); + transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(1), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Hydrogen.mGas, 144); + transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(2), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Helium.mGas, 144); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(3), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Lithium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(4), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Beryllium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(5), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Boron, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(6), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Carbon, 1); + transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(7), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Nitrogen.mGas, 144); + transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(8), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Oxygen.mGas, 144); + transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(9), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Fluorine.mGas, 144); + //transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(10), AVOGADRO_CONSTANT_144),Neon.mGas.getID(), 144); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(11), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Sodium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(12), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Magnesium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(13), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Aluminium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(14), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Silicon, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(15), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Phosphorus, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(16), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Sulfur, 1); + transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(17), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Argon.mGas, 144); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(19), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Potassium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(20), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Calcium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(21), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Scandium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(22), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Titanium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(23), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Vanadium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(24), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Chrome, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(25), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Manganese, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(26), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Iron, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(27), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Cobalt, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(28), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Nickel, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(29), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Copper, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(30), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Zinc, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(31), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Gallium, 1); + //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(32), AVOGADRO_CONSTANT_144),dust, Germanium,1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(33), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Arsenic, 1); + //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(34), AVOGADRO_CONSTANT_144),dust, Selenium,1); + //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(35), AVOGADRO_CONSTANT_144),dust, Bromine,1); + //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(36), AVOGADRO_CONSTANT_144),dust, Krypton,1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(37), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Rubidium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(38), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Strontium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(39), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Yttrium, 1); + //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(40), AVOGADRO_CONSTANT_144),dust, Zirconium,1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(41), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Niobium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(42), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Molybdenum, 1); + //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(43), AVOGADRO_CONSTANT_144),dust, Technetium,1); + //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(44), AVOGADRO_CONSTANT_144),dust, Ruthenium,1); + //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(45), AVOGADRO_CONSTANT_144),dust, Rhodium,1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(46), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Palladium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(47), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Silver, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(48), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Cadmium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(49), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Indium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(50), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Tin, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(51), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Antimony, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(52), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Tellurium, 1); + //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(53), AVOGADRO_CONSTANT_144),dust, Iodine,1); + //transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(54), AVOGADRO_CONSTANT_144),Xenon.mGas.getID(), 144); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(55), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Caesium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(56), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Barium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(57), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Lanthanum, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(58), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Cerium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(59), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Praseodymium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(60), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Neodymium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(62), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Samarium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(63), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Europium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(64), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Gadolinium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(65), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Terbium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(66), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Dysprosium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(67), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Holmium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(68), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Erbium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(69), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Thulium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(70), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Ytterbium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(71), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Lutetium, 1); + //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(72), AVOGADRO_CONSTANT_144),dust, Hafnum,1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(73), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Tantalum, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(74), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Tungsten, 1); + //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(75), AVOGADRO_CONSTANT_144),dust, Rhenium,1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(76), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Osmium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(77), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Iridium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(78), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Platinum, 1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(79), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Gold, 1); + transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(80), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Mercury.mFluid, 144); + //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(81), AVOGADRO_CONSTANT_144),dust, Thallium,1); + transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(82), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Lead, 1); /*----UNSTABLE ATOMS----**/ refUnstableMass = getFirstStableIsotope(82).getMass() * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; - transformationInfo.addOredict( - new EMDefinitionStack(getBestUnstableIsotope(61), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Promethium, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(getBestUnstableIsotope(83), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Bismuth, - 1); - // transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(84),AVOGADRO_CONSTANT_144),dust, - // Polonium,1); - // transformationInfo.addFluid(new - // EMDefinitionStack(getBestUnstableIsotope(85),AVOGADRO_CONSTANT_144),Astatine.mPlasma.getID(), 144); - transformationInfo.addFluid( - new EMDefinitionStack(getBestUnstableIsotope(86), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - Radon.mGas, - 144); - // transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(87),AVOGADRO_CONSTANT_144),dust, - // Francium,1); - // transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(88),AVOGADRO_CONSTANT_144),dust, - // Radium,1); - // transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(89),AVOGADRO_CONSTANT_144),dust, - // Actinium,1); - transformationInfo.addOredict( - new EMDefinitionStack(getBestUnstableIsotope(90), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Thorium, - 1); - // transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(91),AVOGADRO_CONSTANT_144),dust, - // Protactinium,1); - //// transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(92),AVOGADRO_CONSTANT_144), - // dust, Uranium,1); - // transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(93),AVOGADRO_CONSTANT_144),dust, - // Neptunium,1); - //// transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(94),AVOGADRO_CONSTANT_144), - // dust, Plutonium,1); - transformationInfo.addOredict( - new EMDefinitionStack(getBestUnstableIsotope(95), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Americium, - 1); - - transformationInfo.addFluid( - new EMDefinitionStack(deuterium.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - Deuterium.mGas, - 144); - transformationInfo.addFluid( - new EMDefinitionStack(tritium.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - Tritium.mGas, - 144); - transformationInfo.addFluid( - new EMDefinitionStack(helium_3.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - Helium_3.mGas, - 144); - - transformationInfo.addOredict( - new EMDefinitionStack(uranium_238.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Uranium /*238*/, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(uranium_235.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Uranium235, - 1); - - transformationInfo.addOredict( - new EMDefinitionStack(plutonium_239.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Plutonium /*239*/, - 1); - transformationInfo.addOredict( - new EMDefinitionStack(plutonium_241.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), - dust, - Plutonium241, - 1); + transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(61), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Promethium, 1); + transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(83), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Bismuth, 1); + //transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(84),AVOGADRO_CONSTANT_144),dust, Polonium,1); + //transformationInfo.addFluid(new EMDefinitionStack(getBestUnstableIsotope(85),AVOGADRO_CONSTANT_144),Astatine.mPlasma.getID(), 144); + transformationInfo.addFluid(new EMDefinitionStack(getBestUnstableIsotope(86), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Radon.mGas, 144); + //transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(87),AVOGADRO_CONSTANT_144),dust, Francium,1); + //transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(88),AVOGADRO_CONSTANT_144),dust, Radium,1); + //transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(89),AVOGADRO_CONSTANT_144),dust, Actinium,1); + transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(90), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Thorium, 1); + //transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(91),AVOGADRO_CONSTANT_144),dust, Protactinium,1); + ////transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(92),AVOGADRO_CONSTANT_144), dust, Uranium,1); + //transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(93),AVOGADRO_CONSTANT_144),dust, Neptunium,1); + ////transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(94),AVOGADRO_CONSTANT_144), dust, Plutonium,1); + transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(95), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Americium, 1); + + + transformationInfo.addFluid(new EMDefinitionStack(deuterium.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Deuterium.mGas, 144); + transformationInfo.addFluid(new EMDefinitionStack(tritium.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Tritium.mGas, 144); + transformationInfo.addFluid(new EMDefinitionStack(helium_3.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Helium_3.mGas, 144); + + transformationInfo.addOredict(new EMDefinitionStack(uranium_238.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Uranium/*238*/, 1); + transformationInfo.addOredict(new EMDefinitionStack(uranium_235.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Uranium235, 1); + + transformationInfo.addOredict(new EMDefinitionStack(plutonium_239.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Plutonium/*239*/, 1); + transformationInfo.addOredict(new EMDefinitionStack(plutonium_241.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Plutonium241, 1); } public static EMAtomDefinition getFirstStableIsotope(int element) { diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMHadronDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMHadronDefinition.java index be51eb3681..9fb551e45c 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMHadronDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMHadronDefinition.java @@ -1,11 +1,5 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.complex; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.boson_Y__; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; @@ -23,38 +17,45 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.transformations import com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMQuarkDefinition; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import net.minecraftforge.oredict.OreDictionary; + import java.util.ArrayList; import java.util.HashMap; import java.util.Map; -import net.minecraftforge.oredict.OreDictionary; + +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.boson_Y__; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; +import static net.minecraft.util.StatCollector.translateToLocal; /** * Created by danie_000 on 17.11.2016. */ -public class EMHadronDefinition extends EMComplexTemplate { // TODO Optimize map i/o +public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i/o private final int hash; - private static final String nbtType = "h"; - // Helpers - public static final Map SYMBOL_MAP = new HashMap<>(); - public static final Map UNLOCALIZED_NAME_MAP = new HashMap<>(); - public static EMHadronDefinition hadron_p, hadron_n, hadron_p_, hadron_n_; + private static final String nbtType = "h"; + //Helpers + public static final Map SYMBOL_MAP = new HashMap<>(); + public static final Map UNLOCALIZED_NAME_MAP = new HashMap<>(); + public static EMHadronDefinition hadron_p, hadron_n, hadron_p_, hadron_n_; public static EMDefinitionStack hadron_p1, hadron_n1, hadron_p2, hadron_n2, hadron_p3, hadron_n3, hadron_p5; - private static double protonMass = 0D; - private static double neutronMass = 0D; - private static final double actualProtonMass = 938272081.3D; + private static double protonMass = 0D; + private static double neutronMass = 0D; + private static final double actualProtonMass = 938272081.3D; private static final double actualNeutronMass = 939565413.3D; - // float-mass in eV/c^2 + //float-mass in eV/c^2 private final double mass; - // int -electric charge in 1/3rds of electron charge for optimization - private final int charge; + //int -electric charge in 1/3rds of electron charge for optimization + private final int charge; private final double rawLifeTime; - private final int amount; - // generation max present inside - minus if contains any antiquark - private final byte type; - // private final FluidStack fluidThing; - // private final ItemStack itemThing; + private final int amount; + //generation max present inside - minus if contains any antiquark + private final byte type; + //private final FluidStack fluidThing; + //private final ItemStack itemThing; private final EMConstantStackMap quarkStacks; @@ -76,11 +77,11 @@ public class EMHadronDefinition extends EMComplexTemplate { // TODO Optimize map } quarkStacks = quarks; - int amount = 0; - int charge = 0; - int type = 0; + int amount = 0; + int charge = 0; + int type = 0; boolean containsAnti = false; - double mass = 0; + double mass = 0; for (EMDefinitionStack quarkStack : quarkStacks.valuesToArray()) { amount += quarkStack.getAmount(); if ((int) quarkStack.getAmount() != quarkStack.getAmount()) { @@ -97,7 +98,7 @@ public class EMHadronDefinition extends EMComplexTemplate { // TODO Optimize map this.charge = charge; this.type = containsAnti ? (byte) -type : (byte) type; long mult = (long) this.getAmount() * this.getAmount() * (this.getAmount() - 1); - mass = mass * 5.543D * mult; // yes it becomes heavier + mass = mass * 5.543D * mult;//yes it becomes heavier if (mass == protonMass && this.getAmount() == 3) { rawLifeTime = IEMDefinition.STABLE_RAW_LIFE_TIME; @@ -118,7 +119,7 @@ public class EMHadronDefinition extends EMComplexTemplate { // TODO Optimize map hash = super.hashCode(); } - // public but u can just try{}catch(){} the constructor it still calls this method + //public but u can just try{}catch(){} the constructor it still calls this method private static boolean canTheyBeTogether(EMConstantStackMap stacks) { long amount = 0; for (EMDefinitionStack quarks : stacks.valuesToArray()) { @@ -210,40 +211,32 @@ public class EMHadronDefinition extends EMComplexTemplate { // TODO Optimize map @Override public EMDecay[] getNaturalDecayInstant() { EMDefinitionStack[] quarkStacks = this.quarkStacks.valuesToArray(); - if (getAmount() == 2 - && quarkStacks.length == 2 - && quarkStacks[0].getDefinition().getMass() - == quarkStacks[1].getDefinition().getMass() - && quarkStacks[0].getDefinition().getGeneration() - == -quarkStacks[1].getDefinition().getGeneration()) { + if (getAmount() == 2 && quarkStacks.length == 2 && quarkStacks[0].getDefinition().getMass() == quarkStacks[1].getDefinition().getMass() && quarkStacks[0].getDefinition().getGeneration() == -quarkStacks[1].getDefinition().getGeneration()) { return EMDecay.NO_PRODUCT; } ArrayList decaysInto = new ArrayList<>(); for (EMDefinitionStack quarks : quarkStacks) { - if (quarks.getDefinition().getGeneration() == 1 - || quarks.getDefinition().getGeneration() == -1) { - // covers both quarks and antiquarks + if (quarks.getDefinition().getGeneration() == 1 || quarks.getDefinition().getGeneration() == -1) { + //covers both quarks and antiquarks decaysInto.add(quarks); } else { - // covers both quarks and antiquarks + //covers both quarks and antiquarks decaysInto.add(new EMDefinitionStack(boson_Y__, 2)); } } - return new EMDecay[] {new EMDecay(0.75D, decaysInto.toArray(new EMDefinitionStack[0])), deadEnd}; + return new EMDecay[]{ + new EMDecay(0.75D, decaysInto.toArray(new EMDefinitionStack[0])), + deadEnd + }; } @Override public EMDecay[] getEnergyInducedDecay(long energyLevel) { EMDefinitionStack[] quarkStacks = this.quarkStacks.valuesToArray(); - if (getAmount() == 2 - && quarkStacks.length == 2 - && quarkStacks[0].getDefinition().getMass() - == quarkStacks[1].getDefinition().getMass() - && quarkStacks[0].getDefinition().getGeneration() - == -quarkStacks[1].getDefinition().getGeneration()) { + if (getAmount() == 2 && quarkStacks.length == 2 && quarkStacks[0].getDefinition().getMass() == quarkStacks[1].getDefinition().getMass() && quarkStacks[0].getDefinition().getGeneration() == -quarkStacks[1].getDefinition().getGeneration()) { return EMDecay.NO_PRODUCT; } - return new EMDecay[] {new EMDecay(0.75D, quarkStacks), deadEnd}; // decay into quarks + return new EMDecay[]{new EMDecay(0.75D, quarkStacks), deadEnd}; //decay into quarks } @Override @@ -274,24 +267,21 @@ public class EMHadronDefinition extends EMComplexTemplate { // TODO Optimize map @Override public EMDecay[] getDecayArray() { EMDefinitionStack[] quarkStacks = this.quarkStacks.valuesToArray(); - if (getAmount() == 2 - && quarkStacks.length == 2 - && quarkStacks[0].getDefinition().getMass() - == quarkStacks[1].getDefinition().getMass() - && quarkStacks[0].getDefinition().getGeneration() - == -quarkStacks[1].getDefinition().getGeneration()) { + if (getAmount() == 2 && quarkStacks.length == 2 && + quarkStacks[0].getDefinition().getMass() == quarkStacks[1].getDefinition().getMass() && + quarkStacks[0].getDefinition().getGeneration() == -quarkStacks[1].getDefinition().getGeneration()) { return EMDecay.NO_PRODUCT; } else if (getAmount() != 3) { - return new EMDecay[] {new EMDecay(0.95D, quarkStacks), deadEnd}; // decay into quarks + return new EMDecay[]{new EMDecay(0.95D, quarkStacks), deadEnd}; //decay into quarks } else { ArrayList newBaryon = new ArrayList<>(); - IEMDefinition[] Particles = new IEMDefinition[2]; + IEMDefinition[] Particles = new IEMDefinition[2]; for (EMDefinitionStack quarks : quarkStacks) { for (int i = 0; i < quarks.getAmount(); i++) { newBaryon.add((EMQuarkDefinition) quarks.getDefinition()); } } - // remove last + //remove last EMQuarkDefinition lastQuark = newBaryon.remove(2); EMDefinitionStack[] decay; @@ -309,21 +299,15 @@ public class EMHadronDefinition extends EMComplexTemplate { // TODO Optimize map .toArray(EMDefinitionStack[]::new); try { - return new EMDecay[] { - new EMDecay( - 0.001D, - new EMHadronDefinition(false, contentOfBaryon), - Particles[0], - Particles[1], - boson_Y__), - new EMDecay(0.99D, new EMHadronDefinition(false, contentOfBaryon), Particles[0], Particles[1]), - deadEnd - }; + return new EMDecay[]{ + new EMDecay(0.001D, new EMHadronDefinition(false, contentOfBaryon), Particles[0], Particles[1], boson_Y__), + new EMDecay(0.99D, new EMHadronDefinition(false, contentOfBaryon), Particles[0], Particles[1]), + deadEnd}; } catch (EMException e) { if (DEBUG_MODE) { e.printStackTrace(); } - return new EMDecay[] {deadEnd}; + return new EMDecay[]{deadEnd}; } } } @@ -353,8 +337,8 @@ public class EMHadronDefinition extends EMComplexTemplate { // TODO Optimize map return type; } - // @Override - // public iElementalDefinition getAnti() { + //@Override + //public iElementalDefinition getAnti() { // cElementalDefinitionStack[] stacks = this.quarkStacks.values(); // cElementalDefinitionStack[] antiElements = new cElementalDefinitionStack[stacks.length]; // for (int i = 0; i < antiElements.length; i++) { @@ -366,7 +350,7 @@ public class EMHadronDefinition extends EMComplexTemplate { // TODO Optimize map // if (DEBUG_MODE) e.printStackTrace(); // return null; // } - // } + //} @Override public IEMDefinition getAnti() { @@ -390,47 +374,38 @@ public class EMHadronDefinition extends EMComplexTemplate { // TODO Optimize map } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass( - nbtType, - new EMIndirectType( - (definitionsRegistry, nbt) -> - new EMHadronDefinition(EMConstantStackMap.fromNBT(definitionsRegistry, nbt)), - EMHadronDefinition.class, - "tt.keyword.Hadron")); + registry.registerDefinitionClass(nbtType, new EMIndirectType((definitionsRegistry, nbt) -> + new EMHadronDefinition(EMConstantStackMap.fromNBT(definitionsRegistry, nbt)), EMHadronDefinition.class, "tt.keyword.Hadron")); try { - hadron_p = new EMHadronDefinition(new EMConstantStackMap( - EMQuarkDefinition.quark_u.getStackForm(2), EMQuarkDefinition.quark_d.getStackForm(1))); + hadron_p = new EMHadronDefinition(new EMConstantStackMap(EMQuarkDefinition.quark_u.getStackForm(2), EMQuarkDefinition.quark_d.getStackForm(1))); protonMass = hadron_p.getMass(); - // redefine the proton with proper lifetime (the lifetime is based on mass comparison) - hadron_p = new EMHadronDefinition(new EMConstantStackMap( - EMQuarkDefinition.quark_u.getStackForm(2), EMQuarkDefinition.quark_d.getStackForm(1))); + //redefine the proton with proper lifetime (the lifetime is based on mass comparison) + hadron_p = new EMHadronDefinition(new EMConstantStackMap(EMQuarkDefinition.quark_u.getStackForm(2), EMQuarkDefinition.quark_d.getStackForm(1))); SYMBOL_MAP.put(hadron_p, "p"); UNLOCALIZED_NAME_MAP.put(hadron_p, "tt.keyword.Proton"); registry.registerForDisplay(hadron_p); - registry.registerDirectDefinition("p", hadron_p); + registry.registerDirectDefinition("p",hadron_p); hadron_p_ = (EMHadronDefinition) hadron_p.getAnti(); SYMBOL_MAP.put(hadron_p_, "~p"); UNLOCALIZED_NAME_MAP.put(hadron_p_, "tt.keyword.AntiProton"); registry.registerForDisplay(hadron_p_); - registry.registerDirectDefinition("~p", hadron_p_); + registry.registerDirectDefinition("~p",hadron_p_); - hadron_n = new EMHadronDefinition(new EMConstantStackMap( - EMQuarkDefinition.quark_u.getStackForm(1), EMQuarkDefinition.quark_d.getStackForm(2))); + hadron_n = new EMHadronDefinition(new EMConstantStackMap(EMQuarkDefinition.quark_u.getStackForm(1), EMQuarkDefinition.quark_d.getStackForm(2))); neutronMass = hadron_n.getMass(); - // redefine the neutron with proper lifetime (the lifetime is based on mass comparison) - hadron_n = new EMHadronDefinition(new EMConstantStackMap( - EMQuarkDefinition.quark_u.getStackForm(1), EMQuarkDefinition.quark_d.getStackForm(2))); + //redefine the neutron with proper lifetime (the lifetime is based on mass comparison) + hadron_n = new EMHadronDefinition(new EMConstantStackMap(EMQuarkDefinition.quark_u.getStackForm(1), EMQuarkDefinition.quark_d.getStackForm(2))); SYMBOL_MAP.put(hadron_n, "n"); UNLOCALIZED_NAME_MAP.put(hadron_n, "tt.keyword.Neutron"); registry.registerForDisplay(hadron_n); - registry.registerDirectDefinition("n", hadron_n); + registry.registerDirectDefinition("n",hadron_n); hadron_n_ = (EMHadronDefinition) hadron_n.getAnti(); SYMBOL_MAP.put(hadron_n_, "~n"); UNLOCALIZED_NAME_MAP.put(hadron_n_, "tt.keyword.AntiNeutron"); registry.registerForDisplay(hadron_n_); - registry.registerDirectDefinition("~n", hadron_n_); + registry.registerDirectDefinition("~n",hadron_n_); TecTech.LOGGER.info("Old Neutron Mass: " + neutronMass); TecTech.LOGGER.info("Old Proton Mass: " + protonMass); @@ -456,20 +431,16 @@ public class EMHadronDefinition extends EMComplexTemplate { // TODO Optimize map } } - public static void setTransformations(EMTransformationRegistry transformationInfo) { // Todo use Neutronium atom? - // Added to atom map, but should be in its own + public static void setTransformations(EMTransformationRegistry transformationInfo) {//Todo use Neutronium atom? + //Added to atom map, but should be in its own EMDefinitionStack neutrons = new EMDefinitionStack(hadron_n, 1000 * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED); EMDequantizationInfo emDequantizationInfo = new EMDequantizationInfo(neutrons); - emDequantizationInfo.setOre(new OreDictionaryStack( - 1, - OreDictionary.getOreID( - OrePrefixes.dust.name() + Materials.Neutronium.mName))); // todo shitty looking, but works... + emDequantizationInfo.setOre(new OreDictionaryStack(1,OreDictionary.getOreID(OrePrefixes.dust.name() + Materials.Neutronium.mName)));//todo shitty looking, but works... transformationInfo.getInfoMap().put(neutrons.getDefinition(), emDequantizationInfo); - transformationInfo - .getOredictQuantization() - .put( - OreDictionary.getOreID(OrePrefixes.ingotHot.name() + Materials.Neutronium.mName), - new EMOredictQuantizationInfo(OrePrefixes.ingotHot, Materials.Neutronium, 1, neutrons)); + transformationInfo.getOredictQuantization().put( + OreDictionary.getOreID(OrePrefixes.ingotHot.name() + Materials.Neutronium.mName), + new EMOredictQuantizationInfo(OrePrefixes.ingotHot, Materials.Neutronium, 1, neutrons) + ); } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMNuclideIAEA.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMNuclideIAEA.java index 13cab15970..e5fab5e6bf 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMNuclideIAEA.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMNuclideIAEA.java @@ -1,8 +1,5 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.complex; -import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.STABLE_RAW_LIFE_TIME; -import static com.github.technus.tectech.util.TT_Utility.splitButDifferent; - import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; @@ -10,169 +7,160 @@ import java.util.HashMap; import java.util.HashSet; import java.util.TreeMap; +import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.STABLE_RAW_LIFE_TIME; +import static com.github.technus.tectech.util.TT_Utility.splitButDifferent; + public final class EMNuclideIAEA { - public static final double AMU_TO_EV_DIV_C_C = 9.31494061E08D, MICRO_AMU_TO_EV_DIV_C_C = 9.31494061E02D; + public static final double AMU_TO_EV_DIV_C_C=9.31494061E08D,MICRO_AMU_TO_EV_DIV_C_C=9.31494061E02D; - // Nuclide T1/2 T1/2 [s] Decay Modes ? Q Q?- Q? QEC Q?- n Sn Sp Binding/A Atomic Mass Mass - // Excess Discovery - // Abund. [mole fract.] BR [%] [?N] [barn] [keV] [keV] [keV] [keV] [keV] [keV] [keV] [? AMU] [keV] + //Nuclide T1/2 T1/2 [s] Decay Modes ? Q Q?- Q? QEC Q?- n Sn Sp Binding/A Atomic Mass Mass Excess Discovery + //Abund. [mole fract.] BR [%] [?N] [barn] [keV] [keV] [keV] [keV] [keV] [keV] [keV] [? AMU] [keV] - // Z,N,symb,radius, unc, energy, unc, jp, half-life operator, half_life, unc,unit, half_life [s], unc, decay, decay - // %, unc, decay, decay %, unc, decay, decay %, unc,isospin,magn. dipole, unc, elect. quad , unc,Qb-,unc,Qb- - // n,unc,Qa, unc, Qec, unc,Sn,unc, Sp,unc,Binding/A,unc,atomic mass, unc, mass excess,unc, - // Z,N,symbol,energy , unc, jp,half-life operator, half_life, unc,unit, half_life [s], unc, decay, decay %, unc, - // decay, decay %, unc, decay, decay %, unc,isospin,magn. dipole, unc, elect. quadrupole , unc, - private static final HashMap NUCLIDES = new HashMap<>(); + //Z,N,symb,radius, unc, energy, unc, jp, half-life operator, half_life, unc,unit, half_life [s], unc, decay, decay %, unc, decay, decay %, unc, decay, decay %, unc,isospin,magn. dipole, unc, elect. quad , unc,Qb-,unc,Qb- n,unc,Qa, unc, Qec, unc,Sn,unc, Sp,unc,Binding/A,unc,atomic mass, unc, mass excess,unc, + //Z,N,symbol,energy , unc, jp,half-life operator, half_life, unc,unit, half_life [s], unc, decay, decay %, unc, decay, decay %, unc, decay, decay %, unc,isospin,magn. dipole, unc, elect. quadrupole , unc, + private static final HashMap NUCLIDES =new HashMap<>(); - public static void run() { - String line = ""; + public static void run(){ + String line=""; try { - BufferedReader reader = - new BufferedReader(new InputStreamReader(EMNuclideIAEA.class.getResourceAsStream("nuclides.csv"))); - ArrayList blockOfData = new ArrayList<>(4); - while ((line = reader.readLine()) != null) { - String[] split = splitButDifferent(line, ","); - if (split.length != 19) { - throw new Error( - "Invalid count (" + split.length + ") of separators in IAEA nuclides database " + line); + BufferedReader reader = new BufferedReader(new InputStreamReader(EMNuclideIAEA.class.getResourceAsStream("nuclides.csv"))); + ArrayList blockOfData=new ArrayList<>(4); + while((line=reader.readLine())!=null) { + String[] split= splitButDifferent(line,","); + if(split.length!=19) { + throw new Error("Invalid count (" + split.length + ") of separators in IAEA nuclides database " + line); } - if (!split[1].isEmpty() && !blockOfData.isEmpty()) { + if(!split[1].isEmpty() && !blockOfData.isEmpty()) { new EMNuclideIAEA(blockOfData.toArray(new String[blockOfData.size()][])); blockOfData.clear(); } blockOfData.add(split); } - if (!blockOfData.isEmpty()) { + if(!blockOfData.isEmpty()) { new EMNuclideIAEA(blockOfData.toArray(new String[blockOfData.size()][])); blockOfData.clear(); } reader.close(); - } catch (Exception e) { + }catch (Exception e){ System.out.println(line); e.printStackTrace(); } try { - BufferedReader reader = new BufferedReader( - new InputStreamReader(EMNuclideIAEA.class.getResourceAsStream("nuclidesTable.csv"))); - while ((line = reader.readLine()) != null) { - String[] split = splitButDifferent(line, ","); - if (split.length != 47) { - throw new Error("Invalid count (" + split.length + ") of separators in IAEA nuclidesTable database " - + line); + BufferedReader reader = new BufferedReader(new InputStreamReader(EMNuclideIAEA.class.getResourceAsStream("nuclidesTable.csv"))); + while((line=reader.readLine())!=null) { + String[] split= splitButDifferent(line,","); + if(split.length!=47) { + throw new Error("Invalid count (" + split.length + ") of separators in IAEA nuclidesTable database " + line); } - get(Integer.parseInt(split[0]), Integer.parseInt(split[1])).getMoreData(split); + get(Integer.parseInt(split[0]),Integer.parseInt(split[1])).getMoreData(split); } reader.close(); - } catch (Exception e) { + }catch (Exception e){ System.out.println(line); e.printStackTrace(); } try { - BufferedReader reader = new BufferedReader( - new InputStreamReader(EMNuclideIAEA.class.getResourceAsStream("energyLevels.csv"))); - while ((line = reader.readLine()) != null) { - String[] split = splitButDifferent(line, ","); - if (split.length != 27) { - throw new Error( - "Invalid count (" + split.length + ") of separators in IAEA energyLevels database " + line); + BufferedReader reader = new BufferedReader(new InputStreamReader(EMNuclideIAEA.class.getResourceAsStream("energyLevels.csv"))); + while((line=reader.readLine())!=null) { + String[] split= splitButDifferent(line,","); + if(split.length!=27) { + throw new Error("Invalid count (" + split.length + ") of separators in IAEA energyLevels database " + line); } new energeticState(split); } reader.close(); - } catch (Exception e) { + }catch (Exception e){ System.out.println(line); e.printStackTrace(); } - for (EMNuclideIAEA nuclide : NUCLIDES.values()) { + for(EMNuclideIAEA nuclide:NUCLIDES.values()) { nuclide.makeArrayOfEnergyStates(); } } - public static EMNuclideIAEA get(int protons, int neutrons) { - return NUCLIDES.get((protons << 16) + neutrons); + public static EMNuclideIAEA get(int protons, int neutrons){ + return NUCLIDES.get((protons<<16)+neutrons); } private final short N; private final short Z; - private final double halfTime; // sec - private final double mass; // eV/c^2 - private final short discovery; // year - private TreeMap energeticStates; - private energeticState[] energeticStatesArray; + private final double halfTime;//sec + private final double mass;//eV/c^2 + private final short discovery;//year + private TreeMap energeticStates; + private energeticState[] energeticStatesArray; - private EMNuclideIAEA(String[][] rows) { - N = Short.parseShort(rows[1][2]); - Z = Short.parseShort(rows[1][0]); - NUCLIDES.put(((int) getZ() << 16) + getN(), this); + + private EMNuclideIAEA(String[][] rows){ + N=Short.parseShort(rows[1][2]); + Z=Short.parseShort(rows[1][0]); + NUCLIDES.put(((int) getZ() <<16)+ getN(),this); String[] parts = splitButDifferent(rows[0][16], "|"); - double Mass = doubleOrNaN(parts[0], "mass"); - if (!Double.isNaN(Mass)) { - // System.out.println("Mass =\t" + Mass+"\t"+(N+Z)+"\t"+N+"\t"+Z+"\t"+(Mass/(N+Z))); - mass = Mass * MICRO_AMU_TO_EV_DIV_C_C; - } else { + double Mass=doubleOrNaN(parts[0],"mass"); + if(!Double.isNaN(Mass)) { + //System.out.println("Mass =\t" + Mass+"\t"+(N+Z)+"\t"+N+"\t"+Z+"\t"+(Mass/(N+Z))); + mass = Mass* MICRO_AMU_TO_EV_DIV_C_C; + } + else { mass = Double.NaN; } - discovery = (short) doubleOrNaN(rows[0][18], "discovery"); + discovery=(short)doubleOrNaN(rows[0][18],"discovery"); - if (rows[0][3].contains("STABLE")) { + if(rows[0][3].contains("STABLE")){ halfTime = STABLE_RAW_LIFE_TIME; - } else { + }else{ parts = splitButDifferent(rows[0][4], "|"); - halfTime = doubleOrNaN(parts[0], "half life"); + halfTime = doubleOrNaN(parts[0],"half life"); } } - private void getMoreData(String[] cells) { - // if(DEBUG_MODE) { + private void getMoreData(String[] cells){ + //if(DEBUG_MODE) { // if (add(cells[14])) System.out.println(N + " " + Z); // if (add(cells[17])) System.out.println(N + " " + Z); // if (add(cells[20])) System.out.println(N + " " + Z); - // } - new energeticState( - this, - getHalfTime(), - getDecaysFixed( - cells[14], - doubleOrNaN(cells[15], "chance1"), - cells[17], - doubleOrNaN(cells[18], "chance1"), - cells[20], - doubleOrNaN(cells[21], "chance1"))); + //} + new energeticState(this, getHalfTime(), getDecaysFixed( + cells[14], + doubleOrNaN(cells[15],"chance1"), + cells[17], + doubleOrNaN(cells[18],"chance1"), + cells[20], + doubleOrNaN(cells[21],"chance1"))); } - private static final energeticState[] empty = new energeticState[0]; - - private void makeArrayOfEnergyStates() { - if (energeticStates == null || energeticStates.isEmpty()) { + private static final energeticState[] empty=new energeticState[0]; + private void makeArrayOfEnergyStates(){ + if(energeticStates==null || energeticStates.isEmpty()) { setEnergeticStatesArray(empty); } else { setEnergeticStatesArray(energeticStates.values().toArray(new energeticState[0])); - double life = getHalfTime(); + double life= getHalfTime(); for (energeticState energeticState : getEnergeticStatesArray()) { - if (Double.isNaN(energeticState.Thalf)) { - energeticState.Thalf = life; - } else { - life = energeticState.Thalf; + if(Double.isNaN(energeticState.Thalf)){ + energeticState.Thalf=life; + }else { + life=energeticState.Thalf; } } } } - private double doubleOrNaN(String s, String name) { - s = s.replaceAll("#", ""); - if (!s.isEmpty()) { + private double doubleOrNaN(String s, String name){ + s=s.replaceAll("#",""); + if(!s.isEmpty()) { try { - double value = Double.parseDouble(s); - if (Double.isNaN(value)) { + double value=Double.parseDouble(s); + if(Double.isNaN(value)) { return Double.NaN; } - return value != 0 ? value : Double.NaN; + return value != 0 ?value:Double.NaN; } catch (Exception e) { System.out.println("Invalid Value " + name + ' ' + getN() + ' ' + getZ() + ' ' + s); e.printStackTrace(); @@ -209,68 +197,64 @@ public final class EMNuclideIAEA { this.energeticStatesArray = energeticStatesArray; } - public static final class energeticState { + public static final class energeticState{ public final double energy; public double Thalf; public final iaeaDecay[] decaymodes; - private energeticState(EMNuclideIAEA nuclide, double Thalf, iaeaDecay[] decaymodes) { - energy = 0; - this.Thalf = Thalf; - this.decaymodes = decaymodes; - if (nuclide.energeticStates == null) { + private energeticState(EMNuclideIAEA nuclide, double Thalf, iaeaDecay[] decaymodes){ + energy=0; + this.Thalf=Thalf; + this.decaymodes=decaymodes; + if(nuclide.energeticStates==null) { nuclide.energeticStates = new TreeMap<>(); } - nuclide.energeticStates.put(energy, this); + nuclide.energeticStates.put(energy,this); } - private energeticState(String[] cells) { - EMNuclideIAEA nuclide = - get((int) doubleOrNaN(cells[0], "protons"), (int) doubleOrNaN(cells[1], "neutrons")); - if (nuclide == null) { - throw new Error("Missing nuclide " + (int) doubleOrNaN(cells[0], "protons") + ' ' - + (int) doubleOrNaN(cells[1], "neutrons")); + private energeticState(String[] cells){ + EMNuclideIAEA nuclide = get((int)doubleOrNaN(cells[0],"protons"),(int)doubleOrNaN(cells[1],"neutrons")); + if(nuclide==null) { + throw new Error("Missing nuclide " + (int) doubleOrNaN(cells[0], "protons") + ' ' + (int) doubleOrNaN(cells[1], "neutrons")); } - energy = doubleOrNaN(cells[3], "energy level", nuclide) * 1000D; // to eV - if (energy < 0) { + energy =doubleOrNaN(cells[3],"energy level",nuclide)*1000D;//to eV + if(energy<0) { throw new Error("Invalid energy " + nuclide.getN() + ' ' + nuclide.getZ() + ' ' + cells[3]); } - Thalf = doubleOrNaN(cells[10], "half life", nuclide); - if (nuclide.energeticStates == null) { - new Exception("Should be initialized before doing this... " + nuclide.getN() + ' ' + nuclide.getZ()) - .printStackTrace(); + Thalf =doubleOrNaN(cells[10],"half life",nuclide); + if(nuclide.energeticStates==null) { + new Exception("Should be initialized before doing this... "+ nuclide.getN() + ' ' + nuclide.getZ()).printStackTrace(); nuclide.energeticStates = new TreeMap<>(); } - nuclide.energeticStates.put(energy, this); - // if(DEBUG_MODE) { + nuclide.energeticStates.put(energy,this); + //if(DEBUG_MODE) { // if (add(cells[12])) System.out.println(nuclide.N + " " + nuclide.Z); // if (add(cells[15])) System.out.println(nuclide.N + " " + nuclide.Z); // if (add(cells[18])) System.out.println(nuclide.N + " " + nuclide.Z); - // } + //} decaymodes = getDecaysFixed( cells[12], - doubleOrNaN(cells[13], "chance 1", nuclide), + doubleOrNaN(cells[13],"chance 1",nuclide), cells[15], - doubleOrNaN(cells[16], "chance 2", nuclide), + doubleOrNaN(cells[16],"chance 2",nuclide), cells[18], - doubleOrNaN(cells[19], "chance 3", nuclide)); + doubleOrNaN(cells[19],"chance 3",nuclide)); } - private double doubleOrNaN(String s, String name) { - return doubleOrNaN(s, name, null); + private double doubleOrNaN(String s, String name){ + return doubleOrNaN(s,name,null); } - private double doubleOrNaN(String s, String name, EMNuclideIAEA nuclide) { + private double doubleOrNaN(String s, String name, EMNuclideIAEA nuclide){ s = s.replaceAll("#", ""); if (!s.isEmpty()) { try { return Double.parseDouble(s); } catch (Exception e) { - if (nuclide == null) { + if(nuclide==null){ System.out.println("Invalid Value " + name + ' ' + s); - } else { - System.out.println( - "Invalid Value " + name + ' ' + nuclide.getN() + ' ' + nuclide.getZ() + ' ' + s); + }else { + System.out.println("Invalid Value " + name + ' ' + nuclide.getN() + ' ' + nuclide.getZ() + ' ' + s); } e.printStackTrace(); } @@ -279,78 +263,74 @@ public final class EMNuclideIAEA { } } - private static HashSet decays = new HashSet<>(); - - private static boolean add(String s) { - if (decays.add(s)) { + private static HashSet decays=new HashSet<>(); + private static boolean add(String s){ + if(decays.add(s)){ System.out.println(s); return true; } return false; } - private static iaeaDecay[] getDecaysFixed( - String decay1, double chance1, String decay2, double chance2, String decay3, double chance3) { - boolean do1, do2, do3; - do1 = !decay1.isEmpty() && !Double.isNaN(chance1); - do2 = !decay2.isEmpty() && !Double.isNaN(chance2); - do3 = !decay3.isEmpty() && !Double.isNaN(chance3); - TreeMap decays = new TreeMap<>(); - if (do1 && do2 && chance1 == 100 && chance2 == 100 && chance3 != 100) { + private static iaeaDecay[] getDecaysFixed(String decay1, double chance1,String decay2, double chance2,String decay3, double chance3){ + boolean do1,do2,do3; + do1= !decay1.isEmpty() && !Double.isNaN(chance1); + do2= !decay2.isEmpty() && !Double.isNaN(chance2); + do3= !decay3.isEmpty() && !Double.isNaN(chance3); + TreeMap decays=new TreeMap<>(); + if(do1 && do2 && chance1==100 && chance2==100 && chance3!=100){ decays.put(1D, new iaeaDecay(1D, decay1)); - if (do3) { - chance3 /= 100d; + if(do3) { + chance3/=100d; decays.put(chance3, new iaeaDecay(chance3, decay2)); - chance2 = 1d - chance3; + chance2=1d-chance3; } - chance2 /= 2d; + chance2/=2d; decays.put(chance2, new iaeaDecay(chance2, decay2)); - } else if (do1 && chance1 == 100) { + }else if(do1 && chance1==100){ decays.put(1D, new iaeaDecay(1D, decay1)); - if (do2) { - chance2 /= 100d; + if(do2) { + chance2/=100d; decays.put(chance2, new iaeaDecay(chance2, decay2)); } - if (do3) { + if(do3) { chance3 /= 100d; - if (do2) { + if(do2) { chance3 *= chance2; } decays.put(chance3, new iaeaDecay(chance3, decay3)); } - } else { - double normalization = (do1 ? chance1 : 0) + (do2 ? chance2 : 0) + (do3 ? chance3 : 0); - if (do1) { - chance1 /= normalization; + }else{ + double normalization= (do1?chance1:0) + (do2?chance2:0) + (do3?chance3:0); + if(do1) { + chance1/=normalization; decays.put(chance1, new iaeaDecay(chance1, decay1)); } - if (do2) { - chance2 /= normalization; + if(do2) { + chance2/=normalization; decays.put(chance2, new iaeaDecay(chance2, decay2)); } - if (do3) { - chance3 /= normalization; + if(do3) { + chance3/=normalization; decays.put(chance3, new iaeaDecay(chance3, decay3)); } - if (do1 || do2 || do3) { + if(do1||do2||do3) { decays.put(1D, iaeaDecay.DEAD_END); } } - // if(DEBUG_MODE){ - // System.out.println("INVALID - // SUM?\t"+normalization+"\t"+decay1+"\t"+chance1+"\t"+decay2+"\t"+chance2+"\t"+decay3+"\t"+chance3); - // } + //if(DEBUG_MODE){ + // System.out.println("INVALID SUM?\t"+normalization+"\t"+decay1+"\t"+chance1+"\t"+decay2+"\t"+chance2+"\t"+decay3+"\t"+chance3); + //} return decays.values().toArray(new iaeaDecay[0]); } - public static final class iaeaDecay { + public static final class iaeaDecay{ public final double chance; public final String decayName; - public static final iaeaDecay DEAD_END = new iaeaDecay(1D, "DEAD_END"); - - private iaeaDecay(double chance, String decayName) { - this.chance = chance; - this.decayName = decayName; + public static final iaeaDecay DEAD_END=new iaeaDecay(1D,"DEAD_END"); + private iaeaDecay(double chance,String decayName){ + this.chance=chance; + this.decayName=decayName; } } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMBosonDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMBosonDefinition.java index 18d8852657..affebf91a2 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMBosonDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMBosonDefinition.java @@ -1,12 +1,11 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.EMPrimitiveTemplate; +import static net.minecraft.util.StatCollector.translateToLocal; + public abstract class EMBosonDefinition extends EMPrimitiveTemplate { - protected EMBosonDefinition( - String name, String symbol, int generation, double mass, int charge, int color, int ID, String bind) { + protected EMBosonDefinition(String name, String symbol, int generation, double mass, int charge, int color, int ID, String bind) { super(name, symbol, generation, mass, charge, color, ID, bind); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMFermionDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMFermionDefinition.java index 28971400d5..4c0e1d28bc 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMFermionDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMFermionDefinition.java @@ -1,12 +1,11 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.EMPrimitiveTemplate; +import static net.minecraft.util.StatCollector.translateToLocal; + public abstract class EMFermionDefinition extends EMPrimitiveTemplate { - protected EMFermionDefinition( - String name, String symbol, int generation, double mass, int charge, int color, int ID, String bind) { + protected EMFermionDefinition(String name, String symbol, int generation, double mass, int charge, int color, int ID, String bind) { super(name, symbol, generation, mass, charge, color, ID, bind); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMGaugeBosonDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMGaugeBosonDefinition.java index 3242b374a9..8b1e1d556b 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMGaugeBosonDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMGaugeBosonDefinition.java @@ -1,17 +1,17 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; -import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMLeptonDefinition.*; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMNeutrinoDefinition.*; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMQuarkDefinition.*; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; import com.github.technus.tectech.util.TT_Utility; +import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMLeptonDefinition.*; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMNeutrinoDefinition.*; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMQuarkDefinition.*; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 22.10.2016. */ @@ -19,16 +19,15 @@ public class EMGaugeBosonDefinition extends EMBosonDefinition { public static final EMGaugeBosonDefinition boson_g__ = new EMGaugeBosonDefinition("tt.keyword.Gluon", "g", 0, 0, 8, 27, "g"), boson_Y__ = new EMGaugeBosonDefinition("tt.keyword.Photon", "\u03b3", 1e-18D, 0, -1, 28, "Y"), - boson_Z = new EMGaugeBosonDefinition("tt.keyword.Weak0", "Z0", 91.1876e9, 0, -1, 29, "Z0"), - boson_W_ = new EMGaugeBosonDefinition("tt.keyword.WeakPlus", "W+", 80.379e9, 3, -1, 30, "W+"), - boson_W = new EMGaugeBosonDefinition("tt.keyword.WeakMinus", "W-", 80.379e9, -3, -1, 31, "W-"); - // deadEnd - public static final EMDecay deadEnd = new EMDecay(boson_Y__, boson_Y__); - public static final EMDefinitionStack boson_Y__1 = new EMDefinitionStack(boson_Y__, 1); - public static final EMDecay deadEndHalf = new EMDecay(boson_Y__1); + boson_Z = new EMGaugeBosonDefinition("tt.keyword.Weak0", "Z0", 91.1876e9, 0, -1, 29, "Z0"), + boson_W_ = new EMGaugeBosonDefinition("tt.keyword.WeakPlus", "W+", 80.379e9, 3, -1, 30, "W+"), + boson_W = new EMGaugeBosonDefinition("tt.keyword.WeakMinus", "W-", 80.379e9, -3, -1, 31, "W-"); + //deadEnd + public static final EMDecay deadEnd = new EMDecay(boson_Y__, boson_Y__); + public static final EMDefinitionStack boson_Y__1 = new EMDefinitionStack(boson_Y__, 1); + public static final EMDecay deadEndHalf = new EMDecay(boson_Y__1); - protected EMGaugeBosonDefinition( - String name, String symbol, double mass, int charge, int color, int ID, String bind) { + protected EMGaugeBosonDefinition(String name, String symbol, double mass, int charge, int color, int ID, String bind) { super(name, TT_Utility.toSuperscript(symbol), 0, mass, charge, color, ID, bind); } @@ -36,12 +35,7 @@ public class EMGaugeBosonDefinition extends EMBosonDefinition { registry.registerDefinitionClass(new EMType(EMGaugeBosonDefinition.class, "tt.keyword.GaugeBoson")); boson_g__.init(registry, boson_g__, 3e-50, 0, 0, deadEndHalf); boson_Y__.init(registry, boson_Y__, NO_DECAY_RAW_LIFE_TIME, -1, -1, NO_DECAY); - boson_Z.init( - registry, - boson_Z, - 3e-25, - 11, - 11, + boson_Z.init(registry, boson_Z, 3e-25, 11, 11, new EMDecay(0.03363, lepton_e, lepton_e_), new EMDecay(0.03366, lepton_m, lepton_m_), new EMDecay(0.03367, lepton_t, lepton_t_), @@ -54,12 +48,7 @@ public class EMGaugeBosonDefinition extends EMBosonDefinition { new EMDecay(0.152, quark_s, quark_s_), new EMDecay(0.152, quark_b, quark_b_), deadEnd); - boson_W.init( - registry, - boson_W_, - 3e-25, - 9, - 9, + boson_W.init(registry, boson_W_, 3e-25, 9, 9, new EMDecay(0.108, lepton_e, lepton_Ve_), new EMDecay(0.108, lepton_m, lepton_Vm_), new EMDecay(0.108, lepton_t, lepton_Vt_), @@ -70,12 +59,7 @@ public class EMGaugeBosonDefinition extends EMBosonDefinition { new EMDecay(0.112666, quark_c_, quark_s), new EMDecay(0.112666, quark_c_, quark_b), deadEnd); - boson_W_.init( - registry, - boson_W, - 3e-25, - 9, - 9, + boson_W_.init(registry, boson_W, 3e-25, 9, 9, new EMDecay(0.108, lepton_e_, lepton_Ve), new EMDecay(0.108, lepton_m_, lepton_Vm), new EMDecay(0.108, lepton_t_, lepton_Vt), diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMLeptonDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMLeptonDefinition.java index 826c7a63a1..0926b34425 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMLeptonDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMLeptonDefinition.java @@ -1,86 +1,70 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.boson_Y__; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMNeutrinoDefinition.*; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMScalarBosonDefinition.boson_H__; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; import com.github.technus.tectech.util.TT_Utility; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.boson_Y__; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMNeutrinoDefinition.*; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMScalarBosonDefinition.boson_H__; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 22.10.2016. */ public class EMLeptonDefinition extends EMFermionDefinition { public static final EMLeptonDefinition - lepton_e = new EMLeptonDefinition("tt.keyword.Electron", "\u03b2-", 1, 0.511e6D, -3, 15, "e-"), - lepton_m = new EMLeptonDefinition("tt.keyword.Muon", "\u03bc-", 2, 105.658e6D, -3, 17, "m-"), - lepton_t = new EMLeptonDefinition("tt.keyword.Tauon", "\u03c4-", 3, 1776.83e6D, -3, 19, "t-"), - lepton_e_ = new EMLeptonDefinition("tt.keyword.Positron", "\u03b2+", -1, 0.511e6D, 3, 16, "e+"), - lepton_m_ = new EMLeptonDefinition("tt.keyword.Antimuon", "\u03bc+", -2, 105.658e6D, 3, 18, "m+"), - lepton_t_ = new EMLeptonDefinition("tt.keyword.Antitauon", "\u03c4+", -3, 1776.83e6D, 3, 20, "t+"); + lepton_e = new EMLeptonDefinition("tt.keyword.Electron", "\u03b2-", 1, 0.511e6D, -3, 15,"e-"), + lepton_m = new EMLeptonDefinition("tt.keyword.Muon", "\u03bc-", 2, 105.658e6D, -3, 17,"m-"), + lepton_t = new EMLeptonDefinition("tt.keyword.Tauon", "\u03c4-", 3, 1776.83e6D, -3, 19,"t-"), + lepton_e_ = new EMLeptonDefinition("tt.keyword.Positron", "\u03b2+", -1, 0.511e6D, 3, 16,"e+"), + lepton_m_ = new EMLeptonDefinition("tt.keyword.Antimuon", "\u03bc+", -2, 105.658e6D, 3, 18,"m+"), + lepton_t_ = new EMLeptonDefinition("tt.keyword.Antitauon", "\u03c4+", -3, 1776.83e6D, 3, 20,"t+"); - public static final EMDefinitionStack lepton_e1 = new EMDefinitionStack(lepton_e, 1); - public static final EMDefinitionStack lepton_e2 = new EMDefinitionStack(lepton_e, 2); + public static final EMDefinitionStack lepton_e1 = new EMDefinitionStack(lepton_e, 1); + public static final EMDefinitionStack lepton_e2 = new EMDefinitionStack(lepton_e, 2); public static final EMDefinitionStack lepton_e_1 = new EMDefinitionStack(lepton_e_, 1); public static final EMDefinitionStack lepton_e_2 = new EMDefinitionStack(lepton_e_, 2); - protected EMLeptonDefinition(String name, String symbol, int type, double mass, int charge, int ID, String bind) { - super(name, TT_Utility.toSuperscript(symbol), type, mass, charge, -1, ID, bind); - // this.itemThing=null; - // this.fluidThing=null; + protected EMLeptonDefinition(String name, String symbol, int type, double mass, int charge, int ID,String bind) { + super(name, TT_Utility.toSuperscript(symbol), type, mass, charge, -1, ID,bind); + //this.itemThing=null; + //this.fluidThing=null; } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(new EMType(EMLeptonDefinition.class, "tt.keyword.Lepton")); - lepton_e.init(registry, lepton_e_, STABLE_RAW_LIFE_TIME, 0, 1, deadEnd, new EMDecay(lepton_e, boson_Y__)); - lepton_m.init( - registry, - lepton_m_, - 2.197019e-6D, - 0, - 1, + registry.registerDefinitionClass(new EMType(EMLeptonDefinition.class,"tt.keyword.Lepton")); + lepton_e.init(registry,lepton_e_, STABLE_RAW_LIFE_TIME, 0, 1, + deadEnd, + new EMDecay(lepton_e,boson_Y__)); + lepton_m.init(registry,lepton_m_, 2.197019e-6D, 0, 1, new EMDecay(0.9D, lepton_e, lepton_Ve_, lepton_Vm), - deadEnd); // makes photons and don't care - lepton_t.init( - registry, - lepton_t_, - 2.903e-13D, - 1, - 3, + deadEnd);//makes photons and don't care + lepton_t.init(registry,lepton_t_, 2.903e-13D, 1, 3, new EMDecay(0.05F, lepton_m, lepton_Vm_, lepton_Vt, boson_H__), new EMDecay(0.1D, lepton_e, lepton_Ve_, lepton_Vm), new EMDecay(0.8D, lepton_m, lepton_Vm_, lepton_Vt, boson_Y__), - deadEnd); // makes photons and don't care + deadEnd);//makes photons and don't care - lepton_e_.init(registry, lepton_e, STABLE_RAW_LIFE_TIME, 0, 1, deadEnd, new EMDecay(lepton_e, boson_Y__)); - lepton_m_.init( - registry, - lepton_m, - 2.197019e-6F, - 0, - 1, + lepton_e_.init(registry,lepton_e, STABLE_RAW_LIFE_TIME, 0, 1, + deadEnd, + new EMDecay(lepton_e,boson_Y__)); + lepton_m_.init(registry,lepton_m, 2.197019e-6F, 0, 1, new EMDecay(0.9F, lepton_e_, lepton_Ve, lepton_Vm_), - deadEnd); // makes photons and don't care - lepton_t_.init( - registry, - lepton_t, - 2.903e-13F, - 1, - 3, + deadEnd);//makes photons and don't care + lepton_t_.init(registry,lepton_t, 2.903e-13F, 1, 3, new EMDecay(0.05F, lepton_m_, lepton_Vm, lepton_Vt_, boson_H__), new EMDecay(0.1F, lepton_e_, lepton_Ve, lepton_Vm_), new EMDecay(0.8F, lepton_m_, lepton_Vm, lepton_Vt_, boson_Y__), - deadEnd); // makes photons and don't care + deadEnd);//makes photons and don't care } @Override public String getLocalizedName() { - return translateToLocal("tt.keyword.Lepton") + ": " + getShortLocalizedName(); + return translateToLocal("tt.keyword.Lepton")+": " + getShortLocalizedName(); } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMNeutrinoDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMNeutrinoDefinition.java index 7813870a36..fee5774e15 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMNeutrinoDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMNeutrinoDefinition.java @@ -1,46 +1,54 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEndHalf; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEndHalf; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 22.10.2016. */ public class EMNeutrinoDefinition extends EMLeptonDefinition { public static final EMNeutrinoDefinition - lepton_Ve = new EMNeutrinoDefinition("tt.keyword.ElectronNeutrino", "\u03bd\u03b2", 1, 2e0D, 21, "Ve"), - lepton_Vm = new EMNeutrinoDefinition("tt.keyword.MuonNeutrino", "\u03bd\u03bc", 2, 0.15e6D, 23, "Vm"), - lepton_Vt = new EMNeutrinoDefinition("tt.keyword.TauonNeutrino", "\u03bd\u03c4", 3, 15e6D, 25, "Vt"), - lepton_Ve_ = new EMNeutrinoDefinition("tt.keyword.PositronNeutrino", "~\u03bd\u03b2", -1, 2e0D, 22, "~Ve"), - lepton_Vm_ = - new EMNeutrinoDefinition("tt.keyword.AntimuonNeutrino", "~\u03bd\u03bc", -2, 0.15e6D, 24, "~Vm"), - lepton_Vt_ = - new EMNeutrinoDefinition("tt.keyword.AntitauonNeutrino", "~\u03bd\u03c4", -3, 15e6D, 26, "~Vt"); - - public static final EMDefinitionStack lepton_Ve1 = new EMDefinitionStack(lepton_Ve, 1); - public static final EMDefinitionStack lepton_Ve2 = new EMDefinitionStack(lepton_Ve, 2); + lepton_Ve = new EMNeutrinoDefinition("tt.keyword.ElectronNeutrino", "\u03bd\u03b2", 1, 2e0D, 21,"Ve"), + lepton_Vm = new EMNeutrinoDefinition("tt.keyword.MuonNeutrino", "\u03bd\u03bc", 2, 0.15e6D, 23,"Vm"), + lepton_Vt = new EMNeutrinoDefinition("tt.keyword.TauonNeutrino", "\u03bd\u03c4", 3, 15e6D, 25,"Vt"), + lepton_Ve_ = new EMNeutrinoDefinition("tt.keyword.PositronNeutrino", "~\u03bd\u03b2", -1, 2e0D, 22,"~Ve"), + lepton_Vm_ = new EMNeutrinoDefinition("tt.keyword.AntimuonNeutrino", "~\u03bd\u03bc", -2, 0.15e6D, 24,"~Vm"), + lepton_Vt_ = new EMNeutrinoDefinition("tt.keyword.AntitauonNeutrino", "~\u03bd\u03c4", -3, 15e6D, 26,"~Vt"); + + public static final EMDefinitionStack lepton_Ve1 = new EMDefinitionStack(lepton_Ve, 1); + public static final EMDefinitionStack lepton_Ve2 = new EMDefinitionStack(lepton_Ve, 2); public static final EMDefinitionStack lepton_Ve_1 = new EMDefinitionStack(lepton_Ve_, 1); public static final EMDefinitionStack lepton_Ve_2 = new EMDefinitionStack(lepton_Ve_, 2); - protected EMNeutrinoDefinition(String name, String symbol, int type, double mass, int ID, String bind) { - super(name, symbol, type, mass, 0, ID, bind); + protected EMNeutrinoDefinition(String name, String symbol, int type, double mass, int ID,String bind) { + super(name, symbol, type, mass, 0, ID,bind); } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(new EMType(EMNeutrinoDefinition.class, "tt.keyword.Neutrino")); - lepton_Ve.init(registry, lepton_Ve_, 1D, -1, -1, EMDecay.NO_PRODUCT); - lepton_Vm.init(registry, lepton_Vm_, 1D, 1, 0, new EMDecay(0.825D, nothing), deadEndHalf); - lepton_Vt.init(registry, lepton_Vt_, 1, 1, 0, new EMDecay(0.75F, nothing), deadEnd); - - lepton_Ve_.init(registry, lepton_Ve, 1, -1, -1, EMDecay.NO_PRODUCT); - lepton_Vm_.init(registry, lepton_Vm, 1, 1, 0, new EMDecay(0.825F, nothing), deadEndHalf); - lepton_Vt_.init(registry, lepton_Vt, 1, 1, 0, new EMDecay(0.75F, nothing), deadEnd); + registry.registerDefinitionClass(new EMType(EMNeutrinoDefinition.class,"tt.keyword.Neutrino")); + lepton_Ve.init(registry,lepton_Ve_, 1D, -1, -1, + EMDecay.NO_PRODUCT); + lepton_Vm.init(registry,lepton_Vm_, 1D, 1, 0, + new EMDecay(0.825D, nothing), + deadEndHalf); + lepton_Vt.init(registry,lepton_Vt_, 1, 1, 0, + new EMDecay(0.75F, nothing), + deadEnd); + + lepton_Ve_.init(registry,lepton_Ve, 1, -1, -1, + EMDecay.NO_PRODUCT); + lepton_Vm_.init(registry,lepton_Vm, 1, 1, 0, + new EMDecay(0.825F, nothing), + deadEndHalf); + lepton_Vt_.init(registry,lepton_Vt, 1, 1, 0, + new EMDecay(0.75F, nothing), + deadEnd); } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMPrimitiveDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMPrimitiveDefinition.java index b78e6857a8..c2b77f7704 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMPrimitiveDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMPrimitiveDefinition.java @@ -1,40 +1,28 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; -import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.EMPrimitiveTemplate; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; +import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 22.10.2016. */ public class EMPrimitiveDefinition extends EMPrimitiveTemplate { public static final EMPrimitiveDefinition - nbtE__ = new EMPrimitiveDefinition("tt.keyword.PrimitiveNBTERROR", "!", 0, 0D, -1, Integer.MIN_VALUE, "!"), - null__ = - new EMPrimitiveDefinition( - "tt.keyword.PrimitiveNULLPOINTER", ".", 0, 0D, -3, Integer.MIN_VALUE + 1, "."), - space = new EMPrimitiveDefinition("tt.keyword.PrimitiveSpace", "_", 0, 0D, -4, Integer.MIN_VALUE + 2, "_"), - space_ = - new EMPrimitiveDefinition( - "tt.keyword.PrimitivePresence", "~_", 0, 0D, -4, Integer.MIN_VALUE + 3, "~_"), - mass = new EMPrimitiveDefinition("tt.keyword.PrimitiveMass", "*", 0, 1, -4, Integer.MIN_VALUE + 4, "*"), - mass_ = - new EMPrimitiveDefinition( - "tt.keyword.PrimitiveDarkMass", "~*", 0, 1, -4, Integer.MIN_VALUE + 5, "~*"), - energy = - new EMPrimitiveDefinition("tt.keyword.PrimitiveEnergy", "E", 4, 0D, -4, Integer.MIN_VALUE + 6, "E"), - energy_ = - new EMPrimitiveDefinition( - "tt.keyword.PrimitiveDarkEnergy", "~E", -4, 0, -4, Integer.MIN_VALUE + 7, "~E"), - magic = - new EMPrimitiveDefinition( - "tt.keyword.PrimitiveMagic", "Ma", 5, 1e5D, 0, Integer.MIN_VALUE + 8, "Ma"), - magic_ = - new EMPrimitiveDefinition( - "tt.keyword.PrimitiveAntimagic", "~Ma", -5, 1e5D, 0, Integer.MIN_VALUE + 9, "~Ma"); + nbtE__ = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveNBTERROR" , "!" , 0 , 0D , -1 , Integer.MIN_VALUE , "!" ), + null__ = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveNULLPOINTER" , "." , 0 , 0D , -3 , Integer.MIN_VALUE+1 , "." ), + space = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveSpace" , "_" , 0 , 0D , -4 , Integer.MIN_VALUE + 2 , "_" ), + space_ = new EMPrimitiveDefinition ( "tt.keyword.PrimitivePresence" , "~_" , 0 , 0D , -4 , Integer.MIN_VALUE + 3 , "~_" ), + mass = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveMass" , "*" , 0 , 1 , -4 , Integer.MIN_VALUE + 4 , "*" ), + mass_ = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveDarkMass" , "~*" , 0 , 1 , -4 , Integer.MIN_VALUE + 5 , "~*" ), + energy = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveEnergy" , "E" , 4 , 0D , -4 , Integer.MIN_VALUE + 6 , "E" ), + energy_ = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveDarkEnergy" , "~E" , -4 , 0 , -4 , Integer.MIN_VALUE + 7 , "~E" ), + magic = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveMagic" , "Ma" , 5 , 1e5D , 0 , Integer.MIN_VALUE + 8 , "Ma" ), + magic_ = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveAntimagic" , "~Ma" , -5 , 1e5D , 0 , Integer.MIN_VALUE + 9 , "~Ma" ); + protected EMPrimitiveDefinition(String name, String symbol, int type, double mass, int color, int ID, String bind) { super(name, symbol, type, mass, 0, color, ID, bind); @@ -67,4 +55,4 @@ public class EMPrimitiveDefinition extends EMPrimitiveTemplate { public boolean isTimeSpanHalfLife() { return false; } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMQuarkDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMQuarkDefinition.java index f1179f892f..a93b16ca0d 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMQuarkDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMQuarkDefinition.java @@ -1,161 +1,101 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; +import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; + import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMLeptonDefinition.*; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMNeutrinoDefinition.*; import static net.minecraft.util.StatCollector.translateToLocal; -import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; - /** * Created by danie_000 on 22.10.2016. */ public class EMQuarkDefinition extends EMFermionDefinition { public static final EMQuarkDefinition - quark_u = new EMQuarkDefinition("tt.keyword.QuarkUp", "u", 1, 2.3e6D, 2, 3, "u"), - quark_c = new EMQuarkDefinition("tt.keyword.QuarkCharm", "c", 2, 1.29e9D, 2, 9, "c"), - quark_t = new EMQuarkDefinition("tt.keyword.QuarkTop", "t", 3, 172.44e9D, 2, 13, "t"), - quark_d = new EMQuarkDefinition("tt.keyword.QuarkDown", "d", 1, 4.8e6D, -1, 5, "d"), - quark_s = new EMQuarkDefinition("tt.keyword.QuarkStrange", "s", 2, 95e6D, -1, 7, "s"), - quark_b = new EMQuarkDefinition("tt.keyword.QuarkBottom", "b", 3, 4.65e9D, -1, 11, "b"), - quark_u_ = new EMQuarkDefinition("tt.keyword.QuarkAntiUp", "~u", -1, 2.3e6D, -2, 4, "~u"), - quark_c_ = new EMQuarkDefinition("tt.keyword.QuarkAntiCharm", "~c", -2, 1.29e9D, -2, 10, "~c"), - quark_t_ = new EMQuarkDefinition("tt.keyword.QuarkAntiTop", "~t", -3, 172.44e9D, -2, 14, "~t"), - quark_d_ = new EMQuarkDefinition("tt.keyword.QuarkAntiDown", "~d", -1, 4.8e6D, 1, 6, "~d"), - quark_s_ = new EMQuarkDefinition("tt.keyword.QuarkAntiStrange", "~s", -2, 95e6D, 1, 8, "~s"), - quark_b_ = new EMQuarkDefinition("tt.keyword.QuarkAntiBottom", "~b", -3, 4.65e9D, 1, 12, "~b"); + quark_u = new EMQuarkDefinition("tt.keyword.QuarkUp", "u", 1, 2.3e6D, 2, 3,"u"), + quark_c = new EMQuarkDefinition("tt.keyword.QuarkCharm", "c", 2, 1.29e9D, 2, 9,"c"), + quark_t = new EMQuarkDefinition("tt.keyword.QuarkTop", "t", 3, 172.44e9D, 2, 13,"t"), + quark_d = new EMQuarkDefinition("tt.keyword.QuarkDown", "d", 1, 4.8e6D, -1, 5,"d"), + quark_s = new EMQuarkDefinition("tt.keyword.QuarkStrange", "s", 2, 95e6D, -1, 7,"s"), + quark_b = new EMQuarkDefinition("tt.keyword.QuarkBottom", "b", 3, 4.65e9D, -1, 11,"b"), + quark_u_ = new EMQuarkDefinition("tt.keyword.QuarkAntiUp", "~u", -1, 2.3e6D, -2, 4,"~u"), + quark_c_ = new EMQuarkDefinition("tt.keyword.QuarkAntiCharm", "~c", -2, 1.29e9D, -2, 10,"~c"), + quark_t_ = new EMQuarkDefinition("tt.keyword.QuarkAntiTop", "~t", -3, 172.44e9D, -2, 14,"~t"), + quark_d_ = new EMQuarkDefinition("tt.keyword.QuarkAntiDown", "~d", -1, 4.8e6D, 1, 6,"~d"), + quark_s_ = new EMQuarkDefinition("tt.keyword.QuarkAntiStrange", "~s", -2, 95e6D, 1, 8,"~s"), + quark_b_ = new EMQuarkDefinition("tt.keyword.QuarkAntiBottom", "~b", -3, 4.65e9D, 1, 12,"~b"); - protected EMQuarkDefinition(String name, String symbol, int type, double mass, int charge, int ID, String bind) { - super(name, symbol, type, mass, charge, 0, ID, bind); + protected EMQuarkDefinition(String name, String symbol, int type, double mass, int charge, int ID,String bind) { + super(name, symbol, type, mass, charge, 0, ID,bind); } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(new EMType(EMQuarkDefinition.class, "tt.keyword.Quark")); - quark_u.init( - registry, - quark_u_, - STABLE_RAW_LIFE_TIME, - 3, - -1, - new EMDecay(1.23201e-5D, quark_b /*,lepton_t_,lepton_Vt*/), - new EMDecay(0.050778116D, quark_s /*,lepton_m_,lepton_Vm*/), + registry.registerDefinitionClass(new EMType(EMQuarkDefinition.class,"tt.keyword.Quark")); + quark_u.init(registry,quark_u_, STABLE_RAW_LIFE_TIME, 3, -1, + new EMDecay(1.23201e-5D, quark_b/*,lepton_t_,lepton_Vt*/), + new EMDecay(0.050778116D, quark_s/*,lepton_m_,lepton_Vm*/), new EMDecay(0.9D, quark_d, lepton_e_, lepton_Ve), - deadEnd); // makes photons and don't care - quark_c.init( - registry, - quark_c_, - 0.5e-13D, - 1, - -1, - new EMDecay(0.00169744D, quark_b /*,lepton_t_,lepton_Vt*/), + deadEnd);//makes photons and don't care + quark_c.init(registry,quark_c_, 0.5e-13D, 1, -1, + new EMDecay(0.00169744D, quark_b/*,lepton_t_,lepton_Vt*/), new EMDecay(0.05071504D, quark_d, lepton_m_, lepton_Vm), new EMDecay(0.9D, quark_s, lepton_e_, lepton_Ve), - deadEnd); // makes photons and don't care - quark_t.init( - registry, - quark_t_, - 2.5e-26D, - 0, - -1, + deadEnd);//makes photons and don't care + quark_t.init(registry,quark_t_, 2.5e-26D, 0, -1, new EMDecay(7.51689e-5D, quark_d, lepton_t_, lepton_Vt), new EMDecay(0.00163216D, quark_s, lepton_m_, lepton_Vm), new EMDecay(0.9D, quark_b, lepton_e_, lepton_Ve), - deadEnd); // makes photons and don't care + deadEnd);//makes photons and don't care - quark_d.init( - registry, - quark_d_, - STABLE_RAW_LIFE_TIME, - 3, - -1, - new EMDecay(7.51689e-5D, quark_t /*,lepton_t,lepton_Vt_*/), - new EMDecay(0.05071504D, quark_c /*,lepton_m,lepton_Vm_*/), + quark_d.init(registry,quark_d_, STABLE_RAW_LIFE_TIME, 3, -1, + new EMDecay(7.51689e-5D, quark_t/*,lepton_t,lepton_Vt_*/), + new EMDecay(0.05071504D, quark_c/*,lepton_m,lepton_Vm_*/), new EMDecay(0.9D, quark_u, lepton_e, lepton_Ve_), - deadEnd); // makes photons and don't care - quark_s.init( - registry, - quark_s_, - 0.6e-9D, - 1, - -1, - new EMDecay(0.00163216D, quark_t /*,lepton_t,lepton_Vt_*/), + deadEnd);//makes photons and don't care + quark_s.init(registry,quark_s_, 0.6e-9D, 1, -1, + new EMDecay(0.00163216D, quark_t/*,lepton_t,lepton_Vt_*/), new EMDecay(0.050778116D, quark_u, lepton_m, lepton_Vm_), new EMDecay(0.9D, quark_c, lepton_e, lepton_Ve_), - deadEnd); // makes photons and don't care - quark_b.init( - registry, - quark_b_, - 0.7e-13D, - 0, - -1, + deadEnd);//makes photons and don't care + quark_b.init(registry,quark_b_, 0.7e-13D, 0, -1, new EMDecay(1.23201e-5D, quark_u, lepton_t, lepton_Vt_), new EMDecay(0.00169744D, quark_c, lepton_m, lepton_Vm_), new EMDecay(0.9D, quark_t, lepton_e, lepton_Ve_), - deadEnd); // makes photons and don't care + deadEnd);//makes photons and don't care - quark_u_.init( - registry, - quark_u, - STABLE_RAW_LIFE_TIME, - 3, - -1, - new EMDecay(1.23201e-5D, quark_b_ /*,lepton_t,lepton_Vt_*/), - new EMDecay(0.050778116D, quark_s_ /*,lepton_m,lepton_Vm_*/), + quark_u_.init(registry,quark_u, STABLE_RAW_LIFE_TIME, 3, -1, + new EMDecay(1.23201e-5D, quark_b_/*,lepton_t,lepton_Vt_*/), + new EMDecay(0.050778116D, quark_s_/*,lepton_m,lepton_Vm_*/), new EMDecay(0.9D, quark_d_, lepton_e, lepton_Ve_), - deadEnd); // makes photons and don't care - quark_c_.init( - registry, - quark_c, - 0.5e-13D, - 1, - -1, - new EMDecay(0.00169744F, quark_b_ /*,lepton_t,lepton_Vt_*/), + deadEnd);//makes photons and don't care + quark_c_.init(registry,quark_c, 0.5e-13D, 1, -1, + new EMDecay(0.00169744F, quark_b_/*,lepton_t,lepton_Vt_*/), new EMDecay(0.05071504F, quark_d_, lepton_m, lepton_Vm_), new EMDecay(0.9F, quark_s_, lepton_e, lepton_Ve_), - deadEnd); // makes photons and don't care - quark_t_.init( - registry, - quark_t, - 2.5e-26F, - 0, - -1, + deadEnd);//makes photons and don't care + quark_t_.init(registry,quark_t, 2.5e-26F, 0, -1, new EMDecay(7.51689e-5F, quark_d_, lepton_t, lepton_Vt_), new EMDecay(0.00163216F, quark_s_, lepton_m, lepton_Vm_), new EMDecay(0.9F, quark_b_, lepton_e, lepton_Ve_), - deadEnd); // makes photons and don't care + deadEnd);//makes photons and don't care - quark_d_.init( - registry, - quark_d, - STABLE_RAW_LIFE_TIME, - 3, - -1, - new EMDecay(7.51689e-5F, quark_t_ /*,lepton_t_,lepton_Vt*/), - new EMDecay(0.05071504F, quark_c_ /*,lepton_m_,lepton_Vm*/), + quark_d_.init(registry,quark_d, STABLE_RAW_LIFE_TIME, 3, -1, + new EMDecay(7.51689e-5F, quark_t_/*,lepton_t_,lepton_Vt*/), + new EMDecay(0.05071504F, quark_c_/*,lepton_m_,lepton_Vm*/), new EMDecay(0.9F, quark_u_, lepton_e_, lepton_Ve), - deadEnd); // makes photons and don't care - quark_s_.init( - registry, - quark_s, - 0.6e-9F, - 1, - -1, - new EMDecay(0.00163216F, quark_t_ /*,lepton_t_,lepton_Vt*/), + deadEnd);//makes photons and don't care + quark_s_.init(registry,quark_s, 0.6e-9F, 1, -1, + new EMDecay(0.00163216F, quark_t_/*,lepton_t_,lepton_Vt*/), new EMDecay(0.050778116F, quark_u_, lepton_m_, lepton_Vm), new EMDecay(0.9F, quark_c_, lepton_e_, lepton_Ve), - deadEnd); // makes photons and don't care - quark_b_.init( - registry, - quark_b, - 0.7e-13F, - 0, - -1, + deadEnd);//makes photons and don't care + quark_b_.init(registry,quark_b, 0.7e-13F, 0, -1, new EMDecay(1.23201e-5F, quark_u_, lepton_t_, lepton_Vt), new EMDecay(0.00169744F, quark_c_, lepton_m_, lepton_Vm), new EMDecay(0.9F, quark_t_, lepton_e_, lepton_Ve), - deadEnd); // makes photons and don't care + deadEnd);//makes photons and don't care } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMScalarBosonDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMScalarBosonDefinition.java index 3488ccc7ad..c90e89108b 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMScalarBosonDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMScalarBosonDefinition.java @@ -1,42 +1,37 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.*; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMLeptonDefinition.*; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMQuarkDefinition.*; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; import com.github.technus.tectech.util.TT_Utility; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.*; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMLeptonDefinition.*; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMQuarkDefinition.*; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 22.10.2016. */ public class EMScalarBosonDefinition extends EMBosonDefinition { - public static final EMScalarBosonDefinition boson_H__ = - new EMScalarBosonDefinition("tt.keyword.Higgs", "H0", 125.09e9D, -2, 32, "H0"); + public static final EMScalarBosonDefinition + boson_H__ = new EMScalarBosonDefinition("tt.keyword.Higgs", "H0", 125.09e9D, -2, 32,"H0"); - private EMScalarBosonDefinition(String name, String symbol, double mass, int color, int ID, String bind) { - super(name, TT_Utility.toSuperscript(symbol), 0, mass, 0, color, ID, bind); + private EMScalarBosonDefinition(String name, String symbol, double mass, int color, int ID,String bind) { + super(name,TT_Utility.toSuperscript(symbol), 0, mass, 0, color, ID,bind); } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(new EMType(EMScalarBosonDefinition.class, "tt.keyword.ScalarBoson")); - boson_H__.init( - registry, - boson_H__, - 1.56e-22D, - 8, - 8, - new EMDecay(0.0002171, lepton_m, lepton_m_), - new EMDecay(0.001541, boson_Z, boson_Y__), - new EMDecay(0.02641, boson_Z, boson_Z), - new EMDecay(0.02884, quark_c, quark_c_), - new EMDecay(0.06256, lepton_t, lepton_t_), - new EMDecay(0.0818, boson_g__, boson_g__), - new EMDecay(0.2152, boson_W_, boson_W), - new EMDecay(0.5809, quark_b, quark_b_), + registry.registerDefinitionClass(new EMType(EMScalarBosonDefinition.class,"tt.keyword.ScalarBoson")); + boson_H__.init(registry,boson_H__, 1.56e-22D, 8, 8, + new EMDecay ( 0.0002171 , lepton_m , lepton_m_ ), + new EMDecay ( 0.001541 , boson_Z, boson_Y__ ), + new EMDecay ( 0.02641 , boson_Z, boson_Z), + new EMDecay ( 0.02884 , quark_c , quark_c_ ), + new EMDecay ( 0.06256 , lepton_t , lepton_t_ ), + new EMDecay ( 0.0818 , boson_g__ , boson_g__ ), + new EMDecay ( 0.2152 , boson_W_, boson_W), + new EMDecay ( 0.5809 , quark_b , quark_b_ ), deadEnd); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java index e7ec1b6dd7..ca1d872ed1 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java @@ -1,6 +1,5 @@ package com.github.technus.tectech.mechanics.enderStorage; -import java.io.Serializable; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.Fluid; @@ -8,18 +7,18 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidHandler; +import java.io.Serializable; + public class EnderFluidContainer implements IFluidHandler, Serializable { private static final int CAPACITY = 64000; - @Deprecated() private int fluidID = -1; - @Deprecated() private int fluidQuantity = 0; - private NBTTagCompound fluid; - public EnderFluidContainer() {} + public EnderFluidContainer() { + } private FluidStack getFluidStack() { FluidStack fluidStack = null; @@ -42,6 +41,7 @@ public class EnderFluidContainer implements IFluidHandler, Serializable { } } + @Override public int fill(ForgeDirection side, FluidStack fluidStackIn, boolean doFill) { int filledFluid = 0; @@ -102,6 +102,6 @@ public class EnderFluidContainer implements IFluidHandler, Serializable { @Override public FluidTankInfo[] getTankInfo(ForgeDirection forgeDirection) { - return new FluidTankInfo[] {new FluidTankInfo(getFluidStack(), CAPACITY)}; + return new FluidTankInfo[]{new FluidTankInfo(getFluidStack(), CAPACITY)}; } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkCoverMessage.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkCoverMessage.java index e58fa29cbc..64bd1d940b 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkCoverMessage.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkCoverMessage.java @@ -1,29 +1,31 @@ package com.github.technus.tectech.mechanics.enderStorage; -import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.bindEnderLinkTag; -import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderLinkTag; -import static com.github.technus.tectech.thing.cover.GT_Cover_TM_EnderFluidLink.setEnderLinkTag; - import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.MessageContext; import eu.usrv.yamcore.network.client.AbstractClientMessageHandler; import eu.usrv.yamcore.network.server.AbstractServerMessageHandler; import gregtech.api.metatileentity.BaseMetaTileEntity; import io.netty.buffer.ByteBuf; -import java.io.*; -import java.util.Arrays; import net.minecraft.entity.player.EntityPlayer; import net.minecraftforge.fluids.IFluidHandler; +import java.io.*; +import java.util.Arrays; + +import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.bindEnderLinkTag; +import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderLinkTag; +import static com.github.technus.tectech.thing.cover.GT_Cover_TM_EnderFluidLink.setEnderLinkTag; + public class EnderLinkCoverMessage implements IMessage { EnderLinkTankWithTag messageData; - public EnderLinkCoverMessage() {} + public EnderLinkCoverMessage() { + } @Override public void fromBytes(ByteBuf pBuffer) { try { - // I'd love to know why I need to offset by one byte for this to work + //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); @@ -48,7 +50,8 @@ public class EnderLinkCoverMessage implements IMessage { } public static class EnderLinkCoverQuery extends EnderLinkCoverMessage { - public EnderLinkCoverQuery() {} + public EnderLinkCoverQuery() { + } public EnderLinkCoverQuery(EnderLinkTag tag, IFluidHandler fluidHandler) { messageData = new EnderLinkTankWithTag(tag, fluidHandler); @@ -56,7 +59,8 @@ public class EnderLinkCoverMessage implements IMessage { } public static class EnderLinkCoverUpdate extends EnderLinkCoverMessage { - public EnderLinkCoverUpdate() {} + public EnderLinkCoverUpdate() { + } public EnderLinkCoverUpdate(EnderLinkTag tag, IFluidHandler fluidHandler) { messageData = new EnderLinkTankWithTag(tag, fluidHandler); @@ -64,7 +68,8 @@ public class EnderLinkCoverMessage implements IMessage { } public static class EnderLinkCoverData extends EnderLinkCoverMessage { - public EnderLinkCoverData() {} + public EnderLinkCoverData() { + } public EnderLinkCoverData(EnderLinkTag tag, IFluidHandler fluidHandler) { messageData = new EnderLinkTankWithTag(tag, fluidHandler); @@ -76,8 +81,7 @@ public class EnderLinkCoverMessage implements IMessage { public IMessage handleServerMessage(EntityPlayer pPlayer, EnderLinkCoverQuery pMessage, MessageContext pCtx) { IMessage reply = null; if (pMessage.messageData != null) { - reply = new EnderLinkCoverData( - getEnderLinkTag(pMessage.messageData.getFluidHandler()), + reply = new EnderLinkCoverData(getEnderLinkTag(pMessage.messageData.getFluidHandler()), pMessage.messageData.getFluidHandler()); } return reply; @@ -90,11 +94,11 @@ public class EnderLinkCoverMessage implements IMessage { if (pMessage.messageData != null) { EnderLinkTag tag = pMessage.messageData.getTag(); IFluidHandler handler = pMessage.messageData.getFluidHandler(); - if (tag.getUUID() == null) { + if (tag.getUUID() == null){ bindEnderLinkTag(handler, tag); } else if (handler instanceof BaseMetaTileEntity) { BaseMetaTileEntity baseTile = (BaseMetaTileEntity) handler; - if (tag.getUUID().equals(baseTile.getOwnerUuid())) { + if (tag.getUUID().equals(baseTile.getOwnerUuid())){ bindEnderLinkTag(handler, tag); } } @@ -125,4 +129,4 @@ public class EnderLinkCoverMessage implements IMessage { return tag; } } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTag.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTag.java index 6b6fa0b228..60e0acdb1d 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTag.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTag.java @@ -1,6 +1,7 @@ package com.github.technus.tectech.mechanics.enderStorage; import com.google.common.base.Objects; + import java.io.Serializable; import java.util.UUID; @@ -13,9 +14,7 @@ public class EnderLinkTag implements Serializable { this.player = player; } - public String getFrequency() { - return frequency; - } + public String getFrequency() { return frequency; } public UUID getUUID() { return player; @@ -26,7 +25,8 @@ public class EnderLinkTag implements Serializable { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; EnderLinkTag that = (EnderLinkTag) o; - return Objects.equal(frequency, that.frequency) && Objects.equal(player, that.player); + return Objects.equal(frequency, that.frequency) && + Objects.equal(player, that.player); } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTank.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTank.java index 93347d2016..a64a629161 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTank.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTank.java @@ -1,11 +1,12 @@ package com.github.technus.tectech.mechanics.enderStorage; import com.google.common.base.Objects; -import java.io.Serializable; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.DimensionManager; import net.minecraftforge.fluids.IFluidHandler; +import java.io.Serializable; + public class EnderLinkTank implements Serializable { private final int X; private final int Y; @@ -13,7 +14,7 @@ public class EnderLinkTank implements Serializable { private final int D; public EnderLinkTank(IFluidHandler fluidHandler) { - TileEntity tile = (TileEntity) fluidHandler; + TileEntity tile = (TileEntity)fluidHandler; X = tile.xCoord; Y = tile.yCoord; Z = tile.zCoord; @@ -32,7 +33,10 @@ public class EnderLinkTank implements Serializable { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; EnderLinkTank that = (EnderLinkTank) o; - return X == that.X && Y == that.Y && Z == that.Z && D == that.D; + return X == that.X && + Y == that.Y && + Z == that.Z && + D == that.D; } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java index 1297e6ed03..d0503aa45c 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java @@ -1,16 +1,17 @@ package com.github.technus.tectech.mechanics.enderStorage; -import static com.github.technus.tectech.Reference.MODID; - -import java.io.*; -import java.util.HashMap; -import java.util.Map; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.WorldSavedData; import net.minecraft.world.storage.MapStorage; import net.minecraftforge.common.DimensionManager; import net.minecraftforge.fluids.IFluidHandler; +import java.io.*; +import java.util.HashMap; +import java.util.Map; + +import static com.github.technus.tectech.Reference.MODID; + public class EnderWorldSavedData extends WorldSavedData { private static EnderWorldSavedData INSTANCE; @@ -124,4 +125,4 @@ public class EnderWorldSavedData extends WorldSavedData { getEnderLiquidTankLink().remove(tank); getEnderLiquidTankLink().put(tank, tag); } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/mechanics/pipe/IActivePipe.java b/src/main/java/com/github/technus/tectech/mechanics/pipe/IActivePipe.java index c7f770e5e8..4f244c804b 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/pipe/IActivePipe.java +++ b/src/main/java/com/github/technus/tectech/mechanics/pipe/IActivePipe.java @@ -4,8 +4,6 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; public interface IActivePipe extends IMetaTileEntity { void setActive(boolean active); - boolean getActive(); - void markUsed(); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/pipe/PipeActivityMessage.java b/src/main/java/com/github/technus/tectech/mechanics/pipe/PipeActivityMessage.java index a7a0f8b02e..abde23f33e 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/pipe/PipeActivityMessage.java +++ b/src/main/java/com/github/technus/tectech/mechanics/pipe/PipeActivityMessage.java @@ -21,23 +21,24 @@ public class PipeActivityMessage implements IMessage { int mPosD; int mActive; - public PipeActivityMessage() {} + public PipeActivityMessage() { + } private PipeActivityMessage(IActivePipe metaTile) { - IGregTechTileEntity base = metaTile.getBaseMetaTileEntity(); - mPosX = base.getXCoord(); - mPosY = base.getYCoord(); - mPosZ = base.getZCoord(); - mPosD = base.getWorld().provider.dimensionId; - mActive = metaTile.getActive() ? 1 : 0; + IGregTechTileEntity base=metaTile.getBaseMetaTileEntity(); + mPosX=base.getXCoord(); + mPosY=base.getYCoord(); + mPosZ=base.getZCoord(); + mPosD=base.getWorld().provider.dimensionId; + mActive=metaTile.getActive()?1:0; } private PipeActivityMessage(World world, int x, int y, int z, boolean active) { - mPosX = x; - mPosY = y; - mPosZ = z; - mPosD = world.provider.dimensionId; - mActive = active ? 1 : 0; + mPosX=x; + mPosY=y; + mPosZ=z; + mPosD=world.provider.dimensionId; + mActive=active?1:0; } @Override @@ -63,46 +64,48 @@ public class PipeActivityMessage implements IMessage { } public static class PipeActivityQuery extends PipeActivityMessage { - public PipeActivityQuery() {} + public PipeActivityQuery() { + } public PipeActivityQuery(IActivePipe metaTile) { super(metaTile); } - public PipeActivityQuery(World world, int x, int y, int z, boolean active) { - super(world, x, y, z, active); + public PipeActivityQuery(World world, int x,int y,int z, boolean active) { + super(world,x,y,z,active); } } public static class PipeActivityData extends PipeActivityMessage { - public PipeActivityData() {} - - private PipeActivityData(PipeActivityQuery query) { - mPosX = query.mPosX; - mPosY = query.mPosY; - mPosZ = query.mPosZ; - mPosD = query.mPosD; - mActive = query.mActive; + public PipeActivityData() { + } + + private PipeActivityData(PipeActivityQuery query){ + mPosX=query.mPosX; + mPosY=query.mPosY; + mPosZ=query.mPosZ; + mPosD=query.mPosD; + mActive=query.mActive; } public PipeActivityData(IActivePipe metaTile) { super(metaTile); } - public PipeActivityData(World world, int x, int y, int z, boolean active) { - super(world, x, y, z, active); + public PipeActivityData(World world, int x,int y,int z, boolean active) { + super(world,x,y,z,active); } } public static class ClientHandler extends AbstractClientMessageHandler { @Override public IMessage handleClientMessage(EntityPlayer pPlayer, PipeActivityData pMessage, MessageContext pCtx) { - if (pPlayer.worldObj.provider.dimensionId == pMessage.mPosD) { - TileEntity te = pPlayer.worldObj.getTileEntity(pMessage.mPosX, pMessage.mPosY, pMessage.mPosZ); - if (te instanceof IGregTechTileEntity) { + if(pPlayer.worldObj.provider.dimensionId==pMessage.mPosD){ + TileEntity te=pPlayer.worldObj.getTileEntity(pMessage.mPosX,pMessage.mPosY,pMessage.mPosZ); + if(te instanceof IGregTechTileEntity){ IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); - if (meta instanceof IActivePipe) { - ((IActivePipe) meta).setActive(pMessage.mActive == 1); + if(meta instanceof IActivePipe){ + ((IActivePipe) meta).setActive(pMessage.mActive==1); } } } @@ -113,13 +116,13 @@ public class PipeActivityMessage implements IMessage { public static class ServerHandler extends AbstractServerMessageHandler { @Override public IMessage handleServerMessage(EntityPlayer pPlayer, PipeActivityQuery pMessage, MessageContext pCtx) { - World world = DimensionManager.getWorld(pMessage.mPosD); - if (world != null) { + World world= DimensionManager.getWorld(pMessage.mPosD); + if(world!=null) { TileEntity te = world.getTileEntity(pMessage.mPosX, pMessage.mPosY, pMessage.mPosZ); if (te instanceof IGregTechTileEntity) { IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); if (meta instanceof IActivePipe) { - pMessage.mActive = ((IActivePipe) meta).getActive() ? 1 : 0; + pMessage.mActive=((IActivePipe) meta).getActive()?1:0; return new PipeActivityData(pMessage); } } @@ -127,4 +130,4 @@ public class PipeActivityMessage implements IMessage { return null; } } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/mechanics/spark/RendererMessage.java b/src/main/java/com/github/technus/tectech/mechanics/spark/RendererMessage.java index a42d774bff..dcc9bfd8fd 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/spark/RendererMessage.java +++ b/src/main/java/com/github/technus/tectech/mechanics/spark/RendererMessage.java @@ -7,25 +7,27 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import eu.usrv.yamcore.network.client.AbstractClientMessageHandler; import io.netty.buffer.ByteBuf; -import java.io.*; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Random; import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; import thaumcraft.client.fx.bolt.FXLightningBolt; -// TODO Re-work how sparks are distributed +import java.io.*; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Random; + +//TODO Re-work how sparks are distributed public class RendererMessage implements IMessage { HashSet sparkList; - public RendererMessage() {} + 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 + //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); @@ -50,17 +52,19 @@ public class RendererMessage implements IMessage { } public static class RendererData extends RendererMessage { - public RendererData() {} + public RendererData() { + } public RendererData(HashSet eSparkList) { sparkList = eSparkList; } } + public static class ClientHandler extends AbstractClientMessageHandler { @Override public IMessage handleClientMessage(EntityPlayer pPlayer, RendererData pMessage, MessageContext pCtx) { - // disgusting + //disgusting Random localRand = Minecraft.getMinecraft().theWorld.rand; int[] zapsToUse = new int[4]; for (int i = 0; i < 3; i++) { @@ -69,7 +73,7 @@ public class RendererMessage implements IMessage { int i = 0; for (ThaumSpark sp : pMessage.sparkList) { for (int j : zapsToUse) { - if (i == j) { + if(i == j){ thaumLightning(sp.x, sp.y, sp.z, sp.xR, sp.yR, sp.zR, sp.wID); } } @@ -82,22 +86,11 @@ public class RendererMessage implements IMessage { @SideOnly(Side.CLIENT) private static void thaumLightning(int tX, int tY, int tZ, int tXN, int tYN, int tZN, int wID) { - // This is enough to check for thaum, since it only ever matters for client side effects (Tested not to crash) + //This is enough to check for thaum, since it only ever matters for client side effects (Tested not to crash) if (Loader.isModLoaded("Thaumcraft")) { World world = Minecraft.getMinecraft().theWorld; - if (world.provider.dimensionId == 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); + if (world.provider.dimensionId == 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); @@ -105,4 +98,4 @@ public class RendererMessage implements IMessage { } } } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/mechanics/spark/ThaumSpark.java b/src/main/java/com/github/technus/tectech/mechanics/spark/ThaumSpark.java index 8bce1e56d4..0480cfffd2 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/spark/ThaumSpark.java +++ b/src/main/java/com/github/technus/tectech/mechanics/spark/ThaumSpark.java @@ -1,11 +1,13 @@ package com.github.technus.tectech.mechanics.spark; + import com.gtnewhorizon.structurelib.util.Vec3Impl; + import java.io.Serializable; import java.util.Objects; public class ThaumSpark implements Serializable { - // This works regardless of if TC is loaded + //This works regardless of if TC is loaded private static final long serialVersionUID = -7037856938316679566L; public int x, y, z, wID; public byte xR, yR, zR; @@ -40,13 +42,13 @@ public class ThaumSpark implements Serializable { 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; + return x == that.x && + y == that.y && + z == that.z && + wID == that.wID && + xR == that.xR && + yR == that.yR && + zR == that.zR; } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectable.java b/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectable.java index 632cf9e130..de8d828cf4 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectable.java +++ b/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectable.java @@ -1,43 +1,40 @@ package com.github.technus.tectech.mechanics.tesla; -import static java.lang.Math.sqrt; - import com.github.technus.tectech.mechanics.spark.ThaumSpark; import com.google.common.collect.Multimap; + import java.util.HashSet; import java.util.Map; +import static java.lang.Math.sqrt; + public interface ITeslaConnectable extends ITeslaConnectableSimple { - // Map with all Teslas in the same dimension and the distance to them //TODO Range + //Map with all Teslas in the same dimension and the distance to them //TODO Range Multimap getTeslaNodeMap(); - // ThaumCraft lighting coordinate pairs, so we can send them in bursts and save on lag + //ThaumCraft lighting coordinate pairs, so we can send them in bursts and save on lag HashSet getSparkList(); - // -128 to -1 disables capability - // 0 means any source or target - // 1 to 127 must match on source and target or source/target must be 0 + //-128 to -1 disables capability + //0 means any source or target + //1 to 127 must match on source and target or source/target must be 0 byte getTeslaTransmissionCapability(); - // Transmission Range is typically 16+ in blocks + //Transmission Range is typically 16+ in blocks int getTeslaTransmissionRange(); - boolean isOverdriveEnabled(); int getTeslaEnergyLossPerBlock(); - float getTeslaOverdriveLossCoefficient(); long getTeslaOutputVoltage(); - long getTeslaOutputCurrent(); boolean teslaDrainEnergy(long teslaVoltageDrained); class TeslaUtil { - private static final HashSet teslaSimpleNodeSet = - new HashSet<>(); // Targets for power transmission - private static final HashSet teslaNodeSet = new HashSet<>(); // Sources of power transmission + private static final HashSet teslaSimpleNodeSet = new HashSet<>();//Targets for power transmission + private static final HashSet teslaNodeSet = new HashSet<>();//Sources of power transmission public static void teslaSimpleNodeSetAdd(ITeslaConnectableSimple target) { if (!teslaSimpleNodeSet.contains(target)) { @@ -46,34 +43,33 @@ public interface ITeslaConnectable extends ITeslaConnectableSimple { } } - public static void teslaSimpleNodeSetRemove(ITeslaConnectableSimple target) { + public static void teslaSimpleNodeSetRemove(ITeslaConnectableSimple target){ teslaSimpleNodeSet.remove(target); - if (target instanceof ITeslaConnectable) teslaNodeSet.remove(target); + if (target instanceof ITeslaConnectable)teslaNodeSet.remove(target); teslaNodeSet.forEach(origin -> removeTargetFromTeslaOrigin(target, origin)); } - private static void addTargetToTeslaOrigin(ITeslaConnectableSimple target, ITeslaConnectable origin) { + private static void addTargetToTeslaOrigin(ITeslaConnectableSimple target, ITeslaConnectable origin){ if (origin.equals(target) || !origin.getTeslaDimension().equals(target.getTeslaDimension())) { - // Skip if looking at myself and skip if not in the same dimension - // TODO, INTERDIM? + //Skip if looking at myself and skip if not in the same dimension + //TODO, INTERDIM? return; - } else if (origin.getTeslaTransmissionCapability() != 0 - && origin.getTeslaReceptionCapability() != 0 - && origin.getTeslaTransmissionCapability() != origin.getTeslaReceptionCapability()) { - // Skip if incompatible + } else if (origin.getTeslaTransmissionCapability() != 0 && origin.getTeslaReceptionCapability() != 0 && + origin.getTeslaTransmissionCapability() != origin.getTeslaReceptionCapability()) { + //Skip if incompatible return; } - // Range calc + //Range calc int distance = (int) sqrt(origin.getTeslaPosition().distanceSq(target.getTeslaPosition())); if (distance > origin.getTeslaTransmissionRange() * target.getTeslaReceptionCoefficient()) { - // Skip if the range is too vast + //Skip if the range is too vast return; } origin.getTeslaNodeMap().put(distance, target); } - private static void removeTargetFromTeslaOrigin(ITeslaConnectableSimple target, ITeslaConnectable origin) { - // Range calc TODO Remove duplicate? + private static void removeTargetFromTeslaOrigin(ITeslaConnectableSimple target, ITeslaConnectable origin){ + //Range calc TODO Remove duplicate? int distance = (int) sqrt(origin.getTeslaPosition().distanceSq(target.getTeslaPosition())); origin.getTeslaNodeMap().remove(distance, target); } @@ -81,9 +77,9 @@ public interface ITeslaConnectable extends ITeslaConnectableSimple { public static void generateTeslaNodeMap(ITeslaConnectable origin) { origin.getTeslaNodeMap().clear(); for (ITeslaConnectableSimple target : teslaSimpleNodeSet) { - // Sanity checks + //Sanity checks if (target == null) { - // The Tesla Covers do not remove themselves from the list and this is the code that does + //The Tesla Covers do not remove themselves from the list and this is the code that does teslaSimpleNodeSet.remove(null); continue; } @@ -97,59 +93,53 @@ public interface ITeslaConnectable extends ITeslaConnectableSimple { boolean canSendPower = !origin.isTeslaReadyToReceive() && remainingAmperes > 0; if (canSendPower) { - for (Map.Entry Rx : - origin.getTeslaNodeMap().entries()) { - // Do we still have power left to send kind of check - if (origin.getTeslaStoredEnergy() - < (origin.isOverdriveEnabled() - ? origin.getTeslaOutputVoltage() * 2 - : origin.getTeslaOutputVoltage())) break; - // Explicit words for the important fields + for (Map.Entry Rx : origin.getTeslaNodeMap().entries()) { + //Do we still have power left to send kind of check + if (origin.getTeslaStoredEnergy() < (origin.isOverdriveEnabled() ? origin.getTeslaOutputVoltage() * + 2 : origin.getTeslaOutputVoltage())) break; + //Explicit words for the important fields ITeslaConnectableSimple target = Rx.getValue(); int distance = Rx.getKey(); - // Can our target receive energy? - if (!target.isTeslaReadyToReceive()) continue; + //Can our target receive energy? + if(!target.isTeslaReadyToReceive()) continue; - // Calculate the voltage output + //Calculate the voltage output long outputVoltageInjectable; long outputVoltageConsumption; if (origin.isOverdriveEnabled()) { outputVoltageInjectable = origin.getTeslaOutputVoltage(); - outputVoltageConsumption = origin.getTeslaOutputVoltage() - + (distance * origin.getTeslaEnergyLossPerBlock()) - + (long) Math.round( - origin.getTeslaOutputVoltage() * origin.getTeslaOverdriveLossCoefficient()); + outputVoltageConsumption = origin.getTeslaOutputVoltage() + + (distance * origin.getTeslaEnergyLossPerBlock()) + + (long) Math.round(origin.getTeslaOutputVoltage() * + origin.getTeslaOverdriveLossCoefficient()); } else { - outputVoltageInjectable = - origin.getTeslaOutputVoltage() - (distance * origin.getTeslaEnergyLossPerBlock()); + outputVoltageInjectable = origin.getTeslaOutputVoltage() - (distance * + origin.getTeslaEnergyLossPerBlock()); outputVoltageConsumption = origin.getTeslaOutputVoltage(); } - // Break out of the loop if the cost is too high - // Since the next target will have an even higher cost, just quit now. + //Break out of the loop if the cost is too high + //Since the next target will have an even higher cost, just quit now. if (origin.getTeslaStoredEnergy() < outputVoltageConsumption) break; - // Now shove in as many packets as will fit~ - while (canSendPower) { + //Now shove in as many packets as will fit~ + while(canSendPower){ if (target.teslaInjectEnergy(outputVoltageInjectable)) { origin.teslaDrainEnergy(outputVoltageConsumption); - origin.getSparkList() - .add(new ThaumSpark( - origin.getTeslaPosition(), - target.getTeslaPosition(), - origin.getTeslaDimension())); + origin.getSparkList().add(new ThaumSpark(origin.getTeslaPosition(), + target.getTeslaPosition(), origin.getTeslaDimension())); remainingAmperes--; - // Update the can send power flag each time we send power - canSendPower = - (origin.getTeslaStoredEnergy() < outputVoltageConsumption || remainingAmperes > 0); + //Update the can send power flag each time we send power + canSendPower = (origin.getTeslaStoredEnergy() < outputVoltageConsumption || + remainingAmperes > 0); } else { - // Breaks out when I can't send anymore power + //Breaks out when I can't send anymore power break; } } - // Break out if we can't send power anymore - if (!canSendPower) break; + //Break out if we can't send power anymore + if (!canSendPower)break; } } return origin.getTeslaOutputCurrent() - remainingAmperes; diff --git a/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectableSimple.java b/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectableSimple.java index 1dd0a0215c..2adc25bbed 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectableSimple.java +++ b/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectableSimple.java @@ -3,12 +3,12 @@ package com.github.technus.tectech.mechanics.tesla; import com.gtnewhorizon.structurelib.util.Vec3Impl; public interface ITeslaConnectableSimple { - // -128 to -1 disables capability - // 0 means any source or target - // 1 to 127 must match on source and target or source/target must be 0 + //-128 to -1 disables capability + //0 means any source or target + //1 to 127 must match on source and target or source/target must be 0 byte getTeslaReceptionCapability(); - // Reception Coefficient is a range extension, typical is 1 + //Reception Coefficient is a range extension, typical is 1 float getTeslaReceptionCoefficient(); boolean isTeslaReadyToReceive(); @@ -18,6 +18,5 @@ public interface ITeslaConnectableSimple { boolean teslaInjectEnergy(long teslaVoltageInjected); Vec3Impl getTeslaPosition(); - Integer getTeslaDimension(); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/tesla/TeslaCoverConnection.java b/src/main/java/com/github/technus/tectech/mechanics/tesla/TeslaCoverConnection.java index f8517b64ef..87ad7d7443 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/tesla/TeslaCoverConnection.java +++ b/src/main/java/com/github/technus/tectech/mechanics/tesla/TeslaCoverConnection.java @@ -1,11 +1,11 @@ package com.github.technus.tectech.mechanics.tesla; -import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.teslaSimpleNodeSetRemove; - import com.google.common.base.Objects; import com.gtnewhorizon.structurelib.util.Vec3Impl; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.teslaSimpleNodeSetRemove; + public class TeslaCoverConnection implements ITeslaConnectableSimple { private final IGregTechTileEntity IGT; private final Vec3Impl pos; @@ -13,7 +13,9 @@ public class TeslaCoverConnection implements ITeslaConnectableSimple { public TeslaCoverConnection(IGregTechTileEntity IGT, byte teslaReceptionCapability) { this.IGT = IGT; - this.pos = new Vec3Impl(IGT.getXCoord(), IGT.getYCoord(), IGT.getZCoord()); + this.pos = new Vec3Impl(IGT.getXCoord(), + IGT.getYCoord(), + IGT.getZCoord()); this.teslaReceptionCapability = teslaReceptionCapability; } @@ -50,10 +52,10 @@ public class TeslaCoverConnection implements ITeslaConnectableSimple { @Override public boolean teslaInjectEnergy(long teslaVoltageInjected) { - // Same as in the microwave transmitters, this does not account for amp limits + //Same as in the microwave transmitters, this does not account for amp limits boolean output = false; - if (!IGT.isDead()) { + if (!IGT.isDead()){ output = IGT.injectEnergyUnits((byte) 1, teslaVoltageInjected, 1L) > 0L; } else { teslaSimpleNodeSetRemove(this); diff --git a/src/main/java/com/github/technus/tectech/nei/NEI_TT_Config.java b/src/main/java/com/github/technus/tectech/nei/NEI_TT_Config.java index 1871f87875..3e1949014d 100644 --- a/src/main/java/com/github/technus/tectech/nei/NEI_TT_Config.java +++ b/src/main/java/com/github/technus/tectech/nei/NEI_TT_Config.java @@ -4,7 +4,7 @@ import codechicken.nei.api.IConfigureNEI; import com.github.technus.tectech.recipe.TT_recipe; import cpw.mods.fml.common.FMLCommonHandler; -public class NEI_TT_Config implements IConfigureNEI { // must be NEI*Config +public class NEI_TT_Config implements IConfigureNEI {//must be NEI*Config public static boolean sIsAdded = true; public static TT_NEI_ResearchHandler TT_RH; public static TT_NEI_ScannerHandler TT_SH; @@ -12,7 +12,7 @@ public class NEI_TT_Config implements IConfigureNEI { // must be NEI*Config @Override public void loadConfig() { sIsAdded = false; - if (FMLCommonHandler.instance().getEffectiveSide().isClient()) { + if(FMLCommonHandler.instance().getEffectiveSide().isClient()) { TT_RH = new TT_NEI_ResearchHandler(TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes); TT_SH = new TT_NEI_ScannerHandler(TT_recipe.GT_Recipe_MapTT.sScannableFakeRecipes); } diff --git a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java index b729ebdfc8..74a57de117 100644 --- a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java +++ b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java @@ -1,8 +1,5 @@ package com.github.technus.tectech.nei; -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static gregtech.api.enums.ItemList.Display_Fluid; - import codechicken.lib.gui.GuiDraw; import codechicken.nei.ItemList; import codechicken.nei.PositionedStack; @@ -19,11 +16,6 @@ import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; -import java.awt.*; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.init.Blocks; @@ -32,20 +24,24 @@ import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidStack; import org.lwjgl.opengl.GL11; +import java.awt.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; + +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static gregtech.api.enums.ItemList.Display_Fluid; + public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { protected final TT_recipe.GT_Recipe_MapTT mRecipeMap; public TT_NEI_ResearchHandler(TT_recipe.GT_Recipe_MapTT aRecipeMap) { mRecipeMap = aRecipeMap; - transferRects.add( - new TemplateRecipeHandler.RecipeTransferRect(new Rectangle(65, 13, 36, 18), getOverlayIdentifier())); + transferRects.add(new TemplateRecipeHandler.RecipeTransferRect(new Rectangle(65, 13, 36, 18), getOverlayIdentifier())); if (!NEI_TT_Config.sIsAdded) { - FMLInterModComms.sendRuntimeMessage( - TecTech.instance, - "NEIPlugins", - "register-crafting-handler", - Reference.MODID + '@' + getRecipeName() + '@' + getOverlayIdentifier()); + FMLInterModComms.sendRuntimeMessage(TecTech.instance, "NEIPlugins", "register-crafting-handler", Reference.MODID+ '@' + getRecipeName() + '@' + getOverlayIdentifier()); GuiCraftingRecipe.craftinghandlers.add(this); GuiUsageRecipe.usagehandlers.add(this); } @@ -63,7 +59,7 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { @Override public TemplateRecipeHandler newInstance() { - NEI_TT_Config.TT_RH = new TT_NEI_ResearchHandler(mRecipeMap); + NEI_TT_Config.TT_RH=new TT_NEI_ResearchHandler(mRecipeMap); return NEI_TT_Config.TT_RH; } @@ -87,9 +83,7 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { ArrayList tResults = new ArrayList<>(); tResults.add(aResult); tResults.add(GT_OreDictUnificator.get(true, aResult)); - if (tPrefixMaterial != null - && !tPrefixMaterial.mBlackListed - && !tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty()) { + if (tPrefixMaterial != null && !tPrefixMaterial.mBlackListed && !tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty()) { for (OrePrefixes tPrefix : tPrefixMaterial.mPrefix.mFamiliarPrefixes) { tResults.add(GT_OreDictUnificator.get(tPrefix, tPrefixMaterial.mMaterial.mMaterial, 1L)); } @@ -97,8 +91,7 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { FluidStack tFluid = GT_Utility.getFluidForFilledItem(aResult, true); if (tFluid != null) { tResults.add(GT_Utility.getFluidDisplayStack(tFluid, false)); - for (FluidContainerRegistry.FluidContainerData tData : - FluidContainerRegistry.getRegisteredFluidContainerData()) { + for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) { if (tData.fluid.isFluidEqual(tFluid)) { tResults.add(GT_Utility.copy(tData.filledContainer)); } @@ -132,8 +125,7 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { FluidStack tFluid = GT_Utility.getFluidForFilledItem(aInput, true); if (tFluid != null) { tInputs.add(GT_Utility.getFluidDisplayStack(tFluid, false)); - for (FluidContainerRegistry.FluidContainerData tData : - FluidContainerRegistry.getRegisteredFluidContainerData()) { + for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) { if (tData.fluid.isFluidEqual(tFluid)) { tInputs.add(GT_Utility.copy(tData.filledContainer)); } @@ -176,30 +168,21 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { @Override public String getGuiTexture() { - // return "gregtech:textures/gui/" + this.mRecipeMap.mUnlocalizedName + ".png"; +// return "gregtech:textures/gui/" + this.mRecipeMap.mUnlocalizedName + ".png"; return mRecipeMap.mNEIGUIPath; } @Override - public List handleItemTooltip( - GuiRecipe gui, ItemStack aStack, List currenttip, int aRecipeIndex) { + public List handleItemTooltip(GuiRecipe gui, ItemStack aStack, List currenttip, int aRecipeIndex) { TemplateRecipeHandler.CachedRecipe tObject = arecipes.get(aRecipeIndex); if (tObject instanceof CachedDefaultRecipe) { CachedDefaultRecipe tRecipe = (CachedDefaultRecipe) tObject; for (PositionedStack tStack : tRecipe.mOutputs) { if (aStack == tStack.item) { - if (!(tStack instanceof FixedPositionedStack) - || ((FixedPositionedStack) tStack).mChance <= 0 - || ((FixedPositionedStack) tStack).mChance == 10000) { + if (!(tStack instanceof FixedPositionedStack) || ((FixedPositionedStack) tStack).mChance <= 0 || ((FixedPositionedStack) tStack).mChance == 10000) { break; } - currenttip.add(trans("150", "Chance: ") - + ((FixedPositionedStack) tStack).mChance / 100 - + '.' - + (((FixedPositionedStack) tStack).mChance % 100 < 10 - ? "0" + ((FixedPositionedStack) tStack).mChance % 100 - : Integer.valueOf(((FixedPositionedStack) tStack).mChance % 100)) - + '%'); + currenttip.add(trans("150","Chance: ") + ((FixedPositionedStack) tStack).mChance / 100 + '.' + (((FixedPositionedStack) tStack).mChance % 100 < 10 ? "0" + ((FixedPositionedStack) tStack).mChance % 100 : Integer.valueOf(((FixedPositionedStack) tStack).mChance % 100)) + '%'); break; } } @@ -208,7 +191,7 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { if (Display_Fluid.isStackEqual(tStack.item, true, true) || tStack.item.stackSize != 0) { break; } - currenttip.add(trans("151", "Does not get consumed in the process")); + currenttip.add(trans("151","Does not get consumed in the process")); break; } } @@ -216,52 +199,39 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { return currenttip; } - @Override + @Override public void drawExtras(int aRecipeIndex) { - int tEUt = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mEUt; - int computation = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mDuration; - String[] recipeDesc = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.getNeiDesc(); - if (recipeDesc == null) { + int tEUt = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mEUt; + int computation = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mDuration; + String[] recipeDesc = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.getNeiDesc(); + if (recipeDesc == null) { int tSpecial = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mSpecialValue; - short ampere = (short) (tSpecial & 0xFFFF), minComputationPerSec = (short) (tSpecial >>> 16); - if (tEUt != 0) { - drawText( - 10, - 73, - trans("152", "Max Total: ") - + GT_Utility.formatNumbers( - (1 + (computation - minComputationPerSec) / minComputationPerSec) - * (long) tEUt - * ampere - * 20) - + " EU", - -16777216); - drawText( - 10, - 83, - trans("153", "Usage: ") + GT_Utility.formatNumbers((long) tEUt * ampere) + " EU/t", - -16777216); - if (mRecipeMap.mShowVoltageAmperageInNEI) { - drawText(10, 93, trans("154", "Voltage: ") + GT_Utility.formatNumbers(tEUt) + " EU", -16777216); - drawText(10, 103, trans("155", "Amperage: ") + GT_Utility.formatNumbers(ampere), -16777216); - } else { - drawText(10, 93, trans("156", "Voltage: unspecified"), -16777216); - drawText(10, 103, trans("157", "Amperage: unspecified"), -16777216); - } - } + short ampere=(short) (tSpecial & 0xFFFF),minComputationPerSec=(short)(tSpecial>>>16); + if (tEUt != 0) { + drawText(10, 73, trans("152","Max Total: ") + GT_Utility.formatNumbers((1 + (computation - minComputationPerSec) / minComputationPerSec) * (long) tEUt * ampere * 20) + " EU", -16777216); + drawText(10, 83, trans("153","Usage: ") + GT_Utility.formatNumbers((long) tEUt * ampere) + " EU/t", -16777216); + if (mRecipeMap.mShowVoltageAmperageInNEI) { + drawText(10, 93, trans("154","Voltage: ") + GT_Utility.formatNumbers(tEUt) + " EU", -16777216); + drawText(10, 103, trans("155","Amperage: ") + GT_Utility.formatNumbers(ampere), -16777216); + } else { + drawText(10, 93, trans("156","Voltage: unspecified"), -16777216); + drawText(10, 103, trans("157","Amperage: unspecified"), -16777216); + } + } drawText(10, 113, "Computation: " + GT_Utility.formatNumbers(computation), -16777216); drawText(10, 123, "Min Computation: " + GT_Utility.formatNumbers(minComputationPerSec) + " /s", -16777216); - } else { - int i = 0; - for (String descLine : recipeDesc) { + } else { + int i = 0; + for (String descLine : recipeDesc) { drawText(10, 73 + 10 * i, descLine, -16777216); - i++; - } - } - } + i++; + } + } + } @Deprecated // Unnecessary copy of a class base GT5U uses to manage NEI transfer rects - public static class GT_RectHandler implements IContainerInputHandler, IContainerTooltipHandler { + public static class GT_RectHandler + implements IContainerInputHandler, IContainerTooltipHandler { @Override public boolean mouseClicked(GuiContainer gui, int mousex, int mousey, int button) { return false; @@ -287,8 +257,7 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { } @Override - public List handleItemTooltip( - GuiContainer gui, ItemStack itemstack, int mousex, int mousey, List currenttip) { + public List handleItemTooltip(GuiContainer gui, ItemStack itemstack, int mousex, int mousey, List currenttip) { return currenttip; } @@ -298,13 +267,16 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { } @Override - public void onKeyTyped(GuiContainer gui, char keyChar, int keyID) {} + public void onKeyTyped(GuiContainer gui, char keyChar, int keyID) { + } @Override - public void onMouseClicked(GuiContainer gui, int mousex, int mousey, int button) {} + public void onMouseClicked(GuiContainer gui, int mousex, int mousey, int button) { + } @Override - public void onMouseUp(GuiContainer gui, int mousex, int mousey, int button) {} + public void onMouseUp(GuiContainer gui, int mousex, int mousey, int button) { + } @Override public boolean mouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) { @@ -312,10 +284,12 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { } @Override - public void onMouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) {} + public void onMouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) { + } @Override - public void onMouseDragged(GuiContainer gui, int mousex, int mousey, int button, long heldTime) {} + public void onMouseDragged(GuiContainer gui, int mousex, int mousey, int button, long heldTime) { + } } public static class FixedPositionedStack extends PositionedStack { @@ -343,9 +317,7 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { List permutations = ItemList.itemMap.get(tStack.getItem()); if (!permutations.isEmpty()) { ItemStack stack; - for (Iterator iterator = permutations.iterator(); - iterator.hasNext(); - tDisplayStacks.add(GT_Utility.copyAmount(tStack.stackSize, stack))) { + for (Iterator iterator = permutations.iterator(); iterator.hasNext(); tDisplayStacks.add(GT_Utility.copyAmount(tStack.stackSize, stack))) { stack = iterator.next(); } } else { @@ -360,14 +332,15 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { } items = tDisplayStacks.toArray(nullItem); if (items.length == 0) { - items = new ItemStack[] {new ItemStack(Blocks.fire)}; + items = new ItemStack[]{new ItemStack(Blocks.fire)}; } permutated = true; setPermutationToRender(0); } } - public class CachedDefaultRecipe extends TemplateRecipeHandler.CachedRecipe { + public class CachedDefaultRecipe + extends TemplateRecipeHandler.CachedRecipe { public final GT_Recipe mRecipe; public final List mOutputs; public final List mInputs; @@ -386,8 +359,7 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { mInputs.add(new FixedPositionedStack(aRecipe.mSpecialItems, 120, 52)); } if (aRecipe.getOutput(tStartIndex) != null) { - mOutputs.add(new FixedPositionedStack( - aRecipe.getOutput(tStartIndex), 102, 14 + 9, aRecipe.getOutputChance(tStartIndex))); + mOutputs.add(new FixedPositionedStack(aRecipe.getOutput(tStartIndex), 102, 14 + 9, aRecipe.getOutputChance(tStartIndex))); } } @@ -405,9 +377,9 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { public List getOtherStacks() { return mOutputs; } - } - - public String trans(String aKey, String aEnglish) { - return GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_Index_" + aKey, aEnglish, false); + } + + public String trans(String aKey, String aEnglish){ + return GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_Index_"+aKey, aEnglish, false); } } diff --git a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java index 45df781a57..a4b903979b 100644 --- a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java +++ b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java @@ -1,8 +1,5 @@ package com.github.technus.tectech.nei; -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static gregtech.api.enums.ItemList.Display_Fluid; - import codechicken.lib.gui.GuiDraw; import codechicken.nei.ItemList; import codechicken.nei.PositionedStack; @@ -19,11 +16,6 @@ import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; -import java.awt.*; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.init.Blocks; @@ -32,6 +24,15 @@ import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidStack; import org.lwjgl.opengl.GL11; +import java.awt.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; + +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static gregtech.api.enums.ItemList.Display_Fluid; + public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { protected final TT_recipe.GT_Recipe_MapTT mRecipeMap; @@ -40,11 +41,7 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { mRecipeMap = aRecipeMap; transferRects.add(new RecipeTransferRect(new Rectangle(65, 13, 36, 18), getOverlayIdentifier())); if (!NEI_TT_Config.sIsAdded) { - FMLInterModComms.sendRuntimeMessage( - TecTech.instance, - "NEIPlugins", - "register-crafting-handler", - Reference.MODID + '@' + getRecipeName() + '@' + getOverlayIdentifier()); + FMLInterModComms.sendRuntimeMessage(TecTech.instance, "NEIPlugins", "register-crafting-handler", Reference.MODID+ '@' + getRecipeName() + '@' + getOverlayIdentifier()); GuiCraftingRecipe.craftinghandlers.add(this); GuiUsageRecipe.usagehandlers.add(this); } @@ -62,7 +59,7 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { @Override public TemplateRecipeHandler newInstance() { - NEI_TT_Config.TT_SH = new TT_NEI_ScannerHandler(mRecipeMap); + NEI_TT_Config.TT_SH=new TT_NEI_ScannerHandler(mRecipeMap); return NEI_TT_Config.TT_SH; } @@ -86,9 +83,7 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { ArrayList tResults = new ArrayList<>(); tResults.add(aResult); tResults.add(GT_OreDictUnificator.get(true, aResult)); - if (tPrefixMaterial != null - && !tPrefixMaterial.mBlackListed - && !tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty()) { + if (tPrefixMaterial != null && !tPrefixMaterial.mBlackListed && !tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty()) { for (OrePrefixes tPrefix : tPrefixMaterial.mPrefix.mFamiliarPrefixes) { tResults.add(GT_OreDictUnificator.get(tPrefix, tPrefixMaterial.mMaterial.mMaterial, 1L)); } @@ -96,8 +91,7 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { FluidStack tFluid = GT_Utility.getFluidForFilledItem(aResult, true); if (tFluid != null) { tResults.add(GT_Utility.getFluidDisplayStack(tFluid, false)); - for (FluidContainerRegistry.FluidContainerData tData : - FluidContainerRegistry.getRegisteredFluidContainerData()) { + for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) { if (tData.fluid.isFluidEqual(tFluid)) { tResults.add(GT_Utility.copy(tData.filledContainer)); } @@ -131,8 +125,7 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { FluidStack tFluid = GT_Utility.getFluidForFilledItem(aInput, true); if (tFluid != null) { tInputs.add(GT_Utility.getFluidDisplayStack(tFluid, false)); - for (FluidContainerRegistry.FluidContainerData tData : - FluidContainerRegistry.getRegisteredFluidContainerData()) { + for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) { if (tData.fluid.isFluidEqual(tFluid)) { tInputs.add(GT_Utility.copy(tData.filledContainer)); } @@ -175,30 +168,21 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { @Override public String getGuiTexture() { - // return "gregtech:textures/gui/" + this.mRecipeMap.mUnlocalizedName + ".png"; +// return "gregtech:textures/gui/" + this.mRecipeMap.mUnlocalizedName + ".png"; return mRecipeMap.mNEIGUIPath; } @Override - public List handleItemTooltip( - GuiRecipe gui, ItemStack aStack, List currenttip, int aRecipeIndex) { + public List handleItemTooltip(GuiRecipe gui, ItemStack aStack, List currenttip, int aRecipeIndex) { TemplateRecipeHandler.CachedRecipe tObject = arecipes.get(aRecipeIndex); if (tObject instanceof CachedDefaultRecipe) { CachedDefaultRecipe tRecipe = (CachedDefaultRecipe) tObject; for (PositionedStack tStack : tRecipe.mOutputs) { if (aStack == tStack.item) { - if (!(tStack instanceof FixedPositionedStack) - || ((FixedPositionedStack) tStack).mChance <= 0 - || ((FixedPositionedStack) tStack).mChance == 10000) { + if (!(tStack instanceof FixedPositionedStack) || ((FixedPositionedStack) tStack).mChance <= 0 || ((FixedPositionedStack) tStack).mChance == 10000) { break; } - currenttip.add(trans("150", "Chance: ") - + ((FixedPositionedStack) tStack).mChance / 100 - + '.' - + (((FixedPositionedStack) tStack).mChance % 100 < 10 - ? "0" + ((FixedPositionedStack) tStack).mChance % 100 - : Integer.valueOf(((FixedPositionedStack) tStack).mChance % 100)) - + '%'); + currenttip.add(trans("150","Chance: ") + ((FixedPositionedStack) tStack).mChance / 100 + '.' + (((FixedPositionedStack) tStack).mChance % 100 < 10 ? "0" + ((FixedPositionedStack) tStack).mChance % 100 : Integer.valueOf(((FixedPositionedStack) tStack).mChance % 100)) + '%'); break; } } @@ -207,7 +191,7 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { if (Display_Fluid.isStackEqual(tStack.item, true, true) || tStack.item.stackSize != 0) { break; } - currenttip.add(trans("151", "Does not get consumed in the process")); + currenttip.add(trans("151","Does not get consumed in the process")); break; } } @@ -215,52 +199,39 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { return currenttip; } - @Override + @Override public void drawExtras(int aRecipeIndex) { - int tEUt = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mEUt; - int computation = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mDuration; - String[] recipeDesc = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.getNeiDesc(); - if (recipeDesc == null) { + int tEUt = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mEUt; + int computation = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mDuration; + String[] recipeDesc = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.getNeiDesc(); + if (recipeDesc == null) { int tSpecial = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mSpecialValue; - short ampere = (short) (tSpecial & 0xFFFF), minComputationPerSec = (short) (tSpecial >>> 16); - if (tEUt != 0) { - drawText( - 10, - 73, - trans("152", "Max EU: ") - + GT_Utility.formatNumbers( - (1 + (computation - minComputationPerSec) / minComputationPerSec) - * (long) tEUt - * ampere - * 20) - + " EU", - -16777216); - drawText( - 10, - 83, - trans("153", "Usage: ") + GT_Utility.formatNumbers((long) tEUt * ampere) + " EU/t", - -16777216); - if (mRecipeMap.mShowVoltageAmperageInNEI) { - drawText(10, 93, trans("154", "Voltage: ") + GT_Utility.formatNumbers(tEUt) + " EU", -16777216); - drawText(10, 103, trans("155", "Amperage: ") + GT_Utility.formatNumbers(ampere), -16777216); - } else { - drawText(10, 93, trans("156", "Voltage: unspecified"), -16777216); - drawText(10, 103, trans("157", "Amperage: unspecified"), -16777216); - } - } + short ampere=(short) (tSpecial & 0xFFFF),minComputationPerSec=(short)(tSpecial>>>16); + if (tEUt != 0) { + drawText(10, 73, trans("152","Max EU: ") + GT_Utility.formatNumbers((1 + (computation - minComputationPerSec) / minComputationPerSec) * (long) tEUt * ampere * 20) + " EU", -16777216); + drawText(10, 83, trans("153","Usage: ") + GT_Utility.formatNumbers((long) tEUt * ampere) + " EU/t", -16777216); + if (mRecipeMap.mShowVoltageAmperageInNEI) { + drawText(10, 93, trans("154","Voltage: ") + GT_Utility.formatNumbers(tEUt) + " EU", -16777216); + drawText(10, 103, trans("155","Amperage: ") + GT_Utility.formatNumbers(ampere), -16777216); + } else { + drawText(10, 93, trans("156","Voltage: unspecified"), -16777216); + drawText(10, 103, trans("157","Amperage: unspecified"), -16777216); + } + } drawText(10, 113, "Computation: " + GT_Utility.formatNumbers(computation), -16777216); drawText(10, 123, "Min Computation: " + GT_Utility.formatNumbers(minComputationPerSec) + " /s", -16777216); - } else { - int i = 0; - for (String descLine : recipeDesc) { + } else { + int i = 0; + for (String descLine : recipeDesc) { drawText(10, 73 + 10 * i, descLine, -16777216); - i++; - } - } - } + i++; + } + } + } @Deprecated // Unnecessary copy of a class base GT5U uses to manage NEI transfer rects - public static class GT_RectHandler implements IContainerInputHandler, IContainerTooltipHandler { + public static class GT_RectHandler + implements IContainerInputHandler, IContainerTooltipHandler { @Override public boolean mouseClicked(GuiContainer gui, int mousex, int mousey, int button) { return false; @@ -286,8 +257,7 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { } @Override - public List handleItemTooltip( - GuiContainer gui, ItemStack itemstack, int mousex, int mousey, List currenttip) { + public List handleItemTooltip(GuiContainer gui, ItemStack itemstack, int mousex, int mousey, List currenttip) { return currenttip; } @@ -297,13 +267,16 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { } @Override - public void onKeyTyped(GuiContainer gui, char keyChar, int keyID) {} + public void onKeyTyped(GuiContainer gui, char keyChar, int keyID) { + } @Override - public void onMouseClicked(GuiContainer gui, int mousex, int mousey, int button) {} + public void onMouseClicked(GuiContainer gui, int mousex, int mousey, int button) { + } @Override - public void onMouseUp(GuiContainer gui, int mousex, int mousey, int button) {} + public void onMouseUp(GuiContainer gui, int mousex, int mousey, int button) { + } @Override public boolean mouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) { @@ -311,10 +284,12 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { } @Override - public void onMouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) {} + public void onMouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) { + } @Override - public void onMouseDragged(GuiContainer gui, int mousex, int mousey, int button, long heldTime) {} + public void onMouseDragged(GuiContainer gui, int mousex, int mousey, int button, long heldTime) { + } } public static class FixedPositionedStack extends PositionedStack { @@ -342,9 +317,7 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { List permutations = ItemList.itemMap.get(tStack.getItem()); if (!permutations.isEmpty()) { ItemStack stack; - for (Iterator iterator = permutations.iterator(); - iterator.hasNext(); - tDisplayStacks.add(GT_Utility.copyAmount(tStack.stackSize, stack))) { + for (Iterator iterator = permutations.iterator(); iterator.hasNext(); tDisplayStacks.add(GT_Utility.copyAmount(tStack.stackSize, stack))) { stack = iterator.next(); } } else { @@ -359,14 +332,15 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { } items = tDisplayStacks.toArray(nullItem); if (items.length == 0) { - items = new ItemStack[] {new ItemStack(Blocks.fire)}; + items = new ItemStack[]{new ItemStack(Blocks.fire)}; } permutated = true; setPermutationToRender(0); } } - public class CachedDefaultRecipe extends TemplateRecipeHandler.CachedRecipe { + public class CachedDefaultRecipe + extends TemplateRecipeHandler.CachedRecipe { public final GT_Recipe mRecipe; public final List mOutputs; public final List mInputs; @@ -385,8 +359,7 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { mInputs.add(new FixedPositionedStack(aRecipe.mSpecialItems, 120, 52)); } if (aRecipe.getOutput(tStartIndex) != null) { - mOutputs.add(new FixedPositionedStack( - aRecipe.getOutput(tStartIndex), 102, 14 + 9, aRecipe.getOutputChance(tStartIndex))); + mOutputs.add(new FixedPositionedStack(aRecipe.getOutput(tStartIndex), 102, 14 + 9, aRecipe.getOutputChance(tStartIndex))); } } @@ -404,9 +377,9 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { public List getOtherStacks() { return mOutputs; } - } - - public String trans(String aKey, String aEnglish) { - return GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_Index_" + aKey, aEnglish, false); + } + + public String trans(String aKey, String aEnglish){ + return GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_Index_"+aKey, aEnglish, false); } } diff --git a/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java b/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java index 17451919b8..043bd87a21 100644 --- a/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java +++ b/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java @@ -1,7 +1,5 @@ package com.github.technus.tectech.proxy; -import static com.github.technus.tectech.TecTech.RANDOM; - import com.github.technus.tectech.Reference; import com.github.technus.tectech.compatibility.openmodularturrets.TT_turret_loader; import com.github.technus.tectech.thing.block.QuantumGlassBlock; @@ -27,6 +25,8 @@ import net.minecraft.world.World; import net.minecraftforge.client.MinecraftForgeClient; import net.minecraftforge.common.util.ForgeDirection; +import static com.github.technus.tectech.TecTech.RANDOM; + public class ClientProxy extends CommonProxy { @Override public void registerRenderInfo() { @@ -36,33 +36,23 @@ public class ClientProxy extends CommonProxy { QuantumStuffBlock.renderID = RenderingRegistry.getNextAvailableRenderId(); RenderingRegistry.registerBlockHandler(QuantumStuffBlock.renderID, new QuantumStuffRender()); - MinecraftForgeClient.registerItemRenderer( - ElementalDefinitionContainer_EM.INSTANCE, RenderElementalName.INSTANCE); - MinecraftForgeClient.registerItemRenderer( - DebugElementalInstanceContainer_EM.INSTANCE, RenderElementalName.INSTANCE); - // MinecraftForgeClient.registerItemRenderer(ElementalDefinitionScanStorage_EM.INSTANCE, - // RenderElementalName.INSTANCE); + MinecraftForgeClient.registerItemRenderer(ElementalDefinitionContainer_EM.INSTANCE, RenderElementalName.INSTANCE); + MinecraftForgeClient.registerItemRenderer(DebugElementalInstanceContainer_EM.INSTANCE, RenderElementalName.INSTANCE); + //MinecraftForgeClient.registerItemRenderer(ElementalDefinitionScanStorage_EM.INSTANCE, RenderElementalName.INSTANCE); - if (Loader.isModLoaded("openmodularturrets")) { + if(Loader.isModLoaded("openmodularturrets")) { new TT_turret_loader().run(); } } @Override - public void em_particle(IGregTechTileEntity aMuffler, byte facing) { // CUTE! + public void em_particle(IGregTechTileEntity aMuffler, byte facing) {//CUTE! ForgeDirection aDir = ForgeDirection.getOrientation(facing); float xPos = aDir.offsetX * 0.76F + aMuffler.getXCoord() + 0.25F; float yPos = aDir.offsetY * 0.76F + aMuffler.getYCoord() + 0.25F; float zPos = aDir.offsetZ * 0.76F + aMuffler.getZCoord() + 0.25F; - EntityFX particle = new WeightlessParticleFX( - aMuffler.getWorld(), - xPos + RANDOM.nextFloat() * 0.5F, - yPos + RANDOM.nextFloat() * 0.5F, - zPos + RANDOM.nextFloat() * 0.5F, - 0, - 0, - 0); + EntityFX particle = new WeightlessParticleFX(aMuffler.getWorld(), xPos + RANDOM.nextFloat() * 0.5F, yPos + RANDOM.nextFloat() * 0.5F, zPos + RANDOM.nextFloat() * 0.5F, 0, 0, 0); particle.setRBGColorF(0, 0.6F * RANDOM.nextFloat(), 0.8f); Minecraft.getMinecraft().effectRenderer.addEffect(particle); } @@ -80,45 +70,20 @@ public class ClientProxy extends CommonProxy { if (aDir.offsetY == -1) { float temp = RANDOM.nextFloat() * 2 * (float) Math.PI; - xSpd = (float) Math.sin(temp) * 0.1F * (float) RANDOM.nextGaussian(); - zSpd = (float) Math.cos(temp) * 0.1F * (float) RANDOM.nextGaussian(); + xSpd = (float) Math.sin(temp) * 0.1F*(float) RANDOM.nextGaussian(); + zSpd = (float) Math.cos(temp) * 0.1F*(float) RANDOM.nextGaussian(); } else { - xSpd = aDir.offsetX * (0.1F + 0.2F * (float) RANDOM.nextGaussian()); - zSpd = aDir.offsetZ * (0.1F + 0.2F * (float) RANDOM.nextGaussian()); + xSpd = aDir.offsetX * (0.1F + 0.2F *(float) RANDOM.nextGaussian()); + zSpd = aDir.offsetZ * (0.1F + 0.2F *(float) RANDOM.nextGaussian()); } - aMuffler.getWorld() - .spawnParticle( - "largesmoke", - xPos + RANDOM.nextFloat() * 0.5F, - yPos + RANDOM.nextFloat() * 0.5F, - zPos + RANDOM.nextFloat() * 0.5F, - xSpd, - ySpd, - zSpd); - aMuffler.getWorld() - .spawnParticle( - "largesmoke", - xPos + RANDOM.nextFloat() * 0.5F, - yPos + RANDOM.nextFloat() * 0.5F, - zPos + RANDOM.nextFloat() * 0.5F, - xSpd, - ySpd, - zSpd); - aMuffler.getWorld() - .spawnParticle( - "largesmoke", - xPos + RANDOM.nextFloat() * 0.5F, - yPos + RANDOM.nextFloat() * 0.5F, - zPos + RANDOM.nextFloat() * 0.5F, - xSpd, - ySpd, - zSpd); + aMuffler.getWorld().spawnParticle("largesmoke", xPos + RANDOM.nextFloat() * 0.5F, yPos + RANDOM.nextFloat() * 0.5F, zPos + RANDOM.nextFloat() * 0.5F, xSpd, ySpd, zSpd); + aMuffler.getWorld().spawnParticle("largesmoke", xPos + RANDOM.nextFloat() * 0.5F, yPos + RANDOM.nextFloat() * 0.5F, zPos + RANDOM.nextFloat() * 0.5F, xSpd, ySpd, zSpd); + aMuffler.getWorld().spawnParticle("largesmoke", xPos + RANDOM.nextFloat() * 0.5F, yPos + RANDOM.nextFloat() * 0.5F, zPos + RANDOM.nextFloat() * 0.5F, xSpd, ySpd, zSpd); } @Override - public void em_particle(World w, double x, double y, double z) { // CUTE! - EntityFX particle = new WeightlessParticleFX( - w, + public void em_particle(World w,double x, double y, double z) {//CUTE! + EntityFX particle = new WeightlessParticleFX(w, x + RANDOM.nextFloat() * 0.5F, y + RANDOM.nextFloat() * 0.5F, z + RANDOM.nextFloat() * 0.5F, @@ -130,9 +95,8 @@ public class ClientProxy extends CommonProxy { } @Override - public void pollutor_particle(World w, double x, double y, double z) { - w.spawnParticle( - "largesmoke", + public void pollutor_particle(World w,double x, double y, double z) { + w.spawnParticle("largesmoke", x + RANDOM.nextFloat() * 0.5F, y + RANDOM.nextFloat() * 0.5F, z + RANDOM.nextFloat() * 0.5F, @@ -160,30 +124,28 @@ public class ClientProxy extends CommonProxy { } @Override - public void playSound(IGregTechTileEntity base, String name) { - base.getWorld() - .playSoundEffect( - base.getXCoord(), base.getYCoord(), base.getZCoord(), Reference.MODID + ':' + name, 1, 1); + public void playSound(IGregTechTileEntity base,String name) { + base.getWorld().playSoundEffect(base.getXCoord(),base.getYCoord(),base.getZCoord(), Reference.MODID+':'+name, 1, 1); } @Override - public void renderAABB(World w, AxisAlignedBB box) { - em_particle(w, box.minX, box.minY, box.minZ); - em_particle(w, box.minX, box.minY, box.maxZ); - em_particle(w, box.minX, box.maxY, box.maxZ); - em_particle(w, box.minX, box.maxY, box.minZ); - em_particle(w, box.maxX, box.maxY, box.minZ); - em_particle(w, box.maxX, box.maxY, box.maxZ); - em_particle(w, box.maxX, box.minY, box.maxZ); - em_particle(w, box.maxX, box.minY, box.minZ); + public void renderAABB(World w,AxisAlignedBB box) { + em_particle(w,box.minX,box.minY,box.minZ); + em_particle(w,box.minX,box.minY,box.maxZ); + em_particle(w,box.minX,box.maxY,box.maxZ); + em_particle(w,box.minX,box.maxY,box.minZ); + em_particle(w,box.maxX,box.maxY,box.minZ); + em_particle(w,box.maxX,box.maxY,box.maxZ); + em_particle(w,box.maxX,box.minY,box.maxZ); + em_particle(w,box.maxX,box.minY,box.minZ); } @Override - public EntityClientPlayerMP getPlayer() { + public EntityClientPlayerMP getPlayer(){ return Minecraft.getMinecraft().thePlayer; } - public boolean isThePlayer(EntityPlayer player) { - return getPlayer() == player; + public boolean isThePlayer(EntityPlayer player){ + return getPlayer()==player; } } diff --git a/src/main/java/com/github/technus/tectech/proxy/CommonProxy.java b/src/main/java/com/github/technus/tectech/proxy/CommonProxy.java index 66d0afe48d..0fbe8d890e 100644 --- a/src/main/java/com/github/technus/tectech/proxy/CommonProxy.java +++ b/src/main/java/com/github/technus/tectech/proxy/CommonProxy.java @@ -12,15 +12,11 @@ import net.minecraft.world.WorldServer; public class CommonProxy implements IGuiHandler { public void registerRenderInfo() {} - public void em_particle(IGregTechTileEntity aMuffler, byte facing) {} // CUTE! - - public void pollutor_particle(IGregTechTileEntity aPollutor, byte facing) {} // CUTE! - - public void em_particle(World w, double x, double y, double z) {} - - public void pollutor_particle(World w, double x, double y, double z) {} - - public void renderAABB(World w, AxisAlignedBB box) {} + public void em_particle(IGregTechTileEntity aMuffler, byte facing) {}//CUTE! + public void pollutor_particle(IGregTechTileEntity aPollutor, byte facing) {}//CUTE! + public void em_particle(World w,double x, double y, double z){} + public void pollutor_particle(World w,double x, double y, double z){} + public void renderAABB(World w,AxisAlignedBB box){} @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { @@ -40,15 +36,14 @@ public class CommonProxy implements IGuiHandler { MinecraftServer.getServer().getConfigurationManager().sendChatMsg(new ChatComponentText(str)); } - public void printInchat(String... strings) {} + public void printInchat(String... strings){} - public void playSound(IGregTechTileEntity base, String name) {} + public void playSound(IGregTechTileEntity base,String name){} public String getUUID(String name) { - for (WorldServer worldServer : MinecraftServer.getServer().worldServers) { - for (Object o : worldServer.playerEntities) { - if (o instanceof EntityPlayer - && ((EntityPlayer) o).getGameProfile().getName().equals(name)) { + for(WorldServer worldServer:MinecraftServer.getServer().worldServers){ + for(Object o:worldServer.playerEntities){ + if(o instanceof EntityPlayer && ((EntityPlayer) o).getGameProfile().getName().equals(name)){ return ((EntityPlayer) o).getGameProfile().getId().toString(); } } @@ -57,10 +52,9 @@ public class CommonProxy implements IGuiHandler { } public boolean isOnlineName(String name) { - for (WorldServer worldServer : MinecraftServer.getServer().worldServers) { - for (Object o : worldServer.playerEntities) { - if (o instanceof EntityPlayer - && ((EntityPlayer) o).getGameProfile().getName().equals(name)) { + for(WorldServer worldServer:MinecraftServer.getServer().worldServers){ + for(Object o:worldServer.playerEntities){ + if(o instanceof EntityPlayer && ((EntityPlayer) o).getGameProfile().getName().equals(name)){ return true; } } @@ -69,14 +63,9 @@ public class CommonProxy implements IGuiHandler { } public boolean isOnlineUUID(String uuid) { - for (WorldServer worldServer : MinecraftServer.getServer().worldServers) { - for (Object o : worldServer.playerEntities) { - if (o instanceof EntityPlayer - && ((EntityPlayer) o) - .getGameProfile() - .getId() - .toString() - .equals(uuid)) { + for(WorldServer worldServer:MinecraftServer.getServer().worldServers){ + for(Object o:worldServer.playerEntities){ + if(o instanceof EntityPlayer && ((EntityPlayer) o).getGameProfile().getId().toString().equals(uuid)){ return true; } } @@ -84,11 +73,11 @@ public class CommonProxy implements IGuiHandler { return false; } - public EntityPlayer getPlayer() { + public EntityPlayer getPlayer(){ return null; } - public boolean isThePlayer(EntityPlayer player) { + public boolean isThePlayer(EntityPlayer player){ return false; } } diff --git a/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java b/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java index 1de1648406..68607ae737 100644 --- a/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java +++ b/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java @@ -7,75 +7,42 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.maps.IEMMapRead import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.util.GT_Recipe; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; + import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; public class TT_recipe extends GT_Recipe { - public static final String E_RECIPE_ID = "eRecipeID"; - public final EMConstantStackMap[] input; + public static final String E_RECIPE_ID = "eRecipeID"; + public final EMConstantStackMap[] input; public final IEMMapRead[] output; - public final EMConstantStackMap[] eCatalyst; - public final IAdditionalCheck additionalCheck; + public final EMConstantStackMap[] eCatalyst; + public final IAdditionalCheck additionalCheck; - public TT_recipe( - boolean aOptimize, - ItemStack[] aInputs, - ItemStack[] aOutputs, - Object aSpecialItems, - int[] aChances, - FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, - int aDuration, - int aEUt, - int aSpecialValue, - EMConstantStackMap[] in, - IEMMapRead[] out, - EMConstantStackMap[] catalyst, - IAdditionalCheck check) { - super( - aOptimize, - aInputs, - aOutputs, - aSpecialItems, - aChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSpecialValue); - input = in; - output = out; - eCatalyst = catalyst; - additionalCheck = check; + public TT_recipe(boolean aOptimize, + ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, int[] aChances, + FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue, + EMConstantStackMap[] in, IEMMapRead[] out, EMConstantStackMap[] catalyst, IAdditionalCheck check){ + super(aOptimize,aInputs,aOutputs,aSpecialItems,aChances,aFluidInputs,aFluidOutputs,aDuration,aEUt,aSpecialValue); + input=in; + output=out; + eCatalyst=catalyst; + additionalCheck=check; } - public boolean EMisRecipeInputEqual( - boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks) { - return EMisRecipeInputEqual(consume, doNotCheckStackSizes, itemStacks, fluidStacks, null, null); + public boolean EMisRecipeInputEqual(boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks){ + return EMisRecipeInputEqual(consume,doNotCheckStackSizes,itemStacks,fluidStacks,null,null); } - public boolean EMisRecipeInputEqual( - boolean consume, - boolean doNotCheckStackSizes, - ItemStack[] itemStacks, - FluidStack[] fluidStacks, - EMInstanceStackMap[] in) { - return EMisRecipeInputEqual(consume, doNotCheckStackSizes, itemStacks, fluidStacks, in, null); + public boolean EMisRecipeInputEqual(boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks, EMInstanceStackMap[] in){ + return EMisRecipeInputEqual(consume,doNotCheckStackSizes,itemStacks,fluidStacks,in,null); } - - public boolean EMisRecipeInputEqual( - boolean consume, - boolean doNotCheckStackSizes, - ItemStack[] itemStacks, - FluidStack[] fluidStacks, - EMInstanceStackMap[] in, - EMInstanceStackMap[] catalyst) { - if (additionalCheck != null - && !additionalCheck.check(this, consume, doNotCheckStackSizes, itemStacks, fluidStacks, in, catalyst)) { + + public boolean EMisRecipeInputEqual(boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks, EMInstanceStackMap[] in, EMInstanceStackMap[] catalyst) { + if(additionalCheck !=null && !additionalCheck.check(this,consume,doNotCheckStackSizes,itemStacks,fluidStacks,in,catalyst)) { return false; } if (eCatalyst != null) { @@ -100,11 +67,11 @@ public class TT_recipe extends GT_Recipe { for (int i = 0; i < input.length; i++) { if (input[i] != null && input[i].hasStacks()) { if (in[i] != null && in[i].hasStacks()) { - if (consume) { + if(consume){ if (!in[i].removeAllAmounts(input[i])) { return false; } - } else { + }else { if (!in[i].containsAllAmounts(input[i])) { return false; } @@ -122,25 +89,13 @@ public class TT_recipe extends GT_Recipe { } @Deprecated - public boolean EMisRecipeInputEqualConsumeFromOne( - boolean consume, - boolean doNotCheckStackSizes, - ItemStack[] itemStacks, - FluidStack[] fluidStacks, - EMInstanceStackMap in) { - return EMisRecipeInputEqualConsumeFromOne(consume, doNotCheckStackSizes, itemStacks, fluidStacks, in, null); + public boolean EMisRecipeInputEqualConsumeFromOne(boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks, EMInstanceStackMap in){ + return EMisRecipeInputEqualConsumeFromOne(consume,doNotCheckStackSizes,itemStacks,fluidStacks,in,null); } @Deprecated - public boolean EMisRecipeInputEqualConsumeFromOne( - boolean consume, - boolean doNotCheckStackSizes, - ItemStack[] itemStacks, - FluidStack[] fluidStacks, - EMInstanceStackMap in, - EMInstanceStackMap[] catalyst) { - if (additionalCheck != null - && !additionalCheck.check(this, consume, doNotCheckStackSizes, itemStacks, fluidStacks, in, catalyst)) { + public boolean EMisRecipeInputEqualConsumeFromOne(boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks, EMInstanceStackMap in, EMInstanceStackMap[] catalyst) { + if(additionalCheck !=null && !additionalCheck.check(this,consume,doNotCheckStackSizes,itemStacks,fluidStacks,in,catalyst)) { return false; } if (eCatalyst != null) { @@ -165,11 +120,11 @@ public class TT_recipe extends GT_Recipe { for (EMConstantStackMap anInput : input) { if (anInput != null && anInput.hasStacks()) { if (in.hasStacks()) { - if (consume) { + if(consume){ if (!in.removeAllAmounts(anInput)) { return false; } - } else { + }else { if (!in.containsAllAmounts(anInput)) { return false; } @@ -185,284 +140,125 @@ public class TT_recipe extends GT_Recipe { } return super.isRecipeInputEqual(consume, doNotCheckStackSizes, fluidStacks, itemStacks); } - + public interface IAdditionalCheck { - boolean check( - TT_recipe thisRecipe, - boolean consume, - boolean doNotCheckStackSizes, - ItemStack[] itemStacks, - FluidStack[] fluidStacks, - EMInstanceStackMap[] in, - EMInstanceStackMap[] e); - - boolean check( - TT_recipe thisRecipe, - boolean consume, - boolean doNotCheckStackSizes, - ItemStack[] itemStacks, - FluidStack[] fluidStacks, - EMInstanceStackMap in, - EMInstanceStackMap[] e); + boolean check(TT_recipe thisRecipe, boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks, EMInstanceStackMap[] in, EMInstanceStackMap[] e); + boolean check(TT_recipe thisRecipe, boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks, EMInstanceStackMap in, EMInstanceStackMap[] e); } public static class TT_Recipe_Map { public static TT_Recipe_Map sCrafterRecipes = new TT_Recipe_Map<>(); public static TT_Recipe_Map sMachineRecipes = new TT_Recipe_Map<>(); - private final HashMap mRecipeMap; + private final HashMap mRecipeMap; - public TT_Recipe_Map() { - mRecipeMap = new HashMap<>(16); + + public TT_Recipe_Map(){ + mRecipeMap =new HashMap<>(16); } - public T findRecipe(String identifier) { + public T findRecipe(String identifier){ return mRecipeMap.get(identifier); } - - public T findRecipe(ItemStack dataHandler) { - if (dataHandler == null || dataHandler.stackTagCompound == null) { + + public T findRecipe(ItemStack dataHandler){ + if(dataHandler==null || dataHandler.stackTagCompound==null) { return null; } return mRecipeMap.get(dataHandler.stackTagCompound.getString(E_RECIPE_ID)); } - public void add(T recipe) { - GameRegistry.UniqueIdentifier uid = GameRegistry.findUniqueIdentifierFor(recipe.mOutputs[0].getItem()); - mRecipeMap.put(uid + ":" + recipe.mOutputs[0].getItemDamage(), recipe); + public void add(T recipe){ + GameRegistry.UniqueIdentifier uid=GameRegistry.findUniqueIdentifierFor(recipe.mOutputs[0].getItem()); + mRecipeMap.put(uid+":"+recipe.mOutputs[0].getItemDamage(),recipe); } - public Collection recipeList() { + public Collection recipeList(){ return mRecipeMap.values(); } } public static class GT_Recipe_MapTT extends GT_Recipe.GT_Recipe_Map { - public static GT_Recipe_MapTT sResearchableFakeRecipes = new GT_Recipe_MapTT( - new HashSet<>(32), - "gt.recipe.researchStation", - "Research station", - null, - "gregtech:textures/gui/multimachines/ResearchFake", - 1, - 1, - 1, - 0, - 1, - "", - 1, - "", - true, - false); // nei to false - using custom handler - public static GT_Recipe_MapTT sScannableFakeRecipes = new GT_Recipe_MapTT( - new HashSet<>(32), - "gt.recipe.em_scanner", - "EM Scanner Research", - null, - "gregtech:textures/gui/multimachines/ResearchFake", - 1, - 1, - 1, - 0, - 1, - "", - 1, - "", - true, - false); - public static ArrayList sAssemblylineRecipes = new ArrayList<>(); + public static GT_Recipe_MapTT sResearchableFakeRecipes = new GT_Recipe_MapTT(new HashSet<>(32), "gt.recipe.researchStation", "Research station", null, "gregtech:textures/gui/multimachines/ResearchFake", 1, 1, 1, 0, 1, "", 1, "", true, false);//nei to false - using custom handler + public static GT_Recipe_MapTT sScannableFakeRecipes = new GT_Recipe_MapTT(new HashSet<>(32), "gt.recipe.em_scanner", "EM Scanner Research", null, "gregtech:textures/gui/multimachines/ResearchFake", 1, 1, 1, 0, 1, "", 1, "", true, false); + public static ArrayList sAssemblylineRecipes = new ArrayList<>(); - public GT_Recipe_MapTT( - Collection aRecipeList, - String aUnlocalizedName, - String aLocalName, - String aNEIName, - String aNEIGUIPath, - int aUsualInputCount, - int aUsualOutputCount, - int aMinimalInputItems, - int aMinimalInputFluids, - int aAmperage, - String aNEISpecialValuePre, - int aNEISpecialValueMultiplier, - String aNEISpecialValuePost, - boolean aShowVoltageAmperageInNEI, - boolean aNEIAllowed) { - super( - aRecipeList, - aUnlocalizedName, - aLocalName, - aNEIName, - aNEIGUIPath, - aUsualInputCount, - aUsualOutputCount, - aMinimalInputItems, - aMinimalInputFluids, + public GT_Recipe_MapTT(Collection aRecipeList, String aUnlocalizedName, String aLocalName, String aNEIName, String aNEIGUIPath, + int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems, int aMinimalInputFluids, + int aAmperage, + String aNEISpecialValuePre, int aNEISpecialValueMultiplier, String aNEISpecialValuePost, + boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) { + super(aRecipeList, aUnlocalizedName, aLocalName, aNEIName, aNEIGUIPath, + aUsualInputCount, aUsualOutputCount, aMinimalInputItems, aMinimalInputFluids, aAmperage, - aNEISpecialValuePre, - aNEISpecialValueMultiplier, - aNEISpecialValuePost, - aShowVoltageAmperageInNEI, - aNEIAllowed); + aNEISpecialValuePre, aNEISpecialValueMultiplier, aNEISpecialValuePost, + aShowVoltageAmperageInNEI, aNEIAllowed); } } - public static class TT_assLineRecipe extends TT_recipe { + public static class TT_assLineRecipe extends TT_recipe{ public final ItemStack mResearchItem; - public TT_assLineRecipe( - boolean aOptimize, - ItemStack researchItem, - ItemStack[] aInputs, - ItemStack[] aOutputs, - Object aSpecialItems, - FluidStack[] aFluidInputs, - int aDuration, - int aEUt, - int aSpecialValue, - EMConstantStackMap[] in, - EMConstantStackMap[] out, - EMConstantStackMap[] catalyst, - IAdditionalCheck check) { - super( - aOptimize, - aInputs, - aOutputs, - aSpecialItems, - null, - aFluidInputs, - null, - aDuration, - aEUt, - aSpecialValue, - in, - out, - catalyst, - check); - mResearchItem = researchItem; + public TT_assLineRecipe(boolean aOptimize, ItemStack researchItem, + ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, + FluidStack[] aFluidInputs, int aDuration, int aEUt, int aSpecialValue, + EMConstantStackMap[] in, EMConstantStackMap[] out, EMConstantStackMap[] catalyst, IAdditionalCheck check) { + super(aOptimize, aInputs, aOutputs, aSpecialItems, null, aFluidInputs, null, aDuration, aEUt, aSpecialValue, in, out, catalyst, check); + mResearchItem=researchItem; } - public TT_assLineRecipe( - boolean aOptimize, - ItemStack researchItem, - ItemStack[] aInputs, - ItemStack[] aOutputs, - Object aSpecialItems, - FluidStack[] aFluidInputs, - int aDuration, - int aEUt, - int aSpecialValue, - EMConstantStackMap[] in) { - this( - aOptimize, - researchItem, - aInputs, - aOutputs, - aSpecialItems, - aFluidInputs, - aDuration, - aEUt, - aSpecialValue, - in, - null, - null, - null); + public TT_assLineRecipe(boolean aOptimize, ItemStack researchItem, + ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, + FluidStack[] aFluidInputs, int aDuration, int aEUt, int aSpecialValue, + EMConstantStackMap[] in) { + this(aOptimize, researchItem, aInputs, aOutputs, aSpecialItems, aFluidInputs, aDuration, aEUt, aSpecialValue, in, null, null,null); } } - public static class TT_EMRecipe extends TT_recipe { + public static class TT_EMRecipe extends TT_recipe{ public final IEMDefinition mResearchEM; - public final GT_Recipe scannerRecipe; + public final GT_Recipe scannerRecipe; - public TT_EMRecipe( - boolean aOptimize, - GT_Recipe scannerRecipe, - IEMDefinition researchEM, - ItemStack[] aInputs, - ItemStack[] aOutputs, - Object aSpecialItems, - FluidStack[] aFluidInputs, - int aDuration, - int aEUt, - int aSpecialValue, - EMConstantStackMap[] in, - EMConstantStackMap[] out, - EMConstantStackMap[] catalyst, - IAdditionalCheck check) { - super( - aOptimize, - aInputs, - aOutputs, - aSpecialItems, - null, - aFluidInputs, - null, - aDuration, - aEUt, - aSpecialValue, - in, - out, - catalyst, - check); - mResearchEM = researchEM; - this.scannerRecipe = scannerRecipe; + public TT_EMRecipe(boolean aOptimize, GT_Recipe scannerRecipe, IEMDefinition researchEM, + ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, + FluidStack[] aFluidInputs, int aDuration, int aEUt, int aSpecialValue, + EMConstantStackMap[] in, EMConstantStackMap[] out, EMConstantStackMap[] catalyst, IAdditionalCheck check) { + super(aOptimize, aInputs, aOutputs, aSpecialItems, null, aFluidInputs, null, aDuration, aEUt, aSpecialValue, in, out, catalyst, check); + mResearchEM=researchEM; + this.scannerRecipe=scannerRecipe; } - public TT_EMRecipe( - boolean aOptimize, - GT_Recipe scannerRecipe, - IEMDefinition researchEM, - ItemStack[] aInputs, - ItemStack[] aOutputs, - Object aSpecialItems, - FluidStack[] aFluidInputs, - int aDuration, - int aEUt, - int aSpecialValue, - EMConstantStackMap[] in) { - this( - aOptimize, - scannerRecipe, - researchEM, - aInputs, - aOutputs, - aSpecialItems, - aFluidInputs, - aDuration, - aEUt, - aSpecialValue, - in, - null, - null, - null); + public TT_EMRecipe(boolean aOptimize, GT_Recipe scannerRecipe, IEMDefinition researchEM, + ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, + FluidStack[] aFluidInputs, int aDuration, int aEUt, int aSpecialValue, + EMConstantStackMap[] in) { + this(aOptimize, scannerRecipe, researchEM, aInputs, aOutputs, aSpecialItems, aFluidInputs, aDuration, aEUt, aSpecialValue, in, null, null,null); } } public static class TT_Recipe_Map_EM { - public static TT_Recipe_Map_EM sCrafterRecipesEM = - new TT_Recipe_Map_EM<>("EM Crafter Recipes", "gt.recipe.em_crafter", null); - public static TT_Recipe_Map_EM sMachineRecipesEM = - new TT_Recipe_Map_EM<>("EM Machinert Recipe", "gt.recipe.em_machinery", null); + public static TT_Recipe_Map_EM sCrafterRecipesEM = new TT_Recipe_Map_EM<>("EM Crafter Recipes","gt.recipe.em_crafter",null); + public static TT_Recipe_Map_EM sMachineRecipesEM = new TT_Recipe_Map_EM<>("EM Machinert Recipe","gt.recipe.em_machinery",null); - private final HashMap mRecipeMap; - public final String mNEIName, mUnlocalizedName, mNEIGUIPath; + private final HashMap mRecipeMap; + public final String mNEIName,mUnlocalizedName,mNEIGUIPath; - public TT_Recipe_Map_EM(String mNEIName, String mUnlocalizedName, String mNEIGUIPath) { - mRecipeMap = new HashMap<>(16); - this.mNEIName = mNEIName; - this.mUnlocalizedName = mUnlocalizedName; - this.mNEIGUIPath = mNEIGUIPath; + public TT_Recipe_Map_EM(String mNEIName,String mUnlocalizedName,String mNEIGUIPath){ + mRecipeMap =new HashMap<>(16); + this.mNEIName=mNEIName; + this.mUnlocalizedName=mUnlocalizedName; + this.mNEIGUIPath=mNEIGUIPath; } - public T findRecipe(IEMDefinition stack) { + public T findRecipe(IEMDefinition stack){ return mRecipeMap.get(stack); } - public void add(T recipe) { - mRecipeMap.put(recipe.mResearchEM, recipe); + public void add(T recipe){ + mRecipeMap.put(recipe.mResearchEM,recipe); } - public Collection recipeList() { + public Collection recipeList(){ return mRecipeMap.values(); } } diff --git a/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java b/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java index 739896749b..37f0865dd4 100644 --- a/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java +++ b/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java @@ -15,117 +15,58 @@ import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Recipe.GT_Recipe_AssemblyLine; import gregtech.api.util.GT_Utility; import gregtech.common.GT_RecipeAdder; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; + import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; -public class TT_recipeAdder extends GT_RecipeAdder { - public static final ItemStack[] nullItem = new ItemStack[0]; - public static final FluidStack[] nullFluid = new FluidStack[0]; +public class TT_recipeAdder extends GT_RecipeAdder { + public static final ItemStack[] nullItem=new ItemStack[0]; + public static final FluidStack[] nullFluid=new FluidStack[0]; - public static boolean addResearchableAssemblylineRecipe( - ItemStack aResearchItem, - int totalComputationRequired, - int computationRequiredPerSec, - int researchEUt, - int researchAmperage, - ItemStack[] aInputs, - FluidStack[] aFluidInputs, - ItemStack aOutput, - int assDuration, - int assEUt) { - if (aInputs == null) { + public static boolean addResearchableAssemblylineRecipe(ItemStack aResearchItem, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput, int assDuration, int assEUt) { + if(aInputs==null) { aInputs = nullItem; } - if (aFluidInputs == null) { + if(aFluidInputs==null) { aFluidInputs = nullFluid; } - if (aResearchItem == null || totalComputationRequired <= 0 || aOutput == null || aInputs.length > 16) { + if (aResearchItem==null || totalComputationRequired<=0 || aOutput == null || aInputs.length>16) { return false; } - for (ItemStack tItem : aInputs) { - if (tItem == null) { - TecTech.LOGGER.error("addResearchableAssemblingLineRecipe " + aResearchItem.getDisplayName() + " --> " - + aOutput.getUnlocalizedName() + " there is some null item in that recipe"); + for(ItemStack tItem : aInputs){ + if(tItem==null){ + TecTech.LOGGER.error("addResearchableAssemblingLineRecipe "+aResearchItem.getDisplayName()+" --> "+aOutput.getUnlocalizedName()+" there is some null item in that recipe"); } } researchAmperage = GT_Utility.clamp(researchAmperage, 1, Short.MAX_VALUE); computationRequiredPerSec = GT_Utility.clamp(computationRequiredPerSec, 1, Short.MAX_VALUE); - TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe( - false, - new ItemStack[] {aResearchItem}, - new ItemStack[] {aOutput}, - new ItemStack[] {ItemList.Tool_DataStick.getWithName(1L, "Writes Research result")}, - null, - null, - totalComputationRequired, - researchEUt, - researchAmperage | computationRequiredPerSec << 16); - GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.addFakeRecipe( - false, - aInputs, - new ItemStack[] {aOutput}, - new ItemStack[] {ItemList.Tool_DataStick.getWithName(1L, "Reads Research result")}, - aFluidInputs, - null, - assDuration, - assEUt, - 0, - true); - GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(new GT_Recipe.GT_Recipe_AssemblyLine( - CustomItemList.UnusedStuff.get(1), - totalComputationRequired / computationRequiredPerSec, - aInputs, - aFluidInputs, - aOutput, - assDuration, - assEUt)); - TT_recipe.GT_Recipe_MapTT.sAssemblylineRecipes.add(new GT_Recipe.GT_Recipe_AssemblyLine( - aResearchItem, - totalComputationRequired / computationRequiredPerSec, - aInputs, - aFluidInputs, - aOutput, - assDuration, - assEUt)); + TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Writes Research result")}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16); + GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.addFakeRecipe(false, aInputs, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Reads Research result")}, aFluidInputs, null, assDuration, assEUt, 0,true); + GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(new GT_Recipe.GT_Recipe_AssemblyLine(CustomItemList.UnusedStuff.get(1), totalComputationRequired/computationRequiredPerSec, aInputs, aFluidInputs, aOutput, assDuration, assEUt)); + TT_recipe.GT_Recipe_MapTT.sAssemblylineRecipes.add(new GT_Recipe.GT_Recipe_AssemblyLine(aResearchItem, totalComputationRequired/computationRequiredPerSec, aInputs, aFluidInputs, aOutput, assDuration, assEUt)); return true; } - public static boolean addResearchableAssemblylineRecipe( - ItemStack aResearchItem, - int totalComputationRequired, - int computationRequiredPerSec, - int researchEUt, - int researchAmperage, - Object[] aInputs, - FluidStack[] aFluidInputs, - ItemStack aOutput, - int assDuration, - int assEUt) { - if (aInputs == null) { + public static boolean addResearchableAssemblylineRecipe(ItemStack aResearchItem, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, Object[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput, int assDuration, int assEUt) { + if(aInputs==null) { aInputs = nullItem; } - if (aFluidInputs == null) { + if(aFluidInputs==null) { aFluidInputs = nullFluid; } - if (aResearchItem == null - || totalComputationRequired <= 0 - || aOutput == null - || aInputs.length > 16 - || aFluidInputs.length > 4 - || assDuration <= 0 - || assEUt <= 0) { + if (aResearchItem==null || totalComputationRequired<=0 || aOutput == null || aInputs.length>16 || aFluidInputs.length>4 || assDuration<=0 || assEUt<=0) { return false; } ItemStack[] tInputs = new ItemStack[aInputs.length]; ItemStack[][] tAlts = new ItemStack[aInputs.length][]; int tPersistentHash = 1; - for (int i = 0; i < aInputs.length; i++) { + for(int i = 0; i < aInputs.length; i++){ Object obj = aInputs[i]; if (obj instanceof ItemStack) { tInputs[i] = (ItemStack) obj; @@ -149,8 +90,7 @@ public class TT_recipeAdder extends GT_RecipeAdder { if (objs.length >= 2 && !(tList = GT_OreDictUnificator.getOres(objs[0])).isEmpty()) { try { // sort the output, so the hash code is stable across launches - tList.sort(Comparator.comparing( - s -> GameRegistry.findUniqueIdentifierFor(s.getItem()).modId) + tList.sort(Comparator.comparing(s -> GameRegistry.findUniqueIdentifierFor(s.getItem()).modId) .thenComparing(s -> GameRegistry.findUniqueIdentifierFor(s.getItem()).modId) .thenComparingInt(Items.feather::getDamage) .thenComparingInt(s -> s.stackSize)); @@ -160,7 +100,8 @@ public class TT_recipeAdder extends GT_RecipeAdder { ItemStack uStack = GT_Utility.copyAmount(tAmount, tStack); if (GT_Utility.isStackValid(uStack)) { uList.add(uStack); - if (tInputs[i] == null) tInputs[i] = uStack; + if (tInputs[i] == null) + tInputs[i] = uStack; } } tAlts[i] = uList.toArray(new ItemStack[0]); @@ -168,18 +109,17 @@ public class TT_recipeAdder extends GT_RecipeAdder { tPersistentHash = tPersistentHash * 31 + tAmount; continue; } catch (Exception t) { - TecTech.LOGGER.error("addAssemblingLineRecipe " + aResearchItem.getDisplayName() - + " --> there is some ... in that recipe"); + TecTech.LOGGER.error("addAssemblingLineRecipe "+aResearchItem.getDisplayName()+" --> there is some ... in that recipe"); } } } - TecTech.LOGGER.error("addAssemblingLineRecipe " + aResearchItem.getDisplayName() + " --> " - + aOutput.getUnlocalizedName() + " there is some null item in that recipe"); + TecTech.LOGGER.error("addAssemblingLineRecipe "+aResearchItem.getDisplayName()+" --> "+aOutput.getUnlocalizedName()+" there is some null item in that recipe"); } tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(aResearchItem, true, false); tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(aOutput, true, false); for (FluidStack tFluidInput : aFluidInputs) { - if (tFluidInput == null) continue; + if (tFluidInput == null) + continue; tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(tFluidInput, true, false); } researchAmperage = GT_Utility.clamp(researchAmperage, 1, Short.MAX_VALUE); @@ -190,48 +130,12 @@ public class TT_recipeAdder extends GT_RecipeAdder { tPersistentHash = tPersistentHash * 31 + researchEUt; tPersistentHash = tPersistentHash * 31 + assDuration; tPersistentHash = tPersistentHash * 31 + assEUt; - TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe( - false, - new ItemStack[] {aResearchItem}, - new ItemStack[] {aOutput}, - new ItemStack[] {ItemList.Tool_DataStick.getWithName(1L, "Writes Research result")}, - null, - null, - totalComputationRequired, - researchEUt, - researchAmperage | computationRequiredPerSec << 16); - GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.addFakeRecipe( - false, - tInputs, - new ItemStack[] {aOutput}, - new ItemStack[] {ItemList.Tool_DataStick.getWithName(1L, "Reads Research result")}, - aFluidInputs, - null, - assDuration, - assEUt, - 0, - tAlts, - true); - GT_Recipe_AssemblyLine recipeGT = new GT_Recipe_AssemblyLine( - CustomItemList.UnusedStuff.get(1), - totalComputationRequired / computationRequiredPerSec, - tInputs, - aFluidInputs, - aOutput, - assDuration, - assEUt, - tAlts); + TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Writes Research result")}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16); + GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.addFakeRecipe(false,tInputs,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Reads Research result")},aFluidInputs,null,assDuration,assEUt,0,tAlts,true); + GT_Recipe_AssemblyLine recipeGT = new GT_Recipe_AssemblyLine(CustomItemList.UnusedStuff.get(1), totalComputationRequired / computationRequiredPerSec, tInputs, aFluidInputs, aOutput, assDuration, assEUt, tAlts); recipeGT.setPersistentHash(tPersistentHash); GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(recipeGT); - GT_Recipe_AssemblyLine recipeTT = new GT_Recipe_AssemblyLine( - aResearchItem, - totalComputationRequired / computationRequiredPerSec, - tInputs, - aFluidInputs, - aOutput, - assDuration, - assEUt, - tAlts); + GT_Recipe_AssemblyLine recipeTT = new GT_Recipe_AssemblyLine(aResearchItem, totalComputationRequired / computationRequiredPerSec, tInputs, aFluidInputs, aOutput, assDuration, assEUt, tAlts); recipeTT.setPersistentHash(tPersistentHash); TT_recipe.GT_Recipe_MapTT.sAssemblylineRecipes.add(recipeTT); return true; @@ -245,252 +149,120 @@ public class TT_recipeAdder extends GT_RecipeAdder { */ public static boolean addResearchableEMmachineRecipe( - ItemStack aResearchItem, - int totalComputationRequired, - int computationRequiredPerSec, - int researchEUt, - int researchAmperage, - ItemStack[] aInputs, - FluidStack[] aFluidInputs, - EMConstantStackMap[] eInputs, - ItemStack aOutput, - int machineDuration, - int machineEUt, - int machineAmperage) { - if (aInputs == null) { + ItemStack aResearchItem, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, + ItemStack[] aInputs, FluidStack[] aFluidInputs, EMConstantStackMap[] eInputs, + ItemStack aOutput, int machineDuration, int machineEUt, int machineAmperage) { + if(aInputs==null) { aInputs = nullItem; } - if (aFluidInputs == null) { + if(aFluidInputs==null) { aFluidInputs = nullFluid; } - if (aResearchItem == null || totalComputationRequired <= 0 || aOutput == null) { + if (aResearchItem==null || totalComputationRequired<=0 || aOutput == null) { return false; } - for (ItemStack tItem : aInputs) { - if (tItem == null) { - TecTech.LOGGER.error("addResearchableEMmachineRecipe " + aResearchItem.getDisplayName() + " --> " - + aOutput.getUnlocalizedName() + " there is some null item in that recipe"); + for(ItemStack tItem : aInputs){ + if(tItem==null){ + TecTech.LOGGER.error("addResearchableEMmachineRecipe "+aResearchItem.getDisplayName()+" --> "+aOutput.getUnlocalizedName()+" there is some null item in that recipe"); } } - if (researchAmperage <= 0) { + if(researchAmperage<=0) { researchAmperage = 1; - } else if (researchAmperage > Short.MAX_VALUE) { + } else if(researchAmperage > Short.MAX_VALUE) { researchAmperage = Short.MAX_VALUE; } - if (computationRequiredPerSec <= 0) { + if(computationRequiredPerSec<=0) { computationRequiredPerSec = 1; - } else if (computationRequiredPerSec > Short.MAX_VALUE) { + } else if(computationRequiredPerSec > Short.MAX_VALUE) { computationRequiredPerSec = Short.MAX_VALUE; } - TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe( - false, - new ItemStack[] {aResearchItem}, - new ItemStack[] {aOutput}, - new ItemStack[] { - ItemList.Tool_DataOrb.getWithName( - 1L, "Writes Research result for " + GT_MetaTileEntity_EM_machine.machine) - }, - null, - null, - totalComputationRequired, - researchEUt, - researchAmperage | computationRequiredPerSec << 16); - TT_recipe.TT_Recipe_Map.sMachineRecipes.add(new TT_recipe.TT_assLineRecipe( - false, - aResearchItem, - aInputs, - new ItemStack[] {aOutput}, - new ItemStack[] {ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, - aFluidInputs, - machineDuration, - machineEUt, - machineAmperage, - eInputs)); + TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Writes Research result for "+ GT_MetaTileEntity_EM_machine.machine)}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16); + TT_recipe.TT_Recipe_Map.sMachineRecipes.add(new TT_recipe.TT_assLineRecipe(false,aResearchItem,aInputs,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, + aFluidInputs,machineDuration,machineEUt,machineAmperage,eInputs)); return true; } public static boolean addResearchableEMcrafterRecipe( - ItemStack aResearchItem, - int totalComputationRequired, - int computationRequiredPerSec, - int researchEUt, - int researchAmperage, - EMConstantStackMap[] eInputs, - EMConstantStackMap[] catalyst, - TT_recipe.IAdditionalCheck check, - ItemStack aOutput, - int crafterDuration, - int crafterEUt, - int crafterAmperage) { - if (aResearchItem == null || totalComputationRequired <= 0 || aOutput == null) { + ItemStack aResearchItem, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, + EMConstantStackMap[] eInputs, EMConstantStackMap[] catalyst, TT_recipe.IAdditionalCheck check, + ItemStack aOutput, int crafterDuration, int crafterEUt, int crafterAmperage) { + if (aResearchItem==null || totalComputationRequired<=0 || aOutput == null) { return false; } - if (researchAmperage <= 0) { + if(researchAmperage<=0) { researchAmperage = 1; - } else if (researchAmperage > Short.MAX_VALUE) { + } else if(researchAmperage > Short.MAX_VALUE) { researchAmperage = Short.MAX_VALUE; } - if (computationRequiredPerSec <= 0) { + if(computationRequiredPerSec<=0) { computationRequiredPerSec = 1; - } else if (computationRequiredPerSec > Short.MAX_VALUE) { + } else if(computationRequiredPerSec > Short.MAX_VALUE) { computationRequiredPerSec = Short.MAX_VALUE; } - TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe( - false, - new ItemStack[] {aResearchItem}, - new ItemStack[] {aOutput}, - new ItemStack[] { - ItemList.Tool_DataOrb.getWithName( - 1L, "Writes Research result for " + GT_MetaTileEntity_EM_crafting.crafter) - }, - null, - null, - totalComputationRequired, - researchEUt, - researchAmperage | computationRequiredPerSec << 16); - TT_recipe.TT_Recipe_Map.sCrafterRecipes.add(new TT_recipe.TT_assLineRecipe( - false, - aResearchItem, - null, - new ItemStack[] {aOutput}, - new ItemStack[] {ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, - null, - crafterDuration, - crafterEUt, - crafterAmperage, - eInputs, - null, - catalyst, - check)); + TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Writes Research result for "+ GT_MetaTileEntity_EM_crafting.crafter)}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16); + TT_recipe.TT_Recipe_Map.sCrafterRecipes.add(new TT_recipe.TT_assLineRecipe(false,aResearchItem,null,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, + null,crafterDuration,crafterEUt,crafterAmperage,eInputs,null,catalyst,check)); return true; } public static boolean addScannableEMmachineRecipe( - IEMDefinition aResearchEM, - int totalComputationRequired, - int computationRequiredPerSec, - int researchEUt, - int researchAmperage, - ItemStack[] aInputs, - FluidStack[] aFluidInputs, - EMConstantStackMap[] eInputs, - ItemStack aOutput, - int machineDuration, - int machineEUt, - int machineAmperage) { - if (aInputs == null) { + IEMDefinition aResearchEM, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, + ItemStack[] aInputs, FluidStack[] aFluidInputs, EMConstantStackMap[] eInputs, + ItemStack aOutput, int machineDuration, int machineEUt, int machineAmperage) { + if(aInputs==null) { aInputs = nullItem; } - if (aFluidInputs == null) { + if(aFluidInputs==null) { aFluidInputs = nullFluid; } - if (aResearchEM == null || totalComputationRequired <= 0 || aOutput == null) { + if (aResearchEM==null || totalComputationRequired<=0 || aOutput == null) { return false; } - for (ItemStack tItem : aInputs) { - if (tItem == null) { - TecTech.LOGGER.error("addScannableEMmachineRecipe " + aResearchEM + " --> " - + aOutput.getUnlocalizedName() + " there is some null item in that recipe"); + for(ItemStack tItem : aInputs){ + if(tItem==null){ + TecTech.LOGGER.error("addScannableEMmachineRecipe "+aResearchEM+" --> "+aOutput.getUnlocalizedName()+" there is some null item in that recipe"); } } - if (researchAmperage <= 0) { + if(researchAmperage<=0) { researchAmperage = 1; - } else if (researchAmperage > Short.MAX_VALUE) { + } else if(researchAmperage > Short.MAX_VALUE) { researchAmperage = Short.MAX_VALUE; } - if (computationRequiredPerSec <= 0) { + if(computationRequiredPerSec<=0) { computationRequiredPerSec = 1; - } else if (computationRequiredPerSec > Short.MAX_VALUE) { + } else if(computationRequiredPerSec > Short.MAX_VALUE) { computationRequiredPerSec = Short.MAX_VALUE; } - ItemStack placeholder = new ItemStack(ElementalDefinitionContainer_EM.INSTANCE); - ElementalDefinitionContainer_EM.setContent( - placeholder, new EMConstantStackMap(new EMDefinitionStack(aResearchEM, 1))); - GT_Recipe thisRecipe = TT_recipe.GT_Recipe_MapTT.sScannableFakeRecipes.addFakeRecipe( - false, - new ItemStack[] {placeholder}, - new ItemStack[] {aOutput}, - new ItemStack[] { - ItemList.Tool_DataOrb.getWithName( - 1L, "Writes Research result for " + GT_MetaTileEntity_EM_machine.machine) - }, - null, - null, - totalComputationRequired, - researchEUt, - researchAmperage | computationRequiredPerSec << 16); - TT_recipe.TT_Recipe_Map_EM.sMachineRecipesEM.add(new TT_recipe.TT_EMRecipe( - false, - thisRecipe, - aResearchEM, - aInputs, - new ItemStack[] {aOutput}, - new ItemStack[] {ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, - aFluidInputs, - machineDuration, - machineEUt, - machineAmperage, - eInputs)); + ItemStack placeholder=new ItemStack(ElementalDefinitionContainer_EM.INSTANCE); + ElementalDefinitionContainer_EM.setContent(placeholder,new EMConstantStackMap(new EMDefinitionStack(aResearchEM,1))); + GT_Recipe thisRecipe=TT_recipe.GT_Recipe_MapTT.sScannableFakeRecipes.addFakeRecipe(false, new ItemStack[]{placeholder}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Writes Research result for "+ GT_MetaTileEntity_EM_machine.machine)}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16); + TT_recipe.TT_Recipe_Map_EM.sMachineRecipesEM.add(new TT_recipe.TT_EMRecipe(false,thisRecipe,aResearchEM,aInputs,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, + aFluidInputs,machineDuration,machineEUt,machineAmperage,eInputs)); return true; } public static boolean addScannableEMcrafterRecipe( - IEMDefinition aResearchEM, - int totalComputationRequired, - int computationRequiredPerSec, - int researchEUt, - int researchAmperage, - EMConstantStackMap[] eInputs, - EMConstantStackMap[] catalyst, - TT_recipe.IAdditionalCheck check, - ItemStack aOutput, - int crafterDuration, - int crafterEUt, - int crafterAmperage) { - if (aResearchEM == null || totalComputationRequired <= 0 || aOutput == null) { + IEMDefinition aResearchEM, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, + EMConstantStackMap[] eInputs, EMConstantStackMap[] catalyst, TT_recipe.IAdditionalCheck check, + ItemStack aOutput, int crafterDuration, int crafterEUt, int crafterAmperage) { + if (aResearchEM==null || totalComputationRequired<=0 || aOutput == null) { return false; } - if (researchAmperage <= 0) { + if(researchAmperage<=0) { researchAmperage = 1; - } else if (researchAmperage > Short.MAX_VALUE) { + } else if(researchAmperage > Short.MAX_VALUE) { researchAmperage = Short.MAX_VALUE; } - if (computationRequiredPerSec <= 0) { + if(computationRequiredPerSec<=0) { computationRequiredPerSec = 1; - } else if (computationRequiredPerSec > Short.MAX_VALUE) { + } else if(computationRequiredPerSec > Short.MAX_VALUE) { computationRequiredPerSec = Short.MAX_VALUE; } - ItemStack placeholder = new ItemStack(ElementalDefinitionContainer_EM.INSTANCE); - ElementalDefinitionContainer_EM.setContent( - placeholder, new EMConstantStackMap(new EMDefinitionStack(aResearchEM, 1))); - GT_Recipe thisRecipe = TT_recipe.GT_Recipe_MapTT.sScannableFakeRecipes.addFakeRecipe( - false, - new ItemStack[] {placeholder}, - new ItemStack[] {aOutput}, - new ItemStack[] { - ItemList.Tool_DataOrb.getWithName( - 1L, "Writes Research result for " + GT_MetaTileEntity_EM_crafting.crafter) - }, - null, - null, - totalComputationRequired, - researchEUt, - researchAmperage | computationRequiredPerSec << 16); - TT_recipe.TT_Recipe_Map_EM.sCrafterRecipesEM.add(new TT_recipe.TT_EMRecipe( - false, - thisRecipe, - aResearchEM, - null, - new ItemStack[] {aOutput}, - new ItemStack[] {ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, - null, - crafterDuration, - crafterEUt, - crafterAmperage, - eInputs, - null, - catalyst, - check)); + ItemStack placeholder=new ItemStack(ElementalDefinitionContainer_EM.INSTANCE); + ElementalDefinitionContainer_EM.setContent(placeholder,new EMConstantStackMap(new EMDefinitionStack(aResearchEM,1))); + GT_Recipe thisRecipe=TT_recipe.GT_Recipe_MapTT.sScannableFakeRecipes.addFakeRecipe(false, new ItemStack[]{placeholder}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Writes Research result for "+ GT_MetaTileEntity_EM_crafting.crafter)}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16); + TT_recipe.TT_Recipe_Map_EM.sCrafterRecipesEM.add(new TT_recipe.TT_EMRecipe(false,thisRecipe,aResearchEM,null,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, + null,crafterDuration,crafterEUt,crafterAmperage,eInputs,null,catalyst,check)); return true; } } 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 6f00ed021f..9e555e3961 100644 --- a/src/main/java/com/github/technus/tectech/thing/CustomItemList.java +++ b/src/main/java/com/github/technus/tectech/thing/CustomItemList.java @@ -1,7 +1,5 @@ package com.github.technus.tectech.thing; -import static gregtech.api.enums.GT_Values.W; - import gregtech.api.interfaces.IItemContainer; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; @@ -10,395 +8,103 @@ import net.minecraft.block.Block; import net.minecraft.item.Item; 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, + 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, + 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, + 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, - eM_dynamoMulti4_LuV, - eM_dynamoMulti16_LuV, - eM_dynamoMulti64_LuV, - eM_dynamoMulti4_ZPM, - eM_dynamoMulti16_ZPM, - eM_dynamoMulti64_ZPM, - eM_dynamoMulti4_UV, - eM_dynamoMulti16_UV, - eM_dynamoMulti64_UV, - eM_dynamoMulti4_UHV, - eM_dynamoMulti16_UHV, - eM_dynamoMulti64_UHV, - eM_dynamoMulti4_UEV, - eM_dynamoMulti16_UEV, - eM_dynamoMulti64_UEV, - 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_dynamoMulti4_IV, eM_dynamoMulti16_IV, eM_dynamoMulti64_IV, + eM_dynamoMulti4_LuV, eM_dynamoMulti16_LuV, eM_dynamoMulti64_LuV, + eM_dynamoMulti4_ZPM, eM_dynamoMulti16_ZPM, eM_dynamoMulti64_ZPM, + eM_dynamoMulti4_UV, eM_dynamoMulti16_UV, eM_dynamoMulti64_UV, + eM_dynamoMulti4_UHV, eM_dynamoMulti16_UHV, eM_dynamoMulti64_UHV, + eM_dynamoMulti4_UEV, eM_dynamoMulti16_UEV, eM_dynamoMulti64_UEV, + 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_dynamoTunnel9001, - eM_energyMulti4_IV, - eM_energyMulti16_IV, - eM_energyMulti64_IV, - eM_energyMulti4_LuV, - eM_energyMulti16_LuV, - eM_energyMulti64_LuV, - eM_energyMulti4_ZPM, - eM_energyMulti16_ZPM, - eM_energyMulti64_ZPM, - eM_energyMulti4_UV, - eM_energyMulti16_UV, - eM_energyMulti64_UV, - eM_energyMulti4_UHV, - eM_energyMulti16_UHV, - eM_energyMulti64_UHV, - eM_energyMulti4_UEV, - eM_energyMulti16_UEV, - eM_energyMulti64_UEV, - 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_energyMulti4_IV, eM_energyMulti16_IV, eM_energyMulti64_IV, + eM_energyMulti4_LuV, eM_energyMulti16_LuV, eM_energyMulti64_LuV, + eM_energyMulti4_ZPM, eM_energyMulti16_ZPM, eM_energyMulti64_ZPM, + eM_energyMulti4_UV, eM_energyMulti16_UV, eM_energyMulti64_UV, + eM_energyMulti4_UHV, eM_energyMulti16_UHV, eM_energyMulti64_UHV, + eM_energyMulti4_UEV, eM_energyMulti16_UEV, eM_energyMulti64_UEV, + 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_energyTunnel9001, - eM_in_UV, - eM_in_UHV, - eM_in_UEV, - eM_in_UIV, - eM_in_UMV, - eM_in_UXV, - eM_out_UV, - eM_out_UHV, - eM_out_UEV, - eM_out_UIV, - eM_out_UMV, - eM_out_UXV, - eM_muffler_UV, - eM_muffler_UHV, - eM_muffler_UEV, - eM_muffler_UIV, - eM_muffler_UMV, - eM_muffler_UXV, - 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, + eM_in_UV, eM_in_UHV, eM_in_UEV, eM_in_UIV, eM_in_UMV, eM_in_UXV, + eM_out_UV, eM_out_UHV, eM_out_UEV, eM_out_UIV, eM_out_UMV, eM_out_UXV, + eM_muffler_UV, eM_muffler_UHV, eM_muffler_UEV, eM_muffler_UIV, eM_muffler_UMV, eM_muffler_UXV, + 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, - tM_TeslaBase, - tM_TeslaToroid, - tM_TeslaSecondary, - tM_TeslaPrimary_0, - tM_TeslaPrimary_1, - tM_TeslaPrimary_2, - tM_TeslaPrimary_3, - tM_TeslaPrimary_4, - tM_TeslaPrimary_5, - tM_TeslaPrimary_6, + tM_TeslaBase, tM_TeslaToroid, tM_TeslaSecondary, tM_TeslaPrimary_0, tM_TeslaPrimary_1, tM_TeslaPrimary_2, tM_TeslaPrimary_3, tM_TeslaPrimary_4, tM_TeslaPrimary_5, tM_TeslaPrimary_6, - Machine_Multi_Microwave, - Machine_Multi_TeslaCoil, + 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, - Machine_Multi_EssentiaToEM, - Machine_Multi_EMToEssentia, - Machine_Multi_Infuser, - Machine_Multi_Collider, - Machine_Multi_Decay, - Machine_Multi_EMmachine, - Machine_Multi_Stabilizer, - Machine_Multi_EMCrafter, - Machine_Multi_Wormhole, - Machine_Multi_Annihilation, + Machine_Multi_Computer, Machine_Multi_Switch, Machine_Multi_Research, Machine_Multi_DataBank, + Machine_Multi_MatterToEM, Machine_Multi_EMToMatter, Machine_Multi_EMjunction, Machine_Multi_Scanner, + Machine_Multi_EssentiaToEM, Machine_Multi_EMToEssentia, + Machine_Multi_Infuser, Machine_Multi_Collider, + Machine_Multi_Decay, Machine_Multi_EMmachine, + 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, - eM_avr_HV, - eM_avr_EV, - eM_avr_IV, - eM_avr_LuV, - eM_avr_ZPM, - eM_avr_UV, - eM_avr_UHV, - eM_avr_UEV, - eM_avr_UIV, - eM_avr_UMV, + eM_avr_HV, eM_avr_EV, eM_avr_IV, eM_avr_LuV, eM_avr_ZPM, eM_avr_UV, eM_avr_UHV, eM_avr_UEV, eM_avr_UIV, eM_avr_UMV, - scanContainer, - parametrizerMemory, - teslaCapacitor, - teslaCover, - teslaComponent, - teslaStaff, - enderLinkFluidCover, - powerPassUpgradeCover, + scanContainer, parametrizerMemory, teslaCapacitor, teslaCover, teslaComponent, teslaStaff, enderLinkFluidCover, powerPassUpgradeCover, - 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; + 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; - // public static Fluid sOilExtraHeavy, sOilHeavy, sOilMedium, sOilLight, sNaturalGas; + //public static Fluid sOilExtraHeavy, sOilHeavy, sOilMedium, sOilLight, sNaturalGas; @Override public IItemContainer set(Item aItem) { diff --git a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassBlock.java b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassBlock.java index b84f04c783..42fb14f55d 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassBlock.java +++ b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassBlock.java @@ -1,8 +1,5 @@ package com.github.technus.tectech.thing.block; -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; - import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -15,6 +12,9 @@ import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; + /** * Created by danie_000 on 17.12.2016. */ @@ -51,10 +51,10 @@ public final class QuantumGlassBlock extends BlockBase { return false; } - // @Override - // public boolean canRenderInPass(int pass) { + //@Override + //public boolean canRenderInPass(int pass) { // return true; - // } + //} @Override public boolean canBeReplacedByLeaves(IBlockAccess world, int x, int y, int z) { @@ -74,11 +74,9 @@ public final class QuantumGlassBlock extends BlockBase { @Override @SideOnly(Side.CLIENT) - public boolean shouldSideBeRendered( - IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { + public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { Block block = p_149646_1_.getBlock(p_149646_2_, p_149646_3_, p_149646_4_); - return block != this; // && super.shouldSideBeRendered(p_149646_1_, p_149646_2_, p_149646_3_, p_149646_4_, - // p_149646_5_); + return block != this;// && super.shouldSideBeRendered(p_149646_1_, p_149646_2_, p_149646_3_, p_149646_4_, p_149646_5_); } @Override @@ -104,6 +102,7 @@ public final class QuantumGlassBlock extends BlockBase { if (GregTech_API.isMachineBlock(this, aWorld.getBlockMetadata(aX, aY, aZ))) { GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ); } + } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassItem.java b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassItem.java index aabcdc2fee..3f42bdbbc4 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassItem.java +++ b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassItem.java @@ -1,15 +1,16 @@ package com.github.technus.tectech.thing.block; -import static com.github.technus.tectech.util.CommonValues.TEC_MARK_EM; -import static net.minecraft.util.StatCollector.translateToLocal; - -import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import java.util.List; + +import static com.github.technus.tectech.util.CommonValues.TEC_MARK_EM; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by Tec on 11.04.2017. */ @@ -23,9 +24,7 @@ public class QuantumGlassItem extends ItemBlock { @Override public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { aList.add(TEC_MARK_EM); - aList.add(translateToLocal("tile.quantumGlass.desc.0")); // Dense yet transparent - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("tile.quantumGlass.desc.1")); // Glassy & Classy + aList.add(translateToLocal("tile.quantumGlass.desc.0"));//Dense yet transparent + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("tile.quantumGlass.desc.1"));//Glassy & Classy } } diff --git a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassRender.java b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassRender.java index aac2c9d5a1..cec06002fa 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassRender.java +++ b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassRender.java @@ -18,7 +18,7 @@ public final class QuantumGlassRender implements ISimpleBlockRenderingHandler { GL11.glTranslatef(-0.5F, -0.5F, -0.5F); Tessellator tessellator = Tessellator.instance; GL11.glPushMatrix(); - // Get icons from custom register (useful for renderers and fluids) + //Get icons from custom register (useful for renderers and fluids) IIcon side = QuantumGlassBlock.stuff; tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); @@ -49,8 +49,9 @@ public final class QuantumGlassRender implements ISimpleBlockRenderingHandler { } @Override - public boolean renderWorldBlock( - IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, + Block block, int modelId, + RenderBlocks renderer) { renderer.renderStandardBlock(block, x, y, z); Tessellator tes = Tessellator.instance; @@ -61,47 +62,42 @@ public final class QuantumGlassRender implements ISimpleBlockRenderingHandler { IIcon side = QuantumGlassBlock.stuff; GL11.glDisable(GL11.GL_CULL_FACE); - // South + //South if (world.getBlock(x, y, z + 1).getClass() != QuantumGlassBlock.class) { - tes.addVertexWithUV( - x, - y, - z + 0.999, - side.getMinU(), - side.getMaxV()); // 0.999 instead of 1 for fighting (textures overlapping) + tes.addVertexWithUV(x, y, z + 0.999, side.getMinU(), side.getMaxV()); //0.999 instead of 1 for fighting (textures overlapping) tes.addVertexWithUV(x, y + 1, z + 0.999, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x + 1, y + 1, z + 0.999, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x + 1, y, z + 0.999, side.getMaxU(), side.getMaxV()); } - // East + //East if (world.getBlock(x + 1, y, z).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x + 0.999, y, z + 1, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x + 0.999, y + 1, z + 1, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x + 0.999, y + 1, z, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x + 0.999, y, z, side.getMaxU(), side.getMaxV()); } - // North + //North if (world.getBlock(x, y, z - 1).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x + 1, y, z + 0.001, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x + 1, y + 1, z + 0.001, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x, y + 1, z + 0.001, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x, y, z + 0.001, side.getMaxU(), side.getMaxV()); } - // West + //West if (world.getBlock(x - 1, y, z).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x + 0.001, y, z, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x + 0.001, y + 1, z, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x + 0.001, y + 1, z + 1, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x + 0.001, y, z + 1, side.getMaxU(), side.getMaxV()); } - // Top + //Top if (world.getBlock(x, y + 1, z).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x, y + 0.999, z + 1, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x, y + 0.999, z, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x + 1, y + 0.999, z, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x + 1, y + 0.999, z + 1, side.getMaxU(), side.getMaxV()); } - // Bottom + //Bottom if (world.getBlock(x, y - 1, z).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x, y + 0.001, z, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x, y + 0.001, z + 1, side.getMinU(), side.getMinV()); diff --git a/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffBlock.java b/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffBlock.java index 2717a95425..639a269523 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffBlock.java +++ b/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffBlock.java @@ -1,13 +1,9 @@ package com.github.technus.tectech.thing.block; -import static com.github.technus.tectech.Reference.MODID; - import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import eu.usrv.yamcore.blocks.BlockBase; -import java.util.ArrayList; -import java.util.Random; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.Item; @@ -16,6 +12,11 @@ import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import java.util.ArrayList; +import java.util.Random; + +import static com.github.technus.tectech.Reference.MODID; + /** * Created by danie_000 on 17.12.2016. */ @@ -57,10 +58,10 @@ public final class QuantumStuffBlock extends BlockBase { return false; } - // @Override - // public boolean canRenderInPass(int pass) { + //@Override + //public boolean canRenderInPass(int pass) { // return true; - // } + //} @Override public boolean canBeReplacedByLeaves(IBlockAccess world, int x, int y, int z) { @@ -80,8 +81,7 @@ public final class QuantumStuffBlock extends BlockBase { @Override @SideOnly(Side.CLIENT) - public boolean shouldSideBeRendered( - IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { + public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { return false; } diff --git a/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffRender.java b/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffRender.java index 1c974a1510..5d495a8355 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffRender.java +++ b/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffRender.java @@ -14,13 +14,13 @@ import org.lwjgl.opengl.GL11; * Created by danie_000 on 19.12.2016. */ public final class QuantumStuffRender implements ISimpleBlockRenderingHandler { - private static Tessellator tes = Tessellator.instance; + private static Tessellator tes=Tessellator.instance; @Override public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { GL11.glTranslatef(-0.5F, -0.5F, -0.5F); GL11.glPushMatrix(); - // Get icons from custom register (useful for renderers and fluids) + //Get icons from custom register (useful for renderers and fluids) IIcon side = QuantumStuffBlock.stuff; tes.startDrawingQuads(); tes.setNormal(0.0F, -1.0F, 0.0F); @@ -51,54 +51,39 @@ public final class QuantumStuffRender implements ISimpleBlockRenderingHandler { } @Override - public boolean renderWorldBlock( - IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - // renderer.renderStandardBlock(block, x, y, z); + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + //renderer.renderStandardBlock(block, x, y, z); GL11.glPushMatrix(); tes.setNormal(0F, 1F, 0F); tes.setBrightness(15728880); IIcon side = QuantumStuffBlock.stuff; - for (int i = 0; i < 6; i++) { - float f = 1 - TecTech.RANDOM.nextFloat() / 4f, - g = f - TecTech.RANDOM.nextFloat() / 4f, - r = g - TecTech.RANDOM.nextFloat() / 4f - 0.25f; + for(int i=0;i<6;i++){ + float f = 1 - TecTech.RANDOM.nextFloat() / 4f, g = f - TecTech.RANDOM.nextFloat() / 4f, r = g - TecTech.RANDOM.nextFloat() / 4f - 0.25f; tes.setColorOpaque_F(r, g, f); - float rotX = TecTech.RANDOM.nextFloat() * 2 * (float) Math.PI, - rotY = TecTech.RANDOM.nextFloat() * 2 * (float) Math.PI, - rotZ = TecTech.RANDOM.nextFloat() * 2 * (float) Math.PI; - tesAbuse(x, y, z, -1.425f, -1.425f, .1f, rotX, rotY, rotZ, side.getMinU(), side.getMaxV()); - tesAbuse(x, y, z, -1.425f, 1.425f, .1f, rotX, rotY, rotZ, side.getMinU(), side.getMinV()); - tesAbuse(x, y, z, 1.425f, 1.425f, .1f, rotX, rotY, rotZ, side.getMaxU(), side.getMinV()); - tesAbuse(x, y, z, 1.425f, -1.425f, .1f, rotX, rotY, rotZ, side.getMaxU(), side.getMaxV()); + float rotX=TecTech.RANDOM.nextFloat()*2*(float) Math.PI,rotY=TecTech.RANDOM.nextFloat()*2*(float) Math.PI,rotZ=TecTech.RANDOM.nextFloat()*2*(float) Math.PI; + tesAbuse(x,y,z,-1.425f,-1.425f,.1f,rotX,rotY,rotZ,side.getMinU(), side.getMaxV()); + tesAbuse(x,y,z,-1.425f,1.425f,.1f,rotX,rotY,rotZ,side.getMinU(), side.getMinV()); + tesAbuse(x,y,z,1.425f,1.425f,.1f,rotX,rotY,rotZ,side.getMaxU(), side.getMinV()); + tesAbuse(x,y,z,1.425f,-1.425f,.1f,rotX,rotY,rotZ,side.getMaxU(), side.getMaxV()); - tesAbuse(x, y, z, 1.425f, -1.425f, -.1f, rotX, rotY, rotZ, side.getMaxU(), side.getMaxV()); - tesAbuse(x, y, z, 1.425f, 1.425f, -.1f, rotX, rotY, rotZ, side.getMaxU(), side.getMinV()); - tesAbuse(x, y, z, -1.425f, 1.425f, -.1f, rotX, rotY, rotZ, side.getMinU(), side.getMinV()); - tesAbuse(x, y, z, -1.425f, -1.425f, -.1f, rotX, rotY, rotZ, side.getMinU(), side.getMaxV()); + tesAbuse(x,y,z,1.425f,-1.425f,-.1f,rotX,rotY,rotZ,side.getMaxU(), side.getMaxV()); + tesAbuse(x,y,z,1.425f,1.425f,-.1f,rotX,rotY,rotZ,side.getMaxU(), side.getMinV()); + tesAbuse(x,y,z,-1.425f,1.425f,-.1f,rotX,rotY,rotZ,side.getMinU(), side.getMinV()); + tesAbuse(x,y,z,-1.425f,-1.425f,-.1f,rotX,rotY,rotZ,side.getMinU(), side.getMaxV()); } GL11.glPopMatrix(); return true; } - private void tesAbuse( - int x, - int y, - int z, - float sx, - float sy, - float sz, - float rotX, - float rotY, - float rotZ, - float sideU, - float sideV) { + private void tesAbuse(int x, int y, int z, float sx, float sy, float sz, float rotX, float rotY, float rotZ,float sideU, float sideV){ Vec3 pos = Vec3.createVectorHelper(sx, sy, sz); pos.rotateAroundX(rotX); pos.rotateAroundY(rotY); pos.rotateAroundZ(rotZ); - tes.addVertexWithUV(pos.xCoord + x + .5f, pos.yCoord + y + .5f, pos.zCoord + z + .5f, sideU, sideV); + tes.addVertexWithUV(pos.xCoord+x+.5f, pos.yCoord+y+.5f, pos.zCoord+z+.5f, sideU, sideV); } + @Override public boolean shouldRender3DInInventory(int modelId) { return true; diff --git a/src/main/java/com/github/technus/tectech/thing/block/ReactorSimBlock.java b/src/main/java/com/github/technus/tectech/thing/block/ReactorSimBlock.java index 0cb032e623..1440e16c62 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/ReactorSimBlock.java +++ b/src/main/java/com/github/technus/tectech/thing/block/ReactorSimBlock.java @@ -1,7 +1,5 @@ package com.github.technus.tectech.thing.block; -import static com.github.technus.tectech.Reference.MODID; - import com.github.technus.tectech.thing.tileEntity.ReactorSimTileEntity; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; @@ -19,6 +17,8 @@ import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import static com.github.technus.tectech.Reference.MODID; + /** * Created by danie_000 on 30.09.2017. */ @@ -63,7 +63,7 @@ public class ReactorSimBlock extends Block implements ITileEntityProvider { public static void run() { INSTANCE = new ReactorSimBlock(); GameRegistry.registerBlock(INSTANCE, ReactorSimItem.class, INSTANCE.getUnlocalizedName()); - GameRegistry.registerTileEntity(ReactorSimTileEntity.class, MODID + "_reactorSim"); + GameRegistry.registerTileEntity(ReactorSimTileEntity.class,MODID+"_reactorSim"); } @Override @@ -72,22 +72,21 @@ public class ReactorSimBlock extends Block implements ITileEntityProvider { } @Override - public boolean onBlockActivated( - World world, int x, int y, int z, EntityPlayer entityPlayer, int side, float a, float b, float c) { - if (entityPlayer.isSneaking()) { + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer entityPlayer, int side, float a, float b, float c) { + if(entityPlayer.isSneaking()) { return false; } else { - TileEntity te = world.getTileEntity(x, y, z); - return te instanceof IHasGui - && (!IC2.platform.isSimulating() || IC2.platform.launchGui(entityPlayer, (IHasGui) te)); + TileEntity te = world.getTileEntity(x,y,z); + return te instanceof IHasGui && (!IC2.platform.isSimulating() || IC2.platform.launchGui(entityPlayer, (IHasGui) te)); } } @Override public void onNeighborBlockChange(World world, int x, int y, int z, Block srcBlock) { - TileEntity te = world.getTileEntity(x, y, z); - if (te instanceof TileEntityBlock) { - ((TileEntityBlock) te).onNeighborUpdate(srcBlock); + TileEntity te = world.getTileEntity(x,y,z); + if(te instanceof TileEntityBlock) { + ((TileEntityBlock)te).onNeighborUpdate(srcBlock); } + } } diff --git a/src/main/java/com/github/technus/tectech/thing/block/ReactorSimItem.java b/src/main/java/com/github/technus/tectech/thing/block/ReactorSimItem.java index c4f27a4f66..d659a05005 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/ReactorSimItem.java +++ b/src/main/java/com/github/technus/tectech/thing/block/ReactorSimItem.java @@ -1,15 +1,16 @@ package com.github.technus.tectech.thing.block; -import static com.github.technus.tectech.util.CommonValues.TEC_MARK_GENERAL; -import static net.minecraft.util.StatCollector.translateToLocal; - -import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import java.util.List; + +import static com.github.technus.tectech.util.CommonValues.TEC_MARK_GENERAL; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 30.09.2017. */ @@ -23,9 +24,7 @@ public class ReactorSimItem extends ItemBlock { @Override public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { aList.add(TEC_MARK_GENERAL); - aList.add(translateToLocal("tile.reactorSim.desc.0")); // Fission Reaction Uncertainty Resolver 9001 - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("tile.reactorSim.desc.1")); // Explodes, but not as much... + aList.add(translateToLocal("tile.reactorSim.desc.0"));//Fission Reaction Uncertainty Resolver 9001 + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("tile.reactorSim.desc.1"));//Explodes, but not as much... } } 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 index 8e0221d827..62221d5bd4 100644 --- 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 @@ -1,7 +1,5 @@ package com.github.technus.tectech.thing.casing; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; - import com.github.technus.tectech.thing.CustomItemList; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -10,7 +8,6 @@ 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 java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -18,6 +15,10 @@ 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.thing.casing.GT_Block_CasingsTT.texturePage; + /** * Created by danie_000 on 03.10.2016. */ @@ -38,25 +39,17 @@ public class GT_Block_CasingsBA0 extends GT_Block_Casings_Abstract { 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 + START_INDEX] = - new GT_CopiedBlockTexture(this, 6, b); + Textures.BlockIcons.casingTexturePages[texturePage][b + START_INDEX] = 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() + ".9.name", "ZPM Superconductor Primary Tesla Windings"); + 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() + ".9.name", "ZPM Superconductor Primary Tesla Windings"); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".6.name", "Tesla Base Casing"); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".7.name", "Tesla Toroid Casing"); diff --git a/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsNH.java b/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsNH.java index 61e4847eb8..2a8bb37a0b 100644 --- a/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsNH.java +++ b/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsNH.java @@ -1,8 +1,5 @@ package com.github.technus.tectech.thing.casing; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; - import com.github.technus.tectech.thing.CustomItemList; import gregtech.api.enums.Textures; import gregtech.api.objects.GT_CopiedBlockTexture; @@ -13,10 +10,14 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; + /** * Created by danie_000 on 03.10.2016. */ -public class GT_Block_CasingsNH extends GT_Block_Casings_Abstract { +public class GT_Block_CasingsNH + extends GT_Block_Casings_Abstract { public static boolean mConnectedMachineTextures = true; public GT_Block_CasingsNH() { @@ -24,28 +25,28 @@ public class GT_Block_CasingsNH extends GT_Block_Casings_Abstract { setCreativeTab(creativeTabTecTech); for (byte b = 0; b < 16; b = (byte) (b + 1)) { - Textures.BlockIcons.casingTexturePages[8][b + 64] = new GT_CopiedBlockTexture(this, 6, b); + Textures.BlockIcons.casingTexturePages[8][b+64] = new GT_CopiedBlockTexture(this, 6, b); /*IMPORTANT for block recoloring*/ } - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "UEV Machine Casing"); // adding - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "UIV Machine Casing"); // adding - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "UMV Machine Casing"); // adding - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "UXV Machine Casing"); // adding - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "OPV Machine Casing"); // adding - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "MAX Machine Casing"); // adding - - CustomItemList.Casing_UEV.set(new ItemStack(this, 1, 10)); - CustomItemList.Casing_UIV.set(new ItemStack(this, 1, 11)); - CustomItemList.Casing_UMV.set(new ItemStack(this, 1, 12)); - CustomItemList.Casing_UXV.set(new ItemStack(this, 1, 13)); - CustomItemList.Casing_OPV.set(new ItemStack(this, 1, 14)); - CustomItemList.Casing_MAXV.set(new ItemStack(this, 1, 15)); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "UEV Machine Casing");//adding + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "UIV Machine Casing");//adding + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "UMV Machine Casing");//adding + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "UXV Machine Casing");//adding + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "OPV Machine Casing");//adding + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "MAX Machine Casing");//adding + + CustomItemList.Casing_UEV.set(new ItemStack(this,1,10)); + CustomItemList.Casing_UIV.set(new ItemStack(this,1,11)); + CustomItemList.Casing_UMV.set(new ItemStack(this,1,12)); + CustomItemList.Casing_UXV.set(new ItemStack(this,1,13)); + CustomItemList.Casing_OPV.set(new ItemStack(this,1,14)); + CustomItemList.Casing_MAXV.set(new ItemStack(this,1,15)); } @Override public void registerBlockIcons(IIconRegister aIconRegister) { - // super.registerBlockIcons(aIconRegister); + //super.registerBlockIcons(aIconRegister); } @Override 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 fcaa068bce..de72db417e 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 @@ -1,8 +1,5 @@ package com.github.technus.tectech.thing.casing; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; -import static com.github.technus.tectech.TecTech.tectechTexturePage1; - import com.github.technus.tectech.thing.CustomItemList; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -11,7 +8,6 @@ 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 java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -19,31 +15,18 @@ 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.creativeTabTecTech; +import static com.github.technus.tectech.TecTech.tectechTexturePage1; + /** * Created by danie_000 on 03.10.2016. */ public class GT_Block_CasingsTT extends GT_Block_Casings_Abstract { - public static final byte texturePage = tectechTexturePage1; - public static final short textureOffset = texturePage << 7; // Start of PAGE 8 (which is the 9th page) (8*128) - private static IIcon eM0, - eM1, - eM1s, - eM2, - eM2s, - eM3, - eM3s, - eM4, - eM5, - eM6, - eM7, - eM7s, - eM8, - eM9, - eM10, - eM11, - eM12, - eM13, - eM14; + public static final byte texturePage=tectechTexturePage1; + public static final short textureOffset = texturePage << 7;//Start of PAGE 8 (which is the 9th page) (8*128) + private static IIcon eM0, eM1, eM1s, eM2, eM2s, eM3, eM3s, eM4, eM5, eM6, eM7, eM7s, eM8, eM9, eM10, eM11, eM12, eM13, eM14; private static IIcon[] debug = new IIcon[6]; public GT_Block_CasingsTT() { @@ -72,13 +55,10 @@ public class GT_Block_CasingsTT extends GT_Block_Casings_Abstract { GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "Dimensional Bridge Generator"); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "Ultimate Molecular Casing"); - GT_LanguageManager.addStringLocalization( - getUnlocalizedName() + ".13.name", "Ultimate Advanced Molecular Casing"); - GT_LanguageManager.addStringLocalization( - getUnlocalizedName() + ".14.name", "Ultimate Containment Field Generator"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "Ultimate Advanced Molecular Casing"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "Ultimate Containment Field Generator"); - GT_LanguageManager.addStringLocalization( - getUnlocalizedName() + ".15.name", "Debug Sides"); // NOT REGISTER AS TEXTURE FOR HATCHES! + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "Debug Sides");//NOT REGISTER AS TEXTURE FOR HATCHES! CustomItemList.eM_Power.set(new ItemStack(this, 1, 0)); @@ -106,7 +86,7 @@ public class GT_Block_CasingsTT extends GT_Block_Casings_Abstract { @Override public void registerBlockIcons(IIconRegister aIconRegister) { - // super.registerBlockIcons(aIconRegister); + //super.registerBlockIcons(aIconRegister); eM0 = aIconRegister.registerIcon("gregtech:iconsets/EM_POWER"); eM1 = aIconRegister.registerIcon("gregtech:iconsets/EM_PC_NONSIDE"); 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 index 748626fd2e..50630820df 100644 --- 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 @@ -1,15 +1,16 @@ package com.github.technus.tectech.thing.casing; -import static com.github.technus.tectech.util.CommonValues.*; -import static net.minecraft.util.StatCollector.translateToLocal; - import gregtech.common.blocks.GT_Item_Casings_Abstract; -import java.util.List; 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.util.CommonValues.*; +import static net.minecraft.util.StatCollector.translateToLocal; + public class GT_Item_CasingsBA0 extends GT_Item_Casings_Abstract { public GT_Item_CasingsBA0(Block par1) { super(par1); @@ -23,45 +24,32 @@ public class GT_Item_CasingsBA0 extends GT_Item_Casings_Abstract { aList.add(COSMIC_MARK); } switch (aStack.getItemDamage()) { - case 0: // "Redstone Alloy Primary Tesla Windings" - case 1: // "MV Superconductor Primary Tesla Windings" - case 2: // "HV Superconductor Primary Tesla Windings" - case 3: // "EV Superconductor Primary Tesla Windings" - case 4: // "IV Superconductor Primary Tesla Windings" - case 5: // "LuV Superconductor Primary Tesla Windings" - aList.add(translateToLocal("gt.blockcasingsBA0.0.desc.0") + " " + V[aStack.getItemDamage() + 1] - + " EU/t"); // Handles up to - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsBA0.0.desc.1")); // What one man calls God, another calls the - // laws of physics. + case 0://"Redstone Alloy Primary Tesla Windings" + case 1://"MV Superconductor Primary Tesla Windings" + case 2://"HV Superconductor Primary Tesla Windings" + case 3://"EV Superconductor Primary Tesla Windings" + case 4://"IV Superconductor Primary Tesla Windings" + case 5://"LuV Superconductor Primary Tesla Windings" + aList.add(translateToLocal("gt.blockcasingsBA0.0.desc.0") + " " + V[aStack.getItemDamage() + 1] + " EU/t");//Handles up to + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.0.desc.1"));//What one man calls God, another calls the laws of physics. break; - case 6: // "Tesla Base Casing" - aList.add(translateToLocal("gt.blockcasingsBA0.6.desc.0")); // The base of a wondrous contraption - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsBA0.6.desc.1")); // it's alive, IT'S ALIVE! + case 6://"Tesla Base Casing" + aList.add(translateToLocal("gt.blockcasingsBA0.6.desc.0"));//The base of a wondrous contraption + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.6.desc.1"));//it's alive, IT'S ALIVE! break; - case 7: // "Tesla Toroid Casing" - aList.add(translateToLocal("gt.blockcasingsBA0.7.desc.0")); // Made out of the finest tin foil! - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsBA0.7.desc.1")); // Faraday suits might come later + case 7://"Tesla Toroid Casing" + aList.add(translateToLocal("gt.blockcasingsBA0.7.desc.0"));//Made out of the finest tin foil! + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.7.desc.1"));//Faraday suits might come later break; - case 8: // "Tesla Secondary Windings" - aList.add(translateToLocal("gt.blockcasingsBA0.8.desc.0")); // Picks up power from a primary coil - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsBA0.8.desc.1")); // Who wouldn't want a 32k epoxy multi? + case 8://"Tesla Secondary Windings" + aList.add(translateToLocal("gt.blockcasingsBA0.8.desc.0"));//Picks up power from a primary coil + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.8.desc.1"));//Who wouldn't want a 32k epoxy multi? break; - case 9: // "ZPM Superconductor Primary Tesla Windings" - aList.add(translateToLocal("gt.blockcasingsBA0.0.desc.0") + " " + V[7] + " EU/t"); // Handles up to - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsBA0.0.desc.1")); // What one man calls God, another calls the - // laws of physics. + case 9://"ZPM Superconductor Primary Tesla Windings" + aList.add(translateToLocal("gt.blockcasingsBA0.0.desc.0") + " " + V[7] + " EU/t");//Handles up to + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.0.desc.1"));//What one man calls God, another calls the laws of physics. break; - default: // WTF? + 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_CasingsNH.java b/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsNH.java index cfe2e0a702..68a835c00a 100644 --- a/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsNH.java +++ b/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsNH.java @@ -6,7 +6,8 @@ import net.minecraft.block.Block; /** * Created by danie_000 on 03.10.2016. */ -public class GT_Item_CasingsNH extends GT_Item_Casings_Abstract { +public class GT_Item_CasingsNH + extends GT_Item_Casings_Abstract { public GT_Item_CasingsNH(Block par1) { super(par1); } 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 19822a679d..5c93841d9a 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 @@ -1,16 +1,17 @@ package com.github.technus.tectech.thing.casing; -import static com.github.technus.tectech.util.CommonValues.COSMIC_MARK; -import static com.github.technus.tectech.util.CommonValues.TEC_MARK_EM; -import static net.minecraft.util.StatCollector.translateToLocal; - import gregtech.common.blocks.GT_Item_Casings_Abstract; -import java.util.List; 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.util.CommonValues.COSMIC_MARK; +import static com.github.technus.tectech.util.CommonValues.TEC_MARK_EM; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 03.10.2016. */ @@ -21,108 +22,77 @@ 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() < 15) { + if(aStack.getItemDamage() < 15) { aList.add(TEC_MARK_EM); } else { aList.add(COSMIC_MARK); } switch (aStack.getItemDamage()) { - case 0: // "High Power Casing" - aList.add(translateToLocal("gt.blockcasingsTT.0.desc.0")); // Well suited for high power applications. - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsTT.0.desc.1")); // The power levels are rising! - break; - case 1: // "Computer Casing" - aList.add(translateToLocal("gt.blockcasingsTT.1.desc.0")); // Nice and clean casing. - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsTT.1.desc.1")); // Dust can break it!? - break; - case 2: // "Computer Heat Vent" - aList.add(translateToLocal("gt.blockcasingsTT.2.desc.0")); // Air vent with a filter. - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsTT.2.desc.1")); // Perfectly muffled sound! - break; - case 3: // "Advanced Computer Casing" - aList.add(translateToLocal("gt.blockcasingsTT.3.desc.0")); // Contains high bandwidth bus - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsTT.3.desc.1")); // couple thousand qubits wide. - break; - case 4: // "Molecular Casing" - aList.add(translateToLocal("gt.blockcasingsTT.4.desc.0")); // Stops elemental things. - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsTT.4.desc.1")); // Radiation and emotions too... - break; - case 5: // "Advanced Molecular Casing" - aList.add(translateToLocal("gt.blockcasingsTT.5.desc.0")); // Cooling and stabilization. - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsTT.5.desc.1")); // A comfortable machine bed. - break; - case 6: // "Containment Field Generator" - aList.add(translateToLocal("gt.blockcasingsTT.6.desc.0")); // Creates a field that... - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsTT.6.desc.1")); // can stop even force carriers. - break; - case 7: // "Molecular Coil" - aList.add(translateToLocal("gt.blockcasingsTT.7.desc.0")); // Well it does things too... - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsTT.7.desc.1")); // [Use this coil!] - break; - case 8: // "Collider Hollow Casing" - aList.add(translateToLocal("gt.blockcasingsTT.8.desc.0")); // Reinforced accelerator tunnel. - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsTT.8.desc.1")); // Most advanced pipe ever. - break; - case 9: // "Spacetime Altering Casing" - aList.add(translateToLocal("gt.blockcasingsTT.9.desc.0")); // c is no longer the limit. - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsTT.9.desc.1")); // Wibbly wobbly timey wimey stuff. - break; - case 10: // "Teleportation Casing" - aList.add(translateToLocal("gt.blockcasingsTT.10.desc.0")); // Remote connection. - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsTT.10.desc.1")); // Better touch with a stick. - break; - case 11: // "Dimensional Bridge Generator" - aList.add(translateToLocal("gt.blockcasingsTT.11.desc.0")); // Interdimensional Operations. - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsTT.11.desc.1")); // Around the universe and other places too. - break; - case 12: // "Ultimate Molecular Casing" - aList.add(translateToLocal("gt.blockcasingsTT.12.desc.0")); // Ultimate in every way. - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsTT.12.desc.1")); // I don't know what it can't do. - break; - case 13: // "Ultimate Advanced Molecular Casing" - aList.add(translateToLocal("gt.blockcasingsTT.13.desc.0")); // More Ultimate in every way. - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsTT.13.desc.1")); // I don't know what I am doing! - break; - case 14: // "Ultimate Containment Field Generator" - aList.add(translateToLocal("gt.blockcasingsTT.14.desc.0")); // Black Hole... - aList.add(EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsTT.14.desc.1")); // Meh... - break; - case 15: // "Debug Sides" - aList.add(translateToLocal("gt.blockcasingsTT.15.desc.0")); // Lazy man way of determining sides. - aList.add(EnumChatFormatting.BLUE.toString() - + translateToLocal("gt.blockcasingsTT.15.desc.1")); // 0, 1, 2, 3, 4, 5, 6?! - break; - default: // WTF? + case 0://"High Power Casing" + aList.add(translateToLocal("gt.blockcasingsTT.0.desc.0"));//Well suited for high power applications. + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.0.desc.1"));//The power levels are rising! + break; + case 1://"Computer Casing" + aList.add(translateToLocal("gt.blockcasingsTT.1.desc.0"));//Nice and clean casing. + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.1.desc.1"));//Dust can break it!? + break; + case 2://"Computer Heat Vent" + aList.add(translateToLocal("gt.blockcasingsTT.2.desc.0"));//Air vent with a filter. + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.2.desc.1"));//Perfectly muffled sound! + break; + case 3://"Advanced Computer Casing" + aList.add(translateToLocal("gt.blockcasingsTT.3.desc.0"));//Contains high bandwidth bus + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.3.desc.1"));//couple thousand qubits wide. + break; + case 4://"Molecular Casing" + aList.add(translateToLocal("gt.blockcasingsTT.4.desc.0"));//Stops elemental things. + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.4.desc.1"));//Radiation and emotions too... + break; + case 5://"Advanced Molecular Casing" + aList.add(translateToLocal("gt.blockcasingsTT.5.desc.0"));//Cooling and stabilization. + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.5.desc.1"));//A comfortable machine bed. + break; + case 6://"Containment Field Generator" + aList.add(translateToLocal("gt.blockcasingsTT.6.desc.0"));//Creates a field that... + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.6.desc.1"));//can stop even force carriers. + break; + case 7://"Molecular Coil" + aList.add(translateToLocal("gt.blockcasingsTT.7.desc.0"));//Well it does things too... + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.7.desc.1"));//[Use this coil!] + break; + case 8://"Collider Hollow Casing" + aList.add(translateToLocal("gt.blockcasingsTT.8.desc.0"));//Reinforced accelerator tunnel. + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.8.desc.1"));//Most advanced pipe ever. + break; + case 9://"Spacetime Altering Casing" + aList.add(translateToLocal("gt.blockcasingsTT.9.desc.0"));//c is no longer the limit. + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.9.desc.1"));//Wibbly wobbly timey wimey stuff. + break; + case 10://"Teleportation Casing" + aList.add(translateToLocal("gt.blockcasingsTT.10.desc.0"));//Remote connection. + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.10.desc.1"));//Better touch with a stick. + break; + case 11://"Dimensional Bridge Generator" + aList.add(translateToLocal("gt.blockcasingsTT.11.desc.0"));//Interdimensional Operations. + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.11.desc.1"));//Around the universe and other places too. + break; + case 12://"Ultimate Molecular Casing" + aList.add(translateToLocal("gt.blockcasingsTT.12.desc.0"));//Ultimate in every way. + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.12.desc.1"));//I don't know what it can't do. + break; + case 13://"Ultimate Advanced Molecular Casing" + aList.add(translateToLocal("gt.blockcasingsTT.13.desc.0"));//More Ultimate in every way. + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.13.desc.1"));//I don't know what I am doing! + break; + case 14://"Ultimate Containment Field Generator" + aList.add(translateToLocal("gt.blockcasingsTT.14.desc.0"));//Black Hole... + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.14.desc.1"));//Meh... + break; + case 15://"Debug Sides" + aList.add(translateToLocal("gt.blockcasingsTT.15.desc.0"));//Lazy man way of determining sides. + aList.add(EnumChatFormatting.BLUE.toString() + translateToLocal("gt.blockcasingsTT.15.desc.1"));//0, 1, 2, 3, 4, 5, 6?! + 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/cover/GT_Cover_TM_EnderFluidLink.java b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_EnderFluidLink.java index ad6bb87c19..e5e62ae4d8 100644 --- a/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_EnderFluidLink.java +++ b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_EnderFluidLink.java @@ -1,9 +1,5 @@ package com.github.technus.tectech.thing.cover; -import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderFluidContainer; -import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderLinkTag; -import static gregtech.GT_Mod.gregtechproxy; - import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.mechanics.enderStorage.EnderLinkCoverMessage; import com.github.technus.tectech.mechanics.enderStorage.EnderLinkTag; @@ -18,7 +14,6 @@ import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.net.GT_Packet_TileEntityCover; import gregtech.api.util.GT_CoverBehavior; import gregtech.api.util.GT_Utility; -import java.util.UUID; import net.minecraft.client.gui.GuiButton; import net.minecraft.entity.player.EntityPlayer; import net.minecraftforge.common.util.ForgeDirection; @@ -26,18 +21,25 @@ import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.IFluidHandler; +import java.util.UUID; + +import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderFluidContainer; +import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderLinkTag; +import static gregtech.GT_Mod.gregtechproxy; + public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { private static final int L_PER_TICK = 8000; - private static final int IMPORT_EXPORT_MASK = 0b0001; - private static final int PUBLIC_PRIVATE_MASK = 0b0010; - private static EnderLinkTag tag = new EnderLinkTag("", null); // Client-Sided + private final static int IMPORT_EXPORT_MASK = 0b0001; + private final static int PUBLIC_PRIVATE_MASK = 0b0010; + private static EnderLinkTag tag = new EnderLinkTag("", null);//Client-Sided - public GT_Cover_TM_EnderFluidLink() {} + public GT_Cover_TM_EnderFluidLink() { + } public static void setEnderLinkTag(EnderLinkTag inputTag) { - if (inputTag != null) { + if(inputTag != null) { tag = inputTag; - // Hacky Way to update the gui + //Hacky Way to update the gui GUI_INSTANCE.resetColorField(); } } @@ -60,8 +62,7 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { } @Override - public int doCoverThings( - byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { + public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { if ((aTileEntity instanceof IFluidHandler)) { IFluidHandler fluidHandlerSelf = (IFluidHandler) aTileEntity; IFluidHandler fluidHandlerEnder = getEnderFluidContainer(getEnderLinkTag((IFluidHandler) aTileEntity)); @@ -91,19 +92,11 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { } @Override - public int onCoverScrewdriverclick( - byte aSide, - int aCoverID, - int aCoverVariable, - ICoverable aTileEntity, - EntityPlayer aPlayer, - float aX, - float aY, - float aZ) { + public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) { int newCoverVariable = toggleBit(aCoverVariable, IMPORT_EXPORT_MASK); if (testBit(aCoverVariable, IMPORT_EXPORT_MASK)) { - PlayerChatHelper.SendInfo(aPlayer, "Ender Suction Engaged!"); // TODO Translation support + PlayerChatHelper.SendInfo(aPlayer, "Ender Suction Engaged!");//TODO Translation support } else { PlayerChatHelper.SendInfo(aPlayer, "Ender Filling Engaged!"); } @@ -112,19 +105,19 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { @Override public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - // Runs each tick + //Runs each tick return 1; } - // region GUI + //region GUI @Override public boolean hasCoverGUI() { return true; } @Override - public Object getClientGUI(byte aSide, int aCoverID, int coverData, ICoverable aTileEntity) { - // Only open gui if we're placed on a fluid tank + public Object getClientGUI(byte aSide, int aCoverID, int coverData, ICoverable aTileEntity) { + //Only open gui if we're placed on a fluid tank Object gui = null; if (aTileEntity instanceof IFluidHandler) { gui = new TM_EnderFluidLinkCover(aSide, aCoverID, coverData, aTileEntity); @@ -140,37 +133,37 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { private int coverVariable; private GT_GuiTextBox colorField; - private static final int START_X = 10; - private static final int START_Y = 25; - private static final int SPACE_X = 18; - private static final int SPACE_Y = 18; + private final static int START_X = 10; + private final static int START_Y = 25; + private final static int SPACE_X = 18; + private final static int SPACE_Y = 18; - private static final int SIZE_X = 176; - private static final int SIZE_Y = 107; + private final static int SIZE_X = 176; + private final static int SIZE_Y = 107; - private static final int BOX_SIZE_X = 34; - private static final int BOX_SIZE_Y = 34; + private final static int BOX_SIZE_X = 34; + private final static int BOX_SIZE_Y = 34; - private static final int TEXT_FIELD_SIZE_X = SPACE_X * 5 - 8; - private static final int TEXT_FIELD_SIZE_Y = 12; - private static final int TEXT_STRING_LENGTH = 9; + private final static int TEXT_FIELD_SIZE_X = SPACE_X * 5 - 8; + private final static int TEXT_FIELD_SIZE_Y = 12; + private final static int TEXT_STRING_LENGTH = 9; - private static final int FONT_COLOR = 0xFF555555; - private static final int BOX_BORDER_COLOR = 0xFF000000; + private final static int FONT_COLOR = 0xFF555555; + private final static int BOX_BORDER_COLOR = 0xFF000000; - private static final int COLOR_FIELD_ID = 0; - private static final int PUBLIC_BUTTON_ID = 1; - private static final int PRIVATE_BUTTON_ID = 2; - private static final int IMPORT_BUTTON_ID = 3; - private static final int EXPORT_BUTTON_ID = 4; + private final static int COLOR_FIELD_ID = 0; + private final static int PUBLIC_BUTTON_ID = 1; + private final static int PRIVATE_BUTTON_ID = 2; + private final static int IMPORT_BUTTON_ID = 3; + private final static int EXPORT_BUTTON_ID = 4; private GT_GuiIconButton newButtonWithSpacing(int id, int x, int y, GT_GuiIcon icon) { return new GT_GuiIconButton(this, id, START_X + SPACE_X * x, START_Y + SPACE_Y * y, icon); } private GT_GuiTextBox newTextField(int id, int x, int y) { - GT_GuiTextBox field = new GT_GuiTextBox( - this, id, START_X + SPACE_X * x, START_Y + SPACE_Y * y, TEXT_FIELD_SIZE_X, TEXT_FIELD_SIZE_Y); + GT_GuiTextBox field = new GT_GuiTextBox(this, id, START_X + SPACE_X * x, + START_Y + SPACE_Y * y, TEXT_FIELD_SIZE_X, TEXT_FIELD_SIZE_Y); field.setMaxStringLength(TEXT_STRING_LENGTH); return field; } @@ -185,18 +178,21 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { side = aSide; coverID = aCoverID; coverVariable = aCoverVariable; - NetworkDispatcher.INSTANCE.sendToServer( - new EnderLinkCoverMessage.EnderLinkCoverQuery(tag, (IFluidHandler) tile)); - // Color Value Field + NetworkDispatcher.INSTANCE.sendToServer(new EnderLinkCoverMessage.EnderLinkCoverQuery(tag, (IFluidHandler) tile)); + //Color Value Field colorField = newTextField(COLOR_FIELD_ID, 0, 0); GUI_INSTANCE = this; resetColorField(); - // Public/Private Buttons - newButtonWithSpacing(PUBLIC_BUTTON_ID, 0, 2, GT_GuiIcon.WHITELIST).setTooltipText(trans("326", "Public")); - newButtonWithSpacing(PRIVATE_BUTTON_ID, 1, 2, GT_GuiIcon.BLACKLIST).setTooltipText(trans("327", "Private")); - // Import/Export Buttons - newButtonWithSpacing(IMPORT_BUTTON_ID, 0, 3, GT_GuiIcon.IMPORT).setTooltipText(trans("007", "Import")); - newButtonWithSpacing(EXPORT_BUTTON_ID, 1, 3, GT_GuiIcon.EXPORT).setTooltipText(trans("006", "Export")); + //Public/Private Buttons + newButtonWithSpacing(PUBLIC_BUTTON_ID, 0, 2, GT_GuiIcon.WHITELIST) + .setTooltipText(trans("326", "Public")); + newButtonWithSpacing(PRIVATE_BUTTON_ID, 1, 2, GT_GuiIcon.BLACKLIST) + .setTooltipText(trans("327", "Private")); + //Import/Export Buttons + newButtonWithSpacing(IMPORT_BUTTON_ID, 0, 3, GT_GuiIcon.IMPORT) + .setTooltipText(trans("007", "Import")); + newButtonWithSpacing(EXPORT_BUTTON_ID, 1, 3, GT_GuiIcon.EXPORT) + .setTooltipText(trans("006", "Export")); } @Override @@ -213,15 +209,15 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { } @Override - public void buttonClicked(GuiButton btn) { - if (getClickable(btn.id)) { + public void buttonClicked(GuiButton btn){ + if (getClickable(btn.id)){ coverVariable = getNewCoverVariable(btn.id); GT_Values.NW.sendToServer(new GT_Packet_TileEntityCover(side, coverID, coverVariable, tile)); } updateButtons(); } - private void updateButtons() { + private void updateButtons(){ GuiButton b; for (Object o : buttonList) { b = (GuiButton) o; @@ -231,26 +227,23 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { private void switchPrivatePublic(int coverVar) { UUID ownerUUID = tag.getUUID(); - if (testBit(coverVar, PUBLIC_PRIVATE_MASK)) { + if (testBit(coverVar, PUBLIC_PRIVATE_MASK)){ ownerUUID = gregtechproxy.getThePlayer().getUniqueID(); } else { ownerUUID = null; } EnderLinkTag newTag = new EnderLinkTag(tag.getFrequency(), ownerUUID); - NetworkDispatcher.INSTANCE.sendToServer( - new EnderLinkCoverMessage.EnderLinkCoverUpdate(newTag, (IFluidHandler) tile)); + NetworkDispatcher.INSTANCE.sendToServer(new EnderLinkCoverMessage.EnderLinkCoverUpdate(newTag, (IFluidHandler) tile)); } private int getNewCoverVariable(int id) { int tempCoverVariable = coverVariable; switch (id) { - case PUBLIC_BUTTON_ID: - case PRIVATE_BUTTON_ID: + case PUBLIC_BUTTON_ID: case PRIVATE_BUTTON_ID: tempCoverVariable = toggleBit(tempCoverVariable, PUBLIC_PRIVATE_MASK); switchPrivatePublic(tempCoverVariable); break; - case IMPORT_BUTTON_ID: - case EXPORT_BUTTON_ID: + case IMPORT_BUTTON_ID: case EXPORT_BUTTON_ID: tempCoverVariable = toggleBit(tempCoverVariable, IMPORT_EXPORT_MASK); } return tempCoverVariable; @@ -279,8 +272,7 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { try { String string = box.getText(); tag = new EnderLinkTag(string, tag.getUUID()); - NetworkDispatcher.INSTANCE.sendToServer( - new EnderLinkCoverMessage.EnderLinkCoverUpdate(tag, (IFluidHandler) tile)); + NetworkDispatcher.INSTANCE.sendToServer(new EnderLinkCoverMessage.EnderLinkCoverUpdate(tag, (IFluidHandler) tile)); } catch (NumberFormatException ignored) { } resetColorField(); diff --git a/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_PowerPassUpgrade.java b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_PowerPassUpgrade.java index 699a6dc0bc..a2221af398 100644 --- a/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_PowerPassUpgrade.java +++ b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_PowerPassUpgrade.java @@ -1,18 +1,19 @@ package com.github.technus.tectech.thing.cover; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.ICoverable; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.objects.GT_ItemStack; import gregtech.api.util.GT_CoverBehavior; import net.minecraft.item.ItemStack; public class GT_Cover_TM_PowerPassUpgrade extends GT_CoverBehavior { - public GT_Cover_TM_PowerPassUpgrade() {} + public GT_Cover_TM_PowerPassUpgrade() { + } @Override public boolean isCoverPlaceable(byte aSide, ItemStack aStack, ICoverable aTileEntity) { - IMetaTileEntity iGregTechTileEntityOffset = - aTileEntity.getIGregTechTileEntityOffset(0, 0, 0).getMetaTileEntity(); + IMetaTileEntity iGregTechTileEntityOffset = aTileEntity.getIGregTechTileEntityOffset(0, 0, 0).getMetaTileEntity(); if (iGregTechTileEntityOffset instanceof GT_MetaTileEntity_MultiblockBase_EM) { GT_MetaTileEntity_MultiblockBase_EM multi = (GT_MetaTileEntity_MultiblockBase_EM) iGregTechTileEntityOffset; return !multi.ePowerPassCover; @@ -22,8 +23,7 @@ public class GT_Cover_TM_PowerPassUpgrade extends GT_CoverBehavior { @Override public void placeCover(byte aSide, ItemStack aCover, ICoverable aTileEntity) { - IMetaTileEntity iGregTechTileEntityOffset = - aTileEntity.getIGregTechTileEntityOffset(0, 0, 0).getMetaTileEntity(); + IMetaTileEntity iGregTechTileEntityOffset = aTileEntity.getIGregTechTileEntityOffset(0, 0, 0).getMetaTileEntity(); if (iGregTechTileEntityOffset instanceof GT_MetaTileEntity_MultiblockBase_EM) { GT_MetaTileEntity_MultiblockBase_EM multi = (GT_MetaTileEntity_MultiblockBase_EM) iGregTechTileEntityOffset; multi.ePowerPassCover = true; @@ -33,10 +33,8 @@ public class GT_Cover_TM_PowerPassUpgrade extends GT_CoverBehavior { } @Override - public boolean onCoverRemoval( - byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, boolean aForced) { - IMetaTileEntity iGregTechTileEntityOffset = - aTileEntity.getIGregTechTileEntityOffset(0, 0, 0).getMetaTileEntity(); + public boolean onCoverRemoval(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, boolean aForced) { + IMetaTileEntity iGregTechTileEntityOffset = aTileEntity.getIGregTechTileEntityOffset(0, 0, 0).getMetaTileEntity(); if (iGregTechTileEntityOffset instanceof GT_MetaTileEntity_MultiblockBase_EM) { GT_MetaTileEntity_MultiblockBase_EM multi = (GT_MetaTileEntity_MultiblockBase_EM) iGregTechTileEntityOffset; multi.ePowerPassCover = false; 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 index 03caa0948c..33330b521a 100644 --- 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 @@ -1,32 +1,32 @@ package com.github.technus.tectech.thing.cover; -import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.teslaSimpleNodeSetAdd; -import static ic2.api.info.Info.DMG_ELECTRIC; - import com.github.technus.tectech.mechanics.tesla.TeslaCoverConnection; 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 com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.teslaSimpleNodeSetAdd; +import static ic2.api.info.Info.DMG_ELECTRIC; + public class GT_Cover_TM_TeslaCoil extends GT_CoverBehavior { - public GT_Cover_TM_TeslaCoil() {} + public GT_Cover_TM_TeslaCoil() { + } @Override - public int doCoverThings( - byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { - // Only do stuff if we're on top and have power + public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { + //Only do stuff if we're on top and have power if (aSide == 1 || aTileEntity.getEUCapacity() > 0) { - // Makes sure we're on the list - teslaSimpleNodeSetAdd(new TeslaCoverConnection( - aTileEntity.getIGregTechTileEntityOffset(0, 0, 0), getTeslaReceptionCapability())); + //Makes sure we're on the list + teslaSimpleNodeSetAdd(new TeslaCoverConnection(aTileEntity.getIGregTechTileEntityOffset(0, 0, 0), + getTeslaReceptionCapability())); } return super.doCoverThings(aSide, aInputRedstone, aCoverID, aCoverVariable, aTileEntity, aTimer); } @Override public String getDescription(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - return "Do not attempt to use screwdriver!"; // TODO Translation support + return "Do not attempt to use screwdriver!";//TODO Translation support } @Override @@ -35,16 +35,8 @@ public class GT_Cover_TM_TeslaCoil extends GT_CoverBehavior { } @Override - public int onCoverScrewdriverclick( - byte aSide, - int aCoverID, - int aCoverVariable, - ICoverable aTileEntity, - EntityPlayer aPlayer, - float aX, - float aY, - float aZ) { - // Shock a non-hazmat player if they dare stuff a screwdriver into one of these + public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) { + //Shock a non-hazmat player if they dare stuff a screwdriver into one of these if (aTileEntity.getStoredEU() > 0 && !GT_Utility.isWearingFullElectroHazmat(aPlayer)) { aPlayer.attackEntityFrom(DMG_ELECTRIC, 20); } @@ -53,7 +45,7 @@ public class GT_Cover_TM_TeslaCoil extends GT_CoverBehavior { @Override public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - // It updates once every 200 ticks, so once every 10 seconds + //It updates once every 200 ticks, so once every 10 seconds return 200; } 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 index 10e8efc9ef..3417d7ae20 100644 --- 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 @@ -4,7 +4,8 @@ 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 GT_Cover_TM_TeslaCoil_Ultimate() { + } @Override public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { @@ -30,7 +31,7 @@ public class GT_Cover_TM_TeslaCoil_Ultimate extends GT_Cover_TM_TeslaCoil { public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity) { return true; } - + public byte getTeslaReceptionCapability() { return 1; } diff --git a/src/main/java/com/github/technus/tectech/thing/item/AvrProgrammer.java b/src/main/java/com/github/technus/tectech/thing/item/AvrProgrammer.java index 561c149a2d..cc071d2326 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/AvrProgrammer.java +++ b/src/main/java/com/github/technus/tectech/thing/item/AvrProgrammer.java @@ -1,9 +1,5 @@ package com.github.technus.tectech.thing.item; -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.avrClone.AvrCore; import com.github.technus.avrClone.instructions.InstructionRegistry; import com.github.technus.avrClone.memory.program.ProgramMemory; @@ -16,10 +12,6 @@ import dan200.computercraft.api.filesystem.IWritableMount; import dan200.computercraft.api.media.IMedia; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.List; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; @@ -30,14 +22,22 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.FakePlayer; -@Optional.InterfaceList({ - @Optional.Interface(iface = "dan200.computercraft.api.media.IMedia", modid = "ComputerCraft"), - @Optional.Interface(iface = "li.cil.oc.api.fs.FileSystem", modid = "OpenComputers") -}) +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.List; + +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; +import static net.minecraft.util.StatCollector.translateToLocal; + +@Optional.InterfaceList( + {@Optional.Interface(iface="dan200.computercraft.api.media.IMedia",modid = "ComputerCraft"), + @Optional.Interface(iface="li.cil.oc.api.fs.FileSystem",modid="OpenComputers")}) public class AvrProgrammer extends Item implements IMedia { - public static AvrProgrammer INSTANCE = new AvrProgrammer(); + public static AvrProgrammer INSTANCE=new AvrProgrammer(); - private AvrProgrammer() { + private AvrProgrammer(){ setMaxStackSize(1); setHasSubtypes(true); setUnlocalizedName("em.programmer"); @@ -46,19 +46,9 @@ public class AvrProgrammer extends Item implements IMedia { } @Override - public boolean onItemUseFirst( - ItemStack stack, - EntityPlayer aPlayer, - World aWorld, - int aX, - int aY, - int aZ, - int side, - float hitX, - float hitY, - float hitZ) { + public boolean onItemUseFirst(ItemStack stack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int side, 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) { @@ -66,12 +56,12 @@ public class AvrProgrammer extends Item implements IMedia { IMetaTileEntity metaTE = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity(); if (metaTE instanceof GT_MetaTileEntity_MicroController) { if (aPlayer.isSneaking()) { - if (stack.stackTagCompound.hasKey("pgm")) { + if(stack.stackTagCompound.hasKey("pgm")) { NBTTagCompound pgm = stack.stackTagCompound.getCompoundTag("pgm"); if (pgm.hasKey("instructions")) { AvrCore core = ((GT_MetaTileEntity_MicroController) metaTE).core; - InstructionRegistry registry = - InstructionRegistry.REGISTRIES.get(pgm.getString("instructionRegistry")); + InstructionRegistry registry = InstructionRegistry.REGISTRIES. + get(pgm.getString("instructionRegistry")); if (registry != null) { core.setProgramMemory(new ProgramMemory( registry, @@ -83,9 +73,9 @@ public class AvrProgrammer extends Item implements IMedia { } } } else { - NBTTagCompound tag = new NBTTagCompound(); + NBTTagCompound tag=new NBTTagCompound(); metaTE.saveNBTData(tag); - stack.stackTagCompound.setTag("avr", tag.getCompoundTag("avr")); + stack.stackTagCompound.setTag("avr",tag.getCompoundTag("avr")); } return true; } @@ -94,29 +84,27 @@ public class AvrProgrammer extends Item implements IMedia { return false; } - public void writeToProgrammer( - ItemStack stack, InstructionRegistry registry, boolean immersive, List strings) throws Exception { - writeToProgrammer(stack, new ProgramMemory(registry, immersive, strings)); + public void writeToProgrammer(ItemStack stack,InstructionRegistry registry, boolean immersive, List strings) throws Exception{ + writeToProgrammer(stack,new ProgramMemory(registry,immersive,strings)); } - public void writeToProgrammer(ItemStack stack, InstructionRegistry registry, boolean immersive, String... strings) - throws Exception { - writeToProgrammer(stack, new ProgramMemory(registry, immersive, strings)); + public void writeToProgrammer(ItemStack stack,InstructionRegistry registry, boolean immersive, String... strings)throws Exception{ + writeToProgrammer(stack,new ProgramMemory(registry,immersive,strings)); } public void writeToProgrammer(ItemStack stack, ProgramMemory programMemory) { - NBTTagCompound pgm = new NBTTagCompound(); - pgm.setIntArray("instructions", programMemory.instructions); - pgm.setIntArray("param0", programMemory.param0); - pgm.setIntArray("param1", programMemory.param1); - pgm.setBoolean("immersive", programMemory.immersiveOperands); - pgm.setString("instructionRegistry", programMemory.registry.toString()); - stack.stackTagCompound.setTag("pgm", pgm); + NBTTagCompound pgm=new NBTTagCompound(); + pgm.setIntArray("instructions",programMemory.instructions); + pgm.setIntArray("param0",programMemory.param0); + pgm.setIntArray("param1",programMemory.param1); + pgm.setBoolean("immersive",programMemory.immersiveOperands); + pgm.setString("instructionRegistry",programMemory.registry.toString()); + stack.stackTagCompound.setTag("pgm",pgm); } @Override public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) { - if (world.isRemote) { + if(world.isRemote){ player.openGui(TecTech.instance, ModGuiHandler.PROGRAMMER_DISPLAY_SCREEN_ID, world, 0, 0, 0); } return itemStack; @@ -126,12 +114,11 @@ public class AvrProgrammer extends Item implements IMedia { public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { if (aStack.stackTagCompound.hasKey("avr")) { NBTTagCompound avr = aStack.stackTagCompound.getCompoundTag("avr"); - aList.add(translateToLocal("item.em.programmer.desc.0") + ": " - + avr.getInteger("programCounter")); // Current PC - aList.add(translateToLocal("item.em.programmer.desc.1") + ": " + avr.getBoolean("awoken")); // Awoken - aList.add(translateToLocal("item.em.programmer.desc.2") + ": " + avr.getBoolean("active")); // Active - aList.add(translateToLocal("item.em.programmer.desc.3") + ": " + avr.getBoolean("debugRun")); // Debug - aList.add(translateToLocal("item.em.programmer.desc.4") + ": " + avr.getBoolean("delay")); // Delay + aList.add(translateToLocal("item.em.programmer.desc.0") + ": " + avr.getInteger("programCounter"));//Current PC + aList.add(translateToLocal("item.em.programmer.desc.1") + ": " + avr.getBoolean("awoken"));//Awoken + aList.add(translateToLocal("item.em.programmer.desc.2") + ": " + avr.getBoolean("active"));//Active + aList.add(translateToLocal("item.em.programmer.desc.3") + ": " + avr.getBoolean("debugRun"));//Debug + aList.add(translateToLocal("item.em.programmer.desc.4") + ": " + avr.getBoolean("delay"));//Delay } } @@ -171,9 +158,9 @@ public class AvrProgrammer extends Item implements IMedia { @Override public void delete(String s) throws IOException { - if ("avr".equals(s)) { + if("avr".equals(s)) { itemStack.stackTagCompound.removeTag("avr"); - } else { + }else { throw new IOException("Cannot remove file!"); } } @@ -190,7 +177,7 @@ public class AvrProgrammer extends Item implements IMedia { @Override public long getRemainingSpace() throws IOException { - return 1024000 - getSize("avr"); + return 1024000-getSize("avr"); } @Override @@ -204,11 +191,13 @@ public class AvrProgrammer extends Item implements IMedia { } @Override - public void list(String s, List list) throws IOException {} + public void list(String s, List list) throws IOException { + + } @Override public long getSize(String s) throws IOException { - return "avr".equals(s) ? 1 : 0; + return "avr".equals(s)?1:0; } @Override @@ -220,7 +209,7 @@ public class AvrProgrammer extends Item implements IMedia { @Override public void getSubItems(Item item, CreativeTabs tab, List list) { - ItemStack stack = new ItemStack(item, 1, 0); + ItemStack stack=new ItemStack(item, 1, 0); stack.setTagCompound(new NBTTagCompound()); list.add(stack); } diff --git a/src/main/java/com/github/technus/tectech/thing/item/DebugElementalInstanceContainer_EM.java b/src/main/java/com/github/technus/tectech/thing/item/DebugElementalInstanceContainer_EM.java index b4ddca5cf1..c19ec6dda1 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/DebugElementalInstanceContainer_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/item/DebugElementalInstanceContainer_EM.java @@ -1,12 +1,5 @@ package com.github.technus.tectech.thing.item; -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabEM; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.*; -import static cpw.mods.fml.relauncher.Side.CLIENT; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; @@ -21,8 +14,6 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import java.util.Collections; -import java.util.List; import net.minecraft.client.gui.FontRenderer; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -34,6 +25,16 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; +import java.util.Collections; +import java.util.List; + +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabEM; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.*; +import static cpw.mods.fml.relauncher.Side.CLIENT; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by Tec on 15.03.2017. */ @@ -49,19 +50,9 @@ public final class DebugElementalInstanceContainer_EM extends Item implements IE } @Override - public boolean onItemUseFirst( - ItemStack aStack, - EntityPlayer aPlayer, - World aWorld, - int aX, - int aY, - int aZ, - int aSide, - float hitX, - float hitY, - float hitZ) { - NBTTagCompound tNBT = aStack.getTagCompound(); - TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + public boolean onItemUseFirst(ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) { + NBTTagCompound tNBT = aStack.getTagCompound(); + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); if (aPlayer instanceof EntityPlayerMP) { aStack.stackSize = 1; if (tTileEntity instanceof IGregTechTileEntity) { @@ -70,8 +61,7 @@ public final class DebugElementalInstanceContainer_EM extends Item implements IE EMInstanceStackMap content = ((IEMContainer) metaTE).getContentHandler(); if (tNBT.hasKey("content")) { try { - content.putUnifyAll(EMInstanceStackMap.fromNBT( - TecTech.definitionsRegistry, tNBT.getCompoundTag("content"))); + content.putUnifyAll(EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content"))); } catch (EMException e) { if (DEBUG_MODE) { e.printStackTrace(); @@ -111,20 +101,18 @@ public final class DebugElementalInstanceContainer_EM extends Item implements IE try { NBTTagCompound tNBT = aStack.getTagCompound(); if (tNBT != null && tNBT.hasKey("content")) { - aList.add(translateToLocal("item.em.debugContainer.desc.0") + ": "); // Contains - EMInstanceStackMap content = - EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content")); + aList.add(translateToLocal("item.em.debugContainer.desc.0") + ": ");//Contains + EMInstanceStackMap content = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content")); Collections.addAll(aList, content.getElementalInfo()); } else { - aList.add(translateToLocal("item.em.debugContainer.desc.1")); // Container for elemental matter + aList.add(translateToLocal("item.em.debugContainer.desc.1"));//Container for elemental matter } - aList.add(EnumChatFormatting.BLUE - + translateToLocal("item.em.debugContainer.desc.2")); // Right click on elemental hatches + aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.debugContainer.desc.2"));//Right click on elemental hatches } catch (Exception e) { if (DEBUG_MODE) { e.printStackTrace(); } - aList.add(translateToLocal("item.em.debugContainer.desc.3")); // ---Unexpected Termination--- + aList.add(translateToLocal("item.em.debugContainer.desc.3"));//---Unexpected Termination--- } } @@ -139,20 +127,11 @@ public final class DebugElementalInstanceContainer_EM extends Item implements IE that.setTagCompound(new NBTTagCompound()); list.add(that); for (IEMDefinition definition : TecTech.definitionsRegistry.getStacksRegisteredForDisplay()) { - list.add(setContent( - new ItemStack(this) - .setStackDisplayName(definition.getLocalizedName() + " " + 1 + " " - + translateToLocal("tt.keyword.unit.mbMols")), + list.add(setContent(new ItemStack(this).setStackDisplayName(definition.getLocalizedName() + " " + 1 + " " + translateToLocal("tt.keyword.unit.mbMols")), new EMInstanceStackMap(new EMInstanceStack(definition, EM_COUNT_PER_MATERIAL_AMOUNT)))); - list.add(setContent( - new ItemStack(this) - .setStackDisplayName(definition.getLocalizedName() + " " + 1 + " " - + translateToLocal("tt.keyword.unit.itemMols")), + list.add(setContent(new ItemStack(this).setStackDisplayName(definition.getLocalizedName() + " " + 1 + " " + translateToLocal("tt.keyword.unit.itemMols")), new EMInstanceStackMap(new EMInstanceStack(definition, EM_COUNT_PER_ITEM)))); - list.add(setContent( - new ItemStack(this) - .setStackDisplayName(definition.getLocalizedName() + " " + 1000 + " " - + translateToLocal("tt.keyword.unit.mbMols")), + list.add(setContent(new ItemStack(this).setStackDisplayName(definition.getLocalizedName() + " " + 1000 + " " + translateToLocal("tt.keyword.unit.mbMols")), new EMInstanceStackMap(new EMInstanceStack(definition, EM_COUNT_PER_1k)))); } } diff --git a/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionContainer_EM.java b/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionContainer_EM.java index 730e7aea3c..85a853e8aa 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionContainer_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionContainer_EM.java @@ -1,11 +1,5 @@ package com.github.technus.tectech.thing.item; -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabEM; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static cpw.mods.fml.relauncher.Side.CLIENT; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; @@ -16,8 +10,6 @@ import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.SideOnly; -import java.util.Collections; -import java.util.List; import net.minecraft.client.gui.FontRenderer; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -25,6 +17,15 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import java.util.Collections; +import java.util.List; + +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabEM; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static cpw.mods.fml.relauncher.Side.CLIENT; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by Tec on 15.03.2017. */ @@ -38,7 +39,7 @@ public final class ElementalDefinitionContainer_EM extends Item implements IElem setCreativeTab(creativeTabEM); } - public static void setContent(ItemStack aStack, EMConstantStackMap definitions) { + public static void setContent(ItemStack aStack, EMConstantStackMap definitions){ NBTTagCompound tNBT = aStack.getTagCompound(); if (tNBT == null) { tNBT = new NBTTagCompound(); @@ -48,15 +49,15 @@ public final class ElementalDefinitionContainer_EM extends Item implements IElem tNBT.setTag("symbols", TT_Utility.packStrings(definitions.getShortSymbolsInfo())); } - public static EMConstantStackMap getContent(ItemStack containerItem) { - if (containerItem.getItem() instanceof ElementalDefinitionContainer_EM) { + public static EMConstantStackMap getContent(ItemStack containerItem){ + if(containerItem.getItem() instanceof ElementalDefinitionContainer_EM){ NBTTagCompound tNBT = containerItem.stackTagCompound; if (tNBT == null || !tNBT.hasKey("content")) { return null; } try { - return EMConstantStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content")); + return EMConstantStackMap.fromNBT(TecTech.definitionsRegistry,tNBT.getCompoundTag("content")); } catch (EMException e) { if (DEBUG_MODE) { e.printStackTrace(); @@ -66,17 +67,17 @@ public final class ElementalDefinitionContainer_EM extends Item implements IElem return null; } - public static EMConstantStackMap clearContent(ItemStack containerItem) { - if (containerItem.getItem() instanceof ElementalDefinitionContainer_EM) { + public static EMConstantStackMap clearContent(ItemStack containerItem){ + if(containerItem.getItem() instanceof ElementalDefinitionContainer_EM){ NBTTagCompound tNBT = containerItem.stackTagCompound; if (tNBT == null) { return null; } - EMConstantStackMap oldMap = null; + EMConstantStackMap oldMap =null; if (tNBT.hasKey("content")) { try { - oldMap = EMConstantStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content")); + oldMap= EMConstantStackMap.fromNBT(TecTech.definitionsRegistry,tNBT.getCompoundTag("content")); } catch (EMException e) { if (DEBUG_MODE) { e.printStackTrace(); @@ -96,15 +97,14 @@ public final class ElementalDefinitionContainer_EM extends Item implements IElem try { NBTTagCompound tNBT = aStack.getTagCompound(); if (tNBT != null && tNBT.hasKey("content")) { - aList.add(translateToLocal("item.em.definitionContainer.desc.0") + ": "); // Should Contain - EMDefinitionStackMap content = - EMDefinitionStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content")); + aList.add(translateToLocal("item.em.definitionContainer.desc.0") + ": ");//Should Contain + EMDefinitionStackMap content = EMDefinitionStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content")); Collections.addAll(aList, content.getElementalInfo()); } else { - aList.add(translateToLocal("item.em.definitionContainer.desc.1")); // Recipe Hint + aList.add(translateToLocal("item.em.definitionContainer.desc.1"));//Recipe Hint } } catch (Exception e) { - aList.add(translateToLocal("item.em.definitionContainer.desc.2")); // ---Unexpected Termination--- + aList.add(translateToLocal("item.em.definitionContainer.desc.2"));//---Unexpected Termination--- } } diff --git a/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionScanStorage_EM.java b/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionScanStorage_EM.java index c22a4cfdb2..7c1374d4d0 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionScanStorage_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionScanStorage_EM.java @@ -1,10 +1,5 @@ package com.github.technus.tectech.thing.item; -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; -import static cpw.mods.fml.relauncher.Side.CLIENT; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.loader.gui.ModGuiHandler; @@ -14,8 +9,6 @@ import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import java.util.ArrayList; -import java.util.List; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -27,6 +20,14 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.world.World; +import java.util.ArrayList; +import java.util.List; + +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; +import static cpw.mods.fml.relauncher.Side.CLIENT; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by Tec on 15.03.2017. */ @@ -41,8 +42,8 @@ public final class ElementalDefinitionScanStorage_EM extends Item { setCreativeTab(creativeTabTecTech); } - // return previous thing - public static void setContent(ItemStack aStack, EMInstanceStackMap instances, int[] detailsOnDepthLevels) { + //return previous thing + public static void setContent(ItemStack aStack, EMInstanceStackMap instances, int[] detailsOnDepthLevels){ NBTTagCompound tNBT = aStack.getTagCompound(); if (tNBT == null) { tNBT = new NBTTagCompound(); @@ -52,19 +53,18 @@ public final class ElementalDefinitionScanStorage_EM extends Item { tNBT.setIntArray("scanConfiguration", detailsOnDepthLevels); } - public static void clearContent(ItemStack containerItem) { - if (containerItem.getItem() instanceof ElementalDefinitionScanStorage_EM) { + public static void clearContent(ItemStack containerItem){ + if(containerItem.getItem() instanceof ElementalDefinitionScanStorage_EM){ if (containerItem.stackTagCompound == null) { return; } - containerItem.stackTagCompound = null; + containerItem.stackTagCompound=null; } } - public static ArrayList getLines(ItemStack containerItem) { - if (containerItem.stackTagCompound != null && containerItem.stackTagCompound.hasKey("content")) { - EMInstanceStackMap content = EMInstanceStackMap.fromNBT( - TecTech.definitionsRegistry, containerItem.stackTagCompound.getCompoundTag("content")); + public static ArrayList getLines(ItemStack containerItem){ + if(containerItem.stackTagCompound!=null && containerItem.stackTagCompound.hasKey("content")) { + EMInstanceStackMap content = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, containerItem.stackTagCompound.getCompoundTag("content")); return content.getScanInfo(containerItem.stackTagCompound.getIntArray("scanConfiguration")); } return null; @@ -74,11 +74,10 @@ public final class ElementalDefinitionScanStorage_EM extends Item { public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { aList.add(CommonValues.TEC_MARK_EM); if (aStack.stackTagCompound != null && aStack.stackTagCompound.hasKey("content")) { - aList.add(EnumChatFormatting.BLUE - + translateToLocal("item.em.definitionScanStorage.desc.0")); // Contains scan result - aList.add(translateToLocal("item.em.definitionScanStorage.desc.1")); // Use to read + aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.definitionScanStorage.desc.0"));//Contains scan result + aList.add(translateToLocal("item.em.definitionScanStorage.desc.1"));//Use to read } else { - aList.add(translateToLocal("item.em.definitionScanStorage.desc.2")); // Storage for matter scan data + aList.add(translateToLocal("item.em.definitionScanStorage.desc.2"));//Storage for matter scan data } } @@ -91,19 +90,19 @@ public final class ElementalDefinitionScanStorage_EM extends Item { @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconRegister) { - offline = iconRegister.registerIcon(MODID + ":itemDefinitionScanStorageOff"); + offline =iconRegister.registerIcon(MODID + ":itemDefinitionScanStorageOff"); online = itemIcon = iconRegister.registerIcon(getIconString()); } @Override public IIcon getIconIndex(ItemStack itemStack) { - NBTTagCompound tagCompound = itemStack.stackTagCompound; + NBTTagCompound tagCompound=itemStack.stackTagCompound; return tagCompound != null && tagCompound.hasKey("content") ? online : offline; } @Override public IIcon getIcon(ItemStack itemStack, int pass) { - NBTTagCompound tagCompound = itemStack.stackTagCompound; + NBTTagCompound tagCompound=itemStack.stackTagCompound; return tagCompound != null && tagCompound.hasKey("content") ? online : offline; } @@ -115,9 +114,9 @@ public final class ElementalDefinitionScanStorage_EM extends Item { @Override public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) { - if (world.isRemote) { - NBTTagCompound tagCompound = itemStack.stackTagCompound; - if (tagCompound != null && tagCompound.hasKey("content")) { + if(world.isRemote){ + NBTTagCompound tagCompound=itemStack.stackTagCompound; + if(tagCompound!=null && tagCompound.hasKey("content")) { player.openGui(TecTech.instance, ModGuiHandler.SCAN_DISPLAY_SCREEN_ID, world, 0, 0, 0); } } diff --git a/src/main/java/com/github/technus/tectech/thing/item/EnderFluidLinkCover.java b/src/main/java/com/github/technus/tectech/thing/item/EnderFluidLinkCover.java index 43fae5565b..57a882ec26 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/EnderFluidLinkCover.java +++ b/src/main/java/com/github/technus/tectech/thing/item/EnderFluidLinkCover.java @@ -1,20 +1,21 @@ package com.github.technus.tectech.thing.item; -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.thing.CustomItemList.enderLinkFluidCover; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import java.util.List; + +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.thing.CustomItemList.enderLinkFluidCover; +import static net.minecraft.util.StatCollector.translateToLocal; + public final class EnderFluidLinkCover extends Item { public static EnderFluidLinkCover INSTANCE; @@ -27,14 +28,9 @@ public final class EnderFluidLinkCover extends Item { @Override public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { aList.add(CommonValues.BASS_MARK); - aList.add(translateToLocal("item.tm.enderfluidlinkcover.desc.0")); // Ender-Fluid-Enables Machines! - aList.add(EnumChatFormatting.BLUE - + translateToLocal( - "item.tm.enderfluidlinkcover.desc.1")); // Use on any side of a fluid tank to link it to - // the Ender - aList.add(EnumChatFormatting.BLUE - + translateToLocal( - "item.tm.enderfluidlinkcover.desc.2")); // Ender Tanks so are laggy -Bot from the Chads of NH + aList.add(translateToLocal("item.tm.enderfluidlinkcover.desc.0"));//Ender-Fluid-Enables Machines! + aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.enderfluidlinkcover.desc.1"));//Use on any side of a fluid tank to link it to the Ender + aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.enderfluidlinkcover.desc.2"));//Ender Tanks so are laggy -Bot from the Chads of NH } public static void run() { 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 1a176b53b6..735b2ef0f5 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 @@ -1,10 +1,5 @@ package com.github.technus.tectech.thing.item; -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - import com.github.technus.tectech.Reference; import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; @@ -13,8 +8,6 @@ import gregtech.api.metatileentity.BaseMetaPipeEntity; import gregtech.api.metatileentity.BaseMetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Cable; import gregtech.api.util.GT_Utility; -import java.util.ArrayList; -import java.util.List; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.Item; @@ -25,6 +18,14 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.FakePlayer; import org.apache.commons.lang3.reflect.FieldUtils; +import java.util.ArrayList; +import java.util.List; + +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + public class EuMeterGT extends Item { public static EuMeterGT INSTANCE; @@ -36,17 +37,7 @@ 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) { + 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) { return aPlayer instanceof EntityPlayerMP; @@ -61,57 +52,14 @@ public class EuMeterGT extends Item { } 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, - translateToLocalFormatted("tt.keyphrase.Stored_energy", clientLocale) + ": " - + EnumChatFormatting.YELLOW - + (((BaseMetaTileEntity) tTileEntity).getUniversalEnergyStored()) - + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GREEN - + (((BaseMetaTileEntity) tTileEntity).getUniversalEnergyCapacity())); - GT_Utility.sendChatToPlayer( - aPlayer, - translateToLocalFormatted("tt.keyphrase.Stored_EU", clientLocale) + ": " - + EnumChatFormatting.YELLOW + (((BaseMetaTileEntity) tTileEntity).getStoredEU()) - + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GREEN - + (((BaseMetaTileEntity) tTileEntity).getEUCapacity())); - GT_Utility.sendChatToPlayer( - aPlayer, - translateToLocalFormatted("tt.keyphrase.Average_IO", clientLocale) + ": " - + EnumChatFormatting.YELLOW - + (((BaseMetaTileEntity) tTileEntity).getAverageElectricInput()) - + EnumChatFormatting.RESET + '/' + EnumChatFormatting.YELLOW - + (((BaseMetaTileEntity) tTileEntity).getAverageElectricOutput())); - GT_Utility.sendChatToPlayer( - aPlayer, - translateToLocalFormatted("tt.keyphrase.Average_IO_(max)", clientLocale) + ": " - + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getInputVoltage()) - + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GOLD - + (((BaseMetaTileEntity) tTileEntity).getOutputVoltage())); - GT_Utility.sendChatToPlayer( - aPlayer, - translateToLocalFormatted("tt.keyphrase.Average_IO_max", clientLocale) + ": " - + EnumChatFormatting.RED + (((BaseMetaTileEntity) tTileEntity).getMaxSafeInput()) - + EnumChatFormatting.RESET + '/' + EnumChatFormatting.RED - + (((BaseMetaTileEntity) tTileEntity).getMaxEnergyOutput())); - GT_Utility.sendChatToPlayer( - aPlayer, - translateToLocalFormatted("tt.keyphrase.Amperage_IO_(max)", clientLocale) + ": " - + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getInputAmperage()) - + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GOLD - + (((BaseMetaTileEntity) tTileEntity).getOutputAmperage())); - GT_Utility.sendChatToPlayer( - aPlayer, - translateToLocalFormatted("tt.keyphrase.Side_capabilities", clientLocale) + ": " - + (((BaseMetaTileEntity) tTileEntity).inputEnergyFrom((byte) aSide) - ? translateToLocalFormatted("tt.keyword.input", clientLocale) + " " - : "") - + (((BaseMetaTileEntity) tTileEntity).outputsEnergyTo((byte) aSide) - ? translateToLocalFormatted("tt.keyword.output", clientLocale) - : "")); + GT_Utility.sendChatToPlayer(aPlayer, EnumChatFormatting.AQUA + "----- X:" + aX + " Y:" + aY + " Z:" + aZ + " D:" + aWorld.provider.dimensionId + " S:" + aSide + " -----"); + GT_Utility.sendChatToPlayer(aPlayer, translateToLocalFormatted("tt.keyphrase.Stored_energy", clientLocale) + ": " + EnumChatFormatting.YELLOW + (((BaseMetaTileEntity) tTileEntity).getUniversalEnergyStored()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GREEN + (((BaseMetaTileEntity) tTileEntity).getUniversalEnergyCapacity())); + GT_Utility.sendChatToPlayer(aPlayer, translateToLocalFormatted("tt.keyphrase.Stored_EU", clientLocale) + ": " + EnumChatFormatting.YELLOW + (((BaseMetaTileEntity) tTileEntity).getStoredEU()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GREEN + (((BaseMetaTileEntity) tTileEntity).getEUCapacity())); + GT_Utility.sendChatToPlayer(aPlayer, translateToLocalFormatted("tt.keyphrase.Average_IO", clientLocale) + ": " + EnumChatFormatting.YELLOW + (((BaseMetaTileEntity) tTileEntity).getAverageElectricInput()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.YELLOW + (((BaseMetaTileEntity) tTileEntity).getAverageElectricOutput())); + GT_Utility.sendChatToPlayer(aPlayer, translateToLocalFormatted("tt.keyphrase.Average_IO_(max)", clientLocale) + ": " + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getInputVoltage()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getOutputVoltage())); + GT_Utility.sendChatToPlayer(aPlayer, translateToLocalFormatted("tt.keyphrase.Average_IO_max", clientLocale) + ": " + EnumChatFormatting.RED + (((BaseMetaTileEntity) tTileEntity).getMaxSafeInput()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.RED + (((BaseMetaTileEntity) tTileEntity).getMaxEnergyOutput())); + GT_Utility.sendChatToPlayer(aPlayer, translateToLocalFormatted("tt.keyphrase.Amperage_IO_(max)", clientLocale) + ": " + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getInputAmperage()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getOutputAmperage())); + GT_Utility.sendChatToPlayer(aPlayer, translateToLocalFormatted("tt.keyphrase.Side_capabilities", clientLocale) + ": " + (((BaseMetaTileEntity) tTileEntity).inputEnergyFrom((byte) aSide) ? translateToLocalFormatted("tt.keyword.input", clientLocale) + " " : "") + (((BaseMetaTileEntity) tTileEntity).outputsEnergyTo((byte) aSide) ? translateToLocalFormatted("tt.keyword.output", clientLocale) : "")); return true; } else if (tTileEntity instanceof BaseMetaPipeEntity) { if (((BaseMetaPipeEntity) tTileEntity).getMetaTileEntity() instanceof GT_MetaPipeEntity_Cable) { @@ -133,13 +81,12 @@ public class EuMeterGT extends Item { @Override public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { aList.add(CommonValues.TEC_MARK_GENERAL); - aList.add(translateToLocal("item.em.EuMeterGT.desc.0")); // Measures basic EU related stuff - aList.add( - EnumChatFormatting.BLUE + translateToLocal("item.em.EuMeterGT.desc.1")); // Just right click on blocks. + aList.add(translateToLocal("item.em.EuMeterGT.desc.0"));//Measures basic EU related stuff + aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.EuMeterGT.desc.1"));//Just right click on blocks. } public static void run() { 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 666a3c4c47..a384d3998a 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 @@ -1,10 +1,5 @@ package com.github.technus.tectech.thing.item; -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; -import static com.github.technus.tectech.thing.CustomItemList.parametrizerMemory; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Param; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_ParamText; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; @@ -15,7 +10,6 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -28,12 +22,19 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.world.World; +import java.util.List; + +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; +import static com.github.technus.tectech.thing.CustomItemList.parametrizerMemory; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by Tec on 15.03.2017. */ public final class ParametrizerMemoryCard extends Item { - public static ParametrizerMemoryCard INSTANCE; - private static IIcon locked, unlocked; + public static ParametrizerMemoryCard INSTANCE; + private static IIcon locked, unlocked; private ParametrizerMemoryCard() { setMaxStackSize(1); @@ -44,17 +45,7 @@ public final class ParametrizerMemoryCard 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) { + 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 (aPlayer instanceof EntityPlayerMP) { aStack.stackSize = 1; @@ -68,12 +59,12 @@ public final class ParametrizerMemoryCard extends Item { } NBTTagCompound tNBT = aStack.getTagCompound(); if (aStack.getItemDamage() == 1) { - // write to parametrizer + //write to parametrizer parametrizer.param = tNBT.getInteger("param"); parametrizer.value0D = tNBT.getDouble("value0D"); parametrizer.value1D = tNBT.getDouble("value1D"); } else { - // read from parametrizer + //read from parametrizer tNBT.setInteger("param", parametrizer.param); tNBT.setDouble("value0D", parametrizer.value0D); tNBT.setDouble("value1D", parametrizer.value1D); @@ -89,7 +80,9 @@ public final class ParametrizerMemoryCard extends Item { NBTTagCompound tNBT = aStack.getTagCompound(); if (aStack.getItemDamage() == 1) { base.parametrization.trySetParameters( - tNBT.getInteger("param"), tNBT.getDouble("value0D"), tNBT.getDouble("value1D")); + tNBT.getInteger("param"), + tNBT.getDouble("value0D"), + tNBT.getDouble("value1D")); return true; } } else if (metaTE instanceof GT_MetaTileEntity_Hatch_ParamText) { @@ -99,14 +92,14 @@ public final class ParametrizerMemoryCard extends Item { } NBTTagCompound tNBT = aStack.getTagCompound(); if (aStack.getItemDamage() == 1) { - // write to parametrizer + //write to parametrizer parametrizer.param = tNBT.getInteger("param"); parametrizer.value0D = tNBT.getDouble("value0D"); parametrizer.value1D = tNBT.getDouble("value1D"); parametrizer.value0s = tNBT.getString("value0s"); parametrizer.value1s = tNBT.getString("value1s"); } else { - // read from parametrizer + //read from parametrizer tNBT.setInteger("param", parametrizer.param); tNBT.setDouble("value0D", parametrizer.value0D); tNBT.setDouble("value1D", parametrizer.value1D); @@ -139,34 +132,28 @@ public final class ParametrizerMemoryCard extends Item { public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { NBTTagCompound tNBT = aStack.getTagCompound(); aList.add(CommonValues.BASS_MARK); - aList.add(translateToLocal("item.em.parametrizerMemoryCard.desc.0")); // Stores Parameters + aList.add(translateToLocal("item.em.parametrizerMemoryCard.desc.0"));//Stores Parameters if (aStack.getItemDamage() == 1) { - aList.add(EnumChatFormatting.BLUE - + translateToLocal( - "item.em.parametrizerMemoryCard.desc.1")); // Use on Parametrizer/Controller to configure it + aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.parametrizerMemoryCard.desc.1"));//Use on Parametrizer/Controller to configure it } else { - aList.add(EnumChatFormatting.BLUE - + translateToLocal( - "item.em.parametrizerMemoryCard.desc.2")); // Use on Parametrizer to store parameters + aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.parametrizerMemoryCard.desc.2"));//Use on Parametrizer to store parameters } - aList.add(EnumChatFormatting.BLUE - + translateToLocal("item.em.parametrizerMemoryCard.desc.3")); // Sneak right click to lock/unlock + aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.parametrizerMemoryCard.desc.3"));//Sneak right click to lock/unlock double temp; if (tNBT != null && tNBT.hasKey("param")) { aList.add("Hatch ID: " + EnumChatFormatting.AQUA + tNBT.getInteger("param")); temp = tNBT.getInteger("value0D"); aList.add("Value 0D: " + EnumChatFormatting.AQUA + temp); - aList.add("Value 0B: " + EnumChatFormatting.AQUA - + TT_Utility.longBitsToShortString(Double.doubleToLongBits(temp))); + aList.add("Value 0B: " + EnumChatFormatting.AQUA + TT_Utility.longBitsToShortString(Double.doubleToLongBits(temp))); aList.add("Value 0s: " + EnumChatFormatting.AQUA + tNBT.getString("value0s")); temp = tNBT.getInteger("value1D"); aList.add("Value 1D: " + EnumChatFormatting.AQUA + temp); - aList.add("Value 1B: " + EnumChatFormatting.AQUA - + TT_Utility.longBitsToShortString(Double.doubleToLongBits(temp))); + aList.add("Value 1B: " + EnumChatFormatting.AQUA + TT_Utility.longBitsToShortString(Double.doubleToLongBits(temp))); aList.add("Value 1s: " + EnumChatFormatting.AQUA + tNBT.getString("value1s")); } + } public static void run() { diff --git a/src/main/java/com/github/technus/tectech/thing/item/PowerPassUpgradeCover.java b/src/main/java/com/github/technus/tectech/thing/item/PowerPassUpgradeCover.java index b58d198e38..06c05e5b9d 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/PowerPassUpgradeCover.java +++ b/src/main/java/com/github/technus/tectech/thing/item/PowerPassUpgradeCover.java @@ -1,20 +1,21 @@ package com.github.technus.tectech.thing.item; -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.thing.CustomItemList.powerPassUpgradeCover; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import java.util.List; + +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.thing.CustomItemList.powerPassUpgradeCover; +import static net.minecraft.util.StatCollector.translateToLocal; + public final class PowerPassUpgradeCover extends Item { public static PowerPassUpgradeCover INSTANCE; @@ -27,12 +28,9 @@ public final class PowerPassUpgradeCover extends Item { @Override public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { aList.add(CommonValues.BASS_MARK); - aList.add(translateToLocal( - "item.tm.powerpassupgradecover.desc.0")); // Add power pass functionality to TecTech Multiblocks - aList.add(EnumChatFormatting.BLUE - + translateToLocal("item.tm.powerpassupgradecover.desc.1")); // Active transformer in a can?? - aList.add(EnumChatFormatting.BLUE - + translateToLocal("item.tm.powerpassupgradecover.desc.2")); // Chain them up like Christmas lights! + aList.add(translateToLocal("item.tm.powerpassupgradecover.desc.0"));//Add power pass functionality to TecTech Multiblocks + aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.powerpassupgradecover.desc.1"));//Active transformer in a can?? + aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.powerpassupgradecover.desc.2"));//Chain them up like Christmas lights! } public static void run() { 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 index 9b847b98d6..16be66255d 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCapacitor.java +++ b/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCapacitor.java @@ -1,15 +1,9 @@ package com.github.technus.tectech.thing.item; -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.thing.CustomItemList.teslaCapacitor; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -18,6 +12,14 @@ 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.teslaCapacitor; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + + public final class TeslaCoilCapacitor extends Item { public static TeslaCoilCapacitor INSTANCE; private static IIcon LVicon, MVicon, HVicon, EVicon, IVicon, LuVicon, ZPMicon; @@ -32,19 +34,12 @@ public final class TeslaCoilCapacitor extends Item { public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { aList.add(CommonValues.BASS_MARK); if (aStack.getItemDamage() >= 0 && aStack.getItemDamage() <= 6) { - aList.add(translateToLocal("item.tm.teslaCoilCapacitor.desc.0") + " " + V[aStack.getItemDamage() + 1] * 512 - + " " + translateToLocal("item.tm.teslaCoilCapacitor.desc.1") + " " + V[aStack.getItemDamage() + 1] - + " EU/t"); // Stores 16384 EU in a tesla tower at 32 EU/t + aList.add(translateToLocal("item.tm.teslaCoilCapacitor.desc.0") + " " + V[aStack.getItemDamage() + 1] * 512 + " " + translateToLocal("item.tm.teslaCoilCapacitor.desc.1") + " " + V[aStack.getItemDamage() + 1] + " EU/t");//Stores 16384 EU in a tesla tower at 32 EU/t } else { - aList.add(translateToLocal( - "item.tm.teslaCoilCapacitor.desc.2")); // Yeet this broken item into some spicy water! + aList.add(translateToLocal("item.tm.teslaCoilCapacitor.desc.2"));//Yeet this broken item into some spicy water! } - aList.add(EnumChatFormatting.BLUE - + translateToLocal( - "item.tm.teslaCoilCapacitor.desc.3")); // Insert into a Capacitor hatch of a Tesla Tower - aList.add(EnumChatFormatting.BLUE - + translateToLocal( - "item.tm.teslaCoilCapacitor.desc.4")); // Capacitors are the same thing as batteries, right? + aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.teslaCoilCapacitor.desc.3"));//Insert into a Capacitor hatch of a Tesla Tower + aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.teslaCoilCapacitor.desc.4"));//Capacitors are the same thing as batteries, right? } @Override 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 index 769ee589b9..cc77b7a26c 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilComponent.java +++ b/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilComponent.java @@ -1,14 +1,9 @@ package com.github.technus.tectech.thing.item; -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.thing.CustomItemList.teslaComponent; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -17,6 +12,13 @@ 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; +import static net.minecraft.util.StatCollector.translateToLocal; + + public final class TeslaCoilComponent extends Item { public static TeslaCoilComponent INSTANCE; private static IIcon ultItemIcon; @@ -30,8 +32,7 @@ public final class TeslaCoilComponent extends Item { @Override public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { aList.add(CommonValues.BASS_MARK); - aList.add(EnumChatFormatting.BLUE - + translateToLocal("item.tm.itemTeslaComponent.desc")); // Tesla bois need these! + aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.itemTeslaComponent.desc"));//Tesla bois need these! } @Override 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 index b8997f82cd..20417ebe71 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCover.java +++ b/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCover.java @@ -1,14 +1,9 @@ package com.github.technus.tectech.thing.item; -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.thing.CustomItemList.teslaCover; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -17,6 +12,13 @@ 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; +import static net.minecraft.util.StatCollector.translateToLocal; + + public final class TeslaCoilCover extends Item { public static TeslaCoilCover INSTANCE; private static IIcon ultItemIcon; @@ -32,21 +34,17 @@ public final class TeslaCoilCover extends Item { aList.add(CommonValues.BASS_MARK); switch (aStack.getItemDamage()) { case 0: - aList.add(translateToLocal("item.tm.teslaCover.desc.0")); // Tesla-Enables Machines! + aList.add(translateToLocal("item.tm.teslaCover.desc.0"));//Tesla-Enables Machines! break; case 1: - aList.add(translateToLocal("item.tm.teslaCover.desc.1")); // Tesla-Enables Machines! (BUT LOUDER!!) + aList.add(translateToLocal("item.tm.teslaCover.desc.1"));//Tesla-Enables Machines! (BUT LOUDER!!) break; default: - aList.add( - translateToLocal("item.tm.teslaCover.desc.2")); // Yeet this broken item into some spicy water! + aList.add(translateToLocal("item.tm.teslaCover.desc.2"));//Yeet this broken item into some spicy water! break; } - aList.add(EnumChatFormatting.BLUE - + translateToLocal( - "item.tm.teslaCover.desc.3")); // Use on top of a machine to enable Tesla capabilities - aList.add(EnumChatFormatting.BLUE - + translateToLocal("item.tm.teslaCover.desc.4")); // Who the hell uses cables anyway? + aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.teslaCover.desc.3"));//Use on top of a machine to enable Tesla capabilities + aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.teslaCover.desc.4"));//Who the hell uses cables anyway? } @Override 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 index 3346d57504..ba080f8603 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/TeslaStaff.java +++ b/src/main/java/com/github/technus/tectech/thing/item/TeslaStaff.java @@ -1,20 +1,22 @@ package com.github.technus.tectech.thing.item; -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.thing.CustomItemList.teslaStaff; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.Reference; import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.util.GT_Utility; -import java.util.List; 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; +import static net.minecraft.util.StatCollector.translateToLocal; + + public final class TeslaStaff extends Item { public static TeslaStaff INSTANCE; diff --git a/src/main/java/com/github/technus/tectech/thing/item/gui/ProgrammerScreen.java b/src/main/java/com/github/technus/tectech/thing/item/gui/ProgrammerScreen.java index ffd6f787e7..8584f28d45 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/gui/ProgrammerScreen.java +++ b/src/main/java/com/github/technus/tectech/thing/item/gui/ProgrammerScreen.java @@ -7,7 +7,7 @@ import net.minecraft.nbt.NBTTagCompound; public class ProgrammerScreen extends GuiScreen { private NBTTagCompound tag; - public ProgrammerScreen(EntityPlayer player) { - tag = player.getHeldItem().getTagCompound(); + public ProgrammerScreen(EntityPlayer player){ + tag=player.getHeldItem().getTagCompound(); } } diff --git a/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java b/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java index 4e9d90bc50..b4300c763c 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java +++ b/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java @@ -1,12 +1,8 @@ package com.github.technus.tectech.thing.item.gui; -import static com.github.technus.tectech.Reference.MODID; -import static org.lwjgl.opengl.GL11.*; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.thing.item.ElementalDefinitionScanStorage_EM; -import java.util.Objects; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.client.audio.SoundHandler; @@ -15,6 +11,11 @@ import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ResourceLocation; +import java.util.Objects; + +import static com.github.technus.tectech.Reference.MODID; +import static org.lwjgl.opengl.GL11.*; + /** * Created by danie_000 on 17.12.2017. */ @@ -23,23 +24,22 @@ public class ScanDisplayScreen extends GuiScreen { private int baseX, baseY; private Button up, down, pgUp, pgDown; private final String[] lines; - private int firstLine; + private int firstLine; - private static final ResourceLocation[] BACKGROUNDS = new ResourceLocation[] { - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen1.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen2.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen3.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen4.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen5.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen6.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen7.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen8.png") - }; - private static final ResourceLocation ITEM = new ResourceLocation(MODID + ":textures/gui/scanDisplayItem.png"); + private static final ResourceLocation[] BACKGROUNDS = new ResourceLocation[]{ + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen1.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen2.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen3.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen4.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen5.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen6.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen7.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen8.png")}; + private static final ResourceLocation ITEM = + new ResourceLocation(MODID + ":textures/gui/scanDisplayItem.png"); public ScanDisplayScreen(EntityPlayer player) { - lines = Objects.requireNonNull(ElementalDefinitionScanStorage_EM.getLines(player.getHeldItem())) - .toArray(new String[0]); + lines = Objects.requireNonNull(ElementalDefinitionScanStorage_EM.getLines(player.getHeldItem())).toArray(new String[0]); } @Override @@ -47,8 +47,8 @@ public class ScanDisplayScreen extends GuiScreen { glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); mc.getTextureManager().bindTexture(ITEM); - long tick = System.currentTimeMillis() / 150; - int itick = (int) (tick % 12); + long tick = System.currentTimeMillis() / 150; + int itick = (int) (tick % 12); drawTexturedModalRect(baseX + 99, baseY + 189, 32 * (itick / 6), 32 * (itick % 6), 32, 32); mc.getTextureManager().bindTexture(BACKGROUNDS[(int) (tick % 8)]); drawTexturedModalRect(baseX, baseY, 0, 0, sizeX, sizeY); @@ -56,16 +56,14 @@ public class ScanDisplayScreen extends GuiScreen { super.drawScreen(x, y, partialTicks); itick = (TecTech.RANDOM.nextInt(0x66) << 16) + 0x77EEFF; - int textBaseX = baseX + 20; + int textBaseX = baseX + 20; int textBaseXX = baseX + 95; - int textBaseY = baseY + 28; + int textBaseY = baseY + 28; for (int i = firstLine - 1, j = 8; i >= 0 && j != 0; i--, j /= 2) { int equalPos = lines[i].indexOf('='); if (equalPos >= 0) { - TecTechFontRender.INSTANCE.drawSplitString( - lines[i].substring(0, equalPos), textBaseX, textBaseY - 8 + j, 200, itick); - TecTechFontRender.INSTANCE.drawSplitString( - lines[i].substring(equalPos), textBaseXX, textBaseY - 8 + j, 200, itick); + TecTechFontRender.INSTANCE.drawSplitString(lines[i].substring(0, equalPos), textBaseX, textBaseY - 8 + j, 200, itick); + TecTechFontRender.INSTANCE.drawSplitString(lines[i].substring(equalPos), textBaseXX, textBaseY - 8 + j, 200, itick); } else { TecTechFontRender.INSTANCE.drawSplitString(lines[i], textBaseX, textBaseY - 8 + j, 200, itick); } @@ -74,10 +72,8 @@ public class ScanDisplayScreen extends GuiScreen { textBaseY += 9; int equalPos = lines[i].indexOf('='); if (equalPos >= 0) { - TecTechFontRender.INSTANCE.drawSplitString( - lines[i].substring(0, equalPos), textBaseX, textBaseY, 200, itick); - TecTechFontRender.INSTANCE.drawSplitString( - lines[i].substring(equalPos), textBaseXX, textBaseY, 200, itick); + TecTechFontRender.INSTANCE.drawSplitString(lines[i].substring(0, equalPos), textBaseX, textBaseY, 200, itick); + TecTechFontRender.INSTANCE.drawSplitString(lines[i].substring(equalPos), textBaseXX, textBaseY, 200, itick); } else { TecTechFontRender.INSTANCE.drawSplitString(lines[i], textBaseX, textBaseY, 200, itick); } @@ -85,10 +81,8 @@ public class ScanDisplayScreen extends GuiScreen { for (int i = firstLine + renderedLines, j = 8; i < lines.length && j != 0; i++, j /= 2) { int equalPos = lines[i].indexOf('='); if (equalPos >= 0) { - TecTechFontRender.INSTANCE.drawSplitString( - lines[i].substring(0, equalPos), textBaseX, textBaseY + 17 - j, 200, itick); - TecTechFontRender.INSTANCE.drawSplitString( - lines[i].substring(equalPos), textBaseXX, textBaseY + 17 - j, 200, itick); + TecTechFontRender.INSTANCE.drawSplitString(lines[i].substring(0, equalPos), textBaseX, textBaseY + 17 - j, 200, itick); + TecTechFontRender.INSTANCE.drawSplitString(lines[i].substring(equalPos), textBaseXX, textBaseY + 17 - j, 200, itick); } else { TecTechFontRender.INSTANCE.drawSplitString(lines[i], textBaseX, textBaseY + 17 - j, 200, itick); } @@ -147,8 +141,7 @@ public class ScanDisplayScreen extends GuiScreen { @Override public void drawButton(Minecraft mc, int xPos, int yPos) { if (visible) { - field_146123_n = - xPos >= xPosition && yPos >= yPosition && xPos < xPosition + width && yPos < yPosition + height; + field_146123_n = xPos >= xPosition && yPos >= yPosition && xPos < xPosition + width && yPos < yPosition + height; glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); mc.getTextureManager().bindTexture(BACKGROUNDS[0]); @@ -158,11 +151,10 @@ public class ScanDisplayScreen extends GuiScreen { } } - // play cool sound fx + //play cool sound fx @Override public void func_146113_a(SoundHandler soundHandler) { - soundHandler.playSound( - PositionedSoundRecord.func_147674_a(new ResourceLocation(MODID + ":fx_click"), 1.0F)); + soundHandler.playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation(MODID + ":fx_click"), 1.0F)); } } } diff --git a/src/main/java/com/github/technus/tectech/thing/item/renderElemental/IElementalItem.java b/src/main/java/com/github/technus/tectech/thing/item/renderElemental/IElementalItem.java index 797ca90088..37dce47e5f 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/renderElemental/IElementalItem.java +++ b/src/main/java/com/github/technus/tectech/thing/item/renderElemental/IElementalItem.java @@ -1,16 +1,16 @@ package com.github.technus.tectech.thing.item.renderElemental; -import static com.github.technus.tectech.util.TT_Utility.getSomeString; - import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import static com.github.technus.tectech.util.TT_Utility.getSomeString; + public interface IElementalItem { - default String getSymbol(ItemStack stack, int index) { + default String getSymbol(ItemStack stack,int index){ try { NBTTagCompound tNBT = stack.getTagCompound(); if (tNBT != null && tNBT.hasKey("symbols")) { - return getSomeString(tNBT.getCompoundTag("symbols"), index); + return getSomeString(tNBT.getCompoundTag("symbols"),index); } else { return null; } diff --git a/src/main/java/com/github/technus/tectech/thing/item/renderElemental/RenderElementalName.java b/src/main/java/com/github/technus/tectech/thing/item/renderElemental/RenderElementalName.java index 1d7a3f55aa..e897f615ad 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/renderElemental/RenderElementalName.java +++ b/src/main/java/com/github/technus/tectech/thing/item/renderElemental/RenderElementalName.java @@ -12,16 +12,13 @@ import org.lwjgl.opengl.GL11; @SideOnly(Side.CLIENT) public class RenderElementalName implements IItemRenderer { - public static final RenderElementalName INSTANCE = new RenderElementalName(); + public static final RenderElementalName INSTANCE=new RenderElementalName(); public boolean handleRenderType(final ItemStack itemStack, final IItemRenderer.ItemRenderType type) { return type == ItemRenderType.INVENTORY; } - public boolean shouldUseRenderHelper( - final IItemRenderer.ItemRenderType type, - final ItemStack itemStack, - final IItemRenderer.ItemRendererHelper helper) { + public boolean shouldUseRenderHelper(final IItemRenderer.ItemRenderType type, final ItemStack itemStack, final IItemRenderer.ItemRendererHelper helper) { return false; } @@ -40,34 +37,33 @@ public class RenderElementalName implements IItemRenderer { tessellator.addVertexWithUV(16, 16, 0.0, icon.getMaxU(), icon.getMaxV()); tessellator.addVertexWithUV(16, 0.0, 0.0, icon.getMaxU(), icon.getMinV()); tessellator.draw(); - // ItemRenderer.renderItemIn2D(Tessellator.instance, icon.getMaxU(), icon.getMinV(), icon.getMinU(), - // icon.getMaxV(), icon.getIconWidth(), icon.getIconHeight(), 0.0625f); + //ItemRenderer.renderItemIn2D(Tessellator.instance, icon.getMaxU(), icon.getMinV(), icon.getMinU(), icon.getMaxV(), icon.getIconWidth(), icon.getIconHeight(), 0.0625f); } - String sym = ((IElementalItem) item).getSymbol(itemStack, (int) (System.currentTimeMillis() / 1000)); - if (sym != null) { - if (sym.length() > 4) { - sym = "..."; + String sym=((IElementalItem)item).getSymbol(itemStack,(int)(System.currentTimeMillis()/1000)); + if(sym!=null){ + if(sym.length()>4){ + sym="..."; } GL11.glPushMatrix(); - GL11.glTranslatef(.8F, .8F, 0F); + GL11.glTranslatef(.8F,.8F,0F); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); - GL11.glTranslatef(-1.6f, 0, 0); + GL11.glTranslatef(-1.6f,0,0); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); - GL11.glTranslatef(0, -1.6f, 0); + GL11.glTranslatef(0,-1.6f,0); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); - GL11.glTranslatef(0, 1.6f, 0); + GL11.glTranslatef(0,1.6f,0); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); GL11.glPopMatrix(); GL11.glPushMatrix(); - GL11.glTranslatef(.4F, .4F, 0F); + GL11.glTranslatef(.4F,.4F,0F); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); - GL11.glTranslatef(-.8f, 0, 0); + GL11.glTranslatef(-.8f,0,0); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); - GL11.glTranslatef(0, -.8f, 0); + GL11.glTranslatef(0,-.8f,0); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); - GL11.glTranslatef(0, .8f, 0); + GL11.glTranslatef(0,.8f,0); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); GL11.glPopMatrix(); 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 08a14fecc2..d9ccb1529e 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 @@ -1,14 +1,14 @@ package com.github.technus.tectech.thing.metaTileEntity; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static gregtech.api.enums.Textures.BlockIcons.*; - import gregtech.api.enums.Dyes; import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.ITexture; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.objects.GT_SidedTexture; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static gregtech.api.enums.Textures.BlockIcons.*; + public class Textures { private static final IIconContainer OVERLAY_ENERGY_IN_POWER = new CustomIcon("iconsets/OVERLAY_ENERGY_IN_POWER"); private static final IIconContainer OVERLAY_ENERGY_OUT_POWER = new CustomIcon("iconsets/OVERLAY_ENERGY_OUT_POWER"); @@ -35,204 +35,176 @@ public class Textures { 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, - MACHINE_UV_SIDE, MACHINE_MAX_SIDE, MACHINE_UEV_SIDE, MACHINE_UIV_SIDE, - MACHINE_UMV_SIDE, MACHINE_UXV_SIDE, MACHINE_OPV_SIDE, MACHINE_MAXV_SIDE, - }, - MACHINECASINGS_TOP_TT = - new IIconContainer[] { - MACHINE_8V_TOP, MACHINE_LV_TOP, MACHINE_MV_TOP, MACHINE_HV_TOP, - MACHINE_EV_TOP, MACHINE_IV_TOP, MACHINE_LuV_TOP, MACHINE_ZPM_TOP, - MACHINE_UV_TOP, MACHINE_MAX_TOP, MACHINE_UEV_TOP, MACHINE_UIV_TOP, - MACHINE_UMV_TOP, MACHINE_UXV_TOP, MACHINE_OPV_TOP, MACHINE_MAXV_TOP, - }, - MACHINECASINGS_BOTTOM_TT = - new IIconContainer[] { - MACHINE_8V_BOTTOM, MACHINE_LV_BOTTOM, MACHINE_MV_BOTTOM, MACHINE_HV_BOTTOM, - MACHINE_EV_BOTTOM, MACHINE_IV_BOTTOM, MACHINE_LuV_BOTTOM, MACHINE_ZPM_BOTTOM, - MACHINE_UV_BOTTOM, MACHINE_MAX_BOTTOM, MACHINE_UEV_BOTTOM, MACHINE_UIV_BOTTOM, - MACHINE_UMV_BOTTOM, MACHINE_UXV_BOTTOM, MACHINE_OPV_BOTTOM, MACHINE_MAXV_BOTTOM, - }; - public static ITexture[] - OVERLAYS_ENERGY_IN_TT = - new ITexture[] { - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {40, 40, 245, 0}), - }, - OVERLAYS_ENERGY_OUT_TT = - new ITexture[] { - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {40, 40, 245, 0}), - }, - OVERLAYS_ENERGY_IN_MULTI_TT = - new ITexture[] { - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {40, 40, 245, 0}), - }, - OVERLAYS_ENERGY_OUT_MULTI_TT = - new ITexture[] { - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {40, 40, 245, 0}), - }, - OVERLAYS_ENERGY_IN_POWER_TT = - new ITexture[] { - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {40, 40, 245, 0}), - }, - OVERLAYS_ENERGY_OUT_POWER_TT = - new ITexture[] { - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {40, 40, 245, 0}), - }, - OVERLAYS_ENERGY_IN_LASER_TT = - new ITexture[] { - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {40, 40, 245, 0}), - }, - OVERLAYS_ENERGY_OUT_LASER_TT = - new ITexture[] { - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {40, 40, 245, 0}), - }; + 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, + MACHINE_UV_SIDE, MACHINE_MAX_SIDE, MACHINE_UEV_SIDE, MACHINE_UIV_SIDE, + MACHINE_UMV_SIDE, MACHINE_UXV_SIDE, MACHINE_OPV_SIDE, MACHINE_MAXV_SIDE, + }, MACHINECASINGS_TOP_TT = new IIconContainer[]{ + MACHINE_8V_TOP, MACHINE_LV_TOP, MACHINE_MV_TOP, MACHINE_HV_TOP, + MACHINE_EV_TOP, MACHINE_IV_TOP, MACHINE_LuV_TOP, MACHINE_ZPM_TOP, + MACHINE_UV_TOP, MACHINE_MAX_TOP, MACHINE_UEV_TOP, MACHINE_UIV_TOP, + MACHINE_UMV_TOP, MACHINE_UXV_TOP, MACHINE_OPV_TOP, MACHINE_MAXV_TOP, + }, MACHINECASINGS_BOTTOM_TT = new IIconContainer[]{ + MACHINE_8V_BOTTOM, MACHINE_LV_BOTTOM, MACHINE_MV_BOTTOM, MACHINE_HV_BOTTOM, + MACHINE_EV_BOTTOM, MACHINE_IV_BOTTOM, MACHINE_LuV_BOTTOM, MACHINE_ZPM_BOTTOM, + MACHINE_UV_BOTTOM, MACHINE_MAX_BOTTOM, MACHINE_UEV_BOTTOM, MACHINE_UIV_BOTTOM, + MACHINE_UMV_BOTTOM, MACHINE_UXV_BOTTOM, MACHINE_OPV_BOTTOM, MACHINE_MAXV_BOTTOM, + }; + public static ITexture[] OVERLAYS_ENERGY_IN_TT = new ITexture[]{ + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{40, 40, 245, 0}), + }, OVERLAYS_ENERGY_OUT_TT = new ITexture[]{ + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{40, 40, 245, 0}), + }, OVERLAYS_ENERGY_IN_MULTI_TT = new ITexture[]{ + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{40, 40, 245, 0}), + }, OVERLAYS_ENERGY_OUT_MULTI_TT = new ITexture[]{ + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{40, 40, 245, 0}), + }, OVERLAYS_ENERGY_IN_POWER_TT = new ITexture[]{ + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{40, 40, 245, 0}), + }, OVERLAYS_ENERGY_OUT_POWER_TT = new ITexture[]{ + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{40, 40, 245, 0}), + }, OVERLAYS_ENERGY_IN_LASER_TT = new ITexture[]{ + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{40, 40, 245, 0}), + }, OVERLAYS_ENERGY_OUT_LASER_TT = new ITexture[]{ + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{40, 40, 245, 0}), + }; public static ITexture[][] MACHINE_CASINGS_TT = new ITexture[16][17]; public static ITexture TESLA_TRANSCEIVER_TOP_BA = new GT_RenderedTexture(TESLA_TRANSCEIVER_TOP); - public static void run() { + public static void run(){ for (byte i = 0; i < MACHINE_CASINGS_TT.length; i++) { for (byte j = 0; j < MACHINE_CASINGS_TT[i].length; j++) { - MACHINE_CASINGS_TT[i][j] = new GT_SidedTexture( - MACHINECASINGS_BOTTOM_TT[i], - MACHINECASINGS_TOP_TT[i], - MACHINECASINGS_SIDE_TT[i], - Dyes.getModulation(j - 1, MACHINE_METAL.mRGBa)); + MACHINE_CASINGS_TT[i][j] = new GT_SidedTexture(MACHINECASINGS_BOTTOM_TT[i], MACHINECASINGS_TOP_TT[i], MACHINECASINGS_SIDE_TT[i], Dyes.getModulation(j - 1, MACHINE_METAL.mRGBa)); } } - MACHINE_CASINGS = MACHINE_CASINGS_TT; + MACHINE_CASINGS=MACHINE_CASINGS_TT; // These will throw IndexOutOfBoundsException if one of the arrays are the wrong length System.arraycopy(OVERLAYS_ENERGY_IN_TT, 0, OVERLAYS_ENERGY_IN, 0, OVERLAYS_ENERGY_IN_TT.length); System.arraycopy(OVERLAYS_ENERGY_OUT_TT, 0, OVERLAYS_ENERGY_OUT, 0, OVERLAYS_ENERGY_OUT_TT.length); - System.arraycopy( - OVERLAYS_ENERGY_IN_MULTI_TT, 0, OVERLAYS_ENERGY_IN_MULTI, 0, OVERLAYS_ENERGY_IN_MULTI_TT.length); - System.arraycopy( - OVERLAYS_ENERGY_OUT_MULTI_TT, 0, OVERLAYS_ENERGY_OUT_MULTI, 0, OVERLAYS_ENERGY_OUT_MULTI_TT.length); + System.arraycopy(OVERLAYS_ENERGY_IN_MULTI_TT, 0, OVERLAYS_ENERGY_IN_MULTI, 0, OVERLAYS_ENERGY_IN_MULTI_TT.length); + System.arraycopy(OVERLAYS_ENERGY_OUT_MULTI_TT, 0, OVERLAYS_ENERGY_OUT_MULTI, 0, OVERLAYS_ENERGY_OUT_MULTI_TT.length); } -} +} \ No newline at end of file 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 1be2282efc..c74691d0a1 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,10 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.github.technus.tectech.util.TT_Utility.getUniqueIdentifier; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Capacitor; @@ -19,14 +14,20 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.objects.GT_RenderedTexture; -import java.util.HashMap; -import java.util.Map; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; 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.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.github.technus.tectech.util.TT_Utility.getUniqueIdentifier; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by Tec on 03.04.2017. */ @@ -59,12 +60,12 @@ public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch { @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] {aBaseTexture, new GT_RenderedTexture(TM_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(TM_H)}; + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(TM_H)}; } @Override @@ -109,10 +110,7 @@ public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch { @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_Capacitor( - aPlayerInventory, - aBaseMetaTileEntity, - translateToLocal("gt.blockmachines.hatch.capacitor.tier.03.name")); // Capacitor Hatch + return new GT_GUIContainer_Capacitor(aPlayerInventory, aBaseMetaTileEntity, translateToLocal("gt.blockmachines.hatch.capacitor.tier.03.name"));//Capacitor Hatch } @Override @@ -131,11 +129,10 @@ public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch { @Override public String[] getDescription() { - return new String[] { - CommonValues.BASS_MARK, - translateToLocal("gt.blockmachines.hatch.capacitor.desc.0"), // For Tesla Tower - EnumChatFormatting.AQUA - + translateToLocal("gt.blockmachines.hatch.capacitor.desc.1") // Stores 'nergy! (for a while) + return new String[]{ + CommonValues.BASS_MARK, + translateToLocal("gt.blockmachines.hatch.capacitor.desc.0"),//For Tesla Tower + EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.hatch.capacitor.desc.1")//Stores 'nergy! (for a while) }; } @@ -172,24 +169,17 @@ public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch { } } } - return new long[] {tier, tCurrent, tEnergyMax}; + 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 - new GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent( - Reference.MODID + ":item.tm.teslaCoilCapacitor.5", 5, 1, V[6] * 512); // LuV Capacitor - new GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent( - Reference.MODID + ":item.tm.teslaCoilCapacitor.6", 6, 1, V[7] * 512); // ZPM Capacitor + 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 + new GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent(Reference.MODID + ":item.tm.teslaCoilCapacitor.5", 5, 1, V[6] * 512);//LuV Capacitor + new GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent(Reference.MODID + ":item.tm.teslaCoilCapacitor.6", 6, 1, V[7] * 512);//ZPM Capacitor } public static class CapacitorComponent implements Comparable { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeData.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeData.java index b2d93e91dc..9311e34662 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeData.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeData.java @@ -1,8 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import static com.github.technus.tectech.util.CommonValues.MOVE_AT; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.mechanics.dataTransport.QuantumDataPacket; import com.github.technus.tectech.mechanics.pipe.IConnectsToDataPipe; import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Data; @@ -16,17 +13,19 @@ import gregtech.api.util.GT_Utility; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; +import static com.github.technus.tectech.util.CommonValues.MOVE_AT; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 27.10.2016. */ public class GT_MetaTileEntity_Hatch_CreativeData extends GT_MetaTileEntity_Hatch_DataConnector { public GT_MetaTileEntity_Hatch_CreativeData(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, ""); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } - public GT_MetaTileEntity_Hatch_CreativeData( - String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_CreativeData(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, aDescription, aTextures); } @@ -81,7 +80,7 @@ public class GT_MetaTileEntity_Hatch_CreativeData extends GT_MetaTileEntity_Hatc } @Override - public IConnectsToDataPipe getNext(IConnectsToDataPipe source /*==this*/) { + public IConnectsToDataPipe getNext(IConnectsToDataPipe source/*==this*/) { IGregTechTileEntity base = getBaseMetaTileEntity(); byte color = base.getColorization(); if (color < 0) { @@ -95,10 +94,9 @@ public class GT_MetaTileEntity_Hatch_CreativeData extends GT_MetaTileEntity_Hatc if (meta instanceof GT_MetaTileEntity_Pipe_Data) { ((GT_MetaTileEntity_Pipe_Data) meta).markUsed(); return (IConnectsToDataPipe) meta; - } else if (meta instanceof GT_MetaTileEntity_Hatch_InputData - && ((GT_MetaTileEntity_Hatch_InputData) meta).getColorization() == color - && ((GT_MetaTileEntity_Hatch_InputData) meta) - .canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) { + }else if (meta instanceof GT_MetaTileEntity_Hatch_InputData && + ((GT_MetaTileEntity_Hatch_InputData) meta).getColorization()==color && + ((GT_MetaTileEntity_Hatch_InputData) meta).canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) { return (IConnectsToDataPipe) meta; } return null; @@ -110,24 +108,24 @@ public class GT_MetaTileEntity_Hatch_CreativeData extends GT_MetaTileEntity_Hatc if (MOVE_AT == aTick % 20) { if (aBaseMetaTileEntity.isAllowedToWork()) { getBaseMetaTileEntity().setActive(true); - if (q == null) q = new QuantumDataPacket(0xFFFFFFFFL); + if(q==null) q=new QuantumDataPacket(0xFFFFFFFFL); moveAround(aBaseMetaTileEntity); } else { - q = null; + q=null; getBaseMetaTileEntity().setActive(false); } } } } + @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.debug.tt.data.desc.0"), // Quantum Data Output - translateToLocal("gt.blockmachines.debug.tt.data.desc.1"), // High speed fibre optics connector. - EnumChatFormatting.AQUA - + translateToLocal("gt.blockmachines.debug.tt.data.desc.2") // Must be painted to work + return new String[]{ + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.debug.tt.data.desc.0"),//Quantum Data Output + translateToLocal("gt.blockmachines.debug.tt.data.desc.1"),//High speed fibre optics connector. + EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.debug.tt.data.desc.2")//Must be painted to work }; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeMaintenance.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeMaintenance.java index 854a0321bf..5279da2b00 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeMaintenance.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeMaintenance.java @@ -1,7 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; import cpw.mods.fml.relauncher.Side; @@ -17,28 +15,27 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import static net.minecraft.util.StatCollector.translateToLocal; + public class GT_MetaTileEntity_Hatch_CreativeMaintenance extends GT_MetaTileEntity_Hatch_Maintenance { private static Textures.BlockIcons.CustomIcon face; public GT_MetaTileEntity_Hatch_CreativeMaintenance(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } - public GT_MetaTileEntity_Hatch_CreativeMaintenance( - String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_CreativeMaintenance(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { super(aName, aTier, aDescription, aTextures, false); } @Override public String[] getDescription() { - return new String[] { - CommonValues.BASS_MARK, - translateToLocal( - "gt.blockmachines.debug.tt.maintenance.desc.0"), // For automatically maintaining Multiblocks - translateToLocal("gt.blockmachines.debug.tt.maintenance.desc.1"), // Does fix everything but itself. - EnumChatFormatting.AQUA - + translateToLocal("gt.blockmachines.debug.tt.maintenance.desc.2") // Fixing is for plebs! + return new String[]{ + CommonValues.BASS_MARK, + translateToLocal("gt.blockmachines.debug.tt.maintenance.desc.0"),//For automatically maintaining Multiblocks + translateToLocal("gt.blockmachines.debug.tt.maintenance.desc.1"),//Does fix everything but itself. + EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.debug.tt.maintenance.desc.2")//Fixing is for plebs! }; } @@ -51,24 +48,22 @@ public class GT_MetaTileEntity_Hatch_CreativeMaintenance extends GT_MetaTileEnti @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] {aBaseTexture, new GT_RenderedTexture(face)}; + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(face)}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] {aBaseTexture, new GT_RenderedTexture(face)}; + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(face)}; } @Override public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_CreativeMaintenance( - this.mName, this.mTier, this.mDescriptionArray, this.mTextures); + return new GT_MetaTileEntity_Hatch_CreativeMaintenance(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); } @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - this.mWrench = - this.mScrewdriver = this.mSoftHammer = this.mHardHammer = this.mCrowbar = this.mSolderingTool = true; + this.mWrench = this.mScrewdriver = this.mSoftHammer = this.mHardHammer = this.mCrowbar = this.mSolderingTool = true; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DataConnector.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DataConnector.java index 3f4606d837..9e4f6cba93 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DataConnector.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DataConnector.java @@ -1,9 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import static com.github.technus.tectech.util.CommonValues.MOVE_AT; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - import com.github.technus.tectech.mechanics.dataTransport.DataPacket; import com.github.technus.tectech.mechanics.pipe.IConnectsToDataPipe; import com.github.technus.tectech.util.CommonValues; @@ -25,11 +21,14 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.reflect.FieldUtils; +import static com.github.technus.tectech.util.CommonValues.MOVE_AT; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + /** * Created by danie_000 on 11.12.2016. */ -public abstract class GT_MetaTileEntity_Hatch_DataConnector extends GT_MetaTileEntity_Hatch - implements IConnectsToDataPipe { +public abstract class GT_MetaTileEntity_Hatch_DataConnector extends GT_MetaTileEntity_Hatch implements IConnectsToDataPipe { public static Textures.BlockIcons.CustomIcon EM_D_SIDES; public static Textures.BlockIcons.CustomIcon EM_D_ACTIVE; public static Textures.BlockIcons.CustomIcon EM_D_CONN; @@ -40,14 +39,12 @@ public abstract class GT_MetaTileEntity_Hatch_DataConnector 0) { - return new String[] { - translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, - translateToLocalFormatted("tt.keyword.Content", clientLocale) + ": " + EnumChatFormatting.AQUA - + (q != null ? q.getContentString() : 0), - translateToLocalFormatted("tt.keyword.PacketHistory", clientLocale) + ": " + EnumChatFormatting.RED - + (q != null ? q.getTraceSize() : 0), - }; + return new String[]{ + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, + translateToLocalFormatted("tt.keyword.Content", clientLocale) + ": " + EnumChatFormatting.AQUA + (q != null ? q.getContentString() : 0), + translateToLocalFormatted("tt.keyword.PacketHistory", clientLocale) + ": " + EnumChatFormatting.RED + (q != null ? q.getTraceSize() : 0),}; } - return new String[] { - translateToLocalFormatted("tt.keyword.Content", clientLocale) + ": " + EnumChatFormatting.AQUA - + (q != null ? q.getContentString() : 0), - translateToLocalFormatted("tt.keyword.PacketHistory", clientLocale) + ": " + EnumChatFormatting.RED - + (q != null ? q.getTraceSize() : 0), + return new String[]{ + translateToLocalFormatted("tt.keyword.Content", clientLocale) + ": " + EnumChatFormatting.AQUA + (q != null ? q.getContentString() : 0), + translateToLocalFormatted("tt.keyword.PacketHistory", clientLocale) + ": " + EnumChatFormatting.RED + (q != null ? q.getTraceSize() : 0), }; } @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_EM, - "Text description shouldn't be seen, report to Tec", - "High speed fibre optics connector.", - EnumChatFormatting.AQUA + "Must be painted to work" + return new String[]{ + CommonValues.TEC_MARK_EM, + "Text description shouldn't be seen, report to Tec", + "High speed fibre optics connector.", + EnumChatFormatting.AQUA + "Must be painted to work" }; } 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 bf7671a062..406a9ee56f 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 @@ -1,9 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_POWER_TT; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.interfaces.ITexture; @@ -13,6 +9,10 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_POWER_TT; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 16.12.2016. */ @@ -20,38 +20,29 @@ 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, - translateToLocal("gt.blockmachines.hatch.dynamomulti.desc.0")); // Multiple Ampere Energy Extractor for - // Multiblocks + super(aID, aName, aNameRegional, aTier, 0, translateToLocal("gt.blockmachines.hatch.dynamomulti.desc.0"));//Multiple Ampere Energy Extractor for Multiblocks Amperes = aAmp; TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_DynamoMulti( - String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_DynamoMulti(String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); Amperes = aAmp; } - public GT_MetaTileEntity_Hatch_DynamoMulti( - int aID, String aName, String aNameRegional, int aTier, int i, String description, int aAmp) { + public GT_MetaTileEntity_Hatch_DynamoMulti(int aID, String aName, String aNameRegional, int aTier, int i, String description, int aAmp) { super(aID, aName, aNameRegional, aTier, 0, description); Amperes = aAmp; } @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; + return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; + return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; } @Override @@ -121,8 +112,10 @@ public class GT_MetaTileEntity_Hatch_DynamoMulti extends GT_MetaTileEntity_Hatch @Override public String[] getDescription() { - return new String[] {CommonValues.TEC_MARK_GENERAL, mDescription - // "Amperes Out: "+ EnumChatFormatting.AQUA+Amperes+" A" + return new String[]{ + CommonValues.TEC_MARK_GENERAL, + mDescription + //"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 5deccd87e0..595f45f8d2 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 @@ -1,10 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_OUT_LASER_TT; -import static com.github.technus.tectech.util.CommonValues.TRANSFER_AT; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.mechanics.pipe.IConnectsToEnergyTunnel; import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Energy; import com.github.technus.tectech.util.CommonValues; @@ -18,36 +13,32 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_OUT_LASER_TT; +import static com.github.technus.tectech.util.CommonValues.TRANSFER_AT; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 16.12.2016. */ -public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatch_DynamoMulti - implements IConnectsToEnergyTunnel { +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, - translateToLocal("gt.blockmachines.hatch.dynamotunnel.desc.0"), - aAmp); // Energy extracting terminal for Multiblocks + super(aID, aName, aNameRegional, aTier, 0, translateToLocal("gt.blockmachines.hatch.dynamotunnel.desc.0"), aAmp);//Energy extracting terminal for Multiblocks TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_DynamoTunnel( - String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_DynamoTunnel(String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, aAmp, aDescription, aTextures); } @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_OUT_LASER_TT[mTier]}; + return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_OUT_LASER_TT[mTier]}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_OUT_LASER_TT[mTier]}; + return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_OUT_LASER_TT[mTier]}; } @Override @@ -117,12 +108,11 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_GENERAL, - mDescription, // TODO NOT PASS DESCRIPTION - translateToLocal("gt.blockmachines.hatch.dynamotunnel.desc.1") + ": " + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(Amperes * maxEUOutput()) + EnumChatFormatting.RESET - + " EU/t" // Throughput + return new String[]{ + CommonValues.TEC_MARK_GENERAL, + mDescription,//TODO NOT PASS DESCRIPTION + translateToLocal("gt.blockmachines.hatch.dynamotunnel.desc.1") + ": " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(Amperes * maxEUOutput()) + EnumChatFormatting.RESET + " EU/t"//Throughput }; } @@ -152,35 +142,29 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc byte front = aBaseMetaTileEntity.getFrontFacing(); byte opposite = GT_Utility.getOppositeSide(front); for (short dist = 1; dist < 1000; dist++) { - IGregTechTileEntity tGTTileEntity = - aBaseMetaTileEntity.getIGregTechTileEntityAtSideAndDistance(front, dist); + IGregTechTileEntity tGTTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityAtSideAndDistance(front, dist); if (tGTTileEntity != null && tGTTileEntity.getColorization() == color) { IMetaTileEntity aMetaTileEntity = tGTTileEntity.getMetaTileEntity(); if (aMetaTileEntity != null) { - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyTunnel - && opposite == tGTTileEntity.getFrontFacing()) { + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyTunnel && + opposite == tGTTileEntity.getFrontFacing()) { if (maxEUOutput() > ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()) { aMetaTileEntity.doExplosion(maxEUOutput()); setEUVar(aBaseMetaTileEntity.getStoredEU() - maxEUOutput()); return; - } else if (maxEUOutput() - == ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()) { + } else if (maxEUOutput() == ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()) { long diff = Math.min( Amperes * 20L * maxEUOutput(), Math.min( - ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUStore() - - aMetaTileEntity - .getBaseMetaTileEntity() - .getStoredEU(), - aBaseMetaTileEntity.getStoredEU())); + ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUStore() - + aMetaTileEntity.getBaseMetaTileEntity().getStoredEU(), + aBaseMetaTileEntity.getStoredEU() + )); 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) { @@ -205,4 +189,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 f137c274f8..8b8bcaaa1d 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 @@ -1,13 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.util.CommonValues.*; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.IEMContainer; @@ -32,32 +24,37 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.reflect.FieldUtils; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.util.CommonValues.*; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + /** * Created by danie_000 on 11.12.2016. */ -public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_MetaTileEntity_Hatch - implements IEMContainer, IConnectsToElementalPipe { +public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_MetaTileEntity_Hatch implements IEMContainer, IConnectsToElementalPipe { private static Textures.BlockIcons.CustomIcon EM_T_SIDES; private static Textures.BlockIcons.CustomIcon EM_T_ACTIVE; private static Textures.BlockIcons.CustomIcon EM_T_CONN; private String clientLocale = "en_US"; - protected EMInstanceStackMap content = new EMInstanceStackMap(); - // float lifeTimeMult=1f; - public int postEnergize = 0; + protected EMInstanceStackMap content = new EMInstanceStackMap(); + //float lifeTimeMult=1f; + public int postEnergize = 0; public double overflowMatter = 0f; public short id = -1; private byte deathDelay = 2; - protected GT_MetaTileEntity_Hatch_ElementalContainer( - int aID, String aName, String aNameRegional, int aTier, String descr) { + protected GT_MetaTileEntity_Hatch_ElementalContainer(int aID, String aName, String aNameRegional, int aTier, String descr) { super(aID, aName, aNameRegional, aTier, 0, descr); TT_Utility.setTier(aTier, this); } - protected GT_MetaTileEntity_Hatch_ElementalContainer( - String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + protected GT_MetaTileEntity_Hatch_ElementalContainer(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); } @@ -72,30 +69,19 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] { - aBaseTexture, - new GT_RenderedTexture( - EM_T_ACTIVE, - Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), - new GT_RenderedTexture(EM_T_CONN) - }; + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_T_ACTIVE, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), new GT_RenderedTexture(EM_T_CONN)}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] { - aBaseTexture, - new GT_RenderedTexture( - EM_T_SIDES, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), - new GT_RenderedTexture(EM_T_CONN) - }; + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_T_SIDES, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), new GT_RenderedTexture(EM_T_CONN)}; } @Override public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); aNBT.setInteger("postEnergize", postEnergize); - // aNBT.setFloat("lifeTimeMult",lifeTimeMult); + //aNBT.setFloat("lifeTimeMult",lifeTimeMult); aNBT.setDouble("OverflowMatter", overflowMatter); content.cleanUp(); aNBT.setTag("eM_Stacks", content.toNBT(TecTech.definitionsRegistry)); @@ -106,11 +92,11 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); postEnergize = aNBT.getInteger("postEnergize"); - // lifeTimeMult=aNBT.getFloat("lifeTimeMult"); - overflowMatter = aNBT.getFloat("overflowMatter") + aNBT.getDouble("OverflowMatter"); + //lifeTimeMult=aNBT.getFloat("lifeTimeMult"); + overflowMatter = aNBT.getFloat("overflowMatter")+aNBT.getDouble("OverflowMatter"); id = aNBT.getShort("eID"); try { - content = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, aNBT.getCompoundTag("eM_Stacks")); + content = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry,aNBT.getCompoundTag("eM_Stacks")); } catch (EMException e) { if (DEBUG_MODE) { e.printStackTrace(); @@ -127,43 +113,31 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta byte Tick = (byte) (aTick % 20); if (DECAY_AT == Tick) { purgeOverflow(); - content.tickContent(1, postEnergize, 1); // Hatches don't life time mult things + content.tickContent(1, postEnergize,1);//Hatches don't life time mult things purgeOverflow(); } else if (OVERFLOW_AT == Tick) { if (overflowMatter <= 0) { deathDelay = 3; } else { if (deathDelay == 1) { - IGregTechTileEntity tGTTileEntity = - aBaseMetaTileEntity.getIGregTechTileEntityAtSide(aBaseMetaTileEntity.getBackFacing()); - if (tGTTileEntity == null - || !(tGTTileEntity.getMetaTileEntity() - instanceof GT_MetaTileEntity_Hatch_OverflowElemental)) { + IGregTechTileEntity tGTTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityAtSide(aBaseMetaTileEntity.getBackFacing()); + if (tGTTileEntity == null || !(tGTTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_OverflowElemental)) { tGTTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityAtSide((byte) 0); } - if (tGTTileEntity == null - || !(tGTTileEntity.getMetaTileEntity() - instanceof GT_MetaTileEntity_Hatch_OverflowElemental)) { + if (tGTTileEntity == null || !(tGTTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_OverflowElemental)) { tGTTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityAtSide((byte) 1); } - if (tGTTileEntity != null - && tGTTileEntity.getMetaTileEntity() - instanceof GT_MetaTileEntity_Hatch_OverflowElemental) { - GT_MetaTileEntity_Hatch_OverflowElemental aMetaTileEntity = - (GT_MetaTileEntity_Hatch_OverflowElemental) tGTTileEntity.getMetaTileEntity(); + if (tGTTileEntity != null && tGTTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_OverflowElemental) { + GT_MetaTileEntity_Hatch_OverflowElemental aMetaTileEntity = (GT_MetaTileEntity_Hatch_OverflowElemental) tGTTileEntity.getMetaTileEntity(); if (aMetaTileEntity.addOverflowMatter(overflowMatter)) { if (TecTech.configTecTech.BOOM_ENABLE) { tGTTileEntity.doExplosion(V[14]); } else { TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, overflowMatter * 32D); - TecTech.proxy.broadcast("Container1 " + translateToLocal("tt.keyword.BOOM") + " " - + aBaseMetaTileEntity.getXCoord() + ' ' + aBaseMetaTileEntity.getYCoord() - + ' ' + aBaseMetaTileEntity.getZCoord()); + TecTech.proxy.broadcast("Container1 " + 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... + deathDelay = 3;//needed in some cases like repetitive failures. Should be 4 since there is -- at end but meh... overflowMatter = 0F; } } else if (deathDelay < 1) { @@ -173,9 +147,7 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, overflowMatter * 32D); deathDelay = 3; overflowMatter = 0; - TecTech.proxy.broadcast("Container0 " + translateToLocal("tt.keyword.BOOM") + " " - + aBaseMetaTileEntity.getXCoord() + ' ' + aBaseMetaTileEntity.getYCoord() + ' ' - + aBaseMetaTileEntity.getZCoord()); + TecTech.proxy.broadcast("Container0 " + translateToLocal("tt.keyword.BOOM") + " " + aBaseMetaTileEntity.getXCoord() + ' ' + aBaseMetaTileEntity.getYCoord() + ' ' + aBaseMetaTileEntity.getZCoord()); } } deathDelay--; @@ -190,13 +162,15 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta } } - public void moveAround(IGregTechTileEntity aBaseMetaTileEntity) {} + public void moveAround(IGregTechTileEntity aBaseMetaTileEntity) { + } @Override public EMInstanceStackMap getContentHandler() { return content; } + @Override public boolean isFacingValid(byte aFacing) { return true; @@ -272,40 +246,30 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta if (TecTech.configTecTech.EASY_SCAN || DEBUG_MODE) { if (id > 0) { if (content == null || content.size() == 0) { - return new String[] { - translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, - translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale) - }; + return new String[]{translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale)}; } else { String[] lines = content.getElementalInfo(); String[] output = new String[lines.length + 1]; - output[0] = translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " - + EnumChatFormatting.AQUA + id; + output[0] = translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id; System.arraycopy(lines, 0, output, 1, lines.length); return output; } } if (content == null || content.size() == 0) { - return new String[] {translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale)}; + return new String[]{translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale)}; } return content.getElementalInfo(); } else { if (id > 0) { if (content == null || content.size() == 0) { - return new String[] { - translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, - translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale) - }; + return new String[]{translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale)}; } - return new String[] { - translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, - translateToLocalFormatted("tt.keyphrase.Contains_EM", clientLocale) - }; + return new String[]{translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, translateToLocalFormatted("tt.keyphrase.Contains_EM", clientLocale)}; } if (content == null || content.size() == 0) { - return new String[] {translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale)}; + return new String[]{translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale)}; } - return new String[] {translateToLocalFormatted("tt.keyphrase.Contains_EM", clientLocale)}; + return new String[]{translateToLocalFormatted("tt.keyphrase.Contains_EM", clientLocale)}; } } @@ -315,19 +279,17 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta @Override public String[] getDescription() { - return new String[] { - TEC_MARK_EM, - mDescription, - translateToLocal("tt.base.emhatch.desc.0") + " " + EnumChatFormatting.AQUA - + GT_Utility.formatNumbers(getMaxStacksCount()), // Max stacks amount: - translateToLocal("tt.base.emhatch.desc.1") + " " + EnumChatFormatting.AQUA - + TT_Utility.formatNumberShortExp(getMaxStackSize()), // Stack capacity: - translateToLocal("tt.base.emhatch.desc.2"), // Place Overflow Hatch behind,on top or below - translateToLocal("tt.base.emhatch.desc.3"), // to provide overflow protection while this block - translateToLocal("tt.base.emhatch.desc.4"), // is not attached to multi block. - translateToLocal("tt.base.emhatch.desc.5"), // Transport range can be extended in straight - translateToLocal("tt.base.emhatch.desc.6"), // line up to 15 blocks with quantum tunnels. - EnumChatFormatting.AQUA + translateToLocal("tt.base.emhatch.desc.7") // Must be painted to work + return new String[]{ + TEC_MARK_EM, + mDescription, + translateToLocal("tt.base.emhatch.desc.0") + " " + EnumChatFormatting.AQUA + GT_Utility.formatNumbers(getMaxStacksCount()),//Max stacks amount: + translateToLocal("tt.base.emhatch.desc.1") + " " + EnumChatFormatting.AQUA + TT_Utility.formatNumberShortExp(getMaxStackSize()),//Stack capacity: + translateToLocal("tt.base.emhatch.desc.2"),//Place Overflow Hatch behind,on top or below + translateToLocal("tt.base.emhatch.desc.3"),//to provide overflow protection while this block + translateToLocal("tt.base.emhatch.desc.4"),//is not attached to multi block. + translateToLocal("tt.base.emhatch.desc.5"),//Transport range can be extended in straight + translateToLocal("tt.base.emhatch.desc.6"),//line up to 15 blocks with quantum tunnels. + EnumChatFormatting.AQUA + translateToLocal("tt.base.emhatch.desc.7")//Must be painted to work }; } @@ -339,9 +301,8 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta if (TecTech.configTecTech.BOOM_ENABLE) { base.doExplosion(V[15]); } else { - TecTech.proxy.broadcast(translateToLocal("tt.keyword.BOOM") + " " + base.getXCoord() + ' ' - + base.getYCoord() + ' ' + base.getZCoord()); + TecTech.proxy.broadcast(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 854cf496e0..c637b3bfee 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 @@ -1,9 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_POWER_TT; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.interfaces.ITexture; @@ -15,6 +11,10 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_POWER_TT; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 16.12.2016. */ @@ -22,38 +22,29 @@ 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, - translateToLocal("gt.blockmachines.hatch.energymulti.desc.0")); // Multiple Ampere Energy Injector for - // Multiblocks + super(aID, aName, aNameRegional, aTier, 0, translateToLocal("gt.blockmachines.hatch.energymulti.desc.0"));//Multiple Ampere Energy Injector for Multiblocks Amperes = aAmp; TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_EnergyMulti( - String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_EnergyMulti(String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); 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; } @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; + return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; + return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; } @Override @@ -123,11 +114,11 @@ public class GT_MetaTileEntity_Hatch_EnergyMulti extends GT_MetaTileEntity_Hatch @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_GENERAL, - mDescription, - translateToLocal("gt.blockmachines.hatch.energymulti.desc.1") + ": " + EnumChatFormatting.AQUA - + GT_Utility.formatNumbers(maxAmperesIn()) + " A" // Amperes In + return new String[]{ + CommonValues.TEC_MARK_GENERAL, + mDescription, + translateToLocal("gt.blockmachines.hatch.energymulti.desc.1") + ": " + + EnumChatFormatting.AQUA + GT_Utility.formatNumbers(maxAmperesIn()) + " A"//Amperes In }; } -} +} \ No newline at end of file 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 791b79cef8..d29f9fc14b 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 @@ -1,10 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_LASER_TT; -import static com.github.technus.tectech.util.CommonValues.TRANSFER_AT; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.mechanics.pipe.IConnectsToEnergyTunnel; import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; @@ -16,36 +11,32 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_LASER_TT; +import static com.github.technus.tectech.util.CommonValues.TRANSFER_AT; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 16.12.2016. */ -public class GT_MetaTileEntity_Hatch_EnergyTunnel extends GT_MetaTileEntity_Hatch_EnergyMulti - implements IConnectsToEnergyTunnel { +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, - translateToLocal("gt.blockmachines.hatch.energytunnel.desc.0"), - aAmp); // Energy injecting terminal for Multiblocks + super(aID, aName, aNameRegional, aTier, 0, translateToLocal("gt.blockmachines.hatch.energytunnel.desc.0"), aAmp);//Energy injecting terminal for Multiblocks TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_EnergyTunnel( - String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_EnergyTunnel(String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, aAmp, aDescription, aTextures); } @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_IN_LASER_TT[mTier]}; + return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_LASER_TT[mTier]}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_IN_LASER_TT[mTier]}; + return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_LASER_TT[mTier]}; } @Override @@ -115,12 +106,11 @@ public class GT_MetaTileEntity_Hatch_EnergyTunnel extends GT_MetaTileEntity_Hatc @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_GENERAL, - mDescription, - translateToLocal("gt.blockmachines.hatch.energytunnel.desc.1") + ": " + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(Amperes * maxEUInput()) + EnumChatFormatting.RESET - + " EU/t" // Throughput + return new String[]{ + CommonValues.TEC_MARK_GENERAL, + mDescription, + translateToLocal("gt.blockmachines.hatch.energytunnel.desc.1") + ": " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(Amperes * maxEUInput()) + EnumChatFormatting.RESET + " EU/t"//Throughput }; } @@ -143,4 +133,4 @@ public class GT_MetaTileEntity_Hatch_EnergyTunnel extends GT_MetaTileEntity_Hatc } } } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java index de173f2a16..e9631cfb3e 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java @@ -1,7 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Holder; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_Holder; import com.github.technus.tectech.util.CommonValues; @@ -20,6 +18,8 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by Tec on 03.04.2017. */ @@ -29,7 +29,7 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch { public GT_MetaTileEntity_Hatch_Holder(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 1, ""); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } public GT_MetaTileEntity_Hatch_Holder(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -46,12 +46,12 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch { @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] {aBaseTexture, new GT_RenderedTexture(EM_H_ACTIVE)}; + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_H_ACTIVE)}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] {aBaseTexture, new GT_RenderedTexture(EM_H)}; + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_H)}; } @Override @@ -96,10 +96,7 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch { @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_Holder( - aPlayerInventory, - aBaseMetaTileEntity, - translateToLocal("gt.blockmachines.hatch.holder.tier.09.name")); // Object Holder + return new GT_GUIContainer_Holder(aPlayerInventory, aBaseMetaTileEntity, translateToLocal("gt.blockmachines.hatch.holder.tier.09.name"));//Object Holder } @Override @@ -107,11 +104,11 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch { if (aBaseMetaTileEntity.isClientSide()) { return true; } - // if(aBaseMetaTileEntity.isActive()) + //if(aBaseMetaTileEntity.isActive()) // aPlayer.addChatComponentMessage(new ChatComponentText("It is still active...")); - // else if(heat>0) + //else if(heat>0) // aPlayer.addChatComponentMessage(new ChatComponentText("It is still warm...")); - // else + //else aBaseMetaTileEntity.openGUI(aPlayer); return true; } @@ -123,11 +120,10 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch { @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.hatch.holder.desc.0"), // For Research Station - EnumChatFormatting.AQUA - + translateToLocal("gt.blockmachines.hatch.holder.desc.1") // Advanced Holding Mechanism! + return new String[]{ + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.hatch.holder.desc.0"),//For Research Station + EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.hatch.holder.desc.1")//Advanced Holding Mechanism! }; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputData.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputData.java index 8626458b70..ff5669e0cb 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputData.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputData.java @@ -1,7 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.mechanics.dataTransport.QuantumDataPacket; import com.github.technus.tectech.mechanics.pipe.IConnectsToDataPipe; import com.github.technus.tectech.util.CommonValues; @@ -12,6 +10,8 @@ import gregtech.api.metatileentity.MetaTileEntity; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 27.10.2016. */ @@ -20,7 +20,7 @@ public class GT_MetaTileEntity_Hatch_InputData extends GT_MetaTileEntity_Hatch_D public GT_MetaTileEntity_Hatch_InputData(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, ""); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } public GT_MetaTileEntity_Hatch_InputData(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -67,27 +67,26 @@ public class GT_MetaTileEntity_Hatch_InputData extends GT_MetaTileEntity_Hatch_D return null; } - public void setContents(QuantumDataPacket qIn) { - if (qIn == null) { - this.q = null; - } else { - if (qIn.getContent() > 0) { + public void setContents(QuantumDataPacket qIn){ + if(qIn==null){ + this.q=null; + }else{ + if(qIn.getContent()>0) { this.q = qIn; - delDelay = true; - } else { - this.q = null; + delDelay=true; + }else{ + this.q=null; } } } @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.hatch.datain.desc.0"), // Quantum Data Input for Multiblocks - translateToLocal("gt.blockmachines.hatch.datain.desc.1"), // High speed fibre optics connector. - EnumChatFormatting.AQUA - + translateToLocal("gt.blockmachines.hatch.datain.desc.2") // Must be painted to work + return new String[]{ + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.hatch.datain.desc.0"),//Quantum Data Input for Multiblocks + translateToLocal("gt.blockmachines.hatch.datain.desc.1"),//High speed fibre optics connector. + EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.hatch.datain.desc.2")//Must be painted to work }; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java index fd6a72088f..ee619ac5ec 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java @@ -1,12 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DataConnector.*; -import static com.github.technus.tectech.util.CommonValues.MOVE_AT; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - import com.github.technus.tectech.mechanics.dataTransport.InventoryDataPacket; import com.github.technus.tectech.mechanics.pipe.IConnectsToDataPipe; import com.github.technus.tectech.util.CommonValues; @@ -17,7 +10,6 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_DataAccess; import gregtech.api.objects.GT_RenderedTexture; -import java.util.ArrayList; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.InventoryPlayer; @@ -26,8 +18,16 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import org.apache.commons.lang3.reflect.FieldUtils; -public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Hatch_DataAccess - implements IConnectsToDataPipe { +import java.util.ArrayList; + +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DataConnector.*; +import static com.github.technus.tectech.util.CommonValues.MOVE_AT; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + +public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Hatch_DataAccess implements IConnectsToDataPipe { public boolean delDelay = true; private ItemStack[] stacks; @@ -35,33 +35,21 @@ public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Ha public GT_MetaTileEntity_Hatch_InputDataItems(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } - public GT_MetaTileEntity_Hatch_InputDataItems( - String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_InputDataItems(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, aDescription, aTextures); } @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] { - aBaseTexture, - new GT_RenderedTexture( - EM_D_ACTIVE, - Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), - new GT_RenderedTexture(EM_D_CONN) - }; + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_D_ACTIVE, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), new GT_RenderedTexture(EM_D_CONN)}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] { - aBaseTexture, - new GT_RenderedTexture( - EM_D_SIDES, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), - new GT_RenderedTexture(EM_D_CONN) - }; + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_D_SIDES, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), new GT_RenderedTexture(EM_D_CONN)}; } @Override @@ -144,51 +132,51 @@ public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Ha return null; } - public void setContents(InventoryDataPacket iIn) { - if (iIn == null) { - stacks = null; - } else { - if (iIn.getContent().length > 0) { + public void setContents(InventoryDataPacket iIn){ + if(iIn==null){ + stacks=null; + }else{ + if(iIn.getContent().length>0) { stacks = iIn.getContent(); - delDelay = true; - } else { - stacks = null; + delDelay=true; + }else{ + stacks=null; } } } @Override public void onRemoval() { - stacks = null; + stacks=null; } @Override public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); - NBTTagCompound stacksTag = new NBTTagCompound(); - if (stacks != null) { - stacksTag.setInteger("count", stacks.length); - for (int i = 0; i < stacks.length; i++) { - stacksTag.setTag(Integer.toString(i), stacks[i].writeToNBT(new NBTTagCompound())); + NBTTagCompound stacksTag=new NBTTagCompound(); + if(stacks!=null){ + stacksTag.setInteger("count",stacks.length); + for(int i=0;i 0) { - ArrayList stacks = new ArrayList<>(); - for (int i = 0; i < count; i++) { - ItemStack stack = ItemStack.loadItemStackFromNBT(stacksTag.getCompoundTag(Integer.toString(i))); - if (stack != null) { + NBTTagCompound stacksTag= aNBT.getCompoundTag("data_stacks"); + int count=stacksTag.getInteger("count"); + if(count>0){ + ArrayList stacks=new ArrayList<>(); + for(int i=0;i 0) { + if(stacks.size()>0) { this.stacks = stacks.toArray(nullItem); } } @@ -196,19 +184,19 @@ public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Ha @Override public int getSizeInventory() { - return stacks != null ? stacks.length : 0; + return stacks!=null?stacks.length:0; } @Override public ItemStack getStackInSlot(int aIndex) { - return stacks != null && aIndex < stacks.length ? stacks[aIndex] : null; + return stacks!=null && aIndex { public GT_MetaTileEntity_Hatch_OutputData(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, ""); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } public GT_MetaTileEntity_Hatch_OutputData(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -80,17 +80,16 @@ public class GT_MetaTileEntity_Hatch_OutputData extends GT_MetaTileEntity_Hatch_ @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.hatch.dataout.desc.0"), // Quantum Data Output for Multiblocks - translateToLocal("gt.blockmachines.hatch.dataout.desc.1"), // High speed fibre optics connector. - EnumChatFormatting.AQUA - + translateToLocal("gt.blockmachines.hatch.dataout.desc.2") // Must be painted to work + return new String[]{ + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.hatch.dataout.desc.0"),//Quantum Data Output for Multiblocks + translateToLocal("gt.blockmachines.hatch.dataout.desc.1"),//High speed fibre optics connector. + EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.hatch.dataout.desc.2")//Must be painted to work }; } @Override - public IConnectsToDataPipe getNext(IConnectsToDataPipe source /*==this*/) { + public IConnectsToDataPipe getNext(IConnectsToDataPipe source/*==this*/) { IGregTechTileEntity base = getBaseMetaTileEntity(); byte color = base.getColorization(); if (color < 0) { @@ -101,13 +100,12 @@ public class GT_MetaTileEntity_Hatch_OutputData extends GT_MetaTileEntity_Hatch_ return null; } IMetaTileEntity meta = next.getMetaTileEntity(); - if (meta instanceof GT_MetaTileEntity_Pipe_Data) { + if (meta instanceof GT_MetaTileEntity_Pipe_Data){ ((GT_MetaTileEntity_Pipe_Data) meta).markUsed(); return (IConnectsToDataPipe) meta; - } else if (meta instanceof GT_MetaTileEntity_Hatch_InputData - && ((GT_MetaTileEntity_Hatch_InputData) meta).getColorization() == color - && ((GT_MetaTileEntity_Hatch_InputData) meta) - .canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) { + }else if (meta instanceof GT_MetaTileEntity_Hatch_InputData && + ((GT_MetaTileEntity_Hatch_InputData) meta).getColorization()==color && + ((GT_MetaTileEntity_Hatch_InputData) meta).canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) { return (IConnectsToDataPipe) meta; } return null; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java index 197006510d..1c70ccd469 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java @@ -1,7 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.mechanics.dataTransport.InventoryDataPacket; import com.github.technus.tectech.mechanics.pipe.IConnectsToDataPipe; import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Data; @@ -18,15 +16,15 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; -public class GT_MetaTileEntity_Hatch_OutputDataItems - extends GT_MetaTileEntity_Hatch_DataConnector { +import static net.minecraft.util.StatCollector.translateToLocal; + +public class GT_MetaTileEntity_Hatch_OutputDataItems extends GT_MetaTileEntity_Hatch_DataConnector { public GT_MetaTileEntity_Hatch_OutputDataItems(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, ""); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } - public GT_MetaTileEntity_Hatch_OutputDataItems( - String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_OutputDataItems(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, aDescription, aTextures); } @@ -122,7 +120,7 @@ public class GT_MetaTileEntity_Hatch_OutputDataItems } @Override - public IConnectsToDataPipe getNext(IConnectsToDataPipe source /*==this*/) { + public IConnectsToDataPipe getNext(IConnectsToDataPipe source/*==this*/) { IGregTechTileEntity base = getBaseMetaTileEntity(); byte color = base.getColorization(); if (color < 0) { @@ -133,13 +131,12 @@ public class GT_MetaTileEntity_Hatch_OutputDataItems return null; } IMetaTileEntity meta = next.getMetaTileEntity(); - if (meta instanceof GT_MetaTileEntity_Pipe_Data) { + if (meta instanceof GT_MetaTileEntity_Pipe_Data){ ((GT_MetaTileEntity_Pipe_Data) meta).markUsed(); return (IConnectsToDataPipe) meta; - } else if (meta instanceof GT_MetaTileEntity_Hatch_InputDataItems - && ((GT_MetaTileEntity_Hatch_InputDataItems) meta).getColorization() == color - && ((GT_MetaTileEntity_Hatch_InputDataItems) meta) - .canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) { + }else if (meta instanceof GT_MetaTileEntity_Hatch_InputDataItems && + ((GT_MetaTileEntity_Hatch_InputDataItems) meta).getColorization()==color && + ((GT_MetaTileEntity_Hatch_InputDataItems) meta).canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) { return (IConnectsToDataPipe) meta; } return null; @@ -147,12 +144,11 @@ public class GT_MetaTileEntity_Hatch_OutputDataItems @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.hatch.dataoutass.desc.0"), // ItemStack Data Output for Multiblocks - translateToLocal("gt.blockmachines.hatch.dataoutass.desc.1"), // High speed fibre optics connector. - EnumChatFormatting.AQUA - + translateToLocal("gt.blockmachines.hatch.dataoutass.desc.2") // Must be painted to work + return new String[]{ + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.hatch.dataoutass.desc.0"),//ItemStack Data Output for Multiblocks + translateToLocal("gt.blockmachines.hatch.dataoutass.desc.1"),//High speed fibre optics connector. + EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.hatch.dataoutass.desc.2")//Must be painted to work }; } } 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 da125d3e5f..25ed1e6c47 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 @@ -1,7 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EM; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.interfaces.ITexture; @@ -10,27 +8,22 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.util.GT_Utility; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * 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, - translateToLocal("gt.blockmachines.emout.desc")); // Elemental Output for Multiblocks + super(aID, aName, aNameRegional, aTier, translateToLocal("gt.blockmachines.emout.desc"));//Elemental Output for Multiblocks TT_Utility.setTier(aTier, this); } - // public GT_MetaTileEntity_Hatch_OutputElemental(String aName, int aTier, String aDescription, ITexture[][][] - // aTextures) { + //public GT_MetaTileEntity_Hatch_OutputElemental(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { // super(aName, aTier, aDescription, aTextures); - // } + //} - public GT_MetaTileEntity_Hatch_OutputElemental( - String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_OutputElemental(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, aDescription, aTextures); } @@ -63,16 +56,13 @@ public class GT_MetaTileEntity_Hatch_OutputElemental extends GT_MetaTileEntity_H byte front = aBaseMetaTileEntity.getFrontFacing(); byte opposite = GT_Utility.getOppositeSide(front); for (byte dist = 1; dist < 16; dist++) { - IGregTechTileEntity tGTTileEntity = - aBaseMetaTileEntity.getIGregTechTileEntityAtSideAndDistance(front, dist); + IGregTechTileEntity tGTTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityAtSideAndDistance(front, dist); if (tGTTileEntity != null && tGTTileEntity.getColorization() == color) { IMetaTileEntity aMetaTileEntity = tGTTileEntity.getMetaTileEntity(); if (aMetaTileEntity != null) { - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputElemental - && opposite == tGTTileEntity.getFrontFacing()) { - ((GT_MetaTileEntity_Hatch_InputElemental) aMetaTileEntity) - .getContentHandler() - .putUnifyAll(content); + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputElemental && + opposite == tGTTileEntity.getFrontFacing()) { + ((GT_MetaTileEntity_Hatch_InputElemental) aMetaTileEntity).getContentHandler().putUnifyAll(content); ((GT_MetaTileEntity_Hatch_InputElemental) aMetaTileEntity).updateSlots(); content.clear(); return; @@ -98,4 +88,4 @@ public class GT_MetaTileEntity_Hatch_OutputElemental extends GT_MetaTileEntity_H 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_OverflowElemental.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OverflowElemental.java index b41963964d..0d5347a87e 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 @@ -1,13 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import static com.github.technus.tectech.loader.MainLoader.elementalPollution; -import static com.github.technus.tectech.util.CommonValues.DISPERSE_AT; -import static com.github.technus.tectech.util.CommonValues.V; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; @@ -34,6 +26,14 @@ import net.minecraft.world.EnumSkyBlock; import net.minecraftforge.common.util.ForgeDirection; import org.apache.commons.lang3.reflect.FieldUtils; +import static com.github.technus.tectech.loader.MainLoader.elementalPollution; +import static com.github.technus.tectech.util.CommonValues.DISPERSE_AT; +import static com.github.technus.tectech.util.CommonValues.V; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + /** * Created by danie_000 on 12.12.2016. */ @@ -48,23 +48,15 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity private String clientLocale = "en_US"; - public GT_MetaTileEntity_Hatch_OverflowElemental( - int aID, String aName, String aNameRegional, int aTier, double max) { - super( - aID, - aName, - aNameRegional, - aTier, - 0, - translateToLocal("gt.blockmachines.hatch.emmuffler.desc.0")); // Disposes excess elemental Matter + public GT_MetaTileEntity_Hatch_OverflowElemental(int aID, String aName, String aNameRegional, int aTier, double max) { + super(aID, aName, aNameRegional, aTier, 0, translateToLocal("gt.blockmachines.hatch.emmuffler.desc.0"));//Disposes excess elemental Matter overflowMatter = max / 2; overflowMax = max; overflowDisperse = overflowMax / (float) (30 - aTier); TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_OverflowElemental( - String aName, int aTier, double max, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_OverflowElemental(String aName, int aTier, double max, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); overflowMatter = max / 2; overflowMax = max; @@ -83,36 +75,22 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] { - aBaseTexture, - new GT_RenderedTexture( - EM_T_ACTIVE, - Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), - new GT_RenderedTexture(MufflerEM) - }; + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_T_ACTIVE, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), new GT_RenderedTexture(MufflerEM)}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] { - aBaseTexture, - new GT_RenderedTexture( - EM_T_SIDES, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), - new GT_RenderedTexture(MufflerEMidle) - }; + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_T_SIDES, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), new GT_RenderedTexture(MufflerEMidle)}; } @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_EM, - mDescription, - translateToLocal("gt.blockmachines.hatch.emmuffler.desc.1") + ": " + EnumChatFormatting.AQUA - + TT_Utility.formatNumberShortExp(overflowMax) + " " + translateToLocal("tt.keyword.unit.mass"), - translateToLocal("gt.blockmachines.hatch.emmuffler.desc.2") + ": " + EnumChatFormatting.AQUA - + TT_Utility.formatNumberShortExp(overflowDisperse) + " " - + translateToLocal("tt.keyword.unit.massFlux"), - translateToLocal("gt.blockmachines.hatch.emmuffler.desc.3") + return new String[]{ + CommonValues.TEC_MARK_EM, + mDescription, + translateToLocal("gt.blockmachines.hatch.emmuffler.desc.1") + ": " + EnumChatFormatting.AQUA + TT_Utility.formatNumberShortExp(overflowMax) + " "+translateToLocal("tt.keyword.unit.mass"), + translateToLocal("gt.blockmachines.hatch.emmuffler.desc.2") + ": " + EnumChatFormatting.AQUA + TT_Utility.formatNumberShortExp(overflowDisperse) + " "+translateToLocal("tt.keyword.unit.massFlux"), + translateToLocal("gt.blockmachines.hatch.emmuffler.desc.3") }; } @@ -150,7 +128,7 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity @Override public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); - overflowMatter = aNBT.getFloat("overflowMatter") + aNBT.getDouble("OverflowMatter"); + overflowMatter = aNBT.getFloat("overflowMatter")+aNBT.getDouble("OverflowMatter"); } @Override @@ -168,40 +146,28 @@ 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 / (Math.pow(2, mTier))); + TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, overflowDisperse/(Math.pow(2,mTier))); overflowMatter -= overflowDisperse; } else { - TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, overflowMatter / (Math.pow(2, mTier))); + TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, overflowMatter/(Math.pow(2,mTier))); overflowMatter = 0; aBaseMetaTileEntity.setActive(false); aBaseMetaTileEntity.setLightValue((byte) 0); - aBaseMetaTileEntity - .getWorld() - .updateLightByType( - EnumSkyBlock.Block, - aBaseMetaTileEntity.getXCoord(), - aBaseMetaTileEntity.getYCoord(), - aBaseMetaTileEntity.getZCoord()); + aBaseMetaTileEntity.getWorld().updateLightByType(EnumSkyBlock.Block, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord()); } vapePollution(aBaseMetaTileEntity); } else { if (overflowMatter > 0) { aBaseMetaTileEntity.setActive(true); aBaseMetaTileEntity.setLightValue((byte) 15); - aBaseMetaTileEntity - .getWorld() - .updateLightByType( - EnumSkyBlock.Block, - aBaseMetaTileEntity.getXCoord(), - aBaseMetaTileEntity.getYCoord(), - aBaseMetaTileEntity.getZCoord()); + aBaseMetaTileEntity.getWorld().updateLightByType(EnumSkyBlock.Block, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord()); } } } else if (aBaseMetaTileEntity.isClientSide() && aBaseMetaTileEntity.isActive()) { TecTech.proxy.em_particle(aBaseMetaTileEntity, aBaseMetaTileEntity.getFrontFacing()); } super.onPostTick(aBaseMetaTileEntity, aTick); - // DOES NOT CHECK FOR TOO MUCH, it is done only while putting stuff in (OPTIMIZATION!!!) + //DOES NOT CHECK FOR TOO MUCH, it is done only while putting stuff in (OPTIMIZATION!!!) } private void vapePollution(IGregTechTileEntity mte) { @@ -213,22 +179,14 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity 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))); + ((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); - if (entity instanceof EntityPlayer) { - TecTech.anomalyHandler.addMass((EntityPlayer) entity, overflowDisperse); + if(entity instanceof EntityPlayer) { + TecTech.anomalyHandler.addMass((EntityPlayer) entity,overflowDisperse); } } } @@ -257,15 +215,12 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity @Override public String[] getInfoData() { - return new String[] { - translateToLocalFormatted("tt.keyphrase.Contained_mass", clientLocale) + ":", - EnumChatFormatting.RED + TT_Utility.formatNumberExp(overflowMatter) + EnumChatFormatting.RESET + " " - + translateToLocal("tt.keyword.unit.mass") + " / ", - EnumChatFormatting.GREEN + TT_Utility.formatNumberShortExp(overflowMax) + EnumChatFormatting.RESET + " " - + translateToLocal("tt.keyword.unit.mass"), - translateToLocalFormatted("tt.keyphrase.Mass_Disposal_speed", clientLocale) + ": " + EnumChatFormatting.BLUE - + TT_Utility.formatNumberShortExp(overflowDisperse) + EnumChatFormatting.RESET + " " - + translateToLocal("tt.keyword.unit.massFlux") + return new String[]{ + translateToLocalFormatted("tt.keyphrase.Contained_mass", clientLocale) + ":", + EnumChatFormatting.RED + TT_Utility.formatNumberExp(overflowMatter) + EnumChatFormatting.RESET + " "+translateToLocal("tt.keyword.unit.mass")+ " / ", + EnumChatFormatting.GREEN + TT_Utility.formatNumberShortExp(overflowMax) + EnumChatFormatting.RESET + " "+translateToLocal("tt.keyword.unit.mass"), + translateToLocalFormatted("tt.keyphrase.Mass_Disposal_speed", clientLocale) + ": " + + EnumChatFormatting.BLUE + TT_Utility.formatNumberShortExp(overflowDisperse) + EnumChatFormatting.RESET + " "+translateToLocal("tt.keyword.unit.massFlux") }; } @@ -276,15 +231,12 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity if (TecTech.configTecTech.BOOM_ENABLE) { getBaseMetaTileEntity().doExplosion(V[15]); } else { - TecTech.proxy.broadcast(translateToLocalFormatted("tt.keyphrase.Muffler_BOOM", clientLocale) + " " - + getBaseMetaTileEntity().getXCoord() + ' ' - + getBaseMetaTileEntity().getYCoord() + ' ' - + getBaseMetaTileEntity().getZCoord()); + TecTech.proxy.broadcast(translateToLocalFormatted("tt.keyphrase.Muffler_BOOM", clientLocale) + " " + getBaseMetaTileEntity().getXCoord() + ' ' + getBaseMetaTileEntity().getYCoord() + ' ' + getBaseMetaTileEntity().getZCoord()); } } } - // Return - Should Explode + //Return - Should Explode public boolean addOverflowMatter(double matter) { overflowMatter += matter; return overflowMatter > overflowMax; @@ -294,9 +246,9 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity return overflowMatter; } - // Return - Should Explode + //Return - Should Explode public boolean setOverflowMatter(double overflowMatter) { 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/GT_MetaTileEntity_Hatch_Param.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Param.java index ed6e00dccf..60d2d8738a 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Param.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Param.java @@ -1,8 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Param; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_ParamAdv; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_Param; @@ -27,6 +24,9 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.reflect.FieldUtils; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + /** * Created by danie_000 on 15.12.2016. */ @@ -44,7 +44,7 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { public GT_MetaTileEntity_Hatch_Param(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } public GT_MetaTileEntity_Hatch_Param(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -61,7 +61,7 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { @Override public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - if (mTier > 5) { // TODO update mTier to 4 after recipe check + if (mTier > 5) {//TODO update mTier to 4 after recipe check return new GT_Container_ParamAdv(aPlayerInventory, aBaseMetaTileEntity); } return new GT_Container_Param(aPlayerInventory, aBaseMetaTileEntity); @@ -69,7 +69,7 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - if (mTier > 5) { // TODO update mTier to 4 after recipe check + if (mTier > 5) {//TODO update mTier to 4 after recipe check return new GT_GUIContainer_ParamAdv(aPlayerInventory, aBaseMetaTileEntity); } return new GT_GUIContainer_Param(aPlayerInventory, aBaseMetaTileEntity); @@ -77,16 +77,16 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] {aBaseTexture, new GT_RenderedTexture(ScreenON)}; + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(ScreenON)}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] {aBaseTexture, new GT_RenderedTexture(ScreenOFF)}; + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(ScreenOFF)}; } - // @Override - // public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { + //@Override + //public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { // if (aBaseMetaTileEntity.isClientSide() && (aTick % 20L == 0L)) { // //refresh casing on state change // int Xpos = aBaseMetaTileEntity.getXCoord(); @@ -97,7 +97,7 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { // } catch (Exception e) {} // } // super.onPostTick(aBaseMetaTileEntity, aTick); - // } + //} @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity iGregTechTileEntity) { @@ -111,14 +111,12 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { @Override public String[] getInfoData() { - return new String[] { - translateToLocalFormatted("tt.keyword.Parametrizer", clientLocale) + " " - + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.GREEN - + param, - translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 0D: " + EnumChatFormatting.AQUA + value0D, - translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 1D: " + EnumChatFormatting.BLUE + value1D, - translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 0D: " + EnumChatFormatting.GOLD + input0D, - translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 1D: " + EnumChatFormatting.YELLOW + input1D, + return new String[]{ + translateToLocalFormatted("tt.keyword.Parametrizer", clientLocale)+ " " + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.GREEN + param, + translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 0D: " + EnumChatFormatting.AQUA + value0D, + translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 1D: " + EnumChatFormatting.BLUE + value1D, + translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 0D: " + EnumChatFormatting.GOLD + input0D, + translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 1D: " + EnumChatFormatting.YELLOW + input1D, }; } @@ -152,28 +150,28 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); pointer = aNBT.getInteger("ePointer"); - if (aNBT.hasKey("eFloats") - || aNBT.hasKey("eValue0i") - || aNBT.hasKey("eValue1i") - || aNBT.hasKey("eInput0i") - || aNBT.hasKey("eInput1i")) { + if(aNBT.hasKey("eFloats") || + aNBT.hasKey("eValue0i") || + aNBT.hasKey("eValue1i") || + aNBT.hasKey("eInput0i") || + aNBT.hasKey("eInput1i")){ boolean usesFloat = aNBT.getBoolean("eFloats"); - if (usesFloat) { - value0D = Double.longBitsToDouble(aNBT.getLong("eValue0i")); - value1D = Double.longBitsToDouble(aNBT.getLong("eValue1i")); - input0D = Double.longBitsToDouble(aNBT.getLong("eInput0i")); - input1D = Double.longBitsToDouble(aNBT.getLong("eInput1i")); - } else { - value0D = aNBT.getLong("eValue0i"); - value1D = aNBT.getLong("eValue1i"); - input0D = aNBT.getLong("eInput0i"); - input1D = aNBT.getLong("eInput1i"); + if(usesFloat){ + value0D=Double.longBitsToDouble(aNBT.getLong("eValue0i")); + value1D=Double.longBitsToDouble(aNBT.getLong("eValue1i")); + input0D=Double.longBitsToDouble(aNBT.getLong("eInput0i")); + input1D=Double.longBitsToDouble(aNBT.getLong("eInput1i")); + }else { + value0D=aNBT.getLong("eValue0i"); + value1D=aNBT.getLong("eValue1i"); + input0D=aNBT.getLong("eInput0i"); + input1D=aNBT.getLong("eInput1i"); } - } else { - value0D = aNBT.getDouble("eValue0D"); - value1D = aNBT.getDouble("eValue1D"); - input0D = aNBT.getDouble("eInput0D"); - input1D = aNBT.getDouble("eInput1D"); + }else{ + value0D=aNBT.getDouble("eValue0D"); + value1D=aNBT.getDouble("eValue1D"); + input0D=aNBT.getDouble("eInput0D"); + input1D=aNBT.getDouble("eInput1D"); } param = aNBT.getInteger("eParam"); } @@ -220,11 +218,10 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.hatch.param.desc.0"), // For parametrization of Multiblocks - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD - + translateToLocal("gt.blockmachines.hatch.param.desc.1") + "\u00b2" // E=mine*craft + return new String[]{ + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.hatch.param.desc.0"),//For parametrization of Multiblocks + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.hatch.param.desc.1") +"\u00b2"//E=mine*craft }; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java index e241793e0e..b50475ae59 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java @@ -1,8 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_ParamText; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_ParamText; @@ -19,17 +16,20 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.reflect.FieldUtils; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + /** * Created by danie_000 on 15.12.2016. */ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_Param { - public String value0s = ""; - public String value1s = ""; + public String value0s=""; + public String value1s=""; private String clientLocale = "en_US"; public GT_MetaTileEntity_Hatch_ParamText(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier); + super(aID,aName,aNameRegional,aTier); } public GT_MetaTileEntity_Hatch_ParamText(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -38,9 +38,8 @@ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_P @Override public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - if (aPlayerInventory.player instanceof EntityPlayerMP) { - NetworkDispatcher.INSTANCE.sendTo( - new TextParametersMessage.ParametersTextData(this), (EntityPlayerMP) aPlayerInventory.player); + if(aPlayerInventory.player instanceof EntityPlayerMP) { + NetworkDispatcher.INSTANCE.sendTo(new TextParametersMessage.ParametersTextData(this), (EntityPlayerMP) aPlayerInventory.player); } return new GT_Container_ParamText(aPlayerInventory, aBaseMetaTileEntity); } @@ -50,8 +49,8 @@ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_P return new GT_GUIContainer_ParamText(aPlayerInventory, aBaseMetaTileEntity); } - // @Override - // public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { + //@Override + //public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { // if (aBaseMetaTileEntity.isClientSide() && (aTick % 20L == 0L)) { // //refresh casing on state change // int Xpos = aBaseMetaTileEntity.getXCoord(); @@ -62,7 +61,7 @@ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_P // } catch (Exception e) {} // } // super.onPostTick(aBaseMetaTileEntity, aTick); - // } + //} @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity iGregTechTileEntity) { @@ -76,18 +75,14 @@ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_P @Override public String[] getInfoData() { - return new String[] { - translateToLocalFormatted("tt.keyword.Parametrizer", clientLocale) + " " - + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.GREEN - + param, - translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 0S: " + EnumChatFormatting.DARK_AQUA - + value0s, - translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 1S: " + EnumChatFormatting.DARK_BLUE - + value1s, - translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 0D: " + EnumChatFormatting.AQUA + value0D, - translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 1D: " + EnumChatFormatting.BLUE + value1D, - translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 0D: " + EnumChatFormatting.GOLD + input0D, - translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 1D: " + EnumChatFormatting.YELLOW + input1D, + return new String[]{ + translateToLocalFormatted("tt.keyword.Parametrizer", clientLocale)+ " " + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.GREEN + param, + translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 0S: " + EnumChatFormatting.DARK_AQUA + value0s, + translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 1S: " + EnumChatFormatting.DARK_BLUE + value1s, + translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 0D: " + EnumChatFormatting.AQUA + value0D, + translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 1D: " + EnumChatFormatting.BLUE + value1D, + translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 0D: " + EnumChatFormatting.GOLD + input0D, + translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 1D: " + EnumChatFormatting.YELLOW + input1D, }; } @@ -163,11 +158,10 @@ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_P @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.hatch.param.desc.0"), // For parametrization of Multiblocks - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD - + translateToLocal("gt.blockmachines.hatch.param.desc.1") + "\u00b2" // E=mine*craft + return new String[]{ + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.hatch.param.desc.0"),//For parametrization of Multiblocks + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.hatch.param.desc.1") +"\u00b2"//E=mine*craft }; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java index 5e3986ec41..e890a5e60b 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java @@ -1,11 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.util.CommonValues.MULTI_CHECK_AT; -import static com.github.technus.tectech.util.TT_Utility.getUniqueIdentifier; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Rack; @@ -22,8 +16,6 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.objects.GT_RenderedTexture; -import java.util.HashMap; -import java.util.Map; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; @@ -33,6 +25,15 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import org.apache.commons.lang3.reflect.FieldUtils; +import java.util.HashMap; +import java.util.Map; + +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.util.CommonValues.MULTI_CHECK_AT; +import static com.github.technus.tectech.util.TT_Utility.getUniqueIdentifier; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + /** * Created by Tec on 03.04.2017. */ @@ -47,7 +48,7 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { public GT_MetaTileEntity_Hatch_Rack(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 4, ""); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } public GT_MetaTileEntity_Hatch_Rack(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -80,12 +81,12 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] {aBaseTexture, new GT_RenderedTexture(EM_R_ACTIVE)}; + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_R_ACTIVE)}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] {aBaseTexture, new GT_RenderedTexture(EM_R)}; + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_R)}; } @Override @@ -136,10 +137,7 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_Rack( - aPlayerInventory, - aBaseMetaTileEntity, - translateToLocal("gt.blockmachines.hatch.rack.tier.08.name")); // Computer Rack + return new GT_GUIContainer_Rack(aPlayerInventory, aBaseMetaTileEntity, translateToLocal("gt.blockmachines.hatch.rack.tier.08.name"));//Computer Rack } @Override @@ -153,11 +151,11 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { } catch (Exception e) { clientLocale = "en_US"; } - // if(aBaseMetaTileEntity.isActive()) + //if(aBaseMetaTileEntity.isActive()) // aPlayer.addChatComponentMessage(new ChatComponentText("It is still active...")); - // else if(heat>0) + //else if(heat>0) // aPlayer.addChatComponentMessage(new ChatComponentText("It is still warm...")); - // else + //else aBaseMetaTileEntity.openGUI(aPlayer); return true; } @@ -177,16 +175,10 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { mInventory[i] = null; continue; } else if (comp.subZero || this.heat >= 0) { - heat += (1f + comp.coEff * this.heat / 10000f) - * (comp.heat > 0 ? comp.heat * overclock * overclock * overvolt : comp.heat); - // =MAX(0;MIN(MIN($B4;1*C$3+C$3-0,25);1+RAND()+(C$3-1)-($B4-1)/2)) + heat += (1f + comp.coEff * this.heat / 10000f) * (comp.heat > 0 ? comp.heat * overclock * overclock * overvolt : comp.heat); + //=MAX(0;MIN(MIN($B4;1*C$3+C$3-0,25);1+RAND()+(C$3-1)-($B4-1)/2)) if (overvolt * 10f > 7f + TecTech.RANDOM.nextFloat()) { - computation += comp.computation - * Math.max( - 0, - Math.min( - Math.min(overclock, overvolt + overvolt - 0.25), - 1 + TecTech.RANDOM.nextFloat() + (overvolt - 1) - (overclock - 1) / 2)); + computation += comp.computation * Math.max(0, Math.min(Math.min(overclock, overvolt + overvolt - 0.25), 1 + TecTech.RANDOM.nextFloat() + (overvolt - 1) - (overclock - 1) / 2)); } } } else { @@ -253,25 +245,24 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { } } - // @Override - // public void onRemoval() { + //@Override + //public void onRemoval() { // if(mInventory!=null && (heat>0 || (getBaseMetaTileEntity()!=null && getBaseMetaTileEntity().isActive()))) // for(int i=0;i 500 || getBaseMetaTileEntity().isActive() ? 0 : mInventory.length; } @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.hatch.rack.desc.0"), // 4 Slot Rack - EnumChatFormatting.AQUA - + translateToLocal("gt.blockmachines.hatch.rack.desc.1") // Holds Computer Components + return new String[]{ + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.hatch.rack.desc.0"),//4 Slot Rack + EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.hatch.rack.desc.1")//Holds Computer Components }; } @@ -282,100 +273,97 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { @Override public String[] getInfoData() { - return new String[] { - translateToLocalFormatted("tt.keyphrase.Base_computation", clientLocale) + ": " + EnumChatFormatting.AQUA - + getComputationPower(1, 0, false), - translateToLocalFormatted("tt.keyphrase.After_overclocking", clientLocale) + ": " + EnumChatFormatting.AQUA - + getComputationPower(overClock, 0, false), - translateToLocalFormatted("tt.keyphrase.Heat_Accumulated", clientLocale) + ": " + EnumChatFormatting.RED - + (heat + 99) / 100 + EnumChatFormatting.RESET + " %" + return new String[]{ + translateToLocalFormatted("tt.keyphrase.Base_computation", clientLocale) + ": " + EnumChatFormatting.AQUA + getComputationPower(1, 0, false), + translateToLocalFormatted("tt.keyphrase.After_overclocking", clientLocale) + ": " + EnumChatFormatting.AQUA + getComputationPower(overClock, 0, false), + translateToLocalFormatted("tt.keyphrase.Heat_Accumulated", clientLocale) + ": " + EnumChatFormatting.RED + (heat + 99) / 100 + EnumChatFormatting.RESET + " %" }; - // heat==0? --> ((heat+9)/10) = 0 - // Heat==1-10? --> 1 + //heat==0? --> ((heat+9)/10) = 0 + //Heat==1-10? --> 1 } - public static void run() { // 20k heat cap max! - new RackComponent(ItemList.Circuit_Primitive.get(1), 1, 4, 0, 500, true); // Primitive Circuit - new RackComponent(ItemList.Circuit_Basic.get(1), 4, 8, 0, 1000, true); // Basic Circuit + public static void run() {//20k heat cap max! + new RackComponent(ItemList.Circuit_Primitive.get(1), 1, 4, 0, 500, true);//Primitive Circuit + new RackComponent(ItemList.Circuit_Basic.get(1), 4, 8, 0, 1000, true);//Basic Circuit new RackComponent(ItemList.Circuit_Microprocessor.get(1), 6, 8, 0, 1250, true); - new RackComponent(ItemList.Circuit_Good.get(1), 6, 9, -.05f, 1500, true); // Good Circuit + new RackComponent(ItemList.Circuit_Good.get(1), 6, 9, -.05f, 1500, true);//Good Circuit new RackComponent(ItemList.Circuit_Integrated_Good.get(1), 7, 9, -.075f, 1750, true); new RackComponent(ItemList.Circuit_Processor.get(1), 8, 9, -.07f, 1800, true); new RackComponent(ItemList.Circuit_Parts_Advanced.get(1), 1, 2, -.05f, 2000, true); - new RackComponent(ItemList.Circuit_Nanoprocessor.get(1), 8, 10, -.09f, 2250, true); // Advanced Circuit + new RackComponent(ItemList.Circuit_Nanoprocessor.get(1), 8, 10, -.09f, 2250, true);//Advanced Circuit new RackComponent(ItemList.Circuit_Advanced.get(1), 8, 10, -.1f, 2500, true); - new RackComponent(ItemList.Circuit_Data.get(1), 9, 1, -.1f, 3000, true); // EV Circuit + new RackComponent(ItemList.Circuit_Data.get(1), 9, 1, -.1f, 3000, true);//EV Circuit new RackComponent(ItemList.Circuit_Nanocomputer.get(1), 11, 10, -.125f, 3300, true); new RackComponent(ItemList.Circuit_Quantumprocessor.get(1), 13, 10, -.15f, 3600, true); - new RackComponent(ItemList.Circuit_Elite.get(1), 12, 10, -.15F, 3500, true); // IV Circuit + new RackComponent(ItemList.Circuit_Elite.get(1), 12, 10, -.15F, 3500, true);//IV Circuit new RackComponent(ItemList.Circuit_Elitenanocomputer.get(1), 14, 10, -.15F, 4000, true); new RackComponent(ItemList.Circuit_Quantumcomputer.get(1), 16, 10, -.15F, 4500, true); new RackComponent(ItemList.Circuit_Crystalprocessor.get(1), 18, 10, -.15F, 5000, true); - new RackComponent(ItemList.Circuit_Master.get(1), 16, 12, -.2F, 5000, true); // LuV Circuit + new RackComponent(ItemList.Circuit_Master.get(1), 16, 12, -.2F, 5000, true);//LuV Circuit new RackComponent(ItemList.Circuit_Masterquantumcomputer.get(1), 16, 13, -.2F, 5100, true); new RackComponent(ItemList.Circuit_Crystalcomputer.get(1), 20, 14, -.25F, 5200, true); new RackComponent(ItemList.Circuit_Neuroprocessor.get(1), 24, 15, -.3F, 5300, true); - new RackComponent(ItemList.Circuit_Quantummainframe.get(1), 22, 14, -.3F, 5200, true); // ZPM Circuit + new RackComponent(ItemList.Circuit_Quantummainframe.get(1), 22, 14, -.3F, 5200, true);//ZPM Circuit new RackComponent(ItemList.Circuit_Ultimatecrystalcomputer.get(1), 26, 16, -.3F, 5400, true); new RackComponent(ItemList.Circuit_Wetwarecomputer.get(1), 30, 18, -.3F, 5600, true); - new RackComponent(ItemList.Circuit_Crystalmainframe.get(1), 30, 18, -.35F, 5500, true); // UV Circuit + new RackComponent(ItemList.Circuit_Crystalmainframe.get(1), 30, 18, -.35F, 5500, true);//UV Circuit new RackComponent(ItemList.Circuit_Wetwaresupercomputer.get(1), 35, 22, -.3F, 5700, true); - new RackComponent(ItemList.Circuit_Wetwaremainframe.get(1), 38, 25, -.4F, 6000, true); // UHV Circuit - + new RackComponent(ItemList.Circuit_Wetwaremainframe.get(1), 38, 25, -.4F, 6000, true);//UHV Circuit + new RackComponent("IC2:ic2.reactorVent", 0, -1, 10f, 1000, false); new RackComponent("IC2:ic2.reactorVentCore", 0, -1, 20f, 2500, false); new RackComponent("IC2:ic2.reactorVentGold", 0, -1, 40f, 5000, false); - new RackComponent("IC2:ic2.reactorVentDiamond", 0, -1, 80f, 10000, false); // 2x oc - + new RackComponent("IC2:ic2.reactorVentDiamond", 0, -1, 80f, 10000, false);//2x oc + if (Loader.isModLoaded(Reference.DREAMCRAFT)) { - // GTNH-GT5u circuits - // these components causes crashes when used with the original GT5u - new RackComponent(ItemList.NandChip.get(1), 2, 6, 0, 750, true); // Primitive Circuit + //GTNH-GT5u circuits + //these components causes crashes when used with the original GT5u + new RackComponent(ItemList.NandChip.get(1), 2, 6, 0, 750, true);//Primitive Circuit new RackComponent(ItemList.Circuit_Biowarecomputer.get(1), 40, 26, -.35F, 5900, true); new RackComponent(ItemList.Circuit_Biowaresupercomputer.get(1), 42, 30, -.4F, 6200, true); - new RackComponent(ItemList.Circuit_Biomainframe.get(1), 44, 28, -.4F, 6000, true); // UEV Circuit - new RackComponent(ItemList.Circuit_Bioprocessor.get(1), 34, 20, -.35F, 5800, true); - + new RackComponent(ItemList.Circuit_Biomainframe.get(1), 44, 28, -.4F, 6000, true);//UEV Circuit + new RackComponent(ItemList.Circuit_Bioprocessor.get(1), 34, 20, -.35F, 5800, true); + new RackComponent("dreamcraft:item.HighEnergyCircuitParts", 3, 2, -.1f, 9001, true); new RackComponent("dreamcraft:item.HighEnergyFlowCircuit", 24, 16, -.25f, 10000, true); new RackComponent("dreamcraft:item.NanoCircuit", 50, 35, -.45f, 8000, true); new RackComponent("dreamcraft:item.PikoCircuit", 64, 40, -.5f, 8500, true); new RackComponent("dreamcraft:item.QuantumCircuit", 128, 48, -.6f, 9000, true); } - + if (Loader.isModLoaded(Reference.SPARTAKCORE)) { - // CustomGT5u circuits - // these components causes crashes when used with the original GT5u - new RackComponent(ItemList.NandChip.get(1), 2, 6, 0, 750, true); // Primitive Circuit + //CustomGT5u circuits + //these components causes crashes when used with the original GT5u + new RackComponent(ItemList.NandChip.get(1), 2, 6, 0, 750, true);//Primitive Circuit new RackComponent(ItemList.Circuit_Biowarecomputer.get(1), 40, 26, -.35F, 5900, true); new RackComponent(ItemList.Circuit_Biowaresupercomputer.get(1), 42, 30, -.4F, 6200, true); - new RackComponent(ItemList.Circuit_Biomainframe.get(1), 40, 28, -.4F, 6000, true); // UHV Circuit - new RackComponent(ItemList.Circuit_Bioprocessor.get(1), 34, 20, -.35F, 5800, true); + new RackComponent(ItemList.Circuit_Biomainframe.get(1), 40, 28, -.4F, 6000, true);//UHV Circuit + new RackComponent(ItemList.Circuit_Bioprocessor.get(1), 34, 20, -.35F, 5800, true); } - + if (Loader.isModLoaded("OpenComputers")) { - new RackComponent("OpenComputers:item.oc.Transistor", 0, 1, 0f, 100, true); // Transistor - new RackComponent("OpenComputers:item.oc.Microchip0", 7, 12, -.05f, 1500, true); // chip t1 - new RackComponent("OpenComputers:item.oc.Microchip1", 18, 20, -.1f, 3000, true); // chip t2 - new RackComponent("OpenComputers:item.oc.Microchip2", 25, 22, -.15f, 4500, true); // chip t3 - new RackComponent("OpenComputers:item.oc.ALU", 10, 15, -.05f, 3000, true); // alu - new RackComponent("OpenComputers:item.oc.ControlUnit", 25, 18, -.05f, 1500, true); // cu - - new RackComponent("OpenComputers:item.oc.ComponentBus0", 42, 30, -.05f, 1500, true); // bus t1 - new RackComponent("OpenComputers:item.oc.ComponentBus1", 70, 50, -.1f, 3000, true); // bus t2 - new RackComponent("OpenComputers:item.oc.ComponentBus2", 105, 72, -.15f, 4500, true); // bus t3 - - new RackComponent("OpenComputers:item.oc.CPU0", 106, 73, -.1f, 1500, true); // cpu t1 - new RackComponent("OpenComputers:item.oc.CPU1", 226, 153, -.15f, 3000, true); // cpu t2 - new RackComponent("OpenComputers:item.oc.CPU2", 374, 241, -.2f, 4500, true); // cpu t3 - - new RackComponent("OpenComputers:item.oc.GraphicsCard0", 20, 27, -.1f, 1500, true); // gpu t1 - new RackComponent("OpenComputers:item.oc.GraphicsCard1", 62, 67, -.2f, 3000, true); // gpu t2 - new RackComponent("OpenComputers:item.oc.GraphicsCard2", 130, 111, -.3f, 4500, true); // gpu t3 - - new RackComponent("OpenComputers:item.oc.APU0", 350, 234, -.1f, 1500, true); // apu t2 - new RackComponent("OpenComputers:item.oc.APU1", 606, 398, -.2f, 4500, true); // apu t3 - new RackComponent("OpenComputers:item.oc.APU2", 1590, 1006, -.3f, 9000, true); // apu tC + new RackComponent("OpenComputers:item.oc.Transistor", 0, 1, 0f, 100, true);//Transistor + new RackComponent("OpenComputers:item.oc.Microchip0", 7, 12, -.05f, 1500, true);//chip t1 + new RackComponent("OpenComputers:item.oc.Microchip1", 18, 20, -.1f, 3000, true);//chip t2 + new RackComponent("OpenComputers:item.oc.Microchip2", 25, 22, -.15f, 4500, true);//chip t3 + new RackComponent("OpenComputers:item.oc.ALU", 10, 15, -.05f, 3000, true);//alu + new RackComponent("OpenComputers:item.oc.ControlUnit", 25, 18, -.05f, 1500, true);//cu + + new RackComponent("OpenComputers:item.oc.ComponentBus0", 42, 30, -.05f, 1500, true);//bus t1 + new RackComponent("OpenComputers:item.oc.ComponentBus1", 70, 50, -.1f, 3000, true);//bus t2 + new RackComponent("OpenComputers:item.oc.ComponentBus2", 105, 72, -.15f, 4500, true);//bus t3 + + new RackComponent("OpenComputers:item.oc.CPU0", 106, 73, -.1f, 1500, true);//cpu t1 + new RackComponent("OpenComputers:item.oc.CPU1", 226, 153, -.15f, 3000, true);//cpu t2 + new RackComponent("OpenComputers:item.oc.CPU2", 374, 241, -.2f, 4500, true);//cpu t3 + + new RackComponent("OpenComputers:item.oc.GraphicsCard0", 20, 27, -.1f, 1500, true);//gpu t1 + new RackComponent("OpenComputers:item.oc.GraphicsCard1", 62, 67, -.2f, 3000, true);//gpu t2 + new RackComponent("OpenComputers:item.oc.GraphicsCard2", 130, 111, -.3f, 4500, true);//gpu t3 + + new RackComponent("OpenComputers:item.oc.APU0", 350, 234, -.1f, 1500, true);//apu t2 + new RackComponent("OpenComputers:item.oc.APU1", 606, 398, -.2f, 4500, true);//apu t3 + new RackComponent("OpenComputers:item.oc.APU2", 1590, 1006, -.3f, 9000, true);//apu tC } } @@ -408,10 +396,12 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { @Override public boolean equals(Object obj) { - if (obj instanceof RackComponent) { + if(obj instanceof RackComponent) { return compareTo((RackComponent) obj) == 0; } return false; } } } + + diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java index 5c34243742..9ce5a1c446 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java @@ -1,8 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Uncertainty; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_Uncertainty; @@ -27,21 +24,23 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.reflect.FieldUtils; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + /** * Created by danie_000 on 15.12.2016. */ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch { private static Textures.BlockIcons.CustomIcon ScreenON; private static Textures.BlockIcons.CustomIcon ScreenOFF; - public short[] matrix = - new short[] {500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500}; - public byte selection = -1, mode = 0, status = -128; // all 8 bits set + public short[] matrix = new short[]{500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500}; + public byte selection = -1, mode = 0, status = -128;//all 8 bits set private String clientLocale = "en_US"; public GT_MetaTileEntity_Hatch_Uncertainty(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); regenerate(); } @@ -73,12 +72,12 @@ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] {aBaseTexture, new GT_RenderedTexture(ScreenON)}; + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(ScreenON)}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] {aBaseTexture, new GT_RenderedTexture(ScreenOFF)}; + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(ScreenOFF)}; } @Override @@ -107,8 +106,8 @@ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch @Override public String[] getInfoData() { - return new String[] { - translateToLocalFormatted("tt.keyword.Status", clientLocale) + ": " + EnumChatFormatting.GOLD + status + return new String[]{ + translateToLocalFormatted("tt.keyword.Status", clientLocale) + ": " + EnumChatFormatting.GOLD + status }; } @@ -194,12 +193,10 @@ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.hatch.certain.desc.0"), // Feeling certain, or not? - EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockmachines.hatch.certain.desc.1") // Schrödinger equation in a box + return new String[]{ + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.hatch.certain.desc.0"),//Feeling certain, or not? + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.hatch.certain.desc.1")//Schrödinger equation in a box }; } @@ -220,83 +217,67 @@ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch public byte compute() { int result = 0; switch (mode) { - case 1: // ooo oxo ooo + case 1://ooo oxo ooo result = balanceCheck(4, matrix) ? 0 : 1; break; - case 2: // ooo xox ooo - result += balanceCheck( - 4, matrix[0], matrix[4], matrix[1], matrix[5], matrix[2], matrix[6], matrix[3], - matrix[7]) - ? 0 - : 1; - result += balanceCheck( - 4, - matrix[8], - matrix[12], - matrix[9], - matrix[13], - matrix[10], - matrix[14], - matrix[11], - matrix[15]) - ? 0 - : 2; + case 2://ooo xox ooo + result += balanceCheck(4, + matrix[0], matrix[4], + matrix[1], matrix[5], + matrix[2], matrix[6], + matrix[3], matrix[7]) ? 0 : 1; + result += balanceCheck(4, + matrix[8], matrix[12], + matrix[9], matrix[13], + matrix[10], matrix[14], + matrix[11], matrix[15]) ? 0 : 2; break; - case 3: // oxo xox oxo - result += balanceCheck( - 2, - matrix[0], - matrix[4], - matrix[8], - matrix[12], - matrix[1], - matrix[5], - matrix[9], - matrix[13]) - ? 0 - : 1; - result += balanceCheck( - 4, matrix[0], matrix[4], matrix[1], matrix[5], matrix[2], matrix[6], matrix[3], - matrix[7]) - ? 0 - : 2; - result += balanceCheck( - 4, - matrix[8], - matrix[12], - matrix[9], - matrix[13], - matrix[10], - matrix[14], - matrix[11], - matrix[15]) - ? 0 - : 4; - result += balanceCheck( - 2, - matrix[2], - matrix[6], - matrix[10], - matrix[14], - matrix[3], - matrix[7], - matrix[11], - matrix[15]) - ? 0 - : 8; + case 3://oxo xox oxo + result += balanceCheck(2, + matrix[0], matrix[4], matrix[8], matrix[12], + matrix[1], matrix[5], matrix[9], matrix[13]) ? 0 : 1; + result += balanceCheck(4, + matrix[0], matrix[4], + matrix[1], matrix[5], + matrix[2], matrix[6], + matrix[3], matrix[7]) ? 0 : 2; + result += balanceCheck(4, + matrix[8], matrix[12], + matrix[9], matrix[13], + matrix[10], matrix[14], + matrix[11], matrix[15]) ? 0 : 4; + result += balanceCheck(2, + matrix[2], matrix[6], matrix[10], matrix[14], + matrix[3], matrix[7], matrix[11], matrix[15]) ? 0 : 8; break; - case 4: // xox ooo xox - result += balanceCheck(2, matrix[0], matrix[4], matrix[1], matrix[5]) ? 0 : 1; - result += balanceCheck(2, matrix[8], matrix[12], matrix[9], matrix[13]) ? 0 : 2; - result += balanceCheck(2, matrix[2], matrix[6], matrix[3], matrix[7]) ? 0 : 4; - result += balanceCheck(2, matrix[10], matrix[14], matrix[11], matrix[15]) ? 0 : 8; + case 4://xox ooo xox + result += balanceCheck(2, + matrix[0], matrix[4], + matrix[1], matrix[5]) ? 0 : 1; + result += balanceCheck(2, + matrix[8], matrix[12], + matrix[9], matrix[13]) ? 0 : 2; + result += balanceCheck(2, + matrix[2], matrix[6], + matrix[3], matrix[7]) ? 0 : 4; + result += balanceCheck(2, + matrix[10], matrix[14], + matrix[11], matrix[15]) ? 0 : 8; break; - case 5: // xox oxo xox - result += balanceCheck(2, matrix[0], matrix[4], matrix[1], matrix[5]) ? 0 : 1; - result += balanceCheck(2, matrix[8], matrix[12], matrix[9], matrix[13]) ? 0 : 2; + case 5://xox oxo xox + result += balanceCheck(2, + matrix[0], matrix[4], + matrix[1], matrix[5]) ? 0 : 1; + result += balanceCheck(2, + matrix[8], matrix[12], + matrix[9], matrix[13]) ? 0 : 2; result += balanceCheck(4, matrix) ? 0 : 4; - result += balanceCheck(2, matrix[2], matrix[6], matrix[3], matrix[7]) ? 0 : 8; - result += balanceCheck(2, matrix[10], matrix[14], matrix[11], matrix[15]) ? 0 : 16; + result += balanceCheck(2, + matrix[2], matrix[6], + matrix[3], matrix[7]) ? 0 : 8; + result += balanceCheck(2, + matrix[10], matrix[14], + matrix[11], matrix[15]) ? 0 : 16; break; } return status = (byte) result; @@ -326,11 +307,11 @@ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch return status; } - // @Override - // public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + //@Override + //public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { // if(aSide == this.getBaseMetaTileEntity().getFrontFacing()) { // changeMode(++mode); // GT_Utility.sendChatToPlayer(aPlayer, "Equation mode: "+mode); // } - // } + //} } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java index 8058c14cf4..9e4b81cd5b 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java @@ -1,5 +1,6 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; + import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_ParamText; import com.github.technus.tectech.util.TT_Utility; import cpw.mods.fml.common.network.ByteBufUtils; @@ -22,8 +23,8 @@ public class TextParametersMessage implements IMessage { int mPosY; int mPosZ; int mPosD; - String mVal0 = ""; - String mVal1 = ""; + String mVal0=""; + String mVal1=""; public TextParametersMessage() {} @@ -54,56 +55,55 @@ public class TextParametersMessage implements IMessage { public ParametersTextQuery() {} public ParametersTextQuery(GT_MetaTileEntity_Hatch_ParamText metaTile) { - IGregTechTileEntity base = metaTile.getBaseMetaTileEntity(); - mPosX = base.getXCoord(); - mPosY = base.getYCoord(); - mPosZ = base.getZCoord(); - mPosD = base.getWorld().provider.dimensionId; + IGregTechTileEntity base=metaTile.getBaseMetaTileEntity(); + mPosX=base.getXCoord(); + mPosY=base.getYCoord(); + mPosZ=base.getZCoord(); + mPosD=base.getWorld().provider.dimensionId; } } - public static class ParametersTextData extends TextParametersMessage { + public static class ParametersTextData extends TextParametersMessage{ public ParametersTextData() {} public ParametersTextData(GT_MetaTileEntity_Hatch_ParamText metaTile) { - IGregTechTileEntity base = metaTile.getBaseMetaTileEntity(); - mPosX = base.getXCoord(); - mPosY = base.getYCoord(); - mPosZ = base.getZCoord(); - mPosD = base.getWorld().provider.dimensionId; - mVal0 = metaTile.value0s; - mVal1 = metaTile.value1s; + IGregTechTileEntity base=metaTile.getBaseMetaTileEntity(); + mPosX=base.getXCoord(); + mPosY=base.getYCoord(); + mPosZ=base.getZCoord(); + mPosD=base.getWorld().provider.dimensionId; + mVal0 =metaTile.value0s; + mVal1 =metaTile.value1s; } } - public static class ParametersTextUpdate extends TextParametersMessage { + public static class ParametersTextUpdate extends TextParametersMessage{ public ParametersTextUpdate() {} public ParametersTextUpdate(GT_MetaTileEntity_Hatch_ParamText metaTile) { - IGregTechTileEntity base = metaTile.getBaseMetaTileEntity(); - mPosX = base.getXCoord(); - mPosY = base.getYCoord(); - mPosZ = base.getZCoord(); - mPosD = base.getWorld().provider.dimensionId; - mVal0 = metaTile.value0s; - mVal1 = metaTile.value1s; + IGregTechTileEntity base=metaTile.getBaseMetaTileEntity(); + mPosX=base.getXCoord(); + mPosY=base.getYCoord(); + mPosZ=base.getZCoord(); + mPosD=base.getWorld().provider.dimensionId; + mVal0 =metaTile.value0s; + mVal1 =metaTile.value1s; } } public static class ClientHandler extends AbstractClientMessageHandler { @Override public IMessage handleClientMessage(EntityPlayer pPlayer, ParametersTextData pMessage, MessageContext pCtx) { - if (pPlayer.worldObj.provider.dimensionId == pMessage.mPosD) { - TileEntity te = pPlayer.worldObj.getTileEntity(pMessage.mPosX, pMessage.mPosY, pMessage.mPosZ); - if (te instanceof IGregTechTileEntity) { + if(pPlayer.worldObj.provider.dimensionId==pMessage.mPosD){ + TileEntity te=pPlayer.worldObj.getTileEntity(pMessage.mPosX,pMessage.mPosY,pMessage.mPosZ); + if(te instanceof IGregTechTileEntity){ IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); - if (meta instanceof GT_MetaTileEntity_Hatch_ParamText) { - ((GT_MetaTileEntity_Hatch_ParamText) meta).value0s = pMessage.mVal0; - ((GT_MetaTileEntity_Hatch_ParamText) meta).value1s = pMessage.mVal1; - if (Minecraft.getMinecraft().currentScreen instanceof GT_GUIContainer_ParamText) { - GT_GUIContainer_ParamText gui = - ((GT_GUIContainer_ParamText) Minecraft.getMinecraft().currentScreen); - if (gui.mContainer == meta) { + if(meta instanceof GT_MetaTileEntity_Hatch_ParamText){ + ((GT_MetaTileEntity_Hatch_ParamText) meta).value0s =pMessage.mVal0; + ((GT_MetaTileEntity_Hatch_ParamText) meta).value1s =pMessage.mVal1; + if(Minecraft.getMinecraft().currentScreen instanceof GT_GUIContainer_ParamText){ + GT_GUIContainer_ParamText gui=((GT_GUIContainer_ParamText) Minecraft.getMinecraft().currentScreen); + if(gui.mContainer==meta){ gui.setTextIn0(pMessage.mVal0); gui.setTextIn1(pMessage.mVal1); } @@ -136,15 +136,15 @@ public class TextParametersMessage implements IMessage { @Override public IMessage handleServerMessage(EntityPlayer pPlayer, ParametersTextUpdate pMessage, MessageContext pCtx) { World world = DimensionManager.getWorld(pMessage.mPosD); - if (world != null) { - TileEntity te = world.getTileEntity(pMessage.mPosX, pMessage.mPosY, pMessage.mPosZ); - if (te instanceof IGregTechTileEntity) { + if(world!=null){ + TileEntity te=world.getTileEntity(pMessage.mPosX,pMessage.mPosY,pMessage.mPosZ); + if(te instanceof IGregTechTileEntity){ IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); - if (meta instanceof GT_MetaTileEntity_Hatch_ParamText) { - ((GT_MetaTileEntity_Hatch_ParamText) meta).value0s = pMessage.mVal0; - ((GT_MetaTileEntity_Hatch_ParamText) meta).value1s = pMessage.mVal1; - ((GT_MetaTileEntity_Hatch_ParamText) meta).value0D = TT_Utility.getValue(pMessage.mVal0); - ((GT_MetaTileEntity_Hatch_ParamText) meta).value1D = TT_Utility.getValue(pMessage.mVal1); + if(meta instanceof GT_MetaTileEntity_Hatch_ParamText){ + ((GT_MetaTileEntity_Hatch_ParamText) meta).value0s =pMessage.mVal0; + ((GT_MetaTileEntity_Hatch_ParamText) meta).value1s =pMessage.mVal1; + ((GT_MetaTileEntity_Hatch_ParamText) meta).value0D= TT_Utility.getValue(pMessage.mVal0); + ((GT_MetaTileEntity_Hatch_ParamText) meta).value1D= TT_Utility.getValue(pMessage.mVal1); } } } 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 378736d334..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 @@ -33,14 +33,10 @@ public class GT_Container_Capacitor extends GT_ContainerMetaTile_Machine { } @Override - public int getSlotCount() { - return 16; - } + public int getSlotCount() { return 16; } @Override - public int getShiftClickSlotCount() { - return getSlotCount(); - } + public int getShiftClickSlotCount() { return getSlotCount(); } @Override public void detectAndSendChanges() { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java index f5e0ffd45d..f87e44aefb 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java @@ -118,8 +118,8 @@ public class GT_Container_Param extends GT_ContainerMetaTile_Machine { doStuff = false; } if (doStuff) { - IGregTechTileEntity base = paramH.getBaseMetaTileEntity(); - TecTech.proxy.playSound(base, "fx_click"); + IGregTechTileEntity base=paramH.getBaseMetaTileEntity(); + TecTech.proxy.playSound(base,"fx_click"); if (paramH.param > 9) { paramH.param = 9; } else if (paramH.param < -1) { @@ -144,11 +144,11 @@ public class GT_Container_Param extends GT_ContainerMetaTile_Machine { for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; - TT_Utility.sendInteger(param, this, var1, 100); - TT_Utility.sendDouble(value0d, this, var1, 102); - TT_Utility.sendDouble(value1d, this, var1, 106); - TT_Utility.sendDouble(input0d, this, var1, 110); - TT_Utility.sendDouble(input1d, this, var1, 114); + TT_Utility.sendInteger(param,this,var1,100); + TT_Utility.sendDouble(value0d,this,var1,102); + TT_Utility.sendDouble(value1d,this,var1, 106); + TT_Utility.sendDouble(input0d,this,var1, 110); + TT_Utility.sendDouble(input1d,this,var1, 114); } } @@ -159,31 +159,31 @@ public class GT_Container_Param extends GT_ContainerMetaTile_Machine { switch (par1) { case 100: case 101: - param = TT_Utility.receiveInteger(param, 100, par1, par2); + param= TT_Utility.receiveInteger(param,100,par1,par2); return; case 102: case 103: case 104: case 105: - value0d = Double.longBitsToDouble(value0l = TT_Utility.receiveLong(value0l, 102, par1, par2)); + value0d =Double.longBitsToDouble(value0l= TT_Utility.receiveLong(value0l,102,par1,par2)); return; case 106: case 107: case 108: case 109: - value1d = Double.longBitsToDouble(value1l = TT_Utility.receiveLong(value1l, 106, par1, par2)); + value1d =Double.longBitsToDouble(value1l= TT_Utility.receiveLong(value1l,106,par1,par2)); return; case 110: case 111: case 112: case 113: - input0d = Double.longBitsToDouble(input0l = TT_Utility.receiveLong(input0l, 110, par1, par2)); + input0d =Double.longBitsToDouble(input0l= TT_Utility.receiveLong(input0l,110,par1,par2)); return; case 114: case 115: case 116: case 117: - input1d = Double.longBitsToDouble(input1l = TT_Utility.receiveLong(input1l, 114, par1, par2)); + input1d =Double.longBitsToDouble(input1l= TT_Utility.receiveLong(input1l,114,par1,par2)); return; default: } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java index 26faae689f..0ed9c2d3b6 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java @@ -15,7 +15,7 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { - public int pointer = 0; + public int pointer=0; public int param = 0; public double value1d = 0; public double value0d = 0; @@ -62,8 +62,8 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { boolean doStuff = true; GT_MetaTileEntity_Hatch_Param paramH = (GT_MetaTileEntity_Hatch_Param) mTileEntity.getMetaTileEntity(); - int columnPointer = paramH.pointer & 0xff; - boolean secondRow = (paramH.pointer & 0x0100) != 0; + int columnPointer=paramH.pointer &0xff; + boolean secondRow=(paramH.pointer &0x0100)!=0; switch (aSlotIndex) { case 0: paramH.param -= aShifthold == 1 ? 16 : 4; @@ -91,13 +91,13 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { } } else { if (secondRow) { - long temp = Double.doubleToLongBits(paramH.value1D); - temp |= 1L << (long) columnPointer; - paramH.value1D = Double.longBitsToDouble(temp); + long temp=Double.doubleToLongBits(paramH.value1D); + temp |= 1L << (long)columnPointer; + paramH.value1D=Double.longBitsToDouble(temp); } else { - long temp = Double.doubleToLongBits(paramH.value0D); - temp |= 1L << (long) columnPointer; - paramH.value0D = Double.longBitsToDouble(temp); + long temp=Double.doubleToLongBits(paramH.value0D); + temp |= 1L << (long)columnPointer; + paramH.value0D=Double.longBitsToDouble(temp); } } break; @@ -127,13 +127,13 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { } } else { if (secondRow) { - long temp = Double.doubleToLongBits(paramH.value1D); - temp &= ~(1L << (long) columnPointer); - paramH.value1D = Double.longBitsToDouble(temp); + long temp=Double.doubleToLongBits(paramH.value1D); + temp &= ~(1L << (long)columnPointer); + paramH.value1D=Double.longBitsToDouble(temp); } else { - long temp = Double.doubleToLongBits(paramH.value0D); - temp &= ~(1L << (long) columnPointer); - paramH.value0D = Double.longBitsToDouble(temp); + long temp=Double.doubleToLongBits(paramH.value0D); + temp &= ~(1L << (long)columnPointer); + paramH.value0D=Double.longBitsToDouble(temp); } } break; @@ -155,8 +155,8 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { } break; case 11: - paramH.value0D = paramH.input0D; - paramH.value1D = paramH.input1D; + paramH.value0D=paramH.input0D; + paramH.value1D=paramH.input1D; break; case 12: paramH.param += aShifthold == 1 ? 2 : 1; @@ -184,13 +184,13 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { } } else { if (secondRow) { - long temp = Double.doubleToLongBits(paramH.value1D); - temp ^= 1L << (long) columnPointer; - paramH.value1D = Double.longBitsToDouble(temp); + long temp=Double.doubleToLongBits(paramH.value1D); + temp ^= 1L << (long)columnPointer; + paramH.value1D=Double.longBitsToDouble(temp); } else { - long temp = Double.doubleToLongBits(paramH.value0D); - temp ^= 1L << (long) columnPointer; - paramH.value0D = Double.longBitsToDouble(temp); + long temp=Double.doubleToLongBits(paramH.value0D); + temp ^= 1L << (long)columnPointer; + paramH.value0D=Double.longBitsToDouble(temp); } } break; @@ -198,14 +198,14 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { doStuff = false; } if (doStuff) { - IGregTechTileEntity base = paramH.getBaseMetaTileEntity(); - TecTech.proxy.playSound(base, "fx_click"); - if (columnPointer >= 64) { + IGregTechTileEntity base=paramH.getBaseMetaTileEntity(); + TecTech.proxy.playSound(base,"fx_click"); + if(columnPointer>=64) { columnPointer = 63; - } else if (columnPointer < 0) { + } else if(columnPointer<0) { columnPointer = 0; } - paramH.pointer = secondRow ? columnPointer + 0x100 : columnPointer; + paramH.pointer=secondRow?columnPointer+0x100:columnPointer; if (paramH.param > 9) { paramH.param = 9; } else if (paramH.param < -1) { @@ -231,12 +231,12 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; - TT_Utility.sendInteger(param, this, var1, 100); - TT_Utility.sendDouble(value0d, this, var1, 102); - TT_Utility.sendDouble(value1d, this, var1, 106); - TT_Utility.sendDouble(input0d, this, var1, 110); - TT_Utility.sendDouble(input1d, this, var1, 114); - TT_Utility.sendInteger(pointer, this, var1, 118); + TT_Utility.sendInteger(param,this,var1,100); + TT_Utility.sendDouble(value0d,this,var1,102); + TT_Utility.sendDouble(value1d,this,var1, 106); + TT_Utility.sendDouble(input0d,this,var1, 110); + TT_Utility.sendDouble(input1d,this,var1, 114); + TT_Utility.sendInteger(pointer,this,var1,118); } } @@ -247,35 +247,35 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { switch (par1) { case 100: case 101: - param = TT_Utility.receiveInteger(param, 100, par1, par2); + param= TT_Utility.receiveInteger(param,100,par1,par2); return; case 102: case 103: case 104: case 105: - value0d = Double.longBitsToDouble(value0l = TT_Utility.receiveLong(value0l, 102, par1, par2)); + value0d =Double.longBitsToDouble(value0l= TT_Utility.receiveLong(value0l,102,par1,par2)); return; case 106: case 107: case 108: case 109: - value1d = Double.longBitsToDouble(value1l = TT_Utility.receiveLong(value1l, 106, par1, par2)); + value1d =Double.longBitsToDouble(value1l= TT_Utility.receiveLong(value1l,106,par1,par2)); return; case 110: case 111: case 112: case 113: - input0d = Double.longBitsToDouble(input0l = TT_Utility.receiveLong(input0l, 110, par1, par2)); + input0d =Double.longBitsToDouble(input0l= TT_Utility.receiveLong(input0l,110,par1,par2)); return; case 114: case 115: case 116: case 117: - input1d = Double.longBitsToDouble(input1l = TT_Utility.receiveLong(input1l, 114, par1, par2)); + input1d =Double.longBitsToDouble(input1l= TT_Utility.receiveLong(input1l,114,par1,par2)); return; case 118: case 119: - pointer = TT_Utility.receiveInteger(pointer, 118, par1, par2); + pointer= TT_Utility.receiveInteger(pointer,118,par1,par2); return; default: } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java index f46e69184b..b4c466192f 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java @@ -10,7 +10,6 @@ import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.gui.GT_ContainerMetaTile_Machine; import gregtech.api.gui.GT_Slot_Holo; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import java.util.Objects; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.InventoryPlayer; @@ -18,6 +17,8 @@ import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; +import java.util.Objects; + public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine { public int param = 0; public double value0d = 0; @@ -28,8 +29,8 @@ public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine { public long value1l = 0; public long input0l = 0; public long input1l = 0; - public String value0s = ""; - public String value1s = ""; + public String value0s=""; + public String value1s=""; public GT_Container_ParamText(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(aInventoryPlayer, aTileEntity); @@ -51,8 +52,7 @@ public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine { Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { boolean doStuff = true; - GT_MetaTileEntity_Hatch_ParamText paramH = - (GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity(); + GT_MetaTileEntity_Hatch_ParamText paramH = (GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity(); switch (aSlotIndex) { case 0: paramH.param -= aShifthold == 1 ? 16 : 4; @@ -70,8 +70,8 @@ public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine { doStuff = false; } if (doStuff) { - IGregTechTileEntity base = paramH.getBaseMetaTileEntity(); - TecTech.proxy.playSound(base, "fx_click"); + IGregTechTileEntity base=paramH.getBaseMetaTileEntity(); + TecTech.proxy.playSound(base,"fx_click"); if (paramH.param > 9) { paramH.param = 9; } else if (paramH.param < -1) { @@ -95,23 +95,22 @@ public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine { input1d = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).input1D; for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; - TT_Utility.sendInteger(param, this, var1, 100); - TT_Utility.sendDouble(value0d, this, var1, 102); - TT_Utility.sendDouble(value1d, this, var1, 106); - TT_Utility.sendDouble(input0d, this, var1, 110); - TT_Utility.sendDouble(input1d, this, var1, 114); + TT_Utility.sendInteger(param,this,var1,100); + TT_Utility.sendDouble(value0d,this,var1,102); + TT_Utility.sendDouble(value1d,this,var1, 106); + TT_Utility.sendDouble(input0d,this,var1, 110); + TT_Utility.sendDouble(input1d,this,var1, 114); } - if (!Objects.equals(value0s, ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s) - || !Objects.equals( - value0s, ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s)) { - value0s = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s; - value1s = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value1s; - for (Object object : crafters) { - if (object instanceof EntityPlayerMP) { + if(!Objects.equals(value0s,((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s) || + !Objects.equals(value0s,((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s)){ + value0s =((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s; + value1s =((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value1s; + for(Object object:crafters){ + if(object instanceof EntityPlayerMP){ NetworkDispatcher.INSTANCE.sendTo( new TextParametersMessage.ParametersTextData( ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity())), - (EntityPlayerMP) object); + (EntityPlayerMP)object); } } } @@ -124,31 +123,31 @@ public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine { switch (par1) { case 100: case 101: - param = TT_Utility.receiveInteger(param, 100, par1, par2); + param= TT_Utility.receiveInteger(param,100,par1,par2); return; case 102: case 103: case 104: case 105: - value0d = Double.longBitsToDouble(value0l = TT_Utility.receiveLong(value0l, 102, par1, par2)); + value0d =Double.longBitsToDouble(value0l= TT_Utility.receiveLong(value0l,102,par1,par2)); return; case 106: case 107: case 108: case 109: - value1d = Double.longBitsToDouble(value1l = TT_Utility.receiveLong(value1l, 106, par1, par2)); + value1d =Double.longBitsToDouble(value1l= TT_Utility.receiveLong(value1l,106,par1,par2)); return; case 110: case 111: case 112: case 113: - input0d = Double.longBitsToDouble(input0l = TT_Utility.receiveLong(input0l, 110, par1, par2)); + input0d =Double.longBitsToDouble(input0l= TT_Utility.receiveLong(input0l,110,par1,par2)); return; case 114: case 115: case 116: case 117: - input1d = Double.longBitsToDouble(input1l = TT_Utility.receiveLong(input1l, 114, par1, par2)); + input1d =Double.longBitsToDouble(input1l= TT_Utility.receiveLong(input1l,114,par1,par2)); return; default: } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java index 88dab21c37..45bc8dede0 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java @@ -14,8 +14,7 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class GT_Container_Uncertainty extends GT_ContainerMetaTile_Machine { - public short[] matrix = - new short[] {500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500}; + public short[] matrix = new short[]{500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500}; public byte selection = -1, mode = 0, status = -128; public GT_Container_Uncertainty(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { @@ -52,11 +51,10 @@ public class GT_Container_Uncertainty extends GT_ContainerMetaTile_Machine { } Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - GT_MetaTileEntity_Hatch_Uncertainty catH = - (GT_MetaTileEntity_Hatch_Uncertainty) mTileEntity.getMetaTileEntity(); + GT_MetaTileEntity_Hatch_Uncertainty catH = (GT_MetaTileEntity_Hatch_Uncertainty) mTileEntity.getMetaTileEntity(); if (aSlotIndex < 16 && catH.matrix != null) { - IGregTechTileEntity base = catH.getBaseMetaTileEntity(); - TecTech.proxy.playSound(base, "fx_click"); + IGregTechTileEntity base=catH.getBaseMetaTileEntity(); + TecTech.proxy.playSound(base,"fx_click"); if (catH.selection == -1) { catH.selection = (byte) aSlotIndex; } else { @@ -65,6 +63,7 @@ public class GT_Container_Uncertainty extends GT_ContainerMetaTile_Machine { catH.matrix[aSlotIndex] = temp; catH.selection = -1; } + } } return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); 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 e97430d9bb..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 @@ -12,11 +12,8 @@ public class GT_GUIContainer_Capacitor extends GT_GUIContainerMetaTile_Machine { 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"); + 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; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Param.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Param.java index d5d3d64b37..686c2c81ce 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Param.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Param.java @@ -1,7 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; @@ -9,6 +7,8 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; import org.lwjgl.opengl.GL11; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + public class GT_GUIContainer_Param extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_Param(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_Param(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Parametrizer.png"); @@ -17,50 +17,15 @@ public class GT_GUIContainer_Param extends GT_GUIContainerMetaTile_Machine { @Override protected void drawGuiContainerForegroundLayer(int par1, int par2) { if (mContainer != null) { - TecTechFontRender.INSTANCE.drawSplitString( - "Parameters: " + ((GT_Container_Param) mContainer).param, 46, 7, 167, 0xffffff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u24EA\u2b07" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).input0d), - 46, - 16, - 167, - 0x22ddff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u2460\u2b07" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).input1d), - 46, - 24, - 167, - 0x00ffff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u24EA\u2b06" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).value0d), - 46, - 33, - 167, - 0x00bbff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u2460\u2b06" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).value1d), - 46, - 41, - 167, - 0x0077ff); + TecTechFontRender.INSTANCE.drawSplitString("Parameters: " + ((GT_Container_Param) mContainer).param, 46, 7, 167, 0xffffff); + TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b07" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).input0d), 46, 16, 167, 0x22ddff); + TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b07" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).input1d), 46, 24, 167, 0x00ffff); + TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b06" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).value0d), 46, 33, 167, 0x00bbff); + TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b06" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).value1d), 46, 41, 167, 0x0077ff); GL11.glPushMatrix(); - GL11.glScalef(.5f, .5f, .5f); - TecTechFontRender.INSTANCE.drawSplitString( - "\u24EA\u2b06" - + TT_Utility.longBitsToShortString( - Double.doubleToLongBits(((GT_Container_Param) mContainer).value0d)), - 92, - 100, - 334, - 0x00bbff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u2460\u2b06" - + TT_Utility.longBitsToShortString( - Double.doubleToLongBits(((GT_Container_Param) mContainer).value1d)), - 92, - 116, - 334, - 0x0077ff); + GL11.glScalef(.5f,.5f,.5f); + TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b06" + TT_Utility.longBitsToShortString(Double.doubleToLongBits(((GT_Container_Param) mContainer).value0d)), 92, 100, 334, 0x00bbff); + TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b06" + TT_Utility.longBitsToShortString(Double.doubleToLongBits(((GT_Container_Param) mContainer).value1d)), 92, 116, 334, 0x0077ff); GL11.glPopMatrix(); } else { TecTechFontRender.INSTANCE.drawSplitString("Parameters", 46, 7, 167, 0xffffff); diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java index 512a70d0a5..f7ffa18ffc 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java @@ -1,7 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; @@ -9,6 +7,8 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; import org.lwjgl.opengl.GL11; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + public class GT_GUIContainer_ParamAdv extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_ParamAdv(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_ParamAdv(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "ParametrizerAdv.png"); @@ -17,59 +17,17 @@ public class GT_GUIContainer_ParamAdv extends GT_GUIContainerMetaTile_Machine { @Override protected void drawGuiContainerForegroundLayer(int par1, int par2) { if (mContainer != null) { - TecTechFontRender.INSTANCE.drawSplitString( - "Parameters X: " + ((GT_Container_ParamAdv) mContainer).param, 46, 7, 167, 0xffffff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u24EA\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).input0d)), - 46, - 16, - 167, - 0x22ddff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u2460\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).input1d)), - 46, - 24, - 167, - 0x00ffff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u24EA\u2b06" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).value0d)), - 46, - 33, - 167, - 0x00bbff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u2460\u2b06" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).value1d)), - 46, - 41, - 167, - 0x0077ff); + TecTechFontRender.INSTANCE.drawSplitString("Parameters X: " + ((GT_Container_ParamAdv) mContainer).param, 46, 7, 167, 0xffffff); + TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).input0d)), 46, 16, 167, 0x22ddff); + TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).input1d)), 46, 24, 167, 0x00ffff); + TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b06" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).value0d)), 46, 33, 167, 0x00bbff); + TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b06" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).value1d)), 46, 41, 167, 0x0077ff); GL11.glPushMatrix(); - GL11.glScalef(.5f, .5f, .5f); - TecTechFontRender.INSTANCE.drawSplitString( - "\u24EA\u2b06" - + TT_Utility.longBitsToShortString( - Double.doubleToLongBits(((GT_Container_ParamAdv) mContainer).value0d)), - 92, - 100, - 334, - 0x00bbff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u2460\u2b06" - + TT_Utility.longBitsToShortString( - Double.doubleToLongBits(((GT_Container_ParamAdv) mContainer).value1d)), - 92, - 116, - 334, - 0x0077ff); + GL11.glScalef(.5f,.5f,.5f); + TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b06" + TT_Utility.longBitsToShortString(Double.doubleToLongBits(((GT_Container_ParamAdv) mContainer).value0d)), 92, 100, 334, 0x00bbff); + TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b06" + TT_Utility.longBitsToShortString(Double.doubleToLongBits(((GT_Container_ParamAdv) mContainer).value1d)), 92, 116, 334, 0x0077ff); GL11.glPopMatrix(); - TecTechFontRender.INSTANCE.drawSplitString( - "Pointer " - + Integer.toHexString(((GT_Container_ParamAdv) mContainer).pointer | 0x10000) - .substring(1), - 46, - 66, - 167, - 0x0033ff); + TecTechFontRender.INSTANCE.drawSplitString("Pointer " + Integer.toHexString(((GT_Container_ParamAdv) mContainer).pointer | 0x10000).substring(1), 46, 66, 167, 0x0033ff); } else { TecTechFontRender.INSTANCE.drawSplitString("Parameters X", 46, 7, 167, 0xffffff); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java index bff21e5f98..e10f30076d 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java @@ -1,7 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_ParamText; @@ -9,10 +7,13 @@ import com.github.technus.tectech.thing.metaTileEntity.hatch.TextParametersMessa import com.github.technus.tectech.util.TT_Utility; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import java.util.Objects; import net.minecraft.client.gui.GuiTextField; import net.minecraft.entity.player.InventoryPlayer; +import java.util.Objects; + +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine { private GuiTextField value0tb; private GuiTextField value1tb; @@ -24,19 +25,9 @@ public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine { @Override public void initGui() { super.initGui(); - value0tb = new GuiTextField( - TecTechFontRender.INSTANCE, - (this.width - 176) / 2 + 12 + 14, - (this.height - 166) / 2 + 26, - 156 - 18, - 12); + value0tb = new GuiTextField(TecTechFontRender.INSTANCE, (this.width - 176) / 2 + 12 + 14, (this.height - 166) / 2 + 26, 156 - 18, 12); value0tb.setMaxStringLength(80); - value1tb = new GuiTextField( - TecTechFontRender.INSTANCE, - (this.width - 176) / 2 + 12 + 14, - (this.height - 166) / 2 + 41, - 156 - 18, - 12); + value1tb = new GuiTextField(TecTechFontRender.INSTANCE, (this.width - 176) / 2 + 12 + 14, (this.height - 166) / 2 + 41, 156 - 18, 12); value1tb.setMaxStringLength(80); updateValues(); } @@ -53,8 +44,7 @@ public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine { protected void keyTyped(char p_73869_1_, int p_73869_2_) { value0tb.textboxKeyTyped(p_73869_1_, p_73869_2_); value1tb.textboxKeyTyped(p_73869_1_, p_73869_2_); - if ((p_73869_2_ != 1 && p_73869_2_ != this.mc.gameSettings.keyBindInventory.getKeyCode()) - || (!value0tb.isFocused() && !value1tb.isFocused())) { + if ((p_73869_2_ != 1 && p_73869_2_ != this.mc.gameSettings.keyBindInventory.getKeyCode()) || (!value0tb.isFocused() && !value1tb.isFocused())) { super.keyTyped(p_73869_1_, p_73869_2_); } updateValues(); @@ -85,22 +75,11 @@ public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine { @Override protected void drawGuiContainerForegroundLayer(int par1, int par2) { if (mContainer != null) { - TecTechFontRender.INSTANCE.drawSplitString( - "Parameters tXt: " + ((GT_Container_ParamText) mContainer).param, 46, 7, 167, 0xffffff); + TecTechFontRender.INSTANCE.drawSplitString("Parameters tXt: " + ((GT_Container_ParamText) mContainer).param, 46, 7, 167, 0xffffff); TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b06", 10, 29, 16, 0x00bbff); TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b06", 10, 44, 16, 0x0077ff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u24EA\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamText) mContainer).input0d)), - 10, - 56, - 167, - 0x22ddff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u2460\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamText) mContainer).input1d)), - 10, - 65, - 167, - 0x00ffff); + TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamText) mContainer).input0d)), 10, 56, 167, 0x22ddff); + TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamText) mContainer).input1d)), 10, 65, 167, 0x00ffff); } else { TecTechFontRender.INSTANCE.drawSplitString("Parameters tXt", 46, 7, 167, 0xffffff); } @@ -126,33 +105,23 @@ public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine { try { if (str.contains("b")) { String[] split = str.split("b"); - val = TT_Utility.bitStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", "")); + val = TT_Utility.bitStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_","")); } else if (str.contains("x")) { String[] split = str.split("x"); - val = TT_Utility.hexStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", "")); + val = TT_Utility.hexStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_","")); } else { val = TT_Utility.stringToDouble(str); } - if (!Objects.equals( - ((GT_MetaTileEntity_Hatch_ParamText) - ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) - .value0s, - value0tb.getText())) { + if (!Objects.equals(((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value0s, value0tb.getText())) { ((GT_Container_ParamText) mContainer).value0s = value0tb.getText(); ((GT_Container_ParamText) mContainer).value0d = val; - ((GT_MetaTileEntity_Hatch_ParamText) - ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) - .value0s = - value0tb.getText(); - - NetworkDispatcher.INSTANCE.sendToServer( - new TextParametersMessage.ParametersTextUpdate((GT_MetaTileEntity_Hatch_ParamText) - ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity())); + ((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value0s = value0tb.getText(); + + NetworkDispatcher.INSTANCE.sendToServer(new TextParametersMessage.ParametersTextUpdate( + (GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity())); } } catch (Exception e) { - value0tb.setText(((GT_MetaTileEntity_Hatch_ParamText) - ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) - .value0s); + value0tb.setText(((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value0s); } } } @@ -164,33 +133,23 @@ public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine { try { if (str.contains("b")) { String[] split = str.split("b"); - val = TT_Utility.bitStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", "")); + val = TT_Utility.bitStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_","")); } else if (str.contains("x")) { String[] split = str.split("x"); - val = TT_Utility.hexStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", "")); + val = TT_Utility.hexStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_","")); } else { val = TT_Utility.stringToDouble(str); } - if (!Objects.equals( - ((GT_MetaTileEntity_Hatch_ParamText) - ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) - .value1s, - value1tb.getText())) { + if (!Objects.equals(((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value1s, value1tb.getText())) { ((GT_Container_ParamText) mContainer).value1s = value1tb.getText(); ((GT_Container_ParamText) mContainer).value1d = val; - ((GT_MetaTileEntity_Hatch_ParamText) - ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) - .value1s = - value1tb.getText(); - - NetworkDispatcher.INSTANCE.sendToServer( - new TextParametersMessage.ParametersTextUpdate((GT_MetaTileEntity_Hatch_ParamText) - ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity())); + ((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value1s = value1tb.getText(); + + NetworkDispatcher.INSTANCE.sendToServer(new TextParametersMessage.ParametersTextUpdate( + (GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity())); } } catch (Exception e) { - value1tb.setText(((GT_MetaTileEntity_Hatch_ParamText) - ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) - .value1s); + value1tb.setText(((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value1s); } } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Uncertainty.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Uncertainty.java index 5ef1ac9bc5..7d7dc1b656 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Uncertainty.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Uncertainty.java @@ -1,7 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.font.TecTechFontRender; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; @@ -9,6 +7,8 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; import org.lwjgl.opengl.GL11; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + public class GT_GUIContainer_Uncertainty extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_Uncertainty(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_Uncertainty(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Uncertainty.png"); @@ -37,45 +37,76 @@ public class GT_GUIContainer_Uncertainty extends GT_GUIContainerMetaTile_Machine y += 33; int state = ((GT_Container_Uncertainty) mContainer).status; switch (((GT_Container_Uncertainty) mContainer).mode) { - case 1: // ooo oxo ooo - drawTexturedModalRect(x + 12, y + 12, rU + (state == 0 ? 76 : 12), Vs + 12, 10, 10); + case 1://ooo oxo ooo + drawTexturedModalRect(x + 12, y + 12, + rU + (state == 0 ? 76 : 12), + Vs + 12, 10, 10); break; - case 2: // ooo xox ooo - drawTexturedModalRect(x, y + 12, rU + ((state & 1) == 0 ? 64 : 0), Vs + 12, 10, 10); - drawTexturedModalRect(x + 24, y + 12, rU + ((state & 2) == 0 ? 88 : 24), Vs + 12, 10, 10); + case 2://ooo xox ooo + drawTexturedModalRect(x, y + 12, + rU + ((state & 1) == 0 ? 64 : 0), + Vs + 12, 10, 10); + drawTexturedModalRect(x + 24, y + 12, + rU + ((state & 2) == 0 ? 88 : 24), + Vs + 12, 10, 10); break; - case 3: // oxo xox oxo - drawTexturedModalRect(x + 12, y, rU + ((state & 1) == 0 ? 76 : 12), Vs, 10, 10); - drawTexturedModalRect(x, y + 12, rU + ((state & 2) == 0 ? 64 : 0), Vs + 12, 10, 10); - drawTexturedModalRect(x + 24, y + 12, rU + ((state & 4) == 0 ? 88 : 24), Vs + 12, 10, 10); - drawTexturedModalRect(x + 12, y + 24, rU + ((state & 8) == 0 ? 76 : 12), Vs + 24, 10, 10); + case 3://oxo xox oxo + drawTexturedModalRect(x + 12, y, + rU + ((state & 1) == 0 ? 76 : 12), + Vs, 10, 10); + drawTexturedModalRect(x, y + 12, + rU + ((state & 2) == 0 ? 64 : 0), + Vs + 12, 10, 10); + drawTexturedModalRect(x + 24, y + 12, + rU + ((state & 4) == 0 ? 88 : 24), + Vs + 12, 10, 10); + drawTexturedModalRect(x + 12, y + 24, + rU + ((state & 8) == 0 ? 76 : 12), + Vs + 24, 10, 10); break; - case 4: // xox ooo xox - drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 64 : 0), Vs, 10, 10); - drawTexturedModalRect(x + 24, y, rU + ((state & 2) == 0 ? 88 : 24), Vs, 10, 10); - drawTexturedModalRect(x, y + 24, rU + ((state & 4) == 0 ? 64 : 0), Vs + 24, 10, 10); - drawTexturedModalRect(x + 24, y + 24, rU + ((state & 8) == 0 ? 88 : 24), Vs + 24, 10, 10); + case 4://xox ooo xox + drawTexturedModalRect(x, y, + rU + ((state & 1) == 0 ? 64 : 0), + Vs, 10, 10); + drawTexturedModalRect(x + 24, y, + rU + ((state & 2) == 0 ? 88 : 24), + Vs, 10, 10); + drawTexturedModalRect(x, y + 24, + rU + ((state & 4) == 0 ? 64 : 0), + Vs + 24, 10, 10); + drawTexturedModalRect(x + 24, y + 24, + rU + ((state & 8) == 0 ? 88 : 24), + Vs + 24, 10, 10); break; - case 5: // xox oxo xox - drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 64 : 0), Vs, 10, 10); - drawTexturedModalRect(x + 24, y, rU + ((state & 2) == 0 ? 88 : 24), Vs, 10, 10); - drawTexturedModalRect(x + 12, y + 12, rU + ((state & 4) == 0 ? 76 : 12), Vs + 12, 10, 10); - drawTexturedModalRect(x, y + 24, rU + ((state & 8) == 0 ? 64 : 0), Vs + 24, 10, 10); - drawTexturedModalRect(x + 24, y + 24, rU + ((state & 16) == 0 ? 88 : 24), Vs + 24, 10, 10); + case 5://xox oxo xox + drawTexturedModalRect(x, y, + rU + ((state & 1) == 0 ? 64 : 0), + Vs, 10, 10); + drawTexturedModalRect(x + 24, y, + rU + ((state & 2) == 0 ? 88 : 24), + Vs, 10, 10); + drawTexturedModalRect(x + 12, y + 12, + rU + ((state & 4) == 0 ? 76 : 12), + Vs + 12, 10, 10); + drawTexturedModalRect(x, y + 24, + rU + ((state & 8) == 0 ? 64 : 0), + Vs + 24, 10, 10); + drawTexturedModalRect(x + 24, y + 24, + rU + ((state & 16) == 0 ? 88 : 24), + Vs + 24, 10, 10); break; } x -= 6; y -= 6; for (int i = 0; i < 16; i++) { if (TecTech.RANDOM.nextInt(1000) < ((GT_Container_Uncertainty) mContainer).matrix[i]) { - drawTexturedModalRect( - x + 12 * (i / 4), y + 12 * (i % 4), fU + 12 * (i / 4), V + 12 * (i % 4), 10, 10); + drawTexturedModalRect(x + 12 * (i / 4), y + 12 * (i % 4), fU + 12 * (i / 4), V + 12 * (i % 4), 10, 10); } } if (((GT_Container_Uncertainty) mContainer).selection > -1) { int sel = ((GT_Container_Uncertainty) mContainer).selection; - drawTexturedModalRect( - x + 12 * (sel / 4), y + 12 * (sel % 4), bU + 12 * (sel / 4), V + 12 * (sel % 4), 10, 10); + drawTexturedModalRect(x + 12 * (sel / 4), y + 12 * (sel % 4), + bU + 12 * (sel / 4), V + 12 * (sel % 4), 10, 10); } } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_UncertaintyAdv.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_UncertaintyAdv.java index 1e9bccfe88..51eaf64ce4 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_UncertaintyAdv.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_UncertaintyAdv.java @@ -1,13 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; -import static org.lwjgl.opengl.GL11.*; - import com.github.technus.tectech.font.TecTechFontRender; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; +import static org.lwjgl.opengl.GL11.*; + public class GT_GUIContainer_UncertaintyAdv extends GT_GUIContainerMetaTile_Machine { protected static final short sX = 52, sY = 33, bU = 0, rU = 70, fU = 192, V = 210, Vs = 216; @@ -37,26 +37,26 @@ public class GT_GUIContainer_UncertaintyAdv extends GT_GUIContainerMetaTile_Mach y += sY; int state = ((GT_Container_Uncertainty) mContainer).status; switch (((GT_Container_Uncertainty) mContainer).mode) { - case 1: // ooo oxo ooo + case 1://ooo oxo ooo drawTexturedModalRect(x + 12, y + 12, rU + (state == 0 ? 76 : 12), Vs + 12, 10, 10); break; - case 2: // ooo xox ooo + case 2://ooo xox ooo drawTexturedModalRect(x, y + 12, rU + ((state & 1) == 0 ? 64 : 0), Vs + 12, 10, 10); drawTexturedModalRect(x + 24, y + 12, rU + ((state & 2) == 0 ? 88 : 24), Vs + 12, 10, 10); break; - case 3: // oxo xox oxo + case 3://oxo xox oxo drawTexturedModalRect(x + 12, y, rU + ((state & 1) == 0 ? 76 : 12), Vs, 10, 10); drawTexturedModalRect(x, y + 12, rU + ((state & 2) == 0 ? 64 : 0), Vs + 12, 10, 10); drawTexturedModalRect(x + 24, y + 12, rU + ((state & 4) == 0 ? 88 : 24), Vs + 12, 10, 10); drawTexturedModalRect(x + 12, y + 24, rU + ((state & 8) == 0 ? 76 : 12), Vs + 24, 10, 10); break; - case 4: // xox ooo xox + case 4://xox ooo xox drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 64 : 0), Vs, 10, 10); drawTexturedModalRect(x + 24, y, rU + ((state & 2) == 0 ? 88 : 24), Vs, 10, 10); drawTexturedModalRect(x, y + 24, rU + ((state & 4) == 0 ? 64 : 0), Vs + 24, 10, 10); drawTexturedModalRect(x + 24, y + 24, rU + ((state & 8) == 0 ? 88 : 24), Vs + 24, 10, 10); break; - case 5: // xox ooo xox + case 5://xox ooo xox drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 64 : 0), Vs, 10, 10); drawTexturedModalRect(x + 24, y, rU + ((state & 2) == 0 ? 88 : 24), Vs, 10, 10); drawTexturedModalRect(x + 12, y + 12, rU + ((state & 4) == 0 ? 76 : 12), Vs + 12, 10, 10); @@ -78,8 +78,7 @@ public class GT_GUIContainer_UncertaintyAdv extends GT_GUIContainerMetaTile_Mach glColor4f(1.0F, 1.0F, 1.0F, 1.0F); if (((GT_Container_Uncertainty) mContainer).selection > -1) { int sel = ((GT_Container_Uncertainty) mContainer).selection; - drawTexturedModalRect( - x + 12 * (sel / 4), y + 12 * (sel % 4), bU + 12 * (sel / 4), V + 12 * (sel % 4), 10, 10); + drawTexturedModalRect(x + 12 * (sel / 4), y + 12 * (sel % 4), bU + 12 * (sel / 4), V + 12 * (sel % 4), 10, 10); } } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java index 45486183fd..a2996de081 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java @@ -1,13 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; @@ -25,194 +17,54 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_annihilation extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - // region variables - private static Textures.BlockIcons.CustomIcon ScreenOFF; - private static Textures.BlockIcons.CustomIcon ScreenON; - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal( - "gt.blockmachines.multimachine.em.annihilation.hint.0"), // 1 - Classic Hatches or High Power Casing - translateToLocal( - "gt.blockmachines.multimachine.em.annihilation.hint.1"), // 2 - Elemental Hatches or Molecular Casing + //region variables + private static Textures.BlockIcons.CustomIcon ScreenOFF; + private static Textures.BlockIcons.CustomIcon ScreenON; + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.annihilation.hint.0"),//1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.annihilation.hint.1"),//2 - Elemental Hatches or Molecular Casing }; - // endregion + //endregion - // region structure - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("main", transpose(new String[][] { - { - " ", - " AB BA ", - " AB BA ", - " BBB ", - " A A A ", - "AA F AA", - " A A A ", - " BBB ", - " AB BA ", - " AB BA ", - " " - }, - { - " ", - " AB BA ", - " EECEEECEE ", - " EGGEEEGGE ", - "ACGGGEGGGCA", - "AEGGGDGGGEA", - "ACGGGEGGGCA", - " EGGEEEGGE ", - " EECEEECEE ", - " AB BA ", - " " - }, - { - " ", - " B B ", - " EGGEGEGGE ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " EGGEGEGGE ", - " B B ", - " " - }, - { - " AAA ", - "AA BAB AA", - "ACGGEGEGGCA", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - "ACGGEGEGGCA", - "AA BAB AA", - " AAA " - }, - { - " AHHHA ", - "BBBBBBBBBBB", - "BEEEDEDEEEB", - "BE EB", - " G G ", - " G G ", - " G G ", - "BE EB", - "BEEEDEDEEEB", - "BBBBBBBBBBB", - " AHHHA " - }, - { - " AH~HA ", - " ABBBA ", - " EGGEEEGGE ", - "BE EB", - "AE EA", - "FD DF", - "AE EA", - "BE EB", - " EGGEEEGGE ", - " ABBBA ", - " AHHHA " - }, - { - " AHHHA ", - "BBBBBBBBBBB", - "BEEEDEDEEEB", - "BE EB", - " G G ", - " G G ", - " G G ", - "BE EB", - "BEEEDEDEEEB", - "BBBBBBBBBBB", - " AHHHA " - }, - { - " AAA ", - "AA BAB AA", - "ACGGEGEGGCA", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - "ACGGEGEGGCA", - "AA BAB AA", - " AAA " - }, - { - " ", - " B B ", - " EGGEGEGGE ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " EGGEGEGGE ", - " B B ", - " " - }, - { - " ", - " AB BA ", - " EECEEECEE ", - " EGGEEEGGE ", - "ACGGGEGGGCA", - "AEGGGDGGGEA", - "ACGGGEGGGCA", - " EGGEEEGGE ", - " EECEEECEE ", - " AB BA ", - " " - }, - { - " ", - " AB BA ", - " AB BA ", - " BBB ", - " A A A ", - "AA F AA", - " A A A ", - " BBB ", - " AB BA ", - " AB BA ", - " " - } - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('C', ofBlock(sBlockCasingsTT, 6)) - .addElement('D', ofBlock(sBlockCasingsTT, 10)) - .addElement('E', ofBlock(sBlockCasingsTT, 12)) - .addElement('G', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement( - 'H', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_annihilation::addClassicToMachineList, - textureOffset, - 1, - sBlockCasingsTT, - 0)) - .addElement( - 'F', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_annihilation::addElementalToMachineList, - textureOffset + 4, - 2, - sBlockCasingsTT, - 4)) - .build(); - // endregion + //region structure + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("main", transpose(new String[][]{ + {" ", " AB BA ", " AB BA ", " BBB ", " A A A ", "AA F AA", " A A A ", " BBB ", " AB BA ", " AB BA ", " "}, + {" ", " AB BA ", " EECEEECEE ", " EGGEEEGGE ", "ACGGGEGGGCA", "AEGGGDGGGEA", "ACGGGEGGGCA", " EGGEEEGGE ", " EECEEECEE ", " AB BA ", " "}, + {" ", " B B ", " EGGEGEGGE ", " G G ", " G G ", " G G ", " G G ", " G G ", " EGGEGEGGE ", " B B ", " "}, + {" AAA ", "AA BAB AA", "ACGGEGEGGCA", " G G ", " G G ", " G G ", " G G ", " G G ", "ACGGEGEGGCA", "AA BAB AA", " AAA "}, + {" AHHHA ", "BBBBBBBBBBB", "BEEEDEDEEEB", "BE EB", " G G ", " G G ", " G G ", "BE EB", "BEEEDEDEEEB", "BBBBBBBBBBB", " AHHHA "}, + {" AH~HA ", " ABBBA ", " EGGEEEGGE ", "BE EB", "AE EA", "FD DF", "AE EA", "BE EB", " EGGEEEGGE ", " ABBBA ", " AHHHA "}, + {" AHHHA ", "BBBBBBBBBBB", "BEEEDEDEEEB", "BE EB", " G G ", " G G ", " G G ", "BE EB", "BEEEDEDEEEB", "BBBBBBBBBBB", " AHHHA "}, + {" AAA ", "AA BAB AA", "ACGGEGEGGCA", " G G ", " G G ", " G G ", " G G ", " G G ", "ACGGEGEGGCA", "AA BAB AA", " AAA "}, + {" ", " B B ", " EGGEGEGGE ", " G G ", " G G ", " G G ", " G G ", " G G ", " EGGEGEGGE ", " B B ", " "}, + {" ", " AB BA ", " EECEEECEE ", " EGGEEEGGE ", "ACGGGEGGGCA", "AEGGGDGGGEA", "ACGGGEGGGCA", " EGGEEEGGE ", " EECEEECEE ", " AB BA ", " "}, + {" ", " AB BA ", " AB BA ", " BBB ", " A A A ", "AA F AA", " A A A ", " BBB ", " AB BA ", " AB BA ", " "} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement('C', ofBlock(sBlockCasingsTT, 6)) + .addElement('D', ofBlock(sBlockCasingsTT, 10)) + .addElement('E', ofBlock(sBlockCasingsTT, 12)) + .addElement('G', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement('H', ofHatchAdderOptional(GT_MetaTileEntity_EM_annihilation::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) + .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_annihilation::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) + .build(); + //endregion public GT_MetaTileEntity_EM_annihilation(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -235,24 +87,14 @@ public class GT_MetaTileEntity_EM_annihilation extends GT_MetaTileEntity_Multibl @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.em.annihilation.name")) // Machine Type: Annihilation Generator - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.annihilation.desc.0")) // Controller block of the - // Annihilation Generator + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.annihilation.name")) // Machine Type: Annihilation Generator + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.annihilation.desc.0")) // Controller block of the Annihilation Generator .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(11, 11, 11, false) - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.Elemental"), - translateToLocal("tt.keyword.Structure.AnyMolecularCasing"), - 1) // Elemental Hatch: Any Molecular Casing - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.Elemental"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing"), 1) // Elemental Hatch: Any Molecular Casing + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -266,20 +108,11 @@ public class GT_MetaTileEntity_EM_annihilation extends GT_MetaTileEntity_Multibl } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { + 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][12], - new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) - }; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][12], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; } - return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][12]}; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][12]}; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java index 9d595339d0..c0174ad510 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java @@ -1,15 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_decay.URANIUM_INGOT_MASS_DIFF; -import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_decay.URANIUM_MASS_TO_EU_INSTANT; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; @@ -27,2386 +17,131 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_decay.URANIUM_INGOT_MASS_DIFF; +import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_decay.URANIUM_MASS_TO_EU_INSTANT; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - // region variables + //region variables private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; - // todo CHECK VALUES - private static final double NEUTRONIUM_BLOCK_MASS = 4.1E17; - private static final double NEUTRONIUM_BLOCK_ATOM_COUNT = 2.4478671E44; - private static final double NEUTRONIUM_BLOCK_TO_EU_INSTANT = URANIUM_MASS_TO_EU_INSTANT - * NEUTRONIUM_BLOCK_MASS - / (URANIUM_INGOT_MASS_DIFF * 1.78266191e-36); // ~ 5.314e40 - private static final double NEUTRON_TO_EU_INSTANT = - NEUTRONIUM_BLOCK_TO_EU_INSTANT / NEUTRONIUM_BLOCK_ATOM_COUNT; // ~ 0.00021708694 + //todo CHECK VALUES + private static final double NEUTRONIUM_BLOCK_MASS = 4.1E17; + private static final double NEUTRONIUM_BLOCK_ATOM_COUNT = 2.4478671E44; + private static final double NEUTRONIUM_BLOCK_TO_EU_INSTANT = URANIUM_MASS_TO_EU_INSTANT * NEUTRONIUM_BLOCK_MASS / (URANIUM_INGOT_MASS_DIFF * 1.78266191e-36);//~ 5.314e40 + private static final double NEUTRON_TO_EU_INSTANT = NEUTRONIUM_BLOCK_TO_EU_INSTANT / NEUTRONIUM_BLOCK_ATOM_COUNT;//~ 0.00021708694 public boolean glassDome = false; - // endregion + //endregion - // Time dillatation - to slow down the explosion thing but REALLY REDUCE POWER OUTPUT - // Startcodes to startup - // per dim disable thingies + //Time dillatation - to slow down the explosion thing but REALLY REDUCE POWER OUTPUT + //Startcodes to startup + //per dim disable thingies - // region structure actual - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("main_t1", transpose(new String[][] { - { - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " C C ", - " C C ", - " CCCCCCCCC ", - " C C ", - " CCCCCCCCC ", - " C C ", - " C C ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " C C ", - " C C ", - " C C ", - " DDDDD ", - " DDCDCDD ", - " CCCCDCCDCCDCCCC ", - " DDDDDDD ", - " CCCCDCCDCCDCCCC ", - " DDCDCDD ", - " DDDDD ", - " C C ", - " C C ", - " C C ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " C C ", - " C C ", - " D ", - " D ", - " DDDDDDD ", - " DD DD ", - " D EEE D ", - " CCC D EAAAE D CCC ", - " DDD EAAAE DDD ", - " CCC D EAAAE D CCC ", - " D EEE D ", - " DD DD ", - " DDDDDDD ", - " D ", - " D ", - " C C ", - " C C ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " C C ", - " D ", - " D ", - " ", - " ", - " ", - " ", - " ", - " CC CC ", - " DD DD ", - " CC CC ", - " ", - " ", - " ", - " ", - " ", - " D ", - " D ", - " C C ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " C C ", - " CCCCC ", - " D ", - " B ", - " B ", - " ", - " ", - " ", - " ", - " C C ", - " CC CC ", - " CDBB BBDC ", - " CC CC ", - " C C ", - " ", - " ", - " ", - " ", - " B ", - " B ", - " D ", - " CCCCC ", - " C C ", - " ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " C C ", - " C C ", - " D ", - " EEEBEEE ", - " ", - " ", - " ", - " ", - " ", - " E E ", - " E E ", - " CC E E CC ", - " DB BD ", - " CC E E CC ", - " E E ", - " E E ", - " ", - " ", - " ", - " ", - " ", - " EEEBEEE ", - " D ", - " C C ", - " C C ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " C C ", - " CCCCC ", - " D ", - " B ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " CC CC ", - " CDB BDC ", - " CC CC ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " B ", - " D ", - " CCCCC ", - " C C ", - " ", - " ", - " " - }, - { - " ", - " ", - " C C ", - " C C ", - " D ", - " EEEBEEE ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " E E ", - " E E ", - " CC E E CC ", - " DB BD ", - " CC E E CC ", - " E E ", - " E E ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " EEEBEEE ", - " D ", - " C C ", - " C C ", - " ", - " " - }, - { - " ", - " ", - " C C ", - " D ", - " B ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " DB BD ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " B ", - " D ", - " C C ", - " ", - " " - }, - { - " ", - " C C ", - " C C ", - " D ", - " B ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " CC CC ", - " DB BD ", - " CC CC ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " B ", - " D ", - " C C ", - " C C ", - " " - }, - { - " ", - " C C ", - " D ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " D D ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " D ", - " C C ", - " " - }, - { - " ", - " C C ", - " D ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " D D ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " D ", - " C C ", - " " - }, - { - " CCCCCCC ", - " C C ", - " DDDDDDD ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " D D ", - " D D ", - "CCD DCC", - " D D ", - "CCD DCC", - " D D ", - " D D ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " DDDDDDD ", - " C C ", - " C C " - }, - { - " CCHHHHHCC ", - " DDDDD ", - " DD DD ", - " ", - " ", - " E E ", - " ", - " E E ", - " ", - " ", - " ", - " ", - " D D ", - " D D ", - " D D ", - "CD DC", - " D D ", - "CD DC", - " D D ", - " D D ", - " D D ", - " ", - " ", - " ", - " ", - " E E ", - " ", - " E E ", - " ", - " ", - " DD DD ", - " DDDDD ", - " C C " - }, - { - " CHHHHHHHC ", - " DDCDCDD ", - " D EEE D ", - " ", - " C C ", - " E E ", - " C C ", - " E E ", - " ", - " ", - " ", - " ", - " D D ", - " D D ", - " D D ", - "CCE ECC", - " DE ED ", - "CCE ECC", - " D D ", - " D D ", - " D D ", - " ", - " ", - " ", - " ", - " E E ", - " C C ", - " E E ", - " C C ", - " ", - " D EEE D ", - " DDCDCDD ", - " C C " - }, - { - " CHHFFFHHC ", - " CCCCDCCDCCDCCCC ", - " CCC D EAAAE D CCC ", - " CC CC ", - " CC CC ", - " CC E E CC ", - " CC CC ", - " CC E E CC ", - " C C ", - " CC CC ", - " C C ", - " C C ", - "CCD DCC", - "CD DC", - "CCE ECC", - "CCA ACC", - "CDA ADC", - "CCA ACC", - "CCE ECC", - "CD DC", - "CCD DCC", - " C C ", - " C C ", - " CC CC ", - " C C ", - " CC E E CC ", - " CC CC ", - " CC E E CC ", - " CC CC ", - " CC CC ", - " CCC D EAAAE D CCC ", - " CCCCDCCDCCDCCCC ", - " CCCCCCCCC " - }, - { - " CHHF~FHHC ", - " DDDDDDD ", - " DDD EAAAE DDD ", - " DD DD ", - " CDBB BBDC ", - " DB BD ", - " CDB BDC ", - " DB BD ", - " DB BD ", - " DB BD ", - " D D ", - " D D ", - " D D ", - " D D ", - " DE ED ", - "CDA ADC", - " DA AD ", - "CDA ADC", - " DE ED ", - " D D ", - " D D ", - " D D ", - " D D ", - " DB BD ", - " DB BD ", - " DB BD ", - " CDB BDC ", - " DB BD ", - " CDBB BBDC ", - " DD DD ", - " DDD EAAAE DDD ", - " DDDDDDD ", - " C C " - }, - { - " CHHFFFHHC ", - " CCCCDCCDCCDCCCC ", - " CCC D EAAAE D CCC ", - " CC CC ", - " CC CC ", - " CC E E CC ", - " CC CC ", - " CC E E CC ", - " C C ", - " CC CC ", - " C C ", - " C C ", - "CCD DCC", - "CD DC", - "CCE ECC", - "CCA ACC", - "CDA ADC", - "CCA ACC", - "CCE ECC", - "CD DC", - "CCD DCC", - " C C ", - " C C ", - " CC CC ", - " C C ", - " CC E E CC ", - " CC CC ", - " CC E E CC ", - " CC CC ", - " CC CC ", - " CCC D EAAAE D CCC ", - " CCCCDCCDCCDCCCC ", - " CCCCCCCCC " - }, - { - " CHHHHHHHC ", - " DDCDCDD ", - " D EEE D ", - " ", - " C C ", - " E E ", - " C C ", - " E E ", - " ", - " ", - " ", - " ", - " D D ", - " D D ", - " D D ", - "CCE ECC", - " DE ED ", - "CCE ECC", - " D D ", - " D D ", - " D D ", - " ", - " ", - " ", - " ", - " E E ", - " C C ", - " E E ", - " C C ", - " ", - " D EEE D ", - " DDCDCDD ", - " C C " - }, - { - " CCHHHHHCC ", - " DDDDD ", - " DD DD ", - " ", - " ", - " E E ", - " ", - " E E ", - " ", - " ", - " ", - " ", - " D D ", - " D D ", - " D D ", - "CD DC", - " D D ", - "CD DC", - " D D ", - " D D ", - " D D ", - " ", - " ", - " ", - " ", - " E E ", - " ", - " E E ", - " ", - " ", - " DD DD ", - " DDDDD ", - " C C " - }, - { - " CCCCCCC ", - " C C ", - " DDDDDDD ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " D D ", - " D D ", - "CCD DCC", - " D D ", - "CCD DCC", - " D D ", - " D D ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " DDDDDDD ", - " C C ", - " C C " - }, - { - " ", - " C C ", - " D ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " D D ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " D ", - " C C ", - " " - }, - { - " ", - " C C ", - " D ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " D D ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " D ", - " C C ", - " " - }, - { - " ", - " C C ", - " C C ", - " D ", - " B ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " CC CC ", - " DB BD ", - " CC CC ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " B ", - " D ", - " C C ", - " C C ", - " " - }, - { - " ", - " ", - " C C ", - " D ", - " B ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " DB BD ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " B ", - " D ", - " C C ", - " ", - " " - }, - { - " ", - " ", - " C C ", - " C C ", - " D ", - " EEEBEEE ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " E E ", - " E E ", - " CC E E CC ", - " DB BD ", - " CC E E CC ", - " E E ", - " E E ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " EEEBEEE ", - " D ", - " C C ", - " C C ", - " ", - " " - }, - { - " ", - " ", - " ", - " C C ", - " CCCCC ", - " D ", - " B ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " CC CC ", - " CDB BDC ", - " CC CC ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " B ", - " D ", - " CCCCC ", - " C C ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " C C ", - " C C ", - " D ", - " EEEBEEE ", - " ", - " ", - " ", - " ", - " ", - " E E ", - " E E ", - " CC E E CC ", - " DB BD ", - " CC E E CC ", - " E E ", - " E E ", - " ", - " ", - " ", - " ", - " ", - " EEEBEEE ", - " D ", - " C C ", - " C C ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " C C ", - " CCCCC ", - " D ", - " B ", - " B ", - " ", - " ", - " ", - " ", - " C C ", - " CC CC ", - " CDBB BBDC ", - " CC CC ", - " C C ", - " ", - " ", - " ", - " ", - " B ", - " B ", - " D ", - " CCCCC ", - " C C ", - " ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " C C ", - " D ", - " D ", - " ", - " ", - " ", - " ", - " ", - " CC CC ", - " DD DD ", - " CC CC ", - " ", - " ", - " ", - " D ", - " D ", - " D ", - " D ", - " C C ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " C C ", - " C C ", - " D ", - " D ", - " DDDDDDD ", - " DD DD ", - " D EEE D ", - " CCC D EAAAE D CCC ", - " DDD EAAAE DDD ", - " CCC D EAAAE D CCC ", - " D EEE D ", - " DD DD ", - " DDDDDDD ", - " D ", - " D ", - " C C ", - " C C ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " C C ", - " C C ", - " C C ", - " DDDDD ", - " DDCDCDD ", - " CCCCDCCDCCDCCCC ", - " DDDDDDD ", - " CCCCDCCDCCDCCCC ", - " DDCDCDD ", - " DDDDD ", - " C C ", - " C C ", - " C C ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " C C ", - " C C ", - " CCCCCCCCC ", - " C C ", - " CCCCCCCCC ", - " C C ", - " C C ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " " - } - })) - .addShape("main_t2", transpose(new String[][] { - { - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " C C ", - " C C ", - " CCCCCCCCC ", - " C C ", - " CCCCCCCCC ", - " C C ", - " C C ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " GGC CGG ", - " GGGC CGGG ", - " GGGGC CGGGG ", - " GGGGDDDDDGGGG ", - " GGGDDCDCDDGGG ", - " CCCCDCCDCCDCCCC ", - " DDDDDDD ", - " CCCCDCCDCCDCCCC ", - " GGGDDCDCDDGGG ", - " GGGGDDDDDGGGG ", - " GGGGC CGGGG ", - " GGGC CGGG ", - " GGC CGG ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " GGC CGG ", - " GGGGC CGGGG ", - " GGG D GGG ", - " GGG D GGG ", - " GG DDDDDDD GG ", - " GG DD DD GG ", - " GG D EEE D GG ", - " CCC D EAAAE D CCC ", - " DDD EAAAE DDD ", - " CCC D EAAAE D CCC ", - " GG D EEE D GG ", - " GG DD DD GG ", - " GG DDDDDDD GG ", - " GGG D GGG ", - " GGG D GGG ", - " GGGGC CGGGG ", - " GGC CGG ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " GGGC CGGG ", - " GGG D GGG ", - " GG D GG ", - " GG GG ", - " G G ", - " GG GG ", - " G G ", - " G G ", - " CC CC ", - " DD DD ", - " CC CC ", - " G G ", - " G G ", - " GG GG ", - " G G ", - " GG GG ", - " GG D GG ", - " GGG D GGG ", - " GGGC CGGG ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " C C ", - " GGGCCCCCGGG ", - " GGG D GGG ", - " GG B GG ", - " GG B GG ", - " G G ", - " GG GG ", - " G G ", - " G G ", - " C C ", - " CC CC ", - " CDBB BBDC ", - " CC CC ", - " C C ", - " G G ", - " G G ", - " GG GG ", - " G G ", - " GG B GG ", - " GG B GG ", - " GGG D GGG ", - " GGGCCCCCGGG ", - " C C ", - " ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " C C ", - " GGGGGC CGGGGG ", - " GGG D GGG ", - " GG EEEBEEE GG ", - " GG GG ", - " G G ", - " GG GG ", - " G G ", - " G G ", - " G E E G ", - " G E E G ", - " CC E E CC ", - " DB BD ", - " CC E E CC ", - " G E E G ", - " G E E G ", - " G G ", - " G G ", - " GG GG ", - " G G ", - " GG GG ", - " GG EEEBEEE GG ", - " GGG D GGG ", - " GGGGGC CGGGGG ", - " C C ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " C C ", - " GGGCCCCCGGG ", - " GGG D GGG ", - " GG B GG ", - " G G ", - " GG GG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " C C ", - " CC CC ", - " CDB BDC ", - " CC CC ", - " C C ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GG GG ", - " G G ", - " GG B GG ", - " GGG D GGG ", - " GGGCCCCCGGG ", - " C C ", - " ", - " ", - " " - }, - { - " ", - " ", - " C C ", - " GGGC CGGG ", - " GGG D GGG ", - " GG EEEBEEE GG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G E E G ", - " G E E G ", - " CC E E CC ", - " DB BD ", - " CC E E CC ", - " G E E G ", - " G E E G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GG EEEBEEE GG ", - " GGG D GGG ", - " GGGC CGGG ", - " C C ", - " ", - " " - }, - { - " ", - " ", - " GGC CGG ", - " GGG D GGG ", - " GG B GG ", - " GG GG ", - " GG GG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " C C ", - " DB BD ", - " C C ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GG GG ", - " GG GG ", - " GG B GG ", - " GGG D GGG ", - " GGC CGG ", - " ", - " " - }, - { - " ", - " C C ", - " GGGGC CGGGG ", - " GG D GG ", - " GG B GG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " CC CC ", - " DB BD ", - " CC CC ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GG B GG ", - " GG D GG ", - " GGGGC CGGGG ", - " C C ", - " " - }, - { - " ", - " GGC CGG ", - " GGG D GGG ", - " GG GG ", - " G G ", - " GG GG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " C C ", - " D D ", - " C C ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GG GG ", - " G G ", - " GG GG ", - " GGG D GGG ", - " GGC CGG ", - " " - }, - { - " ", - " GGGC CGGG ", - " GGG D GGG ", - " G G ", - " GG GG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " C C ", - " D D ", - " C C ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GG GG ", - " G G ", - " GGG D GGG ", - " GGGC CGGG ", - " " - }, - { - " CCCCCCC ", - " GGGGC CGGGG ", - " GG DDDDDDD GG ", - " GG GG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GD DG ", - " GD DG ", - "CCD DCC", - " D D ", - "CCD DCC", - " GD DG ", - " GD DG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GG GG ", - " GG DDDDDDD GG ", - " GGGGC CGGGG ", - " C C " - }, - { - " CCHHHHHCC ", - " GGGGDDDDDGGGG ", - " GG DD DD GG ", - " G G ", - " G G ", - " G E E G ", - " G G ", - " G E E G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GD DG ", - " GD DG ", - " D D ", - "CD DC", - " D D ", - "CD DC", - " D D ", - " GD DG ", - " GD DG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G E E G ", - " G G ", - " G E E G ", - " G G ", - " G G ", - " GG DD DD GG ", - " GGGGDDDDDGGGG ", - " C C " - }, - { - " CHHHHHHHC ", - " GGGDDCDCDDGGG ", - " GG D EEE D GG ", - " G G ", - " C C ", - " G E E G ", - " C C ", - " G E E G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GD DG ", - " D D ", - " D D ", - "CCE ECC", - " DE ED ", - "CCE ECC", - " D D ", - " D D ", - " GD DG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G E E G ", - " C C ", - " G E E G ", - " C C ", - " G G ", - " GG D EEE D GG ", - " GGGDDCDCDDGGG ", - " C C " - }, - { - " CHHFFFHHC ", - " CCCCDCCDCCDCCCC ", - " CCC D EAAAE D CCC ", - " CC CC ", - " CC CC ", - " CC E E CC ", - " CC CC ", - " CC E E CC ", - " C C ", - " CC CC ", - " C C ", - " C C ", - "CCD DCC", - "CD DC", - "CCE ECC", - "CCA ACC", - "CDA ADC", - "CCA ACC", - "CCE ECC", - "CD DC", - "CCD DCC", - " C C ", - " C C ", - " CC CC ", - " C C ", - " CC E E CC ", - " CC CC ", - " CC E E CC ", - " CC CC ", - " CC CC ", - " CCC D EAAAE D CCC ", - " CCCCDCCDCCDCCCC ", - " CCCCCCCCC " - }, - { - " CHHF~FHHC ", - " DDDDDDD ", - " DDD EAAAE DDD ", - " DD DD ", - " CDBB BBDC ", - " DB BD ", - " CDB BDC ", - " DB BD ", - " DB BD ", - " DB BD ", - " D D ", - " D D ", - " D D ", - " D D ", - " DE ED ", - "CDA ADC", - " DA AD ", - "CDA ADC", - " DE ED ", - " D D ", - " D D ", - " D D ", - " D D ", - " DB BD ", - " DB BD ", - " DB BD ", - " CDB BDC ", - " DB BD ", - " CDBB BBDC ", - " DD DD ", - " DDD EAAAE DDD ", - " DDDDDDD ", - " C C " - }, - { - " CHHFFFHHC ", - " CCCCDCCDCCDCCCC ", - " CCC D EAAAE D CCC ", - " CC CC ", - " CC CC ", - " CC E E CC ", - " CC CC ", - " CC E E CC ", - " C C ", - " CC CC ", - " C C ", - " C C ", - "CCD DCC", - "CD DC", - "CCE ECC", - "CCA ACC", - "CDA ADC", - "CCA ACC", - "CCE ECC", - "CD DC", - "CCD DCC", - " C C ", - " C C ", - " CC CC ", - " C C ", - " CC E E CC ", - " CC CC ", - " CC E E CC ", - " CC CC ", - " CC CC ", - " CCC D EAAAE D CCC ", - " CCCCDCCDCCDCCCC ", - " CCCCCCCCC " - }, - { - " CHHHHHHHC ", - " GGGDDCDCDDGGG ", - " GG D EEE D GG ", - " G G ", - " C C ", - " G E E G ", - " C C ", - " G E E G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GD DG ", - " D D ", - " D D ", - "CCE ECC", - " DE ED ", - "CCE ECC", - " D D ", - " D D ", - " GD DG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G E E G ", - " C C ", - " G E E G ", - " C C ", - " G G ", - " GG D EEE D GG ", - " GGGDDCDCDDGGG ", - " C C " - }, - { - " CCHHHHHCC ", - " GGGGDDDDDGGGG ", - " GG DD DD GG ", - " G G ", - " G G ", - " G E E G ", - " G G ", - " G E E G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GD DG ", - " GD DG ", - " D D ", - "CD DC", - " D D ", - "CD DC", - " D D ", - " GD DG ", - " GD DG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G E E G ", - " G G ", - " G E E G ", - " G G ", - " G G ", - " GG DD DD GG ", - " GGGGDDDDDGGGG ", - " C C " - }, - { - " CCCCCCC ", - " GGGGC CGGGG ", - " GG DDDDDDD GG ", - " GG GG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GD DG ", - " GD DG ", - "CCD DCC", - " D D ", - "CCD DCC", - " GD DG ", - " GD DG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GG GG ", - " GG DDDDDDD GG ", - " GGGGC CGGGG ", - " C C " - }, - { - " ", - " GGGC CGGG ", - " GGG D GGG ", - " G G ", - " GG GG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " C C ", - " D D ", - " C C ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GG GG ", - " G G ", - " GGG D GGG ", - " GGGC CGGG ", - " " - }, - { - " ", - " GGC CGG ", - " GGG D GGG ", - " GG GG ", - " G G ", - " GG GG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " C C ", - " D D ", - " C C ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GG GG ", - " G G ", - " GG GG ", - " GGG D GGG ", - " GGC CGG ", - " " - }, - { - " ", - " C C ", - " GGGGC CGGGG ", - " GG D GG ", - " GG B GG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " CC CC ", - " DB BD ", - " CC CC ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GG B GG ", - " GG D GG ", - " GGGGC CGGGG ", - " C C ", - " " - }, - { - " ", - " ", - " GGC CGG ", - " GGG D GGG ", - " GG B GG ", - " GG GG ", - " GG GG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " C C ", - " DB BD ", - " C C ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GG GG ", - " GG GG ", - " GG B GG ", - " GGG D GGG ", - " GGC CGG ", - " ", - " " - }, - { - " ", - " ", - " C C ", - " GGGC CGGG ", - " GGG D GGG ", - " GG EEEBEEE GG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G E E G ", - " G E E G ", - " CC E E CC ", - " DB BD ", - " CC E E CC ", - " G E E G ", - " G E E G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GG EEEBEEE GG ", - " GGG D GGG ", - " GGGC CGGG ", - " C C ", - " ", - " " - }, - { - " ", - " ", - " ", - " C C ", - " GGGCCCCCGGG ", - " GGG D GGG ", - " GG B GG ", - " G G ", - " GG GG ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " C C ", - " CC CC ", - " CDB BDC ", - " CC CC ", - " C C ", - " G G ", - " G G ", - " G G ", - " G G ", - " G G ", - " GG GG ", - " G G ", - " GG B GG ", - " GGG D GGG ", - " GGGCCCCCGGG ", - " C C ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " C C ", - " GGGGGC CGGGGG ", - " GGG D GGG ", - " GG EEEBEEE GG ", - " GG GG ", - " G G ", - " GG GG ", - " G G ", - " G G ", - " G E E G ", - " G E E G ", - " CC E E CC ", - " DB BD ", - " CC E E CC ", - " G E E G ", - " G E E G ", - " G G ", - " G G ", - " GG GG ", - " G G ", - " GG GG ", - " GG EEEBEEE GG ", - " GGG D GGG ", - " GGGGGC CGGGGG ", - " C C ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " C C ", - " GGGCCCCCGGG ", - " GGG D GGG ", - " GG B GG ", - " GG B GG ", - " G G ", - " GG GG ", - " G G ", - " G G ", - " C C ", - " CC CC ", - " CDBB BBDC ", - " CC CC ", - " C C ", - " G G ", - " G G ", - " GG GG ", - " G G ", - " GG B GG ", - " GG B GG ", - " GGG D GGG ", - " GGGCCCCCGGG ", - " C C ", - " ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " GGGC CGGG ", - " GGG D GGG ", - " GG D GG ", - " GG GG ", - " G G ", - " GG GG ", - " G G ", - " G G ", - " CC CC ", - " DD DD ", - " CC CC ", - " G G ", - " G G ", - " GG GG ", - " G D G ", - " GG D GG ", - " GG D GG ", - " GGG D GGG ", - " GGGC CGGG ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " GGC CGG ", - " GGGGC CGGGG ", - " GGG D GGG ", - " GGG D GGG ", - " GG DDDDDDD GG ", - " GG DD DD GG ", - " GG D EEE D GG ", - " CCC D EAAAE D CCC ", - " DDD EAAAE DDD ", - " CCC D EAAAE D CCC ", - " GG D EEE D GG ", - " GG DD DD GG ", - " GG DDDDDDD GG ", - " GGG D GGG ", - " GGG D GGG ", - " GGGGC CGGGG ", - " GGC CGG ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " GGC CGG ", - " GGGC CGGG ", - " GGGGC CGGGG ", - " GGGGDDDDDGGGG ", - " GGGDDCDCDDGGG ", - " CCCCDCCDCCDCCCC ", - " DDDDDDD ", - " CCCCDCCDCCDCCCC ", - " GGGDDCDCDDGGG ", - " GGGGDDDDDGGGG ", - " GGGGC CGGGG ", - " GGGC CGGG ", - " GGC CGG ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " C C ", - " C C ", - " C C ", - " CCCCCCCCC ", - " C C ", - " CCCCCCCCC ", - " C C ", - " C C ", - " C C ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " " - } - })) - .addElement('A', ofBlock(sBlockCasingsTT, 10)) - .addElement('B', ofBlock(sBlockCasingsTT, 11)) - .addElement('C', ofBlock(sBlockCasingsTT, 12)) - .addElement('D', ofBlock(sBlockCasingsTT, 13)) - .addElement('E', ofBlock(sBlockCasingsTT, 14)) - .addElement('G', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement( - 'H', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_bhg::addClassicToMachineList, - textureOffset, - 1, - sBlockCasingsTT, - 0)) - .addElement( - 'F', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_bhg::addElementalToMachineList, - textureOffset + 4, - 2, - sBlockCasingsTT, - 4)) - .build(); + //region structure actual + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("main_t1", transpose(new String[][]{ + {" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " CCCCCCCCC ", " C C ", " CCCCCCCCC ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " C C ", " DDDDD ", " DDCDCDD ", " CCCCDCCDCCDCCCC ", " DDDDDDD ", " CCCCDCCDCCDCCCC ", " DDCDCDD ", " DDDDD ", " C C ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " D ", " D ", " DDDDDDD ", " DD DD ", " D EEE D ", " CCC D EAAAE D CCC ", " DDD EAAAE DDD ", " CCC D EAAAE D CCC ", " D EEE D ", " DD DD ", " DDDDDDD ", " D ", " D ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " ", " C C ", " C C ", " D ", " D ", " ", " ", " ", " ", " ", " CC CC ", " DD DD ", " CC CC ", " ", " ", " ", " ", " ", " D ", " D ", " C C ", " C C ", " ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " C C ", " CCCCC ", " D ", " B ", " B ", " ", " ", " ", " ", " C C ", " CC CC ", " CDBB BBDC ", " CC CC ", " C C ", " ", " ", " ", " ", " B ", " B ", " D ", " CCCCC ", " C C ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " C C ", " C C ", " D ", " EEEBEEE ", " ", " ", " ", " ", " ", " E E ", " E E ", " CC E E CC ", " DB BD ", " CC E E CC ", " E E ", " E E ", " ", " ", " ", " ", " ", " EEEBEEE ", " D ", " C C ", " C C ", " ", " ", " ", " "}, + {" ", " ", " ", " C C ", " CCCCC ", " D ", " B ", " ", " ", " ", " ", " ", " ", " ", " C C ", " CC CC ", " CDB BDC ", " CC CC ", " C C ", " ", " ", " ", " ", " ", " ", " ", " B ", " D ", " CCCCC ", " C C ", " ", " ", " "}, + {" ", " ", " C C ", " C C ", " D ", " EEEBEEE ", " ", " ", " ", " ", " ", " ", " ", " E E ", " E E ", " CC E E CC ", " DB BD ", " CC E E CC ", " E E ", " E E ", " ", " ", " ", " ", " ", " ", " ", " EEEBEEE ", " D ", " C C ", " C C ", " ", " "}, + {" ", " ", " C C ", " D ", " B ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " DB BD ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " B ", " D ", " C C ", " ", " "}, + {" ", " C C ", " C C ", " D ", " B ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " CC CC ", " DB BD ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " B ", " D ", " C C ", " C C ", " "}, + {" ", " C C ", " D ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " D D ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " D ", " C C ", " "}, + {" ", " C C ", " D ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " D D ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " D ", " C C ", " "}, + {" CCCCCCC ", " C C ", " DDDDDDD ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " D D ", " D D ", "CCD DCC", " D D ", "CCD DCC", " D D ", " D D ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " DDDDDDD ", " C C ", " C C "}, + {" CCHHHHHCC ", " DDDDD ", " DD DD ", " ", " ", " E E ", " ", " E E ", " ", " ", " ", " ", " D D ", " D D ", " D D ", "CD DC", " D D ", "CD DC", " D D ", " D D ", " D D ", " ", " ", " ", " ", " E E ", " ", " E E ", " ", " ", " DD DD ", " DDDDD ", " C C "}, + {" CHHHHHHHC ", " DDCDCDD ", " D EEE D ", " ", " C C ", " E E ", " C C ", " E E ", " ", " ", " ", " ", " D D ", " D D ", " D D ", "CCE ECC", " DE ED ", "CCE ECC", " D D ", " D D ", " D D ", " ", " ", " ", " ", " E E ", " C C ", " E E ", " C C ", " ", " D EEE D ", " DDCDCDD ", " C C "}, + {" CHHFFFHHC ", " CCCCDCCDCCDCCCC ", " CCC D EAAAE D CCC ", " CC CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC E E CC ", " C C ", " CC CC ", " C C ", " C C ", "CCD DCC", "CD DC", "CCE ECC", "CCA ACC", "CDA ADC", "CCA ACC", "CCE ECC", "CD DC", "CCD DCC", " C C ", " C C ", " CC CC ", " C C ", " CC E E CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC CC ", " CCC D EAAAE D CCC ", " CCCCDCCDCCDCCCC ", " CCCCCCCCC "}, + {" CHHF~FHHC ", " DDDDDDD ", " DDD EAAAE DDD ", " DD DD ", " CDBB BBDC ", " DB BD ", " CDB BDC ", " DB BD ", " DB BD ", " DB BD ", " D D ", " D D ", " D D ", " D D ", " DE ED ", "CDA ADC", " DA AD ", "CDA ADC", " DE ED ", " D D ", " D D ", " D D ", " D D ", " DB BD ", " DB BD ", " DB BD ", " CDB BDC ", " DB BD ", " CDBB BBDC ", " DD DD ", " DDD EAAAE DDD ", " DDDDDDD ", " C C "}, + {" CHHFFFHHC ", " CCCCDCCDCCDCCCC ", " CCC D EAAAE D CCC ", " CC CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC E E CC ", " C C ", " CC CC ", " C C ", " C C ", "CCD DCC", "CD DC", "CCE ECC", "CCA ACC", "CDA ADC", "CCA ACC", "CCE ECC", "CD DC", "CCD DCC", " C C ", " C C ", " CC CC ", " C C ", " CC E E CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC CC ", " CCC D EAAAE D CCC ", " CCCCDCCDCCDCCCC ", " CCCCCCCCC "}, + {" CHHHHHHHC ", " DDCDCDD ", " D EEE D ", " ", " C C ", " E E ", " C C ", " E E ", " ", " ", " ", " ", " D D ", " D D ", " D D ", "CCE ECC", " DE ED ", "CCE ECC", " D D ", " D D ", " D D ", " ", " ", " ", " ", " E E ", " C C ", " E E ", " C C ", " ", " D EEE D ", " DDCDCDD ", " C C "}, + {" CCHHHHHCC ", " DDDDD ", " DD DD ", " ", " ", " E E ", " ", " E E ", " ", " ", " ", " ", " D D ", " D D ", " D D ", "CD DC", " D D ", "CD DC", " D D ", " D D ", " D D ", " ", " ", " ", " ", " E E ", " ", " E E ", " ", " ", " DD DD ", " DDDDD ", " C C "}, + {" CCCCCCC ", " C C ", " DDDDDDD ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " D D ", " D D ", "CCD DCC", " D D ", "CCD DCC", " D D ", " D D ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " DDDDDDD ", " C C ", " C C "}, + {" ", " C C ", " D ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " D D ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " D ", " C C ", " "}, + {" ", " C C ", " D ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " D D ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " D ", " C C ", " "}, + {" ", " C C ", " C C ", " D ", " B ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " CC CC ", " DB BD ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " B ", " D ", " C C ", " C C ", " "}, + {" ", " ", " C C ", " D ", " B ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " DB BD ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " B ", " D ", " C C ", " ", " "}, + {" ", " ", " C C ", " C C ", " D ", " EEEBEEE ", " ", " ", " ", " ", " ", " ", " ", " E E ", " E E ", " CC E E CC ", " DB BD ", " CC E E CC ", " E E ", " E E ", " ", " ", " ", " ", " ", " ", " ", " EEEBEEE ", " D ", " C C ", " C C ", " ", " "}, + {" ", " ", " ", " C C ", " CCCCC ", " D ", " B ", " ", " ", " ", " ", " ", " ", " ", " C C ", " CC CC ", " CDB BDC ", " CC CC ", " C C ", " ", " ", " ", " ", " ", " ", " ", " B ", " D ", " CCCCC ", " C C ", " ", " ", " "}, + {" ", " ", " ", " ", " C C ", " C C ", " D ", " EEEBEEE ", " ", " ", " ", " ", " ", " E E ", " E E ", " CC E E CC ", " DB BD ", " CC E E CC ", " E E ", " E E ", " ", " ", " ", " ", " ", " EEEBEEE ", " D ", " C C ", " C C ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " C C ", " CCCCC ", " D ", " B ", " B ", " ", " ", " ", " ", " C C ", " CC CC ", " CDBB BBDC ", " CC CC ", " C C ", " ", " ", " ", " ", " B ", " B ", " D ", " CCCCC ", " C C ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " ", " C C ", " C C ", " D ", " D ", " ", " ", " ", " ", " ", " CC CC ", " DD DD ", " CC CC ", " ", " ", " ", " D ", " D ", " D ", " D ", " C C ", " C C ", " ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " D ", " D ", " DDDDDDD ", " DD DD ", " D EEE D ", " CCC D EAAAE D CCC ", " DDD EAAAE DDD ", " CCC D EAAAE D CCC ", " D EEE D ", " DD DD ", " DDDDDDD ", " D ", " D ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " C C ", " DDDDD ", " DDCDCDD ", " CCCCDCCDCCDCCCC ", " DDDDDDD ", " CCCCDCCDCCDCCCC ", " DDCDCDD ", " DDDDD ", " C C ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " CCCCCCCCC ", " C C ", " CCCCCCCCC ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "} + })) + .addShape("main_t2", transpose(new String[][]{ + {" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " CCCCCCCCC ", " C C ", " CCCCCCCCC ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " GGC CGG ", " GGGC CGGG ", " GGGGC CGGGG ", " GGGGDDDDDGGGG ", " GGGDDCDCDDGGG ", " CCCCDCCDCCDCCCC ", " DDDDDDD ", " CCCCDCCDCCDCCCC ", " GGGDDCDCDDGGG ", " GGGGDDDDDGGGG ", " GGGGC CGGGG ", " GGGC CGGG ", " GGC CGG ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " ", " ", " C C ", " GGC CGG ", " GGGGC CGGGG ", " GGG D GGG ", " GGG D GGG ", " GG DDDDDDD GG ", " GG DD DD GG ", " GG D EEE D GG ", " CCC D EAAAE D CCC ", " DDD EAAAE DDD ", " CCC D EAAAE D CCC ", " GG D EEE D GG ", " GG DD DD GG ", " GG DDDDDDD GG ", " GGG D GGG ", " GGG D GGG ", " GGGGC CGGGG ", " GGC CGG ", " C C ", " ", " ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " ", " C C ", " GGGC CGGG ", " GGG D GGG ", " GG D GG ", " GG GG ", " G G ", " GG GG ", " G G ", " G G ", " CC CC ", " DD DD ", " CC CC ", " G G ", " G G ", " GG GG ", " G G ", " GG GG ", " GG D GG ", " GGG D GGG ", " GGGC CGGG ", " C C ", " ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " C C ", " GGGCCCCCGGG ", " GGG D GGG ", " GG B GG ", " GG B GG ", " G G ", " GG GG ", " G G ", " G G ", " C C ", " CC CC ", " CDBB BBDC ", " CC CC ", " C C ", " G G ", " G G ", " GG GG ", " G G ", " GG B GG ", " GG B GG ", " GGG D GGG ", " GGGCCCCCGGG ", " C C ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " C C ", " GGGGGC CGGGGG ", " GGG D GGG ", " GG EEEBEEE GG ", " GG GG ", " G G ", " GG GG ", " G G ", " G G ", " G E E G ", " G E E G ", " CC E E CC ", " DB BD ", " CC E E CC ", " G E E G ", " G E E G ", " G G ", " G G ", " GG GG ", " G G ", " GG GG ", " GG EEEBEEE GG ", " GGG D GGG ", " GGGGGC CGGGGG ", " C C ", " ", " ", " ", " "}, + {" ", " ", " ", " C C ", " GGGCCCCCGGG ", " GGG D GGG ", " GG B GG ", " G G ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " CC CC ", " CDB BDC ", " CC CC ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " G G ", " GG B GG ", " GGG D GGG ", " GGGCCCCCGGG ", " C C ", " ", " ", " "}, + {" ", " ", " C C ", " GGGC CGGG ", " GGG D GGG ", " GG EEEBEEE GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G E E G ", " G E E G ", " CC E E CC ", " DB BD ", " CC E E CC ", " G E E G ", " G E E G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG EEEBEEE GG ", " GGG D GGG ", " GGGC CGGG ", " C C ", " ", " "}, + {" ", " ", " GGC CGG ", " GGG D GGG ", " GG B GG ", " GG GG ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " DB BD ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " GG GG ", " GG B GG ", " GGG D GGG ", " GGC CGG ", " ", " "}, + {" ", " C C ", " GGGGC CGGGG ", " GG D GG ", " GG B GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " CC CC ", " DB BD ", " CC CC ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG B GG ", " GG D GG ", " GGGGC CGGGG ", " C C ", " "}, + {" ", " GGC CGG ", " GGG D GGG ", " GG GG ", " G G ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " D D ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " G G ", " GG GG ", " GGG D GGG ", " GGC CGG ", " "}, + {" ", " GGGC CGGG ", " GGG D GGG ", " G G ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " D D ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " G G ", " GGG D GGG ", " GGGC CGGG ", " "}, + {" CCCCCCC ", " GGGGC CGGGG ", " GG DDDDDDD GG ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GD DG ", " GD DG ", "CCD DCC", " D D ", "CCD DCC", " GD DG ", " GD DG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " GG DDDDDDD GG ", " GGGGC CGGGG ", " C C "}, + {" CCHHHHHCC ", " GGGGDDDDDGGGG ", " GG DD DD GG ", " G G ", " G G ", " G E E G ", " G G ", " G E E G ", " G G ", " G G ", " G G ", " G G ", " GD DG ", " GD DG ", " D D ", "CD DC", " D D ", "CD DC", " D D ", " GD DG ", " GD DG ", " G G ", " G G ", " G G ", " G G ", " G E E G ", " G G ", " G E E G ", " G G ", " G G ", " GG DD DD GG ", " GGGGDDDDDGGGG ", " C C "}, + {" CHHHHHHHC ", " GGGDDCDCDDGGG ", " GG D EEE D GG ", " G G ", " C C ", " G E E G ", " C C ", " G E E G ", " G G ", " G G ", " G G ", " G G ", " GD DG ", " D D ", " D D ", "CCE ECC", " DE ED ", "CCE ECC", " D D ", " D D ", " GD DG ", " G G ", " G G ", " G G ", " G G ", " G E E G ", " C C ", " G E E G ", " C C ", " G G ", " GG D EEE D GG ", " GGGDDCDCDDGGG ", " C C "}, + {" CHHFFFHHC ", " CCCCDCCDCCDCCCC ", " CCC D EAAAE D CCC ", " CC CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC E E CC ", " C C ", " CC CC ", " C C ", " C C ", "CCD DCC", "CD DC", "CCE ECC", "CCA ACC", "CDA ADC", "CCA ACC", "CCE ECC", "CD DC", "CCD DCC", " C C ", " C C ", " CC CC ", " C C ", " CC E E CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC CC ", " CCC D EAAAE D CCC ", " CCCCDCCDCCDCCCC ", " CCCCCCCCC "}, + {" CHHF~FHHC ", " DDDDDDD ", " DDD EAAAE DDD ", " DD DD ", " CDBB BBDC ", " DB BD ", " CDB BDC ", " DB BD ", " DB BD ", " DB BD ", " D D ", " D D ", " D D ", " D D ", " DE ED ", "CDA ADC", " DA AD ", "CDA ADC", " DE ED ", " D D ", " D D ", " D D ", " D D ", " DB BD ", " DB BD ", " DB BD ", " CDB BDC ", " DB BD ", " CDBB BBDC ", " DD DD ", " DDD EAAAE DDD ", " DDDDDDD ", " C C "}, + {" CHHFFFHHC ", " CCCCDCCDCCDCCCC ", " CCC D EAAAE D CCC ", " CC CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC E E CC ", " C C ", " CC CC ", " C C ", " C C ", "CCD DCC", "CD DC", "CCE ECC", "CCA ACC", "CDA ADC", "CCA ACC", "CCE ECC", "CD DC", "CCD DCC", " C C ", " C C ", " CC CC ", " C C ", " CC E E CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC CC ", " CCC D EAAAE D CCC ", " CCCCDCCDCCDCCCC ", " CCCCCCCCC "}, + {" CHHHHHHHC ", " GGGDDCDCDDGGG ", " GG D EEE D GG ", " G G ", " C C ", " G E E G ", " C C ", " G E E G ", " G G ", " G G ", " G G ", " G G ", " GD DG ", " D D ", " D D ", "CCE ECC", " DE ED ", "CCE ECC", " D D ", " D D ", " GD DG ", " G G ", " G G ", " G G ", " G G ", " G E E G ", " C C ", " G E E G ", " C C ", " G G ", " GG D EEE D GG ", " GGGDDCDCDDGGG ", " C C "}, + {" CCHHHHHCC ", " GGGGDDDDDGGGG ", " GG DD DD GG ", " G G ", " G G ", " G E E G ", " G G ", " G E E G ", " G G ", " G G ", " G G ", " G G ", " GD DG ", " GD DG ", " D D ", "CD DC", " D D ", "CD DC", " D D ", " GD DG ", " GD DG ", " G G ", " G G ", " G G ", " G G ", " G E E G ", " G G ", " G E E G ", " G G ", " G G ", " GG DD DD GG ", " GGGGDDDDDGGGG ", " C C "}, + {" CCCCCCC ", " GGGGC CGGGG ", " GG DDDDDDD GG ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GD DG ", " GD DG ", "CCD DCC", " D D ", "CCD DCC", " GD DG ", " GD DG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " GG DDDDDDD GG ", " GGGGC CGGGG ", " C C "}, + {" ", " GGGC CGGG ", " GGG D GGG ", " G G ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " D D ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " G G ", " GGG D GGG ", " GGGC CGGG ", " "}, + {" ", " GGC CGG ", " GGG D GGG ", " GG GG ", " G G ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " D D ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " G G ", " GG GG ", " GGG D GGG ", " GGC CGG ", " "}, + {" ", " C C ", " GGGGC CGGGG ", " GG D GG ", " GG B GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " CC CC ", " DB BD ", " CC CC ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG B GG ", " GG D GG ", " GGGGC CGGGG ", " C C ", " "}, + {" ", " ", " GGC CGG ", " GGG D GGG ", " GG B GG ", " GG GG ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " DB BD ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " GG GG ", " GG B GG ", " GGG D GGG ", " GGC CGG ", " ", " "}, + {" ", " ", " C C ", " GGGC CGGG ", " GGG D GGG ", " GG EEEBEEE GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G E E G ", " G E E G ", " CC E E CC ", " DB BD ", " CC E E CC ", " G E E G ", " G E E G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG EEEBEEE GG ", " GGG D GGG ", " GGGC CGGG ", " C C ", " ", " "}, + {" ", " ", " ", " C C ", " GGGCCCCCGGG ", " GGG D GGG ", " GG B GG ", " G G ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " CC CC ", " CDB BDC ", " CC CC ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " G G ", " GG B GG ", " GGG D GGG ", " GGGCCCCCGGG ", " C C ", " ", " ", " "}, + {" ", " ", " ", " ", " C C ", " GGGGGC CGGGGG ", " GGG D GGG ", " GG EEEBEEE GG ", " GG GG ", " G G ", " GG GG ", " G G ", " G G ", " G E E G ", " G E E G ", " CC E E CC ", " DB BD ", " CC E E CC ", " G E E G ", " G E E G ", " G G ", " G G ", " GG GG ", " G G ", " GG GG ", " GG EEEBEEE GG ", " GGG D GGG ", " GGGGGC CGGGGG ", " C C ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " C C ", " GGGCCCCCGGG ", " GGG D GGG ", " GG B GG ", " GG B GG ", " G G ", " GG GG ", " G G ", " G G ", " C C ", " CC CC ", " CDBB BBDC ", " CC CC ", " C C ", " G G ", " G G ", " GG GG ", " G G ", " GG B GG ", " GG B GG ", " GGG D GGG ", " GGGCCCCCGGG ", " C C ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " ", " C C ", " GGGC CGGG ", " GGG D GGG ", " GG D GG ", " GG GG ", " G G ", " GG GG ", " G G ", " G G ", " CC CC ", " DD DD ", " CC CC ", " G G ", " G G ", " GG GG ", " G D G ", " GG D GG ", " GG D GG ", " GGG D GGG ", " GGGC CGGG ", " C C ", " ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " ", " ", " C C ", " GGC CGG ", " GGGGC CGGGG ", " GGG D GGG ", " GGG D GGG ", " GG DDDDDDD GG ", " GG DD DD GG ", " GG D EEE D GG ", " CCC D EAAAE D CCC ", " DDD EAAAE DDD ", " CCC D EAAAE D CCC ", " GG D EEE D GG ", " GG DD DD GG ", " GG DDDDDDD GG ", " GGG D GGG ", " GGG D GGG ", " GGGGC CGGGG ", " GGC CGG ", " C C ", " ", " ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " GGC CGG ", " GGGC CGGG ", " GGGGC CGGGG ", " GGGGDDDDDGGGG ", " GGGDDCDCDDGGG ", " CCCCDCCDCCDCCCC ", " DDDDDDD ", " CCCCDCCDCCDCCCC ", " GGGDDCDCDDGGG ", " GGGGDDDDDGGGG ", " GGGGC CGGGG ", " GGGC CGGG ", " GGC CGG ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " CCCCCCCCC ", " C C ", " CCCCCCCCC ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 10)) + .addElement('B', ofBlock(sBlockCasingsTT, 11)) + .addElement('C', ofBlock(sBlockCasingsTT, 12)) + .addElement('D', ofBlock(sBlockCasingsTT, 13)) + .addElement('E', ofBlock(sBlockCasingsTT, 14)) + .addElement('G', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement('H', ofHatchAdderOptional(GT_MetaTileEntity_EM_bhg::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) + .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_bhg::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) + .build(); @Override public IStructureDefinition getStructure_EM() { return STRUCTURE_DEFINITION; } - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal( - "gt.blockmachines.multimachine.em.blackholegenerator.hint.0"), // 1 - Classic Hatches or High Power - // Casing - translateToLocal( - "gt.blockmachines.multimachine.em.blackholegenerator.hint.1"), // 2 - Elemental Hatches or Molecular - // Casing + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.blackholegenerator.hint.0"),//1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.blackholegenerator.hint.1"),//2 - Elemental Hatches or Molecular Casing }; - // endregion + //endregion public GT_MetaTileEntity_EM_bhg(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -2521,9 +256,9 @@ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_E return getLuminosity(massKg) + getAcretionDiskLuminosity(massKgPer1s) - getContainmentPower(massKg); } - // todo compaction energy 8 * Long.MAx_VALUE? + //todo compaction energy 8 * Long.MAx_VALUE? - // todo neutronium decay gen? 0.0007186885 mass diff - actually compute hydrogen amount... + //todo neutronium decay gen? 0.0007186885 mass diff - actually compute hydrogen amount... @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { @@ -2540,32 +275,21 @@ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_E glassDome = false; return true; } - // todo check tiers of hatches!!!! + //todo check tiers of hatches!!!! return false; } @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.em.blackholegenerator.name")) // Machine Type: Black Hole - // Generator - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.blackholegenerator.desc.0")) // Controller block of - // the Black Hole - // Generator - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.blackholegenerator.desc.1")) // Uses a black hole to - // generate power + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.blackholegenerator.name")) // Machine Type: Black Hole Generator + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.blackholegenerator.desc.0")) // Controller block of the Black Hole Generator + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.blackholegenerator.desc.1")) // Uses a black hole to generate power .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(33, 33, 33, false) - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), - 1) // Energy Hatch: Any High Power Casing with 1 dot - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), - 1) // Maintenance Hatch: Any High Power Casing with 1 dot + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), 1) // Energy Hatch: Any High Power Casing with 1 dot + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), 1) // Maintenance Hatch: Any High Power Casing with 1 dot .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -2579,20 +303,11 @@ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_E } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { + 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][12], - new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) - }; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][12], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; } - return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][12]}; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][12]}; } @Override 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 7651cb22c4..49d97e1e7b 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 @@ -1,16 +1,6 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.CommonValues.MULTI_CHECK_AT; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static net.minecraft.util.StatCollector.translateToLocal; - +import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.dataTransport.QuantumDataPacket; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputData; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_OutputData; @@ -18,6 +8,8 @@ import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_H import com.github.technus.tectech.thing.metaTileEntity.multi.base.*; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; import com.github.technus.tectech.util.CommonValues; +import com.github.technus.tectech.util.TT_Utility; +import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; @@ -34,73 +26,98 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.IGT_HatchAdder; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.CommonValues.MULTI_CHECK_AT; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockBase_EM - implements ISurvivalConstructable { - // region variables +public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable { + //region variables private final ArrayList eRacks = new ArrayList<>(); private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; - // endregion - - // region structure - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal( - "gt.blockmachines.multimachine.em.computer.hint.0"), // 1 - Classic/Data Hatches or Computer casing - translateToLocal( - "gt.blockmachines.multimachine.em.computer.hint.1"), // 2 - Rack Hatches or Advanced computer casing + //endregion + + //region structure + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.computer.hint.0"),//1 - Classic/Data Hatches or Computer casing + translateToLocal("gt.blockmachines.multimachine.em.computer.hint.1"),//2 - Rack Hatches or Advanced computer casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("front", transpose(new String[][] {{" AA"}, {" AA"}, {" ~A"}, {" AA"}})) - .addShape("cap", transpose(new String[][] {{"-CB"}, {" DD"}, {" DD"}, {"-CB"}})) - .addShape("slice", transpose(new String[][] {{"-CB"}, {" ED"}, {" ED"}, {"-CB"}})) - .addShape("back", transpose(new String[][] {{" AA"}, {" AA"}, {" AA"}, {" AA"}})) - .addElement('B', ofBlock(sBlockCasingsTT, 1)) - .addElement('C', ofBlock(sBlockCasingsTT, 2)) - .addElement('D', ofBlock(sBlockCasingsTT, 3)) - .addElement('A', classicHatches(textureOffset + 1, 1, sBlockCasingsTT, 1)) - .addElement( - 'E', - ofChain( - RackHatchElement.INSTANCE.newAny(textureOffset + 3, 2), - ofBlock(sBlockCasingsTT, 3))) - .build(); - // endregion - - // region parameters + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("front", transpose(new String[][]{ + {" AA"}, + {" AA"}, + {" ~A"}, + {" AA"} + })) + .addShape("cap", transpose(new String[][]{ + {"-CB"}, + {" DD"}, + {" DD"}, + {"-CB"} + })) + .addShape("slice", transpose(new String[][]{ + {"-CB"}, + {" ED"}, + {" ED"}, + {"-CB"} + })) + .addShape("back", transpose(new String[][]{ + {" AA"}, + {" AA"}, + {" AA"}, + {" AA"} + })) + .addElement('B', ofBlock(sBlockCasingsTT, 1)) + .addElement('C', ofBlock(sBlockCasingsTT, 2)) + .addElement('D', ofBlock(sBlockCasingsTT, 3)) + .addElement('A', classicHatches(textureOffset + 1, 1, sBlockCasingsTT, 1)) + .addElement('E', ofChain( + RackHatchElement.INSTANCE.newAny(textureOffset + 3, 2), + ofBlock(sBlockCasingsTT, 3) + )) + .build(); + //endregion + + //region parameters protected Parameters.Group.ParameterIn overclock, overvolt; protected Parameters.Group.ParameterOut maxCurrentTemp, availableData; - private static final INameFunction OC_NAME = - (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgi.0"); // Overclock ratio - private static final INameFunction OV_NAME = - (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgi.1"); // Overvoltage ratio - private static final INameFunction MAX_TEMP_NAME = - (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgo.0"); // Current max. heat - private static final INameFunction COMPUTE_NAME = - (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgo.1"); // Produced computation - private static final IStatusFunction OC_STATUS = + private static final INameFunction OC_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgi.0");//Overclock ratio + private static final INameFunction OV_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgi.1");//Overvoltage ratio + private static final INameFunction MAX_TEMP_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgo.0");//Current max. heat + private static final INameFunction COMPUTE_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgo.1");//Produced computation + private static final IStatusFunction OC_STATUS = (base, p) -> LedStatus.fromLimitsInclusiveOuterBoundary(p.get(), 0, 1, 1, 3); - private static final IStatusFunction OV_STATUS = + private static final IStatusFunction OV_STATUS = (base, p) -> LedStatus.fromLimitsInclusiveOuterBoundary(p.get(), .7, .8, 1.2, 2); private static final IStatusFunction MAX_TEMP_STATUS = (base, p) -> LedStatus.fromLimitsInclusiveOuterBoundary(p.get(), -10000, 0, 0, 5000); - private static final IStatusFunction COMPUTE_STATUS = (base, p) -> { + private static final IStatusFunction COMPUTE_STATUS = (base, p) -> { if (base.eAvailableData < 0) { return STATUS_TOO_LOW; } @@ -109,18 +126,18 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB } return STATUS_OK; }; - // endregion + //endregion public GT_MetaTileEntity_EM_computer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); eCertainMode = 5; - eCertainStatus = -128; // no-brain value + eCertainStatus = -128;//no-brain value } public GT_MetaTileEntity_EM_computer(String aName) { super(aName); eCertainMode = 5; - eCertainStatus = -128; // no-brain value + eCertainStatus = -128;//no-brain value } @Override @@ -180,10 +197,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { super.onPostTick(aBaseMetaTileEntity, aTick); - if (aBaseMetaTileEntity.isServerSide() - && mMachine - && !aBaseMetaTileEntity.isActive() - && aTick % 20 == MULTI_CHECK_AT) { + if (aBaseMetaTileEntity.isServerSide() && mMachine && !aBaseMetaTileEntity.isActive() && aTick % 20 == MULTI_CHECK_AT) { double maxTemp = 0; for (GT_MetaTileEntity_Hatch_Rack rack : eRacks) { if (!GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(rack)) { @@ -201,8 +215,8 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB public boolean checkRecipe_EM(ItemStack itemStack) { parametrization.setToDefaults(false, true); eAvailableData = 0; - double maxTemp = 0; - double overClockRatio = overclock.get(); + double maxTemp = 0; + double overClockRatio = overclock.get(); double overVoltageRatio = overvolt.get(); if (Double.isNaN(overClockRatio) || Double.isNaN(overVoltageRatio)) { return false; @@ -216,7 +230,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB return false; } short thingsActive = 0; - int rackComputation; + int rackComputation; for (GT_MetaTileEntity_Hatch_Rack rack : eRacks) { if (!GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(rack)) { @@ -234,7 +248,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB } for (GT_MetaTileEntity_Hatch_InputData di : eInputData) { - if (di.q != null) // ok for power losses + if (di.q != null)//ok for power losses { thingsActive++; } @@ -265,8 +279,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB @Override public void outputAfterRecipe_EM() { if (!eOutputData.isEmpty()) { - Vec3Impl pos = new Vec3Impl( - getBaseMetaTileEntity().getXCoord(), + Vec3Impl pos = new Vec3Impl(getBaseMetaTileEntity().getXCoord(), getBaseMetaTileEntity().getYCoord(), getBaseMetaTileEntity().getZCoord()); @@ -293,38 +306,18 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.em.computer.name")) // Machine Type: Quantum Computer - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.computer.desc.0")) // Controller block of the Quantum Computer - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.computer.desc.1")) // Used to generate computation (and heat) + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.computer.name")) // Machine Type: Quantum Computer + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.computer.desc.0")) // Controller block of the Quantum Computer + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.computer.desc.1")) // Used to generate computation (and heat) .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginVariableStructureBlock(2, 2, 4, 4, 5, 16, false) - .addOtherStructurePart( - translateToLocal("gt.blockmachines.hatch.certain.tier.07.name"), - translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), - 1) // Uncertainty Resolver: Any Computer Casing on first or last slice - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.DataConnector"), - translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), - 1) // Optical Connector: Any Computer Casing on first or last slice - .addOtherStructurePart( - translateToLocal("gt.blockmachines.hatch.rack.tier.08.name"), - translateToLocal("tt.keyword.Structure.AnyAdvComputerCasingExceptOuter"), - 2) // Computer Rack: Any Advanced Computer Casing, except the outer ones - .addOtherStructurePart( - translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), - translateToLocal("tt.keyword.Structure.Optional") + " " - + translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), - 2) // Parametrizer: (optional) Any Computer Casing on first or last slice - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), - 1) // Energy Hatch: Any Computer Casing on first or last slice - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), - 1) // Maintenance Hatch: Any Computer Casing on first or last slice + .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.certain.tier.07.name"), translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), 1) // Uncertainty Resolver: Any Computer Casing on first or last slice + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.DataConnector"), translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), 1) // Optical Connector: Any Computer Casing on first or last slice + .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.rack.tier.08.name"), translateToLocal("tt.keyword.Structure.AnyAdvComputerCasingExceptOuter"), 2) // Computer Rack: Any Advanced Computer Casing, except the outer ones + .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), translateToLocal ("tt.keyword.Structure.Optional") + " " + translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), 2) // Parametrizer: (optional) Any Computer Casing on first or last slice + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), 1) // Energy Hatch: Any Computer Casing on first or last slice + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), 1) // Maintenance Hatch: Any Computer Casing on first or last slice .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -338,20 +331,11 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { + 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][3], - new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) - }; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][3], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; } - return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][3]}; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][3]}; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafting.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafting.java index 293baacb54..822e6d6ddf 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafting.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafting.java @@ -1,13 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; @@ -25,73 +17,51 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_crafting extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - // region variables + //region variables private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; public static final String crafter = "EM Crafting"; - // endregion - - // region structure - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.crafter.hint.0"), // 1 - Classic Hatches or High Power Casing - translateToLocal( - "gt.blockmachines.multimachine.em.crafter.hint.1"), // 2 - Elemental Hatches or Molecular Casing + //endregion + + //region structure + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.crafter.hint.0"),//1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.crafter.hint.1"),//2 - Elemental Hatches or Molecular Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("main", transpose(new String[][] { - { - " AAA ", "AAAAA", "A A", "BBBBB", "BGCGB", "BGGGB", "BGCGB", "BBBBB", "A A", "AAAAA", - " AAA " - }, - { - "AHHHA", "AAAAA", " FFF ", "BBBBB", "GGGGG", "GGGGG", "GGGGG", "BBBBB", " FFF ", "AAAAA", - "AHHHA" - }, - { - "AH~HA", "AAAAA", " FEF ", "BBEBB", "CGEGC", "GGDGG", "CGEGC", "BBEBB", " FEF ", "AAAAA", - "AHHHA" - }, - { - "AHHHA", "AAAAA", " FFF ", "BBBBB", "GGGGG", "GGGGG", "GGGGG", "BBBBB", " FFF ", "AAAAA", - "AHHHA" - }, - { - " AAA ", "AAAAA", "A A", "BBBBB", "BGCGB", "BGGGB", "BGCGB", "BBBBB", "A A", "AAAAA", - " AAA " - } - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('C', ofBlock(sBlockCasingsTT, 6)) - .addElement('D', ofBlock(sBlockCasingsTT, 9)) - .addElement('E', ofBlock(sBlockCasingsTT, 10)) - .addElement('G', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement( - 'H', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_crafting::addClassicToMachineList, - textureOffset, - 1, - sBlockCasingsTT, - 0)) - .addElement( - 'F', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_crafting::addElementalToMachineList, - textureOffset + 4, - 2, - sBlockCasingsTT, - 4)) - .build(); - // endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("main", transpose(new String[][]{ + {" AAA ", "AAAAA", "A A", "BBBBB", "BGCGB", "BGGGB", "BGCGB", "BBBBB", "A A", "AAAAA", " AAA "}, + {"AHHHA", "AAAAA", " FFF ", "BBBBB", "GGGGG", "GGGGG", "GGGGG", "BBBBB", " FFF ", "AAAAA", "AHHHA"}, + {"AH~HA", "AAAAA", " FEF ", "BBEBB", "CGEGC", "GGDGG", "CGEGC", "BBEBB", " FEF ", "AAAAA", "AHHHA"}, + {"AHHHA", "AAAAA", " FFF ", "BBBBB", "GGGGG", "GGGGG", "GGGGG", "BBBBB", " FFF ", "AAAAA", "AHHHA"}, + {" AAA ", "AAAAA", "A A", "BBBBB", "BGCGB", "BGGGB", "BGCGB", "BBBBB", "A A", "AAAAA", " AAA "} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement('C', ofBlock(sBlockCasingsTT, 6)) + .addElement('D', ofBlock(sBlockCasingsTT, 9)) + .addElement('E', ofBlock(sBlockCasingsTT, 10)) + .addElement('G', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement('H', ofHatchAdderOptional(GT_MetaTileEntity_EM_crafting::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) + .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_crafting::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) + .build(); + //endregion public GT_MetaTileEntity_EM_crafting(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -122,42 +92,24 @@ public class GT_MetaTileEntity_EM_crafting extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.em.crafter.name")) // Machine Type: Matter Assembler - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.crafter.desc.0")) // Controller block of the Matter Assembler + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.crafter.name")) // Machine Type: Matter Assembler + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.crafter.desc.0")) // Controller block of the Matter Assembler .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(5, 5, 11, false) - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.Elemental"), - translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), - 2) // Elemental Hatch: Any Molecular Casing with 2 dot - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.Elemental"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), 2) // Elemental Hatch: Any Molecular Casing with 2 dot + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { + 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][12], - new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) - }; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][12], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; } - return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][12]}; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][12]}; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java index 01eab07bd5..48aabf8da3 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java @@ -1,15 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.Reference; import com.github.technus.tectech.mechanics.dataTransport.InventoryDataPacket; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputDataItems; @@ -19,6 +9,7 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContaine import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; import com.github.technus.tectech.util.CommonValues; +import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; @@ -33,10 +24,6 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_DataAccess; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.IGT_HatchAdder; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.IInventory; @@ -44,45 +31,55 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; -public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockBase_EM - implements ISurvivalConstructable { - // region variables +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import static net.minecraft.util.StatCollector.translateToLocal; + +public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable { + //region variables private final ArrayList eStacksDataOutputs = new ArrayList<>(); - private final ArrayList eDataAccessHatches = new ArrayList<>(); + private final ArrayList eDataAccessHatches = new ArrayList<>(); private boolean slave = false; - // endregion + //endregion - // region structure - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal( - "gt.blockmachines.multimachine.em.databank.hint.0"), // 1 - Classic Hatches or high power casing - translateToLocal( - "gt.blockmachines.multimachine.em.databank.hint.1"), // 2 - Data Access/Data Bank Master Hatches or - // computer casing + //region structure + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.databank.hint.0"),//1 - Classic Hatches or high power casing + translateToLocal("gt.blockmachines.multimachine.em.databank.hint.1"),//2 - Data Access/Data Bank Master Hatches or computer casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("main", transpose(new String[][] { - {"BCCCB", "BDDDB", "BDDDB"}, - {"BC~CB", "BAAAB", "BDDDB"}, - {"BCCCB", "BDDDB", "BDDDB"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 1)) - .addElement('B', ofBlock(sBlockCasingsTT, 2)) - .addElement('C', classicHatches(textureOffset, 1, sBlockCasingsTT, 0)) - .addElement( - 'D', - buildHatchAdder(GT_MetaTileEntity_EM_dataBank.class) - .atLeast(DataBankHatches.OutboundConnector, DataBankHatches.InboundConnector) - .casingIndex(textureOffset + 1) - .dot(2) - .buildAndChain( - DataBankHatches.DataStick.newAny(textureOffset + 1, 2), - ofBlock(sBlockCasingsTT, 1))) - .build(); - // endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("main", transpose(new String[][]{ + {"BCCCB", "BDDDB", "BDDDB"}, + {"BC~CB", "BAAAB", "BDDDB"}, + {"BCCCB", "BDDDB", "BDDDB"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 1)) + .addElement('B', ofBlock(sBlockCasingsTT, 2)) + .addElement('C', classicHatches(textureOffset, 1, sBlockCasingsTT, 0)) + .addElement('D', buildHatchAdder(GT_MetaTileEntity_EM_dataBank.class) + .atLeast(DataBankHatches.OutboundConnector, DataBankHatches.InboundConnector) + .casingIndex(textureOffset + 1) + .dot(2) + .buildAndChain( + DataBankHatches.DataStick.newAny(textureOffset + 1, 2), + ofBlock(sBlockCasingsTT, 1) + )) + .build(); + //endregion public GT_MetaTileEntity_EM_dataBank(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -100,33 +97,17 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.databank.name")) // Machine Type: Data Bank - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.databank.desc.0")) // Controller block of the Data Bank - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.databank.desc.1")) // Used to supply Assembling Lines - // with more Data Sticks - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.databank.desc.2")) // and give multiple Assembling - // Lines access to the same Data - // Stick + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.databank.name")) // Machine Type: Data Bank + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.databank.desc.0")) // Controller block of the Data Bank + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.databank.desc.1")) // Used to supply Assembling Lines with more Data Sticks + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.databank.desc.2")) // and give multiple Assembling Lines access to the same Data Stick .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(5, 3, 3, false) - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.DataAccessHatch"), - translateToLocal("tt.keyword.Structure.AnyComputerCasing"), - 2) // Data Access Hatch: Any Computer Casing - .addOtherStructurePart( - translateToLocal("gt.blockmachines.hatch.dataoutass.tier.07.name"), - translateToLocal("tt.keyword.Structure.AnyComputerCasing"), - 2) // Data Bank Master Connector: Any Computer Casing - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.DataAccessHatch"), translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 2) // Data Access Hatch: Any Computer Casing + .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.dataoutass.tier.07.name"), translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 2) // Data Bank Master Connector: Any Computer Casing + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -182,37 +163,18 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM( - aPlayerInventory, - aBaseMetaTileEntity, - getLocalName(), - "EMDisplay.png", - true, - false, - true); // todo texture + return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png", true, false, true);//todo texture } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { + 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][1], - new TT_RenderedExtendedFacingTexture( - aActive - ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON - : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF) - }; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][1], new TT_RenderedExtendedFacingTexture(aActive ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF)}; } - return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][1]}; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][1]}; } - public static final 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) @@ -231,8 +193,7 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_OutputDataItems) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); return eStacksDataOutputs.add((GT_MetaTileEntity_Hatch_OutputDataItems) aMetaTileEntity); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_DataAccess - && !(aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputDataItems)) { + } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_DataAccess && !(aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputDataItems)) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); return eDataAccessHatches.add(aMetaTileEntity); } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputDataItems) { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java index 3c69391f17..2d07932c92 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java @@ -1,18 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.STATUS_OK; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.STATUS_TOO_LOW; -import static com.github.technus.tectech.util.CommonValues.VN; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti; @@ -44,74 +31,69 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import org.apache.commons.lang3.reflect.FieldUtils; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.STATUS_OK; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.STATUS_TOO_LOW; +import static com.github.technus.tectech.util.CommonValues.VN; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - // region variables + //region variables private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; - public static final double URANIUM_INGOT_MASS_DIFF = 1.6114516E10 * EM_COUNT_PER_MATERIAL_AMOUNT; - private static final double URANIUM_MASS_TO_EU_PARTIAL = - ConfigUtil.getDouble(MainConfig.get(), "balance/energy/generator/nuclear") - * 3_000_000.0 - / URANIUM_INGOT_MASS_DIFF; + public static final double URANIUM_INGOT_MASS_DIFF = 1.6114516E10* EM_COUNT_PER_MATERIAL_AMOUNT; + private static final double URANIUM_MASS_TO_EU_PARTIAL = ConfigUtil.getDouble(MainConfig.get(), "balance/energy/generator/nuclear") * 3_000_000.0 / URANIUM_INGOT_MASS_DIFF; public static final double URANIUM_MASS_TO_EU_INSTANT = URANIUM_MASS_TO_EU_PARTIAL * 20; private String clientLocale = "en_US"; - // endregion + //endregion - // region structure - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.decay.hint.0"), // 1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.decay.hint.1"), // 2 - Elemental Hatches or Molecular Casing + //region structure + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.decay.hint.0"),//1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.decay.hint.1"),//2 - Elemental Hatches or Molecular Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("main", transpose(new String[][] { - {"A A", "AAAAA", "A A", "ABBBA", "ABCBA", "ABBBA", "A A", "AAAAA", "A A"}, - {" FFF ", "AAAAA", " EEE ", "BDDDB", "BDDDB", "BDDDB", " EEE ", "AAAAA", " FFF "}, - {" F~F ", "AAAAA", " EAE ", "BDDDB", "CDDDC", "BDDDB", " EAE ", "AAAAA", " FFF "}, - {" FFF ", "AAAAA", " EEE ", "BDDDB", "BDDDB", "BDDDB", " EEE ", "AAAAA", " FFF "}, - {"A A", "AAAAA", "A A", "ABBBA", "ABCBA", "ABBBA", "A A", "AAAAA", "A A"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('C', ofBlock(sBlockCasingsTT, 6)) - .addElement('D', ofBlock(sBlockCasingsTT, 8)) - .addElement( - 'F', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_decay::addClassicToMachineList, - textureOffset, - 1, - sBlockCasingsTT, - 0)) - .addElement( - 'E', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_decay::addElementalToMachineList, - textureOffset + 4, - 2, - sBlockCasingsTT, - 4)) - .build(); - // endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("main",transpose(new String[][]{ + {"A A","AAAAA","A A","ABBBA","ABCBA","ABBBA","A A","AAAAA","A A"}, + {" FFF ","AAAAA"," EEE ","BDDDB","BDDDB","BDDDB"," EEE ","AAAAA"," FFF "}, + {" F~F ","AAAAA"," EAE ","BDDDB","CDDDC","BDDDB"," EAE ","AAAAA"," FFF "}, + {" FFF ","AAAAA"," EEE ","BDDDB","BDDDB","BDDDB"," EEE ","AAAAA"," FFF "}, + {"A A","AAAAA","A A","ABBBA","ABCBA","ABBBA","A A","AAAAA","A A"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement('C', ofBlock(sBlockCasingsTT, 6)) + .addElement('D', ofBlock(sBlockCasingsTT, 8)) + .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_decay::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) + .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_EM_decay::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) + .build(); + //endregion - // region parameters + //region parameters protected Parameters.Group.ParameterIn ampereFlow; - private static final INameFunction FLOW_NAME = - (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.decay.conf"); // Ampere divider + private static final INameFunction FLOW_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.decay.conf");//Ampere divider private static final IStatusFunction FLOW_STATUS = (base, p) -> { if (base.eAmpereFlow <= 0) { return STATUS_TOO_LOW; } return STATUS_OK; }; - // endregion + //endregion public GT_MetaTileEntity_EM_decay(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -151,11 +133,9 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase outputEM[1] = new EMInstanceStackMap(); for (EMInstanceStack stack : outputEM[0].valuesToArray()) { - if (stack.getEnergy() == 0 - && stack.getDefinition().decayMakesEnergy(1) - && getBaseMetaTileEntity() - .decreaseStoredEnergyUnits( - (long) (stack.getEnergySettingCost(1) * URANIUM_MASS_TO_EU_INSTANT), false)) { + if (stack.getEnergy() == 0 && stack.getDefinition().decayMakesEnergy(1) && + getBaseMetaTileEntity().decreaseStoredEnergyUnits( + (long) (stack.getEnergySettingCost(1) * URANIUM_MASS_TO_EU_INSTANT), false)) { stack.setEnergy(1); } else if (!stack.getDefinition().decayMakesEnergy(stack.getEnergy())) { outputEM[0].removeKey(stack.getDefinition()); @@ -169,7 +149,7 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase return false; } double energyDose = -outputEM[0].tickContent(1, 0, 1) * URANIUM_MASS_TO_EU_PARTIAL; - mEUt = (int) (energyDose / eAmpereFlow); + mEUt = (int) ( energyDose / eAmpereFlow); return outputEM[0].hasStacks(); } @@ -184,36 +164,22 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.em.decay.name")) // Machine Type: Decay Generator - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.decay.desc.0")) // Controller block of the Decay Generator - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.decay.desc.1")) // Decays elemental matter to generate power + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.decay.name")) // Machine Type: Decay Generator + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.decay.desc.0")) // Controller block of the Decay Generator + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.decay.desc.1")) // Decays elemental matter to generate power .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(5, 5, 9, false) - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.Elemental"), - translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), - 2) // Elemental Hatch: Any Molecular Casing with 2 dot - .addOtherStructurePart( - translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), - translateToLocal("tt.keyword.Structure.Optional") + " " - + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Parametrizer: (optional) Any High Power Casing - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.Elemental"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), 2) // Elemental Hatch: Any Molecular Casing with 2 dot + .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), translateToLocal ("tt.keyword.Structure.Optional") + " " + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Parametrizer: (optional) Any High Power Casing + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @Override - public String[] getInfoData() { // TODO Do it + public String[] getInfoData() {//TODO Do it long storedEnergy = 0; long maxEnergy = 0; for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { @@ -229,42 +195,32 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase } } - return new String[] { - translateToLocalFormatted("tt.keyword.Progress", clientLocale) + ":", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(mProgresstime / 20) + EnumChatFormatting.RESET + " s / " - + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(mMaxProgresstime / 20) - + EnumChatFormatting.RESET + " s", - translateToLocalFormatted("tt.keyphrase.Energy_Hatches", clientLocale) + ":", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " - + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET - + " EU", - (mEUt <= 0 - ? translateToLocalFormatted("tt.keyphrase.Probably_uses", clientLocale) + ": " - : translateToLocalFormatted("tt.keyphrase.Probably_makes", clientLocale) + ": ") - + EnumChatFormatting.RED - + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t at " - + EnumChatFormatting.RED - + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", - translateToLocalFormatted("tt.keyphrase.Tier_Rating", clientLocale) + ": " + EnumChatFormatting.YELLOW - + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + EnumChatFormatting.GREEN - + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " " - + translateToLocalFormatted("tt.keyphrase.Amp_Rating", clientLocale) - + ": " + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", - translateToLocalFormatted("tt.keyword.Problems", clientLocale) + ": " + EnumChatFormatting.RED - + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + " " - + translateToLocalFormatted("tt.keyword.Efficiency", clientLocale) - + ": " + EnumChatFormatting.YELLOW - + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", - translateToLocalFormatted("tt.keyword.PowerPass", clientLocale) + ": " + EnumChatFormatting.BLUE - + ePowerPass + EnumChatFormatting.RESET + " " - + translateToLocalFormatted("tt.keyword.SafeVoid", clientLocale) - + ": " + EnumChatFormatting.BLUE - + eSafeVoid, - translateToLocalFormatted("tt.keyword.Computation", clientLocale) + ": " + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET, + return new String[]{ + translateToLocalFormatted("tt.keyword.Progress", clientLocale) + ":", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(mProgresstime / 20) + EnumChatFormatting.RESET + " s / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(mMaxProgresstime / 20) + EnumChatFormatting.RESET + " s", + translateToLocalFormatted("tt.keyphrase.Energy_Hatches", clientLocale) + ":", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + " EU", + (mEUt <= 0 ? translateToLocalFormatted("tt.keyphrase.Probably_uses", clientLocale) + ": " : translateToLocalFormatted("tt.keyphrase.Probably_makes", clientLocale) + ": ") + + EnumChatFormatting.RED + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t at " + + EnumChatFormatting.RED + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", + translateToLocalFormatted("tt.keyphrase.Tier_Rating", clientLocale) + ": " + + EnumChatFormatting.YELLOW + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + + EnumChatFormatting.GREEN + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyphrase.Amp_Rating", clientLocale) + ": " + + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", + translateToLocalFormatted("tt.keyword.Problems", clientLocale) + ": " + + EnumChatFormatting.RED + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyword.Efficiency", clientLocale) + ": " + + EnumChatFormatting.YELLOW + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", + translateToLocalFormatted("tt.keyword.PowerPass", clientLocale) + ": " + + EnumChatFormatting.BLUE + ePowerPass + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyword.SafeVoid", clientLocale) + ": " + + EnumChatFormatting.BLUE + eSafeVoid, + translateToLocalFormatted("tt.keyword.Computation", clientLocale) + ": " + + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET, }; } @@ -277,20 +233,11 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { + 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][12], - new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) - }; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][12], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; } - return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][12]}; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][12]}; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java index d2132869ee..ef26152a82 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java @@ -1,17 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.STABLE_RAW_LIFE_TIME; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refMass; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refUnstableMass; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; @@ -29,64 +17,55 @@ import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import java.util.ArrayList; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; +import java.util.ArrayList; + +import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.STABLE_RAW_LIFE_TIME; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refMass; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refUnstableMass; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_dequantizer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - // region structure - // use multi A energy inputs, use less power the longer it runs - - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("main", transpose(new String[][] { - {"CCC", "ABA", "EEE", "BDB"}, - {"C~C", "BBB", "EBE", "DFD"}, - {"CCC", "ABA", "EEE", "BDB"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 0)) - .addElement('B', ofBlock(sBlockCasingsTT, 4)) - .addElement('D', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement( - 'C', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_dequantizer::addClassicToMachineList, - textureOffset, - 1, - sBlockCasingsTT, - 0)) - .addElement( - 'F', - ofHatchAdder( - GT_MetaTileEntity_EM_dequantizer::addElementalInputToMachineList, - textureOffset + 4, - 2)) - .addElement( - 'E', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_dequantizer::addElementalMufflerToMachineList, - textureOffset + 4, - 3, - sBlockCasingsTT, - 4)) - .build(); - - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal( - "gt.blockmachines.multimachine.em.emtomatter.hint.0"), // 1 - Classic Hatches or High Power Casing" - translateToLocal("gt.blockmachines.multimachine.em.emtomatter.hint.1"), // 2 - Elemental Input Hatch - translateToLocal( - "gt.blockmachines.multimachine.em.emtomatter.hint.2"), // 3 - Elemental Overflow Hatches or Molecular - // Casing + //region structure + //use multi A energy inputs, use less power the longer it runs + + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("main", transpose(new String[][]{ + {"CCC", "ABA", "EEE", "BDB"}, + {"C~C", "BBB", "EBE", "DFD"}, + {"CCC", "ABA", "EEE", "BDB"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 0)) + .addElement('B', ofBlock(sBlockCasingsTT, 4)) + .addElement('D', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement('C', ofHatchAdderOptional(GT_MetaTileEntity_EM_dequantizer::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) + .addElement('F', ofHatchAdder(GT_MetaTileEntity_EM_dequantizer::addElementalInputToMachineList, textureOffset + 4, 2)) + .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_EM_dequantizer::addElementalMufflerToMachineList, textureOffset + 4, 3, sBlockCasingsTT, 4)) + .build(); + + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.emtomatter.hint.0"),//1 - Classic Hatches or High Power Casing" + translateToLocal("gt.blockmachines.multimachine.em.emtomatter.hint.1"),//2 - Elemental Input Hatch + translateToLocal("gt.blockmachines.multimachine.em.emtomatter.hint.2"),//3 - Elemental Overflow Hatches or Molecular Casing }; - // endregion + //endregion public GT_MetaTileEntity_EM_dequantizer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -99,7 +78,7 @@ public class GT_MetaTileEntity_EM_dequantizer extends GT_MetaTileEntity_Multiblo private void startRecipe(IEMStack from, long energy) { mMaxProgresstime = 20; mEfficiencyIncrease = 10000; - double mass = from.getMass(); + double mass = from.getMass(); double euMult = Math.abs(mass / refMass); eAmpereFlow = (int) Math.ceil(Math.sqrt(Math.sqrt(euMult))); if (mass > refUnstableMass || from.getDefinition().getRawTimeSpan(energy) < STABLE_RAW_LIFE_TIME) { @@ -124,21 +103,17 @@ public class GT_MetaTileEntity_EM_dequantizer extends GT_MetaTileEntity_Multiblo for (GT_MetaTileEntity_Hatch_InputElemental in : eInputHatches) { EMInstanceStackMap map = in.getContentHandler(); for (EMInstanceStack stack : map.valuesToArray()) { - EMDequantizationInfo emDequantizationInfo = - TecTech.transformationInfo.getInfoMap().get(stack.getDefinition()); - if (emDequantizationInfo != null - && emDequantizationInfo.getStack() != null - && map.removeAllAmounts(emDequantizationInfo.getInput())) { + EMDequantizationInfo emDequantizationInfo = TecTech.transformationInfo.getInfoMap().get(stack.getDefinition()); + if (emDequantizationInfo != null && emDequantizationInfo.getStack() != null && map.removeAllAmounts(emDequantizationInfo.getInput())) { Object out = emDequantizationInfo.getStack(); if (out instanceof ItemStack) { - mOutputItems = new ItemStack[] {emDequantizationInfo.getItem()}; + mOutputItems = new ItemStack[]{emDequantizationInfo.getItem()}; } else if (out instanceof FluidStack) { - mOutputFluids = new FluidStack[] {emDequantizationInfo.getFluid()}; + mOutputFluids = new FluidStack[]{emDequantizationInfo.getFluid()}; } else if (out instanceof OreDictionaryStack) { - ArrayList items = OreDictionary.getOres(OreDictionary.getOreName( - emDequantizationInfo.getOre().getOreId())); + ArrayList items = OreDictionary.getOres(OreDictionary.getOreName(emDequantizationInfo.getOre().getOreId())); if (items != null && !items.isEmpty()) { - mOutputItems = new ItemStack[] {items.get(0)}; + mOutputItems = new ItemStack[]{items.get(0)}; } } startRecipe(emDequantizationInfo.getInput(), stack.getEnergy()); @@ -152,34 +127,17 @@ public class GT_MetaTileEntity_EM_dequantizer extends GT_MetaTileEntity_Multiblo @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.em.emtomatter.name")) // Machine Type: Matter Dequantizer - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.emtomatter.desc.0")) // Controller block of the Matter - // Dequantizer - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.emtomatter.desc.1")) // Transforms elemental matter - // back into items + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.emtomatter.name")) // Machine Type: Matter Dequantizer + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.emtomatter.desc.0")) // Controller block of the Matter Dequantizer + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.emtomatter.desc.1")) // Transforms elemental matter back into items .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(3, 3, 4, false) - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.ElementalInput"), - translateToLocal("tt.keyword.Structure.BackCenter"), - 2) // Elemental Input Hatch: Back center - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.ElementalOverflow"), - translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd"), - 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 3rd slice - .addOutputBus( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), - 1) // Output Bus: Any High Power Casing on the front side - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), - 1) // Energy Hatch: Any High Power Casing on the front side - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), - 1) // Maintenance Hatch: Any High Power Casing on the front side + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalInput"), translateToLocal("tt.keyword.Structure.BackCenter"), 2) // Elemental Input Hatch: Back center + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOverflow"), translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd"), 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 3rd slice + .addOutputBus(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Output Bus: Any High Power Casing on the front side + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Energy Hatch: Any High Power Casing on the front side + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Maintenance Hatch: Any High Power Casing on the front side .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java index 65ebff7a6e..51262076cd 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java @@ -1,14 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.GregTech_API.mEUtoRF; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - import cofh.api.energy.IEnergyContainerItem; import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; @@ -34,6 +25,15 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.GregTech_API.mEUtoRF; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 17.12.2016. */ @@ -43,33 +43,26 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa private static final long usedEuPerDurability = 1000; private static final int usedUumPerDurability = 1; - // region structure - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.infuser.hint"), // 1 - Classic Hatches or High Power Casing + //region structure + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.infuser.hint"),//1 - Classic Hatches or High Power Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("main", transpose(new String[][] { - {"CCC", "CCC", "CCC"}, - {"BBB", "BAB", "BBB"}, - {"A~A", "AAA", "AAA"}, - {"BBB", "BAB", "BBB"}, - {"CCC", "CCC", "CCC"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 7)) - .addElement( - 'C', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_infuser::addClassicToMachineList, - textureOffset, - 1, - sBlockCasingsTT, - 0)) - .build(); - // endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("main", transpose(new String[][]{ + {"CCC", "CCC", "CCC"}, + {"BBB", "BAB", "BBB"}, + {"A~A", "AAA", "AAA"}, + {"BBB", "BAB", "BBB"}, + {"CCC", "CCC", "CCC"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 7)) + .addElement('C', ofHatchAdderOptional(GT_MetaTileEntity_EM_infuser::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) + .build(); + //endregion public GT_MetaTileEntity_EM_infuser(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -90,10 +83,9 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa Item item = stack.getItem(); if (stack.stackSize == 1) { if (item instanceof IElectricItem) { - return ElectricItem.manager.getCharge(stack) >= ((IElectricItem) item).getMaxCharge(stack); + return ElectricItem.manager.getCharge(stack) >= ((IElectricItem)item).getMaxCharge(stack); } else if (TecTech.hasCOFH && item instanceof IEnergyContainerItem) { - return ((IEnergyContainerItem) item).getEnergyStored(stack) - >= ((IEnergyContainerItem) item).getMaxEnergyStored(stack); + return ((IEnergyContainerItem)item).getEnergyStored(stack) >= ((IEnergyContainerItem)item).getMaxEnergyStored(stack); } } return true; @@ -111,7 +103,9 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa try { double euDiff = item.getMaxCharge(stack) - ElectricItem.manager.getCharge(stack); long remove = (long) Math.ceil( - ElectricItem.manager.charge(stack, Math.min(euDiff, getEUVar()), item.getTier(stack), true, false)); + ElectricItem.manager.charge(stack, + Math.min(euDiff, getEUVar()) + , item.getTier(stack), true, false)); setEUVar(getEUVar() - remove); if (getEUVar() < 0) { setEUVar(0); @@ -127,8 +121,7 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa private long doChargeItemStackRF(IEnergyContainerItem item, ItemStack stack) { try { - long RF = - Math.min(item.getMaxEnergyStored(stack) - item.getEnergyStored(stack), getEUVar() * mEUtoRF / 100L); + long RF = Math.min(item.getMaxEnergyStored(stack) - item.getEnergyStored(stack), getEUVar() * mEUtoRF / 100L); RF = item.receiveEnergy(stack, RF > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int) RF, false); RF = RF * 100L / mEUtoRF; setEUVar(getEUVar() - RF); @@ -195,22 +188,12 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa } } else { if (item.isRepairable()) { - FluidStack uum = getStoredFluids().stream() - .filter(fluid -> Materials.UUMatter.getFluid(1) - .isFluidEqual(fluid)) - .findAny() - .orElse(null); + FluidStack uum = getStoredFluids().stream().filter(fluid -> Materials.UUMatter.getFluid(1).isFluidEqual(fluid)).findAny().orElse(null); if (uum != null) { - int repairedDamage = - Math.min(item.getDamage(itemStackInBus), maxRepairedDamagePerOperation); + int repairedDamage = Math.min(item.getDamage(itemStackInBus), maxRepairedDamagePerOperation); long euCost = repairedDamage * usedEuPerDurability; - if (getEUVar() >= euCost - && depleteInput(new FluidStack( - Materials.UUMatter.mFluid, - repairedDamage * usedUumPerDurability))) { - item.setDamage( - itemStackInBus, - Math.max(item.getDamage(itemStackInBus) - repairedDamage, 0)); + if (getEUVar() >= euCost && depleteInput(new FluidStack(Materials.UUMatter.mFluid,repairedDamage * usedUumPerDurability))) { + item.setDamage(itemStackInBus, Math.max(item.getDamage(itemStackInBus) - repairedDamage, 0)); setEUVar(Math.min(getEUVar() - euCost, 0)); } } @@ -236,41 +219,18 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.em.infuser.name")) // Machine Type: Energy Infuser - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.infuser.desc.0")) // Controller block of the Energy Infuser - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.infuser.desc.1")) // Can be used to charge items (lossless) - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.infuser.desc.2")) // Can be fed with UU-Matter to repair items + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.infuser.name")) // Machine Type: Energy Infuser + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.0")) // Controller block of the Energy Infuser + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.1")) // Can be used to charge items (lossless) + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.2")) // Can be fed with UU-Matter to repair items .addSeparator() .beginStructureBlock(3, 5, 3, false) - .addController( - translateToLocal("tt.keyword.Structure.FrontCenter3rd")) // Controller: Front 3rd layer center - .addOtherStructurePart( - translateToLocal("gt.blockcasingsTT.0.name"), - translateToLocal( - "gt.blockmachines.multimachine.em.infuser.Structure.HighPowerCasing")) // High Power - // Casing: Layer - // 1 and 5 - .addOtherStructurePart( - translateToLocal("gt.blockcasingsTT.7.name"), - translateToLocal( - "gt.blockmachines.multimachine.em.infuser.Structure.MolecularCoil")) // Molecular Coil: - // Layer 2 and 4 - .addOtherStructurePart( - translateToLocal("gt.blockcasingsTT.4.name"), - translateToLocal( - "gt.blockmachines.multimachine.em.infuser.Structure.MolecularCasing")) // Molecular - // Casing: Layer - // 3 (hollow) - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Maintenance Hatch: Any High Power Casing + .addController(translateToLocal("tt.keyword.Structure.FrontCenter3rd")) // Controller: Front 3rd layer center + .addOtherStructurePart(translateToLocal("gt.blockcasingsTT.0.name"), translateToLocal("gt.blockmachines.multimachine.em.infuser.Structure.HighPowerCasing")) // High Power Casing: Layer 1 and 5 + .addOtherStructurePart(translateToLocal("gt.blockcasingsTT.7.name"), translateToLocal("gt.blockmachines.multimachine.em.infuser.Structure.MolecularCoil")) // Molecular Coil: Layer 2 and 4 + .addOtherStructurePart(translateToLocal("gt.blockcasingsTT.4.name"), translateToLocal("gt.blockmachines.multimachine.em.infuser.Structure.MolecularCasing")) // Molecular Casing: Layer 3 (hollow) + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_GENERAL); return tt; } @@ -282,11 +242,10 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM( - aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png", true, false, true); + return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png", true, false, true); } - public static final ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_whooum"); + public final static ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_whooum"); @Override @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java index 5342393157..bcf943c339 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java @@ -1,13 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputElemental; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_OutputElemental; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; @@ -24,85 +16,77 @@ import gregtech.api.util.GT_Utility; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_junction extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - // region structure - // use multi A energy inputs, use less power the longer it runs - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal( - "gt.blockmachines.multimachine.em.junction.hint.0"), // 1 - Classic Hatches or High Power Casing - translateToLocal( - "gt.blockmachines.multimachine.em.junction.hint.1"), // 2 - Elemental Hatches or Molecular Casing + //region structure + //use multi A energy inputs, use less power the longer it runs + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.junction.hint.0"),//1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.junction.hint.1"),//2 - Elemental Hatches or Molecular Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("main", new String[][] { - {"CCC", "C~C", "CCC"}, - {"AAA", "AAA", "AAA"}, - {"DDD", "DAD", "DDD"}, - {"DDD", "DDD", "DDD"} - }) - .addShape("mainBig", new String[][] { - {" A ", " CCC ", "AC~CA", " CCC ", " A "}, - {" DDD ", "DAAAD", "DAAAD", "DAAAD", " DDD "}, - {"ADDDA", "DAAAD", "DABAD", "DAAAD", "ADDDA"}, - {" DDD ", "DAAAD", "DAAAD", "DAAAD", " DDD "}, - {" A ", "DDDDD", "ADDDA", "DDDDD", " A "} - }) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement( - 'C', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_junction::addClassicToMachineList, - textureOffset, - 1, - sBlockCasingsTT, - 0)) - .addElement( - 'D', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_junction::addElementalToMachineList, - textureOffset + 4, - 2, - sBlockCasingsTT, - 4)) - .build(); - // endregion - - // region parameters - private static final INameFunction ROUTE_NAME = (base, p) -> (p.parameterId() == 0 - ? translateToLocal("tt.keyword.Source") + " " - : translateToLocal("tt.keyword.Destination") + " ") - + p.hatchId(); - private static final IStatusFunction SRC_STATUS = (base, p) -> { - double v = p.get(); - if (Double.isNaN(v)) return STATUS_WRONG; - v = (int) v; - if (v < 0) return STATUS_TOO_LOW; - if (v == 0) return STATUS_NEUTRAL; - if (v > base.eOutputHatches.size()) return STATUS_TOO_HIGH; - return STATUS_OK; - }; - private static final IStatusFunction DST_STATUS = (base, p) -> { - if (base.src[p.hatchId()].getStatus(false) == STATUS_OK) { - double v = p.get(); - if (Double.isNaN(v)) return STATUS_WRONG; - v = (int) v; - if (v < 0) return STATUS_TOO_LOW; - if (v == 0) return STATUS_LOW; - if (v > base.eInputHatches.size()) return STATUS_TOO_HIGH; - return STATUS_OK; - } - return STATUS_NEUTRAL; - }; - protected Parameters.Group.ParameterIn[] src; - protected Parameters.Group.ParameterIn[] dst; - // endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("main", new String[][]{ + {"CCC", "C~C", "CCC"}, + {"AAA", "AAA", "AAA"}, + {"DDD", "DAD", "DDD"}, + {"DDD", "DDD", "DDD"} + }) + .addShape("mainBig", new String[][]{ + {" A ", " CCC ", "AC~CA", " CCC ", " A "}, + {" DDD ", "DAAAD", "DAAAD", "DAAAD", " DDD "}, + {"ADDDA", "DAAAD", "DABAD", "DAAAD", "ADDDA"}, + {" DDD ", "DAAAD", "DAAAD", "DAAAD", " DDD "}, + {" A ", "DDDDD", "ADDDA", "DDDDD", " A "} + }) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement('C', ofHatchAdderOptional(GT_MetaTileEntity_EM_junction::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) + .addElement('D', ofHatchAdderOptional(GT_MetaTileEntity_EM_junction::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) + .build(); + //endregion + + //region parameters + private static final INameFunction ROUTE_NAME = + (base, p) -> (p.parameterId() == 0 ? translateToLocal("tt.keyword.Source") + " " : translateToLocal("tt.keyword.Destination") + " ") + p.hatchId(); + private static final IStatusFunction SRC_STATUS = + (base, p) -> { + double v = p.get(); + if (Double.isNaN(v)) return STATUS_WRONG; + v = (int) v; + if (v < 0) return STATUS_TOO_LOW; + if (v == 0) return STATUS_NEUTRAL; + if (v > base.eOutputHatches.size()) return STATUS_TOO_HIGH; + return STATUS_OK; + }; + private static final IStatusFunction DST_STATUS = + (base, p) -> { + if (base.src[p.hatchId()].getStatus(false) == STATUS_OK) { + double v = p.get(); + if (Double.isNaN(v)) return STATUS_WRONG; + v = (int) v; + if (v < 0) return STATUS_TOO_LOW; + if (v == 0) return STATUS_LOW; + if (v > base.eInputHatches.size()) return STATUS_TOO_HIGH; + return STATUS_OK; + } + return STATUS_NEUTRAL; + }; + protected Parameters.Group.ParameterIn[] src; + protected Parameters.Group.ParameterIn[] dst; + //endregion public GT_MetaTileEntity_EM_junction(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -119,8 +103,7 @@ public class GT_MetaTileEntity_EM_junction extends GT_MetaTileEntity_MultiblockB @Override public boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { - int meta = iGregTechTileEntity.getMetaIDAtSideAndDistance( - GT_Utility.getOppositeSide(iGregTechTileEntity.getFrontFacing()), 2); + int meta = iGregTechTileEntity.getMetaIDAtSideAndDistance(GT_Utility.getOppositeSide(iGregTechTileEntity.getFrontFacing()),2); if (meta == 4) { return structureCheck_EM("main", 1, 1, 0); } else if (meta == 5) { @@ -156,9 +139,9 @@ public class GT_MetaTileEntity_EM_junction extends GT_MetaTileEntity_MultiblockB if (inIndex < 0 || inIndex >= eInputHatches.size()) { continue; } - int outIndex = (int) dst - 1; - GT_MetaTileEntity_Hatch_InputElemental in = eInputHatches.get(inIndex); - if (outIndex == -1) { // param==0 -> null the content + int outIndex = (int) dst - 1; + GT_MetaTileEntity_Hatch_InputElemental in = eInputHatches.get(inIndex); + if (outIndex == -1) {//param==0 -> null the content cleanHatchContentEM_EM(in); } else { if (outIndex < 0 || outIndex >= eOutputHatches.size()) { @@ -174,37 +157,18 @@ public class GT_MetaTileEntity_EM_junction extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.em.junction.name")) // Machine Type: Matter Junction - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.junction.desc.0")) // Controller block of the Matter Junction - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.junction.desc.1")) // Used to route and distribute - // elemental matter - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.junction.desc.2")) // Needs a Parametrizer to be configured + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.junction.name")) // Machine Type: Matter Junction + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.junction.desc.0")) // Controller block of the Matter Junction + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.junction.desc.1")) // Used to route and distribute elemental matter + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.junction.desc.2")) // Needs a Parametrizer to be configured .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(3, 3, 4, false) - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.ElementalOutput"), - translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd4th"), - 2) // Elemental Output Hatch: Any outer Molecular Casing on the 3rd or 4th slice - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.ElementalInput"), - translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd4th"), - 2) // Elemental Input Hatch: Any outer Molecular Casing on the 3rd or 4th slice - .addOtherStructurePart( - translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), - translateToLocal("tt.keyword.Structure.Optional") + " " - + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), - 2) // Parametrizer: (optional) Any High Power Casing on the front side - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), - 1) // Energy Hatch: Any High Power Casing on the front side - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), - 1) // Maintenance Hatch: Any High Power Casing on the front side + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOutput"), translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd4th"), 2) // Elemental Output Hatch: Any outer Molecular Casing on the 3rd or 4th slice + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalInput"), translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd4th"), 2) // Elemental Input Hatch: Any outer Molecular Casing on the 3rd or 4th slice + .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), translateToLocal("tt.keyword.Structure.Optional") + " " + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 2) // Parametrizer: (optional) Any High Power Casing on the front side + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Energy Hatch: Any High Power Casing on the front side + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Maintenance Hatch: Any High Power Casing on the front side .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java index 4de9308ec5..07d9d44abb 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java @@ -1,22 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.DEFAULT_ENERGY_LEVEL; -import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.STABLE_RAW_LIFE_TIME; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refMass; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refUnstableMass; -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullFluid; -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.github.technus.tectech.util.TT_Utility.isInputEqual; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; @@ -36,63 +19,59 @@ import gregtech.api.GregTech_API; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import java.util.ArrayList; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; +import java.util.ArrayList; + +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.DEFAULT_ENERGY_LEVEL; +import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.STABLE_RAW_LIFE_TIME; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refMass; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refUnstableMass; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullFluid; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.github.technus.tectech.util.TT_Utility.isInputEqual; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_quantizer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - // region structure - // use multi A energy inputs, use less power the longer it runs - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("main", transpose(new String[][] { - {"CCC", "BAB", "EEE", "DBD"}, - {"C~C", "ABA", "EBE", "BFB"}, - {"CCC", "BAB", "EEE", "DBD"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 0)) - .addElement('B', ofBlock(sBlockCasingsTT, 4)) - .addElement('D', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement( - 'C', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_quantizer::addClassicToMachineList, - textureOffset, - 1, - sBlockCasingsTT, - 0)) - .addElement( - 'F', - ofHatchAdder( - GT_MetaTileEntity_EM_quantizer::addElementalOutputToMachineList, - textureOffset + 4, - 2)) - .addElement( - 'E', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_quantizer::addElementalMufflerToMachineList, - textureOffset + 4, - 3, - sBlockCasingsTT, - 4)) - .build(); - - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal( - "gt.blockmachines.multimachine.em.mattertoem.hint.0"), // 1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.mattertoem.hint.1"), // 2 - Elemental Output Hatch - translateToLocal( - "gt.blockmachines.multimachine.em.mattertoem.hint.2"), // 3 - Elemental Overflow Hatches or Molecular - // Casing + //region structure + //use multi A energy inputs, use less power the longer it runs + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("main", transpose(new String[][]{ + {"CCC", "BAB", "EEE", "DBD"}, + {"C~C", "ABA", "EBE", "BFB"}, + {"CCC", "BAB", "EEE", "DBD"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 0)) + .addElement('B', ofBlock(sBlockCasingsTT, 4)) + .addElement('D', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement('C', ofHatchAdderOptional(GT_MetaTileEntity_EM_quantizer::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) + .addElement('F', ofHatchAdder(GT_MetaTileEntity_EM_quantizer::addElementalOutputToMachineList, textureOffset + 4, 2)) + .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_EM_quantizer::addElementalMufflerToMachineList, textureOffset + 4, 3, sBlockCasingsTT, 4)) + .build(); + + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.mattertoem.hint.0"),//1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.mattertoem.hint.1"),//2 - Elemental Output Hatch + translateToLocal("gt.blockmachines.multimachine.em.mattertoem.hint.2"),//3 - Elemental Overflow Hatches or Molecular Casing }; - // endregion + //endregion public GT_MetaTileEntity_EM_quantizer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -113,68 +92,41 @@ public class GT_MetaTileEntity_EM_quantizer extends GT_MetaTileEntity_Multiblock } @Override - public boolean checkRecipe_EM(ItemStack itemStack) { // TODO implement instance quantization + public boolean checkRecipe_EM(ItemStack itemStack) {//TODO implement instance quantization if (GregTech_API.sPostloadFinished) { ArrayList storedInputs = getStoredInputs(); - ItemStack[] inI = storedInputs.toArray(nullItem); + ItemStack[] inI = storedInputs.toArray(nullItem); if (inI.length > 0) { for (ItemStack is : inI) { - // ITEM STACK quantization - EMItemQuantizationInfo aIQI = TecTech.transformationInfo - .getItemQuantization() - .get(new EMItemQuantizationInfo(is, false, null)); + //ITEM STACK quantization + EMItemQuantizationInfo aIQI = TecTech.transformationInfo.getItemQuantization().get(new EMItemQuantizationInfo(is, false, null)); if (aIQI == null) { - aIQI = TecTech.transformationInfo - .getItemQuantization() - .get(new EMItemQuantizationInfo(is, true, null)); // todo check if works? + aIQI = TecTech.transformationInfo.getItemQuantization().get(new EMItemQuantizationInfo(is, true, null));//todo check if works? } if (aIQI == null) { - // ORE DICT quantization //todo fix for uranium? + //ORE DICT quantization //todo fix for uranium? int[] oreIDs = OreDictionary.getOreIDs(is); for (int ID : oreIDs) { if (DEBUG_MODE) { - TecTech.LOGGER.info( - "Quantifier-Ore-recipe " + is.getItem().getUnlocalizedName() + '.' - + is.getItemDamage() + ' ' + OreDictionary.getOreName(ID)); + TecTech.LOGGER.info("Quantifier-Ore-recipe " + is.getItem().getUnlocalizedName() + '.' + is.getItemDamage() + ' ' + OreDictionary.getOreName(ID)); } - EMOredictQuantizationInfo aOQI = TecTech.transformationInfo - .getOredictQuantization() - .get(ID); + EMOredictQuantizationInfo aOQI = TecTech.transformationInfo.getOredictQuantization().get(ID); if (aOQI == null) { continue; } IEMStack into = aOQI.getOut(); - if (into != null - && isInputEqual( - true, - false, - nullFluid, - new ItemStack[] { - new ItemStack(is.getItem(), aOQI.getAmount(), is.getItemDamage()) - }, - null, - inI)) { + if (into != null && isInputEqual(true, false, nullFluid, new ItemStack[]{new ItemStack(is.getItem(), aOQI.getAmount(), is.getItemDamage())}, null, inI)) { startRecipe(into); return true; } } } else { - // Do ITEM STACK quantization + //Do ITEM STACK quantization if (DEBUG_MODE) { - TecTech.LOGGER.info("Quantifier-Item-recipe " - + is.getItem().getUnlocalizedName() + '.' + is.getItemDamage()); + TecTech.LOGGER.info("Quantifier-Item-recipe " + is.getItem().getUnlocalizedName() + '.' + is.getItemDamage()); } IEMStack into = aIQI.output(); - if (into != null - && isInputEqual( - true, - false, - nullFluid, - new ItemStack[] { - new ItemStack(is.getItem(), aIQI.input().stackSize, is.getItemDamage()) - }, - null, - inI)) { + if (into != null && isInputEqual(true, false, nullFluid, new ItemStack[]{new ItemStack(is.getItem(), aIQI.input().stackSize, is.getItemDamage())}, null, inI)) { startRecipe(into); return true; } @@ -182,20 +134,16 @@ public class GT_MetaTileEntity_EM_quantizer extends GT_MetaTileEntity_Multiblock } } ArrayList storedFluids = getStoredFluids(); - FluidStack[] inF = storedFluids.toArray(nullFluid); + FluidStack[] inF = storedFluids.toArray(nullFluid); if (inF.length > 0) { for (FluidStack fs : inF) { - EMFluidQuantizationInfo aFQI = TecTech.transformationInfo - .getFluidQuantization() - .get(fs.getFluid().getID()); + EMFluidQuantizationInfo aFQI = TecTech.transformationInfo.getFluidQuantization().get(fs.getFluid().getID()); if (aFQI == null) { continue; } IEMStack into = aFQI.output(); - if (into != null - && fs.amount >= aFQI.input().amount - && isInputEqual( - true, false, new FluidStack[] {aFQI.input()}, nullItem, inF, (ItemStack[]) null)) { + if (into != null && fs.amount >= aFQI.input().amount && isInputEqual(true, false, + new FluidStack[]{aFQI.input()}, nullItem, inF, (ItemStack[]) null)) { startRecipe(into); return true; } @@ -208,19 +156,18 @@ public class GT_MetaTileEntity_EM_quantizer extends GT_MetaTileEntity_Multiblock private void startRecipe(IEMStack into) { mMaxProgresstime = 20; mEfficiencyIncrease = 10000; - double mass = into.getMass(); + double mass = into.getMass(); double euMult = Math.abs(mass / refMass); eAmpereFlow = (int) Math.ceil(Math.sqrt(Math.sqrt(euMult))); - if (mass > refUnstableMass - || into.getDefinition().getRawTimeSpan(DEFAULT_ENERGY_LEVEL) < STABLE_RAW_LIFE_TIME) { + if (mass > refUnstableMass || into.getDefinition().getRawTimeSpan(DEFAULT_ENERGY_LEVEL) < STABLE_RAW_LIFE_TIME) { mEUt = (int) -V[8]; } else { mEUt = (int) -V[6]; } - outputEM = new EMInstanceStackMap[] { - into instanceof EMInstanceStack - ? new EMInstanceStackMap((EMInstanceStack) into) - : new EMInstanceStackMap(new EMInstanceStack(into.getDefinition(), into.getAmount())) + outputEM = new EMInstanceStackMap[]{ + into instanceof EMInstanceStack ? + new EMInstanceStackMap((EMInstanceStack) into) : + new EMInstanceStackMap(new EMInstanceStack(into.getDefinition(), into.getAmount())) }; } @@ -237,39 +184,22 @@ public class GT_MetaTileEntity_EM_quantizer extends GT_MetaTileEntity_Multiblock @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.em.mattertoem.name")) // Machine Type: Matter Quantizer - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.mattertoem.desc.0")) // Controller block of the Matter - // Quantizer - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.mattertoem.desc.1")) // Transforms items into their - // elemental form + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.mattertoem.name")) // Machine Type: Matter Quantizer + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.mattertoem.desc.0")) // Controller block of the Matter Quantizer + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.mattertoem.desc.1")) // Transforms items into their elemental form .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(3, 3, 4, false) - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.ElementalOutput"), - translateToLocal("tt.keyword.Structure.BackCenter"), - 2) // Elemental Output Hatch: Back center - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.ElementalOverflow"), - translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd"), - 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 3rd slice - .addInputBus( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), - 1) // Input Bus: Any High Power Casing on the front side - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), - 1) // Energy Hatch: Any High Power Casing on the front side - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), - 1) // Maintenance Hatch: Any High Power Casing on the front side + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOutput"), translateToLocal("tt.keyword.Structure.BackCenter"), 2) // Elemental Output Hatch: Back center + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOverflow"), translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd"), 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 3rd slice + .addInputBus(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Input Bus: Any High Power Casing on the front side + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Energy Hatch: Any High Power Casing on the front side + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Maintenance Hatch: Any High Power Casing on the front side .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } - public static final ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_mid_freq"); + public final static ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_mid_freq"); @Override @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java index 8defa2c64c..ca26b35785 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java @@ -1,25 +1,12 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import static com.github.technus.tectech.recipe.TT_recipe.E_RECIPE_ID; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_crafting.crafter; -import static com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine.machine; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.github.technus.tectech.util.CommonValues.VN; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.*; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - import com.github.technus.tectech.recipe.TT_recipe; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Holder; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; import com.github.technus.tectech.util.CommonValues; +import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; @@ -35,10 +22,6 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase; import gregtech.api.util.*; -import java.util.ArrayList; -import java.util.Collections; -import java.util.LinkedHashMap; -import java.util.List; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; @@ -48,51 +31,73 @@ import net.minecraft.nbt.NBTTagString; import net.minecraft.util.EnumChatFormatting; import org.apache.commons.lang3.reflect.FieldUtils; +import java.util.ArrayList; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.List; + +import static com.github.technus.tectech.recipe.TT_recipe.E_RECIPE_ID; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_crafting.crafter; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.DynamoMulti; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.EnergyMulti; +import static com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine.machine; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.github.technus.tectech.util.CommonValues.VN; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.enums.GT_HatchElement.*; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockBase_EM - implements ISurvivalConstructable { - // region variables - private final ArrayList eHolders = new ArrayList<>(); - private GT_Recipe.GT_Recipe_AssemblyLine tRecipe; - private TT_recipe.TT_assLineRecipe aRecipe; - private String machineType; - private static final String assembly = "Assembly line"; - private ItemStack holdItem; - private long computationRemaining, computationRequired; +public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable { + //region variables + private final ArrayList eHolders = new ArrayList<>(); + private GT_Recipe.GT_Recipe_AssemblyLine tRecipe; + private TT_recipe.TT_assLineRecipe aRecipe; + private String machineType; + private static final String assembly = "Assembly line"; + private ItemStack holdItem; + private long computationRemaining, computationRequired; private static LinkedHashMap lServerNames; - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal( - "gt.blockmachines.multimachine.em.research.hint.0"), // 1 - Classic/Data Hatches or Computer casing - translateToLocal("gt.blockmachines.multimachine.em.research.hint.1"), // 2 - Holder Hatch + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.research.hint.0"),//1 - Classic/Data Hatches or Computer casing + translateToLocal("gt.blockmachines.multimachine.em.research.hint.1"),//2 - Holder Hatch }; private String clientLocale = "en_US"; - // endregion - - // region structure - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("main", transpose(new String[][] { - {" ", " A ", " A ", "AAA", "AAA", "AAA", "AAA"}, - {"AAA", "ACA", "ACA", "ACA", "BCB", "BCB", "BBB"}, - {" ", " C ", " ", " ", "ACA", "CCC", "DDD"}, - {" ", " E ", " ", " ", "A~A", "CCC", "DDD"}, - {" ", " C ", " ", " ", "ACA", "CCC", "DDD"}, - {"AAA", "ACA", "ACA", "ACA", "BCB", "BCB", "BBB"}, - {" ", " A ", " A ", "AAA", "AAA", "AAA", "AAA"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 1)) - .addElement('B', ofBlock(sBlockCasingsTT, 2)) - .addElement('C', ofBlock(sBlockCasingsTT, 3)) - .addElement('D', classicHatches(textureOffset + 1, 1, sBlockCasingsTT, 1)) - .addElement('E', HolderHatchElement.INSTANCE.newAny(3, 2)) - .build(); - // endregion + //endregion + + //region structure + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("main", transpose(new String[][]{ + {" ", " A ", " A ", "AAA", "AAA", "AAA", "AAA"}, + {"AAA", "ACA", "ACA", "ACA", "BCB", "BCB", "BBB"}, + {" ", " C ", " ", " ", "ACA", "CCC", "DDD"}, + {" ", " E ", " ", " ", "A~A", "CCC", "DDD"}, + {" ", " C ", " ", " ", "ACA", "CCC", "DDD"}, + {"AAA", "ACA", "ACA", "ACA", "BCB", "BCB", "BBB"}, + {" ", " A ", " A ", "AAA", "AAA", "AAA", "AAA"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 1)) + .addElement('B', ofBlock(sBlockCasingsTT, 2)) + .addElement('C', ofBlock(sBlockCasingsTT, 3)) + .addElement('D', classicHatches(textureOffset + 1, 1, sBlockCasingsTT, 1)) + .addElement('E', HolderHatchElement.INSTANCE.newAny(3, 2)) + .build(); + //endregion public GT_MetaTileEntity_EM_research(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -104,12 +109,9 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB private void makeStick() { mInventory[1].setTagCompound(new NBTTagCompound()); - mInventory[1].setStackDisplayName( - GT_LanguageManager.getTranslation(tRecipe.mOutput.getDisplayName()) + " Construction Data"); - GT_Utility.ItemNBT.setBookTitle( - mInventory[1], - GT_LanguageManager.getTranslation(tRecipe.mOutput.getDisplayName()) + " Construction Data"); - NBTTagCompound tNBT = mInventory[1].getTagCompound(); // code above makes it not null + mInventory[1].setStackDisplayName(GT_LanguageManager.getTranslation(tRecipe.mOutput.getDisplayName()) + " Construction Data"); + GT_Utility.ItemNBT.setBookTitle(mInventory[1], GT_LanguageManager.getTranslation(tRecipe.mOutput.getDisplayName()) + " Construction Data"); + NBTTagCompound tNBT = mInventory[1].getTagCompound();//code above makes it not null tNBT.setTag("output", tRecipe.mOutput.writeToNBT(new NBTTagCompound())); tNBT.setInteger("time", tRecipe.mDuration); @@ -120,24 +122,17 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB for (int i = 0; i < tRecipe.mFluidInputs.length; i++) { tNBT.setTag("f" + i, tRecipe.mFluidInputs[i].writeToNBT(new NBTTagCompound())); } - tNBT.setString( - "author", - EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.WHITE - + " Assembling Line Recipe Generator"); + tNBT.setString("author", EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.WHITE + " Assembling Line Recipe Generator"); NBTTagList tNBTList = new NBTTagList(); - tNBTList.appendTag(new NBTTagString("Construction plan for " + tRecipe.mOutput.stackSize + ' ' - + GT_LanguageManager.getTranslation(tRecipe.mOutput.getDisplayName()) + ". Needed EU/t: " + tRecipe.mEUt - + " Production time: " + tRecipe.mDuration / 20)); + tNBTList.appendTag(new NBTTagString("Construction plan for " + tRecipe.mOutput.stackSize + ' ' + GT_LanguageManager.getTranslation(tRecipe.mOutput.getDisplayName()) + ". Needed EU/t: " + tRecipe.mEUt + " Production time: " + tRecipe.mDuration / 20)); for (int i = 0; i < tRecipe.mInputs.length; i++) { if (tRecipe.mInputs[i] != null) { - tNBTList.appendTag(new NBTTagString("Input Bus " + (i + 1) + ": " + tRecipe.mInputs[i].stackSize + ' ' - + GT_LanguageManager.getTranslation(tRecipe.mInputs[i].getDisplayName()))); + tNBTList.appendTag(new NBTTagString("Input Bus " + (i + 1) + ": " + tRecipe.mInputs[i].stackSize + ' ' + GT_LanguageManager.getTranslation(tRecipe.mInputs[i].getDisplayName()))); } } for (int i = 0; i < tRecipe.mFluidInputs.length; i++) { if (tRecipe.mFluidInputs[i] != null) { - tNBTList.appendTag(new NBTTagString("Input Hatch " + (i + 1) + ": " + tRecipe.mFluidInputs[i].amount - + "L " + GT_LanguageManager.getTranslation(tRecipe.mFluidInputs[i].getLocalizedName()))); + tNBTList.appendTag(new NBTTagString("Input Hatch " + (i + 1) + ": " + tRecipe.mFluidInputs[i].amount + "L " + GT_LanguageManager.getTranslation(tRecipe.mFluidInputs[i].getLocalizedName()))); } } tNBT.setTag("pages", tNBTList); @@ -146,8 +141,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB static { try { Class GT_Assemblyline_Server = Class.forName("gregtech.api.util.GT_Assemblyline_Server"); - lServerNames = (LinkedHashMap) - GT_Assemblyline_Server.getField("lServerNames").get(null); + lServerNames = (LinkedHashMap) GT_Assemblyline_Server.getField("lServerNames").get(null); } catch (ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) { lServerNames = null; } @@ -188,10 +182,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB for (int i = 0; i < tRecipe.mFluidInputs.length; i++) { tNBT.setTag("f" + i, tRecipe.mFluidInputs[i].writeToNBT(new NBTTagCompound())); } - tNBT.setString( - "author", - EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.WHITE + ' ' - + machineType + " Recipe Generator"); + tNBT.setString("author", EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.WHITE + ' ' + machineType + " Recipe Generator"); NBTTagList tNBTList = new NBTTagList(); s = tRecipe.mOutput.getDisplayName(); if (getBaseMetaTileEntity().isServerSide()) { @@ -200,24 +191,22 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB s = tRecipe.mOutput.getDisplayName(); } } - tNBTList.appendTag(new NBTTagString("Construction plan for " + tRecipe.mOutput.stackSize + " " + s - + ". Needed EU/t: " + tRecipe.mEUt + " Production time: " + (tRecipe.mDuration / 20))); + tNBTList.appendTag(new NBTTagString("Construction plan for " + tRecipe.mOutput.stackSize + " " + s + ". Needed EU/t: " + tRecipe.mEUt + " Production time: " + (tRecipe.mDuration / 20))); for (int i = 0; i < tRecipe.mInputs.length; i++) { if (tRecipe.mOreDictAlt[i] != null) { - int count = 0; + int count = 0; StringBuilder tBuilder = new StringBuilder("Input Bus " + (i + 1) + ": "); for (ItemStack tStack : tRecipe.mOreDictAlt[i]) { if (tStack != null) { s = tStack.getDisplayName(); if (getBaseMetaTileEntity().isServerSide()) { s = lServerNames.get(tStack.getDisplayName()); - if (s == null) s = tStack.getDisplayName(); + if (s == null) + s = tStack.getDisplayName(); } - tBuilder.append(count == 0 ? "" : "\nOr ") - .append(tStack.stackSize) - .append(" ") - .append(s); + + tBuilder.append(count == 0 ? "" : "\nOr ").append(tStack.stackSize).append(" ").append(s); count++; } } @@ -230,8 +219,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB s = tRecipe.mInputs[i].getDisplayName(); } } - tNBTList.appendTag( - new NBTTagString("Input Bus " + (i + 1) + ": " + tRecipe.mInputs[i].stackSize + " " + s)); + tNBTList.appendTag(new NBTTagString("Input Bus " + (i + 1) + ": " + tRecipe.mInputs[i].stackSize + " " + s)); } } for (int i = 0; i < tRecipe.mFluidInputs.length; i++) { @@ -243,8 +231,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB s = tRecipe.mFluidInputs[i].getLocalizedName(); } } - tNBTList.appendTag( - new NBTTagString("Input Hatch " + (i + 1) + ": " + tRecipe.mFluidInputs[i].amount + "L " + s)); + tNBTList.appendTag(new NBTTagString("Input Hatch " + (i + 1) + ": " + tRecipe.mFluidInputs[i].amount + "L " + s)); } } tNBT.setTag("pages", tNBTList); @@ -305,7 +292,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB if (GT_Utility.areStacksEqual(assRecipe.mResearchItem, holdItem, true)) { machineType = assembly; tRecipe = assRecipe; - // if found + //if found if (iterateRecipes()) return true; } } @@ -314,7 +301,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB if (GT_Utility.areStacksEqual(assRecipeTT.mResearchItem, holdItem, true)) { aRecipe = assRecipeTT; machineType = machine; - // if found + //if found if (iterateRecipes()) return true; } } @@ -322,7 +309,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB if (GT_Utility.areStacksEqual(assRecipeTT.mResearchItem, holdItem, true)) { aRecipe = assRecipeTT; machineType = crafter; - // if found + //if found if (iterateRecipes()) return true; } } @@ -355,18 +342,13 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB eHolders.get(0).getBaseMetaTileEntity().setActive(false); eHolders.get(0).mInventory[0] = null; - mInventory[1].setStackDisplayName( - GT_LanguageManager.getTranslation(aRecipe.mOutputs[0].getDisplayName()) + ' ' + machineType - + " Construction Data"); - NBTTagCompound tNBT = mInventory[1].getTagCompound(); // code above makes it not null + mInventory[1].setStackDisplayName(GT_LanguageManager.getTranslation(aRecipe.mOutputs[0].getDisplayName()) + ' ' + machineType + " Construction Data"); + NBTTagCompound tNBT = mInventory[1].getTagCompound();//code above makes it not null tNBT.setString("eMachineType", machineType); GameRegistry.UniqueIdentifier uid = GameRegistry.findUniqueIdentifierFor(aRecipe.mOutputs[0].getItem()); tNBT.setString(E_RECIPE_ID, uid + ":" + aRecipe.mOutputs[0].getItemDamage()); - tNBT.setString( - "author", - EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" - + EnumChatFormatting.WHITE + ' ' + machineType + " Recipe Generator"); + tNBT.setString("author", EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.WHITE + ' ' + machineType + " Recipe Generator"); } } computationRequired = computationRemaining = 0; @@ -378,35 +360,18 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.em.research.name")) // Machine Type: Research Station - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.research.desc.0")) // Controller block of the Research Station - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.research.desc.1")) // Used to scan Data Sticks for - // Assembling Line Recipes - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.research.desc.2")) // Needs to be fed with computation to work - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.research.desc.3")) // Does not consume the item until - // the Data Stick is written + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.research.name")) // Machine Type: Research Station + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.0")) // Controller block of the Research Station + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.1")) // Used to scan Data Sticks for Assembling Line Recipes + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.2")) // Needs to be fed with computation to work + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.3")) // Does not consume the item until the Data Stick is written .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(3, 7, 7, false) - .addOtherStructurePart( - translateToLocal("gt.blockmachines.hatch.holder.tier.09.name"), - translateToLocal("tt.keyword.Structure.CenterPillar"), - 2) // Object Holder: Center of the front pillar - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.DataConnector"), - translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), - 1) // Optical Connector: Any Computer Casing on the backside of the main body - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), - 1) // Energy Hatch: Any Computer Casing on the backside of the main body - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), - 1) // Maintenance Hatch: Any Computer Casing on the backside of the main body + .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.holder.tier.09.name"), translateToLocal("tt.keyword.Structure.CenterPillar"), 2) // Object Holder: Center of the front pillar + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.DataConnector"), translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), 1) // Optical Connector: Any Computer Casing on the backside of the main body + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), 1) // Energy Hatch: Any Computer Casing on the backside of the main body + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), 1) // Maintenance Hatch: Any Computer Casing on the backside of the main body .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -414,7 +379,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB @Override public String[] getInfoData() { long storedEnergy = 0; - long maxEnergy = 0; + long maxEnergy = 0; for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { storedEnergy += tHatch.getBaseMetaTileEntity().getStoredEU(); @@ -428,64 +393,42 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB } } - return new String[] { - translateToLocalFormatted("tt.keyphrase.Energy_Hatches", clientLocale) + ":", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " - + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET - + " EU", - (mEUt <= 0 - ? translateToLocalFormatted("tt.keyphrase.Probably_uses", clientLocale) + ": " - : translateToLocalFormatted("tt.keyphrase.Probably_makes", clientLocale) + ": ") - + EnumChatFormatting.RED - + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t " - + translateToLocalFormatted("tt.keyword.at", clientLocale) - + " " + EnumChatFormatting.RED - + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", - translateToLocalFormatted("tt.keyphrase.Tier_Rating", clientLocale) + ": " + EnumChatFormatting.YELLOW - + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + EnumChatFormatting.GREEN - + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " " - + translateToLocalFormatted("tt.keyphrase.Amp_Rating", clientLocale) - + ": " + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", - translateToLocalFormatted("tt.keyword.Problems", clientLocale) + ": " + EnumChatFormatting.RED - + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + " " - + translateToLocalFormatted("tt.keyword.Efficiency", clientLocale) - + ": " + EnumChatFormatting.YELLOW - + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", - translateToLocalFormatted("tt.keyword.PowerPass", clientLocale) + ": " + EnumChatFormatting.BLUE - + ePowerPass + EnumChatFormatting.RESET + " " - + translateToLocalFormatted("tt.keyword.SafeVoid", clientLocale) - + ": " + EnumChatFormatting.BLUE - + eSafeVoid, - translateToLocalFormatted("tt.keyphrase.Computation_Available", clientLocale) + ": " - + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET, - translateToLocalFormatted("tt.keyphrase.Computation_Remaining", clientLocale) + ":", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(computationRemaining / 20L) + EnumChatFormatting.RESET - + " / " + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(computationRequired / 20L) + return new String[]{ + translateToLocalFormatted("tt.keyphrase.Energy_Hatches", clientLocale) + ":", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + " EU", + (mEUt <= 0 ? translateToLocalFormatted("tt.keyphrase.Probably_uses", clientLocale) + ": " : translateToLocalFormatted("tt.keyphrase.Probably_makes", clientLocale) + ": ") + + EnumChatFormatting.RED + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t " + + translateToLocalFormatted("tt.keyword.at", clientLocale) + " " + + EnumChatFormatting.RED + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", + translateToLocalFormatted("tt.keyphrase.Tier_Rating", clientLocale) + ": " + + EnumChatFormatting.YELLOW + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + + EnumChatFormatting.GREEN + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyphrase.Amp_Rating", clientLocale) + ": " + + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", + translateToLocalFormatted("tt.keyword.Problems", clientLocale) + ": " + + EnumChatFormatting.RED + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyword.Efficiency", clientLocale) + ": " + + EnumChatFormatting.YELLOW + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", + translateToLocalFormatted("tt.keyword.PowerPass", clientLocale) + ": " + + EnumChatFormatting.BLUE + ePowerPass + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyword.SafeVoid", clientLocale) + ": " + + EnumChatFormatting.BLUE + eSafeVoid, + translateToLocalFormatted("tt.keyphrase.Computation_Available", clientLocale) + ": " + + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET, + translateToLocalFormatted("tt.keyphrase.Computation_Remaining", clientLocale) + ":", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(computationRemaining / 20L) + EnumChatFormatting.RESET + " / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(computationRequired / 20L) }; } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { + 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][3], - new TT_RenderedExtendedFacingTexture( - aActive - ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON - : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF) - }; - } - return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][3]}; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][3], new TT_RenderedExtendedFacingTexture(aActive ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF)}; + } + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][3]}; } @Override @@ -539,10 +482,10 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB holdItem = null; } - // @Override - // public boolean isFacingValid(byte aFacing) { + //@Override + //public boolean isFacingValid(byte aFacing) { // return aFacing >= 2; - // } + //} @Override public void onFirstTick_EM(IGregTechTileEntity aBaseMetaTileEntity) { @@ -552,8 +495,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB tRecipe = null; if (holdItem != null) { if (ItemList.Tool_DataStick.isStackEqual(mInventory[1], false, true)) { - for (GT_Recipe.GT_Recipe_AssemblyLine tRecipe : - TT_recipe.GT_Recipe_MapTT.sAssemblylineRecipes) { + for (GT_Recipe.GT_Recipe_AssemblyLine tRecipe : TT_recipe.GT_Recipe_MapTT.sAssemblylineRecipes) { if (GT_Utility.areStacksEqual(tRecipe.mResearchItem, holdItem, true)) { this.tRecipe = tRecipe; machineType = assembly; @@ -561,8 +503,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB } } } else if (ItemList.Tool_DataOrb.isStackEqual(mInventory[1], false, true)) { - for (TT_recipe.TT_assLineRecipe assRecipeTT : - TT_recipe.TT_Recipe_Map.sMachineRecipes.recipeList()) { + for (TT_recipe.TT_assLineRecipe assRecipeTT : TT_recipe.TT_Recipe_Map.sMachineRecipes.recipeList()) { if (GT_Utility.areStacksEqual(assRecipeTT.mResearchItem, holdItem, true)) { aRecipe = assRecipeTT; machineType = machine; @@ -570,8 +511,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB } } if (aRecipe == null) { - for (TT_recipe.TT_assLineRecipe assRecipeTT : - TT_recipe.TT_Recipe_Map.sCrafterRecipes.recipeList()) { + for (TT_recipe.TT_assLineRecipe assRecipeTT : TT_recipe.TT_Recipe_Map.sCrafterRecipes.recipeList()) { if (GT_Utility.areStacksEqual(assRecipeTT.mResearchItem, holdItem, true)) { aRecipe = assRecipeTT; machineType = crafter; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java index 56b68e8d37..1fa3d7588c 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java @@ -1,19 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import static com.github.technus.tectech.recipe.TT_recipe.E_RECIPE_ID; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_crafting.crafter; -import static com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine.machine; -import static com.github.technus.tectech.util.CommonValues.*; -import static com.github.technus.tectech.util.TT_Utility.areBitsSet; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; @@ -50,108 +36,98 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; import org.apache.commons.lang3.reflect.FieldUtils; +import static com.github.technus.tectech.recipe.TT_recipe.E_RECIPE_ID; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_crafting.crafter; +import static com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine.machine; +import static com.github.technus.tectech.util.CommonValues.*; +import static com.github.technus.tectech.util.TT_Utility.areBitsSet; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - // region variables - public static final int SCAN_DO_NOTHING = 0, - SCAN_GET_NOMENCLATURE = 1 << 0, - SCAN_GET_DEPTH_LEVEL = 1 << 1, - SCAN_GET_AMOUNT = 1 << 2, - SCAN_GET_CHARGE = 1 << 3, - SCAN_GET_MASS = 1 << 4, - SCAN_GET_ENERGY = 1 << 5, - SCAN_GET_ENERGY_LEVEL = 1 << 6, - SCAN_GET_TIMESPAN_INFO = 1 << 7, - SCAN_GET_ENERGY_STATES = 1 << 8, - SCAN_GET_COLORABLE = 1 << 9, - SCAN_GET_COLOR_VALUE = 1 << 10, - SCAN_GET_AGE = 1 << 11, - SCAN_GET_TIMESPAN_MULT = 1 << 12, - SCAN_GET_CLASS_TYPE = 1 << 13, - SCAN_GET_TOO_BIG = 1 << 14; // should be the sum of all flags +1 + //region variables + public static final int + SCAN_DO_NOTHING = 0, + SCAN_GET_NOMENCLATURE = 1<<0, + SCAN_GET_DEPTH_LEVEL = 1<<1, + SCAN_GET_AMOUNT = 1<<2, + SCAN_GET_CHARGE = 1<<3, + SCAN_GET_MASS = 1<<4, + SCAN_GET_ENERGY = 1<<5, + SCAN_GET_ENERGY_LEVEL = 1<<6, + SCAN_GET_TIMESPAN_INFO = 1<<7, + SCAN_GET_ENERGY_STATES = 1<<8, + SCAN_GET_COLORABLE = 1<<9, + SCAN_GET_COLOR_VALUE = 1<<10, + SCAN_GET_AGE = 1<<11, + SCAN_GET_TIMESPAN_MULT = 1<<12, + SCAN_GET_CLASS_TYPE = 1<<13, + SCAN_GET_TOO_BIG = 1<<14;//should be the sum of all flags +1 private TT_recipe.TT_EMRecipe.TT_EMRecipe eRecipe; - private EMDefinitionStack objectResearched; - private EMInstanceStackMap objectsScanned; - private String machineType; - private long computationRemaining, computationRequired; + private EMDefinitionStack objectResearched; + private EMInstanceStackMap objectsScanned; + private String machineType; + private long computationRemaining, computationRequired; private int[] scanComplexity; private String clientLocale = "en_US"; - // endregion - - // region structure - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.scanner.hint.0"), // 1 - Classic Hatches or High Power Casing - translateToLocal( - "gt.blockmachines.multimachine.em.scanner.hint.1"), // 2 - Elemental Input Hatches or Molecular Casing - translateToLocal( - "gt.blockmachines.multimachine.em.scanner.hint.2"), // 3 - Elemental Output Hatches or Molecular Casing - translateToLocal( - "gt.blockmachines.multimachine.em.scanner.hint.3"), // 4 - Elemental Overflow Hatches or Molecular - // Casing + //endregion + + //region structure + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.scanner.hint.0"),//1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.scanner.hint.1"),//2 - Elemental Input Hatches or Molecular Casing + translateToLocal("gt.blockmachines.multimachine.em.scanner.hint.2"),//3 - Elemental Output Hatches or Molecular Casing + translateToLocal("gt.blockmachines.multimachine.em.scanner.hint.3"),//4 - Elemental Overflow Hatches or Molecular Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("main", transpose(new String[][] { - {"CCCCC", "BBBBB", "BBDBB", "BDDDB", "BDDDB", "BDDDB", "BBDBB", "EEEEE"}, - {"CAAAC", "BBBBB", "BDDDB", "D---D", "D---D", "D---D", "BDDDB", "EBBBE"}, - {"CA~AC", "BBBBB", "DDDDD", "D---D", "D- -D", "D---D", "DDGDD", "EBFBE"}, - {"CAAAC", "BBBBB", "BDDDB", "D---D", "D---D", "D---D", "BDDDB", "EBBBE"}, - {"CCCCC", "BBBBB", "BBDBB", "BDDDB", "BDDDB", "BDDDB", "BBDBB", "EEEEE"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 0)) - .addElement('B', ofBlock(sBlockCasingsTT, 4)) - .addElement('D', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement( - 'C', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_scanner::addClassicToMachineList, - textureOffset, - 1, - sBlockCasingsTT, - 0)) - .addElement( - 'F', - ofHatchAdder( - GT_MetaTileEntity_EM_scanner::addElementalInputToMachineList, textureOffset + 4, 2)) - .addElement( - 'G', - ofHatchAdder( - GT_MetaTileEntity_EM_scanner::addElementalOutputToMachineList, - textureOffset + 4, - 3)) - .addElement( - 'E', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_scanner::addElementalMufflerToMachineList, - textureOffset + 4, - 4, - sBlockCasingsTT, - 4)) - .build(); - // endregion - - // region parameters - private static final INameFunction CONFIG_NAME = + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("main", transpose(new String[][]{ + {"CCCCC", "BBBBB", "BBDBB", "BDDDB", "BDDDB", "BDDDB", "BBDBB", "EEEEE"}, + {"CAAAC", "BBBBB", "BDDDB", "D---D", "D---D", "D---D", "BDDDB", "EBBBE"}, + {"CA~AC", "BBBBB", "DDDDD", "D---D", "D- -D", "D---D", "DDGDD", "EBFBE"}, + {"CAAAC", "BBBBB", "BDDDB", "D---D", "D---D", "D---D", "BDDDB", "EBBBE"}, + {"CCCCC", "BBBBB", "BBDBB", "BDDDB", "BDDDB", "BDDDB", "BBDBB", "EEEEE"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 0)) + .addElement('B', ofBlock(sBlockCasingsTT, 4)) + .addElement('D', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement('C', ofHatchAdderOptional(GT_MetaTileEntity_EM_scanner::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) + .addElement('F', ofHatchAdder(GT_MetaTileEntity_EM_scanner::addElementalInputToMachineList, textureOffset + 4, 2)) + .addElement('G', ofHatchAdder(GT_MetaTileEntity_EM_scanner::addElementalOutputToMachineList, textureOffset + 4, 3)) + .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_EM_scanner::addElementalMufflerToMachineList, textureOffset + 4, 4, sBlockCasingsTT, 4)) + .build(); + //endregion + + //region parameters + private static final INameFunction CONFIG_NAME = (base, p) -> "Config at Depth: " + (p.hatchId() * 2 + p.parameterId()); - private static final IStatusFunction CONFIG_STATUS = (base, p) -> { - double v = p.get(); - if (Double.isNaN(v)) { - return LedStatus.STATUS_WRONG; - } - v = (int) v; - if (v == 0) return LedStatus.STATUS_NEUTRAL; - if (v >= SCAN_GET_TOO_BIG) return LedStatus.STATUS_TOO_HIGH; - if (v < 0) return LedStatus.STATUS_TOO_LOW; - return LedStatus.STATUS_OK; - }; - protected Parameters.Group.ParameterIn[] scanConfiguration; - // endregion + private static final IStatusFunction CONFIG_STATUS = + (base, p) -> { + double v = p.get(); + if (Double.isNaN(v)) { + return LedStatus.STATUS_WRONG; + } + v = (int) v; + if (v == 0) return LedStatus.STATUS_NEUTRAL; + if (v >= SCAN_GET_TOO_BIG) return LedStatus.STATUS_TOO_HIGH; + if (v < 0) return LedStatus.STATUS_TOO_LOW; + return LedStatus.STATUS_OK; + }; + protected Parameters.Group.ParameterIn[] scanConfiguration; + //endregion public GT_MetaTileEntity_EM_scanner(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -166,9 +142,9 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa private void quantumStuff(boolean shouldExist) { IGregTechTileEntity base = getBaseMetaTileEntity(); if (base != null && base.getWorld() != null) { - int xDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetX * 4 + base.getXCoord(); - int yDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetY * 4 + base.getYCoord(); - int zDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetZ * 4 + base.getZCoord(); + int xDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetX * 4 + base.getXCoord(); + int yDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetY * 4 + base.getYCoord(); + int zDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetZ * 4 + base.getZCoord(); Block block = base.getWorld().getBlock(xDir, yDir, zDir); if (shouldExist) { if (block != null && block.getMaterial() == Material.air) { @@ -251,18 +227,13 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa if (!structureCheck_EM("main", 2, 2, 0)) { return false; } - return eInputHatches.size() == 1 - && eOutputHatches.size() == 1 - && eOutputHatches.get(0).getBaseMetaTileEntity().getFrontFacing() - == iGregTechTileEntity.getFrontFacing(); + return eInputHatches.size() == 1 && eOutputHatches.size() == 1 && eOutputHatches.get(0).getBaseMetaTileEntity().getFrontFacing() == iGregTechTileEntity.getFrontFacing(); } @Override public boolean checkRecipe_EM(ItemStack itemStack) { eRecipe = null; - if (!eInputHatches.isEmpty() - && eInputHatches.get(0).getContentHandler().hasStacks() - && !eOutputHatches.isEmpty()) { + if (!eInputHatches.isEmpty() && eInputHatches.get(0).getContentHandler().hasStacks() && !eOutputHatches.isEmpty()) { EMInstanceStackMap researchEM = eInputHatches.get(0).getContentHandler(); if (ItemList.Tool_DataOrb.isStackEqual(itemStack, false, true)) { GT_Recipe scannerRecipe = null; @@ -273,7 +244,7 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa scannerRecipe = eRecipe.scannerRecipe; machineType = machine; objectResearched = new EMDefinitionStack(stackEM.getDefinition(), 1); - // cleanMassEM_EM(objectResearched.getMass()); + //cleanMassEM_EM(objectResearched.getMass()); researchEM.removeKey(objectResearched.getDefinition()); break; } @@ -282,16 +253,16 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa scannerRecipe = eRecipe.scannerRecipe; machineType = crafter; objectResearched = new EMDefinitionStack(stackEM.getDefinition(), 1); - // cleanMassEM_EM(objectResearched.getMass()); + //cleanMassEM_EM(objectResearched.getMass()); researchEM.removeKey(objectResearched.getDefinition()); break; } cleanStackEM_EM(stackEM); researchEM.removeKey(stackEM.getDefinition()); } - if (eRecipe != null && scannerRecipe != null) { // todo make sure it werks + if (eRecipe != null && scannerRecipe != null) {//todo make sure it werks computationRequired = computationRemaining = scannerRecipe.mDuration * 20L; - mMaxProgresstime = 20; // const + mMaxProgresstime = 20;//const mEfficiencyIncrease = 10000; eRequiredData = (short) (scannerRecipe.mSpecialValue >>> 16); eAmpereFlow = (short) (scannerRecipe.mSpecialValue & 0xFFFF); @@ -310,7 +281,7 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa eAmpereFlow = objectsScanned.size() + TecTech.RANDOM.next(objectsScanned.size()); mEUt = -(int) V[8]; - // get depth scan complexity array + //get depth scan complexity array { int[] scanComplexityTemp = new int[20]; for (int i = 0; i < 20; i++) { @@ -323,13 +294,13 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa addComputationRequirements(i + 1, scanComplexityTemp[i]); } } - maxDepth += 1; // from index to len + maxDepth += 1;//from index to len scanComplexity = new int[maxDepth]; System.arraycopy(scanComplexityTemp, 0, scanComplexity, 0, maxDepth); } computationRemaining = computationRequired *= 20; - mMaxProgresstime = 20; // const + mMaxProgresstime = 20;//const mEfficiencyIncrease = 10000; quantumStuff(true); return true; @@ -346,14 +317,12 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa public void outputAfterRecipe_EM() { if (eRecipe != null && ItemList.Tool_DataOrb.isStackEqual(mInventory[1], false, true)) { - mInventory[1].setStackDisplayName(GT_LanguageManager.getTranslation(eRecipe.mOutputs[0].getDisplayName()) - + ' ' + machineType + " Construction Data"); - NBTTagCompound tNBT = mInventory[1].getTagCompound(); // code above makes it not null + mInventory[1].setStackDisplayName(GT_LanguageManager.getTranslation(eRecipe.mOutputs[0].getDisplayName()) + ' ' + machineType + " Construction Data"); + NBTTagCompound tNBT = mInventory[1].getTagCompound();//code above makes it not null tNBT.setString("eMachineType", machineType); tNBT.setTag(E_RECIPE_ID, objectResearched.toNBT(TecTech.definitionsRegistry)); - tNBT.setString( - "author", TEC_MARK_SHORT + EnumChatFormatting.WHITE + ' ' + machineType + " EM Recipe Generator"); + tNBT.setString("author", TEC_MARK_SHORT + EnumChatFormatting.WHITE + ' ' + machineType + " EM Recipe Generator"); } else if (objectsScanned != null && CustomItemList.scanContainer.isStackEqual(mInventory[1], false, true)) { ElementalDefinitionScanStorage_EM.setContent(mInventory[1], objectsScanned, scanComplexity); } @@ -365,27 +334,15 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.em.scanner.name")) // Machine Type: Elemental Scanner - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.scanner.desc.0")) // Controller block of the Elemental Scanner + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.scanner.name")) // Machine Type: Elemental Scanner + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.scanner.desc.0")) // Controller block of the Elemental Scanner .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(5, 5, 8, false) - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.ElementalInput"), - translateToLocal("tt.keyword.Structure.BackCenter"), - 2) // Elemental Input Hatch: Back Center - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.ElementalOutput"), - translateToLocal("tt.keyword.Structure.AnyMolecularCasing3D"), - 3) // Elemental Output Hatch: Any Molecular Casing with 3 dot - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), - 1) // Energy Hatch: Any High Power Casing with 1 dot - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), - 1) // Maintenance Hatch: Any High Power Casing with 1 dot + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalInput"), translateToLocal("tt.keyword.Structure.BackCenter"), 2) // Elemental Input Hatch: Back Center + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOutput"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing3D"), 3) // Elemental Output Hatch: Any Molecular Casing with 3 dot + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), 1) // Energy Hatch: Any High Power Casing with 1 dot + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), 1) // Maintenance Hatch: Any High Power Casing with 1 dot .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -393,7 +350,7 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa @Override public String[] getInfoData() { long storedEnergy = 0; - long maxEnergy = 0; + long maxEnergy = 0; for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { storedEnergy += tHatch.getBaseMetaTileEntity().getStoredEU(); @@ -407,43 +364,33 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa } } - return new String[] { - translateToLocalFormatted("tt.keyphrase.Energy_Hatches", clientLocale) + ":", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " - + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET - + " EU", - (mEUt <= 0 - ? translateToLocalFormatted("tt.keyphrase.Probably_uses", clientLocale) + ": " - : translateToLocalFormatted("tt.keyphrase.Probably_makes", clientLocale) + ": ") - + EnumChatFormatting.RED - + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t " - + translateToLocalFormatted("tt.keyword.at", clientLocale) - + " " + EnumChatFormatting.RED - + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", - translateToLocalFormatted("tt.keyphrase.Tier_Rating", clientLocale) + ": " + EnumChatFormatting.YELLOW - + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + EnumChatFormatting.GREEN - + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " " - + translateToLocalFormatted("tt.keyphrase.Amp_Rating", clientLocale) - + ": " + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", - translateToLocalFormatted("tt.keyword.Problems", clientLocale) + ": " + EnumChatFormatting.RED - + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + " " - + translateToLocalFormatted("tt.keyword.Efficiency", clientLocale) - + ": " + EnumChatFormatting.YELLOW - + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", - translateToLocalFormatted("tt.keyword.PowerPass", clientLocale) + ": " + EnumChatFormatting.BLUE - + ePowerPass + EnumChatFormatting.RESET + " " - + translateToLocalFormatted("tt.keyword.SafeVoid", clientLocale) - + ": " + EnumChatFormatting.BLUE - + eSafeVoid, - translateToLocalFormatted("tt.keyphrase.Computation_Available", clientLocale) + ": " - + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET, - translateToLocalFormatted("tt.keyphrase.Computation_Remaining", clientLocale) + ":", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(computationRemaining / 20L) + EnumChatFormatting.RESET - + " / " + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(computationRequired / 20L) + return new String[]{ + translateToLocalFormatted("tt.keyphrase.Energy_Hatches", clientLocale) + ":", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + " EU", + (mEUt <= 0 ? translateToLocalFormatted("tt.keyphrase.Probably_uses", clientLocale) + ": " : translateToLocalFormatted("tt.keyphrase.Probably_makes", clientLocale) + ": ") + + EnumChatFormatting.RED + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t " + + translateToLocalFormatted("tt.keyword.at", clientLocale) + " " + + EnumChatFormatting.RED + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", + translateToLocalFormatted("tt.keyphrase.Tier_Rating", clientLocale) + ": " + + EnumChatFormatting.YELLOW + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + + EnumChatFormatting.GREEN + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyphrase.Amp_Rating", clientLocale) + ": " + + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", + translateToLocalFormatted("tt.keyword.Problems", clientLocale) + ": " + + EnumChatFormatting.RED + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyword.Efficiency", clientLocale) + ": " + + EnumChatFormatting.YELLOW + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", + translateToLocalFormatted("tt.keyword.PowerPass", clientLocale) + ": " + + EnumChatFormatting.BLUE + ePowerPass + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyword.SafeVoid", clientLocale) + ": " + + EnumChatFormatting.BLUE + eSafeVoid, + translateToLocalFormatted("tt.keyphrase.Computation_Available", clientLocale) + ": " + + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET, + translateToLocalFormatted("tt.keyphrase.Computation_Remaining", clientLocale) + ":", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(computationRemaining / 20L) + EnumChatFormatting.RESET + " / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(computationRequired / 20L) }; } @@ -505,8 +452,7 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa } try { if (aNBT.hasKey("eScanObjects")) { - objectsScanned = - EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, aNBT.getCompoundTag("eScanObjects")); + objectsScanned = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, aNBT.getCompoundTag("eScanObjects")); } } catch (EMException e) { objectsScanned = new EMInstanceStackMap(); @@ -519,6 +465,7 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa super.stopMachine(); computationRequired = computationRemaining = 0; objectResearched = null; + } @Override @@ -531,8 +478,7 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa if (eRecipe != null) { machineType = machine; } else { - eRecipe = TT_recipe.TT_Recipe_Map_EM.sCrafterRecipesEM.findRecipe( - objectResearched.getDefinition()); + eRecipe = TT_recipe.TT_Recipe_Map_EM.sCrafterRecipesEM.findRecipe(objectResearched.getDefinition()); if (eRecipe != null) { machineType = crafter; } @@ -585,12 +531,9 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa @Override public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isActive() && (aTick & 0x2) == 0 && aBaseMetaTileEntity.isClientSide()) { - int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 4 - + aBaseMetaTileEntity.getXCoord(); - int yDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetY * 4 - + aBaseMetaTileEntity.getYCoord(); - int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 4 - + aBaseMetaTileEntity.getZCoord(); + int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 4 + aBaseMetaTileEntity.getXCoord(); + int yDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetY * 4 + aBaseMetaTileEntity.getYCoord(); + int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 4 + aBaseMetaTileEntity.getZCoord(); aBaseMetaTileEntity.getWorld().markBlockRangeForRenderUpdate(xDir, yDir, zDir, xDir, yDir, zDir); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_stabilizer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_stabilizer.java index dad18a6388..c24ee46057 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_stabilizer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_stabilizer.java @@ -1,12 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.util.CommonValues; @@ -18,51 +11,42 @@ import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_stabilizer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - // region structure - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal( - "gt.blockmachines.multimachine.em.stabilizer.hint.0"), // 1 - Classic Hatches or High Power Casing - translateToLocal( - "gt.blockmachines.multimachine.em.stabilizer.hint.1"), // 2 - Elemental Hatches or Molecular Casing + //region structure + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.stabilizer.hint.0"),//1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.stabilizer.hint.1"),//2 - Elemental Hatches or Molecular Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("main", transpose(new String[][] { - {" AFA ", "BCBCB", "FBGBF", "BCBCB", " AFA "}, - {"AEEEA", "CBBBC", "BBDBB", "CBBBC", "AEEEA"}, - {"FE~EF", "BBBBB", "GDDDG", "BBBBB", "FEEEF"}, - {"AEEEA", "CBBBC", "BBDBB", "CBBBC", "AEEEA"}, - {" AFA ", "BCBCB", "FBGBF", "BCBCB", " AFA "} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('C', ofBlock(sBlockCasingsTT, 6)) - .addElement('D', ofBlock(sBlockCasingsTT, 9)) - .addElement('F', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement( - 'E', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_stabilizer::addClassicToMachineList, - textureOffset, - 1, - sBlockCasingsTT, - 0)) - .addElement( - 'G', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_stabilizer::addElementalToMachineList, - textureOffset + 4, - 2, - sBlockCasingsTT, - 4)) - .build(); - // endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("main", transpose(new String[][]{ + {" AFA ", "BCBCB", "FBGBF", "BCBCB", " AFA "}, + {"AEEEA", "CBBBC", "BBDBB", "CBBBC", "AEEEA"}, + {"FE~EF", "BBBBB", "GDDDG", "BBBBB", "FEEEF"}, + {"AEEEA", "CBBBC", "BBDBB", "CBBBC", "AEEEA"}, + {" AFA ", "BCBCB", "FBGBF", "BCBCB", " AFA "} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement('C', ofBlock(sBlockCasingsTT, 6)) + .addElement('D', ofBlock(sBlockCasingsTT, 9)) + .addElement('F', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_EM_stabilizer::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) + .addElement('G', ofHatchAdderOptional(GT_MetaTileEntity_EM_stabilizer::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) + .build(); + //endregion public GT_MetaTileEntity_EM_stabilizer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -85,24 +69,14 @@ public class GT_MetaTileEntity_EM_stabilizer extends GT_MetaTileEntity_Multibloc @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.em.stabilizer.name")) // Machine Type: Elemental Stabilizer - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.stabilizer.desc.0")) // Controller block of the - // Elemental Stabilizer + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.stabilizer.name")) // Machine Type: Elemental Stabilizer + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.stabilizer.desc.0")) // Controller block of the Elemental Stabilizer .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(5, 5, 5, false) - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.Elemental"), - translateToLocal("tt.keyword.Structure.SideCenter"), - 2) // Elemental Hatch: Side center - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.Elemental"), translateToLocal("tt.keyword.Structure.SideCenter"), 2) // Elemental Hatch: Side center + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } 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 7896899cc5..909f43c355 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 @@ -1,15 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.Reference; import com.github.technus.tectech.mechanics.dataTransport.QuantumDataPacket; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputData; @@ -34,62 +24,65 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - // region structure - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - "1 - Classic/Data Hatches or Computer casing", // 1 - Classic/Data Hatches or Computer casing + //region structure + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + "1 - Classic/Data Hatches or Computer casing",//1 - Classic/Data Hatches or Computer casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("main", transpose(new String[][] { - {"BBB", "BBB", "BBB"}, - {"B~B", "BAB", "BBB"}, - {"BBB", "BBB", "BBB"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 3)) - .addElement( - 'B', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_switch::addClassicToMachineList, - textureOffset + 1, - 1, - sBlockCasingsTT, - 1)) - .build(); - // endregion - - // region parameters - private static final INameFunction ROUTE_NAME = (base, p) -> (p.parameterId() == 0 - ? translateToLocal("tt.keyword.Destination") + " " - : translateToLocal("tt.keyword.Weight") + " ") - + p.hatchId(); - private static final IStatusFunction WEI_STATUS = (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; - return STATUS_OK; - }; - private static final IStatusFunction DST_STATUS = (base, p) -> { - if (base.weight[p.hatchId()].getStatus(false).isOk) { - double v = p.get(); - if (Double.isNaN(v)) return STATUS_WRONG; - v = (int) v; - if (v <= 0) return STATUS_TOO_LOW; - if (v >= base.eOutputHatches.size()) return STATUS_TOO_HIGH; - return STATUS_OK; - } - return STATUS_NEUTRAL; - }; - protected Parameters.Group.ParameterIn[] dst; - protected Parameters.Group.ParameterIn[] weight; - // endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("main", transpose(new String[][]{ + {"BBB", "BBB", "BBB"}, + {"B~B", "BAB", "BBB"}, + {"BBB", "BBB", "BBB"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 3)) + .addElement('B', ofHatchAdderOptional(GT_MetaTileEntity_EM_switch::addClassicToMachineList, textureOffset + 1, 1, sBlockCasingsTT, 1)) + .build(); + //endregion + + //region parameters + private static final INameFunction ROUTE_NAME = + (base, p) -> (p.parameterId() == 0 ? translateToLocal("tt.keyword.Destination") + " " : translateToLocal("tt.keyword.Weight") + " ") + p.hatchId(); + private static final IStatusFunction WEI_STATUS = + (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; + return STATUS_OK; + }; + private static final IStatusFunction DST_STATUS = + (base, p) -> { + if (base.weight[p.hatchId()].getStatus(false).isOk) { + double v = p.get(); + if (Double.isNaN(v)) return STATUS_WRONG; + v = (int) v; + if (v <= 0) return STATUS_TOO_LOW; + if (v >= base.eOutputHatches.size()) return STATUS_TOO_HIGH; + return STATUS_OK; + } + return STATUS_NEUTRAL; + }; + protected Parameters.Group.ParameterIn[] dst; + protected Parameters.Group.ParameterIn[] weight; + //endregion public GT_MetaTileEntity_EM_switch(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -134,15 +127,14 @@ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBas if (!eOutputData.isEmpty()) { double total = 0; double weight; - for (int i = 0; i < 10; i++) { // each param pair + for (int i = 0; i < 10; i++) {//each param pair weight = this.weight[i].get(); if (weight > 0 && dst[i].get() >= 0) { - total += weight; // Total weighted div + total += weight;//Total weighted div } } - Vec3Impl pos = new Vec3Impl( - getBaseMetaTileEntity().getXCoord(), + Vec3Impl pos = new Vec3Impl(getBaseMetaTileEntity().getXCoord(), getBaseMetaTileEntity().getYCoord(), getBaseMetaTileEntity().getZCoord()); @@ -199,61 +191,32 @@ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBas @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.em.switch.name")) // Machine Type: Network Switch With QoS - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.switch.desc.0")) // Controller block of the Network - // Switch With QoS - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.switch.desc.1")) // Used to route and distribute computation - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.switch.desc.2")) // Needs a Parametrizer to be configured + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.switch.name")) // Machine Type: Network Switch With QoS + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.switch.desc.0")) // Controller block of the Network Switch With QoS + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.switch.desc.1")) // Used to route and distribute computation + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.switch.desc.2")) // Needs a Parametrizer to be configured .addSeparator() .beginStructureBlock(3, 3, 3, false) - .addController(translateToLocal("tt.keyword.Structure.FrontCenter")) // Controller: Front center + .addController(translateToLocal("tt.keyword.Structure.FrontCenter")) // Controller: Front center .addCasingInfo(translateToLocal("gt.blockcasingsTT.1.name"), 0) // 0x Computer Casing (minimum) - .addOtherStructurePart( - translateToLocal("gt.blockcasingsTT.3.name"), - translateToLocal("tt.keyword.Structure.Center")) // Advanced Computer Casing: Center - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.DataConnector"), - translateToLocal("tt.keyword.Structure.AnyComputerCasing"), - 2) // Data Connector: Any Computer Casing - .addOtherStructurePart( - translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), - translateToLocal("tt.keyword.Structure.AnyComputerCasing"), - 2) // Parametrizer: Any Computer Casing - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyComputerCasing"), - 1) // Energy Hatch: Any Computer Casing - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyComputerCasing"), - 1) // Maintenance Hatch: Any Computer Casing + .addOtherStructurePart(translateToLocal("gt.blockcasingsTT.3.name"), translateToLocal("tt.keyword.Structure.Center")) // Advanced Computer Casing: Center + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.DataConnector"), translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 2) // Data Connector: Any Computer Casing + .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 2) // Parametrizer: Any Computer Casing + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 1) // Energy Hatch: Any Computer Casing + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 1) // Maintenance Hatch: Any Computer Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { + 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][1], - new TT_RenderedExtendedFacingTexture( - aActive - ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON - : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF) - }; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][1], new TT_RenderedExtendedFacingTexture(aActive ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF)}; } - return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][1]}; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][1]}; } - public static final 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) 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 613dbe0e21..251765ce0c 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 @@ -1,23 +1,12 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.DynamoMulti; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.EnergyMulti; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; -import static gregtech.api.GregTech_API.sBlockCasings1; -import static gregtech.api.enums.GT_HatchElement.Dynamo; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.Reference; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_Container_MultiMachineEM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContainer_MultiMachineEM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; import com.github.technus.tectech.util.CommonValues; +import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; @@ -34,46 +23,49 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.DynamoMulti; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.EnergyMulti; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; +import static gregtech.api.GregTech_API.sBlockCasings1; +import static gregtech.api.enums.GT_HatchElement.Dynamo; +import static gregtech.api.enums.GT_HatchElement.Energy; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_MultiblockBase_EM - implements ISurvivalConstructable { - // region structure - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal( - "gt.blockmachines.multimachine.em.transformer.hint"), // 1 - Energy IO Hatches or High Power Casing +public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable { + //region structure + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.transformer.hint"),//1 - Energy IO Hatches or High Power Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("main", new String[][] { - { - "111", "1~1", "111", - }, - { - "111", "101", "111", - }, - { - "111", "111", "111", - }, - }) - .addElement('0', ofBlock(sBlockCasings1, 15)) - .addElement( - '1', - buildHatchAdder(GT_MetaTileEntity_EM_transformer.class) - .atLeast(Energy, EnergyMulti, Dynamo, DynamoMulti) - .casingIndex(textureOffset) - .dot(1) - .buildAndChain(onElementPass(t -> t.casingCount++, ofBlock(sBlockCasingsTT, 0)))) - .build(); - private int casingCount = 0; + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("main", new String[][]{ + {"111", "1~1", "111",}, + {"111", "101", "111",}, + {"111", "111", "111",}, + }) + .addElement('0', ofBlock(sBlockCasings1, 15)) + .addElement('1', buildHatchAdder(GT_MetaTileEntity_EM_transformer.class) + .atLeast(Energy, EnergyMulti, Dynamo, DynamoMulti) + .casingIndex(textureOffset) + .dot(1) + .buildAndChain(onElementPass(t -> t.casingCount++, ofBlock(sBlockCasingsTT, 0)))) + .build(); + private int casingCount = 0; @Override public IStructureDefinition getStructure_EM() { return STRUCTURE_DEFINITION; } - // endregion + //endregion public GT_MetaTileEntity_EM_transformer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -125,30 +117,18 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.em.transformer.name")) // Machine Type: Transformer - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.transformer.desc.0")) // Controller block of the - // Active Transformer - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.transformer.desc.1")) // Can transform to and from any voltage - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.transformer.desc.2")) // Only 0.004% power loss, HAYO! - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.transformer.desc.3")) // Will explode if broken while running + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.transformer.name")) // Machine Type: Transformer + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.transformer.desc.0")) // Controller block of the Active Transformer + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.transformer.desc.1")) // Can transform to and from any voltage + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.transformer.desc.2")) // Only 0.004% power loss, HAYO! + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.transformer.desc.3")) // Will explode if broken while running .addSeparator() .beginStructureBlock(3, 3, 3, false) - .addController(translateToLocal("tt.keyword.Structure.FrontCenter")) // Controller: Front center + .addController(translateToLocal("tt.keyword.Structure.FrontCenter")) // Controller: Front center .addCasingInfo(translateToLocal("gt.blockcasingsTT.0.name"), 5) // 5x High Power Casing (minimum) - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.SuperconductingCoilBlock"), - translateToLocal("tt.keyword.Structure.Center")) // SuperconductingCoilBlock: Center - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Energy Hatch: Any High Power Casing - .addDynamoHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Dynamo Hatch: Any High Power Casing + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.SuperconductingCoilBlock"), translateToLocal("tt.keyword.Structure.Center")) // SuperconductingCoilBlock: Center + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing + .addDynamoHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Dynamo Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_GENERAL); return tt; } @@ -160,31 +140,18 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo @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 - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { + 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][0], - new TT_RenderedExtendedFacingTexture( - aActive - ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON - : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF) - }; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][0], new TT_RenderedExtendedFacingTexture(aActive ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF)}; } - return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][0]}; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][0]}; } - public static final ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_noise"); + public final static ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_noise"); @Override @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_wormhole.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_wormhole.java index 97b98c859e..e156595611 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_wormhole.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_wormhole.java @@ -1,13 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; @@ -25,169 +17,52 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_wormhole extends GT_MetaTileEntity_MultiblockBase_EM - implements IConstructable { // TODO MAKE COMPATIBLE WITH STARGATES XD - // region variables +public class GT_MetaTileEntity_EM_wormhole extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable {//TODO MAKE COMPATIBLE WITH STARGATES XD + //region variables private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; - // endregion + //endregion - // region structure - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal( - "gt.blockmachines.multimachine.em.wormhole.hint.0"), // 1 - Classic Hatches or High Power Casing - translateToLocal( - "gt.blockmachines.multimachine.em.wormhole.hint.1"), // 2 - Elemental Hatches or Molecular Casing + //region structure + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.wormhole.hint.0"),//1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.wormhole.hint.1"),//2 - Elemental Hatches or Molecular Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("main", transpose(new String[][] { - { - " ", - " ", - " ", - " ", - " ", - " D ", - " DDDDD ", - " DGGGD ", - " DGGGD ", - " DGGGD ", - " DDDDD " - }, - { - " ", - " ", - " ", - " D ", - " D ", - " D ", - " DDAAADD ", - " EABBBAE ", - " EABBBAE ", - " EABBBAE ", - " DDAAADD " - }, - { - " ", - " D ", - " D ", - " D ", - " ", - " ", - "DDA ADD", - "DABFFFBAD", - "DABCCCBAD", - "DABFFFBAD", - "DDA ADD" - }, - { - " EEE ", - " DDD ", - " F F ", - " ", - " ", - " ", - "DA AD", - "GBF FBG", - "GBC CBG", - "GBF FBG", - "DA AD" - }, - { - " E~E ", - " DDBDD ", - " D D ", - " DD DD ", - " D D ", - "DD DD", - "DA AD", - "GBF FBG", - "GBC CBG", - "GBF FBG", - "DA AD" - }, - { - " EEE ", - " DDD ", - " F F ", - " ", - " ", - " ", - "DA AD", - "GBF FBG", - "GBC CBG", - "GBF FBG", - "DA AD" - }, - { - " ", - " D ", - " D ", - " D ", - " ", - " ", - "DDA ADD", - "DABFFFBAD", - "DABCCCBAD", - "DABFFFBAD", - "DDA ADD" - }, - { - " ", - " ", - " ", - " D ", - " D ", - " D ", - " DDAAADD ", - " EABBBAE ", - " EABBBAE ", - " EABBBAE ", - " DDAAADD " - }, - { - " ", - " ", - " ", - " ", - " ", - " D ", - " DDDDD ", - " DGGGD ", - " DGGGD ", - " DGGGD ", - " DDDDD " - } - })) - .addElement('A', ofBlock(sBlockCasingsTT, 5)) - .addElement('B', ofBlock(sBlockCasingsTT, 10)) - .addElement('C', ofBlock(sBlockCasingsTT, 11)) - .addElement('D', ofBlock(sBlockCasingsTT, 12)) - .addElement('F', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement( - 'E', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_wormhole::addClassicToMachineList, - textureOffset, - 1, - sBlockCasingsTT, - 0)) - .addElement( - 'G', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_wormhole::addElementalToMachineList, - textureOffset + 4, - 2, - sBlockCasingsTT, - 4)) - .build(); - // endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("main", transpose(new String[][]{ + {" ", " ", " ", " ", " ", " D ", " DDDDD ", " DGGGD ", " DGGGD ", " DGGGD ", " DDDDD "}, + {" ", " ", " ", " D ", " D ", " D ", " DDAAADD ", " EABBBAE ", " EABBBAE ", " EABBBAE ", " DDAAADD "}, + {" ", " D ", " D ", " D ", " ", " ", "DDA ADD", "DABFFFBAD", "DABCCCBAD", "DABFFFBAD", "DDA ADD"}, + {" EEE ", " DDD ", " F F ", " ", " ", " ", "DA AD", "GBF FBG", "GBC CBG", "GBF FBG", "DA AD"}, + {" E~E ", " DDBDD ", " D D ", " DD DD ", " D D ", "DD DD", "DA AD", "GBF FBG", "GBC CBG", "GBF FBG", "DA AD"}, + {" EEE ", " DDD ", " F F ", " ", " ", " ", "DA AD", "GBF FBG", "GBC CBG", "GBF FBG", "DA AD"}, + {" ", " D ", " D ", " D ", " ", " ", "DDA ADD", "DABFFFBAD", "DABCCCBAD", "DABFFFBAD", "DDA ADD"}, + {" ", " ", " ", " D ", " D ", " D ", " DDAAADD ", " EABBBAE ", " EABBBAE ", " EABBBAE ", " DDAAADD "}, + {" ", " ", " ", " ", " ", " D ", " DDDDD ", " DGGGD ", " DGGGD ", " DGGGD ", " DDDDD "} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 5)) + .addElement('B', ofBlock(sBlockCasingsTT, 10)) + .addElement('C', ofBlock(sBlockCasingsTT, 11)) + .addElement('D', ofBlock(sBlockCasingsTT, 12)) + .addElement('F', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_EM_wormhole::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) + .addElement('G', ofHatchAdderOptional(GT_MetaTileEntity_EM_wormhole::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) + .build(); + //endregion public GT_MetaTileEntity_EM_wormhole(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -210,22 +85,14 @@ public class GT_MetaTileEntity_EM_wormhole extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.wormhole.name")) // Machine Type: Wormhole - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.wormhole.desc.0")) // Controller block of the Wormhole + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.wormhole.name")) // Machine Type: Wormhole + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.wormhole.desc.0")) // Controller block of the Wormhole .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(9, 9, 11, false) - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.Elemental"), - translateToLocal("tt.keyword.Structure.AnyMolecularCasing"), - 2) // Elemental Hatch: Any Molecular Casing - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.Elemental"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing"), 2) // Elemental Hatch: Any Molecular Casing + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -239,20 +106,11 @@ public class GT_MetaTileEntity_EM_wormhole extends GT_MetaTileEntity_MultiblockB } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { + 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 TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) - }; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][4], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; } - return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][4]}; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][4]}; } @Override 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 4406977759..5e148e36df 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 @@ -1,15 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import static com.github.technus.tectech.loader.MainLoader.microwaving; -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.GregTech_API.sBlockCasings4; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.AxisAlignedBB.getBoundingBox; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.Reference; import com.github.technus.tectech.thing.metaTileEntity.multi.base.*; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; @@ -24,8 +14,6 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; -import java.util.ArrayList; -import java.util.HashSet; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; @@ -34,57 +22,59 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; +import java.util.ArrayList; +import java.util.HashSet; + +import static com.github.technus.tectech.loader.MainLoader.microwaving; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.GregTech_API.sBlockCasings4; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.AxisAlignedBB.getBoundingBox; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - // region variables + //region variables private boolean hasBeenPausedThisCycle = false; - // endregion + //endregion - // region structure - // use multi A energy inputs, use less power the longer it runs - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal( - "gt.blockmachines.multimachine.tm.microwave.hint.0"), // 1 - Classic Hatches or Clean Stainless Steel - // Casing - translateToLocal( - "gt.blockmachines.multimachine.tm.microwave.hint.1"), // Also acts like a hopper so give it an Output - // Bus + //region structure + //use multi A energy inputs, use less power the longer it runs + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.tm.microwave.hint.0"),//1 - Classic Hatches or Clean Stainless Steel Casing + translateToLocal("gt.blockmachines.multimachine.tm.microwave.hint.1"),//Also acts like a hopper so give it an Output Bus }; - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("main", transpose(new String[][] { - {"AAAAA", "A---A", "A---A", "A---A", "AAAAA"}, - {"AAAAA", "A---A", "A---A", "A---A", "AAAAA"}, - {"AA~AA", "A---A", "A---A", "A---A", "AAAAA"}, - {"ABBBA", "BAAAB", "BAAAB", "BAAAB", "ABBBA"} - })) - .addElement('A', ofBlock(sBlockCasings4, 1)) - .addElement( - 'B', - ofHatchAdderOptional( - GT_MetaTileEntity_TM_microwave::addClassicToMachineList, 49, 1, sBlockCasings4, 1)) - .build(); - // endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("main", transpose(new String[][]{ + {"AAAAA", "A---A", "A---A", "A---A", "AAAAA"}, + {"AAAAA", "A---A", "A---A", "A---A", "AAAAA"}, + {"AA~AA", "A---A", "A---A", "A---A", "AAAAA"}, + {"ABBBA", "BAAAB", "BAAAB", "BAAAB", "ABBBA"} + })) + .addElement('A', ofBlock(sBlockCasings4, 1)) + .addElement('B', ofHatchAdderOptional(GT_MetaTileEntity_TM_microwave::addClassicToMachineList, 49, 1, sBlockCasings4, 1)) + .build(); + //endregion - // region parameters + //region parameters protected Parameters.Group.ParameterIn powerSetting, timerSetting; protected Parameters.Group.ParameterOut timerValue, remainingTime; - private static final INameFunction POWER_SETTING_NAME = - (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgi.0"); // Power setting - private static final INameFunction TIMER_SETTING_NAME = - (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgi.1"); // Timer setting + private static final INameFunction POWER_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgi.0");//Power setting + private static final INameFunction TIMER_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgi.1");//Timer setting - private static final INameFunction TIMER_VALUE_NAME = - (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgo.0"); // Timer value - private static final INameFunction TIMER_REMAINING_NAME = - (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgo.1"); // Timer remaining - private static final IStatusFunction POWER_STATUS = + private static final INameFunction TIMER_VALUE_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgo.0");//Timer value + private static final INameFunction TIMER_REMAINING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgo.1");//Timer remaining + private static final IStatusFunction POWER_STATUS = (base, p) -> LedStatus.fromLimitsInclusiveOuterBoundary(p.get(), 300, 1000, 1000, Double.POSITIVE_INFINITY); - private static final IStatusFunction TIMER_STATUS = (base, p) -> { + private static final IStatusFunction TIMER_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; value = (int) value; @@ -92,7 +82,7 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock if (value > 3000) return STATUS_TOO_HIGH; return STATUS_OK; }; - // endregion + //endregion public GT_MetaTileEntity_TM_microwave(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -132,25 +122,28 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock @Override public void outputAfterRecipe_EM() { if (hasBeenPausedThisCycle) { - return; // skip timer and actions if paused + return;//skip timer and actions if paused } timerValue.set(timerValue.get() + 1); remainingTime.set(timerSetting.get() - timerValue.get()); - IGregTechTileEntity mte = getBaseMetaTileEntity(); - Vec3Impl xyzOffsets = getExtendedFacing().getWorldOffset(new Vec3Impl(0, -1, 2)); - double xPos = mte.getXCoord() + 0.5f + xyzOffsets.get0(); - double yPos = mte.getYCoord() + 0.5f + xyzOffsets.get1(); - double zPos = mte.getZCoord() + 0.5f + xyzOffsets.get2(); - AxisAlignedBB aabb = getBoundingBox(-2, -2, -2, 2, 2, 2).offset(xPos, yPos, zPos); + IGregTechTileEntity mte = getBaseMetaTileEntity(); + Vec3Impl xyzOffsets = getExtendedFacing().getWorldOffset(new Vec3Impl(0, -1, 2)); + double xPos = mte.getXCoord() + 0.5f + xyzOffsets.get0(); + double yPos = mte.getYCoord() + 0.5f + xyzOffsets.get1(); + double zPos = mte.getZCoord() + 0.5f + xyzOffsets.get2(); + AxisAlignedBB aabb = getBoundingBox(-2, -2, -2, 2, 2, 2) + .offset(xPos, yPos, zPos); xyzOffsets = getExtendedFacing().getWorldOffset(new Vec3Impl(0, -4, 0)); - Vec3Impl xyzExpansion = - getExtendedFacing().getWorldOffset(new Vec3Impl(1, 0, 1)).abs(); - int power = (int) powerSetting.get(); + Vec3Impl xyzExpansion = getExtendedFacing().getWorldOffset(new Vec3Impl(1, 0, 1)).abs(); + int power = (int) powerSetting.get(); int damagingFactor = - Math.min(power >> 6, 8) + Math.min(power >> 8, 24) + Math.min(power >> 12, 48) + (power >> 18); + Math.min(power >> 6, 8) + + Math.min(power >> 8, 24) + + Math.min(power >> 12, 48) + + (power >> 18); ArrayList itemsToOutput = new ArrayList<>(); - HashSet tickedStuff = new HashSet<>(); + HashSet tickedStuff = new HashSet<>(); boolean inside = true; do { @@ -159,9 +152,7 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock 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() - }); + mte, null, true, 128, null, null, new ItemStack[]{((EntityItem) entity).getEntityItem()}); if (tRecipe == null || tRecipe.mInputs[0].stackSize != 1) { itemsToOutput.add(((EntityItem) entity).getEntityItem()); } else { @@ -196,45 +187,21 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.tm.microwave.name")) // Machine Type: Microwave Grinder - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.tm.microwave.desc.0")) // Controller block of the - // Microwave Grinder - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.tm.microwave.desc.1")) // Starts a timer when enabled - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.tm.microwave.desc.2")) // While the timer is running - // anything inside the machine - // will take damage - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.tm.microwave.desc.3")) // The machine will also collect - // any items inside of it - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.tm.microwave.desc.4")) // Can be configured with a Parametrizer - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.tm.microwave.desc.5")) // (Do not insert a Wither) + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.tm.microwave.name")) // Machine Type: Microwave Grinder + .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.0")) // Controller block of the Microwave Grinder + .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.1")) // Starts a timer when enabled + .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.2")) // While the timer is running anything inside the machine will take damage + .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.3")) // The machine will also collect any items inside of it + .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.4")) // Can be configured with a Parametrizer + .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.5")) // (Do not insert a Wither) .addSeparator() .beginStructureBlock(5, 4, 5, true) - .addController(translateToLocal("tt.keyword.Structure.FrontCenter")) // Controller: Front center - .addCasingInfo( - translateToLocal("tt.keyword.Structure.StainlessSteelCasing"), - 60) // 60x Stainless Steel Casing (minimum) - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.DataConnector"), - translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), - 2) // Output Bus: Any outer casing on the bottom layer - .addOtherStructurePart( - translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), - translateToLocal("tt.keyword.Structure.Optional") + " " - + translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), - 2) // Parametrizer: (optional) Any outer casing on the bottom layer - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), - 1) // Energy Hatch: Any outer casing on the bottom layer - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), - 1) // Maintenance Hatch: Any outer casing on the bottom layer + .addController(translateToLocal("tt.keyword.Structure.FrontCenter")) // Controller: Front center + .addCasingInfo(translateToLocal("tt.keyword.Structure.StainlessSteelCasing"), 60) // 60x Stainless Steel Casing (minimum) + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.DataConnector"), translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), 2) // Output Bus: Any outer casing on the bottom layer + .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), translateToLocal("tt.keyword.Structure.Optional") + " " + translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), 2) // Parametrizer: (optional) Any outer casing on the bottom layer + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), 1) // Energy Hatch: Any outer casing on the bottom layer + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), 1) // Maintenance Hatch: Any outer casing on the bottom layer .toolTipFinisher(CommonValues.BASS_MARK); return tt; } @@ -246,39 +213,17 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM( - aPlayerInventory, - aBaseMetaTileEntity, - getLocalName(), - "EMDisplay.png", - true, - false, - true); // todo texture + return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png", true, false, true);//todo texture } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { + public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { if (aSide == aFacing) { - return new ITexture[] { - Textures.BlockIcons.casingTexturePages[0][49], - new TT_RenderedExtendedFacingTexture( - aActive - ? Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE - : Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE) - }; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49], new TT_RenderedExtendedFacingTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE)}; } else if (aSide == GT_Utility.getOppositeSide(aFacing)) { - return new ITexture[] { - Textures.BlockIcons.casingTexturePages[0][49], - aActive ? Textures.BlockIcons.casingTexturePages[0][52] : Textures.BlockIcons.casingTexturePages[0][53] - }; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49], aActive ? Textures.BlockIcons.casingTexturePages[0][52] : Textures.BlockIcons.casingTexturePages[0][53]}; } - return new ITexture[] {Textures.BlockIcons.casingTexturePages[0][49]}; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49]}; } @Override @@ -303,10 +248,10 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock if (eSafeVoid) { hasBeenPausedThisCycle = true; } - return hasBeenPausedThisCycle || super.onRunningTick(aStack); // consume eu and other resources if not paused + return hasBeenPausedThisCycle || super.onRunningTick(aStack);//consume eu and other resources if not paused } - // TODO Why is the basetype 1?? + //TODO Why is the basetype 1?? @Override public byte getTileEntityBaseType() { return 1; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java index d38e41a695..ba0af2d349 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java @@ -8,8 +8,7 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.item.ItemStack; @Deprecated -public class GT_MetaTileEntity_TM_proccessingStack extends GT_MetaTileEntity_MultiblockBase_EM - implements IConstructable { +public class GT_MetaTileEntity_TM_proccessingStack extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { protected GT_MetaTileEntity_TM_proccessingStack(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); } @@ -20,7 +19,9 @@ public class GT_MetaTileEntity_TM_proccessingStack extends GT_MetaTileEntity_Mul } @Override - public void construct(ItemStack stackSize, boolean hintsOnly) {} + public void construct(ItemStack stackSize, boolean hintsOnly) { + + } @Override public String[] getStructureDescription(ItemStack stackSize) { @@ -32,114 +33,114 @@ public class GT_MetaTileEntity_TM_proccessingStack extends GT_MetaTileEntity_Mul return null; } /* - //region variables - private boolean hasBeenPausedThisCycle = false; - //endregion - - //region structure - //use multi A energy inputs, use less power the longer it runs - private static final String[][] base = new String[][]{ - {" ",}, - {" 0 ",}, - {" ",}, - }; - private static final String[][] slice = new String[][]{ - {"111",}, - {"101",}, - {"111",}, - }; - private static final String[][] cap = new String[][]{ - {" ",}, - {" 0 ",}, - {" ",}, - }; - private static final Block[] blockType = new Block[]{sBlockCasings4}; - private static final byte[] blockMeta = new byte[]{1}; - - private static final IHatchAdder[] addingMethods = adders( - GT_MetaTileEntity_TM_proccessingStack::addClassicToMachineList); - private static final short[] casingTextures = new short[]{49}; - 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 + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.hint.0"), - translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.hint.1"), - }; - //endregion - - public GT_MetaTileEntity_TM_proccessingStack(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GT_MetaTileEntity_TM_proccessingStack(String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_TM_proccessingStack(mName); - } - - @Override - public boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { - return false; - //return structureCheck_EM(shape, blockType, blockMeta, addingMethods, casingTextures, blockTypeFallback, blockMetaFallback, 1, 0, 0); - } - - @Override - public boolean checkRecipe_EM(ItemStack itemStack) { - return true; - } - - @Override - public void outputAfterRecipe_EM() { - - } - - @Override - public String[] getDescription() { - return new String[]{ - CommonValues.BASS_MARK, - translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.desc.0"), - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.desc.1"), - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.desc.2"), - }; - } - - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity,true, false, true); - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png",true, false, true); - } - - @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[0][49], new TT_RenderedExtendedFacingTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE)}; - } else if (aSide == GT_Utility.getOppositeSide(aFacing)) { - return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49], aActive ? Textures.BlockIcons.casingTexturePages[0][52] : Textures.BlockIcons.casingTexturePages[0][53]}; - } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49]}; - } - - @Override - public boolean onRunningTick(ItemStack aStack) { - return true; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - //StructureBuilderExtreme(shape, blockType, blockMeta, 2, 2, 0, getBaseMetaTileEntity(), this, hintsOnly); - } - - @Override - public String[] getStructureDescription(ItemStack stackSize) { - return description; - } - */ -} + //region variables + private boolean hasBeenPausedThisCycle = false; + //endregion + + //region structure + //use multi A energy inputs, use less power the longer it runs + private static final String[][] base = new String[][]{ + {" ",}, + {" 0 ",}, + {" ",}, + }; + private static final String[][] slice = new String[][]{ + {"111",}, + {"101",}, + {"111",}, + }; + private static final String[][] cap = new String[][]{ + {" ",}, + {" 0 ",}, + {" ",}, + }; + private static final Block[] blockType = new Block[]{sBlockCasings4}; + private static final byte[] blockMeta = new byte[]{1}; + + private static final IHatchAdder[] addingMethods = adders( + GT_MetaTileEntity_TM_proccessingStack::addClassicToMachineList); + private static final short[] casingTextures = new short[]{49}; + 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 + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.hint.0"), + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.hint.1"), + }; + //endregion + + public GT_MetaTileEntity_TM_proccessingStack(int aID, String aName, String aNameRegional) { + super(aID, aName, aNameRegional); + } + + public GT_MetaTileEntity_TM_proccessingStack(String aName) { + super(aName); + } + + @Override + public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { + return new GT_MetaTileEntity_TM_proccessingStack(mName); + } + + @Override + public boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { + return false; + //return structureCheck_EM(shape, blockType, blockMeta, addingMethods, casingTextures, blockTypeFallback, blockMetaFallback, 1, 0, 0); + } + + @Override + public boolean checkRecipe_EM(ItemStack itemStack) { + return true; + } + + @Override + public void outputAfterRecipe_EM() { + + } + + @Override + public String[] getDescription() { + return new String[]{ + CommonValues.BASS_MARK, + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.desc.0"), + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.desc.1"), + EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.desc.2"), + }; + } + + @Override + public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_Container_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity,true, false, true); + } + + @Override + public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png",true, false, true); + } + + @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[0][49], new TT_RenderedExtendedFacingTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE)}; + } else if (aSide == GT_Utility.getOppositeSide(aFacing)) { + return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49], aActive ? Textures.BlockIcons.casingTexturePages[0][52] : Textures.BlockIcons.casingTexturePages[0][53]}; + } + return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49]}; + } + + @Override + public boolean onRunningTick(ItemStack aStack) { + return true; + } + + @Override + public void construct(ItemStack stackSize, boolean hintsOnly) { + //StructureBuilderExtreme(shape, blockType, blockMeta, 2, 2, 0, getBaseMetaTileEntity(), this, hintsOnly); + } + + @Override + public String[] getStructureDescription(ItemStack stackSize) { + return description; + } + */ +} \ 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 94e85ff183..721987fe97 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,20 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.*; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsBA0; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.DynamoMulti; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.EnergyMulti; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.Param; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; -import static gregtech.api.enums.GT_HatchElement.*; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static java.lang.Math.min; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.mechanics.spark.RendererMessage; @@ -57,10 +42,6 @@ import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; import gregtech.api.util.IGT_HatchAdder; import gregtech.common.blocks.GT_Item_Machines; -import java.util.*; -import java.util.function.Consumer; -import java.util.stream.Collectors; -import java.util.stream.IntStream; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Items; @@ -75,286 +56,189 @@ import net.minecraft.world.World; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.tuple.Pair; -public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_MultiblockBase_EM - implements ISurvivalConstructable, ITeslaConnectable { - // Interface fields - private final Multimap teslaNodeMap = - MultimapBuilder.treeKeys().linkedListValues().build(); - private final HashSet sparkList = new HashSet<>(); - private int sparkCount = 10; - - // region variables - private static final int transferRadiusTowerFromConfig = - TecTech.configTecTech.TESLA_MULTI_RANGE_TOWER; // Default is 32 - private static final int transferRadiusTransceiverFromConfig = - TecTech.configTecTech.TESLA_MULTI_RANGE_TRANSCEIVER; // Default is 16 - private static final int transferRadiusCoverUltimateFromConfig = - TecTech.configTecTech.TESLA_MULTI_RANGE_COVER; // Default is 16 - private static final int plasmaRangeMultiT1 = - TecTech.configTecTech.TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1; // Default is 2 - private static final int plasmaRangeMultiT2 = - TecTech.configTecTech.TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2; // Default is 4 - private static final int heliumUse = - TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM; // Default is 100 - private static final int nitrogenUse = - TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN; // Default is 50 - private static final int radonUse = TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON; // Default is 50 - private static final boolean visualEffect = TecTech.configTecTech.TESLA_VISUAL_EFFECT; // Default is true - // Default is {1, 1, 1} - private static final int[] plasmaTierLoss = new int[] { - TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T0, - TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T1, - TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T2 - }; - private static final float overDriveLoss = - TecTech.configTecTech.TESLA_MULTI_LOSS_FACTOR_OVERDRIVE; // Default is 0.25F; - private static final boolean doFluidOutput = TecTech.configTecTech.TESLA_MULTI_GAS_OUTPUT; // Default is false +import java.util.*; +import java.util.function.Consumer; +import java.util.stream.Collectors; +import java.util.stream.IntStream; - // Face icons +import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.*; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsBA0; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.DynamoMulti; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.EnergyMulti; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.Param; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; +import static gregtech.api.enums.GT_HatchElement.*; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static java.lang.Math.min; +import static net.minecraft.util.StatCollector.translateToLocal; + +public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable, ITeslaConnectable { + //Interface fields + private final Multimap teslaNodeMap = MultimapBuilder.treeKeys().linkedListValues().build(); + private final HashSet sparkList = new HashSet<>(); + private int sparkCount = 10; + + //region variables + private static final int transferRadiusTowerFromConfig = TecTech.configTecTech.TESLA_MULTI_RANGE_TOWER;//Default is 32 + private static final int transferRadiusTransceiverFromConfig = TecTech.configTecTech.TESLA_MULTI_RANGE_TRANSCEIVER;//Default is 16 + private static final int transferRadiusCoverUltimateFromConfig = TecTech.configTecTech.TESLA_MULTI_RANGE_COVER;//Default is 16 + private static final int plasmaRangeMultiT1 = TecTech.configTecTech.TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1;//Default is 2 + private static final int plasmaRangeMultiT2 = TecTech.configTecTech.TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2;//Default is 4 + private static final int heliumUse = TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM;//Default is 100 + private static final int nitrogenUse = TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN;//Default is 50 + private static final int radonUse = TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON;//Default is 50 + private static final boolean visualEffect = TecTech.configTecTech.TESLA_VISUAL_EFFECT;//Default is true + //Default is {1, 1, 1} + private static final int[] plasmaTierLoss = new int[]{TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T0, + TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T1, TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T2}; + private static final float overDriveLoss = TecTech.configTecTech.TESLA_MULTI_LOSS_FACTOR_OVERDRIVE;//Default is 0.25F; + private static final boolean doFluidOutput = TecTech.configTecTech.TESLA_MULTI_GAS_OUTPUT; //Default is false + + //Face icons private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; - private int mTier = 0; // Determines max voltage (LV to ZPM) - private int plasmaTier = 0; // 0 is None, 1 is Helium or Nitrogen, 2 is Radon (Does not match actual plasma tiers) + private int mTier = 0; //Determines max voltage (LV to ZPM) + private int plasmaTier = 0; //0 is None, 1 is Helium or Nitrogen, 2 is Radon (Does not match actual plasma tiers) - private FluidStack[] - mOutputFluidsQueue; // Used to buffer the fluid outputs, so the tesla takes a second to 'cool' any plasma it - // would output as a gas + private FluidStack[] mOutputFluidsQueue; //Used to buffer the fluid outputs, so the tesla takes a second to 'cool' any plasma it would output as a gas - private final ArrayList eCapacitorHatches = - new ArrayList<>(); // Capacitor hatches which determine the max voltage tier and count of amps + private final ArrayList eCapacitorHatches = new ArrayList<>(); //Capacitor hatches which determine the max voltage tier and count of amps - 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 + 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 - // outputVoltage and current after settings + //outputVoltage and current after settings private long outputVoltage; private long outputCurrent; - // Prevents unnecessary offset calculation, saving on lag - private byte oldRotation = -1; - private byte oldOrientation = -1; - // Location of the center of the sphere on top of the tower, used as the Thaumcraft lightning and origin - public Vec3Impl posTop = Vec3Impl.NULL_VECTOR; - // endregion - - // region structure - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal( - "gt.blockmachines.multimachine.tm.teslaCoil.hint.0"), // 1 - Classic Hatches, Capacitor Hatches or Tesla - // Base Casing - translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.hint.1"), // 2 - ""Titanium frames"" + //Prevents unnecessary offset calculation, saving on lag + private byte oldRotation = -1; + private byte oldOrientation = -1; + //Location of the center of the sphere on top of the tower, used as the Thaumcraft lightning and origin + public Vec3Impl posTop = Vec3Impl.NULL_VECTOR; + //endregion + + //region structure + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.hint.0"),//1 - Classic Hatches, Capacitor Hatches or Tesla Base Casing + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.hint.1"),//2 - ""Titanium frames"" }; - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("main", transpose(new String[][] { - {" ", " ", " BBB ", " BBB ", " BBB ", " ", " "}, - {" ", " BBB ", " BBBBB ", " BBBBB ", " BBBBB ", " BBB ", " "}, - {" ", " BBB ", " BBBBB ", " BBBBB ", " BBBBB ", " BBB ", " "}, - {" ", " BBB ", " BBBBB ", " BBBBB ", " BBBBB ", " BBB ", " "}, - {" ", " ", " BBB ", " BCB ", " BBB ", " ", " "}, - {" ", " ", " ", " C ", " ", " ", " "}, - {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, - {" ", " ", " ", " C ", " ", " ", " "}, - {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, - {" ", " ", " ", " C ", " ", " ", " "}, - {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, - {" ", " ", " ", " C ", " ", " ", " "}, - {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, - {" ", " ", " ", " C ", " ", " ", " "}, - {" ", " ", " ", " C ", " ", " ", " "}, - {" ", " DDD ", " D D ", " D C D ", " D D ", " DDD ", " "}, - {" EE~EE ", "EAAAAAE", "EADDDAE", "EADADAE", "EADDDAE", "EAAAAAE", " EEEEE "} - })) - .addElement('A', ofBlock(sBlockCasingsBA0, 6)) - .addElement('B', ofBlock(sBlockCasingsBA0, 7)) - .addElement('C', ofBlock(sBlockCasingsBA0, 8)) - .addElement( - 'D', - ofBlocksTiered( - (block, meta) -> - block != sBlockCasingsBA0 ? -1 : meta <= 5 ? meta : meta == 9 ? 6 : -1, - IntStream.range(0, 6) - .map(tier -> tier == 5 ? 9 : tier) - .mapToObj(meta -> Pair.of(sBlockCasingsBA0, meta)) - .collect(Collectors.toList()), - -1, - (t, v) -> t.mTier = v, - t -> t.mTier)) - .addElement( - 'E', - buildHatchAdder(GT_MetaTileEntity_TM_teslaCoil.class) - .atLeast( - CapacitorHatchElement.INSTANCE, - EnergyMulti, - Energy, - DynamoMulti, - Dynamo, - InputHatch, - OutputHatch, - Param, - Maintenance) - .dot(1) - .casingIndex(textureOffset + 16 + 6) - .buildAndChain(sBlockCasingsBA0, 6)) - .addElement('F', new IStructureElement() { - private IIcon[] mIcons; - - @Override - public boolean check(GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z) { - TileEntity tBase = world.getTileEntity(x, y, z); - if (tBase instanceof BaseMetaPipeEntity) { - BaseMetaPipeEntity tPipeBase = (BaseMetaPipeEntity) tBase; - if (tPipeBase.isInvalidTileEntity()) return false; - return tPipeBase.getMetaTileEntity() instanceof GT_MetaPipeEntity_Frame; - } - return false; - } - - @Override - public boolean spawnHint( - GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z, ItemStack trigger) { - if (mIcons == null) { - mIcons = new IIcon[6]; - Arrays.fill( - mIcons, - Materials._NULL.mIconSet.mTextures[OrePrefixes.frameGt.mTextureIndex] - .getIcon()); - } - StructureLibAPI.hintParticleTinted(world, x, y, z, mIcons, Materials._NULL.mRGBa); - return true; - } - - @Override - public boolean placeBlock( - GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z, ItemStack trigger) { - ItemStack tFrameStack = - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Titanium, 1); - if (!GT_Utility.isStackValid(tFrameStack) || !(tFrameStack.getItem() instanceof ItemBlock)) - return false; - ItemBlock tFrameStackItem = (ItemBlock) tFrameStack.getItem(); - return tFrameStackItem.placeBlockAt( - tFrameStack, - null, - world, - x, - y, - z, - 6, - 0, - 0, - 0, - Items.feather.getDamage(tFrameStack)); - } - - @Override - public PlaceResult survivalPlaceBlock( - GT_MetaTileEntity_TM_teslaCoil t, - World world, - int x, - int y, - int z, - ItemStack trigger, - IItemSource source, - EntityPlayerMP actor, - Consumer chatter) { - if (check(t, world, x, y, z)) return PlaceResult.SKIP; - ItemStack tFrameStack = source.takeOne( - s -> GT_Item_Machines.getMetaTileEntity(s) instanceof GT_MetaPipeEntity_Frame, - true); - if (tFrameStack == null) return PlaceResult.REJECT; - return StructureUtility.survivalPlaceBlock( - tFrameStack, - ItemStackPredicate.NBTMode.IGNORE_KNOWN_INSIGNIFICANT_TAGS, - null, - false, - world, - x, - y, - z, - source, - actor, - chatter); - } - }) - .build(); - // endregion - - // region parameters - protected Parameters.Group.ParameterIn popogaSetting, - histLowSetting, - histHighSetting, - transferRadiusTowerSetting, - transferRadiusTransceiverSetting, - transferRadiusCoverUltimateSetting, - outputVoltageSetting, - outputCurrentSetting, - sortTimeMinSetting, - overDriveSetting; - protected Parameters.Group.ParameterOut popogaDisplay, - transferRadiusTowerDisplay, - transferRadiusTransceiverDisplay, - transferRadiusCoverUltimateDisplay, - outputVoltageDisplay, - outputCurrentDisplay, - energyCapacityDisplay, - energyStoredDisplay, - energyFractionDisplay, - sortTimeDisplay; - - private static final INameFunction HYSTERESIS_LOW_SETTING_NAME = (base, p) -> - translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.0"); // Hysteresis low setting - private static final INameFunction HYSTERESIS_HIGH_SETTING_NAME = (base, p) -> - translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.1"); // Hysteresis high setting - private static final INameFunction TRANSFER_RADIUS_TOWER_SETTING_NAME = - (base, p) -> translateToLocal( - "gt.blockmachines.multimachine.tm.teslaCoil.cfgi.2"); // Tesla Towers transfer radius setting - private static final INameFunction TRANSFER_RADIUS_TRANSCEIVER_SETTING_NAME = - (base, p) -> translateToLocal( - "gt.blockmachines.multimachine.tm.teslaCoil.cfgi.3"); // Tesla Transceiver transfer radius setting - private static final INameFunction TRANSFER_RADIUS_COVER_ULTIMATE_SETTING_NAME = - (base, p) -> translateToLocal( - "gt.blockmachines.multimachine.tm.teslaCoil.cfgi.4"); // Tesla Ultimate Cover transfer radius - // setting - private static final INameFunction OUTPUT_VOLTAGE_SETTING_NAME = (base, p) -> - translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.5"); // Output voltage setting - private static final INameFunction OUTPUT_CURRENT_SETTING_NAME = (base, p) -> - translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.6"); // Output current setting - private static final INameFunction SCAN_TIME_MIN_SETTING_NAME = - (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.7"); // Scan time Min setting - private static final INameFunction OVERDRIVE_SETTING_NAME = - (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.8"); // Overdrive setting - private static final INameFunction POPOGA_NAME = - (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.9"); // Unused - - private static final INameFunction TRANSFER_RADIUS_TOWER_DISPLAY_NAME = - (base, p) -> translateToLocal( - "gt.blockmachines.multimachine.tm.teslaCoil.cfgo.0"); // Tesla Towers transfer radius display - private static final INameFunction TRANSFER_RADIUS_TRANSCEIVER_DISPLAY_NAME = - (base, p) -> translateToLocal( - "gt.blockmachines.multimachine.tm.teslaCoil.cfgo.1"); // Tesla Transceiver transfer radius display - private static final INameFunction TRANSFER_RADIUS_COVER_ULTIMATE_DISPLAY_NAME = - (base, p) -> translateToLocal( - "gt.blockmachines.multimachine.tm.teslaCoil.cfgo.2"); // Tesla Ultimate Cover transfer radius - // display - private static final INameFunction OUTPUT_VOLTAGE_DISPLAY_NAME = (base, p) -> - translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.3"); // Output voltage display - private static final INameFunction OUTPUT_CURRENT_DISPLAY_NAME = (base, p) -> - translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.4"); // Output current display - private static final INameFunction ENERGY_CAPACITY_DISPLAY_NAME = (base, p) -> - translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.5"); // Energy Capacity display - private static final INameFunction ENERGY_STORED_DISPLAY_NAME = - (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.6"); // Energy Stored display - private static final INameFunction ENERGY_FRACTION_DISPLAY_NAME = (base, p) -> - translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.7"); // Energy Fraction display - private static final INameFunction SCAN_TIME_DISPLAY_NAME = - (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.8"); // Scan time display - - private static final IStatusFunction HYSTERESIS_LOW_STATUS = (base, p) -> { + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("main", transpose(new String[][]{ + {" ", " ", " BBB ", " BBB ", " BBB ", " ", " "}, + {" ", " BBB ", " BBBBB ", " BBBBB ", " BBBBB ", " BBB ", " "}, + {" ", " BBB ", " BBBBB ", " BBBBB ", " BBBBB ", " BBB ", " "}, + {" ", " BBB ", " BBBBB ", " BBBBB ", " BBBBB ", " BBB ", " "}, + {" ", " ", " BBB ", " BCB ", " BBB ", " ", " "}, + {" ", " ", " ", " C ", " ", " ", " "}, + {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, + {" ", " ", " ", " C ", " ", " ", " "}, + {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, + {" ", " ", " ", " C ", " ", " ", " "}, + {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, + {" ", " ", " ", " C ", " ", " ", " "}, + {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, + {" ", " ", " ", " C ", " ", " ", " "}, + {" ", " ", " ", " C ", " ", " ", " "}, + {" ", " DDD ", " D D ", " D C D ", " D D ", " DDD ", " "}, + {" EE~EE ", "EAAAAAE", "EADDDAE", "EADADAE", "EADDDAE", "EAAAAAE", " EEEEE "} + })) + .addElement('A', ofBlock(sBlockCasingsBA0, 6)) + .addElement('B', ofBlock(sBlockCasingsBA0, 7)) + .addElement('C', ofBlock(sBlockCasingsBA0, 8)) + .addElement('D', ofBlocksTiered( + (block, meta) -> block != sBlockCasingsBA0 ? -1 : meta <= 5 ? meta : meta == 9 ? 6 : -1, + IntStream.range(0, 6).map(tier -> tier == 5 ? 9 : tier).mapToObj(meta -> Pair.of(sBlockCasingsBA0, meta)).collect(Collectors.toList()), + -1, + (t, v) -> t.mTier = v, + t -> t.mTier)) + .addElement('E', buildHatchAdder(GT_MetaTileEntity_TM_teslaCoil.class) + .atLeast(CapacitorHatchElement.INSTANCE, EnergyMulti, Energy, DynamoMulti, Dynamo, InputHatch, OutputHatch, Param, Maintenance) + .dot(1) + .casingIndex(textureOffset + 16 +6) + .buildAndChain(sBlockCasingsBA0, 6)) + .addElement('F', new IStructureElement() { + private IIcon[] mIcons; + + @Override + public boolean check(GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z) { + TileEntity tBase = world.getTileEntity(x, y, z); + if (tBase instanceof BaseMetaPipeEntity) { + BaseMetaPipeEntity tPipeBase = (BaseMetaPipeEntity) tBase; + if (tPipeBase.isInvalidTileEntity()) return false; + return tPipeBase.getMetaTileEntity() instanceof GT_MetaPipeEntity_Frame; + } + return false; + } + + @Override + public boolean spawnHint(GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z, ItemStack trigger) { + if (mIcons == null) { + mIcons = new IIcon[6]; + Arrays.fill(mIcons, Materials._NULL.mIconSet.mTextures[OrePrefixes.frameGt.mTextureIndex].getIcon()); + } + StructureLibAPI.hintParticleTinted(world, x, y, z, mIcons, Materials._NULL.mRGBa); + return true; + } + + @Override + public boolean placeBlock(GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z, ItemStack trigger) { + ItemStack tFrameStack = GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Titanium, 1); + if (!GT_Utility.isStackValid(tFrameStack) || !(tFrameStack.getItem() instanceof ItemBlock)) + return false; + ItemBlock tFrameStackItem = (ItemBlock) tFrameStack.getItem(); + return tFrameStackItem.placeBlockAt(tFrameStack, null, world, x, y, z, 6, 0, 0, 0, Items.feather.getDamage(tFrameStack)); + } + + @Override + public PlaceResult survivalPlaceBlock(GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z, ItemStack trigger, IItemSource source, EntityPlayerMP actor, Consumer chatter) { + if (check(t, world, x, y, z)) return PlaceResult.SKIP; + ItemStack tFrameStack = source.takeOne(s -> GT_Item_Machines.getMetaTileEntity(s) instanceof GT_MetaPipeEntity_Frame, true); + if (tFrameStack == null) return PlaceResult.REJECT; + return StructureUtility.survivalPlaceBlock(tFrameStack, ItemStackPredicate.NBTMode.IGNORE_KNOWN_INSIGNIFICANT_TAGS, null, false, world, x, y, z, source, actor, chatter); + } + }) + .build(); + //endregion + + //region parameters + protected Parameters.Group.ParameterIn popogaSetting, histLowSetting, histHighSetting, transferRadiusTowerSetting, transferRadiusTransceiverSetting, transferRadiusCoverUltimateSetting, outputVoltageSetting, outputCurrentSetting, sortTimeMinSetting, overDriveSetting; + protected Parameters.Group.ParameterOut popogaDisplay, transferRadiusTowerDisplay, transferRadiusTransceiverDisplay, transferRadiusCoverUltimateDisplay, outputVoltageDisplay, outputCurrentDisplay, energyCapacityDisplay, energyStoredDisplay, energyFractionDisplay, sortTimeDisplay; + + private static final INameFunction HYSTERESIS_LOW_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.0");//Hysteresis low setting + private static final INameFunction HYSTERESIS_HIGH_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.1");//Hysteresis high setting + private static final INameFunction TRANSFER_RADIUS_TOWER_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.2");//Tesla Towers transfer radius setting + private static final INameFunction TRANSFER_RADIUS_TRANSCEIVER_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.3");//Tesla Transceiver transfer radius setting + private static final INameFunction TRANSFER_RADIUS_COVER_ULTIMATE_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.4");//Tesla Ultimate Cover transfer radius setting + private static final INameFunction OUTPUT_VOLTAGE_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.5");//Output voltage setting + private static final INameFunction OUTPUT_CURRENT_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.6");//Output current setting + private static final INameFunction SCAN_TIME_MIN_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.7");//Scan time Min setting + private static final INameFunction OVERDRIVE_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.8");//Overdrive setting + private static final INameFunction POPOGA_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.9");//Unused + + private static final INameFunction TRANSFER_RADIUS_TOWER_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.0");//Tesla Towers transfer radius display + private static final INameFunction TRANSFER_RADIUS_TRANSCEIVER_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.1");//Tesla Transceiver transfer radius display + private static final INameFunction TRANSFER_RADIUS_COVER_ULTIMATE_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.2");//Tesla Ultimate Cover transfer radius display + private static final INameFunction OUTPUT_VOLTAGE_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.3");//Output voltage display + private static final INameFunction OUTPUT_CURRENT_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.4");//Output current display + private static final INameFunction ENERGY_CAPACITY_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.5");//Energy Capacity display + private static final INameFunction ENERGY_STORED_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.6");//Energy Stored display + private static final INameFunction ENERGY_FRACTION_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.7");//Energy Fraction display + private static final INameFunction SCAN_TIME_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.8");//Scan time display + + private static final IStatusFunction HYSTERESIS_LOW_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) { return STATUS_WRONG; @@ -363,14 +247,14 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock if (value > base.histHighSetting.get()) return STATUS_TOO_HIGH; return STATUS_OK; }; - private static final IStatusFunction HYSTERESIS_HIGH_STATUS = (base, p) -> { + private static final IStatusFunction 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 IStatusFunction TRANSFER_RADIUS_TOWER_STATUS = (base, p) -> { + private static final IStatusFunction TRANSFER_RADIUS_TOWER_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; value = (int) value; @@ -379,36 +263,33 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock if (value < transferRadiusTowerFromConfig) return STATUS_LOW; return STATUS_OK; }; - private static final IStatusFunction TRANSFER_RADIUS_TRANSCEIVER_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 > transferRadiusTransceiverFromConfig) return STATUS_HIGH; - if (value < transferRadiusTransceiverFromConfig) return STATUS_LOW; - return STATUS_OK; - }; - private static final IStatusFunction TRANSFER_RADIUS_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 > transferRadiusCoverUltimateFromConfig) return STATUS_HIGH; - if (value < transferRadiusCoverUltimateFromConfig) return STATUS_LOW; - return STATUS_OK; - }; - private static final IStatusFunction 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 SCAN_TIME_MIN_STATUS = (base, p) -> { + private static final IStatusFunction TRANSFER_RADIUS_TRANSCEIVER_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 > transferRadiusTransceiverFromConfig) return STATUS_HIGH; + if (value < transferRadiusTransceiverFromConfig) return STATUS_LOW; + return STATUS_OK; + }; + private static final IStatusFunction TRANSFER_RADIUS_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 > transferRadiusCoverUltimateFromConfig) return STATUS_HIGH; + if (value < transferRadiusCoverUltimateFromConfig) return STATUS_LOW; + return STATUS_OK; + }; + private static final IStatusFunction 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 SCAN_TIME_MIN_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; value = (int) value; @@ -416,7 +297,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock if (value == 100) return STATUS_OK; return STATUS_HIGH; }; - private static final IStatusFunction OVERDRIVE_STATUS = (base, p) -> { + private static final IStatusFunction OVERDRIVE_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; value = (int) value; @@ -424,20 +305,20 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock if (value == 0) return STATUS_LOW; return STATUS_HIGH; }; - private static final IStatusFunction POPOGA_STATUS = (base, p) -> { + private static final IStatusFunction POPOGA_STATUS = (base, p) -> { if (base.getBaseMetaTileEntity().getWorld().isThundering()) { return STATUS_WTF; } return STATUS_NEUTRAL; }; - private static final IStatusFunction SCAN_TIME_STATUS = (base, p) -> { + private static final IStatusFunction SCAN_TIME_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; value = (int) value; if (value == 0) return STATUS_HIGH; return STATUS_LOW; }; - private static final IStatusFunction POWER_STATUS = (base, p) -> { + private static final IStatusFunction POWER_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; value = (long) value; @@ -447,7 +328,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock return STATUS_LOW; } }; - private static final IStatusFunction ENERGY_STATUS = (base, p) -> { + private static final IStatusFunction ENERGY_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; if (base.energyFractionDisplay.get() > base.histHighSetting.get()) { @@ -458,7 +339,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock return STATUS_OK; } }; - // endregion + //endregion public GT_MetaTileEntity_TM_teslaCoil(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -469,9 +350,9 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock } private float getRangeMulti(int mTier, int vTier) { - // By Default: - // Helium and Nitrogen Plasmas will double the range - // Radon will quadruple the range + //By Default: + //Helium and Nitrogen Plasmas will double the range + //Radon will quadruple the range int plasmaBoost; switch (plasmaTier) { case 2: @@ -484,7 +365,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock plasmaBoost = 1; } - // Over-tiered coils will add +25% range + //Over-tiered coils will add +25% range if (vTier > mTier) { return 1.25F * plasmaBoost; } @@ -492,8 +373,8 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock } private void checkPlasmaBoost() { - // If there's fluid in the queue, try to output it - // That way it takes at least a second to 'process' the plasma + //If there's fluid in the queue, try to output it + //That way it takes at least a second to 'process' the plasma if (mOutputFluidsQueue != null) { mOutputFluids = mOutputFluidsQueue; mOutputFluidsQueue = null; @@ -501,27 +382,24 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock for (GT_MetaTileEntity_Hatch_Input fluidHatch : mInputHatches) { if (fluidHatch.mFluid != null) { - if (fluidHatch.mFluid.isFluidEqual(Materials.Helium.getPlasma(1)) - && fluidHatch.mFluid.amount >= heliumUse) { + if (fluidHatch.mFluid.isFluidEqual(Materials.Helium.getPlasma(1)) && fluidHatch.mFluid.amount >= heliumUse) { fluidHatch.mFluid.amount = fluidHatch.mFluid.amount - heliumUse; if (doFluidOutput) { - mOutputFluidsQueue = new FluidStack[] {Materials.Helium.getGas(heliumUse)}; + mOutputFluidsQueue = new FluidStack[]{Materials.Helium.getGas(heliumUse)}; } plasmaTier = 1; return; - } else if (fluidHatch.mFluid.isFluidEqual(Materials.Nitrogen.getPlasma(1)) - && fluidHatch.mFluid.amount >= nitrogenUse) { + } else if (fluidHatch.mFluid.isFluidEqual(Materials.Nitrogen.getPlasma(1)) && fluidHatch.mFluid.amount >= nitrogenUse) { fluidHatch.mFluid.amount = fluidHatch.mFluid.amount - nitrogenUse; if (doFluidOutput) { - mOutputFluidsQueue = new FluidStack[] {Materials.Nitrogen.getGas(nitrogenUse)}; + mOutputFluidsQueue = new FluidStack[]{Materials.Nitrogen.getGas(nitrogenUse)}; } plasmaTier = 1; return; - } else if (fluidHatch.mFluid.isFluidEqual(Materials.Radon.getPlasma(1)) - && fluidHatch.mFluid.amount >= radonUse) { + } else if (fluidHatch.mFluid.isFluidEqual(Materials.Radon.getPlasma(1)) && fluidHatch.mFluid.amount >= radonUse) { fluidHatch.mFluid.amount = fluidHatch.mFluid.amount - radonUse; if (doFluidOutput) { - mOutputFluidsQueue = new FluidStack[] {Materials.Radon.getGas(radonUse)}; + mOutputFluidsQueue = new FluidStack[]{Materials.Radon.getGas(radonUse)}; } plasmaTier = 2; return; @@ -554,26 +432,20 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock } } - // Only recalculate offsets on orientation or rotation change - if (oldRotation != getExtendedFacing().ordinal() - || oldOrientation != iGregTechTileEntity.getFrontFacing()) { + //Only recalculate offsets on orientation or rotation change + if (oldRotation != getExtendedFacing().ordinal() || oldOrientation != iGregTechTileEntity.getFrontFacing()) { oldRotation = (byte) getExtendedFacing().ordinal(); oldOrientation = iGregTechTileEntity.getFrontFacing(); - Vec3Impl posBMTE = new Vec3Impl( - getBaseMetaTileEntity().getXCoord(), + Vec3Impl posBMTE = new Vec3Impl(getBaseMetaTileEntity().getXCoord(), getBaseMetaTileEntity().getYCoord(), getBaseMetaTileEntity().getZCoord()); - // Calculate coordinates of the middle bottom - posTop = getExtendedFacing() - .getWorldOffset(new Vec3Impl(0, 0, 2)) - .add(posBMTE); + //Calculate coordinates of the middle bottom + posTop = getExtendedFacing().getWorldOffset(new Vec3Impl(0, 0, 2)).add(posBMTE); - // Calculate coordinates of the top sphere - posTop = getExtendedFacing() - .getWorldOffset(new Vec3Impl(0, -14, 2)) - .add(posBMTE); + //Calculate coordinates of the top sphere + posTop = getExtendedFacing().getWorldOffset(new Vec3Impl(0, -14, 2)).add(posBMTE); } return true; } @@ -584,15 +456,16 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock public boolean checkRecipe_EM(ItemStack itemStack) { checkPlasmaBoost(); - 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 - || !sortTimeMinSetting.getStatus(false).isOk - || !overDriveSetting.getStatus(false).isOk) return false; + 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 || + !sortTimeMinSetting.getStatus(false).isOk || + !overDriveSetting.getStatus(false).isOk + ) return false; mEfficiencyIncrease = 10000; mMaxProgresstime = 20; @@ -611,7 +484,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock outputCurrentMax = 0; if (vTier < 0) { - // Returning true to allow for 'passive running' + //Returning true to allow for 'passive running' outputVoltageMax = 0; return true; } else if (vTier > mTier && getEUVar() > 0) { @@ -641,37 +514,18 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.tm.teslaCoil.name")) // Machine Type: Tesla Tower - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.tm.teslaCoil.desc.0")) // Controller block of the Tesla Tower - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.tm.teslaCoil.desc.1")) // Used to transmit power to Tesla - // Coil Covers and Tesla - // Transceivers - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.2")) // Can be fed with - // Helium/Nitrogen/Radon Plasma to - // increase the range - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.tm.teslaCoil.desc.3")) // Transmitted voltage depends on - // the used Tesla Capacitor tier - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.tm.teslaCoil.desc.4")) // Primary Tesla Windings need to - // be at least the same tier as - // the Tesla Capacitor + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.name")) // Machine Type: Tesla Tower + .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.0")) // Controller block of the Tesla Tower + .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.1")) // Used to transmit power to Tesla Coil Covers and Tesla Transceivers + .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.2")) // Can be fed with Helium/Nitrogen/Radon Plasma to increase the range + .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.3")) // Transmitted voltage depends on the used Tesla Capacitor tier + .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.4")) // Primary Tesla Windings need to be at least the same tier as the Tesla Capacitor .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(7, 17, 7, false) - .addOtherStructurePart( - translateToLocal("gt.blockmachines.hatch.capacitor.tier.03.name"), - translateToLocal("tt.keyword.Structure.AnyTeslaBaseCasingOuter"), - 1) // Capacitor Hatch: Any outer Tesla Base Casing - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyTeslaBaseCasingOuter"), - 1) // Energy Hatch: Any outer Tesla Base Casing - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyTeslaBaseCasingOuter"), - 1) // Maintenance Hatch: Any outer Tesla Base Casing + .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.capacitor.tier.03.name"), translateToLocal("tt.keyword.Structure.AnyTeslaBaseCasingOuter"), 1) // Capacitor Hatch: Any outer Tesla Base Casing + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyTeslaBaseCasingOuter"), 1) // Energy Hatch: Any outer Tesla Base Casing + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyTeslaBaseCasingOuter"), 1) // Maintenance Hatch: Any outer Tesla Base Casing .toolTipFinisher(CommonValues.BASS_MARK); return tt; } @@ -685,20 +539,11 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { + 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][16 + 6], - new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) - }; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][16 + 6], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; } - return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][16 + 6]}; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][16 + 6]}; } @Override @@ -731,24 +576,13 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock 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, transferRadiusTowerFromConfig, TRANSFER_RADIUS_TOWER_SETTING_NAME, TRANSFER_RADIUS_TOWER_STATUS); + transferRadiusTowerSetting = hatch_2.makeInParameter(0, transferRadiusTowerFromConfig, TRANSFER_RADIUS_TOWER_SETTING_NAME, TRANSFER_RADIUS_TOWER_STATUS); popogaSetting = hatch_2.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); - transferRadiusTransceiverSetting = hatch_3.makeInParameter( - 0, - transferRadiusTransceiverFromConfig, - TRANSFER_RADIUS_TRANSCEIVER_SETTING_NAME, - TRANSFER_RADIUS_TRANSCEIVER_STATUS); - transferRadiusCoverUltimateSetting = hatch_3.makeInParameter( - 1, - transferRadiusCoverUltimateFromConfig, - TRANSFER_RADIUS_COVER_ULTIMATE_SETTING_NAME, - TRANSFER_RADIUS_COVER_ULTIMATE_STATUS); - outputVoltageSetting = - hatch_4.makeInParameter(0, -1, OUTPUT_VOLTAGE_SETTING_NAME, OUTPUT_VOLTAGE_OR_CURRENT_STATUS); + transferRadiusTransceiverSetting = hatch_3.makeInParameter(0, transferRadiusTransceiverFromConfig, TRANSFER_RADIUS_TRANSCEIVER_SETTING_NAME, TRANSFER_RADIUS_TRANSCEIVER_STATUS); + transferRadiusCoverUltimateSetting = hatch_3.makeInParameter(1, transferRadiusCoverUltimateFromConfig, TRANSFER_RADIUS_COVER_ULTIMATE_SETTING_NAME, TRANSFER_RADIUS_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); + 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); @@ -763,13 +597,10 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock 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); + 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_STATUS); - transferRadiusCoverUltimateDisplay = hatch_3.makeOutParameter( - 1, 0, TRANSFER_RADIUS_COVER_ULTIMATE_DISPLAY_NAME, TRANSFER_RADIUS_COVER_ULTIMATE_STATUS); + transferRadiusTransceiverDisplay = hatch_3.makeOutParameter(0, 0, TRANSFER_RADIUS_TRANSCEIVER_DISPLAY_NAME, TRANSFER_RADIUS_TRANSCEIVER_STATUS); + transferRadiusCoverUltimateDisplay = hatch_3.makeOutParameter(1, 0, TRANSFER_RADIUS_COVER_ULTIMATE_DISPLAY_NAME, TRANSFER_RADIUS_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); @@ -821,7 +652,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock @Override public boolean onRunningTick(ItemStack aStack) { - // Hysteresis based ePowerPass setting + //Hysteresis based ePowerPass setting float energyFrac = (float) getEUVar() / energyCapacity; energyCapacityDisplay.set(energyCapacity); @@ -834,7 +665,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock ePowerPass = false; } - // Power Limit Settings + //Power Limit Settings if (outputVoltageSetting.get() > 0) { outputVoltage = min(outputVoltageMax, (long) outputVoltageSetting.get()); } else { @@ -848,23 +679,22 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock outputCurrent = outputCurrentMax; } - // Range calculation and display + //Range calculation and display int transferRadiusTower = getTeslaTransmissionRange(); transferRadiusTowerDisplay.set(transferRadiusTower); transferRadiusTransceiverDisplay.set(transferRadiusTower * 2); transferRadiusCoverUltimateDisplay.set(transferRadiusTower); - // Power transfer + //Power transfer outputCurrentDisplay.set(powerTeslaNodeMap(this)); - // TODO Encapsulate the spark sender + //TODO Encapsulate the spark sender sparkCount--; if (sparkCount == 0 && visualEffect) { IGregTechTileEntity mte = getBaseMetaTileEntity(); sparkCount = 10; if (!sparkList.isEmpty()) { - NetworkDispatcher.INSTANCE.sendToAllAround( - new RendererMessage.RendererData(sparkList), + NetworkDispatcher.INSTANCE.sendToAllAround(new RendererMessage.RendererData(sparkList), mte.getWorld().provider.dimensionId, mte.getXCoord(), mte.getYCoord(), @@ -878,14 +708,14 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock @Override public long maxEUStore() { - // Setting the power here so that the tower looses all it's charge once disabled - // This also stops it from exploding + //Setting the power here so that the tower looses all it's charge once disabled + //This also stops it from exploding return getBaseMetaTileEntity().isActive() ? energyCapacity * 2 : 0; } @Override public long getEUVar() { - // Same reason as maxEUStore, set to 1 instead of zero so it doesn't drain constantly + //Same reason as maxEUStore, set to 1 instead of zero so it doesn't drain constantly return getBaseMetaTileEntity().isActive() ? super.getEUVar() : 1; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java index a26003dd74..1691940997 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java @@ -12,49 +12,43 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { - public LedStatus[] eParamsInStatus = LedStatus.makeArray(20, LedStatus.STATUS_UNDEFINED); - public LedStatus[] eParamsOutStatus = LedStatus.makeArray(20, LedStatus.STATUS_UNDEFINED); - public double[] eParamsIn = new double[20]; // number I from parametrizers + public LedStatus[] eParamsInStatus = LedStatus.makeArray(20,LedStatus.STATUS_UNDEFINED); + public LedStatus[] eParamsOutStatus = LedStatus.makeArray(20,LedStatus.STATUS_UNDEFINED); + public double[] eParamsIn = new double[20];//number I from parametrizers public long[] eParamsInl = new long[20]; - public double[] eParamsOut = new double[20]; // number O to parametrizers + public double[] eParamsOut = new double[20];//number O to parametrizers public long[] eParamsOutl = new long[20]; public byte eCertainMode = 5, eCertainStatus = 127; public boolean ePowerPass = false, eSafeVoid = false, allowedToWork = false; - public final boolean eSafeVoidButton, allowedToWorkButton, ePowerPassButton; + public final boolean eSafeVoidButton, allowedToWorkButton,ePowerPassButton; public boolean ePowerPassCover; - public GT_Container_MultiMachineEM( - InventoryPlayer aInventoryPlayer, - IGregTechTileEntity aTileEntity, - boolean enablePowerPassButton, - boolean enableSafeVoid, - boolean enablePowerButton) { + public GT_Container_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity,boolean enablePowerPassButton, boolean enableSafeVoid, boolean enablePowerButton) { super(aInventoryPlayer, aTileEntity); - ePowerPassButton = enablePowerPassButton; - eSafeVoidButton = enableSafeVoid; - allowedToWorkButton = enablePowerButton; + ePowerPassButton=enablePowerPassButton; + eSafeVoidButton=enableSafeVoid; + allowedToWorkButton=enablePowerButton; } public GT_Container_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - this(aInventoryPlayer, aTileEntity, true, true, true); + this(aInventoryPlayer,aTileEntity,true,true,true); } - public GT_Container_MultiMachineEM( - InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, boolean bindInventory) { + public GT_Container_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, boolean bindInventory) { super(aInventoryPlayer, aTileEntity, bindInventory); - ePowerPassButton = eSafeVoidButton = allowedToWorkButton = true; + ePowerPassButton=eSafeVoidButton=allowedToWorkButton=true; } @Override protected void bindPlayerInventory(InventoryPlayer aInventoryPlayer) { int i; - for (i = 0; i < 3; ++i) { - for (int j = 0; j < 9; ++j) { + for(i = 0; i < 3; ++i) { + for(int j = 0; j < 9; ++j) { this.addSlotToContainer(new Slot(aInventoryPlayer, j + i * 9 + 9, 8 + j * 18, 110 + i * 18)); } } - for (i = 0; i < 9; ++i) { + for(i = 0; i < 9; ++i) { this.addSlotToContainer(new Slot(aInventoryPlayer, i, 8 + i * 18, 168)); } } @@ -74,19 +68,18 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { } Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - GT_MetaTileEntity_MultiblockBase_EM mte = - (GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity(); + GT_MetaTileEntity_MultiblockBase_EM mte = (GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity(); IGregTechTileEntity base = mte.getBaseMetaTileEntity(); switch (aSlotIndex) { case 0: - if (ePowerPassButton || mte.ePowerPassCover) { - TecTech.proxy.playSound(base, "fx_click"); - if (mte.ePowerPassCover) { + if(ePowerPassButton || mte.ePowerPassCover) { + TecTech.proxy.playSound(base,"fx_click"); + if(mte.ePowerPassCover){ mte.ePowerPass ^= true; - } else { + }else { mte.ePowerPass = false; } - if (!allowedToWorkButton) { // TRANSFORMER HACK + if (!allowedToWorkButton) {//TRANSFORMER HACK if (mte.ePowerPass) { mte.getBaseMetaTileEntity().enableWorking(); } else { @@ -96,14 +89,14 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { } break; case 1: - if (eSafeVoidButton) { - TecTech.proxy.playSound(base, "fx_click"); + if(eSafeVoidButton) { + TecTech.proxy.playSound(base,"fx_click"); mte.eSafeVoid ^= true; } break; case 2: - if (allowedToWorkButton) { - TecTech.proxy.playSound(base, "fx_click"); + if(allowedToWorkButton) { + TecTech.proxy.playSound(base,"fx_click"); if (mte.getBaseMetaTileEntity().isAllowedToWork()) { mte.getBaseMetaTileEntity().disableWorking(); } else { @@ -122,13 +115,10 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null || eParamsInStatus == null) { return; } - eParamsInStatus = - ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.eParamsInStatus; - eParamsOutStatus = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()) - .parametrization - .eParamsOutStatus; - eParamsIn = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.iParamsIn; - eParamsOut = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.iParamsOut; + eParamsInStatus = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.eParamsInStatus; + eParamsOutStatus = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.eParamsOutStatus; + eParamsIn= ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.iParamsIn; + eParamsOut= ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.iParamsOut; eCertainMode = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).eCertainMode; eCertainStatus = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).eCertainStatus; ePowerPass = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).ePowerPass; @@ -138,16 +128,12 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; - for (int i = 100, j = 0; j < eParamsInStatus.length; j++) { - var1.sendProgressBarUpdate( - this, i++, (eParamsInStatus[j].getOrdinalByte() | (eParamsOutStatus[j].getOrdinalByte() << 8))); + for (int i=100, j = 0; j < eParamsInStatus.length; j++) { + var1.sendProgressBarUpdate(this, i++, (eParamsInStatus[j].getOrdinalByte() | (eParamsOutStatus[j].getOrdinalByte() << 8))); } var1.sendProgressBarUpdate(this, 120, eCertainMode | (eCertainStatus << 8)); - var1.sendProgressBarUpdate( - this, - 121, - (ePowerPass ? 1 : 0) + (eSafeVoid ? 2 : 0) + (allowedToWork ? 4 : 0) + (ePowerPassButton ? 8 : 0)); - for (int i = 128, k = 208, j = 0; j < 20; j++, i += 4, k += 4) { + var1.sendProgressBarUpdate(this, 121, (ePowerPass ? 1 : 0) + (eSafeVoid ? 2 : 0) + (allowedToWork ? 4 : 0) + (ePowerPassButton?8:0)); + for(int i=128,k=208,j=0;j<20;j++,i+=4,k+=4) { TT_Utility.sendDouble(eParamsOut[j], this, var1, i); TT_Utility.sendDouble(eParamsIn[j], this, var1, k); } @@ -161,8 +147,8 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { return; } if (par1 >= 100 && par1 < 120) { - eParamsInStatus[par1 - 100] = LedStatus.getStatus((byte) (par2 & 0xff)); - eParamsOutStatus[par1 - 100] = LedStatus.getStatus((byte) (par2 >>> 8)); + eParamsInStatus[par1 - 100] = LedStatus.getStatus ((byte) (par2 & 0xff)); + eParamsOutStatus[par1 - 100] = LedStatus.getStatus ((byte) (par2 >>> 8)); } else if (par1 == 120) { eCertainMode = (byte) (par2 & 0xff); eCertainStatus = (byte) (par2 >>> 8); @@ -171,14 +157,12 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { eSafeVoid = (par2 & 2) == 2; allowedToWork = (par2 & 4) == 4; ePowerPassCover = (par2 & 8) == 8; - } else if (par1 >= 128 && par1 < 208) { - int pos = (par1 - 128) >> 2; - eParamsOut[pos] = Double.longBitsToDouble( - eParamsOutl[pos] = TT_Utility.receiveLong(eParamsOutl[pos], par1 & 0xFFFFFFFC, par1, par2)); - } else if (par1 >= 208 && par1 < 288) { - int pos = (par1 - 208) >> 2; - eParamsIn[pos] = Double.longBitsToDouble( - eParamsInl[pos] = TT_Utility.receiveLong(eParamsInl[pos], par1 & 0xFFFFFFFC, par1, par2)); + } else if(par1>=128 && par1<208){ + int pos=(par1-128)>>2; + eParamsOut[pos]=Double.longBitsToDouble(eParamsOutl[pos]= TT_Utility.receiveLong(eParamsOutl[pos],par1&0xFFFFFFFC,par1,par2)); + }else if(par1>=208 && par1<288){ + int pos=(par1-208)>>2; + eParamsIn[pos]=Double.longBitsToDouble(eParamsInl[pos]= TT_Utility.receiveLong(eParamsInl[pos],par1&0xFFFFFFFC,par1,par2)); } } @@ -196,4 +180,4 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { public int getShiftClickSlotCount() { return 1; } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java index 0c20d76dae..070976006c 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java @@ -1,75 +1,56 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - import com.github.technus.tectech.TecTech; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import java.util.List; import net.minecraft.client.gui.FontRenderer; import net.minecraft.entity.player.InventoryPlayer; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; +import java.util.List; + +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + /** * Created by Tec on 21.02.2017. */ + public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Machine { protected final String mName; protected static byte counter = 0; - protected final boolean eSafeVoidButton, allowedToWorkButton, ePowerPassButton; + protected final boolean eSafeVoidButton, allowedToWorkButton,ePowerPassButton; protected final GT_Container_MultiMachineEM mContainer; - protected GT_GUIContainer_MultiMachineEM( - GT_Container_MultiMachineEM container, - String aName, - String aTextureFile, - boolean enablePowerPass, - boolean enableSafeVoid, - boolean enablePowerButton) { + protected GT_GUIContainer_MultiMachineEM(GT_Container_MultiMachineEM container, String aName, String aTextureFile,boolean enablePowerPass, boolean enableSafeVoid, boolean enablePowerButton) { super(container, RES_PATH_GUI + "multimachines/" + (aTextureFile == null ? "MultiblockDisplay" : aTextureFile)); - mContainer = (GT_Container_MultiMachineEM) super.mContainer; + mContainer=(GT_Container_MultiMachineEM)super.mContainer; mName = aName; - ePowerPassButton = enablePowerPass; - eSafeVoidButton = enableSafeVoid; - allowedToWorkButton = enablePowerButton; - ySize = 192; + ePowerPassButton=enablePowerPass; + eSafeVoidButton=enableSafeVoid; + allowedToWorkButton=enablePowerButton; + ySize= 192; xSize = 198; } - public GT_GUIContainer_MultiMachineEM( - InventoryPlayer aInventoryPlayer, - IGregTechTileEntity aTileEntity, - String aName, - String aTextureFile, - boolean enablePowerPass, - boolean enableSafeVoid, - boolean enablePowerButton) { - this( - new GT_Container_MultiMachineEM(aInventoryPlayer, aTileEntity), - aName, - aTextureFile, - enablePowerPass, - enableSafeVoid, - enablePowerButton); + public GT_GUIContainer_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile,boolean enablePowerPass, boolean enableSafeVoid, boolean enablePowerButton) { + this(new GT_Container_MultiMachineEM(aInventoryPlayer, aTileEntity),aName,aTextureFile,enablePowerPass,enableSafeVoid,enablePowerButton); } protected GT_GUIContainer_MultiMachineEM(GT_Container_MultiMachineEM container, String aName, String aTextureFile) { - this(container, aName, aTextureFile, true, true, true); + this(container,aName,aTextureFile,true,true,true); } - public GT_GUIContainer_MultiMachineEM( - InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile) { - this(new GT_Container_MultiMachineEM(aInventoryPlayer, aTileEntity), aName, aTextureFile); + public GT_GUIContainer_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile) { + this(new GT_Container_MultiMachineEM(aInventoryPlayer, aTileEntity),aName,aTextureFile); } @Override public void drawScreen(int mouseX, int mouseY, float par3) { super.drawScreen(mouseX, mouseY, par3); if (mContainer != null) { - if (mContainer.mTileEntity != null - && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_MultiblockBase_EM) { + if (mContainer.mTileEntity != null && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_MultiblockBase_EM) { LEDtooltips(mouseX, mouseY); } } @@ -129,22 +110,22 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach if (mContainer != null && mContainer.eParamsInStatus != null) { counter = (byte) ((1 + counter) % 6); GL11.glColor4f(1f, 1f, 1f, 1f); - x += 173; - if (!ePowerPassButton && !mContainer.ePowerPassCover) { // no function + x+= 173; + if (!ePowerPassButton && !mContainer.ePowerPassCover) {//no function drawTexturedModalRect(x, y + 115, 231, 23, 18, 18); } else { - if (mContainer.ePowerPass) { // + if (mContainer.ePowerPass) {// drawTexturedModalRect(x, y + 115, 207, 23, 18, 18); } } - if (!eSafeVoidButton) { + if(!eSafeVoidButton) { drawTexturedModalRect(x, y + 132, 231, 41, 18, 18); } else if (mContainer.eSafeVoid) { drawTexturedModalRect(x, y + 132, 207, 41, 18, 18); } - if (!allowedToWorkButton) { + if(!allowedToWorkButton) { drawTexturedModalRect(x, y + 147, 231, 57, 18, 18); } else if (mContainer.allowedToWork) { drawTexturedModalRect(x, y + 147, 207, 57, 18, 18); @@ -163,31 +144,63 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach x += 162; byte state = mContainer.eCertainStatus; switch (mContainer.eCertainMode) { - case 1: // ooo oxo ooo - drawTexturedModalRect(x + 6, y + 6, rU + (state == 0 ? 30 : 6), Vs + 6, 6, 6); + case 1://ooo oxo ooo + drawTexturedModalRect(x + 6, y + 6, + rU + (state == 0 ? 30 : 6), + Vs + 6, 6, 6); break; - case 2: // ooo xox ooo - drawTexturedModalRect(x, y + 6, rU + ((state & 1) == 0 ? 24 : 0), Vs + 6, 6, 6); - drawTexturedModalRect(x + 12, y + 6, rU + ((state & 2) == 0 ? 36 : 12), Vs + 6, 6, 6); + case 2://ooo xox ooo + drawTexturedModalRect(x, y + 6, + rU + ((state & 1) == 0 ? 24 : 0), + Vs + 6, 6, 6); + drawTexturedModalRect(x + 12, y + 6, + rU + ((state & 2) == 0 ? 36 : 12), + Vs + 6, 6, 6); break; - case 3: // oxo xox oxo - drawTexturedModalRect(x + 6, y, rU + ((state & 1) == 0 ? 30 : 6), Vs, 6, 6); - drawTexturedModalRect(x, y + 6, rU + ((state & 2) == 0 ? 24 : 0), Vs + 6, 6, 6); - drawTexturedModalRect(x + 12, y + 6, rU + ((state & 4) == 0 ? 36 : 12), Vs + 6, 6, 6); - drawTexturedModalRect(x + 6, y + 12, rU + ((state & 8) == 0 ? 30 : 6), Vs + 12, 6, 6); + case 3://oxo xox oxo + drawTexturedModalRect(x + 6, y, + rU + ((state & 1) == 0 ? 30 : 6), + Vs, 6, 6); + drawTexturedModalRect(x, y + 6, + rU + ((state & 2) == 0 ? 24 : 0), + Vs + 6, 6, 6); + drawTexturedModalRect(x + 12, y + 6, + rU + ((state & 4) == 0 ? 36 : 12), + Vs + 6, 6, 6); + drawTexturedModalRect(x + 6, y + 12, + rU + ((state & 8) == 0 ? 30 : 6), + Vs + 12, 6, 6); break; - case 4: // xox ooo xox - drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 24 : 0), Vs, 6, 6); - drawTexturedModalRect(x + 12, y, rU + ((state & 2) == 0 ? 36 : 12), Vs, 6, 6); - drawTexturedModalRect(x, y + 12, rU + ((state & 4) == 0 ? 24 : 0), Vs + 12, 6, 6); - drawTexturedModalRect(x + 12, y + 12, rU + ((state & 8) == 0 ? 36 : 12), Vs + 12, 6, 6); + case 4://xox ooo xox + drawTexturedModalRect(x, y, + rU + ((state & 1) == 0 ? 24 : 0), + Vs, 6, 6); + drawTexturedModalRect(x + 12, y, + rU + ((state & 2) == 0 ? 36 : 12), + Vs, 6, 6); + drawTexturedModalRect(x, y + 12, + rU + ((state & 4) == 0 ? 24 : 0), + Vs + 12, 6, 6); + drawTexturedModalRect(x + 12, y + 12, + rU + ((state & 8) == 0 ? 36 : 12), + Vs + 12, 6, 6); break; - case 5: // xox oxo xox - drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 24 : 0), Vs, 6, 6); - drawTexturedModalRect(x + 12, y, rU + ((state & 2) == 0 ? 36 : 12), Vs, 6, 6); - drawTexturedModalRect(x + 6, y + 6, rU + ((state & 4) == 0 ? 30 : 6), Vs + 6, 6, 6); - drawTexturedModalRect(x, y + 12, rU + ((state & 8) == 0 ? 24 : 0), Vs + 12, 6, 6); - drawTexturedModalRect(x + 12, y + 12, rU + ((state & 16) == 0 ? 36 : 12), Vs + 12, 6, 6); + case 5://xox oxo xox + drawTexturedModalRect(x, y, + rU + ((state & 1) == 0 ? 24 : 0), + Vs, 6, 6); + drawTexturedModalRect(x + 12, y, + rU + ((state & 2) == 0 ? 36 : 12), + Vs, 6, 6); + drawTexturedModalRect(x + 6, y + 6, + rU + ((state & 4) == 0 ? 30 : 6), + Vs + 6, 6, 6); + drawTexturedModalRect(x, y + 12, + rU + ((state & 8) == 0 ? 24 : 0), + Vs + 12, 6, 6); + drawTexturedModalRect(x + 12, y + 12, + rU + ((state & 16) == 0 ? 36 : 12), + Vs + 12, 6, 6); break; } } @@ -197,72 +210,71 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach int v = 192, su = 8, sv = 6, u = 11; switch (status) { case STATUS_WTF: { - int c = counter; - if (c > 4) { - c = TecTech.RANDOM.nextInt(5); + int c=counter; + if(c>4){ + c= TecTech.RANDOM.nextInt(5); } switch (c) { case 0: - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv); // BLUE + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv);//BLUE break; case 1: - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (2 + j), su, sv); // cyan + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (2 + j), su, sv);//cyan break; case 2: - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (4 + j), su, sv); // green + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (4 + j), su, sv);//green break; case 3: - drawTexturedModalRect( - x + su * i, y + sv * j, u + su * i, v + sv * (6 + j), su, sv); // orangeyello + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (6 + j), su, sv);//orangeyello break; case 4: - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv); // redd + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv);//redd break; } break; } - case STATUS_WRONG: // fallthrough + case STATUS_WRONG: //fallthrough if (counter < 2) { - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv); // blue + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv);//blue break; } else if (counter < 4) { - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv); // red + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv);//red break; } - case STATUS_OK: // ok - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (4 + j), su, sv); // green + case STATUS_OK://ok + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (4 + j), su, sv);//green break; - case STATUS_TOO_LOW: // too low blink + case STATUS_TOO_LOW://too low blink if (counter < 3) { - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv); // BLUE + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv);//BLUE break; } - case STATUS_LOW: // too low - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (2 + j), su, sv); // cyan + case STATUS_LOW:// too low + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (2 + j), su, sv);//cyan break; - case STATUS_TOO_HIGH: // too high blink + case STATUS_TOO_HIGH://too high blink if (counter < 3) { - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv); // redd + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv);//redd break; } - case STATUS_HIGH: // too high - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (6 + j), su, sv); // orangeyello + case STATUS_HIGH:// too high + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (6 + j), su, sv);//orangeyello break; case STATUS_NEUTRAL: - if (counter < 3) { + if(counter<3){ GL11.glColor4f(.85f, .9f, .95f, .5F); - drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su + 2, sv + 2); - } else { + drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2); + }else { GL11.glColor4f(.8f, .9f, 1f, .5F); - drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su + 2, sv + 2); + drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2); } GL11.glColor4f(1f, 1f, 1f, 1f); break; case STATUS_UNDEFINED: - if (counter < 3) { + if(counter<3) { GL11.glColor4f(.5f, .1f, .15f, .5F); drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su + 2, sv + 2); - } else { + }else { GL11.glColor4f(0f, .1f, .2f, .5F); drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su + 2, sv + 2); } @@ -270,61 +282,50 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach break; case STATUS_UNUSED: default: - // if (GregTech_API.sColoredGUI && this.mContainer.mTileEntity != null) { + //if (GregTech_API.sColoredGUI && this.mContainer.mTileEntity != null) { // int tColor = this.mContainer.mTileEntity.getColorization() & 15; // if (tColor < ItemDye.field_150922_c.length) { // tColor = ItemDye.field_150922_c[tColor]; - // GL11.glColor4f((float)(tColor >> 16 & 255) / 255.0F, (float)(tColor >> 8 & 255) / 255.0F, - // (float)(tColor & 255) / 255.0F, 1F); + // GL11.glColor4f((float)(tColor >> 16 & 255) / 255.0F, (float)(tColor >> 8 & 255) / 255.0F, (float)(tColor & 255) / 255.0F, 1F); // } - // } - // drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2); - // GL11.glColor4f(1f, 1f, 1f, 1f); - // break; + //} + //drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2); + //GL11.glColor4f(1f, 1f, 1f, 1f); + //break; } } - protected void LEDtooltips(int x, int y) { - int renderPosX = x; - int renderPosY = y; - x -= (width - xSize) / 2; - y -= (height - ySize) / 2; - // drawHoveringText(Arrays.asList(""+x,""+y), -1, -11, fontRendererObj); - if (mContainer.mTileEntity != null) { - IMetaTileEntity mte = mContainer.mTileEntity.getMetaTileEntity(); - if (mte instanceof GT_MetaTileEntity_MultiblockBase_EM) { - Parameters parametrization = ((GT_MetaTileEntity_MultiblockBase_EM) mte).parametrization; - parametrization.eParamsInStatus = mContainer.eParamsInStatus; - parametrization.eParamsOutStatus = mContainer.eParamsOutStatus; - parametrization.iParamsIn = mContainer.eParamsIn; - parametrization.iParamsOut = mContainer.eParamsOut; - int su = 8, sv = 6, u = 11, v = 96; - if (x < u || y < v) return; - v += sv; - for (int hatch = 0; hatch < 10; hatch++) { - for (int param = 0; param < 2; param++) { - if (x < (u += su)) { - if (y < v) { - // if(mContainer.eParamsInStatus[hatch + (10*param)]==STATUS_UNUSED){ + protected void LEDtooltips(int x,int y){ + int renderPosX=x; + int renderPosY=y; + x-= (width - xSize) / 2; + y-= (height - ySize) / 2; + //drawHoveringText(Arrays.asList(""+x,""+y), -1, -11, fontRendererObj); + if(mContainer.mTileEntity!=null){ + IMetaTileEntity mte=mContainer.mTileEntity.getMetaTileEntity(); + if(mte instanceof GT_MetaTileEntity_MultiblockBase_EM){ + Parameters parametrization=((GT_MetaTileEntity_MultiblockBase_EM)mte).parametrization; + parametrization.eParamsInStatus=mContainer.eParamsInStatus; + parametrization.eParamsOutStatus=mContainer.eParamsOutStatus; + parametrization.iParamsIn=mContainer.eParamsIn; + parametrization.iParamsOut=mContainer.eParamsOut; + int su = 8, sv = 6, u=11,v=96; + if(x= v && y < v + sv) { - // if(mContainer.eParamsOutStatus[hatch + (10*param)]==STATUS_UNUSED){ + }else if(y>=v && y> 1 | k1 & 0xff000000; // border dark??? + int k1 = 0x500040ff;//border bright + int l1 = (k1 & 0xfefefe) >> 1 | k1 & 0xff000000;//border dark??? this.drawGradientRect(x2 - 3, y2 - 3 + 1, x2 - 3 + 1, y2 + i1 + 3 - 1, k1, l1); this.drawGradientRect(x2 + k + 2, y2 - 3 + 1, x2 + k + 3, y2 + i1 + 3 - 1, k1, l1); this.drawGradientRect(x2 - 3, y2 - 3, x2 + k + 3, y2 - 3 + 1, k1, k1); @@ -393,12 +394,12 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach y2 += 10; } - // this.zLevel = 0.0F; - // itemRender.zLevel = 0.0F; + //this.zLevel = 0.0F; + //itemRender.zLevel = 0.0F; GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_DEPTH_TEST); - // RenderHelper.enableStandardItemLighting(); + //RenderHelper.enableStandardItemLighting(); GL11.glEnable(GL12.GL_RESCALE_NORMAL); } } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java index b071196b14..86ca00d80e 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java @@ -1,14 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.loader.TecTechConfig.POWERLESS_MODE; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.util.CommonValues.*; -import static com.github.technus.tectech.util.DoubleCount.div; -import static com.github.technus.tectech.util.TT_Utility.getTier; -import static gregtech.api.enums.GT_HatchElement.*; -import static java.lang.Math.min; - import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; @@ -42,15 +33,12 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.*; import gregtech.api.util.*; import gregtech.common.GT_Pollution; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.entity.player.EntityPlayer; + import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -59,105 +47,114 @@ import net.minecraft.util.ResourceLocation; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidStack; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.loader.TecTechConfig.POWERLESS_MODE; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.util.CommonValues.*; +import static com.github.technus.tectech.util.DoubleCount.div; +import static com.github.technus.tectech.util.TT_Utility.getTier; +import static gregtech.api.enums.GT_HatchElement.*; +import static java.lang.Math.min; + /** * Created by danie_000 on 27.10.2016. */ -public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEntity_TooltipMultiBlockBase - implements IAlignment { - // region Client side variables (static - one per class) +public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEntity_TooltipMultiBlockBase implements IAlignment { + //region Client side variables (static - one per class) - // Front icon holders - static so it is default one for my blocks - // just add new static ones in your class and and override getTexture + //Front icon holders - static so it is default one for my blocks + //just add new static ones in your class and and override getTexture protected static Textures.BlockIcons.CustomIcon ScreenOFF; protected static Textures.BlockIcons.CustomIcon ScreenON; - // Sound resource - same as with screen but override getActivitySound - public static final ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_lo_freq"); - + //Sound resource - same as with screen but override getActivitySound + public final static ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_lo_freq"); @SideOnly(Side.CLIENT) - private SoundLoop activitySoundLoop; - // endregion - - // region HATCHES ARRAYS - they hold info about found hatches, add hatches to them... (auto structure magic does it - // tho) - - // HATCHES!!!, should be added and removed in check machine - - // EM in/out - protected ArrayList eInputHatches = new ArrayList<>(); - protected ArrayList eOutputHatches = new ArrayList<>(); - // EM overflow output - protected ArrayList eMufflerHatches = new ArrayList<>(); - // extra hatches - protected ArrayList eParamHatches = new ArrayList<>(); - protected ArrayList eUncertainHatches = new ArrayList<>(); - // multi amp hatches in/out - protected ArrayList eEnergyMulti = new ArrayList<>(); - protected ArrayList eDynamoMulti = new ArrayList<>(); - // data hatches - protected ArrayList eInputData = new ArrayList<>(); - protected ArrayList eOutputData = new ArrayList<>(); - - // endregion - - // region parameters + private SoundLoop activitySoundLoop; + //endregion + + //region HATCHES ARRAYS - they hold info about found hatches, add hatches to them... (auto structure magic does it tho) + + //HATCHES!!!, should be added and removed in check machine + + //EM in/out + protected ArrayList eInputHatches = new ArrayList<>(); + protected ArrayList eOutputHatches = new ArrayList<>(); + //EM overflow output + protected ArrayList eMufflerHatches = new ArrayList<>(); + //extra hatches + protected ArrayList eParamHatches = new ArrayList<>(); + protected ArrayList eUncertainHatches = new ArrayList<>(); + //multi amp hatches in/out + protected ArrayList eEnergyMulti = new ArrayList<>(); + protected ArrayList eDynamoMulti = new ArrayList<>(); + //data hatches + protected ArrayList eInputData = new ArrayList<>(); + protected ArrayList eOutputData = new ArrayList<>(); + + //endregion + + //region parameters public final Parameters parametrization; - // endregion + //endregion - // region Control variables + //region Control variables - // should explode on dismatle?, set it in constructor, if true machine will explode if invalidated structure while - // active + //should explode on dismatle?, set it in constructor, if true machine will explode if invalidated structure while active protected boolean eDismantleBoom = false; - // what is the amount of A required - public long eAmpereFlow = - 1; // analogue of EU/t but for amperes used (so eu/t is actually eu*A/t) USE ONLY POSITIVE NUMBERS! + //what is the amount of A required + public long eAmpereFlow = 1; // analogue of EU/t but for amperes used (so eu/t is actually eu*A/t) USE ONLY POSITIVE NUMBERS! - // set to what you need it to be in check recipe - // data required to operate + //set to what you need it to be in check recipe + //data required to operate protected long eRequiredData = 0; - // storage for output EM that will be auto handled in case of failure to finish recipe - // if you succed to use a recipe - be sure to output EM from outputEM to hatches in the output method + //storage for output EM that will be auto handled in case of failure to finish recipe + //if you succed to use a recipe - be sure to output EM from outputEM to hatches in the output method protected EMInstanceStackMap[] outputEM; - // are parameters correct - change in check recipe/output/update params etc. (maintenance status boolean) + //are parameters correct - change in check recipe/output/update params etc. (maintenance status boolean) protected boolean eParameters = true; - // what type of certainty inconvenience is used - can be used as in Computer - more info in uncertainty hatch + //what type of certainty inconvenience is used - can be used as in Computer - more info in uncertainty hatch protected byte eCertainMode = 0, eCertainStatus = 0; - // minimal repair status to make the machine even usable (how much unfixed fixed stuff is needed) - // if u need to force some things to be fixed - u might need to override doRandomMaintenanceDamage + //minimal repair status to make the machine even usable (how much unfixed fixed stuff is needed) + //if u need to force some things to be fixed - u might need to override doRandomMaintenanceDamage protected byte minRepairStatus = 3; - // is power pass cover present + //is power pass cover present public boolean ePowerPassCover = false; - // functionality toggles - changed by buttons in gui also + //functionality toggles - changed by buttons in gui also public boolean ePowerPass = false, eSafeVoid = false; - // endregion + //endregion - // region READ ONLY unless u really need to change it + //region READ ONLY unless u really need to change it - // max amperes machine can take in after computing it to the lowest tier (exchange packets to min tier count) + //max amperes machine can take in after computing it to the lowest tier (exchange packets to min tier count) protected long eMaxAmpereFlow = 0, eMaxAmpereGen = 0; - // What is the max and minimal tier of eu hatches installed + //What is the max and minimal tier of eu hatches installed private long maxEUinputMin = 0, maxEUinputMax = 0, maxEUoutputMin = 0, maxEUoutputMax = 0; - // read only unless you are making computation generator - read computer class + //read only unless you are making computation generator - read computer class protected long eAvailableData = 0; // data being available - // just some info - private so hidden + //just some info - private so hidden private boolean explodedThisTick = false; - // front rotation val + //front rotation val private IAlignmentLimits alignmentLimits = IAlignmentLimits.UNLIMITED; - private ExtendedFacing extendedFacing = ExtendedFacing.DEFAULT; - // endregion + private ExtendedFacing extendedFacing = ExtendedFacing.DEFAULT; + //endregion protected GT_MetaTileEntity_MultiblockBase_EM(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -173,7 +170,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt parametrization.setToDefaults(true, true); } - // region SUPER STRUCT + //region SUPER STRUCT @Override public IAlignmentLimits getAlignmentLimits() { return alignmentLimits; @@ -187,21 +184,16 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt @Override public void setExtendedFacing(ExtendedFacing newExtendedFacing) { if (extendedFacing != newExtendedFacing) { - if (mMachine) stopMachine(); + if(mMachine) + stopMachine(); extendedFacing = newExtendedFacing; final IGregTechTileEntity base = getBaseMetaTileEntity(); mMachine = false; mUpdated = false; mUpdate = 100; if (getBaseMetaTileEntity().isServerSide()) { - StructureLibAPI.sendAlignment( - (IAlignmentProvider) base, - new NetworkRegistry.TargetPoint( - base.getWorld().provider.dimensionId, - base.getXCoord(), - base.getYCoord(), - base.getZCoord(), - 512)); + StructureLibAPI.sendAlignment((IAlignmentProvider) base, + new NetworkRegistry.TargetPoint(base.getWorld().provider.dimensionId, base.getXCoord(), base.getYCoord(), base.getZCoord(), 512)); } else { base.issueTextureUpdate(); } @@ -209,13 +201,11 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } @Override - public boolean onWrenchRightClick( - byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + public boolean onWrenchRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { if (aWrenchingSide != getBaseMetaTileEntity().getFrontFacing()) return super.onWrenchRightClick(aSide, aWrenchingSide, aPlayer, aX, aY, aZ); if (aPlayer.isSneaking()) { - // we won't be allowing horizontal flips, as it can be perfectly emulated by rotating twice and flipping - // horizontally + // we won't be allowing horizontal flips, as it can be perfectly emulated by rotating twice and flipping horizontally // allowing an extra round of flip make it hard to draw meaningful flip markers in GT_Proxy#drawGrid toolSetFlip(getFlip().isHorizontallyFlipped() ? Flip.NONE : Flip.HORIZONTAL); } else { @@ -248,94 +238,31 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt public final boolean structureCheck_EM(String piece, int horizontalOffset, int verticalOffset, int depthOffset) { IGregTechTileEntity baseMetaTileEntity = getBaseMetaTileEntity(); - return getStructure_EM_Internal() - .check( - this, - piece, - baseMetaTileEntity.getWorld(), - getExtendedFacing(), - baseMetaTileEntity.getXCoord(), - baseMetaTileEntity.getYCoord(), - baseMetaTileEntity.getZCoord(), - horizontalOffset, - verticalOffset, - depthOffset, - !mMachine); - } - - public final boolean structureBuild_EM( - String piece, - int horizontalOffset, - int verticalOffset, - int depthOffset, - ItemStack trigger, - boolean hintsOnly) { + return getStructure_EM_Internal().check(this, piece, baseMetaTileEntity.getWorld(), getExtendedFacing(), + baseMetaTileEntity.getXCoord(), baseMetaTileEntity.getYCoord(), baseMetaTileEntity.getZCoord(), + horizontalOffset, verticalOffset, depthOffset, !mMachine); + } + + public final boolean structureBuild_EM(String piece, int horizontalOffset, int verticalOffset, int depthOffset, ItemStack trigger, boolean hintsOnly) { IGregTechTileEntity baseMetaTileEntity = getBaseMetaTileEntity(); - return getStructure_EM_Internal() - .buildOrHints( - this, - trigger, - piece, - baseMetaTileEntity.getWorld(), - getExtendedFacing(), - baseMetaTileEntity.getXCoord(), - baseMetaTileEntity.getYCoord(), - baseMetaTileEntity.getZCoord(), - horizontalOffset, - verticalOffset, - depthOffset, - hintsOnly); - } - - protected final int survivialBuildPiece( - String piece, - ItemStack trigger, - int horizontalOffset, - int verticalOffset, - int depthOffset, - int elementsBudget, - IItemSource source, - EntityPlayerMP actor, - boolean check) { + return getStructure_EM_Internal().buildOrHints(this, trigger, piece, baseMetaTileEntity.getWorld(), + getExtendedFacing(), baseMetaTileEntity.getXCoord(), baseMetaTileEntity.getYCoord(), + baseMetaTileEntity.getZCoord(), horizontalOffset, verticalOffset, depthOffset, hintsOnly); + } + + protected final int survivialBuildPiece(String piece, ItemStack trigger, int horizontalOffset, int verticalOffset, int depthOffset, int elementsBudget, IItemSource source, EntityPlayerMP actor, boolean check) { final IGregTechTileEntity tTile = getBaseMetaTileEntity(); - return getStructure_EM_Internal() - .survivalBuild( - this, - trigger, - piece, - tTile.getWorld(), - getExtendedFacing(), - tTile.getXCoord(), - tTile.getYCoord(), - tTile.getZCoord(), - horizontalOffset, - verticalOffset, - depthOffset, - elementsBudget, - source, - actor, - check); - } - - protected final int survivialBuildPiece( - String piece, - ItemStack trigger, - int horizontalOffset, - int verticalOffset, - int depthOffset, - int elementsBudget, - IItemSource source, - EntityPlayerMP actor, - boolean check, - boolean checkIfPlaced) { - int built = survivialBuildPiece( - piece, trigger, horizontalOffset, verticalOffset, depthOffset, elementsBudget, source, actor, check); + return getStructure_EM_Internal().survivalBuild(this, trigger, piece, tTile.getWorld(), getExtendedFacing(), tTile.getXCoord(), tTile.getYCoord(), tTile.getZCoord(), horizontalOffset, verticalOffset, depthOffset, elementsBudget, source, actor, check); + } + + protected final int survivialBuildPiece(String piece, ItemStack trigger, int horizontalOffset, int verticalOffset, int depthOffset, int elementsBudget, IItemSource source, EntityPlayerMP actor, boolean check, boolean checkIfPlaced) { + int built = survivialBuildPiece(piece, trigger, horizontalOffset, verticalOffset, depthOffset, elementsBudget, source, actor, check); if (checkIfPlaced && built > 0) checkStructure(true, getBaseMetaTileEntity()); return built; } - // endregion + //endregion - // region METHODS TO OVERRIDE - general functionality, recipe check, output + //region METHODS TO OVERRIDE - general functionality, recipe check, output /** * Check structure here, also add hatches @@ -370,7 +297,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * (Well it can be overflowed if machine didn't finished, soft-hammered/disabled/not enough EU) * Setting available data processing */ - public void outputAfterRecipe_EM() {} + public void outputAfterRecipe_EM() { + } /** * to add fluids into hatches @@ -381,16 +309,14 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt protected void addFluidOutputs(FluidStack[] mOutputFluids) { int min = Math.min(mOutputFluids.length, mOutputHatches.size()); for (int i = 0; i < min; ++i) { - if (mOutputHatches.get(i) != null - && mOutputFluids[i] != null - && GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(mOutputHatches.get(i))) { + if (mOutputHatches.get(i) != null && mOutputFluids[i] != null && GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(mOutputHatches.get(i))) { mOutputHatches.get(i).fill(mOutputFluids[i], true); } } } - // endregion + //endregion - // region tooltip and scanner result + //region tooltip and scanner result /** * @param hatchNo @@ -399,14 +325,14 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt */ public ArrayList getFullLedDescriptionIn(int hatchNo, int paramID) { ArrayList list = new ArrayList<>(); - list.add(EnumChatFormatting.WHITE + "ID: " + EnumChatFormatting.AQUA - + hatchNo + EnumChatFormatting.YELLOW - + ":" + EnumChatFormatting.AQUA - + paramID + EnumChatFormatting.YELLOW - + ":" + EnumChatFormatting.AQUA - + "I " + parametrization.getStatusIn(hatchNo, paramID).name.get()); - list.add(EnumChatFormatting.WHITE + "Value: " + EnumChatFormatting.AQUA - + TT_Utility.doubleToString(parametrization.getIn(hatchNo, paramID))); + list.add(EnumChatFormatting.WHITE + "ID: " + + EnumChatFormatting.AQUA + hatchNo + + EnumChatFormatting.YELLOW + ":" + + EnumChatFormatting.AQUA + paramID + + EnumChatFormatting.YELLOW + ":" + + EnumChatFormatting.AQUA + "I " + parametrization.getStatusIn(hatchNo, paramID).name.get()); + list.add(EnumChatFormatting.WHITE + "Value: " + + EnumChatFormatting.AQUA + TT_Utility.doubleToString(parametrization.getIn(hatchNo, paramID))); try { list.add(parametrization.groups[hatchNo].parameterIn[paramID].getBrief()); } catch (NullPointerException | IndexOutOfBoundsException e) { @@ -422,14 +348,14 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt */ public ArrayList getFullLedDescriptionOut(int hatchNo, int paramID) { ArrayList list = new ArrayList<>(); - list.add(EnumChatFormatting.WHITE + "ID: " + EnumChatFormatting.AQUA - + hatchNo + EnumChatFormatting.YELLOW - + ":" + EnumChatFormatting.AQUA - + paramID + EnumChatFormatting.YELLOW - + ":" + EnumChatFormatting.AQUA - + "O " + parametrization.getStatusOut(hatchNo, paramID).name.get()); - list.add(EnumChatFormatting.WHITE + "Value: " + EnumChatFormatting.AQUA - + TT_Utility.doubleToString(parametrization.getOut(hatchNo, paramID))); + list.add(EnumChatFormatting.WHITE + "ID: " + + EnumChatFormatting.AQUA + hatchNo + + EnumChatFormatting.YELLOW + ":" + + EnumChatFormatting.AQUA + paramID + + EnumChatFormatting.YELLOW + ":" + + EnumChatFormatting.AQUA + "O " + parametrization.getStatusOut(hatchNo, paramID).name.get()); + list.add(EnumChatFormatting.WHITE + "Value: " + + EnumChatFormatting.AQUA + TT_Utility.doubleToString(parametrization.getOut(hatchNo, paramID))); try { list.add(parametrization.groups[hatchNo].parameterOut[paramID].getBrief()); } catch (NullPointerException | IndexOutOfBoundsException e) { @@ -441,7 +367,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt @Override protected GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addInfo("Nothing special just override me").toolTipFinisher(TEC_MARK_GENERAL); + tt.addInfo("Nothing special just override me") + .toolTipFinisher(TEC_MARK_GENERAL); return tt; } @@ -451,9 +378,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * @return */ @Override - public String[] getInfoData() { // TODO Do it + public String[] getInfoData() {//TODO Do it long storedEnergy = 0; - long maxEnergy = 0; + long maxEnergy = 0; for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { storedEnergy += tHatch.getBaseMetaTileEntity().getStoredEU(); @@ -467,32 +394,25 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } - return new String[] { - "Progress:", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(mProgresstime / 20) + EnumChatFormatting.RESET + " s / " - + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(mMaxProgresstime / 20) - + EnumChatFormatting.RESET + " s", - "Energy Hatches:", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " - + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET - + " EU", - (mEUt * eAmpereFlow <= 0 ? "Probably uses: " : "Probably makes: ") + EnumChatFormatting.RED - + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t at " - + EnumChatFormatting.RED - + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", - "Tier Rating: " + EnumChatFormatting.YELLOW + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET - + " / " + EnumChatFormatting.GREEN - + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " Amp Rating: " - + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET - + " A", - "Problems: " + EnumChatFormatting.RED + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET - + " Efficiency: " + EnumChatFormatting.YELLOW + mEfficiency / 100.0F + EnumChatFormatting.RESET - + " %", - "PowerPass: " + EnumChatFormatting.BLUE + ePowerPass + EnumChatFormatting.RESET + " SafeVoid: " - + EnumChatFormatting.BLUE + eSafeVoid, - "Computation: " + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eAvailableData) - + EnumChatFormatting.RESET + " / " + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET + return new String[]{ + "Progress:", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(mProgresstime / 20) + EnumChatFormatting.RESET + " s / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(mMaxProgresstime / 20) + EnumChatFormatting.RESET + " s", + "Energy Hatches:", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + " EU", + (mEUt * eAmpereFlow <= 0 ? "Probably uses: " : "Probably makes: ") + + EnumChatFormatting.RED + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t at " + + EnumChatFormatting.RED + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", + "Tier Rating: " + EnumChatFormatting.YELLOW + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + + EnumChatFormatting.GREEN + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + + " Amp Rating: " + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", + "Problems: " + EnumChatFormatting.RED + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + + " Efficiency: " + EnumChatFormatting.YELLOW + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", + "PowerPass: " + EnumChatFormatting.BLUE + ePowerPass + EnumChatFormatting.RESET + + " SafeVoid: " + EnumChatFormatting.BLUE + eSafeVoid, + "Computation: " + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET }; } @@ -506,9 +426,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return true; } - // endregion + //endregion - // region GUI/SOUND/RENDER + //region GUI/SOUND/RENDER /** * Server side container @@ -533,10 +453,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt */ @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM( - aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png"); + return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png"); } + /** * add more textures * @@ -562,20 +482,11 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * @return */ @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { + 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 TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) - }; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][4], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; } - return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][4]}; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][4]}; } /** @@ -607,9 +518,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } - // endregion + //endregion - // region Methods to maybe override (if u implement certain stuff) + //region Methods to maybe override (if u implement certain stuff) /** * is the thing inside controller a valid item to make the machine work @@ -661,8 +572,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } cleanOutputEM_EM(); - if (ePowerPass && getEUVar() > V[3] - || eDismantleBoom && mMaxProgresstime > 0 && areChunksAroundLoaded_EM()) { + if (ePowerPass && getEUVar() > V[3] || eDismantleBoom && mMaxProgresstime > 0 && areChunksAroundLoaded_EM()) { explodeMultiblock(); } } catch (Exception e) { @@ -679,11 +589,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * @return */ protected boolean areChunksAroundLoaded_EM() { - if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(this) - && getBaseMetaTileEntity().isServerSide()) { + if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(this) && getBaseMetaTileEntity().isServerSide()) { IGregTechTileEntity base = getBaseMetaTileEntity(); return base.getWorld().doChunksNearChunkExist(base.getXCoord(), base.getYCoord(), base.getZCoord(), 3); - // todo check if it is actually checking if chunks are loaded + //todo check if it is actually checking if chunks are loaded } else { return false; } @@ -692,7 +601,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt /** * instantiate parameters in CONSTRUCTOR! CALLED ONCE on creation, don't call it in your classes */ - protected void parametersInstantiation_EM() {} + protected void parametersInstantiation_EM() { + } /** * It is automatically called OFTEN @@ -703,7 +613,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * * @param machineBusy is machine doing SHIT */ - protected void parametersStatusesWrite_EM(boolean machineBusy) { // todo unimplement? + protected void parametersStatusesWrite_EM(boolean machineBusy) {//todo unimplement? if (!machineBusy) { for (Parameters.Group.ParameterIn parameterIn : parametrization.parameterInArrayList) { if (parameterIn != null) { @@ -733,12 +643,14 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * * @param mMachine was the machine considered complete at that point in onPostTick */ - protected void hatchInit_EM(boolean mMachine) {} + protected void hatchInit_EM(boolean mMachine) { + } /** * called when the multiblock is exploding - if u want to add more EXPLOSIONS, for ex. new types of hatches also have to explode */ - protected void extraExplosions_EM() {} // For that extra hatches explosions, and maybe some MOORE EXPLOSIONS + protected void extraExplosions_EM() { + }//For that extra hatches explosions, and maybe some MOORE EXPLOSIONS /** * Get Available data, Override only on data outputters should return mAvailableData that is set in check recipe @@ -746,10 +658,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * @return available data */ protected long getAvailableData_EM() { - long result = 0; + long result = 0; IGregTechTileEntity baseMetaTileEntity = getBaseMetaTileEntity(); - Vec3Impl pos = new Vec3Impl( - baseMetaTileEntity.getXCoord(), baseMetaTileEntity.getYCoord(), baseMetaTileEntity.getZCoord()); + Vec3Impl pos = new Vec3Impl(baseMetaTileEntity.getXCoord(), baseMetaTileEntity.getYCoord(), baseMetaTileEntity.getZCoord()); for (GT_MetaTileEntity_Hatch_InputData in : eInputData) { if (in.q != null) { Long value = in.q.contentIfNotInTrace(pos); @@ -766,8 +677,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * BUT NEEDED WHEN - machine blocks are not touching each other or they don't implement IMachineBlockUpdateable (ex. air,stone,weird TE's) */ protected boolean cyclicUpdate_EM() { - return mUpdate <= -1000; // set to false to disable cyclic update - // default is once per 50s; mUpdate is decremented every tick + return mUpdate <= -1000;//set to false to disable cyclic update + //default is once per 50s; mUpdate is decremented every tick } /** @@ -829,7 +740,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt aNBT.setBoolean("eVoid", eSafeVoid); aNBT.setBoolean("eBoom", eDismantleBoom); aNBT.setBoolean("eOK", mMachine); - // Ensures compatibility + //Ensures compatibility if (mOutputItems != null) { aNBT.setInteger("mOutputItemsLength", mOutputItems.length); for (int i = 0; i < mOutputItems.length; i++) { @@ -841,7 +752,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } - // Ensures compatibility + //Ensures compatibility if (mOutputFluids != null) { aNBT.setInteger("mOutputFluidsLength", mOutputFluids.length); for (int i = 0; i < mOutputFluids.length; i++) { @@ -923,7 +834,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt eDismantleBoom = aNBT.getBoolean("eBoom"); mMachine = aNBT.getBoolean("eOK"); - // Ensures compatibility + //Ensures compatibility int aOutputItemsLength = aNBT.getInteger("mOutputItemsLength"); if (aOutputItemsLength > 0) { mOutputItems = new ItemStack[aOutputItemsLength]; @@ -932,7 +843,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } - // Ensures compatibility + //Ensures compatibility int aOutputFluidsLength = aNBT.getInteger("mOutputFluidsLength"); if (aOutputFluidsLength > 0) { mOutputFluids = new FluidStack[aOutputFluidsLength]; @@ -948,8 +859,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt for (int i = 0; i < outputEM.length; i++) { if (compound.hasKey(Integer.toString(i))) { try { - outputEM[i] = EMInstanceStackMap.fromNBT( - TecTech.definitionsRegistry, compound.getCompoundTag(Integer.toString(i))); + outputEM[i] = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, compound.getCompoundTag(Integer.toString(i))); } catch (EMException e) { if (DEBUG_MODE) { e.printStackTrace(); @@ -1016,9 +926,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt purgeAllOverflowEM_EM(); } - // endregion + //endregion - // region RATHER LEAVE ALONE Section + //region RATHER LEAVE ALONE Section /** * Override if needed but usually call super method at start! @@ -1061,8 +971,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt mProgresstime = 0; mMaxProgresstime = 0; eAvailableData = 0; - // getBaseMetaTileEntity().disableWorking(); //can add in override - // hatchesStatusUpdate_EM(); //called always after recipe checks + //getBaseMetaTileEntity().disableWorking(); //can add in override + //hatchesStatusUpdate_EM(); //called always after recipe checks } private void cleanOrExplode() { @@ -1112,9 +1022,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return 3; } - // endregion + //endregion - // region internal + //region internal /** * internal check machine @@ -1135,9 +1045,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * @return */ @Override - public final boolean checkRecipe(ItemStack itemStack) { // do recipe checks, based on "machine content and state" + public final boolean checkRecipe(ItemStack itemStack) {//do recipe checks, based on "machine content and state" hatchesStatusUpdate_EM(); - boolean result = checkRecipe_EM(itemStack); // if had no - set default params + boolean result = checkRecipe_EM(itemStack);//if had no - set default params hatchesStatusUpdate_EM(); return result; } @@ -1150,7 +1060,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return; } boolean busy = mMaxProgresstime > 0; - if (busy) { // write from buffer to hatches only + if (busy) {//write from buffer to hatches only for (GT_MetaTileEntity_Hatch_Param hatch : eParamHatches) { if (!GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(hatch) || hatch.param < 0) { continue; @@ -1163,7 +1073,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt hatch.input0D = parametrization.iParamsOut[hatchId]; hatch.input1D = parametrization.iParamsOut[hatchId + 10]; } - } else { // if has nothing to do update all + } else {//if has nothing to do update all for (GT_MetaTileEntity_Hatch_Param hatch : eParamHatches) { if (!GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(hatch) || hatch.param < 0) { continue; @@ -1186,11 +1096,12 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt public final int getAmountOfOutputs() { throw new NoSuchMethodError("Deprecated Do not use"); } - // endregion + //endregion - // region TICKING functions + //region TICKING functions - public void onFirstTick_EM(IGregTechTileEntity aBaseMetaTileEntity) {} + public void onFirstTick_EM(IGregTechTileEntity aBaseMetaTileEntity) { + } @Override public final void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { @@ -1243,10 +1154,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt mEfficiency = 0; } - if (--mUpdate == 0 - || --mStartUpCheck == 0 - || cyclicUpdate() - || aBaseMetaTileEntity.hasWorkJustBeenEnabled()) { + if (--mUpdate == 0 || --mStartUpCheck == 0 || cyclicUpdate() || aBaseMetaTileEntity.hasWorkJustBeenEnabled()) { clearHatches_EM(); if (aBaseMetaTileEntity instanceof BaseTileEntity) { @@ -1255,8 +1163,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt mMachine = checkMachine(aBaseMetaTileEntity, mInventory[1]); if (!mMachine) { - if (ePowerPass && getEUVar() > V[3] - || eDismantleBoom && mMaxProgresstime > 0 && areChunksAroundLoaded_EM()) { + if (ePowerPass && getEUVar() > V[3] || eDismantleBoom && mMaxProgresstime > 0 && areChunksAroundLoaded_EM()) { explodeMultiblock(); } if (outputEM != null) { @@ -1289,8 +1196,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt hatchInit_EM(mMachine); } - if (mStartUpCheck < 0) { // E - if (mMachine) { // S + if (mStartUpCheck < 0) {//E + if (mMachine) {//S byte Tick = (byte) (aTick % 20); if (MULTI_PURGE_1_AT == Tick || MULTI_PURGE_2_AT == Tick) { purgeAllOverflowEM_EM(); @@ -1300,7 +1207,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt safeVoid_EM(); } - if (getRepairStatus() >= minRepairStatus) { // S + if (getRepairStatus() >= minRepairStatus) {//S if (MULTI_CHECK_AT == Tick) { hatchesStatusUpdate_EM(); } @@ -1308,15 +1215,14 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt dischargeController_EM(aBaseMetaTileEntity); chargeController_EM(aBaseMetaTileEntity); - if (mMaxProgresstime > 0 && doRandomMaintenanceDamage()) { // Start - if (onRunningTick(mInventory[1])) { // Compute EU + if (mMaxProgresstime > 0 && doRandomMaintenanceDamage()) {//Start + if (onRunningTick(mInventory[1])) {//Compute EU cleanMassEM_EM(getExcessMassPerTick_EM(mInventory[1])); if (!polluteEnvironment(getPollutionPerTick(mInventory[1]))) { stopMachine(); } - if (mMaxProgresstime > 0 - && ++mProgresstime >= mMaxProgresstime) { // progress increase and done + if (mMaxProgresstime > 0 && ++mProgresstime >= mMaxProgresstime) {//progress increase and done hatchesStatusUpdate_EM(); outputAfterRecipe_EM(); @@ -1331,12 +1237,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt if (aBaseMetaTileEntity.isAllowedToWork()) { if (checkRecipe(mInventory[1])) { - mEfficiency = Math.max( - 0, - min( - mEfficiency + mEfficiencyIncrease, - getMaxEfficiency(mInventory[1]) - - (getIdealStatus() - getRepairStatus()) * 1000)); + mEfficiency = Math.max(0, min(mEfficiency + mEfficiencyIncrease, getMaxEfficiency(mInventory[1]) - (getIdealStatus() - getRepairStatus()) * 1000)); } else { afterRecipeCheckFailed(); } @@ -1345,42 +1246,28 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt notAllowedToWork_stopMachine_EM(); } } - } // else {//failed to consume power/resources - inside on running tick + }// else {//failed to consume power/resources - inside on running tick // stopMachine(); - // } + //} } else if (RECIPE_AT == Tick || aBaseMetaTileEntity.hasWorkJustBeenEnabled()) { if (aBaseMetaTileEntity.isAllowedToWork()) { if (checkRecipe(mInventory[1])) { - mEfficiency = Math.max( - 0, - min( - mEfficiency + mEfficiencyIncrease, - getMaxEfficiency(mInventory[1]) - - (getIdealStatus() - getRepairStatus()) * 1000)); + mEfficiency = Math.max(0, min(mEfficiency + mEfficiencyIncrease, getMaxEfficiency(mInventory[1]) - (getIdealStatus() - getRepairStatus()) * 1000)); } else { afterRecipeCheckFailed(); } updateSlots(); - } // else notAllowedToWork_stopMachine_EM(); //it is already stopped here + } //else notAllowedToWork_stopMachine_EM(); //it is already stopped here } - } else { // not repaired + } else {//not repaired stopMachine(); } - } else { // not complete + } else {//not complete stopMachine(); } } - aBaseMetaTileEntity.setErrorDisplayID(aBaseMetaTileEntity.getErrorDisplayID() & -512 - | (mWrench ? 0 : 1) - | (mScrewdriver ? 0 : 2) - | (mSoftHammer ? 0 : 4) - | (mHardHammer ? 0 : 8) - | (mSolderingTool ? 0 : 16) - | (mCrowbar ? 0 : 32) - | (mMachine ? 0 : 64) - | (eCertainStatus == 0 ? 0 : 128) - | (eParameters ? 0 : 256)); + aBaseMetaTileEntity.setErrorDisplayID(aBaseMetaTileEntity.getErrorDisplayID() & -512 | (mWrench ? 0 : 1) | (mScrewdriver ? 0 : 2) | (mSoftHammer ? 0 : 4) | (mHardHammer ? 0 : 8) | (mSolderingTool ? 0 : 16) | (mCrowbar ? 0 : 32) | (mMachine ? 0 : 64) | (eCertainStatus == 0 ? 0 : 128) | (eParameters ? 0 : 256)); aBaseMetaTileEntity.setActive(mMaxProgresstime > 0); boolean active = aBaseMetaTileEntity.isActive() && mPollution > 0; for (GT_MetaTileEntity_Hatch_Muffler aMuffler : mMufflerHatches) { @@ -1459,8 +1346,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } else { for (GT_MetaTileEntity_Hatch_Maintenance tHatch : mMaintenanceHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { - if (tHatch.mAuto - && !(mWrench && mScrewdriver && mSoftHammer && mHardHammer && mSolderingTool && mCrowbar)) { + if (tHatch.mAuto && !(mWrench && mScrewdriver && mSoftHammer && mHardHammer && mSolderingTool && mCrowbar)) { tHatch.autoMaintainance(); } if (tHatch.mWrench) { @@ -1587,10 +1473,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } protected void setupEnergyHatchesVariables_EM() { - if (!mEnergyHatches.isEmpty() - || !eEnergyMulti.isEmpty() - || !mDynamoHatches.isEmpty() - || !eDynamoMulti.isEmpty()) { + if (!mEnergyHatches.isEmpty() || !eEnergyMulti.isEmpty() || !mDynamoHatches.isEmpty() || !eDynamoMulti.isEmpty()) { maxEUinputMin = V[15]; maxEUinputMax = V[0]; maxEUoutputMin = V[15]; @@ -1637,7 +1520,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } eMaxAmpereFlow = 0; eMaxAmpereGen = 0; - // counts only full amps + //counts only full amps for (GT_MetaTileEntity_Hatch_Energy hatch : mEnergyHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(hatch)) { eMaxAmpereFlow += hatch.maxEUInput() / maxEUinputMin; @@ -1679,9 +1562,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt for (GT_MetaTileEntity_Hatch_Dynamo tHatch : mDynamoHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { euVar = tHatch.maxEUOutput() * tHatch.maxAmperesOut(); - if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar - && aBaseMetaTileEntity.decreaseStoredEnergyUnits( - euVar + Math.max(euVar / 24576, tHatch.maxAmperesOut()), false)) { + if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar && + aBaseMetaTileEntity.decreaseStoredEnergyUnits(euVar + Math.max(euVar / 24576, tHatch.maxAmperesOut()), false)) { tHatch.setEUVar(tHatch.getBaseMetaTileEntity().getStoredEU() + euVar); } } @@ -1689,9 +1571,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt for (GT_MetaTileEntity_Hatch_DynamoMulti tHatch : eDynamoMulti) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { euVar = tHatch.maxEUOutput() * tHatch.maxAmperesOut(); - if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar - && aBaseMetaTileEntity.decreaseStoredEnergyUnits( - euVar + Math.max(euVar / 24576, tHatch.maxAmperesOut()), false)) { + if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar && + aBaseMetaTileEntity.decreaseStoredEnergyUnits(euVar + Math.max(euVar / 24576, tHatch.maxAmperesOut()), false)) { tHatch.setEUVar(tHatch.getBaseMetaTileEntity().getStoredEU() + euVar); } } @@ -1703,8 +1584,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt for (GT_MetaTileEntity_Hatch_Dynamo tHatch : mDynamoHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { euVar = tHatch.maxEUOutput(); - if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar - && aBaseMetaTileEntity.decreaseStoredEnergyUnits(euVar + Math.max(euVar / 24576, 1), false)) { + if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar && + aBaseMetaTileEntity.decreaseStoredEnergyUnits(euVar + Math.max(euVar / 24576, 1), false)) { tHatch.setEUVar(tHatch.getBaseMetaTileEntity().getStoredEU() + euVar); } } @@ -1712,9 +1593,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt for (GT_MetaTileEntity_Hatch_DynamoMulti tHatch : eDynamoMulti) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { euVar = tHatch.maxEUOutput() * tHatch.Amperes; - if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar - && aBaseMetaTileEntity.decreaseStoredEnergyUnits( - euVar + Math.max(euVar / 24576, tHatch.Amperes), false)) { + if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar && + aBaseMetaTileEntity.decreaseStoredEnergyUnits(euVar + Math.max(euVar / 24576, tHatch.Amperes), false)) { tHatch.setEUVar(tHatch.getBaseMetaTileEntity().getStoredEU() + euVar); } } @@ -1777,9 +1657,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } - // endregion + //endregion - // region EFFICIENCY AND FIXING LIMITS + //region EFFICIENCY AND FIXING LIMITS @Override public int getMaxEfficiency(ItemStack itemStack) { @@ -1796,21 +1676,20 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return super.getRepairStatus() + (eCertainStatus == 0 ? 1 : 0) + (eParameters ? 1 : 0); } - // endregion + //endregion - // region ENERGY!!!! + //region ENERGY!!!! - // new method + //new method public boolean energyFlowOnRunningTick_EM(ItemStack aStack, boolean allowProduction) { - long euFlow = mEUt * eAmpereFlow; // quick scope sign + long euFlow = mEUt * eAmpereFlow;//quick scope sign if (allowProduction && euFlow > 0) { addEnergyOutput_EM((long) mEUt * (long) mEfficiency / getMaxEfficiency(aStack), eAmpereFlow); } else if (euFlow < 0) { if (POWERLESS_MODE) { return true; } - if (!drainEnergyInput_EM( - mEUt, (long) mEUt * getMaxEfficiency(aStack) / Math.max(1000L, mEfficiency), eAmpereFlow)) { + if (!drainEnergyInput_EM(mEUt, (long) mEUt * getMaxEfficiency(aStack) / Math.max(1000L, mEfficiency), eAmpereFlow)) { criticalStopMachine(); return false; } @@ -1819,7 +1698,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } public boolean energyFlowOnRunningTick(ItemStack aStack, boolean allowProduction) { - long euFlow = mEUt * eAmpereFlow; // quick scope sign + long euFlow = mEUt * eAmpereFlow;//quick scope sign if (allowProduction && euFlow > 0) { addEnergyOutput_EM((long) mEUt * (long) mEfficiency / getMaxEfficiency(aStack), eAmpereFlow); } else if (euFlow < 0) { @@ -1834,7 +1713,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return true; } - // public final boolean energyFlowWithoutEffieciencyComputation(int eu,long ampere) { + //public final boolean energyFlowWithoutEffieciencyComputation(int eu,long ampere) { // long temp = eu * ampere;//quick scope sign // if (temp > 0) { // this.addEnergyOutput_EM(eu, ampere); @@ -1845,7 +1724,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt // } // } // return true; - // } + //} @Override public long maxEUStore() { @@ -1937,25 +1816,19 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt if (EUuse < 0) { EUuse = -EUuse; } - if (EUuse > getEUVar() - || // not enough power - (EUtTierVoltage == 0 - ? EUuse > getMaxInputEnergy() - : (EUtTierVoltage > maxEUinputMax) - || // TIER IS BASED ON BEST HATCH! not total EUtEffective input - (EUtTierVoltage * Amperes - 1) / maxEUinputMin + 1 - > eMaxAmpereFlow)) { // EUuse==0? --> (EUuse - 1) / maxEUinputMin + 1 = 1! //if - // not too much A + if (EUuse > getEUVar() || //not enough power + (EUtTierVoltage == 0 ? EUuse > getMaxInputEnergy() : + (EUtTierVoltage > maxEUinputMax) || //TIER IS BASED ON BEST HATCH! not total EUtEffective input + (EUtTierVoltage * Amperes - 1) / maxEUinputMin + 1 > eMaxAmpereFlow)) {// EUuse==0? --> (EUuse - 1) / maxEUinputMin + 1 = 1! //if not too much A if (DEBUG_MODE) { TecTech.LOGGER.debug("L1 " + EUuse + ' ' + getEUVar() + ' ' + (EUuse > getEUVar())); TecTech.LOGGER.debug("L2 " + EUtEffective + ' ' + maxEUinputMax + ' ' + (EUtEffective > maxEUinputMax)); TecTech.LOGGER.debug("L3 " + Amperes + ' ' + getMaxInputEnergy()); - TecTech.LOGGER.debug("L4 " + ((EUuse - 1) / maxEUinputMin + 1) + ' ' + eMaxAmpereFlow + ' ' - + ((EUuse - 1) / maxEUinputMin + 1 > eMaxAmpereFlow)); + TecTech.LOGGER.debug("L4 " + ((EUuse - 1) / maxEUinputMin + 1) + ' ' + eMaxAmpereFlow + ' ' + ((EUuse - 1) / maxEUinputMin + 1 > eMaxAmpereFlow)); } return false; } - // sub eu + //sub eu setEUVar(getEUVar() - EUuse); return true; } @@ -1971,33 +1844,28 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt if (EUuse < 0) { EUuse = -EUuse; } - // not enough power - if (EUuse > getEUVar() - || EUuse - > getMaxInputEnergy()) { // EUuse==0? --> (EUuse - 1) / maxEUinputMin + 1 = 1! //if not too much - // A + //not enough power + if (EUuse > getEUVar() || EUuse > getMaxInputEnergy()) {// EUuse==0? --> (EUuse - 1) / maxEUinputMin + 1 = 1! //if not too much A return false; } - // sub eu + //sub eu setEUVar(getEUVar() - EUuse); return true; } - // new method - public final boolean overclockAndPutValuesIn_EM(long EU, int time) { // TODO revise + //new method + public final boolean overclockAndPutValuesIn_EM(long EU, int time) {//TODO revise if (EU == 0L) { mEUt = 0; mMaxProgresstime = time; return true; } - long tempEUt = Math.max(EU, V[1]); + long tempEUt = Math.max(EU, V[1]); long tempTier = maxEUinputMax >> 2; while (tempEUt < tempTier) { tempEUt <<= 2; time >>= 1; - EU = time == 0 - ? EU >> 1 - : EU << 2; // U know, if the time is less than 1 tick make the machine use less power + EU = time == 0 ? EU >> 1 : EU << 2;//U know, if the time is less than 1 tick make the machine use less power } if (EU > Integer.MAX_VALUE || EU < Integer.MIN_VALUE) { mEUt = Integer.MAX_VALUE - 1; @@ -2007,7 +1875,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt mEUt = (int) EU; mMaxProgresstime = time == 0 ? 1 : time; return true; - } // Use in EM check recipe return statement if you want overclocking + }//Use in EM check recipe return statement if you want overclocking @Override // same as gt sum of all hatches public long getMaxInputVoltage() { @@ -2030,7 +1898,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return rVoltage; } - // new Method + //new Method public final long getMaxInputEnergy() { long energy = 0; for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { @@ -2061,12 +1929,12 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return energy; } - // new Method + //new Method public final int getMaxEnergyInputTier_EM() { return getTier(maxEUinputMax); } - // new Method + //new Method public final int getMinEnergyInputTier_EM() { return getTier(maxEUinputMin); } @@ -2075,10 +1943,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return eAmpereFlow; } - // endregion + //endregion - // region convenience copies input and output EM - // new Method + //region convenience copies input and output EM + //new Method public final EMInstanceStackMap getInputsClone_EM() { EMInstanceStackMap in = new EMInstanceStackMap(); for (GT_MetaTileEntity_Hatch_ElementalContainer hatch : eInputHatches) { @@ -2087,7 +1955,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return in.hasStacks() ? in : null; } - // new Method + //new Method public final EMInstanceStackMap getOutputsClone_EM() { EMInstanceStackMap out = new EMInstanceStackMap(); for (GT_MetaTileEntity_Hatch_ElementalContainer hatch : eOutputHatches) { @@ -2095,9 +1963,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } return out.hasStacks() ? out : null; } - // endregion + //endregion - // region em cleaning + //region em cleaning private void purgeAllOverflowEM_EM() { float mass = 0; for (GT_MetaTileEntity_Hatch_InputElemental tHatch : eInputHatches) { @@ -2164,9 +2032,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt outputEM = null; cleanMassEM_EM(mass); } - // endregion + //endregion - // region EXPLOSIONS + //region EXPLOSIONS @Override public boolean explodesOnComponentBreak(ItemStack itemStack) { @@ -2180,10 +2048,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } explodedThisTick = true; if (!TecTech.configTecTech.BOOM_ENABLE) { - TecTech.proxy.broadcast( - "Multi Explode BOOM! " + getBaseMetaTileEntity().getXCoord() + ' ' - + getBaseMetaTileEntity().getYCoord() + ' ' - + getBaseMetaTileEntity().getZCoord()); + TecTech.proxy.broadcast("Multi Explode BOOM! " + getBaseMetaTileEntity().getXCoord() + ' ' + getBaseMetaTileEntity().getYCoord() + ' ' + getBaseMetaTileEntity().getZCoord()); StackTraceElement[] ste = Thread.currentThread().getStackTrace(); TecTech.proxy.broadcast("Multi Explode BOOM! " + ste[2].toString()); return; @@ -2248,20 +2113,17 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt @Override public void doExplosion(long aExplosionPower) { if (!TecTech.configTecTech.BOOM_ENABLE) { - TecTech.proxy.broadcast( - "Multi DoExplosion BOOM! " + getBaseMetaTileEntity().getXCoord() + ' ' - + getBaseMetaTileEntity().getYCoord() + ' ' - + getBaseMetaTileEntity().getZCoord()); + TecTech.proxy.broadcast("Multi DoExplosion BOOM! " + getBaseMetaTileEntity().getXCoord() + ' ' + getBaseMetaTileEntity().getYCoord() + ' ' + getBaseMetaTileEntity().getZCoord()); StackTraceElement[] ste = Thread.currentThread().getStackTrace(); TecTech.proxy.broadcast("Multi DoExplosion BOOM! " + ste[2].toString()); return; } explodeMultiblock(); super.doExplosion(aExplosionPower); - } // Redirecting to explodemultiblock - // endregion + }//Redirecting to explodemultiblock + //endregion - // region adder methods + //region adder methods @Override public final boolean addToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { @@ -2478,7 +2340,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputElemental) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); - // ((GT_MetaTileEntity_Hatch_Elemental) aMetaTileEntity).mRecipeMap = getRecipeMap(); + //((GT_MetaTileEntity_Hatch_Elemental) aMetaTileEntity).mRecipeMap = getRecipeMap(); return eInputHatches.add((GT_MetaTileEntity_Hatch_InputElemental) aMetaTileEntity); } return false; @@ -2550,7 +2412,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - // New Method + //New Method public final boolean addEnergyIOToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2578,7 +2440,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - // NEW METHOD + //NEW METHOD public final boolean addElementalInputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2589,13 +2451,13 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputElemental) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); - // ((GT_MetaTileEntity_Hatch_Elemental) aMetaTileEntity).mRecipeMap = getRecipeMap(); + //((GT_MetaTileEntity_Hatch_Elemental) aMetaTileEntity).mRecipeMap = getRecipeMap(); return eInputHatches.add((GT_MetaTileEntity_Hatch_InputElemental) aMetaTileEntity); } return false; } - // NEW METHOD + //NEW METHOD public final boolean addElementalOutputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2611,7 +2473,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - // NEW METHOD + //NEW METHOD public final boolean addClassicInputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2633,7 +2495,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - // NEW METHOD + //NEW METHOD public final boolean addClassicOutputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2653,7 +2515,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - // NEW METHOD + //NEW METHOD public final boolean addParametrizerToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2669,7 +2531,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - // NEW METHOD + //NEW METHOD public final boolean addUncertainToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2709,7 +2571,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - // NEW METHOD + //NEW METHOD public final boolean addClassicMaintenanceToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2725,7 +2587,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - // NEW METHOD + //NEW METHOD public final boolean addDataConnectorToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2744,71 +2606,38 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } return false; } - // endregion + //endregion - protected static IStructureElement classicHatches( - int casingIndex, int dot, Block casingBlock, int casingMeta) { + protected static IStructureElement classicHatches(int casingIndex, int dot, Block casingBlock, int casingMeta) { return GT_HatchElementBuilder.builder() - .atLeast( - InputBus, - InputHatch, - OutputHatch, - OutputBus, - Maintenance, - Muffler, - HatchElement.EnergyMulti, - HatchElement.DynamoMulti, - HatchElement.InputData, - HatchElement.OutputData, - HatchElement.Uncertainty) + .atLeast(InputBus, InputHatch, OutputHatch, OutputBus, Maintenance, Muffler, HatchElement.EnergyMulti, HatchElement.DynamoMulti, HatchElement.InputData, HatchElement.OutputData, HatchElement.Uncertainty) .casingIndex(casingIndex) .dot(dot) .buildAndChain(casingBlock, casingMeta); } - protected static IStructureElement allHatches( - int casingIndex, int dot, Block casingBlock, int casingMeta) { + protected static IStructureElement allHatches(int casingIndex, int dot, Block casingBlock, int casingMeta) { return GT_HatchElementBuilder.builder() - .atLeast( - InputBus, - InputHatch, - OutputHatch, - OutputBus, - Maintenance, - Muffler, - HatchElement.EnergyMulti, - HatchElement.DynamoMulti, - HatchElement.InputData, - HatchElement.OutputData, - HatchElement.Uncertainty, - HatchElement.InputElemental, - HatchElement.OutputElemental, - HatchElement.OverflowElemental) + .atLeast(InputBus, InputHatch, OutputHatch, OutputBus, Maintenance, Muffler, HatchElement.EnergyMulti, HatchElement.DynamoMulti, HatchElement.InputData, HatchElement.OutputData, HatchElement.Uncertainty, HatchElement.InputElemental, HatchElement.OutputElemental, HatchElement.OverflowElemental) .casingIndex(casingIndex) .dot(dot) .buildAndChain(casingBlock, casingMeta); } public enum HatchElement implements IHatchElement { - InputElemental( - GT_MetaTileEntity_MultiblockBase_EM::addElementalInputToMachineList, - GT_MetaTileEntity_Hatch_InputElemental.class) { + InputElemental(GT_MetaTileEntity_MultiblockBase_EM::addElementalInputToMachineList, GT_MetaTileEntity_Hatch_InputElemental.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eInputHatches.size(); } }, - OutputElemental( - GT_MetaTileEntity_MultiblockBase_EM::addElementalOutputToMachineList, - GT_MetaTileEntity_Hatch_OutputElemental.class) { + OutputElemental(GT_MetaTileEntity_MultiblockBase_EM::addElementalOutputToMachineList, GT_MetaTileEntity_Hatch_OutputElemental.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eOutputHatches.size(); } }, - OverflowElemental( - GT_MetaTileEntity_MultiblockBase_EM::addElementalMufflerToMachineList, - GT_MetaTileEntity_Hatch_OverflowElemental.class) { + OverflowElemental(GT_MetaTileEntity_MultiblockBase_EM::addElementalMufflerToMachineList, GT_MetaTileEntity_Hatch_OverflowElemental.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eMufflerHatches.size(); @@ -2820,41 +2649,31 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return t.eParamHatches.size(); } }, - Uncertainty( - GT_MetaTileEntity_MultiblockBase_EM::addUncertainToMachineList, - GT_MetaTileEntity_Hatch_Uncertainty.class) { + Uncertainty(GT_MetaTileEntity_MultiblockBase_EM::addUncertainToMachineList, GT_MetaTileEntity_Hatch_Uncertainty.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eUncertainHatches.size(); } }, - EnergyMulti( - GT_MetaTileEntity_MultiblockBase_EM::addEnergyInputToMachineList, - GT_MetaTileEntity_Hatch_EnergyMulti.class) { + EnergyMulti(GT_MetaTileEntity_MultiblockBase_EM::addEnergyInputToMachineList, GT_MetaTileEntity_Hatch_EnergyMulti.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eEnergyMulti.size(); } }, - DynamoMulti( - GT_MetaTileEntity_MultiblockBase_EM::addDynamoToMachineList, - GT_MetaTileEntity_Hatch_DynamoMulti.class) { + DynamoMulti(GT_MetaTileEntity_MultiblockBase_EM::addDynamoToMachineList, GT_MetaTileEntity_Hatch_DynamoMulti.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eDynamoMulti.size(); } }, - InputData( - GT_MetaTileEntity_MultiblockBase_EM::addDataConnectorToMachineList, - GT_MetaTileEntity_Hatch_InputData.class) { + InputData(GT_MetaTileEntity_MultiblockBase_EM::addDataConnectorToMachineList, GT_MetaTileEntity_Hatch_InputData.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eInputData.size(); } }, - OutputData( - GT_MetaTileEntity_MultiblockBase_EM::addDataConnectorToMachineList, - GT_MetaTileEntity_Hatch_OutputData.class) { + OutputData(GT_MetaTileEntity_MultiblockBase_EM::addDataConnectorToMachineList, GT_MetaTileEntity_Hatch_OutputData.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eOutputData.size(); @@ -2865,9 +2684,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt private final IGT_HatchAdder adder; @SafeVarargs - HatchElement( - IGT_HatchAdder adder, - Class... mteClasses) { + HatchElement(IGT_HatchAdder adder, Class... mteClasses) { this.mteClasses = Collections.unmodifiableList(Arrays.asList(mteClasses)); this.adder = adder; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/INameFunction.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/INameFunction.java index 3de1d25cdc..1c2a8bd477 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/INameFunction.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/INameFunction.java @@ -1,5 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; -public interface INameFunction { +public interface INameFunction{ String apply(T t, Parameters.IParameter iParameter); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/IStatusFunction.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/IStatusFunction.java index 862d6c1726..0c7616093a 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/IStatusFunction.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/IStatusFunction.java @@ -1,5 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; -public interface IStatusFunction { +public interface IStatusFunction{ LedStatus apply(T t, Parameters.IParameter iParameter); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/LedStatus.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/LedStatus.java index 98ac63b2d4..d1173933f7 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/LedStatus.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/LedStatus.java @@ -1,102 +1,97 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; import com.github.technus.tectech.TecTech; -import java.util.function.Supplier; import net.minecraft.util.EnumChatFormatting; +import java.util.function.Supplier; + public enum LedStatus { - STATUS_UNUSED(() -> EnumChatFormatting.DARK_GRAY + "Unused", true), // - STATUS_TOO_LOW(() -> EnumChatFormatting.BLUE + "Too Low", false), // - STATUS_LOW(() -> EnumChatFormatting.AQUA + "Low", true), // - STATUS_WRONG(() -> EnumChatFormatting.DARK_PURPLE + "Wrong", false), // - STATUS_OK(() -> EnumChatFormatting.GREEN + "Valid", true), // - STATUS_TOO_HIGH(() -> EnumChatFormatting.RED + "Too High", false), // - STATUS_HIGH(() -> EnumChatFormatting.GOLD + "High", true), // - STATUS_UNDEFINED(() -> EnumChatFormatting.GRAY + "Unknown", false), - STATUS_NEUTRAL(() -> EnumChatFormatting.WHITE + "Neutral", true), // - STATUS_WTF( - () -> { - return LedStatus.values()[TecTech.RANDOM.nextInt(9)].name.get(); - }, - false); // + STATUS_UNUSED(()->EnumChatFormatting.DARK_GRAY +"Unused",true),// + STATUS_TOO_LOW(()->EnumChatFormatting.BLUE+"Too Low",false),// + STATUS_LOW(()->EnumChatFormatting.AQUA+"Low",true),// + STATUS_WRONG(()->EnumChatFormatting.DARK_PURPLE+"Wrong",false),// + STATUS_OK(()->EnumChatFormatting.GREEN+"Valid",true),// + STATUS_TOO_HIGH(()->EnumChatFormatting.RED+"Too High",false),// + STATUS_HIGH(()->EnumChatFormatting.GOLD+"High",true),// + STATUS_UNDEFINED(()->EnumChatFormatting.GRAY+"Unknown",false), + STATUS_NEUTRAL(()->EnumChatFormatting.WHITE+"Neutral",true),// + STATUS_WTF(()->{ + return LedStatus.values()[TecTech.RANDOM.nextInt(9)].name.get(); + },false);// public final Supplier name; public final boolean isOk; - LedStatus(Supplier name, boolean ok) { - this.name = name; - this.isOk = ok; + LedStatus(Supplier name, boolean ok){ + this.name=name; + this.isOk=ok; } - public byte getOrdinalByte() { - return (byte) ordinal(); + public byte getOrdinalByte(){ + return (byte)ordinal(); } - public static LedStatus getStatus(byte value) { - try { + public static LedStatus getStatus(byte value){ + try{ return LedStatus.values()[value]; - } catch (Exception e) { + }catch (Exception e){ return STATUS_UNDEFINED; } } - public static LedStatus[] makeArray(int count, LedStatus defaultValue) { - LedStatus[] statuses = new LedStatus[count]; + public static LedStatus[] makeArray(int count,LedStatus defaultValue){ + LedStatus[] statuses=new LedStatus[count]; for (int i = 0; i < count; i++) { - statuses[i] = defaultValue; + statuses[i]=defaultValue; } return statuses; } - public static LedStatus fromLimitsInclusiveOuterBoundary( - double value, double min, double low, double high, double max, double... excludedNumbers) { - if (value < min) return STATUS_TOO_LOW; - if (value > max) return STATUS_TOO_HIGH; + public static LedStatus fromLimitsInclusiveOuterBoundary(double value, double min,double low, double high, double max, double... excludedNumbers){ + if(valuemax) return STATUS_TOO_HIGH; - if (value < low) return STATUS_LOW; - if (value > high) return STATUS_HIGH; + if(valuehigh) return STATUS_HIGH; for (double val : excludedNumbers) { - if (val == value) return STATUS_WRONG; + if(val==value) return STATUS_WRONG; } - if (Double.isNaN(value)) return STATUS_WRONG; + if(Double.isNaN(value)) return STATUS_WRONG; return STATUS_OK; } - public static LedStatus fromLimitsExclusiveOuterBoundary( - double value, double min, double low, double high, double max, double... excludedNumbers) { - if (value <= min) return STATUS_TOO_LOW; - if (value >= max) return STATUS_TOO_HIGH; + public static LedStatus fromLimitsExclusiveOuterBoundary(double value, double min,double low, double high,double max, double... excludedNumbers){ + if(value<=min) return STATUS_TOO_LOW; + if(value>=max) return STATUS_TOO_HIGH; - if (value < low) return STATUS_LOW; - if (value > high) return STATUS_HIGH; + if(valuehigh) return STATUS_HIGH; for (double val : excludedNumbers) { - if (val == value) return STATUS_WRONG; + if(val==value) return STATUS_WRONG; } - if (Double.isNaN(value)) return STATUS_WRONG; + if(Double.isNaN(value)) return STATUS_WRONG; return STATUS_OK; } - public static LedStatus fromLimitsInclusiveBoundary( - double value, double min, double max, double... excludedNumbers) { - if (value < min) return STATUS_TOO_LOW; - if (value > max) return STATUS_TOO_HIGH; + public static LedStatus fromLimitsInclusiveBoundary(double value, double min, double max, double... excludedNumbers){ + if(valuemax) return STATUS_TOO_HIGH; for (double val : excludedNumbers) { - if (val == value) return STATUS_WRONG; + if(val==value) return STATUS_WRONG; } - if (Double.isNaN(value)) return STATUS_WRONG; + if(Double.isNaN(value)) return STATUS_WRONG; return STATUS_OK; } - public static LedStatus fromLimitsExclusiveBoundary( - double value, double min, double max, double... excludedNumbers) { - if (value <= min) return STATUS_TOO_LOW; - if (value >= max) return STATUS_TOO_HIGH; + public static LedStatus fromLimitsExclusiveBoundary(double value, double min, double max, double... excludedNumbers){ + if(value<=min) return STATUS_TOO_LOW; + if(value>=max) return STATUS_TOO_HIGH; for (double val : excludedNumbers) { - if (val == value) return STATUS_WRONG; + if(val==value) return STATUS_WRONG; } - if (Double.isNaN(value)) return STATUS_WRONG; + if(Double.isNaN(value)) return STATUS_WRONG; return STATUS_OK; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/MultiblockControl.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/MultiblockControl.java index fad1169bff..8429bf4e67 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/MultiblockControl.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/MultiblockControl.java @@ -3,7 +3,8 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; /** * Created by danie_000 on 23.12.2017. */ -public class MultiblockControl { + +public class MultiblockControl{ private final boolean shouldExplode; private final T value; private final int eUt; @@ -14,16 +15,7 @@ public class MultiblockControl { private final int pollutionToAdd; private final double excessMass; - public MultiblockControl( - T value, - int eUt, - int amperes, - int requiredData, - int effIncrease, - int maxProgressTime, - int pollutionToAdd, - double excessMass, - boolean shouldExplode) { + public MultiblockControl(T value, int eUt, int amperes, int requiredData, int effIncrease, int maxProgressTime, int pollutionToAdd, double excessMass,boolean shouldExplode){ this.value = value; this.eUt = eUt; this.amperes = amperes; @@ -32,58 +24,50 @@ public class MultiblockControl { this.maxProgressTime = maxProgressTime; this.pollutionToAdd = pollutionToAdd; this.excessMass = excessMass; - this.shouldExplode = shouldExplode; + this.shouldExplode=shouldExplode; } - public MultiblockControl( - T value, - int eUt, - int amperes, - int requiredData, - int effIncrease, - int maxProgressTime, - int pollutionToAdd, - double excessMass) { - this(value, eUt, amperes, requiredData, effIncrease, maxProgressTime, pollutionToAdd, excessMass, false); + public MultiblockControl(T value, int eUt, int amperes, int requiredData, int effIncrease, int maxProgressTime, int pollutionToAdd, double excessMass){ + this(value, eUt, amperes, requiredData, effIncrease, maxProgressTime,pollutionToAdd,excessMass,false); } - public MultiblockControl(T value, int eUt, int amperes, int requiredData, int effIncrease, int maxProgressTime) { - this(value, eUt, amperes, requiredData, effIncrease, maxProgressTime, 0, 0); + public MultiblockControl(T value, int eUt, int amperes, int requiredData, int effIncrease, int maxProgressTime){ + this(value,eUt,amperes,requiredData,effIncrease,maxProgressTime,0,0); } - public MultiblockControl(double excessMass) { - this(null, 0, 0, 0, 0, 0, 0, excessMass, true); + public MultiblockControl(double excessMass){ + this(null,0,0,0,0,0,0,excessMass,true); } public T getValue() { return value; } - public int getEUT() { + public int getEUT(){ return eUt; } - public int getAmperage() { + public int getAmperage(){ return amperes; } - public int getRequiredData() { + public int getRequiredData(){ return requiredData; } - public int getEffIncrease() { + public int getEffIncrease(){ return effIncrease; } - public int getMaxProgressTime() { + public int getMaxProgressTime(){ return maxProgressTime; } - public int getPollutionToAdd() { + public int getPollutionToAdd(){ return pollutionToAdd; } - public double getExcessMass() { + public double getExcessMass(){ return excessMass; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/Parameters.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/Parameters.java index f6016a7482..23250a5b02 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/Parameters.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/Parameters.java @@ -6,54 +6,54 @@ import java.util.ArrayList; * Instantiate parameters as field in parametersInstantiation_EM(); */ public class Parameters { - private static final IStatusFunction LED_STATUS_FUNCTION_DEFAULT = (b, p) -> LedStatus.STATUS_UNDEFINED; - private static final INameFunction NAME_FUNCTION_DEFAULT = (b, p) -> "Undefined"; + private static final IStatusFunction LED_STATUS_FUNCTION_DEFAULT = (b, p)->LedStatus.STATUS_UNDEFINED; + private static final INameFunction NAME_FUNCTION_DEFAULT= (b, p)->"Undefined"; final Group[] groups = new Group[10]; - double[] iParamsIn = new double[20]; // number I from parametrizers - double[] iParamsOut = new double[20]; // number O to parametrizers - final ArrayList parameterInArrayList = new ArrayList<>(); - final ArrayList parameterOutArrayList = new ArrayList<>(); + double[] iParamsIn = new double[20];//number I from parametrizers + double[] iParamsOut = new double[20];//number O to parametrizers + final ArrayList parameterInArrayList =new ArrayList<>(); + final ArrayList parameterOutArrayList =new ArrayList<>(); - // package private for use in gui - LedStatus[] eParamsInStatus = LedStatus.makeArray(20, LedStatus.STATUS_UNUSED); // LED status for I - LedStatus[] eParamsOutStatus = LedStatus.makeArray(20, LedStatus.STATUS_UNUSED); // LED status for O + //package private for use in gui + LedStatus[] eParamsInStatus = LedStatus.makeArray(20,LedStatus.STATUS_UNUSED);//LED status for I + LedStatus[] eParamsOutStatus = LedStatus.makeArray(20,LedStatus.STATUS_UNUSED);//LED status for O - double getIn(int hatchNo, int parameterId) { - return iParamsIn[hatchNo + 10 * parameterId]; + double getIn(int hatchNo,int parameterId){ + return iParamsIn[hatchNo+10*parameterId]; } - double getOut(int hatchNo, int parameterId) { - return iParamsOut[hatchNo + 10 * parameterId]; + double getOut(int hatchNo,int parameterId){ + return iParamsOut[hatchNo+10*parameterId]; } - LedStatus getStatusIn(int hatchNo, int parameterId) { - return eParamsInStatus[hatchNo + 10 * parameterId]; + LedStatus getStatusIn(int hatchNo,int parameterId){ + return eParamsInStatus[hatchNo+10*parameterId]; } - LedStatus getStatusOut(int hatchNo, int parameterId) { - return eParamsOutStatus[hatchNo + 10 * parameterId]; + LedStatus getStatusOut(int hatchNo,int parameterId){ + return eParamsOutStatus[hatchNo+10*parameterId]; } private final GT_MetaTileEntity_MultiblockBase_EM parent; - Parameters(GT_MetaTileEntity_MultiblockBase_EM parent) { - this.parent = parent; + Parameters(GT_MetaTileEntity_MultiblockBase_EM parent){ + this.parent=parent; } - public boolean trySetParameters(int hatch, double parameter0, double parameter1) { - Group p = groups[hatch]; - if (parent.mMaxProgresstime <= 0 || (p != null && p.updateWhileRunning)) { - iParamsIn[hatch] = parameter0; - iParamsIn[hatch + 10] = parameter1; + public boolean trySetParameters(int hatch,double parameter0,double parameter1){ + Group p=groups[hatch]; + if(parent.mMaxProgresstime<=0 || (p!=null && p.updateWhileRunning)){ + iParamsIn[hatch]=parameter0; + iParamsIn[hatch+10]=parameter1; return true; } return false; } - public void setToDefaults(int hatch, boolean defaultIn, boolean defaultOut) { - Group p = groups[hatch]; + public void setToDefaults(int hatch,boolean defaultIn, boolean defaultOut) { + Group p= groups[hatch]; if (p == null) { if (defaultIn) { iParamsIn[hatch] = 0; @@ -64,68 +64,61 @@ public class Parameters { iParamsOut[hatch + 10] = 0; } } else { - p.setToDefaults(defaultIn, defaultOut); + p.setToDefaults(defaultIn,defaultOut); } } - public void setToDefaults(boolean defaultIn, boolean defaultOut) { - for (int hatch = 0; hatch < 10; hatch++) { - setToDefaults(hatch, defaultIn, defaultOut); + public void setToDefaults(boolean defaultIn, boolean defaultOut){ + for (int hatch=0;hatch<10;hatch++) { + setToDefaults(hatch,defaultIn,defaultOut); } } - public void ClearDefinitions() { + public void ClearDefinitions(){ parameterInArrayList.clear(); parameterOutArrayList.clear(); - for (int i = 0; i < groups.length; i++) { - groups[i] = null; + for(int i = 0; i< groups.length; i++){ + groups[i]=null; } } - public void removeGroup(Group group) { - if (group == groups[group.hatchNo]) { + public void removeGroup(Group group){ + if(group==groups[group.hatchNo]){ removeGroup(group.hatchNo); - } else { + }else{ throw new IllegalArgumentException("Group does not exists in this parametrization!"); } } - public void removeGroup(int hatchNo) { - Group hatch = groups[hatchNo]; - if (hatch != null) { - for (Group.ParameterOut p : hatch.parameterOut) { + public void removeGroup(int hatchNo){ + Group hatch=groups[hatchNo]; + if(hatch!=null){ + for (Group.ParameterOut p:hatch.parameterOut) { parameterOutArrayList.remove(p); } - for (Group.ParameterIn p : hatch.parameterIn) { + for (Group.ParameterIn p:hatch.parameterIn) { parameterInArrayList.remove(p); } - groups[hatchNo] = null; + groups[hatchNo]=null; } } - public Group getGroup(int hatchNo, boolean updateWhileRunning) { - return groups[hatchNo] != null ? groups[hatchNo] : new Group(hatchNo, updateWhileRunning); + public Group getGroup(int hatchNo, boolean updateWhileRunning){ + return groups[hatchNo]!=null?groups[hatchNo]:new Group( hatchNo, updateWhileRunning); } - public Group getGroup(int hatchNo) { - return groups[hatchNo] != null ? groups[hatchNo] : new Group(hatchNo, false); + public Group getGroup(int hatchNo){ + return groups[hatchNo]!=null?groups[hatchNo]:new Group( hatchNo, false); } - public interface IParameter { + public interface IParameter{ double get(); - double getDefault(); - void updateStatus(); - LedStatus getStatus(boolean update); - int id(); - int hatchId(); - int parameterId(); - String getBrief(); } @@ -134,31 +127,29 @@ public class Parameters { */ public class Group { private final int hatchNo; - final ParameterIn[] parameterIn = new ParameterIn[2]; - final ParameterOut[] parameterOut = new ParameterOut[2]; + final ParameterIn[] parameterIn =new ParameterIn[2]; + final ParameterOut[] parameterOut =new ParameterOut[2]; public boolean updateWhileRunning; - private Group(int hatchNo, boolean updateWhileRunning) { - if (hatchNo < 0 || hatchNo >= 10) { + private Group(int hatchNo, boolean updateWhileRunning){ + if(hatchNo<0 || hatchNo>=10){ throw new IllegalArgumentException("Hatch id must be in 0 to 9 range"); } - this.hatchNo = hatchNo; - this.updateWhileRunning = updateWhileRunning; - groups[hatchNo] = this; + this.hatchNo=hatchNo; + this.updateWhileRunning=updateWhileRunning; + groups[hatchNo]=this; } - public ParameterIn makeInParameter( - int paramID, double defaultValue, INameFunction name, IStatusFunction status) { - return new ParameterIn(paramID, defaultValue, name, status); + public ParameterIn makeInParameter(int paramID, double defaultValue, INameFunction name, IStatusFunction status){ + return new ParameterIn(paramID, defaultValue,name, status); } - public ParameterOut makeOutParameter( - int paramID, double defaultValue, INameFunction name, IStatusFunction status) { + public ParameterOut makeOutParameter(int paramID, double defaultValue, INameFunction name, IStatusFunction status){ return new ParameterOut(paramID, defaultValue, name, status); } public void setToDefaults(boolean defaultIn, boolean defaultOut) { - if (defaultIn) { + if(defaultIn){ if (this.parameterIn[0] != null) { this.parameterIn[0].setDefault(); } else { @@ -170,7 +161,7 @@ public class Parameters { iParamsIn[hatchNo + 10] = 0; } } - if (defaultOut) { + if(defaultOut){ if (this.parameterOut[0] != null) { this.parameterOut[0].setDefault(); } else { @@ -193,19 +184,19 @@ public class Parameters { IStatusFunction status; INameFunction name; - private ParameterOut(int paramID, double defaultValue, INameFunction name, IStatusFunction status) { - this.name = name == null ? NAME_FUNCTION_DEFAULT : name; - if (paramID < 0 || paramID > 2) { + private ParameterOut(int paramID, double defaultValue, INameFunction name, IStatusFunction status){ + this.name= name==null?NAME_FUNCTION_DEFAULT:name; + if(paramID<0 || paramID>2){ throw new IllegalArgumentException("Parameter id must be in 0 to 1 range"); } - if (parameterOut[paramID] != null) { + if(parameterOut[paramID]!=null){ throw new IllegalArgumentException("Parameter id already occupied"); } - this.id = hatchNo + 10 * paramID; - this.defaultValue = defaultValue; - this.status = status == null ? LED_STATUS_FUNCTION_DEFAULT : status; + this.id=hatchNo+10*paramID; + this.defaultValue=defaultValue; + this.status = status==null?LED_STATUS_FUNCTION_DEFAULT:status; parameterOutArrayList.add(this); - parameterOut[paramID] = this; + parameterOut[paramID]=this; } void setDefault() { @@ -213,7 +204,7 @@ public class Parameters { } @Override - public double get() { + public double get(){ return iParamsOut[id]; } @@ -222,27 +213,27 @@ public class Parameters { return defaultValue; } - public void set(double value) { - iParamsOut[id] = value; + public void set(double value){ + iParamsOut[id]=value; } @SuppressWarnings("unchecked") @Override - public void updateStatus() { - eParamsOutStatus[id] = status.apply(parent, this); + public void updateStatus(){ + eParamsOutStatus[id]=status.apply(parent,this); } @Override - public LedStatus getStatus(boolean update) { - if (update) { + public LedStatus getStatus(boolean update){ + if(update){ updateStatus(); } return eParamsOutStatus[id]; } @Override - public String getBrief() { - return name.apply(parent, this); + public String getBrief(){ + return name.apply(parent,this); } @Override @@ -252,12 +243,12 @@ public class Parameters { @Override public int hatchId() { - return id % 10; + return id%10; } @Override public int parameterId() { - return id / 10; + return id/10; } } @@ -270,19 +261,19 @@ public class Parameters { IStatusFunction status; INameFunction name; - private ParameterIn(int paramID, double defaultValue, INameFunction name, IStatusFunction status) { - this.name = name == null ? NAME_FUNCTION_DEFAULT : name; - this.id = hatchNo + 10 * paramID; - if (paramID < 0 || paramID > 2) { + private ParameterIn(int paramID, double defaultValue, INameFunction name, IStatusFunction status){ + this.name= name==null?NAME_FUNCTION_DEFAULT:name; + this.id=hatchNo+10*paramID; + if(paramID<0 || paramID>2){ throw new IllegalArgumentException("Parameter id must be in 0 to 1 range"); } - if (parameterIn[paramID] != null) { + if(parameterIn[paramID]!=null){ throw new IllegalArgumentException("Parameter id already occupied"); } - this.defaultValue = defaultValue; - this.status = status == null ? LED_STATUS_FUNCTION_DEFAULT : status; + this.defaultValue=defaultValue; + this.status = status==null?LED_STATUS_FUNCTION_DEFAULT:status; parameterInArrayList.add(this); - parameterIn[paramID] = this; + parameterIn[paramID]=this; } void setDefault() { @@ -290,12 +281,12 @@ public class Parameters { } @Override - public double get() { + public double get(){ return iParamsIn[id]; } - void set(double value) { - iParamsIn[id] = value; + void set(double value){ + iParamsIn[id]=value; } @Override @@ -305,23 +296,24 @@ public class Parameters { @SuppressWarnings("unchecked") @Override - public void updateStatus() { - eParamsInStatus[id] = status.apply(parent, this); + public void updateStatus(){ + eParamsInStatus[id]=status.apply(parent,this); } @Override - public LedStatus getStatus(boolean update) { - if (update) { + public LedStatus getStatus(boolean update){ + if(update){ updateStatus(); } return eParamsInStatus[id]; } @Override - public String getBrief() { - return name.apply(parent, this); + public String getBrief(){ + return name.apply(parent,this); } + @Override public int id() { return id; @@ -329,13 +321,14 @@ public class Parameters { @Override public int hatchId() { - return id % 10; + return id%10; } @Override public int parameterId() { - return id / 10; + return id/10; } } } } + diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/SoundLoop.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/SoundLoop.java index fc6b5d276b..e8e1a7eb27 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/SoundLoop.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/SoundLoop.java @@ -10,49 +10,47 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; @SideOnly(Side.CLIENT) -public class SoundLoop extends MovingSound { +public class SoundLoop extends MovingSound{ private final boolean whileActive; private final boolean whileInactive; private final int worldID; - private boolean fadeMe = false; + private boolean fadeMe=false; - public SoundLoop( - ResourceLocation p_i45104_1_, IGregTechTileEntity base, boolean stopWhenActive, boolean stopWhenInactive) { + public SoundLoop(ResourceLocation p_i45104_1_, IGregTechTileEntity base, boolean stopWhenActive,boolean stopWhenInactive) { super(p_i45104_1_); this.whileActive = stopWhenActive; this.whileInactive = stopWhenInactive; - xPosF = base.getXCoord(); - yPosF = base.getYCoord(); - zPosF = base.getZCoord(); - worldID = base.getWorld().provider.dimensionId; - repeat = true; - volume = 0.0625f; + xPosF=base.getXCoord(); + yPosF=base.getYCoord(); + zPosF=base.getZCoord(); + worldID=base.getWorld().provider.dimensionId; + repeat=true; + volume= 0.0625f; } @Override public void update() { - if (donePlaying) { + if(donePlaying) { return; } - if (fadeMe) { - volume -= 0.0625f; - if (volume <= 0) { - volume = 0; - donePlaying = true; + if(fadeMe) { + volume-=0.0625f; + if(volume<=0){ + volume=0; + donePlaying=true; } - } else if (volume < 1) { + }else if(volume<1) { volume += 0.0625f; } - World world = Minecraft.getMinecraft().thePlayer.worldObj; - donePlaying = world.provider.dimensionId != worldID - || !world.checkChunksExist( - (int) xPosF, (int) yPosF, (int) zPosF, (int) xPosF, (int) yPosF, (int) zPosF); - if (donePlaying) return; - TileEntity tile = world.getTileEntity((int) xPosF, (int) yPosF, (int) zPosF); - if (!(tile instanceof IGregTechTileEntity)) { - donePlaying = true; + World world=Minecraft.getMinecraft().thePlayer.worldObj; + donePlaying=world.provider.dimensionId!=worldID || + !world.checkChunksExist((int)xPosF,(int)yPosF,(int)zPosF,(int)xPosF,(int)yPosF,(int)zPosF); + if(donePlaying) return; + TileEntity tile= world.getTileEntity((int)xPosF,(int)yPosF,(int)zPosF); + if(!(tile instanceof IGregTechTileEntity)) { + donePlaying=true; return; } - fadeMe |= ((IGregTechTileEntity) tile).isActive() ? whileActive : whileInactive; + fadeMe|=((IGregTechTileEntity) tile).isActive()?whileActive:whileInactive; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedExtendedFacingTexture.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedExtendedFacingTexture.java index 6a7aea9cb3..9795b42827 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedExtendedFacingTexture.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedExtendedFacingTexture.java @@ -5,18 +5,12 @@ import gregtech.api.interfaces.IIconContainer; import gregtech.common.render.GT_RenderedTexture; public class TT_RenderedExtendedFacingTexture extends GT_RenderedTexture { - public TT_RenderedExtendedFacingTexture( - IIconContainer aIcon, - short[] aRGBa, - boolean allowAlpha, - boolean glow, - boolean stdOrient, - boolean extFacing) { + public TT_RenderedExtendedFacingTexture(IIconContainer aIcon, short[] aRGBa, boolean allowAlpha, boolean glow, boolean stdOrient, boolean extFacing) { super(aIcon, aRGBa, allowAlpha, glow, stdOrient, extFacing); } public TT_RenderedExtendedFacingTexture(IIconContainer aIcon, short[] aRGBa, boolean aAllowAlpha) { - this(aIcon, aRGBa, aAllowAlpha, false, false, true); + this(aIcon,aRGBa,aAllowAlpha,false,false,true); } public TT_RenderedExtendedFacingTexture(IIconContainer aIcon, short[] aRGBa) { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_collider/GT_MetaTileEntity_EM_collider.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_collider/GT_MetaTileEntity_EM_collider.java index 4973f6f37a..6e8a7c8d88 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_collider/GT_MetaTileEntity_EM_collider.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_collider/GT_MetaTileEntity_EM_collider.java @@ -1,17 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.em_collider; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.DoubleCount.add; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.EMComplexAspectDefinition; import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.EMPrimalAspectDefinition; @@ -41,18 +29,31 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import java.util.HashMap; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; +import java.util.HashMap; + +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.DoubleCount.add; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - // region variables + //region variables private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; private static Textures.BlockIcons.CustomIcon ScreenON_Slave; @@ -60,163 +61,145 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB protected static final byte FUSE_MODE = 0, COLLIDE_MODE = 1; private static double MASS_TO_EU_INSTANT; - private static int STARTUP_COST, KEEPUP_COST; + private static int STARTUP_COST, KEEPUP_COST; - protected byte eTier = 0; + protected byte eTier = 0; protected EMInstanceStack stack; - private long plasmaEnergy; + private long plasmaEnergy; protected boolean started = false; - // endregion + //endregion - // region collision handlers - public static final HashMap FUSE_HANDLERS = new HashMap<>(); + //region collision handlers + public static final HashMap FUSE_HANDLERS = new HashMap<>(); public static final HashMap PRIMITIVE_FUSE_HANDLERS = new HashMap<>(); static { - FUSE_HANDLERS.put( - ((long) EMAtomDefinition.getClassTypeStatic() << 16) | EMAtomDefinition.getClassTypeStatic(), - new IColliderHandler() { - @Override - public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { - try { - EMDefinitionStackMap defs = new EMDefinitionStackMap(); - defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); - defs.putUnifyAllExact(in2.getDefinition().getSubParticles()); - EMAtomDefinition atom = new EMAtomDefinition( - defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); - out.putUnify(new EMInstanceStack(atom, Math.min(in1.getAmount(), in2.getAmount()))); - } catch (Exception e) { - out.putUnifyAll(in1, in2); - return; - } - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - } + FUSE_HANDLERS.put(((long) EMAtomDefinition.getClassTypeStatic() << 16) | EMAtomDefinition.getClassTypeStatic(), new IColliderHandler() { + @Override + public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { + try { + EMDefinitionStackMap defs = new EMDefinitionStackMap(); + defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); + defs.putUnifyAllExact(in2.getDefinition().getSubParticles()); + EMAtomDefinition atom = new EMAtomDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); + out.putUnify(new EMInstanceStack(atom, Math.min(in1.getAmount(), in2.getAmount()))); + } catch (Exception e) { + out.putUnifyAll(in1, in2); + return; + } + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + } - @Override - public byte getRequiredTier() { - return 1; - } - }); + @Override + public byte getRequiredTier() { + return 1; + } + }); registerSimpleAtomFuse(EMHadronDefinition.getClassTypeStatic()); registerSimpleAtomFuse(EMComplexAspectDefinition.getClassTypeStatic()); registerSimpleAtomFuse(EMPrimitiveTemplate.getClassTypeStatic()); - FUSE_HANDLERS.put( - ((long) EMHadronDefinition.getClassTypeStatic() << 16) | EMHadronDefinition.getClassTypeStatic(), - new IColliderHandler() { - @Override - public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { - try { - EMDefinitionStackMap defs = new EMDefinitionStackMap(); - defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); - defs.putUnifyAllExact(in2.getDefinition().getSubParticles()); - EMHadronDefinition hadron = new EMHadronDefinition( - defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); - out.putUnify(new EMInstanceStack(hadron, Math.min(in1.getAmount(), in2.getAmount()))); - } catch (Exception e) { - out.putUnifyAll(in1, in2); - return; - } - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - } + FUSE_HANDLERS.put(((long) EMHadronDefinition.getClassTypeStatic() << 16) | EMHadronDefinition.getClassTypeStatic(), new IColliderHandler() { + @Override + public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { + try { + EMDefinitionStackMap defs = new EMDefinitionStackMap(); + defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); + defs.putUnifyAllExact(in2.getDefinition().getSubParticles()); + EMHadronDefinition hadron = new EMHadronDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); + out.putUnify(new EMInstanceStack(hadron, Math.min(in1.getAmount(), in2.getAmount()))); + } catch (Exception e) { + out.putUnifyAll(in1, in2); + return; + } + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + } - @Override - public byte getRequiredTier() { - return 2; - } - }); - FUSE_HANDLERS.put( - ((long) EMHadronDefinition.getClassTypeStatic() << 16) | EMPrimitiveTemplate.getClassTypeStatic(), - new IColliderHandler() { - @Override - public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { - try { - EMDefinitionStackMap defs = new EMDefinitionStackMap(); - defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); - defs.putUnifyExact(in2.getDefinition().getStackForm(1)); - EMHadronDefinition hadron = new EMHadronDefinition( - defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); - out.putUnify(new EMInstanceStack(hadron, Math.min(in1.getAmount(), in2.getAmount()))); - } catch (Exception e) { - out.putUnifyAll(in1, in2); - return; - } - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - } + @Override + public byte getRequiredTier() { + return 2; + } + }); + FUSE_HANDLERS.put(((long) EMHadronDefinition.getClassTypeStatic() << 16) | EMPrimitiveTemplate.getClassTypeStatic(), new IColliderHandler() { + @Override + public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { + try { + EMDefinitionStackMap defs = new EMDefinitionStackMap(); + defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); + defs.putUnifyExact(in2.getDefinition().getStackForm(1)); + EMHadronDefinition hadron = new EMHadronDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); + out.putUnify(new EMInstanceStack(hadron, Math.min(in1.getAmount(), in2.getAmount()))); + } catch (Exception e) { + out.putUnifyAll(in1, in2); + return; + } + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + } - @Override - public byte getRequiredTier() { - return 2; - } - }); + @Override + public byte getRequiredTier() { + return 2; + } + }); registerSimpleAspectFuse(EMComplexAspectDefinition.getClassTypeStatic()); registerSimpleAspectFuse(EMPrimitiveTemplate.getClassTypeStatic()); - FUSE_HANDLERS.put( - ((long) EMPrimitiveTemplate.getClassTypeStatic() << 16) | EMPrimitiveTemplate.getClassTypeStatic(), - new IColliderHandler() { - @Override - public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { - IPrimitiveColliderHandler collisionHandler = PRIMITIVE_FUSE_HANDLERS.get( - in1.getDefinition().getClass().getName() - + '\0' - + in2.getDefinition().getClass().getName()); - if (collisionHandler != null) { - collisionHandler.collide(in2, in1, out); - } else { - out.putUnifyAll(in1, in2); - } - } + FUSE_HANDLERS.put(((long) EMPrimitiveTemplate.getClassTypeStatic() << 16) | EMPrimitiveTemplate.getClassTypeStatic(), new IColliderHandler() { + @Override + public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { + IPrimitiveColliderHandler collisionHandler = PRIMITIVE_FUSE_HANDLERS.get(in1.getDefinition().getClass().getName() + '\0' + in2.getDefinition().getClass().getName()); + if (collisionHandler != null) { + collisionHandler.collide(in2, in1, out); + } else { + out.putUnifyAll(in1, in2); + } + } - @Override - public byte getRequiredTier() { - return 2; - } - }); - - PRIMITIVE_FUSE_HANDLERS.put( - EMQuarkDefinition.class.getName() + '\0' + EMQuarkDefinition.class.getName(), (in1, in2, out) -> { - try { - EMDefinitionStackMap defs = new EMDefinitionStackMap(); - defs.putUnifyExact(in1.getDefinition().getStackForm(1)); - defs.putUnifyExact(in2.getDefinition().getStackForm(1)); - EMHadronDefinition hadron = - new EMHadronDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); - out.putUnify(new EMInstanceStack(hadron, Math.min(in1.getAmount(), in2.getAmount()))); - } catch (Exception e) { - out.putUnifyAll(in1, in2); - return; - } - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - }); - PRIMITIVE_FUSE_HANDLERS.put( - EMPrimalAspectDefinition.class.getName() + '\0' + EMPrimalAspectDefinition.class.getName(), - (in1, in2, out) -> { - if (fuseAspects(in1, in2, out)) return; - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - }); + @Override + public byte getRequiredTier() { + return 2; + } + }); + + PRIMITIVE_FUSE_HANDLERS.put(EMQuarkDefinition.class.getName() + '\0' + EMQuarkDefinition.class.getName(), (in1, in2, out) -> { + try { + EMDefinitionStackMap defs = new EMDefinitionStackMap(); + defs.putUnifyExact(in1.getDefinition().getStackForm(1)); + defs.putUnifyExact(in2.getDefinition().getStackForm(1)); + EMHadronDefinition hadron = new EMHadronDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); + out.putUnify(new EMInstanceStack(hadron, Math.min(in1.getAmount(), in2.getAmount()))); + } catch (Exception e) { + out.putUnifyAll(in1, in2); + return; + } + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + }); + PRIMITIVE_FUSE_HANDLERS.put(EMPrimalAspectDefinition.class.getName() + '\0' + EMPrimalAspectDefinition.class.getName(), (in1, in2, out) -> { + if (fuseAspects(in1, in2, out)) return; + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + }); } private static boolean fuseAspects(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { @@ -224,8 +207,7 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB EMDefinitionStackMap defs = new EMDefinitionStackMap(); defs.putUnifyExact(in1.getDefinition().getStackForm(1)); defs.putUnifyExact(in2.getDefinition().getStackForm(1)); - EMComplexAspectDefinition aspect = - new EMComplexAspectDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); + EMComplexAspectDefinition aspect = new EMComplexAspectDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); out.putUnify(new EMInstanceStack(aspect, Math.min(in1.getAmount(), in2.getAmount()))); } catch (Exception e) { out.putUnifyAll(in1, in2); @@ -235,59 +217,55 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB } private static void registerSimpleAspectFuse(int classTypeStatic) { - FUSE_HANDLERS.put( - ((long) EMComplexAspectDefinition.getClassTypeStatic() << 16) | classTypeStatic, - new IColliderHandler() { - @Override - public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { - if (fuseAspects(in1, in2, out)) return; - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - } + FUSE_HANDLERS.put(((long) EMComplexAspectDefinition.getClassTypeStatic() << 16) | classTypeStatic, new IColliderHandler() { + @Override + public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { + if (fuseAspects(in1, in2, out)) return; + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + } - @Override - public byte getRequiredTier() { - return 1; - } - }); + @Override + public byte getRequiredTier() { + return 1; + } + }); } private static void registerSimpleAtomFuse(int classTypeStatic) { - FUSE_HANDLERS.put( - ((long) EMAtomDefinition.getClassTypeStatic() << 16) | classTypeStatic, new IColliderHandler() { - @Override - public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { - try { - EMDefinitionStackMap defs = new EMDefinitionStackMap(); - defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); - defs.putUnifyExact(in2.getDefinition().getStackForm(1)); - EMAtomDefinition atom = new EMAtomDefinition( - defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); - out.putUnify(new EMInstanceStack(atom, Math.min(in1.getAmount(), in2.getAmount()))); - } catch (Exception e) { - out.putUnifyAll(in1, in2); - return; - } - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - } + FUSE_HANDLERS.put(((long) EMAtomDefinition.getClassTypeStatic() << 16) | classTypeStatic, new IColliderHandler() { + @Override + public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { + try { + EMDefinitionStackMap defs = new EMDefinitionStackMap(); + defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); + defs.putUnifyExact(in2.getDefinition().getStackForm(1)); + EMAtomDefinition atom = new EMAtomDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); + out.putUnify(new EMInstanceStack(atom, Math.min(in1.getAmount(), in2.getAmount()))); + } catch (Exception e) { + out.putUnifyAll(in1, in2); + return; + } + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + } - @Override - public byte getRequiredTier() { - return 1; - } - }); + @Override + public byte getRequiredTier() { + return 1; + } + }); } - // endregion + //endregion - // region parameters - protected Parameters.Group.ParameterIn mode; + //region parameters + protected Parameters.Group.ParameterIn mode; private static final IStatusFunction MODE_STATUS = (base_EM, p) -> { if (base_EM.isMaster()) { double mode = p.get(); @@ -302,231 +280,64 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB } return STATUS_OK; }; - private static final INameFunction MODE_NAME = (base_EM, p) -> { + private static final INameFunction MODE_NAME = (base_EM, p) -> { if (base_EM.isMaster()) { double mode = p.get(); if (mode == FUSE_MODE) { - return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.0"); // Mode: Fuse + return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.0");//Mode: Fuse } else if (mode == COLLIDE_MODE) { - return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.1"); // Mode: Collide + return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.1");//Mode: Collide } - return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.2"); // Mode: Undefined + return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.2");//Mode: Undefined } - return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.3"); // Currently Slaves... + return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.3");//Currently Slaves... }; - // endregion - - // region structure - // use multi A energy inputs, use less power the longer it runs - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal( - "gt.blockmachines.multimachine.em.collider.hint.0"), // 1 - Classic Hatches or High Power Casing - translateToLocal( - "gt.blockmachines.multimachine.em.collider.hint.1"), // 2 - Elemental Input Hatches or Molecular Casing - translateToLocal( - "gt.blockmachines.multimachine.em.collider.hint.2"), // 3 - Elemental Output Hatches or Molecular Casing - translateToLocal( - "gt.blockmachines.multimachine.em.collider.hint.3"), // 4 - Elemental Overflow Hatches or Molecular - // Casing - translateToLocal( - "gt.blockmachines.multimachine.em.collider.hint.4"), // General - Another Controller facing opposite - // direction + //endregion + + //region structure + //use multi A energy inputs, use less power the longer it runs + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.collider.hint.0"),//1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.collider.hint.1"),//2 - Elemental Input Hatches or Molecular Casing + translateToLocal("gt.blockmachines.multimachine.em.collider.hint.2"),//3 - Elemental Output Hatches or Molecular Casing + translateToLocal("gt.blockmachines.multimachine.em.collider.hint.3"),//4 - Elemental Overflow Hatches or Molecular Casing + translateToLocal("gt.blockmachines.multimachine.em.collider.hint.4"),//General - Another Controller facing opposite direction }; - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("tier1", transpose(new String[][] { - { - " A A A ", - " AAAAAAA ", - " bbbbIIIbbbb ", - " bAAAAAAAAAAAb ", - " bAAAA AAAAb ", - " bAAA AAAb ", - " bAAA AAAb ", - " bAA AAb ", - " AbAA AAbA ", - "AAbA AbAA", - " AIA AIA ", - "AAIA AIAA", - " AIA AIA ", - "AAbA AbAA", - " AbAA AAbA ", - " bAA AAb ", - " bAAA AAAb ", - " bAAA AAAb ", - " bAAAAbJJJbAAAAb ", - " bAHHbbbbbHHAb ", - " bbbbGFGbbbb " - }, - { - " AAAAA ", - " AADDDDDAA ", - " cDDeeeeeDDc ", - " cDeeDDDDDeeDc ", - " cDeDD DDeDc ", - " cDeD DeDc ", - " cDeD DeDc ", - " ADeD DeDA ", - " ADeD DeDA ", - "ADeD DeDA", - "ADeD DeDA", - "ADeD DeDA", - "ADeD DeDA", - "ADeD DeDA", - " ADeD DeDA ", - " ADeD DeDA ", - " cDeD DeDc ", - " cDeD DeDc ", - " cDeDDbJ~JbDDeDc ", - " cDeeDDDDDeeDc ", - " cDDeeeeeDDc " - }, - { - " A A A ", - " AAAAAAA ", - " bbbbIIIbbbb ", - " bAAAAAAAAAAAb ", - " bAAAA AAAAb ", - " bAAA AAAb ", - " bAAA AAAb ", - " bAA AAb ", - " AbAA AAbA ", - "AAbA AbAA", - " AIA AIA ", - "AAIA AIAA", - " AIA AIA ", - "AAbA AbAA", - " AbAA AAbA ", - " bAA AAb ", - " bAAA AAAb ", - " bAAA AAAb ", - " bAAAAbJJJbAAAAb ", - " bAHHbbbbbHHAb ", - " bbbbGFGbbbb " - } - })) - .addShape("tier2", transpose(new String[][] { - { - " A A A ", - " AAAAAAA ", - " BBBBIIIBBBB ", - " BAAAAAAAAAAAB ", - " BAAAA AAAAB ", - " BAAA AAAB ", - " BAAA AAAB ", - " BAA AAB ", - " ABAA AABA ", - "AABA ABAA", - " AIA AIA ", - "AAIA AIAA", - " AIA AIA ", - "AABA ABAA", - " ABAA AABA ", - " BAA AAB ", - " BAAA AAAB ", - " BAAA AAAB ", - " BAAAABJJJBAAAAB ", - " BAHHBBBBBHHAB ", - " BBBBGFGBBBB " - }, - { - " AAAAA ", - " AADDDDDAA ", - " CDDEEEEEDDC ", - " CDEEDDDDDEEDC ", - " CDEDD DDEDC ", - " CDED DEDC ", - " CDED DEDC ", - " ADED DEDA ", - " ADED DEDA ", - "ADED DEDA", - "ADED DEDA", - "ADED DEDA", - "ADED DEDA", - "ADED DEDA", - " ADED DEDA ", - " ADED DEDA ", - " CDED DEDC ", - " CDED DEDC ", - " CDEDDBJ~JBDDEDC ", - " CDEEDDDDDEEDC ", - " CDDEEEEEDDC " - }, - { - " A A A ", - " AAAAAAA ", - " BBBBIIIBBBB ", - " BAAAAAAAAAAAB ", - " BAAAA AAAAB ", - " BAAA AAAB ", - " BAAA AAAB ", - " BAA AAB ", - " ABAA AABA ", - "AABA ABAA", - " AIA AIA ", - "AAIA AIAA", - " AIA AIA ", - "AABA ABAA", - " ABAA AABA ", - " BAA AAB ", - " BAAA AAAB ", - " BAAA AAAB ", - " BAAAABJJJBAAAAB ", - " BAHHBBBBBHHAB ", - " BBBBGFGBBBB " - } - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('b', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('c', ofBlock(sBlockCasingsTT, 4)) - .addElement('C', ofBlock(sBlockCasingsTT, 6)) - .addElement('D', ofBlock(sBlockCasingsTT, 7)) - .addElement('e', ofBlock(sBlockCasingsTT, 8)) - .addElement('E', ofBlock(sBlockCasingsTT, 9)) - .addElement('I', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement( - 'J', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_collider::addClassicToMachineList, - textureOffset, - 1, - sBlockCasingsTT, - 0)) - .addElement( - 'H', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_collider::addElementalInputToMachineList, - textureOffset + 4, - 2, - sBlockCasingsTT, - 4)) - .addElement( - 'F', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_collider::addElementalOutputToMachineList, - textureOffset + 4, - 3, - sBlockCasingsTT, - 4)) - .addElement( - 'G', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_collider::addElementalMufflerToMachineList, - textureOffset + 4, - 4, - sBlockCasingsTT, - 4)) - .build(); + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("tier1", transpose(new String[][]{ + {" A A A ", " AAAAAAA ", " bbbbIIIbbbb ", " bAAAAAAAAAAAb ", " bAAAA AAAAb ", " bAAA AAAb ", " bAAA AAAb ", " bAA AAb ", " AbAA AAbA ", "AAbA AbAA", " AIA AIA ", "AAIA AIAA", " AIA AIA ", "AAbA AbAA", " AbAA AAbA ", " bAA AAb ", " bAAA AAAb ", " bAAA AAAb ", " bAAAAbJJJbAAAAb ", " bAHHbbbbbHHAb ", " bbbbGFGbbbb "}, + {" AAAAA ", " AADDDDDAA ", " cDDeeeeeDDc ", " cDeeDDDDDeeDc ", " cDeDD DDeDc ", " cDeD DeDc ", " cDeD DeDc ", " ADeD DeDA ", " ADeD DeDA ", "ADeD DeDA", "ADeD DeDA", "ADeD DeDA", "ADeD DeDA", "ADeD DeDA", " ADeD DeDA ", " ADeD DeDA ", " cDeD DeDc ", " cDeD DeDc ", " cDeDDbJ~JbDDeDc ", " cDeeDDDDDeeDc ", " cDDeeeeeDDc "}, + {" A A A ", " AAAAAAA ", " bbbbIIIbbbb ", " bAAAAAAAAAAAb ", " bAAAA AAAAb ", " bAAA AAAb ", " bAAA AAAb ", " bAA AAb ", " AbAA AAbA ", "AAbA AbAA", " AIA AIA ", "AAIA AIAA", " AIA AIA ", "AAbA AbAA", " AbAA AAbA ", " bAA AAb ", " bAAA AAAb ", " bAAA AAAb ", " bAAAAbJJJbAAAAb ", " bAHHbbbbbHHAb ", " bbbbGFGbbbb "} + })) + .addShape("tier2", transpose(new String[][]{ + {" A A A ", " AAAAAAA ", " BBBBIIIBBBB ", " BAAAAAAAAAAAB ", " BAAAA AAAAB ", " BAAA AAAB ", " BAAA AAAB ", " BAA AAB ", " ABAA AABA ", "AABA ABAA", " AIA AIA ", "AAIA AIAA", " AIA AIA ", "AABA ABAA", " ABAA AABA ", " BAA AAB ", " BAAA AAAB ", " BAAA AAAB ", " BAAAABJJJBAAAAB ", " BAHHBBBBBHHAB ", " BBBBGFGBBBB "}, + {" AAAAA ", " AADDDDDAA ", " CDDEEEEEDDC ", " CDEEDDDDDEEDC ", " CDEDD DDEDC ", " CDED DEDC ", " CDED DEDC ", " ADED DEDA ", " ADED DEDA ", "ADED DEDA", "ADED DEDA", "ADED DEDA", "ADED DEDA", "ADED DEDA", " ADED DEDA ", " ADED DEDA ", " CDED DEDC ", " CDED DEDC ", " CDEDDBJ~JBDDEDC ", " CDEEDDDDDEEDC ", " CDDEEEEEDDC "}, + {" A A A ", " AAAAAAA ", " BBBBIIIBBBB ", " BAAAAAAAAAAAB ", " BAAAA AAAAB ", " BAAA AAAB ", " BAAA AAAB ", " BAA AAB ", " ABAA AABA ", "AABA ABAA", " AIA AIA ", "AAIA AIAA", " AIA AIA ", "AABA ABAA", " ABAA AABA ", " BAA AAB ", " BAAA AAAB ", " BAAA AAAB ", " BAAAABJJJBAAAAB ", " BAHHBBBBBHHAB ", " BBBBGFGBBBB "} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('b', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement('c', ofBlock(sBlockCasingsTT, 4)) + .addElement('C', ofBlock(sBlockCasingsTT, 6)) + .addElement('D', ofBlock(sBlockCasingsTT, 7)) + .addElement('e', ofBlock(sBlockCasingsTT, 8)) + .addElement('E', ofBlock(sBlockCasingsTT, 9)) + .addElement('I', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement('J', ofHatchAdderOptional(GT_MetaTileEntity_EM_collider::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) + .addElement('H', ofHatchAdderOptional(GT_MetaTileEntity_EM_collider::addElementalInputToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) + .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_collider::addElementalOutputToMachineList, textureOffset + 4, 3, sBlockCasingsTT, 4)) + .addElement('G', ofHatchAdderOptional(GT_MetaTileEntity_EM_collider::addElementalMufflerToMachineList, textureOffset + 4, 4, sBlockCasingsTT, 4)) + .build(); @Override public IStructureDefinition getStructure_EM() { return STRUCTURE_DEFINITION; } - // endregion + //endregion public GT_MetaTileEntity_EM_collider(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -537,72 +348,65 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB } public static void setValues(int heliumPlasmaValue) { - double MASS_TO_EU_PARTIAL = - heliumPlasmaValue / (1.75893000478707E07 * EM_COUNT_PER_MATERIAL_AMOUNT); // mass diff + double MASS_TO_EU_PARTIAL = heliumPlasmaValue / (1.75893000478707E07 * EM_COUNT_PER_MATERIAL_AMOUNT);//mass diff MASS_TO_EU_INSTANT = MASS_TO_EU_PARTIAL * 20; STARTUP_COST = -heliumPlasmaValue * 10000; KEEPUP_COST = -heliumPlasmaValue; } - protected double fuse(GT_MetaTileEntity_EM_collider partner) { // /CAN MAKE EU - if (partner.stack != null && stack != null) { // todo add single event mode as an option - boolean check = stack.getDefinition().fusionMakesEnergy(stack.getEnergy()) - && partner.stack.getDefinition().fusionMakesEnergy(partner.stack.getEnergy()); + protected double fuse(GT_MetaTileEntity_EM_collider partner) {///CAN MAKE EU + if (partner.stack != null && stack != null) {//todo add single event mode as an option + boolean check = stack.getDefinition().fusionMakesEnergy(stack.getEnergy()) && + partner.stack.getDefinition().fusionMakesEnergy(partner.stack.getEnergy()); - EMInstanceStack stack2 = partner.stack; - double preMass = add(stack2.getMass(), stack.getMass()); - // System.out.println("preMass = " + preMass); + EMInstanceStack stack2 = partner.stack; + double preMass = add(stack2.getMass(), stack.getMass()); + //System.out.println("preMass = " + preMass); EMInstanceStackMap map = new EMInstanceStackMap(); - IColliderHandler colliderHandler; - if (stack2.getDefinition().getMatterMassType() - > stack.getDefinition().getMatterMassType()) { // always bigger first - colliderHandler = FUSE_HANDLERS.get((stack2.getDefinition().getMatterMassType() << 16) - | stack.getDefinition().getMatterMassType()); + IColliderHandler colliderHandler; + if (stack2.getDefinition().getMatterMassType() > stack.getDefinition().getMatterMassType()) {//always bigger first + colliderHandler = FUSE_HANDLERS.get((stack2.getDefinition().getMatterMassType() << 16) | stack.getDefinition().getMatterMassType()); if (handleRecipe(stack2, map, colliderHandler)) return 0; } else { - colliderHandler = FUSE_HANDLERS.get((stack.getDefinition().getMatterMassType() << 16) - | stack2.getDefinition().getMatterMassType()); + colliderHandler = FUSE_HANDLERS.get((stack.getDefinition().getMatterMassType() << 16) | stack2.getDefinition().getMatterMassType()); if (handleRecipe(stack2, map, colliderHandler)) return 0; } for (EMInstanceStack newStack : map.valuesToArray()) { check &= newStack.getDefinition().fusionMakesEnergy(newStack.getEnergy()); } - // System.out.println("outputEM[0].getMass() = " + outputEM[0].getMass()); - outputEM = new EMInstanceStackMap[] {map}; + //System.out.println("outputEM[0].getMass() = " + outputEM[0].getMass()); + outputEM = new EMInstanceStackMap[]{map}; partner.stack = stack = null; - // System.out.println("check = " + check); - // System.out.println("preMass-map.getMass() = " + (preMass - map.getMass())); + //System.out.println("check = " + check); + //System.out.println("preMass-map.getMass() = " + (preMass - map.getMass())); return check ? preMass - map.getMass() : Math.min(preMass - map.getMass(), 0); } return 0; } - protected double collide(GT_MetaTileEntity_EM_collider partner) { // DOES NOT MAKE EU! - if (partner.stack != null && stack != null) { // todo add single event mode as an option - EMInstanceStack stack2 = partner.stack; - double preMass = stack2.getMass() + stack.getMass(); - // System.out.println("preMass = " + preMass); + protected double collide(GT_MetaTileEntity_EM_collider partner) {//DOES NOT MAKE EU! + if (partner.stack != null && stack != null) {//todo add single event mode as an option + EMInstanceStack stack2 = partner.stack; + double preMass = stack2.getMass() + stack.getMass(); + //System.out.println("preMass = " + preMass); EMInstanceStackMap map = new EMInstanceStackMap(); - IColliderHandler colliderHandler; - if (stack2.getDefinition().getMatterMassType() - > stack.getDefinition().getMatterMassType()) { // always bigger first - colliderHandler = FUSE_HANDLERS.get((stack2.getDefinition().getMatterMassType() << 16) - | stack.getDefinition().getMatterMassType()); + IColliderHandler colliderHandler; + if (stack2.getDefinition().getMatterMassType() > stack.getDefinition().getMatterMassType()) {//always bigger first + colliderHandler = FUSE_HANDLERS.get((stack2.getDefinition().getMatterMassType() << 16) | stack.getDefinition().getMatterMassType()); if (handleRecipe(stack2, map, colliderHandler)) return 0; } else { - colliderHandler = FUSE_HANDLERS.get((stack.getDefinition().getMatterMassType() << 16) - | stack2.getDefinition().getMatterMassType()); + colliderHandler = FUSE_HANDLERS.get((stack.getDefinition().getMatterMassType() << 16) | stack2.getDefinition().getMatterMassType()); if (handleRecipe(stack2, map, colliderHandler)) return 0; } - // System.out.println("outputEM[0].getMass() = " + outputEM[0].getMass()); - outputEM = new EMInstanceStackMap[] {map}; + //System.out.println("outputEM[0].getMass() = " + outputEM[0].getMass()); + outputEM = new EMInstanceStackMap[]{map}; partner.stack = stack = null; - // System.out.println("check = " + check); - // System.out.println("preMass-map.getMass() = " + (preMass - map.getMass())); + //System.out.println("check = " + check); + //System.out.println("preMass-map.getMass() = " + (preMass - map.getMass())); return Math.min(preMass - map.getMass(), 0); } return 0; @@ -613,25 +417,24 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB colliderHandler.collide(stack2, stack, map); } else { map.putUnifyAll(stack, stack2); - outputEM = new EMInstanceStackMap[] {map}; + outputEM = new EMInstanceStackMap[]{map}; return true; } return false; } protected GT_MetaTileEntity_EM_collider getPartner() { - IGregTechTileEntity iGregTechTileEntity = getBaseMetaTileEntity(); - int xDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetX * 4; - int yDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetY * 4; - int zDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetZ * 4; + IGregTechTileEntity iGregTechTileEntity = getBaseMetaTileEntity(); + int xDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetX * 4; + int yDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetY * 4; + int zDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetZ * 4; IGregTechTileEntity gregTechBaseTileEntity = iGregTechTileEntity.getIGregTechTileEntityOffset(xDir, yDir, zDir); if (gregTechBaseTileEntity != null) { IMetaTileEntity gregTechMetaTileEntity = gregTechBaseTileEntity.getMetaTileEntity(); - return gregTechMetaTileEntity instanceof GT_MetaTileEntity_EM_collider - && ((GT_MetaTileEntity_EM_collider) gregTechMetaTileEntity).mMachine - && gregTechBaseTileEntity.getBackFacing() == iGregTechTileEntity.getFrontFacing() - ? (GT_MetaTileEntity_EM_collider) gregTechMetaTileEntity - : null; + return gregTechMetaTileEntity instanceof GT_MetaTileEntity_EM_collider && + ((GT_MetaTileEntity_EM_collider) gregTechMetaTileEntity).mMachine && + gregTechBaseTileEntity.getBackFacing() == iGregTechTileEntity.getFrontFacing() ? + (GT_MetaTileEntity_EM_collider) gregTechMetaTileEntity : null; } return null; } @@ -657,9 +460,7 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB stack.nextColor(); return null; } else { - stack = newInstances - .getOutput() - .removeKey(newInstances.getOutput().getLast().getDefinition()); + stack = newInstances.getOutput().removeKey(newInstances.getOutput().getLast().getDefinition()); return newInstances.getOutput(); } } @@ -686,7 +487,7 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB eTier = 0; return false; } - if (structureCheck_EM("tier" + eTier, 11, 1, 18)) { + if (structureCheck_EM("tier"+eTier, 11, 1, 18)) { return true; } eTier = 0; @@ -708,12 +509,7 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB continue; } stack = container.removeKey(container.getFirst().getDefinition()); - long eut = KEEPUP_COST - + (long) (KEEPUP_COST - * Math.abs(stack.getMass() - / EMAtomDefinition.getSomethingHeavy() - .getMass())) - / 2; + long eut = KEEPUP_COST + (long) (KEEPUP_COST * Math.abs(stack.getMass() / EMAtomDefinition.getSomethingHeavy().getMass())) / 2; if (eut < Integer.MIN_VALUE + 7) { return false; } @@ -755,7 +551,7 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB makeEU(fuse(partner)); break; case COLLIDE_MODE: - collide(partner); // todo + collide(partner);//todo break; default: { outputEM = new EMInstanceStackMap[2]; @@ -784,45 +580,20 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.em.collider.name")) // Machine Type: Matter Collider - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.collider.desc.0")) // Controller block of the Matter Collider - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.collider.desc.1")) // This machine needs a mirrored - // copy of it to work - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.collider.desc.2")) // One needs to be set to 'Fuse - // Mode' and the other to 'Collide - // Mode' - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.collider.desc.3")) // Fuses two elemental matter to - // create another (and power) + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.collider.name")) // Machine Type: Matter Collider + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.collider.desc.0")) // Controller block of the Matter Collider + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.collider.desc.1")) // This machine needs a mirrored copy of it to work + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.collider.desc.2")) // One needs to be set to 'Fuse Mode' and the other to 'Collide Mode' + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.collider.desc.3")) // Fuses two elemental matter to create another (and power) .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(21, 3, 23, false) - .addOtherStructurePart( - translateToLocal("gt.blockmachines.multimachine.em.collider.name"), - translateToLocal("gt.blockmachines.multimachine.em.collider.Structure.AdditionalCollider"), - 2) // Matter Collider: Needs another Matter Collider that is mirrored to this one - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.ElementalInput"), - translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), - 2) // Elemental Input Hatch: Any Molecular Casing with 2 dots - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.ElementalOutput"), - translateToLocal("tt.keyword.Structure.AnyMolecularCasing3D"), - 2) // Elemental Output Hatch: Any Molecular Casing with 3 dots - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.ElementalOverflow"), - translateToLocal("tt.keyword.Structure.AnyMolecularCasing4D"), - 2) // Elemental Overflow Hatch: Any Molecular Casing with 4 dots - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart(translateToLocal("gt.blockmachines.multimachine.em.collider.name"), translateToLocal("gt.blockmachines.multimachine.em.collider.Structure.AdditionalCollider"), 2) // Matter Collider: Needs another Matter Collider that is mirrored to this one + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalInput"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), 2) // Elemental Input Hatch: Any Molecular Casing with 2 dots + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOutput"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing3D"), 2) // Elemental Output Hatch: Any Molecular Casing with 3 dots + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOverflow"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing4D"), 2) // Elemental Overflow Hatch: Any Molecular Casing with 4 dots + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -838,27 +609,15 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { + public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { if (aSide == aFacing) { if (aFacing % 2 == 0) { - return new ITexture[] { - Textures.BlockIcons.casingTexturePages[texturePage][4], - new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) - }; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][4], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; } else { - return new ITexture[] { - Textures.BlockIcons.casingTexturePages[texturePage][4], - new TT_RenderedExtendedFacingTexture(aActive ? ScreenON_Slave : ScreenOFF_Slave) - }; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][4], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON_Slave : ScreenOFF_Slave)}; } } - return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][4]}; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][4]}; } @Override @@ -877,7 +636,7 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB @Override public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); - aNBT.setByte("eTier", eTier); // collider tier + aNBT.setByte("eTier", eTier);//collider tier aNBT.setBoolean("eStarted", started); if (stack != null) { aNBT.setTag("eStack", stack.toNBT(TecTech.definitionsRegistry)); @@ -888,7 +647,7 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB @Override public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); - eTier = aNBT.getByte("eTier"); // collider tier + eTier = aNBT.getByte("eTier");//collider tier started = aNBT.getBoolean("eStarted"); if (aNBT.hasKey("eStack")) { stack = EMInstanceStack.fromNBT(TecTech.definitionsRegistry, aNBT.getCompoundTag("eStack")); @@ -928,19 +687,17 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB @Override public void construct(ItemStack trigger, boolean hintsOnly) { IGregTechTileEntity iGregTechTileEntity = getBaseMetaTileEntity(); - int xDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetX * 4; - int yDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetY * 4; - int zDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetZ * 4; + int xDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetX * 4; + int yDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetY * 4; + int zDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetZ * 4; if (hintsOnly) { - StructureLibAPI.hintParticle( - iGregTechTileEntity.getWorld(), + StructureLibAPI.hintParticle(iGregTechTileEntity.getWorld(), iGregTechTileEntity.getXCoord() + xDir, iGregTechTileEntity.getYCoord() + yDir, iGregTechTileEntity.getZCoord() + zDir, - StructureLibAPI.getBlockHint(), - 12); + StructureLibAPI.getBlockHint(), 12); } - structureBuild_EM("tier" + (((trigger.stackSize - 1) % 2) + 1), 11, 1, 18, trigger, hintsOnly); + structureBuild_EM("tier"+(((trigger.stackSize-1)%2)+1), 11, 1, 18, trigger, hintsOnly); } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Centrifuge.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Centrifuge.java index 9b02645de6..e6e618a31c 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Centrifuge.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Centrifuge.java @@ -1,11 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.em_machine; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.github.technus.tectech.util.DoubleCount.*; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; @@ -14,8 +8,15 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.INameFunction; import com.github.technus.tectech.thing.metaTileEntity.multi.base.IStatusFunction; import com.github.technus.tectech.thing.metaTileEntity.multi.base.MultiblockControl; import com.github.technus.tectech.thing.metaTileEntity.multi.base.Parameters; + import java.util.Arrays; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.github.technus.tectech.util.DoubleCount.*; + /** * Created by danie_000 on 24.12.2017. */ @@ -27,76 +28,55 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav private final double maxForce; private final double maxCapacity; private Parameters.Group.ParameterIn settingRPM, settingFraction; - private static final INameFunction rpmName = - (gt_metaTileEntity_em_machine, iParameter) -> "RPM Setting"; - private final IStatusFunction rpmStatus = - (gt_metaTileEntity_em_machine, iParameter) -> { - double v = iParameter.get(); - if (Double.isNaN(v)) { - return STATUS_WRONG; - } - if (v <= 0) { - return STATUS_TOO_LOW; - } else if (v > maxRPM) { - return STATUS_TOO_HIGH; - } - return STATUS_OK; - }; - private static final INameFunction fractionName = - (gt_metaTileEntity_em_machine, iParameter) -> "Fraction Count"; - private static final IStatusFunction fractionStatus = - (gt_metaTileEntity_em_machine, iParameter) -> { - double v = iParameter.get(); - if (Double.isNaN(v)) { - return STATUS_WRONG; - } - v = (int) v; - if (v <= 1) { - return STATUS_TOO_LOW; - } else if (v > 6) { - return STATUS_TOO_HIGH; - } - return STATUS_OK; - }; - // private final static String[] DESCRIPTION_O =new String[]{"RPM Setting","RCF Setting","Radius [mm]","Max - // RPM","Max Force [eV/c^2 * m/s]","Max Capacity [eV/c^2]","Max Power Usage[EU/t]","Max Recipe Rime [tick]"}; - - private static final double[ /*tier+5*/][ /*outputHatches+2*/] MIXING_FACTORS = new double[][] { - { - .45, .85, .95, 1, 1, - }, - { - .4, .75, .9, .95, 1, - }, - { - .35, .45, .75, .9, .95, - }, - { - .25, .3, .45, .75, .9, - }, - { - .2, .25, .3, .45, .75, - }, - { - .1, .15, .2, .3, .45, - }, - { - .05, .1, .15, .2, .25, - }, - { - .01, .05, .1, .15, .2, - }, + private final static INameFunction rpmName= (gt_metaTileEntity_em_machine, iParameter) -> "RPM Setting"; + private final IStatusFunction rpmStatus= (gt_metaTileEntity_em_machine, iParameter) -> { + double v=iParameter.get(); + if(Double.isNaN(v)){ + return STATUS_WRONG; + } + if (v <=0) { + return STATUS_TOO_LOW; + }else if (v>maxRPM){ + return STATUS_TOO_HIGH; + } + return STATUS_OK; + }; + private final static INameFunction fractionName= (gt_metaTileEntity_em_machine, iParameter) -> "Fraction Count"; + private static final IStatusFunction fractionStatus= (gt_metaTileEntity_em_machine, iParameter) -> { + double v=iParameter.get(); + if(Double.isNaN(v)){ + return STATUS_WRONG; + } + v=(int)v; + if (v <= 1) { + return STATUS_TOO_LOW; + }else if (v>6){ + return STATUS_TOO_HIGH; + } + return STATUS_OK; + }; + //private final static String[] DESCRIPTION_O =new String[]{"RPM Setting","RCF Setting","Radius [mm]","Max RPM","Max Force [eV/c^2 * m/s]","Max Capacity [eV/c^2]","Max Power Usage[EU/t]","Max Recipe Rime [tick]"}; + + private static final double[/*tier+5*/][/*outputHatches+2*/] MIXING_FACTORS =new double[][]{ + {.45,.85,.95,1,1,}, + {.4 ,.75,.9,.95,1,}, + {.35,.45,.75,.9,.95,}, + {.25,.3,.45,.75,.9,}, + {.2,.25,.3,.45,.75,}, + {.1,.15,.2,.3,.45,}, + {.05,.1,.15,.2,.25,}, + {.01,.05,.1,.15,.2,}, }; - // 6 to 12 recommended + //6 to 12 recommended public Behaviour_Centrifuge(int desiredTier) { tier = (byte) desiredTier; radius = 0.5D - (12D - tier) / 64D; maxRCF = Math.pow(Math.E, tier) * 12D; maxRPM = Math.sqrt(maxRCF / (0.001118D * radius)); double maxSafeMass = EMAtomDefinition.getSomethingHeavy().getMass() * (1 << tier); - maxForce = maxSafeMass * maxRCF; // (eV/c^2 * m/s) / g - maxCapacity = maxSafeMass * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * radius; // eV/c^2 + maxForce = maxSafeMass * maxRCF;// (eV/c^2 * m/s) / g + maxCapacity = maxSafeMass * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * radius;// eV/c^2 } private double getRCF(double RPM) { @@ -104,26 +84,26 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav } private void addRandomly(EMInstanceStack me, EMInstanceStackMap[] toThis, int fractionCount) { - double amountPerFraction = div(me.getAmount(), fractionCount); - EMInstanceStack[] stacks = new EMInstanceStack[fractionCount]; + double amountPerFraction = div(me.getAmount(),fractionCount); + EMInstanceStack[] stacks = new EMInstanceStack[fractionCount]; for (int i = 0; i < fractionCount; i++) { stacks[i] = me.clone(); stacks[i].setAmount(amountPerFraction); toThis[i].putReplace(stacks[i]); } - // int remainingAmount = (int) (me.amount % fractionCount); - // while (remainingAmount > 0) { + //int remainingAmount = (int) (me.amount % fractionCount); + //while (remainingAmount > 0) { // int amountToAdd = TecTech.RANDOM.nextInt(remainingAmount) + 1; // stacks[TecTech.RANDOM.nextInt(fractionCount)].amount += amountToAdd; // remainingAmount -= amountToAdd; - // } + //} } @Override public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) { - Parameters.Group hatch1 = parameters.getGroup(7); - settingRPM = hatch1.makeInParameter(0, 0, rpmName, rpmStatus); - settingFraction = hatch1.makeInParameter(1, 2, fractionName, fractionStatus); + Parameters.Group hatch1=parameters.getGroup(7); + settingRPM=hatch1.makeInParameter(0,0,rpmName,rpmStatus); + settingFraction=hatch1.makeInParameter(1,2,fractionName,fractionStatus); } @Override @@ -132,10 +112,9 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav } @Override - public MultiblockControl process( - EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { + public MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { EMInstanceStackMap input = inputs[0]; - if (input == null || input.isEmpty()) return null; // nothing in only valid input + if (input == null || input.isEmpty()) return null;//nothing in only valid input EMInstanceStack[] stacks = input.valuesToArray(); @@ -145,9 +124,9 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav } double excessMass = 0; while (inputMass > maxCapacity) { - EMInstanceStack randomStack = stacks[TecTech.RANDOM.nextInt(stacks.length)]; - double amountToRemove = TecTech.RANDOM.nextDouble() / 10D * randomStack.getAmount(); - randomStack.setAmount(sub(randomStack.getAmount(), amountToRemove)); // mutates the parent InstanceStackMap + EMInstanceStack randomStack = stacks[TecTech.RANDOM.nextInt(stacks.length)]; + double amountToRemove = TecTech.RANDOM.nextDouble()/10D * randomStack.getAmount(); + randomStack.setAmount(sub(randomStack.getAmount(),amountToRemove));//mutates the parent InstanceStackMap if (randomStack.isInvalidAmount()) { input.removeKey(randomStack.getDefinition()); stacks = input.valuesToArray(); @@ -160,29 +139,30 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav inputMass = Math.abs(input.getMass()); double RCF = getRCF(settingRPM.get()); - if (inputMass * RCF > maxForce) return new MultiblockControl<>(excessMass); // AND THEN IT EXPLODES + if (inputMass * RCF > maxForce) return new MultiblockControl<>(excessMass);//AND THEN IT EXPLODES // how many output hatches to use - int fractionCount = (int) settingFraction.get(); - EMInstanceStackMap[] outputs = new EMInstanceStackMap[fractionCount]; + int fractionCount = (int) settingFraction.get(); + EMInstanceStackMap[] outputs = new EMInstanceStackMap[fractionCount]; for (int i = 0; i < fractionCount; i++) { outputs[i] = new EMInstanceStackMap(); } - // mixing factor... - double mixingFactor = Math.min(1d - (RCF / maxRCF) * (1d - MIXING_FACTORS[tier - 5][fractionCount - 2]), 1); - if (DEBUG_MODE) { - TecTech.LOGGER.info("mixingFactor " + mixingFactor); + //mixing factor... + double mixingFactor=Math.min(1d-(RCF/maxRCF)*(1d-MIXING_FACTORS[tier-5][fractionCount-2]),1); + if(DEBUG_MODE){ + TecTech.LOGGER.info("mixingFactor "+mixingFactor); } int mEut = (int) (Math.pow(settingRPM.get() / maxRPM, 3D) * V[tier]); mEut = Math.max(mEut, 512); mEut = -mEut; int mTicks = (int) (20 * (inputMass / maxCapacity) * (fractionCount - 1)); - mTicks = Math.max(mTicks, 20); + mTicks=Math.max(mTicks,20); + - // take all from hatch handler and put into new map - this takes from hatch to inner data storage - stacks = input.takeAll().valuesToArray(); // cleanup stacks + //take all from hatch handler and put into new map - this takes from hatch to inner data storage + stacks = input.takeAll().valuesToArray();//cleanup stacks if (stacks.length > 1) { Arrays.sort(stacks, (o1, o2) -> { double m1 = o1.getDefinition().getMass(); @@ -192,23 +172,23 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav return o1.compareTo(o2); }); - double absMassPerOutput = 0; // "volume" + double absMassPerOutput = 0;//"volume" for (EMInstanceStack stack : stacks) { - double tempMass = Math.abs(stack.getMass()); - if (tempMass != 0) { + double tempMass=Math.abs(stack.getMass()); + if(tempMass!=0) { double amount = stack.getAmount(); - stack.setAmount(mul(stack.getAmount(), mixingFactor)); + stack.setAmount(mul(stack.getAmount(),mixingFactor)); addRandomly(stack, outputs, fractionCount); stack.setAmount(sub(amount, stack.getAmount())); absMassPerOutput += tempMass; } } - // if(DEBUG_MODE){ + //if(DEBUG_MODE){ // TecTech.LOGGER.info("absMass "+absMassPerOutput); - // } - absMassPerOutput = div(absMassPerOutput, fractionCount); - if (DEBUG_MODE) { - TecTech.LOGGER.info("absMassPerOutput " + absMassPerOutput); + //} + absMassPerOutput = div(absMassPerOutput,fractionCount); + if(DEBUG_MODE){ + TecTech.LOGGER.info("absMassPerOutput "+absMassPerOutput); } nextFraction: @@ -217,41 +197,37 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav for (int stackNo = 0; stackNo < stacks.length; stackNo++) { if (stacks[stackNo] != null) { double stackMass = Math.abs(stacks[stackNo].getMass()); - double amount = div( - remaining, - Math.abs(stacks[stackNo].getDefinition().getMass())); - // if(DEBUG_MODE){ + double amount = div(remaining,Math.abs(stacks[stackNo].getDefinition().getMass())); + //if(DEBUG_MODE){ // TecTech.LOGGER.info("stackMass "+stackMass); // TecTech.LOGGER.info("defMass "+stacks[stackNo].definition.getMass()); // TecTech.LOGGER.info("remaining "+remaining); // TecTech.LOGGER.info("amountToMoveAvailable "+amount+"/"+stacks[stackNo].amount); - // } + //} if (stackMass == 0) { addRandomly(stacks[stackNo], outputs, fractionCount); stacks[stackNo] = null; } else if (amount >= stacks[stackNo].getAmount()) { - remaining = sub(remaining, stackMass); + remaining= sub(remaining,stackMass); outputs[fraction].putUnify(stacks[stackNo]); stacks[stackNo] = null; } else if (amount > 0) { - remaining = sub( - remaining, - mul(amount, stacks[stackNo].getDefinition().getMass())); + remaining= sub(remaining, mul(amount, stacks[stackNo].getDefinition().getMass())); EMInstanceStack clone = stacks[stackNo].clone(); clone.setAmount(amount); outputs[fraction].putUnify(clone); - stacks[stackNo].setAmount(sub(stacks[stackNo].getAmount(), amount)); - // if(DEBUG_MODE){ + stacks[stackNo].setAmount(sub(stacks[stackNo].getAmount(),amount)); + //if(DEBUG_MODE){ // TecTech.LOGGER.info("remainingAfter "+remaining); // TecTech.LOGGER.info("amountCloneAfter "+clone.amount+"/"+stacks[stackNo].amount); - // } + //} } else { continue nextFraction; } } } } - // add remaining + //add remaining for (EMInstanceStack stack : stacks) { if (stack != null) { outputs[fractionCount - 1].putUnify(stack); diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Electrolyzer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Electrolyzer.java index 0bff2797a3..4c95c2acd7 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Electrolyzer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Electrolyzer.java @@ -9,13 +9,14 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.Parameters; */ public class Behaviour_Electrolyzer implements GT_MetaTileEntity_EM_machine.IBehaviour { final int tier; - - public Behaviour_Electrolyzer(int tier) { - this.tier = tier; + public Behaviour_Electrolyzer(int tier){ + this.tier=tier; } @Override - public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) {} + public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) { + + } @Override public boolean checkParametersInAndSetStatuses(GT_MetaTileEntity_EM_machine te, Parameters parameters) { @@ -23,8 +24,7 @@ public class Behaviour_Electrolyzer implements GT_MetaTileEntity_EM_machine.IBeh } @Override - public MultiblockControl process( - EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { + public MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { return null; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_ElectromagneticSeparator.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_ElectromagneticSeparator.java index bd8d0d0b7a..3d1259f808 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_ElectromagneticSeparator.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_ElectromagneticSeparator.java @@ -1,11 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.em_machine; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.github.technus.tectech.util.DoubleCount.mul; -import static com.github.technus.tectech.util.DoubleCount.sub; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; @@ -15,150 +9,143 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.IStatusFunctio import com.github.technus.tectech.thing.metaTileEntity.multi.base.MultiblockControl; import com.github.technus.tectech.thing.metaTileEntity.multi.base.Parameters; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.github.technus.tectech.util.DoubleCount.mul; +import static com.github.technus.tectech.util.DoubleCount.sub; + /** * Created by danie_000 on 24.12.2017. */ public class Behaviour_ElectromagneticSeparator implements GT_MetaTileEntity_EM_machine.IBehaviour { private final byte tier; private int ticks; - private byte precisionFull, precisionMinimal; + private byte precisionFull,precisionMinimal; private double maxCapacity; private double maxCharge; private int offsetMax; - private Parameters.Group.ParameterIn fullSetting, minimalSetting, offsetSetting; - private static final INameFunction fullName = - (gt_metaTileEntity_em_machine, iParameter) -> "Full Precision Input [e/3]"; - private final IStatusFunction fullStatus = - (gt_metaTileEntity_em_machine, iParameter) -> { - double v = iParameter.get(); - if (Double.isNaN(v)) { - return STATUS_WRONG; - } - v = (int) v; - if (Double.isInfinite(v) && v > 0) { - return STATUS_TOO_HIGH; - } else if (v > precisionFull) { - return STATUS_HIGH; - } else if (v < precisionFull) { - return STATUS_TOO_LOW; - } + private Parameters.Group.ParameterIn fullSetting,minimalSetting,offsetSetting; + private final static INameFunction fullName= (gt_metaTileEntity_em_machine, iParameter) -> "Full Precision Input [e/3]"; + private final IStatusFunction fullStatus= (gt_metaTileEntity_em_machine, iParameter) -> { + double v=iParameter.get(); + if(Double.isNaN(v)){ + return STATUS_WRONG; + } + v=(int)v; + if(Double.isInfinite(v) && v>0) { + return STATUS_TOO_HIGH; + }else if(v>precisionFull){ + return STATUS_HIGH; + }else if(v minimalName= (gt_metaTileEntity_em_machine, iParameter) -> "Minimal Precision Input [e/3]"; + private final IStatusFunction minimalStatus= (gt_metaTileEntity_em_machine, iParameter) -> { + double minimal=iParameter.get(); + double full=fullSetting.get(); + if(Double.isInfinite(minimal) && minimal>0) { + return STATUS_TOO_HIGH; + }else if(minimal>precisionMinimal){ + if(minimal>full){ + return STATUS_TOO_HIGH; + }else { + return STATUS_HIGH; + } + }else if(minimal==precisionMinimal){ + if(minimal>full){ + return STATUS_TOO_HIGH; + }else { return STATUS_OK; - }; - private static final INameFunction minimalName = - (gt_metaTileEntity_em_machine, iParameter) -> "Minimal Precision Input [e/3]"; - private final IStatusFunction minimalStatus = - (gt_metaTileEntity_em_machine, iParameter) -> { - double minimal = iParameter.get(); - double full = fullSetting.get(); - if (Double.isInfinite(minimal) && minimal > 0) { - return STATUS_TOO_HIGH; - } else if (minimal > precisionMinimal) { - if (minimal > full) { - return STATUS_TOO_HIGH; - } else { - return STATUS_HIGH; - } - } else if (minimal == precisionMinimal) { - if (minimal > full) { - return STATUS_TOO_HIGH; - } else { - return STATUS_OK; - } - } else if (minimal < precisionMinimal) { - return STATUS_TOO_LOW; - } else { - return STATUS_WRONG; - } - }; - private static final INameFunction offsetName = - (gt_metaTileEntity_em_machine, iParameter) -> "Offset Input [e/3]"; - private final IStatusFunction offsetStatus = - (gt_metaTileEntity_em_machine, iParameter) -> { - double offset = iParameter.get(); - if (offset > offsetMax) { - return STATUS_TOO_HIGH; - } else if (offset > 0) { - return STATUS_HIGH; - } else if (offset == 0) { - return STATUS_OK; - } else if (offset >= -offsetMax) { - return STATUS_LOW; - } else if (offset < -offsetMax) { - return STATUS_TOO_LOW; - } else { - return STATUS_WRONG; - } - }; - // private final static String[] DESCRIPTION_O =new String[]{"Full Precision Limit [e/3]","Minimal Precision Limit - // [e/3]","Offset Limit [e/3]",null,"Max Charge [e/3]","Max Capacity [eV/c^2]","Max Power Usage[EU/t]","Max Recipe - // Rime [tick]"}; - - public Behaviour_ElectromagneticSeparator(int desiredTier) { - tier = (byte) desiredTier; - ticks = Math.max(20, (1 << (12 - desiredTier)) * 20); - maxCapacity = - EMAtomDefinition.getSomethingHeavy().getMass() * (2 << tier) * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; - maxCharge = 144D * (1 << (tier - 5)); - switch (tier) { + } + }else if(minimal offsetName= (gt_metaTileEntity_em_machine, iParameter) -> "Offset Input [e/3]"; + private final IStatusFunction offsetStatus= (gt_metaTileEntity_em_machine, iParameter) -> { + double offset=iParameter.get(); + if(offset>offsetMax){ + return STATUS_TOO_HIGH; + }else if(offset>0){ + return STATUS_HIGH; + }else if(offset==0){ + return STATUS_OK; + }else if(offset>=-offsetMax){ + return STATUS_LOW; + }else if(offset<-offsetMax){ + return STATUS_TOO_LOW; + }else { + return STATUS_WRONG; + } + }; + //private final static String[] DESCRIPTION_O =new String[]{"Full Precision Limit [e/3]","Minimal Precision Limit [e/3]","Offset Limit [e/3]",null,"Max Charge [e/3]","Max Capacity [eV/c^2]","Max Power Usage[EU/t]","Max Recipe Rime [tick]"}; + + public Behaviour_ElectromagneticSeparator(int desiredTier){ + tier=(byte) desiredTier; + ticks =Math.max(20,(1<<(12-desiredTier))*20); + maxCapacity= EMAtomDefinition.getSomethingHeavy().getMass()*(2< process( - EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { + public MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { EMInstanceStackMap input = inputs[0]; - if (input == null || input.isEmpty()) return null; // nothing in only valid input + if (input == null || input.isEmpty()) return null;//nothing in only valid input EMInstanceStack[] stacks = input.valuesToArray(); @@ -168,9 +155,9 @@ public class Behaviour_ElectromagneticSeparator implements GT_MetaTileEntity_EM_ } float excessMass = 0; while (inputMass > maxCapacity) { - EMInstanceStack randomStack = stacks[TecTech.RANDOM.nextInt(stacks.length)]; - double amountToRemove = TecTech.RANDOM.nextDouble() / 10D * randomStack.getAmount(); - randomStack.setAmount(sub(randomStack.getAmount(), amountToRemove)); // mutates the parent InstanceStackMap + EMInstanceStack randomStack = stacks[TecTech.RANDOM.nextInt(stacks.length)]; + double amountToRemove = TecTech.RANDOM.nextDouble()/10D * randomStack.getAmount(); + randomStack.setAmount(sub(randomStack.getAmount(),amountToRemove));//mutates the parent InstanceStackMap if (randomStack.isInvalidAmount()) { input.removeKey(randomStack.getDefinition()); } @@ -179,38 +166,36 @@ public class Behaviour_ElectromagneticSeparator implements GT_MetaTileEntity_EM_ inputMass -= mass; } - double totalCharge = Math.abs(input.getCharge()); - if (totalCharge > maxCharge) return new MultiblockControl<>(excessMass); // AND THEN IT EXPLODES + double totalCharge=Math.abs(input.getCharge()); + if (totalCharge>maxCharge) return new MultiblockControl<>(excessMass);//AND THEN IT EXPLODES - int mEut = (int) ((totalCharge / maxCharge) * V[tier]); + int mEut=(int)((totalCharge/ maxCharge)*V[tier]); mEut = Math.max(mEut, 512); - int mTicks = (int) (ticks * (inputMass / maxCapacity)); - mTicks = Math.max(mTicks, 20); + int mTicks=(int)(ticks*(inputMass/maxCapacity)); + mTicks=Math.max(mTicks,20); EMInstanceStackMap[] outputs = new EMInstanceStackMap[3]; for (int i = 0; i < 3; i++) { outputs[i] = new EMInstanceStackMap(); } - double offsetIn = offsetSetting.get(); - double precisionFullIn = fullSetting.get(); - double precisionMinimalIn = minimalSetting.get(); - double levelsCountPlus1 = precisionFullIn - precisionMinimalIn + 1; + double offsetIn=offsetSetting.get(); + double precisionFullIn=fullSetting.get(); + double precisionMinimalIn=minimalSetting.get(); + double levelsCountPlus1=precisionFullIn-precisionMinimalIn+1; - // take all from hatch handler and put into new map - this takes from hatch to inner data storage - stacks = input.takeAll().valuesToArray(); // cleanup stacks - for (EMInstanceStack stack : stacks) { - double charge = stack.getDefinition().getCharge() - offsetIn; - if (charge < precisionMinimalIn && charge > -precisionMinimalIn) { + //take all from hatch handler and put into new map - this takes from hatch to inner data storage + stacks = input.takeAll().valuesToArray();//cleanup stacks + for(EMInstanceStack stack:stacks){ + double charge= stack.getDefinition().getCharge()-offsetIn; + if(charge-precisionMinimalIn){ outputs[1].putReplace(stack); - } else if (charge >= precisionFullIn) { + }else if(charge>=precisionFullIn){ outputs[2].putReplace(stack); - } else if (charge <= -precisionFullIn) { + }else if(charge<=-precisionFullIn){ outputs[0].putReplace(stack); - } else { - double amount = mul( - stack.getAmount(), - (Math.abs(charge) - precisionMinimalIn + 1D) / levelsCountPlus1); // todo check + }else{ + double amount=mul(stack.getAmount(),(Math.abs(charge)-precisionMinimalIn+1D)/levelsCountPlus1);//todo check if (amount < stack.getAmount()) { EMInstanceStack clone = stack.clone(); clone.setAmount(sub(clone.getAmount(), amount)); @@ -218,15 +203,14 @@ public class Behaviour_ElectromagneticSeparator implements GT_MetaTileEntity_EM_ stack.setAmount(amount); } - if (charge > 0) { + if(charge>0){ outputs[2].putReplace(stack); - } else { + }else { outputs[0].putReplace(stack); } } } - return new MultiblockControl<>( - outputs, mEut, 1 + ((int) Math.abs(offsetIn)) / 3, 0, 10000, mTicks, 0, excessMass); + return new MultiblockControl<>(outputs, mEut, 1+((int)Math.abs(offsetIn))/3, 0, 10000, mTicks, 0, excessMass); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_PrecisionLaser.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_PrecisionLaser.java index e8049d5052..7d472de847 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_PrecisionLaser.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_PrecisionLaser.java @@ -9,13 +9,14 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.Parameters; */ public class Behaviour_PrecisionLaser implements GT_MetaTileEntity_EM_machine.IBehaviour { final int tier; - - public Behaviour_PrecisionLaser(int tier) { - this.tier = tier; + public Behaviour_PrecisionLaser(int tier){ + this.tier=tier; } @Override - public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) {} + public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) { + + } @Override public boolean checkParametersInAndSetStatuses(GT_MetaTileEntity_EM_machine te, Parameters parameters) { @@ -23,8 +24,7 @@ public class Behaviour_PrecisionLaser implements GT_MetaTileEntity_EM_machine.IB } @Override - public MultiblockControl process( - EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { + public MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { return null; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Recycler.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Recycler.java index 5c0cd5acc0..05050a3c66 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Recycler.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Recycler.java @@ -1,21 +1,20 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.em_machine; -import static com.github.technus.tectech.util.CommonValues.V; - import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.thing.metaTileEntity.multi.base.MultiblockControl; import com.github.technus.tectech.thing.metaTileEntity.multi.base.Parameters; +import static com.github.technus.tectech.util.CommonValues.V; + /** * Created by danie_000 on 24.12.2017. */ public class Behaviour_Recycler implements GT_MetaTileEntity_EM_machine.IBehaviour { private final int tier; private final double coeff; - - public Behaviour_Recycler(int tier) { - this.tier = tier; - coeff = (1D / Math.pow(2D, tier - 4)); + public Behaviour_Recycler(int tier){ + this.tier=tier; + coeff=(1D/Math.pow(2D,tier-4)); } @Override @@ -27,14 +26,14 @@ public class Behaviour_Recycler implements GT_MetaTileEntity_EM_machine.IBehavio } @Override - public MultiblockControl process( - EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { - double mass = 0; + public MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { + double mass=0; for (EMInstanceStackMap input : inputs) { if (input != null) { mass += input.getMass(); } } - return new MultiblockControl<>(null, (int) V[tier], 4, 0, 10000, 20, 0, mass * coeff); + return new MultiblockControl<>(null,(int)V[tier], 4, + 0,10000,20, 0,mass*coeff); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Scanner.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Scanner.java index 873e5d7615..fa517c73d4 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Scanner.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Scanner.java @@ -9,13 +9,14 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.Parameters; */ public class Behaviour_Scanner implements GT_MetaTileEntity_EM_machine.IBehaviour { final int tier; - - public Behaviour_Scanner(int tier) { - this.tier = tier; + public Behaviour_Scanner(int tier){ + this.tier=tier; } @Override - public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) {} + public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) { + + } @Override public boolean checkParametersInAndSetStatuses(GT_MetaTileEntity_EM_machine te, Parameters parameters) { @@ -23,8 +24,7 @@ public class Behaviour_Scanner implements GT_MetaTileEntity_EM_machine.IBehaviou } @Override - public MultiblockControl process( - EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { + public MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { return null; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/GT_MetaTileEntity_EM_machine.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/GT_MetaTileEntity_EM_machine.java index 2078a2e5ab..e1ca5d6d9e 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/GT_MetaTileEntity_EM_machine.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/GT_MetaTileEntity_EM_machine.java @@ -1,13 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.em_machine; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.thing.block.QuantumGlassBlock; @@ -20,8 +12,6 @@ import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import java.util.HashMap; -import java.util.function.Supplier; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.init.Blocks; @@ -30,87 +20,82 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; +import java.util.HashMap; +import java.util.function.Supplier; + +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - // region variables + //region variables public static final String machine = "EM Machinery"; - private ItemStack loadedMachine; + private ItemStack loadedMachine; private IBehaviour currentBehaviour; - // endregion - - // region structure - private static final String[] description = new String[] { - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal( - "gt.blockmachines.multimachine.em.processing.hint.0"), // 1 - Classic Hatches or High Power Casing - translateToLocal( - "gt.blockmachines.multimachine.em.processing.hint.1"), // 2 - Elemental Hatches or Molecular Casing - }; + //endregion - private static final IStructureDefinition STRUCTURE_DEFINITION = - IStructureDefinition.builder() - .addShape("main", transpose(new String[][] { - {" A ", " AAA ", " EBE ", " ECE ", " EBE ", " AAA ", " A "}, - {" DDD ", "AAAAA", "E---E", "E---E", "E---E", "AAAAA", " FFF "}, - {"AD-DA", "AA~AA", "B---B", "C- -C", "B---B", "AA-AA", "AFFFA"}, - {" DDD ", "AAAAA", "E---E", "E---E", "E---E", "AAAAA", " FFF "}, - {" A ", " AAA ", " EBE ", " ECE ", " EBE ", " AAA ", " A "} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('C', ofBlock(sBlockCasingsTT, 6)) - .addElement('E', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement( - 'D', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_machine::addClassicToMachineList, - textureOffset, - 1, - sBlockCasingsTT, - 0)) - .addElement( - 'F', - ofHatchAdderOptional( - GT_MetaTileEntity_EM_machine::addElementalToMachineList, - textureOffset + 4, - 2, - sBlockCasingsTT, - 4)) - .build(); - // endregion - - // region parameters - protected Parameters.Group.ParameterIn[] inputMux; - protected Parameters.Group.ParameterIn[] outputMux; - private static final IStatusFunction SRC_STATUS = (base, p) -> { - double v = p.get(); - if (Double.isNaN(v)) return STATUS_WRONG; - v = (int) v; - if (v < 0) return STATUS_TOO_LOW; - if (v == 0) return STATUS_NEUTRAL; - if (v >= base.eInputHatches.size()) return STATUS_TOO_HIGH; - return STATUS_OK; - }; - private static final IStatusFunction DST_STATUS = (base, p) -> { - if (base.inputMux[p.hatchId()].getStatus(false) == STATUS_OK) { - double v = p.get(); - if (Double.isNaN(v)) return STATUS_WRONG; - v = (int) v; - if (v < 0) return STATUS_TOO_LOW; - if (v == 0) return STATUS_LOW; - if (v >= base.eInputHatches.size()) return STATUS_TOO_HIGH; - return STATUS_OK; - } - return STATUS_NEUTRAL; + //region structure + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.processing.hint.0"),//1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.processing.hint.1"),//2 - Elemental Hatches or Molecular Casing }; - private static final INameFunction ROUTE_NAME = (base, p) -> (p.parameterId() == 0 - ? translateToLocal("tt.keyword.Source") + " " - : translateToLocal("tt.keyword.Destination") + " ") - + p.hatchId(); - // endregion + + private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition + .builder() + .addShape("main", transpose(new String[][]{ + {" A ", " AAA ", " EBE ", " ECE ", " EBE ", " AAA ", " A "}, + {" DDD ", "AAAAA", "E---E", "E---E", "E---E", "AAAAA", " FFF "}, + {"AD-DA", "AA~AA", "B---B", "C- -C", "B---B", "AA-AA", "AFFFA"}, + {" DDD ", "AAAAA", "E---E", "E---E", "E---E", "AAAAA", " FFF "}, + {" A ", " AAA ", " EBE ", " ECE ", " EBE ", " AAA ", " A "} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement('C', ofBlock(sBlockCasingsTT, 6)) + .addElement('E', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement('D', ofHatchAdderOptional(GT_MetaTileEntity_EM_machine::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) + .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_machine::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) + .build(); + //endregion + + //region parameters + protected Parameters.Group.ParameterIn[] inputMux; + protected Parameters.Group.ParameterIn[] outputMux; + private static final IStatusFunction SRC_STATUS = + (base, p) -> { + double v = p.get(); + if (Double.isNaN(v)) return STATUS_WRONG; + v = (int) v; + if (v < 0) return STATUS_TOO_LOW; + if (v == 0) return STATUS_NEUTRAL; + if (v >= base.eInputHatches.size()) return STATUS_TOO_HIGH; + return STATUS_OK; + }; + private static final IStatusFunction DST_STATUS = + (base, p) -> { + if (base.inputMux[p.hatchId()].getStatus(false) == STATUS_OK) { + double v = p.get(); + if (Double.isNaN(v)) return STATUS_WRONG; + v = (int) v; + if (v < 0) return STATUS_TOO_LOW; + if (v == 0) return STATUS_LOW; + if (v >= base.eInputHatches.size()) return STATUS_TOO_HIGH; + return STATUS_OK; + } + return STATUS_NEUTRAL; + }; + private static final INameFunction ROUTE_NAME = + (base, p) -> (p.parameterId() == 0 ? translateToLocal("tt.keyword.Source") + " " : translateToLocal("tt.keyword.Destination") + " ") + p.hatchId(); + //endregion public GT_MetaTileEntity_EM_machine(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -126,8 +111,7 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa return false; } loadedMachine = newMachine; - Supplier behaviourSupplier = - GT_MetaTileEntity_EM_machine.BEHAVIOUR_MAP.get(new TT_Utility.ItemStack_NoNBT(newMachine)); + Supplier behaviourSupplier = GT_MetaTileEntity_EM_machine.BEHAVIOUR_MAP.get(new TT_Utility.ItemStack_NoNBT(newMachine)); if (currentBehaviour == null && behaviourSupplier == null) { return false; } @@ -153,8 +137,7 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa public static void registerBehaviour(Supplier behaviour, ItemStack is) { BEHAVIOUR_MAP.put(new TT_Utility.ItemStack_NoNBT(is), behaviour); - TecTech.LOGGER.info("Registered EM machine behaviour " - + behaviour.get().getClass().getSimpleName() + ' ' + new TT_Utility.ItemStack_NoNBT(is).toString()); + TecTech.LOGGER.info("Registered EM machine behaviour " + behaviour.get().getClass().getSimpleName() + ' ' + new TT_Utility.ItemStack_NoNBT(is).toString()); } public interface IBehaviour { @@ -182,16 +165,15 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa * @param parameters array passed from previous method! * @return null if recipe should not start, control object to set machine state and start recipe */ - MultiblockControl process( - EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters); + MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters); } private void quantumStuff(boolean shouldIExist) { IGregTechTileEntity base = getBaseMetaTileEntity(); if (base != null && base.getWorld() != null) { - int xDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetX * 2 + base.getXCoord(); - int yDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetY * 2 + base.getYCoord(); - int zDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetZ * 2 + base.getZCoord(); + int xDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetX * 2 + base.getXCoord(); + int yDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetY * 2 + base.getYCoord(); + int zDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetZ * 2 + base.getZCoord(); Block block = base.getWorld().getBlock(xDir, yDir, zDir); if (shouldIExist) { if (block != null && block.getMaterial() == Material.air) { @@ -245,28 +227,15 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal( - "gt.blockmachines.multimachine.em.processing.name")) // Machine Type: Quantum Processing machine - .addInfo(translateToLocal( - "gt.blockmachines.multimachine.em.processing.desc.0")) // Controller block of the - // Quantum Processing machine + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.processing.name")) // Machine Type: Quantum Processing machine + .addInfo(translateToLocal("gt.blockmachines.multimachine.em.processing.desc.0")) // Controller block of the Quantum Processing machine .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(5, 5, 7, false) - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.Elemental"), - translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), - 2) // Elemental Hatch: Any Molecular Casing with 2 dots - .addOtherStructurePart( - translateToLocal("tt.keyword.Parametrizer"), - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Parametrizer: Any High Power Casing - .addEnergyHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch( - translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), - 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart(translateToLocal("tt.keyword.Structure.Elemental"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), 2) // Elemental Hatch: Any Molecular Casing with 2 dots + .addOtherStructurePart(translateToLocal("tt.keyword.Parametrizer"), translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Parametrizer: Any High Power Casing + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -323,7 +292,7 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa explodeMultiblock(); return false; } - // update other parameters + //update other parameters outputEM = control.getValue(); mEUt = control.getEUT(); eAmpereFlow = control.getAmperage(); @@ -360,7 +329,7 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa handles[i] = eOutputHatches.get(pointer).getContentHandler(); } } - // output + //output for (int i = 0; i < 6 && i < outputEM.length; i++) { if (handles[i] != null && outputEM[i] != null && outputEM[i].hasStacks()) { handles[i].putUnifyAll(outputEM[i]); @@ -368,7 +337,7 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa } } quantumStuff(false); - // all other are handled by base multi block code - cleaning is automatic + //all other are handled by base multi block code - cleaning is automatic } @Override @@ -386,12 +355,9 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa setCurrentBehaviour(); } if (aBaseMetaTileEntity.isActive()) { - int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 2 - + aBaseMetaTileEntity.getXCoord(); - int yDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetY * 2 - + aBaseMetaTileEntity.getYCoord(); - int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 2 - + aBaseMetaTileEntity.getZCoord(); + int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 2 + aBaseMetaTileEntity.getXCoord(); + int yDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetY * 2 + aBaseMetaTileEntity.getYCoord(); + int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 2 + aBaseMetaTileEntity.getZCoord(); aBaseMetaTileEntity.getWorld().markBlockRangeForRenderUpdate(xDir, yDir, zDir, xDir, yDir, zDir); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java index 2975d28fa5..1cc3123528 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java @@ -1,8 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.pipe; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.mechanics.pipe.IActivePipe; @@ -31,12 +28,15 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by Tec on 26.02.2017. */ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConnectsToDataPipe, IActivePipe { private static Textures.BlockIcons.CustomIcon EMpipe; - private static Textures.BlockIcons.CustomIcon EMbar, EMbarActive; + private static Textures.BlockIcons.CustomIcon EMbar,EMbarActive; public byte connectionCount = 0; private boolean active; @@ -64,18 +64,8 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aConnections, - byte aColorIndex, - boolean aConnected, - boolean aRedstone) { - return new ITexture[] { - new GT_RenderedTexture(EMpipe), - new GT_RenderedTexture( - getActive() ? EMbarActive : EMbar, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA())) - }; + public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aConnections, byte aColorIndex, boolean aConnected, boolean aRedstone) { + return new ITexture[]{new GT_RenderedTexture(EMpipe), new GT_RenderedTexture(getActive()?EMbarActive:EMbar, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA()))}; } @Override @@ -90,12 +80,12 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn @Override public void loadNBTData(NBTTagCompound nbtTagCompound) { - active = nbtTagCompound.getBoolean("eActive"); + active=nbtTagCompound.getBoolean("eActive"); } @Override public void saveNBTData(NBTTagCompound nbtTagCompound) { - nbtTagCompound.setBoolean("eActive", active); + nbtTagCompound.setBoolean("eActive",active); } @Override @@ -110,22 +100,18 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.pipe.datastream.desc.0"), // Advanced data transmission - EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockmachines.pipe.datastream.desc.1"), // Don't stare at the beam! - EnumChatFormatting.AQUA - + translateToLocal("gt.blockmachines.pipe.datastream.desc.2"), // Must be painted to work - EnumChatFormatting.AQUA - + translateToLocal("gt.blockmachines.pipe.datastream.desc.3") // Do not cross or split + return new String[]{ + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.pipe.datastream.desc.0"),//Advanced data transmission + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.pipe.datastream.desc.1"),//Don't stare at the beam! + EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.datastream.desc.2"),//Must be painted to work + EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.datastream.desc.3")//Do not cross or split }; } @Override public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { - if (aBaseMetaTileEntity.isClientSide()) { + if(aBaseMetaTileEntity.isClientSide()){ NetworkDispatcher.INSTANCE.sendToServer(new PipeActivityMessage.PipeActivityQuery(this)); } onPostTick(aBaseMetaTileEntity, 31); @@ -135,21 +121,20 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isServerSide()) { if ((aTick & 31) == 31) { - if (TecTech.RANDOM.nextInt(15) == 0) { - NetworkDispatcher.INSTANCE.sendToAllAround( - new PipeActivityMessage.PipeActivityData(this), + if(TecTech.RANDOM.nextInt(15)==0) { + NetworkDispatcher.INSTANCE.sendToAllAround(new PipeActivityMessage.PipeActivityData(this), aBaseMetaTileEntity.getWorld().provider.dimensionId, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), 256); } - if (active) { - active = false; + if(active){ + active=false; } mConnections = 0; connectionCount = 0; - byte myColor = aBaseMetaTileEntity.getColorization(); + byte myColor=aBaseMetaTileEntity.getColorization(); if (aBaseMetaTileEntity.getColorization() < 0) { return; } @@ -161,18 +146,18 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn if (tColor != myColor) { continue; } - if (((IConnectsToDataPipe) tTileEntity).canConnectData(b1)) { + if(((IConnectsToDataPipe) tTileEntity).canConnectData(b1)){ mConnections |= 1 << b0; connectionCount++; } - } else if (tTileEntity instanceof IGregTechTileEntity) { - IMetaTileEntity meta = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity(); - if (meta instanceof IConnectsToDataPipe) { + }else if(tTileEntity instanceof IGregTechTileEntity){ + IMetaTileEntity meta=((IGregTechTileEntity) tTileEntity).getMetaTileEntity(); + if(meta instanceof IConnectsToDataPipe){ byte tColor = ((IConnectsToDataPipe) meta).getColorization(); if (tColor != myColor) { continue; } - if (((IConnectsToDataPipe) meta).canConnectData(b1)) { + if(((IConnectsToDataPipe) meta).canConnectData(b1)){ mConnections |= 1 << b0; connectionCount++; } @@ -197,18 +182,18 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn } for (byte b = 0; b < 6; b++) { if ((mConnections & 1 << b) == 0) { - continue; // if not connected continue + continue;//if not connected continue } TileEntity next = getBaseMetaTileEntity().getTileEntityAtSide(b); if (next instanceof IConnectsToDataPipe && next != source) { - if (((IConnectsToDataPipe) next).isDataInputFacing(GT_Utility.getOppositeSide(b))) { + if(((IConnectsToDataPipe) next).isDataInputFacing(GT_Utility.getOppositeSide(b))){ return (IConnectsToDataPipe) next; } - } else if (next instanceof IGregTechTileEntity) { + }else if(next instanceof IGregTechTileEntity) { IMetaTileEntity meta = ((IGregTechTileEntity) next).getMetaTileEntity(); if (meta instanceof IConnectsToDataPipe && meta != source) { - if (meta instanceof GT_MetaTileEntity_Pipe_Data - && ((GT_MetaTileEntity_Pipe_Data) meta).connectionCount == 2) { + if (meta instanceof GT_MetaTileEntity_Pipe_Data && + ((GT_MetaTileEntity_Pipe_Data) meta).connectionCount == 2) { ((GT_MetaTileEntity_Pipe_Data) meta).markUsed(); return (IConnectsToDataPipe) meta; } @@ -223,7 +208,7 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) { - float tSpace = (1f - 0.375f) / 2; + float tSpace = (1f - 0.375f)/2; float tSide0 = tSpace; float tSide1 = 1f - tSpace; float tSide2 = tSpace; @@ -231,58 +216,39 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn float tSide4 = tSpace; float tSide5 = 1f - tSpace; - if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 0) != 0) { - tSide0 = tSide2 = tSide4 = 0; - tSide3 = tSide5 = 1; - } - if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 1) != 0) { - tSide2 = tSide4 = 0; - tSide1 = tSide3 = tSide5 = 1; - } - if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 2) != 0) { - tSide0 = tSide2 = tSide4 = 0; - tSide1 = tSide5 = 1; - } - if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 3) != 0) { - tSide0 = tSide4 = 0; - tSide1 = tSide3 = tSide5 = 1; - } - if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 4) != 0) { - tSide0 = tSide2 = tSide4 = 0; - tSide1 = tSide3 = 1; - } - if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 5) != 0) { - tSide0 = tSide2 = 0; - tSide1 = tSide3 = tSide5 = 1; - } + if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 0) != 0){tSide0=tSide2=tSide4=0;tSide3=tSide5=1;} + if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 1) != 0){tSide2=tSide4=0;tSide1=tSide3=tSide5=1;} + if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 2) != 0){tSide0=tSide2=tSide4=0;tSide1=tSide5=1;} + if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 3) != 0){tSide0=tSide4=0;tSide1=tSide3=tSide5=1;} + if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 4) != 0){tSide0=tSide2=tSide4=0;tSide1=tSide3=1;} + if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 5) != 0){tSide0=tSide2=0;tSide1=tSide3=tSide5=1;} byte tConn = ((BaseMetaPipeEntity) getBaseMetaTileEntity()).mConnections; - if ((tConn & 1 << ForgeDirection.DOWN.ordinal()) != 0) { + if((tConn & 1 << ForgeDirection.DOWN.ordinal()) != 0) { tSide0 = 0f; } - if ((tConn & 1 << ForgeDirection.UP.ordinal()) != 0) { + if((tConn & 1 << ForgeDirection.UP.ordinal()) != 0) { tSide1 = 1f; } - if ((tConn & 1 << ForgeDirection.NORTH.ordinal()) != 0) { + if((tConn & 1 << ForgeDirection.NORTH.ordinal()) != 0) { tSide2 = 0f; } - if ((tConn & 1 << ForgeDirection.SOUTH.ordinal()) != 0) { + if((tConn & 1 << ForgeDirection.SOUTH.ordinal()) != 0) { tSide3 = 1f; } - if ((tConn & 1 << ForgeDirection.WEST.ordinal()) != 0) { + if((tConn & 1 << ForgeDirection.WEST.ordinal()) != 0) { tSide4 = 0f; } - if ((tConn & 1 << ForgeDirection.EAST.ordinal()) != 0) { + if((tConn & 1 << ForgeDirection.EAST.ordinal()) != 0) { tSide5 = 1f; } - return AxisAlignedBB.getBoundingBox( - aX + tSide4, aY + tSide0, aZ + tSide2, aX + tSide5, aY + tSide1, aZ + tSide3); + return AxisAlignedBB.getBoundingBox(aX + tSide4, aY + tSide0, aZ + tSide2, aX + tSide5, aY + tSide1, aZ + tSide3); } @Override public float getThickNess() { - if (GT_Mod.instance.isClientSide() && GT_Client.hideValue == 1) { + if(GT_Mod.instance.isClientSide() && GT_Client.hideValue==1) { return 0.0625F; } return 0.375f; @@ -305,7 +271,7 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn @Override public void setActive(boolean state) { - if (state != active) { + if(state!=active) { active = state; getBaseMetaTileEntity().issueTextureUpdate(); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java index 4a5679e759..d19fec6f05 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java @@ -1,8 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.pipe; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.mechanics.pipe.IActivePipe; @@ -32,12 +29,15 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by Tec on 26.02.2017. */ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnectsToElementalPipe, IActivePipe { private static Textures.BlockIcons.CustomIcon EMpipe; - static Textures.BlockIcons.CustomIcon EMcandy, EMCandyActive; + static Textures.BlockIcons.CustomIcon EMcandy,EMCandyActive; public byte connectionCount = 0; private boolean active; @@ -65,18 +65,8 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aConnections, - byte aColorIndex, - boolean aConnected, - boolean aRedstone) { - return new ITexture[] { - new GT_RenderedTexture(EMpipe), - new GT_RenderedTexture( - getActive() ? EMCandyActive : EMcandy, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA())) - }; + public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aConnections, byte aColorIndex, boolean aConnected, boolean aRedstone) { + return new ITexture[]{new GT_RenderedTexture(EMpipe), new GT_RenderedTexture(getActive()?EMCandyActive:EMcandy, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA()))}; } @Override @@ -91,12 +81,12 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec @Override public void loadNBTData(NBTTagCompound nbtTagCompound) { - active = nbtTagCompound.getBoolean("eActive"); + active=nbtTagCompound.getBoolean("eActive"); } @Override public void saveNBTData(NBTTagCompound nbtTagCompound) { - nbtTagCompound.setBoolean("eActive", active); + nbtTagCompound.setBoolean("eActive",active); } @Override @@ -111,22 +101,18 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.0"), // Quantum tunneling device. - EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.1"), // Not a portal!!! - EnumChatFormatting.AQUA - + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.2"), // Must be painted to work - EnumChatFormatting.AQUA - + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.3") // Do not cross, split or turn + return new String[]{ + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.0"),//Quantum tunneling device. + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.1"),//Not a portal!!! + EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.2"),//Must be painted to work + EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.3")//Do not cross, split or turn }; } @Override public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { - if (getBaseMetaTileEntity().isClientSide()) { + if(getBaseMetaTileEntity().isClientSide()){ NetworkDispatcher.INSTANCE.sendToServer(new PipeActivityMessage.PipeActivityQuery(this)); } onPostTick(aBaseMetaTileEntity, 31); @@ -136,17 +122,16 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isServerSide()) { if ((aTick & 31) == 31) { - if (TecTech.RANDOM.nextInt(15) == 0) { - NetworkDispatcher.INSTANCE.sendToAllAround( - new PipeActivityMessage.PipeActivityData(this), + if(TecTech.RANDOM.nextInt(15)==0) { + NetworkDispatcher.INSTANCE.sendToAllAround(new PipeActivityMessage.PipeActivityData(this), aBaseMetaTileEntity.getWorld().provider.dimensionId, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), 256); } - if (active) { - active = false; + if(active){ + active=false; } mConnections = 0; connectionCount = 0; @@ -155,42 +140,34 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec } for (byte b0 = 0, b1; b0 < 6; b0++) { b1 = GT_Utility.getOppositeSide(b0); - // if (!aBaseMetaTileEntity.getCoverBehaviorAtSide(b0).alwaysLookConnected(b0, - // aBaseMetaTileEntity.getCoverIDAtSide(b0), aBaseMetaTileEntity.getCoverDataAtSide(b0), - // aBaseMetaTileEntity)) { + //if (!aBaseMetaTileEntity.getCoverBehaviorAtSide(b0).alwaysLookConnected(b0, aBaseMetaTileEntity.getCoverIDAtSide(b0), aBaseMetaTileEntity.getCoverDataAtSide(b0), aBaseMetaTileEntity)) { TileEntity tTileEntity = aBaseMetaTileEntity.getTileEntityAtSide(b0); if (tTileEntity instanceof IColoredTileEntity) { - // if (aBaseMetaTileEntity.getColorization() >= 0) { + //if (aBaseMetaTileEntity.getColorization() >= 0) { byte tColor = ((IColoredTileEntity) tTileEntity).getColorization(); if (tColor != aBaseMetaTileEntity.getColorization()) { continue; } - // } + //} } - if (tTileEntity instanceof IConnectsToElementalPipe - && ((IConnectsToElementalPipe) tTileEntity).canConnect(b1)) { + if (tTileEntity instanceof IConnectsToElementalPipe && ((IConnectsToElementalPipe) tTileEntity).canConnect(b1)) { mConnections |= 1 << b0; connectionCount++; - } else if (tTileEntity instanceof IGregTechTileEntity - && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() - instanceof IConnectsToElementalPipe) { - if ( // ((IGregTechTileEntity) tTileEntity).getCoverBehaviorAtSide(b1).alwaysLookConnected(b1, - // ((IGregTechTileEntity) tTileEntity).getCoverIDAtSide(b1), ((IGregTechTileEntity) - // tTileEntity).getCoverDataAtSide(b1), ((IGregTechTileEntity) tTileEntity)) || - ((IConnectsToElementalPipe) ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()) - .canConnect(b1)) { + } else if (tTileEntity instanceof IGregTechTileEntity && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() instanceof IConnectsToElementalPipe) { + if (//((IGregTechTileEntity) tTileEntity).getCoverBehaviorAtSide(b1).alwaysLookConnected(b1, ((IGregTechTileEntity) tTileEntity).getCoverIDAtSide(b1), ((IGregTechTileEntity) tTileEntity).getCoverDataAtSide(b1), ((IGregTechTileEntity) tTileEntity)) || + ((IConnectsToElementalPipe) ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()).canConnect(b1)) { mConnections |= 1 << b0; connectionCount++; } } - // } - // else { + //} + //else { // mConnections |= (1 << b0); // if (mOld != mConnections) { // connectionCount++; // mOld = mConnections; // } - // } + //} } } } else if (aBaseMetaTileEntity.isClientSide() && GT_Client.changeDetected == 4) { @@ -205,7 +182,7 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) { - float tSpace = (1f - 0.5f) / 2; + float tSpace = (1f - 0.5f)/2; float tSide0 = tSpace; float tSide1 = 1f - tSpace; float tSide2 = tSpace; @@ -213,58 +190,39 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec float tSide4 = tSpace; float tSide5 = 1f - tSpace; - if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 0) != 0) { - tSide0 = tSide2 = tSide4 = 0; - tSide3 = tSide5 = 1; - } - if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 1) != 0) { - tSide2 = tSide4 = 0; - tSide1 = tSide3 = tSide5 = 1; - } - if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 2) != 0) { - tSide0 = tSide2 = tSide4 = 0; - tSide1 = tSide5 = 1; - } - if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 3) != 0) { - tSide0 = tSide4 = 0; - tSide1 = tSide3 = tSide5 = 1; - } - if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 4) != 0) { - tSide0 = tSide2 = tSide4 = 0; - tSide1 = tSide3 = 1; - } - if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 5) != 0) { - tSide0 = tSide2 = 0; - tSide1 = tSide3 = tSide5 = 1; - } + if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 0) != 0){tSide0=tSide2=tSide4=0;tSide3=tSide5=1;} + if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 1) != 0){tSide2=tSide4=0;tSide1=tSide3=tSide5=1;} + if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 2) != 0){tSide0=tSide2=tSide4=0;tSide1=tSide5=1;} + if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 3) != 0){tSide0=tSide4=0;tSide1=tSide3=tSide5=1;} + if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 4) != 0){tSide0=tSide2=tSide4=0;tSide1=tSide3=1;} + if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 5) != 0){tSide0=tSide2=0;tSide1=tSide3=tSide5=1;} byte tConn = ((BaseMetaPipeEntity) getBaseMetaTileEntity()).mConnections; - if ((tConn & 1 << ForgeDirection.DOWN.ordinal()) != 0) { + if((tConn & 1 << ForgeDirection.DOWN.ordinal()) != 0) { tSide0 = 0f; } - if ((tConn & 1 << ForgeDirection.UP.ordinal()) != 0) { + if((tConn & 1 << ForgeDirection.UP.ordinal()) != 0) { tSide1 = 1f; } - if ((tConn & 1 << ForgeDirection.NORTH.ordinal()) != 0) { + if((tConn & 1 << ForgeDirection.NORTH.ordinal()) != 0) { tSide2 = 0f; } - if ((tConn & 1 << ForgeDirection.SOUTH.ordinal()) != 0) { + if((tConn & 1 << ForgeDirection.SOUTH.ordinal()) != 0) { tSide3 = 1f; } - if ((tConn & 1 << ForgeDirection.WEST.ordinal()) != 0) { + if((tConn & 1 << ForgeDirection.WEST.ordinal()) != 0) { tSide4 = 0f; } - if ((tConn & 1 << ForgeDirection.EAST.ordinal()) != 0) { + if((tConn & 1 << ForgeDirection.EAST.ordinal()) != 0) { tSide5 = 1f; } - return AxisAlignedBB.getBoundingBox( - aX + tSide4, aY + tSide0, aZ + tSide2, aX + tSide5, aY + tSide1, aZ + tSide3); + return AxisAlignedBB.getBoundingBox(aX + tSide4, aY + tSide0, aZ + tSide2, aX + tSide5, aY + tSide1, aZ + tSide3); } @Override public float getThickNess() { - if (GT_Mod.instance.isClientSide() && GT_Client.hideValue == 1) { + if(GT_Mod.instance.isClientSide() && GT_Client.hideValue==1) { return 0.0625F; } return 0.5f; @@ -277,7 +235,7 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec @Override public void setActive(boolean state) { - if (state != active) { + if(state!=active) { active = state; getBaseMetaTileEntity().issueTextureUpdate(); } @@ -290,8 +248,8 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec @Override public void onRemoval() { - if (getActive()) { - TecTech.anomalyHandler.addAnomaly(getBaseMetaTileEntity(), 1e10f); + if(getActive()){ + TecTech.anomalyHandler.addAnomaly(getBaseMetaTileEntity(),1e10f); } } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java index e83a358f78..1f4fd71a39 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java @@ -1,10 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.pipe; -import static com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EM.EMCandyActive; -import static com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EM.EMcandy; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.mechanics.pipe.IActivePipe; @@ -34,11 +29,16 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import static com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EM.EMCandyActive; +import static com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EM.EMcandy; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static net.minecraft.util.StatCollector.translateToLocal; + public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements IConnectsToEnergyTunnel, IActivePipe { private static Textures.BlockIcons.CustomIcon EMpipe; public byte connectionCount = 0; - private boolean active, lastActive; + private boolean active,lastActive; public GT_MetaTileEntity_Pipe_Energy(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional, 0); @@ -61,18 +61,8 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aConnections, - byte aColorIndex, - boolean aConnected, - boolean aRedstone) { - return new ITexture[] { - new GT_RenderedTexture(EMpipe), - new GT_RenderedTexture( - getActive() ? EMCandyActive : EMcandy, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA())) - }; + public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aConnections, byte aColorIndex, boolean aConnected, boolean aRedstone) { + return new ITexture[]{new GT_RenderedTexture(EMpipe), new GT_RenderedTexture(getActive()?EMCandyActive:EMcandy, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA()))}; } @Override @@ -87,12 +77,12 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo @Override public void loadNBTData(NBTTagCompound nbtTagCompound) { - active = nbtTagCompound.getBoolean("eActive"); + active=nbtTagCompound.getBoolean("eActive"); } @Override public void saveNBTData(NBTTagCompound nbtTagCompound) { - nbtTagCompound.setBoolean("eActive", active); + nbtTagCompound.setBoolean("eActive",active); } @Override @@ -107,22 +97,18 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.pipe.energystream.desc.0"), // Laser tunneling device. - EnumChatFormatting.AQUA.toString() - + EnumChatFormatting.BOLD - + translateToLocal("gt.blockmachines.pipe.energystream.desc.1"), // Bright Vacuum!!! - EnumChatFormatting.AQUA - + translateToLocal("gt.blockmachines.pipe.energystream.desc.2"), // Must be painted to work - EnumChatFormatting.AQUA - + translateToLocal("gt.blockmachines.pipe.energystream.desc.3") // Do not split or turn + return new String[]{ + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.pipe.energystream.desc.0"),//Laser tunneling device. + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.pipe.energystream.desc.1"),//Bright Vacuum!!! + EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.energystream.desc.2"),//Must be painted to work + EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.energystream.desc.3")//Do not split or turn }; } @Override public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { - if (getBaseMetaTileEntity().isClientSide()) { + if(getBaseMetaTileEntity().isClientSide()){ NetworkDispatcher.INSTANCE.sendToServer(new PipeActivityMessage.PipeActivityQuery(this)); } onPostTick(aBaseMetaTileEntity, 31); @@ -132,17 +118,16 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isServerSide()) { if ((aTick & 31) == 31) { - if (TecTech.RANDOM.nextInt(15) == 0) { - NetworkDispatcher.INSTANCE.sendToAllAround( - new PipeActivityMessage.PipeActivityData(this), + if(TecTech.RANDOM.nextInt(15)==0) { + NetworkDispatcher.INSTANCE.sendToAllAround(new PipeActivityMessage.PipeActivityData(this), aBaseMetaTileEntity.getWorld().provider.dimensionId, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), 256); } - if (active) { - active = false; + if(active){ + active=false; } mConnections = 0; connectionCount = 0; @@ -151,42 +136,34 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo } for (byte b0 = 0, b1; b0 < 6; b0++) { b1 = GT_Utility.getOppositeSide(b0); - // if (!aBaseMetaTileEntity.getCoverBehaviorAtSide(b0).alwaysLookConnected(b0, - // aBaseMetaTileEntity.getCoverIDAtSide(b0), aBaseMetaTileEntity.getCoverDataAtSide(b0), - // aBaseMetaTileEntity)) { + //if (!aBaseMetaTileEntity.getCoverBehaviorAtSide(b0).alwaysLookConnected(b0, aBaseMetaTileEntity.getCoverIDAtSide(b0), aBaseMetaTileEntity.getCoverDataAtSide(b0), aBaseMetaTileEntity)) { TileEntity tTileEntity = aBaseMetaTileEntity.getTileEntityAtSide(b0); if (tTileEntity instanceof IColoredTileEntity) { - // if (aBaseMetaTileEntity.getColorization() >= 0) { + //if (aBaseMetaTileEntity.getColorization() >= 0) { byte tColor = ((IColoredTileEntity) tTileEntity).getColorization(); if (tColor != aBaseMetaTileEntity.getColorization()) { continue; } - // } + //} } - if (tTileEntity instanceof IConnectsToEnergyTunnel - && ((IConnectsToEnergyTunnel) tTileEntity).canConnect(b1)) { + if (tTileEntity instanceof IConnectsToEnergyTunnel && ((IConnectsToEnergyTunnel) tTileEntity).canConnect(b1)) { mConnections |= 1 << b0; connectionCount++; - } else if (tTileEntity instanceof IGregTechTileEntity - && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() - instanceof IConnectsToEnergyTunnel) { - if ( // ((IGregTechTileEntity) tTileEntity).getCoverBehaviorAtSide(b1).alwaysLookConnected(b1, - // ((IGregTechTileEntity) tTileEntity).getCoverIDAtSide(b1), ((IGregTechTileEntity) - // tTileEntity).getCoverDataAtSide(b1), ((IGregTechTileEntity) tTileEntity)) || - ((IConnectsToEnergyTunnel) ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()) - .canConnect(b1)) { + } else if (tTileEntity instanceof IGregTechTileEntity && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() instanceof IConnectsToEnergyTunnel) { + if (//((IGregTechTileEntity) tTileEntity).getCoverBehaviorAtSide(b1).alwaysLookConnected(b1, ((IGregTechTileEntity) tTileEntity).getCoverIDAtSide(b1), ((IGregTechTileEntity) tTileEntity).getCoverDataAtSide(b1), ((IGregTechTileEntity) tTileEntity)) || + ((IConnectsToEnergyTunnel) ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()).canConnect(b1)) { mConnections |= 1 << b0; connectionCount++; } } - // } - // else { + //} + //else { // mConnections |= (1 << b0); // if (mOld != mConnections) { // connectionCount++; // mOld = mConnections; // } - // } + //} } } @@ -196,8 +173,8 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo } @Override - public void setActive(boolean state) { - if (state != active) { + public void setActive(boolean state){ + if(state!=active) { active = state; getBaseMetaTileEntity().issueTextureUpdate(); } @@ -220,7 +197,7 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) { - float tSpace = (1f - 0.5f) / 2; + float tSpace = (1f - 0.5f)/2; float tSide0 = tSpace; float tSide1 = 1f - tSpace; float tSide2 = tSpace; @@ -228,60 +205,41 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo float tSide4 = tSpace; float tSide5 = 1f - tSpace; - if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 0) != 0) { - tSide0 = tSide2 = tSide4 = 0; - tSide3 = tSide5 = 1; - } - if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 1) != 0) { - tSide2 = tSide4 = 0; - tSide1 = tSide3 = tSide5 = 1; - } - if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 2) != 0) { - tSide0 = tSide2 = tSide4 = 0; - tSide1 = tSide5 = 1; - } - if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 3) != 0) { - tSide0 = tSide4 = 0; - tSide1 = tSide3 = tSide5 = 1; - } - if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 4) != 0) { - tSide0 = tSide2 = tSide4 = 0; - tSide1 = tSide3 = 1; - } - if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 5) != 0) { - tSide0 = tSide2 = 0; - tSide1 = tSide3 = tSide5 = 1; - } + if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 0) != 0){tSide0=tSide2=tSide4=0;tSide3=tSide5=1;} + if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 1) != 0){tSide2=tSide4=0;tSide1=tSide3=tSide5=1;} + if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 2) != 0){tSide0=tSide2=tSide4=0;tSide1=tSide5=1;} + if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 3) != 0){tSide0=tSide4=0;tSide1=tSide3=tSide5=1;} + if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 4) != 0){tSide0=tSide2=tSide4=0;tSide1=tSide3=1;} + if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 5) != 0){tSide0=tSide2=0;tSide1=tSide3=tSide5=1;} byte tConn = ((BaseMetaPipeEntity) getBaseMetaTileEntity()).mConnections; - if ((tConn & 1 << ForgeDirection.DOWN.ordinal()) != 0) { + if((tConn & 1 << ForgeDirection.DOWN.ordinal()) != 0) { tSide0 = 0f; } - if ((tConn & 1 << ForgeDirection.UP.ordinal()) != 0) { + if((tConn & 1 << ForgeDirection.UP.ordinal()) != 0) { tSide1 = 1f; } - if ((tConn & 1 << ForgeDirection.NORTH.ordinal()) != 0) { + if((tConn & 1 << ForgeDirection.NORTH.ordinal()) != 0) { tSide2 = 0f; } - if ((tConn & 1 << ForgeDirection.SOUTH.ordinal()) != 0) { + if((tConn & 1 << ForgeDirection.SOUTH.ordinal()) != 0) { tSide3 = 1f; } - if ((tConn & 1 << ForgeDirection.WEST.ordinal()) != 0) { + if((tConn & 1 << ForgeDirection.WEST.ordinal()) != 0) { tSide4 = 0f; } - if ((tConn & 1 << ForgeDirection.EAST.ordinal()) != 0) { + if((tConn & 1 << ForgeDirection.EAST.ordinal()) != 0) { tSide5 = 1f; } - return AxisAlignedBB.getBoundingBox( - aX + tSide4, aY + tSide0, aZ + tSide2, aX + tSide5, aY + tSide1, aZ + tSide3); + return AxisAlignedBB.getBoundingBox(aX + tSide4, aY + tSide0, aZ + tSide2, aX + tSide5, aY + tSide1, aZ + tSide3); } @Override public float getThickNess() { - if (GT_Mod.instance.isClientSide() && GT_Client.hideValue == 1) { + if(GT_Mod.instance.isClientSide() && GT_Client.hideValue==1) { return 0.0625F; } return 0.5f; } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java index b3be875b85..f3fc2145a6 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java @@ -1,8 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.single; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_Container_BuckConverter; import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_GUIContainer_BuckConverter; import com.github.technus.tectech.util.CommonValues; @@ -23,18 +20,21 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; +import static net.minecraft.util.StatCollector.translateToLocal; + public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMachineBlock { - private static GT_RenderedTexture BUCK, BUCK_ACTIVE; - public int EUT = 0, AMP = 0; + private static GT_RenderedTexture BUCK,BUCK_ACTIVE; + public int EUT=0,AMP=0; public GT_MetaTileEntity_BuckConverter(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } public GT_MetaTileEntity_BuckConverter(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } @Override @@ -51,21 +51,11 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { - return new ITexture[] { - MACHINE_CASINGS_TT[mTier][aColorIndex + 1], - aSide == aFacing - ? (aActive ? BUCK_ACTIVE : BUCK) - : (aSide == GT_Utility.getOppositeSide(aFacing) - ? OVERLAYS_ENERGY_IN_POWER_TT[mTier] - : (aActive ? OVERLAYS_ENERGY_OUT_POWER_TT[mTier] : OVERLAYS_ENERGY_IN_POWER_TT[mTier])) - }; + public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aSide == aFacing ? (aActive?BUCK_ACTIVE:BUCK) : + (aSide==GT_Utility.getOppositeSide(aFacing)? + OVERLAYS_ENERGY_IN_POWER_TT[mTier]: + (aActive ? OVERLAYS_ENERGY_OUT_POWER_TT[mTier] : OVERLAYS_ENERGY_IN_POWER_TT[mTier]))}; } @Override @@ -95,15 +85,15 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac @Override public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setInteger("eEUT", EUT); - aNBT.setInteger("eAMP", AMP); + aNBT.setInteger("eEUT",EUT); + aNBT.setInteger("eAMP",AMP); } @Override public void loadNBTData(NBTTagCompound aNBT) { - EUT = aNBT.getInteger("eEUT"); - AMP = aNBT.getInteger("eAMP"); - getBaseMetaTileEntity().setActive((long) AMP * EUT >= 0); + EUT=aNBT.getInteger("eEUT"); + AMP=aNBT.getInteger("eAMP"); + getBaseMetaTileEntity().setActive((long)AMP*EUT >=0); } @Override @@ -132,13 +122,11 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.machine.tt.buck.desc.0"), // Electronic voltage regulator - EnumChatFormatting.BLUE - + translateToLocal("gt.blockmachines.machine.tt.buck.desc.1"), // Adjustable step down transformer - EnumChatFormatting.BLUE - + translateToLocal("gt.blockmachines.machine.tt.buck.desc.2") // Switching power supply... + return new String[]{ + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.machine.tt.buck.desc.0"),//Electronic voltage regulator + EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.machine.tt.buck.desc.1"),//Adjustable step down transformer + EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.machine.tt.buck.desc.2")//Switching power supply... }; } @@ -164,9 +152,7 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac @Override public boolean isOutputFacing(byte aSide) { - return getBaseMetaTileEntity().isActive() - && aSide != getBaseMetaTileEntity().getFrontFacing() - && aSide != getBaseMetaTileEntity().getBackFacing(); + return getBaseMetaTileEntity().isActive() && aSide != getBaseMetaTileEntity().getFrontFacing() && aSide != getBaseMetaTileEntity().getBackFacing(); } @Override @@ -176,7 +162,7 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac @Override public long maxAmperesOut() { - return getBaseMetaTileEntity().isActive() ? Math.min(Math.abs(AMP), 64) : 0; + return getBaseMetaTileEntity().isActive()?Math.min(Math.abs(AMP),64):0; } @Override @@ -186,17 +172,17 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac @Override public long maxEUOutput() { - return getBaseMetaTileEntity().isActive() ? Math.min(Math.abs(EUT), maxEUInput()) : 0; + return getBaseMetaTileEntity().isActive()?Math.min(Math.abs(EUT),maxEUInput()):0; } @Override public long maxEUStore() { - return CommonValues.V[mTier] << 4; + return CommonValues.V[mTier]<<4; } @Override public long getMinimumStoredEU() { - return CommonValues.V[mTier] << 2; + return CommonValues.V[mTier]<<2; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DataReader.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DataReader.java index 90f1d17dec..9b177dd1ce 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DataReader.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DataReader.java @@ -1,11 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.single; -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_Container_DataReader; import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_GUIContainer_DataReader; import com.github.technus.tectech.util.CommonValues; @@ -22,7 +16,6 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Utility; -import java.util.*; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -33,21 +26,29 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; +import java.util.*; + +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by Tec on 23.03.2017. */ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine { - private static final HashMap> RENDER_REGISTRY = new HashMap<>(); - public static GT_RenderedTexture READER_ONLINE, READER_OFFLINE; + private static final HashMap> RENDER_REGISTRY =new HashMap<>(); + public static GT_RenderedTexture READER_ONLINE, READER_OFFLINE; public GT_MetaTileEntity_DataReader(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier, 1, "", 1, 1, "dataReader.png", ""); - TT_Utility.setTier(aTier, this); + super(aID,aName,aNameRegional,aTier,1,"",1,1,"dataReader.png",""); + TT_Utility.setTier(aTier,this); } public GT_MetaTileEntity_DataReader(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { - super(aName, aTier, 1, aDescription, aTextures, 1, 1, "dataReader.png", ""); - TT_Utility.setTier(aTier, this); + super(aName,aTier,1,aDescription,aTextures,1,1,"dataReader.png",""); + TT_Utility.setTier(aTier,this); } @Override @@ -64,30 +65,19 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { - if (aBaseMetaTileEntity.getWorld() == null) { - if (aSide == aFacing) { - return new ITexture[] { - MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE - }; + public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + if(aBaseMetaTileEntity.getWorld()==null){ + if(aSide==aFacing){ + return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE}; } - return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; + return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; } - if (aSide == mMainFacing) { - return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE - }; - } else if (aSide == aFacing) { - return new ITexture[] { - MACHINE_CASINGS_TT[mTier][aColorIndex + 1], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) - }; + if(aSide==mMainFacing){ + return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE}; + }else if(aSide==aFacing){ + return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT)}; } - return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; + return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; } @Override @@ -97,15 +87,15 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public int checkRecipe() { - if (getOutputAt(0) != null) { + if(getOutputAt(0)!=null){ return DID_NOT_FIND_RECIPE; } - ItemStack input = getInputAt(0); - for (IDataRender render : getRenders(new TT_Utility.ItemStack_NoNBT(input))) { - if (render.canRender(input, mTier)) { - mOutputItems[0] = input.copy(); - input.stackSize -= 1; - calculateOverclockedNess(render.getReadingEUt(), render.getReadingTime()); + ItemStack input=getInputAt(0); + for(IDataRender render:getRenders(new TT_Utility.ItemStack_NoNBT(input))){ + if(render.canRender(input,mTier)){ + mOutputItems[0]=input.copy(); + input.stackSize-=1; + calculateOverclockedNess(render.getReadingEUt(),render.getReadingTime()); if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1) return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS; return FOUND_AND_SUCCESSFULLY_USED_RECIPE; @@ -117,7 +107,7 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { super.onPostTick(aBaseMetaTileEntity, aTick); - aBaseMetaTileEntity.setActive(getOutputAt(0) != null || mMaxProgresstime > 0); + aBaseMetaTileEntity.setActive(getOutputAt(0)!=null || mMaxProgresstime>0); } @Override @@ -127,14 +117,7 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_DataReader( - aPlayerInventory, - aBaseMetaTileEntity, - getLocalName(), - mGUIName, - GT_Utility.isStringValid(mNEIName) - ? mNEIName - : getRecipeList() != null ? getRecipeList().mUnlocalizedName : ""); + return new GT_GUIContainer_DataReader(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), mGUIName, GT_Utility.isStringValid(mNEIName) ? mNEIName : getRecipeList() != null ? getRecipeList().mUnlocalizedName : ""); } @Override @@ -149,13 +132,11 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.machine.tt.datareader.desc.0"), // Reads Data Sticks and Orbs - EnumChatFormatting.BLUE - + translateToLocal("gt.blockmachines.machine.tt.datareader.desc.1"), // Power it up and - EnumChatFormatting.BLUE - + translateToLocal("gt.blockmachines.machine.tt.datareader.desc.2") // Put the data storage in + return new String[]{ + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.machine.tt.datareader.desc.0"),//Reads Data Sticks and Orbs + EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.machine.tt.datareader.desc.1"),//Power it up and + EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.machine.tt.datareader.desc.2")//Put the data storage in }; } @@ -171,12 +152,12 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public boolean isInputFacing(byte aSide) { - return aSide != getBaseMetaTileEntity().getFrontFacing(); + return aSide!=getBaseMetaTileEntity().getFrontFacing(); } @Override public boolean isOutputFacing(byte aSide) { - return aSide != getBaseMetaTileEntity().getFrontFacing(); + return aSide!=getBaseMetaTileEntity().getFrontFacing(); } @Override @@ -186,107 +167,89 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public long maxEUStore() { - return maxEUInput() * 16L; + return maxEUInput()*16L; } @Override public long getMinimumStoredEU() { - return maxEUInput() * 4L; + return maxEUInput()*4L; } - public static void addDataRender(TT_Utility.ItemStack_NoNBT stack, IDataRender render) { + public static void addDataRender(TT_Utility.ItemStack_NoNBT stack, IDataRender render){ ArrayList renders = RENDER_REGISTRY.computeIfAbsent(stack, k -> new ArrayList<>()); - if (FMLCommonHandler.instance().getEffectiveSide().isClient()) { + if(FMLCommonHandler.instance().getEffectiveSide().isClient()) { render.loadResources(); } renders.add(render); } - public static List getRenders(TT_Utility.ItemStack_NoNBT stack) { + public static List getRenders(TT_Utility.ItemStack_NoNBT stack){ ArrayList iDataRenders = RENDER_REGISTRY.get(stack); - return iDataRenders == null ? Collections.emptyList() : iDataRenders; + return iDataRenders==null?Collections.emptyList():iDataRenders; } public interface IDataRender { @SideOnly(Side.CLIENT) void loadResources(); - @SideOnly(Side.CLIENT) void initRender(ItemStack itemStack); - @SideOnly(Side.CLIENT) - void renderTooltips(ItemStack itemStack, int mouseX, int mouseY, GT_GUIContainer_DataReader gui); - + void renderTooltips(ItemStack itemStack,int mouseX,int mouseY,GT_GUIContainer_DataReader gui); @SideOnly(Side.CLIENT) - void renderForeground( - ItemStack itemStack, int mouseX, int mouseY, GT_GUIContainer_DataReader gui, FontRenderer font); - + void renderForeground(ItemStack itemStack,int mouseX,int mouseY,GT_GUIContainer_DataReader gui, FontRenderer font); @SideOnly(Side.CLIENT) - void renderBackgroundOverlay( - ItemStack itemStack, int mouseX, int mouseY, int X, int Y, GT_GUIContainer_DataReader gui); - + void renderBackgroundOverlay(ItemStack itemStack, int mouseX, int mouseY, int X, int Y, GT_GUIContainer_DataReader gui); boolean canRender(ItemStack itemStack, byte tier); - int getReadingEUt(); - int getReadingTime(); } - public static void run() { - addDataRender(new TT_Utility.ItemStack_NoNBT(ItemList.Tool_DataStick.get(1)), new IDataRender() { + public static void run(){ + addDataRender(new TT_Utility.ItemStack_NoNBT(ItemList.Tool_DataStick.get(1)),new IDataRender() { @SideOnly(Side.CLIENT) private ResourceLocation bg; - @SideOnly(Side.CLIENT) - private HashMap slots; - - private HashMap slots2; + private HashMap slots; + private HashMap slots2; @Override @SideOnly(Side.CLIENT) public void loadResources() { - bg = new ResourceLocation(MODID + ":textures/gui/assLineRender.png"); + bg =new ResourceLocation(MODID+":textures/gui/assLineRender.png"); } @Override public void initRender(ItemStack itemStack) { - slots = new HashMap<>(); - slots2 = new HashMap<>(); - - slots.put( - new GT_Slot_Holo(null, 0, 143, 55, false, false, 1), - ItemList.Tool_DataStick.getWithName(1, "Research data")); - ItemStack output = ItemStack.loadItemStackFromNBT(itemStack.stackTagCompound.getCompoundTag("output")); - if (output != null) { - slots.put(new GT_Slot_Holo(null, 0, 143, 19, false, false, 64), output); + slots=new HashMap<>(); + slots2=new HashMap<>(); + + slots.put(new GT_Slot_Holo(null,0,143,55,false,false,1),ItemList.Tool_DataStick.getWithName(1,"Research data")); + ItemStack output=ItemStack.loadItemStackFromNBT(itemStack.stackTagCompound.getCompoundTag("output")); + if(output!=null){ + slots.put(new GT_Slot_Holo(null,0,143,19,false,false,64),output); } for (int i = 0; i < 16; i++) { - ArrayList array = new ArrayList<>(); - ItemStack input = ItemStack.loadItemStackFromNBT( - itemStack.stackTagCompound.getCompoundTag(Integer.toString(i))); - if (input != null) { + ArrayList array=new ArrayList<>(); + ItemStack input=ItemStack.loadItemStackFromNBT(itemStack.stackTagCompound.getCompoundTag(Integer.toString(i))); + if(input!=null){ array.add(input); } - for (int k = 0; k < itemStack.stackTagCompound.getInteger("a" + i); k++) { - input = ItemStack.loadItemStackFromNBT( - itemStack.stackTagCompound.getCompoundTag("a" + i + ":" + k)); - if (input != null) { + for (int k = 0; k < itemStack.stackTagCompound.getInteger("a"+i); k++) { + input=ItemStack.loadItemStackFromNBT(itemStack.stackTagCompound.getCompoundTag("a" + i + ":" + k)); + if(input!=null){ array.add(input); } } - if (array.size() > 0) { - slots2.put( - new GT_Slot_Holo(null, 0, 17 + (i & 0x3) * 18, 19 + (i >> 2) * 18, false, false, 64), + if(array.size()>0){ + slots2.put(new GT_Slot_Holo(null,0,17+(i&0x3)*18,19+(i>>2)*18,false,false,64), array.toArray(nullItem)); } } for (int i = 0; i < 4; i++) { - FluidStack fs = - FluidStack.loadFluidStackFromNBT(itemStack.stackTagCompound.getCompoundTag("f" + i)); - if (fs != null) { - slots.put( - new GT_Slot_Holo(null, 0, 107, 19 + i * 18, false, false, 1), + FluidStack fs=FluidStack.loadFluidStackFromNBT(itemStack.stackTagCompound.getCompoundTag("f"+i)); + if(fs!=null){ + slots.put(new GT_Slot_Holo(null,0,107,19+i*18,false,false,1), GT_Utility.getFluidDisplayStack(fs, true)); } } @@ -294,68 +257,53 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public void renderTooltips(ItemStack itemStack, int mouseX, int mouseY, GT_GUIContainer_DataReader gui) { - for (Map.Entry entry : slots.entrySet()) { - gui.renderTooltipSimple(mouseX, mouseY, entry.getKey(), entry.getValue()); + for(Map.Entry entry:slots.entrySet()){ + gui.renderTooltipSimple(mouseX, mouseY, entry.getKey(),entry.getValue()); } - int time = (int) (System.currentTimeMillis() / 2000); - for (Map.Entry entry : slots2.entrySet()) { - gui.renderTooltipSimple( - mouseX, mouseY, entry.getKey(), entry.getValue()[time % entry.getValue().length]); + int time=(int)(System.currentTimeMillis()/2000); + for(Map.Entry entry:slots2.entrySet()){ + gui.renderTooltipSimple(mouseX, mouseY, entry.getKey(),entry.getValue()[time%entry.getValue().length]); } } @Override @SideOnly(Side.CLIENT) - public void renderForeground( - ItemStack itemStack, int mouseX, int mouseY, GT_GUIContainer_DataReader gui, FontRenderer font) { - int time = itemStack.stackTagCompound.getInteger("time"); - int EUt = itemStack.stackTagCompound.getInteger("eu"); + public void renderForeground(ItemStack itemStack, int mouseX, int mouseY, GT_GUIContainer_DataReader gui, FontRenderer font) { + int time=itemStack.stackTagCompound.getInteger("time"); + int EUt=itemStack.stackTagCompound.getInteger("eu"); font.drawString(translateToLocal("tt.keyphrase.Ass_line_recipe"), 7, 8, 0x80a0ff); - font.drawString( - GT_Utility.trans("152", "Total: ") + GT_Utility.formatNumbers((long) time * EUt) + " EU", - 7, - 93, - 0x80a0ff); - font.drawString( - GT_Utility.trans("153", "Usage: ") + GT_Utility.formatNumbers(EUt) + " EU/t", 7, 103, 0x80a0ff); - font.drawString( - GT_Utility.trans("154", "Voltage: ") + GT_Utility.formatNumbers(EUt) + " EU", 7, 113, 0x80a0ff); - font.drawString(GT_Utility.trans("155", "Amperage: ") + 1, 7, 123, 0x80a0ff); - font.drawString( - GT_Utility.trans("158", "Time: ") - + GT_Utility.formatNumbers(0.05d * time) - + GT_Utility.trans("161", " secs"), - 7, - 133, - 0x80a0ff); - - for (Map.Entry entry : slots.entrySet()) { - gui.renderItemSimple(entry.getKey(), entry.getValue()); + font.drawString(GT_Utility.trans("152","Total: ") + GT_Utility.formatNumbers((long) time * EUt) + " EU",7,93, 0x80a0ff); + font.drawString(GT_Utility.trans("153","Usage: ") + GT_Utility.formatNumbers(EUt) + " EU/t",7,103, 0x80a0ff); + font.drawString(GT_Utility.trans("154","Voltage: ") + GT_Utility.formatNumbers(EUt) + " EU",7,113, 0x80a0ff); + font.drawString(GT_Utility.trans("155","Amperage: ") + 1 ,7,123, 0x80a0ff); + font.drawString( GT_Utility.trans("158","Time: ") + GT_Utility.formatNumbers(0.05d * time) + GT_Utility.trans("161"," secs"), 7,133, 0x80a0ff); + + for(Map.Entry entry:slots.entrySet()){ + gui.renderItemSimple(entry.getKey(),entry.getValue()); } - time = (int) (System.currentTimeMillis() / 2000); - for (Map.Entry entry : slots2.entrySet()) { - gui.renderItemSimple(entry.getKey(), entry.getValue()[time % entry.getValue().length]); + time=(int)(System.currentTimeMillis()/2000); + for(Map.Entry entry:slots2.entrySet()){ + gui.renderItemSimple(entry.getKey(),entry.getValue()[time%entry.getValue().length]); } } @Override @SideOnly(Side.CLIENT) - public void renderBackgroundOverlay( - ItemStack itemStack, int mouseX, int mouseY, int X, int Y, GT_GUIContainer_DataReader gui) { - // 176/83 + public void renderBackgroundOverlay(ItemStack itemStack, int mouseX, int mouseY, int X, int Y, GT_GUIContainer_DataReader gui) { + //176/83 gui.mc.getTextureManager().bindTexture(bg); - gui.drawTexturedModalRect(X, Y, 0, 0, 176, 151); + gui.drawTexturedModalRect(X,Y,0,0,176, 151); } @Override - public boolean canRender(ItemStack itemStack, byte tier) { - NBTTagCompound nbtTagCompound = itemStack.stackTagCompound; + public boolean canRender(ItemStack itemStack,byte tier) { + NBTTagCompound nbtTagCompound=itemStack.stackTagCompound; return nbtTagCompound != null && nbtTagCompound.hasKey("output"); } @Override public int getReadingEUt() { - return (int) V[4]; + return (int)V[4]; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java index d1990fc316..c68b9fc395 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java @@ -1,8 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.single; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_OverflowElemental; import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_Container_DebugPollutor; @@ -25,22 +22,25 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by Tec on 23.03.2017. */ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMachineBlock { private static GT_RenderedTexture POLLUTOR; - public int pollution = 0; - public float anomaly = 0; + public int pollution=0; + public float anomaly=0; public GT_MetaTileEntity_DebugPollutor(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } public GT_MetaTileEntity_DebugPollutor(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } @Override @@ -56,21 +56,8 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { - return new ITexture[] { - MACHINE_CASINGS_TT[mTier][aColorIndex + 1], - aSide != aFacing - ? aActive - ? new GT_RenderedTexture(GT_MetaTileEntity_Hatch_OverflowElemental.MufflerEM) - : new GT_RenderedTexture(GT_MetaTileEntity_Hatch_OverflowElemental.MufflerEMidle) - : POLLUTOR - }; + public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aSide != aFacing ? aActive? new GT_RenderedTexture(GT_MetaTileEntity_Hatch_OverflowElemental.MufflerEM): new GT_RenderedTexture(GT_MetaTileEntity_Hatch_OverflowElemental.MufflerEMidle) : POLLUTOR}; } @Override @@ -100,15 +87,15 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac @Override public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setInteger("ePollution", pollution); - aNBT.setFloat("eAnomaly", anomaly); + aNBT.setInteger("ePollution",pollution); + aNBT.setFloat("eAnomaly",anomaly); } @Override public void loadNBTData(NBTTagCompound aNBT) { - pollution = aNBT.getInteger("ePollution"); - anomaly = aNBT.getFloat("eAnomaly"); - getBaseMetaTileEntity().setActive(anomaly > 0 || pollution > 0); + pollution=aNBT.getInteger("ePollution"); + anomaly=aNBT.getFloat("eAnomaly"); + getBaseMetaTileEntity().setActive(anomaly>0||pollution>0); } @Override @@ -119,18 +106,18 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isServerSide()) { - aBaseMetaTileEntity.setActive(anomaly > 0 || pollution > 0); + aBaseMetaTileEntity.setActive(anomaly>0||pollution>0); if (anomaly > 0) { - TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, anomaly); + TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity,anomaly); } if (pollution > 0) { GT_Pollution.addPollution(aBaseMetaTileEntity, pollution); } } else if (aBaseMetaTileEntity.isClientSide() && aBaseMetaTileEntity.isActive()) { - for (byte i = 0; i < 6; i++) { - if (i != aBaseMetaTileEntity.getFrontFacing()) { + for(byte i=0;i<6;i++){ + if(i!=aBaseMetaTileEntity.getFrontFacing()){ TecTech.proxy.em_particle(aBaseMetaTileEntity, i); - TecTech.proxy.pollutor_particle(aBaseMetaTileEntity, i); + TecTech.proxy.pollutor_particle(aBaseMetaTileEntity,i); } } } @@ -157,13 +144,11 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.debug.tt.pollutor.desc.0"), // Shit genny broke! - EnumChatFormatting.BLUE - + translateToLocal("gt.blockmachines.debug.tt.pollutor.desc.1"), // Infinite Producer/Consumer - EnumChatFormatting.BLUE - + translateToLocal("gt.blockmachines.debug.tt.pollutor.desc.2") // Since i wanted one? + return new String[]{ + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.debug.tt.pollutor.desc.0"),//Shit genny broke! + EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.debug.tt.pollutor.desc.1"),//Infinite Producer/Consumer + EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.debug.tt.pollutor.desc.2")//Since i wanted one? }; } @@ -171,4 +156,5 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac public boolean isElectric() { return false; } + } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java index a920d6db10..074a07181a 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java @@ -1,9 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.single; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; -import static com.github.technus.tectech.util.CommonValues.TRANSFER_AT; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.mechanics.pipe.IConnectsToEnergyTunnel; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyTunnel; import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Energy; @@ -29,25 +25,27 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; +import static com.github.technus.tectech.util.CommonValues.TRANSFER_AT; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by Tec on 23.03.2017. */ -public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_TieredMachineBlock - implements IConnectsToEnergyTunnel { +public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_TieredMachineBlock implements IConnectsToEnergyTunnel { private static GT_RenderedTexture GENNY; private boolean LASER = false; - public int EUT = 0, AMP = 0; - public boolean producing = true; + public int EUT=0,AMP=0; + public boolean producing=true; public GT_MetaTileEntity_DebugPowerGenerator(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } - public GT_MetaTileEntity_DebugPowerGenerator( - String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_DebugPowerGenerator(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } @Override @@ -58,9 +56,7 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie @Override public final void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { LASER = !LASER; - GT_Utility.sendChatToPlayer( - aPlayer, - String.format(StatCollector.translateToLocal("tt.chat.debug.generator"), LASER ? "ON" : "OFF")); + GT_Utility.sendChatToPlayer(aPlayer, String.format(StatCollector.translateToLocal("tt.chat.debug.generator"), LASER ? "ON" : "OFF")); } @Override @@ -71,21 +67,11 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { - return new ITexture[] { - MACHINE_CASINGS_TT[mTier][aColorIndex + 1], - aSide != aFacing - ? LASER - ? (aActive ? OVERLAYS_ENERGY_OUT_LASER_TT[mTier] : OVERLAYS_ENERGY_IN_LASER_TT[mTier]) - : (aActive ? OVERLAYS_ENERGY_OUT_POWER_TT[mTier] : OVERLAYS_ENERGY_IN_POWER_TT[mTier]) - : GENNY - }; + public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + return new ITexture[]{ + MACHINE_CASINGS_TT[mTier][aColorIndex + 1], + aSide != aFacing ? LASER ? (aActive ? OVERLAYS_ENERGY_OUT_LASER_TT[mTier] : OVERLAYS_ENERGY_IN_LASER_TT[mTier]) + : (aActive ? OVERLAYS_ENERGY_OUT_POWER_TT[mTier]: OVERLAYS_ENERGY_IN_POWER_TT[mTier]) : GENNY}; } @Override @@ -115,17 +101,17 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie @Override public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setInteger("eEUT", EUT); - aNBT.setInteger("eAMP", AMP); - aNBT.setBoolean("eLaser", LASER); + aNBT.setInteger("eEUT",EUT); + aNBT.setInteger("eAMP",AMP); + aNBT.setBoolean("eLaser",LASER); } @Override public void loadNBTData(NBTTagCompound aNBT) { - EUT = aNBT.getInteger("eEUT"); - AMP = aNBT.getInteger("eAMP"); - LASER = aNBT.getBoolean("eLaser"); - producing = (long) AMP * EUT >= 0; + EUT=aNBT.getInteger("eEUT"); + AMP=aNBT.getInteger("eAMP"); + LASER=aNBT.getBoolean("eLaser"); + producing=(long)AMP*EUT>=0; getBaseMetaTileEntity().setActive(producing); } @@ -144,12 +130,14 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie } else { setEUVar(0); } - } else { + } + else { byte Tick = (byte) (aTick % 20); if (aBaseMetaTileEntity.isActive() && TRANSFER_AT == Tick) { setEUVar(maxEUStore()); moveAround(aBaseMetaTileEntity); - } else if (TRANSFER_AT == Tick) { + } + else if (TRANSFER_AT == Tick) { setEUVar(0); } } @@ -177,14 +165,12 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.debug.tt.genny.desc.0"), // Power from nothing - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.debug.tt.genny.desc.3"), // - EnumChatFormatting.BLUE - + translateToLocal("gt.blockmachines.debug.tt.genny.desc.1"), // Infinite Producer/Consumer - EnumChatFormatting.BLUE - + translateToLocal("gt.blockmachines.debug.tt.genny.desc.2") // Since i wanted one... + return new String[]{ + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.debug.tt.genny.desc.0"),//Power from nothing + EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.debug.tt.genny.desc.3"),// + EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.debug.tt.genny.desc.1"),//Infinite Producer/Consumer + EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.debug.tt.genny.desc.2")//Since i wanted one... }; } @@ -215,32 +201,32 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie @Override public long maxAmperesIn() { - return producing ? 0 : Math.abs(AMP); + return producing?0:Math.abs(AMP); } @Override public long maxAmperesOut() { - return producing ? Math.abs(AMP) : 0; + return producing?Math.abs(AMP):0; } @Override public long maxEUInput() { - return producing ? 0 : Integer.MAX_VALUE; + return producing?0:Integer.MAX_VALUE; } @Override public long maxEUOutput() { - return producing ? Math.abs(EUT) : 0; + return producing?Math.abs(EUT):0; } @Override public long maxEUStore() { - return LASER ? Math.abs((long) EUT * AMP * 24) : Math.abs((long) EUT * AMP) << 2; + return LASER ? Math.abs((long)EUT*AMP*24) : Math.abs((long)EUT*AMP)<<2 ; } @Override public long getMinimumStoredEU() { - return Math.abs((long) EUT * AMP); + return Math.abs((long)EUT*AMP); } @Override @@ -259,33 +245,29 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie } private void moveAround(IGregTechTileEntity aBaseMetaTileEntity) { - for (byte face = 0; face < 6; face++) { - if (face == aBaseMetaTileEntity.getFrontFacing()) continue; + for (byte face = 0; face < 6; face ++) { + if (face == aBaseMetaTileEntity.getFrontFacing()) + continue; byte opposite = GT_Utility.getOppositeSide(face); for (short dist = 1; dist < 1000; dist++) { - IGregTechTileEntity tGTTileEntity = - aBaseMetaTileEntity.getIGregTechTileEntityAtSideAndDistance(face, dist); + IGregTechTileEntity tGTTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityAtSideAndDistance(face, dist); if (tGTTileEntity != null) { IMetaTileEntity aMetaTileEntity = tGTTileEntity.getMetaTileEntity(); if (aMetaTileEntity != null) { - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyTunnel - && opposite == tGTTileEntity.getFrontFacing()) { + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyTunnel && + opposite == tGTTileEntity.getFrontFacing()) { if (maxEUOutput() > ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()) { aMetaTileEntity.doExplosion(maxEUOutput()); } else { long diff = Math.min( AMP * 20L * maxEUOutput(), Math.min( - ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUStore() - - aMetaTileEntity - .getBaseMetaTileEntity() - .getStoredEU(), - aBaseMetaTileEntity.getStoredEU())); + ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUStore() - + aMetaTileEntity.getBaseMetaTileEntity().getStoredEU(), + aBaseMetaTileEntity.getStoredEU() + )); ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity) - .setEUVar(aMetaTileEntity - .getBaseMetaTileEntity() - .getStoredEU() - + diff); + .setEUVar(aMetaTileEntity.getBaseMetaTileEntity().getStoredEU() + diff); } } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Pipe_Energy) { if (((GT_MetaTileEntity_Pipe_Energy) aMetaTileEntity).connectionCount < 2) { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java index 0aeb9b853d..46b3d5e927 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java @@ -1,8 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.single; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_Container_DebugStructureWriter; import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_GUIContainer_DebugStructureWriter; @@ -26,6 +23,9 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; +import static net.minecraft.util.StatCollector.translateToLocal; + /** * Created by Tec on 23.03.2017. */ @@ -33,17 +33,16 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti private static GT_RenderedTexture MARK; public short[] numbers = new short[6]; public boolean size = false; - public String[] result = new String[] {"Undefined"}; + public String[] result = new String[]{"Undefined"}; public GT_MetaTileEntity_DebugStructureWriter(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } - public GT_MetaTileEntity_DebugStructureWriter( - String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_DebugStructureWriter(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } @Override @@ -59,17 +58,8 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { - return new ITexture[] { - MACHINE_CASINGS_TT[mTier][aColorIndex + 1], - aSide != aFacing ? new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TELEPORTER_ACTIVE) : MARK - }; + public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aSide != aFacing ? new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TELEPORTER_ACTIVE) : MARK}; } @Override @@ -125,26 +115,17 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isAllowedToWork()) { - // String pseudoJavaCode = StructureUtility.getPseudoJavaCode(aBaseMetaTileEntity.getWorld(), - // - // ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), - // aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), - // aBaseMetaTileEntity.getZCoord(), - // numbers[0], numbers[1], numbers[2], - // numbers[3], numbers[4], numbers[5],false); +// String pseudoJavaCode = StructureUtility.getPseudoJavaCode(aBaseMetaTileEntity.getWorld(), +// ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), +// aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), +// numbers[0], numbers[1], numbers[2], +// numbers[3], numbers[4], numbers[5],false); String pseudoJavaCode = StructureUtility.getPseudoJavaCode( - aBaseMetaTileEntity.getWorld(), - ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), - aBaseMetaTileEntity.getXCoord(), - aBaseMetaTileEntity.getYCoord(), - aBaseMetaTileEntity.getZCoord(), - numbers[0], - numbers[1], - numbers[2], + aBaseMetaTileEntity.getWorld(), ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), + aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), + numbers[0], numbers[1], numbers[2], te -> te.getClass().getCanonicalName(), - numbers[3], - numbers[4], - numbers[5], + numbers[3], numbers[4], numbers[5], false); TecTech.LOGGER.info(pseudoJavaCode); result = pseudoJavaCode.split("\\n"); @@ -155,25 +136,17 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti @Override public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { IGregTechTileEntity aBaseMetaTileEntity = getBaseMetaTileEntity(); - // String pseudoJavaCode = StructureUtility.getPseudoJavaCode(aBaseMetaTileEntity.getWorld(), - // ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), - // aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), - // aBaseMetaTileEntity.getZCoord(), - // numbers[0], numbers[1], numbers[2], - // numbers[3], numbers[4], numbers[5],true); +// String pseudoJavaCode = StructureUtility.getPseudoJavaCode(aBaseMetaTileEntity.getWorld(), +// ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), +// aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), +// numbers[0], numbers[1], numbers[2], +// numbers[3], numbers[4], numbers[5],true); String pseudoJavaCode = StructureUtility.getPseudoJavaCode( - aBaseMetaTileEntity.getWorld(), - ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), - aBaseMetaTileEntity.getXCoord(), - aBaseMetaTileEntity.getYCoord(), - aBaseMetaTileEntity.getZCoord(), - numbers[0], - numbers[1], - numbers[2], + aBaseMetaTileEntity.getWorld(), ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), + aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), + numbers[0], numbers[1], numbers[2], te -> te.getClass().getCanonicalName(), - numbers[3], - numbers[4], - numbers[5], + numbers[3], numbers[4], numbers[5], false); TecTech.LOGGER.info(pseudoJavaCode); result = pseudoJavaCode.split("\\n"); @@ -206,14 +179,11 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.debug.tt.writer.desc.0"), // Scans Blocks Around - EnumChatFormatting.BLUE - + translateToLocal( - "gt.blockmachines.debug.tt.writer.desc.1"), // Prints Multiblock NonTE structure check code - EnumChatFormatting.BLUE - + translateToLocal("gt.blockmachines.debug.tt.writer.desc.2") // ABC axises aligned to machine front + return new String[]{ + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.debug.tt.writer.desc.0"),//Scans Blocks Around + EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.debug.tt.writer.desc.1"),//Prints Multiblock NonTE structure check code + EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.debug.tt.writer.desc.2")//ABC axises aligned to machine front }; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_MicroController.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_MicroController.java index 82b1295351..4c4e035d44 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_MicroController.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_MicroController.java @@ -1,9 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.single; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; -import static com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_DataReader.READER_OFFLINE; -import static com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_DataReader.READER_ONLINE; - import com.github.technus.avrClone.AvrCore; import com.github.technus.avrClone.instructions.ExecutionEvent; import com.github.technus.avrClone.instructions.Instruction; @@ -25,36 +21,39 @@ import gregtech.api.objects.GT_RenderedTexture; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; +import static com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_DataReader.READER_OFFLINE; +import static com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_DataReader.READER_ONLINE; + public class GT_MetaTileEntity_MicroController extends GT_MetaTileEntity_TieredMachineBlock { - public static final int OPS_PER_TICK_MAX = 512; + public static final int OPS_PER_TICK_MAX =512; static { - Instruction.random = TecTech.RANDOM; + Instruction.random= TecTech.RANDOM; } - public AvrCore core; private int[] tempData; public boolean debugRun; private int delay; private int maxLoad; - public static final SidedRedstone sidedRedstone = new SidedRedstone(0x16); + public static final SidedRedstone sidedRedstone=new SidedRedstone(0x16); public GT_MetaTileEntity_MicroController(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, "AVR Micro-controller"); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } public GT_MetaTileEntity_MicroController(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); - TT_Utility.setTier(aTier, this); - core = new AvrCore(); + TT_Utility.setTier(aTier,this); + core=new AvrCore(); core.setUsingImmersiveOperands(false); core.setInstructionRegistry(InstructionRegistry.INSTRUCTION_REGISTRY_OP); - core.setDataMemory(Math.max(64, 1 << aTier), Math.max(64, 1 << aTier)); + core.setDataMemory(Math.max(64,1< eeprom = core.getEepromMemory(); - if (eeprom != null) { - avr.setInteger("eepromSize", eeprom.getDefinition().getSize()); + RemovableMemory eeprom=core.getEepromMemory(); + if(eeprom!=null){ + avr.setInteger("eepromSize",eeprom.getDefinition().getSize()); } - if (core.dataMemory != null) { - avr.setIntArray("dataMemory", core.dataMemory); + if(core.dataMemory!=null){ + avr.setIntArray("dataMemory",core.dataMemory); } - tag.setTag("avr", avr); + tag.setTag("avr",avr); } @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (tempData != null) { - // todo discovery of components + //todo discovery of components core.dataMemory = tempData; tempData = null; } if (aBaseMetaTileEntity.isActive()) { - sidedRedstone.preSync(core, aBaseMetaTileEntity); + sidedRedstone.preSync(core,aBaseMetaTileEntity); core.interruptsHandle(); if (core.awoken) { - delay = 0; - for (int load = 0; load < maxLoad; ) { - load += core.getInstruction().getCost(core); + delay=0; + for (int load=0; load < maxLoad;) { + load+=core.getInstruction().getCost(core); ExecutionEvent executionEvent = core.cpuCycleForce(); if (executionEvent != null) { if (executionEvent.throwable instanceof DelayEvent) { delay = executionEvent.data[0]; break; } else if (executionEvent.throwable instanceof DebugEvent) { - if (debugRun) { + if(debugRun) { aBaseMetaTileEntity.setActive(false); break; } } } } - } else if (delay > 0) { + }else if(delay>0){ delay--; - if (delay == 0) { - core.awoken = true; + if(delay==0){ + core.awoken=true; } } - sidedRedstone.postSync(core, aBaseMetaTileEntity); + sidedRedstone.postSync(core,aBaseMetaTileEntity); } - core.active = aBaseMetaTileEntity.isActive(); + core.active=aBaseMetaTileEntity.isActive(); } @Override @@ -165,30 +166,19 @@ public class GT_MetaTileEntity_MicroController extends GT_MetaTileEntity_TieredM } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { - if (aBaseMetaTileEntity.getWorld() == null) { - if (aSide == aFacing) { - return new ITexture[] { - MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE - }; + public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + if(aBaseMetaTileEntity.getWorld()==null){ + if(aSide==aFacing){ + return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE}; } - return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; + return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; } - if (aSide == aBaseMetaTileEntity.getFrontFacing()) { - return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE - }; - } else if (aSide == aFacing) { - return new ITexture[] { - MACHINE_CASINGS_TT[mTier][aColorIndex + 1], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) - }; + if(aSide==aBaseMetaTileEntity.getFrontFacing()){ + return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE}; + }else if(aSide==aFacing){ + return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT)}; } - return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; + return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_OwnerDetector.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_OwnerDetector.java index 1a7048fed4..57009c2e35 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_OwnerDetector.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_OwnerDetector.java @@ -1,10 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.single; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; -import static com.github.technus.tectech.util.CommonValues.RECIPE_AT; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; @@ -26,22 +21,27 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import org.apache.commons.lang3.reflect.FieldUtils; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; +import static com.github.technus.tectech.util.CommonValues.RECIPE_AT; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + /** * Created by Tec on 23.03.2017. */ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMachineBlock { - private static GT_RenderedTexture OWNER_ONLINE, OWNER_OFFLINE; + private static GT_RenderedTexture OWNER_ONLINE,OWNER_OFFLINE; private String uuid; - private boolean interdimensional = true; + private boolean interdimensional=true; public GT_MetaTileEntity_OwnerDetector(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } public GT_MetaTileEntity_OwnerDetector(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); - TT_Utility.setTier(aTier, this); + TT_Utility.setTier(aTier,this); } @Override @@ -58,14 +58,8 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { - return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? OWNER_ONLINE : OWNER_OFFLINE}; + public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? OWNER_ONLINE : OWNER_OFFLINE}; } @Override @@ -95,14 +89,14 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac @Override public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setString("eUUID", uuid); - aNBT.setBoolean("eInterDim", interdimensional); + aNBT.setString("eUUID",uuid); + aNBT.setBoolean("eInterDim",interdimensional); } @Override public void loadNBTData(NBTTagCompound aNBT) { - uuid = aNBT.getString("eUUID"); - interdimensional = aNBT.getBoolean("eInterDim"); + uuid=aNBT.getString("eUUID"); + interdimensional=aNBT.getBoolean("eInterDim"); } @Override @@ -112,11 +106,11 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac @Override public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { - if (aBaseMetaTileEntity.isServerSide()) { + if(aBaseMetaTileEntity.isServerSide()) { if (uuid == null || uuid.length() == 0) { String name = aBaseMetaTileEntity.getOwnerName(); if (!("Player".equals(name))) { - uuid = TecTech.proxy.getUUID(name); + uuid= TecTech.proxy.getUUID(name); } } } @@ -124,16 +118,13 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - if (aBaseMetaTileEntity.isServerSide() && aTick % 20 == RECIPE_AT) { - boolean detected = TecTech.proxy.isOnlineUUID(uuid) - || (uuid != null - && uuid.length() > 0 - && TecTech.proxy.isOnlineName(aBaseMetaTileEntity.getOwnerName())); + if (aBaseMetaTileEntity.isServerSide() && aTick%20==RECIPE_AT) { + boolean detected=TecTech.proxy.isOnlineUUID(uuid) || (uuid!=null && uuid.length()>0 && TecTech.proxy.isOnlineName(aBaseMetaTileEntity.getOwnerName())); aBaseMetaTileEntity.setActive(detected); aBaseMetaTileEntity.setGenericRedstoneOutput(detected); - byte value = (byte) (detected ? 15 : 0); - for (byte b = 0; b < 6; b++) { - aBaseMetaTileEntity.setStrongOutputRedstoneSignal(b, value); + byte value=(byte)(detected?15:0); + for(byte b=0;b<6;b++){ + aBaseMetaTileEntity.setStrongOutputRedstoneSignal(b,value); } } } @@ -148,11 +139,7 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac clientLocale = "en_US"; } interdimensional ^= true; - GT_Utility.sendChatToPlayer( - aPlayer, - interdimensional - ? translateToLocalFormatted("tt.keyphrase.Running_interdimensional_scan", clientLocale) - : translateToLocalFormatted("tt.keyphrase.Running_local_dimension_scan", clientLocale)); + GT_Utility.sendChatToPlayer(aPlayer, interdimensional ? translateToLocalFormatted("tt.keyphrase.Running_interdimensional_scan", clientLocale) : translateToLocalFormatted("tt.keyphrase.Running_local_dimension_scan", clientLocale)); } @Override @@ -167,13 +154,11 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.machine.tt.ownerdetector.desc.0"), // Screwdrive to change mode - EnumChatFormatting.BLUE - + translateToLocal("gt.blockmachines.machine.tt.ownerdetector.desc.1"), // Looks for his pa - EnumChatFormatting.BLUE - + translateToLocal("gt.blockmachines.machine.tt.ownerdetector.desc.2") // Emits signal when happy + return new String[]{ + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.machine.tt.ownerdetector.desc.0"),//Screwdrive to change mode + EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.machine.tt.ownerdetector.desc.1"),//Looks for his pa + EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.machine.tt.ownerdetector.desc.2")//Emits signal when happy }; } @@ -234,7 +219,7 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac @Override public int getProgresstime() { - return interdimensional ? 1 : 0; + return interdimensional?1:0; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TT_Transformer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TT_Transformer.java index 0e997f1eb0..c5391537a6 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TT_Transformer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TT_Transformer.java @@ -1,8 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.single; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.interfaces.ITexture; @@ -10,6 +7,9 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Transformer; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; +import static net.minecraft.util.StatCollector.translateToLocal; + public class GT_MetaTileEntity_TT_Transformer extends GT_MetaTileEntity_Transformer { public GT_MetaTileEntity_TT_Transformer(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, ""); @@ -30,36 +30,24 @@ public class GT_MetaTileEntity_TT_Transformer extends GT_MetaTileEntity_Transfor public ITexture[][][] getTextureSet(ITexture[] aTextures) { ITexture[][][] rTextures = new ITexture[12][17][]; for (byte b = -1; b < 16; b++) { - rTextures[0][b + 1] = - new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_MULTI_TT[mTier]}; - rTextures[1][b + 1] = - new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_MULTI_TT[mTier]}; - rTextures[2][b + 1] = - new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_MULTI_TT[mTier]}; - rTextures[3][b + 1] = - new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_POWER_TT[mTier + 1]}; - rTextures[4][b + 1] = - new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_POWER_TT[mTier + 1]}; - rTextures[5][b + 1] = - new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_POWER_TT[mTier + 1]}; - rTextures[6][b + 1] = new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_MULTI_TT[mTier]}; - rTextures[7][b + 1] = new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_MULTI_TT[mTier]}; - rTextures[8][b + 1] = new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_MULTI_TT[mTier]}; - rTextures[9][b + 1] = - new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_POWER_TT[mTier + 1]}; - rTextures[10][b + 1] = - new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_POWER_TT[mTier + 1]}; - rTextures[11][b + 1] = - new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_POWER_TT[mTier + 1]}; + rTextures[0][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_MULTI_TT[mTier]}; + rTextures[1][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_MULTI_TT[mTier]}; + rTextures[2][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_MULTI_TT[mTier]}; + rTextures[3][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_POWER_TT[mTier + 1]}; + rTextures[4][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_POWER_TT[mTier + 1]}; + rTextures[5][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_POWER_TT[mTier + 1]}; + rTextures[6][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_MULTI_TT[mTier]}; + rTextures[7][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_MULTI_TT[mTier]}; + rTextures[8][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_MULTI_TT[mTier]}; + rTextures[9][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_POWER_TT[mTier + 1]}; + rTextures[10][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_POWER_TT[mTier + 1]}; + rTextures[11][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_POWER_TT[mTier + 1]}; } return rTextures; } @Override public String[] getDescription() { - return new String[] { - translateToLocal("gt.blockmachines.tt.transformer.tier." + (mTier > 9 ? "" : "0") + mTier + ".desc"), - CommonValues.TEC_MARK_GENERAL - }; + return new String[]{translateToLocal("gt.blockmachines.tt.transformer.tier." + (mTier > 9 ? "" : "0") + mTier + ".desc"), CommonValues.TEC_MARK_GENERAL}; } -} +} \ No newline at end of file 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 index e3c0ede5e3..8ca4844043 100644 --- 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 @@ -1,12 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.single; -import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.*; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; -import static com.github.technus.tectech.util.CommonValues.V; -import static java.lang.Math.round; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - import com.github.technus.tectech.TecTech; import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.mechanics.spark.RendererMessage; @@ -23,8 +16,6 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicBatteryBuffer; -import java.util.Arrays; -import java.util.HashSet; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.nbt.NBTTagCompound; @@ -32,30 +23,36 @@ import net.minecraft.util.EnumChatFormatting; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.reflect.FieldUtils; +import java.util.Arrays; +import java.util.HashSet; + +import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.*; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; +import static com.github.technus.tectech.util.CommonValues.V; +import static java.lang.Math.round; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryBuffer implements ITeslaConnectable { - // Interface fields - private final Multimap teslaNodeMap = - MultimapBuilder.treeKeys().linkedListValues().build(); + //Interface fields + private final Multimap teslaNodeMap = MultimapBuilder.treeKeys().linkedListValues().build(); private final HashSet sparkList = new HashSet<>(); private int sparkCount = 10; - private static final int transferRadiusMax = TecTech.configTecTech.TESLA_SINGLE_RANGE; // Default is 20 - private static final int perBlockLoss = TecTech.configTecTech.TESLA_SINGLE_LOSS_PER_BLOCK; // Default is 1 - private static final float overDriveLoss = - TecTech.configTecTech.TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE; // Default is 0.25F - private static final int transferRadiusMin = 4; // Minimum user configurable - private int transferRadius = transferRadiusMax; // Default transferRadius setting - - public boolean powerPassToggle = false; // Power Pass for public viewing - private static final int histSteps = 20; // Hysteresis Resolution - private int histSettingLow = 3; // Hysteresis Low Limit - private int histSettingHigh = 15; // Hysteresis High Limit - private static final int histLowLimit = 1; // How low can you configure it? - private static final 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 final static int transferRadiusMax = TecTech.configTecTech.TESLA_SINGLE_RANGE;//Default is 20 + private final static int perBlockLoss = TecTech.configTecTech.TESLA_SINGLE_LOSS_PER_BLOCK;//Default is 1 + private final static float overDriveLoss = TecTech.configTecTech.TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE;//Default is 0.25F + private final static int transferRadiusMin = 4;//Minimum user configurable + private int transferRadius = transferRadiusMax;//Default transferRadius setting + + public boolean powerPassToggle = false;//Power Pass for public viewing + private final static int histSteps = 20;//Hysteresis Resolution + private int histSettingLow = 3;//Hysteresis Low Limit + private int histSettingHigh = 15;//Hysteresis High Limit + private final static int histLowLimit = 1;//How low can you configure it? + private final static 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 final long outputVoltage = V[mTier]; private boolean overdriveToggle = false; @@ -67,35 +64,30 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_TeslaCoil( - String aName, int aTier, String aDescription, ITexture[][][] aTextures, int aSlotCount) { + 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[] { - CommonValues.BASS_MARK, - translateToLocal("gt.blockmachines.machine.tt.tesla.desc.0"), // Your Tesla I/O machine of choice - EnumChatFormatting.AQUA - + translateToLocal("gt.blockmachines.machine.tt.tesla.desc.1") // Lightning stoves for the rich + String[] jargon = new String[]{ + CommonValues.BASS_MARK, + translateToLocal("gt.blockmachines.machine.tt.tesla.desc.0"),//Your Tesla I/O machine of choice + EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.machine.tt.tesla.desc.1")//Lightning stoves for the rich }; String[] sDesc = super.getDescription(); - sDesc = Arrays.copyOfRange(sDesc, 1, sDesc.length); // Removes first element from array + sDesc = Arrays.copyOfRange(sDesc, 1, sDesc.length);//Removes first element from array return ArrayUtils.addAll(jargon, sDesc); } @Override - public boolean onSolderingToolRightClick( - byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + public boolean onSolderingToolRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { if (overdriveToggle) { overdriveToggle = false; - PlayerChatHelper.SendInfo( - aPlayer, translateToLocalFormatted("tt.keyphrase.Overdrive_disengaged", clientLocale)); + PlayerChatHelper.SendInfo(aPlayer, translateToLocalFormatted("tt.keyphrase.Overdrive_disengaged", clientLocale)); } else { overdriveToggle = true; - PlayerChatHelper.SendInfo( - aPlayer, translateToLocalFormatted("tt.keyphrase.Overdrive_engaged", clientLocale)); + PlayerChatHelper.SendInfo(aPlayer, translateToLocalFormatted("tt.keyphrase.Overdrive_engaged", clientLocale)); } return true; } @@ -109,10 +101,7 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB histSettingHigh = histSettingLow + 1; } histHigh = (float) histSettingHigh / histSteps; - PlayerChatHelper.SendInfo( - aPlayer, - translateToLocalFormatted("tt.keyphrase.Hysteresis_high_set_to", clientLocale) + " " - + round(histHigh * 100F) + "%"); + PlayerChatHelper.SendInfo(aPlayer, translateToLocalFormatted("tt.keyphrase.Hysteresis_high_set_to", clientLocale) + " " + round(histHigh * 100F) + "%"); } else { if (histSettingLow > histLowLimit) { histSettingLow--; @@ -120,16 +109,12 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB histSettingLow = histSettingHigh - 1; } histLow = (float) histSettingLow / histSteps; - PlayerChatHelper.SendInfo( - aPlayer, - translateToLocalFormatted("tt.keyphrase.Hysteresis_low_set_to", clientLocale) + " " - + round(histLow * 100F) + "%"); + PlayerChatHelper.SendInfo(aPlayer, translateToLocalFormatted("tt.keyphrase.Hysteresis_low_set_to", clientLocale) + " " + round(histLow * 100F) + "%"); } } @Override - public boolean onWireCutterRightClick( - byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + public boolean onWireCutterRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { if (aPlayer.isSneaking()) { if (transferRadius > transferRadiusMin) { transferRadius--; @@ -139,10 +124,7 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB transferRadius++; } } - PlayerChatHelper.SendInfo( - aPlayer, - translateToLocalFormatted("tt.keyphrase.Tesla_radius_set_to", clientLocale) + " " + transferRadius - + "m"); + PlayerChatHelper.SendInfo(aPlayer, translateToLocalFormatted("tt.keyphrase.Tesla_radius_set_to", clientLocale) + " " + transferRadius + "m"); return false; } @@ -154,12 +136,12 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB @Override public String getAlternativeModeText() { - // Hysteresis based ePowerPass Config + //Hysteresis based ePowerPass Config long energyMax = getStoredEnergy()[1]; long energyStored = getStoredEnergy()[0]; float energyFrac = (float) energyStored / energyMax; - // ePowerPass hist toggle + //ePowerPass hist toggle if (energyFrac > histHigh) { powerPassToggle = true; } else if (energyFrac < histLow) { @@ -168,43 +150,28 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB powerPassToggle = !powerPassToggle; } - // And after this cheeky-ness, toss the string XD - return powerPassToggle - ? translateToLocalFormatted("tt.keyphrase.Sending_power", clientLocale) + "!" - : translateToLocalFormatted("tt.keyphrase.Receiving_power", clientLocale) + "!"; + //And after this cheeky-ness, toss the string XD + return powerPassToggle ? translateToLocalFormatted("tt.keyphrase.Sending_power", clientLocale) + "!" : translateToLocalFormatted("tt.keyphrase.Receiving_power", clientLocale) + "!"; } @Override public boolean isFacingValid(byte aSide) { return aSide != 1; - } // Prevents output at the top side + }//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[] {MACHINE_CASINGS_TT[this.mTier][i + 1]}; - rTextures[1][i + 1] = new ITexture[] {MACHINE_CASINGS_TT[this.mTier][i + 1], TESLA_TRANSCEIVER_TOP_BA}; - rTextures[2][i + 1] = new ITexture[] { - MACHINE_CASINGS_TT[this.mTier][i + 1], - this.mInventory.length == 16 - ? OVERLAYS_ENERGY_OUT_POWER_TT[this.mTier] - : (this.mInventory.length > 4 - ? OVERLAYS_ENERGY_OUT_MULTI_TT[this.mTier] - : OVERLAYS_ENERGY_OUT_TT[this.mTier]) - }; + rTextures[0][i + 1] = new ITexture[]{MACHINE_CASINGS_TT[this.mTier][i + 1]}; + rTextures[1][i + 1] = new ITexture[]{MACHINE_CASINGS_TT[this.mTier][i + 1], TESLA_TRANSCEIVER_TOP_BA}; + rTextures[2][i + 1] = new ITexture[]{MACHINE_CASINGS_TT[this.mTier][i + 1], this.mInventory.length == 16 ? OVERLAYS_ENERGY_OUT_POWER_TT[this.mTier] : (this.mInventory.length > 4 ? OVERLAYS_ENERGY_OUT_MULTI_TT[this.mTier] : OVERLAYS_ENERGY_OUT_TT[this.mTier])}; } return rTextures; } @Override - public ITexture[] getTexture( - IGregTechTileEntity aBaseMetaTileEntity, - byte aSide, - byte aFacing, - byte aColorIndex, - boolean aActive, - boolean aRedstone) { + 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]; } @@ -243,28 +210,27 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB return; } - // Hysteresis based ePowerPass Config + //Hysteresis based ePowerPass Config long energyMax = getStoredEnergy()[1]; long energyStored = getStoredEnergy()[0]; float energyFrac = (float) energyStored / energyMax; - // ePowerPass hist toggle + //ePowerPass hist toggle if (!powerPassToggle && energyFrac > histHigh) { powerPassToggle = true; } else if (powerPassToggle && energyFrac < histLow) { powerPassToggle = false; } - // Send Power + //Send Power powerTeslaNodeMap(this); - // TODO Encapsulate the spark sender + //TODO Encapsulate the spark sender sparkCount--; - if (sparkCount == 0) { + if (sparkCount == 0){ sparkCount = 10; - if (!sparkList.isEmpty()) { - NetworkDispatcher.INSTANCE.sendToAllAround( - new RendererMessage.RendererData(sparkList), + if(!sparkList.isEmpty()){ + NetworkDispatcher.INSTANCE.sendToAllAround(new RendererMessage.RendererData(sparkList), aBaseMetaTileEntity.getWorld().provider.dimensionId, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), @@ -366,10 +332,9 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB @Override public Vec3Impl getTeslaPosition() { - return new Vec3Impl( - this.getBaseMetaTileEntity().getXCoord(), - this.getBaseMetaTileEntity().getYCoord(), - this.getBaseMetaTileEntity().getZCoord()); + return new Vec3Impl(this.getBaseMetaTileEntity().getXCoord(), + this.getBaseMetaTileEntity().getYCoord(), + this.getBaseMetaTileEntity().getZCoord()); } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_WetTransformer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_WetTransformer.java index 86cc4395fb..ca937f813c 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_WetTransformer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_WetTransformer.java @@ -1,13 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.single; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - import com.github.technus.tectech.util.CommonValues; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + public class GT_MetaTileEntity_WetTransformer extends GT_MetaTileEntity_TT_Transformer { public GT_MetaTileEntity_WetTransformer(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier); @@ -24,11 +24,7 @@ public class GT_MetaTileEntity_WetTransformer extends GT_MetaTileEntity_TT_Trans @Override public String[] getDescription() { - return new String[] { - translateToLocal("gt.blockmachines.wetransformer.tier." + (mTier > 9 ? "" : "0") + mTier + ".desc"), - "Accepts 16A and outputs 64A", - CommonValues.TEC_MARK_GENERAL - }; + return new String[]{translateToLocal("gt.blockmachines.wetransformer.tier." + (mTier > 9 ? "" : "0") + mTier + ".desc"), "Accepts 16A and outputs 64A", CommonValues.TEC_MARK_GENERAL}; } @Override @@ -41,6 +37,7 @@ public class GT_MetaTileEntity_WetTransformer extends GT_MetaTileEntity_TT_Trans return 512L + V[mTier + 1] * 128L; } + @Override public long maxAmperesOut() { return getBaseMetaTileEntity().isAllowedToWork() ? 64 : 16; @@ -50,4 +47,4 @@ public class GT_MetaTileEntity_WetTransformer extends GT_MetaTileEntity_TT_Trans public long maxAmperesIn() { return getBaseMetaTileEntity().isAllowedToWork() ? 16 : 64; } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_BuckConverter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_BuckConverter.java index 35950cc27c..2f0325c776 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_BuckConverter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_BuckConverter.java @@ -12,8 +12,9 @@ import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -public class GT_Container_BuckConverter extends GT_ContainerMetaTile_Machine { - public int EUT = 0, AMP = 0; +public class GT_Container_BuckConverter + extends GT_ContainerMetaTile_Machine { + public int EUT=0,AMP=0; public GT_Container_BuckConverter(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(aInventoryPlayer, aTileEntity); @@ -99,10 +100,9 @@ public class GT_Container_BuckConverter extends GT_ContainerMetaTile_Machine { case 15: buck.AMP *= aShifthold == 1 ? 16 : 2; break; - default: - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); + default: return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); } - buck.getBaseMetaTileEntity().setActive((long) AMP * EUT >= 0); + buck.getBaseMetaTileEntity().setActive((long)AMP*EUT>=0); return null; } return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); @@ -116,9 +116,9 @@ public class GT_Container_BuckConverter extends GT_ContainerMetaTile_Machine { } GT_MetaTileEntity_BuckConverter buck = (GT_MetaTileEntity_BuckConverter) mTileEntity.getMetaTileEntity(); - EUT = buck.EUT; - AMP = buck.AMP; - buck.getBaseMetaTileEntity().setActive((long) AMP * EUT >= 0); + EUT=buck.EUT; + AMP=buck.AMP; + buck.getBaseMetaTileEntity().setActive((long)AMP*EUT>=0); for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DataReader.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DataReader.java index 57eda3f1d5..a7f31dc103 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DataReader.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DataReader.java @@ -19,31 +19,31 @@ public class GT_Container_DataReader extends GT_Container_BasicTank { @Override public void addSlots(InventoryPlayer aInventoryPlayer) { - // this.addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 0, 8, 63, false, true, 1)); - // this.addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 0, 26, 63, false, true, 1)); - // this.addSlotToContainer(new GT_Slot_Render(this.mTileEntity, 2, 107, 63)); + //this.addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 0, 8, 63, false, true, 1)); + //this.addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 0, 26, 63, false, true, 1)); + //this.addSlotToContainer(new GT_Slot_Render(this.mTileEntity, 2, 107, 63)); - int tStartIndex = ((GT_MetaTileEntity_BasicMachine) this.mTileEntity.getMetaTileEntity()).getInputSlot(); + int tStartIndex = ((GT_MetaTileEntity_BasicMachine)this.mTileEntity.getMetaTileEntity()).getInputSlot(); this.addSlotToContainer(new Slot(this.mTileEntity, tStartIndex, 53, 153)); - tStartIndex = ((GT_MetaTileEntity_BasicMachine) this.mTileEntity.getMetaTileEntity()).getOutputSlot(); + tStartIndex = ((GT_MetaTileEntity_BasicMachine)this.mTileEntity.getMetaTileEntity()).getOutputSlot(); this.addSlotToContainer(new GT_Slot_Output(this.mTileEntity, tStartIndex, 107, 153)); this.addSlotToContainer(new Slot(this.mTileEntity, 1, 17, 153)); - // this.addSlotToContainer(new Slot(this.mTileEntity, 3, 125, 63)); - // this.addSlotToContainer(new GT_Slot_Render(this.mTileEntity, tStartIndex, 53, 63)); + //this.addSlotToContainer(new Slot(this.mTileEntity, 3, 125, 63)); + //this.addSlotToContainer(new GT_Slot_Render(this.mTileEntity, tStartIndex, 53, 63)); } @Override protected void bindPlayerInventory(InventoryPlayer aInventoryPlayer) { int i; - for (i = 0; i < 3; ++i) { - for (int j = 0; j < 9; ++j) { + for(i = 0; i < 3; ++i) { + for(int j = 0; j < 9; ++j) { this.addSlotToContainer(new Slot(aInventoryPlayer, j + i * 9 + 9, 8 + j * 18, 174 + i * 18)); } } - for (i = 0; i < 9; ++i) { + for(i = 0; i < 9; ++i) { this.addSlotToContainer(new Slot(aInventoryPlayer, i, 8 + i * 18, 232)); } } @@ -52,12 +52,13 @@ public class GT_Container_DataReader extends GT_Container_BasicTank { public void detectAndSendChanges() { super.detectAndSendChanges(); if (!this.mTileEntity.isClientSide() && this.mTileEntity.getMetaTileEntity() != null) { - this.mStuttering = ((GT_MetaTileEntity_BasicMachine) this.mTileEntity.getMetaTileEntity()).mStuttering; + this.mStuttering = ((GT_MetaTileEntity_BasicMachine)this.mTileEntity.getMetaTileEntity()).mStuttering; for (Object crafter : this.crafters) { ICrafting var1 = (ICrafting) crafter; var1.sendProgressBarUpdate(this, 102, this.mStuttering ? 1 : 0); } + } } @@ -73,6 +74,7 @@ public class GT_Container_DataReader extends GT_Container_BasicTank { if (par1 == 102) { this.mStuttering = par2 != 0; } + } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java index 097464efe8..e74c51ab90 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java @@ -13,7 +13,8 @@ import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -public class GT_Container_DebugPollutor extends GT_ContainerMetaTile_Machine { +public class GT_Container_DebugPollutor + extends GT_ContainerMetaTile_Machine { public int pollution; public float anomaly; private int anomalyInt; @@ -102,13 +103,12 @@ public class GT_Container_DebugPollutor extends GT_ContainerMetaTile_Machine { case 15: dpg.anomaly *= aShifthold == 1 ? 16 : 2; break; - default: - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); + default: return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); } - if (dpg.anomaly == Float.POSITIVE_INFINITY) { - dpg.anomaly = Float.MAX_VALUE; - } else if (dpg.anomaly == Float.NEGATIVE_INFINITY) { - dpg.anomaly = -Float.MAX_VALUE; + if(dpg.anomaly==Float.POSITIVE_INFINITY){ + dpg.anomaly=Float.MAX_VALUE; + }else if (dpg.anomaly==Float.NEGATIVE_INFINITY){ + dpg.anomaly=-Float.MAX_VALUE; } return null; } @@ -123,14 +123,14 @@ public class GT_Container_DebugPollutor extends GT_ContainerMetaTile_Machine { } GT_MetaTileEntity_DebugPollutor dpg = (GT_MetaTileEntity_DebugPollutor) mTileEntity.getMetaTileEntity(); - pollution = dpg.pollution; - anomaly = dpg.anomaly; - anomalyInt = Float.floatToIntBits(anomaly); + pollution =dpg.pollution; + anomaly =dpg.anomaly; + anomalyInt=Float.floatToIntBits(anomaly); for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; - TT_Utility.sendInteger(pollution, this, var1, 100); - TT_Utility.sendFloat(anomaly, this, var1, 102); + TT_Utility.sendInteger(pollution,this,var1,100); + TT_Utility.sendFloat(anomaly,this,var1,102); } } @@ -141,11 +141,11 @@ public class GT_Container_DebugPollutor extends GT_ContainerMetaTile_Machine { switch (par1) { case 100: case 101: - pollution = TT_Utility.receiveInteger(pollution, 100, par1, par2); + pollution = TT_Utility.receiveInteger(pollution,100,par1,par2); break; case 102: case 103: - anomaly = Float.intBitsToFloat(anomalyInt = TT_Utility.receiveInteger(anomalyInt, 102, par1, par2)); + anomaly = Float.intBitsToFloat(anomalyInt= TT_Utility.receiveInteger(anomalyInt,102,par1,par2)); break; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPowerGenerator.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPowerGenerator.java index 3563334b7a..b4cea250ed 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPowerGenerator.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPowerGenerator.java @@ -12,8 +12,9 @@ import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -public class GT_Container_DebugPowerGenerator extends GT_ContainerMetaTile_Machine { - public int EUT = 0, AMP = 0; +public class GT_Container_DebugPowerGenerator + extends GT_ContainerMetaTile_Machine { + public int EUT=0,AMP=0; public GT_Container_DebugPowerGenerator(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(aInventoryPlayer, aTileEntity); @@ -49,8 +50,7 @@ public class GT_Container_DebugPowerGenerator extends GT_ContainerMetaTile_Machi } Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - GT_MetaTileEntity_DebugPowerGenerator dpg = - (GT_MetaTileEntity_DebugPowerGenerator) mTileEntity.getMetaTileEntity(); + GT_MetaTileEntity_DebugPowerGenerator dpg = (GT_MetaTileEntity_DebugPowerGenerator) mTileEntity.getMetaTileEntity(); switch (aSlotIndex) { case 0: dpg.EUT -= aShifthold == 1 ? 512 : 64; @@ -100,10 +100,9 @@ public class GT_Container_DebugPowerGenerator extends GT_ContainerMetaTile_Machi case 15: dpg.AMP *= aShifthold == 1 ? 16 : 2; break; - default: - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); + default: return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); } - dpg.producing = (long) AMP * EUT >= 0; + dpg.producing=(long)AMP*EUT>=0; return null; } return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); @@ -116,11 +115,10 @@ public class GT_Container_DebugPowerGenerator extends GT_ContainerMetaTile_Machi return; } - GT_MetaTileEntity_DebugPowerGenerator dpg = - (GT_MetaTileEntity_DebugPowerGenerator) mTileEntity.getMetaTileEntity(); - EUT = dpg.EUT; - AMP = dpg.AMP; - dpg.producing = (long) AMP * EUT >= 0; + GT_MetaTileEntity_DebugPowerGenerator dpg = (GT_MetaTileEntity_DebugPowerGenerator) mTileEntity.getMetaTileEntity(); + EUT=dpg.EUT; + AMP=dpg.AMP; + dpg.producing =(long)AMP*EUT>=0; for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugStructureWriter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugStructureWriter.java index f2fcf9108b..442a7c2d47 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugStructureWriter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugStructureWriter.java @@ -12,7 +12,8 @@ import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -public class GT_Container_DebugStructureWriter extends GT_ContainerMetaTile_Machine { +public class GT_Container_DebugStructureWriter + extends GT_ContainerMetaTile_Machine { public boolean size = false; public short[] numbers = new short[6]; @@ -50,8 +51,7 @@ public class GT_Container_DebugStructureWriter extends GT_ContainerMetaTile_Mach } Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - GT_MetaTileEntity_DebugStructureWriter dsw = - (GT_MetaTileEntity_DebugStructureWriter) mTileEntity.getMetaTileEntity(); + GT_MetaTileEntity_DebugStructureWriter dsw = (GT_MetaTileEntity_DebugStructureWriter) mTileEntity.getMetaTileEntity(); if (dsw.numbers == null) { return null; } @@ -109,8 +109,7 @@ public class GT_Container_DebugStructureWriter extends GT_ContainerMetaTile_Mach if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) { return; } - GT_MetaTileEntity_DebugStructureWriter dsw = - (GT_MetaTileEntity_DebugStructureWriter) mTileEntity.getMetaTileEntity(); + GT_MetaTileEntity_DebugStructureWriter dsw = (GT_MetaTileEntity_DebugStructureWriter) mTileEntity.getMetaTileEntity(); if (numbers != null) { System.arraycopy(dsw.numbers, 0, numbers, 0, dsw.numbers.length); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_BuckConverter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_BuckConverter.java index 8aef833a1b..1cff7e6c30 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_BuckConverter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_BuckConverter.java @@ -1,13 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.single.gui; -import static com.github.technus.tectech.util.CommonValues.VN; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - import com.github.technus.tectech.util.TT_Utility; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; +import static com.github.technus.tectech.util.CommonValues.VN; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + public class GT_GUIContainer_BuckConverter extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_BuckConverter(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_BuckConverter(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Teleporter.png"); @@ -19,10 +19,9 @@ public class GT_GUIContainer_BuckConverter extends GT_GUIContainerMetaTile_Machi if (mContainer != null) { GT_Container_BuckConverter buck = (GT_Container_BuckConverter) mContainer; fontRendererObj.drawString("EUT: " + buck.EUT, 46, 24, 16448255); - fontRendererObj.drawString( - "TIER: " + VN[TT_Utility.getTier(buck.EUT < 0 ? -buck.EUT : buck.EUT)], 46, 32, 16448255); + fontRendererObj.drawString("TIER: " + VN[TT_Utility.getTier(buck.EUT<0?-buck.EUT:buck.EUT)], 46, 32, 16448255); fontRendererObj.drawString("AMP: " + buck.AMP, 46, 40, 16448255); - fontRendererObj.drawString("SUM: " + (long) buck.AMP * buck.EUT, 46, 48, 16448255); + fontRendererObj.drawString("SUM: " + (long)buck.AMP*buck.EUT, 46, 48, 16448255); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DataReader.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DataReader.java index d6f150d87e..738587941e 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DataReader.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DataReader.java @@ -6,7 +6,6 @@ import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.gui.GT_Slot_Holo; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Utility; -import java.util.List; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.texture.TextureMap; @@ -16,33 +15,21 @@ import net.minecraft.util.IIcon; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; +import java.util.List; + public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine { public final String mName; public final String mNEI; public final byte mProgressBarDirection; public final byte mProgressBarAmount; - private ItemStack stack = null; + private ItemStack stack=null; - public GT_GUIContainer_DataReader( - InventoryPlayer aInventoryPlayer, - IGregTechTileEntity aTileEntity, - String aName, - String aTextureFile, - String aNEI) { + public GT_GUIContainer_DataReader(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile, String aNEI) { this(aInventoryPlayer, aTileEntity, aName, aTextureFile, aNEI, (byte) 0, (byte) 1); } - public GT_GUIContainer_DataReader( - InventoryPlayer aInventoryPlayer, - IGregTechTileEntity aTileEntity, - String aName, - String aTextureFile, - String aNEI, - byte aProgressBarDirection, - byte aProgressBarAmount) { - super( - new GT_Container_DataReader(aInventoryPlayer, aTileEntity), - "gregtech:textures/gui/basicmachines/" + aTextureFile); + public GT_GUIContainer_DataReader(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile, String aNEI, byte aProgressBarDirection, byte aProgressBarAmount) { + super(new GT_Container_DataReader(aInventoryPlayer, aTileEntity), "gregtech:textures/gui/basicmachines/" + aTextureFile); this.mProgressBarDirection = aProgressBarDirection; this.mProgressBarAmount = (byte) Math.max(1, aProgressBarAmount); this.mName = aName; @@ -54,21 +41,17 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine public void drawScreen(int mouseX, int mouseY, float par3) { super.drawScreen(mouseX, mouseY, par3); if (mContainer != null) { - if (mContainer.mTileEntity != null - && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { - GT_MetaTileEntity_DataReader reader = - (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); - renderDataTooltips(mouseX, mouseY, reader.mTier); + if (mContainer.mTileEntity != null && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { + GT_MetaTileEntity_DataReader reader = (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); + renderDataTooltips(mouseX,mouseY,reader.mTier); } } } protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { if (mContainer != null) { - if (mContainer.mTileEntity != null - && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { - GT_MetaTileEntity_DataReader reader = - (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); + if (mContainer.mTileEntity != null && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { + GT_MetaTileEntity_DataReader reader = (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); if (renderDataFG(mouseX, mouseY, reader.mTier)) { return; } @@ -89,16 +72,7 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine if (this.mContainer.mMaxProgressTime > 0) { int tSize = this.mProgressBarDirection < 2 ? 20 : 18; - int tProgress = Math.max( - 1, - Math.min( - tSize * this.mProgressBarAmount, - (this.mContainer.mProgressTime > 0 ? 1 : 0) - + this.mContainer.mProgressTime - * tSize - * this.mProgressBarAmount - / this.mContainer.mMaxProgressTime)) - % (tSize + 1); + int tProgress = Math.max(1, Math.min(tSize * this.mProgressBarAmount, (this.mContainer.mProgressTime > 0 ? 1 : 0) + this.mContainer.mProgressTime * tSize * this.mProgressBarAmount / this.mContainer.mMaxProgressTime)) % (tSize + 1); switch (this.mProgressBarDirection) { case 0: this.drawTexturedModalRect(x + 78, y + 152, 176, 0, tProgress, 18); @@ -110,8 +84,7 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine this.drawTexturedModalRect(x + 78, y + 152, 176, 0, 20, tProgress); break; case 3: - this.drawTexturedModalRect( - x + 78, y + 152 + 18 - tProgress, 176, 18 - tProgress, 20, tProgress); + this.drawTexturedModalRect(x + 78, y + 152 + 18 - tProgress, 176, 18 - tProgress, 20, tProgress); break; case 4: tProgress = 20 - tProgress; @@ -127,16 +100,13 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine break; case 7: tProgress = 18 - tProgress; - this.drawTexturedModalRect( - x + 78, y + 152 + 18 - tProgress, 176, 18 - tProgress, 20, tProgress); + this.drawTexturedModalRect(x + 78, y + 152 + 18 - tProgress, 176, 18 - tProgress, 20, tProgress); } } } if (mContainer != null) { - if (mContainer.mTileEntity != null - && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { - GT_MetaTileEntity_DataReader reader = - (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); + if (mContainer.mTileEntity != null && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { + GT_MetaTileEntity_DataReader reader = (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); renderDataBG(reader.getStackInSlot(reader.getOutputSlot()), mouseX, mouseY, x, y, reader.mTier); } } @@ -155,11 +125,11 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine } } } - stack = thing; + stack=thing; } private boolean renderDataFG(int mouseX, int mouseY, byte mTier) { - if (stack == null) { + if(stack==null){ return false; } for (GT_MetaTileEntity_DataReader.IDataRender render : @@ -173,7 +143,7 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine } private boolean renderDataTooltips(int mouseX, int mouseY, byte mTier) { - if (stack == null) { + if(stack==null){ return false; } for (GT_MetaTileEntity_DataReader.IDataRender render : @@ -215,10 +185,10 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine public void renderTooltipSimple(int mouseX, int mouseY, GT_Slot_Holo slot, ItemStack itemStack) { int x = slot.xDisplayPosition + (width - xSize) / 2; int y = slot.yDisplayPosition + (height - ySize) / 2; - if (mouseX >= x && mouseY >= y && mouseX <= x + 16 && mouseY <= y + 16) { - List strings = itemStack.getTooltip(Minecraft.getMinecraft().thePlayer, false); - if (strings.size() > 0) { - strings.set(0, itemStack.getRarity().rarityColor + (String) strings.get(0)); + if (mouseX >= x && mouseY >= y && mouseX <= x+16 && mouseY <= y+16 ) { + List strings=itemStack.getTooltip(Minecraft.getMinecraft().thePlayer, false); + if(strings.size()>0){ + strings.set(0,itemStack.getRarity().rarityColor+(String)strings.get(0)); } hoveringText(strings, mouseX, mouseY, fontRendererObj); } @@ -227,7 +197,7 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine private void hoveringText(List strings, int x, int y, FontRenderer font) { if (!strings.isEmpty()) { GL11.glDisable(GL12.GL_RESCALE_NORMAL); - // RenderHelper.disableStandardItemLighting(); + //RenderHelper.disableStandardItemLighting(); GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_DEPTH_TEST); int k = 0; @@ -257,16 +227,16 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine y2 = this.height - i1 - 6; } - // this.zLevel = 300.0F; - // itemRender.zLevel = 300.0F; - int j1 = 0xf0001040; // bg + //this.zLevel = 300.0F; + //itemRender.zLevel = 300.0F; + int j1 = 0xf0001040;//bg this.drawGradientRect(x2 - 3, y2 - 4, x2 + k + 3, y2 - 3, j1, j1); this.drawGradientRect(x2 - 3, y2 + i1 + 3, x2 + k + 3, y2 + i1 + 4, j1, j1); this.drawGradientRect(x2 - 3, y2 - 3, x2 + k + 3, y2 + i1 + 3, j1, j1); this.drawGradientRect(x2 - 4, y2 - 3, x2 - 3, y2 + i1 + 3, j1, j1); this.drawGradientRect(x2 + k + 3, y2 - 3, x2 + k + 4, y2 + i1 + 3, j1, j1); - int k1 = 0x500040ff; // border bright - int l1 = (k1 & 0xfefefe) >> 1 | k1 & 0xff000000; // border dark??? + int k1 = 0x500040ff;//border bright + int l1 = (k1 & 0xfefefe) >> 1 | k1 & 0xff000000;//border dark??? this.drawGradientRect(x2 - 3, y2 - 3 + 1, x2 - 3 + 1, y2 + i1 + 3 - 1, k1, l1); this.drawGradientRect(x2 + k + 2, y2 - 3 + 1, x2 + k + 3, y2 + i1 + 3 - 1, k1, l1); this.drawGradientRect(x2 - 3, y2 - 3, x2 + k + 3, y2 - 3 + 1, k1, k1); @@ -283,11 +253,11 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine y2 += 10; } - // this.zLevel = 0.0F; - // itemRender.zLevel = 0.0F; + //this.zLevel = 0.0F; + //itemRender.zLevel = 0.0F; GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_DEPTH_TEST); - // RenderHelper.enableStandardItemLighting(); + //RenderHelper.enableStandardItemLighting(); GL11.glEnable(GL12.GL_RESCALE_NORMAL); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPollutor.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPollutor.java index a754412eb6..39c67f1b50 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPollutor.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPollutor.java @@ -1,11 +1,11 @@ package com.github.technus.tectech.thing.metaTileEntity.single.gui; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + public class GT_GUIContainer_DebugPollutor extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_DebugPollutor(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_DebugPollutor(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Teleporter.png"); diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPowerGenerator.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPowerGenerator.java index e0990fa49c..f1f5050d9d 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPowerGenerator.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPowerGenerator.java @@ -1,13 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.single.gui; -import static com.github.technus.tectech.util.CommonValues.VN; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - import com.github.technus.tectech.util.TT_Utility; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; +import static com.github.technus.tectech.util.CommonValues.VN; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + public class GT_GUIContainer_DebugPowerGenerator extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_DebugPowerGenerator(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_DebugPowerGenerator(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Teleporter.png"); @@ -19,10 +19,9 @@ public class GT_GUIContainer_DebugPowerGenerator extends GT_GUIContainerMetaTile if (mContainer != null) { GT_Container_DebugPowerGenerator dpg = (GT_Container_DebugPowerGenerator) mContainer; fontRendererObj.drawString("EUT: " + dpg.EUT, 46, 24, 16448255); - fontRendererObj.drawString( - "TIER: " + VN[TT_Utility.getTier(dpg.EUT < 0 ? -dpg.EUT : dpg.EUT)], 46, 32, 16448255); + fontRendererObj.drawString("TIER: " + VN[TT_Utility.getTier(dpg.EUT<0?-dpg.EUT:dpg.EUT)], 46, 32, 16448255); fontRendererObj.drawString("AMP: " + dpg.AMP, 46, 40, 16448255); - fontRendererObj.drawString("SUM: " + (long) dpg.AMP * dpg.EUT, 46, 48, 16448255); + fontRendererObj.drawString("SUM: " + (long)dpg.AMP*dpg.EUT, 46, 48, 16448255); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugStructureWriter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugStructureWriter.java index f37327d457..0f64c83d5e 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugStructureWriter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugStructureWriter.java @@ -1,11 +1,11 @@ package com.github.technus.tectech.thing.metaTileEntity.single.gui; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + public class GT_GUIContainer_DebugStructureWriter extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_DebugStructureWriter(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_DebugStructureWriter(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Teleporter.png"); @@ -20,7 +20,7 @@ public class GT_GUIContainer_DebugStructureWriter extends GT_GUIContainerMetaTil return; } fontRendererObj.drawString(dsw.size ? "Structure size" : "My position", 46, 16, 16448255); - fontRendererObj.drawString(dsw.size ? "(Changing scan size)" : "(Moving origin)", 46, 24, 16448255); + fontRendererObj.drawString(dsw.size ? "(Changing scan size)" : "(Moving origin)", 46,24, 16448255); fontRendererObj.drawString("A: " + dsw.numbers[dsw.size ? 3 : 0], 46, 32, 16448255); fontRendererObj.drawString("B: " + dsw.numbers[dsw.size ? 4 : 1], 46, 40, 16448255); fontRendererObj.drawString("C: " + dsw.numbers[dsw.size ? 5 : 2], 46, 48, 16448255); diff --git a/src/main/java/com/github/technus/tectech/thing/tileEntity/ReactorSimTileEntity.java b/src/main/java/com/github/technus/tectech/thing/tileEntity/ReactorSimTileEntity.java index 8f95472cd3..55fa327364 100644 --- a/src/main/java/com/github/technus/tectech/thing/tileEntity/ReactorSimTileEntity.java +++ b/src/main/java/com/github/technus/tectech/thing/tileEntity/ReactorSimTileEntity.java @@ -16,20 +16,20 @@ import net.minecraftforge.fluids.FluidStack; * Created by danie_000 on 30.09.2017. */ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { - private boolean hadRedstone = true; + private boolean hadRedstone =true; @Override public void onLoaded() { super.onLoaded(); - if (IC2.platform.isSimulating() && addedToEnergyNet) { + if(IC2.platform.isSimulating() && addedToEnergyNet) { MinecraftForge.EVENT_BUS.post(new EnergyTileUnloadEvent(this)); - // this.addedToEnergyNet = false; + //this.addedToEnergyNet = false; } } @Override public void onUnloaded() { - addedToEnergyNet = false; + addedToEnergyNet=false; super.onUnloaded(); } @@ -38,19 +38,19 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { return "Nuclear Reactor Simulator"; } - // public int gaugeHeatScaled(int i) { + //public int gaugeHeatScaled(int i) { // return i * this.heat / (this.maxHeat / 100 * 85); - // } + //} - // public void readFromNBT(NBTTagCompound nbttagcompound) { + //public void readFromNBT(NBTTagCompound nbttagcompound) { // super.readFromNBT(nbttagcompound); // //this.heat = nbttagcompound.getInteger("heat"); // //this.inputTank.readFromNBT(nbttagcompound.getCompoundTag("inputTank")); // //this.outputTank.readFromNBT(nbttagcompound.getCompoundTag("outputTank")); // //this.output = (float)nbttagcompound.getShort("output"); - // } + //} - // public void writeToNBT(NBTTagCompound nbttagcompound) { + //public void writeToNBT(NBTTagCompound nbttagcompound) { // super.writeToNBT(nbttagcompound); // //NBTTagCompound inputTankTag = new NBTTagCompound(); // //this.inputTank.writeToNBT(inputTankTag); @@ -60,18 +60,18 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // //nbttagcompound.setTag("outputTank", outputTankTag); // //nbttagcompound.setInteger("heat", this.heat); // //nbttagcompound.setShort("output", (short)((int)this.getReactorEnergyOutput())); - // } + //} - // public void setRedstoneSignal(boolean redstone) { + //public void setRedstoneSignal(boolean redstone) { // this.redstone = redstone; - // } + //} - // public void drawEnergy(double amount) { - // } + //public void drawEnergy(double amount) { + //} - // public float sendEnergy(float send) { + //public float sendEnergy(float send) { // return 0.0F; - // } + //} @Override public boolean emitsEnergyTo(TileEntity receiver, ForgeDirection direction) { @@ -83,18 +83,16 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { return 0; } - // public int getSourceTier() { + //public int getSourceTier() { // return 4; - // } + //} @Override public double getReactorEUEnergyOutput() { - return getReactorEnergyOutput() - * 5.0F - * ConfigUtil.getDouble(MainConfig.get(), "balance/energy/generator/nuclear"); + return getReactorEnergyOutput() * 5.0F * ConfigUtil.getDouble(MainConfig.get(), "balance/energy/generator/nuclear"); } - // public List getSubTiles() { + //public List getSubTiles() { // if(this.subTiles == null) { // this.subTiles = new ArrayList(); // this.subTiles.add(this); @@ -111,9 +109,9 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // } // // return this.subTiles; - // } + //} - // private void processfluidsSlots() { + //private void processfluidsSlots() { // RecipeOutput outputinputSlot = this.processInputSlot(true); // if(outputinputSlot != null) { // this.processInputSlot(false); @@ -128,9 +126,9 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.hotcoolantoutputSlot.add(processResult); // } // - // } + //} - // public void refreshChambers() { + //public void refreshChambers() { // if(this.addedToEnergyNet) { // MinecraftForge.EVENT_BUS.post(new EnergyTileUnloadEvent(this)); // } @@ -140,24 +138,24 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // MinecraftForge.EVENT_BUS.post(new EnergyTileLoadEvent(this)); // } // - // } + //} @Override protected void updateEntityServer() { - if (updateTicker++ % getTickRate() == 0) { + if(updateTicker++ % getTickRate() == 0) { if (!worldObj.isRemote && worldObj.doChunksNearChunkExist(xCoord, yCoord, zCoord, 2)) { - if (hadRedstone && !receiveredstone()) { + if(hadRedstone && !receiveredstone()) { hadRedstone = false; - } else if (!hadRedstone && receiveredstone()) { + } else if(!hadRedstone && receiveredstone()){ doUpdates(); - hadRedstone = true; + hadRedstone=true; } markDirty(); } } } - // public void dropAllUnfittingStuff() { + //public void dropAllUnfittingStuff() { // int i; // ItemStack stack; // for(i = 0; i < this.reactorSlot.size(); ++i) { @@ -174,73 +172,63 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.eject(stack); // } // - // } + //} - // public boolean isUsefulItem(ItemStack stack, boolean forInsertion) { + //public boolean isUsefulItem(ItemStack stack, boolean forInsertion) { // Item item = stack.getItem(); - // return (item instanceof IReactorComponent || (item == Ic2Items.TritiumCell.getItem() || item == - // Ic2Items.reactorDepletedUraniumSimple.getItem() || item == Ic2Items.reactorDepletedUraniumDual.getItem() || item - // == Ic2Items.reactorDepletedUraniumQuad.getItem() || item == Ic2Items.reactorDepletedMOXSimple.getItem() || item - // == Ic2Items.reactorDepletedMOXDual.getItem() || item == Ic2Items.reactorDepletedMOXQuad.getItem())); - // } + // return (item instanceof IReactorComponent || (item == Ic2Items.TritiumCell.getItem() || item == Ic2Items.reactorDepletedUraniumSimple.getItem() || item == Ic2Items.reactorDepletedUraniumDual.getItem() || item == Ic2Items.reactorDepletedUraniumQuad.getItem() || item == Ic2Items.reactorDepletedMOXSimple.getItem() || item == Ic2Items.reactorDepletedMOXDual.getItem() || item == Ic2Items.reactorDepletedMOXQuad.getItem())); + //} - // public void eject(ItemStack drop) { + //public void eject(ItemStack drop) { // if(IC2.platform.isSimulating() && drop != null) { // float f = 0.7F; // double d = (double)(this.worldObj.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D; // double d1 = (double)(this.worldObj.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D; // double d2 = (double)(this.worldObj.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D; - // EntityItem entityitem = new EntityItem(this.worldObj, (double)this.xCoord + d, (double)this.yCoord + d1, - // (double)this.zCoord + d2, drop); + // EntityItem entityitem = new EntityItem(this.worldObj, (double)this.xCoord + d, (double)this.yCoord + d1, (double)this.zCoord + d2, drop); // entityitem.delayBeforeCanPickup = 10; // this.worldObj.spawnEntityInWorld(entityitem); // } - // } + //} @Override public boolean calculateHeatEffects() { - if (heat >= 4000 && IC2.platform.isSimulating()) { + if(heat >= 4000 && IC2.platform.isSimulating()) { float power = (float) heat / (float) maxHeat; - if (power >= 1.0F) { - explode(); // ding + if(power >= 1.0F) { + explode();//ding return true; } else { - // int[] coord; - // Block block; - // Material mat; - // if(power >= 0.85F && this.worldObj.rand.nextFloat() <= 0.2F * this.hem) { + //int[] coord; + //Block block; + //Material mat; + //if(power >= 0.85F && this.worldObj.rand.nextFloat() <= 0.2F * this.hem) { // coord = this.getRandCoord(2); // if(coord != null) { // block = this.worldObj.getBlock(coord[0], coord[1], coord[2]); // if(block.isAir(this.worldObj, coord[0], coord[1], coord[2])) { // this.worldObj.setBlock(coord[0], coord[1], coord[2], Blocks.fire, 0, 7); - // } else if(block.getBlockHardness(this.worldObj, coord[0], coord[1], coord[2]) >= 0.0F && - // this.worldObj.getTileEntity(coord[0], coord[1], coord[2]) == null) { + // } else if(block.getBlockHardness(this.worldObj, coord[0], coord[1], coord[2]) >= 0.0F && this.worldObj.getTileEntity(coord[0], coord[1], coord[2]) == null) { // mat = block.getMaterial(); - // if(mat != Material.rock && mat != Material.iron && mat != Material.lava && mat != - // Material.ground && mat != Material.clay) { + // if(mat != Material.rock && mat != Material.iron && mat != Material.lava && mat != Material.ground && mat != Material.clay) { // this.worldObj.setBlock(coord[0], coord[1], coord[2], Blocks.fire, 0, 7); // } else { // this.worldObj.setBlock(coord[0], coord[1], coord[2], Blocks.flowing_lava, 15, 7); // } // } // } - // } + //} // - // if(power >= 0.7F) { - // List var5 = this.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, - // AxisAlignedBB.getBoundingBox((double)(this.xCoord - 3), (double)(this.yCoord - 3), - // (double)(this.zCoord - 3), (double)(this.xCoord + 4), (double)(this.yCoord + 4), (double)(this.zCoord - // + 4))); + //if(power >= 0.7F) { + // List var5 = this.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox((double)(this.xCoord - 3), (double)(this.yCoord - 3), (double)(this.zCoord - 3), (double)(this.xCoord + 4), (double)(this.yCoord + 4), (double)(this.zCoord + 4))); // // for(int var6 = 0; var6 < var5.size(); ++var6) { // Entity var7 = (Entity)var5.get(var6); - // var7.attackEntityFrom(IC2DamageSource.radiation, - // (float)((int)((float)this.worldObj.rand.nextInt(4) * this.hem))); + // var7.attackEntityFrom(IC2DamageSource.radiation, (float)((int)((float)this.worldObj.rand.nextInt(4) * this.hem))); // } - // } + //} // - // if(power >= 0.5F && this.worldObj.rand.nextFloat() <= this.hem) { + //if(power >= 0.5F && this.worldObj.rand.nextFloat() <= this.hem) { // coord = this.getRandCoord(2); // if(coord != null) { // block = this.worldObj.getBlock(coord[0], coord[1], coord[2]); @@ -248,9 +236,9 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.worldObj.setBlockToAir(coord[0], coord[1], coord[2]); // } // } - // } + //} // - // if(power >= 0.4F && this.worldObj.rand.nextFloat() <= this.hem) { + //if(power >= 0.4F && this.worldObj.rand.nextFloat() <= this.hem) { // coord = this.getRandCoord(2); // if(coord != null && this.worldObj.getTileEntity(coord[0], coord[1], coord[2]) == null) { // block = this.worldObj.getBlock(coord[0], coord[1], coord[2]); @@ -259,25 +247,23 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.worldObj.setBlock(coord[0], coord[1], coord[2], Blocks.fire, 0, 7); // } // } - // } + //} return false; } } return false; } - // public int[] getRandCoord(int radius) { + //public int[] getRandCoord(int radius) { // if(radius <= 0) { // return null; // } else { - // int[] c = new int[]{this.xCoord + this.worldObj.rand.nextInt(2 * radius + 1) - radius, this.yCoord + - // this.worldObj.rand.nextInt(2 * radius + 1) - radius, this.zCoord + this.worldObj.rand.nextInt(2 * radius + 1) - - // radius}; + // int[] c = new int[]{this.xCoord + this.worldObj.rand.nextInt(2 * radius + 1) - radius, this.yCoord + this.worldObj.rand.nextInt(2 * radius + 1) - radius, this.zCoord + this.worldObj.rand.nextInt(2 * radius + 1) - radius}; // return c[0] == this.xCoord && c[1] == this.yCoord && c[2] == this.zCoord?null:c; // } - // } + //} - // public void processChambers() { + //public void processChambers() { // short size = this.getReactorSize(); // // for(int pass = 0; pass < 2; ++pass) { @@ -292,19 +278,18 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // } // } // - // } + //} - // public boolean produceEnergy() { - // return this.receiveredstone() && ConfigUtil.getFloat(MainConfig.get(), "balance/energy/generator/generator") > - // 0.0F; - // } + //public boolean produceEnergy() { + // return this.receiveredstone() && ConfigUtil.getFloat(MainConfig.get(), "balance/energy/generator/generator") > 0.0F; + //} - // NO need - // public boolean receiveredstone() { + //NO need + //public boolean receiveredstone() { // return this.worldObj.isBlockIndirectlyGettingPowered(this.xCoord, this.yCoord, this.zCoord) || this.redstone; - // } + //} - // public short getReactorSize() { + //public short getReactorSize() { // if(this.worldObj == null) { // return 9; // } else { @@ -322,43 +307,42 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // // return cols; // } - // } + //} - // public int getTickRate() { + //public int getTickRate() { // return 20; - // } + //} - // public ContainerBase getGuiContainer(EntityPlayer entityPlayer) { + //public ContainerBase getGuiContainer(EntityPlayer entityPlayer) { // return new ContainerNuclearReactor(entityPlayer, this); - // } + //} - // @SideOnly(Side.CLIENT) - // public GuiScreen getGui(EntityPlayer entityPlayer, boolean isAdmin) { + //@SideOnly(Side.CLIENT) + //public GuiScreen getGui(EntityPlayer entityPlayer, boolean isAdmin) { // return new GuiNuclearReactor(new ContainerNuclearReactor(entityPlayer, this)); - // } + //} - // public void onGuiClosed(EntityPlayer entityPlayer) {} + //public void onGuiClosed(EntityPlayer entityPlayer) {} - // new method - private void doUpdates() { - heat = 0; - do { + //new method + private void doUpdates(){ + heat=0; + do{ dropAllUnfittingStuff(); output = 0.0F; maxHeat = 10000; hem = 1.0F; processChambers(); - } while (!calculateHeatEffects() && output > 0); + }while(!calculateHeatEffects() && output>0); } - // region no need to change - // public void onNetworkUpdate(String field) { + //region no need to change + //public void onNetworkUpdate(String field) { // if(field.equals("output")) { // if(this.output > 0.0F) { // if(this.lastOutput <= 0.0F) { // if(this.audioSourceMain == null) { - // this.audioSourceMain = IC2.audioManager.createSource(this, PositionSpec.Center, - // "Generators/NuclearReactor/NuclearReactorLoop.ogg", true, false, IC2.audioManager.getDefaultVolume()); + // this.audioSourceMain = IC2.audioManager.createSource(this, PositionSpec.Center, "Generators/NuclearReactor/NuclearReactorLoop.ogg", true, false, IC2.audioManager.getDefaultVolume()); // } // // if(this.audioSourceMain != null) { @@ -372,8 +356,7 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.audioSourceGeiger.remove(); // } // - // this.audioSourceGeiger = IC2.audioManager.createSource(this, PositionSpec.Center, - // "Generators/NuclearReactor/GeigerLowEU.ogg", true, false, IC2.audioManager.getDefaultVolume()); + // this.audioSourceGeiger = IC2.audioManager.createSource(this, PositionSpec.Center, "Generators/NuclearReactor/GeigerLowEU.ogg", true, false, IC2.audioManager.getDefaultVolume()); // if(this.audioSourceGeiger != null) { // this.audioSourceGeiger.play(); // } @@ -384,8 +367,7 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.audioSourceGeiger.remove(); // } // - // this.audioSourceGeiger = IC2.audioManager.createSource(this, PositionSpec.Center, - // "Generators/NuclearReactor/GeigerMedEU.ogg", true, false, IC2.audioManager.getDefaultVolume()); + // this.audioSourceGeiger = IC2.audioManager.createSource(this, PositionSpec.Center, "Generators/NuclearReactor/GeigerMedEU.ogg", true, false, IC2.audioManager.getDefaultVolume()); // if(this.audioSourceGeiger != null) { // this.audioSourceGeiger.play(); // } @@ -395,8 +377,7 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.audioSourceGeiger.remove(); // } // - // this.audioSourceGeiger = IC2.audioManager.createSource(this, PositionSpec.Center, - // "Generators/NuclearReactor/GeigerHighEU.ogg", true, false, IC2.audioManager.getDefaultVolume()); + // this.audioSourceGeiger = IC2.audioManager.createSource(this, PositionSpec.Center, "Generators/NuclearReactor/GeigerHighEU.ogg", true, false, IC2.audioManager.getDefaultVolume()); // if(this.audioSourceGeiger != null) { // this.audioSourceGeiger.play(); // } @@ -415,82 +396,81 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // } // // super.onNetworkUpdate(field); - // } + //} - // public float getWrenchDropRate() { + //public float getWrenchDropRate() { // return 1F; - // } + //} - // public ChunkCoordinates getPosition() { + //public ChunkCoordinates getPosition() { // return new ChunkCoordinates(this.xCoord, this.yCoord, this.zCoord); - // } + //} - // public World getWorld() { + //public World getWorld() { // return this.worldObj; - // } + //} - // public int getHeat() { + //public int getHeat() { // return this.heat; - // } + //} - // public void setHeat(int heat1) { + //public void setHeat(int heat1) { // this.heat = heat1; - // } + //} - // public int addHeat(int amount) { + //public int addHeat(int amount) { // this.heat += amount; // return this.heat; - // } + //} - // public ItemStack getItemAt(int x, int y) { + //public ItemStack getItemAt(int x, int y) { // return x >= 0 && x < this.getReactorSize() && y >= 0 && y < 6?this.reactorSlot.get(x, y):null; - // } + //} - // public void setItemAt(int x, int y, ItemStack item) { + //public void setItemAt(int x, int y, ItemStack item) { // if(x >= 0 && x < this.getReactorSize() && y >= 0 && y < 6) { // this.reactorSlot.put(x, y, item); // } - // } + //} @Override public void explode() { - getWorld().playSoundEffect(xCoord, yCoord, zCoord, Reference.MODID + ":microwave_ding", 1, 1); + getWorld().playSoundEffect(xCoord,yCoord,zCoord, Reference.MODID+":microwave_ding", 1, 1); } @Override public void addEmitHeat(int heat) {} - // region no need - // public int getMaxHeat() { + //region no need + //public int getMaxHeat() { // return this.maxHeat; - // } + //} - // public void setMaxHeat(int newMaxHeat) { + //public void setMaxHeat(int newMaxHeat) { // this.maxHeat = newMaxHeat; - // } + //} - // public float getHeatEffectModifier() { + //public float getHeatEffectModifier() { // return this.hem; - // } + //} - // public void setHeatEffectModifier(float newHEM) { + //public void setHeatEffectModifier(float newHEM) { // this.hem = newHEM; - // } + //} - // public float getReactorEnergyOutput() { + //public float getReactorEnergyOutput() { // return this.output; - // } + //} - // public float addOutput(float energy) { + //public float addOutput(float energy) { // return this.output += energy; - // } + //} - // PRIVATE not used - // private RecipeOutput processInputSlot(boolean simulate) { + //PRIVATE not used + //private RecipeOutput processInputSlot(boolean simulate) { // if(!this.coolantinputSlot.isEmpty()) { // MutableObject output = new MutableObject(); - // if(this.coolantinputSlot.transferToTank(this.inputTank, output, simulate) && (output.getValue() == null || - // this.coolantoutputSlot.canAdd((ItemStack)output.getValue()))) { + // if(this.coolantinputSlot.transferToTank(this.inputTank, output, simulate) && (output.getValue() == null || this.coolantoutputSlot.canAdd((ItemStack)output.getValue()))) { // if(output.getValue() == null) { // return new RecipeOutput(null); // } @@ -500,13 +480,12 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // } // // return null; - // } + //} - // private RecipeOutput processOutputSlot(boolean simulate) { + //private RecipeOutput processOutputSlot(boolean simulate) { // if(!this.hotcoolinputSlot.isEmpty()) { // MutableObject output = new MutableObject(); - // if(this.hotcoolinputSlot.transferFromTank(this.outputTank, output, simulate) && (output.getValue() == null - // || this.hotcoolantoutputSlot.canAdd((ItemStack)output.getValue()))) { + // if(this.hotcoolinputSlot.transferFromTank(this.outputTank, output, simulate) && (output.getValue() == null || this.hotcoolantoutputSlot.canAdd((ItemStack)output.getValue()))) { // if(output.getValue() == null) { // return new RecipeOutput(null); // } @@ -516,15 +495,15 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // } // // return null; - // } + //} @Override public boolean isFluidCooled() { return false; } - // !!!Private - removed use cases - // private void movefluidinWorld(boolean out) { + //!!!Private - removed use cases + //private void movefluidinWorld(boolean out) { // if(out) { // if(this.inputTank.getFluidAmount() < 1000 && this.outputTank.getFluidAmount() < 1000) { // this.inputTank.setFluid(null); @@ -535,12 +514,10 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // for(int hotCoolantFluid = 1; hotCoolantFluid < 4; ++hotCoolantFluid) { // if(this.surroundings[coolantBlock][coolantFluid][hotCoolantFluid] instanceof BlockAir) { // if(this.inputTank.getFluidAmount() >= 1000) { - // this.worldObj.setBlock(coolantBlock + this.xCoord - 2, coolantFluid + this.yCoord - // - 2, hotCoolantFluid + this.zCoord - 2, this.inputTank.getFluid().getFluid().getBlock()); + // this.worldObj.setBlock(coolantBlock + this.xCoord - 2, coolantFluid + this.yCoord - 2, hotCoolantFluid + this.zCoord - 2, this.inputTank.getFluid().getFluid().getBlock()); // this.inputTank.drain(1000, true); // } else if(this.outputTank.getFluidAmount() >= 1000) { - // this.worldObj.setBlock(coolantBlock + this.xCoord - 2, coolantFluid + this.yCoord - // - 2, hotCoolantFluid + this.zCoord - 2, this.outputTank.getFluid().getFluid().getBlock()); + // this.worldObj.setBlock(coolantBlock + this.xCoord - 2, coolantFluid + this.yCoord - 2, hotCoolantFluid + this.zCoord - 2, this.outputTank.getFluid().getFluid().getBlock()); // this.outputTank.drain(1000, true); // } // } @@ -566,12 +543,10 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // for(int xoffset = 1; xoffset < 4; ++xoffset) { // for(int zoffset = 1; zoffset < 4; ++zoffset) { // if(this.surroundings[xoffset][yoffset][zoffset] == var10) { - // this.worldObj.setBlock(xoffset + this.xCoord - 2, yoffset + this.yCoord - 2, zoffset + - // this.zCoord - 2, Blocks.air); + // this.worldObj.setBlock(xoffset + this.xCoord - 2, yoffset + this.yCoord - 2, zoffset + this.zCoord - 2, Blocks.air); // this.inputTank.fill(new FluidStack(var9, 1000), true); // } else if(this.surroundings[xoffset][yoffset][zoffset] == hotCoolantBlock) { - // this.worldObj.setBlock(xoffset + this.xCoord - 2, yoffset + this.yCoord - 2, zoffset + - // this.zCoord - 2, Blocks.air); + // this.worldObj.setBlock(xoffset + this.xCoord - 2, yoffset + this.yCoord - 2, zoffset + this.zCoord - 2, Blocks.air); // this.outputTank.fill(new FluidStack(var11, 1000), true); // } // } @@ -579,10 +554,10 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // } // } // - // } + //} - // !!!! PRIVATE - removed use cases - // private boolean readyforpressurizedreactor() { + //!!!! PRIVATE - removed use cases + //private boolean readyforpressurizedreactor() { // Block coolantBlock = BlocksItems.getFluidBlock(InternalName.fluidCoolant); // Block hotCoolantBlock = BlocksItems.getFluidBlock(InternalName.fluidHotCoolant); // @@ -592,14 +567,11 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // for(xoffset = -2; xoffset < 3; ++xoffset) { // for(yoffset = -2; yoffset < 3; ++yoffset) { // for(zoffset = -2; zoffset < 3; ++zoffset) { - // if(this.worldObj.isAirBlock(xoffset + this.xCoord, yoffset + this.yCoord, zoffset + this.zCoord)) - // { + // if(this.worldObj.isAirBlock(xoffset + this.xCoord, yoffset + this.yCoord, zoffset + this.zCoord)) { // this.surroundings[xoffset + 2][yoffset + 2][zoffset + 2] = Blocks.air; // } else { - // Block block = this.worldObj.getBlock(xoffset + this.xCoord, yoffset + this.yCoord, zoffset + - // this.zCoord); - // if((block == coolantBlock || block == hotCoolantBlock) && - // this.worldObj.getBlockMetadata(xoffset + this.xCoord, yoffset + this.yCoord, zoffset + this.zCoord) != 0) { + // Block block = this.worldObj.getBlock(xoffset + this.xCoord, yoffset + this.yCoord, zoffset + this.zCoord); + // if((block == coolantBlock || block == hotCoolantBlock) && this.worldObj.getBlockMetadata(xoffset + this.xCoord, yoffset + this.yCoord, zoffset + this.zCoord) != 0) { // this.surroundings[xoffset + 2][yoffset + 2][zoffset + 2] = Blocks.air; // } else { // this.surroundings[xoffset + 2][yoffset + 2][zoffset + 2] = block; @@ -612,10 +584,7 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // for(xoffset = 1; xoffset < 4; ++xoffset) { // for(yoffset = 1; yoffset < 4; ++yoffset) { // for(zoffset = 1; zoffset < 4; ++zoffset) { - // if(!(this.surroundings[xoffset][yoffset][zoffset] instanceof BlockGenerator) && - // !(this.surroundings[xoffset][yoffset][zoffset] instanceof BlockReactorChamber) && - // this.surroundings[xoffset][yoffset][zoffset] != coolantBlock && this.surroundings[xoffset][yoffset][zoffset] != - // hotCoolantBlock && !(this.surroundings[xoffset][yoffset][zoffset] instanceof BlockAir)) { + // if(!(this.surroundings[xoffset][yoffset][zoffset] instanceof BlockGenerator) && !(this.surroundings[xoffset][yoffset][zoffset] instanceof BlockReactorChamber) && this.surroundings[xoffset][yoffset][zoffset] != coolantBlock && this.surroundings[xoffset][yoffset][zoffset] != hotCoolantBlock && !(this.surroundings[xoffset][yoffset][zoffset] instanceof BlockAir)) { // return false; // } // } @@ -624,54 +593,36 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // // for(xoffset = 0; xoffset < 5; ++xoffset) { // for(yoffset = 0; yoffset < 5; ++yoffset) { - // if(!(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorVessel) && - // !(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorAccessHatch) && - // !(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorRedstonePort) && - // !(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorFluidPort)) { + // if(!(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorVessel) && !(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorAccessHatch) && !(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorRedstonePort) && !(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorFluidPort)) { // return false; // } // - // if(!(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorVessel) && - // !(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorAccessHatch) && - // !(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorRedstonePort) && - // !(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorFluidPort)) { + // if(!(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorVessel) && !(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorAccessHatch) && !(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorRedstonePort) && !(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorFluidPort)) { // return false; // } // - // if(!(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorVessel) && - // !(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorAccessHatch) && - // !(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorRedstonePort) && - // !(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorFluidPort)) { + // if(!(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorVessel) && !(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorAccessHatch) && !(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorRedstonePort) && !(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorFluidPort)) { // return false; // } // - // if(!(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorVessel) && - // !(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorAccessHatch) && - // !(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorRedstonePort) && - // !(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorFluidPort)) { + // if(!(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorVessel) && !(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorAccessHatch) && !(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorRedstonePort) && !(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorFluidPort)) { // return false; // } // - // if(!(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorVessel) && - // !(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorAccessHatch) && - // !(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorRedstonePort) && - // !(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorFluidPort)) { + // if(!(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorVessel) && !(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorAccessHatch) && !(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorRedstonePort) && !(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorFluidPort)) { // return false; // } // - // if(!(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorVessel) && - // !(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorAccessHatch) && - // !(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorRedstonePort) && - // !(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorFluidPort)) { + // if(!(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorVessel) && !(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorAccessHatch) && !(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorRedstonePort) && !(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorFluidPort)) { // return false; // } // } // } // // return true; - // } + //} - // public int gaugeLiquidScaled(int i, int tank) { + //public int gaugeLiquidScaled(int i, int tank) { // switch(tank) { // case 0: // if(this.inputTank.getFluidAmount() <= 0) { @@ -688,19 +639,19 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // default: // return 0; // } - // } + //} - // public FluidTank getinputtank() { + //public FluidTank getinputtank() { // return this.inputTank; - // } + //} - // public FluidTank getoutputtank() { + //public FluidTank getoutputtank() { // return this.outputTank; - // } + //} - // public FluidTankInfo[] getTankInfo(ForgeDirection from) { + //public FluidTankInfo[] getTankInfo(ForgeDirection from) { // return new FluidTankInfo[]{this.inputTank.getInfo(), this.outputTank.getInfo()}; - // } + //} @Override public boolean canFill(ForgeDirection from, Fluid fluid) { diff --git a/src/main/java/com/github/technus/tectech/util/CommonValues.java b/src/main/java/com/github/technus/tectech/util/CommonValues.java index cb894f8e9c..603644bcde 100644 --- a/src/main/java/com/github/technus/tectech/util/CommonValues.java +++ b/src/main/java/com/github/technus/tectech/util/CommonValues.java @@ -6,66 +6,33 @@ import net.minecraft.util.EnumChatFormatting; * Created by danie_000 on 11.01.2017. */ public final class CommonValues { - public static final String TEC_MARK_SHORT = EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech"; - public static final String TEC_MARK_GENERAL = TEC_MARK_SHORT + EnumChatFormatting.BLUE + ": Interdimensional"; - public static final String TEC_MARK_EM = TEC_MARK_SHORT + EnumChatFormatting.BLUE + ": Elemental Matter"; - public static final String BASS_MARK = TEC_MARK_SHORT + EnumChatFormatting.BLUE + ": Theta Movement"; - public static final String COSMIC_MARK = TEC_MARK_SHORT + EnumChatFormatting.BLUE - + ": Cosmic"; // TODO get a better name than cosmic for *UNDEFINED* thing + public static final String TEC_MARK_SHORT = + EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech"; + public static final String TEC_MARK_GENERAL = TEC_MARK_SHORT + + EnumChatFormatting.BLUE + ": Interdimensional"; + public static final String TEC_MARK_EM = TEC_MARK_SHORT + + EnumChatFormatting.BLUE + ": Elemental Matter"; + public static final String BASS_MARK = TEC_MARK_SHORT + + EnumChatFormatting.BLUE + ": Theta Movement"; + public static final String COSMIC_MARK = TEC_MARK_SHORT + + 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 - public static final byte MOVE_AT = 4; // move stuff around - public static final byte RECIPE_AT = 6; // move stuff around - public static final byte MULTI_PURGE_2_AT = 8; // multiblocks clean their hatches 2 - public static final byte OVERFLOW_AT = 10; // then hatches clean themselves + public static final byte DECAY_AT = 0;// hatches compute decays + public static final byte MULTI_PURGE_1_AT = 2;// multiblocks clean their hatches 1 + public static final byte MOVE_AT = 4;// move stuff around + public static final byte RECIPE_AT = 6;// move stuff around + public static final byte MULTI_PURGE_2_AT = 8;// multiblocks clean their hatches 2 + public static final byte OVERFLOW_AT = 10;// then hatches clean themselves // - in case some hatches are not in multiblock structure - public static final byte MULTI_CHECK_AT = 12; // multiblock checks it's state - public static final byte DISPERSE_AT = 14; // overflow hatches perform disperse - public static final byte TRANSFER_AT = 16; + public static final byte MULTI_CHECK_AT = 12;// multiblock checks it's state + public static final byte DISPERSE_AT = 14;// overflow hatches perform disperse + public static final byte TRANSFER_AT = 16; - public static final long[] AatV = new long[] { - 268435455, 67108863, 16777215, 4194303, 1048575, 262143, 65535, 16383, 4095, 1023, 255, 63, 15, 3, 1, 1 - }; - public static final String[] VOLTAGE_NAMES = new String[] { - "Ultra Low Voltage", - "Low Voltage", - "Medium Voltage", - "High Voltage", - "Extreme Voltage", - "Insane Voltage", - "Ludicrous Voltage", - "ZPM Voltage", - "Ultimate Voltage", - "Ultimate High Voltage", - "Ultimate Extreme Voltage", - "Ultimate Insane Voltage", - "Ultimate Mega Voltage", - "Ultimate Extended Mega Voltage", - "Overpowered Voltage", - "Maximum Voltage" - }; - public static final String[] VN = new String[] { - "ULV", "LV", "MV", "HV", "EV", "IV", "LuV", "ZPM", "UV", "UHV", "UEV", "UIV", "UMV", "UXV", "OpV", "MAX" - }; - public static final long[] V = new long[] { - 8L, - 32L, - 128L, - 512L, - 2048L, - 8192L, - 32768L, - 131072L, - 524288L, - 2097152L, - 8388608L, - 33554432L, - 134217728L, - 536870912L, - 1073741824L, - Integer.MAX_VALUE - 7 - }; + public static final long[] AatV = new long[]{268435455, 67108863, 16777215, 4194303, 1048575, 262143, 65535, 16383, 4095, 1023, 255, 63, 15, 3, 1, 1}; + public static final String[] VOLTAGE_NAMES = new String[]{"Ultra Low Voltage", "Low Voltage", "Medium Voltage", "High Voltage", "Extreme Voltage", "Insane Voltage", "Ludicrous Voltage", "ZPM Voltage", "Ultimate Voltage", "Ultimate High Voltage", "Ultimate Extreme Voltage", "Ultimate Insane Voltage", "Ultimate Mega Voltage", "Ultimate Extended Mega Voltage", "Overpowered Voltage", "Maximum Voltage"}; + public static final String[] VN = new String[]{"ULV", "LV", "MV", "HV", "EV", "IV", "LuV", "ZPM", "UV", "UHV", "UEV", "UIV", "UMV", "UXV", "OpV", "MAX"}; + public static final long[] V = new long[]{8L, 32L, 128L, 512L, 2048L, 8192L, 32768L, 131072L, 524288L, 2097152L, 8388608L, 33554432L, 134217728L, 536870912L, 1073741824L, Integer.MAX_VALUE - 7}; - private CommonValues() {} + private CommonValues() { + } } diff --git a/src/main/java/com/github/technus/tectech/util/Converter.java b/src/main/java/com/github/technus/tectech/util/Converter.java index c34206b13d..799d98a4d6 100644 --- a/src/main/java/com/github/technus/tectech/util/Converter.java +++ b/src/main/java/com/github/technus/tectech/util/Converter.java @@ -5,7 +5,7 @@ import java.io.*; public final class Converter { private Converter() {} - public static void writeInts(int[] array, ByteArrayOutputStream byteArrayOutputStream) { + public static void writeInts(int [] array,ByteArrayOutputStream byteArrayOutputStream) { try { DataOutputStream dataOutputStream = new DataOutputStream(byteArrayOutputStream); for (int i = 0; i < array.length; i++) { @@ -17,7 +17,7 @@ public final class Converter { } } - public static void readInts(ByteArrayInputStream byteArrayInputStream, int[] array) { + public static void readInts(ByteArrayInputStream byteArrayInputStream,int[] array) { try { DataInputStream dataInputStream = new DataInputStream(byteArrayInputStream); for (int i = 0; i < array.length; i++) { diff --git a/src/main/java/com/github/technus/tectech/util/DoubleCount.java b/src/main/java/com/github/technus/tectech/util/DoubleCount.java index 629062c3b9..cd86480be9 100644 --- a/src/main/java/com/github/technus/tectech/util/DoubleCount.java +++ b/src/main/java/com/github/technus/tectech/util/DoubleCount.java @@ -1,10 +1,10 @@ package com.github.technus.tectech.util; +import java.util.Arrays; + import static java.lang.Math.abs; import static java.lang.Math.ulp; -import java.util.Arrays; - public class DoubleCount { /** * Distributes count across probabilities @@ -26,7 +26,7 @@ public class DoubleCount { } else { switch (probabilities.length) { default: { - int size = probabilities.length; + int size = probabilities.length; double[] output = new double[size]; size--; double remaining = count, previous = probabilities[size], probability, out; @@ -39,15 +39,14 @@ public class DoubleCount { output[i] = out; if (previous < probability) { - throw new ArithmeticException( - "Malformed probability order: " + Arrays.toString(probabilities)); + throw new ArithmeticException("Malformed probability order: " + Arrays.toString(probabilities)); } previous = probability; if (probability >= 1) { break; } } - if (remaining * count < 0) { // overshoot + if (remaining * count < 0) {//overshoot finishIt(size, output, remaining); } else { output[size] = remaining; @@ -55,9 +54,9 @@ public class DoubleCount { return output; } case 1: - return new double[] {count}; + return new double[]{count}; case 0: - return probabilities; // empty array at hand... + return probabilities;//empty array at hand... } } } @@ -82,8 +81,8 @@ public class DoubleCount { } public static double div(double count, double divisor) { - if (count == 0 || abs(divisor) == 1 || abs(count) == abs(divisor)) { - return count / divisor; + if (count == 0 || abs(divisor) == 1 || abs(count)==abs(divisor)) { + return count/divisor; } else { double result = count / divisor; return result - ulpSigned(result); @@ -91,8 +90,8 @@ public class DoubleCount { } public static double mul(double count, double multiplier) { - if (count == 0 || multiplier == 0 || abs(multiplier) == 1 || abs(count) == 1) { - return count * multiplier; + if (count == 0 || multiplier == 0 || abs(multiplier)==1 || abs(count)==1) { + return count*multiplier; } else { double result = count * multiplier; return result - ulpSigned(result); @@ -104,7 +103,7 @@ public class DoubleCount { return count - value; } else { double result = count - value; - if (result == count || result == value) { + if(result==count||result==value){ return result; } return result - ulpSigned(result); @@ -116,7 +115,7 @@ public class DoubleCount { return count + value; } else { double result = count + value; - if (result == count || result == value) { + if(result==count||result==value){ return result; } return result - ulpSigned(result); diff --git a/src/main/java/com/github/technus/tectech/util/LightingHelper.java b/src/main/java/com/github/technus/tectech/util/LightingHelper.java index 15a0ab1e51..9a1c1b1abd 100644 --- a/src/main/java/com/github/technus/tectech/util/LightingHelper.java +++ b/src/main/java/com/github/technus/tectech/util/LightingHelper.java @@ -26,9 +26,9 @@ import net.minecraft.client.renderer.EntityRenderer; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; -// This is duplicated in newer GT5u on the GTNH Branch inside the gregtech.api.util package -// But I include it here as the easiest way to implement backwards compat with non-NH stuff -// Yes, it could be done in a cleaner way. If you would like to, you're welcome to make your own PR and @basdxz +//This is duplicated in newer GT5u on the GTNH Branch inside the gregtech.api.util package +//But I include it here as the easiest way to implement backwards compat with non-NH stuff +//Yes, it could be done in a cleaner way. If you would like to, you're welcome to make your own PR and @basdxz @SuppressWarnings("unused") @SideOnly(Side.CLIENT) public class LightingHelper { @@ -44,7 +44,6 @@ public class LightingHelper { * Ambient occlusion values for all four corners of side. */ private float aoTopLeft, aoBottomLeft, aoBottomRight, aoTopRight; - private boolean hasLightnessOverride; private float lightnessOverride; private boolean hasBrightnessOverride; @@ -92,7 +91,7 @@ public class LightingHelper { float green = color[1] / 255.0F; float blue = color[2] / 255.0F; - return new float[] {red, green, blue}; + return new float[]{red, green, blue}; } /** @@ -228,21 +227,15 @@ public class LightingHelper { if (renderBlocks.hasOverrideBlockTexture()) { - renderBlocks.colorRedTopLeft = renderBlocks.colorRedBottomLeft = - renderBlocks.colorRedBottomRight = renderBlocks.colorRedTopRight = rgb[0]; - renderBlocks.colorGreenTopLeft = renderBlocks.colorGreenBottomLeft = - renderBlocks.colorGreenBottomRight = renderBlocks.colorGreenTopRight = rgb[1]; - renderBlocks.colorBlueTopLeft = renderBlocks.colorBlueBottomLeft = - renderBlocks.colorBlueBottomRight = renderBlocks.colorBlueTopRight = rgb[2]; + renderBlocks.colorRedTopLeft = renderBlocks.colorRedBottomLeft = renderBlocks.colorRedBottomRight = renderBlocks.colorRedTopRight = rgb[0]; + renderBlocks.colorGreenTopLeft = renderBlocks.colorGreenBottomLeft = renderBlocks.colorGreenBottomRight = renderBlocks.colorGreenTopRight = rgb[1]; + renderBlocks.colorBlueTopLeft = renderBlocks.colorBlueBottomLeft = renderBlocks.colorBlueBottomRight = renderBlocks.colorBlueTopRight = rgb[2]; } else { - renderBlocks.colorRedTopLeft = renderBlocks.colorRedBottomLeft = - renderBlocks.colorRedBottomRight = renderBlocks.colorRedTopRight = rgb[0] * lightness; - renderBlocks.colorGreenTopLeft = renderBlocks.colorGreenBottomLeft = - renderBlocks.colorGreenBottomRight = renderBlocks.colorGreenTopRight = rgb[1] * lightness; - renderBlocks.colorBlueTopLeft = renderBlocks.colorBlueBottomLeft = - renderBlocks.colorBlueBottomRight = renderBlocks.colorBlueTopRight = rgb[2] * lightness; + renderBlocks.colorRedTopLeft = renderBlocks.colorRedBottomLeft = renderBlocks.colorRedBottomRight = renderBlocks.colorRedTopRight = rgb[0] * lightness; + renderBlocks.colorGreenTopLeft = renderBlocks.colorGreenBottomLeft = renderBlocks.colorGreenBottomRight = renderBlocks.colorGreenTopRight = rgb[1] * lightness; + renderBlocks.colorBlueTopLeft = renderBlocks.colorBlueBottomLeft = renderBlocks.colorBlueBottomRight = renderBlocks.colorBlueTopRight = rgb[2] * lightness; renderBlocks.colorRedTopLeft *= aoTopLeft; renderBlocks.colorGreenTopLeft *= aoTopLeft; @@ -261,6 +254,7 @@ public class LightingHelper { } else { tessellator.setColorOpaque_F(rgb[0] * lightness, rgb[1] * lightness, rgb[2] * lightness); + } } @@ -275,7 +269,7 @@ public class LightingHelper { float green = (color >> 8 & 0xff) / 255.0F; float blue = (color & 0xff) / 255.0F; - return new float[] {red, green, blue}; + return new float[]{red, green, blue}; } /** @@ -338,150 +332,43 @@ public class LightingHelper { float ratio = (float) (1.0F - renderBlocks.renderMinX); float aoLightValue = renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(); - renderBlocks.aoBrightnessXYNN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z); - renderBlocks.aoBrightnessXZNN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z - 1); - renderBlocks.aoBrightnessXZNP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z + 1); - renderBlocks.aoBrightnessXYNP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z); - renderBlocks.aoBrightnessXYZNNN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z - 1); - renderBlocks.aoBrightnessXYZNNP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z + 1); - renderBlocks.aoBrightnessXYZNPN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z - 1); - renderBlocks.aoBrightnessXYZNPP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z + 1); - renderBlocks.aoLightValueScratchXYNN = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchXZNN = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchXZNP = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchXYNP = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchXYZNNN = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y - 1, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchXYZNNP = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y - 1, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchXYZNPN = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y + 1, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchXYZNPP = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y + 1, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), - ratio); - - int brightnessMixedXYZNPN = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessXZNN, - renderBlocks.aoBrightnessXYZNPN, - renderBlocks.aoBrightnessXYNP, - mixedBrightness); - int brightnessMixedXYZNNN = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessXYZNNN, - renderBlocks.aoBrightnessXYNN, - renderBlocks.aoBrightnessXZNN, - mixedBrightness); - int brightnessMixedXYZNNP = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessXYNN, - renderBlocks.aoBrightnessXYZNNP, - renderBlocks.aoBrightnessXZNP, - mixedBrightness); - int brightnessMixedXYZNPP = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessXZNP, - renderBlocks.aoBrightnessXYNP, - renderBlocks.aoBrightnessXYZNPP, - mixedBrightness); - - float aoMixedXYZNPN = (renderBlocks.aoLightValueScratchXZNN - + aoLightValue - + renderBlocks.aoLightValueScratchXYZNPN - + renderBlocks.aoLightValueScratchXYNP) - / 4.0F; - float aoMixedXYZNNN = (renderBlocks.aoLightValueScratchXYZNNN - + renderBlocks.aoLightValueScratchXYNN - + renderBlocks.aoLightValueScratchXZNN - + aoLightValue) - / 4.0F; - float aoMixedXYZNNP = (renderBlocks.aoLightValueScratchXYNN - + renderBlocks.aoLightValueScratchXYZNNP - + aoLightValue - + renderBlocks.aoLightValueScratchXZNP) - / 4.0F; - float aoMixedXYZNPP = (aoLightValue - + renderBlocks.aoLightValueScratchXZNP - + renderBlocks.aoLightValueScratchXYNP - + renderBlocks.aoLightValueScratchXYZNPP) - / 4.0F; - - aoTopLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * renderBlocks.renderMaxZ - + aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ) - + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ) - + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ); - aoBottomLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * renderBlocks.renderMinZ - + aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ) - + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ) - + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ); - aoBottomRight = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * renderBlocks.renderMinZ - + aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ) - + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ) - + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ); - aoTopRight = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * renderBlocks.renderMaxZ - + aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ) - + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ) - + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ); - - renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness( - brightnessMixedXYZNPP, - brightnessMixedXYZNPN, - brightnessMixedXYZNNN, - brightnessMixedXYZNNP, - renderBlocks.renderMaxY * renderBlocks.renderMaxZ, - renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ), - (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ), - (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ); - renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness( - brightnessMixedXYZNPP, - brightnessMixedXYZNPN, - brightnessMixedXYZNNN, - brightnessMixedXYZNNP, - renderBlocks.renderMaxY * renderBlocks.renderMinZ, - renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ), - (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ), - (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ); - renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness( - brightnessMixedXYZNPP, - brightnessMixedXYZNPN, - brightnessMixedXYZNNN, - brightnessMixedXYZNNP, - renderBlocks.renderMinY * renderBlocks.renderMinZ, - renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ), - (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ), - (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ); - renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness( - brightnessMixedXYZNPP, - brightnessMixedXYZNPN, - brightnessMixedXYZNNN, - brightnessMixedXYZNNP, - renderBlocks.renderMinY * renderBlocks.renderMaxZ, - renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ), - (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ), - (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ); + renderBlocks.aoBrightnessXYNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z); + renderBlocks.aoBrightnessXZNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z - 1); + renderBlocks.aoBrightnessXZNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z + 1); + renderBlocks.aoBrightnessXYNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z); + renderBlocks.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z - 1); + renderBlocks.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z + 1); + renderBlocks.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z - 1); + renderBlocks.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z + 1); + renderBlocks.aoLightValueScratchXYNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchXZNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchXZNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchXYNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchXYZNNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchXYZNNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchXYZNPN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchXYZNPP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), ratio); + + int brightnessMixedXYZNPN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXZNN, renderBlocks.aoBrightnessXYZNPN, renderBlocks.aoBrightnessXYNP, mixedBrightness); + int brightnessMixedXYZNNN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYZNNN, renderBlocks.aoBrightnessXYNN, renderBlocks.aoBrightnessXZNN, mixedBrightness); + int brightnessMixedXYZNNP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYNN, renderBlocks.aoBrightnessXYZNNP, renderBlocks.aoBrightnessXZNP, mixedBrightness); + int brightnessMixedXYZNPP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXZNP, renderBlocks.aoBrightnessXYNP, renderBlocks.aoBrightnessXYZNPP, mixedBrightness); + + float aoMixedXYZNPN = (renderBlocks.aoLightValueScratchXZNN + aoLightValue + renderBlocks.aoLightValueScratchXYZNPN + renderBlocks.aoLightValueScratchXYNP) / 4.0F; + float aoMixedXYZNNN = (renderBlocks.aoLightValueScratchXYZNNN + renderBlocks.aoLightValueScratchXYNN + renderBlocks.aoLightValueScratchXZNN + aoLightValue) / 4.0F; + float aoMixedXYZNNP = (renderBlocks.aoLightValueScratchXYNN + renderBlocks.aoLightValueScratchXYZNNP + aoLightValue + renderBlocks.aoLightValueScratchXZNP) / 4.0F; + float aoMixedXYZNPP = (aoLightValue + renderBlocks.aoLightValueScratchXZNP + renderBlocks.aoLightValueScratchXYNP + renderBlocks.aoLightValueScratchXYZNPP) / 4.0F; + + aoTopLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * renderBlocks.renderMaxZ + aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ); + aoBottomLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * renderBlocks.renderMinZ + aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ); + aoBottomRight = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * renderBlocks.renderMinZ + aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ); + aoTopRight = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * renderBlocks.renderMaxZ + aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ); + + renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNPN, brightnessMixedXYZNNN, brightnessMixedXYZNNP, renderBlocks.renderMaxY * renderBlocks.renderMaxZ, renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ), (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ), (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ); + renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNPN, brightnessMixedXYZNNN, brightnessMixedXYZNNP, renderBlocks.renderMaxY * renderBlocks.renderMinZ, renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ), (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ), (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ); + renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNPN, brightnessMixedXYZNNN, brightnessMixedXYZNNP, renderBlocks.renderMinY * renderBlocks.renderMinZ, renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ), (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ), (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ); + renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNPN, brightnessMixedXYZNNN, brightnessMixedXYZNNP, renderBlocks.renderMinY * renderBlocks.renderMaxZ, renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ), (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ), (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ); + } return this; @@ -515,150 +402,43 @@ public class LightingHelper { float aoLightValue = renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(); - renderBlocks.aoBrightnessXYPN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z); - renderBlocks.aoBrightnessXZPN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z - 1); - renderBlocks.aoBrightnessXZPP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z + 1); - renderBlocks.aoBrightnessXYPP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z); - renderBlocks.aoBrightnessXYZPNN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z - 1); - renderBlocks.aoBrightnessXYZPNP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z + 1); - renderBlocks.aoBrightnessXYZPPN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z - 1); - renderBlocks.aoBrightnessXYZPPP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z + 1); - renderBlocks.aoLightValueScratchXYPN = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXZPN = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXZPP = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXYPP = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXYZPNN = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y - 1, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXYZPNP = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y - 1, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXYZPPN = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y + 1, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXYZPPP = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y + 1, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxX); - - int brightnessMixedXYZPPP = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessXZPP, - renderBlocks.aoBrightnessXYPP, - renderBlocks.aoBrightnessXYZPPP, - mixedBrightness); - int brightnessMixedXYZPNP = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessXYPN, - renderBlocks.aoBrightnessXYZPNP, - renderBlocks.aoBrightnessXZPP, - mixedBrightness); - int brightnessMixedXYZPNN = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessXYZPNN, - renderBlocks.aoBrightnessXYPN, - renderBlocks.aoBrightnessXZPN, - mixedBrightness); - int brightnessMixedXYZPPN = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessXZPN, - renderBlocks.aoBrightnessXYZPPN, - renderBlocks.aoBrightnessXYPP, - mixedBrightness); - - float aoMixedXYZPPP = (aoLightValue - + renderBlocks.aoLightValueScratchXZPP - + renderBlocks.aoLightValueScratchXYPP - + renderBlocks.aoLightValueScratchXYZPPP) - / 4.0F; - float aoMixedXYZPNP = (renderBlocks.aoLightValueScratchXYPN - + renderBlocks.aoLightValueScratchXYZPNP - + aoLightValue - + renderBlocks.aoLightValueScratchXZPP) - / 4.0F; - float aoMixedXYZPNN = (renderBlocks.aoLightValueScratchXYZPNN - + renderBlocks.aoLightValueScratchXYPN - + renderBlocks.aoLightValueScratchXZPN - + aoLightValue) - / 4.0F; - float aoMixedXYZPPN = (renderBlocks.aoLightValueScratchXZPN - + aoLightValue - + renderBlocks.aoLightValueScratchXYZPPN - + renderBlocks.aoLightValueScratchXYPP) - / 4.0F; - - aoTopLeft = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ - + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ) - + aoMixedXYZPPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ) - + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMaxZ); - aoBottomLeft = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ - + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ) - + aoMixedXYZPPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ) - + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMinZ); - aoBottomRight = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ - + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ) - + aoMixedXYZPPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ) - + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMinZ); - aoTopRight = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ - + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ) - + aoMixedXYZPPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ) - + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMaxZ); - - renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness( - brightnessMixedXYZPNP, - brightnessMixedXYZPNN, - brightnessMixedXYZPPN, - brightnessMixedXYZPPP, - (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ, - (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ), - renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ), - renderBlocks.renderMinY * renderBlocks.renderMaxZ); - renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness( - brightnessMixedXYZPNP, - brightnessMixedXYZPNN, - brightnessMixedXYZPPN, - brightnessMixedXYZPPP, - (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ, - (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ), - renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ), - renderBlocks.renderMinY * renderBlocks.renderMinZ); - renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness( - brightnessMixedXYZPNP, - brightnessMixedXYZPNN, - brightnessMixedXYZPPN, - brightnessMixedXYZPPP, - (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ, - (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ), - renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ), - renderBlocks.renderMaxY * renderBlocks.renderMinZ); - renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness( - brightnessMixedXYZPNP, - brightnessMixedXYZPNN, - brightnessMixedXYZPPN, - brightnessMixedXYZPPP, - (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ, - (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ), - renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ), - renderBlocks.renderMaxY * renderBlocks.renderMaxZ); + renderBlocks.aoBrightnessXYPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z); + renderBlocks.aoBrightnessXZPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z - 1); + renderBlocks.aoBrightnessXZPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z + 1); + renderBlocks.aoBrightnessXYPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z); + renderBlocks.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z - 1); + renderBlocks.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z + 1); + renderBlocks.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z - 1); + renderBlocks.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z + 1); + renderBlocks.aoLightValueScratchXYPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXZPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXZPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXYPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXYZPNN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXYZPNP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXYZPPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXYZPPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); + + int brightnessMixedXYZPPP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXZPP, renderBlocks.aoBrightnessXYPP, renderBlocks.aoBrightnessXYZPPP, mixedBrightness); + int brightnessMixedXYZPNP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYPN, renderBlocks.aoBrightnessXYZPNP, renderBlocks.aoBrightnessXZPP, mixedBrightness); + int brightnessMixedXYZPNN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYZPNN, renderBlocks.aoBrightnessXYPN, renderBlocks.aoBrightnessXZPN, mixedBrightness); + int brightnessMixedXYZPPN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXZPN, renderBlocks.aoBrightnessXYZPPN, renderBlocks.aoBrightnessXYPP, mixedBrightness); + + float aoMixedXYZPPP = (aoLightValue + renderBlocks.aoLightValueScratchXZPP + renderBlocks.aoLightValueScratchXYPP + renderBlocks.aoLightValueScratchXYZPPP) / 4.0F; + float aoMixedXYZPNP = (renderBlocks.aoLightValueScratchXYPN + renderBlocks.aoLightValueScratchXYZPNP + aoLightValue + renderBlocks.aoLightValueScratchXZPP) / 4.0F; + float aoMixedXYZPNN = (renderBlocks.aoLightValueScratchXYZPNN + renderBlocks.aoLightValueScratchXYPN + renderBlocks.aoLightValueScratchXZPN + aoLightValue) / 4.0F; + float aoMixedXYZPPN = (renderBlocks.aoLightValueScratchXZPN + aoLightValue + renderBlocks.aoLightValueScratchXYZPPN + renderBlocks.aoLightValueScratchXYPP) / 4.0F; + + aoTopLeft = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZPPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMaxZ); + aoBottomLeft = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZPPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMinZ); + aoBottomRight = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZPPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMinZ); + aoTopRight = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZPPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMaxZ); + + renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZPPN, brightnessMixedXYZPPP, (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ, (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ), renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ), renderBlocks.renderMinY * renderBlocks.renderMaxZ); + renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZPPN, brightnessMixedXYZPPP, (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ, (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ), renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ), renderBlocks.renderMinY * renderBlocks.renderMinZ); + renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness(brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZPPN, brightnessMixedXYZPPP, (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ, (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ), renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ), renderBlocks.renderMaxY * renderBlocks.renderMinZ); + renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness(brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZPPN, brightnessMixedXYZPPP, (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ, (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ), renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ), renderBlocks.renderMaxY * renderBlocks.renderMaxZ); + } return this; @@ -693,150 +473,43 @@ public class LightingHelper { float ratio = (float) (1.0F - renderBlocks.renderMinY); float aoLightValue = renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(); - renderBlocks.aoBrightnessXYNN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z); - renderBlocks.aoBrightnessYZNN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z - 1); - renderBlocks.aoBrightnessYZNP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z + 1); - renderBlocks.aoBrightnessXYPN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z); - renderBlocks.aoBrightnessXYZNNN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z - 1); - renderBlocks.aoBrightnessXYZNNP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z + 1); - renderBlocks.aoBrightnessXYZPNN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z - 1); - renderBlocks.aoBrightnessXYZPNP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z + 1); - renderBlocks.aoLightValueScratchXYNN = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchYZNN = getMixedAo( - renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchYZNP = getMixedAo( - renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchXYPN = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchXYZNNN = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y - 1, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchXYZNNP = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y - 1, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchXYZPNN = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y - 1, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchXYZPNP = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y - 1, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), - ratio); - - int brightnessMixedXYZPNP = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessYZNP, - renderBlocks.aoBrightnessXYZPNP, - renderBlocks.aoBrightnessXYPN, - mixedBrightness); - int brightnessMixedXYZPNN = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessYZNN, - renderBlocks.aoBrightnessXYPN, - renderBlocks.aoBrightnessXYZPNN, - mixedBrightness); - int brightnessMixedXYZNNN = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessXYNN, - renderBlocks.aoBrightnessXYZNNN, - renderBlocks.aoBrightnessYZNN, - mixedBrightness); - int brightnessMixedXYZNNP = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessXYZNNP, - renderBlocks.aoBrightnessXYNN, - renderBlocks.aoBrightnessYZNP, - mixedBrightness); - - float aoMixedXYZPNP = (renderBlocks.aoLightValueScratchYZNP - + aoLightValue - + renderBlocks.aoLightValueScratchXYZPNP - + renderBlocks.aoLightValueScratchXYPN) - / 4.0F; - float aoMixedXYZPNN = (aoLightValue - + renderBlocks.aoLightValueScratchYZNN - + renderBlocks.aoLightValueScratchXYPN - + renderBlocks.aoLightValueScratchXYZPNN) - / 4.0F; - float aoMixedXYZNNN = (renderBlocks.aoLightValueScratchXYNN - + renderBlocks.aoLightValueScratchXYZNNN - + aoLightValue - + renderBlocks.aoLightValueScratchYZNN) - / 4.0F; - float aoMixedXYZNNP = (renderBlocks.aoLightValueScratchXYZNNP - + renderBlocks.aoLightValueScratchXYNN - + renderBlocks.aoLightValueScratchYZNP - + aoLightValue) - / 4.0F; - - aoTopLeft = (float) (aoMixedXYZNNP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX) - + aoMixedXYZPNP * renderBlocks.renderMaxZ * renderBlocks.renderMinX - + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX - + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); - aoBottomLeft = (float) (aoMixedXYZNNP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX) - + aoMixedXYZPNP * renderBlocks.renderMinZ * renderBlocks.renderMinX - + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX - + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); - aoBottomRight = (float) (aoMixedXYZNNP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX) - + aoMixedXYZPNP * renderBlocks.renderMinZ * renderBlocks.renderMaxX - + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX - + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); - aoTopRight = (float) (aoMixedXYZNNP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX) - + aoMixedXYZPNP * renderBlocks.renderMaxZ * renderBlocks.renderMaxX - + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX - + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); - - renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness( - brightnessMixedXYZNNP, - brightnessMixedXYZPNP, - brightnessMixedXYZPNN, - brightnessMixedXYZNNN, - renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX), - renderBlocks.renderMaxZ * renderBlocks.renderMinX, - (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX, - (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); - renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness( - brightnessMixedXYZNNP, - brightnessMixedXYZPNP, - brightnessMixedXYZPNN, - brightnessMixedXYZNNN, - renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX), - renderBlocks.renderMinZ * renderBlocks.renderMinX, - (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX, - (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); - renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness( - brightnessMixedXYZNNP, - brightnessMixedXYZPNP, - brightnessMixedXYZPNN, - brightnessMixedXYZNNN, - renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX), - renderBlocks.renderMinZ * renderBlocks.renderMaxX, - (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX, - (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); - renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness( - brightnessMixedXYZNNP, - brightnessMixedXYZPNP, - brightnessMixedXYZPNN, - brightnessMixedXYZNNN, - renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX), - renderBlocks.renderMaxZ * renderBlocks.renderMaxX, - (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX, - (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); + renderBlocks.aoBrightnessXYNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z); + renderBlocks.aoBrightnessYZNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z - 1); + renderBlocks.aoBrightnessYZNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z + 1); + renderBlocks.aoBrightnessXYPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z); + renderBlocks.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z - 1); + renderBlocks.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z + 1); + renderBlocks.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z - 1); + renderBlocks.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z + 1); + renderBlocks.aoLightValueScratchXYNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchYZNN = getMixedAo(renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchYZNP = getMixedAo(renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchXYPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchXYZNNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchXYZNNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchXYZPNN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchXYZPNP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), ratio); + + int brightnessMixedXYZPNP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZNP, renderBlocks.aoBrightnessXYZPNP, renderBlocks.aoBrightnessXYPN, mixedBrightness); + int brightnessMixedXYZPNN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZNN, renderBlocks.aoBrightnessXYPN, renderBlocks.aoBrightnessXYZPNN, mixedBrightness); + int brightnessMixedXYZNNN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYNN, renderBlocks.aoBrightnessXYZNNN, renderBlocks.aoBrightnessYZNN, mixedBrightness); + int brightnessMixedXYZNNP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYZNNP, renderBlocks.aoBrightnessXYNN, renderBlocks.aoBrightnessYZNP, mixedBrightness); + + float aoMixedXYZPNP = (renderBlocks.aoLightValueScratchYZNP + aoLightValue + renderBlocks.aoLightValueScratchXYZPNP + renderBlocks.aoLightValueScratchXYPN) / 4.0F; + float aoMixedXYZPNN = (aoLightValue + renderBlocks.aoLightValueScratchYZNN + renderBlocks.aoLightValueScratchXYPN + renderBlocks.aoLightValueScratchXYZPNN) / 4.0F; + float aoMixedXYZNNN = (renderBlocks.aoLightValueScratchXYNN + renderBlocks.aoLightValueScratchXYZNNN + aoLightValue + renderBlocks.aoLightValueScratchYZNN) / 4.0F; + float aoMixedXYZNNP = (renderBlocks.aoLightValueScratchXYZNNP + renderBlocks.aoLightValueScratchXYNN + renderBlocks.aoLightValueScratchYZNP + aoLightValue) / 4.0F; + + aoTopLeft = (float) (aoMixedXYZNNP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPNP * renderBlocks.renderMaxZ * renderBlocks.renderMinX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); + aoBottomLeft = (float) (aoMixedXYZNNP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPNP * renderBlocks.renderMinZ * renderBlocks.renderMinX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); + aoBottomRight = (float) (aoMixedXYZNNP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPNP * renderBlocks.renderMinZ * renderBlocks.renderMaxX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); + aoTopRight = (float) (aoMixedXYZNNP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPNP * renderBlocks.renderMaxZ * renderBlocks.renderMaxX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); + + renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX), renderBlocks.renderMaxZ * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); + renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX), renderBlocks.renderMinZ * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); + renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX), renderBlocks.renderMinZ * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); + renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX), renderBlocks.renderMaxZ * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); + } return this; @@ -870,150 +543,42 @@ public class LightingHelper { float aoLightValue = renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(); - renderBlocks.aoBrightnessXYNP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z); - renderBlocks.aoBrightnessXYPP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z); - renderBlocks.aoBrightnessYZPN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z - 1); - renderBlocks.aoBrightnessYZPP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z + 1); - renderBlocks.aoBrightnessXYZNPN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z - 1); - renderBlocks.aoBrightnessXYZPPN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z - 1); - renderBlocks.aoBrightnessXYZNPP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z + 1); - renderBlocks.aoBrightnessXYZPPP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z + 1); - renderBlocks.aoLightValueScratchXYNP = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchXYPP = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchYZPN = getMixedAo( - renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchYZPP = getMixedAo( - renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchXYZNPN = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y + 1, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchXYZPPN = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y + 1, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchXYZNPP = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y + 1, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchXYZPPP = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y + 1, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxY); - - int brightnessMixedXYZPPP = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessYZPP, - renderBlocks.aoBrightnessXYZPPP, - renderBlocks.aoBrightnessXYPP, - mixedBrightness); - int brightnessMixedXYZPPN = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessYZPN, - renderBlocks.aoBrightnessXYPP, - renderBlocks.aoBrightnessXYZPPN, - mixedBrightness); - int brightnessMixedXYZNPN = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessXYNP, - renderBlocks.aoBrightnessXYZNPN, - renderBlocks.aoBrightnessYZPN, - mixedBrightness); - int brightnessMixedXYZNPP = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessXYZNPP, - renderBlocks.aoBrightnessXYNP, - renderBlocks.aoBrightnessYZPP, - mixedBrightness); - - float aoMixedXYZPPP = (renderBlocks.aoLightValueScratchYZPP - + aoLightValue - + renderBlocks.aoLightValueScratchXYZPPP - + renderBlocks.aoLightValueScratchXYPP) - / 4.0F; - float aoMixedXYZPPN = (aoLightValue - + renderBlocks.aoLightValueScratchYZPN - + renderBlocks.aoLightValueScratchXYPP - + renderBlocks.aoLightValueScratchXYZPPN) - / 4.0F; - float aoMixedXYZNPN = (renderBlocks.aoLightValueScratchXYNP - + renderBlocks.aoLightValueScratchXYZNPN - + aoLightValue - + renderBlocks.aoLightValueScratchYZPN) - / 4.0F; - float aoMixedXYZNPP = (renderBlocks.aoLightValueScratchXYZNPP - + renderBlocks.aoLightValueScratchXYNP - + renderBlocks.aoLightValueScratchYZPP - + aoLightValue) - / 4.0F; - - aoTopLeft /*SE*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX) - + aoMixedXYZPPP * renderBlocks.renderMaxZ * renderBlocks.renderMaxX - + aoMixedXYZPPN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX - + aoMixedXYZNPN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); - aoBottomLeft /*NE*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX) - + aoMixedXYZPPP * renderBlocks.renderMinZ * renderBlocks.renderMaxX - + aoMixedXYZPPN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX - + aoMixedXYZNPN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); - aoBottomRight /*NW*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX) - + aoMixedXYZPPP * renderBlocks.renderMinZ * renderBlocks.renderMinX - + aoMixedXYZPPN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX - + aoMixedXYZNPN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); - aoTopRight /*SW*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX) - + aoMixedXYZPPP * renderBlocks.renderMaxZ * renderBlocks.renderMinX - + aoMixedXYZPPN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX - + aoMixedXYZNPN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); - - renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness( - brightnessMixedXYZNPP, - brightnessMixedXYZPPP, - brightnessMixedXYZPPN, - brightnessMixedXYZNPN, - renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX), - renderBlocks.renderMaxZ * renderBlocks.renderMaxX, - (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX, - (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); - renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness( - brightnessMixedXYZNPP, - brightnessMixedXYZPPP, - brightnessMixedXYZPPN, - brightnessMixedXYZNPN, - renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX), - renderBlocks.renderMinZ * renderBlocks.renderMaxX, - (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX, - (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); - renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness( - brightnessMixedXYZNPP, - brightnessMixedXYZPPP, - brightnessMixedXYZPPN, - brightnessMixedXYZNPN, - renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX), - renderBlocks.renderMinZ * renderBlocks.renderMinX, - (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX, - (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); - renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness( - brightnessMixedXYZNPP, - brightnessMixedXYZPPP, - brightnessMixedXYZPPN, - brightnessMixedXYZNPN, - renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX), - renderBlocks.renderMaxZ * renderBlocks.renderMinX, - (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX, - (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); + renderBlocks.aoBrightnessXYNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z); + renderBlocks.aoBrightnessXYPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z); + renderBlocks.aoBrightnessYZPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z - 1); + renderBlocks.aoBrightnessYZPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z + 1); + renderBlocks.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z - 1); + renderBlocks.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z - 1); + renderBlocks.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z + 1); + renderBlocks.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z + 1); + renderBlocks.aoLightValueScratchXYNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchXYPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchYZPN = getMixedAo(renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchYZPP = getMixedAo(renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchXYZNPN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchXYZPPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchXYZNPP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchXYZPPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); + + int brightnessMixedXYZPPP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZPP, renderBlocks.aoBrightnessXYZPPP, renderBlocks.aoBrightnessXYPP, mixedBrightness); + int brightnessMixedXYZPPN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZPN, renderBlocks.aoBrightnessXYPP, renderBlocks.aoBrightnessXYZPPN, mixedBrightness); + int brightnessMixedXYZNPN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYNP, renderBlocks.aoBrightnessXYZNPN, renderBlocks.aoBrightnessYZPN, mixedBrightness); + int brightnessMixedXYZNPP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYZNPP, renderBlocks.aoBrightnessXYNP, renderBlocks.aoBrightnessYZPP, mixedBrightness); + + float aoMixedXYZPPP = (renderBlocks.aoLightValueScratchYZPP + aoLightValue + renderBlocks.aoLightValueScratchXYZPPP + renderBlocks.aoLightValueScratchXYPP) / 4.0F; + float aoMixedXYZPPN = (aoLightValue + renderBlocks.aoLightValueScratchYZPN + renderBlocks.aoLightValueScratchXYPP + renderBlocks.aoLightValueScratchXYZPPN) / 4.0F; + float aoMixedXYZNPN = (renderBlocks.aoLightValueScratchXYNP + renderBlocks.aoLightValueScratchXYZNPN + aoLightValue + renderBlocks.aoLightValueScratchYZPN) / 4.0F; + float aoMixedXYZNPP = (renderBlocks.aoLightValueScratchXYZNPP + renderBlocks.aoLightValueScratchXYNP + renderBlocks.aoLightValueScratchYZPP + aoLightValue) / 4.0F; + + aoTopLeft /*SE*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPPP * renderBlocks.renderMaxZ * renderBlocks.renderMaxX + aoMixedXYZPPN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX + aoMixedXYZNPN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); + aoBottomLeft /*NE*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPPP * renderBlocks.renderMinZ * renderBlocks.renderMaxX + aoMixedXYZPPN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX + aoMixedXYZNPN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); + aoBottomRight /*NW*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPPP * renderBlocks.renderMinZ * renderBlocks.renderMinX + aoMixedXYZPPN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX + aoMixedXYZNPN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); + aoTopRight /*SW*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPPP * renderBlocks.renderMaxZ * renderBlocks.renderMinX + aoMixedXYZPPN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX + aoMixedXYZNPN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); + + renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZPPP, brightnessMixedXYZPPN, brightnessMixedXYZNPN, renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX), renderBlocks.renderMaxZ * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); + renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZPPP, brightnessMixedXYZPPN, brightnessMixedXYZNPN, renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX), renderBlocks.renderMinZ * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); + renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZPPP, brightnessMixedXYZPPN, brightnessMixedXYZNPN, renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX), renderBlocks.renderMinZ * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); + renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZPPP, brightnessMixedXYZPPN, brightnessMixedXYZNPN, renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX), renderBlocks.renderMaxZ * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); } return this; @@ -1048,150 +613,43 @@ public class LightingHelper { float ratio = (float) (1.0F - renderBlocks.renderMinZ); float aoLightValue = renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(); - renderBlocks.aoBrightnessXZNN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y, zOffset); - renderBlocks.aoBrightnessYZNN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y - 1, zOffset); - renderBlocks.aoBrightnessYZPN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y + 1, zOffset); - renderBlocks.aoBrightnessXZPN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y, zOffset); - renderBlocks.aoBrightnessXYZNNN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y - 1, zOffset); - renderBlocks.aoBrightnessXYZNPN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y + 1, zOffset); - renderBlocks.aoBrightnessXYZPNN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y - 1, zOffset); - renderBlocks.aoBrightnessXYZPPN = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y + 1, zOffset); - renderBlocks.aoLightValueScratchXZNN = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchYZNN = getMixedAo( - renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchYZPN = getMixedAo( - renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchXZPN = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchXYZNNN = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y - 1, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchXYZNPN = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y + 1, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchXYZPNN = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y - 1, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), - ratio); - renderBlocks.aoLightValueScratchXYZPPN = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y + 1, z - 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), - ratio); - - int brightnessMixedXYZPPN = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessYZPN, - renderBlocks.aoBrightnessXZPN, - renderBlocks.aoBrightnessXYZPPN, - mixedBrightness); - int brightnessMixedXYZPNN = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessYZNN, - renderBlocks.aoBrightnessXYZPNN, - renderBlocks.aoBrightnessXZPN, - mixedBrightness); - int brightnessMixedXYZNNN = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessXYZNNN, - renderBlocks.aoBrightnessXZNN, - renderBlocks.aoBrightnessYZNN, - mixedBrightness); - int brightnessMixedXYZNPN = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessXZNN, - renderBlocks.aoBrightnessXYZNPN, - renderBlocks.aoBrightnessYZPN, - mixedBrightness); - - float aoMixedXYZPPN = (aoLightValue - + renderBlocks.aoLightValueScratchYZPN - + renderBlocks.aoLightValueScratchXZPN - + renderBlocks.aoLightValueScratchXYZPPN) - / 4.0F; - float aoMixedXYZPNN = (renderBlocks.aoLightValueScratchYZNN - + aoLightValue - + renderBlocks.aoLightValueScratchXYZPNN - + renderBlocks.aoLightValueScratchXZPN) - / 4.0F; - float aoMixedXYZNNN = (renderBlocks.aoLightValueScratchXYZNNN - + renderBlocks.aoLightValueScratchXZNN - + renderBlocks.aoLightValueScratchYZNN - + aoLightValue) - / 4.0F; - float aoMixedXYZNPN = (renderBlocks.aoLightValueScratchXZNN - + renderBlocks.aoLightValueScratchXYZNPN - + aoLightValue - + renderBlocks.aoLightValueScratchYZPN) - / 4.0F; - - aoTopLeft = (float) (aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX) - + aoMixedXYZPPN * renderBlocks.renderMaxY * renderBlocks.renderMinX - + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX - + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX)); - aoBottomLeft = (float) (aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX) - + aoMixedXYZPPN * renderBlocks.renderMaxY * renderBlocks.renderMaxX - + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX - + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX)); - aoBottomRight = (float) (aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX) - + aoMixedXYZPPN * renderBlocks.renderMinY * renderBlocks.renderMaxX - + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX - + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX)); - aoTopRight = (float) (aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX) - + aoMixedXYZPPN * renderBlocks.renderMinY * renderBlocks.renderMinX - + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX - + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX)); - - renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness( - brightnessMixedXYZNPN, - brightnessMixedXYZPPN, - brightnessMixedXYZPNN, - brightnessMixedXYZNNN, - renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX), - renderBlocks.renderMaxY * renderBlocks.renderMinX, - (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX, - (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX)); - renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness( - brightnessMixedXYZNPN, - brightnessMixedXYZPPN, - brightnessMixedXYZPNN, - brightnessMixedXYZNNN, - renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX), - renderBlocks.renderMaxY * renderBlocks.renderMaxX, - (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX, - (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX)); - renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness( - brightnessMixedXYZNPN, - brightnessMixedXYZPPN, - brightnessMixedXYZPNN, - brightnessMixedXYZNNN, - renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX), - renderBlocks.renderMinY * renderBlocks.renderMaxX, - (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX, - (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX)); - renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness( - brightnessMixedXYZNPN, - brightnessMixedXYZPPN, - brightnessMixedXYZPNN, - brightnessMixedXYZNNN, - renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX), - renderBlocks.renderMinY * renderBlocks.renderMinX, - (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX, - (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX)); + renderBlocks.aoBrightnessXZNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y, zOffset); + renderBlocks.aoBrightnessYZNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y - 1, zOffset); + renderBlocks.aoBrightnessYZPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y + 1, zOffset); + renderBlocks.aoBrightnessXZPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y, zOffset); + renderBlocks.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y - 1, zOffset); + renderBlocks.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y + 1, zOffset); + renderBlocks.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y - 1, zOffset); + renderBlocks.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y + 1, zOffset); + renderBlocks.aoLightValueScratchXZNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchYZNN = getMixedAo(renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchYZPN = getMixedAo(renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchXZPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchXYZNNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchXYZNPN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchXYZPNN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), ratio); + renderBlocks.aoLightValueScratchXYZPPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), ratio); + + int brightnessMixedXYZPPN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZPN, renderBlocks.aoBrightnessXZPN, renderBlocks.aoBrightnessXYZPPN, mixedBrightness); + int brightnessMixedXYZPNN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZNN, renderBlocks.aoBrightnessXYZPNN, renderBlocks.aoBrightnessXZPN, mixedBrightness); + int brightnessMixedXYZNNN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYZNNN, renderBlocks.aoBrightnessXZNN, renderBlocks.aoBrightnessYZNN, mixedBrightness); + int brightnessMixedXYZNPN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXZNN, renderBlocks.aoBrightnessXYZNPN, renderBlocks.aoBrightnessYZPN, mixedBrightness); + + float aoMixedXYZPPN = (aoLightValue + renderBlocks.aoLightValueScratchYZPN + renderBlocks.aoLightValueScratchXZPN + renderBlocks.aoLightValueScratchXYZPPN) / 4.0F; + float aoMixedXYZPNN = (renderBlocks.aoLightValueScratchYZNN + aoLightValue + renderBlocks.aoLightValueScratchXYZPNN + renderBlocks.aoLightValueScratchXZPN) / 4.0F; + float aoMixedXYZNNN = (renderBlocks.aoLightValueScratchXYZNNN + renderBlocks.aoLightValueScratchXZNN + renderBlocks.aoLightValueScratchYZNN + aoLightValue) / 4.0F; + float aoMixedXYZNPN = (renderBlocks.aoLightValueScratchXZNN + renderBlocks.aoLightValueScratchXYZNPN + aoLightValue + renderBlocks.aoLightValueScratchYZPN) / 4.0F; + + aoTopLeft = (float) (aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPPN * renderBlocks.renderMaxY * renderBlocks.renderMinX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX)); + aoBottomLeft = (float) (aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPPN * renderBlocks.renderMaxY * renderBlocks.renderMaxX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX)); + aoBottomRight = (float) (aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPPN * renderBlocks.renderMinY * renderBlocks.renderMaxX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX)); + aoTopRight = (float) (aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPPN * renderBlocks.renderMinY * renderBlocks.renderMinX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX)); + + renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPN, brightnessMixedXYZPPN, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX), renderBlocks.renderMaxY * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX)); + renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPN, brightnessMixedXYZPPN, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX), renderBlocks.renderMaxY * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX)); + renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPN, brightnessMixedXYZPPN, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX), renderBlocks.renderMinY * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX)); + renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPN, brightnessMixedXYZPPN, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX), renderBlocks.renderMinY * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX)); + } return this; @@ -1225,150 +683,42 @@ public class LightingHelper { float aoLightValue = renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(); - renderBlocks.aoBrightnessXZNP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y, zOffset); - renderBlocks.aoBrightnessXZPP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y, zOffset); - renderBlocks.aoBrightnessYZNP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y - 1, zOffset); - renderBlocks.aoBrightnessYZPP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y + 1, zOffset); - renderBlocks.aoBrightnessXYZNNP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y - 1, zOffset); - renderBlocks.aoBrightnessXYZNPP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y + 1, zOffset); - renderBlocks.aoBrightnessXYZPNP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y - 1, zOffset); - renderBlocks.aoBrightnessXYZPPP = - block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y + 1, zOffset); - renderBlocks.aoLightValueScratchXZNP = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchXZPP = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchYZNP = getMixedAo( - renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchYZPP = getMixedAo( - renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchXYZNNP = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y - 1, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchXYZNPP = getMixedAo( - renderBlocks.blockAccess.getBlock(x - 1, y + 1, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchXYZPNP = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y - 1, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchXYZPPP = getMixedAo( - renderBlocks.blockAccess.getBlock(x + 1, y + 1, z + 1).getAmbientOcclusionLightValue(), - renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), - renderBlocks.renderMaxZ); - - int brightnessMixedXYZNPP = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessXZNP, - renderBlocks.aoBrightnessXYZNPP, - renderBlocks.aoBrightnessYZPP, - mixedBrightness); - int brightnessMixedXYZNNP = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessXYZNNP, - renderBlocks.aoBrightnessXZNP, - renderBlocks.aoBrightnessYZNP, - mixedBrightness); - int brightnessMixedXYZPNP = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessYZNP, - renderBlocks.aoBrightnessXYZPNP, - renderBlocks.aoBrightnessXZPP, - mixedBrightness); - int brightnessMixedXYZPPP = renderBlocks.getAoBrightness( - renderBlocks.aoBrightnessYZPP, - renderBlocks.aoBrightnessXZPP, - renderBlocks.aoBrightnessXYZPPP, - mixedBrightness); - - float aoMixedXYZNPP = (renderBlocks.aoLightValueScratchXZNP - + renderBlocks.aoLightValueScratchXYZNPP - + aoLightValue - + renderBlocks.aoLightValueScratchYZPP) - / 4.0F; - float aoMixedXYZNNP = (renderBlocks.aoLightValueScratchXYZNNP - + renderBlocks.aoLightValueScratchXZNP - + renderBlocks.aoLightValueScratchYZNP - + aoLightValue) - / 4.0F; - float aoMixedXYZPNP = (renderBlocks.aoLightValueScratchYZNP - + aoLightValue - + renderBlocks.aoLightValueScratchXYZPNP - + renderBlocks.aoLightValueScratchXZPP) - / 4.0F; - float aoMixedXYZPPP = (aoLightValue - + renderBlocks.aoLightValueScratchYZPP - + renderBlocks.aoLightValueScratchXZPP - + renderBlocks.aoLightValueScratchXYZPPP) - / 4.0F; - - aoTopLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX) - + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMinX - + aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX - + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX)); - aoBottomLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX) - + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMinX - + aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX - + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX)); - aoBottomRight = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX) - + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMaxX - + aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX - + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX)); - aoTopRight = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX) - + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMaxX - + aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX - + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX)); - - renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness( - brightnessMixedXYZNPP, - brightnessMixedXYZNNP, - brightnessMixedXYZPNP, - brightnessMixedXYZPPP, - renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX), - (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX), - (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX, - renderBlocks.renderMaxY * renderBlocks.renderMinX); - renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness( - brightnessMixedXYZNPP, - brightnessMixedXYZNNP, - brightnessMixedXYZPNP, - brightnessMixedXYZPPP, - renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX), - (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX), - (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX, - renderBlocks.renderMinY * renderBlocks.renderMinX); - renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness( - brightnessMixedXYZNPP, - brightnessMixedXYZNNP, - brightnessMixedXYZPNP, - brightnessMixedXYZPPP, - renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX), - (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX), - (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX, - renderBlocks.renderMinY * renderBlocks.renderMaxX); - renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness( - brightnessMixedXYZNPP, - brightnessMixedXYZNNP, - brightnessMixedXYZPNP, - brightnessMixedXYZPPP, - renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX), - (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX), - (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX, - renderBlocks.renderMaxY * renderBlocks.renderMaxX); + renderBlocks.aoBrightnessXZNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y, zOffset); + renderBlocks.aoBrightnessXZPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y, zOffset); + renderBlocks.aoBrightnessYZNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y - 1, zOffset); + renderBlocks.aoBrightnessYZPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y + 1, zOffset); + renderBlocks.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y - 1, zOffset); + renderBlocks.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y + 1, zOffset); + renderBlocks.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y - 1, zOffset); + renderBlocks.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y + 1, zOffset); + renderBlocks.aoLightValueScratchXZNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchXZPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchYZNP = getMixedAo(renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchYZPP = getMixedAo(renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchXYZNNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchXYZNPP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchXYZPNP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchXYZPPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); + + int brightnessMixedXYZNPP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXZNP, renderBlocks.aoBrightnessXYZNPP, renderBlocks.aoBrightnessYZPP, mixedBrightness); + int brightnessMixedXYZNNP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYZNNP, renderBlocks.aoBrightnessXZNP, renderBlocks.aoBrightnessYZNP, mixedBrightness); + int brightnessMixedXYZPNP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZNP, renderBlocks.aoBrightnessXYZPNP, renderBlocks.aoBrightnessXZPP, mixedBrightness); + int brightnessMixedXYZPPP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZPP, renderBlocks.aoBrightnessXZPP, renderBlocks.aoBrightnessXYZPPP, mixedBrightness); + + float aoMixedXYZNPP = (renderBlocks.aoLightValueScratchXZNP + renderBlocks.aoLightValueScratchXYZNPP + aoLightValue + renderBlocks.aoLightValueScratchYZPP) / 4.0F; + float aoMixedXYZNNP = (renderBlocks.aoLightValueScratchXYZNNP + renderBlocks.aoLightValueScratchXZNP + renderBlocks.aoLightValueScratchYZNP + aoLightValue) / 4.0F; + float aoMixedXYZPNP = (renderBlocks.aoLightValueScratchYZNP + aoLightValue + renderBlocks.aoLightValueScratchXYZPNP + renderBlocks.aoLightValueScratchXZPP) / 4.0F; + float aoMixedXYZPPP = (aoLightValue + renderBlocks.aoLightValueScratchYZPP + renderBlocks.aoLightValueScratchXZPP + renderBlocks.aoLightValueScratchXYZPPP) / 4.0F; + + aoTopLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMinX + aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX)); + aoBottomLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMinX + aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX)); + aoBottomRight = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMaxX + aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX)); + aoTopRight = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMaxX + aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX)); + + renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPPP, renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX), (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX), (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX, renderBlocks.renderMaxY * renderBlocks.renderMinX); + renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPPP, renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX), (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX), (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX, renderBlocks.renderMinY * renderBlocks.renderMinX); + renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPPP, renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX), (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX), (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX, renderBlocks.renderMinY * renderBlocks.renderMaxX); + renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPPP, renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX), (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX), (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX, renderBlocks.renderMaxY * renderBlocks.renderMaxX); } return this; diff --git a/src/main/java/com/github/technus/tectech/util/TT_Utility.java b/src/main/java/com/github/technus/tectech/util/TT_Utility.java index 41335bb31a..2b67f72ff0 100644 --- a/src/main/java/com/github/technus/tectech/util/TT_Utility.java +++ b/src/main/java/com/github/technus/tectech/util/TT_Utility.java @@ -8,14 +8,6 @@ import gregtech.api.GregTech_API; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.lang.reflect.Array; -import java.lang.reflect.Field; -import java.nio.charset.StandardCharsets; -import java.util.*; -import java.util.function.Function; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.inventory.Container; @@ -34,19 +26,28 @@ import net.minecraft.world.storage.SaveHandler; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.StringUtils; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.lang.reflect.Array; +import java.lang.reflect.Field; +import java.nio.charset.StandardCharsets; +import java.util.*; +import java.util.function.Function; + /** * Created by Tec on 21.03.2017. */ public final class TT_Utility { - private TT_Utility() {} + private TT_Utility() { + } - private static final StringBuilder STRING_BUILDER = new StringBuilder(); - private static final Map FORMATTER_MAP = new HashMap<>(); + private static final StringBuilder STRING_BUILDER = new StringBuilder(); + private static final Map FORMATTER_MAP = new HashMap<>(); private static Formatter getFormatter() { STRING_BUILDER.setLength(0); - return FORMATTER_MAP.computeIfAbsent( - Locale.getDefault(Locale.Category.FORMAT), locale -> new Formatter(STRING_BUILDER, locale)); + return FORMATTER_MAP.computeIfAbsent(Locale.getDefault(Locale.Category.FORMAT), locale -> new Formatter(STRING_BUILDER, locale)); } public static String formatNumberShortExp(double value) { @@ -63,10 +64,12 @@ public final class TT_Utility { @SuppressWarnings("ComparatorMethodParameterNotUsed") public static > SortedSet> entriesSortedByValues(Map map) { - SortedSet> sortedEntries = new TreeSet<>((e1, e2) -> { - int res = e1.getValue().compareTo(e2.getValue()); - return res != 0 ? res : 1; // Special fix to preserve items with equal values - }); + SortedSet> sortedEntries = new TreeSet<>( + (e1, e2) -> { + int res = e1.getValue().compareTo(e2.getValue()); + return res != 0 ? res : 1; // Special fix to preserve items with equal values + } + ); sortedEntries.addAll(map.entrySet()); return sortedEntries; } @@ -98,18 +101,16 @@ public final class TT_Utility { return Double.parseDouble(str); } - private static final String SUPER_SCRIPT = - "\u207D\u207E*\u207A,\u207B./\u2070\u00B9\u00B2\u00B3\u2074\u2075\u2076\u2077\u2078\u2079:;<\u207C"; - private static final String SUB_SCRIPT = - "\u208D\u208E*\u208A,\u208B./\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089:;<\u208C"; + private static final String SUPER_SCRIPT = "\u207D\u207E*\u207A,\u207B./\u2070\u00B9\u00B2\u00B3\u2074\u2075\u2076\u2077\u2078\u2079:;<\u207C"; + private static final String SUB_SCRIPT = "\u208D\u208E*\u208A,\u208B./\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089:;<\u208C"; public static String toSubscript(String s) { STRING_BUILDER.setLength(0); - for (int i = 0; i < s.length(); i++) { - char c = s.charAt(i); - if (c >= '(' && c <= '=') { - STRING_BUILDER.append(SUB_SCRIPT.charAt(c - '(')); - } else { + for (int i = 0; i ='('&&c<='='){ + STRING_BUILDER.append(SUB_SCRIPT.charAt(c-'(')); + }else { STRING_BUILDER.append(c); } } @@ -118,17 +119,18 @@ public final class TT_Utility { public static String toSuperscript(String s) { STRING_BUILDER.setLength(0); - for (int i = 0; i < s.length(); i++) { - char c = s.charAt(i); - if (c >= '(' && c <= '=') { - STRING_BUILDER.append(SUPER_SCRIPT.charAt(c - '(')); - } else { + for (int i = 0; i ='('&&c<='='){ + STRING_BUILDER.append(SUPER_SCRIPT.charAt(c-'(')); + }else { STRING_BUILDER.append(c); } } return STRING_BUILDER.toString(); } + public static double getValue(String in1) { String str = in1.toLowerCase(); double val; @@ -148,6 +150,7 @@ public final class TT_Utility { } } + public static String intBitsToString(int number) { StringBuilder result = new StringBuilder(16); @@ -200,13 +203,7 @@ public final class TT_Utility { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } - public static boolean isInputEqual( - boolean aDecreaseStacksizeBySuccess, - boolean aDontCheckStackSizes, - FluidStack[] requiredFluidInputs, - ItemStack[] requiredInputs, - FluidStack[] givenFluidInputs, - ItemStack... givenInputs) { + public static boolean isInputEqual(boolean aDecreaseStacksizeBySuccess, boolean aDontCheckStackSizes, FluidStack[] requiredFluidInputs, ItemStack[] requiredInputs, FluidStack[] givenFluidInputs, ItemStack... givenInputs) { if (!GregTech_API.sPostloadFinished) { return false; } @@ -245,8 +242,7 @@ public final class TT_Utility { amt = tStack.stackSize; boolean temp = true; for (ItemStack aStack : givenInputs) { - if (GT_Utility.areUnificationsEqual(aStack, tStack, true) - || GT_Utility.areUnificationsEqual(GT_OreDictUnificator.get(false, aStack), tStack, true)) { + if (GT_Utility.areUnificationsEqual(aStack, tStack, true) || GT_Utility.areUnificationsEqual(GT_OreDictUnificator.get(false, aStack), tStack, true)) { if (aDontCheckStackSizes) { temp = false; break; @@ -293,9 +289,7 @@ public final class TT_Utility { if (tStack != null) { amt = tStack.stackSize; for (ItemStack aStack : givenInputs) { - if (GT_Utility.areUnificationsEqual(aStack, tStack, true) - || GT_Utility.areUnificationsEqual( - GT_OreDictUnificator.get(false, aStack), tStack, true)) { + if (GT_Utility.areUnificationsEqual(aStack, tStack, true) || GT_Utility.areUnificationsEqual(GT_OreDictUnificator.get(false, aStack), tStack, true)) { if (aDontCheckStackSizes) { aStack.stackSize -= amt; break; @@ -336,7 +330,7 @@ public final class TT_Utility { public static String[] splitButDifferent(String string, String delimiter) { String[] strings = new String[StringUtils.countMatches(string, delimiter) + 1]; - int lastEnd = 0; + int lastEnd = 0; for (int i = 0; i < strings.length - 1; i++) { int nextEnd = string.indexOf(delimiter, lastEnd); strings[i] = string.substring(lastEnd, nextEnd); @@ -391,8 +385,8 @@ public final class TT_Utility { public static class ItemStack_NoNBT implements Comparable { public final Item mItem; - public final int mStackSize; - public final int mMetaData; + public final int mStackSize; + public final int mMetaData; public ItemStack_NoNBT(Item aItem, long aStackSize, long aMetaData) { this.mItem = aItem; @@ -426,15 +420,11 @@ public final class TT_Utility { @Override public boolean equals(Object aStack) { - return aStack == this - || (aStack instanceof ItemStack_NoNBT - && ((mItem == ((ItemStack_NoNBT) aStack).mItem) - || ((ItemStack_NoNBT) aStack) - .mItem - .getUnlocalizedName() - .equals(this.mItem.getUnlocalizedName())) - && ((ItemStack_NoNBT) aStack).mStackSize == this.mStackSize - && ((ItemStack_NoNBT) aStack).mMetaData == this.mMetaData); + return aStack == this || + (aStack instanceof ItemStack_NoNBT && + ((mItem == ((ItemStack_NoNBT) aStack).mItem) || ((ItemStack_NoNBT) aStack).mItem.getUnlocalizedName().equals(this.mItem.getUnlocalizedName())) && + ((ItemStack_NoNBT) aStack).mStackSize == this.mStackSize && + ((ItemStack_NoNBT) aStack).mMetaData == this.mMetaData); } @Override @@ -444,13 +434,7 @@ public final class TT_Utility { @Override public String toString() { - return Integer.toString(hashCode()) - + ' ' - + (mItem == null ? "null" : mItem.getUnlocalizedName()) - + ' ' - + mMetaData - + ' ' - + mStackSize; + return Integer.toString(hashCode()) + ' ' + (mItem == null ? "null" : mItem.getUnlocalizedName()) + ' ' + mMetaData + ' ' + mStackSize; } } @@ -460,7 +444,7 @@ public final class TT_Utility { field.setAccessible(true); field.set(me, (byte) tier); } catch (Exception e) { - // e.printStackTrace(); + //e.printStackTrace(); } } @@ -567,15 +551,11 @@ public final class TT_Utility { try { if (FMLCommonHandler.instance().getEffectiveSide().isServer()) { if (uuid1 != null && uuid2 != null) { - IPlayerFileData playerNBTManagerObj = MinecraftServer.getServer() - .worldServerForDimension(0) - .getSaveHandler() - .getSaveHandler(); - SaveHandler sh = (SaveHandler) playerNBTManagerObj; - File dir = ObfuscationReflectionHelper.getPrivateValue( - SaveHandler.class, sh, new String[] {"playersDirectory", "field_75771_c"}); - String id1 = uuid1.toString(); - NBTTagCompound tagCompound = read(new File(dir, id1 + "." + extension)); + IPlayerFileData playerNBTManagerObj = MinecraftServer.getServer().worldServerForDimension(0).getSaveHandler().getSaveHandler(); + SaveHandler sh = (SaveHandler) playerNBTManagerObj; + File dir = ObfuscationReflectionHelper.getPrivateValue(SaveHandler.class, sh, new String[]{"playersDirectory", "field_75771_c"}); + String id1 = uuid1.toString(); + NBTTagCompound tagCompound = read(new File(dir, id1 + "." + extension)); if (tagCompound != null) { return tagCompound; } @@ -603,19 +583,13 @@ public final class TT_Utility { try { if (FMLCommonHandler.instance().getEffectiveSide().isServer()) { if (player != null) { - IPlayerFileData playerNBTManagerObj = MinecraftServer.getServer() - .worldServerForDimension(0) - .getSaveHandler() - .getSaveHandler(); - SaveHandler sh = (SaveHandler) playerNBTManagerObj; - File dir = ObfuscationReflectionHelper.getPrivateValue( - SaveHandler.class, sh, new String[] {"playersDirectory", "field_75771_c"}); - String id1 = player.getUniqueID().toString(); + IPlayerFileData playerNBTManagerObj = MinecraftServer.getServer().worldServerForDimension(0).getSaveHandler().getSaveHandler(); + SaveHandler sh = (SaveHandler) playerNBTManagerObj; + File dir = ObfuscationReflectionHelper.getPrivateValue(SaveHandler.class, sh, new String[]{"playersDirectory", "field_75771_c"}); + String id1 = player.getUniqueID().toString(); write(new File(dir, id1 + "." + extension), data); write(new File(dir, id1 + "." + extension + "_bak"), data); - String id2 = UUID.nameUUIDFromBytes( - player.getCommandSenderName().getBytes(StandardCharsets.UTF_8)) - .toString(); + String id2 = UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(StandardCharsets.UTF_8)).toString(); write(new File(dir, id2 + "." + extension), data); write(new File(dir, id2 + "." + extension + "_bak"), data); } diff --git a/src/main/java/com/github/technus/tectech/util/XSTR.java b/src/main/java/com/github/technus/tectech/util/XSTR.java index 0f1c5578d7..31c9b6a65c 100644 --- a/src/main/java/com/github/technus/tectech/util/XSTR.java +++ b/src/main/java/com/github/technus/tectech/util/XSTR.java @@ -1,28 +1,28 @@ package com.github.technus.tectech.util; /* - A subclass of java.util.random that implements the Xorshift random number - generator -

- - it is 30% faster than the generator from Java's library - it produces - random sequences of higher quality than java.util.Random - this class also - provides a clone() function -

- Usage: XSRandom rand = new XSRandom(); //Instantiation x = rand.nextInt(); - //pull a random number -

- To use the class in legacy code, you may also instantiate an XSRandom object - and assign it to a java.util.Random object: java.util.Random rand = new - XSRandom(); -

- for an explanation of the algorithm, see - http://demesos.blogspot.com/2011/09/pseudo-random-number-generators.html + A subclass of java.util.random that implements the Xorshift random number + generator +

+ - it is 30% faster than the generator from Java's library - it produces + random sequences of higher quality than java.util.Random - this class also + provides a clone() function +

+ Usage: XSRandom rand = new XSRandom(); //Instantiation x = rand.nextInt(); + //pull a random number +

+ To use the class in legacy code, you may also instantiate an XSRandom object + and assign it to a java.util.Random object: java.util.Random rand = new + XSRandom(); +

+ for an explanation of the algorithm, see + http://demesos.blogspot.com/2011/09/pseudo-random-number-generators.html - @author Wilfried Elmenreich University of Klagenfurt/Lakeside Labs -* http://www.elmenreich.tk -*

-* This code is released under the GNU Lesser General Public License Version 3 -* http://www.gnu.org/licenses/lgpl-3.0.txt -*/ + @author Wilfried Elmenreich University of Klagenfurt/Lakeside Labs + * http://www.elmenreich.tk + *

+ * This code is released under the GNU Lesser General Public License Version 3 + * http://www.gnu.org/licenses/lgpl-3.0.txt + */ import java.util.Random; import java.util.concurrent.atomic.AtomicLong; @@ -40,22 +40,22 @@ public class XSTR extends Random { private static final long GAMMA = 0x9e3779b97f4a7c15L; private static final int PROBE_INCREMENT = 0x9e3779b9; private static final long SEEDER_INCREMENT = 0xbb67ae8584caa73bL; - private static final double DOUBLE_UNIT = 0x1.0p-53; // 1.0 / (1L << 53) + private static final double DOUBLE_UNIT = 0x1.0p-53; // 1.0 / (1L << 53) private static final float FLOAT_UNIT = 0x1.0p-24f; // 1.0f / (1 << 24) private static final AtomicLong seedUniquifier = new AtomicLong(8682522807148012L); - public static final XSTR XSTR_INSTANCE = new XSTR() { + public static final XSTR XSTR_INSTANCE=new XSTR(){ @Override public synchronized void setSeed(long seed) { - if (!Thread.currentThread().getStackTrace()[2].getClassName().equals(Random.class.getName())) { + if(!Thread.currentThread().getStackTrace()[2].getClassName().equals(Random.class.getName())) { throw new NoSuchMethodError("This is meant to be shared!, leave seed state alone!"); } } }; /* - MODIFIED BY: Robotia - Modification: Implemented Random class seed generator - */ + MODIFIED BY: Robotia + Modification: Implemented Random class seed generator + */ /** * Creates a new pseudo random number generator. The seed is initialized to @@ -226,9 +226,9 @@ public class XSTR extends Random { */ @Override public int nextInt(int bound) { - // if (bound <= 0) { - // throw new RuntimeException("BadBound"); - // } + //if (bound <= 0) { + //throw new RuntimeException("BadBound"); + //} /*int r = next(31); int m = bound - 1; @@ -242,7 +242,7 @@ public class XSTR extends Random { ; } return r;*/ - // speedup, new nextInt ~+40% + //speedup, new nextInt ~+40% long last = seed ^ seed << 21; last ^= last >>> 35; last ^= last << 4; @@ -270,11 +270,9 @@ public class XSTR extends Random { @Override public void nextBytes(byte[] bytes_arr) { for (int iba = 0, lenba = bytes_arr.length; iba < lenba; ) { - for (int rndba = nextInt(), nba = Math.min(lenba - iba, Integer.SIZE / Byte.SIZE); - nba-- > 0; - rndba >>= Byte.SIZE) { + for (int rndba = nextInt(), nba = Math.min(lenba - iba, Integer.SIZE / Byte.SIZE); nba-- > 0; rndba >>= Byte.SIZE) { bytes_arr[iba++] = (byte) rndba; } } } -} +} \ No newline at end of file -- cgit From ed1f9e4fda7835b3adc202147b9195771b8da671 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Sat, 20 Aug 2022 00:17:35 +0200 Subject: update buildscript --- build.gradle | 370 ++++++++++++++++++++++++++++++++++++++++++-------------- settings.gradle | 10 ++ 2 files changed, 292 insertions(+), 88 deletions(-) create mode 100644 settings.gradle diff --git a/build.gradle b/build.gradle index c09bee22f3..1f363c02bc 100644 --- a/build.gradle +++ b/build.gradle @@ -1,10 +1,9 @@ -//version: 1652851397 +//version: 1660899027 /* -DO NOT CHANGE THIS FILE! - -Also, you may replace this file at any time if there is an update available. -Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/build.gradle for updates. -*/ + DO NOT CHANGE THIS FILE! + Also, you may replace this file at any time if there is an update available. + Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/build.gradle for updates. + */ import com.github.jengelman.gradle.plugins.shadow.tasks.ConfigureShadowRelocation @@ -12,10 +11,17 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar import org.gradle.internal.logging.text.StyledTextOutput.Style import org.gradle.internal.logging.text.StyledTextOutputFactory +import java.nio.file.Files +import java.nio.file.Paths import java.util.concurrent.TimeUnit +import java.util.zip.ZipEntry +import java.util.zip.ZipInputStream +import java.util.zip.ZipOutputStream buildscript { repositories { + mavenCentral() + maven { name 'forge' url 'https://maven.minecraftforge.net' @@ -37,7 +43,6 @@ buildscript { classpath 'com.github.GTNewHorizons:ForgeGradle:1.2.7' } } - plugins { id 'java-library' id 'idea' @@ -52,8 +57,16 @@ plugins { id 'com.palantir.git-version' version '0.13.0' apply false id 'de.undercouch.download' version '5.0.1' id 'com.github.gmazzo.buildconfig' version '3.0.3' apply false + id 'com.diffplug.spotless' version '6.7.2' apply false +} +verifySettingsGradle() + +dependencies { + implementation 'com.diffplug:blowdryer:1.6.0' } +apply plugin: 'com.diffplug.blowdryer' + if (project.file('.git/HEAD').isFile()) { apply plugin: 'com.palantir.git-version' } @@ -78,6 +91,13 @@ idea { } } +boolean disableSpotless = project.hasProperty("disableSpotless") ? project.disableSpotless.toBoolean() : false + +if (!disableSpotless) { + apply plugin: 'com.diffplug.spotless' + apply from: Blowdryer.file('spotless.gradle') +} + if(JavaVersion.current() != JavaVersion.VERSION_1_8) { throw new GradleException("This project requires Java 8, but it's running on " + JavaVersion.current()) } @@ -103,9 +123,11 @@ checkPropertyExists("containsMixinsAndOrCoreModOnly") checkPropertyExists("usesShadowedDependencies") checkPropertyExists("developmentEnvironmentUserName") -boolean noPublishedSources = project.findProperty("noPublishedSources") ? project.noPublishedSources.toBoolean() : false -boolean usesMixinDebug = project.findProperty('usesMixinDebug') ?: project.usesMixins.toBoolean() - +boolean noPublishedSources = project.hasProperty("noPublishedSources") ? project.noPublishedSources.toBoolean() : false +boolean usesMixinDebug = project.hasProperty('usesMixinDebug') ?: project.usesMixins.toBoolean() +boolean forceEnableMixins = project.hasProperty('forceEnableMixins') ? project.forceEnableMixins.toBoolean() : false +String channel = project.hasProperty('channel') ? project.channel : 'stable' +String mappingsVersion = project.hasProperty('mappingsVersion') ? project.mappingsVersion : '12' String javaSourceDir = "src/main/java/" String scalaSourceDir = "src/main/scala/" String kotlinSourceDir = "src/main/kotlin/" @@ -188,10 +210,10 @@ try { } catch (Exception ignored) { out.style(Style.Failure).text( - 'This mod must be version controlled by Git AND the repository must provide at least one tag,\n' + - 'or the VERSION override must be set! ').style(Style.SuccessHeader).text('(Do NOT download from GitHub using the ZIP option, instead\n' + - 'clone the repository, see ').style(Style.Info).text('https://gtnh.miraheze.org/wiki/Development').style(Style.SuccessHeader).println(' for details.)' - ) + 'This mod must be version controlled by Git AND the repository must provide at least one tag,\n' + + 'or the VERSION override must be set! ').style(Style.SuccessHeader).text('(Do NOT download from GitHub using the ZIP option, instead\n' + + 'clone the repository, see ').style(Style.Info).text('https://gtnh.miraheze.org/wiki/Development').style(Style.SuccessHeader).println(' for details.)' + ) versionOverride = 'NO-GIT-TAG-SET' identifiedVersion = versionOverride } @@ -215,7 +237,7 @@ else { def arguments = [] def jvmArguments = [] -if (usesMixins.toBoolean()) { +if (usesMixins.toBoolean() || forceEnableMixins) { arguments += [ "--tweakClass org.spongepowered.asm.launch.MixinTweaker" ] @@ -280,7 +302,7 @@ repositories { name 'Overmind forge repo mirror' url 'https://gregtech.overminddl1.com/' } - if(usesMixins.toBoolean()) { + if(usesMixins.toBoolean() || forceEnableMixins) { maven { name 'sponge' url 'https://repo.spongepowered.org/repository/maven-public' @@ -297,6 +319,8 @@ dependencies { annotationProcessor('com.google.guava:guava:24.1.1-jre') annotationProcessor('com.google.code.gson:gson:2.8.6') annotationProcessor('org.spongepowered:mixin:0.8-SNAPSHOT') + } + if(usesMixins.toBoolean() || forceEnableMixins) { // using 0.8 to workaround a issue in 0.7 which fails mixin application compile('com.github.GTNewHorizons:SpongePoweredMixin:0.7.12-GTNH') { // Mixin includes a lot of dependencies that are too up-to-date @@ -354,7 +378,10 @@ shadowJar { } minimize() // This will only allow shading for actually used classes - configurations = [project.configurations.shadowImplementation, project.configurations.shadowCompile] + configurations = [ + project.configurations.shadowImplementation, + project.configurations.shadowCompile + ] dependsOn(relocateShadowJar) } @@ -376,7 +403,7 @@ jar { } reobf { - if(usesMixins.toBoolean()) { + if(usesMixins.toBoolean() && file(mixinSrg).exists()) { addExtraSrgFile mixinSrg } } @@ -385,12 +412,12 @@ afterEvaluate { if(usesMixins.toBoolean()) { tasks.compileJava { options.compilerArgs += [ - "-AreobfSrgFile=${tasks.reobf.srg}", - "-AoutSrgFile=${mixinSrg}", - "-AoutRefMapFile=${refMap}", - // Elan: from what I understand they are just some linter configs so you get some warning on how to properly code - "-XDenableSunApiLintControl", - "-XDignore.symbol.file" + "-AreobfSrgFile=${tasks.reobf.srg}", + "-AoutSrgFile=${mixinSrg}", + "-AoutRefMapFile=${refMap}", + // Elan: from what I understand they are just some linter configs so you get some warning on how to properly code + "-XDenableSunApiLintControl", + "-XDignore.symbol.file" ] } } @@ -399,8 +426,8 @@ afterEvaluate { runClient { if(developmentEnvironmentUserName) { arguments += [ - "--username", - developmentEnvironmentUserName + "--username", + developmentEnvironmentUserName ] } @@ -418,13 +445,14 @@ tasks.withType(JavaExec).configureEach { javaToolchains.launcherFor { languageVersion = projectJavaVersion } - ) + ) } processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version + exclude("spotless.gradle") // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { @@ -432,9 +460,9 @@ processResources { // replace modVersion and minecraftVersion expand "minecraftVersion": project.minecraft.version, - "modVersion": modVersion, - "modId": modId, - "modName": modName + "modVersion": modVersion, + "modId": modId, + "modName": modName } if(usesMixins.toBoolean()) { @@ -444,6 +472,7 @@ processResources { // copy everything else that's not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' + exclude 'spotless.gradle' } } @@ -463,9 +492,9 @@ def getManifestAttributes() { if(usesMixins.toBoolean()) { manifestAttributes += [ - "TweakClass" : "org.spongepowered.asm.launch.MixinTweaker", - "MixinConfigs" : "mixins." + modId + ".json", - "ForceLoadAsMod" : !containsMixinsAndOrCoreModOnly.toBoolean() + "TweakClass" : "org.spongepowered.asm.launch.MixinTweaker", + "MixinConfigs" : "mixins." + modId + ".json", + "ForceLoadAsMod" : !containsMixinsAndOrCoreModOnly.toBoolean() ] } return manifestAttributes @@ -492,7 +521,10 @@ task shadowDevJar(type: ShadowJar) { } minimize() // This will only allow shading for actually used classes - configurations = [project.configurations.shadowImplementation, project.configurations.shadowCompile] + configurations = [ + project.configurations.shadowImplementation, + project.configurations.shadowCompile + ] } task relocateShadowDevJar(type: ConfigureShadowRelocation) { @@ -584,7 +616,10 @@ publishing { // remove extra garbage from minecraft and minecraftDeps configuration pom.withXml { def badArtifacts = [:].withDefault {[] as Set} - for (configuration in [projectConfigs.minecraft, projectConfigs.minecraftDeps]) { + for (configuration in [ + projectConfigs.minecraft, + projectConfigs.minecraftDeps + ]) { for (dependency in configuration.allDependencies) { badArtifacts[dependency.group == null ? "" : dependency.group] += dependency.name } @@ -618,11 +653,11 @@ task updateBuildScript { doLast { if (performBuildScriptUpdate(projectDir.toString())) return - print("Build script already up-to-date!") + print("Build script already up-to-date!") } } -if (isNewBuildScriptVersionAvailable(projectDir.toString())) { +if (!project.getGradle().startParameter.isOffline() && isNewBuildScriptVersionAvailable(projectDir.toString())) { if (autoUpdateBuildScript.toBoolean()) { performBuildScriptUpdate(projectDir.toString()) } else { @@ -633,12 +668,26 @@ if (isNewBuildScriptVersionAvailable(projectDir.toString())) { static URL availableBuildScriptUrl() { new URL("https://raw.githubusercontent.com/GTNewHorizons/ExampleMod1.7.10/main/build.gradle") } +static URL exampleSettingsGradleUrl() { + new URL("https://raw.githubusercontent.com/GTNewHorizons/ExampleMod1.7.10/main/settings.gradle.example") +} + + +def verifySettingsGradle() { + def settingsFile = getFile("settings.gradle") + if (!settingsFile.exists()) { + println("Downloading default settings.gradle") + exampleSettingsGradleUrl().withInputStream { i -> settingsFile.withOutputStream { it << i } } + throw new GradleException("Settings.gradle has been updated, please re-run task.") + } +} boolean performBuildScriptUpdate(String projectDir) { if (isNewBuildScriptVersionAvailable(projectDir)) { def buildscriptFile = getFile("build.gradle") availableBuildScriptUrl().withInputStream { i -> buildscriptFile.withOutputStream { it << i } } out.style(Style.Success).print("Build script updated. Please REIMPORT the project or RESTART your IDE!") + verifySettingsGradle() return true } return false @@ -669,80 +718,225 @@ configure(updateBuildScript) { description = 'Updates the build script to the latest version' } -// Deobfuscation +// Parameter Deobfuscation -def deobf(String sourceURL) { - try { - URL url = new URL(sourceURL) - String fileName = url.getFile() - - //get rid of directories: - int lastSlash = fileName.lastIndexOf("/") - if(lastSlash > 0) { - fileName = fileName.substring(lastSlash + 1) +task deobfParams { + doLast { + + String mcpDir = "$project.gradle.gradleUserHomeDir/caches/minecraft/de/oceanlabs/mcp/mcp_$channel/$mappingsVersion" + String mcpZIP = "$mcpDir/mcp_$channel-$mappingsVersion-${minecraftVersion}.zip" + String paramsCSV = "$mcpDir/params.csv" + + download.run { + src "https://maven.minecraftforge.net/de/oceanlabs/mcp/mcp_$channel/$mappingsVersion-$minecraftVersion/mcp_$channel-$mappingsVersion-${minecraftVersion}.zip" + dest mcpZIP + overwrite false } - //get rid of extension: - if(fileName.endsWith(".jar")) { - fileName = fileName.substring(0, fileName.lastIndexOf(".")) + + if(!file(paramsCSV).exists()) { + println("Extracting MCP archive ...") + unzip(mcpZIP, mcpDir) } - String hostName = url.getHost() - if(hostName.startsWith("www.")) { - hostName = hostName.substring(4) + println("Parsing params.csv ...") + Map params = new HashMap<>() + Files.lines(Paths.get(paramsCSV)).forEach{line -> + String[] cells = line.split(",") + if(cells.length > 2 && cells[0].matches("p_i?\\d+_\\d+_")) { + params.put(cells[0], cells[1]) + } } - List parts = Arrays.asList(hostName.split("\\.")) - Collections.reverse(parts) - hostName = String.join(".", parts) - return deobf(sourceURL, hostName + "/" + fileName) - } catch(Exception e) { - return deobf(sourceURL, "deobf/" + String.valueOf(sourceURL.hashCode())) - } + out.style(Style.Success).println("Modified ${replaceParams(file("$projectDir/src/main/java"), params)} files!") + out.style(Style.Failure).println("Don't forget to verify that the code still works as before!\n It could be broken due to duplicate variables existing now\n or parameters taking priority over other variables.") +} } -// The method above is to be preferred. Use this method if the filename is not at the end of the URL. -def deobf(String sourceURL, String fileName) { - String cacheDir = System.getProperty("user.home") + "/.gradle/caches/" - String bon2Dir = cacheDir + "forge_gradle/deobf" - String bon2File = bon2Dir + "/BON2-2.5.0.jar" - String obfFile = cacheDir + "modules-2/files-2.1/" + fileName + ".jar" - String deobfFile = cacheDir + "modules-2/files-2.1/" + fileName + "-deobf.jar" +static int replaceParams(File file, Map params) { +int fileCount = 0 - if(file(deobfFile).exists()) { - return files(deobfFile) +if(file.isDirectory()) { + for(File f : file.listFiles()) { + fileCount += replaceParams(f, params) } - - download.run { - src 'https://github.com/GTNewHorizons/BON2/releases/download/2.5.0/BON2-2.5.0.CUSTOM-all.jar' - dest bon2File - quiet true - overwrite false + return fileCount +} +println("Visiting ${file.getName()} ...") +try { + String content = new String(Files.readAllBytes(file.toPath())) + int hash = content.hashCode() + params.forEach{key, value -> + content = content.replaceAll(key, value) + } + if(hash != content.hashCode()) { + Files.write(file.toPath(), content.getBytes("UTF-8")) + return 1 + } +} catch(Exception e) { + e.printStackTrace() +} +return 0 +} + +// Credit: bitsnaps (https://gist.github.com/bitsnaps/00947f2dce66f4bbdabc67d7e7b33681) +static unzip(String zipFileName, String outputDir) { +byte[] buffer = new byte[16384] +ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFileName)) +ZipEntry zipEntry = zis.getNextEntry() +while (zipEntry != null) { + File newFile = new File(outputDir + File.separator, zipEntry.name) + if (zipEntry.isDirectory()) { + if (!newFile.isDirectory() && !newFile.mkdirs()) { + throw new IOException("Failed to create directory $newFile") + } + } else { + // fix for Windows-created archives + File parent = newFile.parentFile + if (!parent.isDirectory() && !parent.mkdirs()) { + throw new IOException("Failed to create directory $parent") + } + // write file content + FileOutputStream fos = new FileOutputStream(newFile) + int len = 0 + while ((len = zis.read(buffer)) > 0) { + fos.write(buffer, 0, len) + } + fos.close() } + zipEntry = zis.getNextEntry() +} +zis.closeEntry() +zis.close() +} + +configure(deobfParams) { +group = 'forgegradle' +description = 'Rename all obfuscated parameter names inherited from Minecraft classes' +} + +// Dependency Deobfuscation + +def deobf(String sourceURL) { +try { + URL url = new URL(sourceURL) + String fileName = url.getFile() - download.run { - src sourceURL - dest obfFile - quiet true - overwrite false + //get rid of directories: + int lastSlash = fileName.lastIndexOf("/") + if(lastSlash > 0) { + fileName = fileName.substring(lastSlash + 1) + } + //get rid of extension: + if(fileName.endsWith(".jar") || fileName.endsWith(".litemod")) { + fileName = fileName.substring(0, fileName.lastIndexOf(".")) } - exec { - commandLine 'java', '-jar', bon2File, '--inputJar', obfFile, '--outputJar', deobfFile, '--mcVer', '1.7.10', '--mappingsVer', 'stable_12', '--notch' - workingDir bon2Dir - standardOutput = new ByteArrayOutputStream() + String hostName = url.getHost() + if(hostName.startsWith("www.")) { + hostName = hostName.substring(4) } + List parts = Arrays.asList(hostName.split("\\.")) + Collections.reverse(parts) + hostName = String.join(".", parts) + return deobf(sourceURL, "$hostName/$fileName") +} catch(Exception e) { + return deobf(sourceURL, "deobf/${sourceURL.hashCode()}") +} +} + +// The method above is to be preferred. Use this method if the filename is not at the end of the URL. +def deobf(String sourceURL, String rawFileName) { +String bon2Version = "2.5.1" +String fileName = URLDecoder.decode(rawFileName, "UTF-8") +String cacheDir = "$project.gradle.gradleUserHomeDir/caches" +String bon2Dir = "$cacheDir/forge_gradle/deobf" +String bon2File = "$bon2Dir/BON2-${bon2Version}.jar" +String obfFile = "$cacheDir/modules-2/files-2.1/${fileName}.jar" +String deobfFile = "$cacheDir/modules-2/files-2.1/${fileName}-deobf.jar" + +if(file(deobfFile).exists()) { return files(deobfFile) } +String mappingsVer +String remoteMappings = project.hasProperty('remoteMappings') ? project.remoteMappings : 'https://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/conf/' +if(remoteMappings) { + String id = "${forgeVersion.split("\\.")[3]}-$minecraftVersion" + String mappingsZIP = "$cacheDir/forge_gradle/maven_downloader/de/oceanlabs/mcp/mcp_snapshot_nodoc/$id/mcp_snapshot_nodoc-${id}.zip" + + zipMappings(mappingsZIP, remoteMappings, bon2Dir) + + mappingsVer = "snapshot_$id" +} else { + mappingsVer = "${channel}_$mappingsVersion" +} + +download.run { + src "http://jenkins.usrv.eu:8081/nexus/content/repositories/releases/com/github/parker8283/BON2/$bon2Version-CUSTOM/BON2-$bon2Version-CUSTOM-all.jar" + dest bon2File + quiet true + overwrite false +} + +download.run { + src sourceURL + dest obfFile + quiet true + overwrite false +} + +exec { + commandLine 'java', '-jar', bon2File, '--inputJar', obfFile, '--outputJar', deobfFile, '--mcVer', minecraftVersion, '--mappingsVer', mappingsVer, '--notch' + workingDir bon2Dir + standardOutput = new FileOutputStream("${deobfFile}.log") +} + +return files(deobfFile) +} + +def zipMappings(String zipPath, String url, String bon2Dir) { +File zipFile = new File(zipPath) +if(zipFile.exists()) { + return +} + +String fieldsCache = "$bon2Dir/data/fields.csv" +String methodsCache = "$bon2Dir/data/methods.csv" + +download.run { + src "${url}fields.csv" + dest fieldsCache + quiet true +} +download.run { + src "${url}methods.csv" + dest methodsCache + quiet true +} + +zipFile.getParentFile().mkdirs() +ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile)) + +zos.putNextEntry(new ZipEntry("fields.csv")) +Files.copy(Paths.get(fieldsCache), zos) +zos.closeEntry() + +zos.putNextEntry(new ZipEntry("methods.csv")) +Files.copy(Paths.get(methodsCache), zos) +zos.closeEntry() + +zos.close() +} + // Helper methods def checkPropertyExists(String propertyName) { - if (!project.hasProperty(propertyName)) { - throw new GradleException("This project requires a property \"" + propertyName + "\"! Please add it your \"gradle.properties\". You can find all properties and their description here: https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/gradle.properties") - } +if (!project.hasProperty(propertyName)) { + throw new GradleException("This project requires a property \"" + propertyName + "\"! Please add it your \"gradle.properties\". You can find all properties and their description here: https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/gradle.properties") +} } def getFile(String relativePath) { - return new File(projectDir, relativePath) +return new File(projectDir, relativePath) } diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000000..97d8f71c52 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,10 @@ +plugins { + id 'com.diffplug.blowdryerSetup' version '1.6.0' +} + +apply plugin: 'com.diffplug.blowdryerSetup' + +blowdryerSetup { + github('GTNewHorizons/ExampleMod1.7.10', 'tag', '0.1.4') + //devLocal '.' // Use this when testing config updates locally +} -- cgit From 66ab8da0611e8cb4be761dd21a2f87fb43700801 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Sat, 20 Aug 2022 00:23:29 +0200 Subject: Revert "update buildscript" This reverts commit ed1f9e4fda7835b3adc202147b9195771b8da671. --- build.gradle | 370 ++++++++++++++------------------------------------------ settings.gradle | 10 -- 2 files changed, 88 insertions(+), 292 deletions(-) delete mode 100644 settings.gradle diff --git a/build.gradle b/build.gradle index 1f363c02bc..c09bee22f3 100644 --- a/build.gradle +++ b/build.gradle @@ -1,9 +1,10 @@ -//version: 1660899027 +//version: 1652851397 /* - DO NOT CHANGE THIS FILE! - Also, you may replace this file at any time if there is an update available. - Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/build.gradle for updates. - */ +DO NOT CHANGE THIS FILE! + +Also, you may replace this file at any time if there is an update available. +Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/build.gradle for updates. +*/ import com.github.jengelman.gradle.plugins.shadow.tasks.ConfigureShadowRelocation @@ -11,17 +12,10 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar import org.gradle.internal.logging.text.StyledTextOutput.Style import org.gradle.internal.logging.text.StyledTextOutputFactory -import java.nio.file.Files -import java.nio.file.Paths import java.util.concurrent.TimeUnit -import java.util.zip.ZipEntry -import java.util.zip.ZipInputStream -import java.util.zip.ZipOutputStream buildscript { repositories { - mavenCentral() - maven { name 'forge' url 'https://maven.minecraftforge.net' @@ -43,6 +37,7 @@ buildscript { classpath 'com.github.GTNewHorizons:ForgeGradle:1.2.7' } } + plugins { id 'java-library' id 'idea' @@ -57,16 +52,8 @@ plugins { id 'com.palantir.git-version' version '0.13.0' apply false id 'de.undercouch.download' version '5.0.1' id 'com.github.gmazzo.buildconfig' version '3.0.3' apply false - id 'com.diffplug.spotless' version '6.7.2' apply false -} -verifySettingsGradle() - -dependencies { - implementation 'com.diffplug:blowdryer:1.6.0' } -apply plugin: 'com.diffplug.blowdryer' - if (project.file('.git/HEAD').isFile()) { apply plugin: 'com.palantir.git-version' } @@ -91,13 +78,6 @@ idea { } } -boolean disableSpotless = project.hasProperty("disableSpotless") ? project.disableSpotless.toBoolean() : false - -if (!disableSpotless) { - apply plugin: 'com.diffplug.spotless' - apply from: Blowdryer.file('spotless.gradle') -} - if(JavaVersion.current() != JavaVersion.VERSION_1_8) { throw new GradleException("This project requires Java 8, but it's running on " + JavaVersion.current()) } @@ -123,11 +103,9 @@ checkPropertyExists("containsMixinsAndOrCoreModOnly") checkPropertyExists("usesShadowedDependencies") checkPropertyExists("developmentEnvironmentUserName") -boolean noPublishedSources = project.hasProperty("noPublishedSources") ? project.noPublishedSources.toBoolean() : false -boolean usesMixinDebug = project.hasProperty('usesMixinDebug') ?: project.usesMixins.toBoolean() -boolean forceEnableMixins = project.hasProperty('forceEnableMixins') ? project.forceEnableMixins.toBoolean() : false -String channel = project.hasProperty('channel') ? project.channel : 'stable' -String mappingsVersion = project.hasProperty('mappingsVersion') ? project.mappingsVersion : '12' +boolean noPublishedSources = project.findProperty("noPublishedSources") ? project.noPublishedSources.toBoolean() : false +boolean usesMixinDebug = project.findProperty('usesMixinDebug') ?: project.usesMixins.toBoolean() + String javaSourceDir = "src/main/java/" String scalaSourceDir = "src/main/scala/" String kotlinSourceDir = "src/main/kotlin/" @@ -210,10 +188,10 @@ try { } catch (Exception ignored) { out.style(Style.Failure).text( - 'This mod must be version controlled by Git AND the repository must provide at least one tag,\n' + - 'or the VERSION override must be set! ').style(Style.SuccessHeader).text('(Do NOT download from GitHub using the ZIP option, instead\n' + - 'clone the repository, see ').style(Style.Info).text('https://gtnh.miraheze.org/wiki/Development').style(Style.SuccessHeader).println(' for details.)' - ) + 'This mod must be version controlled by Git AND the repository must provide at least one tag,\n' + + 'or the VERSION override must be set! ').style(Style.SuccessHeader).text('(Do NOT download from GitHub using the ZIP option, instead\n' + + 'clone the repository, see ').style(Style.Info).text('https://gtnh.miraheze.org/wiki/Development').style(Style.SuccessHeader).println(' for details.)' + ) versionOverride = 'NO-GIT-TAG-SET' identifiedVersion = versionOverride } @@ -237,7 +215,7 @@ else { def arguments = [] def jvmArguments = [] -if (usesMixins.toBoolean() || forceEnableMixins) { +if (usesMixins.toBoolean()) { arguments += [ "--tweakClass org.spongepowered.asm.launch.MixinTweaker" ] @@ -302,7 +280,7 @@ repositories { name 'Overmind forge repo mirror' url 'https://gregtech.overminddl1.com/' } - if(usesMixins.toBoolean() || forceEnableMixins) { + if(usesMixins.toBoolean()) { maven { name 'sponge' url 'https://repo.spongepowered.org/repository/maven-public' @@ -319,8 +297,6 @@ dependencies { annotationProcessor('com.google.guava:guava:24.1.1-jre') annotationProcessor('com.google.code.gson:gson:2.8.6') annotationProcessor('org.spongepowered:mixin:0.8-SNAPSHOT') - } - if(usesMixins.toBoolean() || forceEnableMixins) { // using 0.8 to workaround a issue in 0.7 which fails mixin application compile('com.github.GTNewHorizons:SpongePoweredMixin:0.7.12-GTNH') { // Mixin includes a lot of dependencies that are too up-to-date @@ -378,10 +354,7 @@ shadowJar { } minimize() // This will only allow shading for actually used classes - configurations = [ - project.configurations.shadowImplementation, - project.configurations.shadowCompile - ] + configurations = [project.configurations.shadowImplementation, project.configurations.shadowCompile] dependsOn(relocateShadowJar) } @@ -403,7 +376,7 @@ jar { } reobf { - if(usesMixins.toBoolean() && file(mixinSrg).exists()) { + if(usesMixins.toBoolean()) { addExtraSrgFile mixinSrg } } @@ -412,12 +385,12 @@ afterEvaluate { if(usesMixins.toBoolean()) { tasks.compileJava { options.compilerArgs += [ - "-AreobfSrgFile=${tasks.reobf.srg}", - "-AoutSrgFile=${mixinSrg}", - "-AoutRefMapFile=${refMap}", - // Elan: from what I understand they are just some linter configs so you get some warning on how to properly code - "-XDenableSunApiLintControl", - "-XDignore.symbol.file" + "-AreobfSrgFile=${tasks.reobf.srg}", + "-AoutSrgFile=${mixinSrg}", + "-AoutRefMapFile=${refMap}", + // Elan: from what I understand they are just some linter configs so you get some warning on how to properly code + "-XDenableSunApiLintControl", + "-XDignore.symbol.file" ] } } @@ -426,8 +399,8 @@ afterEvaluate { runClient { if(developmentEnvironmentUserName) { arguments += [ - "--username", - developmentEnvironmentUserName + "--username", + developmentEnvironmentUserName ] } @@ -445,14 +418,13 @@ tasks.withType(JavaExec).configureEach { javaToolchains.launcherFor { languageVersion = projectJavaVersion } - ) + ) } processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version - exclude("spotless.gradle") // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { @@ -460,9 +432,9 @@ processResources { // replace modVersion and minecraftVersion expand "minecraftVersion": project.minecraft.version, - "modVersion": modVersion, - "modId": modId, - "modName": modName + "modVersion": modVersion, + "modId": modId, + "modName": modName } if(usesMixins.toBoolean()) { @@ -472,7 +444,6 @@ processResources { // copy everything else that's not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' - exclude 'spotless.gradle' } } @@ -492,9 +463,9 @@ def getManifestAttributes() { if(usesMixins.toBoolean()) { manifestAttributes += [ - "TweakClass" : "org.spongepowered.asm.launch.MixinTweaker", - "MixinConfigs" : "mixins." + modId + ".json", - "ForceLoadAsMod" : !containsMixinsAndOrCoreModOnly.toBoolean() + "TweakClass" : "org.spongepowered.asm.launch.MixinTweaker", + "MixinConfigs" : "mixins." + modId + ".json", + "ForceLoadAsMod" : !containsMixinsAndOrCoreModOnly.toBoolean() ] } return manifestAttributes @@ -521,10 +492,7 @@ task shadowDevJar(type: ShadowJar) { } minimize() // This will only allow shading for actually used classes - configurations = [ - project.configurations.shadowImplementation, - project.configurations.shadowCompile - ] + configurations = [project.configurations.shadowImplementation, project.configurations.shadowCompile] } task relocateShadowDevJar(type: ConfigureShadowRelocation) { @@ -616,10 +584,7 @@ publishing { // remove extra garbage from minecraft and minecraftDeps configuration pom.withXml { def badArtifacts = [:].withDefault {[] as Set} - for (configuration in [ - projectConfigs.minecraft, - projectConfigs.minecraftDeps - ]) { + for (configuration in [projectConfigs.minecraft, projectConfigs.minecraftDeps]) { for (dependency in configuration.allDependencies) { badArtifacts[dependency.group == null ? "" : dependency.group] += dependency.name } @@ -653,11 +618,11 @@ task updateBuildScript { doLast { if (performBuildScriptUpdate(projectDir.toString())) return - print("Build script already up-to-date!") + print("Build script already up-to-date!") } } -if (!project.getGradle().startParameter.isOffline() && isNewBuildScriptVersionAvailable(projectDir.toString())) { +if (isNewBuildScriptVersionAvailable(projectDir.toString())) { if (autoUpdateBuildScript.toBoolean()) { performBuildScriptUpdate(projectDir.toString()) } else { @@ -668,26 +633,12 @@ if (!project.getGradle().startParameter.isOffline() && isNewBuildScriptVersionAv static URL availableBuildScriptUrl() { new URL("https://raw.githubusercontent.com/GTNewHorizons/ExampleMod1.7.10/main/build.gradle") } -static URL exampleSettingsGradleUrl() { - new URL("https://raw.githubusercontent.com/GTNewHorizons/ExampleMod1.7.10/main/settings.gradle.example") -} - - -def verifySettingsGradle() { - def settingsFile = getFile("settings.gradle") - if (!settingsFile.exists()) { - println("Downloading default settings.gradle") - exampleSettingsGradleUrl().withInputStream { i -> settingsFile.withOutputStream { it << i } } - throw new GradleException("Settings.gradle has been updated, please re-run task.") - } -} boolean performBuildScriptUpdate(String projectDir) { if (isNewBuildScriptVersionAvailable(projectDir)) { def buildscriptFile = getFile("build.gradle") availableBuildScriptUrl().withInputStream { i -> buildscriptFile.withOutputStream { it << i } } out.style(Style.Success).print("Build script updated. Please REIMPORT the project or RESTART your IDE!") - verifySettingsGradle() return true } return false @@ -718,225 +669,80 @@ configure(updateBuildScript) { description = 'Updates the build script to the latest version' } -// Parameter Deobfuscation - -task deobfParams { - doLast { - - String mcpDir = "$project.gradle.gradleUserHomeDir/caches/minecraft/de/oceanlabs/mcp/mcp_$channel/$mappingsVersion" - String mcpZIP = "$mcpDir/mcp_$channel-$mappingsVersion-${minecraftVersion}.zip" - String paramsCSV = "$mcpDir/params.csv" +// Deobfuscation - download.run { - src "https://maven.minecraftforge.net/de/oceanlabs/mcp/mcp_$channel/$mappingsVersion-$minecraftVersion/mcp_$channel-$mappingsVersion-${minecraftVersion}.zip" - dest mcpZIP - overwrite false +def deobf(String sourceURL) { + try { + URL url = new URL(sourceURL) + String fileName = url.getFile() + + //get rid of directories: + int lastSlash = fileName.lastIndexOf("/") + if(lastSlash > 0) { + fileName = fileName.substring(lastSlash + 1) } - - if(!file(paramsCSV).exists()) { - println("Extracting MCP archive ...") - unzip(mcpZIP, mcpDir) + //get rid of extension: + if(fileName.endsWith(".jar")) { + fileName = fileName.substring(0, fileName.lastIndexOf(".")) } - println("Parsing params.csv ...") - Map params = new HashMap<>() - Files.lines(Paths.get(paramsCSV)).forEach{line -> - String[] cells = line.split(",") - if(cells.length > 2 && cells[0].matches("p_i?\\d+_\\d+_")) { - params.put(cells[0], cells[1]) - } + String hostName = url.getHost() + if(hostName.startsWith("www.")) { + hostName = hostName.substring(4) } + List parts = Arrays.asList(hostName.split("\\.")) + Collections.reverse(parts) + hostName = String.join(".", parts) - out.style(Style.Success).println("Modified ${replaceParams(file("$projectDir/src/main/java"), params)} files!") - out.style(Style.Failure).println("Don't forget to verify that the code still works as before!\n It could be broken due to duplicate variables existing now\n or parameters taking priority over other variables.") -} -} - -static int replaceParams(File file, Map params) { -int fileCount = 0 - -if(file.isDirectory()) { - for(File f : file.listFiles()) { - fileCount += replaceParams(f, params) - } - return fileCount -} -println("Visiting ${file.getName()} ...") -try { - String content = new String(Files.readAllBytes(file.toPath())) - int hash = content.hashCode() - params.forEach{key, value -> - content = content.replaceAll(key, value) - } - if(hash != content.hashCode()) { - Files.write(file.toPath(), content.getBytes("UTF-8")) - return 1 - } -} catch(Exception e) { - e.printStackTrace() -} -return 0 -} - -// Credit: bitsnaps (https://gist.github.com/bitsnaps/00947f2dce66f4bbdabc67d7e7b33681) -static unzip(String zipFileName, String outputDir) { -byte[] buffer = new byte[16384] -ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFileName)) -ZipEntry zipEntry = zis.getNextEntry() -while (zipEntry != null) { - File newFile = new File(outputDir + File.separator, zipEntry.name) - if (zipEntry.isDirectory()) { - if (!newFile.isDirectory() && !newFile.mkdirs()) { - throw new IOException("Failed to create directory $newFile") - } - } else { - // fix for Windows-created archives - File parent = newFile.parentFile - if (!parent.isDirectory() && !parent.mkdirs()) { - throw new IOException("Failed to create directory $parent") - } - // write file content - FileOutputStream fos = new FileOutputStream(newFile) - int len = 0 - while ((len = zis.read(buffer)) > 0) { - fos.write(buffer, 0, len) - } - fos.close() + return deobf(sourceURL, hostName + "/" + fileName) + } catch(Exception e) { + return deobf(sourceURL, "deobf/" + String.valueOf(sourceURL.hashCode())) } - zipEntry = zis.getNextEntry() -} -zis.closeEntry() -zis.close() -} - -configure(deobfParams) { -group = 'forgegradle' -description = 'Rename all obfuscated parameter names inherited from Minecraft classes' } -// Dependency Deobfuscation - -def deobf(String sourceURL) { -try { - URL url = new URL(sourceURL) - String fileName = url.getFile() +// The method above is to be preferred. Use this method if the filename is not at the end of the URL. +def deobf(String sourceURL, String fileName) { + String cacheDir = System.getProperty("user.home") + "/.gradle/caches/" + String bon2Dir = cacheDir + "forge_gradle/deobf" + String bon2File = bon2Dir + "/BON2-2.5.0.jar" + String obfFile = cacheDir + "modules-2/files-2.1/" + fileName + ".jar" + String deobfFile = cacheDir + "modules-2/files-2.1/" + fileName + "-deobf.jar" - //get rid of directories: - int lastSlash = fileName.lastIndexOf("/") - if(lastSlash > 0) { - fileName = fileName.substring(lastSlash + 1) + if(file(deobfFile).exists()) { + return files(deobfFile) } - //get rid of extension: - if(fileName.endsWith(".jar") || fileName.endsWith(".litemod")) { - fileName = fileName.substring(0, fileName.lastIndexOf(".")) + + download.run { + src 'https://github.com/GTNewHorizons/BON2/releases/download/2.5.0/BON2-2.5.0.CUSTOM-all.jar' + dest bon2File + quiet true + overwrite false } - String hostName = url.getHost() - if(hostName.startsWith("www.")) { - hostName = hostName.substring(4) + download.run { + src sourceURL + dest obfFile + quiet true + overwrite false } - List parts = Arrays.asList(hostName.split("\\.")) - Collections.reverse(parts) - hostName = String.join(".", parts) - return deobf(sourceURL, "$hostName/$fileName") -} catch(Exception e) { - return deobf(sourceURL, "deobf/${sourceURL.hashCode()}") -} -} + exec { + commandLine 'java', '-jar', bon2File, '--inputJar', obfFile, '--outputJar', deobfFile, '--mcVer', '1.7.10', '--mappingsVer', 'stable_12', '--notch' + workingDir bon2Dir + standardOutput = new ByteArrayOutputStream() + } -// The method above is to be preferred. Use this method if the filename is not at the end of the URL. -def deobf(String sourceURL, String rawFileName) { -String bon2Version = "2.5.1" -String fileName = URLDecoder.decode(rawFileName, "UTF-8") -String cacheDir = "$project.gradle.gradleUserHomeDir/caches" -String bon2Dir = "$cacheDir/forge_gradle/deobf" -String bon2File = "$bon2Dir/BON2-${bon2Version}.jar" -String obfFile = "$cacheDir/modules-2/files-2.1/${fileName}.jar" -String deobfFile = "$cacheDir/modules-2/files-2.1/${fileName}-deobf.jar" - -if(file(deobfFile).exists()) { return files(deobfFile) } -String mappingsVer -String remoteMappings = project.hasProperty('remoteMappings') ? project.remoteMappings : 'https://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/conf/' -if(remoteMappings) { - String id = "${forgeVersion.split("\\.")[3]}-$minecraftVersion" - String mappingsZIP = "$cacheDir/forge_gradle/maven_downloader/de/oceanlabs/mcp/mcp_snapshot_nodoc/$id/mcp_snapshot_nodoc-${id}.zip" - - zipMappings(mappingsZIP, remoteMappings, bon2Dir) - - mappingsVer = "snapshot_$id" -} else { - mappingsVer = "${channel}_$mappingsVersion" -} - -download.run { - src "http://jenkins.usrv.eu:8081/nexus/content/repositories/releases/com/github/parker8283/BON2/$bon2Version-CUSTOM/BON2-$bon2Version-CUSTOM-all.jar" - dest bon2File - quiet true - overwrite false -} - -download.run { - src sourceURL - dest obfFile - quiet true - overwrite false -} - -exec { - commandLine 'java', '-jar', bon2File, '--inputJar', obfFile, '--outputJar', deobfFile, '--mcVer', minecraftVersion, '--mappingsVer', mappingsVer, '--notch' - workingDir bon2Dir - standardOutput = new FileOutputStream("${deobfFile}.log") -} - -return files(deobfFile) -} - -def zipMappings(String zipPath, String url, String bon2Dir) { -File zipFile = new File(zipPath) -if(zipFile.exists()) { - return -} - -String fieldsCache = "$bon2Dir/data/fields.csv" -String methodsCache = "$bon2Dir/data/methods.csv" - -download.run { - src "${url}fields.csv" - dest fieldsCache - quiet true -} -download.run { - src "${url}methods.csv" - dest methodsCache - quiet true -} - -zipFile.getParentFile().mkdirs() -ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile)) - -zos.putNextEntry(new ZipEntry("fields.csv")) -Files.copy(Paths.get(fieldsCache), zos) -zos.closeEntry() - -zos.putNextEntry(new ZipEntry("methods.csv")) -Files.copy(Paths.get(methodsCache), zos) -zos.closeEntry() - -zos.close() -} - // Helper methods def checkPropertyExists(String propertyName) { -if (!project.hasProperty(propertyName)) { - throw new GradleException("This project requires a property \"" + propertyName + "\"! Please add it your \"gradle.properties\". You can find all properties and their description here: https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/gradle.properties") -} + if (!project.hasProperty(propertyName)) { + throw new GradleException("This project requires a property \"" + propertyName + "\"! Please add it your \"gradle.properties\". You can find all properties and their description here: https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/gradle.properties") + } } def getFile(String relativePath) { -return new File(projectDir, relativePath) + return new File(projectDir, relativePath) } diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index 97d8f71c52..0000000000 --- a/settings.gradle +++ /dev/null @@ -1,10 +0,0 @@ -plugins { - id 'com.diffplug.blowdryerSetup' version '1.6.0' -} - -apply plugin: 'com.diffplug.blowdryerSetup' - -blowdryerSetup { - github('GTNewHorizons/ExampleMod1.7.10', 'tag', '0.1.4') - //devLocal '.' // Use this when testing config updates locally -} -- cgit From 3bab8408662cb164beb7b13ab58cd2d653d201c0 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Sat, 20 Aug 2022 00:11:07 +0200 Subject: bump dep file (cherry picked from commit 9f3f21de12bc6846779f95e9adcfeca22a891c71) --- dependencies.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies.gradle b/dependencies.gradle index 9e2ff3e98a..dae1731f82 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,7 +2,7 @@ dependencies { shadowImplementation('com.github.GTNewHorizons:AVRcore:master-SNAPSHOT') - compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.00:dev') + compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.02-pre:dev') compile('com.github.GTNewHorizons:Yamcl:0.5.82:dev') compile('com.github.GTNewHorizons:NotEnoughItems:2.2.22:dev') compile('com.github.GTNewHorizons:CodeChickenLib:1.1.5.3:dev') -- cgit From ca6c469e130eee604aa69f0e48ed594a3102e58b Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Sat, 20 Aug 2022 00:28:38 +0200 Subject: first draft for adding Schematics to TT Reaseach Table --- .../dreamcraft/DreamCraftRecipeLoader.java | 80 ++++++++++++++++++++++ 1 file changed, 80 insertions(+) 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 40e81c5706..75f1ee9e9f 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 @@ -1410,6 +1410,86 @@ public class DreamCraftRecipeLoader { Materials.Void.getMolten(2880L), Materials.DraconiumAwakened.getMolten(1440), }, GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 5001), 1500, 8_000_000); + if (Loader.isModLoaded("DraconicEvolution")) { + // DE Schematics Cores Tier 1 + TT_recipeAdder.addResearchableAssemblylineRecipe( + GT_ModHandler.getModItem("EMT", "EMTItems", 1, 16), + 500_000, + 1024, + 1_000_000, + 4, + new Object[] { + GT_ModHandler.getModItem("DraconicEvolution", "draconicCore", 1, 0), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Draconium, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Ichorium, 1L), + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 1}, + }, + new FluidStack[] { + Materials.Sunnarium.getMolten(14400L), Materials.Void.getMolten(28800L), + }, + GT_ModHandler.getModItem("EMT", "EMTItems", 1, 16), + 12000, + 500_000); + + // DE Schematics Cores Tier 2 + TT_recipeAdder.addResearchableAssemblylineRecipe( + GT_ModHandler.getModItem("DraconicEvolution", "draconicCore", 1, 0), + 5_000_000, + 2048, + 4_000_000, + 8, + new Object[] { + GT_ModHandler.getModItem("DraconicEvolution", "draconicCore", 4, 0), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Draconium, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 1L), + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1}, + }, + new FluidStack[] { + Materials.Neutronium.getMolten(14400L), Materials.Void.getMolten(57600L), + }, + GT_ModHandler.getModItem("EMT", "EMTItems", 1, 17), + 24000, + 2_000_000); + + // DE Schematics Cores Tier 3 + TT_recipeAdder.addResearchableAssemblylineRecipe( + GT_ModHandler.getModItem("DraconicEvolution", "wyvernCore", 1, 0), + 50_000_000, + 4096, + 16_000_000, + 16, + new Object[] { + GT_ModHandler.getModItem("DraconicEvolution", "wyvernCore", 4, 0), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.DraconiumAwakened, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 1L), + new Object[] {OrePrefixes.circuit.get(Materials.Nano), 1}, + }, + new FluidStack[] { + Materials.Infinity.getMolten(14400L), Materials.Void.getMolten(115200L), + }, + GT_ModHandler.getModItem("EMT", "EMTItems", 1, 18), + 36000, + 8_000_000); + // DE Schematics Cores Tier 4 + TT_recipeAdder.addResearchableAssemblylineRecipe( + GT_ModHandler.getModItem("DraconicEvolution", "awakenedCore", 1, 0), + 500_000_000, + 8192, + 64_000_000, + 64, + new Object[] { + GT_ModHandler.getModItem("DraconicEvolution", "awakenedCore", 8, 0), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.DraconiumAwakened, 4L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 1L), + new Object[] {OrePrefixes.circuit.get(Materials.Piko), 1}, + }, + new FluidStack[] { + Materials.SpaceTime.getMolten(14400L), Materials.Void.getMolten(230400L), + }, + GT_ModHandler.getModItem("EMT", "EMTItems", 1, 18), + 72000, + 32_000_000); + } } //region singleblocks -- cgit From 81ef6d40e66cb99fd271090f4dcfc54ad0ed5520 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Sat, 20 Aug 2022 00:49:40 +0200 Subject: fix derp --- .../tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 75f1ee9e9f..779730e3a4 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 @@ -1413,7 +1413,7 @@ public class DreamCraftRecipeLoader { if (Loader.isModLoaded("DraconicEvolution")) { // DE Schematics Cores Tier 1 TT_recipeAdder.addResearchableAssemblylineRecipe( - GT_ModHandler.getModItem("EMT", "EMTItems", 1, 16), + GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 9), 500_000, 1024, 1_000_000, @@ -1486,7 +1486,7 @@ public class DreamCraftRecipeLoader { new FluidStack[] { Materials.SpaceTime.getMolten(14400L), Materials.Void.getMolten(230400L), }, - GT_ModHandler.getModItem("EMT", "EMTItems", 1, 18), + GT_ModHandler.getModItem("EMT", "EMTItems", 1, 19), 72000, 32_000_000); } -- cgit From 000418a305f7c062dde9afc6db3d64949426c149 Mon Sep 17 00:00:00 2001 From: miozune Date: Sat, 20 Aug 2022 13:47:19 +0900 Subject: Fix amount of screw required for Infinity Coil --- .../tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 40e81c5706..7cce649a2e 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 @@ -203,7 +203,7 @@ public class DreamCraftRecipeLoader { 16_777_216, 2048, 8_000_000, 1, new Object[]{ new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L}, GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Infinity, 8), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Infinity, 16), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Infinity, 8), GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 32, 0) }, new FluidStack[]{ -- cgit From 3226d5aef49a22161fa3c2ce94d7ef3d8cbc85ed Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Sat, 20 Aug 2022 09:38:05 +0200 Subject: spotless + update buildscrip + gitatributes --- .gitattributes | 35 + build.gradle | 370 +- settings.gradle | 10 + .../java/com/github/technus/tectech/TecTech.java | 49 +- .../dreamcraft/DreamCraftRecipeLoader.java | 7334 +++++++++++++------- .../dreamcraft/NoDreamCraftMachineLoader.java | 196 +- .../tectech/compatibility/gtpp/GtppAtomLoader.java | 216 +- .../openComputers/AvrArchitecture.java | 121 +- .../openmodularturrets/TT_turret_loader.java | 4 +- .../blocks/turretbases/TurretBaseEM.java | 14 +- .../blocks/turretbases/TurretBaseItemEM.java | 9 +- .../blocks/turretheads/TurretHeadEM.java | 22 +- .../blocks/turretheads/TurretHeadItemEM.java | 34 +- .../entity/projectiles/projectileEM.java | 125 +- .../entity/projectiles/projectileRenderEM.java | 34 +- .../tileentity/turret/TileTurretHeadEM.java | 27 +- .../tileentity/turretbase/TileTurretBaseEM.java | 49 +- .../spartakcore/SpartakCoreRecipeLoader.java | 2165 ++++-- .../definitions/EMComplexAspectDefinition.java | 33 +- .../definitions/EMPrimalAspectDefinition.java | 40 +- .../transformations/AspectDefinitionCompat.java | 14 +- .../AspectDefinitionCompatEnabled.java | 67 +- .../thing/metaTileEntity/multi/EssentiaCompat.java | 10 +- .../multi/EssentiaCompatEnabled.java | 40 +- .../GT_MetaTileEntity_EM_essentiaDequantizer.java | 128 +- .../GT_MetaTileEntity_EM_essentiaQuantizer.java | 136 +- .../technus/tectech/font/TecTechFontRender.java | 50 +- .../technus/tectech/loader/EntityLoader.java | 2 +- .../github/technus/tectech/loader/MainLoader.java | 70 +- .../technus/tectech/loader/NetworkDispatcher.java | 10 +- .../technus/tectech/loader/TecTechConfig.java | 221 +- .../tectech/loader/gui/CreativeTabTecTech.java | 5 +- .../technus/tectech/loader/gui/ModGuiHandler.java | 6 +- .../tectech/loader/recipe/BaseRecipeLoader.java | 195 +- .../tectech/loader/recipe/BloodyRecipeLoader.java | 3576 +++++++--- .../tectech/loader/thing/ComponentLoader.java | 14 +- .../technus/tectech/loader/thing/CoverLoader.java | 31 +- .../tectech/loader/thing/MachineLoader.java | 1010 ++- .../technus/tectech/loader/thing/ThingsLoader.java | 10 +- .../tectech/mechanics/anomaly/AnomalyHandler.java | 264 +- .../tectech/mechanics/anomaly/CancerCommand.java | 28 +- .../tectech/mechanics/anomaly/ChargeCommand.java | 28 +- .../tectech/mechanics/anomaly/MassCommand.java | 27 +- .../tectech/mechanics/avr/SidedRedstone.java | 209 +- .../tectech/mechanics/commands/ConvertFloat.java | 31 +- .../tectech/mechanics/commands/ConvertInteger.java | 31 +- .../tectech/mechanics/data/ChunkDataHandler.java | 185 +- .../tectech/mechanics/data/ChunkDataMessage.java | 63 +- .../mechanics/data/IChunkMetaDataHandler.java | 39 +- .../tectech/mechanics/data/PlayerDataMessage.java | 55 +- .../tectech/mechanics/data/PlayerPersistence.java | 66 +- .../technus/tectech/mechanics/data/WorldData.java | 13 +- .../mechanics/dataTransport/DataPacket.java | 35 +- .../dataTransport/InventoryDataPacket.java | 37 +- .../mechanics/dataTransport/QuantumDataPacket.java | 10 +- .../elementalMatter/core/commands/EMGive.java | 18 +- .../elementalMatter/core/commands/EMList.java | 50 +- .../elementalMatter/core/decay/EMDecay.java | 39 +- .../elementalMatter/core/decay/EMDecayResult.java | 4 +- .../core/definitions/EMComplexTemplate.java | 19 +- .../core/definitions/EMPrimitiveTemplate.java | 55 +- .../core/definitions/IEMDefinition.java | 100 +- .../registry/EMDefinitionsRegistry.java | 44 +- .../core/definitions/registry/EMIndirectType.java | 20 +- .../core/definitions/registry/EMType.java | 15 +- .../core/maps/EMConstantStackMap.java | 17 +- .../core/maps/EMDefinitionStackMap.java | 15 +- .../core/maps/EMInstanceStackMap.java | 64 +- .../elementalMatter/core/maps/EMStackMap.java | 7 +- .../elementalMatter/core/maps/IEMMapRead.java | 114 +- .../elementalMatter/core/maps/IEMMapWrite.java | 47 +- .../core/maps/IEMMapWriteExact.java | 51 +- .../elementalMatter/core/recipes/EMRecipe.java | 14 +- .../elementalMatter/core/recipes/EMRecipeMap.java | 35 +- .../core/stacks/EMDefinitionStack.java | 22 +- .../core/stacks/EMInstanceStack.java | 183 +- .../elementalMatter/core/stacks/IEMStack.java | 5 +- .../core/transformations/EMDequantizationInfo.java | 2 +- .../transformations/EMFluidQuantizationInfo.java | 14 +- .../transformations/EMItemQuantizationInfo.java | 23 +- .../transformations/EMOredictQuantizationInfo.java | 10 +- .../transformations/EMTransformationRegistry.java | 49 +- .../definitions/complex/EMAtomDefinition.java | 2171 ++++-- .../definitions/complex/EMHadronDefinition.java | 177 +- .../definitions/complex/EMNuclideIAEA.java | 308 +- .../definitions/primitive/EMBosonDefinition.java | 7 +- .../definitions/primitive/EMFermionDefinition.java | 7 +- .../primitive/EMGaugeBosonDefinition.java | 50 +- .../definitions/primitive/EMLeptonDefinition.java | 84 +- .../primitive/EMNeutrinoDefinition.java | 58 +- .../primitive/EMPrimitiveDefinition.java | 42 +- .../definitions/primitive/EMQuarkDefinition.java | 170 +- .../primitive/EMScalarBosonDefinition.java | 43 +- .../enderStorage/EnderFluidContainer.java | 12 +- .../enderStorage/EnderLinkCoverMessage.java | 36 +- .../mechanics/enderStorage/EnderLinkTag.java | 8 +- .../mechanics/enderStorage/EnderLinkTank.java | 10 +- .../enderStorage/EnderWorldSavedData.java | 13 +- .../tectech/mechanics/pipe/IActivePipe.java | 2 + .../mechanics/pipe/PipeActivityMessage.java | 71 +- .../tectech/mechanics/spark/RendererMessage.java | 43 +- .../tectech/mechanics/spark/ThaumSpark.java | 18 +- .../tectech/mechanics/tesla/ITeslaConnectable.java | 112 +- .../mechanics/tesla/ITeslaConnectableSimple.java | 9 +- .../mechanics/tesla/TeslaCoverConnection.java | 12 +- .../github/technus/tectech/nei/NEI_TT_Config.java | 4 +- .../tectech/nei/TT_NEI_ResearchHandler.java | 160 +- .../technus/tectech/nei/TT_NEI_ScannerHandler.java | 157 +- .../github/technus/tectech/proxy/ClientProxy.java | 104 +- .../github/technus/tectech/proxy/CommonProxy.java | 47 +- .../github/technus/tectech/recipe/TT_recipe.java | 398 +- .../technus/tectech/recipe/TT_recipeAdder.java | 412 +- .../technus/tectech/thing/CustomItemList.java | 448 +- .../tectech/thing/block/QuantumGlassBlock.java | 19 +- .../tectech/thing/block/QuantumGlassItem.java | 15 +- .../tectech/thing/block/QuantumGlassRender.java | 26 +- .../tectech/thing/block/QuantumStuffBlock.java | 18 +- .../tectech/thing/block/QuantumStuffRender.java | 51 +- .../tectech/thing/block/ReactorSimBlock.java | 23 +- .../tectech/thing/block/ReactorSimItem.java | 15 +- .../tectech/thing/casing/GT_Block_CasingsBA0.java | 31 +- .../tectech/thing/casing/GT_Block_CasingsNH.java | 39 +- .../tectech/thing/casing/GT_Block_CasingsTT.java | 44 +- .../tectech/thing/casing/GT_Item_CasingsBA0.java | 64 +- .../tectech/thing/casing/GT_Item_CasingsNH.java | 3 +- .../tectech/thing/casing/GT_Item_CasingsTT.java | 174 +- .../thing/cover/GT_Cover_TM_EnderFluidLink.java | 128 +- .../thing/cover/GT_Cover_TM_PowerPassUpgrade.java | 18 +- .../tectech/thing/cover/GT_Cover_TM_TeslaCoil.java | 36 +- .../cover/GT_Cover_TM_TeslaCoil_Ultimate.java | 5 +- .../technus/tectech/thing/item/AvrProgrammer.java | 103 +- .../item/DebugElementalInstanceContainer_EM.java | 65 +- .../item/ElementalDefinitionContainer_EM.java | 42 +- .../item/ElementalDefinitionScanStorage_EM.java | 51 +- .../tectech/thing/item/EnderFluidLinkCover.java | 22 +- .../technus/tectech/thing/item/EuMeterGT.java | 93 +- .../tectech/thing/item/ParametrizerMemoryCard.java | 61 +- .../tectech/thing/item/PowerPassUpgradeCover.java | 20 +- .../tectech/thing/item/TeslaCoilCapacitor.java | 29 +- .../tectech/thing/item/TeslaCoilComponent.java | 15 +- .../technus/tectech/thing/item/TeslaCoilCover.java | 26 +- .../technus/tectech/thing/item/TeslaStaff.java | 12 +- .../tectech/thing/item/gui/ProgrammerScreen.java | 4 +- .../tectech/thing/item/gui/ScanDisplayScreen.java | 70 +- .../thing/item/renderElemental/IElementalItem.java | 8 +- .../item/renderElemental/RenderElementalName.java | 34 +- .../tectech/thing/metaTileEntity/Textures.java | 352 +- .../hatch/GT_MetaTileEntity_Hatch_Capacitor.java | 56 +- .../GT_MetaTileEntity_Hatch_CreativeData.java | 36 +- ...T_MetaTileEntity_Hatch_CreativeMaintenance.java | 31 +- .../GT_MetaTileEntity_Hatch_DataConnector.java | 63 +- .../hatch/GT_MetaTileEntity_Hatch_DynamoMulti.java | 35 +- .../GT_MetaTileEntity_Hatch_DynamoTunnel.java | 66 +- ...GT_MetaTileEntity_Hatch_ElementalContainer.java | 143 +- .../hatch/GT_MetaTileEntity_Hatch_EnergyMulti.java | 39 +- .../GT_MetaTileEntity_Hatch_EnergyTunnel.java | 42 +- .../hatch/GT_MetaTileEntity_Hatch_Holder.java | 30 +- .../hatch/GT_MetaTileEntity_Hatch_InputData.java | 33 +- .../GT_MetaTileEntity_Hatch_InputDataItems.java | 112 +- .../GT_MetaTileEntity_Hatch_InputElemental.java | 21 +- .../hatch/GT_MetaTileEntity_Hatch_OutputData.java | 28 +- .../GT_MetaTileEntity_Hatch_OutputDataItems.java | 34 +- .../GT_MetaTileEntity_Hatch_OutputElemental.java | 32 +- .../GT_MetaTileEntity_Hatch_OverflowElemental.java | 128 +- .../hatch/GT_MetaTileEntity_Hatch_Param.java | 85 +- .../hatch/GT_MetaTileEntity_Hatch_ParamText.java | 52 +- .../hatch/GT_MetaTileEntity_Hatch_Rack.java | 180 +- .../hatch/GT_MetaTileEntity_Hatch_Uncertainty.java | 163 +- .../hatch/TextParametersMessage.java | 82 +- .../hatch/gui/GT_Container_Capacitor.java | 8 +- .../hatch/gui/GT_Container_Param.java | 24 +- .../hatch/gui/GT_Container_ParamAdv.java | 80 +- .../hatch/gui/GT_Container_ParamText.java | 49 +- .../hatch/gui/GT_Container_Uncertainty.java | 11 +- .../hatch/gui/GT_GUIContainer_Capacitor.java | 7 +- .../hatch/gui/GT_GUIContainer_Param.java | 55 +- .../hatch/gui/GT_GUIContainer_ParamAdv.java | 64 +- .../hatch/gui/GT_GUIContainer_ParamText.java | 93 +- .../hatch/gui/GT_GUIContainer_Uncertainty.java | 85 +- .../hatch/gui/GT_GUIContainer_UncertaintyAdv.java | 19 +- .../multi/GT_MetaTileEntity_EM_annihilation.java | 267 +- .../multi/GT_MetaTileEntity_EM_bhg.java | 2521 ++++++- .../multi/GT_MetaTileEntity_EM_computer.java | 204 +- .../multi/GT_MetaTileEntity_EM_crafting.java | 134 +- .../multi/GT_MetaTileEntity_EM_dataBank.java | 157 +- .../multi/GT_MetaTileEntity_EM_decay.java | 219 +- .../multi/GT_MetaTileEntity_EM_dequantizer.java | 148 +- .../multi/GT_MetaTileEntity_EM_infuser.java | 139 +- .../multi/GT_MetaTileEntity_EM_junction.java | 192 +- .../multi/GT_MetaTileEntity_EM_quantizer.java | 216 +- .../multi/GT_MetaTileEntity_EM_research.java | 318 +- .../multi/GT_MetaTileEntity_EM_scanner.java | 327 +- .../multi/GT_MetaTileEntity_EM_stabilizer.java | 96 +- .../multi/GT_MetaTileEntity_EM_switch.java | 177 +- .../multi/GT_MetaTileEntity_EM_transformer.java | 131 +- .../multi/GT_MetaTileEntity_EM_wormhole.java | 234 +- .../multi/GT_MetaTileEntity_TM_microwave.java | 209 +- .../GT_MetaTileEntity_TM_proccessingStack.java | 229 +- .../multi/GT_MetaTileEntity_TM_teslaCoil.java | 698 +- .../multi/base/GT_Container_MultiMachineEM.java | 100 +- .../multi/base/GT_GUIContainer_MultiMachineEM.java | 293 +- .../base/GT_MetaTileEntity_MultiblockBase_EM.java | 733 +- .../metaTileEntity/multi/base/INameFunction.java | 2 +- .../metaTileEntity/multi/base/IStatusFunction.java | 2 +- .../thing/metaTileEntity/multi/base/LedStatus.java | 103 +- .../multi/base/MultiblockControl.java | 50 +- .../metaTileEntity/multi/base/Parameters.java | 205 +- .../thing/metaTileEntity/multi/base/SoundLoop.java | 50 +- .../render/TT_RenderedExtendedFacingTexture.java | 10 +- .../em_collider/GT_MetaTileEntity_EM_collider.java | 813 ++- .../multi/em_machine/Behaviour_Centrifuge.java | 204 +- .../multi/em_machine/Behaviour_Electrolyzer.java | 12 +- .../Behaviour_ElectromagneticSeparator.java | 260 +- .../multi/em_machine/Behaviour_PrecisionLaser.java | 12 +- .../multi/em_machine/Behaviour_Recycler.java | 19 +- .../multi/em_machine/Behaviour_Scanner.java | 12 +- .../em_machine/GT_MetaTileEntity_EM_machine.java | 204 +- .../pipe/GT_MetaTileEntity_Pipe_Data.java | 126 +- .../pipe/GT_MetaTileEntity_Pipe_EM.java | 136 +- .../pipe/GT_MetaTileEntity_Pipe_Energy.java | 140 +- .../single/GT_MetaTileEntity_BuckConverter.java | 68 +- .../single/GT_MetaTileEntity_DataReader.java | 246 +- .../single/GT_MetaTileEntity_DebugPollutor.java | 64 +- .../GT_MetaTileEntity_DebugPowerGenerator.java | 118 +- .../GT_MetaTileEntity_DebugStructureWriter.java | 94 +- .../single/GT_MetaTileEntity_MicroController.java | 142 +- .../single/GT_MetaTileEntity_OwnerDetector.java | 73 +- .../single/GT_MetaTileEntity_TT_Transformer.java | 46 +- .../single/GT_MetaTileEntity_TeslaCoil.java | 733 +- .../single/GT_MetaTileEntity_WetTransformer.java | 15 +- .../single/gui/GT_Container_BuckConverter.java | 16 +- .../single/gui/GT_Container_DataReader.java | 24 +- .../single/gui/GT_Container_DebugPollutor.java | 28 +- .../gui/GT_Container_DebugPowerGenerator.java | 22 +- .../gui/GT_Container_DebugStructureWriter.java | 9 +- .../single/gui/GT_GUIContainer_BuckConverter.java | 11 +- .../single/gui/GT_GUIContainer_DataReader.java | 94 +- .../single/gui/GT_GUIContainer_DebugPollutor.java | 4 +- .../gui/GT_GUIContainer_DebugPowerGenerator.java | 11 +- .../gui/GT_GUIContainer_DebugStructureWriter.java | 6 +- .../thing/tileEntity/ReactorSimTileEntity.java | 355 +- .../github/technus/tectech/util/CommonValues.java | 83 +- .../com/github/technus/tectech/util/Converter.java | 4 +- .../github/technus/tectech/util/DoubleCount.java | 27 +- .../technus/tectech/util/LightingHelper.java | 1114 ++- .../github/technus/tectech/util/TT_Utility.java | 140 +- .../java/com/github/technus/tectech/util/XSTR.java | 70 +- 247 files changed, 27106 insertions(+), 14147 deletions(-) create mode 100644 .gitattributes create mode 100644 settings.gradle diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000..9917fc4abe --- /dev/null +++ b/.gitattributes @@ -0,0 +1,35 @@ +* text eol=lf + +*.jar binary + +*.png binary +*.jpg binary +*.jpeg binary +*.gif binary +*.tif binary +*.tiff binary +*.ico binary +*.svg text +*.eps binary + +*.kar binary +*.m4a binary +*.mid binary +*.midi binary +*.mp3 binary +*.ogg binary +*.ra binary + +*.7z binary +*.gz binary +*.tar binary +*.tgz binary +*.zip binary + +*.patch -text + +*.bat text eol=crlf +*.cmd text eol=crlf +*.ps1 text eol=crlf + +*autogenerated binary \ No newline at end of file diff --git a/build.gradle b/build.gradle index c09bee22f3..1f363c02bc 100644 --- a/build.gradle +++ b/build.gradle @@ -1,10 +1,9 @@ -//version: 1652851397 +//version: 1660899027 /* -DO NOT CHANGE THIS FILE! - -Also, you may replace this file at any time if there is an update available. -Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/build.gradle for updates. -*/ + DO NOT CHANGE THIS FILE! + Also, you may replace this file at any time if there is an update available. + Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/build.gradle for updates. + */ import com.github.jengelman.gradle.plugins.shadow.tasks.ConfigureShadowRelocation @@ -12,10 +11,17 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar import org.gradle.internal.logging.text.StyledTextOutput.Style import org.gradle.internal.logging.text.StyledTextOutputFactory +import java.nio.file.Files +import java.nio.file.Paths import java.util.concurrent.TimeUnit +import java.util.zip.ZipEntry +import java.util.zip.ZipInputStream +import java.util.zip.ZipOutputStream buildscript { repositories { + mavenCentral() + maven { name 'forge' url 'https://maven.minecraftforge.net' @@ -37,7 +43,6 @@ buildscript { classpath 'com.github.GTNewHorizons:ForgeGradle:1.2.7' } } - plugins { id 'java-library' id 'idea' @@ -52,8 +57,16 @@ plugins { id 'com.palantir.git-version' version '0.13.0' apply false id 'de.undercouch.download' version '5.0.1' id 'com.github.gmazzo.buildconfig' version '3.0.3' apply false + id 'com.diffplug.spotless' version '6.7.2' apply false +} +verifySettingsGradle() + +dependencies { + implementation 'com.diffplug:blowdryer:1.6.0' } +apply plugin: 'com.diffplug.blowdryer' + if (project.file('.git/HEAD').isFile()) { apply plugin: 'com.palantir.git-version' } @@ -78,6 +91,13 @@ idea { } } +boolean disableSpotless = project.hasProperty("disableSpotless") ? project.disableSpotless.toBoolean() : false + +if (!disableSpotless) { + apply plugin: 'com.diffplug.spotless' + apply from: Blowdryer.file('spotless.gradle') +} + if(JavaVersion.current() != JavaVersion.VERSION_1_8) { throw new GradleException("This project requires Java 8, but it's running on " + JavaVersion.current()) } @@ -103,9 +123,11 @@ checkPropertyExists("containsMixinsAndOrCoreModOnly") checkPropertyExists("usesShadowedDependencies") checkPropertyExists("developmentEnvironmentUserName") -boolean noPublishedSources = project.findProperty("noPublishedSources") ? project.noPublishedSources.toBoolean() : false -boolean usesMixinDebug = project.findProperty('usesMixinDebug') ?: project.usesMixins.toBoolean() - +boolean noPublishedSources = project.hasProperty("noPublishedSources") ? project.noPublishedSources.toBoolean() : false +boolean usesMixinDebug = project.hasProperty('usesMixinDebug') ?: project.usesMixins.toBoolean() +boolean forceEnableMixins = project.hasProperty('forceEnableMixins') ? project.forceEnableMixins.toBoolean() : false +String channel = project.hasProperty('channel') ? project.channel : 'stable' +String mappingsVersion = project.hasProperty('mappingsVersion') ? project.mappingsVersion : '12' String javaSourceDir = "src/main/java/" String scalaSourceDir = "src/main/scala/" String kotlinSourceDir = "src/main/kotlin/" @@ -188,10 +210,10 @@ try { } catch (Exception ignored) { out.style(Style.Failure).text( - 'This mod must be version controlled by Git AND the repository must provide at least one tag,\n' + - 'or the VERSION override must be set! ').style(Style.SuccessHeader).text('(Do NOT download from GitHub using the ZIP option, instead\n' + - 'clone the repository, see ').style(Style.Info).text('https://gtnh.miraheze.org/wiki/Development').style(Style.SuccessHeader).println(' for details.)' - ) + 'This mod must be version controlled by Git AND the repository must provide at least one tag,\n' + + 'or the VERSION override must be set! ').style(Style.SuccessHeader).text('(Do NOT download from GitHub using the ZIP option, instead\n' + + 'clone the repository, see ').style(Style.Info).text('https://gtnh.miraheze.org/wiki/Development').style(Style.SuccessHeader).println(' for details.)' + ) versionOverride = 'NO-GIT-TAG-SET' identifiedVersion = versionOverride } @@ -215,7 +237,7 @@ else { def arguments = [] def jvmArguments = [] -if (usesMixins.toBoolean()) { +if (usesMixins.toBoolean() || forceEnableMixins) { arguments += [ "--tweakClass org.spongepowered.asm.launch.MixinTweaker" ] @@ -280,7 +302,7 @@ repositories { name 'Overmind forge repo mirror' url 'https://gregtech.overminddl1.com/' } - if(usesMixins.toBoolean()) { + if(usesMixins.toBoolean() || forceEnableMixins) { maven { name 'sponge' url 'https://repo.spongepowered.org/repository/maven-public' @@ -297,6 +319,8 @@ dependencies { annotationProcessor('com.google.guava:guava:24.1.1-jre') annotationProcessor('com.google.code.gson:gson:2.8.6') annotationProcessor('org.spongepowered:mixin:0.8-SNAPSHOT') + } + if(usesMixins.toBoolean() || forceEnableMixins) { // using 0.8 to workaround a issue in 0.7 which fails mixin application compile('com.github.GTNewHorizons:SpongePoweredMixin:0.7.12-GTNH') { // Mixin includes a lot of dependencies that are too up-to-date @@ -354,7 +378,10 @@ shadowJar { } minimize() // This will only allow shading for actually used classes - configurations = [project.configurations.shadowImplementation, project.configurations.shadowCompile] + configurations = [ + project.configurations.shadowImplementation, + project.configurations.shadowCompile + ] dependsOn(relocateShadowJar) } @@ -376,7 +403,7 @@ jar { } reobf { - if(usesMixins.toBoolean()) { + if(usesMixins.toBoolean() && file(mixinSrg).exists()) { addExtraSrgFile mixinSrg } } @@ -385,12 +412,12 @@ afterEvaluate { if(usesMixins.toBoolean()) { tasks.compileJava { options.compilerArgs += [ - "-AreobfSrgFile=${tasks.reobf.srg}", - "-AoutSrgFile=${mixinSrg}", - "-AoutRefMapFile=${refMap}", - // Elan: from what I understand they are just some linter configs so you get some warning on how to properly code - "-XDenableSunApiLintControl", - "-XDignore.symbol.file" + "-AreobfSrgFile=${tasks.reobf.srg}", + "-AoutSrgFile=${mixinSrg}", + "-AoutRefMapFile=${refMap}", + // Elan: from what I understand they are just some linter configs so you get some warning on how to properly code + "-XDenableSunApiLintControl", + "-XDignore.symbol.file" ] } } @@ -399,8 +426,8 @@ afterEvaluate { runClient { if(developmentEnvironmentUserName) { arguments += [ - "--username", - developmentEnvironmentUserName + "--username", + developmentEnvironmentUserName ] } @@ -418,13 +445,14 @@ tasks.withType(JavaExec).configureEach { javaToolchains.launcherFor { languageVersion = projectJavaVersion } - ) + ) } processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version + exclude("spotless.gradle") // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { @@ -432,9 +460,9 @@ processResources { // replace modVersion and minecraftVersion expand "minecraftVersion": project.minecraft.version, - "modVersion": modVersion, - "modId": modId, - "modName": modName + "modVersion": modVersion, + "modId": modId, + "modName": modName } if(usesMixins.toBoolean()) { @@ -444,6 +472,7 @@ processResources { // copy everything else that's not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' + exclude 'spotless.gradle' } } @@ -463,9 +492,9 @@ def getManifestAttributes() { if(usesMixins.toBoolean()) { manifestAttributes += [ - "TweakClass" : "org.spongepowered.asm.launch.MixinTweaker", - "MixinConfigs" : "mixins." + modId + ".json", - "ForceLoadAsMod" : !containsMixinsAndOrCoreModOnly.toBoolean() + "TweakClass" : "org.spongepowered.asm.launch.MixinTweaker", + "MixinConfigs" : "mixins." + modId + ".json", + "ForceLoadAsMod" : !containsMixinsAndOrCoreModOnly.toBoolean() ] } return manifestAttributes @@ -492,7 +521,10 @@ task shadowDevJar(type: ShadowJar) { } minimize() // This will only allow shading for actually used classes - configurations = [project.configurations.shadowImplementation, project.configurations.shadowCompile] + configurations = [ + project.configurations.shadowImplementation, + project.configurations.shadowCompile + ] } task relocateShadowDevJar(type: ConfigureShadowRelocation) { @@ -584,7 +616,10 @@ publishing { // remove extra garbage from minecraft and minecraftDeps configuration pom.withXml { def badArtifacts = [:].withDefault {[] as Set} - for (configuration in [projectConfigs.minecraft, projectConfigs.minecraftDeps]) { + for (configuration in [ + projectConfigs.minecraft, + projectConfigs.minecraftDeps + ]) { for (dependency in configuration.allDependencies) { badArtifacts[dependency.group == null ? "" : dependency.group] += dependency.name } @@ -618,11 +653,11 @@ task updateBuildScript { doLast { if (performBuildScriptUpdate(projectDir.toString())) return - print("Build script already up-to-date!") + print("Build script already up-to-date!") } } -if (isNewBuildScriptVersionAvailable(projectDir.toString())) { +if (!project.getGradle().startParameter.isOffline() && isNewBuildScriptVersionAvailable(projectDir.toString())) { if (autoUpdateBuildScript.toBoolean()) { performBuildScriptUpdate(projectDir.toString()) } else { @@ -633,12 +668,26 @@ if (isNewBuildScriptVersionAvailable(projectDir.toString())) { static URL availableBuildScriptUrl() { new URL("https://raw.githubusercontent.com/GTNewHorizons/ExampleMod1.7.10/main/build.gradle") } +static URL exampleSettingsGradleUrl() { + new URL("https://raw.githubusercontent.com/GTNewHorizons/ExampleMod1.7.10/main/settings.gradle.example") +} + + +def verifySettingsGradle() { + def settingsFile = getFile("settings.gradle") + if (!settingsFile.exists()) { + println("Downloading default settings.gradle") + exampleSettingsGradleUrl().withInputStream { i -> settingsFile.withOutputStream { it << i } } + throw new GradleException("Settings.gradle has been updated, please re-run task.") + } +} boolean performBuildScriptUpdate(String projectDir) { if (isNewBuildScriptVersionAvailable(projectDir)) { def buildscriptFile = getFile("build.gradle") availableBuildScriptUrl().withInputStream { i -> buildscriptFile.withOutputStream { it << i } } out.style(Style.Success).print("Build script updated. Please REIMPORT the project or RESTART your IDE!") + verifySettingsGradle() return true } return false @@ -669,80 +718,225 @@ configure(updateBuildScript) { description = 'Updates the build script to the latest version' } -// Deobfuscation +// Parameter Deobfuscation -def deobf(String sourceURL) { - try { - URL url = new URL(sourceURL) - String fileName = url.getFile() - - //get rid of directories: - int lastSlash = fileName.lastIndexOf("/") - if(lastSlash > 0) { - fileName = fileName.substring(lastSlash + 1) +task deobfParams { + doLast { + + String mcpDir = "$project.gradle.gradleUserHomeDir/caches/minecraft/de/oceanlabs/mcp/mcp_$channel/$mappingsVersion" + String mcpZIP = "$mcpDir/mcp_$channel-$mappingsVersion-${minecraftVersion}.zip" + String paramsCSV = "$mcpDir/params.csv" + + download.run { + src "https://maven.minecraftforge.net/de/oceanlabs/mcp/mcp_$channel/$mappingsVersion-$minecraftVersion/mcp_$channel-$mappingsVersion-${minecraftVersion}.zip" + dest mcpZIP + overwrite false } - //get rid of extension: - if(fileName.endsWith(".jar")) { - fileName = fileName.substring(0, fileName.lastIndexOf(".")) + + if(!file(paramsCSV).exists()) { + println("Extracting MCP archive ...") + unzip(mcpZIP, mcpDir) } - String hostName = url.getHost() - if(hostName.startsWith("www.")) { - hostName = hostName.substring(4) + println("Parsing params.csv ...") + Map params = new HashMap<>() + Files.lines(Paths.get(paramsCSV)).forEach{line -> + String[] cells = line.split(",") + if(cells.length > 2 && cells[0].matches("p_i?\\d+_\\d+_")) { + params.put(cells[0], cells[1]) + } } - List parts = Arrays.asList(hostName.split("\\.")) - Collections.reverse(parts) - hostName = String.join(".", parts) - return deobf(sourceURL, hostName + "/" + fileName) - } catch(Exception e) { - return deobf(sourceURL, "deobf/" + String.valueOf(sourceURL.hashCode())) - } + out.style(Style.Success).println("Modified ${replaceParams(file("$projectDir/src/main/java"), params)} files!") + out.style(Style.Failure).println("Don't forget to verify that the code still works as before!\n It could be broken due to duplicate variables existing now\n or parameters taking priority over other variables.") +} } -// The method above is to be preferred. Use this method if the filename is not at the end of the URL. -def deobf(String sourceURL, String fileName) { - String cacheDir = System.getProperty("user.home") + "/.gradle/caches/" - String bon2Dir = cacheDir + "forge_gradle/deobf" - String bon2File = bon2Dir + "/BON2-2.5.0.jar" - String obfFile = cacheDir + "modules-2/files-2.1/" + fileName + ".jar" - String deobfFile = cacheDir + "modules-2/files-2.1/" + fileName + "-deobf.jar" +static int replaceParams(File file, Map params) { +int fileCount = 0 - if(file(deobfFile).exists()) { - return files(deobfFile) +if(file.isDirectory()) { + for(File f : file.listFiles()) { + fileCount += replaceParams(f, params) } - - download.run { - src 'https://github.com/GTNewHorizons/BON2/releases/download/2.5.0/BON2-2.5.0.CUSTOM-all.jar' - dest bon2File - quiet true - overwrite false + return fileCount +} +println("Visiting ${file.getName()} ...") +try { + String content = new String(Files.readAllBytes(file.toPath())) + int hash = content.hashCode() + params.forEach{key, value -> + content = content.replaceAll(key, value) + } + if(hash != content.hashCode()) { + Files.write(file.toPath(), content.getBytes("UTF-8")) + return 1 + } +} catch(Exception e) { + e.printStackTrace() +} +return 0 +} + +// Credit: bitsnaps (https://gist.github.com/bitsnaps/00947f2dce66f4bbdabc67d7e7b33681) +static unzip(String zipFileName, String outputDir) { +byte[] buffer = new byte[16384] +ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFileName)) +ZipEntry zipEntry = zis.getNextEntry() +while (zipEntry != null) { + File newFile = new File(outputDir + File.separator, zipEntry.name) + if (zipEntry.isDirectory()) { + if (!newFile.isDirectory() && !newFile.mkdirs()) { + throw new IOException("Failed to create directory $newFile") + } + } else { + // fix for Windows-created archives + File parent = newFile.parentFile + if (!parent.isDirectory() && !parent.mkdirs()) { + throw new IOException("Failed to create directory $parent") + } + // write file content + FileOutputStream fos = new FileOutputStream(newFile) + int len = 0 + while ((len = zis.read(buffer)) > 0) { + fos.write(buffer, 0, len) + } + fos.close() } + zipEntry = zis.getNextEntry() +} +zis.closeEntry() +zis.close() +} + +configure(deobfParams) { +group = 'forgegradle' +description = 'Rename all obfuscated parameter names inherited from Minecraft classes' +} + +// Dependency Deobfuscation + +def deobf(String sourceURL) { +try { + URL url = new URL(sourceURL) + String fileName = url.getFile() - download.run { - src sourceURL - dest obfFile - quiet true - overwrite false + //get rid of directories: + int lastSlash = fileName.lastIndexOf("/") + if(lastSlash > 0) { + fileName = fileName.substring(lastSlash + 1) + } + //get rid of extension: + if(fileName.endsWith(".jar") || fileName.endsWith(".litemod")) { + fileName = fileName.substring(0, fileName.lastIndexOf(".")) } - exec { - commandLine 'java', '-jar', bon2File, '--inputJar', obfFile, '--outputJar', deobfFile, '--mcVer', '1.7.10', '--mappingsVer', 'stable_12', '--notch' - workingDir bon2Dir - standardOutput = new ByteArrayOutputStream() + String hostName = url.getHost() + if(hostName.startsWith("www.")) { + hostName = hostName.substring(4) } + List parts = Arrays.asList(hostName.split("\\.")) + Collections.reverse(parts) + hostName = String.join(".", parts) + return deobf(sourceURL, "$hostName/$fileName") +} catch(Exception e) { + return deobf(sourceURL, "deobf/${sourceURL.hashCode()}") +} +} + +// The method above is to be preferred. Use this method if the filename is not at the end of the URL. +def deobf(String sourceURL, String rawFileName) { +String bon2Version = "2.5.1" +String fileName = URLDecoder.decode(rawFileName, "UTF-8") +String cacheDir = "$project.gradle.gradleUserHomeDir/caches" +String bon2Dir = "$cacheDir/forge_gradle/deobf" +String bon2File = "$bon2Dir/BON2-${bon2Version}.jar" +String obfFile = "$cacheDir/modules-2/files-2.1/${fileName}.jar" +String deobfFile = "$cacheDir/modules-2/files-2.1/${fileName}-deobf.jar" + +if(file(deobfFile).exists()) { return files(deobfFile) } +String mappingsVer +String remoteMappings = project.hasProperty('remoteMappings') ? project.remoteMappings : 'https://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/conf/' +if(remoteMappings) { + String id = "${forgeVersion.split("\\.")[3]}-$minecraftVersion" + String mappingsZIP = "$cacheDir/forge_gradle/maven_downloader/de/oceanlabs/mcp/mcp_snapshot_nodoc/$id/mcp_snapshot_nodoc-${id}.zip" + + zipMappings(mappingsZIP, remoteMappings, bon2Dir) + + mappingsVer = "snapshot_$id" +} else { + mappingsVer = "${channel}_$mappingsVersion" +} + +download.run { + src "http://jenkins.usrv.eu:8081/nexus/content/repositories/releases/com/github/parker8283/BON2/$bon2Version-CUSTOM/BON2-$bon2Version-CUSTOM-all.jar" + dest bon2File + quiet true + overwrite false +} + +download.run { + src sourceURL + dest obfFile + quiet true + overwrite false +} + +exec { + commandLine 'java', '-jar', bon2File, '--inputJar', obfFile, '--outputJar', deobfFile, '--mcVer', minecraftVersion, '--mappingsVer', mappingsVer, '--notch' + workingDir bon2Dir + standardOutput = new FileOutputStream("${deobfFile}.log") +} + +return files(deobfFile) +} + +def zipMappings(String zipPath, String url, String bon2Dir) { +File zipFile = new File(zipPath) +if(zipFile.exists()) { + return +} + +String fieldsCache = "$bon2Dir/data/fields.csv" +String methodsCache = "$bon2Dir/data/methods.csv" + +download.run { + src "${url}fields.csv" + dest fieldsCache + quiet true +} +download.run { + src "${url}methods.csv" + dest methodsCache + quiet true +} + +zipFile.getParentFile().mkdirs() +ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile)) + +zos.putNextEntry(new ZipEntry("fields.csv")) +Files.copy(Paths.get(fieldsCache), zos) +zos.closeEntry() + +zos.putNextEntry(new ZipEntry("methods.csv")) +Files.copy(Paths.get(methodsCache), zos) +zos.closeEntry() + +zos.close() +} + // Helper methods def checkPropertyExists(String propertyName) { - if (!project.hasProperty(propertyName)) { - throw new GradleException("This project requires a property \"" + propertyName + "\"! Please add it your \"gradle.properties\". You can find all properties and their description here: https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/gradle.properties") - } +if (!project.hasProperty(propertyName)) { + throw new GradleException("This project requires a property \"" + propertyName + "\"! Please add it your \"gradle.properties\". You can find all properties and their description here: https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/gradle.properties") +} } def getFile(String relativePath) { - return new File(projectDir, relativePath) +return new File(projectDir, relativePath) } diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000000..97d8f71c52 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,10 @@ +plugins { + id 'com.diffplug.blowdryerSetup' version '1.6.0' +} + +apply plugin: 'com.diffplug.blowdryerSetup' + +blowdryerSetup { + github('GTNewHorizons/ExampleMod1.7.10', 'tag', '0.1.4') + //devLocal '.' // Use this when testing config updates locally +} diff --git a/src/main/java/com/github/technus/tectech/TecTech.java b/src/main/java/com/github/technus/tectech/TecTech.java index fe85fc08c5..4911b4be7b 100644 --- a/src/main/java/com/github/technus/tectech/TecTech.java +++ b/src/main/java/com/github/technus/tectech/TecTech.java @@ -1,5 +1,7 @@ package com.github.technus.tectech; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; + import com.github.technus.tectech.loader.MainLoader; import com.github.technus.tectech.loader.TecTechConfig; import com.github.technus.tectech.loader.gui.CreativeTabEM; @@ -27,21 +29,21 @@ import eu.usrv.yamcore.auxiliary.IngameErrorLog; import eu.usrv.yamcore.auxiliary.LogHelper; import gregtech.GT_Mod; import gregtech.common.GT_Proxy; -import net.minecraftforge.common.MinecraftForge; - import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.util.Collection; import java.util.Iterator; +import net.minecraftforge.common.MinecraftForge; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; - -@Mod(modid = Reference.MODID, name = Reference.NAME, version = Reference.VERSION, - dependencies = "required-after:Forge@[10.13.4.1614,);" + - "required-after:YAMCore@[0.5.70,);" + "required-after:structurelib;" + - "after:ComputerCraft;" + "after:OpenComputers;" + - "required-after:gregtech;" + "after:dreamcraft;" + - "after:appliedenergistics2;" + "after:CoFHCore;" + "after:Thaumcraft;") +@Mod( + modid = Reference.MODID, + name = Reference.NAME, + version = Reference.VERSION, + dependencies = "required-after:Forge@[10.13.4.1614,);" + "required-after:YAMCore@[0.5.70,);" + + "required-after:structurelib;" + "after:ComputerCraft;" + + "after:OpenComputers;" + "required-after:gregtech;" + + "after:dreamcraft;" + "after:appliedenergistics2;" + + "after:CoFHCore;" + "after:Thaumcraft;") public class TecTech { @SidedProxy(clientSide = Reference.CLIENTSIDE, serverSide = Reference.SERVERSIDE) public static CommonProxy proxy; @@ -49,20 +51,20 @@ public class TecTech { @Mod.Instance(Reference.MODID) public static TecTech instance; - public static final XSTR RANDOM = XSTR.XSTR_INSTANCE; - public static final LogHelper LOGGER = new LogHelper(Reference.MODID); - public static CreativeTabTecTech creativeTabTecTech; - public static CreativeTabEM creativeTabEM; + public static final XSTR RANDOM = XSTR.XSTR_INSTANCE; + public static final LogHelper LOGGER = new LogHelper(Reference.MODID); + public static CreativeTabTecTech creativeTabTecTech; + public static CreativeTabEM creativeTabEM; private static IngameErrorLog moduleAdminErrorLogs; - public static TecTechConfig configTecTech; + public static TecTechConfig configTecTech; - public static ChunkDataHandler chunkDataHandler; - public static AnomalyHandler anomalyHandler; + public static ChunkDataHandler chunkDataHandler; + public static AnomalyHandler anomalyHandler; public static PlayerPersistence playerPersistence; - public static final EMDefinitionsRegistry definitionsRegistry = new EMDefinitionsRegistry(); - public static final EMTransformationRegistry transformationInfo = new EMTransformationRegistry(); + public static final EMDefinitionsRegistry definitionsRegistry = new EMDefinitionsRegistry(); + public static final EMTransformationRegistry transformationInfo = new EMTransformationRegistry(); /** * For Loader.isModLoaded checks during the runtime @@ -85,8 +87,8 @@ public class TecTech { public void PreLoad(FMLPreInitializationEvent PreEvent) { LOGGER.setDebugOutput(true); - configTecTech = new TecTechConfig(PreEvent.getModConfigurationDirectory(), Reference.COLLECTIONNAME, - Reference.MODID); + configTecTech = + new TecTechConfig(PreEvent.getModConfigurationDirectory(), Reference.COLLECTIONNAME, Reference.MODID); if (!configTecTech.LoadConfig()) { LOGGER.error(Reference.MODID + " could not load its config file. Things are going to be weird!"); @@ -172,9 +174,7 @@ public class TecTech { } @Override - public void clear() { - - } + public void clear() {} @Override public boolean retainAll(Collection c) { @@ -199,7 +199,6 @@ public class TecTech { } catch (NoSuchFieldException | IllegalAccessException e) { LOGGER.error(Reference.MODID + " could not disable material loading!"); } - } MainLoader.load(definitionsRegistry); 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 7cce649a2e..d01ad3f43b 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 @@ -1,5 +1,7 @@ package com.github.technus.tectech.compatibility.dreamcraft; +import static com.github.technus.tectech.loader.recipe.BaseRecipeLoader.getOrDefault; + import com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry; import com.github.technus.tectech.recipe.TT_recipeAdder; import com.github.technus.tectech.thing.CustomItemList; @@ -9,7 +11,6 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.Behaviou import com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.Behaviour_Recycler; import com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine; import cpw.mods.fml.common.Loader; -import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; @@ -19,28 +20,24 @@ import gregtech.api.interfaces.IItemContainer; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; +import gtPlusPlus.core.material.ALLOY; import gtPlusPlus.core.material.ELEMENT; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; +import java.lang.reflect.Method; import net.minecraft.init.Blocks; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.core.material.ALLOY; - -import java.lang.reflect.Method; - -import static com.github.technus.tectech.loader.recipe.BaseRecipeLoader.getOrDefault; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; /** * Created by Tec on 06.08.2017. */ public class DreamCraftRecipeLoader { - //region reflect a bit + // region reflect a bit @SuppressWarnings("rawtypes") private Class CUSTOM_ITEM_LIST; + private Method ADD_ASSEMBLER_RECIPE; @SuppressWarnings("unchecked") @@ -48,739 +45,2577 @@ public class DreamCraftRecipeLoader { return (IItemContainer) Enum.valueOf(CUSTOM_ITEM_LIST, name); } - private void addAssemblerRecipeWithCleanroom(ItemStack[] items, FluidStack fluid, ItemStack output, int time, int eut) { + private void addAssemblerRecipeWithCleanroom( + ItemStack[] items, FluidStack fluid, ItemStack output, int time, int eut) { try { ADD_ASSEMBLER_RECIPE.invoke(GT_Values.RA, items, fluid, output, time, eut, true); } catch (Exception e) { throw new RuntimeException("Failed to add clean room assembler recipe! " + output.getDisplayName(), e); } } - //endregion + // endregion public void run(EMTransformationRegistry transformationInfo) { - //region reflect a bit + // region reflect a bit try { CUSTOM_ITEM_LIST = Class.forName("com.dreammaster.gthandler.CustomItemList"); - ADD_ASSEMBLER_RECIPE = GT_Values.RA.getClass().getMethod("addAssemblerRecipe", ItemStack[].class, FluidStack.class, ItemStack.class, int.class, int.class, boolean.class); + ADD_ASSEMBLER_RECIPE = GT_Values.RA + .getClass() + .getMethod( + "addAssemblerRecipe", + ItemStack[].class, + FluidStack.class, + ItemStack.class, + int.class, + int.class, + boolean.class); } catch (Exception e) { throw new Error(e); } - //endregion - - Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null ? FluidRegistry.getFluid("molten.indalloy140") : FluidRegistry.getFluid("molten.solderingalloy"); - Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null ? FluidRegistry.getFluid("molten.mutatedlivingsolder") : FluidRegistry.getFluid("molten.solderingalloy"); - - //Quantum Glass - 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); - - //region pipes - - //Data - addAssemblerRecipeWithCleanroom(new ItemStack[]{ - ItemList.Circuit_Parts_GlassFiber.get(8), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silver, 8) - }, Materials.Polytetrafluoroethylene.getMolten(144), CustomItemList.DATApipe.get(1), 200, 30720); - - //Tunnel - addAssemblerRecipeWithCleanroom(new ItemStack[]{ - CustomItemList.DATApipe.get(1), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmiridium, 4), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2), - ItemList.Field_Generator_MV.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1) - }, Materials.Osmium.getMolten(288), CustomItemList.EMpipe.get(1), 400, 500000); - - //Laser - addAssemblerRecipeWithCleanroom(new ItemStack[]{ + // endregion + + Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null + ? FluidRegistry.getFluid("molten.indalloy140") + : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null + ? FluidRegistry.getFluid("molten.mutatedlivingsolder") + : FluidRegistry.getFluid("molten.solderingalloy"); + + // Quantum Glass + 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); + + // region pipes + + // Data + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + ItemList.Circuit_Parts_GlassFiber.get(8), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silver, 8) + }, + Materials.Polytetrafluoroethylene.getMolten(144), CustomItemList.DATApipe.get(1), - GT_ModHandler.getIC2Item("reinforcedGlass", 1L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmiridium, 2) - }, null, CustomItemList.LASERpipe.get(1), 100, 500000); - - //endregion - - //region casing - - //High Power Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 16), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) - }, Materials.TungstenSteel.getMolten(576), CustomItemList.eM_Power.get(1), 100, 30720); - - //Computer Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + 200, + 30720); + + // Tunnel + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + CustomItemList.DATApipe.get(1), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmiridium, 4), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 4), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2), + ItemList.Field_Generator_MV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 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); + + // endregion + + // region casing + + // High Power Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 16), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, + Materials.TungstenSteel.getMolten(576), CustomItemList.eM_Power.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) - }, Materials.Aluminium.getMolten(1296), CustomItemList.eM_Computer_Casing.get(1), 200, 122880); - //Computer Vent Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), - ItemList.Electric_Motor_IV.get(2), - 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) - }, Materials.SolderingAlloy.getMolten(1296), - CustomItemList.eM_Computer_Vent.get(1), 100, 1920); - - //Advanced Computer Casing - addAssemblerRecipeWithCleanroom(new ItemStack[]{ + 100, + 30720); + + // Computer Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Power.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, + Materials.Aluminium.getMolten(1296), CustomItemList.eM_Computer_Casing.get(1), - 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) - }, 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.screw, Materials.TungstenSteel, 24), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TungstenSteel, 24), - ItemList.Field_Generator_IV.get(1) - }, Materials.Osmium.getMolten(1296), CustomItemList.eM_Containment.get(1), 800, 500000); - - //Hollow Casing - GT_Values.RA.addAssemblylineRecipe(CustomItemList.eM_Containment.get(1), 7500, new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Europium, 2), - GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.Plutonium, 4), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Lead, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Uranium, 16), - GT_OreDictUnificator.get(OrePrefixes.screw, getOrDefault("Quantium", Materials.Europium), 16), - }, new FluidStack[]{ - getOrDefault("Trinium", Materials.Osmium).getMolten(1296), - Materials.Osmium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Argon.getGas(1000), - }, CustomItemList.eM_Hollow.get(2), 200, 200000); - - //EM Coil - GT_Values.RA.addAssemblylineRecipe(CustomItemList.eM_Hollow.get(1), 7500, new ItemStack[]{ - CustomItemList.eM_Hollow.get(1), - ItemList.Casing_Fusion_Coil.get(2), - ItemList.Casing_Coil_NaquadahAlloy.get(2), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Europium, 64), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Europium, 64), - }, new FluidStack[]{ - Materials.Glass.getMolten(2304), - Materials.Silicone.getMolten(1872), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - getOrDefault("Trinium", Materials.Osmium).getMolten(1296), - }, CustomItemList.eM_Coil.get(4), 800, 200000); + 200, + 122880); + // Computer Vent Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), + ItemList.Electric_Motor_IV.get(2), + 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) + }, + Materials.SolderingAlloy.getMolten(1296), + CustomItemList.eM_Computer_Vent.get(1), + 100, + 1920); + + // Advanced Computer Casing + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + 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) + }, + 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.screw, Materials.TungstenSteel, 24), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TungstenSteel, 24), + ItemList.Field_Generator_IV.get(1) + }, + Materials.Osmium.getMolten(1296), + CustomItemList.eM_Containment.get(1), + 800, + 500000); + + // Hollow Casing + GT_Values.RA.addAssemblylineRecipe( + CustomItemList.eM_Containment.get(1), + 7500, + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Europium, 2), + GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.Plutonium, 4), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Lead, 8), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Uranium, 16), + GT_OreDictUnificator.get(OrePrefixes.screw, getOrDefault("Quantium", Materials.Europium), 16), + }, + new FluidStack[] { + getOrDefault("Trinium", Materials.Osmium).getMolten(1296), + Materials.Osmium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Argon.getGas(1000), + }, + CustomItemList.eM_Hollow.get(2), + 200, + 200000); + + // EM Coil + GT_Values.RA.addAssemblylineRecipe( + CustomItemList.eM_Hollow.get(1), + 7500, + new ItemStack[] { + CustomItemList.eM_Hollow.get(1), + ItemList.Casing_Fusion_Coil.get(2), + ItemList.Casing_Coil_NaquadahAlloy.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Europium, 64), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Europium, 64), + }, + new FluidStack[] { + Materials.Glass.getMolten(2304), + Materials.Silicone.getMolten(1872), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + getOrDefault("Trinium", Materials.Osmium).getMolten(1296), + }, + CustomItemList.eM_Coil.get(4), + 800, + 200000); // Infinite Oil Rig - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.OilDrill3.get(1), - 16777216, 2048, 2000000, 4, new Object[]{ - ItemList.OilDrill3.get(1), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 4), - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4L}, - ItemList.Electric_Motor_UHV.get(4), - ItemList.Electric_Pump_UHV.get(4), - GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Neutronium, 4), - ItemList.Sensor_UHV.get(3), - ItemList.Field_Generator_UHV.get(3), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 12) - }, new FluidStack[]{ - new FluidStack(solderUEV, 1296), - Materials.Neutronium.getMolten(576) - }, ItemList.OilDrillInfinite.get(1), 6000, 2000000); + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.OilDrill3.get(1), + 16777216, + 2048, + 2000000, + 4, + new Object[] { + ItemList.OilDrill3.get(1), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 4), + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 4L}, + ItemList.Electric_Motor_UHV.get(4), + ItemList.Electric_Pump_UHV.get(4), + GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Neutronium, 4), + ItemList.Sensor_UHV.get(3), + ItemList.Field_Generator_UHV.get(3), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 12) + }, + new FluidStack[] {new FluidStack(solderUEV, 1296), Materials.Neutronium.getMolten(576)}, + ItemList.OilDrillInfinite.get(1), + 6000, + 2000000); // Infinity Coil - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Coil_AwakenedDraconium.get(1), - 16_777_216, 2048, 8_000_000, 1, new Object[]{ - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L}, - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Infinity, 8), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Infinity, 8), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 32, 0) - }, new FluidStack[]{ - Materials.DraconiumAwakened.getMolten(576), - }, ItemList.Casing_Coil_Infinity.get(1), 60*20, 8_000_000); + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Casing_Coil_AwakenedDraconium.get(1), + 16_777_216, + 2048, + 8_000_000, + 1, + new Object[] { + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 1L}, + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Infinity, 8), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Infinity, 8), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 32, 0) + }, + new FluidStack[] { + Materials.DraconiumAwakened.getMolten(576), + }, + ItemList.Casing_Coil_Infinity.get(1), + 60 * 20, + 8_000_000); // Hypogen Coil - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Coil_Infinity.get(1), - 16_777_216*2, 2048*2, 32_000_000, 1, new Object[]{ - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - GT_OreDictUnificator.get("wireGt02Hypogen", 8L), - GT_ModHandler.getModItem("miscutils", "itemScrewHypogen", 8, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - }, new FluidStack[]{ - Materials.Infinity.getMolten(576), - }, ItemList.Casing_Coil_Hypogen.get(1), 60*20, 8000000*4); + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Casing_Coil_Infinity.get(1), + 16_777_216 * 2, + 2048 * 2, + 32_000_000, + 1, + new Object[] { + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + GT_OreDictUnificator.get("wireGt02Hypogen", 8L), + GT_ModHandler.getModItem("miscutils", "itemScrewHypogen", 8, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + }, + new FluidStack[] { + Materials.Infinity.getMolten(576), + }, + ItemList.Casing_Coil_Hypogen.get(1), + 60 * 20, + 8000000 * 4); // Eternal coil - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Coil_Hypogen.get(1), - 16_777_216*4, 8_192, 128_000_000, 1, new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SpaceTime, 8), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 8), - GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 1L), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - }, new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("molten.hypogen"), 576), - }, ItemList.Casing_Coil_Eternal.get(1), 60*20, 8_000_000*16); - - - //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), + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Casing_Coil_Hypogen.get(1), + 16_777_216 * 4, + 8_192, + 128_000_000, + 1, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SpaceTime, 8), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 8), + GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 1L), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + }, + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("molten.hypogen"), 576), + }, + ItemList.Casing_Coil_Eternal.get(1), + 60 * 20, + 8_000_000 * 16); + + // 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), + 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), 200, 30720); - //Tesla Primary Coils T6 - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorZPM, 8), - getItemContainer("MicaInsulatorFoil").get(32) - }, Materials.Naquadah.getMolten(144), CustomItemList.tM_TeslaPrimary_6.get(1), 200, 122880); - - //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)}, Materials.Silver.getMolten(144), CustomItemList.eM_dynamoMulti4_IV.get(1), 100, 1920); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_LuV_IV.get(1), 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[]{getItemContainer("WetTransformer_LuV_IV").get(1), 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)}, Materials.Silver.getMolten(288), CustomItemList.eM_dynamoMulti4_LuV.get(1), 100, 7680); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_ZPM_LuV.get(1), 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, 7680); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_ZPM_LuV").get(1), 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, 7680); - - 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)}, Materials.Silver.getMolten(576), CustomItemList.eM_dynamoMulti4_ZPM.get(1), 100, 30720); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_UV_ZPM.get(1), 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[]{getItemContainer("WetTransformer_UV_ZPM").get(1), 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)}, Materials.Silver.getMolten(1152), CustomItemList.eM_dynamoMulti4_UV.get(1), 100, 122880); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_MAX_UV.get(1), 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[]{getItemContainer("WetTransformer_UHV_UV").get(1), 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.SuperconductorUHV, 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[]{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_UIV").get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2)}, Materials.Silver.getMolten(9216), CustomItemList.eM_dynamoMulti4_UIV.get(1), 100, 8000000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UMV_UIV").get(1), CustomItemList.eM_dynamoMulti4_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 4)}, Materials.Electrum.getMolten(9216), CustomItemList.eM_dynamoMulti16_UIV.get(1), 200, 8000000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UMV_UIV").get(1), CustomItemList.eM_dynamoMulti16_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 6)}, Materials.Tungsten.getMolten(9216), CustomItemList.eM_dynamoMulti64_UIV.get(1), 400, 8000000); - - //Energy Hatches IV-UIV - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hatch_Energy_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_energyMulti4_IV.get(1), 100, 1920); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_LuV_IV.get(1), CustomItemList.eM_energyMulti4_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_energyMulti16_IV.get(1), 200, 1920); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_LuV_IV").get(1), CustomItemList.eM_energyMulti16_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_energyMulti64_IV.get(1), 400, 1920); - - 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, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 2)}, Materials.Silver.getMolten(288), CustomItemList.eM_energyMulti4_LuV.get(1), 100, 7680); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_ZPM_LuV.get(1), CustomItemList.eM_energyMulti4_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 4)}, Materials.Electrum.getMolten(288), CustomItemList.eM_energyMulti16_LuV.get(1), 200, 7680); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_ZPM_LuV").get(1), CustomItemList.eM_energyMulti16_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.VanadiumGallium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 6)}, Materials.Tungsten.getMolten(288), CustomItemList.eM_energyMulti64_LuV.get(1), 400, 7680); - - 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)}, Materials.Silver.getMolten(576), CustomItemList.eM_energyMulti4_ZPM.get(1), 100, 30720); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_UV_ZPM.get(1), 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, 30720); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UV_ZPM").get(1), 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, 30720); - - 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)}, Materials.Silver.getMolten(1152), CustomItemList.eM_energyMulti4_UV.get(1), 100, 122880); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_MAX_UV.get(1), 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, 122880); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UHV_UV").get(1), 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, 122880); - - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hatch_Energy_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUHV, 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[]{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(2304), 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(2304), 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(4608), 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(4608), 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(4608), CustomItemList.eM_energyMulti64_UEV.get(1), 400, 2000000); - - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hatch_Energy_UIV").get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2)}, Materials.Silver.getMolten(9216), CustomItemList.eM_energyMulti4_UIV.get(1), 100, 8000000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UMV_UIV").get(1), CustomItemList.eM_energyMulti4_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 4)}, Materials.Electrum.getMolten(9216), CustomItemList.eM_energyMulti16_UIV.get(1), 200, 8000000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UMV_UIV").get(1), CustomItemList.eM_energyMulti16_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 6)}, Materials.Tungsten.getMolten(9216), CustomItemList.eM_energyMulti64_UIV.get(1), 400, 8000000); - - //Buck Converter IV-UIV - if (Loader.isModLoaded("bartworks")) { - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_LuV_IV.get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 2)}, Materials.TungstenSteel.getMolten(288), CustomItemList.Machine_BuckConverter_IV.get(1), 100, 7680); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_ZPM_LuV.get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NiobiumTitanium, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 3)}, new FluidStack(FluidRegistry.getFluid("molten.rhodium-plated palladium"), 288), CustomItemList.Machine_BuckConverter_LuV.get(1), 100, 30720); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_UV_ZPM.get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 4)}, Materials.Iridium.getMolten(288), CustomItemList.Machine_BuckConverter_ZPM.get(1), 100, 122880); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_MAX_UV.get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Naquadah, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 5)}, Materials.Osmium.getMolten(288), CustomItemList.Machine_BuckConverter_UV.get(1), 100, 500000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UEV_UHV").get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Infinite, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.ElectrumFlux, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 4L, 5)}, Materials.Neutronium.getMolten(288), CustomItemList.Machine_BuckConverter_UHV.get(1), 100, 2000000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UIV_UEV").get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Bedrockium, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 8L, 5)}, getOrDefault("Bedrockium", Materials.Neutronium).getMolten(288), CustomItemList.Machine_BuckConverter_UEV.get(1), 100, 8000000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UMV_UIV").get(1), getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Draconium, 4), GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 16L, 5)}, getOrDefault("BlackPlutonium", Materials.Neutronium).getMolten(288), CustomItemList.Machine_BuckConverter_UIV.get(1), 200, 8000000); - } - //Laser Dynamo IV-UEV 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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); - 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), - ItemList.Hatch_Input_Bus_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), - CustomItemList.DATApipe.get(2) - }, Materials.Iridium.getMolten(1296), CustomItemList.dataIn_Hatch.get(1), 200, 122880); - //Data Output - addAssemblerRecipeWithCleanroom(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Hatch_Output_Bus_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), - CustomItemList.DATApipe.get(2) - }, Materials.Iridium.getMolten(1296), CustomItemList.dataOut_Hatch.get(1), 200, 122880); + 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), + 200, + 30720); + // Tesla Primary Coils T6 + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorZPM, 8), + getItemContainer("MicaInsulatorFoil").get(32) + }, + Materials.Naquadah.getMolten(144), + CustomItemList.tM_TeslaPrimary_6.get(1), + 200, + 122880); - //Rack - addAssemblerRecipeWithCleanroom(new ItemStack[]{ - CustomItemList.eM_Computer_Bus.get(1), - ItemList.Hatch_Input_Bus_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), - CustomItemList.DATApipe.get(4) - }, Materials.Iridium.getMolten(1296), CustomItemList.rack_Hatch.get(1), 800, 122880); + // endregion - //Object Holder - GT_Values.RA.addAssemblylineRecipe(ItemList.Hatch_Input_Bus_ZPM.get(1), 10000, new Object[]{ - ItemList.Hatch_Input_Bus_ZPM.get(1), - CustomItemList.eM_Computer_Bus.get(1), - ItemList.Emitter_ZPM.get(8), - ItemList.Robot_Arm_ZPM.get(1), - ItemList.Electric_Motor_ZPM.get(2), - new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 1}, - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2)}, - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 16)}, - CustomItemList.DATApipe.get(2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(500), + // 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) + }, + Materials.Silver.getMolten(144), + CustomItemList.eM_dynamoMulti4_IV.get(1), + 100, + 1920); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_LuV_IV.get(1), + 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[] { + getItemContainer("WetTransformer_LuV_IV").get(1), + 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) + }, + Materials.Silver.getMolten(288), + CustomItemList.eM_dynamoMulti4_LuV.get(1), + 100, + 7680); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_ZPM_LuV.get(1), + 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, + 7680); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("WetTransformer_ZPM_LuV").get(1), + 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, + 7680); + + 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) + }, + Materials.Silver.getMolten(576), + CustomItemList.eM_dynamoMulti4_ZPM.get(1), + 100, + 30720); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_UV_ZPM.get(1), + 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[] { + getItemContainer("WetTransformer_UV_ZPM").get(1), + 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) + }, + Materials.Silver.getMolten(1152), + CustomItemList.eM_dynamoMulti4_UV.get(1), + 100, + 122880); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_MAX_UV.get(1), + 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[] { + getItemContainer("WetTransformer_UHV_UV").get(1), + 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.SuperconductorUHV, 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[] { + 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_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2) + }, + Materials.Silver.getMolten(9216), + CustomItemList.eM_dynamoMulti4_UIV.get(1), + 100, + 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Transformer_UMV_UIV").get(1), + CustomItemList.eM_dynamoMulti4_UIV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 4) + }, + Materials.Electrum.getMolten(9216), + CustomItemList.eM_dynamoMulti16_UIV.get(1), + 200, + 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("WetTransformer_UMV_UIV").get(1), + CustomItemList.eM_dynamoMulti16_UIV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NetherStar, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 6) + }, + Materials.Tungsten.getMolten(9216), + CustomItemList.eM_dynamoMulti64_UIV.get(1), + 400, + 8000000); + + // Energy Hatches IV-UIV + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Hatch_Energy_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_energyMulti4_IV.get(1), + 100, + 1920); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_LuV_IV.get(1), + CustomItemList.eM_energyMulti4_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_energyMulti16_IV.get(1), + 200, + 1920); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("WetTransformer_LuV_IV").get(1), + CustomItemList.eM_energyMulti16_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_energyMulti64_IV.get(1), + 400, + 1920); + + 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, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 2) + }, + Materials.Silver.getMolten(288), + CustomItemList.eM_energyMulti4_LuV.get(1), + 100, + 7680); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_ZPM_LuV.get(1), + CustomItemList.eM_energyMulti4_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 2), + GT_OreDictUnificator.get( + OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 4) + }, + Materials.Electrum.getMolten(288), + CustomItemList.eM_energyMulti16_LuV.get(1), + 200, + 7680); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("WetTransformer_ZPM_LuV").get(1), + CustomItemList.eM_energyMulti16_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.VanadiumGallium, 2), + GT_OreDictUnificator.get( + OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 6) + }, + Materials.Tungsten.getMolten(288), + CustomItemList.eM_energyMulti64_LuV.get(1), + 400, + 7680); + + 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) + }, + Materials.Silver.getMolten(576), + CustomItemList.eM_energyMulti4_ZPM.get(1), + 100, + 30720); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_UV_ZPM.get(1), + 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, + 30720); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("WetTransformer_UV_ZPM").get(1), + 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, + 30720); + + 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) + }, + Materials.Silver.getMolten(1152), + CustomItemList.eM_energyMulti4_UV.get(1), + 100, + 122880); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_MAX_UV.get(1), + 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, + 122880); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("WetTransformer_UHV_UV").get(1), + 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, + 122880); + + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Hatch_Energy_MAX.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUHV, 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[] { + 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(2304), + 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(2304), + 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(4608), + 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(4608), + 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(4608), + CustomItemList.eM_energyMulti64_UEV.get(1), + 400, + 2000000); + + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hatch_Energy_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2) + }, + Materials.Silver.getMolten(9216), + CustomItemList.eM_energyMulti4_UIV.get(1), + 100, + 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Transformer_UMV_UIV").get(1), + CustomItemList.eM_energyMulti4_UIV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 4) + }, + Materials.Electrum.getMolten(9216), + CustomItemList.eM_energyMulti16_UIV.get(1), + 200, + 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("WetTransformer_UMV_UIV").get(1), + CustomItemList.eM_energyMulti16_UIV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NetherStar, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 6) + }, + Materials.Tungsten.getMolten(9216), + CustomItemList.eM_energyMulti64_UIV.get(1), + 400, + 8000000); + + // Buck Converter IV-UIV + if (Loader.isModLoaded("bartworks")) { + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_LuV_IV.get(1), + getItemContainer("Display").get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 4), + GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 2) + }, + Materials.TungstenSteel.getMolten(288), + CustomItemList.Machine_BuckConverter_IV.get(1), + 100, + 7680); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_ZPM_LuV.get(1), + getItemContainer("Display").get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), + GT_OreDictUnificator.get( + OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 2), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NiobiumTitanium, 4), + GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 3) + }, + new FluidStack(FluidRegistry.getFluid("molten.rhodium-plated palladium"), 288), + CustomItemList.Machine_BuckConverter_LuV.get(1), + 100, + 30720); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_UV_ZPM.get(1), + getItemContainer("Display").get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 4), + GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 4) + }, + Materials.Iridium.getMolten(288), + CustomItemList.Machine_BuckConverter_ZPM.get(1), + 100, + 122880); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_MAX_UV.get(1), + getItemContainer("Display").get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Naquadah, 4), + GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 2L, 5) + }, + Materials.Osmium.getMolten(288), + CustomItemList.Machine_BuckConverter_UV.get(1), + 100, + 500000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Transformer_UEV_UHV").get(1), + getItemContainer("Display").get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Infinite, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.ElectrumFlux, 4), + GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 4L, 5) + }, + Materials.Neutronium.getMolten(288), + CustomItemList.Machine_BuckConverter_UHV.get(1), + 100, + 2000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Transformer_UIV_UEV").get(1), + getItemContainer("Display").get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 2), + GT_OreDictUnificator.get( + OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 2), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Bedrockium, 4), + GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 8L, 5) + }, + getOrDefault("Bedrockium", Materials.Neutronium).getMolten(288), + CustomItemList.Machine_BuckConverter_UEV.get(1), + 100, + 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Transformer_UMV_UIV").get(1), + getItemContainer("Display").get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 2), + GT_OreDictUnificator.get( + OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Draconium, 4), + GT_ModHandler.getModItem("bartworks", "BW_GlasBlocks", 16L, 5) + }, + getOrDefault("BlackPlutonium", Materials.Neutronium).getMolten(288), + CustomItemList.Machine_BuckConverter_UIV.get(1), + 200, + 8000000); + } + // Laser Dynamo IV-UEV 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + 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), + ItemList.Hatch_Input_Bus_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + CustomItemList.DATApipe.get(2) + }, + Materials.Iridium.getMolten(1296), + CustomItemList.dataIn_Hatch.get(1), + 200, + 122880); + // Data Output + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Hatch_Output_Bus_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + CustomItemList.DATApipe.get(2) + }, Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) - }, CustomItemList.holder_Hatch.get(1), 1200, 100000); + CustomItemList.dataOut_Hatch.get(1), + 200, + 122880); + + // Rack + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + CustomItemList.eM_Computer_Bus.get(1), + ItemList.Hatch_Input_Bus_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), + CustomItemList.DATApipe.get(4) + }, + Materials.Iridium.getMolten(1296), + CustomItemList.rack_Hatch.get(1), + 800, + 122880); - //Parameterizer - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), - CustomItemList.DATApipe.get(4), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 16), - GT_Utility.getIntegratedCircuit(1), - }, Materials.Iridium.getMolten(2592), CustomItemList.Parametrizer_Hatch.get(1), 800, 122880); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), - CustomItemList.DATApipe.get(6), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 32), - GT_Utility.getIntegratedCircuit(2), - }, Materials.Iridium.getMolten(2592), CustomItemList.ParametrizerX_Hatch.get(1), 800, 122880); - - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 1), - CustomItemList.DATApipe.get(8), - ItemList.Cover_Screen.get(2), - new ItemStack(Blocks.stone_button, 64), - GT_Utility.getIntegratedCircuit(3), - }, Materials.Iridium.getMolten(2592), CustomItemList.ParametrizerTXT_Hatch.get(1), 800, 122880); - //Uncertainty - addAssemblerRecipeWithCleanroom(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), - CustomItemList.DATApipe.get(16), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 16), - GT_Utility.getIntegratedCircuit(4), - }, Materials.Iridium.getMolten(2592), CustomItemList.Uncertainty_Hatch.get(1), 1200, 122880); - - addAssemblerRecipeWithCleanroom(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 1), - CustomItemList.DATApipe.get(32), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 16), - GT_Utility.getIntegratedCircuit(5), - }, Materials.Iridium.getMolten(2592), CustomItemList.UncertaintyX_Hatch.get(1), 1200, 122880); - - //Elemental Input - addAssemblerRecipeWithCleanroom(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Input_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), - ItemList.Sensor_UV.get(1) - }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_in_UV.get(1), 800, 500000); - //Elemental Output - addAssemblerRecipeWithCleanroom(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Output_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), - ItemList.Emitter_UV.get(1) - }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_out_UV.get(1), 800, 500000); - //Overflow - addAssemblerRecipeWithCleanroom(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Muffler_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Naquadah, 1), - 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 - - //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[]{ - ItemList.Machine_HV_Microwave.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16), - ItemList.Upgrade_Overclocker.get(4), - }, Materials.Copper.getMolten(576), CustomItemList.Machine_Multi_Microwave.get(1), 800, 480); - - //Active Transformer - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - getItemContainer("WetTransformer_ZPM_LuV").get(1), - getItemContainer("HighEnergyFlowCircuit").get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, getOrDefault("SuperconductorLuV", Materials.Superconductor), 16), - ItemList.valueOf("Circuit_Chip_UHPIC").get(2), - }, Materials.TungstenSteel.getMolten(576), CustomItemList.Machine_Multi_Transformer.get(1), 400, 30720); - - //Network Switch - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + // Object Holder + GT_Values.RA.addAssemblylineRecipe( + ItemList.Hatch_Input_Bus_ZPM.get(1), + 10000, + new Object[] { + ItemList.Hatch_Input_Bus_ZPM.get(1), + CustomItemList.eM_Computer_Bus.get(1), + ItemList.Emitter_ZPM.get(8), + ItemList.Robot_Arm_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 1}, + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2)}, + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 16)}, + CustomItemList.DATApipe.get(2), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(500), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) + }, + CustomItemList.holder_Hatch.get(1), + 1200, + 100000); + + // Parameterizer + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + CustomItemList.DATApipe.get(4), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + GT_Utility.getIntegratedCircuit(1), + }, + Materials.Iridium.getMolten(2592), + CustomItemList.Parametrizer_Hatch.get(1), + 800, + 122880); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + CustomItemList.DATApipe.get(6), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 32), + GT_Utility.getIntegratedCircuit(2), + }, + Materials.Iridium.getMolten(2592), + CustomItemList.ParametrizerX_Hatch.get(1), + 800, + 122880); + + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 1), + CustomItemList.DATApipe.get(8), + ItemList.Cover_Screen.get(2), + new ItemStack(Blocks.stone_button, 64), + GT_Utility.getIntegratedCircuit(3), + }, + Materials.Iridium.getMolten(2592), + CustomItemList.ParametrizerTXT_Hatch.get(1), + 800, + 122880); + // Uncertainty + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + CustomItemList.DATApipe.get(16), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + GT_Utility.getIntegratedCircuit(4), + }, + Materials.Iridium.getMolten(2592), + CustomItemList.Uncertainty_Hatch.get(1), + 1200, + 122880); + + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 1), + CustomItemList.DATApipe.get(32), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + GT_Utility.getIntegratedCircuit(5), + }, + Materials.Iridium.getMolten(2592), + CustomItemList.UncertaintyX_Hatch.get(1), + 1200, + 122880); + + // Elemental Input + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Input_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), + ItemList.Sensor_UV.get(1) + }, + Materials.Osmiridium.getMolten(1296), + CustomItemList.eM_in_UV.get(1), + 800, + 500000); + // Elemental Output + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Output_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), + ItemList.Emitter_UV.get(1) + }, + Materials.Osmiridium.getMolten(1296), + CustomItemList.eM_out_UV.get(1), + 800, + 500000); + // Overflow + addAssemblerRecipeWithCleanroom( + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Muffler_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Naquadah, 1), + 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 + + // 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[] { + ItemList.Machine_HV_Microwave.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16), + ItemList.Upgrade_Overclocker.get(4), + }, + Materials.Copper.getMolten(576), + CustomItemList.Machine_Multi_Microwave.get(1), + 800, + 480); + + // Active Transformer + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("WetTransformer_ZPM_LuV").get(1), + getItemContainer("HighEnergyFlowCircuit").get(1), + GT_OreDictUnificator.get( + OrePrefixes.wireGt01, getOrDefault("SuperconductorLuV", Materials.Superconductor), 16), + ItemList.valueOf("Circuit_Chip_UHPIC").get(2), + }, + Materials.TungstenSteel.getMolten(576), CustomItemList.Machine_Multi_Transformer.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 4), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 64), - CustomItemList.DATApipe.get(4), - }, Materials.Iridium.getMolten(1296), CustomItemList.Machine_Multi_Switch.get(1), 800, 122880); - - //Quantum Computer - GT_Values.RA.addAssemblylineRecipe(ItemList.Tool_DataOrb.get(1), 20000, new Object[]{ + 400, + 30720); + + // Network Switch + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.Machine_Multi_Transformer.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 64), + CustomItemList.DATApipe.get(4), + }, + Materials.Iridium.getMolten(1296), CustomItemList.Machine_Multi_Switch.get(1), - new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 2}, + 800, + 122880); + + // Quantum Computer + GT_Values.RA.addAssemblylineRecipe( ItemList.Tool_DataOrb.get(1), - ItemList.Cover_Screen.get(1), - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUV, 8)}, - CustomItemList.DATApipe.get(8), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Hydrogen.getGas(1000), - }, CustomItemList.Machine_Multi_Computer.get(1), 12000, 100000); + 20000, + new Object[] { + CustomItemList.Machine_Multi_Switch.get(1), + new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 2}, + ItemList.Tool_DataOrb.get(1), + ItemList.Cover_Screen.get(1), + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUV, 8)}, + CustomItemList.DATApipe.get(8), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Hydrogen.getGas(1000), + }, + CustomItemList.Machine_Multi_Computer.get(1), + 12000, + 100000); + + // Research Station + GT_Values.RA.addAssemblylineRecipe( + getItemContainer("ScannerZPM").get(1), + 80000, + new Object[] { + CustomItemList.Machine_Multi_Switch.get(1), + ItemList.Sensor_ZPM.get(8), + new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 4}, + ItemList.Field_Generator_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4)}, + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 32)}, + CustomItemList.DATApipe.get(16), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_Research.get(1), + 12000, + 100000); - //Research Station - GT_Values.RA.addAssemblylineRecipe(getItemContainer("ScannerZPM").get(1), 80000, new Object[]{ + // Matter Junction + TT_recipeAdder.addResearchableAssemblylineRecipe( CustomItemList.Machine_Multi_Switch.get(1), - ItemList.Sensor_ZPM.get(8), - new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 4}, - ItemList.Field_Generator_ZPM.get(1), - ItemList.Electric_Motor_ZPM.get(2), - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4)}, - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 32)}, - CustomItemList.DATApipe.get(16), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_Research.get(1), 12000, 100000); + 8000, + 32, + 500000, + 4, + new Object[] { + CustomItemList.Machine_Multi_Transformer.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), + ItemList.Robot_Arm_LuV.get(2), + ItemList.Electric_Piston_LuV.get(2), + new Object[] {"circuitSuperconductor", 2}, + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 4), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_EMjunction.get(1), + 12000, + 100000); - //Matter Junction - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Switch.get(1), - 8000, 32, 500000, 4, new Object[]{ - CustomItemList.Machine_Multi_Transformer.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), - ItemList.Robot_Arm_LuV.get(2), - ItemList.Electric_Piston_LuV.get(2), - new Object[]{"circuitSuperconductor", 2}, - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 4), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_EMjunction.get(1), 12000, 100000); - - //Matter Quantizer - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Input_UV.get(1), - 12000, 32, 500000, 6, new Object[]{ - CustomItemList.Machine_Multi_Transformer.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), - ItemList.Emitter_UV.get(2), - new Object[]{"circuitSuperconductor", 1}, - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_MatterToEM.get(1), 12000, 100000); - - //Matter DeQuantizer - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Output_UV.get(1), - 12000, 32, 500000, 6, new Object[]{ - CustomItemList.Machine_Multi_Transformer.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), - ItemList.Sensor_UV.get(2), - new Object[]{"circuitSuperconductor", 1}, - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_EMToMatter.get(1), 12000, 100000); - - //Essentia Quantizer - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_MatterToEM.get(1), - 15000, 32, 500000, 8, new Object[]{ - CustomItemList.Machine_Multi_MatterToEM.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Neutronium, 4), - ItemList.Emitter_UV.get(2), - new Object[]{"circuitSuperconductor", 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 Object[]{ - CustomItemList.Machine_Multi_EMToMatter.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Neutronium, 4), - ItemList.Sensor_UV.get(2), - new Object[]{"circuitSuperconductor", 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[]{ - CustomItemList.Machine_Multi_EMjunction.get(1), - CustomItemList.eM_Computer_Bus.get(4), - ItemList.Field_Generator_UV.get(4), - ItemList.Sensor_UV.get(4), - getItemContainer("NanoCircuit").get(4), - getItemContainer("MysteriousCrystalLens").get(4), - GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Draconium, 4), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(2000), - Materials.Neutronium.getMolten(2592), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), - Materials.Osmiridium.getMolten(1296), - }, CustomItemList.Machine_Multi_Scanner.get(1), 24000, 500000); - - //Multi Infuser - GT_Values.RA.addAssemblylineRecipe(CustomItemList.Machine_Multi_Transformer.get(1), 7500, new ItemStack[]{ - CustomItemList.Machine_Multi_Transformer.get(1), - CustomItemList.eM_Coil.get(8), - CustomItemList.eM_Power.get(8), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), - }, new FluidStack[]{ - Materials.Electrum.getMolten(2592), - Materials.Europium.getMolten(1872), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - }, CustomItemList.Machine_Multi_Infuser.get(1), 8000, 200000); + // Matter Quantizer + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Input_UV.get(1), + 12000, + 32, + 500000, + 6, + new Object[] { + CustomItemList.Machine_Multi_Transformer.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), + ItemList.Emitter_UV.get(2), + new Object[] {"circuitSuperconductor", 1}, + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_MatterToEM.get(1), + 12000, + 100000); + // Matter DeQuantizer + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Output_UV.get(1), + 12000, + 32, + 500000, + 6, + new Object[] { + CustomItemList.Machine_Multi_Transformer.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), + ItemList.Sensor_UV.get(2), + new Object[] {"circuitSuperconductor", 1}, + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_EMToMatter.get(1), + 12000, + 100000); + + // Essentia Quantizer + TT_recipeAdder.addResearchableAssemblylineRecipe( + CustomItemList.Machine_Multi_MatterToEM.get(1), + 15000, + 32, + 500000, + 8, + new Object[] { + CustomItemList.Machine_Multi_MatterToEM.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Neutronium, 4), + ItemList.Emitter_UV.get(2), + new Object[] {"circuitSuperconductor", 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 Object[] { + CustomItemList.Machine_Multi_EMToMatter.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Neutronium, 4), + ItemList.Sensor_UV.get(2), + new Object[] {"circuitSuperconductor", 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[] { + CustomItemList.Machine_Multi_EMjunction.get(1), + CustomItemList.eM_Computer_Bus.get(4), + ItemList.Field_Generator_UV.get(4), + ItemList.Sensor_UV.get(4), + getItemContainer("NanoCircuit").get(4), + getItemContainer("MysteriousCrystalLens").get(4), + GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Draconium, 4), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(2000), + Materials.Neutronium.getMolten(2592), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), + Materials.Osmiridium.getMolten(1296), + }, + CustomItemList.Machine_Multi_Scanner.get(1), + 24000, + 500000); + + // Multi Infuser + GT_Values.RA.addAssemblylineRecipe( + CustomItemList.Machine_Multi_Transformer.get(1), + 7500, + new ItemStack[] { + CustomItemList.Machine_Multi_Transformer.get(1), + CustomItemList.eM_Coil.get(8), + CustomItemList.eM_Power.get(8), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), + }, + new FluidStack[] { + Materials.Electrum.getMolten(2592), + Materials.Europium.getMolten(1872), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + }, + CustomItemList.Machine_Multi_Infuser.get(1), + 8000, + 200000); item_parts_UHV_assline_recipes(); item_parts_UEV_assline_recipes(); @@ -789,386 +2624,535 @@ public class DreamCraftRecipeLoader { add_wireless_energy_recipes(); - //UHV-UMV Energy Hatch & Dynamo - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Energy_UV.get(1L), - 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), - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 2L}, - ItemList.UHV_Coil.get(2L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Electric_Pump_UHV.get(1L)}, - new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000), - new FluidStack(solderIndalloy, 40*144) - }, ItemList.Hatch_Energy_MAX.get(1L), 1000, 2000000); - - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Dynamo_UV.get(1L), - 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), - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 2L}, - ItemList.UHV_Coil.get(2L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Electric_Pump_UHV.get(1L)}, - new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000), - new FluidStack(solderIndalloy, 40*144) - }, - ItemList.Hatch_Dynamo_MAX.get(1L), 1000, 2000000); - - // UEV Dynamo / energy hatch - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Energy_MAX.get(1L), - 48000, 32, 100000, 4, new Object[]{ - getItemContainer("Hull_UEV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUHV, 4L), - ItemList.Circuit_Chip_QPIC.get(4L), - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 2L}, - ItemList.UHV_Coil.get(4L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Electric_Pump_UEV.get(1L)}, - new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000), - new FluidStack(solderUEV, 20*144), - Materials.UUMatter.getFluid(8000L)}, - getItemContainer("Hatch_Energy_UEV").get(1L), 1000, 8000000); - - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Dynamo_MAX.get(1L), - 96000, 64, 200000, 8, new Object[]{ - getItemContainer("Hull_UEV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Longasssuperconductornameforuhvwire, 16L), - ItemList.Circuit_Chip_QPIC.get(4L), - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 2L}, - ItemList.UHV_Coil.get(4L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Electric_Pump_UEV.get(1L)}, - new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000), - new FluidStack(solderUEV, 20*144), - Materials.UUMatter.getFluid(8000L)}, - getItemContainer("Hatch_Dynamo_UEV").get(1L), 1000, 8000000); - - // UIV Dynamo/energy hatch - TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("Hatch_Energy_UEV").get(1L), - 96_000, 64, 200_000, 8, new Object[]{ - getItemContainer("Hull_UIV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUIV, 2L), - ItemList.Circuit_Chip_QPIC.get(4L), - getItemContainer("NanoCircuit").get(2), - ItemList.UHV_Coil.get(8L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Electric_Pump_UIV.get(1L)}, - new FluidStack[]{ - Materials.SuperCoolant.getFluid(16_000L), - new FluidStack(solderUEV, 20*144), - Materials.UUMatter.getFluid(16_000L)}, - getItemContainer("Hatch_Energy_UIV").get(1L), 1000, 32_000_000); - - TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("Hatch_Dynamo_UEV").get(1L), - 192_000, 128, 400_000, 16, new Object[]{ - getItemContainer("Hull_UIV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUIVBase, 8L), - ItemList.Circuit_Chip_QPIC.get(4L), - getItemContainer("NanoCircuit").get(2), - ItemList.UHV_Coil.get(8L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Electric_Pump_UIV.get(1L)}, - new FluidStack[]{ - Materials.SuperCoolant.getFluid(16_000L), - new FluidStack(solderUEV, 20*144), - Materials.UUMatter.getFluid(16_000L)}, - getItemContainer("Hatch_Dynamo_UIV").get(1L), 1000, 32_000_000); - - // UMV Dynamo/energy hatch - TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("Hatch_Energy_UIV").get(1L), - 192000, 128, 400000, 16, new Object[]{ - getItemContainer("Hull_UMV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUMV, 2L), - ItemList.Circuit_Chip_QPIC.get(4L), - getItemContainer("PikoCircuit").get(2), - ItemList.UHV_Coil.get(16L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Electric_Pump_UMV.get(1L)}, - new FluidStack[]{ - Materials.SuperCoolant.getFluid(32_000L), - new FluidStack(solderUEV, 40*144), - Materials.UUMatter.getFluid(32000L)}, - getItemContainer("Hatch_Energy_UMV").get(1L), 1000, 128_000_000); - - TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("Hatch_Dynamo_UIV").get(1L), - 384000, 256, 800000, 32, new Object[]{ - getItemContainer("Hull_UMV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUMVBase, 8L), - ItemList.Circuit_Chip_QPIC.get(4L), - getItemContainer("PikoCircuit").get(2), - ItemList.UHV_Coil.get(16L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Electric_Pump_UMV.get(1L)}, - new FluidStack[]{ - Materials.SuperCoolant.getFluid(32_000L), - new FluidStack(solderUEV, 40*144), - Materials.UUMatter.getFluid(32000L)}, - getItemContainer("Hatch_Dynamo_UMV").get(1L), 1000, 128_000_000); - - //UHV Circuit Wetwaremainframe - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Circuit_Wetwaresupercomputer.get(1L), - 24000, 64, 50000, 4, new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 2), - ItemList.Circuit_Wetwaresupercomputer.get(2L), - ItemList.ZPM_Coil.get(16L), - new ItemStack[]{ItemList.Circuit_Parts_CapacitorASMD.get(16L), ItemList.Circuit_Parts_CapacitorXSMD.get(4L)}, - new ItemStack[]{ItemList.Circuit_Parts_ResistorASMD.get(16L), ItemList.Circuit_Parts_ResistorXSMD.get(4L)}, - new ItemStack[]{ItemList.Circuit_Parts_TransistorASMD.get(16L), ItemList.Circuit_Parts_TransistorXSMD.get(4L)}, - new ItemStack[]{ItemList.Circuit_Parts_DiodeASMD.get(16L), ItemList.Circuit_Parts_DiodeXSMD.get(4L)}, - ItemList.Circuit_Chip_Ram.get(48L), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 64L), - new Object[]{OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, - }, new FluidStack[]{ - new FluidStack(solderIndalloy, 2880), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 10000), - Materials.Radon.getGas(2500L), - }, ItemList.Circuit_Wetwaremainframe.get(1L), 2000, 300000); + // UHV-UMV Energy Hatch & Dynamo + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Energy_UV.get(1L), + 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), + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 2L}, + ItemList.UHV_Coil.get(2L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Electric_Pump_UHV.get(1L) + }, + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000), + new FluidStack(solderIndalloy, 40 * 144) + }, + ItemList.Hatch_Energy_MAX.get(1L), + 1000, + 2000000); - // Bioware circuits. - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Circuit_Biowarecomputer.get(1L), - 48000, 128, 500000, 8, new Object[]{ - ItemList.Circuit_Board_Bio_Ultra.get(2L), - ItemList.Circuit_Biowarecomputer.get(2L), - new ItemStack[]{ItemList.Circuit_Parts_TransistorASMD.get(16L), ItemList.Circuit_Parts_TransistorXSMD.get(4L)}, - new ItemStack[]{ItemList.Circuit_Parts_ResistorASMD.get(16L), ItemList.Circuit_Parts_ResistorXSMD.get(4L)}, - new ItemStack[]{ItemList.Circuit_Parts_CapacitorASMD.get(16L), ItemList.Circuit_Parts_CapacitorXSMD.get(4L)}, - new ItemStack[]{ItemList.Circuit_Parts_DiodeASMD.get(16L), ItemList.Circuit_Parts_DiodeXSMD.get(4L)}, - ItemList.Circuit_Chip_NOR.get(32L), - ItemList.Circuit_Chip_Ram.get(64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.NiobiumTitanium, 32L), - new Object[]{OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, - }, new FluidStack[]{ - new FluidStack(solderUEV, 1440), - Materials.BioMediumSterilized.getFluid(1440L), - Materials.SuperCoolant.getFluid(10_000L), - }, - ItemList.Circuit_Biowaresupercomputer.get(1L), 4000, 500000); + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Dynamo_UV.get(1L), + 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), + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 2L}, + ItemList.UHV_Coil.get(2L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Electric_Pump_UHV.get(1L) + }, + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000), + new FluidStack(solderIndalloy, 40 * 144) + }, + ItemList.Hatch_Dynamo_MAX.get(1L), + 1000, + 2000000); - // Bio - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Circuit_Biowaresupercomputer.get(1L), - 96000, 256, 1000000, 16, new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 4L), - ItemList.Circuit_Biowaresupercomputer.get(2L), - ItemList.UV_Coil.get(16L), - new ItemStack[]{ItemList.Circuit_Parts_TransistorASMD.get(24L), ItemList.Circuit_Parts_TransistorXSMD.get(6L)}, - new ItemStack[]{ItemList.Circuit_Parts_ResistorASMD.get(24L), ItemList.Circuit_Parts_ResistorXSMD.get(6L)}, - new ItemStack[]{ItemList.Circuit_Parts_CapacitorASMD.get(24L), ItemList.Circuit_Parts_CapacitorXSMD.get(6L)}, - new ItemStack[]{ItemList.Circuit_Parts_DiodeASMD.get(24L), ItemList.Circuit_Parts_DiodeXSMD.get(6L)}, - ItemList.Circuit_Chip_Ram.get(64L), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 64), - new Object[]{OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Polybenzimidazole, 64) - }, new FluidStack[]{ - new FluidStack(solderUEV, 2880), - Materials.BioMediumSterilized.getFluid(2880L), - Materials.SuperCoolant.getFluid(20_000L), - }, ItemList.Circuit_Biomainframe.get(1L), 6000, 2000000); + // UEV Dynamo / energy hatch + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Energy_MAX.get(1L), + 48000, + 32, + 100000, + 4, + new Object[] { + getItemContainer("Hull_UEV").get(1L), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUHV, 4L), + ItemList.Circuit_Chip_QPIC.get(4L), + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 2L}, + ItemList.UHV_Coil.get(4L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Electric_Pump_UEV.get(1L) + }, + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000), + new FluidStack(solderUEV, 20 * 144), + Materials.UUMatter.getFluid(8000L) + }, + getItemContainer("Hatch_Energy_UEV").get(1L), + 1000, + 8000000); + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Dynamo_MAX.get(1L), + 96000, + 64, + 200000, + 8, + new Object[] { + getItemContainer("Hull_UEV").get(1L), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Longasssuperconductornameforuhvwire, 16L), + ItemList.Circuit_Chip_QPIC.get(4L), + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 2L}, + ItemList.UHV_Coil.get(4L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Electric_Pump_UEV.get(1L) + }, + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000), + new FluidStack(solderUEV, 20 * 144), + Materials.UUMatter.getFluid(8000L) + }, + getItemContainer("Hatch_Dynamo_UEV").get(1L), + 1000, + 8000000); - // GTNH UIV, UMV, UXV Circuits - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Circuit_Biomainframe.get(1L), - 192000, 512, 2000000, 32, new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 8), - ItemList.Circuit_Biomainframe.get(2L), - ItemList.Circuit_Parts_CapacitorXSMD.get(32L), - ItemList.Circuit_Parts_ResistorXSMD.get(32L), - ItemList.Circuit_Parts_TransistorXSMD.get(32L), - ItemList.Circuit_Parts_DiodeXSMD.get(32L), - 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), - new Object[]{OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Polybenzimidazole, 64) - }, new FluidStack[]{ - new FluidStack(solderUEV, 3744), - Materials.Naquadria.getMolten(4032L), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 20000) - }, getItemContainer("NanoCircuit").get(1L), 8000, 32_000_000); - - - TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("NanoCircuit").get(1L), - 384000, 1024, 4000000, 64, new ItemStack[]{ - ItemList.Circuit_Board_Bio_Ultra.get(1L), - getItemContainer("PicoWafer").get(4L), - getItemContainer("NanoCircuit").get(2L), - ItemList.Circuit_Parts_TransistorXSMD.get(48L), - ItemList.Circuit_Parts_ResistorXSMD.get(48L), - ItemList.Circuit_Parts_CapacitorXSMD.get(48L), - ItemList.Circuit_Parts_DiodeXSMD.get(48L), - 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[]{ - new FluidStack(solderUEV, 3744), - Materials.UUMatter.getFluid(8000L), - Materials.Osmium.getMolten(1152L) - }, getItemContainer("PikoCircuit").get(1L), 10000, 128_000_000); - - - TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("PikoCircuit").get(1L), - 720000, 2048, 8000000, 128, new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 16), - getItemContainer("PikoCircuit").get(2L), - ItemList.Circuit_Parts_CapacitorXSMD.get(64L), - ItemList.Circuit_Parts_DiodeXSMD.get(64L), - ItemList.Circuit_Parts_TransistorXSMD.get(64L), - ItemList.Circuit_Parts_ResistorXSMD.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.SpaceTime, 8), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Lanthanum, 64) - }, new FluidStack[]{ - new FluidStack(solderUEV, 3744), - Materials.UUMatter.getFluid(24000L), - Materials.Osmium.getMolten(2304L) - }, getItemContainer("QuantumCircuit").get(1L), 20000, 512_000_000); - - - //Stargate Recipes - if (Loader.isModLoaded("eternalsingularity") && Loader.isModLoaded("SGCraft")) { - TT_recipeAdder.addResearchableAssemblylineRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 1L), - 2_000_000_000, 32768, 500_000_000, 64, new ItemStack[]{ + // UIV Dynamo/energy hatch + TT_recipeAdder.addResearchableAssemblylineRecipe( + getItemContainer("Hatch_Energy_UEV").get(1L), + 96_000, + 64, + 200_000, + 8, + new Object[] { + getItemContainer("Hull_UIV").get(1L), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUIV, 2L), + ItemList.Circuit_Chip_QPIC.get(4L), + getItemContainer("NanoCircuit").get(2), + ItemList.UHV_Coil.get(8L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Electric_Pump_UIV.get(1L) + }, + new FluidStack[] { + Materials.SuperCoolant.getFluid(16_000L), + new FluidStack(solderUEV, 20 * 144), + Materials.UUMatter.getFluid(16_000L) + }, + getItemContainer("Hatch_Energy_UIV").get(1L), + 1000, + 32_000_000); + + TT_recipeAdder.addResearchableAssemblylineRecipe( + getItemContainer("Hatch_Dynamo_UEV").get(1L), + 192_000, + 128, + 400_000, + 16, + new Object[] { + getItemContainer("Hull_UIV").get(1L), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUIVBase, 8L), + ItemList.Circuit_Chip_QPIC.get(4L), + getItemContainer("NanoCircuit").get(2), + ItemList.UHV_Coil.get(8L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Electric_Pump_UIV.get(1L) + }, + new FluidStack[] { + Materials.SuperCoolant.getFluid(16_000L), + new FluidStack(solderUEV, 20 * 144), + Materials.UUMatter.getFluid(16_000L) + }, + getItemContainer("Hatch_Dynamo_UIV").get(1L), + 1000, + 32_000_000); + + // UMV Dynamo/energy hatch + TT_recipeAdder.addResearchableAssemblylineRecipe( + getItemContainer("Hatch_Energy_UIV").get(1L), + 192000, + 128, + 400000, + 16, + new Object[] { + getItemContainer("Hull_UMV").get(1L), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUMV, 2L), + ItemList.Circuit_Chip_QPIC.get(4L), + getItemContainer("PikoCircuit").get(2), + ItemList.UHV_Coil.get(16L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Electric_Pump_UMV.get(1L) + }, + new FluidStack[] { + Materials.SuperCoolant.getFluid(32_000L), + new FluidStack(solderUEV, 40 * 144), + Materials.UUMatter.getFluid(32000L) + }, + getItemContainer("Hatch_Energy_UMV").get(1L), + 1000, + 128_000_000); - ItemList.Casing_Dim_Bridge.get(64), - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), + TT_recipeAdder.addResearchableAssemblylineRecipe( + getItemContainer("Hatch_Dynamo_UIV").get(1L), + 384000, + 256, + 800000, + 32, + new Object[] { + getItemContainer("Hull_UMV").get(1L), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUMVBase, 8L), + ItemList.Circuit_Chip_QPIC.get(4L), + getItemContainer("PikoCircuit").get(2), + ItemList.UHV_Coil.get(16L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Electric_Pump_UMV.get(1L) + }, + new FluidStack[] { + Materials.SuperCoolant.getFluid(32_000L), + new FluidStack(solderUEV, 40 * 144), + Materials.UUMatter.getFluid(32000L) + }, + getItemContainer("Hatch_Dynamo_UMV").get(1L), + 1000, + 128_000_000); - GT_OreDictUnificator.get(OrePrefixes.block, Materials.SpaceTime, 16L), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Quantum, 16L), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.SpaceTime, 16L), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 16L), + // UHV Circuit Wetwaremainframe + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Circuit_Wetwaresupercomputer.get(1L), + 24000, + 64, + 50000, + 4, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 2), + ItemList.Circuit_Wetwaresupercomputer.get(2L), + ItemList.ZPM_Coil.get(16L), + new ItemStack[] { + ItemList.Circuit_Parts_CapacitorASMD.get(16L), ItemList.Circuit_Parts_CapacitorXSMD.get(4L) + }, + new ItemStack[] { + ItemList.Circuit_Parts_ResistorASMD.get(16L), ItemList.Circuit_Parts_ResistorXSMD.get(4L) + }, + new ItemStack[] { + ItemList.Circuit_Parts_TransistorASMD.get(16L), ItemList.Circuit_Parts_TransistorXSMD.get(4L) + }, + new ItemStack[] {ItemList.Circuit_Parts_DiodeASMD.get(16L), ItemList.Circuit_Parts_DiodeXSMD.get(4L) + }, + ItemList.Circuit_Chip_Ram.get(48L), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 64L), + new Object[] {OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, + }, + new FluidStack[] { + new FluidStack(solderIndalloy, 2880), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 10000), + Materials.Radon.getGas(2500L), + }, + ItemList.Circuit_Wetwaremainframe.get(1L), + 2000, + 300000); - ItemList.Sensor_UMV.get(16L), - ItemList.Emitter_UMV.get(16L), - GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 16L) + // Bioware circuits. + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Circuit_Biowarecomputer.get(1L), + 48000, + 128, + 500000, + 8, + new Object[] { + ItemList.Circuit_Board_Bio_Ultra.get(2L), + ItemList.Circuit_Biowarecomputer.get(2L), + new ItemStack[] { + ItemList.Circuit_Parts_TransistorASMD.get(16L), ItemList.Circuit_Parts_TransistorXSMD.get(4L) + }, + new ItemStack[] { + ItemList.Circuit_Parts_ResistorASMD.get(16L), ItemList.Circuit_Parts_ResistorXSMD.get(4L) + }, + new ItemStack[] { + ItemList.Circuit_Parts_CapacitorASMD.get(16L), ItemList.Circuit_Parts_CapacitorXSMD.get(4L) + }, + new ItemStack[] {ItemList.Circuit_Parts_DiodeASMD.get(16L), ItemList.Circuit_Parts_DiodeXSMD.get(4L) + }, + ItemList.Circuit_Chip_NOR.get(32L), + ItemList.Circuit_Chip_Ram.get(64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.NiobiumTitanium, 32L), + new Object[] {OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, + }, + new FluidStack[] { + new FluidStack(solderUEV, 1440), + Materials.BioMediumSterilized.getFluid(1440L), + Materials.SuperCoolant.getFluid(10_000L), + }, + ItemList.Circuit_Biowaresupercomputer.get(1L), + 4000, + 500000); + // Bio + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Circuit_Biowaresupercomputer.get(1L), + 96000, + 256, + 1000000, + 16, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 4L), + ItemList.Circuit_Biowaresupercomputer.get(2L), + ItemList.UV_Coil.get(16L), + new ItemStack[] { + ItemList.Circuit_Parts_TransistorASMD.get(24L), ItemList.Circuit_Parts_TransistorXSMD.get(6L) }, - new FluidStack[]{ - Materials.Neutronium.getMolten(32_768_000L), - Materials.SpaceTime.getMolten(4*36864L), - Materials.SuperconductorUMVBase.getMolten(4*36864L), - Materials.ExcitedDTEC.getFluid(4*36864L) + new ItemStack[] { + ItemList.Circuit_Parts_ResistorASMD.get(24L), ItemList.Circuit_Parts_ResistorXSMD.get(6L) }, - getItemContainer("StargateShieldingFoil").get(1L), 72_000, 500_000_000); - - TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("StargateShieldingFoil").get(1L), - 2_000_000_000, 32_768, 500_000_000, 64, new ItemStack[]{ - - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.block, Materials.NaquadahAlloy, 64L), - ItemList.Casing_Dim_Bridge.get(64), - ItemList.Casing_Dim_Bridge.get(64), - - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 16L), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 16L), - GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Ruby, 16L), - GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Jasper, 16L), - - GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Opal, 16L), - GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Sapphire, 16L), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmiridium, 8L), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmiridium, 8L), - - ItemList.Electric_Motor_UMV.get(64L), - ItemList.Electric_Piston_UMV.get(64L), - ItemList.Field_Generator_UMV.get(16L), - getItemContainer("QuantumCircuit").get(1L).splitStack(32), + new ItemStack[] { + ItemList.Circuit_Parts_CapacitorASMD.get(24L), ItemList.Circuit_Parts_CapacitorXSMD.get(6L) }, - new FluidStack[]{ - Materials.Neutronium.getMolten(32_768_000L), - Materials.SpaceTime.getMolten(4*36864L), - Materials.SuperconductorUMVBase.getMolten(4*36864L), - Materials.ExcitedDTEC.getFluid(4*36864L) + new ItemStack[] {ItemList.Circuit_Parts_DiodeASMD.get(24L), ItemList.Circuit_Parts_DiodeXSMD.get(6L) }, - getItemContainer("StargateChevron").get(1L), 72_000, 500_000_000); + ItemList.Circuit_Chip_Ram.get(64L), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 64), + new Object[] {OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Polybenzimidazole, 64) + }, + new FluidStack[] { + new FluidStack(solderUEV, 2880), + Materials.BioMediumSterilized.getFluid(2880L), + Materials.SuperCoolant.getFluid(20_000L), + }, + ItemList.Circuit_Biomainframe.get(1L), + 6000, + 2000000); - TT_recipeAdder.addResearchableAssemblylineRecipe(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), - 2_000_000_000, 32_768, 500_000_000, 64, new ItemStack[]{ + // GTNH UIV, UMV, UXV Circuits + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Circuit_Biomainframe.get(1L), + 192000, + 512, + 2000000, + 32, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 8), + ItemList.Circuit_Biomainframe.get(2L), + ItemList.Circuit_Parts_CapacitorXSMD.get(32L), + ItemList.Circuit_Parts_ResistorXSMD.get(32L), + ItemList.Circuit_Parts_TransistorXSMD.get(32L), + ItemList.Circuit_Parts_DiodeXSMD.get(32L), + 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), + new Object[] {OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L}, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Polybenzimidazole, 64) + }, + new FluidStack[] { + new FluidStack(solderUEV, 3744), + Materials.Naquadria.getMolten(4032L), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 20000) + }, + getItemContainer("NanoCircuit").get(1L), + 8000, + 32_000_000); - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahAlloy, 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.CosmicNeutronium, 64L), + TT_recipeAdder.addResearchableAssemblylineRecipe( + getItemContainer("NanoCircuit").get(1L), + 384000, + 1024, + 4000000, + 64, + new ItemStack[] { + ItemList.Circuit_Board_Bio_Ultra.get(1L), + getItemContainer("PicoWafer").get(4L), + getItemContainer("NanoCircuit").get(2L), + ItemList.Circuit_Parts_TransistorXSMD.get(48L), + ItemList.Circuit_Parts_ResistorXSMD.get(48L), + ItemList.Circuit_Parts_CapacitorXSMD.get(48L), + ItemList.Circuit_Parts_DiodeXSMD.get(48L), + 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[] { + new FluidStack(solderUEV, 3744), + Materials.UUMatter.getFluid(8000L), + Materials.Osmium.getMolten(1152L) + }, + getItemContainer("PikoCircuit").get(1L), + 10000, + 128_000_000); - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Neutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Osmiridium, 64L), - GT_ModHandler.getModItem("bartworks", "gt.bwMetaGeneratedstickLong", 64L, 39), - GT_ModHandler.getModItem("miscutils", "itemRodLongQuantum", 64L), + TT_recipeAdder.addResearchableAssemblylineRecipe( + getItemContainer("PikoCircuit").get(1L), + 720000, + 2048, + 8000000, + 128, + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 16), + getItemContainer("PikoCircuit").get(2L), + ItemList.Circuit_Parts_CapacitorXSMD.get(64L), + ItemList.Circuit_Parts_DiodeXSMD.get(64L), + ItemList.Circuit_Parts_TransistorXSMD.get(64L), + ItemList.Circuit_Parts_ResistorXSMD.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.SpaceTime, 8), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Lanthanum, 64) + }, + new FluidStack[] { + new FluidStack(solderUEV, 3744), + Materials.UUMatter.getFluid(24000L), + Materials.Osmium.getMolten(2304L) + }, + getItemContainer("QuantumCircuit").get(1L), + 20000, + 512_000_000); - GT_ModHandler.getModItem("miscutils", "itemRodLongHypogen", 64L), - GT_ModHandler.getModItem("miscutils", "itemRodLongCelestialTungsten", 64L), - GT_ModHandler.getModItem("bartworks", "gt.bwMetaGeneratedstickLong", 64L, 10106), - GT_ModHandler.getModItem("miscutils", "itemRodLongAstralTitanium", 64L), + // Stargate Recipes + if (Loader.isModLoaded("eternalsingularity") && Loader.isModLoaded("SGCraft")) { + TT_recipeAdder.addResearchableAssemblylineRecipe( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 1L), + 2_000_000_000, + 32768, + 500_000_000, + 64, + new ItemStack[] { + ItemList.Casing_Dim_Bridge.get(64), + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.block, Materials.SpaceTime, 16L), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Quantum, 16L), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.SpaceTime, 16L), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 16L), + ItemList.Sensor_UMV.get(16L), + ItemList.Emitter_UMV.get(16L), + GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 16L) + }, + new FluidStack[] { + Materials.Neutronium.getMolten(32_768_000L), + Materials.SpaceTime.getMolten(4 * 36864L), + Materials.SuperconductorUMVBase.getMolten(4 * 36864L), + Materials.ExcitedDTEC.getFluid(4 * 36864L) + }, + getItemContainer("StargateShieldingFoil").get(1L), + 72_000, + 500_000_000); - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SuperconductorUMVBase, 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Sunnarium, 64L), - GT_ModHandler.getModItem("miscutils", "itemRodLongAbyssalAlloy", 64L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TranscendentMetal, 64L), + TT_recipeAdder.addResearchableAssemblylineRecipe( + getItemContainer("StargateShieldingFoil").get(1L), + 2_000_000_000, + 32_768, + 500_000_000, + 64, + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.block, Materials.NaquadahAlloy, 64L), + ItemList.Casing_Dim_Bridge.get(64), + ItemList.Casing_Dim_Bridge.get(64), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 16L), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 16L), + GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Ruby, 16L), + GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Jasper, 16L), + GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Opal, 16L), + GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Sapphire, 16L), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmiridium, 8L), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmiridium, 8L), + ItemList.Electric_Motor_UMV.get(64L), + ItemList.Electric_Piston_UMV.get(64L), + ItemList.Field_Generator_UMV.get(16L), + getItemContainer("QuantumCircuit").get(1L).splitStack(32), + }, + new FluidStack[] { + Materials.Neutronium.getMolten(32_768_000L), + Materials.SpaceTime.getMolten(4 * 36864L), + Materials.SuperconductorUMVBase.getMolten(4 * 36864L), + Materials.ExcitedDTEC.getFluid(4 * 36864L) + }, + getItemContainer("StargateChevron").get(1L), + 72_000, + 500_000_000); + TT_recipeAdder.addResearchableAssemblylineRecipe( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), + 2_000_000_000, + 32_768, + 500_000_000, + 64, + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahAlloy, 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.CosmicNeutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Neutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Osmiridium, 64L), + GT_ModHandler.getModItem("bartworks", "gt.bwMetaGeneratedstickLong", 64L, 39), + GT_ModHandler.getModItem("miscutils", "itemRodLongQuantum", 64L), + GT_ModHandler.getModItem("miscutils", "itemRodLongHypogen", 64L), + GT_ModHandler.getModItem("miscutils", "itemRodLongCelestialTungsten", 64L), + GT_ModHandler.getModItem("bartworks", "gt.bwMetaGeneratedstickLong", 64L, 10106), + GT_ModHandler.getModItem("miscutils", "itemRodLongAstralTitanium", 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SuperconductorUMVBase, 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Sunnarium, 64L), + GT_ModHandler.getModItem("miscutils", "itemRodLongAbyssalAlloy", 64L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TranscendentMetal, 64L), }, - new FluidStack[]{ - Materials.Neutronium.getMolten(32_768_000L), - Materials.SpaceTime.getMolten(4*36864L), - Materials.SuperconductorUMVBase.getMolten(4*36864L), - Materials.ExcitedDTEC.getFluid(4*36864L) + new FluidStack[] { + Materials.Neutronium.getMolten(32_768_000L), + Materials.SpaceTime.getMolten(4 * 36864L), + Materials.SuperconductorUMVBase.getMolten(4 * 36864L), + Materials.ExcitedDTEC.getFluid(4 * 36864L) }, - getItemContainer("StargateFramePart").get(1L), 72_000, 500_000_000); + getItemContainer("StargateFramePart").get(1L), + 72_000, + 500_000_000); } // Dimensionally Transcendent Plasma Forge (DTPF) @@ -1176,724 +3160,990 @@ public class DreamCraftRecipeLoader { if (Loader.isModLoaded("eternalsingularity")) { // DTPF Controller. - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Dim_Bridge.get(1), - 32_000_000, 4096, 32_000_000, 1, new Object[]{ - ItemList.Casing_Dim_Bridge.get(4), - GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 16L, 12730), - getItemContainer("Hatch_Energy_UEV").get(4L), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUEV, 6), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - ItemList.Reactor_Coolant_Sp_6.get(1L), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 20), - ItemList.Field_Generator_UEV.get(4), - GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 4L), - GT_ModHandler.getModItem("miscutils", "MU-metaitem.01", 1L, 32105), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 64L), - ItemList.Electric_Pump_UEV.get(4), - ItemList.ZPM3.get(1), - GT_ModHandler.getModItem("IC2", "blockMachine2", 1, 0) + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Casing_Dim_Bridge.get(1), + 32_000_000, + 4096, + 32_000_000, + 1, + new Object[] { + ItemList.Casing_Dim_Bridge.get(4), + GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 16L, 12730), + getItemContainer("Hatch_Energy_UEV").get(4L), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUEV, 6), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + ItemList.Reactor_Coolant_Sp_6.get(1L), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 20), + ItemList.Field_Generator_UEV.get(4), + GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 4L), + GT_ModHandler.getModItem("miscutils", "MU-metaitem.01", 1L, 32105), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 64L), + ItemList.Electric_Pump_UEV.get(4), + ItemList.ZPM3.get(1), + GT_ModHandler.getModItem("IC2", "blockMachine2", 1, 0) }, - new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("oganesson"), 128000), - new FluidStack(solderUEV, 36864*2), - new FluidStack(FluidRegistry.getFluid("molten.californium"), 36864), - Materials.NaquadahEnriched.getMolten(36864L) + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("oganesson"), 128000), + new FluidStack(solderUEV, 36864 * 2), + new FluidStack(FluidRegistry.getFluid("molten.californium"), 36864), + Materials.NaquadahEnriched.getMolten(36864L) }, - ItemList.Machine_Multi_PlasmaForge.get(1), 72000, 32_000_000); + ItemList.Machine_Multi_PlasmaForge.get(1), + 72000, + 32_000_000); // Dimensional bridge. - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Dim_Injector.get(1), - 8_000_000, 4096, 32_000_000, 1, new Object[]{ - ItemList.Casing_Dim_Trans.get(1), - ItemList.MicroTransmitter_UV.get(1), - new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 2L}, - GT_ModHandler.getModItem("Avaritia", "Singularity", 2L, 0), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 6), - GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 2, 0), - ItemList.Field_Generator_UHV.get(1L) + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Casing_Dim_Injector.get(1), + 8_000_000, + 4096, + 32_000_000, + 1, + new Object[] { + ItemList.Casing_Dim_Trans.get(1), + ItemList.MicroTransmitter_UV.get(1), + new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 2L}, + GT_ModHandler.getModItem("Avaritia", "Singularity", 2L, 0), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 6), + GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 2, 0), + ItemList.Field_Generator_UHV.get(1L) }, - new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("oganesson"), 8000), - new FluidStack(solderUEV, 1152*8), - Materials.NaquadahEnriched.getMolten(1296L) + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("oganesson"), 8000), + new FluidStack(solderUEV, 1152 * 8), + Materials.NaquadahEnriched.getMolten(1296L) }, - ItemList.Casing_Dim_Bridge.get(1), 240*20, 32_000_000); + ItemList.Casing_Dim_Bridge.get(1), + 240 * 20, + 32_000_000); // Dimensional injection casing. - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Dim_Trans.get(1), - 2_000_000, 2048, 32_000_000, 1, new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 4), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Ledox, 1), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.CallistoIce, 1), - ItemList.Reactor_Coolant_Sp_6.get(1L), - GT_ModHandler.getModItem("miscutils", "itemScrewLaurenium", 12, 0), - new Object[]{OrePrefixes.circuit.get(Materials.Elite), 2L}, - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 2), - ItemList.Super_Chest_IV.get(1), - ItemList.Super_Tank_IV.get(1), - GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 1, 0), + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Casing_Dim_Trans.get(1), + 2_000_000, + 2048, + 32_000_000, + 1, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 4), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Ledox, 1), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.CallistoIce, 1), + ItemList.Reactor_Coolant_Sp_6.get(1L), + GT_ModHandler.getModItem("miscutils", "itemScrewLaurenium", 12, 0), + new Object[] {OrePrefixes.circuit.get(Materials.Elite), 2L}, + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 2), + ItemList.Super_Chest_IV.get(1), + ItemList.Super_Tank_IV.get(1), + GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 1, 0), }, - new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("oganesson"), 1000), - new FluidStack(solderUEV, 576), - Materials.NaquadahEnriched.getMolten(288L) + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("oganesson"), 1000), + new FluidStack(solderUEV, 576), + Materials.NaquadahEnriched.getMolten(288L) }, - ItemList.Casing_Dim_Injector.get(1), 20*20, 32_000_000); + ItemList.Casing_Dim_Injector.get(1), + 20 * 20, + 32_000_000); // Dimensionally Transcendent Casing. - TT_recipeAdder.addResearchableAssemblylineRecipe(GT_ModHandler.getModItem("Avaritia", "Singularity", 1L, 0), - 2_000_000, 2048, 32_000_000, 1, new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 6), - GT_ModHandler.getModItem("miscutils", "itemScrewLaurenium", 12, 0), - ItemList.Reactor_Coolant_Sp_6.get(1L), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 1), + TT_recipeAdder.addResearchableAssemblylineRecipe( + GT_ModHandler.getModItem("Avaritia", "Singularity", 1L, 0), + 2_000_000, + 2048, + 32_000_000, + 1, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 6), + GT_ModHandler.getModItem("miscutils", "itemScrewLaurenium", 12, 0), + ItemList.Reactor_Coolant_Sp_6.get(1L), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 1), }, - new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("oganesson"), 500), - new FluidStack(solderUEV, 288), - Materials.NaquadahEnriched.getMolten(144L) + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("oganesson"), 500), + new FluidStack(solderUEV, 288), + Materials.NaquadahEnriched.getMolten(144L) }, - ItemList.Casing_Dim_Trans.get(1), 20*20, 32_000_000); - - + ItemList.Casing_Dim_Trans.get(1), + 20 * 20, + 32_000_000); } Fluid oganesson = FluidRegistry.getFluid("oganesson"); - //Deep Dark Portal - TT_recipeAdder.addResearchableAssemblylineRecipe(GT_ModHandler.getModItem("dreamcraft", "item.HeavyDutyPlateTier8", 1, 0), - 16_777_216, 2048, 2_000_000, 64, new Object[]{ - GT_ModHandler.getModItem("ExtraUtilities", "cobblestone_compressed", 1, 7), - GT_ModHandler.getModItem("IC2", "blockMachine2", 1, 0), - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 4L), - new Object[]{OrePrefixes.circuit.get(Materials.Quantum), 1}, - new Object[]{OrePrefixes.circuit.get(Materials.Quantum), 1}, - new Object[]{OrePrefixes.circuit.get(Materials.Quantum), 1}, - new Object[]{OrePrefixes.circuit.get(Materials.Quantum), 1}, - GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 32, 0), - ItemList.Robot_Arm_UMV.get(4), - ItemList.Emitter_UMV.get(4), - ItemList.Sensor_UMV.get(4), - }, new FluidStack[]{ - oganesson != null ? new FluidStack(oganesson, 50000) : null, - Materials.Infinity.getMolten(144L*512), - Materials.Cheese.getMolten(232000L), - }, ItemList.Block_BedrockiumCompressed.get(1), 10000, 5000000); - - //Debug maintenance hatch - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_AutoMaintenance.get(1L), - 2764800, 128, 500000, 6, new Object[]{ - ItemList.Hatch_AutoMaintenance.get(1L), - ItemList.Robot_Arm_UV.get(1L), - ItemList.Electric_Pump_UV.get(1L), - ItemList.Conveyor_Module_UV.get(1L), - new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 4L}, - ItemList.Energy_LapotronicOrb2.get(1L), - ItemList.Duct_Tape.get(64L), - ItemList.Duct_Tape.get(64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64L), - }, new FluidStack[]{ - Materials.Lubricant.getFluid(256000), - new FluidStack(solderIndalloy, 1296), - }, CustomItemList.hatch_CreativeMaintenance.get(1), 6000, 500000); - - //Batteries - 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), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L}, - ItemList.Energy_Cluster.get(8L), - ItemList.Field_Generator_UV.get(2), - ItemList.Circuit_Wafer_HPIC.get(64), - ItemList.Circuit_Wafer_HPIC.get(64), - ItemList.Circuit_Parts_DiodeASMD.get(32), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 32), - }, new FluidStack[]{ - new FluidStack(solderIndalloy, 2880), - 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[]{ - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L), - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - ItemList.ZPM2.get(8), - ItemList.Field_Generator_UHV.get(4), - ItemList.Circuit_Wafer_UHPIC.get(64), - ItemList.Circuit_Wafer_UHPIC.get(64), - ItemList.Circuit_Wafer_SoC2.get(32), - ItemList.Circuit_Parts_DiodeASMD.get(64), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 64), - }, new FluidStack[]{ - new FluidStack(solderUEV, 4608), - Materials.Naquadria.getMolten(9216), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000) - }, ItemList.ZPM3.get(1), 4000, 1600000); + // Deep Dark Portal + TT_recipeAdder.addResearchableAssemblylineRecipe( + GT_ModHandler.getModItem("dreamcraft", "item.HeavyDutyPlateTier8", 1, 0), + 16_777_216, + 2048, + 2_000_000, + 64, + new Object[] { + GT_ModHandler.getModItem("ExtraUtilities", "cobblestone_compressed", 1, 7), + GT_ModHandler.getModItem("IC2", "blockMachine2", 1, 0), + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 4L), + new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 1}, + new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 1}, + new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 1}, + new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 1}, + GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 32, 0), + ItemList.Robot_Arm_UMV.get(4), + ItemList.Emitter_UMV.get(4), + ItemList.Sensor_UMV.get(4), + }, + new FluidStack[] { + oganesson != null ? new FluidStack(oganesson, 50000) : null, + Materials.Infinity.getMolten(144L * 512), + Materials.Cheese.getMolten(232000L), + }, + ItemList.Block_BedrockiumCompressed.get(1), + 10000, + 5000000); - // MK4 Computer - TT_recipeAdder.addResearchableAssemblylineRecipe(GregtechItemList.Compressed_Fusion_Reactor.get(1), - 320000, 512, 2000000, 1, new Object[]{ - GregtechItemList.Casing_Fusion_Internal.get(1), - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Neutronium, 4), - ItemList.Field_Generator_UHV.get(2), - ItemList.Circuit_Wafer_QPIC.get(64), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Longasssuperconductornameforuhvwire, 32), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(50000), - ALLOY.CINOBITE.getFluidStack(9216), - ALLOY.OCTIRON.getFluidStack(9216), - ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(9216), - }, GregtechItemList.FusionComputer_UV2.get(1), 6000, 2000000); + // Debug maintenance hatch + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_AutoMaintenance.get(1L), + 2764800, + 128, + 500000, + 6, + new Object[] { + ItemList.Hatch_AutoMaintenance.get(1L), + ItemList.Robot_Arm_UV.get(1L), + ItemList.Electric_Pump_UV.get(1L), + ItemList.Conveyor_Module_UV.get(1L), + new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 4L}, + ItemList.Energy_LapotronicOrb2.get(1L), + ItemList.Duct_Tape.get(64L), + ItemList.Duct_Tape.get(64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64L), + }, + new FluidStack[] { + Materials.Lubricant.getFluid(256000), new FluidStack(solderIndalloy, 1296), + }, + CustomItemList.hatch_CreativeMaintenance.get(1), + 6000, + 500000); + + // Batteries + 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), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 1L}, + ItemList.Energy_Cluster.get(8L), + ItemList.Field_Generator_UV.get(2), + ItemList.Circuit_Wafer_HPIC.get(64), + ItemList.Circuit_Wafer_HPIC.get(64), + ItemList.Circuit_Parts_DiodeASMD.get(32), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 32), + }, + new FluidStack[] { + new FluidStack(solderIndalloy, 2880), 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[] { + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L), + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + ItemList.ZPM2.get(8), + ItemList.Field_Generator_UHV.get(4), + ItemList.Circuit_Wafer_UHPIC.get(64), + ItemList.Circuit_Wafer_UHPIC.get(64), + ItemList.Circuit_Wafer_SoC2.get(32), + ItemList.Circuit_Parts_DiodeASMD.get(64), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 64), + }, + new FluidStack[] { + new FluidStack(solderUEV, 4608), + Materials.Naquadria.getMolten(9216), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000) + }, + ItemList.ZPM3.get(1), + 4000, + 1600000); + // MK4 Computer + TT_recipeAdder.addResearchableAssemblylineRecipe( + GregtechItemList.Compressed_Fusion_Reactor.get(1), + 320000, + 512, + 2000000, + 1, + new Object[] { + GregtechItemList.Casing_Fusion_Internal.get(1), + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Neutronium, 4), + ItemList.Field_Generator_UHV.get(2), + ItemList.Circuit_Wafer_QPIC.get(64), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Longasssuperconductornameforuhvwire, 32), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(50000), + ALLOY.CINOBITE.getFluidStack(9216), + ALLOY.OCTIRON.getFluidStack(9216), + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(9216), + }, + GregtechItemList.FusionComputer_UV2.get(1), + 6000, + 2000000); // MK4 Coils - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Fusion_Coil.get(1L), - 160000, 512, 2000000, 1, new Object[]{ - ItemList.Energy_LapotronicOrb2.get(16L), - new Object[]{OrePrefixes.circuit.get(Materials.Master), 16L}, - new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 8L}, - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), - ItemList.Emitter_UHV.get(1), - ItemList.Sensor_UHV.get(1), - ItemList.Casing_Fusion_Coil.get(1L), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(8000L), - ALLOY.CINOBITE.getFluidStack(2304), - ALLOY.OCTIRON.getFluidStack(2304), - ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(2304), - }, GregtechItemList.Casing_Fusion_Internal.get(1), 1200, 2000000); + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Casing_Fusion_Coil.get(1L), + 160000, + 512, + 2000000, + 1, + new Object[] { + ItemList.Energy_LapotronicOrb2.get(16L), + new Object[] {OrePrefixes.circuit.get(Materials.Master), 16L}, + new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 8L}, + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), + ItemList.Emitter_UHV.get(1), + ItemList.Sensor_UHV.get(1), + ItemList.Casing_Fusion_Coil.get(1L), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(8000L), + ALLOY.CINOBITE.getFluidStack(2304), + ALLOY.OCTIRON.getFluidStack(2304), + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(2304), + }, + GregtechItemList.Casing_Fusion_Internal.get(1), + 1200, + 2000000); // MK4 Casing - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Fusion2.get(1L), - 80000, 512, 2000000, 1, new Object[]{ - new Object[]{OrePrefixes.circuit.get(Materials.Data), 16L}, - new Object[]{OrePrefixes.circuit.get(Materials.Elite), 8L}, - GT_OreDictUnificator.get(OrePrefixes.block, Materials.TungstenCarbide, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), - ItemList.Electric_Motor_UHV.get(2), - ItemList.Electric_Piston_UHV.get(1), - ItemList.Casing_Fusion2.get(1L), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000L), - ALLOY.CINOBITE.getFluidStack(576), - ALLOY.OCTIRON.getFluidStack(576), - ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(576), - }, GregtechItemList.Casing_Fusion_External.get(1), 300, 2000000); + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Casing_Fusion2.get(1L), + 80000, + 512, + 2000000, + 1, + new Object[] { + new Object[] {OrePrefixes.circuit.get(Materials.Data), 16L}, + new Object[] {OrePrefixes.circuit.get(Materials.Elite), 8L}, + GT_OreDictUnificator.get(OrePrefixes.block, Materials.TungstenCarbide, 8), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), + ItemList.Electric_Motor_UHV.get(2), + ItemList.Electric_Piston_UHV.get(1), + ItemList.Casing_Fusion2.get(1L), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000L), + ALLOY.CINOBITE.getFluidStack(576), + ALLOY.OCTIRON.getFluidStack(576), + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(576), + }, + GregtechItemList.Casing_Fusion_External.get(1), + 300, + 2000000); // Draconic Evolution Fusion Crafter Controller - if (Loader.isModLoaded("AWWayofTime")&&Loader.isModLoaded("EMT")){ - TT_recipeAdder.addResearchableAssemblylineRecipe(GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 8), - 16_777_216, 1024, 2_000_000, 8, new Object[]{ - GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 10783), - GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 8), - GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsBotania.GaiaSpirit, 1L), - ItemList.Casing_Coil_AwakenedDraconium.get(8L), - ItemList.Electric_Motor_UHV.get(8L), - ItemList.Robot_Arm_UHV.get(4L), - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4}, - ItemList.Gravistar.get(4, new Object(){}), - GT_ModHandler.getModItem("Thaumcraft", "ItemEldritchObject", 1, 3), - GT_ModHandler.getModItem("AWWayofTime", "bloodMagicBaseItems", 8, 29), - GT_ModHandler.getModItem("AWWayofTime", "bloodMagicBaseItems", 8, 28), - }, new FluidStack[]{ - new FluidStack(solderIndalloy, 2880), - Materials.Void.getMolten(2880L), - Materials.DraconiumAwakened.getMolten(1440), - }, GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 5001), 1500, 8_000_000); - } - - //region singleblocks - - //Tesla Transceiver LV 1A - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Battery_Buffer_1by1_LV.get(1), - CustomItemList.teslaCover.getWithDamage(1, 0)}, + if (Loader.isModLoaded("AWWayofTime") && Loader.isModLoaded("EMT")) { + TT_recipeAdder.addResearchableAssemblylineRecipe( + GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 8), + 16_777_216, + 1024, + 2_000_000, + 8, + new Object[] { + GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 10783), + GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 8), + GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsBotania.GaiaSpirit, 1L), + ItemList.Casing_Coil_AwakenedDraconium.get(8L), + ItemList.Electric_Motor_UHV.get(8L), + ItemList.Robot_Arm_UHV.get(4L), + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 4}, + ItemList.Gravistar.get(4, new Object() {}), + GT_ModHandler.getModItem("Thaumcraft", "ItemEldritchObject", 1, 3), + GT_ModHandler.getModItem("AWWayofTime", "bloodMagicBaseItems", 8, 29), + GT_ModHandler.getModItem("AWWayofTime", "bloodMagicBaseItems", 8, 28), + }, + new FluidStack[] { + new FluidStack(solderIndalloy, 2880), + Materials.Void.getMolten(2880L), + Materials.DraconiumAwakened.getMolten(1440), + }, + GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 5001), + 1500, + 8_000_000); + } + + // 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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); + CustomItemList.Machine_TeslaCoil_4by4_IV.get(1), + 400, + 7680); - //endregion + // endregion - //region components + // 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); + // 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 + // endregion - //region items + // region items // Parametrizer Memory Card - GT_Values.RA.addCircuitAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 2), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, 4), - }, Materials.Plastic.getMolten(72), CustomItemList.parametrizerMemory.get(1), 200, 480, true); - - //LV Tesla Capacitor - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tin, 4), + GT_Values.RA.addCircuitAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, 4), + }, + Materials.Plastic.getMolten(72), + CustomItemList.parametrizerMemory.get(1), + 200, + 480, + true); + + // 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); + // LuV Tesla Capacitor + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.HSSG, 4), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 14), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 28), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 28), + }, + Materials.Epoxid.getMolten(432), + CustomItemList.teslaCapacitor.getWithDamage(1, 5), + 320, + 30720); + // ZPM Tesla Capacitor + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 4), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 16), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 32), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 32), + }, + Materials.Epoxid.getMolten(504), + CustomItemList.teslaCapacitor.getWithDamage(1, 6), + 320, + 122880); + // 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); + + // Ender Fluid Link Cover + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Enderium, 4), + ItemList.Sensor_LuV.get(1), + ItemList.Emitter_LuV.get(1), + ItemList.Electric_Pump_LuV.get(1), + }, + Materials.Chrome.getMolten(288), + CustomItemList.enderLinkFluidCover.getWithDamage(1, 0), + 320, + 30720); + + // Power Pass Upgrade Cover + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] {CustomItemList.Machine_Multi_Transformer.get(1), GT_Utility.getIntegratedCircuit(1)}, + null, + CustomItemList.powerPassUpgradeCover.getWithDamage(1, 0), + 320, + 30720); + // endregion + + // region recycling + + // LV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 0), 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), + 300, + 2); + // MV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 1), 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), + 300, + 2); + // HV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 2), 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), + 300, + 2); + // EV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 3), 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), + 300, + 2); + // IV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 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); - //LuV Tesla Capacitor - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.HSSG, 4), + 300, + 2); + // LuV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 5), GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 14), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 28), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 28), - }, Materials.Epoxid.getMolten(432), CustomItemList.teslaCapacitor.getWithDamage(1, 5), 320, 30720); - //ZPM Tesla Capacitor - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 4), + 300, + 2); + // ZPM Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 6), GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 16), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 32), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 32), - }, Materials.Epoxid.getMolten(504), CustomItemList.teslaCapacitor.getWithDamage(1, 6), 320, 122880); - //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); - - //Ender Fluid Link Cover - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Enderium, 4), - ItemList.Sensor_LuV.get(1), - ItemList.Emitter_LuV.get(1), - ItemList.Electric_Pump_LuV.get(1), - }, Materials.Chrome.getMolten(288), CustomItemList.enderLinkFluidCover.getWithDamage(1, 0), 320, 30720); - - //Power Pass Upgrade Cover - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.Machine_Multi_Transformer.get(1), - GT_Utility.getIntegratedCircuit(1) - }, null, CustomItemList.powerPassUpgradeCover.getWithDamage(1, 0), 320, 30720); - //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); - //LuV Tesla Capacitor - GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 5), - GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 14), 300, 2); - //ZPM Tesla Capacitor - GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 6), - GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 16), 300, 2); - - //endregion + 300, + 2); + + // endregion register_machine_EM_behaviours(); } @@ -1904,7 +4154,9 @@ public class DreamCraftRecipeLoader { // ------------------------- Set up information ------------------------- // ---------------------------------------------------------------------- - Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null ? FluidRegistry.getFluid("molten.indalloy140") : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null + ? FluidRegistry.getFluid("molten.indalloy140") + : FluidRegistry.getFluid("molten.solderingalloy"); int total_computation = 24000; int comp_per_second = 32; @@ -1920,280 +4172,215 @@ public class DreamCraftRecipeLoader { // ------------------------------------------------------------- - - // ------------------------- UHV Motor ------------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Motor_UV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - 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[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + 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[] {fluid_0, fluid_1, fluid_2}, ItemList.Electric_Motor_UHV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // --------------------- UHV Electric Pump --------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Pump_UV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - 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), - new Object[]{OrePrefixes.ring.get(Materials.AnySyntheticRubber), 32L}, - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.CosmicNeutronium, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 2L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + 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), + new Object[] {OrePrefixes.ring.get(Materials.AnySyntheticRubber), 32L}, + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.CosmicNeutronium, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 2L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Electric_Pump_UHV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ----------------------- UHV Conveyor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Conveyor_Module_UV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - 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 Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 40L} - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + 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 Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 40L} }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Conveyor_Module_UHV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // -------------------- UHV Robot Arm -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Robot_Arm_UV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, 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[]{ - fluid_0, - fluid_1, - fluid_2 + 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[] {fluid_0, fluid_1, fluid_2}, ItemList.Robot_Arm_UHV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // -------------------- UHV Electric Piston -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Piston_UV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - 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) + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + 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[]{ - fluid_0, - fluid_1, - fluid_2 - }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Electric_Piston_UHV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ------------------------ UHV Emitter ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Emitter_UV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), - ItemList.Electric_Motor_UHV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.CosmicNeutronium, 8L), - ItemList.Gravistar.get(8L), - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4L}, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 7L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), + ItemList.Electric_Motor_UHV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.CosmicNeutronium, 8L), + ItemList.Gravistar.get(8L), + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 4L}, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 7L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Emitter_UHV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ------------------------ UHV Sensor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Sensor_UV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), - ItemList.Electric_Motor_UHV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 8L), - ItemList.Gravistar.get(8L), - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4L}, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 7L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), + ItemList.Electric_Motor_UHV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 8L), + ItemList.Gravistar.get(8L), + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 4L}, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 7L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Sensor_UHV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // --------------------------------------------------------------------- - - // ------------------------ UHV Field Generator ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Field_Generator_UV.get(1), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 6L), - ItemList.Gravistar.get(4L), - ItemList.Emitter_UHV.get(4L), - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 4L}, - 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, 8L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 6L), + ItemList.Gravistar.get(4L), + ItemList.Emitter_UHV.get(4L), + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 4L}, + 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, 8L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Field_Generator_UHV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); - + crafting_time_in_ticks, + crafting_eu_per_tick); } private void item_parts_UEV_assline_recipes() { @@ -2202,7 +4389,9 @@ public class DreamCraftRecipeLoader { // ------------------------- Set up information ------------------------- // ---------------------------------------------------------------------- - Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null ? FluidRegistry.getFluid("molten.mutatedlivingsolder") : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null + ? FluidRegistry.getFluid("molten.mutatedlivingsolder") + : FluidRegistry.getFluid("molten.solderingalloy"); int total_computation = 48_000; int comp_per_second = 64; @@ -2218,278 +4407,216 @@ public class DreamCraftRecipeLoader { // ------------------------------------------------------------- - - // ------------------------- UEV Motor ------------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Motor_UHV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - 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), - 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) + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + 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), + 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[]{ - fluid_0, - fluid_1, - fluid_2 - }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Electric_Motor_UEV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // --------------------- UEV Electric Pump --------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Pump_UHV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - 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), - new Object[]{OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L}, - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Infinity, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 2L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + 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), + new Object[] {OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L}, + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Infinity, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 2L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Electric_Pump_UEV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ----------------------- UEV Conveyor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Conveyor_Module_UHV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - 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 Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L}, - new Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L} - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + 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 Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L}, + new Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L} }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Conveyor_Module_UEV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // -------------------- UEV Robot Arm -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Robot_Arm_UHV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, 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[]{ - fluid_0, - fluid_1, - fluid_2 + 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[] {fluid_0, fluid_1, fluid_2}, ItemList.Robot_Arm_UEV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // -------------------- UEV Electric Piston -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Piston_UHV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - 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[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + 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[] {fluid_0, fluid_1, fluid_2}, ItemList.Electric_Piston_UEV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ------------------------ UEV Emitter ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Emitter_UHV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), - ItemList.Electric_Motor_UEV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Infinity, 16L), - ItemList.Gravistar.get(16L), - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 4L}, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 7L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), + ItemList.Electric_Motor_UEV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Infinity, 16L), + ItemList.Gravistar.get(16L), + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 4L}, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 7L) }, - + new FluidStack[] {fluid_0, fluid_1}, ItemList.Emitter_UEV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ------------------------ UEV Sensor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Sensor_UHV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), - ItemList.Electric_Motor_UEV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 8L), - ItemList.Gravistar.get(16), - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 4L}, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 7L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), + ItemList.Electric_Motor_UEV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 8L), + ItemList.Gravistar.get(16), + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 4L}, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 7L) }, - + new FluidStack[] {fluid_0, fluid_1}, ItemList.Sensor_UEV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // --------------------------------------------------------------------- - - // ------------------------ UEV Field Generator ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Field_Generator_UHV.get(1), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 6L), - ItemList.Gravistar.get(8L), - ItemList.Emitter_UEV.get(4L), - new Object[]{OrePrefixes.circuit.get(Materials.Nano), 4}, - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 8L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 6L), + ItemList.Gravistar.get(8L), + ItemList.Emitter_UEV.get(4L), + new Object[] {OrePrefixes.circuit.get(Materials.Nano), 4}, + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 8L) }, - + new FluidStack[] {fluid_0, fluid_1}, ItemList.Field_Generator_UEV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); - + crafting_time_in_ticks, + crafting_eu_per_tick); } private void item_parts_UIV_assline_recipes() { @@ -2498,7 +4625,9 @@ public class DreamCraftRecipeLoader { // ------------------------- Set up information ------------------------- // ---------------------------------------------------------------------- - Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null ? FluidRegistry.getFluid("molten.mutatedlivingsolder") : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null + ? FluidRegistry.getFluid("molten.mutatedlivingsolder") + : FluidRegistry.getFluid("molten.solderingalloy"); int total_computation = 96_000; int comp_per_second = 128; @@ -2514,278 +4643,217 @@ public class DreamCraftRecipeLoader { // ------------------------------------------------------------- - - // ------------------------- UIV Motor ------------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Motor_UEV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 16L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TranscendentMetal, 16L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TranscendentMetal, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.TranscendentMetal, 32L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 16L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TranscendentMetal, 16L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TranscendentMetal, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.TranscendentMetal, 32L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Electric_Motor_UIV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // --------------------- UIV Electric Pump --------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Pump_UEV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - ItemList.Electric_Motor_UIV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.DraconiumAwakened, 2L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 4L), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TranscendentMetal, 16L), - new Object[]{OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L}, - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.TranscendentMetal, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + ItemList.Electric_Motor_UIV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.DraconiumAwakened, 2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 4L), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TranscendentMetal, 16L), + new Object[] {OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L}, + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.TranscendentMetal, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Electric_Pump_UIV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ----------------------- UIV Conveyor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Conveyor_Module_UEV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - ItemList.Electric_Motor_UIV.get(2L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 2L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TranscendentMetal, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.TranscendentMetal, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L), - new Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L}, - new Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L} - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + ItemList.Electric_Motor_UIV.get(2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 2L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TranscendentMetal, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.TranscendentMetal, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L), + new Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L}, + new Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L} }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Conveyor_Module_UIV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // -------------------- UIV Robot Arm -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Robot_Arm_UEV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, new Object[] { - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TranscendentMetal, 8L), - GT_OreDictUnificator.get(OrePrefixes.gear, Materials.TranscendentMetal, 2L), - GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.TranscendentMetal, 6L), - ItemList.Electric_Motor_UIV.get(2L), - ItemList.Electric_Piston_UIV.get(1L), - new Object[]{OrePrefixes.circuit.get(Materials.Nano), 2L}, - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 4L}, - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 8L}, - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 6L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TranscendentMetal, 8L), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.TranscendentMetal, 2L), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.TranscendentMetal, 6L), + ItemList.Electric_Motor_UIV.get(2L), + ItemList.Electric_Piston_UIV.get(1L), + new Object[] {OrePrefixes.circuit.get(Materials.Nano), 2L}, + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 4L}, + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 8L}, + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 6L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Robot_Arm_UIV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // -------------------- UIV Electric Piston -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Piston_UEV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new ItemStack[]{ - ItemList.Electric_Motor_UIV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 6L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TranscendentMetal, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.TranscendentMetal, 64L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TranscendentMetal, 8L), - GT_OreDictUnificator.get(OrePrefixes.gear, Materials.TranscendentMetal, 2L), - GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.TranscendentMetal, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 4L) + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new ItemStack[] { + ItemList.Electric_Motor_UIV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 6L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TranscendentMetal, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.TranscendentMetal, 64L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TranscendentMetal, 8L), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.TranscendentMetal, 2L), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.TranscendentMetal, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 4L) }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 - }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Electric_Piston_UIV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ------------------------ UIV Emitter ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Emitter_UEV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 1L), - ItemList.Electric_Motor_UIV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TranscendentMetal, 16L), - ItemList.Gravistar.get(32L), - new Object[]{OrePrefixes.circuit.get(Materials.Nano), 4L}, - GT_ModHandler.getModItem("miscutils", "itemFoilArceusAlloy2B", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilLafiumCompound", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilCinobiteA243", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilPikyonium64B", 64, 0), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 7L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 1L), + ItemList.Electric_Motor_UIV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TranscendentMetal, 16L), + ItemList.Gravistar.get(32L), + new Object[] {OrePrefixes.circuit.get(Materials.Nano), 4L}, + GT_ModHandler.getModItem("miscutils", "itemFoilArceusAlloy2B", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilLafiumCompound", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilCinobiteA243", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilPikyonium64B", 64, 0), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 7L) }, - + new FluidStack[] {fluid_0, fluid_1}, ItemList.Emitter_UIV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ------------------------ UIV Sensor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Sensor_UEV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 1L), - ItemList.Electric_Motor_UIV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 8L), - ItemList.Gravistar.get(32), - new Object[]{OrePrefixes.circuit.get(Materials.Nano), 4L}, - GT_ModHandler.getModItem("miscutils", "itemFoilArceusAlloy2B", 64, 0), - GT_ModHandler.getModItem("miscutils","itemFoilLafiumCompound", 64, 0), - GT_ModHandler.getModItem("miscutils","itemFoilCinobiteA243", 64, 0), - GT_ModHandler.getModItem("miscutils","itemFoilPikyonium64B", 64, 0), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 7L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 1L), + ItemList.Electric_Motor_UIV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 8L), + ItemList.Gravistar.get(32), + new Object[] {OrePrefixes.circuit.get(Materials.Nano), 4L}, + GT_ModHandler.getModItem("miscutils", "itemFoilArceusAlloy2B", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilLafiumCompound", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilCinobiteA243", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilPikyonium64B", 64, 0), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 7L) }, - + new FluidStack[] {fluid_0, fluid_1}, ItemList.Sensor_UIV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // --------------------------------------------------------------------- - - // ------------------------ UIV Field Generator ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Field_Generator_UEV.get(1), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 6L), - ItemList.Gravistar.get(32), - ItemList.Emitter_UIV.get(4L), - new Object[]{OrePrefixes.circuit.get(Materials.Piko), 4}, - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 8L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TranscendentMetal, 6L), + ItemList.Gravistar.get(32), + ItemList.Emitter_UIV.get(4L), + new Object[] {OrePrefixes.circuit.get(Materials.Piko), 4}, + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 8L) }, - + new FluidStack[] {fluid_0, fluid_1}, ItemList.Field_Generator_UIV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // --------------------------------------------------------------------- @@ -2797,7 +4865,9 @@ public class DreamCraftRecipeLoader { // ------------------------- Set up information ------------------------- // ---------------------------------------------------------------------- - Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null ? FluidRegistry.getFluid("molten.mutatedlivingsolder") : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null + ? FluidRegistry.getFluid("molten.mutatedlivingsolder") + : FluidRegistry.getFluid("molten.solderingalloy"); int total_computation = 192_000; int comp_per_second = 256; @@ -2814,286 +4884,217 @@ public class DreamCraftRecipeLoader { // ------------------------------------------------------------- - - // ------------------------- UMV Motor ------------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Motor_UIV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 32L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 16L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 32L), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2, - fluid_3 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 32L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 16L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 32L), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2, fluid_3}, ItemList.Electric_Motor_UMV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // --------------------- UMV Electric Pump --------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Pump_UIV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - ItemList.Electric_Motor_UMV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Infinity, 2L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 4L), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 16L), - new Object[]{OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L}, - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.SpaceTime, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2, - fluid_3 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + ItemList.Electric_Motor_UMV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Infinity, 2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 4L), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 16L), + new Object[] {OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L}, + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.SpaceTime, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2, fluid_3}, ItemList.Electric_Pump_UMV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ----------------------- UMV Conveyor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Conveyor_Module_UIV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - ItemList.Electric_Motor_UMV.get(2L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 2L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L), - new Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L}, - new Object[]{OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L} - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2, - fluid_3 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + ItemList.Electric_Motor_UMV.get(2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 2L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L), + new Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L}, + new Object[] {OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L} }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2, fluid_3}, ItemList.Conveyor_Module_UMV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // -------------------- UMV Robot Arm -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Robot_Arm_UIV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, new Object[] { - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 8L), - GT_OreDictUnificator.get(OrePrefixes.gear, Materials.SpaceTime, 2L), - GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.SpaceTime, 6L), - ItemList.Electric_Motor_UMV.get(2L), - ItemList.Electric_Piston_UMV.get(1L), - new Object[]{OrePrefixes.circuit.get(Materials.Piko), 2L}, - new Object[]{OrePrefixes.circuit.get(Materials.Nano), 4L}, - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 8L}, - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 6L) + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 8L), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.SpaceTime, 2L), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.SpaceTime, 6L), + ItemList.Electric_Motor_UMV.get(2L), + ItemList.Electric_Piston_UMV.get(1L), + new Object[] {OrePrefixes.circuit.get(Materials.Piko), 2L}, + new Object[] {OrePrefixes.circuit.get(Materials.Nano), 4L}, + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 8L}, + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 6L) }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2, - fluid_3 - }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2, fluid_3}, ItemList.Robot_Arm_UMV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // -------------------- UMV Electric Piston -------------------- TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Electric_Piston_UIV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new ItemStack[]{ - ItemList.Electric_Motor_UMV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 6L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 64L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SpaceTime, 8L), - GT_OreDictUnificator.get(OrePrefixes.gear, Materials.SpaceTime, 2L), - GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.SpaceTime, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 4L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2, - fluid_3 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new ItemStack[] { + ItemList.Electric_Motor_UMV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 6L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 64L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SpaceTime, 8L), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.SpaceTime, 2L), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.SpaceTime, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 4L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2, fluid_3}, ItemList.Electric_Piston_UMV.get(1), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ------------------------ UMV Emitter ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Emitter_UIV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), - ItemList.Electric_Motor_UMV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SpaceTime, 16L), - ItemList.Gravistar.get(64), - new Object[]{OrePrefixes.circuit.get(Materials.Piko), 4L}, - GT_ModHandler.getModItem("miscutils", "itemFoilCelestialTungsten", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilQuantum", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilAstralTitanium", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilTitansteel", 64, 0), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 7L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), + ItemList.Electric_Motor_UMV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SpaceTime, 16L), + ItemList.Gravistar.get(64), + new Object[] {OrePrefixes.circuit.get(Materials.Piko), 4L}, + GT_ModHandler.getModItem("miscutils", "itemFoilCelestialTungsten", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilQuantum", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilAstralTitanium", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilTitansteel", 64, 0), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 7L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Emitter_UMV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // ------------------------------------------------------------- - - // ------------------------ UMV Sensor ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Sensor_UIV.get(1L), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), - ItemList.Electric_Motor_UMV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 8L), - ItemList.Gravistar.get(64), - new Object[]{OrePrefixes.circuit.get(Materials.Piko), 4L}, - GT_ModHandler.getModItem("miscutils", "itemFoilCelestialTungsten", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilQuantum", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilAstralTitanium", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFoilTitansteel", 64, 0), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 7L) - }, - - new FluidStack[] { - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), + ItemList.Electric_Motor_UMV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 8L), + ItemList.Gravistar.get(64), + new Object[] {OrePrefixes.circuit.get(Materials.Piko), 4L}, + GT_ModHandler.getModItem("miscutils", "itemFoilCelestialTungsten", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilQuantum", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilAstralTitanium", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFoilTitansteel", 64, 0), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 7L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Sensor_UMV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // --------------------------------------------------------------------- - - // ------------------------ UMV Field Generator ------------------------ TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Field_Generator_UIV.get(1), - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 6L), - ItemList.Gravistar.get(8L), - ItemList.Emitter_UMV.get(4L), - new Object[]{OrePrefixes.circuit.get(Materials.Quantum), 4}, - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 8L) - }, - - new FluidStack[]{ - fluid_0, - fluid_1, - fluid_2 + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 6L), + ItemList.Gravistar.get(8L), + ItemList.Emitter_UMV.get(4L), + new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 4}, + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 8L) }, - + new FluidStack[] {fluid_0, fluid_1, fluid_2}, ItemList.Field_Generator_UMV.get(1L), - - crafting_time_in_ticks, crafting_eu_per_tick); + crafting_time_in_ticks, + crafting_eu_per_tick); // --------------------------------------------------------------------- @@ -3101,9 +5102,11 @@ public class DreamCraftRecipeLoader { private void add_wireless_energy_recipes() { - Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null ? FluidRegistry.getFluid("molten.mutatedlivingsolder") : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null + ? FluidRegistry.getFluid("molten.mutatedlivingsolder") + : FluidRegistry.getFluid("molten.solderingalloy"); - int recipe_duration_ticks = 20*20; + int recipe_duration_ticks = 20 * 20; int recipe_eu_per_tick = 128_000_000; int research_eu_per_tick = 128_000_000; @@ -3112,176 +5115,207 @@ public class DreamCraftRecipeLoader { int total_computation = 500_000; ItemStack[] energy_hatches = { - ItemList.Hatch_Energy_ULV.get(1), - ItemList.Hatch_Energy_LV.get(1), - ItemList.Hatch_Energy_MV.get(1), - ItemList.Hatch_Energy_HV.get(1), - ItemList.Hatch_Energy_EV.get(1), - ItemList.Hatch_Energy_IV.get(1), - ItemList.Hatch_Energy_LuV.get(1), - ItemList.Hatch_Energy_ZPM.get(1), - ItemList.Hatch_Energy_UV.get(1), - ItemList.Hatch_Energy_MAX.get(1), - getItemContainer("Hatch_Energy_UEV").get(1L), - getItemContainer("Hatch_Energy_UIV").get(1L), - getItemContainer("Hatch_Energy_UMV").get(1L) + ItemList.Hatch_Energy_ULV.get(1), + ItemList.Hatch_Energy_LV.get(1), + ItemList.Hatch_Energy_MV.get(1), + ItemList.Hatch_Energy_HV.get(1), + ItemList.Hatch_Energy_EV.get(1), + ItemList.Hatch_Energy_IV.get(1), + ItemList.Hatch_Energy_LuV.get(1), + ItemList.Hatch_Energy_ZPM.get(1), + ItemList.Hatch_Energy_UV.get(1), + ItemList.Hatch_Energy_MAX.get(1), + getItemContainer("Hatch_Energy_UEV").get(1L), + getItemContainer("Hatch_Energy_UIV").get(1L), + getItemContainer("Hatch_Energy_UMV").get(1L) }; ItemStack[] dynamo_hatches = { - ItemList.Hatch_Dynamo_ULV.get(1), - ItemList.Hatch_Dynamo_LV.get(1), - ItemList.Hatch_Dynamo_MV.get(1), - ItemList.Hatch_Dynamo_HV.get(1), - ItemList.Hatch_Dynamo_EV.get(1), - ItemList.Hatch_Dynamo_IV.get(1), - ItemList.Hatch_Dynamo_LuV.get(1), - ItemList.Hatch_Dynamo_ZPM.get(1), - ItemList.Hatch_Dynamo_UV.get(1), - ItemList.Hatch_Dynamo_MAX.get(1), - getItemContainer("Hatch_Dynamo_UEV").get(1L), - getItemContainer("Hatch_Dynamo_UIV").get(1L), - getItemContainer("Hatch_Dynamo_UMV").get(1L) + ItemList.Hatch_Dynamo_ULV.get(1), + ItemList.Hatch_Dynamo_LV.get(1), + ItemList.Hatch_Dynamo_MV.get(1), + ItemList.Hatch_Dynamo_HV.get(1), + ItemList.Hatch_Dynamo_EV.get(1), + ItemList.Hatch_Dynamo_IV.get(1), + ItemList.Hatch_Dynamo_LuV.get(1), + ItemList.Hatch_Dynamo_ZPM.get(1), + ItemList.Hatch_Dynamo_UV.get(1), + ItemList.Hatch_Dynamo_MAX.get(1), + getItemContainer("Hatch_Dynamo_UEV").get(1L), + getItemContainer("Hatch_Dynamo_UIV").get(1L), + getItemContainer("Hatch_Dynamo_UMV").get(1L) }; Object[] circuits_tier_plus_two = { - new Object[]{OrePrefixes.circuit.get(Materials.Good), 1L}, // MV - new Object[]{OrePrefixes.circuit.get(Materials.Advanced), 1L}, // HV - new Object[]{OrePrefixes.circuit.get(Materials.Data), 1L}, // EV - new Object[]{OrePrefixes.circuit.get(Materials.Elite), 1L}, // IV - new Object[]{OrePrefixes.circuit.get(Materials.Master), 1L}, // LuV - new Object[]{OrePrefixes.circuit.get(Materials.Ultimate), 1L}, // ZPM - new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 1L}, // UV - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L}, // UHV - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, // UEV - new Object[]{OrePrefixes.circuit.get(Materials.Nano), 1L}, // UIV - new Object[]{OrePrefixes.circuit.get(Materials.Piko), 1L}, // UMV - new Object[]{OrePrefixes.circuit.get(Materials.Quantum), 1L}, // UXV - new Object[]{OrePrefixes.circuit.get(Materials.Transcendent), 1L}, // MAX + new Object[] {OrePrefixes.circuit.get(Materials.Good), 1L}, // MV + new Object[] {OrePrefixes.circuit.get(Materials.Advanced), 1L}, // HV + new Object[] {OrePrefixes.circuit.get(Materials.Data), 1L}, // EV + new Object[] {OrePrefixes.circuit.get(Materials.Elite), 1L}, // IV + new Object[] {OrePrefixes.circuit.get(Materials.Master), 1L}, // LuV + new Object[] {OrePrefixes.circuit.get(Materials.Ultimate), 1L}, // ZPM + new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 1L}, // UV + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 1L}, // UHV + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, // UEV + new Object[] {OrePrefixes.circuit.get(Materials.Nano), 1L}, // UIV + new Object[] {OrePrefixes.circuit.get(Materials.Piko), 1L}, // UMV + new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 1L}, // UXV + new Object[] {OrePrefixes.circuit.get(Materials.Transcendent), 1L}, // MAX }; ItemStack[] wireless_hatches = { - ItemList.Wireless_Hatch_Energy_ULV.get(1), - ItemList.Wireless_Hatch_Energy_LV.get(1), - ItemList.Wireless_Hatch_Energy_MV.get(1), - ItemList.Wireless_Hatch_Energy_HV.get(1), - ItemList.Wireless_Hatch_Energy_EV.get(1), - ItemList.Wireless_Hatch_Energy_IV.get(1), - ItemList.Wireless_Hatch_Energy_LuV.get(1), - ItemList.Wireless_Hatch_Energy_ZPM.get(1), - ItemList.Wireless_Hatch_Energy_UV.get(1), - ItemList.Wireless_Hatch_Energy_UHV.get(1), - ItemList.Wireless_Hatch_Energy_UEV.get(1), - ItemList.Wireless_Hatch_Energy_UIV.get(1), - ItemList.Wireless_Hatch_Energy_UMV.get(1), + ItemList.Wireless_Hatch_Energy_ULV.get(1), + ItemList.Wireless_Hatch_Energy_LV.get(1), + ItemList.Wireless_Hatch_Energy_MV.get(1), + ItemList.Wireless_Hatch_Energy_HV.get(1), + ItemList.Wireless_Hatch_Energy_EV.get(1), + ItemList.Wireless_Hatch_Energy_IV.get(1), + ItemList.Wireless_Hatch_Energy_LuV.get(1), + ItemList.Wireless_Hatch_Energy_ZPM.get(1), + ItemList.Wireless_Hatch_Energy_UV.get(1), + ItemList.Wireless_Hatch_Energy_UHV.get(1), + ItemList.Wireless_Hatch_Energy_UEV.get(1), + ItemList.Wireless_Hatch_Energy_UIV.get(1), + ItemList.Wireless_Hatch_Energy_UMV.get(1), }; ItemStack[] wireless_dynamos = { - ItemList.Wireless_Dynamo_Energy_ULV.get(1), - ItemList.Wireless_Dynamo_Energy_LV.get(1), - ItemList.Wireless_Dynamo_Energy_MV.get(1), - ItemList.Wireless_Dynamo_Energy_HV.get(1), - ItemList.Wireless_Dynamo_Energy_EV.get(1), - ItemList.Wireless_Dynamo_Energy_IV.get(1), - ItemList.Wireless_Dynamo_Energy_LuV.get(1), - ItemList.Wireless_Dynamo_Energy_ZPM.get(1), - ItemList.Wireless_Dynamo_Energy_UV.get(1), - ItemList.Wireless_Dynamo_Energy_UHV.get(1), - ItemList.Wireless_Dynamo_Energy_UEV.get(1), - ItemList.Wireless_Dynamo_Energy_UIV.get(1), - ItemList.Wireless_Dynamo_Energy_UMV.get(1), + ItemList.Wireless_Dynamo_Energy_ULV.get(1), + ItemList.Wireless_Dynamo_Energy_LV.get(1), + ItemList.Wireless_Dynamo_Energy_MV.get(1), + ItemList.Wireless_Dynamo_Energy_HV.get(1), + ItemList.Wireless_Dynamo_Energy_EV.get(1), + ItemList.Wireless_Dynamo_Energy_IV.get(1), + ItemList.Wireless_Dynamo_Energy_LuV.get(1), + ItemList.Wireless_Dynamo_Energy_ZPM.get(1), + ItemList.Wireless_Dynamo_Energy_UV.get(1), + ItemList.Wireless_Dynamo_Energy_UHV.get(1), + ItemList.Wireless_Dynamo_Energy_UEV.get(1), + ItemList.Wireless_Dynamo_Energy_UIV.get(1), + ItemList.Wireless_Dynamo_Energy_UMV.get(1), }; // ------------------------ Wireless EU hatches ------------------------ - for(int i = 0; i < wireless_hatches.length; i++) { + for (int i = 0; i < wireless_hatches.length; i++) { TT_recipeAdder.addResearchableAssemblylineRecipe( - - (i==0) ? ItemList.Tesseract.get(1) : wireless_hatches[i-1], - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - energy_hatches[i], - GT_ModHandler.getModItem("GoodGenerator", "compactFusionCoil", 1), - ItemList.Casing_Coil_Superconductor.get(1), - CustomItemList.Machine_Multi_Transformer.get(1), - CustomItemList.eM_Power.get(2), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SpaceTime, 2), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 1), - circuits_tier_plus_two[i], - ItemList.EnergisedTesseract.get(1) - }, - - new FluidStack[]{ - new FluidStack(solderUEV, 1296), - Materials.ExcitedDTEC.getFluid(500L) + (i == 0) ? ItemList.Tesseract.get(1) : wireless_hatches[i - 1], + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + energy_hatches[i], + GT_ModHandler.getModItem("GoodGenerator", "compactFusionCoil", 1), + ItemList.Casing_Coil_Superconductor.get(1), + CustomItemList.Machine_Multi_Transformer.get(1), + CustomItemList.eM_Power.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SpaceTime, 2), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 1), + circuits_tier_plus_two[i], + ItemList.EnergisedTesseract.get(1) }, - + new FluidStack[] {new FluidStack(solderUEV, 1296), Materials.ExcitedDTEC.getFluid(500L)}, wireless_hatches[i], - - recipe_duration_ticks, recipe_eu_per_tick); + recipe_duration_ticks, + recipe_eu_per_tick); } // ------------------------ Wireless EU dynamos ------------------------ - for(int i = 0; i < wireless_hatches.length; i++) { + for (int i = 0; i < wireless_hatches.length; i++) { TT_recipeAdder.addResearchableAssemblylineRecipe( - - (i==0) ? ItemList.EnergisedTesseract.get(1) : wireless_dynamos[i-1], - - total_computation, comp_per_second, research_eu_per_tick, research_amperage, - - new Object[]{ - dynamo_hatches[i], - GT_ModHandler.getModItem("GoodGenerator", "compactFusionCoil", 1), - ItemList.Casing_Coil_Superconductor.get(1), - CustomItemList.Machine_Multi_Transformer.get(1), - CustomItemList.eM_Power.get(2), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SpaceTime, 2), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 1), - circuits_tier_plus_two[i], - ItemList.EnergisedTesseract.get(1) - }, - - new FluidStack[]{ - new FluidStack(solderUEV, 1296), - Materials.ExcitedDTEC.getFluid(500L) + (i == 0) ? ItemList.EnergisedTesseract.get(1) : wireless_dynamos[i - 1], + total_computation, + comp_per_second, + research_eu_per_tick, + research_amperage, + new Object[] { + dynamo_hatches[i], + GT_ModHandler.getModItem("GoodGenerator", "compactFusionCoil", 1), + ItemList.Casing_Coil_Superconductor.get(1), + CustomItemList.Machine_Multi_Transformer.get(1), + CustomItemList.eM_Power.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SpaceTime, 2), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 1), + circuits_tier_plus_two[i], + ItemList.EnergisedTesseract.get(1) }, - + new FluidStack[] {new FluidStack(solderUEV, 1296), Materials.ExcitedDTEC.getFluid(500L)}, wireless_dynamos[i], - - recipe_duration_ticks, recipe_eu_per_tick); + recipe_duration_ticks, + recipe_eu_per_tick); } } 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)); + 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 90274c69e6..b08480fe8a 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 @@ -1,5 +1,8 @@ package com.github.technus.tectech.compatibility.dreamcraft; +import static gregtech.api.GregTech_API.METATILEENTITIES; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.CustomItemList; @@ -12,36 +15,32 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicHull; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock; -import net.minecraft.util.EnumChatFormatting; - import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; - -import static gregtech.api.GregTech_API.METATILEENTITIES; -import static net.minecraft.util.StatCollector.translateToLocal; +import net.minecraft.util.EnumChatFormatting; public class NoDreamCraftMachineLoader implements Runnable { - public final static String imagination = EnumChatFormatting.RESET + - "You just need " + EnumChatFormatting.DARK_PURPLE + - "I" + EnumChatFormatting.LIGHT_PURPLE + - "m" + EnumChatFormatting.DARK_RED + - "a" + EnumChatFormatting.RED + - "g" + EnumChatFormatting.YELLOW + - "i" + EnumChatFormatting.GREEN + - "n" + EnumChatFormatting.AQUA + - "a" + EnumChatFormatting.DARK_AQUA + - "t" + EnumChatFormatting.BLUE + - "i" + EnumChatFormatting.DARK_BLUE + - "o" + EnumChatFormatting.DARK_PURPLE + - "n" + EnumChatFormatting.RESET + - " to use this."; + public static final String imagination = EnumChatFormatting.RESET + "You just need " + + EnumChatFormatting.DARK_PURPLE + "I" + + EnumChatFormatting.LIGHT_PURPLE + "m" + + EnumChatFormatting.DARK_RED + "a" + + EnumChatFormatting.RED + "g" + + EnumChatFormatting.YELLOW + "i" + + EnumChatFormatting.GREEN + "n" + + EnumChatFormatting.AQUA + "a" + + EnumChatFormatting.DARK_AQUA + "t" + + EnumChatFormatting.BLUE + "i" + + EnumChatFormatting.DARK_BLUE + "o" + + EnumChatFormatting.DARK_PURPLE + "n" + + EnumChatFormatting.RESET + " to use this."; @Override public void run() { try { CustomItemList.WetTransformer_LV_ULV.set(new GT_MetaTileEntity_WetTransformer( - 12000, "wettransformer.tier.00", "Ultra Low Voltage Power Transformer", 0).getStackForm(1L));//LV -> ULV (Use Soft Mallet to invert) + 12000, "wettransformer.tier.00", "Ultra Low Voltage Power Transformer", 0) + .getStackForm(1L)); // LV -> ULV (Use Soft Mallet to invert) } catch (IllegalArgumentException e) { System.out.println(METATILEENTITIES[12000].getClass().getCanonicalName()); TecTech.LOGGER.error(e); @@ -49,47 +48,61 @@ public class NoDreamCraftMachineLoader implements Runnable { 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).getStackForm(1L));//MV -> LV (Use Soft Mallet to invert) + CustomItemList.WetTransformer_MV_LV.set( + new GT_MetaTileEntity_WetTransformer(12001, "wetransformer.tier.01", "Low Voltage Power Transformer", 1) + .getStackForm(1L)); // MV -> LV (Use Soft Mallet to invert) CustomItemList.WetTransformer_HV_MV.set(new GT_MetaTileEntity_WetTransformer( - 12002, "wettransformer.tier.02", "Medium Voltage Power Transformer", 2).getStackForm(1L));//HV -> MV (Use Soft Mallet to invert) + 12002, "wettransformer.tier.02", "Medium Voltage Power Transformer", 2) + .getStackForm(1L)); // HV -> MV (Use Soft Mallet to invert) CustomItemList.WetTransformer_EV_HV.set(new GT_MetaTileEntity_WetTransformer( - 12003, "wettransformer.tier.03", "High Voltage Power Transformer", 3).getStackForm(1L));//EV -> HV (Use Soft Mallet to invert) + 12003, "wettransformer.tier.03", "High Voltage Power Transformer", 3) + .getStackForm(1L)); // EV -> HV (Use Soft Mallet to invert) - CustomItemList.WetTransformer_IV_EV.set(new GT_MetaTileEntity_WetTransformer( - 12004, "wettransformer.tier.04", "Extreme Power Transformer", 4).getStackForm(1L));//IV -> EV (Use Soft Mallet to invert) + CustomItemList.WetTransformer_IV_EV.set( + new GT_MetaTileEntity_WetTransformer(12004, "wettransformer.tier.04", "Extreme Power Transformer", 4) + .getStackForm(1L)); // IV -> EV (Use Soft Mallet to invert) - CustomItemList.WetTransformer_LuV_IV.set(new GT_MetaTileEntity_WetTransformer( - 12005, "wettransformer.tier.05", "Insane Power Transformer", 5).getStackForm(1L));//LuV -> IV (Use Soft Mallet to invert) + CustomItemList.WetTransformer_LuV_IV.set( + new GT_MetaTileEntity_WetTransformer(12005, "wettransformer.tier.05", "Insane Power Transformer", 5) + .getStackForm(1L)); // LuV -> IV (Use Soft Mallet to invert) - CustomItemList.WetTransformer_ZPM_LuV.set(new GT_MetaTileEntity_WetTransformer( - 12006, "wettransformer.tier.06", "Ludicrous Power Transformer", 6).getStackForm(1L));//ZPM -> LuV (Use Soft Mallet to invert) + CustomItemList.WetTransformer_ZPM_LuV.set( + new GT_MetaTileEntity_WetTransformer(12006, "wettransformer.tier.06", "Ludicrous Power Transformer", 6) + .getStackForm(1L)); // ZPM -> LuV (Use Soft Mallet to invert) CustomItemList.WetTransformer_UV_ZPM.set(new GT_MetaTileEntity_WetTransformer( - 12007, "wettransformer.tier.07", "ZPM Voltage Power Transformer", 7).getStackForm(1L));//UV -> ZPM (Use Soft Mallet to invert) + 12007, "wettransformer.tier.07", "ZPM Voltage Power Transformer", 7) + .getStackForm(1L)); // UV -> ZPM (Use Soft Mallet to invert) - CustomItemList.WetTransformer_UHV_UV.set(new GT_MetaTileEntity_WetTransformer( - 12008, "wettransformer.tier.08", "Ultimate Power Transformer", 8).getStackForm(1L));//UHV -> UV (Use Soft Mallet to invert) + CustomItemList.WetTransformer_UHV_UV.set( + new GT_MetaTileEntity_WetTransformer(12008, "wettransformer.tier.08", "Ultimate Power Transformer", 8) + .getStackForm(1L)); // UHV -> UV (Use Soft Mallet to invert) CustomItemList.WetTransformer_UEV_UHV.set(new GT_MetaTileEntity_WetTransformer( - 12009, "wettransformer.tier.09", "Highly Ultimate Power Transformer", 9).getStackForm(1L));//UEV -> UHV (Use Soft Mallet to invert) + 12009, "wettransformer.tier.09", "Highly Ultimate Power Transformer", 9) + .getStackForm(1L)); // UEV -> UHV (Use Soft Mallet to invert) CustomItemList.WetTransformer_UIV_UEV.set(new GT_MetaTileEntity_WetTransformer( - 12010, "wettransformer.tier.10", "Extremely Ultimate Power Transformer", 10).getStackForm(1L));//UIV -> UEV (Use Soft Mallet to invert) + 12010, "wettransformer.tier.10", "Extremely Ultimate Power Transformer", 10) + .getStackForm(1L)); // UIV -> UEV (Use Soft Mallet to invert) CustomItemList.WetTransformer_UMV_UIV.set(new GT_MetaTileEntity_WetTransformer( - 12011, "wettransformer.tier.11", "Insanely Ultimate Power Transformer", 11).getStackForm(1L));//UMV -> UIV (Use Soft Mallet to invert) + 12011, "wettransformer.tier.11", "Insanely Ultimate Power Transformer", 11) + .getStackForm(1L)); // UMV -> UIV (Use Soft Mallet to invert) CustomItemList.WetTransformer_UXV_UMV.set(new GT_MetaTileEntity_WetTransformer( - 12012, "wettransformer.tier.12", "Mega Ultimate Power Transformer", 12).getStackForm(1L));//UXV -> UMV (Use Soft Mallet to invert) + 12012, "wettransformer.tier.12", "Mega Ultimate Power Transformer", 12) + .getStackForm(1L)); // UXV -> UMV (Use Soft Mallet to invert) CustomItemList.WetTransformer_OPV_UXV.set(new GT_MetaTileEntity_WetTransformer( - 12013, "wettransformer.tier.13", "Extended Mega Ultimate Power Transformer", 13).getStackForm(1L));//OPV -> UXV (Use Soft Mallet to invert) + 12013, "wettransformer.tier.13", "Extended Mega Ultimate Power Transformer", 13) + .getStackForm(1L)); // OPV -> UXV (Use Soft Mallet to invert) CustomItemList.WetTransformer_MAXV_OPV.set(new GT_MetaTileEntity_WetTransformer( - 12014, "wettransformer.tier.14", "Overpowered Power Transformer", 14).getStackForm(1L));//MAX -> OPV (Use Soft Mallet to invert) + 12014, "wettransformer.tier.14", "Overpowered Power Transformer", 14) + .getStackForm(1L)); // MAX -> OPV (Use Soft Mallet to invert) try { MetaTileEntity temp; @@ -102,54 +115,42 @@ public class NoDreamCraftMachineLoader implements Runnable { field.setAccessible(true); } - temp = new GT_MetaTileEntity_BasicHull( - 11230, "hull.tier.10", "UEV Machine Hull", 10, - imagination); + temp = new GT_MetaTileEntity_BasicHull(11230, "hull.tier.10", "UEV Machine Hull", 10, imagination); TT_Utility.setTier(10, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } CustomItemList.Hull_UEV.set(temp.getStackForm(1L)); - temp = new GT_MetaTileEntity_BasicHull( - 11231, "hull.tier.11", "UIV Machine Hull", 11, - imagination); + temp = new GT_MetaTileEntity_BasicHull(11231, "hull.tier.11", "UIV Machine Hull", 11, imagination); TT_Utility.setTier(11, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } CustomItemList.Hull_UIV.set(temp.getStackForm(1L)); - temp = new GT_MetaTileEntity_BasicHull( - 11232, "hull.tier.12", "UMV Machine Hull", 12, - imagination); + temp = new GT_MetaTileEntity_BasicHull(11232, "hull.tier.12", "UMV Machine Hull", 12, imagination); TT_Utility.setTier(12, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } CustomItemList.Hull_UMV.set(temp.getStackForm(1L)); - temp = new GT_MetaTileEntity_BasicHull( - 11233, "hull.tier.13", "UXV Machine Hull", 13, - imagination); + temp = new GT_MetaTileEntity_BasicHull(11233, "hull.tier.13", "UXV Machine Hull", 13, imagination); TT_Utility.setTier(13, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } CustomItemList.Hull_UXV.set(temp.getStackForm(1L)); - temp = new GT_MetaTileEntity_BasicHull( - 11234, "hull.tier.14", "OPV Machine Hull", 14, - imagination); + temp = new GT_MetaTileEntity_BasicHull(11234, "hull.tier.14", "OPV Machine Hull", 14, imagination); TT_Utility.setTier(14, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } CustomItemList.Hull_OPV.set(temp.getStackForm(1L)); - temp = new GT_MetaTileEntity_BasicHull( - 11235, "hull.tier.15", "MAX Machine Hull", 15, - imagination); + temp = new GT_MetaTileEntity_BasicHull(11235, "hull.tier.15", "MAX Machine Hull", 15, imagination); TT_Utility.setTier(15, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -157,11 +158,17 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Hull_MAXV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_TT_Transformer( - 11220, "tt.transformer.tier.09", "Highly Ultimate Transformer", 9);//UEV -> UHV (Use Soft Mallet to invert) + 11220, + "tt.transformer.tier.09", + "Highly Ultimate Transformer", + 9); // UEV -> UHV (Use Soft Mallet to invert) CustomItemList.Transformer_UEV_UHV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_TT_Transformer( - 11221, "tt.transformer.tier.10", "Extremely Ultimate Transformer", 10);//UIV -> UEV (Use Soft Mallet to invert) + 11221, + "tt.transformer.tier.10", + "Extremely Ultimate Transformer", + 10); // UIV -> UEV (Use Soft Mallet to invert) TT_Utility.setTier(10, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -169,7 +176,10 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_UIV_UEV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_TT_Transformer( - 11222, "tt.transformer.tier.11", "Insanely Ultimate Transformer", 11);//UMV -> UIV (Use Soft Mallet to invert) + 11222, + "tt.transformer.tier.11", + "Insanely Ultimate Transformer", + 11); // UMV -> UIV (Use Soft Mallet to invert) TT_Utility.setTier(11, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -177,7 +187,10 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_UMV_UIV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_TT_Transformer( - 11223, "tt.transformer.tier.12", "Mega Ultimate Transformer", 12);//UXV -> UMV (Use Soft Mallet to invert) + 11223, + "tt.transformer.tier.12", + "Mega Ultimate Transformer", + 12); // UXV -> UMV (Use Soft Mallet to invert) TT_Utility.setTier(12, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -185,7 +198,10 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_UXV_UMV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_TT_Transformer( - 11224, "tt.transformer.tier.13", "Extended Mega Ultimate Transformer", 13);//OPV -> UXV (Use Soft Mallet to invert) + 11224, + "tt.transformer.tier.13", + "Extended Mega Ultimate Transformer", + 13); // OPV -> UXV (Use Soft Mallet to invert) TT_Utility.setTier(13, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -193,27 +209,37 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_OPV_UXV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_TT_Transformer( - 11225, "tt.transformer.tier.14", "Overpowered Transformer", 14);//MAX -> OPV (Use Soft Mallet to invert) + 11225, + "tt.transformer.tier.14", + "Overpowered Transformer", + 14); // MAX -> OPV (Use Soft Mallet to invert) TT_Utility.setTier(14, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } CustomItemList.Transformer_MAXV_OPV.set(temp.getStackForm(1L)); - if (Loader.isModLoaded(Reference.GTPLUSPLUS)) { - Class clazz = Class.forName("gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMetaTransformerHiAmp"); - Constructor constructor = clazz.getConstructor(int.class, String.class, String.class, int.class, String.class); + Class clazz = Class.forName( + "gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMetaTransformerHiAmp"); + Constructor constructor = + clazz.getConstructor(int.class, String.class, String.class, int.class, String.class); temp = constructor.newInstance( - 11989, "transformer.ha.tier.09", "Highly Ultimate Hi-Amp Transformer", 9, - //UEV -> UHV (Use Soft Mallet to invert + 11989, + "transformer.ha.tier.09", + "Highly Ultimate Hi-Amp Transformer", + 9, + // UEV -> UHV (Use Soft Mallet to invert 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) + 11910, + "transformer.ha.tier.10", + "Extremely Ultimate Hi-Amp Transformer", + 10, + // UIV -> UEV (Use Soft Mallet to invert) translateToLocal("gt.blockmachines.transformer.ha.tier.10.desc")); TT_Utility.setTier(10, temp); if (GT_Values.GT.isClientSide()) { @@ -222,8 +248,11 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_HA_UIV_UEV.set(temp.getStackForm(1)); temp = constructor.newInstance( - 11911, "transformer.ha.tier.11", "Insanely Ultimate Hi-Amp Transformer", 11, - //UMV -> UIV (Use Soft Mallet to invert) + 11911, + "transformer.ha.tier.11", + "Insanely Ultimate Hi-Amp Transformer", + 11, + // UMV -> UIV (Use Soft Mallet to invert) translateToLocal("gt.blockmachines.transformer.ha.tier.11.desc")); TT_Utility.setTier(11, temp); if (GT_Values.GT.isClientSide()) { @@ -232,8 +261,11 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_HA_UMV_UIV.set(temp.getStackForm(1)); temp = constructor.newInstance( - 11912, "transformer.ha.tier.12", "Mega Ultimate Hi-Amp Transformer", 12, - //UXV -> UMV (Use Soft Mallet to invert) + 11912, + "transformer.ha.tier.12", + "Mega Ultimate Hi-Amp Transformer", + 12, + // UXV -> UMV (Use Soft Mallet to invert) translateToLocal("gt.blockmachines.transformer.ha.tier.12.desc")); TT_Utility.setTier(12, temp); if (GT_Values.GT.isClientSide()) { @@ -242,8 +274,11 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_HA_UXV_UMV.set(temp.getStackForm(1)); temp = constructor.newInstance( - 11913, "transformer.ha.tier.13", "Extended Mega Ultimate Hi-Amp Transformer", 13, - //OPV -> UXV (Use Soft Mallet to invert) + 11913, + "transformer.ha.tier.13", + "Extended Mega Ultimate Hi-Amp Transformer", + 13, + // OPV -> UXV (Use Soft Mallet to invert) translateToLocal("gt.blockmachines.transformer.ha.tier.13.desc")); TT_Utility.setTier(13, temp); if (GT_Values.GT.isClientSide()) { @@ -252,8 +287,11 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Transformer_HA_OPV_UXV.set(temp.getStackForm(1)); temp = constructor.newInstance( - 11914, "transformer.ha.tier.14", "Overpowered Hi-Amp Transformer", 14, - //MAX -> OPV (Use Soft Mallet to invert) + 11914, + "transformer.ha.tier.14", + "Overpowered Hi-Amp Transformer", + 14, + // MAX -> OPV (Use Soft Mallet to invert) translateToLocal("gt.blockmachines.transformer.ha.tier.14.desc")); TT_Utility.setTier(14, temp); if (GT_Values.GT.isClientSide()) { @@ -265,4 +303,4 @@ public class NoDreamCraftMachineLoader implements Runnable { e.printStackTrace(); } } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java b/src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java index 65219271f9..62c399aa26 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java +++ b/src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java @@ -1,96 +1,194 @@ package com.github.technus.tectech.compatibility.gtpp; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.getBestUnstableIsotope; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.getFirstStableIsotope; + import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; import com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry; import gregtech.api.enums.OrePrefixes; -import net.minecraftforge.fluids.FluidStack; - import java.lang.reflect.Method; - -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.getBestUnstableIsotope; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.getFirstStableIsotope; +import net.minecraftforge.fluids.FluidStack; public class GtppAtomLoader { - //region reflect a bit + // region reflect a bit private Class ELEMENT; private Object ELEMENT_INSTANCE; - private Method getUnlocalizedName,getFluid,generate; + private Method getUnlocalizedName, getFluid, generate; - private String getUnlocalizedName(String elementName){ + private String getUnlocalizedName(String elementName) { try { - return (String) getUnlocalizedName.invoke(ELEMENT.getField(elementName).get(ELEMENT_INSTANCE)); - }catch (Exception e){ + return (String) + getUnlocalizedName.invoke(ELEMENT.getField(elementName).get(ELEMENT_INSTANCE)); + } catch (Exception e) { throw new Error(e); } } - private FluidStack getFluid(String elementName, int fluidAmount){ + private FluidStack getFluid(String elementName, int fluidAmount) { try { - return (FluidStack) getFluid.invoke(ELEMENT.getField(elementName).get(ELEMENT_INSTANCE),fluidAmount); - }catch (Exception e){ + return (FluidStack) getFluid.invoke(ELEMENT.getField(elementName).get(ELEMENT_INSTANCE), fluidAmount); + } catch (Exception e) { throw new Error(e); } } - private void generate(String elementName,boolean generateAll, boolean generateBlastRecipes){ + private void generate(String elementName, boolean generateAll, boolean generateBlastRecipes) { try { - generate.invoke(null,ELEMENT.getField(elementName).get(ELEMENT_INSTANCE),generateAll,generateBlastRecipes); - }catch (Exception e){ + generate.invoke( + null, ELEMENT.getField(elementName).get(ELEMENT_INSTANCE), generateAll, generateBlastRecipes); + } catch (Exception e) { throw new Error(e); } } - //endregion + // endregion public void setTransformations(EMTransformationRegistry transformationInfo) { - //region reflect a bit - try{ - ELEMENT=Class.forName("gtPlusPlus.core.material.ELEMENT"); - ELEMENT_INSTANCE=ELEMENT.getMethod("getInstance").invoke(null); + // region reflect a bit + try { + ELEMENT = Class.forName("gtPlusPlus.core.material.ELEMENT"); + ELEMENT_INSTANCE = ELEMENT.getMethod("getInstance").invoke(null); - Class clazz=Class.forName("gtPlusPlus.core.material.Material"); - getUnlocalizedName=clazz.getMethod("getUnlocalizedName"); - try{ - getFluid=clazz.getMethod("getFluidStack", int.class); - }catch (Exception e){ - getFluid=clazz.getMethod("getFluid", int.class); + Class clazz = Class.forName("gtPlusPlus.core.material.Material"); + getUnlocalizedName = clazz.getMethod("getUnlocalizedName"); + try { + getFluid = clazz.getMethod("getFluidStack", int.class); + } catch (Exception e) { + getFluid = clazz.getMethod("getFluid", int.class); } - clazz=Class.forName("gtPlusPlus.core.material.MaterialGenerator"); - generate=clazz.getMethod("generate", Class.forName("gtPlusPlus.core.material.Material"), boolean.class, boolean.class); - }catch (Exception e){ + clazz = Class.forName("gtPlusPlus.core.material.MaterialGenerator"); + generate = clazz.getMethod( + "generate", Class.forName("gtPlusPlus.core.material.Material"), boolean.class, boolean.class); + } catch (Exception e) { throw new Error(e); } - //endregion + // endregion - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(10), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), getFluid("NEON",144)); - generate("GERMANIUM",true,true); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(32), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), OrePrefixes.dust, getUnlocalizedName("GERMANIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(34), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), OrePrefixes.dust, getUnlocalizedName("SELENIUM"),1); - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(35), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), getFluid("BROMINE",144)); - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(36), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), getFluid("KRYPTON",144)); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(40), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("ZIRCONIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(43), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("TECHNETIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(44), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("RUTHENIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(45), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("RHODIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(53), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("IODINE"),1); - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(54), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),getFluid("XENON",144)); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(72), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("HAFNIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(75), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("RHENIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(81), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("THALLIUM"),1); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(10), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + getFluid("NEON", 144)); + generate("GERMANIUM", true, true); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(32), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("GERMANIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(34), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("SELENIUM"), + 1); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(35), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + getFluid("BROMINE", 144)); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(36), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + getFluid("KRYPTON", 144)); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(40), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("ZIRCONIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(43), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("TECHNETIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(44), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("RUTHENIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(45), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("RHODIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(53), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("IODINE"), + 1); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(54), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + getFluid("XENON", 144)); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(72), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("HAFNIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(75), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("RHENIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(81), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("THALLIUM"), + 1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(84), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("POLONIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(85), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("ASTATINE"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(87), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("FRANCIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(88), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("RADIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(89), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("ACTINIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(91), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("PROTACTINIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(93), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("NEPTUNIUM"),1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(84), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("POLONIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(85), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("ASTATINE"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(87), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("FRANCIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(88), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("RADIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(89), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("ACTINIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(91), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("PROTACTINIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(93), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("NEPTUNIUM"), + 1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(96), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("CURIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(97), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("BERKELIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(98), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("CALIFORNIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(99), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("EINSTEINIUM"),1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(100), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED),OrePrefixes.dust, getUnlocalizedName("FERMIUM"),1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(96), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("CURIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(97), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("BERKELIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(98), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("CALIFORNIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(99), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("EINSTEINIUM"), + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(100), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + OrePrefixes.dust, + getUnlocalizedName("FERMIUM"), + 1); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openComputers/AvrArchitecture.java b/src/main/java/com/github/technus/tectech/compatibility/openComputers/AvrArchitecture.java index ceadce9d6d..ff610f70da 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openComputers/AvrArchitecture.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openComputers/AvrArchitecture.java @@ -10,6 +10,11 @@ import com.github.technus.avrClone.memory.RemovableMemory; import com.github.technus.avrClone.memory.program.ProgramMemory; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.util.Converter; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.zip.GZIPInputStream; +import java.util.zip.GZIPOutputStream; import li.cil.oc.Settings; import li.cil.oc.api.Driver; import li.cil.oc.api.driver.Item; @@ -23,12 +28,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import org.apache.commons.compress.utils.IOUtils; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.zip.GZIPInputStream; -import java.util.zip.GZIPOutputStream; - @Architecture.Name("AVR 32Bit Clone") @Architecture.NoMemoryRequirements public class AvrArchitecture implements Architecture { @@ -45,7 +44,7 @@ public class AvrArchitecture implements Architecture { @Override public boolean isInitialized() { - return core!=null && core.checkValid(); + return core != null && core.checkValid(); } @Override @@ -60,24 +59,22 @@ public class AvrArchitecture implements Architecture { Item driver = Driver.driverFor(component); if (driver instanceof Memory) { Memory memoryDriver = (Memory) driver; - memory += memoryDriver.amount(component) * 256;//in integers - }// else if (driver instanceof DriverEEPROM$) { + memory += memoryDriver.amount(component) * 256; // in integers + } // else if (driver instanceof DriverEEPROM$) { - //} + // } } memory = Math.min(Math.max(memory, 0), Settings.get().maxTotalRam()); - if(memory!=memSize){ - - } + if (memory != memSize) {} } @Override public boolean initialize() { - core=new AvrCore(); + core = new AvrCore(); computeMemory(this.machine.host().internalComponents()); - if(isInitialized()) { + if (isInitialized()) { machine.beep("."); return true; } @@ -86,9 +83,9 @@ public class AvrArchitecture implements Architecture { @Override public void close() { - core=null; - tempData=null; - delay=0; + core = null; + tempData = null; + delay = 0; } @Override @@ -99,26 +96,26 @@ public class AvrArchitecture implements Architecture { @Override public ExecutionResult runThreaded(boolean isSynchronizedReturn) { if (core.awoken) { - delay=0; - for (int load=0; load < 512;) { - load+=core.getInstruction().getCost(core); + delay = 0; + for (int load = 0; load < 512; ) { + load += core.getInstruction().getCost(core); ExecutionEvent executionEvent = core.cpuCycleForce(); if (executionEvent != null) { if (executionEvent.throwable instanceof DelayEvent) { delay = executionEvent.data[0]; break; } else if (executionEvent.throwable instanceof DebugEvent) { - if(debugRun) { - //aBaseMetaTileEntity.setActive(false); + if (debugRun) { + // aBaseMetaTileEntity.setActive(false); break; } } } } - }else if(delay>0){ + } else if (delay > 0) { delay--; - if(delay==0){ - core.awoken=true; + if (delay == 0) { + core.awoken = true; } } return null; @@ -126,14 +123,14 @@ public class AvrArchitecture implements Architecture { @Override public void onSignal() { - Signal signal=machine.popSignal(); + Signal signal = machine.popSignal(); core.interruptsHandle(); } @Override public void onConnect() { - //init network components, in case init was called from load logic (pre first tick?) + // init network components, in case init was called from load logic (pre first tick?) } @Override @@ -143,15 +140,17 @@ public class AvrArchitecture implements Architecture { core.active = avr.getBoolean("active"); core.awoken = (avr.getBoolean("awoken")); core.programCounter = avr.getInteger("programCounter"); - InstructionRegistry registry = - InstructionRegistry.REGISTRIES. - get(avr.getString("instructionRegistry")); + InstructionRegistry registry = InstructionRegistry.REGISTRIES.get(avr.getString("instructionRegistry")); if (registry != null) { byte[] instructions = SaveHandler.load(avr, this.machine.node().address() + "_instructionsMemory"); byte[] param0 = SaveHandler.load(avr, this.machine.node().address() + "_param0Memory"); byte[] param1 = SaveHandler.load(avr, this.machine.node().address() + "_param1Memory"); - if (instructions != null && param0 != null && param1 != null && - instructions.length > 0 && param0.length > 0 && param1.length > 0) { + if (instructions != null + && param0 != null + && param1 != null + && instructions.length > 0 + && param0.length > 0 + && param1.length > 0) { int[] instr = null, par0 = null, par1 = null; try { GZIPInputStream gzis = new GZIPInputStream(new ByteArrayInputStream(instructions)); @@ -177,22 +176,20 @@ public class AvrArchitecture implements Architecture { TecTech.LOGGER.error("Failed to decompress param1 memory from disk."); e.printStackTrace(); } - if (instr != null && par0 != null && par1 != null && - instr.length==par0.length && instr.length==par1.length) { - core.setProgramMemory(new ProgramMemory( - registry, - avr.getBoolean("immersive"), - instr, - par0, - par1)); + if (instr != null + && par0 != null + && par1 != null + && instr.length == par0.length + && instr.length == par1.length) { + core.setProgramMemory(new ProgramMemory(registry, avr.getBoolean("immersive"), instr, par0, par1)); } } } - if(avr.hasKey("eepromSize")){ + if (avr.hasKey("eepromSize")) { core.restoreEepromDefinition(EepromMemory.make(avr.getInteger("eepromSize"))); } byte[] data = SaveHandler.load(avr, this.machine.node().address() + "_dataMemory"); - if(data!=null && data.length > 0) { + if (data != null && data.length > 0) { try { GZIPInputStream gzis = new GZIPInputStream(new ByteArrayInputStream(data)); tempData = Converter.readInts(IOUtils.toByteArray(gzis)); @@ -207,19 +204,20 @@ public class AvrArchitecture implements Architecture { @Override public void save(NBTTagCompound avr) { - avr.setBoolean("debugRun",debugRun); - avr.setInteger("delay",delay); - avr.setBoolean("active",core.active); - avr.setBoolean("awoken",core.awoken); - avr.setInteger("programCounter",core.programCounter); - ProgramMemory programMemory=core.getProgramMemory(); - if(programMemory!=null){ + avr.setBoolean("debugRun", debugRun); + avr.setInteger("delay", delay); + avr.setBoolean("active", core.active); + avr.setBoolean("awoken", core.awoken); + avr.setInteger("programCounter", core.programCounter); + ProgramMemory programMemory = core.getProgramMemory(); + if (programMemory != null) { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); GZIPOutputStream gzos = new GZIPOutputStream(baos); gzos.write(Converter.writeInts(programMemory.instructions)); gzos.close(); - SaveHandler.scheduleSave(machine.host(), avr, machine.node().address() + "_instructionsMemory", baos.toByteArray()); + SaveHandler.scheduleSave( + machine.host(), avr, machine.node().address() + "_instructionsMemory", baos.toByteArray()); } catch (IOException e) { TecTech.LOGGER.error("Failed to compress instructions memory to disk"); e.printStackTrace(); @@ -229,7 +227,8 @@ public class AvrArchitecture implements Architecture { GZIPOutputStream gzos = new GZIPOutputStream(baos); gzos.write(Converter.writeInts(programMemory.param0)); gzos.close(); - SaveHandler.scheduleSave(machine.host(), avr, machine.node().address() + "_param0Memory", baos.toByteArray()); + SaveHandler.scheduleSave( + machine.host(), avr, machine.node().address() + "_param0Memory", baos.toByteArray()); } catch (IOException e) { TecTech.LOGGER.error("Failed to compress param0 memory to disk"); e.printStackTrace(); @@ -239,25 +238,27 @@ public class AvrArchitecture implements Architecture { GZIPOutputStream gzos = new GZIPOutputStream(baos); gzos.write(Converter.writeInts(programMemory.param1)); gzos.close(); - SaveHandler.scheduleSave(machine.host(), avr, machine.node().address() + "_param1Memory", baos.toByteArray()); + SaveHandler.scheduleSave( + machine.host(), avr, machine.node().address() + "_param1Memory", baos.toByteArray()); } catch (IOException e) { TecTech.LOGGER.error("Failed to compress param1 memory to disk"); e.printStackTrace(); } - avr.setBoolean("immersive",programMemory.immersiveOperands); - avr.setString("instructionRegistry",programMemory.registry.toString()); + avr.setBoolean("immersive", programMemory.immersiveOperands); + avr.setString("instructionRegistry", programMemory.registry.toString()); } - RemovableMemory eeprom=core.getEepromMemory(); - if(eeprom!=null){ - avr.setInteger("eepromSize",eeprom.getDefinition().getSize()); + RemovableMemory eeprom = core.getEepromMemory(); + if (eeprom != null) { + avr.setInteger("eepromSize", eeprom.getDefinition().getSize()); } - if(core.dataMemory!=null) { + if (core.dataMemory != null) { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); GZIPOutputStream gzos = new GZIPOutputStream(baos); gzos.write(Converter.writeInts(core.dataMemory)); gzos.close(); - SaveHandler.scheduleSave(machine.host(), avr, machine.node().address() + "_dataMemory", baos.toByteArray()); + SaveHandler.scheduleSave( + machine.host(), avr, machine.node().address() + "_dataMemory", baos.toByteArray()); } catch (IOException e) { TecTech.LOGGER.error("Failed to compress data memory to disk"); e.printStackTrace(); 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 d66232671a..1d77c71ce8 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 @@ -16,7 +16,9 @@ public class TT_turret_loader implements Runnable { public void run() { TurretHeadRenderEM turretHeadRenderEM = new TurretHeadRenderEM(); ClientRegistry.bindTileEntitySpecialRenderer(TileTurretHeadEM.class, turretHeadRenderEM); - MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(TurretHeadEM.INSTANCE), new TurretHeadItemRenderEM(turretHeadRenderEM, new TileTurretHeadEM())); + MinecraftForgeClient.registerItemRenderer( + Item.getItemFromBlock(TurretHeadEM.INSTANCE), + new TurretHeadItemRenderEM(turretHeadRenderEM, new TileTurretHeadEM())); RenderingRegistry.registerEntityRenderingHandler(projectileEM.class, new projectileRenderEM()); } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseEM.java index 654b4e37a6..fd2ed56162 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseEM.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.compatibility.openmodularturrets.blocks.turretbases; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.compatibility.openmodularturrets.tileentity.turretbase.TileTurretBaseEM; import cpw.mods.fml.common.registry.GameRegistry; @@ -10,8 +12,6 @@ import net.minecraft.world.World; import openmodularturrets.blocks.turretbases.BlockAbstractTurretBase; import openmodularturrets.handler.ConfigHandler; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; - /** * Created by Tec on 27/07/2017. */ @@ -20,28 +20,28 @@ public class TurretBaseEM extends BlockAbstractTurretBase { private final int MaxIO = ConfigHandler.getBaseTierFiveMaxIo(); public static TurretBaseEM INSTANCE; - public TurretBaseEM(){ + public TurretBaseEM() { setCreativeTab(creativeTabTecTech); setResistance(16); setBlockName("turretBaseEM"); setStepSound(Block.soundTypeMetal); - setBlockTextureName(Reference.MODID+":turretBaseEM"); + setBlockTextureName(Reference.MODID + ":turretBaseEM"); } @Override public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileTurretBaseEM(MaxCharge,MaxIO); + return new TileTurretBaseEM(MaxCharge, MaxIO); } @Override public void registerBlockIcons(IIconRegister p_149651_1_) { super.registerBlockIcons(p_149651_1_); - blockIcon = p_149651_1_.registerIcon(Reference.MODID+":turretBaseEM"); + blockIcon = p_149651_1_.registerIcon(Reference.MODID + ":turretBaseEM"); } public static void run() { INSTANCE = new TurretBaseEM(); GameRegistry.registerBlock(INSTANCE, TurretBaseItemEM.class, INSTANCE.getUnlocalizedName()); - GameRegistry.registerTileEntity(TileTurretBaseEM.class,"TileTurretBaseEM"); + GameRegistry.registerTileEntity(TileTurretBaseEM.class, "TileTurretBaseEM"); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseItemEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseItemEM.java index ed4b72f094..ce5e7c60a8 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseItemEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretbases/TurretBaseItemEM.java @@ -1,16 +1,15 @@ package com.github.technus.tectech.compatibility.openmodularturrets.blocks.turretbases; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import java.util.List; - -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 28/07/2017. */ @@ -33,4 +32,4 @@ public class TurretBaseItemEM extends ItemBlock { list.add(""); list.add(EnumChatFormatting.DARK_GRAY + translateToLocal("flavour.base.0")); } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadEM.java index da212d4853..0b242505ab 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadEM.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.compatibility.openmodularturrets.blocks.turretheads; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; + import com.github.technus.tectech.compatibility.openmodularturrets.tileentity.turret.TileTurretHeadEM; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; @@ -11,15 +13,13 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import openmodularturrets.tileentity.turretbase.TurretBase; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; - /** * Created by Tec on 27/07/2017. */ public class TurretHeadEM extends Block implements ITileEntityProvider { public static TurretHeadEM INSTANCE; - public TurretHeadEM(){ + public TurretHeadEM() { super(Material.glass); setCreativeTab(creativeTabTecTech); setBlockUnbreakable(); @@ -27,7 +27,7 @@ public class TurretHeadEM extends Block implements ITileEntityProvider { setStepSound(Block.soundTypeMetal); setBlockBounds(0.2F, 0.0F, 0.2F, 0.8F, 1F, 0.8F); setBlockName("turretHeadEM"); - //this.setBlockTextureName(Reference.MODID+":turretHeadEM"); + // this.setBlockTextureName(Reference.MODID+":turretHeadEM"); } @Override @@ -42,12 +42,12 @@ public class TurretHeadEM extends Block implements ITileEntityProvider { @Override public boolean canPlaceBlockAt(World worldIn, int x, int y, int z) { - return worldIn.getTileEntity(x + 1, y, z) instanceof TurretBase || - worldIn.getTileEntity(x - 1, y, z) instanceof TurretBase || - worldIn.getTileEntity(x,y + 1, z) instanceof TurretBase || - worldIn.getTileEntity(x,y - 1, z) instanceof TurretBase || - worldIn.getTileEntity(x,y, z + 1) instanceof TurretBase || - worldIn.getTileEntity(x,y, z - 1) instanceof TurretBase; + return worldIn.getTileEntity(x + 1, y, z) instanceof TurretBase + || worldIn.getTileEntity(x - 1, y, z) instanceof TurretBase + || worldIn.getTileEntity(x, y + 1, z) instanceof TurretBase + || worldIn.getTileEntity(x, y - 1, z) instanceof TurretBase + || worldIn.getTileEntity(x, y, z + 1) instanceof TurretBase + || worldIn.getTileEntity(x, y, z - 1) instanceof TurretBase; } @Override @@ -63,6 +63,6 @@ public class TurretHeadEM extends Block implements ITileEntityProvider { public static void run() { INSTANCE = new TurretHeadEM(); GameRegistry.registerBlock(INSTANCE, TurretHeadItemEM.class, INSTANCE.getUnlocalizedName()); - GameRegistry.registerTileEntity(TileTurretHeadEM.class,"TileTurretHeadEM"); + GameRegistry.registerTileEntity(TileTurretHeadEM.class, "TileTurretHeadEM"); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadItemEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadItemEM.java index ce11976020..068e0fbb0f 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadItemEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/blocks/turretheads/TurretHeadItemEM.java @@ -1,5 +1,10 @@ package com.github.technus.tectech.compatibility.openmodularturrets.blocks.turretheads; +import static com.github.technus.tectech.util.CommonValues.TEC_MARK_EM; +import static net.minecraft.util.StatCollector.translateToLocal; + +import java.text.DecimalFormat; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; @@ -7,12 +12,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import openmodularturrets.handler.ConfigHandler; -import java.text.DecimalFormat; -import java.util.List; - -import static com.github.technus.tectech.util.CommonValues.TEC_MARK_EM; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 28/07/2017. */ @@ -29,16 +28,25 @@ public class TurretHeadItemEM extends ItemBlock { list.add(""); list.add(EnumChatFormatting.GOLD + "--" + translateToLocal("tooltip.info") + "--"); list.add(translateToLocal("tooltip.tier") + ": " + EnumChatFormatting.WHITE + '5'); - list.add(translateToLocal("tooltip.range") + ": " + EnumChatFormatting.WHITE + ConfigHandler.getLaserTurretSettings().getRange()); - list.add(translateToLocal("tooltip.accuracy") + ": " + EnumChatFormatting.WHITE + translateToLocal("turret.accuracy.high")); - list.add(translateToLocal("tooltip.ammo") + ": " + EnumChatFormatting.WHITE + translateToLocal("turret.ammo.4")); - list.add(translateToLocal("tooltip.tierRequired") + ": " + EnumChatFormatting.WHITE + translateToLocal("base.tier.5")); + list.add(translateToLocal("tooltip.range") + ": " + EnumChatFormatting.WHITE + + ConfigHandler.getLaserTurretSettings().getRange()); + list.add(translateToLocal("tooltip.accuracy") + ": " + EnumChatFormatting.WHITE + + translateToLocal("turret.accuracy.high")); + list.add( + translateToLocal("tooltip.ammo") + ": " + EnumChatFormatting.WHITE + translateToLocal("turret.ammo.4")); + list.add(translateToLocal("tooltip.tierRequired") + ": " + EnumChatFormatting.WHITE + + translateToLocal("base.tier.5")); list.add(""); list.add(EnumChatFormatting.DARK_PURPLE + "--" + translateToLocal("tooltip.damage.label") + "--"); - list.add(translateToLocal("tooltip.damage.stat") + ": " + EnumChatFormatting.WHITE + (float)ConfigHandler.getLaserTurretSettings().getDamage() / 2.0F + ' ' + translateToLocal("tooltip.health")); + list.add(translateToLocal("tooltip.damage.stat") + ": " + EnumChatFormatting.WHITE + + (float) ConfigHandler.getLaserTurretSettings().getDamage() / 2.0F + ' ' + + translateToLocal("tooltip.health")); list.add(translateToLocal("tooltip.aoe") + ": " + EnumChatFormatting.WHITE + '0'); - list.add(translateToLocal("tooltip.firerate") + ": " + EnumChatFormatting.WHITE + df.format(20.0F / (float)ConfigHandler.getLaserTurretSettings().getFireRate())); - list.add(translateToLocal("tooltip.energy.stat") + ": " + EnumChatFormatting.WHITE + ConfigHandler.getLaserTurretSettings().getPowerUsage() + " RF"); + list.add(translateToLocal("tooltip.firerate") + ": " + EnumChatFormatting.WHITE + + df.format( + 20.0F / (float) ConfigHandler.getLaserTurretSettings().getFireRate())); + list.add(translateToLocal("tooltip.energy.stat") + ": " + EnumChatFormatting.WHITE + + ConfigHandler.getLaserTurretSettings().getPowerUsage() + " RF"); list.add(""); list.add(EnumChatFormatting.DARK_GRAY + translateToLocal("flavour.turret.4")); } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileEM.java index 54bd3aaea5..b985f00b01 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileEM.java @@ -16,20 +16,19 @@ import openmodularturrets.tileentity.turretbase.TurretBase; import openmodularturrets.util.PlayerUtil; import openmodularturrets.util.TurretHeadUtil; - /** * Created by Bass on 27/07/2017. */ public class projectileEM extends LaserProjectile { - public float gravity=0; + public float gravity = 0; private TurretBase turretBase; - private boolean strange, antiMatter,isAmped; + private boolean strange, antiMatter, isAmped; private int ampLevel; private float massFactor; - private double mass,charge; + private double mass, charge; public projectileEM(World par1World) { super(par1World); @@ -37,7 +36,7 @@ public class projectileEM extends LaserProjectile { public projectileEM(World par1World, TurretBase turretBase) { super(par1World, turretBase); - int amp=TurretHeadUtil.getAmpLevel(turretBase); + int amp = TurretHeadUtil.getAmpLevel(turretBase); if (amp > 0) { this.isAmped = true; this.ampLevel = amp; @@ -47,86 +46,121 @@ public class projectileEM extends LaserProjectile { public projectileEM(World par1World, TurretBase turretBase, EMInstanceStack projectileContent) { super(par1World, turretBase); this.turretBase = turretBase; - if(projectileContent != null){ - mass=projectileContent.getMass(); - charge=projectileContent.getCharge(); - massFactor =(float) (projectileContent.getDefinition().getMass()/ EMHadronDefinition.hadron_n_.getMass()); + if (projectileContent != null) { + mass = projectileContent.getMass(); + charge = projectileContent.getCharge(); + massFactor = (float) (projectileContent.getDefinition().getMass() / EMHadronDefinition.hadron_n_.getMass()); - if(projectileContent.getDefinition().getGeneration()>1 || projectileContent.getDefinition().getGeneration()<-1) { + if (projectileContent.getDefinition().getGeneration() > 1 + || projectileContent.getDefinition().getGeneration() < -1) { strange = true; } - if(projectileContent.getDefinition().getGeneration()<0) { + if (projectileContent.getDefinition().getGeneration() < 0) { antiMatter = true; } if (projectileContent.getDefinition().getCharge() == 0) { gravity = massFactor / 100f; } else { - gravity = Math.min(0.0025F / Math.abs(projectileContent.getDefinition().getCharge()), massFactor / 100f); + gravity = Math.min( + 0.0025F / Math.abs(projectileContent.getDefinition().getCharge()), massFactor / 100f); } } } @Override protected void onImpact(MovingObjectPosition movingobjectposition) { - if(ticksExisted > 1) { - if(!worldObj.isRemote){ - worldObj.playSoundEffect(posX, posY, posZ, "openmodularturrets:laserHit", ConfigHandler.getTurretSoundVolume(), TecTech.RANDOM.nextFloat() + 0.5F); - switch (movingobjectposition.typeOfHit){ + if (ticksExisted > 1) { + if (!worldObj.isRemote) { + worldObj.playSoundEffect( + posX, + posY, + posZ, + "openmodularturrets:laserHit", + ConfigHandler.getTurretSoundVolume(), + TecTech.RANDOM.nextFloat() + 0.5F); + switch (movingobjectposition.typeOfHit) { case BLOCK: - Block hitBlock = worldObj.getBlock(movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ); - if(hitBlock != null){ - if (TecTech.configTecTech.ENABLE_TURRET_EXPLOSIONS && antiMatter && hitBlock.getMaterial().isSolid()) { - GT_Utility.sendSoundToPlayers(worldObj, GregTech_API.sSoundList.get(209), 1.0F, -1.0F, + Block hitBlock = worldObj.getBlock( + movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ); + if (hitBlock != null) { + if (TecTech.configTecTech.ENABLE_TURRET_EXPLOSIONS + && antiMatter + && hitBlock.getMaterial().isSolid()) { + GT_Utility.sendSoundToPlayers( + worldObj, + GregTech_API.sSoundList.get(209), + 1.0F, + -1.0F, movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ); - worldObj.createExplosion(null, + worldObj.createExplosion( + null, movingobjectposition.blockX + 0.5D, movingobjectposition.blockY + 0.5D, movingobjectposition.blockZ + 0.5D, - TecTech.configTecTech.TURRET_EXPLOSION_FACTOR * (strange ? 10 : 1) * massFactor * (isAmped ? ampLevel * .1f + 1 : 1) * (ticksExisted / 250f), true); + TecTech.configTecTech.TURRET_EXPLOSION_FACTOR + * (strange ? 10 : 1) + * massFactor + * (isAmped ? ampLevel * .1f + 1 : 1) + * (ticksExisted / 250f), + true); } else { return; } } break; case ENTITY: - float damage = (strange ?10:1) * TecTech.configTecTech.TURRET_DAMAGE_FACTOR * massFactor * (isAmped? ampLevel*.1f +1:1); - - if(movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer player=(EntityPlayer)movingobjectposition.entityHit; - if(canDamagePlayer(player)) { - movingobjectposition.entityHit.setFire((strange ?10:1)*2); - movingobjectposition.entityHit.attackEntityFrom(new NormalDamageSource("laser"), damage); - if(antiMatter) { + float damage = (strange ? 10 : 1) + * TecTech.configTecTech.TURRET_DAMAGE_FACTOR + * massFactor + * (isAmped ? ampLevel * .1f + 1 : 1); + + if (movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) movingobjectposition.entityHit; + if (canDamagePlayer(player)) { + movingobjectposition.entityHit.setFire((strange ? 10 : 1) * 2); + movingobjectposition.entityHit.attackEntityFrom( + new NormalDamageSource("laser"), damage); + if (antiMatter) { movingobjectposition.entityHit.hurtResistantTime = 0; } - if(strange){ - TecTech.anomalyHandler.addCancer(player,mass); + if (strange) { + TecTech.anomalyHandler.addCancer(player, mass); } - if(charge!=0) { - TecTech.anomalyHandler.addCharge(player,charge); + if (charge != 0) { + TecTech.anomalyHandler.addCharge(player, charge); } } } else { - movingobjectposition.entityHit.setFire((strange ?10:1)*2); + movingobjectposition.entityHit.setFire((strange ? 10 : 1) * 2); movingobjectposition.entityHit.attackEntityFrom(new NormalDamageSource("laser"), damage); - if(antiMatter) { + if (antiMatter) { movingobjectposition.entityHit.hurtResistantTime = 0; } } if (TecTech.configTecTech.ENABLE_TURRET_EXPLOSIONS && antiMatter) { - GT_Utility.sendSoundToPlayers(worldObj, GregTech_API.sSoundList.get(209), 1.0F, -1.0F, - (int)movingobjectposition.entityHit.posX, - (int)movingobjectposition.entityHit.posY, - (int)movingobjectposition.entityHit.posZ); - worldObj.createExplosion(null, + GT_Utility.sendSoundToPlayers( + worldObj, + GregTech_API.sSoundList.get(209), + 1.0F, + -1.0F, + (int) movingobjectposition.entityHit.posX, + (int) movingobjectposition.entityHit.posY, + (int) movingobjectposition.entityHit.posZ); + worldObj.createExplosion( + null, movingobjectposition.entityHit.posX, movingobjectposition.entityHit.posY, movingobjectposition.entityHit.posZ, - (strange ?10:1) * TecTech.configTecTech.TURRET_EXPLOSION_FACTOR * massFactor * (isAmped? ampLevel*.1f +1:1) * (ticksExisted/250f), true); + (strange ? 10 : 1) + * TecTech.configTecTech.TURRET_EXPLOSION_FACTOR + * massFactor + * (isAmped ? ampLevel * .1f + 1 : 1) + * (ticksExisted / 250f), + true); } break; } @@ -136,12 +170,15 @@ public class projectileEM extends LaserProjectile { } public boolean canDamagePlayer(EntityPlayer entityPlayer) { - return ConfigHandler.turretDamageTrustedPlayers || this.turretBase.getTrustedPlayer(entityPlayer.getUniqueID()) == null && !PlayerUtil.getPlayerUIDUnstable(this.turretBase.getOwner()).equals(entityPlayer.getUniqueID()); + return ConfigHandler.turretDamageTrustedPlayers + || this.turretBase.getTrustedPlayer(entityPlayer.getUniqueID()) == null + && !PlayerUtil.getPlayerUIDUnstable(this.turretBase.getOwner()) + .equals(entityPlayer.getUniqueID()); } @Override public void onEntityUpdate() { - if(ticksExisted >= 75) { + if (ticksExisted >= 75) { setDead(); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileRenderEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileRenderEM.java index 812a752562..ce656f8c8f 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileRenderEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/entity/projectiles/projectileRenderEM.java @@ -16,24 +16,30 @@ import org.lwjgl.opengl.GL11; */ @SideOnly(Side.CLIENT) public class projectileRenderEM extends Render { - private static final ResourceLocation textures = new ResourceLocation(Reference.MODID + ":textures/entity/projectileEM.png"); + private static final ResourceLocation textures = + new ResourceLocation(Reference.MODID + ":textures/entity/projectileEM.png"); private void render(projectileEM entity, double par2, double par4, double par6, float par9) { bindEntityTexture(entity); GL11.glPushMatrix(); - GL11.glTranslatef((float)par2, (float)par4 + 0.3F, (float)par6); - GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef((float) par2, (float) par4 + 0.3F, (float) par6); + GL11.glRotatef( + entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * par9 - 90.0F, + 0.0F, + 1.0F, + 0.0F); + GL11.glRotatef( + entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F); Tessellator var18 = Tessellator.instance; byte b0 = 0; float f2 = 0.0F; float f3 = 0.5F; - float f4 = (float)(b0 * 10) / 32.0F; - float f5 = (float)(5 + b0 * 10) / 32.0F; + float f4 = (float) (b0 * 10) / 32.0F; + float f5 = (float) (5 + b0 * 10) / 32.0F; float f10 = 0.05625F; GL11.glEnable('\u803a'); - float f11 = - par9; - if(f11 > 0.0F) { + float f11 = -par9; + if (f11 > 0.0F) { float f = -MathHelper.sin(f11 * 3.0F) * f11; GL11.glRotatef(f, 0.0F, 0.0F, 1.0F); } @@ -45,14 +51,14 @@ public class projectileRenderEM extends Render { GL11.glTranslatef(0.0F, 0.0F, 0.0F); GL11.glNormal3f(f10, 0.0F, 0.0F); - for(int var19 = 0; var19 < 4; ++var19) { + for (int var19 = 0; var19 < 4; ++var19) { GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); GL11.glNormal3f(0.0F, 0.0F, f10); var18.startDrawingQuads(); - var18.addVertexWithUV(-16.0D, -2.0D, 0.0D, (double)f2, (double)f4); - var18.addVertexWithUV(16.0D, -2.0D, 0.0D, (double)f3, (double)f4); - var18.addVertexWithUV(16.0D, 2.0D, 0.0D, (double)f3, (double)f5); - var18.addVertexWithUV(-16.0D, 2.0D, 0.0D, (double)f2, (double)f5); + var18.addVertexWithUV(-16.0D, -2.0D, 0.0D, (double) f2, (double) f4); + var18.addVertexWithUV(16.0D, -2.0D, 0.0D, (double) f3, (double) f4); + var18.addVertexWithUV(16.0D, 2.0D, 0.0D, (double) f3, (double) f5); + var18.addVertexWithUV(-16.0D, 2.0D, 0.0D, (double) f2, (double) f5); var18.draw(); } @@ -68,6 +74,6 @@ public class projectileRenderEM extends Render { @Override public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9) { - render((projectileEM)par1Entity, par2, par4, par6, par9); + render((projectileEM) par1Entity, par2, par4, par6, par9); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turret/TileTurretHeadEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turret/TileTurretHeadEM.java index 742232d8c6..b8b843844f 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turret/TileTurretHeadEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turret/TileTurretHeadEM.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.compatibility.openmodularturrets.tileentity.turret; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; + import com.github.technus.tectech.compatibility.openmodularturrets.entity.projectiles.projectileEM; import com.github.technus.tectech.compatibility.openmodularturrets.tileentity.turretbase.TileTurretBaseEM; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; @@ -14,37 +16,35 @@ import openmodularturrets.handler.ConfigHandler; import openmodularturrets.tileentity.turrets.TurretHead; import openmodularturrets.util.TurretHeadUtil; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; - /** * Created by Bass on 27/07/2017. */ -public class TileTurretHeadEM extends TurretHead{ +public class TileTurretHeadEM extends TurretHead { private EMInstanceStackMap hatchContentPointer; @Override public int getTurretRange() { - return ConfigHandler.getLaserTurretSettings().getRange()<<1; + return ConfigHandler.getLaserTurretSettings().getRange() << 1; } @Override public int getTurretPowerUsage() { - return ConfigHandler.getLaserTurretSettings().getPowerUsage()<<4; + return ConfigHandler.getLaserTurretSettings().getPowerUsage() << 4; } @Override public int getTurretFireRate() { - return (int)Math.ceil(ConfigHandler.getLaserTurretSettings().getFireRate()/2f); + return (int) Math.ceil(ConfigHandler.getLaserTurretSettings().getFireRate() / 2f); } @Override public double getTurretAccuracy() { - return (int)Math.ceil(ConfigHandler.getLaserTurretSettings().getAccuracy() / 10.0F); + return (int) Math.ceil(ConfigHandler.getLaserTurretSettings().getAccuracy() / 10.0F); } @Override public void updateEntity() { - if(!worldObj.isRemote && base instanceof TileTurretBaseEM) { + if (!worldObj.isRemote && base instanceof TileTurretBaseEM) { hatchContentPointer = ((TileTurretBaseEM) base).getContainerHandler(); } super.updateEntity(); @@ -57,12 +57,13 @@ public class TileTurretHeadEM extends TurretHead{ @Override public boolean requiresSpecificAmmo() { - return true;//to enable failure in shooting when there is no EM to use + return true; // to enable failure in shooting when there is no EM to use } @Override public Item getAmmo() { - return DebugElementalInstanceContainer_EM.INSTANCE;//Placeholder item that cannot be achieved, yet still usable for debug + return DebugElementalInstanceContainer_EM + .INSTANCE; // Placeholder item that cannot be achieved, yet still usable for debug } @Override @@ -70,10 +71,10 @@ public class TileTurretHeadEM extends TurretHead{ if (hatchContentPointer == null || hatchContentPointer.isEmpty()) { return new projectileEM(world, TurretHeadUtil.getTurretBase(worldObj, xCoord, yCoord, zCoord), null); } - EMInstanceStack stack = hatchContentPointer.getRandom(); - double amount = Math.min(EM_COUNT_PER_MATERIAL_AMOUNT, stack.getAmount()); + EMInstanceStack stack = hatchContentPointer.getRandom(); + double amount = Math.min(EM_COUNT_PER_MATERIAL_AMOUNT, stack.getAmount()); hatchContentPointer.removeAmount(stack.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT); - stack=stack.clone(); + stack = stack.clone(); stack.setAmount(amount); return new projectileEM(world, TurretHeadUtil.getTurretBase(worldObj, xCoord, yCoord, zCoord), stack); } diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java index 0dbc33e007..4e048fd51a 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java @@ -11,16 +11,13 @@ import openmodularturrets.tileentity.turretbase.TurretBaseTierFiveTileEntity; /** * Created by Bass on 27/07/2017. */ - public class TileTurretBaseEM extends TurretBaseTierFiveTileEntity { public TileTurretBaseEM(int MaxEnergyStorage, int MaxIO) { super(MaxEnergyStorage, MaxIO); } @Override - @Optional.Method( - modid = "OpenComputers" - ) + @Optional.Method(modid = "OpenComputers") public String getComponentName() { return "turretBaseEM"; } @@ -28,41 +25,47 @@ public class TileTurretBaseEM extends TurretBaseTierFiveTileEntity { public final EMInstanceStackMap getContainerHandler() { World worldIn = getWorldObj(); TileEntity te; - if ((te = worldIn.getTileEntity(xCoord + 1, yCoord, zCoord)) instanceof IGregTechTileEntity && - ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { - return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); + if ((te = worldIn.getTileEntity(xCoord + 1, yCoord, zCoord)) instanceof IGregTechTileEntity + && ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { + return getFromHatch( + (GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); } - if ((te = worldIn.getTileEntity(xCoord - 1, yCoord, zCoord)) instanceof IGregTechTileEntity && - ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { - return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); + if ((te = worldIn.getTileEntity(xCoord - 1, yCoord, zCoord)) instanceof IGregTechTileEntity + && ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { + return getFromHatch( + (GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); } - if ((te = worldIn.getTileEntity(xCoord, yCoord + 1, zCoord)) instanceof IGregTechTileEntity && - ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { - return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); + if ((te = worldIn.getTileEntity(xCoord, yCoord + 1, zCoord)) instanceof IGregTechTileEntity + && ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { + return getFromHatch( + (GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); } - if ((te = worldIn.getTileEntity(xCoord, yCoord - 1, zCoord)) instanceof IGregTechTileEntity && - ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { - return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); + if ((te = worldIn.getTileEntity(xCoord, yCoord - 1, zCoord)) instanceof IGregTechTileEntity + && ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { + return getFromHatch( + (GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); } - if ((te = worldIn.getTileEntity(xCoord, yCoord, zCoord + 1)) instanceof IGregTechTileEntity && - ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { - return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); + if ((te = worldIn.getTileEntity(xCoord, yCoord, zCoord + 1)) instanceof IGregTechTileEntity + && ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { + return getFromHatch( + (GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); } - if ((te = worldIn.getTileEntity(xCoord, yCoord, zCoord - 1)) instanceof IGregTechTileEntity && - ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { - return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); + if ((te = worldIn.getTileEntity(xCoord, yCoord, zCoord - 1)) instanceof IGregTechTileEntity + && ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental) { + return getFromHatch( + (GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity()); } return null; } private EMInstanceStackMap getFromHatch(GT_MetaTileEntity_Hatch_InputElemental hatch) { - hatch.updateTexture((byte) 8,(byte) 4); + hatch.updateTexture((byte) 8, (byte) 4); return hatch.getContentHandler(); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/spartakcore/SpartakCoreRecipeLoader.java b/src/main/java/com/github/technus/tectech/compatibility/spartakcore/SpartakCoreRecipeLoader.java index b2050bbac5..635c1de419 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/spartakcore/SpartakCoreRecipeLoader.java +++ b/src/main/java/com/github/technus/tectech/compatibility/spartakcore/SpartakCoreRecipeLoader.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.compatibility.spartakcore; +import static com.github.technus.tectech.loader.recipe.BaseRecipeLoader.getOrDefault; + import com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry; import com.github.technus.tectech.recipe.TT_recipeAdder; import com.github.technus.tectech.thing.CustomItemList; @@ -20,662 +22,1695 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; -import static com.github.technus.tectech.loader.recipe.BaseRecipeLoader.getOrDefault; - /** * Created by Spartak1997 on 28.07.2019. */ public class SpartakCoreRecipeLoader { public void run(EMTransformationRegistry transformationInfo) { - - //Quantum Glass - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - GT_ModHandler.getIC2Item("reinforcedGlass", 1L) - }, Materials.Osmium.getMolten(576), new ItemStack(QuantumGlassBlock.INSTANCE, 1), 200, 500000); - //region pipes + // Quantum Glass + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] {CustomItemList.eM_Containment.get(1), GT_ModHandler.getIC2Item("reinforcedGlass", 1L)}, + Materials.Osmium.getMolten(576), + new ItemStack(QuantumGlassBlock.INSTANCE, 1), + 200, + 500000); - //Data - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Circuit_Parts_GlassFiber.get(8), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silver, 8) - }, Materials.Polytetrafluoroethylene.getMolten(144), CustomItemList.DATApipe.get(1), 200, 30720); + // region pipes - //endregion - - //Tunnel - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.DATApipe.get(1), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmiridium, 4), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), - ItemList.Field_Generator_MV.get(1), - ItemList.Circuit_Quantummainframe.get(1) - }, Materials.Osmium.getMolten(288), CustomItemList.EMpipe.get(1), 400, 500000); - - //Laser - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + // Data + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Circuit_Parts_GlassFiber.get(8), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silver, 8) + }, + Materials.Polytetrafluoroethylene.getMolten(144), 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 - - //region casing - - //High Power Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 16), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) - }, Materials.TungstenSteel.getMolten(576), CustomItemList.eM_Power.get(1), 100, 30720); - - //Computer Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + 200, + 30720); + + // endregion + + // Tunnel + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.DATApipe.get(1), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmiridium, 4), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 4), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + ItemList.Field_Generator_MV.get(1), + ItemList.Circuit_Quantummainframe.get(1) + }, + Materials.Osmium.getMolten(288), + CustomItemList.EMpipe.get(1), + 400, + 500000); + + // Laser + GT_Values.RA.addAssemblerRecipe( + 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 + + // region casing + + // High Power Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 16), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, + Materials.TungstenSteel.getMolten(576), CustomItemList.eM_Power.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) - }, Materials.Aluminium.getMolten(1296), CustomItemList.eM_Computer_Casing.get(1), 200, 122880); - //Computer Vent Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), - ItemList.Electric_Motor_IV.get(2), - 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) - }, Materials.SolderingAlloy.getMolten(1296), CustomItemList.eM_Computer_Vent.get(1), 100, 1920); - //Advanced Computer Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + 100, + 30720); + + // Computer Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Power.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, + Materials.Aluminium.getMolten(1296), CustomItemList.eM_Computer_Casing.get(1), - 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) - }, 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, 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) - }, Materials.Osmium.getMolten(1296), CustomItemList.eM_Containment.get(1), 800, 500000); - - //Hollow Casing - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Containment.get(1), - 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), - }, new FluidStack[]{ - getOrDefault("Trinium",Materials.Americium).getMolten(1296), - Materials.Osmium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Argon.getGas(1000), - }, CustomItemList.eM_Hollow.get(2), 200, 2000000); - - //EM Coil - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Hollow.get(1), - 48000,128, 1000000, 16, new ItemStack[]{ - CustomItemList.eM_Hollow.get(1), - ItemList.Casing_Fusion_Coil.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), - }, CustomItemList.eM_Coil.get(4), 800, 2000000); - - //endregion - - - //region hatches - - //Dynamo Hatches IV-UHV - 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)}, + 200, + 122880); + // Computer Vent Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), + ItemList.Electric_Motor_IV.get(2), + 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) + }, + Materials.SolderingAlloy.getMolten(1296), + CustomItemList.eM_Computer_Vent.get(1), + 100, + 1920); + // Advanced Computer Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + 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) + }, + 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, 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) + }, + Materials.Osmium.getMolten(1296), + CustomItemList.eM_Containment.get(1), + 800, + 500000); + + // Hollow Casing + TT_recipeAdder.addResearchableAssemblylineRecipe( + CustomItemList.eM_Containment.get(1), + 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), + }, + new FluidStack[] { + getOrDefault("Trinium", Materials.Americium).getMolten(1296), + Materials.Osmium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Argon.getGas(1000), + }, + CustomItemList.eM_Hollow.get(2), + 200, + 2000000); + + // EM Coil + TT_recipeAdder.addResearchableAssemblylineRecipe( + CustomItemList.eM_Hollow.get(1), + 48000, + 128, + 1000000, + 16, + new ItemStack[] { + CustomItemList.eM_Hollow.get(1), + ItemList.Casing_Fusion_Coil.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), + }, + CustomItemList.eM_Coil.get(4), + 800, + 2000000); + + // endregion + + // region hatches + + // Dynamo Hatches IV-UHV + 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) + }, 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)}, + 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) + }, 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)}, + 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) + }, Materials.Tungsten.getMolten(144), - CustomItemList.eM_dynamoMulti64_IV.get(1), 400, 1920); + 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)}, + 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) + }, 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)}, + 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) + }, 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)}, + 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) + }, Materials.Tungsten.getMolten(288), - CustomItemList.eM_dynamoMulti64_LuV.get(1), 400, 7860); + 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)}, + 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) + }, 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)}, + 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) + }, 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)}, + 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) + }, Materials.Tungsten.getMolten(576), - CustomItemList.eM_dynamoMulti64_ZPM.get(1), 400, 30720); + 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)}, + 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) + }, 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)}, + 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) + }, 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)}, + 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) + }, Materials.Tungsten.getMolten(1152), - CustomItemList.eM_dynamoMulti64_UV.get(1), 400, 122880); + 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)}, + 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) + }, 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)}, + 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) + }, 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)}, + 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) + }, Materials.Tungsten.getMolten(2304), - CustomItemList.eM_dynamoMulti64_UHV.get(1), 400, 500000); + CustomItemList.eM_dynamoMulti64_UHV.get(1), + 400, + 500000); - //Energy Hatches 4A-64A IV-UHV - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Hatch_Energy_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2)}, + // Energy Hatches 4A-64A IV-UHV + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Hatch_Energy_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_energyMulti4_IV.get(1), 100, 7680); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_energyMulti4_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 4)}, + CustomItemList.eM_energyMulti4_IV.get(1), + 100, + 7680); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_energyMulti4_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_energyMulti16_IV.get(1), 200, 7680); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_energyMulti16_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6)}, + CustomItemList.eM_energyMulti16_IV.get(1), + 200, + 7680); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_energyMulti16_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_energyMulti64_IV.get(1), 400, 7680); + 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)}, + 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) + }, 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)}, + 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) + }, 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)}, + 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) + }, Materials.Tungsten.getMolten(288), - CustomItemList.eM_energyMulti64_LuV.get(1), 400, 30720); + 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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, Materials.Tungsten.getMolten(576), - CustomItemList.eM_energyMulti64_ZPM.get(1), 400, 122880); + 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)}, + 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) + }, 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)}, + 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) + }, 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)}, + 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) + }, Materials.Tungsten.getMolten(1152), - CustomItemList.eM_energyMulti64_UV.get(1), 400, 500000); + 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)}, + 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) + }, 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)}, + 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) + }, 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)}, + 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) + }, Materials.Tungsten.getMolten(2304), - CustomItemList.eM_energyMulti64_UHV.get(1), 400, 500000); - - //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), - ItemList.Hatch_Input_Bus_LuV.get(1), - ItemList.Circuit_Crystalcomputer.get(1), - CustomItemList.DATApipe.get(2) - }, Materials.Iridium.getMolten(1296), CustomItemList.dataIn_Hatch.get(1), 200, 122880); - //Data Output - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Hatch_Output_Bus_LuV.get(1), - ItemList.Circuit_Crystalcomputer.get(1), - CustomItemList.DATApipe.get(2) - }, Materials.Iridium.getMolten(1296), CustomItemList.dataOut_Hatch.get(1), 200, 122880); + CustomItemList.eM_energyMulti64_UHV.get(1), + 400, + 500000); - //Rack - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Bus.get(1), - ItemList.Hatch_Input_Bus_ZPM.get(1), - ItemList.Circuit_Crystalcomputer.get(2), - CustomItemList.DATApipe.get(4) - }, Materials.Iridium.getMolten(1296), CustomItemList.rack_Hatch.get(1), 800, 122880); + // 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); - //Object Holder - GT_Values.RA.addAssemblylineRecipe(ItemList.Hatch_Input_Bus_ZPM.get(1), 10000, new Object[]{ + // 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), + ItemList.Hatch_Input_Bus_LuV.get(1), + ItemList.Circuit_Crystalcomputer.get(1), + CustomItemList.DATApipe.get(2) + }, + Materials.Iridium.getMolten(1296), + CustomItemList.dataIn_Hatch.get(1), + 200, + 122880); + // Data Output + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Hatch_Output_Bus_LuV.get(1), + ItemList.Circuit_Crystalcomputer.get(1), + CustomItemList.DATApipe.get(2) + }, + Materials.Iridium.getMolten(1296), + CustomItemList.dataOut_Hatch.get(1), + 200, + 122880); + + // Rack + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Bus.get(1), + ItemList.Hatch_Input_Bus_ZPM.get(1), + ItemList.Circuit_Crystalcomputer.get(2), + CustomItemList.DATApipe.get(4) + }, + Materials.Iridium.getMolten(1296), + CustomItemList.rack_Hatch.get(1), + 800, + 122880); + + // Object Holder + GT_Values.RA.addAssemblylineRecipe( ItemList.Hatch_Input_Bus_ZPM.get(1), - CustomItemList.eM_Computer_Bus.get(1), - ItemList.Emitter_ZPM.get(8), - ItemList.Robot_Arm_ZPM.get(1), - ItemList.Electric_Motor_ZPM.get(2), - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 1)}, - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2)}, - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 16)}, - CustomItemList.DATApipe.get(2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(500), - Materials.Iridium.getMolten(1000), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) - }, CustomItemList.holder_Hatch.get(1), 1200, 100000); - - //Parameterizer - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Circuit_Masterquantumcomputer.get(1), - CustomItemList.DATApipe.get(4), - ItemList.Cover_Screen.get(1 ), - new ItemStack(Blocks.stone_button, 16), - }, Materials.Iridium.getMolten(2592), CustomItemList.Parametrizer_Hatch.get(1), 800, 122880); - //Uncertainty - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Circuit_Ultimatecrystalcomputer.get(1), - CustomItemList.DATApipe.get(16), - ItemList.Cover_Screen.get(1 ), - new ItemStack(Blocks.stone_button, 16), - }, Materials.Iridium.getMolten(2592), CustomItemList.Uncertainty_Hatch.get(1), 1200, 122880); - - //Elemental Input - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Input_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), - ItemList.Sensor_UV.get(1) - }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_in_UV.get(1), 800, 500000); - //Elemental Output - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Output_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), - ItemList.Emitter_UV.get(1) - }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_out_UV.get(1), 800, 500000); - //Overflow - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Muffler_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Naquadah, 1), - ItemList.Field_Generator_UV.get(1) - }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_muffler_UV.get(1), 800, 500000); + 10000, + new Object[] { + ItemList.Hatch_Input_Bus_ZPM.get(1), + CustomItemList.eM_Computer_Bus.get(1), + ItemList.Emitter_ZPM.get(8), + ItemList.Robot_Arm_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 1)}, + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2)}, + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 16)}, + CustomItemList.DATApipe.get(2), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(500), + Materials.Iridium.getMolten(1000), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) + }, + CustomItemList.holder_Hatch.get(1), + 1200, + 100000); - //endregion + // Parameterizer + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Circuit_Masterquantumcomputer.get(1), + CustomItemList.DATApipe.get(4), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + }, + Materials.Iridium.getMolten(2592), + CustomItemList.Parametrizer_Hatch.get(1), + 800, + 122880); + // Uncertainty + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Circuit_Ultimatecrystalcomputer.get(1), + CustomItemList.DATApipe.get(16), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + }, + Materials.Iridium.getMolten(2592), + CustomItemList.Uncertainty_Hatch.get(1), + 1200, + 122880); + // Elemental Input + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Input_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), + ItemList.Sensor_UV.get(1) + }, + Materials.Osmiridium.getMolten(1296), + CustomItemList.eM_in_UV.get(1), + 800, + 500000); + // Elemental Output + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Output_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), + ItemList.Emitter_UV.get(1) + }, + Materials.Osmiridium.getMolten(1296), + CustomItemList.eM_out_UV.get(1), + 800, + 500000); + // Overflow + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Muffler_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Naquadah, 1), + ItemList.Field_Generator_UV.get(1) + }, + Materials.Osmiridium.getMolten(1296), + CustomItemList.eM_muffler_UV.get(1), + 800, + 500000); - //region multi blocks + // endregion - //Microwave Grinder - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Machine_HV_Microwave.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16), - ItemList.Upgrade_Overclocker.get(4), - }, Materials.Copper.getMolten(576), CustomItemList.Machine_Multi_Microwave.get(1), 800, 480); + // region multi blocks - //Network Switch - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.Machine_Multi_Transformer.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 4), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 64), - CustomItemList.DATApipe.get(4), - }, Materials.Iridium.getMolten(1296), CustomItemList.Machine_Multi_Switch.get(1), 800, 122880); - - //Quantum Computer - GT_Values.RA.addAssemblylineRecipe(ItemList.Tool_DataOrb.get(1), 20000, new Object[]{ + // Microwave Grinder + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Machine_HV_Microwave.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16), + ItemList.Upgrade_Overclocker.get(4), + }, + Materials.Copper.getMolten(576), + CustomItemList.Machine_Multi_Microwave.get(1), + 800, + 480); + + // Network Switch + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.Machine_Multi_Transformer.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 64), + CustomItemList.DATApipe.get(4), + }, + Materials.Iridium.getMolten(1296), CustomItemList.Machine_Multi_Switch.get(1), - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2)}, + 800, + 122880); + + // Quantum Computer + GT_Values.RA.addAssemblylineRecipe( ItemList.Tool_DataOrb.get(1), - ItemList.Cover_Screen.get(1), - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireGt04, getOrDefault("SuperconductorUV",Materials.Superconductor), 8)}, - CustomItemList.DATApipe.get(8), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Hydrogen.getGas(1000), - }, CustomItemList.Machine_Multi_Computer.get(1), 12000, 100000); + 20000, + new Object[] { + CustomItemList.Machine_Multi_Switch.get(1), + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2)}, + ItemList.Tool_DataOrb.get(1), + ItemList.Cover_Screen.get(1), + new ItemStack[] { + GT_OreDictUnificator.get( + OrePrefixes.wireGt04, getOrDefault("SuperconductorUV", Materials.Superconductor), 8) + }, + CustomItemList.DATApipe.get(8), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Hydrogen.getGas(1000), + }, + CustomItemList.Machine_Multi_Computer.get(1), + 12000, + 100000); + + // Research Station + GT_Values.RA.addAssemblylineRecipe( + ItemList.Machine_IV_Scanner.get(1), + 80000, + new Object[] { + CustomItemList.Machine_Multi_Switch.get(1), + ItemList.Sensor_ZPM.get(8), + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 4)}, + ItemList.Field_Generator_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4)}, + new ItemStack[] {GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 32)}, + CustomItemList.DATApipe.get(16), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_Research.get(1), + 12000, + 100000); - //Research Station - GT_Values.RA.addAssemblylineRecipe(ItemList.Machine_IV_Scanner.get(1), 80000, new Object[]{ + // Matter Junction + TT_recipeAdder.addResearchableAssemblylineRecipe( CustomItemList.Machine_Multi_Switch.get(1), - ItemList.Sensor_ZPM.get(8), - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 4)}, - ItemList.Field_Generator_ZPM.get(1), - ItemList.Electric_Motor_ZPM.get(2), - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4)}, - new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 32)}, - CustomItemList.DATApipe.get(16), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_Research.get(1), 12000, 100000); + 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), + ItemList.Electric_Piston_LuV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 4), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_EMjunction.get(1), + 12000, + 100000); - //Matter Junction - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Switch.get(1), - 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), - ItemList.Electric_Piston_LuV.get(2), - ItemList.Circuit_Wetwaresupercomputer.get(2), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 4), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_EMjunction.get(1), 12000, 100000); + // Matter Quantizer + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Input_UV.get(1), + 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), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_MatterToEM.get(1), + 12000, + 100000); - //Matter Quantizer - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Input_UV.get(1), - 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), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_MatterToEM.get(1), 12000, 100000); + // Matter DeQuantizer + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Output_UV.get(1), + 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), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_EMToMatter.get(1), + 12000, + 100000); - //Matter DeQuantizer - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Output_UV.get(1), - 12000,32, 500000, 6, new ItemStack[]{ + // Multi Infuser + TT_recipeAdder.addResearchableAssemblylineRecipe( CustomItemList.Machine_Multi_Transformer.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), - ItemList.Sensor_UV.get(2), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_EMToMatter.get(1), 12000, 100000); - - //Multi Infuser - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Transformer.get(1), - 192000,512, 2000000, 32, new ItemStack[]{ - CustomItemList.Machine_Multi_Transformer.get(1), - CustomItemList.eM_Coil.get(8), - CustomItemList.eM_Power.get( 8), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), - }, new FluidStack[]{ - Materials.Electrum.getMolten(2592), - Materials.Neutronium.getMolten(1872), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - }, CustomItemList.Machine_Multi_Infuser.get(1), 8000, 2000000); - - - //endregion + 192000, + 512, + 2000000, + 32, + new ItemStack[] { + CustomItemList.Machine_Multi_Transformer.get(1), + CustomItemList.eM_Coil.get(8), + CustomItemList.eM_Power.get(8), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), + }, + new FluidStack[] { + Materials.Electrum.getMolten(2592), + Materials.Neutronium.getMolten(1872), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + }, + CustomItemList.Machine_Multi_Infuser.get(1), + 8000, + 2000000); + + // 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)); + + 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)); } } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMComplexAspectDefinition.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMComplexAspectDefinition.java index c2d93cf0fd..197e59dc1e 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMComplexAspectDefinition.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMComplexAspectDefinition.java @@ -1,5 +1,10 @@ package com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; @@ -11,16 +16,11 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.reg import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMConstantStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 06.05.2017. */ public final class EMComplexAspectDefinition extends EMComplexTemplate { - private final int hash; + private final int hash; private final double mass; private static final String nbtType = "`"; @@ -52,14 +52,15 @@ public final class EMComplexAspectDefinition extends EMComplexTemplate { hash = super.hashCode(); } - //public but u can just try{}catch(){} the constructor it still calls this method + // public but u can just try{}catch(){} the constructor it still calls this method private static boolean canTheyBeTogether(EMConstantStackMap stacks) { long amount = 0; for (EMDefinitionStack aspects : stacks.valuesToArray()) { - if (!(aspects.getDefinition() instanceof EMComplexAspectDefinition) && !(aspects.getDefinition() instanceof EMPrimalAspectDefinition)) { + if (!(aspects.getDefinition() instanceof EMComplexAspectDefinition) + && !(aspects.getDefinition() instanceof EMPrimalAspectDefinition)) { return false; } - if((int) aspects.getAmount() != aspects.getAmount()){ + if ((int) aspects.getAmount() != aspects.getAmount()) { throw new ArithmeticException("Amount cannot be safely converted to int!"); } amount += aspects.getAmount(); @@ -157,7 +158,7 @@ public final class EMComplexAspectDefinition extends EMComplexTemplate { @Override public EMDecay[] getEnergyInducedDecay(long energyLevel) { - return new EMDecay[]{new EMDecay(0.75F, aspectStacks), deadEnd}; + return new EMDecay[] {new EMDecay(0.75F, aspectStacks), deadEnd}; } @Override @@ -206,10 +207,16 @@ public final class EMComplexAspectDefinition extends EMComplexTemplate { } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(nbtType, new EMIndirectType((definitionsRegistry, nbt)-> - new EMComplexAspectDefinition(EMConstantStackMap.fromNBT(definitionsRegistry,nbt)), EMComplexAspectDefinition.class, "tt.keyword.Aspect")); + registry.registerDefinitionClass( + nbtType, + new EMIndirectType( + (definitionsRegistry, nbt) -> + new EMComplexAspectDefinition(EMConstantStackMap.fromNBT(definitionsRegistry, nbt)), + EMComplexAspectDefinition.class, + "tt.keyword.Aspect")); if (DEBUG_MODE) { - TecTech.LOGGER.info("Registered Elemental Matter Class: ComplexAspect " + nbtType + ' ' + getClassTypeStatic()); + TecTech.LOGGER.info( + "Registered Elemental Matter Class: ComplexAspect " + nbtType + ' ' + getClassTypeStatic()); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMPrimalAspectDefinition.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMPrimalAspectDefinition.java index 6fa709ef3e..26a425bcc8 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMPrimalAspectDefinition.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/EMPrimalAspectDefinition.java @@ -1,37 +1,37 @@ package com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions; +import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.EMPrimitiveTemplate; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; -import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 06.05.2017. */ public final class EMPrimalAspectDefinition extends EMPrimitiveTemplate { public static final EMPrimalAspectDefinition - magic_air = new EMPrimalAspectDefinition("tt.keyword.Air", "a`", 1e1D, 45,"a`"), - magic_earth = new EMPrimalAspectDefinition("tt.keyword.Earth", "e`", 1e9D, 44,"e`"), - magic_fire = new EMPrimalAspectDefinition("tt.keyword.Fire", "f`", 1e3D, 43,"f`"), - magic_water = new EMPrimalAspectDefinition("tt.keyword.Water", "w`", 1e7D, 42,"w`"), - magic_order = new EMPrimalAspectDefinition("tt.keyword.Order", "o`", 1e5D, 40,"o`"), - magic_entropy = new EMPrimalAspectDefinition("tt.keyword.Chaos", "c`", 1e5D, 41,"c`"); - - private EMPrimalAspectDefinition(String name, String symbol, double mass, int ID,String bind) { - super(name, symbol, 0, mass, 0, -1, ID,bind); + magic_air = new EMPrimalAspectDefinition("tt.keyword.Air", "a`", 1e1D, 45, "a`"), + magic_earth = new EMPrimalAspectDefinition("tt.keyword.Earth", "e`", 1e9D, 44, "e`"), + magic_fire = new EMPrimalAspectDefinition("tt.keyword.Fire", "f`", 1e3D, 43, "f`"), + magic_water = new EMPrimalAspectDefinition("tt.keyword.Water", "w`", 1e7D, 42, "w`"), + magic_order = new EMPrimalAspectDefinition("tt.keyword.Order", "o`", 1e5D, 40, "o`"), + magic_entropy = new EMPrimalAspectDefinition("tt.keyword.Chaos", "c`", 1e5D, 41, "c`"); + + private EMPrimalAspectDefinition(String name, String symbol, double mass, int ID, String bind) { + super(name, symbol, 0, mass, 0, -1, ID, bind); } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(new EMType(EMPrimalAspectDefinition.class,"tt.keyword.Primal")); - magic_air.init(registry,null, -1F, -1, -1, NO_DECAY); - magic_earth.init(registry,null, -1F, -1, -1, NO_DECAY); - magic_fire.init(registry,null, -1F, -1, -1, NO_DECAY); - magic_water.init(registry,null, -1F, -1, -1, NO_DECAY); - magic_order.init(registry,null, -1F, -1, -1, NO_DECAY); - magic_entropy.init(registry,null, -1F, -1, -1, NO_DECAY); + registry.registerDefinitionClass(new EMType(EMPrimalAspectDefinition.class, "tt.keyword.Primal")); + magic_air.init(registry, null, -1F, -1, -1, NO_DECAY); + magic_earth.init(registry, null, -1F, -1, -1, NO_DECAY); + magic_fire.init(registry, null, -1F, -1, -1, NO_DECAY); + magic_water.init(registry, null, -1F, -1, -1, NO_DECAY); + magic_order.init(registry, null, -1F, -1, -1, NO_DECAY); + magic_entropy.init(registry, null, -1F, -1, -1, NO_DECAY); } @Override @@ -49,4 +49,4 @@ public final class EMPrimalAspectDefinition extends EMPrimitiveTemplate { public boolean isTimeSpanHalfLife() { return false; } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompat.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompat.java index c1c6c6dcb2..e3d7835692 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompat.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompat.java @@ -1,30 +1,28 @@ package com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations; - import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; - import java.util.HashMap; /** * Created by Tec on 21.05.2017. */ public class AspectDefinitionCompat { - public static AspectDefinitionCompat aspectDefinitionCompat; - private final HashMap defToAspect = new HashMap<>(); + public static AspectDefinitionCompat aspectDefinitionCompat; + private final HashMap defToAspect = new HashMap<>(); private final HashMap aspectToDef = new HashMap<>(); - public void run(EMDefinitionsRegistry registry){} + public void run(EMDefinitionsRegistry registry) {} - public String getAspectTag(IEMDefinition definition){ + public String getAspectTag(IEMDefinition definition) { return null; } - public String getAspectLocalizedName(IEMDefinition definition){ + public String getAspectLocalizedName(IEMDefinition definition) { return null; } - public IEMDefinition getDefinition(String aspect){ + public IEMDefinition getDefinition(String aspect) { return null; } diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompatEnabled.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompatEnabled.java index 5b47414dc0..aa01486ec3 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompatEnabled.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/transformations/AspectDefinitionCompatEnabled.java @@ -1,60 +1,65 @@ package com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations; +import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.EMPrimalAspectDefinition.*; + import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.EMComplexAspectDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; -import thaumcraft.api.aspects.Aspect; - import java.util.ArrayList; - -import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.EMPrimalAspectDefinition.*; +import thaumcraft.api.aspects.Aspect; /** * Created by Tec on 21.05.2017. */ public final class AspectDefinitionCompatEnabled extends AspectDefinitionCompat { @Override - public void run(EMDefinitionsRegistry registry){ - getDefToAspect().put(magic_air,"aer"); - getDefToAspect().put(magic_earth,"terra"); - getDefToAspect().put(magic_fire,"ignis"); - getDefToAspect().put(magic_water,"aqua"); - getDefToAspect().put(magic_order,"ordo"); - getDefToAspect().put(magic_entropy,"perditio"); + public void run(EMDefinitionsRegistry registry) { + getDefToAspect().put(magic_air, "aer"); + getDefToAspect().put(magic_earth, "terra"); + getDefToAspect().put(magic_fire, "ignis"); + getDefToAspect().put(magic_water, "aqua"); + getDefToAspect().put(magic_order, "ordo"); + getDefToAspect().put(magic_entropy, "perditio"); - getAspectToDef().put("aer",magic_air); - getAspectToDef().put("terra",magic_earth); - getAspectToDef().put("ignis",magic_fire); - getAspectToDef().put("aqua",magic_water); - getAspectToDef().put("ordo",magic_order); - getAspectToDef().put("perditio",magic_entropy); + getAspectToDef().put("aer", magic_air); + getAspectToDef().put("terra", magic_earth); + getAspectToDef().put("ignis", magic_fire); + getAspectToDef().put("aqua", magic_water); + getAspectToDef().put("ordo", magic_order); + getAspectToDef().put("perditio", magic_entropy); - ArrayList list=Aspect.getCompoundAspects(); - Aspect[] array= list.toArray(new Aspect[0]); + ArrayList list = Aspect.getCompoundAspects(); + Aspect[] array = list.toArray(new Aspect[0]); while (!list.isEmpty()) { for (Aspect aspect : array) { if (list.contains(aspect)) { Aspect[] content = aspect.getComponents(); if (content.length != 2) { list.remove(aspect); - }else if(getAspectToDef().containsKey(content[0].getTag()) && getAspectToDef().containsKey(content[1].getTag())){ + } else if (getAspectToDef().containsKey(content[0].getTag()) + && getAspectToDef().containsKey(content[1].getTag())) { try { EMComplexAspectDefinition newAspect; - if(content[0].getTag().equals(content[1].getTag())){ - newAspect = new EMComplexAspectDefinition( - getAspectToDef().get(content[0].getTag()).getStackForm(2)); - }else{ + if (content[0].getTag().equals(content[1].getTag())) { + newAspect = new EMComplexAspectDefinition(getAspectToDef() + .get(content[0].getTag()) + .getStackForm(2)); + } else { newAspect = new EMComplexAspectDefinition( - getAspectToDef().get(content[0].getTag()).getStackForm(1), - getAspectToDef().get(content[1].getTag()).getStackForm(1)); + getAspectToDef() + .get(content[0].getTag()) + .getStackForm(1), + getAspectToDef() + .get(content[1].getTag()) + .getStackForm(1)); } - getAspectToDef().put(aspect.getTag(),newAspect); - getDefToAspect().put(newAspect,aspect.getTag()); + getAspectToDef().put(aspect.getTag(), newAspect); + getDefToAspect().put(newAspect, aspect.getTag()); registry.registerForDisplay(newAspect); - }catch (EMException e) { + } catch (EMException e) { /**/ - }finally { + } finally { list.remove(aspect); } } @@ -68,7 +73,7 @@ public final class AspectDefinitionCompatEnabled extends AspectDefinitionCompat return getDefToAspect().get(definition); } - public String getAspectLocalizedName(IEMDefinition definition){ + public String getAspectLocalizedName(IEMDefinition definition) { Aspect aspect = Aspect.aspects.get(getAspectTag(definition)); return aspect != null ? aspect.getName() : null; } diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompat.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompat.java index a335b81793..7908be7bc0 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompat.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompat.java @@ -10,23 +10,23 @@ import net.minecraft.tileentity.TileEntity; public class EssentiaCompat { public static EssentiaCompat essentiaContainerCompat; - public boolean check(T meta,TileEntity te){ + public boolean check(T meta, TileEntity te) { return false; } - public TileEntity getContainer(T meta){ + public TileEntity getContainer(T meta) { return null; } - public String getEssentiaName(IEMDefinition stack){ + public String getEssentiaName(IEMDefinition stack) { return null; } - public boolean putInContainer(TileEntity container, String name){ + public boolean putInContainer(TileEntity container, String name) { return false; } - public IEMDefinition getFromContainer(TileEntity container){ + public IEMDefinition getFromContainer(TileEntity container) { return null; } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompatEnabled.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompatEnabled.java index bd20269944..ab60922b9a 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompatEnabled.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/EssentiaCompatEnabled.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi; +import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat.aspectDefinitionCompat; + import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import net.minecraft.tileentity.TileEntity; @@ -9,21 +11,23 @@ import thaumcraft.api.aspects.IAspectContainer; import thaumcraft.common.tiles.TileEssentiaReservoir; import thaumcraft.common.tiles.TileJarFillable; -import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat.aspectDefinitionCompat; - /** * Created by Tec on 21.05.2017. */ public class EssentiaCompatEnabled extends EssentiaCompat { @Override - public boolean check(T meta,TileEntity te) { + public boolean check(T meta, TileEntity te) { return te instanceof TileEssentiaReservoir || te instanceof TileJarFillable; } @Override public TileEntity getContainer(T meta) { - TileEntity tile =meta.getBaseMetaTileEntity().getTileEntityAtSide(meta.getBaseMetaTileEntity().getBackFacing()); - return tile!=null && !tile.isInvalid() && tile instanceof TileEssentiaReservoir || tile instanceof TileJarFillable ?tile:null; + TileEntity tile = meta.getBaseMetaTileEntity() + .getTileEntityAtSide(meta.getBaseMetaTileEntity().getBackFacing()); + return tile != null && !tile.isInvalid() && tile instanceof TileEssentiaReservoir + || tile instanceof TileJarFillable + ? tile + : null; } @Override @@ -38,28 +42,28 @@ public class EssentiaCompatEnabled extends EssentiaCompat { } if (container instanceof IAspectContainer) { Aspect aspect = Aspect.getAspect(aspectName); - if(aspect==null){ + if (aspect == null) { return false; } - int remaining=((IAspectContainer) container).addToContainer(aspect, 1); - return remaining==0; + int remaining = ((IAspectContainer) container).addToContainer(aspect, 1); + return remaining == 0; } return false; } @Override - public IEMDefinition getFromContainer(TileEntity container){ - if(container==null || container.isInvalid()) { + public IEMDefinition getFromContainer(TileEntity container) { + if (container == null || container.isInvalid()) { return null; } - if(container instanceof IAspectContainer){ - AspectList aspects=((IAspectContainer) container).getAspects(); - if(aspects!=null){ - Aspect[] aspectsArr= aspects.getAspects(); - if(aspectsArr!=null && aspectsArr[0]!=null){ - if (((IAspectContainer) container).takeFromContainer(aspectsArr[0],1)){ - return aspectDefinitionCompat.getAspectToDef().get(aspectsArr[0].getTag()); - } + if (container instanceof IAspectContainer) { + AspectList aspects = ((IAspectContainer) container).getAspects(); + if (aspects != null) { + Aspect[] aspectsArr = aspects.getAspects(); + if (aspectsArr != null && aspectsArr[0] != null) { + if (((IAspectContainer) container).takeFromContainer(aspectsArr[0], 1)) { + return aspectDefinitionCompat.getAspectToDef().get(aspectsArr[0].getTag()); + } } } } 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 d8eb7d69dc..3a1ec00999 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 @@ -1,5 +1,17 @@ package com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi; +import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_ITEM_DIMINISHED; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofTileAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; import com.github.technus.tectech.thing.block.QuantumGlassBlock; @@ -21,53 +33,65 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import thaumcraft.api.aspects.Aspect; -import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_ITEM_DIMINISHED; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofTileAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region structure - //use multi A energy inputs, use less power the longer it runs - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.hint.1"),//2 - Elemental Input Hatch - translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.hint.2"),//3 - Elemental Overflow Hatches or Elemental Casing - translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.hint.3"),//General - Some sort of Essentia Storage +public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_MultiblockBase_EM + implements IConstructable { + // region structure + // use multi A energy inputs, use less power the longer it runs + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.emtoessentia.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.hint.1"), // 2 - Elemental Input Hatch + translateToLocal( + "gt.blockmachines.multimachine.em.emtoessentia.hint.2"), // 3 - Elemental Overflow Hatches or Elemental + // Casing + translateToLocal( + "gt.blockmachines.multimachine.em.emtoessentia.hint.3"), // General - Some sort of Essentia Storage }; private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition.builder() - .addShape("main", new String[][]{ - {"DDD", "D~D", "DDD"}, - {"E E", " * ", "E E"}, - {"ABA", "BCB", "ABA"}, - {"FFF", "FBF", "FFF"}, - {"BEB", "EGE", "BEB"} + .addShape("main", new String[][] { + {"DDD", "D~D", "DDD"}, + {"E E", " * ", "E E"}, + {"ABA", "BCB", "ABA"}, + {"FFF", "FBF", "FFF"}, + {"BEB", "EGE", "BEB"} }) .addElement('A', ofBlock(sBlockCasingsTT, 0)) .addElement('B', ofBlock(sBlockCasingsTT, 4)) .addElement('C', ofBlock(sBlockCasingsTT, 8)) - .addElement('D', ofHatchAdderOptional(GT_MetaTileEntity_EM_essentiaDequantizer::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) + .addElement( + 'D', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_essentiaDequantizer::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) .addElement('E', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_essentiaDequantizer::addElementalMufflerToMachineList, textureOffset + 4, 3, sBlockCasingsTT, 4)) - .addElement('G', ofHatchAdder(GT_MetaTileEntity_EM_essentiaDequantizer::addElementalInputToMachineList, textureOffset + 4, 2)) - .addElement('*', ofTileAdder(essentiaContainerCompat::check, StructureLibAPI.getBlockHint(),12)) + .addElement( + 'F', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_essentiaDequantizer::addElementalMufflerToMachineList, + textureOffset + 4, + 3, + sBlockCasingsTT, + 4)) + .addElement( + 'G', + ofHatchAdder( + GT_MetaTileEntity_EM_essentiaDequantizer::addElementalInputToMachineList, + textureOffset + 4, + 2)) + .addElement('*', ofTileAdder(essentiaContainerCompat::check, StructureLibAPI.getBlockHint(), 12)) .build(); - private String outputEssentiaName= ""; - //endregion + private String outputEssentiaName = ""; + // endregion public GT_MetaTileEntity_EM_essentiaDequantizer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -131,8 +155,8 @@ public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_ TileEntity container = essentiaContainerCompat.getContainer(this); if (container == null) { stopMachine(); - }else{ - if(!essentiaContainerCompat.putInContainer(container,outputEssentiaName)){ + } else { + if (!essentiaContainerCompat.putInContainer(container, outputEssentiaName)) { stopMachine(); } } @@ -142,17 +166,35 @@ public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_ @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.name")) // Machine Type: Essentia Dequantizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.desc.0")) // Controller block of the Essentia Dequantizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.desc.1")) // Transforms elemental matter back into essentia + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.emtoessentia.name")) // Machine Type: Essentia Dequantizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.emtoessentia.desc.0")) // Controller block of the + // Essentia Dequantizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.emtoessentia.desc.1")) // Transforms elemental matter + // back into essentia .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(3, 3, 5, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalInput"), translateToLocal("tt.keyword.Structure.BackCenter"), 2) // Elemental Input Hatch: Back center - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOverflow"), translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing4th"), 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 4th slice - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.EssentiaStorage"), translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Essentia Storage: Any High Power Casing on the front side - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Energy Hatch: Any High Power Casing on the front side - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Maintenance Hatch: Any High Power Casing on the front side + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalInput"), + translateToLocal("tt.keyword.Structure.BackCenter"), + 2) // Elemental Input Hatch: Back center + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOverflow"), + translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing4th"), + 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 4th slice + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.EssentiaStorage"), + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Essentia Storage: Any High Power Casing on the front side + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Energy Hatch: Any High Power Casing on the front side + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Maintenance Hatch: Any High Power Casing on the front side .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } 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 a151c2becf..f1e28c4b27 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 @@ -1,5 +1,16 @@ package com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi; +import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofTileAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.EMPrimalAspectDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; @@ -20,50 +31,63 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; -import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofTileAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region structure - //use multi A energy inputs, use less power the longer it runs - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.hint.1"),//2 - Elemental Output Hatch - translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.hint.2"),//3 - Elemental Overflow Hatches or Elemental Casing - translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.hint.3"),//General - Some sort of Essentia Storage +public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_MultiblockBase_EM + implements IConstructable { + // region structure + // use multi A energy inputs, use less power the longer it runs + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.essentiatoem.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.hint.1"), // 2 - Elemental Output Hatch + translateToLocal( + "gt.blockmachines.multimachine.em.essentiatoem.hint.2"), // 3 - Elemental Overflow Hatches or Elemental + // Casing + translateToLocal( + "gt.blockmachines.multimachine.em.essentiatoem.hint.3"), // General - Some sort of Essentia Storage }; private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition.builder() - .addShape("main", new String[][]{ - {"FFF", "F~F", "FFF"}, - {"E E", " * ", "E E"}, - {"BAB", "ACA", "BAB"}, - {"DDD", "DBD", "DDD"}, - {"EBE", "BGB", "EBE"} - }) - .addElement('A', ofBlock(sBlockCasingsTT, 0)) - .addElement('B', ofBlock(sBlockCasingsTT, 4)) - .addElement('C', ofBlock(sBlockCasingsTT, 8)) - .addElement('D', ofHatchAdderOptional(GT_MetaTileEntity_EM_essentiaQuantizer::addElementalMufflerToMachineList, textureOffset + 4, 3, sBlockCasingsTT, 4)) - .addElement('E', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_essentiaQuantizer::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('G', ofHatchAdder(GT_MetaTileEntity_EM_essentiaQuantizer::addElementalOutputToMachineList, textureOffset + 4, 2)) - .addElement('*', ofTileAdder(essentiaContainerCompat::check, StructureLibAPI.getBlockHint(),12)) - .build(); - //endregion + .addShape("main", new String[][] { + {"FFF", "F~F", "FFF"}, + {"E E", " * ", "E E"}, + {"BAB", "ACA", "BAB"}, + {"DDD", "DBD", "DDD"}, + {"EBE", "BGB", "EBE"} + }) + .addElement('A', ofBlock(sBlockCasingsTT, 0)) + .addElement('B', ofBlock(sBlockCasingsTT, 4)) + .addElement('C', ofBlock(sBlockCasingsTT, 8)) + .addElement( + 'D', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_essentiaQuantizer::addElementalMufflerToMachineList, + textureOffset + 4, + 3, + sBlockCasingsTT, + 4)) + .addElement('E', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'F', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_essentiaQuantizer::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'G', + ofHatchAdder( + GT_MetaTileEntity_EM_essentiaQuantizer::addElementalOutputToMachineList, + textureOffset + 4, + 2)) + .addElement('*', ofTileAdder(essentiaContainerCompat::check, StructureLibAPI.getBlockHint(), 12)) + .build(); + // endregion public GT_MetaTileEntity_EM_essentiaQuantizer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -90,8 +114,8 @@ public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_Mu mMaxProgresstime = 20; mEfficiencyIncrease = 10000; eAmpereFlow = 1; - outputEM = new EMInstanceStackMap[]{ - new EMInstanceStackMap(new EMInstanceStack(definition, EM_COUNT_PER_MATERIAL_AMOUNT)) + outputEM = new EMInstanceStackMap[] { + new EMInstanceStackMap(new EMInstanceStack(definition, EM_COUNT_PER_MATERIAL_AMOUNT)) }; if (definition instanceof EMPrimalAspectDefinition) { mEUt = (int) -V[8]; @@ -116,17 +140,35 @@ public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_Mu @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.name")) // Machine Type: Essentia Quantizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.desc.0")) // Controller block of the Essentia Quantizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.desc.1")) // Transforms essentia into their elemental form + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.essentiatoem.name")) // Machine Type: Essentia Quantizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.essentiatoem.desc.0")) // Controller block of the + // Essentia Quantizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.essentiatoem.desc.1")) // Transforms essentia into + // their elemental form .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(3, 3, 5, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOutput"), translateToLocal("tt.keyword.Structure.BackCenter"), 2) // Elemental Output Hatch: Back center - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOverflow"), translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing4th"), 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 4th slice - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.EssentiaStorage"), translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Essentia Storage: Any High Power Casing on the front side - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Energy Hatch: Any High Power Casing on the front side - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Maintenance Hatch: Any High Power Casing on the front side + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOutput"), + translateToLocal("tt.keyword.Structure.BackCenter"), + 2) // Elemental Output Hatch: Back center + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOverflow"), + translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing4th"), + 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 4th slice + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.EssentiaStorage"), + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Essentia Storage: Any High Power Casing on the front side + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Energy Hatch: Any High Power Casing on the front side + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Maintenance Hatch: Any High Power Casing on the front side .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } diff --git a/src/main/java/com/github/technus/tectech/font/TecTechFontRender.java b/src/main/java/com/github/technus/tectech/font/TecTechFontRender.java index 60c3df47f9..a07f3fc224 100644 --- a/src/main/java/com/github/technus/tectech/font/TecTechFontRender.java +++ b/src/main/java/com/github/technus/tectech/font/TecTechFontRender.java @@ -5,31 +5,33 @@ import com.ibm.icu.text.ArabicShapingException; import com.ibm.icu.text.Bidi; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.io.IOException; +import java.io.InputStream; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; -import java.io.IOException; -import java.io.InputStream; - @SideOnly(Side.CLIENT) public class TecTechFontRender extends FontRenderer { public static final TecTechFontRender INSTANCE = new TecTechFontRender(); - private static final float DISTANCE_L = .125F; + private static final float DISTANCE_L = .125F; private static final float DISTANCE_L2 = DISTANCE_L * 2F; - private static final float DISTANCE_M = 0.06F; + private static final float DISTANCE_M = 0.06F; private static final float DISTANCE_M2 = DISTANCE_M * 2F; - private static final float DISTANCE_A = 0.06F; + private static final float DISTANCE_A = 0.06F; private static final float DISTANCE_A2 = DISTANCE_A * 2F; - private TecTechFontRender() { - super(Minecraft.getMinecraft().gameSettings, new ResourceLocation("textures/font/ascii.png"), Minecraft.getMinecraft().renderEngine, false); + super( + Minecraft.getMinecraft().gameSettings, + new ResourceLocation("textures/font/ascii.png"), + Minecraft.getMinecraft().renderEngine, + false); } private void resetStyles() { @@ -81,8 +83,8 @@ public class TecTechFontRender extends FontRenderer { private void renderStringAtPos(String p_78255_1_, boolean p_78255_2_) { for (int i = 0; i < p_78255_1_.length(); ++i) { char c0 = p_78255_1_.charAt(i); - int j; - int k; + int j; + int k; if (c0 == 167 && i + 1 < p_78255_1_.length()) { j = "0123456789abcdefklmnor".indexOf(p_78255_1_.toLowerCase().charAt(i + 1)); if (j < 16) { @@ -101,7 +103,11 @@ public class TecTechFontRender extends FontRenderer { k = this.colorCode[j]; this.textColor = k; - this.setColor((float) (k >> 16) / 255.0F, (float) (k >> 8 & 255) / 255.0F, (float) (k & 255) / 255.0F, this.alpha); + this.setColor( + (float) (k >> 16) / 255.0F, + (float) (k >> 8 & 255) / 255.0F, + (float) (k & 255) / 255.0F, + this.alpha); } else if (j == 16) { this.randomStyle = true; } else if (j == 17) { @@ -123,7 +129,9 @@ public class TecTechFontRender extends FontRenderer { ++i; } else { - j = "\u00C0\u00C1\u00C2\u00C8\u00CA\u00CB\u00CD\u00D3\u00D4\u00D5\u00DA\u00DF\u00E3\u00F5\u011F\u0130\u0131\u0152\u0153\u015E\u015F\u0174\u0175\u017E\u0207\u0000\u0000\u0000\u0000\u0000\u0000\u0000 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u0000\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9\u00FF\u00D6\u00DC\u00F8\u00A3\u00D8\u00D7\u0192\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA\u00BF\u00AE\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\u03B2\u0393\u03C0\u03A3\u03C3\u03BC\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u2205\u2208\u2229\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u0000".indexOf(c0); + j = + "\u00C0\u00C1\u00C2\u00C8\u00CA\u00CB\u00CD\u00D3\u00D4\u00D5\u00DA\u00DF\u00E3\u00F5\u011F\u0130\u0131\u0152\u0153\u015E\u015F\u0174\u0175\u017E\u0207\u0000\u0000\u0000\u0000\u0000\u0000\u0000 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u0000\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9\u00FF\u00D6\u00DC\u00F8\u00A3\u00D8\u00D7\u0192\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA\u00BF\u00AE\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\u03B2\u0393\u03C0\u03A3\u03C3\u03BC\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u2205\u2208\u2229\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u0000" + .indexOf(c0); if (this.randomStyle && j != -1) { do { k = this.fontRandom.nextInt(this.charWidth.length); @@ -132,7 +140,7 @@ public class TecTechFontRender extends FontRenderer { j = k; } - float f1 = this.unicodeFlag ? 0.5F : 1.0F; + float f1 = this.unicodeFlag ? 0.5F : 1.0F; boolean flag1 = (c0 == 0 || j == -1 || this.unicodeFlag) && p_78255_2_; if (flag1) { this.posX -= f1; @@ -165,7 +173,6 @@ public class TecTechFontRender extends FontRenderer { this.doDraw(f); } } - } @Override @@ -199,7 +206,14 @@ public class TecTechFontRender extends FontRenderer { } private float renderCharAtPos(int p_78278_1_, char p_78278_2_, boolean p_78278_3_) { - return p_78278_2_ == ' ' ? 4.0F : ("\u00C0\u00C1\u00C2\u00C8\u00CA\u00CB\u00CD\u00D3\u00D4\u00D5\u00DA\u00DF\u00E3\u00F5\u011F\u0130\u0131\u0152\u0153\u015E\u015F\u0174\u0175\u017E\u0207\u0000\u0000\u0000\u0000\u0000\u0000\u0000 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u0000\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9\u00FF\u00D6\u00DC\u00F8\u00A3\u00D8\u00D7\u0192\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA\u00BF\u00AE\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\u03B2\u0393\u03C0\u03A3\u03C3\u03BC\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u2205\u2208\u2229\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u0000".indexOf(p_78278_2_) != -1 && !this.unicodeFlag ? this.renderDefaultChar(p_78278_1_, p_78278_3_) : this.renderUnicodeChar(p_78278_2_, p_78278_3_)); + return p_78278_2_ == ' ' + ? 4.0F + : ("\u00C0\u00C1\u00C2\u00C8\u00CA\u00CB\u00CD\u00D3\u00D4\u00D5\u00DA\u00DF\u00E3\u00F5\u011F\u0130\u0131\u0152\u0153\u015E\u015F\u0174\u0175\u017E\u0207\u0000\u0000\u0000\u0000\u0000\u0000\u0000 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u0000\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9\u00FF\u00D6\u00DC\u00F8\u00A3\u00D8\u00D7\u0192\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA\u00BF\u00AE\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\u03B2\u0393\u03C0\u03A3\u03C3\u03BC\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u2205\u2208\u2229\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u0000" + .indexOf(p_78278_2_) + != -1 + && !this.unicodeFlag + ? this.renderDefaultChar(p_78278_1_, p_78278_3_) + : this.renderUnicodeChar(p_78278_2_, p_78278_3_)); } @Override @@ -390,12 +404,12 @@ public class TecTechFontRender extends FontRenderer { if (p_78256_1_ == null) { return 0; } else { - int i = 0; + int i = 0; boolean flag = false; for (int j = 0; j < p_78256_1_.length(); ++j) { char c0 = p_78256_1_.charAt(j); - int k = this.getCharWidth(c0); + int k = this.getCharWidth(c0); if (k < 0 && j < p_78256_1_.length() - 1) { ++j; @@ -422,6 +436,4 @@ public class TecTechFontRender extends FontRenderer { return i; } } - - } diff --git a/src/main/java/com/github/technus/tectech/loader/EntityLoader.java b/src/main/java/com/github/technus/tectech/loader/EntityLoader.java index b188989ba3..00a702f112 100644 --- a/src/main/java/com/github/technus/tectech/loader/EntityLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/EntityLoader.java @@ -11,7 +11,7 @@ import cpw.mods.fml.common.registry.EntityRegistry; public class EntityLoader implements Runnable { @Override public void run() { - if(Loader.isModLoaded("openmodularturrets")) { + if (Loader.isModLoaded("openmodularturrets")) { EntityRegistry.registerModEntity(projectileEM.class, "projectileEM", 0, TecTech.instance, 16, 5, true); } } 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 7965f09aff..f34ee81709 100644 --- a/src/main/java/com/github/technus/tectech/loader/MainLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/MainLoader.java @@ -1,5 +1,12 @@ package com.github.technus.tectech.loader; +import static com.github.technus.tectech.TecTech.*; +import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat.aspectDefinitionCompat; +import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.util.CommonValues.*; +import static gregtech.api.enums.GT_Values.W; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat; @@ -30,29 +37,20 @@ import gregtech.api.enums.Materials; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; - -import static com.github.technus.tectech.TecTech.*; -import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat.aspectDefinitionCompat; -import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.util.CommonValues.*; -import static gregtech.api.enums.GT_Values.W; - public final class MainLoader { public static DamageSource microwaving, elementalPollution, subspace; - private MainLoader() { - } + private MainLoader() {} public static void staticLoad() { for (int i = 0; i < 16; i++) { @@ -67,7 +65,7 @@ public final class MainLoader { creativeTabTecTech = new CreativeTabTecTech("TecTech"); creativeTabEM = new CreativeTabEM("EM"); - //set expanded texture arrays for tiers + // set expanded texture arrays for tiers try { Textures.run(); } catch (Throwable t) { @@ -124,14 +122,16 @@ public final class MainLoader { ProgressManager.pop(progressBarLoad); } - public static void postLoad(EMDefinitionsRegistry definitionsRegistry, EMTransformationRegistry transformationInfo) { + public static void postLoad( + EMDefinitionsRegistry definitionsRegistry, EMTransformationRegistry transformationInfo) { ProgressManager.ProgressBar progressBarPostLoad = ProgressManager.push("TecTech Post Loader", 4); progressBarPostLoad.step("Dreamcraft Compatibility"); if (Loader.isModLoaded(Reference.DREAMCRAFT)) { try { Class clazz = Class.forName("com.dreammaster.gthandler.casings.GT_Container_CasingsNH"); - TT_Container_Casings.sBlockCasingsNH = (Block) clazz.getField("sBlockCasingsNH").get(null); + TT_Container_Casings.sBlockCasingsNH = + (Block) clazz.getField("sBlockCasingsNH").get(null); if (TT_Container_Casings.sBlockCasingsNH == null) { throw new NullPointerException("sBlockCasingsNH Is not set at this time"); @@ -153,10 +153,10 @@ public final class MainLoader { new BaseRecipeLoader().run(transformationInfo); TecTech.LOGGER.info("Recipe Init Done"); - //Hazmat moved to GT5U - //progressBarPostLoad.step("Register Extra Hazmat Suits"); - //registerExtraHazmats(); - //TecTech.LOGGER.info("Hazmat additions done"); + // Hazmat moved to GT5U + // progressBarPostLoad.step("Register Extra Hazmat Suits"); + // registerExtraHazmats(); + // TecTech.LOGGER.info("Hazmat additions done"); if (!configTecTech.DISABLE_BLOCK_HARDNESS_NERF) { progressBarPostLoad.step("Nerf blocks blast resistance"); @@ -171,8 +171,8 @@ public final class MainLoader { } private static void registerExtraHazmats() { - ItemStack EMT_iqC = GT_ModHandler.getModItem("EMT", "itemArmorQuantumChestplate", 1, W); - ItemStack GRAVI_gC = GT_ModHandler.getModItem("GraviSuite", "graviChestPlate", 1, W); + ItemStack EMT_iqC = GT_ModHandler.getModItem("EMT", "itemArmorQuantumChestplate", 1, W); + ItemStack GRAVI_gC = GT_ModHandler.getModItem("GraviSuite", "graviChestPlate", 1, W); ItemStack GRAVI_anC = GT_ModHandler.getModItem("GraviSuite", "advNanoChestPlate", 1, W); ItemStack IC2_qH = GT_ModHandler.getIC2Item("quantumHelmet", 1L, W); @@ -239,7 +239,7 @@ public final class MainLoader { GregTech_API.sElectroHazmatList.add(IC2_qL); GregTech_API.sElectroHazmatList.add(IC2_qB); - //todo add GC GS stuff + // todo add GC GS stuff } public static void addAfterGregTechPostLoadRunner() { @@ -259,11 +259,11 @@ public final class MainLoader { if (DEBUG_MODE) { LOGGER.info("Found Plasma of " + material.mName); } - if (material.mElement != null && - (material.mElement.mProtons >= Materials.Iron.mElement.mProtons || - -material.mElement.mProtons >= Materials.Iron.mElement.mProtons || - material.mElement.mNeutrons >= Materials.Iron.mElement.mNeutrons || - -material.mElement.mNeutrons >= Materials.Iron.mElement.mNeutrons)) { + if (material.mElement != null + && (material.mElement.mProtons >= Materials.Iron.mElement.mProtons + || -material.mElement.mProtons >= Materials.Iron.mElement.mProtons + || material.mElement.mNeutrons >= Materials.Iron.mElement.mNeutrons + || -material.mElement.mNeutrons >= Materials.Iron.mElement.mNeutrons)) { if (DEBUG_MODE) { LOGGER.info("Attempting to bind " + material.mName); } @@ -306,11 +306,12 @@ public final class MainLoader { public static int getFuelValue(FluidStack aLiquid) { if (aLiquid == null || GT_Recipe.GT_Recipe_Map.sTurbineFuels == null) return 0; - FluidStack tLiquid; + FluidStack tLiquid; Collection tRecipeList = GT_Recipe.GT_Recipe_Map.sPlasmaFuels.mRecipeList; - if (tRecipeList != null) for (GT_Recipe tFuel : tRecipeList) - if ((tLiquid = GT_Utility.getFluidForFilledItem(tFuel.getRepresentativeInput(0), true)) != null) - if (aLiquid.isFluidEqual(tLiquid)) return tFuel.mSpecialValue; + if (tRecipeList != null) + for (GT_Recipe tFuel : tRecipeList) + if ((tLiquid = GT_Utility.getFluidForFilledItem(tFuel.getRepresentativeInput(0), true)) != null) + if (aLiquid.isFluidEqual(tLiquid)) return tFuel.mSpecialValue; return 0; } @@ -344,8 +345,7 @@ public final class MainLoader { "witchery", "lootgames", "utilityworlds", - Reference.MODID - )); + Reference.MODID)); for (Block block : GameData.getBlockRegistry().typeSafeIterable()) { GameRegistry.UniqueIdentifier uniqueIdentifier = GameRegistry.findUniqueIdentifierFor(block); if (uniqueIdentifier != null) { 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 8401af51ca..4b57c09ab8 100644 --- a/src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java +++ b/src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.loader; +import static com.github.technus.tectech.Reference.MODID; + import com.github.technus.tectech.mechanics.data.ChunkDataMessage; import com.github.technus.tectech.mechanics.data.PlayerDataMessage; import com.github.technus.tectech.mechanics.enderStorage.EnderLinkCoverMessage; @@ -7,8 +9,6 @@ import com.github.technus.tectech.mechanics.pipe.PipeActivityMessage; import com.github.technus.tectech.mechanics.spark.RendererMessage; import com.github.technus.tectech.thing.metaTileEntity.hatch.TextParametersMessage; -import static com.github.technus.tectech.Reference.MODID; - public class NetworkDispatcher extends eu.usrv.yamcore.network.PacketDispatcher { public static NetworkDispatcher INSTANCE; @@ -32,11 +32,13 @@ public class NetworkDispatcher extends eu.usrv.yamcore.network.PacketDispatcher registerMessage(RendererMessage.ClientHandler.class, RendererMessage.RendererData.class); registerMessage(EnderLinkCoverMessage.ServerHandler.class, EnderLinkCoverMessage.EnderLinkCoverQuery.class); - registerMessage(EnderLinkCoverMessage.ServerUpdateHandler.class, EnderLinkCoverMessage.EnderLinkCoverUpdate.class); + registerMessage( + EnderLinkCoverMessage.ServerUpdateHandler.class, EnderLinkCoverMessage.EnderLinkCoverUpdate.class); registerMessage(EnderLinkCoverMessage.ClientHandler.class, EnderLinkCoverMessage.EnderLinkCoverData.class); registerMessage(TextParametersMessage.ServerHandler.class, TextParametersMessage.ParametersTextQuery.class); - registerMessage(TextParametersMessage.ServerUpdateHandler.class, TextParametersMessage.ParametersTextUpdate.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 840fe91b11..f69941cb63 100644 --- a/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java +++ b/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java @@ -1,7 +1,6 @@ package com.github.technus.tectech.loader; import eu.usrv.yamcore.config.ConfigManager; - import java.io.File; public class TecTechConfig extends ConfigManager { @@ -9,7 +8,7 @@ public class TecTechConfig extends ConfigManager { super(pConfigBaseDirectory, pModCollectionDirectory, pModID); } - //final static to allow compiler to remove the debug code when this is false + // final static to allow compiler to remove the debug code when this is false public static boolean DEBUG_MODE = false; public static boolean POWERLESS_MODE = false; public boolean DISABLE_MATERIAL_LOADING_FFS; @@ -83,71 +82,179 @@ public class TecTechConfig extends ConfigManager { */ @Override protected void Init() { - DEBUG_MODE = _mainConfig.getBoolean("DebugMode", "debug", DEBUG_MODE, - "Enables logging and other purely debug features"); - POWERLESS_MODE = _mainConfig.getBoolean("PowerlessMode", "debug", POWERLESS_MODE, - "Enables 0EU/t multi block machinery"); - DISABLE_MATERIAL_LOADING_FFS = _mainConfig.getBoolean("DisableMaterialLoading", "debug", - DISABLE_MATERIAL_LOADING_FFS, "Set to true to disable gregtech material processing"); + DEBUG_MODE = _mainConfig.getBoolean( + "DebugMode", "debug", DEBUG_MODE, "Enables logging and other purely debug features"); + POWERLESS_MODE = + _mainConfig.getBoolean("PowerlessMode", "debug", POWERLESS_MODE, "Enables 0EU/t multi block machinery"); + DISABLE_MATERIAL_LOADING_FFS = _mainConfig.getBoolean( + "DisableMaterialLoading", + "debug", + DISABLE_MATERIAL_LOADING_FFS, + "Set to true to disable gregtech material processing"); - BOOM_ENABLE = _mainConfig.getBoolean("BoomEnable", "features", BOOM_ENABLE, + BOOM_ENABLE = _mainConfig.getBoolean( + "BoomEnable", + "features", + BOOM_ENABLE, "Set to false to disable explosions on everything bad that you can do"); - DISABLE_BLOCK_HARDNESS_NERF = _mainConfig.getBoolean("DisableBlockHardnessNerf", "features", - DISABLE_BLOCK_HARDNESS_NERF, "Set to true to disable the block hardness nerf"); - EASY_SCAN = _mainConfig.getBoolean("EasyScan", "features", EASY_SCAN, - "Enables tricorder to scan EM i/o hatches directly, too CHEEKY"); - NERF_FUSION = _mainConfig.getBoolean("NerfFusion", "features", NERF_FUSION, + DISABLE_BLOCK_HARDNESS_NERF = _mainConfig.getBoolean( + "DisableBlockHardnessNerf", + "features", + DISABLE_BLOCK_HARDNESS_NERF, + "Set to true to disable the block hardness nerf"); + EASY_SCAN = _mainConfig.getBoolean( + "EasyScan", "features", EASY_SCAN, "Enables tricorder to scan EM i/o hatches directly, too CHEEKY"); + NERF_FUSION = _mainConfig.getBoolean( + "NerfFusion", + "features", + NERF_FUSION, "Set to true to enable removal of plasmas heavier than Fe and other weird ones"); - ENABLE_TURRET_EXPLOSIONS = _mainConfig.getBoolean("TurretBoomEnable", "features", - ENABLE_TURRET_EXPLOSIONS, "Set to false to disable explosions caused by EM turrets"); - TURRET_DAMAGE_FACTOR = _mainConfig.getFloat("TurretDamageFactor", "features", TURRET_DAMAGE_FACTOR, - 0, Short.MAX_VALUE, "Damage is multiplied by this number"); - TURRET_EXPLOSION_FACTOR = _mainConfig.getFloat("TurretExplosionFactor", "features", - TURRET_EXPLOSION_FACTOR, 0, Short.MAX_VALUE, "Explosion strength is multiplied by this number"); + ENABLE_TURRET_EXPLOSIONS = _mainConfig.getBoolean( + "TurretBoomEnable", + "features", + ENABLE_TURRET_EXPLOSIONS, + "Set to false to disable explosions caused by EM turrets"); + TURRET_DAMAGE_FACTOR = _mainConfig.getFloat( + "TurretDamageFactor", + "features", + TURRET_DAMAGE_FACTOR, + 0, + Short.MAX_VALUE, + "Damage is multiplied by this number"); + TURRET_EXPLOSION_FACTOR = _mainConfig.getFloat( + "TurretExplosionFactor", + "features", + TURRET_EXPLOSION_FACTOR, + 0, + Short.MAX_VALUE, + "Explosion strength is multiplied by this number"); - MOD_ADMIN_ERROR_LOGS = _mainConfig.getBoolean("AdminErrorLog", "modules", MOD_ADMIN_ERROR_LOGS, + MOD_ADMIN_ERROR_LOGS = _mainConfig.getBoolean( + "AdminErrorLog", + "modules", + MOD_ADMIN_ERROR_LOGS, "If set to true, every op/admin will receive all errors occurred during the startup phase as in game message on join"); - TESLA_MULTI_GAS_OUTPUT = _mainConfig.getBoolean("TeslaMultiGasOutput", "tesla_tweaks", - TESLA_MULTI_GAS_OUTPUT, "Set to true to enable outputting plasmas as gasses from the tesla tower with a 1:1 ratio"); - TESLA_MULTI_LOSS_FACTOR_OVERDRIVE = _mainConfig.getFloat("TeslaMultiLossFactorOverdrive", "tesla_tweaks", - TESLA_MULTI_LOSS_FACTOR_OVERDRIVE, 0, 1, "Additional Tesla Tower power loss per amp as a factor of the tier voltage"); - TESLA_MULTI_LOSS_PER_BLOCK_T0 = _mainConfig.getInt("TeslaMultiLossPerBlockT0", "tesla_tweaks", - TESLA_MULTI_LOSS_PER_BLOCK_T0, 0, Integer.MAX_VALUE, "Tesla Tower power transmission loss per block per amp using no plasmas"); - TESLA_MULTI_LOSS_PER_BLOCK_T1 = _mainConfig.getInt("TeslaMultiLossPerBlockT1", "tesla_tweaks", - TESLA_MULTI_LOSS_PER_BLOCK_T1, 0, Integer.MAX_VALUE, "Tesla Tower power transmission loss per block per amp using helium or nitrogen plasma"); - TESLA_MULTI_LOSS_PER_BLOCK_T2 = _mainConfig.getInt("TeslaMultiLossPerBlockT2", "tesla_tweaks", - TESLA_MULTI_LOSS_PER_BLOCK_T2, 0, Integer.MAX_VALUE, "Tesla Tower power transmission loss per block per amp using radon plasma"); - TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM = _mainConfig.getInt("TeslaMultiPlasmaPerSecondT1Helium", - "tesla_tweaks", TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM, 0, Integer.MAX_VALUE, "Tesla Tower helium plasma consumed each second the tesla tower is active"); - TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN = _mainConfig.getInt("TeslaMultiPlasmaPerSecondT1Nitrogen", - "tesla_tweaks", TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN, 0, Integer.MAX_VALUE, "Tesla Tower nitrogen plasma consumed each second the tesla tower is active"); - TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON = _mainConfig.getInt("TeslaMultiPlasmaPerSecondT2Radon", - "tesla_tweaks", TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON, 0, Integer.MAX_VALUE, "Tesla Tower radon plasma consumed each second the tesla tower is active"); - TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1 = _mainConfig.getInt("TeslaMultiRangeCoefficientPlasmaT1", - "tesla_tweaks", TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1, 0, Integer.MAX_VALUE, "Tesla Tower T1 Plasmas Range Multiplier"); - TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2 = _mainConfig.getInt("TeslaMultiRangeCoefficientPlasmaT2", - "tesla_tweaks", TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2, 0, Integer.MAX_VALUE, "Tesla Tower T2 Plasmas Range Multiplier"); - TESLA_MULTI_RANGE_COVER = _mainConfig.getInt("TeslaMultiRangeCover", "tesla_tweaks", - TESLA_MULTI_RANGE_COVER, 0, Integer.MAX_VALUE, "Tesla Tower to Tesla Coil Rich Edition Cover max range"); - TESLA_MULTI_RANGE_TOWER = _mainConfig.getInt("TeslaMultiRangeTower", "tesla_tweaks", - TESLA_MULTI_RANGE_TOWER, 0, Integer.MAX_VALUE, "Tesla Tower to Tower max range"); - TESLA_MULTI_RANGE_TRANSCEIVER = _mainConfig.getInt("TeslaMultiRangeTransceiver", "tesla_tweaks", - TESLA_MULTI_RANGE_TRANSCEIVER, 0, Integer.MAX_VALUE, "Tesla Tower to Transceiver max range"); - TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE = _mainConfig.getFloat("TeslaSingleLossFactorOverdrive", "tesla_tweaks", - TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE, 0, 1, "Additional Tesla Transceiver power loss per amp as a factor of the tier voltage"); - TESLA_SINGLE_LOSS_PER_BLOCK = _mainConfig.getInt("TeslaSingleLossPerBlock", "tesla_tweaks", - TESLA_SINGLE_LOSS_PER_BLOCK, 0, Integer.MAX_VALUE, "Tesla Transceiver power transmission loss per block per amp"); - TESLA_SINGLE_RANGE = _mainConfig.getInt("TeslaSingleRange", "tesla_tweaks", - TESLA_SINGLE_RANGE, 0, Integer.MAX_VALUE, "Tesla Transceiver to max range"); - TESLA_VISUAL_EFFECT = _mainConfig.getBoolean("EnableTeslaVisualEffect", "tesla_tweaks", - TESLA_VISUAL_EFFECT, "Set true to enable the cool visual effect when tesla tower running."); + TESLA_MULTI_GAS_OUTPUT = _mainConfig.getBoolean( + "TeslaMultiGasOutput", + "tesla_tweaks", + TESLA_MULTI_GAS_OUTPUT, + "Set to true to enable outputting plasmas as gasses from the tesla tower with a 1:1 ratio"); + TESLA_MULTI_LOSS_FACTOR_OVERDRIVE = _mainConfig.getFloat( + "TeslaMultiLossFactorOverdrive", + "tesla_tweaks", + TESLA_MULTI_LOSS_FACTOR_OVERDRIVE, + 0, + 1, + "Additional Tesla Tower power loss per amp as a factor of the tier voltage"); + TESLA_MULTI_LOSS_PER_BLOCK_T0 = _mainConfig.getInt( + "TeslaMultiLossPerBlockT0", + "tesla_tweaks", + TESLA_MULTI_LOSS_PER_BLOCK_T0, + 0, + Integer.MAX_VALUE, + "Tesla Tower power transmission loss per block per amp using no plasmas"); + TESLA_MULTI_LOSS_PER_BLOCK_T1 = _mainConfig.getInt( + "TeslaMultiLossPerBlockT1", + "tesla_tweaks", + TESLA_MULTI_LOSS_PER_BLOCK_T1, + 0, + Integer.MAX_VALUE, + "Tesla Tower power transmission loss per block per amp using helium or nitrogen plasma"); + TESLA_MULTI_LOSS_PER_BLOCK_T2 = _mainConfig.getInt( + "TeslaMultiLossPerBlockT2", + "tesla_tweaks", + TESLA_MULTI_LOSS_PER_BLOCK_T2, + 0, + Integer.MAX_VALUE, + "Tesla Tower power transmission loss per block per amp using radon plasma"); + TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM = _mainConfig.getInt( + "TeslaMultiPlasmaPerSecondT1Helium", + "tesla_tweaks", + TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM, + 0, + Integer.MAX_VALUE, + "Tesla Tower helium plasma consumed each second the tesla tower is active"); + TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN = _mainConfig.getInt( + "TeslaMultiPlasmaPerSecondT1Nitrogen", + "tesla_tweaks", + TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN, + 0, + Integer.MAX_VALUE, + "Tesla Tower nitrogen plasma consumed each second the tesla tower is active"); + TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON = _mainConfig.getInt( + "TeslaMultiPlasmaPerSecondT2Radon", + "tesla_tweaks", + TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON, + 0, + Integer.MAX_VALUE, + "Tesla Tower radon plasma consumed each second the tesla tower is active"); + TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1 = _mainConfig.getInt( + "TeslaMultiRangeCoefficientPlasmaT1", + "tesla_tweaks", + TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1, + 0, + Integer.MAX_VALUE, + "Tesla Tower T1 Plasmas Range Multiplier"); + TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2 = _mainConfig.getInt( + "TeslaMultiRangeCoefficientPlasmaT2", + "tesla_tweaks", + TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2, + 0, + Integer.MAX_VALUE, + "Tesla Tower T2 Plasmas Range Multiplier"); + TESLA_MULTI_RANGE_COVER = _mainConfig.getInt( + "TeslaMultiRangeCover", + "tesla_tweaks", + TESLA_MULTI_RANGE_COVER, + 0, + Integer.MAX_VALUE, + "Tesla Tower to Tesla Coil Rich Edition Cover max range"); + TESLA_MULTI_RANGE_TOWER = _mainConfig.getInt( + "TeslaMultiRangeTower", + "tesla_tweaks", + TESLA_MULTI_RANGE_TOWER, + 0, + Integer.MAX_VALUE, + "Tesla Tower to Tower max range"); + TESLA_MULTI_RANGE_TRANSCEIVER = _mainConfig.getInt( + "TeslaMultiRangeTransceiver", + "tesla_tweaks", + TESLA_MULTI_RANGE_TRANSCEIVER, + 0, + Integer.MAX_VALUE, + "Tesla Tower to Transceiver max range"); + TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE = _mainConfig.getFloat( + "TeslaSingleLossFactorOverdrive", + "tesla_tweaks", + TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE, + 0, + 1, + "Additional Tesla Transceiver power loss per amp as a factor of the tier voltage"); + TESLA_SINGLE_LOSS_PER_BLOCK = _mainConfig.getInt( + "TeslaSingleLossPerBlock", + "tesla_tweaks", + TESLA_SINGLE_LOSS_PER_BLOCK, + 0, + Integer.MAX_VALUE, + "Tesla Transceiver power transmission loss per block per amp"); + TESLA_SINGLE_RANGE = _mainConfig.getInt( + "TeslaSingleRange", + "tesla_tweaks", + TESLA_SINGLE_RANGE, + 0, + Integer.MAX_VALUE, + "Tesla Transceiver to max range"); + TESLA_VISUAL_EFFECT = _mainConfig.getBoolean( + "EnableTeslaVisualEffect", + "tesla_tweaks", + TESLA_VISUAL_EFFECT, + "Set true to enable the cool visual effect when tesla tower running."); } /** * This loading phases do not correspond to mod loading phases! */ @Override - protected void PostInit() { - } + protected void PostInit() {} } diff --git a/src/main/java/com/github/technus/tectech/loader/gui/CreativeTabTecTech.java b/src/main/java/com/github/technus/tectech/loader/gui/CreativeTabTecTech.java index e5b9fea395..c853af8ee3 100644 --- a/src/main/java/com/github/technus/tectech/loader/gui/CreativeTabTecTech.java +++ b/src/main/java/com/github/technus/tectech/loader/gui/CreativeTabTecTech.java @@ -5,11 +5,10 @@ import com.github.technus.tectech.thing.item.DebugElementalInstanceContainer_EM; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.GregTech_API; +import java.util.List; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; -import java.util.List; - public class CreativeTabTecTech extends CreativeTabs { public CreativeTabTecTech(String name) { super(name); @@ -23,7 +22,7 @@ public class CreativeTabTecTech extends CreativeTabs { @Override public void displayAllReleventItems(List stuffToShow) { - for(CustomItemList item: CustomItemList.values()){ + for (CustomItemList item : CustomItemList.values()) { if (item.hasBeenSet() && item.getBlock() == GregTech_API.sBlockMachines) { stuffToShow.add(item.get(1)); } diff --git a/src/main/java/com/github/technus/tectech/loader/gui/ModGuiHandler.java b/src/main/java/com/github/technus/tectech/loader/gui/ModGuiHandler.java index e555437104..51bece0d4d 100644 --- a/src/main/java/com/github/technus/tectech/loader/gui/ModGuiHandler.java +++ b/src/main/java/com/github/technus/tectech/loader/gui/ModGuiHandler.java @@ -10,8 +10,8 @@ import net.minecraft.world.World; * Created by danie_000 on 17.12.2017. */ public class ModGuiHandler implements IGuiHandler { - public static final int SCAN_DISPLAY_SCREEN_ID =0; - public static final int PROGRAMMER_DISPLAY_SCREEN_ID =1; + public static final int SCAN_DISPLAY_SCREEN_ID = 0; + public static final int PROGRAMMER_DISPLAY_SCREEN_ID = 1; @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { @@ -22,7 +22,7 @@ public class ModGuiHandler implements IGuiHandler { public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { if (ID == SCAN_DISPLAY_SCREEN_ID) { return new ScanDisplayScreen(player); - }else if(ID==PROGRAMMER_DISPLAY_SCREEN_ID){ + } else if (ID == PROGRAMMER_DISPLAY_SCREEN_ID) { return new ProgrammerScreen(player); } return null; diff --git a/src/main/java/com/github/technus/tectech/loader/recipe/BaseRecipeLoader.java b/src/main/java/com/github/technus/tectech/loader/recipe/BaseRecipeLoader.java index e77e057d94..bdd2dc1136 100644 --- a/src/main/java/com/github/technus/tectech/loader/recipe/BaseRecipeLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/recipe/BaseRecipeLoader.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.loader.recipe; +import static gregtech.api.enums.GT_Values.RA; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.compatibility.dreamcraft.DreamCraftRecipeLoader; import com.github.technus.tectech.compatibility.gtpp.GtppAtomLoader; @@ -22,8 +24,6 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; -import static gregtech.api.enums.GT_Values.RA; - /** * Created by danie_000 on 16.11.2016. */ @@ -44,83 +44,142 @@ public class BaseRecipeLoader { // Recipes init - common goes here rest goes into methods below // =================================================================================================== - for(int i=0;i<=15;i++) { - RA.addAssemblerRecipe(new ItemStack[]{GT_Utility.getIntegratedCircuit(i+1), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 1)}, + for (int i = 0; i <= 15; i++) { + RA.addAssemblerRecipe( + new ItemStack[] { + GT_Utility.getIntegratedCircuit(i + 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 1) + }, Materials.Aluminium.getMolten(864), - new ItemStack(StructureLibAPI.getBlockHint(), 1, i), 32, 120); + new ItemStack(StructureLibAPI.getBlockHint(), 1, i), + 32, + 120); } - //Front Rotation Tool - GT_ModHandler.addCraftingRecipe(GT_ModHandler.getModItem(StructureLibAPI.MOD_ID, "item.structurelib.frontRotationTool", 1L, 0), + // Front Rotation Tool + GT_ModHandler.addCraftingRecipe( + GT_ModHandler.getModItem(StructureLibAPI.MOD_ID, "item.structurelib.frontRotationTool", 1L, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[]{"fPR", " RP", "S h", - 'P', OrePrefixes.plate.get(Materials.Cobalt), - 'R', OrePrefixes.stick.get(Materials.Cobalt), - 'S', OrePrefixes.stick.get(Materials.Wood),}); - - //BLUEprint -// GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(ConstructableTriggerItem.INSTANCE, 1), -// GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, -// new Object[]{Dyes.dyeBlue, OrePrefixes.plate.get(Materials.Paper), Dyes.dyeBlue, Dyes.dyeWhite}); - - - //GT EU reader - GT_ModHandler.addCraftingRecipe(new ItemStack(EuMeterGT.INSTANCE,1), + new Object[] { + "fPR", + " RP", + "S h", + 'P', + OrePrefixes.plate.get(Materials.Cobalt), + 'R', + OrePrefixes.stick.get(Materials.Cobalt), + 'S', + OrePrefixes.stick.get(Materials.Wood), + }); + + // BLUEprint + // GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(ConstructableTriggerItem.INSTANCE, 1), + // GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, + // new Object[]{Dyes.dyeBlue, OrePrefixes.plate.get(Materials.Paper), Dyes.dyeBlue, + // Dyes.dyeWhite}); + + // GT EU reader + GT_ModHandler.addCraftingRecipe( + new ItemStack(EuMeterGT.INSTANCE, 1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[]{"PGW", "SCW", "BRN", - 'P', OrePrefixes.plateDouble.get(Materials.Steel), - 'G', OrePrefixes.plate.get(Materials.Glass), - 'W', OrePrefixes.cableGt01.get(Materials.Copper), - 'S', OrePrefixes.stick.get(Materials.Brass), - 'C', ItemList.Casing_Coil_Cupronickel.get(1), - 'B', Dyes.dyeBlue, - 'R', Dyes.dyeRed, - 'N', Dyes.dyeBlack,}); - - //Owner detector - GT_ModHandler.addCraftingRecipe(CustomItemList.Machine_OwnerDetector.get(1), + new Object[] { + "PGW", + "SCW", + "BRN", + 'P', + OrePrefixes.plateDouble.get(Materials.Steel), + 'G', + OrePrefixes.plate.get(Materials.Glass), + 'W', + OrePrefixes.cableGt01.get(Materials.Copper), + 'S', + OrePrefixes.stick.get(Materials.Brass), + 'C', + ItemList.Casing_Coil_Cupronickel.get(1), + 'B', + Dyes.dyeBlue, + 'R', + Dyes.dyeRed, + 'N', + Dyes.dyeBlack, + }); + + // Owner detector + GT_ModHandler.addCraftingRecipe( + CustomItemList.Machine_OwnerDetector.get(1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[]{"PPP","GEG","PPP", - 'P', OrePrefixes.plate.get(Materials.IronMagnetic), - 'G', OrePrefixes.plate.get(Materials.Glass), - 'E', OrePrefixes.gem.get(Materials.EnderPearl)}); - - //Data reader - GT_ModHandler.addCraftingRecipe(CustomItemList.Machine_DataReader.get(1), + new Object[] { + "PPP", + "GEG", + "PPP", + 'P', + OrePrefixes.plate.get(Materials.IronMagnetic), + 'G', + OrePrefixes.plate.get(Materials.Glass), + 'E', + OrePrefixes.gem.get(Materials.EnderPearl) + }); + + // Data reader + GT_ModHandler.addCraftingRecipe( + CustomItemList.Machine_DataReader.get(1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[]{"BdB","GES","PwP", - 'B', OrePrefixes.screw.get(Materials.Iridium), - 'P', OrePrefixes.plate.get(Materials.Iridium), - 'G', ItemList.Cover_Screen, - 'S', OrePrefixes.circuit.get(Materials.Elite), - 'E', ItemList.Hull_IV}); - - //Data Bank - RA.addAssemblylineRecipe(ItemList.Hatch_DataAccess_EV.get(1), 20000, new Object[]{ - CustomItemList.Machine_Multi_Switch.get(1), - new Object[]{OrePrefixes.circuit.get(Materials.Master), 2}, - ItemList.Tool_DataOrb.get(1), - ItemList.Cover_Screen.get(1), - }, new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Hydrogen.getGas(1000), - }, CustomItemList.Machine_Multi_DataBank.get(1), 12000, 14000); - - //Bucks - //RA.addAssemblerRecipe(CustomItemList.) - - //recipe for ass line data hatches - RA.addAssemblerRecipe(ItemList.Hatch_DataAccess_EV.get(1), CustomItemList.dataIn_Hatch.get(1), CustomItemList.dataInAss_Hatch.get(1), 2048, 12000); - RA.addAssemblerRecipe(ItemList.Hatch_DataAccess_EV.get(1), CustomItemList.dataOut_Hatch.get(1), CustomItemList.dataOutAss_Hatch.get(1), 2048, 12000); + new Object[] { + "BdB", + "GES", + "PwP", + 'B', + OrePrefixes.screw.get(Materials.Iridium), + 'P', + OrePrefixes.plate.get(Materials.Iridium), + 'G', + ItemList.Cover_Screen, + 'S', + OrePrefixes.circuit.get(Materials.Elite), + 'E', + ItemList.Hull_IV + }); + + // Data Bank + RA.addAssemblylineRecipe( + ItemList.Hatch_DataAccess_EV.get(1), + 20000, + new Object[] { + CustomItemList.Machine_Multi_Switch.get(1), + new Object[] {OrePrefixes.circuit.get(Materials.Master), 2}, + ItemList.Tool_DataOrb.get(1), + ItemList.Cover_Screen.get(1), + }, + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), Materials.Hydrogen.getGas(1000), + }, + CustomItemList.Machine_Multi_DataBank.get(1), + 12000, + 14000); + + // Bucks + // RA.addAssemblerRecipe(CustomItemList.) + + // recipe for ass line data hatches + RA.addAssemblerRecipe( + ItemList.Hatch_DataAccess_EV.get(1), + CustomItemList.dataIn_Hatch.get(1), + CustomItemList.dataInAss_Hatch.get(1), + 2048, + 12000); + RA.addAssemblerRecipe( + ItemList.Hatch_DataAccess_EV.get(1), + CustomItemList.dataOut_Hatch.get(1), + CustomItemList.dataOutAss_Hatch.get(1), + 2048, + 12000); if (Loader.isModLoaded(Reference.DREAMCRAFT)) { - new DreamCraftRecipeLoader().run(transformationInfo);//init recipes for GTNH version + new DreamCraftRecipeLoader().run(transformationInfo); // init recipes for GTNH version } else if (Loader.isModLoaded(Reference.SPARTAKCORE)) { - new SpartakCoreRecipeLoader().run(transformationInfo);//init recipes for SpartakCore version + new SpartakCoreRecipeLoader().run(transformationInfo); // init recipes for SpartakCore version } else { - new BloodyRecipeLoader().run(transformationInfo);//init recipes for NON-GTNH version + new BloodyRecipeLoader().run(transformationInfo); // init recipes for NON-GTNH version } } } - 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 a57f268d4e..a7b3b51b7c 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 @@ -25,1294 +25,2572 @@ import net.minecraftforge.fluids.FluidStack; */ public class BloodyRecipeLoader { public void run(EMTransformationRegistry transformationInfo) { - //Quantum Glass - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - GT_ModHandler.getIC2Item("reinforcedGlass", 1L) - }, Materials.Osmium.getMolten(576), new ItemStack(QuantumGlassBlock.INSTANCE, 1), 200, 500000); - - //region pipes - - //Data - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Circuit_Parts_GlassFiber.get(8), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Silver, 6) - }, Materials.Polytetrafluoroethylene.getMolten(144), CustomItemList.DATApipe.get(1), 200, 30720); - - //Tunnel - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.DATApipe.get(1), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmiridium, 4), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), - 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[]{ + // Quantum Glass + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] {CustomItemList.eM_Containment.get(1), GT_ModHandler.getIC2Item("reinforcedGlass", 1L)}, + Materials.Osmium.getMolten(576), + new ItemStack(QuantumGlassBlock.INSTANCE, 1), + 200, + 500000); + + // region pipes + + // Data + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Circuit_Parts_GlassFiber.get(8), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Silver, 6) + }, + Materials.Polytetrafluoroethylene.getMolten(144), CustomItemList.DATApipe.get(1), - GT_ModHandler.getIC2Item("reinforcedGlass", 1L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 2) - }, null, CustomItemList.LASERpipe.get(1), 100, 500000); - - //endregion - - //region casing - - //High Power Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Cobalt, 16), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) - }, Materials.TungstenSteel.getMolten(576), CustomItemList.eM_Power.get(1), 100, 30720); - - //Computer Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + 200, + 30720); + + // Tunnel + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.DATApipe.get(1), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmiridium, 4), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 4), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + 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); + + // endregion + + // region casing + + // High Power Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Cobalt, 16), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, + Materials.TungstenSteel.getMolten(576), CustomItemList.eM_Power.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) - }, Materials.Aluminium.getMolten(1296), CustomItemList.eM_Computer_Casing.get(1), 200, 122880); - //Computer Vent Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), - ItemList.Electric_Motor_IV.get(2), - 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, Materials.Superconductor, 1) - }, Materials.SolderingAlloy.getMolten(1296), CustomItemList.eM_Computer_Vent.get(1), 100, 1920); - //Advanced Computer Casing - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + 100, + 30720); + + // Computer Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Power.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, + Materials.Aluminium.getMolten(1296), CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Cobalt, 32), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 64), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, 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.plateDouble, Materials.Osmiridium, 16), - GT_OreDictUnificator.get(OrePrefixes.foil, 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) - }, Materials.Osmium.getMolten(1296), CustomItemList.eM_Containment.get(1), 800, 500000); - - //Hollow Casing - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Containment.get(1), - 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), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Lead, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 16), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 16), - }, new FluidStack[]{ - Materials.Americium.getMolten(1296), - Materials.Osmium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Argon.getGas(576), - }, CustomItemList.eM_Hollow.get(2), 200, 2000000); - - //EM Coil - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Hollow.get(1), - 48000, 128, 1000000, 16, new ItemStack[]{ - CustomItemList.eM_Hollow.get(1), - ItemList.Casing_Fusion_Coil.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[]{ - Materials.Glass.getMolten(2304), - Materials.Silicone.getMolten(1872), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Americium.getMolten(1296), - }, CustomItemList.eM_Coil.get(4), 800, 2000000); - - //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), + 200, + 122880); + // Computer Vent Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), + ItemList.Electric_Motor_IV.get(2), + 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, Materials.Superconductor, 1) + }, + Materials.SolderingAlloy.getMolten(1296), + CustomItemList.eM_Computer_Vent.get(1), + 100, + 1920); + // Advanced Computer Casing + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Cobalt, 32), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 64), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, 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.plateDouble, Materials.Osmiridium, 16), + GT_OreDictUnificator.get(OrePrefixes.foil, 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) + }, + Materials.Osmium.getMolten(1296), + CustomItemList.eM_Containment.get(1), + 800, + 500000); + + // Hollow Casing + TT_recipeAdder.addResearchableAssemblylineRecipe( + CustomItemList.eM_Containment.get(1), + 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), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Lead, 8), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 16), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 16), + }, + new FluidStack[] { + Materials.Americium.getMolten(1296), + Materials.Osmium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Argon.getGas(576), + }, + CustomItemList.eM_Hollow.get(2), + 200, + 2000000); + + // EM Coil + TT_recipeAdder.addResearchableAssemblylineRecipe( + CustomItemList.eM_Hollow.get(1), + 48000, + 128, + 1000000, + 16, + new ItemStack[] { + CustomItemList.eM_Hollow.get(1), + ItemList.Casing_Fusion_Coil.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[] { + Materials.Glass.getMolten(2304), + Materials.Silicone.getMolten(1872), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Americium.getMolten(1296), + }, + CustomItemList.eM_Coil.get(4), + 800, + 2000000); + + // 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), + 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), + 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), + 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.Tin)}); - //Tesla Primary Coils T1 - GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaPrimary_1.get(1), + new Object[] {"WWW", "WwW", "WWW", 'W', OrePrefixes.wireGt02.get(Materials.Tin)}); + // 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.Copper)}); - //Tesla Primary Coils T2 - GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaPrimary_2.get(1), + new Object[] {"WWW", "WwW", "WWW", 'W', OrePrefixes.wireGt02.get(Materials.Copper)}); + // 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.Silver)}); - //Tesla Primary Coils T3 - GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaPrimary_3.get(1), + new Object[] {"WWW", "WwW", "WWW", 'W', OrePrefixes.wireGt02.get(Materials.Silver)}); + // 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.Aluminium)}); - //Tesla Primary Coils T4 - GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaPrimary_4.get(1), + new Object[] {"WWW", "WwW", "WWW", 'W', OrePrefixes.wireGt02.get(Materials.Aluminium)}); + // 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.Platinum)}); - //Tesla Primary Coils T5 - GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaPrimary_5.get(1), + new Object[] {"WWW", "WwW", "WWW", 'W', OrePrefixes.wireGt02.get(Materials.Platinum)}); + // 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.Superconductor)}); - //TODO Add Tesla Primary Coils T6 + new Object[] {"WWW", "WwW", "WWW", 'W', OrePrefixes.wireGt02.get(Materials.Superconductor)}); + // TODO Add Tesla Primary Coils T6 - //endregion + // endregion - //region hatches + // 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)}, + // 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) + }, 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), + 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) + }, 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), + 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) + }, 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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, 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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, 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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, 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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, 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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, Materials.Tungsten.getMolten(4608), - CustomItemList.eM_dynamoMulti64_UEV.get(1), 2000, 500000); - - //Energy Hatches 4A-64A IV-UIV - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Hatch_Energy_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2)}, + CustomItemList.eM_dynamoMulti64_UEV.get(1), + 2000, + 500000); + + // Energy Hatches 4A-64A IV-UIV + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Hatch_Energy_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_energyMulti4_IV.get(1), 100, 7680); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_energyMulti4_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 4)}, + CustomItemList.eM_energyMulti4_IV.get(1), + 100, + 7680); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_energyMulti4_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_energyMulti16_IV.get(1), 200, 7680); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_energyMulti16_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6)}, + CustomItemList.eM_energyMulti16_IV.get(1), + 200, + 7680); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_energyMulti16_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_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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, 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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, 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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, 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)}, + 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) + }, 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), + 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) + }, 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), + 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) + }, 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)}, + 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); - 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)}, + 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); - 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)}, + 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); - - //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), - ItemList.Hatch_Input_Bus_LuV.get(1), - ItemList.Circuit_Crystalcomputer.get(1), - CustomItemList.DATApipe.get(2) - }, Materials.Iridium.getMolten(1296), CustomItemList.dataIn_Hatch.get(1), 200, 122880); - //Data Output - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Hatch_Output_Bus_LuV.get(1), - ItemList.Circuit_Crystalcomputer.get(1), - CustomItemList.DATApipe.get(2) - }, Materials.Iridium.getMolten(1296), CustomItemList.dataOut_Hatch.get(1), 200, 122880); - - //Rack - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Bus.get(1), - ItemList.Hatch_Input_Bus_ZPM.get(1), - ItemList.Circuit_Crystalcomputer.get(2), - CustomItemList.DATApipe.get(4) - }, Materials.Iridium.getMolten(1296), CustomItemList.rack_Hatch.get(1), 800, 122880); + 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), + ItemList.Hatch_Input_Bus_LuV.get(1), + ItemList.Circuit_Crystalcomputer.get(1), + CustomItemList.DATApipe.get(2) + }, + Materials.Iridium.getMolten(1296), + CustomItemList.dataIn_Hatch.get(1), + 200, + 122880); + // Data Output + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Hatch_Output_Bus_LuV.get(1), + ItemList.Circuit_Crystalcomputer.get(1), + CustomItemList.DATApipe.get(2) + }, + Materials.Iridium.getMolten(1296), + CustomItemList.dataOut_Hatch.get(1), + 200, + 122880); + + // Rack + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Bus.get(1), + ItemList.Hatch_Input_Bus_ZPM.get(1), + ItemList.Circuit_Crystalcomputer.get(2), + CustomItemList.DATApipe.get(4) + }, + Materials.Iridium.getMolten(1296), + CustomItemList.rack_Hatch.get(1), + 800, + 122880); - //Object Holder - GT_Values.RA.addAssemblylineRecipe(ItemList.Hatch_Input_Bus_ZPM.get(1), 10000, new ItemStack[]{ + // Object Holder + GT_Values.RA.addAssemblylineRecipe( ItemList.Hatch_Input_Bus_ZPM.get(1), - CustomItemList.eM_Computer_Bus.get(1), - ItemList.Emitter_ZPM.get(8), - ItemList.Robot_Arm_ZPM.get(1), - ItemList.Electric_Motor_ZPM.get(2), - ItemList.Circuit_Crystalmainframe.get(1), - GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Naquadah, 16), - CustomItemList.DATApipe.get(2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(500), - Materials.Iridium.getMolten(1152), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) - }, CustomItemList.holder_Hatch.get(1), 1200, 100000); - - //Parameterizer - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Circuit_Masterquantumcomputer.get(1), - CustomItemList.DATApipe.get(4), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 16), - }, Materials.Iridium.getMolten(2592), CustomItemList.Parametrizer_Hatch.get(1), 800, 122880); - //Uncertainty - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Computer_Casing.get(1), - ItemList.Circuit_Ultimatecrystalcomputer.get(1), - CustomItemList.DATApipe.get(16), - ItemList.Cover_Screen.get(1), - new ItemStack(Blocks.stone_button, 16), - }, Materials.Iridium.getMolten(2592), CustomItemList.Uncertainty_Hatch.get(1), 1200, 122880); - - //Elemental Input - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Input_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 8), - ItemList.Sensor_UV.get(1) - }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_in_UV.get(1), 800, 500000); - //Elemental Output - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Output_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 8), - ItemList.Emitter_UV.get(1) - }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_out_UV.get(1), 800, 500000); - //Overflow - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_Containment.get(1), - ItemList.Hatch_Muffler_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 4), - 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 - - //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), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16), - ItemList.Upgrade_Overclocker.get(4), - }, Materials.Copper.getMolten(576), CustomItemList.Machine_Multi_Microwave.get(1), 800, 480); - - //Active Transformer - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Transformer_ZPM_LuV.get(16), - ItemList.Circuit_Board_Elite.get(1),//? - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 16), - ItemList.Circuit_Chip_HPIC.get(2), - }, Materials.TungstenSteel.getMolten(576), CustomItemList.Machine_Multi_Transformer.get(1), 400, 30720); - - //Network Switch - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + 10000, + new ItemStack[] { + ItemList.Hatch_Input_Bus_ZPM.get(1), + CustomItemList.eM_Computer_Bus.get(1), + ItemList.Emitter_ZPM.get(8), + ItemList.Robot_Arm_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + ItemList.Circuit_Crystalmainframe.get(1), + GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Naquadah, 16), + CustomItemList.DATApipe.get(2), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(500), + Materials.Iridium.getMolten(1152), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) + }, + CustomItemList.holder_Hatch.get(1), + 1200, + 100000); + + // Parameterizer + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Circuit_Masterquantumcomputer.get(1), + CustomItemList.DATApipe.get(4), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + }, + Materials.Iridium.getMolten(2592), + CustomItemList.Parametrizer_Hatch.get(1), + 800, + 122880); + // Uncertainty + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Circuit_Ultimatecrystalcomputer.get(1), + CustomItemList.DATApipe.get(16), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + }, + Materials.Iridium.getMolten(2592), + CustomItemList.Uncertainty_Hatch.get(1), + 1200, + 122880); + + // Elemental Input + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Input_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 8), + ItemList.Sensor_UV.get(1) + }, + Materials.Osmiridium.getMolten(1296), + CustomItemList.eM_in_UV.get(1), + 800, + 500000); + // Elemental Output + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Output_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 8), + ItemList.Emitter_UV.get(1) + }, + Materials.Osmiridium.getMolten(1296), + CustomItemList.eM_out_UV.get(1), + 800, + 500000); + // Overflow + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.eM_Containment.get(1), + ItemList.Hatch_Muffler_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 4), + 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 + + // 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), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16), + ItemList.Upgrade_Overclocker.get(4), + }, + Materials.Copper.getMolten(576), + CustomItemList.Machine_Multi_Microwave.get(1), + 800, + 480); + + // Active Transformer + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + ItemList.Transformer_ZPM_LuV.get(16), + ItemList.Circuit_Board_Elite.get(1), // ? + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 16), + ItemList.Circuit_Chip_HPIC.get(2), + }, + Materials.TungstenSteel.getMolten(576), CustomItemList.Machine_Multi_Transformer.get(1), - ItemList.Circuit_Ultimatecrystalcomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Cobalt, 32), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Copper, 32), - CustomItemList.DATApipe.get(4), - }, Materials.Iridium.getMolten(1296), CustomItemList.Machine_Multi_Switch.get(1), 800, 122880); - - //Quantum Computer - GT_Values.RA.addAssemblylineRecipe(ItemList.Tool_DataOrb.get(1), 20000, new ItemStack[]{ - CustomItemList.Machine_Multi_Switch.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2), - ItemList.Tool_DataOrb.get(1), - ItemList.Cover_Screen.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 8), - CustomItemList.DATApipe.get(8), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), + 400, + 30720); + + // Network Switch + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + CustomItemList.Machine_Multi_Transformer.get(1), + ItemList.Circuit_Ultimatecrystalcomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Cobalt, 32), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Copper, 32), + CustomItemList.DATApipe.get(4), + }, Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Hydrogen.getGas(1000), - }, CustomItemList.Machine_Multi_Computer.get(1), 12000, 100000); + CustomItemList.Machine_Multi_Switch.get(1), + 800, + 122880); - //Research Station - GT_Values.RA.addAssemblylineRecipe(ItemList.Tool_Scanner.get(1), 80000, new ItemStack[]{ + // Quantum Computer + GT_Values.RA.addAssemblylineRecipe( + ItemList.Tool_DataOrb.get(1), + 20000, + new ItemStack[] { + CustomItemList.Machine_Multi_Switch.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2), + ItemList.Tool_DataOrb.get(1), + ItemList.Cover_Screen.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 8), + CustomItemList.DATApipe.get(8), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Hydrogen.getGas(1000), + }, + CustomItemList.Machine_Multi_Computer.get(1), + 12000, + 100000); + + // Research Station + GT_Values.RA.addAssemblylineRecipe( + ItemList.Tool_Scanner.get(1), + 80000, + new ItemStack[] { + CustomItemList.Machine_Multi_Switch.get(1), + ItemList.Sensor_ZPM.get(8), + ItemList.Circuit_Crystalmainframe.get(4), + ItemList.Field_Generator_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Naquadah, 32), + CustomItemList.DATApipe.get(16), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_Research.get(1), + 12000, + 100000); + + // Matter Junction + TT_recipeAdder.addResearchableAssemblylineRecipe( CustomItemList.Machine_Multi_Switch.get(1), - ItemList.Sensor_ZPM.get(8), - ItemList.Circuit_Crystalmainframe.get(4), - ItemList.Field_Generator_ZPM.get(1), - ItemList.Electric_Motor_ZPM.get(2), - GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Naquadah, 32), - CustomItemList.DATApipe.get(16), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_Research.get(1), 12000, 100000); - - //Matter Junction - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Switch.get(1), - 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), - ItemList.Electric_Piston_LuV.get(2), - ItemList.Circuit_Wetwaresupercomputer.get(2), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 4), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_EMjunction.get(1), 12000, 100000); - - //Matter Quantizer - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Input_UV.get(1), - 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), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_MatterToEM.get(1), 12000, 100000); - - //Matter DeQuantizer - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Output_UV.get(1), - 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), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(1000), - Materials.Naquadah.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_EMToMatter.get(1), 12000, 100000); - - //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.plateDouble, Materials.Neutronium, 8), - ItemList.Emitter_UV.get(2), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 8), - }, 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.plateDouble, Materials.Neutronium, 8), - ItemList.Sensor_UV.get(2), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 8), - }, 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[]{ - 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.wireGt04, Materials.Superconductor, 16), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(2000), - Materials.Neutronium.getMolten(2592), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), - Materials.Osmiridium.getMolten(1296), - }, CustomItemList.Machine_Multi_Scanner.get(1), 24000, 500000); - - //Multi Infuser - TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Transformer.get(1), - 192000, 512, 2000000, 32, new ItemStack[]{ - CustomItemList.Machine_Multi_Transformer.get(1), - CustomItemList.eM_Coil.get(8), - CustomItemList.eM_Power.get(8), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), - }, new FluidStack[]{ - Materials.Electrum.getMolten(2592), - Materials.Neutronium.getMolten(1872), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - }, CustomItemList.Machine_Multi_Infuser.get(1), 8000, 2000000); - - //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)}, + 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), + ItemList.Electric_Piston_LuV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 4), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_EMjunction.get(1), + 12000, + 100000); + + // Matter Quantizer + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Input_UV.get(1), + 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), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_MatterToEM.get(1), + 12000, + 100000); + + // Matter DeQuantizer + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Hatch_Output_UV.get(1), + 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), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, + CustomItemList.Machine_Multi_EMToMatter.get(1), + 12000, + 100000); + + // 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.plateDouble, Materials.Neutronium, 8), + ItemList.Emitter_UV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 8), + }, + 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.plateDouble, Materials.Neutronium, 8), + ItemList.Sensor_UV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 8), + }, + 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[] { + 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.wireGt04, Materials.Superconductor, 16), + }, + new FluidStack[] { + Materials.UUMatter.getFluid(2000), + Materials.Neutronium.getMolten(2592), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), + Materials.Osmiridium.getMolten(1296), + }, + CustomItemList.Machine_Multi_Scanner.get(1), + 24000, + 500000); + + // Multi Infuser + TT_recipeAdder.addResearchableAssemblylineRecipe( + CustomItemList.Machine_Multi_Transformer.get(1), + 192000, + 512, + 2000000, + 32, + new ItemStack[] { + CustomItemList.Machine_Multi_Transformer.get(1), + CustomItemList.eM_Coil.get(8), + CustomItemList.eM_Power.get(8), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), + }, + new FluidStack[] { + Materials.Electrum.getMolten(2592), + Materials.Neutronium.getMolten(1872), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + }, + CustomItemList.Machine_Multi_Infuser.get(1), + 8000, + 2000000); + + // 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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)}, + 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.Superconductor, 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), + 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.Superconductor, 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.plate, 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.plate, 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.plate, 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.plate, 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.plate, 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); + // LuV Tesla Capacitor + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.HSSG, 4), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 14), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 28), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 28), + }, + Materials.Epoxid.getMolten(432), + CustomItemList.teslaCapacitor.getWithDamage(1, 5), + 320, + 30720); + // ZPM Tesla Capacitor + // GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + // GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 4), + // GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 16), + // GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 32), + // GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 32), + // }, Materials.Epoxid.getMolten(504), CustomItemList.teslaCapacitor.getWithDamage(1, 6), 320, 122880); + // TODO Allow with the coils, useless alone and will only cause trouble + // 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.plate, 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), + 300, + 2); + // MV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 1), GT_OreDictUnificator.get(OrePrefixes.plate, 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), + 300, + 2); + // HV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 2), GT_OreDictUnificator.get(OrePrefixes.plate, 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), + 300, + 2); + // EV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 3), GT_OreDictUnificator.get(OrePrefixes.plate, 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), + 300, + 2); + // IV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 4), GT_OreDictUnificator.get(OrePrefixes.plate, 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); - //LuV Tesla Capacitor - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.HSSG, 4), + 300, + 2); + // LuV Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 5), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 14), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 28), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 28), - }, Materials.Epoxid.getMolten(432), CustomItemList.teslaCapacitor.getWithDamage(1, 5), 320, 30720); - //ZPM Tesla Capacitor - //GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - // GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 4), - // GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 16), - // GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 32), - // GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 32), - //}, Materials.Epoxid.getMolten(504), CustomItemList.teslaCapacitor.getWithDamage(1, 6), 320, 122880); - //TODO Allow with the coils, useless alone and will only cause trouble - //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.plate, Materials.BatteryAlloy, 4), 300, 2); - //MV Tesla Capacitor - GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 6), 300, 2); - //HV Tesla Capacitor - GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 8), 300, 2); - //EV Tesla Capacitor - GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 3), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 10), 300, 2); - //IV Tesla Capacitor - GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 4), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 12), 300, 2); - //LuV Tesla Capacitor - GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 5), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 14), 300, 2); - //ZPM Tesla Capacitor - GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 6), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 16), 300, 2); - - //endregion - - //ha trafos - //if(Loader.isModLoaded(Reference.GTPLUSPLUS)){ + 300, + 2); + // ZPM Tesla Capacitor + GT_Values.RA.addExtractorRecipe( + CustomItemList.teslaCapacitor.getWithDamage(1, 6), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 16), + 300, + 2); + + // endregion + + // ha trafos + // if(Loader.isModLoaded(Reference.GTPLUSPLUS)){ // GT_Values.RA.addAssemblerRecipe(CustomItemList.HA) - //} + // } - //power trafos - //GT_Values.RA.addAssemblerRecipe() + // power trafos + // GT_Values.RA.addAssemblerRecipe() 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(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)); + 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.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)); + 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.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)); + 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.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/ComponentLoader.java b/src/main/java/com/github/technus/tectech/loader/thing/ComponentLoader.java index 39b42c1249..933229b537 100644 --- a/src/main/java/com/github/technus/tectech/loader/thing/ComponentLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/thing/ComponentLoader.java @@ -4,23 +4,19 @@ import gregtech.api.enums.Materials; import gregtech.api.interfaces.IMaterialHandler; public class ComponentLoader implements IMaterialHandler { - public ComponentLoader(){ + public ComponentLoader() { Materials.add(this); } @Override public void onComponentInit() { - //example - //OrePrefixes.ring.enableComponent(Materials.RedAlloy); + // example + // OrePrefixes.ring.enableComponent(Materials.RedAlloy); } @Override - public void onComponentIteration(Materials materials) { - - } + public void onComponentIteration(Materials materials) {} @Override - public void onMaterialsInit() { - - } + public void onMaterialsInit() {} } 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 index 880113073c..a5e68e2a0a 100644 --- a/src/main/java/com/github/technus/tectech/loader/thing/CoverLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/thing/CoverLoader.java @@ -14,19 +14,32 @@ 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"); - final IIconContainer ENDERFLUIDLINK_OVERLAY = new Textures.BlockIcons.CustomIcon("iconsets/ENDERFLUIDLINK_OVERLAY"); - final IIconContainer POWERPASSUPGRADE_OVERLAY = new Textures.BlockIcons.CustomIcon("iconsets/POWERPASSUPGRADE_OVERLAY"); + final IIconContainer TESLA_OVERLAY_ULTIMATE = + new Textures.BlockIcons.CustomIcon("iconsets/TESLA_OVERLAY_ULTIMATE"); + final IIconContainer ENDERFLUIDLINK_OVERLAY = + new Textures.BlockIcons.CustomIcon("iconsets/ENDERFLUIDLINK_OVERLAY"); + final IIconContainer POWERPASSUPGRADE_OVERLAY = + new Textures.BlockIcons.CustomIcon("iconsets/POWERPASSUPGRADE_OVERLAY"); - 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()); - GregTech_API.registerCover(new ItemStack(EnderFluidLinkCover.INSTANCE, 1, 0), new GT_RenderedTexture(ENDERFLUIDLINK_OVERLAY), new GT_Cover_TM_EnderFluidLink()); - GregTech_API.registerCover(new ItemStack(PowerPassUpgradeCover.INSTANCE, 1, 0), new GT_RenderedTexture(POWERPASSUPGRADE_OVERLAY), new GT_Cover_TM_PowerPassUpgrade()); + 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()); + GregTech_API.registerCover( + new ItemStack(EnderFluidLinkCover.INSTANCE, 1, 0), + new GT_RenderedTexture(ENDERFLUIDLINK_OVERLAY), + new GT_Cover_TM_EnderFluidLink()); + GregTech_API.registerCover( + new ItemStack(PowerPassUpgradeCover.INSTANCE, 1, 0), + new GT_RenderedTexture(POWERPASSUPGRADE_OVERLAY), + new GT_Cover_TM_PowerPassUpgrade()); 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 65cba0a2b7..c58c43ef8d 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 @@ -1,5 +1,9 @@ package com.github.technus.tectech.loader.thing; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.thing.CustomItemList.*; +import static com.github.technus.tectech.util.CommonValues.V; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.compatibility.dreamcraft.NoDreamCraftMachineLoader; import com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_essentiaDequantizer; @@ -16,10 +20,6 @@ import cpw.mods.fml.common.Loader; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.thing.CustomItemList.*; -import static com.github.technus.tectech.util.CommonValues.V; - /** * Created by danie_000 on 16.11.2016. */ @@ -30,645 +30,1003 @@ public class MachineLoader implements Runnable { // eM IN // =================================================================================================== - eM_in_UV.set(new GT_MetaTileEntity_Hatch_InputElemental( - 15000, "hatch.emin.tier.08", "UV Elemental Input Hatch", 8).getStackForm(1L)); + eM_in_UV.set( + new GT_MetaTileEntity_Hatch_InputElemental(15000, "hatch.emin.tier.08", "UV Elemental Input Hatch", 8) + .getStackForm(1L)); - eM_in_UHV.set(new GT_MetaTileEntity_Hatch_InputElemental( - 15001, "hatch.emin.tier.09", "UHV Elemental Input Hatch", 9).getStackForm(1L)); + eM_in_UHV.set( + new GT_MetaTileEntity_Hatch_InputElemental(15001, "hatch.emin.tier.09", "UHV Elemental Input Hatch", 9) + .getStackForm(1L)); - eM_in_UEV.set(new GT_MetaTileEntity_Hatch_InputElemental( - 15002, "hatch.emin.tier.10", "UEV Elemental Input Hatch", 10).getStackForm(1L)); + eM_in_UEV.set( + new GT_MetaTileEntity_Hatch_InputElemental(15002, "hatch.emin.tier.10", "UEV Elemental Input Hatch", 10) + .getStackForm(1L)); - eM_in_UIV.set(new GT_MetaTileEntity_Hatch_InputElemental( - 15003, "hatch.emin.tier.11", "UIV Elemental Input Hatch", 11).getStackForm(1L)); + eM_in_UIV.set( + new GT_MetaTileEntity_Hatch_InputElemental(15003, "hatch.emin.tier.11", "UIV Elemental Input Hatch", 11) + .getStackForm(1L)); - eM_in_UMV.set(new GT_MetaTileEntity_Hatch_InputElemental( - 15004, "hatch.emin.tier.12", "UMV Elemental Input Hatch", 12).getStackForm(1L)); + eM_in_UMV.set( + new GT_MetaTileEntity_Hatch_InputElemental(15004, "hatch.emin.tier.12", "UMV Elemental Input Hatch", 12) + .getStackForm(1L)); - eM_in_UXV.set(new GT_MetaTileEntity_Hatch_InputElemental( - 15005, "hatch.emin.tier.13", "UXV Elemental Input Hatch", 13).getStackForm(1L)); + eM_in_UXV.set( + new GT_MetaTileEntity_Hatch_InputElemental(15005, "hatch.emin.tier.13", "UXV Elemental Input Hatch", 13) + .getStackForm(1L)); // =================================================================================================== // eM OUT // =================================================================================================== eM_out_UV.set(new GT_MetaTileEntity_Hatch_OutputElemental( - 15010, "hatch.emout.tier.08", "UV Elemental Output Hatch", 8).getStackForm(1L)); + 15010, "hatch.emout.tier.08", "UV Elemental Output Hatch", 8) + .getStackForm(1L)); eM_out_UHV.set(new GT_MetaTileEntity_Hatch_OutputElemental( - 15011, "hatch.emout.tier.09", "UHV Elemental Output Hatch", 9).getStackForm(1L)); + 15011, "hatch.emout.tier.09", "UHV Elemental Output Hatch", 9) + .getStackForm(1L)); eM_out_UEV.set(new GT_MetaTileEntity_Hatch_OutputElemental( - 15012, "hatch.emout.tier.10", "UEV Elemental Output Hatch", 10).getStackForm(1L)); + 15012, "hatch.emout.tier.10", "UEV Elemental Output Hatch", 10) + .getStackForm(1L)); eM_out_UIV.set(new GT_MetaTileEntity_Hatch_OutputElemental( - 15013, "hatch.emout.tier.11", "UIV Elemental Output Hatch", 11).getStackForm(1L)); + 15013, "hatch.emout.tier.11", "UIV Elemental Output Hatch", 11) + .getStackForm(1L)); eM_out_UMV.set(new GT_MetaTileEntity_Hatch_OutputElemental( - 15014, "hatch.emout.tier.12", "UMV Elemental Output Hatch", 12).getStackForm(1L)); + 15014, "hatch.emout.tier.12", "UMV Elemental Output Hatch", 12) + .getStackForm(1L)); eM_out_UXV.set(new GT_MetaTileEntity_Hatch_OutputElemental( - 15015, "hatch.emout.tier.13", "UXV Elemental Output Hatch", 13).getStackForm(1L)); + 15015, "hatch.emout.tier.13", "UXV Elemental Output Hatch", 13) + .getStackForm(1L)); // =================================================================================================== // eM Waste OUT // =================================================================================================== eM_muffler_UV.set(new GT_MetaTileEntity_Hatch_OverflowElemental( - 15020, "hatch.emmuffler.tier.08", "UV Overflow Output Hatch", 8, 1e10f* EM_COUNT_PER_MATERIAL_AMOUNT).getStackForm(1L)); + 15020, + "hatch.emmuffler.tier.08", + "UV Overflow Output Hatch", + 8, + 1e10f * EM_COUNT_PER_MATERIAL_AMOUNT) + .getStackForm(1L)); eM_muffler_UHV.set(new GT_MetaTileEntity_Hatch_OverflowElemental( - 15021, "hatch.emmuffler.tier.09", "UHV Overflow Output Hatch", 9, 5e10f* EM_COUNT_PER_MATERIAL_AMOUNT).getStackForm(1L)); + 15021, + "hatch.emmuffler.tier.09", + "UHV Overflow Output Hatch", + 9, + 5e10f * EM_COUNT_PER_MATERIAL_AMOUNT) + .getStackForm(1L)); eM_muffler_UEV.set(new GT_MetaTileEntity_Hatch_OverflowElemental( - 15022, "hatch.emmuffler.tier.10", "UEV Overflow Output Hatch", 10, 25e10f* EM_COUNT_PER_MATERIAL_AMOUNT).getStackForm(1L)); + 15022, + "hatch.emmuffler.tier.10", + "UEV Overflow Output Hatch", + 10, + 25e10f * EM_COUNT_PER_MATERIAL_AMOUNT) + .getStackForm(1L)); eM_muffler_UIV.set(new GT_MetaTileEntity_Hatch_OverflowElemental( - 15023, "hatch.emmuffler.tier.11", "UIV Overflow Output Hatch", 11, 125e10f* EM_COUNT_PER_MATERIAL_AMOUNT).getStackForm(1L)); + 15023, + "hatch.emmuffler.tier.11", + "UIV Overflow Output Hatch", + 11, + 125e10f * EM_COUNT_PER_MATERIAL_AMOUNT) + .getStackForm(1L)); eM_muffler_UMV.set(new GT_MetaTileEntity_Hatch_OverflowElemental( - 15024, "hatch.emmuffler.tier.12", "UMV Overflow Output Hatch", 12, 125e11f* EM_COUNT_PER_MATERIAL_AMOUNT).getStackForm(1L)); + 15024, + "hatch.emmuffler.tier.12", + "UMV Overflow Output Hatch", + 12, + 125e11f * EM_COUNT_PER_MATERIAL_AMOUNT) + .getStackForm(1L)); eM_muffler_UXV.set(new GT_MetaTileEntity_Hatch_OverflowElemental( - 15025, "hatch.emmuffler.tier.13", "UXV Overflow Output Hatch", 13, 125e12f* EM_COUNT_PER_MATERIAL_AMOUNT).getStackForm(1L)); + 15025, + "hatch.emmuffler.tier.13", + "UXV Overflow Output Hatch", + 13, + 125e12f * EM_COUNT_PER_MATERIAL_AMOUNT) + .getStackForm(1L)); - // =================================================================================================== // Microcontrollers // =================================================================================================== - - eM_avr_HV.set(new GT_MetaTileEntity_MicroController( - 15030, "machine.avr.tier.08", "HV AVR Micro-controller", 3).getStackForm(1L)); - - eM_avr_EV.set(new GT_MetaTileEntity_MicroController( - 15031, "machine.avr.tier.08", "EV AVR Micro-controller", 4).getStackForm(1L)); - - eM_avr_IV.set(new GT_MetaTileEntity_MicroController( - 15032, "machine.avr.tier.08", "IV AVR Micro-controller", 5).getStackForm(1L)); - - eM_avr_LuV.set(new GT_MetaTileEntity_MicroController( - 15033, "machine.avr.tier.08", "LuV AVR Micro-controller", 6).getStackForm(1L)); - - eM_avr_ZPM.set(new GT_MetaTileEntity_MicroController( - 15034, "machine.avr.tier.08", "ZPM AVR Micro-controller", 7).getStackForm(1L)); - eM_avr_UV.set(new GT_MetaTileEntity_MicroController( - 15035, "machine.avr.tier.08", "UV AVR Micro-controller", 8).getStackForm(1L)); + eM_avr_HV.set(new GT_MetaTileEntity_MicroController(15030, "machine.avr.tier.08", "HV AVR Micro-controller", 3) + .getStackForm(1L)); - eM_avr_UHV.set(new GT_MetaTileEntity_MicroController( - 15036, "machine.avr.tier.09", "UHV AVR Micro-controller", 9).getStackForm(1L)); + eM_avr_EV.set(new GT_MetaTileEntity_MicroController(15031, "machine.avr.tier.08", "EV AVR Micro-controller", 4) + .getStackForm(1L)); - eM_avr_UEV.set(new GT_MetaTileEntity_MicroController( - 15037, "machine.avr.tier.10", "UEV AVR Micro-controller", 10).getStackForm(1L)); + eM_avr_IV.set(new GT_MetaTileEntity_MicroController(15032, "machine.avr.tier.08", "IV AVR Micro-controller", 5) + .getStackForm(1L)); - eM_avr_UIV.set(new GT_MetaTileEntity_MicroController( - 15038, "machine.avr.tier.11", "UIV AVR Micro-controller", 11).getStackForm(1L)); + eM_avr_LuV.set( + new GT_MetaTileEntity_MicroController(15033, "machine.avr.tier.08", "LuV AVR Micro-controller", 6) + .getStackForm(1L)); - eM_avr_UMV.set(new GT_MetaTileEntity_MicroController( - 15039, "machine.avr.tier.12", "UMV AVR Micro-controller", 12).getStackForm(1L)); - + eM_avr_ZPM.set( + new GT_MetaTileEntity_MicroController(15034, "machine.avr.tier.08", "ZPM AVR Micro-controller", 7) + .getStackForm(1L)); + + eM_avr_UV.set(new GT_MetaTileEntity_MicroController(15035, "machine.avr.tier.08", "UV AVR Micro-controller", 8) + .getStackForm(1L)); + + eM_avr_UHV.set( + new GT_MetaTileEntity_MicroController(15036, "machine.avr.tier.09", "UHV AVR Micro-controller", 9) + .getStackForm(1L)); + + eM_avr_UEV.set( + new GT_MetaTileEntity_MicroController(15037, "machine.avr.tier.10", "UEV AVR Micro-controller", 10) + .getStackForm(1L)); + + eM_avr_UIV.set( + new GT_MetaTileEntity_MicroController(15038, "machine.avr.tier.11", "UIV AVR Micro-controller", 11) + .getStackForm(1L)); + + eM_avr_UMV.set( + new GT_MetaTileEntity_MicroController(15039, "machine.avr.tier.12", "UMV AVR Micro-controller", 12) + .getStackForm(1L)); // =================================================================================================== // Multi AMP Power INPUTS // =================================================================================================== eM_energyMulti4_IV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15100, "hatch.energymulti04.tier.05", "IV 4A Energy Hatch", 5, 4).getStackForm(1L)); + 15100, "hatch.energymulti04.tier.05", "IV 4A Energy Hatch", 5, 4) + .getStackForm(1L)); eM_energyMulti16_IV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15110, "hatch.energymulti16.tier.05", "IV 16A Energy Hatch", 5, 16).getStackForm(1L)); + 15110, "hatch.energymulti16.tier.05", "IV 16A Energy Hatch", 5, 16) + .getStackForm(1L)); eM_energyMulti64_IV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15120, "hatch.energymulti64.tier.05", "IV 64A Energy Hatch", 5, 64).getStackForm(1L)); + 15120, "hatch.energymulti64.tier.05", "IV 64A Energy Hatch", 5, 64) + .getStackForm(1L)); eM_energyMulti4_LuV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15101, "hatch.energymulti04.tier.06", "LuV 4A Energy Hatch", 6, 4).getStackForm(1L)); + 15101, "hatch.energymulti04.tier.06", "LuV 4A Energy Hatch", 6, 4) + .getStackForm(1L)); eM_energyMulti16_LuV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15111, "hatch.energymulti16.tier.06", "LuV 16A Energy Hatch", 6, 16).getStackForm(1L)); + 15111, "hatch.energymulti16.tier.06", "LuV 16A Energy Hatch", 6, 16) + .getStackForm(1L)); eM_energyMulti64_LuV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15121, "hatch.energymulti64.tier.06", "LuV 64A Energy Hatch", 6, 64).getStackForm(1L)); + 15121, "hatch.energymulti64.tier.06", "LuV 64A Energy Hatch", 6, 64) + .getStackForm(1L)); eM_energyMulti4_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15102, "hatch.energymulti04.tier.07", "ZPM 4A Energy Hatch", 7, 4).getStackForm(1L)); + 15102, "hatch.energymulti04.tier.07", "ZPM 4A Energy Hatch", 7, 4) + .getStackForm(1L)); eM_energyMulti16_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15112, "hatch.energymulti16.tier.07", "ZPM 16A Energy Hatch", 7, 16).getStackForm(1L)); + 15112, "hatch.energymulti16.tier.07", "ZPM 16A Energy Hatch", 7, 16) + .getStackForm(1L)); eM_energyMulti64_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15122, "hatch.energymulti64.tier.07", "ZPM 64A Energy Hatch", 7, 64).getStackForm(1L)); + 15122, "hatch.energymulti64.tier.07", "ZPM 64A Energy Hatch", 7, 64) + .getStackForm(1L)); eM_energyMulti4_UV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15103, "hatch.energymulti04.tier.08", "UV 4A Energy Hatch", 8, 4).getStackForm(1L)); + 15103, "hatch.energymulti04.tier.08", "UV 4A Energy Hatch", 8, 4) + .getStackForm(1L)); eM_energyMulti16_UV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15113, "hatch.energymulti16.tier.08", "UV 16A Energy Hatch", 8, 16).getStackForm(1L)); + 15113, "hatch.energymulti16.tier.08", "UV 16A Energy Hatch", 8, 16) + .getStackForm(1L)); eM_energyMulti64_UV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15123, "hatch.energymulti64.tier.08", "UV 64A Energy Hatch", 8, 64).getStackForm(1L)); + 15123, "hatch.energymulti64.tier.08", "UV 64A Energy Hatch", 8, 64) + .getStackForm(1L)); eM_energyMulti4_UHV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15104, "hatch.energymulti04.tier.09", "UHV 4A Energy Hatch", 9, 4).getStackForm(1L)); + 15104, "hatch.energymulti04.tier.09", "UHV 4A Energy Hatch", 9, 4) + .getStackForm(1L)); eM_energyMulti16_UHV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15114, "hatch.energymulti16.tier.09", "UHV 16A Energy Hatch", 9, 16).getStackForm(1L)); + 15114, "hatch.energymulti16.tier.09", "UHV 16A Energy Hatch", 9, 16) + .getStackForm(1L)); eM_energyMulti64_UHV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15124, "hatch.energymulti64.tier.09", "UHV 64A Energy Hatch", 9, 64).getStackForm(1L)); + 15124, "hatch.energymulti64.tier.09", "UHV 64A Energy Hatch", 9, 64) + .getStackForm(1L)); eM_energyMulti4_UEV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15105, "hatch.energymulti04.tier.10", "UEV 4A Energy Hatch", 10, 4).getStackForm(1L)); + 15105, "hatch.energymulti04.tier.10", "UEV 4A Energy Hatch", 10, 4) + .getStackForm(1L)); eM_energyMulti16_UEV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15115, "hatch.energymulti16.tier.10", "UEV 16A Energy Hatch", 10, 16).getStackForm(1L)); + 15115, "hatch.energymulti16.tier.10", "UEV 16A Energy Hatch", 10, 16) + .getStackForm(1L)); eM_energyMulti64_UEV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15125, "hatch.energymulti64.tier.10", "UEV 64A Energy Hatch", 10, 64).getStackForm(1L)); + 15125, "hatch.energymulti64.tier.10", "UEV 64A Energy Hatch", 10, 64) + .getStackForm(1L)); eM_energyMulti4_UIV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15106, "hatch.energymulti04.tier.11", "UIV 4A Energy Hatch", 11, 4).getStackForm(1L)); + 15106, "hatch.energymulti04.tier.11", "UIV 4A Energy Hatch", 11, 4) + .getStackForm(1L)); eM_energyMulti16_UIV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15116, "hatch.energymulti16.tier.11", "UIV 16A Energy Hatch", 11, 16).getStackForm(1L)); + 15116, "hatch.energymulti16.tier.11", "UIV 16A Energy Hatch", 11, 16) + .getStackForm(1L)); eM_energyMulti64_UIV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15126, "hatch.energymulti64.tier.11", "UIV 64A Energy Hatch", 11, 64).getStackForm(1L)); + 15126, "hatch.energymulti64.tier.11", "UIV 64A Energy Hatch", 11, 64) + .getStackForm(1L)); eM_energyMulti4_UMV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15107, "hatch.energymulti04.tier.12", "UMV 4A Energy Hatch", 12, 4).getStackForm(1L)); + 15107, "hatch.energymulti04.tier.12", "UMV 4A Energy Hatch", 12, 4) + .getStackForm(1L)); eM_energyMulti16_UMV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15117, "hatch.energymulti16.tier.12", "UMV 16A Energy Hatch", 12, 16).getStackForm(1L)); + 15117, "hatch.energymulti16.tier.12", "UMV 16A Energy Hatch", 12, 16) + .getStackForm(1L)); eM_energyMulti64_UMV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15127, "hatch.energymulti64.tier.12", "UMV 64A Energy Hatch", 12, 64).getStackForm(1L)); + 15127, "hatch.energymulti64.tier.12", "UMV 64A Energy Hatch", 12, 64) + .getStackForm(1L)); eM_energyMulti4_UXV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15108, "hatch.energymulti04.tier.13", "UXV 4A Energy Hatch", 13, 4).getStackForm(1L)); + 15108, "hatch.energymulti04.tier.13", "UXV 4A Energy Hatch", 13, 4) + .getStackForm(1L)); eM_energyMulti16_UXV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15118, "hatch.energymulti16.tier.13", "UXV 16A Energy Hatch", 13, 16).getStackForm(1L)); + 15118, "hatch.energymulti16.tier.13", "UXV 16A Energy Hatch", 13, 16) + .getStackForm(1L)); eM_energyMulti64_UXV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( - 15128, "hatch.energymulti64.tier.13", "UXV 64A Energy Hatch", 13, 64).getStackForm(1L)); + 15128, "hatch.energymulti64.tier.13", "UXV 64A Energy Hatch", 13, 64) + .getStackForm(1L)); // =================================================================================================== // Multi AMP Laser INPUTS // =================================================================================================== eM_energyTunnel1_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15130, "hatch.energytunnel1.tier.05", "IV 256A/t Laser Target Hatch", 5, 256).getStackForm(1L)); + 15130, "hatch.energytunnel1.tier.05", "IV 256A/t Laser Target Hatch", 5, 256) + .getStackForm(1L)); eM_energyTunnel2_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15140, "hatch.energytunnel2.tier.05", "IV 1024A/t Laser Target Hatch", 5, 1024).getStackForm(1L)); + 15140, "hatch.energytunnel2.tier.05", "IV 1024A/t Laser Target Hatch", 5, 1024) + .getStackForm(1L)); eM_energyTunnel3_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15150, "hatch.energytunnel3.tier.05", "IV 4096A/t Laser Target Hatch", 5, 4096).getStackForm(1L)); + 15150, "hatch.energytunnel3.tier.05", "IV 4096A/t Laser Target Hatch", 5, 4096) + .getStackForm(1L)); eM_energyTunnel4_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15160, "hatch.energytunnel4.tier.05", "IV 16384A/t Laser Target Hatch", 5, 16384).getStackForm(1L)); + 15160, "hatch.energytunnel4.tier.05", "IV 16384A/t Laser Target Hatch", 5, 16384) + .getStackForm(1L)); eM_energyTunnel5_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15170, "hatch.energytunnel5.tier.05", "IV 65536A/t Laser Target Hatch", 5, 65536).getStackForm(1L)); + 15170, "hatch.energytunnel5.tier.05", "IV 65536A/t Laser Target Hatch", 5, 65536) + .getStackForm(1L)); eM_energyTunnel6_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15180, "hatch.energytunnel6.tier.05", "IV 262144A/t Laser Target Hatch", 5, 262144).getStackForm(1L)); + 15180, "hatch.energytunnel6.tier.05", "IV 262144A/t Laser Target Hatch", 5, 262144) + .getStackForm(1L)); eM_energyTunnel7_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15190, "hatch.energytunnel7.tier.05", "IV 1048576A/t Laser Target Hatch", 5, 1048576).getStackForm(1L)); + 15190, "hatch.energytunnel7.tier.05", "IV 1048576A/t Laser Target Hatch", 5, 1048576) + .getStackForm(1L)); eM_energyTunnel1_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15131, "hatch.energytunnel1.tier.06", "LuV 256A/t Laser Target Hatch", 6, 256).getStackForm(1L)); + 15131, "hatch.energytunnel1.tier.06", "LuV 256A/t Laser Target Hatch", 6, 256) + .getStackForm(1L)); eM_energyTunnel2_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15141, "hatch.energytunnel2.tier.06", "LuV 1024A/t Laser Target Hatch", 6, 1024).getStackForm(1L)); + 15141, "hatch.energytunnel2.tier.06", "LuV 1024A/t Laser Target Hatch", 6, 1024) + .getStackForm(1L)); eM_energyTunnel3_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15151, "hatch.energytunnel3.tier.06", "LuV 4096A/t Laser Target Hatch", 6, 4096).getStackForm(1L)); + 15151, "hatch.energytunnel3.tier.06", "LuV 4096A/t Laser Target Hatch", 6, 4096) + .getStackForm(1L)); eM_energyTunnel4_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15161, "hatch.energytunnel4.tier.06", "LuV 16384A/t Laser Target Hatch", 6, 16384).getStackForm(1L)); + 15161, "hatch.energytunnel4.tier.06", "LuV 16384A/t Laser Target Hatch", 6, 16384) + .getStackForm(1L)); eM_energyTunnel5_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15171, "hatch.energytunnel5.tier.06", "LuV 65536A/t Laser Target Hatch", 6, 65536).getStackForm(1L)); + 15171, "hatch.energytunnel5.tier.06", "LuV 65536A/t Laser Target Hatch", 6, 65536) + .getStackForm(1L)); eM_energyTunnel6_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15181, "hatch.energytunnel6.tier.06", "LuV 262144A/t Laser Target Hatch", 6, 262144).getStackForm(1L)); + 15181, "hatch.energytunnel6.tier.06", "LuV 262144A/t Laser Target Hatch", 6, 262144) + .getStackForm(1L)); eM_energyTunnel7_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15191, "hatch.energytunnel7.tier.06", "LuV 1048576A/t Laser Target Hatch", 6, 1048576).getStackForm(1L)); + 15191, "hatch.energytunnel7.tier.06", "LuV 1048576A/t Laser Target Hatch", 6, 1048576) + .getStackForm(1L)); eM_energyTunnel1_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15132, "hatch.energytunnel1.tier.07", "ZPM 256A/t Laser Target Hatch", 7, 256).getStackForm(1L)); + 15132, "hatch.energytunnel1.tier.07", "ZPM 256A/t Laser Target Hatch", 7, 256) + .getStackForm(1L)); eM_energyTunnel2_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15142, "hatch.energytunnel2.tier.07", "ZPM 1024A/t Laser Target Hatch", 7, 1024).getStackForm(1L)); + 15142, "hatch.energytunnel2.tier.07", "ZPM 1024A/t Laser Target Hatch", 7, 1024) + .getStackForm(1L)); eM_energyTunnel3_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15152, "hatch.energytunnel3.tier.07", "ZPM 4096A/t Laser Target Hatch", 7, 4096).getStackForm(1L)); + 15152, "hatch.energytunnel3.tier.07", "ZPM 4096A/t Laser Target Hatch", 7, 4096) + .getStackForm(1L)); eM_energyTunnel4_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15162, "hatch.energytunnel4.tier.07", "ZPM 16384A/t Laser Target Hatch", 7, 16384).getStackForm(1L)); + 15162, "hatch.energytunnel4.tier.07", "ZPM 16384A/t Laser Target Hatch", 7, 16384) + .getStackForm(1L)); eM_energyTunnel5_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15172, "hatch.energytunnel5.tier.07", "ZPM 65536A/t Laser Target Hatch", 7, 65536).getStackForm(1L)); + 15172, "hatch.energytunnel5.tier.07", "ZPM 65536A/t Laser Target Hatch", 7, 65536) + .getStackForm(1L)); eM_energyTunnel6_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15182, "hatch.energytunnel6.tier.07", "ZPM 262144A/t Laser Target Hatch", 7, 262144).getStackForm(1L)); + 15182, "hatch.energytunnel6.tier.07", "ZPM 262144A/t Laser Target Hatch", 7, 262144) + .getStackForm(1L)); eM_energyTunnel7_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15192, "hatch.energytunnel7.tier.07", "ZPM 1048576A/t Laser Target Hatch", 7, 1048576).getStackForm(1L)); + 15192, "hatch.energytunnel7.tier.07", "ZPM 1048576A/t Laser Target Hatch", 7, 1048576) + .getStackForm(1L)); eM_energyTunnel1_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15133, "hatch.energytunnel1.tier.08", "UV 256A/t Laser Target Hatch", 8, 256).getStackForm(1L)); + 15133, "hatch.energytunnel1.tier.08", "UV 256A/t Laser Target Hatch", 8, 256) + .getStackForm(1L)); eM_energyTunnel2_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15143, "hatch.energytunnel2.tier.08", "UV 1024A/t Laser Target Hatch", 8, 1024).getStackForm(1L)); + 15143, "hatch.energytunnel2.tier.08", "UV 1024A/t Laser Target Hatch", 8, 1024) + .getStackForm(1L)); eM_energyTunnel3_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15153, "hatch.energytunnel3.tier.08", "UV 4096A/t Laser Target Hatch", 8, 4096).getStackForm(1L)); + 15153, "hatch.energytunnel3.tier.08", "UV 4096A/t Laser Target Hatch", 8, 4096) + .getStackForm(1L)); eM_energyTunnel4_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15163, "hatch.energytunnel4.tier.08", "UV 16384A/t Laser Target Hatch", 8, 16384).getStackForm(1L)); + 15163, "hatch.energytunnel4.tier.08", "UV 16384A/t Laser Target Hatch", 8, 16384) + .getStackForm(1L)); eM_energyTunnel5_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15173, "hatch.energytunnel5.tier.08", "UV 65536A/t Laser Target Hatch", 8, 65536).getStackForm(1L)); + 15173, "hatch.energytunnel5.tier.08", "UV 65536A/t Laser Target Hatch", 8, 65536) + .getStackForm(1L)); eM_energyTunnel6_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15183, "hatch.energytunnel6.tier.08", "UV 262144A/t Laser Target Hatch", 8, 262144).getStackForm(1L)); + 15183, "hatch.energytunnel6.tier.08", "UV 262144A/t Laser Target Hatch", 8, 262144) + .getStackForm(1L)); eM_energyTunnel7_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15193, "hatch.energytunnel7.tier.08", "UV 1048576A/t Laser Target Hatch", 8, 1048576).getStackForm(1L)); + 15193, "hatch.energytunnel7.tier.08", "UV 1048576A/t Laser Target Hatch", 8, 1048576) + .getStackForm(1L)); eM_energyTunnel1_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15134, "hatch.energytunnel1.tier.09", "UHV 256A/t Laser Target Hatch", 9, 256).getStackForm(1L)); + 15134, "hatch.energytunnel1.tier.09", "UHV 256A/t Laser Target Hatch", 9, 256) + .getStackForm(1L)); eM_energyTunnel2_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15144, "hatch.energytunnel2.tier.09", "UHV 1024A/t Laser Target Hatch", 9, 1024).getStackForm(1L)); + 15144, "hatch.energytunnel2.tier.09", "UHV 1024A/t Laser Target Hatch", 9, 1024) + .getStackForm(1L)); eM_energyTunnel3_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15154, "hatch.energytunnel3.tier.09", "UHV 4096A/t Laser Target Hatch", 9, 4096).getStackForm(1L)); + 15154, "hatch.energytunnel3.tier.09", "UHV 4096A/t Laser Target Hatch", 9, 4096) + .getStackForm(1L)); eM_energyTunnel4_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15164, "hatch.energytunnel4.tier.09", "UHV 16384A/t Laser Target Hatch", 9, 16384).getStackForm(1L)); + 15164, "hatch.energytunnel4.tier.09", "UHV 16384A/t Laser Target Hatch", 9, 16384) + .getStackForm(1L)); eM_energyTunnel5_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15174, "hatch.energytunnel5.tier.09", "UHV 65536A/t Laser Target Hatch", 9, 65536).getStackForm(1L)); + 15174, "hatch.energytunnel5.tier.09", "UHV 65536A/t Laser Target Hatch", 9, 65536) + .getStackForm(1L)); eM_energyTunnel6_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15184, "hatch.energytunnel6.tier.09", "UHV 262144A/t Laser Target Hatch", 9, 262144).getStackForm(1L)); + 15184, "hatch.energytunnel6.tier.09", "UHV 262144A/t Laser Target Hatch", 9, 262144) + .getStackForm(1L)); eM_energyTunnel7_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15194, "hatch.energytunnel7.tier.09", "UHV 1048576A/t Laser Target Hatch", 9, 1048576).getStackForm(1L)); + 15194, "hatch.energytunnel7.tier.09", "UHV 1048576A/t Laser Target Hatch", 9, 1048576) + .getStackForm(1L)); eM_energyTunnel1_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15135, "hatch.energytunnel1.tier.10", "UEV 256A/t Laser Target Hatch", 10, 256).getStackForm(1L)); + 15135, "hatch.energytunnel1.tier.10", "UEV 256A/t Laser Target Hatch", 10, 256) + .getStackForm(1L)); eM_energyTunnel2_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15145, "hatch.energytunnel2.tier.10", "UEV 1024A/t Laser Target Hatch", 10, 1024).getStackForm(1L)); + 15145, "hatch.energytunnel2.tier.10", "UEV 1024A/t Laser Target Hatch", 10, 1024) + .getStackForm(1L)); eM_energyTunnel3_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15155, "hatch.energytunnel3.tier.10", "UEV 4096A/t Laser Target Hatch", 10, 4096).getStackForm(1L)); + 15155, "hatch.energytunnel3.tier.10", "UEV 4096A/t Laser Target Hatch", 10, 4096) + .getStackForm(1L)); eM_energyTunnel4_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15165, "hatch.energytunnel4.tier.10", "UEV 16384A/t Laser Target Hatch", 10, 16384).getStackForm(1L)); + 15165, "hatch.energytunnel4.tier.10", "UEV 16384A/t Laser Target Hatch", 10, 16384) + .getStackForm(1L)); eM_energyTunnel5_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15175, "hatch.energytunnel5.tier.10", "UEV 65536A/t Laser Target Hatch", 10, 65536).getStackForm(1L)); + 15175, "hatch.energytunnel5.tier.10", "UEV 65536A/t Laser Target Hatch", 10, 65536) + .getStackForm(1L)); eM_energyTunnel6_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15185, "hatch.energytunnel6.tier.10", "UEV 262144A/t Laser Target Hatch", 10, 262144).getStackForm(1L)); + 15185, "hatch.energytunnel6.tier.10", "UEV 262144A/t Laser Target Hatch", 10, 262144) + .getStackForm(1L)); eM_energyTunnel7_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15195, "hatch.energytunnel7.tier.10", "UEV 1048576A/t Laser Target Hatch", 10, 1048576).getStackForm(1L)); + 15195, "hatch.energytunnel7.tier.10", "UEV 1048576A/t Laser Target Hatch", 10, 1048576) + .getStackForm(1L)); eM_energyTunnel1_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15136, "hatch.energytunnel1.tier.11", "UIV 256A/t Laser Target Hatch", 11, 256).getStackForm(1L)); + 15136, "hatch.energytunnel1.tier.11", "UIV 256A/t Laser Target Hatch", 11, 256) + .getStackForm(1L)); eM_energyTunnel2_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15146, "hatch.energytunnel2.tier.11", "UIV 1024A/t Laser Target Hatch", 11, 1024).getStackForm(1L)); + 15146, "hatch.energytunnel2.tier.11", "UIV 1024A/t Laser Target Hatch", 11, 1024) + .getStackForm(1L)); eM_energyTunnel3_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15156, "hatch.energytunnel3.tier.11", "UIV 4096A/t Laser Target Hatch", 11, 4096).getStackForm(1L)); + 15156, "hatch.energytunnel3.tier.11", "UIV 4096A/t Laser Target Hatch", 11, 4096) + .getStackForm(1L)); eM_energyTunnel4_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15166, "hatch.energytunnel4.tier.11", "UIV 16384A/t Laser Target Hatch", 11, 16384).getStackForm(1L)); + 15166, "hatch.energytunnel4.tier.11", "UIV 16384A/t Laser Target Hatch", 11, 16384) + .getStackForm(1L)); eM_energyTunnel5_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15176, "hatch.energytunnel5.tier.11", "UIV 65536A/t Laser Target Hatch", 11, 65536).getStackForm(1L)); + 15176, "hatch.energytunnel5.tier.11", "UIV 65536A/t Laser Target Hatch", 11, 65536) + .getStackForm(1L)); eM_energyTunnel6_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15186, "hatch.energytunnel6.tier.11", "UIV 262144A/t Laser Target Hatch", 11, 262144).getStackForm(1L)); + 15186, "hatch.energytunnel6.tier.11", "UIV 262144A/t Laser Target Hatch", 11, 262144) + .getStackForm(1L)); eM_energyTunnel7_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15196, "hatch.energytunnel7.tier.11", "UIV 1048576A/t Laser Target Hatch", 11, 1048576).getStackForm(1L)); + 15196, "hatch.energytunnel7.tier.11", "UIV 1048576A/t Laser Target Hatch", 11, 1048576) + .getStackForm(1L)); eM_energyTunnel1_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15137, "hatch.energytunnel1.tier.12", "UMV 256A/t Laser Target Hatch", 12, 256).getStackForm(1L)); + 15137, "hatch.energytunnel1.tier.12", "UMV 256A/t Laser Target Hatch", 12, 256) + .getStackForm(1L)); eM_energyTunnel2_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15147, "hatch.energytunnel2.tier.12", "UMV 1024A/t Laser Target Hatch", 12, 1024).getStackForm(1L)); + 15147, "hatch.energytunnel2.tier.12", "UMV 1024A/t Laser Target Hatch", 12, 1024) + .getStackForm(1L)); eM_energyTunnel3_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15157, "hatch.energytunnel3.tier.12", "UMV 4096A/t Laser Target Hatch", 12, 4096).getStackForm(1L)); + 15157, "hatch.energytunnel3.tier.12", "UMV 4096A/t Laser Target Hatch", 12, 4096) + .getStackForm(1L)); eM_energyTunnel4_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15167, "hatch.energytunnel4.tier.12", "UMV 16384A/t Laser Target Hatch", 12, 16384).getStackForm(1L)); + 15167, "hatch.energytunnel4.tier.12", "UMV 16384A/t Laser Target Hatch", 12, 16384) + .getStackForm(1L)); eM_energyTunnel5_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15177, "hatch.energytunnel5.tier.12", "UMV 65536A/t Laser Target Hatch", 12, 65536).getStackForm(1L)); + 15177, "hatch.energytunnel5.tier.12", "UMV 65536A/t Laser Target Hatch", 12, 65536) + .getStackForm(1L)); eM_energyTunnel6_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15187, "hatch.energytunnel6.tier.12", "UMV 262144A/t Laser Target Hatch", 12, 262144).getStackForm(1L)); + 15187, "hatch.energytunnel6.tier.12", "UMV 262144A/t Laser Target Hatch", 12, 262144) + .getStackForm(1L)); eM_energyTunnel7_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15197, "hatch.energytunnel7.tier.12", "UMV 1048576A/t Laser Target Hatch", 12, 1048576).getStackForm(1L)); + 15197, "hatch.energytunnel7.tier.12", "UMV 1048576A/t Laser Target Hatch", 12, 1048576) + .getStackForm(1L)); eM_energyTunnel1_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15138, "hatch.energytunnel1.tier.13", "UXV 256A/t Laser Target Hatch", 13, 256).getStackForm(1L)); + 15138, "hatch.energytunnel1.tier.13", "UXV 256A/t Laser Target Hatch", 13, 256) + .getStackForm(1L)); eM_energyTunnel2_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15148, "hatch.energytunnel2.tier.13", "UXV 1024A/t Laser Target Hatch", 13, 1024).getStackForm(1L)); + 15148, "hatch.energytunnel2.tier.13", "UXV 1024A/t Laser Target Hatch", 13, 1024) + .getStackForm(1L)); eM_energyTunnel3_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15158, "hatch.energytunnel3.tier.13", "UXV 4096A/t Laser Target Hatch", 13, 4096).getStackForm(1L)); + 15158, "hatch.energytunnel3.tier.13", "UXV 4096A/t Laser Target Hatch", 13, 4096) + .getStackForm(1L)); eM_energyTunnel4_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15168, "hatch.energytunnel4.tier.13", "UXV 16384A/t Laser Target Hatch", 13, 16384).getStackForm(1L)); + 15168, "hatch.energytunnel4.tier.13", "UXV 16384A/t Laser Target Hatch", 13, 16384) + .getStackForm(1L)); eM_energyTunnel5_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15178, "hatch.energytunnel5.tier.13", "UXV 65536A/t Laser Target Hatch", 13, 65536).getStackForm(1L)); + 15178, "hatch.energytunnel5.tier.13", "UXV 65536A/t Laser Target Hatch", 13, 65536) + .getStackForm(1L)); eM_energyTunnel6_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15188, "hatch.energytunnel6.tier.13", "UXV 262144A/t Laser Target Hatch", 13, 262144).getStackForm(1L)); + 15188, "hatch.energytunnel6.tier.13", "UXV 262144A/t Laser Target Hatch", 13, 262144) + .getStackForm(1L)); eM_energyTunnel7_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15198, "hatch.energytunnel7.tier.13", "UXV 1048576A/t Laser Target Hatch", 13, 1048576).getStackForm(1L)); + 15198, "hatch.energytunnel7.tier.13", "UXV 1048576A/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", 13, (int) V[13]).getStackForm(1L)); + 15199, "hatch.energytunnel.tier.14", "Legendary Laser Target Hatch", 13, (int) V[13]) + .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)); + 15200, "hatch.dynamomulti04.tier.05", "IV 4A Dynamo Hatch", 5, 4) + .getStackForm(1L)); eM_dynamoMulti16_IV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15210, "hatch.dynamomulti16.tier.05", "IV 16A Dynamo Hatch", 5, 16).getStackForm(1L)); + 15210, "hatch.dynamomulti16.tier.05", "IV 16A Dynamo Hatch", 5, 16) + .getStackForm(1L)); eM_dynamoMulti64_IV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15220, "hatch.dynamomulti64.tier.05", "IV 64A Dynamo Hatch", 5, 64).getStackForm(1L)); + 15220, "hatch.dynamomulti64.tier.05", "IV 64A Dynamo Hatch", 5, 64) + .getStackForm(1L)); eM_dynamoMulti4_LuV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15201, "hatch.dynamomulti04.tier.06", "LuV 4A Dynamo Hatch", 6, 4).getStackForm(1L)); + 15201, "hatch.dynamomulti04.tier.06", "LuV 4A Dynamo Hatch", 6, 4) + .getStackForm(1L)); eM_dynamoMulti16_LuV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15211, "hatch.dynamomulti16.tier.06", "LuV 16A Dynamo Hatch", 6, 16).getStackForm(1L)); + 15211, "hatch.dynamomulti16.tier.06", "LuV 16A Dynamo Hatch", 6, 16) + .getStackForm(1L)); eM_dynamoMulti64_LuV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15221, "hatch.dynamomulti64.tier.06", "LuV 64A Dynamo Hatch", 6, 64).getStackForm(1L)); + 15221, "hatch.dynamomulti64.tier.06", "LuV 64A Dynamo Hatch", 6, 64) + .getStackForm(1L)); eM_dynamoMulti4_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15202, "hatch.dynamomulti04.tier.07", "ZPM 4A Dynamo Hatch", 7, 4).getStackForm(1L)); + 15202, "hatch.dynamomulti04.tier.07", "ZPM 4A Dynamo Hatch", 7, 4) + .getStackForm(1L)); eM_dynamoMulti16_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15212, "hatch.dynamomulti16.tier.07", "ZPM 16A Dynamo Hatch", 7, 16).getStackForm(1L)); + 15212, "hatch.dynamomulti16.tier.07", "ZPM 16A Dynamo Hatch", 7, 16) + .getStackForm(1L)); eM_dynamoMulti64_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15222, "hatch.dynamomulti64.tier.07", "ZPM 64A Dynamo Hatch", 7, 64).getStackForm(1L)); + 15222, "hatch.dynamomulti64.tier.07", "ZPM 64A Dynamo Hatch", 7, 64) + .getStackForm(1L)); eM_dynamoMulti4_UV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15203, "hatch.dynamomulti04.tier.08", "UV 4A Dynamo Hatch", 8, 4).getStackForm(1L)); + 15203, "hatch.dynamomulti04.tier.08", "UV 4A Dynamo Hatch", 8, 4) + .getStackForm(1L)); eM_dynamoMulti16_UV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15213, "hatch.dynamomulti16.tier.08", "UV 16A Dynamo Hatch", 8, 16).getStackForm(1L)); + 15213, "hatch.dynamomulti16.tier.08", "UV 16A Dynamo Hatch", 8, 16) + .getStackForm(1L)); eM_dynamoMulti64_UV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15223, "hatch.dynamomulti64.tier.08", "UV 64A Dynamo Hatch", 8, 64).getStackForm(1L)); + 15223, "hatch.dynamomulti64.tier.08", "UV 64A Dynamo Hatch", 8, 64) + .getStackForm(1L)); eM_dynamoMulti4_UHV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15204, "hatch.dynamomulti04.tier.09", "UHV 4A Dynamo Hatch", 9, 4).getStackForm(1L)); + 15204, "hatch.dynamomulti04.tier.09", "UHV 4A Dynamo Hatch", 9, 4) + .getStackForm(1L)); eM_dynamoMulti16_UHV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15214, "hatch.dynamomulti16.tier.09", "UHV 16A Dynamo Hatch", 9, 16).getStackForm(1L)); + 15214, "hatch.dynamomulti16.tier.09", "UHV 16A Dynamo Hatch", 9, 16) + .getStackForm(1L)); eM_dynamoMulti64_UHV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15224, "hatch.dynamomulti64.tier.09", "UHV 64A Dynamo Hatch", 9, 64).getStackForm(1L)); + 15224, "hatch.dynamomulti64.tier.09", "UHV 64A Dynamo Hatch", 9, 64) + .getStackForm(1L)); eM_dynamoMulti4_UEV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15205, "hatch.dynamomulti04.tier.10", "UEV 4A Dynamo Hatch", 10, 4).getStackForm(1L)); + 15205, "hatch.dynamomulti04.tier.10", "UEV 4A Dynamo Hatch", 10, 4) + .getStackForm(1L)); eM_dynamoMulti16_UEV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15215, "hatch.dynamomulti16.tier.10", "UEV 16A Dynamo Hatch", 10, 16).getStackForm(1L)); + 15215, "hatch.dynamomulti16.tier.10", "UEV 16A Dynamo Hatch", 10, 16) + .getStackForm(1L)); eM_dynamoMulti64_UEV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15225, "hatch.dynamomulti64.tier.10", "UEV 64A Dynamo Hatch", 10, 64).getStackForm(1L)); + 15225, "hatch.dynamomulti64.tier.10", "UEV 64A Dynamo Hatch", 10, 64) + .getStackForm(1L)); eM_dynamoMulti4_UIV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15206, "hatch.dynamomulti04.tier.11", "UIV 4A Dynamo Hatch", 11, 4).getStackForm(1L)); + 15206, "hatch.dynamomulti04.tier.11", "UIV 4A Dynamo Hatch", 11, 4) + .getStackForm(1L)); eM_dynamoMulti16_UIV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15216, "hatch.dynamomulti16.tier.11", "UIV 16A Dynamo Hatch", 11, 16).getStackForm(1L)); + 15216, "hatch.dynamomulti16.tier.11", "UIV 16A Dynamo Hatch", 11, 16) + .getStackForm(1L)); eM_dynamoMulti64_UIV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15226, "hatch.dynamomulti64.tier.11", "UIV 64A Dynamo Hatch", 11, 64).getStackForm(1L)); + 15226, "hatch.dynamomulti64.tier.11", "UIV 64A Dynamo Hatch", 11, 64) + .getStackForm(1L)); eM_dynamoMulti4_UMV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15207, "hatch.dynamomulti04.tier.12", "UMV 4A Dynamo Hatch", 12, 4).getStackForm(1L)); + 15207, "hatch.dynamomulti04.tier.12", "UMV 4A Dynamo Hatch", 12, 4) + .getStackForm(1L)); eM_dynamoMulti16_UMV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15217, "hatch.dynamomulti16.tier.12", "UMV 16A Dynamo Hatch", 12, 16).getStackForm(1L)); + 15217, "hatch.dynamomulti16.tier.12", "UMV 16A Dynamo Hatch", 12, 16) + .getStackForm(1L)); eM_dynamoMulti64_UMV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15227, "hatch.dynamomulti64.tier.12", "UMV 64A Dynamo Hatch", 12, 64).getStackForm(1L)); + 15227, "hatch.dynamomulti64.tier.12", "UMV 64A Dynamo Hatch", 12, 64) + .getStackForm(1L)); eM_dynamoMulti4_UXV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15208, "hatch.dynamomulti04.tier.13", "UXV 4A Dynamo Hatch", 13, 4).getStackForm(1L)); + 15208, "hatch.dynamomulti04.tier.13", "UXV 4A Dynamo Hatch", 13, 4) + .getStackForm(1L)); eM_dynamoMulti16_UXV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15218, "hatch.dynamomulti16.tier.13", "UXV 16A Dynamo Hatch", 13, 16).getStackForm(1L)); + 15218, "hatch.dynamomulti16.tier.13", "UXV 16A Dynamo Hatch", 13, 16) + .getStackForm(1L)); eM_dynamoMulti64_UXV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( - 15228, "hatch.dynamomulti64.tier.13", "UXV 64A Dynamo Hatch", 13, 64).getStackForm(1L)); + 15228, "hatch.dynamomulti64.tier.13", "UXV 64A Dynamo Hatch", 13, 64) + .getStackForm(1L)); // =================================================================================================== // Multi AMP Laser OUTPUTS // =================================================================================================== eM_dynamoTunnel1_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15230, "hatch.dynamotunnel1.tier.05", "IV 256A/t Laser Source Hatch", 5, 256).getStackForm(1L)); + 15230, "hatch.dynamotunnel1.tier.05", "IV 256A/t Laser Source Hatch", 5, 256) + .getStackForm(1L)); eM_dynamoTunnel2_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15240, "hatch.dynamotunnel2.tier.05", "IV 1024A/t Laser Source Hatch", 5, 1024).getStackForm(1L)); + 15240, "hatch.dynamotunnel2.tier.05", "IV 1024A/t Laser Source Hatch", 5, 1024) + .getStackForm(1L)); eM_dynamoTunnel3_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15250, "hatch.dynamotunnel3.tier.05", "IV 4096A/t Laser Source Hatch", 5, 4096).getStackForm(1L)); + 15250, "hatch.dynamotunnel3.tier.05", "IV 4096A/t Laser Source Hatch", 5, 4096) + .getStackForm(1L)); eM_dynamoTunnel4_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15260, "hatch.dynamotunnel4.tier.05", "IV 16384A/t Laser Source Hatch", 5, 16384).getStackForm(1L)); + 15260, "hatch.dynamotunnel4.tier.05", "IV 16384A/t Laser Source Hatch", 5, 16384) + .getStackForm(1L)); eM_dynamoTunnel5_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15270, "hatch.dynamotunnel5.tier.05", "IV 65536A/t Laser Source Hatch", 5, 65536).getStackForm(1L)); + 15270, "hatch.dynamotunnel5.tier.05", "IV 65536A/t Laser Source Hatch", 5, 65536) + .getStackForm(1L)); eM_dynamoTunnel6_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15280, "hatch.dynamotunnel6.tier.05", "IV 262144A/t Laser Source Hatch", 5, 262144).getStackForm(1L)); + 15280, "hatch.dynamotunnel6.tier.05", "IV 262144A/t Laser Source Hatch", 5, 262144) + .getStackForm(1L)); eM_dynamoTunnel7_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15290, "hatch.dynamotunnel7.tier.05", "IV 1048576A/t Laser Source Hatch", 5, 1048576).getStackForm(1L)); + 15290, "hatch.dynamotunnel7.tier.05", "IV 1048576A/t Laser Source Hatch", 5, 1048576) + .getStackForm(1L)); eM_dynamoTunnel1_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15231, "hatch.dynamotunnel1.tier.06", "LuV 256A/t Laser Source Hatch", 6, 256).getStackForm(1L)); + 15231, "hatch.dynamotunnel1.tier.06", "LuV 256A/t Laser Source Hatch", 6, 256) + .getStackForm(1L)); eM_dynamoTunnel2_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15241, "hatch.dynamotunnel2.tier.06", "LuV 1024A/t Laser Source Hatch", 6, 1024).getStackForm(1L)); + 15241, "hatch.dynamotunnel2.tier.06", "LuV 1024A/t Laser Source Hatch", 6, 1024) + .getStackForm(1L)); eM_dynamoTunnel3_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15251, "hatch.dynamotunnel3.tier.06", "LuV 4096A/t Laser Source Hatch", 6, 4096).getStackForm(1L)); + 15251, "hatch.dynamotunnel3.tier.06", "LuV 4096A/t Laser Source Hatch", 6, 4096) + .getStackForm(1L)); eM_dynamoTunnel4_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15261, "hatch.dynamotunnel4.tier.06", "LuV 16384A/t Laser Source Hatch", 6, 16384).getStackForm(1L)); + 15261, "hatch.dynamotunnel4.tier.06", "LuV 16384A/t Laser Source Hatch", 6, 16384) + .getStackForm(1L)); eM_dynamoTunnel5_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15271, "hatch.dynamotunnel5.tier.06", "LuV 65536A/t Laser Source Hatch", 6, 65536).getStackForm(1L)); + 15271, "hatch.dynamotunnel5.tier.06", "LuV 65536A/t Laser Source Hatch", 6, 65536) + .getStackForm(1L)); eM_dynamoTunnel6_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15281, "hatch.dynamotunnel6.tier.06", "LuV 262144A/t Laser Source Hatch", 6, 262144).getStackForm(1L)); + 15281, "hatch.dynamotunnel6.tier.06", "LuV 262144A/t Laser Source Hatch", 6, 262144) + .getStackForm(1L)); eM_dynamoTunnel7_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15291, "hatch.dynamotunnel7.tier.06", "LuV 1048576A/t Laser Source Hatch", 6, 1048576).getStackForm(1L)); + 15291, "hatch.dynamotunnel7.tier.06", "LuV 1048576A/t Laser Source Hatch", 6, 1048576) + .getStackForm(1L)); eM_dynamoTunnel1_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15232, "hatch.dynamotunnel1.tier.07", "ZPM 256A/t Laser Source Hatch", 7, 256).getStackForm(1L)); + 15232, "hatch.dynamotunnel1.tier.07", "ZPM 256A/t Laser Source Hatch", 7, 256) + .getStackForm(1L)); eM_dynamoTunnel2_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15242, "hatch.dynamotunnel2.tier.07", "ZPM 1024A/t Laser Source Hatch", 7, 1024).getStackForm(1L)); + 15242, "hatch.dynamotunnel2.tier.07", "ZPM 1024A/t Laser Source Hatch", 7, 1024) + .getStackForm(1L)); eM_dynamoTunnel3_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15252, "hatch.dynamotunnel3.tier.07", "ZPM 4096A/t Laser Source Hatch", 7, 4096).getStackForm(1L)); + 15252, "hatch.dynamotunnel3.tier.07", "ZPM 4096A/t Laser Source Hatch", 7, 4096) + .getStackForm(1L)); eM_dynamoTunnel4_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15262, "hatch.dynamotunnel4.tier.07", "ZPM 16384A/t Laser Source Hatch", 7, 16384).getStackForm(1L)); + 15262, "hatch.dynamotunnel4.tier.07", "ZPM 16384A/t Laser Source Hatch", 7, 16384) + .getStackForm(1L)); eM_dynamoTunnel5_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15272, "hatch.dynamotunnel5.tier.07", "ZPM 65536A/t Laser Source Hatch", 7, 65536).getStackForm(1L)); + 15272, "hatch.dynamotunnel5.tier.07", "ZPM 65536A/t Laser Source Hatch", 7, 65536) + .getStackForm(1L)); eM_dynamoTunnel6_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15282, "hatch.dynamotunnel6.tier.07", "ZPM 262144A/t Laser Source Hatch", 7, 262144).getStackForm(1L)); + 15282, "hatch.dynamotunnel6.tier.07", "ZPM 262144A/t Laser Source Hatch", 7, 262144) + .getStackForm(1L)); eM_dynamoTunnel7_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15292, "hatch.dynamotunnel7.tier.07", "ZPM 1048576A/t Laser Source Hatch", 7, 1048576).getStackForm(1L)); + 15292, "hatch.dynamotunnel7.tier.07", "ZPM 1048576A/t Laser Source Hatch", 7, 1048576) + .getStackForm(1L)); eM_dynamoTunnel1_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15233, "hatch.dynamotunnel1.tier.08", "UV 256A/t Laser Source Hatch", 8, 256).getStackForm(1L)); + 15233, "hatch.dynamotunnel1.tier.08", "UV 256A/t Laser Source Hatch", 8, 256) + .getStackForm(1L)); eM_dynamoTunnel2_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15243, "hatch.dynamotunnel2.tier.08", "UV 1024A/t Laser Source Hatch", 8, 1024).getStackForm(1L)); + 15243, "hatch.dynamotunnel2.tier.08", "UV 1024A/t Laser Source Hatch", 8, 1024) + .getStackForm(1L)); eM_dynamoTunnel3_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15253, "hatch.dynamotunnel3.tier.08", "UV 4096A/t Laser Source Hatch", 8, 4096).getStackForm(1L)); + 15253, "hatch.dynamotunnel3.tier.08", "UV 4096A/t Laser Source Hatch", 8, 4096) + .getStackForm(1L)); eM_dynamoTunnel4_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15263, "hatch.dynamotunnel4.tier.08", "UV 16384A/t Laser Source Hatch", 8, 16384).getStackForm(1L)); + 15263, "hatch.dynamotunnel4.tier.08", "UV 16384A/t Laser Source Hatch", 8, 16384) + .getStackForm(1L)); eM_dynamoTunnel5_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15273, "hatch.dynamotunnel5.tier.08", "UV 65536A/t Laser Source Hatch", 8, 65536).getStackForm(1L)); + 15273, "hatch.dynamotunnel5.tier.08", "UV 65536A/t Laser Source Hatch", 8, 65536) + .getStackForm(1L)); eM_dynamoTunnel6_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15283, "hatch.dynamotunnel6.tier.08", "UV 262144A/t Laser Source Hatch", 8, 262144).getStackForm(1L)); + 15283, "hatch.dynamotunnel6.tier.08", "UV 262144A/t Laser Source Hatch", 8, 262144) + .getStackForm(1L)); eM_dynamoTunnel7_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15293, "hatch.dynamotunnel7.tier.08", "UV 1048576A/t Laser Source Hatch", 8, 1048576).getStackForm(1L)); + 15293, "hatch.dynamotunnel7.tier.08", "UV 1048576A/t Laser Source Hatch", 8, 1048576) + .getStackForm(1L)); eM_dynamoTunnel1_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15234, "hatch.dynamotunnel1.tier.09", "UHV 256A/t Laser Source Hatch", 9, 256).getStackForm(1L)); + 15234, "hatch.dynamotunnel1.tier.09", "UHV 256A/t Laser Source Hatch", 9, 256) + .getStackForm(1L)); eM_dynamoTunnel2_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15244, "hatch.dynamotunnel2.tier.09", "UHV 1024A/t Laser Source Hatch", 9, 1024).getStackForm(1L)); + 15244, "hatch.dynamotunnel2.tier.09", "UHV 1024A/t Laser Source Hatch", 9, 1024) + .getStackForm(1L)); eM_dynamoTunnel3_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15254, "hatch.dynamotunnel3.tier.09", "UHV 4096A/t Laser Source Hatch", 9, 4096).getStackForm(1L)); + 15254, "hatch.dynamotunnel3.tier.09", "UHV 4096A/t Laser Source Hatch", 9, 4096) + .getStackForm(1L)); eM_dynamoTunnel4_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15264, "hatch.dynamotunnel4.tier.09", "UHV 16384A/t Laser Source Hatch", 9, 16384).getStackForm(1L)); + 15264, "hatch.dynamotunnel4.tier.09", "UHV 16384A/t Laser Source Hatch", 9, 16384) + .getStackForm(1L)); eM_dynamoTunnel5_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15274, "hatch.dynamotunnel5.tier.09", "UHV 65536A/t Laser Source Hatch", 9, 65536).getStackForm(1L)); + 15274, "hatch.dynamotunnel5.tier.09", "UHV 65536A/t Laser Source Hatch", 9, 65536) + .getStackForm(1L)); eM_dynamoTunnel6_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15284, "hatch.dynamotunnel6.tier.09", "UHV 262144A/t Laser Source Hatch", 9, 262144).getStackForm(1L)); + 15284, "hatch.dynamotunnel6.tier.09", "UHV 262144A/t Laser Source Hatch", 9, 262144) + .getStackForm(1L)); eM_dynamoTunnel7_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15294, "hatch.dynamotunnel7.tier.09", "UHV 1048576A/t Laser Source Hatch", 9, 1048576).getStackForm(1L)); + 15294, "hatch.dynamotunnel7.tier.09", "UHV 1048576A/t Laser Source Hatch", 9, 1048576) + .getStackForm(1L)); eM_dynamoTunnel1_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15235, "hatch.dynamotunnel1.tier.10", "UEV 256A/t Laser Source Hatch", 10, 256).getStackForm(1L)); + 15235, "hatch.dynamotunnel1.tier.10", "UEV 256A/t Laser Source Hatch", 10, 256) + .getStackForm(1L)); eM_dynamoTunnel2_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15245, "hatch.dynamotunnel2.tier.10", "UEV 1024A/t Laser Source Hatch", 10, 1024).getStackForm(1L)); + 15245, "hatch.dynamotunnel2.tier.10", "UEV 1024A/t Laser Source Hatch", 10, 1024) + .getStackForm(1L)); eM_dynamoTunnel3_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15255, "hatch.dynamotunnel3.tier.10", "UEV 4096A/t Laser Source Hatch", 10, 4096).getStackForm(1L)); + 15255, "hatch.dynamotunnel3.tier.10", "UEV 4096A/t Laser Source Hatch", 10, 4096) + .getStackForm(1L)); eM_dynamoTunnel4_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15265, "hatch.dynamotunnel4.tier.10", "UEV 16384A/t Laser Source Hatch", 10, 16384).getStackForm(1L)); + 15265, "hatch.dynamotunnel4.tier.10", "UEV 16384A/t Laser Source Hatch", 10, 16384) + .getStackForm(1L)); eM_dynamoTunnel5_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15275, "hatch.dynamotunnel5.tier.10", "UEV 65536A/t Laser Source Hatch", 10, 65536).getStackForm(1L)); + 15275, "hatch.dynamotunnel5.tier.10", "UEV 65536A/t Laser Source Hatch", 10, 65536) + .getStackForm(1L)); eM_dynamoTunnel6_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15285, "hatch.dynamotunnel6.tier.10", "UEV 262144A/t Laser Source Hatch", 10, 262144).getStackForm(1L)); + 15285, "hatch.dynamotunnel6.tier.10", "UEV 262144A/t Laser Source Hatch", 10, 262144) + .getStackForm(1L)); eM_dynamoTunnel7_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15295, "hatch.dynamotunnel7.tier.10", "UEV 1048576A/t Laser Source Hatch", 10, 1048576).getStackForm(1L)); + 15295, "hatch.dynamotunnel7.tier.10", "UEV 1048576A/t Laser Source Hatch", 10, 1048576) + .getStackForm(1L)); eM_dynamoTunnel1_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15236, "hatch.dynamotunnel1.tier.11", "UIV 256A/t Laser Source Hatch", 11, 256).getStackForm(1L)); + 15236, "hatch.dynamotunnel1.tier.11", "UIV 256A/t Laser Source Hatch", 11, 256) + .getStackForm(1L)); eM_dynamoTunnel2_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15246, "hatch.dynamotunnel2.tier.11", "UIV 1024A/t Laser Source Hatch", 11, 1024).getStackForm(1L)); + 15246, "hatch.dynamotunnel2.tier.11", "UIV 1024A/t Laser Source Hatch", 11, 1024) + .getStackForm(1L)); eM_dynamoTunnel3_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15256, "hatch.dynamotunnel3.tier.11", "UIV 4096A/t Laser Source Hatch", 11, 4096).getStackForm(1L)); + 15256, "hatch.dynamotunnel3.tier.11", "UIV 4096A/t Laser Source Hatch", 11, 4096) + .getStackForm(1L)); eM_dynamoTunnel4_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15266, "hatch.dynamotunnel4.tier.11", "UIV 16384A/t Laser Source Hatch", 11, 16384).getStackForm(1L)); + 15266, "hatch.dynamotunnel4.tier.11", "UIV 16384A/t Laser Source Hatch", 11, 16384) + .getStackForm(1L)); eM_dynamoTunnel5_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15276, "hatch.dynamotunnel5.tier.11", "UIV 65536A/t Laser Source Hatch", 11, 65536).getStackForm(1L)); + 15276, "hatch.dynamotunnel5.tier.11", "UIV 65536A/t Laser Source Hatch", 11, 65536) + .getStackForm(1L)); eM_dynamoTunnel6_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15286, "hatch.dynamotunnel6.tier.11", "UIV 262144A/t Laser Source Hatch", 11, 262144).getStackForm(1L)); + 15286, "hatch.dynamotunnel6.tier.11", "UIV 262144A/t Laser Source Hatch", 11, 262144) + .getStackForm(1L)); eM_dynamoTunnel7_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15296, "hatch.dynamotunnel7.tier.11", "UIV 1048576A/t Laser Source Hatch", 11, 1048576).getStackForm(1L)); + 15296, "hatch.dynamotunnel7.tier.11", "UIV 1048576A/t Laser Source Hatch", 11, 1048576) + .getStackForm(1L)); eM_dynamoTunnel1_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15237, "hatch.dynamotunnel1.tier.12", "UMV 256A/t Laser Source Hatch", 12, 256).getStackForm(1L)); + 15237, "hatch.dynamotunnel1.tier.12", "UMV 256A/t Laser Source Hatch", 12, 256) + .getStackForm(1L)); eM_dynamoTunnel2_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15247, "hatch.dynamotunnel2.tier.12", "UMV 1024A/t Laser Source Hatch", 12, 1024).getStackForm(1L)); + 15247, "hatch.dynamotunnel2.tier.12", "UMV 1024A/t Laser Source Hatch", 12, 1024) + .getStackForm(1L)); eM_dynamoTunnel3_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15257, "hatch.dynamotunnel3.tier.12", "UMV 4096A/t Laser Source Hatch", 12, 4096).getStackForm(1L)); + 15257, "hatch.dynamotunnel3.tier.12", "UMV 4096A/t Laser Source Hatch", 12, 4096) + .getStackForm(1L)); eM_dynamoTunnel4_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15267, "hatch.dynamotunnel4.tier.12", "UMV 16384A/t Laser Source Hatch", 12, 16384).getStackForm(1L)); + 15267, "hatch.dynamotunnel4.tier.12", "UMV 16384A/t Laser Source Hatch", 12, 16384) + .getStackForm(1L)); eM_dynamoTunnel5_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15277, "hatch.dynamotunnel5.tier.12", "UMV 65536A/t Laser Source Hatch", 12, 65536).getStackForm(1L)); + 15277, "hatch.dynamotunnel5.tier.12", "UMV 65536A/t Laser Source Hatch", 12, 65536) + .getStackForm(1L)); eM_dynamoTunnel6_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15287, "hatch.dynamotunnel6.tier.12", "UMV 262144A/t Laser Source Hatch", 12, 262144).getStackForm(1L)); + 15287, "hatch.dynamotunnel6.tier.12", "UMV 262144A/t Laser Source Hatch", 12, 262144) + .getStackForm(1L)); eM_dynamoTunnel7_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15297, "hatch.dynamotunnel7.tier.12", "UMV 1048576A/t Laser Source Hatch", 12, 1048576).getStackForm(1L)); + 15297, "hatch.dynamotunnel7.tier.12", "UMV 1048576A/t Laser Source Hatch", 12, 1048576) + .getStackForm(1L)); eM_dynamoTunnel1_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15238, "hatch.dynamotunnel1.tier.13", "UXV 256A/t Laser Source Hatch", 13, 256).getStackForm(1L)); + 15238, "hatch.dynamotunnel1.tier.13", "UXV 256A/t Laser Source Hatch", 13, 256) + .getStackForm(1L)); eM_dynamoTunnel2_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15248, "hatch.dynamotunnel2.tier.13", "UXV 1024A/t Laser Source Hatch", 13, 1024).getStackForm(1L)); + 15248, "hatch.dynamotunnel2.tier.13", "UXV 1024A/t Laser Source Hatch", 13, 1024) + .getStackForm(1L)); eM_dynamoTunnel3_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15258, "hatch.dynamotunnel3.tier.13", "UXV 4096A/t Laser Source Hatch", 13, 4096).getStackForm(1L)); + 15258, "hatch.dynamotunnel3.tier.13", "UXV 4096A/t Laser Source Hatch", 13, 4096) + .getStackForm(1L)); eM_dynamoTunnel4_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15268, "hatch.dynamotunnel4.tier.13", "UXV 16384A/t Laser Source Hatch", 13, 16384).getStackForm(1L)); + 15268, "hatch.dynamotunnel4.tier.13", "UXV 16384A/t Laser Source Hatch", 13, 16384) + .getStackForm(1L)); eM_dynamoTunnel5_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15278, "hatch.dynamotunnel5.tier.13", "UXV 65536A/t Laser Source Hatch", 13, 65536).getStackForm(1L)); + 15278, "hatch.dynamotunnel5.tier.13", "UXV 65536A/t Laser Source Hatch", 13, 65536) + .getStackForm(1L)); eM_dynamoTunnel6_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15288, "hatch.dynamotunnel6.tier.13", "UXV 262144A/t Laser Source Hatch", 13, 262144).getStackForm(1L)); + 15288, "hatch.dynamotunnel6.tier.13", "UXV 262144A/t Laser Source Hatch", 13, 262144) + .getStackForm(1L)); eM_dynamoTunnel7_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15298, "hatch.dynamotunnel7.tier.13", "UXV 1048576A/t Laser Source Hatch", 13, 1048576).getStackForm(1L)); + 15298, "hatch.dynamotunnel7.tier.13", "UXV 1048576A/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", 13, (int) V[13]).getStackForm(1L)); + 15299, "hatch.dynamotunnel.tier.14", "Legendary Laser Source Hatch", 13, (int) V[13]) + .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_DataBank.set(new GT_MetaTileEntity_EM_dataBank(15313, "multimachine.em.databank", "Data Bank").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)); - Machine_Multi_EMToMatter.set(new GT_MetaTileEntity_EM_dequantizer(15322, "multimachine.em.emtomatter", "Matter Dequantizer").getStackForm(1L)); + 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_DataBank.set( + new GT_MetaTileEntity_EM_dataBank(15313, "multimachine.em.databank", "Data Bank").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)); + Machine_Multi_EMToMatter.set( + new GT_MetaTileEntity_EM_dequantizer(15322, "multimachine.em.emtomatter", "Matter Dequantizer") + .getStackForm(1L)); // COMPAT - Machine_Multi_EssentiaToEM.set(new GT_MetaTileEntity_EM_essentiaQuantizer(15323, "multimachine.em.essentiatoem", "Essentia Quantizer").getStackForm(1L)); - Machine_Multi_EMToEssentia.set(new GT_MetaTileEntity_EM_essentiaDequantizer(15324, "multimachine.em.emtoessentia", "Essentia Dequantizer").getStackForm(1L)); - - Machine_Multi_Scanner.set(new GT_MetaTileEntity_EM_scanner(15330, "multimachine.em.scanner", "Elemental Scanner").getStackForm(1L)); - Machine_Multi_Research.set(new GT_MetaTileEntity_EM_research(15331, "multimachine.em.research", "Research station").getStackForm(1L)); - - Machine_Multi_Collider.set(new GT_MetaTileEntity_EM_collider(15340, "multimachine.em.collider", "Matter Collider").getStackForm(1L)); - - Machine_Multi_Infuser.set(new GT_MetaTileEntity_EM_infuser(15350, "multimachine.em.infuser", "Energy Infuser").getStackForm(1)); - - Machine_Multi_EMmachine.set(new GT_MetaTileEntity_EM_machine(15360, "multimachine.em.processing", "Quantum Processing Machine").getStackForm(1L)); - - Machine_Multi_EMCrafter.set(new GT_MetaTileEntity_EM_crafting(15370, "multimachine.em.crafter", "Matter Assembler").getStackForm(1L)); - - Machine_Multi_Stabilizer.set(new GT_MetaTileEntity_EM_stabilizer(15380, "multimachine.em.stabilizer", "Elemental Stabilizer").getStackForm(1L)); - - Machine_Multi_Wormhole.set(new GT_MetaTileEntity_EM_wormhole(15390, "multimachine.em.wormhole", "Wormhole").getStackForm(1L)); - - Machine_Multi_Decay.set(new GT_MetaTileEntity_EM_decay(15400, "multimachine.em.decay", "Decay Generator").getStackForm(1L)); - Machine_Multi_Annihilation.set(new GT_MetaTileEntity_EM_annihilation(15405, "multimachine.em.annihilation", "Annihilation Generator").getStackForm(1L)); - Machine_Multi_BHG.set(new GT_MetaTileEntity_EM_bhg(15410, "multimachine.em.blackholegenerator", "Black Hole Generator").getStackForm(1L)); + Machine_Multi_EssentiaToEM.set( + new GT_MetaTileEntity_EM_essentiaQuantizer(15323, "multimachine.em.essentiatoem", "Essentia Quantizer") + .getStackForm(1L)); + Machine_Multi_EMToEssentia.set(new GT_MetaTileEntity_EM_essentiaDequantizer( + 15324, "multimachine.em.emtoessentia", "Essentia Dequantizer") + .getStackForm(1L)); + + Machine_Multi_Scanner.set( + new GT_MetaTileEntity_EM_scanner(15330, "multimachine.em.scanner", "Elemental Scanner") + .getStackForm(1L)); + Machine_Multi_Research.set( + new GT_MetaTileEntity_EM_research(15331, "multimachine.em.research", "Research station") + .getStackForm(1L)); + + Machine_Multi_Collider.set( + new GT_MetaTileEntity_EM_collider(15340, "multimachine.em.collider", "Matter Collider") + .getStackForm(1L)); + + Machine_Multi_Infuser.set( + new GT_MetaTileEntity_EM_infuser(15350, "multimachine.em.infuser", "Energy Infuser").getStackForm(1)); + + Machine_Multi_EMmachine.set( + new GT_MetaTileEntity_EM_machine(15360, "multimachine.em.processing", "Quantum Processing Machine") + .getStackForm(1L)); + + Machine_Multi_EMCrafter.set( + new GT_MetaTileEntity_EM_crafting(15370, "multimachine.em.crafter", "Matter Assembler") + .getStackForm(1L)); + + Machine_Multi_Stabilizer.set( + new GT_MetaTileEntity_EM_stabilizer(15380, "multimachine.em.stabilizer", "Elemental Stabilizer") + .getStackForm(1L)); + + Machine_Multi_Wormhole.set( + new GT_MetaTileEntity_EM_wormhole(15390, "multimachine.em.wormhole", "Wormhole").getStackForm(1L)); + + Machine_Multi_Decay.set( + new GT_MetaTileEntity_EM_decay(15400, "multimachine.em.decay", "Decay Generator").getStackForm(1L)); + Machine_Multi_Annihilation.set( + new GT_MetaTileEntity_EM_annihilation(15405, "multimachine.em.annihilation", "Annihilation Generator") + .getStackForm(1L)); + Machine_Multi_BHG.set( + new GT_MetaTileEntity_EM_bhg(15410, "multimachine.em.blackholegenerator", "Black Hole Generator") + .getStackForm(1L)); // =================================================================================================== // Hatches // =================================================================================================== - Parametrizer_Hatch.set(new GT_MetaTileEntity_Hatch_Param(15420, "hatch.param.tier.05", "Parametrizer", 5).getStackForm(1L));//TODO refactor aName to hatch.param.tier.04 and aTier to 4, check recipe for NH - ParametrizerX_Hatch.set(new GT_MetaTileEntity_Hatch_Param(15421, "hatch.param.tier.07", "Parametrizer X", 7).getStackForm(1L)); - ParametrizerTXT_Hatch.set(new GT_MetaTileEntity_Hatch_ParamText(15422, "hatch.param.tier.10", "Parametrizer tXt", 10).getStackForm(1L));//TODO check recipe for NH - - Uncertainty_Hatch.set(new GT_MetaTileEntity_Hatch_Uncertainty(15430, "hatch.certain.tier.07", "Uncertainty Resolver", 7).getStackForm(1L)); - UncertaintyX_Hatch.set(new GT_MetaTileEntity_Hatch_Uncertainty(15431, "hatch.certain.tier.10", "Uncertainty Resolver X", 10).getStackForm(1L)); - - dataIn_Hatch.set(new GT_MetaTileEntity_Hatch_InputData(15440, "hatch.datain.tier.07", "Optical Slave Connector", 7).getStackForm(1L)); - dataOut_Hatch.set(new GT_MetaTileEntity_Hatch_OutputData(15441, "hatch.dataout.tier.07", "Optical Master Connector", 7).getStackForm(1L)); - dataInAss_Hatch.set(new GT_MetaTileEntity_Hatch_InputDataItems(15442, "hatch.datainass.tier.07", "Assembly line Slave Connector", 7).getStackForm(1L)); - dataOutAss_Hatch.set(new GT_MetaTileEntity_Hatch_OutputDataItems(15443, "hatch.dataoutass.tier.07", "Data Bank Master Connector", 7).getStackForm(1L)); - - rack_Hatch.set(new GT_MetaTileEntity_Hatch_Rack(15450, "hatch.rack.tier.08", "Computer Rack", 8).getStackForm(1L)); - holder_Hatch.set(new GT_MetaTileEntity_Hatch_Holder(15451, "hatch.holder.tier.09", "Object Holder", 8).getStackForm(1L)); - - capacitor_Hatch.set(new GT_MetaTileEntity_Hatch_Capacitor(15452, "hatch.capacitor.tier.03", "Capacitor Hatch", 3).getStackForm(1L)); + Parametrizer_Hatch.set(new GT_MetaTileEntity_Hatch_Param(15420, "hatch.param.tier.05", "Parametrizer", 5) + .getStackForm(1L)); // TODO refactor aName to hatch.param.tier.04 and aTier to 4, check recipe for NH + ParametrizerX_Hatch.set( + new GT_MetaTileEntity_Hatch_Param(15421, "hatch.param.tier.07", "Parametrizer X", 7).getStackForm(1L)); + ParametrizerTXT_Hatch.set( + new GT_MetaTileEntity_Hatch_ParamText(15422, "hatch.param.tier.10", "Parametrizer tXt", 10) + .getStackForm(1L)); // TODO check recipe for NH + + Uncertainty_Hatch.set( + new GT_MetaTileEntity_Hatch_Uncertainty(15430, "hatch.certain.tier.07", "Uncertainty Resolver", 7) + .getStackForm(1L)); + UncertaintyX_Hatch.set( + new GT_MetaTileEntity_Hatch_Uncertainty(15431, "hatch.certain.tier.10", "Uncertainty Resolver X", 10) + .getStackForm(1L)); + + dataIn_Hatch.set( + new GT_MetaTileEntity_Hatch_InputData(15440, "hatch.datain.tier.07", "Optical Slave Connector", 7) + .getStackForm(1L)); + dataOut_Hatch.set( + new GT_MetaTileEntity_Hatch_OutputData(15441, "hatch.dataout.tier.07", "Optical Master Connector", 7) + .getStackForm(1L)); + dataInAss_Hatch.set(new GT_MetaTileEntity_Hatch_InputDataItems( + 15442, "hatch.datainass.tier.07", "Assembly line Slave Connector", 7) + .getStackForm(1L)); + dataOutAss_Hatch.set(new GT_MetaTileEntity_Hatch_OutputDataItems( + 15443, "hatch.dataoutass.tier.07", "Data Bank Master Connector", 7) + .getStackForm(1L)); + + rack_Hatch.set( + new GT_MetaTileEntity_Hatch_Rack(15450, "hatch.rack.tier.08", "Computer Rack", 8).getStackForm(1L)); + holder_Hatch.set( + new GT_MetaTileEntity_Hatch_Holder(15451, "hatch.holder.tier.09", "Object Holder", 8).getStackForm(1L)); + + capacitor_Hatch.set( + new GT_MetaTileEntity_Hatch_Capacitor(15452, "hatch.capacitor.tier.03", "Capacitor Hatch", 3) + .getStackForm(1L)); // =================================================================================================== // Pipes // =================================================================================================== EMpipe.set(new GT_MetaTileEntity_Pipe_EM(15460, "pipe.elementalmatter", "Quantum \"Tunnel\"").getStackForm(1L)); - LASERpipe.set(new GT_MetaTileEntity_Pipe_Energy(15465, "pipe.energystream", "Laser Vacuum Pipe").getStackForm(1L)); + LASERpipe.set( + new GT_MetaTileEntity_Pipe_Energy(15465, "pipe.energystream", "Laser Vacuum Pipe").getStackForm(1L)); DATApipe.set(new GT_MetaTileEntity_Pipe_Data(15470, "pipe.datastream", "Optical Fiber Cable").getStackForm(1L)); // =================================================================================================== // Single Blocks // =================================================================================================== - 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)); + 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)); - Machine_BuckConverter_UV.set(new GT_MetaTileEntity_BuckConverter(15488, "machine.tt.buck.08", "Ultimate Power Buck Converter", 8).getStackForm(1L)); - Machine_BuckConverter_UHV.set(new GT_MetaTileEntity_BuckConverter(15489, "machine.tt.buck.09", "Highly Ultimate Buck Converter", 9).getStackForm(1L)); - Machine_BuckConverter_UEV.set(new GT_MetaTileEntity_BuckConverter(15490, "machine.tt.buck.10", "Extremely Ultimate Buck Converter", 10).getStackForm(1L)); - Machine_BuckConverter_UIV.set(new GT_MetaTileEntity_BuckConverter(15491, "machine.tt.buck.11", "Insanely Ultimate Buck Converter", 11).getStackForm(1L)); - Machine_BuckConverter_UMV.set(new GT_MetaTileEntity_BuckConverter(15492, "machine.tt.buck.12", "Mega Ultimate Buck Converter", 12).getStackForm(1L)); - Machine_BuckConverter_UXV.set(new GT_MetaTileEntity_BuckConverter(15493, "machine.tt.buck.13", "Extended Mega Ultimate Buck Converter", 13).getStackForm(1L)); + 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)); + Machine_BuckConverter_UV.set( + new GT_MetaTileEntity_BuckConverter(15488, "machine.tt.buck.08", "Ultimate Power Buck Converter", 8) + .getStackForm(1L)); + Machine_BuckConverter_UHV.set( + new GT_MetaTileEntity_BuckConverter(15489, "machine.tt.buck.09", "Highly Ultimate Buck Converter", 9) + .getStackForm(1L)); + Machine_BuckConverter_UEV.set(new GT_MetaTileEntity_BuckConverter( + 15490, "machine.tt.buck.10", "Extremely Ultimate Buck Converter", 10) + .getStackForm(1L)); + Machine_BuckConverter_UIV.set( + new GT_MetaTileEntity_BuckConverter(15491, "machine.tt.buck.11", "Insanely Ultimate Buck Converter", 11) + .getStackForm(1L)); + Machine_BuckConverter_UMV.set( + new GT_MetaTileEntity_BuckConverter(15492, "machine.tt.buck.12", "Mega Ultimate Buck Converter", 12) + .getStackForm(1L)); + 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)); + 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)); - hatch_CreativeMaintenance.set(new GT_MetaTileEntity_Hatch_CreativeMaintenance(15497, "debug.tt.maintenance", "Auto-Taping 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)); + 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", "Auto-Taping 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)); UnusedStuff.set(new ItemStack(Blocks.air)); // =================================================================================================== @@ -685,4 +1043,4 @@ public class MachineLoader implements Runnable { new NoDreamCraftMachineLoader().run(); } } -} \ No newline at end of file +} 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 7c32bb70d2..bf02479fc2 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 @@ -1,5 +1,7 @@ package com.github.technus.tectech.loader.thing; +import static com.github.technus.tectech.TecTech.tectechTexturePage1; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.compatibility.openmodularturrets.blocks.turretbases.TurretBaseEM; @@ -16,19 +18,17 @@ import cpw.mods.fml.common.Loader; import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; -import static com.github.technus.tectech.TecTech.tectechTexturePage1; - /** * Created by danie_000 on 16.11.2016. */ public class ThingsLoader implements Runnable { @Override public void run() { - if(Textures.BlockIcons.casingTexturePages[tectechTexturePage1]==null) { + if (Textures.BlockIcons.casingTexturePages[tectechTexturePage1] == null) { Textures.BlockIcons.casingTexturePages[tectechTexturePage1] = new ITexture[128]; } TecTech.LOGGER.info("Added texture page if was null"); - if(!Loader.isModLoaded(Reference.DREAMCRAFT)){ + if (!Loader.isModLoaded(Reference.DREAMCRAFT)) { TT_Container_Casings.sBlockCasingsNH = new GT_Block_CasingsNH(); TecTech.LOGGER.info("Adding basic casings"); } @@ -43,7 +43,7 @@ public class ThingsLoader implements Runnable { QuantumStuffBlock.run(); TecTech.LOGGER.info("Quantum Stuff registered"); - if(Loader.isModLoaded("openmodularturrets")) { + if (Loader.isModLoaded("openmodularturrets")) { TurretHeadEM.run(); TecTech.LOGGER.info("TurretHeadEM registered"); TurretBaseEM.run(); diff --git a/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java b/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java index bd25b05a0c..524ad51aa4 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java +++ b/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java @@ -1,5 +1,10 @@ package com.github.technus.tectech.mechanics.anomaly; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.util.TT_Utility.crossProduct3D; +import static com.github.technus.tectech.util.TT_Utility.normalize3D; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.loader.MainLoader; import com.github.technus.tectech.loader.NetworkDispatcher; @@ -13,6 +18,10 @@ import cpw.mods.fml.common.gameevent.TickEvent; import gregtech.api.GregTech_API; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Utility; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import net.minecraft.block.Block; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -26,30 +35,26 @@ import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; import net.minecraftforge.event.world.ChunkEvent; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.util.TT_Utility.crossProduct3D; -import static com.github.technus.tectech.util.TT_Utility.normalize3D; - public class AnomalyHandler implements IChunkMetaDataHandler { - private static final double SWAP_THRESHOLD = EMAtomDefinition.getSomethingHeavy().getMass() * 1000D * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED;//can be const as it is computed later... - private static final int COUNT_DIV = 32; - private static final double PER_PARTICLE = SWAP_THRESHOLD / COUNT_DIV; - private static final String INTENSITY = "intensity", SPACE_CANCER = "space_cancer", SPACE_CHARGE = "space_charge", SPACE_MASS = "space_mass"; - private static final int MEAN_DELAY = 50; + private static final double SWAP_THRESHOLD = + EMAtomDefinition.getSomethingHeavy().getMass() + * 1000D + * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; // can be const as it is computed later... + private static final int COUNT_DIV = 32; + private static final double PER_PARTICLE = SWAP_THRESHOLD / COUNT_DIV; + private static final String INTENSITY = "intensity", + SPACE_CANCER = "space_cancer", + SPACE_CHARGE = "space_charge", + SPACE_MASS = "space_mass"; + private static final int MEAN_DELAY = 50; private static final double CANCER_EFFECTIVENESS = 1 / EM_COUNT_PER_MATERIAL_AMOUNT; - private static final double MASS_EFFECTIVENESS = 1 / EM_COUNT_PER_MATERIAL_AMOUNT; + private static final double MASS_EFFECTIVENESS = 1 / EM_COUNT_PER_MATERIAL_AMOUNT; private static final double CHARGE_EFFECTIVENESS = 10 / EM_COUNT_PER_MATERIAL_AMOUNT; private static final double CHARGE_EXPLOSIVENESS = 5 / EM_COUNT_PER_MATERIAL_AMOUNT; - private boolean fixMe = false; - private final List playersWithCharge = new ArrayList<>(); - private final ArrayList worldDataArrayList = new ArrayList<>(512); + private boolean fixMe = false; + private final List playersWithCharge = new ArrayList<>(); + private final ArrayList worldDataArrayList = new ArrayList<>(512); @Override public String getTagName() { @@ -70,24 +75,27 @@ public class AnomalyHandler implements IChunkMetaDataHandler { @Override public void tickWorld(HashMap data, TickEvent.WorldTickEvent aEvent) { if (TecTech.RANDOM.nextInt(MEAN_DELAY) == 0) { - int dim = aEvent.world.provider.dimensionId; + int dim = aEvent.world.provider.dimensionId; ChunkDataHandler.ChunkHashMap chunkHashMap = data.get(dim); chunkHashMap.forEach((chunkCoordIntPair, compound) -> { if (compound.getDouble(INTENSITY) > SWAP_THRESHOLD) { - Chunk chunk = aEvent.world.getChunkFromChunkCoords(chunkCoordIntPair.chunkXPos, chunkCoordIntPair.chunkZPos); + Chunk chunk = aEvent.world.getChunkFromChunkCoords( + chunkCoordIntPair.chunkXPos, chunkCoordIntPair.chunkZPos); if (chunk.isChunkLoaded) { worldDataArrayList.add(chunk); } } }); if (worldDataArrayList.size() >= 2) { - Chunk a = worldDataArrayList.remove(TecTech.RANDOM.nextInt(worldDataArrayList.size())); - Chunk b = worldDataArrayList.get(TecTech.RANDOM.nextInt(worldDataArrayList.size())); + Chunk a = worldDataArrayList.remove(TecTech.RANDOM.nextInt(worldDataArrayList.size())); + Chunk b = worldDataArrayList.get(TecTech.RANDOM.nextInt(worldDataArrayList.size())); ChunkCoordIntPair aCoords = a.getChunkCoordIntPair(); ChunkCoordIntPair bCoords = b.getChunkCoordIntPair(); - double newValue = (chunkHashMap.get(aCoords).getDouble(INTENSITY) + - chunkHashMap.get(bCoords).getDouble(INTENSITY)) / 2 - SWAP_THRESHOLD / 8; + double newValue = (chunkHashMap.get(aCoords).getDouble(INTENSITY) + + chunkHashMap.get(bCoords).getDouble(INTENSITY)) + / 2 + - SWAP_THRESHOLD / 8; float split = TecTech.RANDOM.nextFloat(); chunkHashMap.get(aCoords).setDouble(INTENSITY, newValue * split); @@ -113,18 +121,45 @@ public class AnomalyHandler implements IChunkMetaDataHandler { if (other == player) { continue outer; } - double field = getCharge(player); + double field = getCharge(player); double absDifference = Math.abs(field - fieldOther); if (absDifference != 0) { if (player.getDistanceSqToEntity(other) < 1) { double avg = (fieldOther + field) / 2; - //addAnomaly(other.worldObj.provider.dimensionId, new ChunkCoordIntPair(other.chunkCoordX, other.chunkCoordZ), Math.min(SWAP_THRESHOLD, PER_PARTICLE * absDifference)); + // addAnomaly(other.worldObj.provider.dimensionId, new ChunkCoordIntPair(other.chunkCoordX, + // other.chunkCoordZ), Math.min(SWAP_THRESHOLD, PER_PARTICLE * absDifference)); if (TecTech.configTecTech.BOOM_ENABLE) { - other.worldObj.createExplosion(other, other.posX, other.posY, other.posZ, (float) Math.min(CHARGE_EXPLOSIVENESS * absDifference, 25), true); - player.worldObj.createExplosion(player, player.posX, player.posY, player.posZ, (float) Math.min(CHARGE_EXPLOSIVENESS * absDifference, 25), true); + other.worldObj.createExplosion( + other, + other.posX, + other.posY, + other.posZ, + (float) Math.min(CHARGE_EXPLOSIVENESS * absDifference, 25), + true); + player.worldObj.createExplosion( + player, + player.posX, + player.posY, + player.posZ, + (float) Math.min(CHARGE_EXPLOSIVENESS * absDifference, 25), + true); } - GT_Utility.sendSoundToPlayers(other.worldObj, GregTech_API.sSoundList.get(209), 1.0F, -1, (int) other.posX, (int) other.posY, (int) other.posZ); - GT_Utility.sendSoundToPlayers(player.worldObj, GregTech_API.sSoundList.get(209), 1.0F, -1, (int) player.posX, (int) player.posY, (int) player.posZ); + GT_Utility.sendSoundToPlayers( + other.worldObj, + GregTech_API.sSoundList.get(209), + 1.0F, + -1, + (int) other.posX, + (int) other.posY, + (int) other.posZ); + GT_Utility.sendSoundToPlayers( + player.worldObj, + GregTech_API.sSoundList.get(209), + 1.0F, + -1, + (int) player.posX, + (int) player.posY, + (int) player.posZ); setCharge(player, avg); setCharge(other, avg); } @@ -138,13 +173,13 @@ public class AnomalyHandler implements IChunkMetaDataHandler { private void swapSomething(Chunk a, Chunk b, double mass) { float explosionPower = (float) Math.log(mass / EM_COUNT_PER_MATERIAL_AMOUNT); for (int i = 0; i < Math.min((int) explosionPower, 64); i++) { - int x = TecTech.RANDOM.nextInt(16); - int y = TecTech.RANDOM.nextInt(a.worldObj.getActualHeight()); - int z = TecTech.RANDOM.nextInt(16); + int x = TecTech.RANDOM.nextInt(16); + int y = TecTech.RANDOM.nextInt(a.worldObj.getActualHeight()); + int z = TecTech.RANDOM.nextInt(16); Block aBlock = a.getBlock(x, y, z); Block bBlock = a.getBlock(x, y, z); - int aMeta = a.getBlockMetadata(x, y, z); - int bMeta = a.getBlockMetadata(x, y, z); + int aMeta = a.getBlockMetadata(x, y, z); + int bMeta = a.getBlockMetadata(x, y, z); if (a.getTileEntityUnsafe(x, y, z) == null && b.getTileEntityUnsafe(x, y, z) == null) { a.worldObj.setBlock((a.xPosition << 4) + x, y, (a.zPosition << 4) + z, bBlock, bMeta, 3); b.worldObj.setBlock((b.xPosition << 4) + x, y, (b.zPosition << 4) + z, aBlock, aMeta, 3); @@ -160,17 +195,43 @@ public class AnomalyHandler implements IChunkMetaDataHandler { } if (TecTech.configTecTech.BOOM_ENABLE) { if (TecTech.RANDOM.nextBoolean()) { - a.worldObj.createExplosion(null, (a.xPosition << 4) + x + .5, y + .5, (a.zPosition << 4) + z + .5, explosionPower * TecTech.RANDOM.nextFloat(), true); + a.worldObj.createExplosion( + null, + (a.xPosition << 4) + x + .5, + y + .5, + (a.zPosition << 4) + z + .5, + explosionPower * TecTech.RANDOM.nextFloat(), + true); } - GT_Utility.sendSoundToPlayers(a.worldObj, GregTech_API.sSoundList.get(209), 1.0F, -1, (a.xPosition << 4) + x, y, (a.zPosition << 4) + z); + GT_Utility.sendSoundToPlayers( + a.worldObj, + GregTech_API.sSoundList.get(209), + 1.0F, + -1, + (a.xPosition << 4) + x, + y, + (a.zPosition << 4) + z); if (TecTech.RANDOM.nextBoolean()) { - b.worldObj.createExplosion(null, (b.xPosition << 4) + x + .5, y + .5, (b.zPosition << 4) + z + .5, explosionPower * TecTech.RANDOM.nextFloat(), true); + b.worldObj.createExplosion( + null, + (b.xPosition << 4) + x + .5, + y + .5, + (b.zPosition << 4) + z + .5, + explosionPower * TecTech.RANDOM.nextFloat(), + true); } - GT_Utility.sendSoundToPlayers(b.worldObj, GregTech_API.sSoundList.get(209), 1.0F, -1, (b.xPosition << 4) + x, y, (b.zPosition << 4) + z); + GT_Utility.sendSoundToPlayers( + b.worldObj, + GregTech_API.sSoundList.get(209), + 1.0F, + -1, + (b.xPosition << 4) + x, + y, + (b.zPosition << 4) + z); } } - int x = (b.xPosition - a.xPosition) << 4; - int z = (b.xPosition - a.xPosition) << 4; + int x = (b.xPosition - a.xPosition) << 4; + int z = (b.xPosition - a.xPosition) << 4; List aE = a.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, TT_Utility.fromChunk(a)); List bE = b.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, TT_Utility.fromChunk(b)); for (EntityLivingBase entityLivingBase : aE) { @@ -178,8 +239,10 @@ public class AnomalyHandler implements IChunkMetaDataHandler { if (entityLivingBase instanceof EntityPlayer) { EntityPlayer player = ((EntityPlayer) entityLivingBase); if (!player.capabilities.isCreativeMode) { - player.setPositionAndUpdate(entityLivingBase.posX + x, entityLivingBase.posY, entityLivingBase.posZ + z); - player.attackEntityFrom(MainLoader.subspace, 8 + TecTech.RANDOM.nextInt((int) (explosionPower / 4))); + player.setPositionAndUpdate( + entityLivingBase.posX + x, entityLivingBase.posY, entityLivingBase.posZ + z); + player.attackEntityFrom( + MainLoader.subspace, 8 + TecTech.RANDOM.nextInt((int) (explosionPower / 4))); player.addPotionEffect(new PotionEffect(Potion.hunger.id, 1200)); player.addPotionEffect(new PotionEffect(Potion.weakness.id, 1000)); player.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 800)); @@ -191,8 +254,10 @@ public class AnomalyHandler implements IChunkMetaDataHandler { addCharge(player, -mass * TecTech.RANDOM.nextFloat()); } } else { - entityLivingBase.setPositionAndUpdate(entityLivingBase.posX + x, entityLivingBase.posY, entityLivingBase.posZ + z); - entityLivingBase.attackEntityFrom(MainLoader.subspace, 8 + TecTech.RANDOM.nextInt((int) (explosionPower / 4))); + entityLivingBase.setPositionAndUpdate( + entityLivingBase.posX + x, entityLivingBase.posY, entityLivingBase.posZ + z); + entityLivingBase.attackEntityFrom( + MainLoader.subspace, 8 + TecTech.RANDOM.nextInt((int) (explosionPower / 4))); } } } @@ -202,7 +267,8 @@ public class AnomalyHandler implements IChunkMetaDataHandler { EntityPlayer player = ((EntityPlayer) o); if (!player.capabilities.isCreativeMode) { player.setPositionAndUpdate(o.posX - x, o.posY, o.posZ - z); - player.attackEntityFrom(MainLoader.subspace, 8 + TecTech.RANDOM.nextInt((int) -(explosionPower / 4))); + player.attackEntityFrom( + MainLoader.subspace, 8 + TecTech.RANDOM.nextInt((int) -(explosionPower / 4))); player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 800)); player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 600)); player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 400)); @@ -222,24 +288,34 @@ public class AnomalyHandler implements IChunkMetaDataHandler { @Override public void tickPlayer(HashMap data, TickEvent.PlayerTickEvent aEvent) { if (aEvent.side.isClient()) { - EntityPlayer player = TecTech.proxy.getPlayer(); - ChunkCoordIntPair pair = new ChunkCoordIntPair(player.chunkCoordX, player.chunkCoordZ); - NBTTagCompound compound = data.get(player.worldObj.provider.dimensionId).get(pair); + EntityPlayer player = TecTech.proxy.getPlayer(); + ChunkCoordIntPair pair = new ChunkCoordIntPair(player.chunkCoordX, player.chunkCoordZ); + NBTTagCompound compound = + data.get(player.worldObj.provider.dimensionId).get(pair); if (compound != null) { - for (int i = 0, badness = (int) Math.min(COUNT_DIV, compound.getDouble(INTENSITY) / PER_PARTICLE); i < badness; i++) { - TecTech.proxy.em_particle(player.worldObj, + for (int i = 0, badness = (int) Math.min(COUNT_DIV, compound.getDouble(INTENSITY) / PER_PARTICLE); + i < badness; + i++) { + TecTech.proxy.em_particle( + player.worldObj, player.posX + TecTech.RANDOM.nextGaussian() * 64D, player.posY + TecTech.RANDOM.nextGaussian() * 64D, player.posZ + TecTech.RANDOM.nextGaussian() * 64D); } } - for (Map.Entry entry : data.get(player.worldObj.provider.dimensionId).entrySet()) { + for (Map.Entry entry : + data.get(player.worldObj.provider.dimensionId).entrySet()) { ChunkCoordIntPair chunkCoordIntPair = entry.getKey(); - NBTTagCompound dat = entry.getValue(); - if (Math.abs(chunkCoordIntPair.getCenterXPos() - player.posX) + Math.abs(chunkCoordIntPair.getCenterZPosition() - player.posZ) < 256) { - for (int i = 0, pow = (int) Math.min(COUNT_DIV, dat.getDouble(INTENSITY) / PER_PARTICLE); i < pow; i++) { - TecTech.proxy.em_particle(player.worldObj, + NBTTagCompound dat = entry.getValue(); + if (Math.abs(chunkCoordIntPair.getCenterXPos() - player.posX) + + Math.abs(chunkCoordIntPair.getCenterZPosition() - player.posZ) + < 256) { + for (int i = 0, pow = (int) Math.min(COUNT_DIV, dat.getDouble(INTENSITY) / PER_PARTICLE); + i < pow; + i++) { + TecTech.proxy.em_particle( + player.worldObj, chunkCoordIntPair.getCenterXPos() + TecTech.RANDOM.nextGaussian() * 32D, player.posY + TecTech.RANDOM.nextFloat() * 128D - 64D, chunkCoordIntPair.getCenterZPosition() + TecTech.RANDOM.nextGaussian() * 32D); @@ -247,11 +323,12 @@ public class AnomalyHandler implements IChunkMetaDataHandler { } } } else if (TecTech.RANDOM.nextInt(50) == 0) { - EntityPlayer player = aEvent.player; - ChunkCoordIntPair pair = new ChunkCoordIntPair(player.chunkCoordX, player.chunkCoordZ); - NBTTagCompound compound = data.get(player.worldObj.provider.dimensionId).get(pair); - NBTTagCompound playerTag = TecTech.playerPersistence.getDataOrSetToNewTag(player); - boolean saveRequired = false; + EntityPlayer player = aEvent.player; + ChunkCoordIntPair pair = new ChunkCoordIntPair(player.chunkCoordX, player.chunkCoordZ); + NBTTagCompound compound = + data.get(player.worldObj.provider.dimensionId).get(pair); + NBTTagCompound playerTag = TecTech.playerPersistence.getDataOrSetToNewTag(player); + boolean saveRequired = false; if (!player.capabilities.isCreativeMode) { double cancer = getCancer(player); if (compound != null) { @@ -271,7 +348,8 @@ public class AnomalyHandler implements IChunkMetaDataHandler { if (saveRequired) { TecTech.playerPersistence.saveData(player); - NetworkDispatcher.INSTANCE.sendTo(new PlayerDataMessage.PlayerDataData(player), (EntityPlayerMP) player); + NetworkDispatcher.INSTANCE.sendTo( + new PlayerDataMessage.PlayerDataData(player), (EntityPlayerMP) player); } } } @@ -284,12 +362,20 @@ public class AnomalyHandler implements IChunkMetaDataHandler { double cancer = getCancer(player) * CANCER_EFFECTIVENESS; if (cancer > 0) { player.setInvisible(fixMe = TecTech.RANDOM.nextFloat() * 2 < cancer); - player.setAngles((TecTech.RANDOM.nextFloat() - .5F) * 36 * (float) cancer, (TecTech.RANDOM.nextFloat() - .5F) * 36 * (float) cancer); + player.setAngles( + (TecTech.RANDOM.nextFloat() - .5F) * 36 * (float) cancer, + (TecTech.RANDOM.nextFloat() - .5F) * 36 * (float) cancer); cancer *= cancer / 2F; if (cancer > 1.75f) { - player.setVelocity((TecTech.RANDOM.nextFloat() - .5F) * cancer, (TecTech.RANDOM.nextFloat() - .5F) * cancer, (TecTech.RANDOM.nextFloat() - .5F) * cancer); + player.setVelocity( + (TecTech.RANDOM.nextFloat() - .5F) * cancer, + (TecTech.RANDOM.nextFloat() - .5F) * cancer, + (TecTech.RANDOM.nextFloat() - .5F) * cancer); } else { - player.addVelocity((TecTech.RANDOM.nextFloat() - .5F) * cancer, (TecTech.RANDOM.nextFloat() - .5F) * cancer, (TecTech.RANDOM.nextFloat() - .5F) * cancer); + player.addVelocity( + (TecTech.RANDOM.nextFloat() - .5F) * cancer, + (TecTech.RANDOM.nextFloat() - .5F) * cancer, + (TecTech.RANDOM.nextFloat() - .5F) * cancer); } } @@ -298,16 +384,18 @@ public class AnomalyHandler implements IChunkMetaDataHandler { for (Object o : player.worldObj.playerEntities) { if (o instanceof EntityPlayer && !((EntityPlayer) o).capabilities.isCreativeMode) { EntityPlayer otherPlayer = (EntityPlayer) o; - double chargeOther = getCharge(otherPlayer); + double chargeOther = getCharge(otherPlayer); if (chargeOther != 0 && player != o) { double reaction = chargeOther * charge; if (reaction != 0) { double distanceSq = otherPlayer.getDistanceSqToEntity(player); if (distanceSq >= 1) { - double effect = CHARGE_EFFECTIVENESS * reaction / (distanceSq * distanceSq * distanceSq); - double dX = (player.posX - otherPlayer.posX) * effect; - double dY = (player.posY - otherPlayer.posY) * effect; - double dZ = (player.posZ - otherPlayer.posZ) * effect; + double effect = CHARGE_EFFECTIVENESS + * reaction + / (distanceSq * distanceSq * distanceSq); + double dX = (player.posX - otherPlayer.posX) * effect; + double dY = (player.posY - otherPlayer.posY) * effect; + double dZ = (player.posZ - otherPlayer.posZ) * effect; player.addVelocity(dX, dY, dZ); otherPlayer.addVelocity(-dX, -dY, -dZ); } @@ -322,23 +410,29 @@ public class AnomalyHandler implements IChunkMetaDataHandler { for (Object o : player.worldObj.playerEntities) { if (o instanceof EntityPlayer && !((EntityPlayer) o).capabilities.isCreativeMode) { EntityPlayer otherPlayer = (EntityPlayer) o; - double massOther = getMass(otherPlayer); + double massOther = getMass(otherPlayer); if (massOther != 0 && player != o) { double reaction = massOther * mass; if (reaction != 0) { double distanceSq = otherPlayer.getDistanceSqToEntity(player); if (distanceSq >= 1) { - double effect = MASS_EFFECTIVENESS * reaction / (distanceSq * distanceSq * distanceSq); - double effect1 = effect / mass; - double effect2 = effect / massOther; - double[] dPos = new double[]{player.posX - otherPlayer.posX, player.posY - otherPlayer.posY, player.posZ - otherPlayer.posZ}; - double[] vel = new double[]{player.motionX, player.motionY, player.motionZ}; - double[] out = new double[3]; + double effect = + MASS_EFFECTIVENESS * reaction / (distanceSq * distanceSq * distanceSq); + double effect1 = effect / mass; + double effect2 = effect / massOther; + double[] dPos = new double[] { + player.posX - otherPlayer.posX, + player.posY - otherPlayer.posY, + player.posZ - otherPlayer.posZ + }; + double[] vel = new double[] {player.motionX, player.motionY, player.motionZ}; + double[] out = new double[3]; crossProduct3D(dPos, vel, out); crossProduct3D(out, dPos, vel); - normalize3D(vel,out); + normalize3D(vel, out); player.addVelocity(effect1 * out[0], effect1 * out[1], effect1 * out[2]); - otherPlayer.addVelocity(effect2 * -out[0], effect2 * -out[1], effect2 * -out[2]); + otherPlayer.addVelocity( + effect2 * -out[0], effect2 * -out[1], effect2 * -out[2]); } } } @@ -360,7 +454,9 @@ public class AnomalyHandler implements IChunkMetaDataHandler { @Override public void pushData(World world, ChunkCoordIntPair chunk) { - NetworkDispatcher.INSTANCE.sendToDimension(new ChunkDataMessage.ChunkDataData(world.provider.dimensionId, chunk, this), world.provider.dimensionId); + NetworkDispatcher.INSTANCE.sendToDimension( + new ChunkDataMessage.ChunkDataData(world.provider.dimensionId, chunk, this), + world.provider.dimensionId); } @Override @@ -378,11 +474,7 @@ public class AnomalyHandler implements IChunkMetaDataHandler { public void addAnomaly(World w, int x, int z, double amount) { if (!w.isRemote) { - addAnomaly(w.provider.dimensionId, - new ChunkCoordIntPair( - x >> 4, - z >> 4), - amount); + addAnomaly(w.provider.dimensionId, new ChunkCoordIntPair(x >> 4, z >> 4), amount); } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/anomaly/CancerCommand.java b/src/main/java/com/github/technus/tectech/mechanics/anomaly/CancerCommand.java index fdbd98fee0..582d8d08a2 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/anomaly/CancerCommand.java +++ b/src/main/java/com/github/technus/tectech/mechanics/anomaly/CancerCommand.java @@ -1,18 +1,17 @@ package com.github.technus.tectech.mechanics.anomaly; import com.github.technus.tectech.TecTech; +import java.util.ArrayList; +import java.util.List; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.util.ChatComponentText; -import java.util.ArrayList; -import java.util.List; - public class CancerCommand implements ICommand { - ArrayList aliases=new ArrayList<>(); + ArrayList aliases = new ArrayList<>(); - public CancerCommand(){ + public CancerCommand() { aliases.add("cancer_EM"); aliases.add("cancer"); aliases.add("sanser_EM"); @@ -24,23 +23,24 @@ public class CancerCommand implements ICommand { @Override public void processCommand(ICommandSender sender, String[] args) { if (sender instanceof EntityPlayerMP && !sender.getEntityWorld().isRemote) { - EntityPlayerMP player=(EntityPlayerMP)sender; - if(args==null || args.length==0){ - sender.addChatMessage(new ChatComponentText("Cancer amount: "+TecTech.anomalyHandler.getCancer(player))); + EntityPlayerMP player = (EntityPlayerMP) sender; + if (args == null || args.length == 0) { + sender.addChatMessage( + new ChatComponentText("Cancer amount: " + TecTech.anomalyHandler.getCancer(player))); return; } double amount; try { amount = Double.parseDouble(args[0]); - }catch (NumberFormatException e){ + } catch (NumberFormatException e) { sender.addChatMessage(new ChatComponentText("Cannot parse amount!")); return; } - if(player.capabilities.isCreativeMode){ + if (player.capabilities.isCreativeMode) { sender.addChatMessage(new ChatComponentText("Doesn't really work in creative mode!")); - }else { - TecTech.anomalyHandler.setCancer(player,amount); - sender.addChatMessage(new ChatComponentText("Cancer set to: "+amount)); + } else { + TecTech.anomalyHandler.setCancer(player, amount); + sender.addChatMessage(new ChatComponentText("Cancer set to: " + amount)); } } } @@ -72,7 +72,7 @@ public class CancerCommand implements ICommand { @Override public int compareTo(Object o) { - if(o instanceof ICommand){ + if (o instanceof ICommand) { return getCommandName().compareTo(((ICommand) o).getCommandName()); } return 0; diff --git a/src/main/java/com/github/technus/tectech/mechanics/anomaly/ChargeCommand.java b/src/main/java/com/github/technus/tectech/mechanics/anomaly/ChargeCommand.java index b486b73295..68d3de8769 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/anomaly/ChargeCommand.java +++ b/src/main/java/com/github/technus/tectech/mechanics/anomaly/ChargeCommand.java @@ -1,18 +1,17 @@ package com.github.technus.tectech.mechanics.anomaly; import com.github.technus.tectech.TecTech; +import java.util.ArrayList; +import java.util.List; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.util.ChatComponentText; -import java.util.ArrayList; -import java.util.List; - public class ChargeCommand implements ICommand { - ArrayList aliases=new ArrayList<>(); + ArrayList aliases = new ArrayList<>(); - public ChargeCommand(){ + public ChargeCommand() { aliases.add("charge_EM"); aliases.add("charge"); } @@ -20,23 +19,24 @@ public class ChargeCommand implements ICommand { @Override public void processCommand(ICommandSender sender, String[] args) { if (sender instanceof EntityPlayerMP && !sender.getEntityWorld().isRemote) { - EntityPlayerMP player=(EntityPlayerMP)sender; - if(args==null || args.length==0){ - sender.addChatMessage(new ChatComponentText("Charge amount: "+TecTech.anomalyHandler.getCharge(player))); + EntityPlayerMP player = (EntityPlayerMP) sender; + if (args == null || args.length == 0) { + sender.addChatMessage( + new ChatComponentText("Charge amount: " + TecTech.anomalyHandler.getCharge(player))); return; } double amount; try { amount = Double.parseDouble(args[0]); - }catch (NumberFormatException e){ + } catch (NumberFormatException e) { sender.addChatMessage(new ChatComponentText("Cannot parse amount!")); return; } - if(player.capabilities.isCreativeMode){ + if (player.capabilities.isCreativeMode) { sender.addChatMessage(new ChatComponentText("Doesn't really work in creative mode!")); - }else { - TecTech.anomalyHandler.setCharge(player,amount); - sender.addChatMessage(new ChatComponentText("Charge set to: "+amount)); + } else { + TecTech.anomalyHandler.setCharge(player, amount); + sender.addChatMessage(new ChatComponentText("Charge set to: " + amount)); } } } @@ -68,7 +68,7 @@ public class ChargeCommand implements ICommand { @Override public int compareTo(Object o) { - if(o instanceof ICommand){ + if (o instanceof ICommand) { return getCommandName().compareTo(((ICommand) o).getCommandName()); } return 0; diff --git a/src/main/java/com/github/technus/tectech/mechanics/anomaly/MassCommand.java b/src/main/java/com/github/technus/tectech/mechanics/anomaly/MassCommand.java index 05bba9433b..df841309ee 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/anomaly/MassCommand.java +++ b/src/main/java/com/github/technus/tectech/mechanics/anomaly/MassCommand.java @@ -1,18 +1,17 @@ package com.github.technus.tectech.mechanics.anomaly; import com.github.technus.tectech.TecTech; +import java.util.ArrayList; +import java.util.List; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.util.ChatComponentText; -import java.util.ArrayList; -import java.util.List; - public class MassCommand implements ICommand { - ArrayList aliases=new ArrayList<>(); + ArrayList aliases = new ArrayList<>(); - public MassCommand(){ + public MassCommand() { aliases.add("mass_EM"); aliases.add("mass"); } @@ -20,23 +19,23 @@ public class MassCommand implements ICommand { @Override public void processCommand(ICommandSender sender, String[] args) { if (sender instanceof EntityPlayerMP && !sender.getEntityWorld().isRemote) { - EntityPlayerMP player=(EntityPlayerMP)sender; - if(args==null || args.length==0){ - sender.addChatMessage(new ChatComponentText("Msdd amount: "+TecTech.anomalyHandler.getMass(player))); + EntityPlayerMP player = (EntityPlayerMP) sender; + if (args == null || args.length == 0) { + sender.addChatMessage(new ChatComponentText("Msdd amount: " + TecTech.anomalyHandler.getMass(player))); return; } double amount; try { amount = Double.parseDouble(args[0]); - }catch (NumberFormatException e){ + } catch (NumberFormatException e) { sender.addChatMessage(new ChatComponentText("Cannot parse amount!")); return; } - if(player.capabilities.isCreativeMode){ + if (player.capabilities.isCreativeMode) { sender.addChatMessage(new ChatComponentText("Doesn't really work in creative mode!")); - }else { - TecTech.anomalyHandler.setMass(player,amount); - sender.addChatMessage(new ChatComponentText("Mass set to: "+amount)); + } else { + TecTech.anomalyHandler.setMass(player, amount); + sender.addChatMessage(new ChatComponentText("Mass set to: " + amount)); } } } @@ -68,7 +67,7 @@ public class MassCommand implements ICommand { @Override public int compareTo(Object o) { - if(o instanceof ICommand){ + if (o instanceof ICommand) { return getCommandName().compareTo(((ICommand) o).getCommandName()); } return 0; diff --git a/src/main/java/com/github/technus/tectech/mechanics/avr/SidedRedstone.java b/src/main/java/com/github/technus/tectech/mechanics/avr/SidedRedstone.java index 715988d26f..ec2e5613a5 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/avr/SidedRedstone.java +++ b/src/main/java/com/github/technus/tectech/mechanics/avr/SidedRedstone.java @@ -7,8 +7,8 @@ import com.github.technus.avrClone.registerPackages.IRegisterBit; import com.github.technus.avrClone.registerPackages.RegisterPackageSync; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -public class SidedRedstone extends RegisterPackageSync { - public static final RSINT RSINT =new RSINT(); +public class SidedRedstone extends RegisterPackageSync { + public static final RSINT RSINT = new RSINT(); public SidedRedstone(int offset) { super(offset, Register.values().length); @@ -22,39 +22,40 @@ public class SidedRedstone extends RegisterPackageSync 0?1:0)< 0 ? 1 : 0) << i; + core.setDataValue(addr++, iGregTechTileEntity.getInputRedstoneSignal(i)); + core.setDataValue(addr++, val); addr++; } int sidesOld = core.getDataValue(Register.PNEW.getAddress(this)); - core.setDataValue(Register.POLD.getAddress(this),sidesOld); - core.setDataValue(Register.PNEW.getAddress(this),sides); - - if(core.getInterruptEnable()) { - int pcint=core.getDataValue(Register.PCINT.getAddress(this)); - int changesDetected=0; - switch (pcint&0b1100){//PCISC1 PCISC0 - case 0b0000://low - changesDetected= ~sides & core.getDataValue(Register.PCMSK.getAddress(this)); + core.setDataValue(Register.POLD.getAddress(this), sidesOld); + core.setDataValue(Register.PNEW.getAddress(this), sides); + + if (core.getInterruptEnable()) { + int pcint = core.getDataValue(Register.PCINT.getAddress(this)); + int changesDetected = 0; + switch (pcint & 0b1100) { // PCISC1 PCISC0 + case 0b0000: // low + changesDetected = ~sides & core.getDataValue(Register.PCMSK.getAddress(this)); break; - case 0b0100://any - changesDetected= (sides ^ sidesOld) & core.getDataValue(Register.PCMSK.getAddress(this)); + case 0b0100: // any + changesDetected = (sides ^ sidesOld) & core.getDataValue(Register.PCMSK.getAddress(this)); break; - case 0b1000://falling - changesDetected= ~sides & sidesOld & core.getDataValue(Register.PCMSK.getAddress(this)); + case 0b1000: // falling + changesDetected = ~sides & sidesOld & core.getDataValue(Register.PCMSK.getAddress(this)); break; - case 0b1100://rising - changesDetected= sides & ~sidesOld & core.getDataValue(Register.PCMSK.getAddress(this)); + case 0b1100: // rising + changesDetected = sides & ~sidesOld & core.getDataValue(Register.PCMSK.getAddress(this)); break; } - core.setDataValue(Register.PCFR.getAddress(this), + core.setDataValue( + Register.PCFR.getAddress(this), core.getDataValue(Register.PCFR.getAddress(this) | changesDetected)); if (changesDetected > 0) { @@ -66,43 +67,64 @@ public class SidedRedstone extends RegisterPackageSync{ - PIN0,PINT0,PORT0, - PIN1,PINT1,PORT1, - PIN2,PINT2,PORT2, - PIN3,PINT3,PORT3, - PIN4,PINT4,PORT4, - PIN5,PINT5,PORT5, - PCMSK,PCFR,PCINT,PNEW,POLD; + public enum Register implements IRegister { + PIN0, + PINT0, + PORT0, + PIN1, + PINT1, + PORT1, + PIN2, + PINT2, + PORT2, + PIN3, + PINT3, + PORT3, + PIN4, + PINT4, + PORT4, + PIN5, + PINT5, + PORT5, + PCMSK, + PCFR, + PCINT, + PNEW, + POLD; public final int relativeOffset; - Register(){ - this.relativeOffset =ordinal(); + Register() { + this.relativeOffset = ordinal(); } @Override public int getAddress(SidedRedstone registerPackage) { - return registerPackage.getOffset()+relativeOffset; + return registerPackage.getOffset() + relativeOffset; } } - public enum RegisterBitsPCMSK implements IRegisterBit{ - PCINT0,PCINT1,PCINT2,PCINT3,PCINT4,PCINT5; - - private final int bit,mask; - - RegisterBitsPCMSK(){ - bit=ordinal(); - mask=1< { + PCINT0, + PCINT1, + PCINT2, + PCINT3, + PCINT4, + PCINT5; + private final int bit, mask; + + RegisterBitsPCMSK() { + bit = ordinal(); + mask = 1 << bit; } @Override @@ -121,14 +143,18 @@ public class SidedRedstone extends RegisterPackageSync{ - PCF0,PCF1,PCF2,PCF3,PCF4,PCF5; - - private final int bit,mask; - - RegisterBitsPCFR(){ - bit=ordinal(); - mask=1< { + PCF0, + PCF1, + PCF2, + PCF3, + PCF4, + PCF5; + private final int bit, mask; + + RegisterBitsPCFR() { + bit = ordinal(); + mask = 1 << bit; } @Override @@ -147,14 +173,16 @@ public class SidedRedstone extends RegisterPackageSync{ - PCIF,PCEN,PCISC0,PCISC1; - - private final int bit,mask; + public enum RegisterBitsPCINT implements IRegisterBit { + PCIF, + PCEN, + PCISC0, + PCISC1; + private final int bit, mask; - RegisterBitsPCINT(){ - bit=ordinal(); - mask=1<{ - PNEW0,PNEW1,PNEW2,PNEW3,PNEW4,PNEW5; - - private final int bit,mask; - - RegisterBitsPNEW(){ - bit=ordinal(); - mask=1< { + PNEW0, + PNEW1, + PNEW2, + PNEW3, + PNEW4, + PNEW5; + private final int bit, mask; + + RegisterBitsPNEW() { + bit = ordinal(); + mask = 1 << bit; } @Override @@ -199,14 +231,18 @@ public class SidedRedstone extends RegisterPackageSync{ - POLD0,POLD1,POLD2,POLD3,POLD4,POLD5; - - private final int bit,mask; - - RegisterBitsPOLD(){ - bit=ordinal(); - mask=1< { + POLD0, + POLD1, + POLD2, + POLD3, + POLD4, + POLD5; + private final int bit, mask; + + RegisterBitsPOLD() { + bit = ordinal(); + mask = 1 << bit; } @Override @@ -225,7 +261,7 @@ public class SidedRedstone extends RegisterPackageSync{ + public static class RSINT implements IInterrupt { @Override public int getVector() { return 1; @@ -233,14 +269,15 @@ public class SidedRedstone extends RegisterPackageSync aliases=new ArrayList<>(); + ArrayList aliases = new ArrayList<>(); - public ConvertFloat(){ + public ConvertFloat() { aliases.add("convert_float"); aliases.add("c_f"); } @@ -20,17 +19,17 @@ public class ConvertFloat implements ICommand { @Override public void processCommand(ICommandSender sender, String[] args) { if (!sender.getEntityWorld().isRemote) { - if(args.length == 1) { - try{ - float value=Float.parseFloat(args[0]); - sender.addChatMessage(new ChatComponentText( - EnumChatFormatting.AQUA.toString()+ EnumChatFormatting.BOLD + - TT_Utility.intBitsToShortString(Float.floatToIntBits(value))+" "+ - EnumChatFormatting.RESET+EnumChatFormatting.BLUE +value)); - }catch (Exception e){ - sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED+"Invalid Float "+args[0])); + if (args.length == 1) { + try { + float value = Float.parseFloat(args[0]); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + TT_Utility.intBitsToShortString(Float.floatToIntBits(value)) + + " " + EnumChatFormatting.RESET + + EnumChatFormatting.BLUE + value)); + } catch (Exception e) { + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Invalid Float " + args[0])); } - }else{ + } else { sender.addChatMessage(new ChatComponentText(getCommandUsage(sender))); } } @@ -63,7 +62,7 @@ public class ConvertFloat implements ICommand { @Override public int compareTo(Object o) { - if(o instanceof ICommand){ + if (o instanceof ICommand) { return getCommandName().compareTo(((ICommand) o).getCommandName()); } return 0; diff --git a/src/main/java/com/github/technus/tectech/mechanics/commands/ConvertInteger.java b/src/main/java/com/github/technus/tectech/mechanics/commands/ConvertInteger.java index 37651e7478..052a6a8476 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/commands/ConvertInteger.java +++ b/src/main/java/com/github/technus/tectech/mechanics/commands/ConvertInteger.java @@ -1,18 +1,17 @@ package com.github.technus.tectech.mechanics.commands; import com.github.technus.tectech.util.TT_Utility; +import java.util.ArrayList; +import java.util.List; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.util.ChatComponentText; import net.minecraft.util.EnumChatFormatting; -import java.util.ArrayList; -import java.util.List; - public class ConvertInteger implements ICommand { - ArrayList aliases=new ArrayList<>(); + ArrayList aliases = new ArrayList<>(); - public ConvertInteger(){ + public ConvertInteger() { aliases.add("convert_integer"); aliases.add("c_i"); } @@ -20,17 +19,17 @@ public class ConvertInteger implements ICommand { @Override public void processCommand(ICommandSender sender, String[] args) { if (!sender.getEntityWorld().isRemote) { - if(args.length == 1) { - try{ - int value=Integer.parseInt(args[0]); - sender.addChatMessage(new ChatComponentText( - EnumChatFormatting.AQUA.toString()+ EnumChatFormatting.BOLD + - TT_Utility.intBitsToShortString(value)+" "+ - EnumChatFormatting.RESET+EnumChatFormatting.BLUE +value)); - }catch (Exception e){ - sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED+"Invalid Integer "+args[0])); + if (args.length == 1) { + try { + int value = Integer.parseInt(args[0]); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + TT_Utility.intBitsToShortString(value) + + " " + EnumChatFormatting.RESET + + EnumChatFormatting.BLUE + value)); + } catch (Exception e) { + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Invalid Integer " + args[0])); } - }else{ + } else { sender.addChatMessage(new ChatComponentText(getCommandUsage(sender))); } } @@ -63,7 +62,7 @@ public class ConvertInteger implements ICommand { @Override public int compareTo(Object o) { - if(o instanceof ICommand){ + if (o instanceof ICommand) { return getCommandName().compareTo(((ICommand) o).getCommandName()); } return 0; diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataHandler.java b/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataHandler.java index 0d0af5b390..04a161a2cb 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataHandler.java +++ b/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataHandler.java @@ -5,6 +5,7 @@ import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.*; import net.minecraft.client.Minecraft; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.ChunkCoordIntPair; @@ -13,27 +14,25 @@ import net.minecraftforge.event.world.ChunkDataEvent; import net.minecraftforge.event.world.ChunkEvent; import net.minecraftforge.event.world.WorldEvent; -import java.util.*; - public class ChunkDataHandler { - private final String BASE_TAG_NAME ="TecTechData"; - private final HashMap> dimensionWiseChunkData=new HashMap<>(); - private final HashMap> dimensionWiseMetaChunkData=new HashMap<>(); - private final HashMap metaDataHandlerHashMap =new HashMap<>(); - private final ArrayList pushSyncHandlers =new ArrayList<>(); - private final ArrayList pullSyncHandlers =new ArrayList<>(); - private final ArrayList serverHandlers=new ArrayList<>(); - private final ArrayList worldHandlers=new ArrayList<>(); - private final ArrayList playerHandlers=new ArrayList<>(); - private final ArrayList clientHandlers=new ArrayList<>(); - private final ArrayList renderHandlers=new ArrayList<>(); + private final String BASE_TAG_NAME = "TecTechData"; + private final HashMap> dimensionWiseChunkData = new HashMap<>(); + private final HashMap> dimensionWiseMetaChunkData = new HashMap<>(); + private final HashMap metaDataHandlerHashMap = new HashMap<>(); + private final ArrayList pushSyncHandlers = new ArrayList<>(); + private final ArrayList pullSyncHandlers = new ArrayList<>(); + private final ArrayList serverHandlers = new ArrayList<>(); + private final ArrayList worldHandlers = new ArrayList<>(); + private final ArrayList playerHandlers = new ArrayList<>(); + private final ArrayList clientHandlers = new ArrayList<>(); + private final ArrayList renderHandlers = new ArrayList<>(); @SubscribeEvent - public void onWorldLoad(WorldEvent.Load event){ - int dim=event.world.provider.dimensionId; - dimensionWiseChunkData.computeIfAbsent(dim, m->{ + public void onWorldLoad(WorldEvent.Load event) { + int dim = event.world.provider.dimensionId; + dimensionWiseChunkData.computeIfAbsent(dim, m -> { HashMap map = new HashMap<>(); - for (Map.Entry meta : metaDataHandlerHashMap.entrySet()) { + for (Map.Entry meta : metaDataHandlerHashMap.entrySet()) { dimensionWiseMetaChunkData.get(meta.getKey()).put(dim, new ChunkHashMap(meta.getValue(), map)); } return map; @@ -42,8 +41,10 @@ public class ChunkDataHandler { @SubscribeEvent public void handleChunkSaveEvent(ChunkDataEvent.Save event) { - HashMap dimensionData = dimensionWiseChunkData.get(event.world.provider.dimensionId); - NBTChunk chunkData = dimensionData != null ? dimensionData.get(event.getChunk().getChunkCoordIntPair()) : null; + HashMap dimensionData = + dimensionWiseChunkData.get(event.world.provider.dimensionId); + NBTChunk chunkData = + dimensionData != null ? dimensionData.get(event.getChunk().getChunkCoordIntPair()) : null; if (chunkData == null) { event.getData().removeTag(BASE_TAG_NAME); } else { @@ -97,16 +98,17 @@ public class ChunkDataHandler { @SideOnly(Side.CLIENT) @SubscribeEvent - public void onLoadChunk(ChunkEvent.Load aEvent){ - if(aEvent.world.isRemote && !Minecraft.getMinecraft().isSingleplayer()) {//we already have the data! + public void onLoadChunk(ChunkEvent.Load aEvent) { + if (aEvent.world.isRemote && !Minecraft.getMinecraft().isSingleplayer()) { // we already have the data! pullSyncHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.pullData(aEvent)); } } @SideOnly(Side.CLIENT) @SubscribeEvent - public void onUnloadChunk(ChunkEvent.Unload aEvent){ - if(aEvent.world.isRemote && !Minecraft.getMinecraft().isSingleplayer()) {//we need all data if running local server! + public void onUnloadChunk(ChunkEvent.Unload aEvent) { + if (aEvent.world.isRemote + && !Minecraft.getMinecraft().isSingleplayer()) { // we need all data if running local server! pullSyncHandlers.forEach(chunkMetaDataHandler -> dimensionWiseMetaChunkData .get(chunkMetaDataHandler.getTagName()) .get(aEvent.world.provider.dimensionId) @@ -117,33 +119,31 @@ public class ChunkDataHandler { @SideOnly(Side.CLIENT) @SubscribeEvent public void onClientTickEvent(TickEvent.ClientTickEvent aEvent) { - clientHandlers.forEach(chunkMetaDataHandler -> - chunkMetaDataHandler.tickClient( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); + clientHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.tickClient( + dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); } @SideOnly(Side.CLIENT) @SubscribeEvent public void onRenderTickEvent(TickEvent.RenderTickEvent aEvent) { - renderHandlers.forEach(chunkMetaDataHandler -> - chunkMetaDataHandler.tickRender( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); + renderHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.tickRender( + dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); } @SubscribeEvent public void onServerTickEvent(TickEvent.ServerTickEvent aEvent) { - serverHandlers.forEach(chunkMetaDataHandler -> - chunkMetaDataHandler.tickServer( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); + serverHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.tickServer( + dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); } - //Ticks only on server side (but must be present for client server) + // Ticks only on server side (but must be present for client server) @SubscribeEvent public void onWorldTickEvent(TickEvent.WorldTickEvent aEvent) { int dim = aEvent.world.provider.dimensionId; pushSyncHandlers.forEach(chunkMetaDataHandler -> { ChunkHashMap data = dimensionWiseMetaChunkData - .get(chunkMetaDataHandler.getTagName()).get(dim); + .get(chunkMetaDataHandler.getTagName()) + .get(dim); int cycle = chunkMetaDataHandler.pushPayloadSpreadPeriod(); int epoch = (int) (aEvent.world.getTotalWorldTime() % cycle); ArrayList work; @@ -166,106 +166,119 @@ public class ChunkDataHandler { chunkMetaDataHandler.pushPayload(aEvent.world, work); work.clear(); }); - worldHandlers.forEach(chunkMetaDataHandler -> - chunkMetaDataHandler.tickWorld( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); + worldHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.tickWorld( + dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); } @SubscribeEvent public void onPlayerTickEvent(TickEvent.PlayerTickEvent aEvent) { - playerHandlers.forEach(chunkMetaDataHandler -> - chunkMetaDataHandler.tickPlayer( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); + playerHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.tickPlayer( + dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); } - public void clearData() { dimensionWiseChunkData.clear(); - dimensionWiseMetaChunkData.forEach((k,v)->v.clear()); + dimensionWiseMetaChunkData.forEach((k, v) -> v.clear()); } - public IChunkMetaDataHandler getChunkMetaDataHandler(String s){ + public IChunkMetaDataHandler getChunkMetaDataHandler(String s) { return metaDataHandlerHashMap.get(s); } - public void registerChunkMetaDataHandler(IChunkMetaDataHandler handler){ - metaDataHandlerHashMap.put(handler.getTagName(),handler); - dimensionWiseMetaChunkData.put(handler.getTagName(),new HashMap<>()); - Class clazz=handler.getClass(); + public void registerChunkMetaDataHandler(IChunkMetaDataHandler handler) { + metaDataHandlerHashMap.put(handler.getTagName(), handler); + dimensionWiseMetaChunkData.put(handler.getTagName(), new HashMap<>()); + Class clazz = handler.getClass(); try { - if(clazz.getMethod("tickServer", HashMap.class, TickEvent.ServerTickEvent.class).getDeclaringClass()!= IChunkMetaDataHandler.class){ + if (clazz.getMethod("tickServer", HashMap.class, TickEvent.ServerTickEvent.class) + .getDeclaringClass() + != IChunkMetaDataHandler.class) { serverHandlers.add(handler); } - if(clazz.getMethod("tickPlayer", HashMap.class, TickEvent.PlayerTickEvent.class).getDeclaringClass()!= IChunkMetaDataHandler.class){ + if (clazz.getMethod("tickPlayer", HashMap.class, TickEvent.PlayerTickEvent.class) + .getDeclaringClass() + != IChunkMetaDataHandler.class) { playerHandlers.add(handler); } - if (clazz.getMethod("pushData", World.class, ChunkCoordIntPair.class).getDeclaringClass()!=IChunkMetaDataHandler.class) { + if (clazz.getMethod("pushData", World.class, ChunkCoordIntPair.class) + .getDeclaringClass() + != IChunkMetaDataHandler.class) { pushSyncHandlers.add(handler); } - if(clazz.getMethod("tickWorld", HashMap.class, TickEvent.WorldTickEvent.class).getDeclaringClass()!= IChunkMetaDataHandler.class){ + if (clazz.getMethod("tickWorld", HashMap.class, TickEvent.WorldTickEvent.class) + .getDeclaringClass() + != IChunkMetaDataHandler.class) { worldHandlers.add(handler); } } catch (NoSuchMethodException e) { - throw new RuntimeException("Cannot register common event handlers!",e); + throw new RuntimeException("Cannot register common event handlers!", e); } - if(FMLCommonHandler.instance().getSide().isClient()) { + if (FMLCommonHandler.instance().getSide().isClient()) { try { - if (clazz.getMethod("pullData", ChunkEvent.Load.class).getDeclaringClass() != IChunkMetaDataHandler.class) { + if (clazz.getMethod("pullData", ChunkEvent.Load.class).getDeclaringClass() + != IChunkMetaDataHandler.class) { pullSyncHandlers.add(handler); } - if (clazz.getMethod("tickClient", HashMap.class, TickEvent.ClientTickEvent.class).getDeclaringClass() != IChunkMetaDataHandler.class) { + if (clazz.getMethod("tickClient", HashMap.class, TickEvent.ClientTickEvent.class) + .getDeclaringClass() + != IChunkMetaDataHandler.class) { clientHandlers.add(handler); } - if (clazz.getMethod("tickRender", HashMap.class, TickEvent.RenderTickEvent.class).getDeclaringClass() != IChunkMetaDataHandler.class) { + if (clazz.getMethod("tickRender", HashMap.class, TickEvent.RenderTickEvent.class) + .getDeclaringClass() + != IChunkMetaDataHandler.class) { renderHandlers.add(handler); } } catch (NoSuchMethodException e) { - throw new RuntimeException("Cannot register client event handlers!",e); + throw new RuntimeException("Cannot register client event handlers!", e); } } } - public NBTTagCompound removeChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk){ + public NBTTagCompound removeChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk) { return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world).remove(chunk); } - public NBTTagCompound getChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk){ + public NBTTagCompound getChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk) { return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world).get(chunk); } - public NBTTagCompound putChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk, NBTTagCompound data){ - return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world).put(chunk,data); + public NBTTagCompound putChunkData( + IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk, NBTTagCompound data) { + return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world).put(chunk, data); } - public NBTTagCompound createIfAbsentChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk){ - return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world) - .computeIfAbsent(chunk,chunkCoordIntPair -> handler.createData()); + public NBTTagCompound createIfAbsentChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk) { + return dimensionWiseMetaChunkData + .get(handler.getTagName()) + .get(world) + .computeIfAbsent(chunk, chunkCoordIntPair -> handler.createData()); } - public HashMap getChunkData(IChunkMetaDataHandler chunkMetaDataHandler){ + public HashMap getChunkData(IChunkMetaDataHandler chunkMetaDataHandler) { return dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()); } - public ChunkHashMap getChunkData(IChunkMetaDataHandler chunkMetaDataHandler, int world){ + public ChunkHashMap getChunkData(IChunkMetaDataHandler chunkMetaDataHandler, int world) { return dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()).get(world); } - public static final class ChunkHashMap implements Map{ - private final HashMap storage; - private final HashMap storageMeta=new HashMap<>(1024); - private final HashSet dirtyBoys=new HashSet<>(1024); - private final ArrayList> workLoad=new ArrayList<>(); + public static final class ChunkHashMap implements Map { + private final HashMap storage; + private final HashMap storageMeta = new HashMap<>(1024); + private final HashSet dirtyBoys = new HashSet<>(1024); + private final ArrayList> workLoad = new ArrayList<>(); private final String meta; private ChunkHashMap(IChunkMetaDataHandler meta, HashMap storage) { - this.storage =storage; - this.meta=meta.getTagName(); + this.storage = storage; + this.meta = meta.getTagName(); for (int i = 0; i < meta.pushPayloadSpreadPeriod(); i++) { workLoad.add(new ArrayList<>(128)); } } - public void markForTransmissionToClient(ChunkCoordIntPair chunk){ + public void markForTransmissionToClient(ChunkCoordIntPair chunk) { dirtyBoys.add(chunk); } @@ -275,11 +288,11 @@ public class ChunkDataHandler { @Override public NBTTagCompound remove(Object key) { - NBTTagCompound compound=storageMeta.remove(key); - if(compound!=null) { + NBTTagCompound compound = storageMeta.remove(key); + if (compound != null) { NBTChunk chunk = storage.get(key); chunk.data.removeTag(meta); - if(chunk.data.hasNoTags()){ + if (chunk.data.hasNoTags()) { storage.remove(key); } } @@ -288,16 +301,16 @@ public class ChunkDataHandler { @Override public NBTTagCompound put(ChunkCoordIntPair key, NBTTagCompound value) { - if(value==null){ + if (value == null) { return remove(key); } NBTChunk chunk = storage.get(key); - if(chunk==null){ - NBTTagCompound base=new NBTTagCompound(); - base.setTag(meta,value); - storage.put(key,new NBTChunk(base,false)); - }else { - chunk.data.setTag(meta,value); + if (chunk == null) { + NBTTagCompound base = new NBTTagCompound(); + base.setTag(meta, value); + storage.put(key, new NBTChunk(base, false)); + } else { + chunk.data.setTag(meta, value); } return storageMeta.put(key, value); } @@ -358,8 +371,8 @@ public class ChunkDataHandler { private boolean isLoaded; private NBTChunk(NBTTagCompound data, boolean isLoaded) { - if(data==null){ - data=new NBTTagCompound(); + if (data == null) { + data = new NBTTagCompound(); } this.data = data; this.isLoaded = isLoaded; diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataMessage.java b/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataMessage.java index 216c4057ef..1d1bc7a200 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataMessage.java +++ b/src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataMessage.java @@ -19,69 +19,66 @@ public class ChunkDataMessage implements IMessage { NBTTagCompound data; IChunkMetaDataHandler handler; - public ChunkDataMessage(){} + public ChunkDataMessage() {} @Override public void fromBytes(ByteBuf pBuffer) { NBTTagCompound tag = ByteBufUtils.readTag(pBuffer); worldId = tag.getInteger("wId"); - chunk=new ChunkCoordIntPair( - tag.getInteger("posx"), - tag.getInteger("posz")); - handler = TecTech.chunkDataHandler.getChunkMetaDataHandler( - tag.getString("handle")); - if(tag.hasKey("data")){ - data=tag.getCompoundTag("data"); + chunk = new ChunkCoordIntPair(tag.getInteger("posx"), tag.getInteger("posz")); + handler = TecTech.chunkDataHandler.getChunkMetaDataHandler(tag.getString("handle")); + if (tag.hasKey("data")) { + data = tag.getCompoundTag("data"); } } @Override public void toBytes(ByteBuf pBuffer) { NBTTagCompound tag = new NBTTagCompound(); - tag.setInteger("wId",worldId); - tag.setInteger("posx",chunk.chunkXPos); - tag.setInteger("posz",chunk.chunkZPos); - tag.setString("handle",handler.getTagName()); - if(data!=null){ - tag.setTag("data",data); + tag.setInteger("wId", worldId); + tag.setInteger("posx", chunk.chunkXPos); + tag.setInteger("posz", chunk.chunkZPos); + tag.setString("handle", handler.getTagName()); + if (data != null) { + tag.setTag("data", data); } ByteBufUtils.writeTag(pBuffer, tag); } public static class ChunkDataQuery extends ChunkDataMessage { - public ChunkDataQuery() { - } + public ChunkDataQuery() {} + public ChunkDataQuery(ChunkEvent.Load aEvent, IChunkMetaDataHandler handler) { - worldId=aEvent.world.provider.dimensionId; - chunk=aEvent.getChunk().getChunkCoordIntPair(); - this.handler=handler; + worldId = aEvent.world.provider.dimensionId; + chunk = aEvent.getChunk().getChunkCoordIntPair(); + this.handler = handler; } } public static class ChunkDataData extends ChunkDataMessage { - public ChunkDataData() { - } + public ChunkDataData() {} - public ChunkDataData(int worldId, ChunkCoordIntPair chunk, IChunkMetaDataHandler handler){ - this.worldId=worldId; - this.chunk=chunk; - this.handler=handler; - this.data=TecTech.chunkDataHandler.getChunkData(handler,worldId,chunk); + public ChunkDataData(int worldId, ChunkCoordIntPair chunk, IChunkMetaDataHandler handler) { + this.worldId = worldId; + this.chunk = chunk; + this.handler = handler; + this.data = TecTech.chunkDataHandler.getChunkData(handler, worldId, chunk); } - public ChunkDataData(ChunkDataQuery query){ - worldId=query.worldId; - chunk=query.chunk; - handler=query.handler; - data=TecTech.chunkDataHandler.getChunkData(handler,worldId,chunk); + public ChunkDataData(ChunkDataQuery query) { + worldId = query.worldId; + chunk = query.chunk; + handler = query.handler; + data = TecTech.chunkDataHandler.getChunkData(handler, worldId, chunk); } } public static class ClientHandler extends AbstractClientMessageHandler { @Override public IMessage handleClientMessage(EntityPlayer pPlayer, ChunkDataData pMessage, MessageContext pCtx) { - if(TT_Utility.checkChunkExist(pPlayer.worldObj,pMessage.chunk)){ - TecTech.chunkDataHandler.putChunkData(pMessage.handler, pMessage.worldId,pMessage.chunk, pMessage.data); + if (TT_Utility.checkChunkExist(pPlayer.worldObj, pMessage.chunk)) { + TecTech.chunkDataHandler.putChunkData( + pMessage.handler, pMessage.worldId, pMessage.chunk, pMessage.data); } return null; } diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/IChunkMetaDataHandler.java b/src/main/java/com/github/technus/tectech/mechanics/data/IChunkMetaDataHandler.java index 0be1fec517..00e87848b3 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/data/IChunkMetaDataHandler.java +++ b/src/main/java/com/github/technus/tectech/mechanics/data/IChunkMetaDataHandler.java @@ -3,33 +3,42 @@ package com.github.technus.tectech.mechanics.data; import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.ArrayList; +import java.util.HashMap; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; import net.minecraftforge.event.world.ChunkEvent; -import java.util.ArrayList; -import java.util.HashMap; - public interface IChunkMetaDataHandler { String getTagName(); + void mergeData(NBTTagCompound target, NBTTagCompound loadedData); + NBTTagCompound createData(); + @SideOnly(Side.CLIENT) - default void pullData(ChunkEvent.Load aEvent){} - default void pushData(World world, ChunkCoordIntPair chunk){} - default void pushPayload(World world, ArrayList chunk){ - chunk.forEach(chunkCoordIntPair -> pushData(world,chunkCoordIntPair)); + default void pullData(ChunkEvent.Load aEvent) {} + + default void pushData(World world, ChunkCoordIntPair chunk) {} + + default void pushPayload(World world, ArrayList chunk) { + chunk.forEach(chunkCoordIntPair -> pushData(world, chunkCoordIntPair)); } - default int pushPayloadSpreadPeriod(){ - return 20;//must be a constant! + + default int pushPayloadSpreadPeriod() { + return 20; // must be a constant! } + @SideOnly(Side.CLIENT) - default void tickRender(HashMap data, TickEvent.RenderTickEvent event){} + default void tickRender(HashMap data, TickEvent.RenderTickEvent event) {} + @SideOnly(Side.CLIENT) - default void tickClient(HashMap data, TickEvent.ClientTickEvent event){} - default void tickServer(HashMap data, TickEvent.ServerTickEvent event){} - default void tickWorld(HashMap data, TickEvent.WorldTickEvent event){} - default void tickPlayer(HashMap data, TickEvent.PlayerTickEvent event){} -} + default void tickClient(HashMap data, TickEvent.ClientTickEvent event) {} + + default void tickServer(HashMap data, TickEvent.ServerTickEvent event) {} + default void tickWorld(HashMap data, TickEvent.WorldTickEvent event) {} + + default void tickPlayer(HashMap data, TickEvent.PlayerTickEvent event) {} +} diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/PlayerDataMessage.java b/src/main/java/com/github/technus/tectech/mechanics/data/PlayerDataMessage.java index 58abc2fa20..f6a36f2f01 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/data/PlayerDataMessage.java +++ b/src/main/java/com/github/technus/tectech/mechanics/data/PlayerDataMessage.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.mechanics.data; +import static java.nio.charset.Charset.forName; + import com.github.technus.tectech.TecTech; import cpw.mods.fml.common.network.ByteBufUtils; import cpw.mods.fml.common.network.simpleimpl.IMessage; @@ -7,71 +9,66 @@ import cpw.mods.fml.common.network.simpleimpl.MessageContext; import eu.usrv.yamcore.network.client.AbstractClientMessageHandler; import eu.usrv.yamcore.network.server.AbstractServerMessageHandler; import io.netty.buffer.ByteBuf; +import java.util.UUID; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; -import java.util.UUID; - -import static java.nio.charset.Charset.forName; - public class PlayerDataMessage implements IMessage { NBTTagCompound data; - UUID uuid1,uuid2; + UUID uuid1, uuid2; - public PlayerDataMessage(){} + public PlayerDataMessage() {} @Override public void fromBytes(ByteBuf pBuffer) { NBTTagCompound tag = ByteBufUtils.readTag(pBuffer); - uuid1=UUID.fromString(tag.getString("id1")); - uuid2=UUID.fromString(tag.getString("id2")); - if(tag.hasKey("data")){ - data=tag.getCompoundTag("data"); + uuid1 = UUID.fromString(tag.getString("id1")); + uuid2 = UUID.fromString(tag.getString("id2")); + if (tag.hasKey("data")) { + data = tag.getCompoundTag("data"); } } @Override public void toBytes(ByteBuf pBuffer) { NBTTagCompound tag = new NBTTagCompound(); - tag.setString("id1",uuid1.toString()); - tag.setString("id2",uuid2.toString()); - if(data!=null){ - tag.setTag("data",data); + tag.setString("id1", uuid1.toString()); + tag.setString("id2", uuid2.toString()); + if (data != null) { + tag.setTag("data", data); } ByteBufUtils.writeTag(pBuffer, tag); } public static class PlayerDataQuery extends PlayerDataMessage { - public PlayerDataQuery() { - } + public PlayerDataQuery() {} public PlayerDataQuery(EntityPlayer player) { - uuid1=player.getUniqueID(); - uuid2=UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))); + uuid1 = player.getUniqueID(); + uuid2 = UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))); } } public static class PlayerDataData extends PlayerDataMessage { - public PlayerDataData() { - } + public PlayerDataData() {} - public PlayerDataData(EntityPlayer player){ - uuid1=player.getUniqueID(); - uuid2=UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))); - data=TecTech.playerPersistence.getDataOrSetToNewTag(player); + public PlayerDataData(EntityPlayer player) { + uuid1 = player.getUniqueID(); + uuid2 = UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))); + data = TecTech.playerPersistence.getDataOrSetToNewTag(player); } - public PlayerDataData(PlayerDataQuery query){ - uuid1=query.uuid1; - uuid2=query.uuid2; - data= TecTech.playerPersistence.getDataOrSetToNewTag(uuid1,uuid2); + public PlayerDataData(PlayerDataQuery query) { + uuid1 = query.uuid1; + uuid2 = query.uuid2; + data = TecTech.playerPersistence.getDataOrSetToNewTag(uuid1, uuid2); } } public static class ClientHandler extends AbstractClientMessageHandler { @Override public IMessage handleClientMessage(EntityPlayer pPlayer, PlayerDataData pMessage, MessageContext pCtx) { - TecTech.playerPersistence.putDataOrSetToNewTag(pMessage.uuid1,pMessage.uuid2,pMessage.data); + TecTech.playerPersistence.putDataOrSetToNewTag(pMessage.uuid1, pMessage.uuid2, pMessage.data); return null; } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/PlayerPersistence.java b/src/main/java/com/github/technus/tectech/mechanics/data/PlayerPersistence.java index b31b1a6b76..1c220c0bc7 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/data/PlayerPersistence.java +++ b/src/main/java/com/github/technus/tectech/mechanics/data/PlayerPersistence.java @@ -1,72 +1,78 @@ package com.github.technus.tectech.mechanics.data; +import static java.nio.charset.Charset.forName; + import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.util.TT_Utility; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.PlayerEvent; +import java.util.HashMap; +import java.util.UUID; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.server.MinecraftServer; import net.minecraft.world.WorldServer; -import java.util.HashMap; -import java.util.UUID; - -import static java.nio.charset.Charset.forName; - public class PlayerPersistence { - private final HashMap map=new HashMap<>(); + private final HashMap map = new HashMap<>(); private final String extension; public PlayerPersistence(String extension) { this.extension = extension; } - public NBTTagCompound getDataOrSetToNewTag(UUID uuid1, UUID uuid2){ - NBTTagCompound tag=map.get(uuid1); - if(tag!=null){ + public NBTTagCompound getDataOrSetToNewTag(UUID uuid1, UUID uuid2) { + NBTTagCompound tag = map.get(uuid1); + if (tag != null) { return tag; } - tag=map.get(uuid2); - if(tag!=null){ + tag = map.get(uuid2); + if (tag != null) { return tag; } - tag= TT_Utility.getPlayerData(uuid1,uuid2,extension); - if(tag==null){ - tag=new NBTTagCompound(); + tag = TT_Utility.getPlayerData(uuid1, uuid2, extension); + if (tag == null) { + tag = new NBTTagCompound(); } - map.put(uuid1,tag); - map.put(uuid2,tag); + map.put(uuid1, tag); + map.put(uuid2, tag); return tag; } - public NBTTagCompound getDataOrSetToNewTag(EntityPlayer player){ - return getDataOrSetToNewTag(player.getUniqueID(),UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8")))); + public NBTTagCompound getDataOrSetToNewTag(EntityPlayer player) { + return getDataOrSetToNewTag( + player.getUniqueID(), + UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8")))); } - public void putDataOrSetToNewTag(UUID uuid1, UUID uuid2, NBTTagCompound tagCompound){ - if(tagCompound==null){ - tagCompound=new NBTTagCompound(); + public void putDataOrSetToNewTag(UUID uuid1, UUID uuid2, NBTTagCompound tagCompound) { + if (tagCompound == null) { + tagCompound = new NBTTagCompound(); } - map.put(uuid1,tagCompound); - map.put(uuid2,tagCompound); + map.put(uuid1, tagCompound); + map.put(uuid2, tagCompound); } - public void putDataOrSetToNewTag(EntityPlayer player, NBTTagCompound tagCompound){ - putDataOrSetToNewTag(player.getUniqueID(),UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))),tagCompound); + public void putDataOrSetToNewTag(EntityPlayer player, NBTTagCompound tagCompound) { + putDataOrSetToNewTag( + player.getUniqueID(), + UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))), + tagCompound); } - public void saveData(EntityPlayer player){ - TT_Utility.savePlayerFile(player,extension,getDataOrSetToNewTag(player)); + public void saveData(EntityPlayer player) { + TT_Utility.savePlayerFile(player, extension, getDataOrSetToNewTag(player)); } @SubscribeEvent - public void onLogin(PlayerEvent.PlayerLoggedInEvent event){ - if(!event.player.worldObj.isRemote){ + public void onLogin(PlayerEvent.PlayerLoggedInEvent event) { + if (!event.player.worldObj.isRemote) { for (WorldServer worldServer : MinecraftServer.getServer().worldServers) { for (Object playerEntity : worldServer.playerEntities) { - NetworkDispatcher.INSTANCE.sendTo(new PlayerDataMessage.PlayerDataData((EntityPlayer) playerEntity),(EntityPlayerMP) event.player); + NetworkDispatcher.INSTANCE.sendTo( + new PlayerDataMessage.PlayerDataData((EntityPlayer) playerEntity), + (EntityPlayerMP) event.player); } } NetworkDispatcher.INSTANCE.sendToAll(new PlayerDataMessage.PlayerDataData(event.player)); diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/WorldData.java b/src/main/java/com/github/technus/tectech/mechanics/data/WorldData.java index 4f6f730c9b..fb9bf22472 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/data/WorldData.java +++ b/src/main/java/com/github/technus/tectech/mechanics/data/WorldData.java @@ -1,11 +1,10 @@ package com.github.technus.tectech.mechanics.data; +import java.util.Objects; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; -import java.util.Objects; - public final class WorldData { private final World world; private final Chunk chunk; @@ -14,13 +13,13 @@ public final class WorldData { public WorldData(World world, Chunk data) { this.world = world; this.chunk = data; - coordIntPair=data.getChunkCoordIntPair(); + coordIntPair = data.getChunkCoordIntPair(); } public WorldData(World world, ChunkCoordIntPair data) { this.world = world; this.coordIntPair = data; - chunk= world.getChunkFromChunkCoords(data.chunkXPos,data.chunkZPos); + chunk = world.getChunkFromChunkCoords(data.chunkXPos, data.chunkZPos); } public World getWorld() { @@ -40,9 +39,9 @@ public final class WorldData { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; WorldData worldData = (WorldData) o; - return world.provider.dimensionId==worldData.world.provider.dimensionId && - coordIntPair.chunkXPos==worldData.coordIntPair.chunkXPos && - coordIntPair.chunkZPos==worldData.coordIntPair.chunkXPos; + return world.provider.dimensionId == worldData.world.provider.dimensionId + && coordIntPair.chunkXPos == worldData.coordIntPair.chunkXPos + && coordIntPair.chunkZPos == worldData.coordIntPair.chunkXPos; } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/dataTransport/DataPacket.java b/src/main/java/com/github/technus/tectech/mechanics/dataTransport/DataPacket.java index f30105f1ee..e4936ec339 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/dataTransport/DataPacket.java +++ b/src/main/java/com/github/technus/tectech/mechanics/dataTransport/DataPacket.java @@ -1,40 +1,35 @@ package com.github.technus.tectech.mechanics.dataTransport; import com.gtnewhorizon.structurelib.util.Vec3Impl; -import net.minecraft.nbt.NBTTagCompound; - import java.util.Collections; import java.util.LinkedHashSet; import java.util.Set; +import net.minecraft.nbt.NBTTagCompound; /** * Created by Tec on 05.04.2017. */ -public abstract class DataPacket{ +public abstract class DataPacket { private static final byte MAX_HISTORY = 64; private Set trace = new LinkedHashSet<>(); protected T content; - protected DataPacket(T content){ - this.content=content; + protected DataPacket(T content) { + this.content = content; } protected DataPacket(NBTTagCompound nbt) { content = contentFromNBT(nbt.getCompoundTag("qContent")); for (int i = 0; i < nbt.getByte("qHistory"); i++) { - trace.add(new Vec3Impl( - nbt.getInteger("qX" + i), - nbt.getInteger("qY" + i), - nbt.getInteger("qZ" + i) - )); + trace.add(new Vec3Impl(nbt.getInteger("qX" + i), nbt.getInteger("qY" + i), nbt.getInteger("qZ" + i))); } } public final NBTTagCompound toNbt() { NBTTagCompound nbt = new NBTTagCompound(); - NBTTagCompound contentTag=contentToNBT(); - if(contentTag!=null) { + NBTTagCompound contentTag = contentToNBT(); + if (contentTag != null) { nbt.setTag("qContent", contentTag); } nbt.setByte("qHistory", (byte) trace.size()); @@ -65,21 +60,21 @@ public abstract class DataPacket{ public abstract boolean extraCheck(); protected final DataPacket unifyTrace(Vec3Impl... positions) { - Collections.addAll(trace,positions); + Collections.addAll(trace, positions); return (check() && extraCheck()) ? this : null; } protected final DataPacket unifyTrace(DataPacket p) { - if(p==null) return this; + if (p == null) return this; trace.addAll(p.trace); return (check() && extraCheck()) ? this : null; } protected final DataPacket unifyWith(DataPacket p) { - if(p==null) return this; + if (p == null) return this; trace.addAll(p.trace); - if(check() && extraCheck()){ - content=unifyContentWith(p.content); + if (check() && extraCheck()) { + content = unifyContentWith(p.content); return this; } return null; @@ -92,15 +87,15 @@ public abstract class DataPacket{ return getContent(); } - public T getContent(){ + public T getContent() { return content; } - public String getContentString(){ + public String getContentString() { return content.toString(); } - public final int getTraceSize(){ + public final int getTraceSize() { return trace.size(); } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/dataTransport/InventoryDataPacket.java b/src/main/java/com/github/technus/tectech/mechanics/dataTransport/InventoryDataPacket.java index 4eb5356ae7..af238edfe3 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/dataTransport/InventoryDataPacket.java +++ b/src/main/java/com/github/technus/tectech/mechanics/dataTransport/InventoryDataPacket.java @@ -1,44 +1,43 @@ package com.github.technus.tectech.mechanics.dataTransport; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; import java.util.ArrayList; - -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; public class InventoryDataPacket extends DataPacket { - public InventoryDataPacket(ItemStack[] content){ + public InventoryDataPacket(ItemStack[] content) { super(content); } - public InventoryDataPacket(NBTTagCompound compound){ + public InventoryDataPacket(NBTTagCompound compound) { super(compound); } @Override protected ItemStack[] contentFromNBT(NBTTagCompound nbt) { - int count=nbt.getInteger("count"); - if(count>0){ - ArrayList stacks=new ArrayList<>(); - for(int i=0;i 0) { + ArrayList stacks = new ArrayList<>(); + for (int i = 0; i < count; i++) { + ItemStack stack = ItemStack.loadItemStackFromNBT(nbt.getCompoundTag(Integer.toString(i))); + if (stack != null) { stacks.add(stack); } } - return stacks.size()>0?stacks.toArray(nullItem):null; + return stacks.size() > 0 ? stacks.toArray(nullItem) : null; } return null; } @Override protected NBTTagCompound contentToNBT() { - NBTTagCompound compound=new NBTTagCompound(); - if(content!=null && content.length>0){ - compound.setInteger("count",content.length); - for(int i=0;i 0) { + compound.setInteger("count", content.length); + for (int i = 0; i < content.length; i++) { + compound.setTag(Integer.toString(i), content[i].writeToNBT(new NBTTagCompound())); } } return compound; @@ -56,6 +55,6 @@ public class InventoryDataPacket extends DataPacket { @Override public String getContentString() { - return "Stack Count: "+(content==null?0:content.length); + return "Stack Count: " + (content == null ? 0 : content.length); } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/dataTransport/QuantumDataPacket.java b/src/main/java/com/github/technus/tectech/mechanics/dataTransport/QuantumDataPacket.java index 0fddb53fe9..92a933d278 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/dataTransport/QuantumDataPacket.java +++ b/src/main/java/com/github/technus/tectech/mechanics/dataTransport/QuantumDataPacket.java @@ -4,11 +4,11 @@ import com.gtnewhorizon.structurelib.util.Vec3Impl; import net.minecraft.nbt.NBTTagCompound; public class QuantumDataPacket extends DataPacket { - public QuantumDataPacket(Long content){ + public QuantumDataPacket(Long content) { super(content); } - public QuantumDataPacket(NBTTagCompound compound){ + public QuantumDataPacket(NBTTagCompound compound) { super(compound); } @@ -19,8 +19,8 @@ public class QuantumDataPacket extends DataPacket { @Override protected NBTTagCompound contentToNBT() { - NBTTagCompound compound=new NBTTagCompound(); - compound.setLong("computation",content); + NBTTagCompound compound = new NBTTagCompound(); + compound.setLong("computation", content); return compound; } @@ -31,7 +31,7 @@ public class QuantumDataPacket extends DataPacket { @Override protected Long unifyContentWith(Long content) { - return this.content+content; + return this.content + content; } public QuantumDataPacket unifyTraceWith(Vec3Impl... positions) { diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMGive.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMGive.java index eed30a7974..0826a5d253 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMGive.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMGive.java @@ -9,16 +9,15 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstance import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; import com.github.technus.tectech.thing.item.DebugElementalInstanceContainer_EM; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.util.ChatComponentText; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - /** * Created by danie_000 on 30.12.2017. */ @@ -37,16 +36,19 @@ public class EMGive implements ICommand { if (args.length < 3) { sender.addChatMessage(new ChatComponentText(getCommandUsage(sender))); } else { - TecTech.LOGGER.info("Spawninig EM for " + ((EntityPlayerMP) sender).getDisplayName() + " - " + Arrays.toString(args)); + TecTech.LOGGER.info("Spawninig EM for " + ((EntityPlayerMP) sender).getDisplayName() + " - " + + Arrays.toString(args)); - ArrayList list = new ArrayList<>(Arrays.asList(args)); - String energy = list.remove(0); + ArrayList list = new ArrayList<>(Arrays.asList(args)); + String energy = list.remove(0); EMDefinitionStack def = getDefinitionStack(TecTech.definitionsRegistry, list); if (def != null) { EMInstanceStack instanceStack = new EMInstanceStack(def, 1, 0, Long.parseLong(energy)); - sender.addChatMessage(new ChatComponentText(instanceStack.getDefinition().getSymbol() + " - " + instanceStack.getDefinition().getLocalizedName())); + sender.addChatMessage( + new ChatComponentText(instanceStack.getDefinition().getSymbol() + " - " + + instanceStack.getDefinition().getLocalizedName())); EMInstanceStackMap instanceMap = new EMInstanceStackMap(instanceStack); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMList.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMList.java index 0f71a24d82..22dd9b7dcb 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMList.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/commands/EMList.java @@ -3,21 +3,20 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.commands; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; import com.github.technus.tectech.util.TT_Utility; -import net.minecraft.command.ICommand; -import net.minecraft.command.ICommandSender; -import net.minecraft.util.ChatComponentText; - import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; +import net.minecraft.command.ICommand; +import net.minecraft.command.ICommandSender; +import net.minecraft.util.ChatComponentText; /** * Created by danie_000 on 30.12.2017. */ public class EMList implements ICommand { - ArrayList aliases=new ArrayList<>(); + ArrayList aliases = new ArrayList<>(); - public EMList(){ + public EMList() { aliases.add("em_list"); aliases.add("list_em"); } @@ -25,32 +24,40 @@ public class EMList implements ICommand { @Override public void processCommand(ICommandSender sender, String[] args) { if (!sender.getEntityWorld().isRemote) { - if(args.length == 0) { + if (args.length == 0) { listClasses(sender); - }else { + } else { String concated = TT_Utility.getConcated(args, " "); - listDefinitions(sender,concated, concated.replaceAll(" ","_"),concated.replaceAll("_"," ")); + listDefinitions(sender, concated, concated.replaceAll(" ", "_"), concated.replaceAll("_", " ")); } } } - private void listDefinitions(ICommandSender sender,String raw, String unlocalized,String localized) { + private void listDefinitions(ICommandSender sender, String raw, String unlocalized, String localized) { sender.addChatMessage(new ChatComponentText(" Available Direct: tag - name symbol")); for (EMType directType : TecTech.definitionsRegistry.getDirectTypes().values()) { - if ("*".equals(raw) || localized.equalsIgnoreCase(directType.getLocalizedName()) || unlocalized.equalsIgnoreCase(directType.getUnlocalizedName())) { - directType.getDefinitions().forEach((bind, definition) -> - sender.addChatMessage(new ChatComponentText(bind + " - " + definition.getLocalizedName() + " " + definition.getSymbol()))); + if ("*".equals(raw) + || localized.equalsIgnoreCase(directType.getLocalizedName()) + || unlocalized.equalsIgnoreCase(directType.getUnlocalizedName())) { + directType + .getDefinitions() + .forEach((bind, definition) -> sender.addChatMessage(new ChatComponentText( + bind + " - " + definition.getLocalizedName() + " " + definition.getSymbol()))); } } } private void listClasses(ICommandSender sender) { sender.addChatMessage(new ChatComponentText(" Available Direct: name (use as parameter to learn more")); - TecTech.definitionsRegistry.getDirectTypes().forEach((aClass, emDirectType) -> - sender.addChatMessage(new ChatComponentText(emDirectType.getLocalizedName()))); + TecTech.definitionsRegistry + .getDirectTypes() + .forEach((aClass, emDirectType) -> + sender.addChatMessage(new ChatComponentText(emDirectType.getLocalizedName()))); sender.addChatMessage(new ChatComponentText(" Available Indirect: tag - name")); - TecTech.definitionsRegistry.getIndirectBinds().forEach((bind, emIndirectType) -> - sender.addChatMessage(new ChatComponentText(bind+" - "+emIndirectType.getLocalizedName()))); + TecTech.definitionsRegistry + .getIndirectBinds() + .forEach((bind, emIndirectType) -> + sender.addChatMessage(new ChatComponentText(bind + " - " + emIndirectType.getLocalizedName()))); } @Override @@ -70,8 +77,11 @@ public class EMList implements ICommand { @Override public List addTabCompletionOptions(ICommandSender sender, String[] args) { - if(args.length==1){ - return TecTech.definitionsRegistry.getDirectTypes().values().stream().map(EMType::getLocalizedName).map(s->s.replaceAll(" ","_")).collect(Collectors.toList()); + if (args.length == 1) { + return TecTech.definitionsRegistry.getDirectTypes().values().stream() + .map(EMType::getLocalizedName) + .map(s -> s.replaceAll(" ", "_")) + .collect(Collectors.toList()); } return null; } @@ -83,7 +93,7 @@ public class EMList implements ICommand { @Override public int compareTo(Object o) { - if(o instanceof ICommand){ + if (o instanceof ICommand) { return getCommandName().compareTo(((ICommand) o).getCommandName()); } return 0; diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecay.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecay.java index dfd1551c49..3efbe615eb 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecay.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecay.java @@ -1,25 +1,25 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.decay; +import static com.github.technus.tectech.util.DoubleCount.mul; + import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMConstantStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; -import static com.github.technus.tectech.util.DoubleCount.mul; - /** * Created by danie_000 on 22.10.2016. */ public final class EMDecay { - public static final EMDecay[] NO_DECAY = null; - //DECAY IMPOSSIBLE!!! - //Do not use regular NULL java will not make it work with varargs!!! - //Or cast null into ARRAY type but this static is more convenient!!! - public static final EMDecay[] NO_PRODUCT = new EMDecay[0]; - //this in turn can be used to tell that the thing should just vanish + public static final EMDecay[] NO_DECAY = null; + // DECAY IMPOSSIBLE!!! + // Do not use regular NULL java will not make it work with varargs!!! + // Or cast null into ARRAY type but this static is more convenient!!! + public static final EMDecay[] NO_PRODUCT = new EMDecay[0]; + // this in turn can be used to tell that the thing should just vanish private final EMConstantStackMap outputStacks; - private final double probability; + private final double probability; public EMDecay(IEMDefinition... outSafe) { this(1D, outSafe); @@ -55,27 +55,28 @@ public final class EMDecay { public EMInstanceStackMap getResults(double lifeMult, double age, long newEnergyLevel, double amountDecaying) { EMInstanceStackMap decayResult = new EMInstanceStackMap(); if (getOutputStacks() == null) { - return decayResult;//This is to prevent null pointer exceptions. + return decayResult; // This is to prevent null pointer exceptions. } - //Deny decay code is in instance! - boolean empty=true; + // Deny decay code is in instance! + boolean empty = true; for (EMDefinitionStack stack : getOutputStacks().valuesToArray()) { - if(stack.getAmount() >0){ - empty=false; + if (stack.getAmount() > 0) { + empty = false; break; } } if (empty) { return decayResult; } - //newEnergyLevel /= qtty; - //lifeMult /= (float) qtty; + // newEnergyLevel /= qtty; + // lifeMult /= (float) qtty; for (EMDefinitionStack stack : getOutputStacks().valuesToArray()) { - decayResult.putUnify(new EMInstanceStack(stack.getDefinition(), + decayResult.putUnify(new EMInstanceStack( + stack.getDefinition(), mul(amountDecaying, stack.getAmount()), lifeMult, - age/*new products*/, - (long)(newEnergyLevel / Math.max(1D, Math.abs(stack.getAmount())))));//get instances from stack + age /*new products*/, + (long) (newEnergyLevel / Math.max(1D, Math.abs(stack.getAmount()))))); // get instances from stack } return decayResult; } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecayResult.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecayResult.java index 0a00a519f9..dd37b2faaf 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecayResult.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/decay/EMDecayResult.java @@ -4,8 +4,8 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstance public class EMDecayResult { private final EMInstanceStackMap output; - private double massAffected; - private double massDiff; + private double massAffected; + private double massDiff; public EMDecayResult(EMInstanceStackMap output, double massAffected, double massDiff) { this.output = output; diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMComplexTemplate.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMComplexTemplate.java index be22092163..fbb72734f3 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMComplexTemplate.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMComplexTemplate.java @@ -16,7 +16,7 @@ public abstract class EMComplexTemplate implements IEMDefinition { @Override public final EMComplexTemplate clone() { - return this;//IMMUTABLE + return this; // IMMUTABLE } @Override @@ -25,14 +25,14 @@ public abstract class EMComplexTemplate implements IEMDefinition { if (classCompare != 0) { return classCompare; } - //that allows neat check if the same thing and - //top hierarchy amount can be used to store amount info + // that allows neat check if the same thing and + // top hierarchy amount can be used to store amount info return getSubParticles().compareWithAmountsInternal(o.getSubParticles()); } @Override public final boolean equals(Object obj) { - if(this==obj) { + if (this == obj) { return true; } if (obj instanceof IEMDefinition) { @@ -45,22 +45,23 @@ public abstract class EMComplexTemplate implements IEMDefinition { } @Override - public int hashCode() {//Internal amounts should be also hashed + public int hashCode() { // Internal amounts should be also hashed int hash = -(getSubParticles().size() << 16); for (EMDefinitionStack stack : getSubParticles().valuesToArray()) { - int amount=(int) stack.getAmount(); - hash += ((amount & 0x1) == 0 ? -amount : amount) * (stack.getDefinition().hashCode()<<4); + int amount = (int) stack.getAmount(); + hash += ((amount & 0x1) == 0 ? -amount : amount) + * (stack.getDefinition().hashCode() << 4); } return hash; } @Override public String toString() { - return getLocalizedName()+ " " + getSymbol(); + return getLocalizedName() + " " + getSymbol(); } public NBTTagCompound toNBT(EMDefinitionsRegistry registry) { - return registry.indirectToNBT(getTagValue(),getSubParticles()); + return registry.indirectToNBT(getTagValue(), getSubParticles()); } protected abstract String getTagValue(); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMPrimitiveTemplate.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMPrimitiveTemplate.java index 272e7cffc0..7886580a0c 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMPrimitiveTemplate.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/EMPrimitiveTemplate.java @@ -1,12 +1,12 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.definitions; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMConstantStackMap; import net.minecraft.nbt.NBTTagCompound; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 22.10.2016. * EXTEND THIS TO ADD NEW PRIMITIVES, WATCH OUT FOR ID'S!!! @@ -14,29 +14,30 @@ import static net.minecraft.util.StatCollector.translateToLocal; public abstract class EMPrimitiveTemplate extends EMComplexTemplate { private final String name; private final String symbol; - //float-mass in eV/c^2 + // float-mass in eV/c^2 private final double mass; - //int -electric charge in 1/3rds of electron charge for optimization - private final int charge; - //byte color; 0=Red 1=Green 2=Blue 0=Cyan 1=Magenta 2=Yellow, else ignored (-1 - uncolorable) + // int -electric charge in 1/3rds of electron charge for optimization + private final int charge; + // byte color; 0=Red 1=Green 2=Blue 0=Cyan 1=Magenta 2=Yellow, else ignored (-1 - uncolorable) private final int color; - //-1/-2/-3 anti matter generations, +1/+2/+3 matter generations, 0 self anti + // -1/-2/-3 anti matter generations, +1/+2/+3 matter generations, 0 self anti private final int generation; - private IEMDefinition anti;//IMMUTABLE - private EMDecay[] elementalDecays; - private byte naturalDecayInstant; + private IEMDefinition anti; // IMMUTABLE + private EMDecay[] elementalDecays; + private byte naturalDecayInstant; private byte energeticDecayInstant; private double rawLifeTime; private final int ID; private final String bind; - //no _ at end - normal particle + // no _ at end - normal particle // _ at end - anti particle // __ at end - self is antiparticle - protected EMPrimitiveTemplate(String name, String symbol, int generation, double mass, int charge, int color, int ID, String bind) { + protected EMPrimitiveTemplate( + String name, String symbol, int generation, double mass, int charge, int color, int ID, String bind) { this.name = name; this.symbol = symbol; this.generation = generation; @@ -44,18 +45,24 @@ public abstract class EMPrimitiveTemplate extends EMComplexTemplate { this.charge = charge; this.color = color; this.ID = ID; - this.bind=bind; + this.bind = bind; } // - protected void init(EMDefinitionsRegistry registry,IEMDefinition antiParticle, double rawLifeTime, int naturalInstant, int energeticInstant, EMDecay... elementalDecaysArray) { + protected void init( + EMDefinitionsRegistry registry, + IEMDefinition antiParticle, + double rawLifeTime, + int naturalInstant, + int energeticInstant, + EMDecay... elementalDecaysArray) { anti = antiParticle; this.rawLifeTime = rawLifeTime; naturalDecayInstant = (byte) naturalInstant; energeticDecayInstant = (byte) energeticInstant; - elementalDecays =elementalDecaysArray; + elementalDecays = elementalDecaysArray; registry.registerForDisplay(this); - registry.registerDirectDefinition(bind,this); + registry.registerDirectDefinition(bind, this); } @Override @@ -75,7 +82,7 @@ public abstract class EMPrimitiveTemplate extends EMComplexTemplate { @Override public IEMDefinition getAnti() { - return anti;//no need for copy + return anti; // no need for copy } @Override @@ -97,25 +104,25 @@ public abstract class EMPrimitiveTemplate extends EMComplexTemplate { public EMDecay[] getNaturalDecayInstant() { if (naturalDecayInstant < 0) { return elementalDecays; - }else if (naturalDecayInstant>=elementalDecays.length){ + } else if (naturalDecayInstant >= elementalDecays.length) { return EMDecay.NO_PRODUCT; } - return new EMDecay[]{elementalDecays[naturalDecayInstant]}; + return new EMDecay[] {elementalDecays[naturalDecayInstant]}; } @Override public EMDecay[] getEnergyInducedDecay(long energyLevel) { if (energeticDecayInstant < 0) { return elementalDecays; - }else if (energeticDecayInstant>=elementalDecays.length){ + } else if (energeticDecayInstant >= elementalDecays.length) { return EMDecay.NO_PRODUCT; } - return new EMDecay[]{elementalDecays[energeticDecayInstant]}; + return new EMDecay[] {elementalDecays[energeticDecayInstant]}; } @Override public double getEnergyDiffBetweenStates(long currentEnergyLevel, long newEnergyLevel) { - return IEMDefinition.DEFAULT_ENERGY_REQUIREMENT *(newEnergyLevel-currentEnergyLevel); + return IEMDefinition.DEFAULT_ENERGY_REQUIREMENT * (newEnergyLevel - currentEnergyLevel); } @Override @@ -173,7 +180,7 @@ public abstract class EMPrimitiveTemplate extends EMComplexTemplate { return getClassTypeStatic(); } - public static int getClassTypeStatic(){ + public static int getClassTypeStatic() { return Short.MIN_VALUE; } @@ -194,4 +201,4 @@ public abstract class EMPrimitiveTemplate extends EMComplexTemplate { public String getUnlocalizedName() { return name; } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/IEMDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/IEMDefinition.java index ee123735f8..4d076712b4 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/IEMDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/IEMDefinition.java @@ -1,29 +1,29 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.definitions; +import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_scanner.*; +import static com.github.technus.tectech.util.TT_Utility.areBitsSet; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMConstantStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; import com.github.technus.tectech.util.TT_Utility; -import net.minecraft.nbt.NBTTagCompound; - import java.util.ArrayList; - -import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_scanner.*; -import static com.github.technus.tectech.util.TT_Utility.areBitsSet; -import static net.minecraft.util.StatCollector.translateToLocal; +import net.minecraft.nbt.NBTTagCompound; /** * Created by danie_000 on 11.11.2016. */ -public interface IEMDefinition extends Comparable, Cloneable {//IMMUTABLE - double STABLE_RAW_LIFE_TIME = 1.5e36D; - double NO_DECAY_RAW_LIFE_TIME = -1D; - long DEFAULT_ENERGY_LEVEL = 0; - double DEFAULT_ENERGY_REQUIREMENT = 25000D;//legit cuz normal atoms should only emit a gamma if they don't have defined energy levels - //add text based creators for recipe formula input? - - //Nomenclature +public interface IEMDefinition extends Comparable, Cloneable { // IMMUTABLE + double STABLE_RAW_LIFE_TIME = 1.5e36D; + double NO_DECAY_RAW_LIFE_TIME = -1D; + long DEFAULT_ENERGY_LEVEL = 0; + double DEFAULT_ENERGY_REQUIREMENT = + 25000D; // legit cuz normal atoms should only emit a gamma if they don't have defined energy levels + // add text based creators for recipe formula input? + + // Nomenclature String getLocalizedTypeName(); String getShortLocalizedName(); @@ -36,57 +36,63 @@ public interface IEMDefinition extends Comparable, Cloneable {//I String getSymbol(); - default void addScanShortSymbols(ArrayList lines, int capabilities, long energyLevel, EMDefinitionsRegistry registry) { - if (areBitsSet(SCAN_GET_NOMENCLATURE | SCAN_GET_CLASS_TYPE | SCAN_GET_CHARGE | SCAN_GET_MASS | SCAN_GET_TIMESPAN_INFO, capabilities)) { + default void addScanShortSymbols( + ArrayList lines, int capabilities, long energyLevel, EMDefinitionsRegistry registry) { + if (areBitsSet( + SCAN_GET_NOMENCLATURE | SCAN_GET_CLASS_TYPE | SCAN_GET_CHARGE | SCAN_GET_MASS | SCAN_GET_TIMESPAN_INFO, + capabilities)) { lines.add(getShortSymbol()); } } - default void addScanResults(ArrayList lines, int capabilities, long energyLevel, EMDefinitionsRegistry registry) { - if (TT_Utility.areBitsSet(SCAN_GET_CLASS_TYPE | SCAN_GET_CHARGE | SCAN_GET_MASS | SCAN_GET_TIMESPAN_INFO, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.class") + - " = " + registry.getTypes().get(getClass()).getLocalizedName()); + default void addScanResults( + ArrayList lines, int capabilities, long energyLevel, EMDefinitionsRegistry registry) { + if (TT_Utility.areBitsSet( + SCAN_GET_CLASS_TYPE | SCAN_GET_CHARGE | SCAN_GET_MASS | SCAN_GET_TIMESPAN_INFO, capabilities)) { + lines.add(translateToLocal("tt.keyword.scan.class") + " = " + + registry.getTypes().get(getClass()).getLocalizedName()); if (areBitsSet(SCAN_GET_NOMENCLATURE, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.name") + - " = " + getLocalizedName()); - lines.add(translateToLocal("tt.keyword.scan.symbol") + - " = " + getSymbol()); + lines.add(translateToLocal("tt.keyword.scan.name") + " = " + getLocalizedName()); + lines.add(translateToLocal("tt.keyword.scan.symbol") + " = " + getSymbol()); } } if (areBitsSet(SCAN_GET_CHARGE, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.charge") + - " = " + getCharge() / 3D + " " + translateToLocal("tt.keyword.unit.charge")); + lines.add(translateToLocal("tt.keyword.scan.charge") + " = " + getCharge() / 3D + " " + + translateToLocal("tt.keyword.unit.charge")); } if (areBitsSet(SCAN_GET_COLORABLE, capabilities)) { - lines.add(hasColor() ? - translateToLocal("tt.keyword.scan.colored") : - translateToLocal("tt.keyword.scan.colorless")); + lines.add( + hasColor() + ? translateToLocal("tt.keyword.scan.colored") + : translateToLocal("tt.keyword.scan.colorless")); } if (areBitsSet(SCAN_GET_MASS, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.mass") + - " = " + getMass() + " " + translateToLocal("tt.keyword.unit.mass")); + lines.add(translateToLocal("tt.keyword.scan.mass") + " = " + getMass() + " " + + translateToLocal("tt.keyword.unit.mass")); } if (areBitsSet(SCAN_GET_TIMESPAN_INFO, capabilities)) { - lines.add((isTimeSpanHalfLife() ? - translateToLocal("tt.keyword.scan.half_life") : - translateToLocal("tt.keyword.scan.life_time")) + - " = " + getRawTimeSpan(energyLevel) + " " + translateToLocal("tt.keyword.unit.time")); + lines.add((isTimeSpanHalfLife() + ? translateToLocal("tt.keyword.scan.half_life") + : translateToLocal("tt.keyword.scan.life_time")) + + " = " + + getRawTimeSpan(energyLevel) + " " + translateToLocal("tt.keyword.unit.time")); lines.add(" " + translateToLocal("tt.keyphrase.scan.at_current_energy_level")); } } - int getMatterMassType();//bigger number means bigger things usually, but it is just used to differentiate between classes of iED + int getMatterMassType(); // bigger number means bigger things usually, but it is just used to differentiate + // between classes of iED int getGeneration(); - //Not dynamically changing stuff - IEMDefinition getAnti();//gives new anti particle def + // Not dynamically changing stuff + IEMDefinition getAnti(); // gives new anti particle def - EMDecay[] getDecayArray();//possible decays + EMDecay[] getDecayArray(); // possible decays - EMDecay[] getNaturalDecayInstant();//natural decay if lifespan <1tick + EMDecay[] getNaturalDecayInstant(); // natural decay if lifespan <1tick - EMDecay[] getEnergyInducedDecay(long energyLevel);//energetic decay + EMDecay[] getEnergyInducedDecay(long energyLevel); // energetic decay boolean usesSpecialEnergeticDecayHandling(); @@ -96,24 +102,24 @@ public interface IEMDefinition extends Comparable, Cloneable {//I boolean fusionMakesEnergy(long energyLevel); - double getEnergyDiffBetweenStates(long currentEnergy, long newEnergyLevel);//positive or negative + double getEnergyDiffBetweenStates(long currentEnergy, long newEnergyLevel); // positive or negative - double getMass();//mass... MeV/c^2 + double getMass(); // mass... MeV/c^2 - int getCharge();//charge 1/3 electron charge + int getCharge(); // charge 1/3 electron charge - //dynamically changing stuff + // dynamically changing stuff int getMaxColors(); default boolean hasColor() { return getMaxColors() > 0; } - double getRawTimeSpan(long currentEnergy);//defined in static fields or generated + double getRawTimeSpan(long currentEnergy); // defined in static fields or generated boolean isTimeSpanHalfLife(); - EMConstantStackMap getSubParticles();//contents... null if none + EMConstantStackMap getSubParticles(); // contents... null if none NBTTagCompound toNBT(EMDefinitionsRegistry registry); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMDefinitionsRegistry.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMDefinitionsRegistry.java index 458965da66..8866403d04 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMDefinitionsRegistry.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMDefinitionsRegistry.java @@ -1,37 +1,37 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.nbtE__; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.null__; + import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.IEMMapRead; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; -import net.minecraft.nbt.NBTTagCompound; - import java.util.*; - -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.nbtE__; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.null__; +import net.minecraft.nbt.NBTTagCompound; public class EMDefinitionsRegistry { private static final String TAG_NAME = "EM"; private final NavigableSet stacksRegistered = new TreeSet<>(); - private final Map hashMap = new HashMap<>(); + private final Map hashMap = new HashMap<>(); private final Map hashMapR = Collections.unmodifiableMap(hashMap); - private final Map, EMType> types = new HashMap<>(); - private final Map, EMType> typesR = Collections.unmodifiableMap(types); - private final Map, EMType> directTypes = new HashMap<>(); - private final Map, EMType> directTypesR = Collections.unmodifiableMap(directTypes); - private final Map, EMIndirectType> indirectTypes = new HashMap<>(); - private final Map, EMIndirectType> indirectTypesR = Collections.unmodifiableMap(indirectTypes); - - private final Map binds = new HashMap<>(); - private final Map bindsR = Collections.unmodifiableMap(binds); - private final Map directBinds = new HashMap<>(); - private final Map directBindsR = Collections.unmodifiableMap(directBinds); - private final Map indirectBinds = new HashMap<>(); + private final Map, EMType> types = new HashMap<>(); + private final Map, EMType> typesR = Collections.unmodifiableMap(types); + private final Map, EMType> directTypes = new HashMap<>(); + private final Map, EMType> directTypesR = Collections.unmodifiableMap(directTypes); + private final Map, EMIndirectType> indirectTypes = new HashMap<>(); + private final Map, EMIndirectType> indirectTypesR = + Collections.unmodifiableMap(indirectTypes); + + private final Map binds = new HashMap<>(); + private final Map bindsR = Collections.unmodifiableMap(binds); + private final Map directBinds = new HashMap<>(); + private final Map directBindsR = Collections.unmodifiableMap(directBinds); + private final Map indirectBinds = new HashMap<>(); private final Map indirectBindsR = Collections.unmodifiableMap(indirectBinds); public NBTTagCompound directToNBT(String bind) { @@ -84,7 +84,8 @@ public class EMDefinitionsRegistry { protected void addType(EMType emType) { if (types.put(emType.getClazz(), emType) != null) { - EMException e = new EMException("Class collision! " + emType.getClazz().getName()); + EMException e = + new EMException("Class collision! " + emType.getClazz().getName()); if (DEBUG_MODE) { e.printStackTrace(); } else { @@ -130,7 +131,8 @@ public class EMDefinitionsRegistry { if (emType != null) { directTypes.put(definition.getClass(), emType); } else { - EMException e = new EMException("Direct Type bind missing! " + definition.getClass().getName()); + EMException e = new EMException( + "Direct Type bind missing! " + definition.getClass().getName()); if (DEBUG_MODE) { e.printStackTrace(); } else { diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMIndirectType.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMIndirectType.java index 680dd029a4..f970bfbbaa 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMIndirectType.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMIndirectType.java @@ -1,30 +1,32 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.nbtE__; + import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; -import net.minecraft.nbt.NBTTagCompound; - import java.util.function.BiFunction; - -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.nbtE__; +import net.minecraft.nbt.NBTTagCompound; public class EMIndirectType extends EMType { private final BiFunction creator; - public EMIndirectType(BiFunction creator, Class clazz, String unlocalizedName) { + public EMIndirectType( + BiFunction creator, + Class clazz, + String unlocalizedName) { super(clazz, unlocalizedName); this.creator = creator; } - protected BiFunction getCreator() { + protected BiFunction getCreator() { return creator; } - public IEMDefinition create(EMDefinitionsRegistry registry,NBTTagCompound nbt){ + public IEMDefinition create(EMDefinitionsRegistry registry, NBTTagCompound nbt) { try { return creator.apply(registry, nbt); - }catch (Exception e){ + } catch (Exception e) { EMException emException = new EMException("Failed to create from: " + nbt.toString(), e); if (DEBUG_MODE) { emException.printStackTrace(); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMType.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMType.java index 73097db663..1af46f6ff0 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMType.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/definitions/registry/EMType.java @@ -1,20 +1,19 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; - import java.util.Collections; import java.util.HashMap; import java.util.Map; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static net.minecraft.util.StatCollector.translateToLocal; - public class EMType { - private final Map definitions = new HashMap<>(); + private final Map definitions = new HashMap<>(); private final Map definitionsR = Collections.unmodifiableMap(definitions); - private final Class clazz; - private final String unlocalizedName; + private final Class clazz; + private final String unlocalizedName; public EMType(Class clazz, String unlocalizedName) { this.clazz = clazz; @@ -38,7 +37,7 @@ public class EMType { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - return clazz==((EMType) o).clazz; + return clazz == ((EMType) o).clazz; } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMConstantStackMap.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMConstantStackMap.java index ed2ebbab57..d830005760 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMConstantStackMap.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMConstantStackMap.java @@ -1,22 +1,22 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.maps; +import static com.github.technus.tectech.util.TT_Utility.unpackNBT; + import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; -import net.minecraft.nbt.NBTTagCompound; - import java.util.Collections; import java.util.NavigableMap; import java.util.TreeMap; - -import static com.github.technus.tectech.util.TT_Utility.unpackNBT; +import net.minecraft.nbt.NBTTagCompound; /** * Created by Tec on 12.05.2017. */ -public final class EMConstantStackMap/*IMMUTABLE*/ extends EMStackMap {//Target class for construction of definitions/recipes - //Constructors + Clone, all make a whole new OBJ. +public final class EMConstantStackMap /*IMMUTABLE*/ + extends EMStackMap { // Target class for construction of definitions/recipes + // Constructors + Clone, all make a whole new OBJ. public static final EMConstantStackMap EMPTY = new EMConstantStackMap(); private EMConstantStackMap() { @@ -36,7 +36,7 @@ public final class EMConstantStackMap/*IMMUTABLE*/ extends EMStackMap EMDefinitionStack.fromNBT(registry, inner),nbt)); + return new EMConstantStackMap( + unpackNBT(EMDefinitionStack.class, inner -> EMDefinitionStack.fromNBT(registry, inner), nbt)); } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMDefinitionStackMap.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMDefinitionStackMap.java index 6892e2cd59..2fe0f1ff95 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMDefinitionStackMap.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMDefinitionStackMap.java @@ -1,21 +1,21 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.maps; +import static com.github.technus.tectech.util.TT_Utility.unpackNBT; + import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; -import net.minecraft.nbt.NBTTagCompound; - import java.util.NavigableMap; import java.util.TreeMap; - -import static com.github.technus.tectech.util.TT_Utility.unpackNBT; +import net.minecraft.nbt.NBTTagCompound; /** * Created by danie_000 on 22.01.2017. */ -public final class EMDefinitionStackMap extends EMStackMap implements IEMMapWriteExact {//Transient class for construction of definitions/recipes - //Constructors + Clone, all make a whole new OBJ. +public final class EMDefinitionStackMap extends EMStackMap + implements IEMMapWriteExact { // Transient class for construction of definitions/recipes + // Constructors + Clone, all make a whole new OBJ. public EMDefinitionStackMap() {} public EMDefinitionStackMap(EMDefinitionStack... in) { @@ -45,6 +45,7 @@ public final class EMDefinitionStackMap extends EMStackMap im } public static EMDefinitionStackMap fromNBT(EMDefinitionsRegistry registry, NBTTagCompound nbt) throws EMException { - return new EMDefinitionStackMap(unpackNBT(EMDefinitionStack.class,inner -> EMDefinitionStack.fromNBT(registry, inner),nbt)); + return new EMDefinitionStackMap( + unpackNBT(EMDefinitionStack.class, inner -> EMDefinitionStack.fromNBT(registry, inner), nbt)); } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMInstanceStackMap.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMInstanceStackMap.java index 8a92c819df..8b3ffcd454 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMInstanceStackMap.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMInstanceStackMap.java @@ -1,5 +1,10 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.maps; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.AVOGADRO_CONSTANT; +import static com.github.technus.tectech.util.DoubleCount.add; +import static com.github.technus.tectech.util.TT_Utility.unpackNBT; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecayResult; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; @@ -9,26 +14,19 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstan import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.util.GT_Utility; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; - import java.util.ArrayList; import java.util.Map; import java.util.NavigableMap; import java.util.TreeMap; - -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.AVOGADRO_CONSTANT; -import static com.github.technus.tectech.util.DoubleCount.add; -import static com.github.technus.tectech.util.TT_Utility.unpackNBT; -import static net.minecraft.util.StatCollector.translateToLocal; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; /** * Created by danie_000 on 22.01.2017. */ public final class EMInstanceStackMap extends EMStackMap implements IEMMapWrite { - //Constructors - public EMInstanceStackMap() { - } + // Constructors + public EMInstanceStackMap() {} public EMInstanceStackMap(EMInstanceStack... inSafe) { this(true, inSafe); @@ -69,7 +67,7 @@ public final class EMInstanceStackMap extends EMStackMap implem return new EMInstanceStackMap(getBackingMap()); } - //Remove overflow + // Remove overflow public double removeOverflow(int stacksCount, double stackCapacity) { double massRemoved = 0; @@ -90,18 +88,30 @@ public final class EMInstanceStackMap extends EMStackMap implem return massRemoved; } - //Getters + // Getters public String[] getElementalInfo() { String[] info = new String[size()]; - int i = 0; + int i = 0; for (Map.Entry entry : entrySet()) { EMInstanceStack instance = entry.getValue(); - info[i++] = EnumChatFormatting.BLUE + instance.getDefinition().getLocalizedName() + " " + EnumChatFormatting.AQUA + instance.getDefinition().getSymbol() + EnumChatFormatting.RESET + - " " + translateToLocal("tt.keyword.short.amount") + ": " + EnumChatFormatting.GREEN + TT_Utility.formatNumberExp(instance.getAmount() / AVOGADRO_CONSTANT) + " " + translateToLocal("tt.keyword.unit.mol") + EnumChatFormatting.RESET + - " " + translateToLocal("tt.keyword.short.energy") + ": " + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(instance.getDefinition().getEnergyDiffBetweenStates(0, instance.getEnergy())) + " " + translateToLocal("tt.keyword.unit.energy") + EnumChatFormatting.RESET + - " " + translateToLocal("tt.keyword.short.charge") + ": " + EnumChatFormatting.GREEN + TT_Utility.formatNumberExp(instance.getCharge()) + " " + translateToLocal("tt.keyword.unit.charge") + EnumChatFormatting.RESET + - " " + translateToLocal("tt.keyword.short.time") + ": " + EnumChatFormatting.GREEN + (instance.getLifeTime() < 0 ? - translateToLocal("tt.keyword.stable") : TT_Utility.formatNumberShortExp(instance.getLifeTime()) + " " + translateToLocal("tt.keyword.unit.time")) + EnumChatFormatting.RESET; + info[i++] = EnumChatFormatting.BLUE + instance.getDefinition().getLocalizedName() + " " + + EnumChatFormatting.AQUA + instance.getDefinition().getSymbol() + EnumChatFormatting.RESET + " " + + translateToLocal("tt.keyword.short.amount") + ": " + EnumChatFormatting.GREEN + + TT_Utility.formatNumberExp(instance.getAmount() / AVOGADRO_CONSTANT) + " " + + translateToLocal("tt.keyword.unit.mol") + EnumChatFormatting.RESET + " " + + translateToLocal("tt.keyword.short.energy") + ": " + EnumChatFormatting.GREEN + + GT_Utility.formatNumbers( + instance.getDefinition().getEnergyDiffBetweenStates(0, instance.getEnergy())) + + " " + translateToLocal("tt.keyword.unit.energy") + EnumChatFormatting.RESET + " " + + translateToLocal("tt.keyword.short.charge") + ": " + EnumChatFormatting.GREEN + + TT_Utility.formatNumberExp(instance.getCharge()) + " " + + translateToLocal("tt.keyword.unit.charge") + EnumChatFormatting.RESET + " " + + translateToLocal("tt.keyword.short.time") + ": " + EnumChatFormatting.GREEN + + (instance.getLifeTime() < 0 + ? translateToLocal("tt.keyword.stable") + : TT_Utility.formatNumberShortExp(instance.getLifeTime()) + " " + + translateToLocal("tt.keyword.unit.time")) + + EnumChatFormatting.RESET; } return info; } @@ -115,7 +125,7 @@ public final class EMInstanceStackMap extends EMStackMap implem } public double tickContent(double lifeTimeMult, int postEnergize, double seconds) { - //cleanUp(); + // cleanUp(); double diff = 0; for (EMInstanceStack instance : takeAllToArray()) { instance.setAge(instance.getAge() + seconds); @@ -130,9 +140,10 @@ public final class EMInstanceStackMap extends EMStackMap implem return diff; } - //NBT + // NBT public static EMInstanceStackMap fromNBT(EMDefinitionsRegistry registry, NBTTagCompound nbt) throws EMException { - return new EMInstanceStackMap(false, unpackNBT(EMInstanceStack.class, inner -> EMInstanceStack.fromNBT(registry, inner), nbt)); + return new EMInstanceStackMap( + false, unpackNBT(EMInstanceStack.class, inner -> EMInstanceStack.fromNBT(registry, inner), nbt)); } @Override @@ -145,13 +156,14 @@ public final class EMInstanceStackMap extends EMStackMap implem } public EMInstanceStack[] takeAllToArray() { - EMInstanceStack[] newStack = valuesToArray();//just in case to uncouple The map + EMInstanceStack[] newStack = valuesToArray(); // just in case to uncouple The map clear(); return newStack; } public EMInstanceStackMap takeAll() { - EMInstanceStackMap newStack = new EMInstanceStackMap(false, new TreeMap<>(getBackingMap()));//just in case to uncouple The map + EMInstanceStackMap newStack = + new EMInstanceStackMap(false, new TreeMap<>(getBackingMap())); // just in case to uncouple The map clear(); return newStack; } @@ -159,7 +171,7 @@ public final class EMInstanceStackMap extends EMStackMap implem @Deprecated public EMDefinitionStackMap toDefinitionMapForComparison() { EMDefinitionStack[] list = new EMDefinitionStack[size()]; - int i = 0; + int i = 0; for (Map.Entry entry : entrySet()) { EMInstanceStack value = entry.getValue(); list[i++] = new EMDefinitionStack(value.getDefinition(), value.getAmount()); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMStackMap.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMStackMap.java index 84b4123f32..f9f4b946b9 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMStackMap.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/EMStackMap.java @@ -2,7 +2,6 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.maps; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; - import java.util.Map; import java.util.NavigableMap; import java.util.TreeMap; @@ -18,7 +17,7 @@ abstract class EMStackMap implements IEMMapRead { } protected EMStackMap(NavigableMap map) { - this.backingMap =map; + this.backingMap = map; } @Override @@ -31,7 +30,7 @@ abstract class EMStackMap implements IEMMapRead { @Override public boolean equals(Object obj) { - if(this == obj){ + if (this == obj) { return true; } if (obj instanceof IEMMapRead) { @@ -41,7 +40,7 @@ abstract class EMStackMap implements IEMMapRead { } @Override - public int hashCode() {//Hash only definitions to compare contents not amounts or data + public int hashCode() { // Hash only definitions to compare contents not amounts or data int hash = -(size() << 4); for (Map.Entry entry : entrySet()) { hash += entry.getValue().getDefinition().hashCode(); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapRead.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapRead.java index 6bd12a849b..47af5e716e 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapRead.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapRead.java @@ -1,32 +1,31 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.maps; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.AVOGADRO_CONSTANT; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_EPSILON; +import static com.github.technus.tectech.util.DoubleCount.ulpSigned; +import static com.github.technus.tectech.util.TT_Utility.packNBT; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; import com.github.technus.tectech.util.TT_Utility; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; - import java.lang.reflect.Array; import java.util.*; - -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.AVOGADRO_CONSTANT; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_EPSILON; -import static com.github.technus.tectech.util.DoubleCount.ulpSigned; -import static com.github.technus.tectech.util.TT_Utility.packNBT; -import static net.minecraft.util.StatCollector.translateToLocal; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; public interface IEMMapRead extends Comparable>, Cloneable { - NavigableMap getBackingMap(); + NavigableMap getBackingMap(); IEMMapRead clone(); - default Set> entrySet(){ + default Set> entrySet() { return getBackingMap().entrySet(); } - default Set keySet(){ + default Set keySet() { return getBackingMap().keySet(); } @@ -38,27 +37,27 @@ public interface IEMMapRead extends Comparable values(){ + default Collection values() { return getBackingMap().values(); } @SuppressWarnings("unchecked") - default T[] valuesToArray(){ - return valuesToArray((T[]) Array.newInstance(getType(),size())); + default T[] valuesToArray() { + return valuesToArray((T[]) Array.newInstance(getType(), size())); } - default T[] valuesToArray(T[] array){ + default T[] valuesToArray(T[] array) { return values().toArray(array); } Class getType(); - //Getters - default T getFirst(){ + // Getters + default T getFirst() { return getBackingMap().firstEntry().getValue(); } - default T getLast(){ + default T getLast() { return getBackingMap().lastEntry().getValue(); } @@ -71,11 +70,11 @@ public interface IEMMapRead extends Comparable=size()){ - throw new IndexOutOfBoundsException("Index was: "+pos+" size was: "+size()); + if (pos < 0 || pos >= size()) { + throw new IndexOutOfBoundsException("Index was: " + pos + " size was: " + size()); } for (Map.Entry entry : entrySet()) { - if(pos==0){ + if (pos == 0) { return entry.getValue(); } pos--; @@ -98,30 +97,36 @@ public interface IEMMapRead extends Comparable entry : entrySet()) { T instance = entry.getValue(); - info[i++] = EnumChatFormatting.BLUE + instance.getDefinition().getLocalizedName() + " " + EnumChatFormatting.AQUA + instance.getDefinition().getSymbol() + EnumChatFormatting.RESET + - " " + translateToLocal("tt.keyword.short.amount") + ": " + EnumChatFormatting.GREEN + TT_Utility.formatNumberExp(instance.getAmount() / AVOGADRO_CONSTANT) + " " + translateToLocal("tt.keyword.unit.mol") + EnumChatFormatting.RESET + - " " + translateToLocal("tt.keyword.short.charge") + ": " + EnumChatFormatting.GREEN + TT_Utility.formatNumberExp(instance.getCharge()) + " " + translateToLocal("tt.keyword.unit.charge") + EnumChatFormatting.RESET; + info[i++] = EnumChatFormatting.BLUE + instance.getDefinition().getLocalizedName() + " " + + EnumChatFormatting.AQUA + instance.getDefinition().getSymbol() + EnumChatFormatting.RESET + " " + + translateToLocal("tt.keyword.short.amount") + ": " + EnumChatFormatting.GREEN + + TT_Utility.formatNumberExp(instance.getAmount() / AVOGADRO_CONSTANT) + " " + + translateToLocal("tt.keyword.unit.mol") + EnumChatFormatting.RESET + " " + + translateToLocal("tt.keyword.short.charge") + ": " + EnumChatFormatting.GREEN + + TT_Utility.formatNumberExp(instance.getCharge()) + " " + + translateToLocal("tt.keyword.unit.charge") + EnumChatFormatting.RESET; } return info; } - //NBT + // NBT default NBTTagCompound toNBT(EMDefinitionsRegistry registry) { - return packNBT(t -> t.toNBT(registry),valuesToArray()); + return packNBT(t -> t.toNBT(registry), valuesToArray()); } @Override - default int compareTo(IEMMapRead o) {//this actually compares rest + default int compareTo(IEMMapRead o) { // this actually compares rest int sizeDiff = size() - o.size(); if (sizeDiff != 0) { return sizeDiff; } - Iterator> iterator = entrySet().iterator(); - Iterator> iteratorO = o.entrySet().iterator(); + Iterator> iterator = entrySet().iterator(); + Iterator> iteratorO = + o.entrySet().iterator(); while (iterator.hasNext()) { int result = iterator.next().getValue().compareTo(iteratorO.next().getValue()); @@ -147,17 +152,18 @@ public interface IEMMapRead extends Comparable> iterator = entrySet().iterator(); - Iterator> iteratorO = o.entrySet().iterator(); + Iterator> iterator = entrySet().iterator(); + Iterator> iteratorO = + o.entrySet().iterator(); while (iterator.hasNext()) { - T first = iterator.next().getValue(); + T first = iterator.next().getValue(); IEMStack second = iteratorO.next().getValue(); - int result = first.compareTo(second); + int result = first.compareTo(second); if (result != 0) { return result; } - result=Double.compare(first.getAmount(),second.getAmount()); + result = Double.compare(first.getAmount(), second.getAmount()); if (result != 0) { return result; } @@ -165,23 +171,23 @@ public interface IEMMapRead extends Comparable entry : entrySet()) { - mass+=entry.getValue().getMass(); + mass += entry.getValue().getMass(); } return mass; } - default long getCharge(){ - long charge=0; + default long getCharge() { + long charge = 0; for (Map.Entry entry : entrySet()) { - charge+=entry.getValue().getCharge(); + charge += entry.getValue().getCharge(); } return charge; } - //Tests + // Tests default boolean containsKey(IEMDefinition def) { return getBackingMap().containsKey(def); } @@ -214,12 +220,12 @@ public interface IEMMapRead extends Comparable extends Comparable container) { for (Map.Entry entry : container.entrySet()) { - if(!containsAmountExact(entry.getValue())){ + if (!containsAmountExact(entry.getValue())) { return false; } } @@ -236,20 +242,20 @@ public interface IEMMapRead extends Comparable extends Comparable container) { for (Map.Entry entry : container.entrySet()) { - if(!containsAmount(entry.getValue())){ + if (!containsAmount(entry.getValue())) { return false; } } @@ -273,7 +279,7 @@ public interface IEMMapRead extends Comparable extends IEMMapWriteExact { IEMMapWrite clone(); @@ -18,23 +17,23 @@ public interface IEMMapWrite extends IEMMapWriteExact { * @param amountToConsume should be comparable to {@link EMTransformationRegistry#EM_COUNT_PER_MATERIAL_AMOUNT} * @return consumed successfully */ - default boolean removeAmount(IEMDefinition def, double amountToConsume){ - double amountRequired=amountToConsume- EM_COUNT_EPSILON; - if(amountRequired==amountToConsume){ - amountRequired-=ulpSigned(amountRequired); + default boolean removeAmount(IEMDefinition def, double amountToConsume) { + double amountRequired = amountToConsume - EM_COUNT_EPSILON; + if (amountRequired == amountToConsume) { + amountRequired -= ulpSigned(amountRequired); } - return removeAmount(def,amountToConsume,amountRequired); + return removeAmount(def, amountToConsume, amountRequired); } - default boolean removeAmount(IEMDefinition def, double amountToConsume, double amountRequired){ - T current=get(def); - if(current!=null){ - if(current.getAmount()>=amountRequired){ - double newAmount=sub(current.getAmount(),amountToConsume); - if(IEMStack.isValidAmount(newAmount)){ - current=(T)current.mutateAmount(newAmount); + default boolean removeAmount(IEMDefinition def, double amountToConsume, double amountRequired) { + T current = get(def); + if (current != null) { + if (current.getAmount() >= amountRequired) { + double newAmount = sub(current.getAmount(), amountToConsume); + if (IEMStack.isValidAmount(newAmount)) { + current = (T) current.mutateAmount(newAmount); putReplace(current); - }else { + } else { removeKey(current.getDefinition()); } return true; @@ -44,7 +43,7 @@ public interface IEMMapWrite extends IEMMapWriteExact { } default boolean removeAmount(IEMStack stack) { - return removeAmount(stack.getDefinition(),stack.getAmount()); + return removeAmount(stack.getDefinition(), stack.getAmount()); } default boolean removeAllAmounts(IEMStack... stacks) { @@ -62,7 +61,7 @@ public interface IEMMapWrite extends IEMMapWriteExact { } default boolean removeAllAmounts(IEMMapRead map) { - boolean test=true; + boolean test = true; for (Map.Entry entry : map.entrySet()) { test &= containsAmount(entry.getValue()); } @@ -75,24 +74,24 @@ public interface IEMMapWrite extends IEMMapWriteExact { return true; } - //Put unify + // Put unify /** * * @param stack thing to put * @return new mapping or null if merging actually removed stuff */ default T putUnify(T stack) { - T target=get(stack.getDefinition()); - if(target==null) { + T target = get(stack.getDefinition()); + if (target == null) { putReplace(stack); return stack; } double newAmount = add(target.getAmount(), stack.getAmount()); if (IEMStack.isValidAmount(newAmount)) { - stack=(T) target.mutateAmount(newAmount); + stack = (T) target.mutateAmount(newAmount); putReplace(stack); return stack; - }else { + } else { removeKey(stack.getDefinition()); return null; } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapWriteExact.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapWriteExact.java index ef1bc5a4f6..2e12df401f 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapWriteExact.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/maps/IEMMapWriteExact.java @@ -2,11 +2,10 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.maps; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; - import java.util.Map; public interface IEMMapWriteExact extends IEMMapRead { - default void cleanUp(){ + default void cleanUp() { entrySet().removeIf(entry -> entry.getValue().isInvalidAmount()); } @@ -16,30 +15,30 @@ public interface IEMMapWriteExact extends IEMMapRead { IEMMapWriteExact clone(); - //Remove + // Remove default T removeKey(IEMDefinition def) { return getBackingMap().remove(def); } default boolean removeKeys(IEMDefinition... definitions) { - boolean hadAll=true; + boolean hadAll = true; for (IEMDefinition def : definitions) { - hadAll&=removeKey(def)!=null; + hadAll &= removeKey(def) != null; } return hadAll; } default boolean removeKeys(IEMStack... hasElementalDefinition) { - boolean hadAll=true; + boolean hadAll = true; for (IEMStack has : hasElementalDefinition) { - hadAll&=removeKey(has.getDefinition())!=null; + hadAll &= removeKey(has.getDefinition()) != null; } return hadAll; } default boolean removeAllKeys(IEMDefinition... definitions) { - boolean hadAll=containsAllKeys(definitions); - if(hadAll){ + boolean hadAll = containsAllKeys(definitions); + if (hadAll) { for (IEMDefinition def : definitions) { removeKey(def); } @@ -48,8 +47,8 @@ public interface IEMMapWriteExact extends IEMMapRead { } default boolean removeAllKeys(IEMStack... hasElementalDefinition) { - boolean hadAll=containsAllKeys(hasElementalDefinition); - if(hadAll){ + boolean hadAll = containsAllKeys(hasElementalDefinition); + if (hadAll) { for (IEMStack stack : hasElementalDefinition) { removeKey(stack.getDefinition()); } @@ -76,8 +75,8 @@ public interface IEMMapWriteExact extends IEMMapRead { * @param def * @return */ - default boolean removeAmountExact(IEMStack def){ - return removeAmountExact(def.getDefinition(),def.getAmount()); + default boolean removeAmountExact(IEMStack def) { + return removeAmountExact(def.getDefinition(), def.getAmount()); } /** @@ -86,13 +85,13 @@ public interface IEMMapWriteExact extends IEMMapRead { * @param amountToConsume * @return */ - default boolean removeAmountExact(IEMDefinition def, double amountToConsume){ - T current=get(def); - if(current!=null){ - double newAmount=current.getAmount()-amountToConsume; - if(newAmount>=0){ - if(current.isValidAmount()){ - current=(T)current.mutateAmount(newAmount); + default boolean removeAmountExact(IEMDefinition def, double amountToConsume) { + T current = get(def); + if (current != null) { + double newAmount = current.getAmount() - amountToConsume; + if (newAmount >= 0) { + if (current.isValidAmount()) { + current = (T) current.mutateAmount(newAmount); putReplace(current); } else { removeKey(current.getDefinition()); @@ -118,7 +117,7 @@ public interface IEMMapWriteExact extends IEMMapRead { } default boolean removeAllAmountsExact(IEMMapRead map) { - boolean test=true; + boolean test = true; for (Map.Entry entry : map.entrySet()) { test &= containsAmountExact(entry.getValue()); } @@ -132,17 +131,17 @@ public interface IEMMapWriteExact extends IEMMapRead { } default T putUnifyExact(T stack) { - T target=get(stack.getDefinition()); - if(target==null) { + T target = get(stack.getDefinition()); + if (target == null) { putReplace(stack); return stack; } - double newAmount = target.getAmount()+stack.getAmount(); + double newAmount = target.getAmount() + stack.getAmount(); if (IEMStack.isValidAmount(newAmount)) { - stack=(T) target.mutateAmount(newAmount); + stack = (T) target.mutateAmount(newAmount); putReplace(stack); return stack; - }else { + } else { removeKey(stack.getDefinition()); return null; } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipe.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipe.java index 4b0792eac9..d756c3f72f 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipe.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipe.java @@ -10,15 +10,15 @@ import net.minecraftforge.fluids.FluidStack; * Created by Tec on 02.03.2017. */ public class EMRecipe implements Comparable> { - private final int ID; - private final EMConstantStackMap inEM; + private final int ID; + private final EMConstantStackMap inEM; private final IEMMapRead outEM; - private final ItemStack[] outItems; + private final ItemStack[] outItems; private final FluidStack[] outFluids; - private T extension; + private T extension; public EMRecipe( - EMConstantStackMap inEM,//not null plz + EMConstantStackMap inEM, // not null plz int id, IEMMapRead outEM, ItemStack[] outItems, @@ -27,7 +27,7 @@ public class EMRecipe implements Comparable> { this.outEM = outEM; this.outItems = outItems; this.outFluids = outFluids; - ID = id;//allows multiple recipes with the same input EM,so u can actually extend... + ID = id; // allows multiple recipes with the same input EM,so u can actually extend... } public EMRecipe extend(T data) { @@ -38,7 +38,7 @@ public class EMRecipe implements Comparable> { @Override public int compareTo(EMRecipe o) { int compare = getInEM().compareTo(o.getInEM()); - if(compare!=0) { + if (compare != 0) { return compare; } return Integer.compare(getID(), o.getID()); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipeMap.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipeMap.java index 95a4aaf595..c3a4b298ff 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipeMap.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/recipes/EMRecipeMap.java @@ -4,15 +4,14 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMConstant import com.github.technus.tectech.mechanics.elementalMatter.core.maps.IEMMapRead; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; - import java.util.HashMap; import java.util.Map; /** * Created by Tec on 02.03.2017. */ -public class EMRecipeMap {//TODO FIX - //Multimap for multiple recipes from the same thing - you know parameters might differ the output +public class EMRecipeMap { // TODO FIX + // Multimap for multiple recipes from the same thing - you know parameters might differ the output private final Map>> recipes; public EMRecipeMap() { @@ -21,8 +20,11 @@ public class EMRecipeMap {//TODO FIX public EMRecipe put(EMRecipe in) { Map> r = getRecipes().computeIfAbsent(in.getInEM(), k -> new HashMap<>()); - return r.put(in.getID(), in);//IF THIS RETURN SHIT, it means that inputs are using the exact same types of matter as input - (non amount wise collision) - //It is either bad, or unimportant if you use different id's + return r.put( + in.getID(), + in); // IF THIS RETURN SHIT, it means that inputs are using the exact same types of matter as input - + // (non amount wise collision) + // It is either bad, or unimportant if you use different id's } public void putAll(EMRecipe... contents) { @@ -33,24 +35,29 @@ public class EMRecipeMap {//TODO FIX public EMRecipe remove(IEMMapRead map, int id) { Map> recipesMap = getRecipes().get(map); - return recipesMap != null ? recipesMap.remove(id) : null;//todo check, suspicious but ok, equals and hashcode methods are adjusted for that + return recipesMap != null + ? recipesMap.remove(id) + : null; // todo check, suspicious but ok, equals and hashcode methods are adjusted for that } public Map> remove(IEMMapRead map) { - return getRecipes().remove(map);//todo check, suspicious but ok, equals and hashcode methods are adjusted for that + return getRecipes() + .remove(map); // todo check, suspicious but ok, equals and hashcode methods are adjusted for that } - //Recipe founding should not check amounts - this checks if the types of matter in map are equal to any recipe! - //Return a recipeShortMap when the content of input is equal (ignoring amounts and instance data) + // Recipe founding should not check amounts - this checks if the types of matter in map are equal to any recipe! + // Return a recipeShortMap when the content of input is equal (ignoring amounts and instance data) @Deprecated public Map> findExact(IEMMapRead in) { - return getRecipes().get(in);//suspicious but ok, equals and hashcode methods are adjusted for that + return getRecipes().get(in); // suspicious but ok, equals and hashcode methods are adjusted for that } - //this does check if the map contains all the requirements for any recipe, and the required amounts - //Return a recipeShortMap when the content of input matches the recipe input - does not ignore amounts but ignores instance data! + // this does check if the map contains all the requirements for any recipe, and the required amounts + // Return a recipeShortMap when the content of input matches the recipe input - does not ignore amounts but ignores + // instance data! public Map> findMatch(IEMMapRead in) { - for (Map.Entry>> cElementalDefinitionStackMapHashMapEntry : getRecipes().entrySet()) { + for (Map.Entry>> cElementalDefinitionStackMapHashMapEntry : + getRecipes().entrySet()) { if (in.containsAllAmounts(cElementalDefinitionStackMapHashMapEntry.getKey())) { return cElementalDefinitionStackMapHashMapEntry.getValue(); } @@ -62,5 +69,5 @@ public class EMRecipeMap {//TODO FIX return recipes; } - //To check for instance data and other things use recipe extensions! + // To check for instance data and other things use recipe extensions! } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMDefinitionStack.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMDefinitionStack.java index 2abee4c36e..2757b6f23d 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMDefinitionStack.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMDefinitionStack.java @@ -1,17 +1,17 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.stacks; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.null__; + import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import net.minecraft.nbt.NBTTagCompound; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.null__; - /** * Created by danie_000 on 20.11.2016. */ public final class EMDefinitionStack implements IEMStack { private final IEMDefinition definition; - private final double amount; + private final double amount; public EMDefinitionStack(IEMDefinition def, double amount) { definition = def == null ? null__ : def; @@ -20,20 +20,20 @@ public final class EMDefinitionStack implements IEMStack { @Override public EMDefinitionStack clone() { - return this;//IMMUTABLE + return this; // IMMUTABLE } @Override public EMDefinitionStack mutateAmount(double newAmount) { - if(getAmount() == newAmount){ + if (getAmount() == newAmount) { return this; } - return new EMDefinitionStack(getDefinition(), newAmount);//IMMUTABLE + return new EMDefinitionStack(getDefinition(), newAmount); // IMMUTABLE } @Override public IEMDefinition getDefinition() { - return definition;//IMMUTABLE + return definition; // IMMUTABLE } @Override @@ -48,10 +48,8 @@ public final class EMDefinitionStack implements IEMStack { return nbt; } - public static EMDefinitionStack fromNBT(EMDefinitionsRegistry registry,NBTTagCompound nbt) { - return new EMDefinitionStack( - registry.fromNBT(nbt.getCompoundTag("d")), - nbt.getLong("q")+nbt.getDouble("Q")); + public static EMDefinitionStack fromNBT(EMDefinitionsRegistry registry, NBTTagCompound nbt) { + return new EMDefinitionStack(registry.fromNBT(nbt.getCompoundTag("d")), nbt.getLong("q") + nbt.getDouble("Q")); } @Override @@ -65,7 +63,7 @@ public final class EMDefinitionStack implements IEMStack { return false; } - //Amount shouldn't be hashed if this is just indicating amount and not structure + // Amount shouldn't be hashed if this is just indicating amount and not structure @Override public int hashCode() { return getDefinition().hashCode(); diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMInstanceStack.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMInstanceStack.java index 0dbd56609e..09cfd180fe 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMInstanceStack.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/EMInstanceStack.java @@ -1,5 +1,15 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.stacks; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.AVOGADRO_CONSTANT; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.null__; +import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_scanner.*; +import static com.github.technus.tectech.util.DoubleCount.*; +import static java.lang.Math.max; +import static java.lang.Math.min; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecayResult; @@ -8,37 +18,26 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.reg import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMConstantStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.util.TT_Utility; +import java.util.ArrayList; import net.minecraft.client.Minecraft; import net.minecraft.crash.CrashReport; import net.minecraft.nbt.NBTTagCompound; -import java.util.ArrayList; - -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.AVOGADRO_CONSTANT; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMPrimitiveDefinition.null__; -import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_scanner.*; -import static com.github.technus.tectech.util.DoubleCount.*; -import static java.lang.Math.max; -import static java.lang.Math.min; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 22.10.2016. */ public final class EMInstanceStack implements IEMStack { public static int MIN_MULTIPLE_DECAY_CALLS = 4, MAX_MULTIPLE_DECAY_CALLS = 16; - public static double DECAY_CALL_PER = EM_COUNT_PER_MATERIAL_AMOUNT;//todo + public static double DECAY_CALL_PER = EM_COUNT_PER_MATERIAL_AMOUNT; // todo private final IEMDefinition definition; - private double amount; + private double amount; private double age; - //energy - if positive then particle should try to decay - private long energy; - //byte color; 0=Red 1=Green 2=Blue 0=Cyan 1=Magenta 2=Yellow, else ignored (-1 - uncolorable) - private int color; + // energy - if positive then particle should try to decay + private long energy; + // byte color; 0=Red 1=Green 2=Blue 0=Cyan 1=Magenta 2=Yellow, else ignored (-1 - uncolorable) + private int color; private double lifeTime; private double lifeTimeMult; @@ -58,7 +57,7 @@ public final class EMInstanceStack implements IEMStack { definition = defSafe == null ? null__ : defSafe; if (getDefinition().hasColor()) { this.color = (byte) TecTech.RANDOM.nextInt(getDefinition().getMaxColors()); - } else {//transforms colorable??? into proper color + } else { // transforms colorable??? into proper color this.color = getDefinition().getMaxColors(); } this.lifeTimeMult = lifeTimeMult; @@ -68,7 +67,7 @@ public final class EMInstanceStack implements IEMStack { this.setAmount(amount); } - //Clone proxy + // Clone proxy private EMInstanceStack(EMInstanceStack stack) { definition = stack.getDefinition(); color = stack.color; @@ -125,14 +124,14 @@ public final class EMInstanceStack implements IEMStack { return color; } - public void setColor(int color) {//does not allow changing magic element + public void setColor(int color) { // does not allow changing magic element if (this.color < 0 || this.color > 2 || color < 0 || color >= 3) { return; } this.color = color; } - public void nextColor() {//does not allow changing magic element + public void nextColor() { // does not allow changing magic element if (definition.hasColor()) { color = (byte) TecTech.RANDOM.nextInt(definition.getMaxColors()); } @@ -143,7 +142,7 @@ public final class EMInstanceStack implements IEMStack { } public void setLifeTimeMultiplier(double mult) { - if (mult <= 0) //since infinity*0=nan + if (mult <= 0) // since infinity*0=nan { throw new IllegalArgumentException("multiplier must be >0"); } @@ -176,7 +175,7 @@ public final class EMInstanceStack implements IEMStack { } public EMDecayResult decay() { - return decay(1D, getAge(), 0);//try to decay without changes + return decay(1D, getAge(), 0); // try to decay without changes } public EMDecayResult decay(double apparentAge, long postEnergize) { @@ -193,7 +192,8 @@ public final class EMInstanceStack implements IEMStack { EMDecayResult output; if (getDefinition().usesMultipleDecayCalls(energy)) { double amountTemp = getAmount(); - int decayCnt = (int) min(MAX_MULTIPLE_DECAY_CALLS, max(getAmount() / DECAY_CALL_PER, MIN_MULTIPLE_DECAY_CALLS)); + int decayCnt = + (int) min(MAX_MULTIPLE_DECAY_CALLS, max(getAmount() / DECAY_CALL_PER, MIN_MULTIPLE_DECAY_CALLS)); setAmount(div(getAmount(), decayCnt)); decayCnt--; @@ -226,24 +226,43 @@ public final class EMInstanceStack implements IEMStack { setLifeTimeMultiplier(getLifeTimeMultiplier()); return decayCompute(getDefinition().getEnergyInducedDecay(energy), lifeTimeMult, -1D, newEnergyLevel); } else if (getDefinition().getRawTimeSpan(energy) < 0) { - return null;//return null, decay cannot be achieved + return null; // return null, decay cannot be achieved } else if (getDefinition().isTimeSpanHalfLife()) { - return exponentialDecayCompute(energy > 0 ? getDefinition().getEnergyInducedDecay(energy) : getDefinition().getDecayArray(), lifeTimeMult, -1D, newEnergyLevel); + return exponentialDecayCompute( + energy > 0 + ? getDefinition().getEnergyInducedDecay(energy) + : getDefinition().getDecayArray(), + lifeTimeMult, + -1D, + newEnergyLevel); } else { if (1 > lifeTime) { - return decayCompute(energy > 0 ? getDefinition().getEnergyInducedDecay(energy) : getDefinition().getNaturalDecayInstant(), lifeTimeMult, 0D, newEnergyLevel); + return decayCompute( + energy > 0 + ? getDefinition().getEnergyInducedDecay(energy) + : getDefinition().getNaturalDecayInstant(), + lifeTimeMult, + 0D, + newEnergyLevel); } else if (apparentAge > lifeTime) { - return decayCompute(energy > 0 ? getDefinition().getEnergyInducedDecay(energy) : getDefinition().getDecayArray(), lifeTimeMult, 0D, newEnergyLevel); + return decayCompute( + energy > 0 + ? getDefinition().getEnergyInducedDecay(energy) + : getDefinition().getDecayArray(), + lifeTimeMult, + 0D, + newEnergyLevel); } } - return null;//return null since decay cannot be achieved + return null; // return null since decay cannot be achieved } - //Use to get direct decay output providing correct decay array - private EMDecayResult exponentialDecayCompute(EMDecay[] decays, double lifeTimeMult, double newProductsAge, long newEnergyLevel) { - double newAmount = div(getAmount(), Math.pow(2D, 1D/* 1 second */ / lifeTime)); + // Use to get direct decay output providing correct decay array + private EMDecayResult exponentialDecayCompute( + EMDecay[] decays, double lifeTimeMult, double newProductsAge, long newEnergyLevel) { + double newAmount = div(getAmount(), Math.pow(2D, 1D /* 1 second */ / lifeTime)); - //if(definition.getSymbol().startsWith("U ")) { + // if(definition.getSymbol().startsWith("U ")) { // System.out.println("newAmount = " + newAmount); // System.out.println("amountRemaining = " + amountRemaining); // for(cElementalDecay decay:decays){ @@ -252,14 +271,14 @@ public final class EMInstanceStack implements IEMStack { // System.out.println("stack = " + stack.getDefinition().getSymbol() + " " + stack.amount); // } // } - //} + // } if (newAmount == getAmount()) { newAmount -= ulpSigned(newAmount); } else if (newAmount < 1) { return decayCompute(decays, lifeTimeMult, newProductsAge, newEnergyLevel); } - //split to non decaying and decaying part + // split to non decaying and decaying part double amount = this.getAmount(); this.setAmount(this.getAmount() - newAmount); EMDecayResult products = decayCompute(decays, lifeTimeMult, newProductsAge, newEnergyLevel); @@ -271,19 +290,25 @@ public final class EMInstanceStack implements IEMStack { return products; } - //Use to get direct decay output providing correct decay array - private EMDecayResult decayCompute(EMDecay[] decays, double lifeTimeMult, double newProductsAge, long newEnergyLevel) { + // Use to get direct decay output providing correct decay array + private EMDecayResult decayCompute( + EMDecay[] decays, double lifeTimeMult, double newProductsAge, long newEnergyLevel) { if (decays == null) { - return null;//Can not decay so it won't + return null; // Can not decay so it won't } boolean makesEnergy = getDefinition().decayMakesEnergy(energy); - double mass = getMass(); + double mass = getMass(); if (decays.length == 0) { return makesEnergy ? null : new EMDecayResult(new EMInstanceStackMap(), mass, 0); - //provide non null 0 length array for annihilation - } else if (decays.length == 1) {//only one type of decay :D, doesn't need dead end + // provide non null 0 length array for annihilation + } else if (decays.length == 1) { // only one type of decay :D, doesn't need dead end if (decays[0] == deadEnd) { - return makesEnergy ? null : new EMDecayResult(decays[0].getResults(lifeTimeMult, newProductsAge, newEnergyLevel, getAmount()), mass, 0); + return makesEnergy + ? null + : new EMDecayResult( + decays[0].getResults(lifeTimeMult, newProductsAge, newEnergyLevel, getAmount()), + mass, + 0); } EMInstanceStackMap output = decays[0].getResults(lifeTimeMult, newProductsAge, newEnergyLevel, getAmount()); if (newProductsAge < 0) { @@ -305,14 +330,14 @@ public final class EMInstanceStack implements IEMStack { } } if (energy <= 0 && output.getMass() > mass) { - return null;//no energy usage to decay + return null; // no energy usage to decay } return new EMDecayResult(new EMInstanceStackMap(), mass, makesEnergy ? output.getMass() - mass : 0); } else { - EMDecayResult totalOutput = new EMDecayResult(new EMInstanceStackMap(), getMass(), 0); - EMInstanceStackMap output = totalOutput.getOutput(), results; - int differentDecays = decays.length; - double[] probabilities = new double[differentDecays]; + EMDecayResult totalOutput = new EMDecayResult(new EMInstanceStackMap(), getMass(), 0); + EMInstanceStackMap output = totalOutput.getOutput(), results; + int differentDecays = decays.length; + double[] probabilities = new double[differentDecays]; for (int i = 0; i < probabilities.length; i++) { probabilities[i] = decays[i].getProbability(); } @@ -323,10 +348,10 @@ public final class EMInstanceStack implements IEMStack { Minecraft.getMinecraft().crashed(new CrashReport("Decay failed for: " + this, e)); return null; } - //long amountRemaining = this.amount, amount = this.amount; - //float remainingProbability = 1D; -// - //for (int i = 0; i < differentDecays; i++) { + // long amountRemaining = this.amount, amount = this.amount; + // float remainingProbability = 1D; + // + // for (int i = 0; i < differentDecays; i++) { // if (decays[i].probability >= 1D) { // long thisDecayAmount = (long) Math.floor(remainingProbability * (double) amount); // if (thisDecayAmount > 0) { @@ -355,9 +380,9 @@ public final class EMInstanceStack implements IEMStack { // if(remainingProbability<=0) { // break; // } - //} + // } - //for (int i = 0; i < amountRemaining; i++) { + // for (int i = 0; i < amountRemaining; i++) { // double rand = TecTech.RANDOM.nextDouble(); // for (int j = 0; j < differentDecays; j++) {//looking for the thing it decayed into // rand -= decays[j].probability; @@ -366,7 +391,7 @@ public final class EMInstanceStack implements IEMStack { // break; // } // } - //} + // } if (getDefinition().decayMakesEnergy(energy)) { for (int i = differentDecays - 1; i >= 0; i--) { @@ -405,7 +430,7 @@ public final class EMInstanceStack implements IEMStack { } } if (energy <= 0 && output.getMass() > getMass()) { - return null;//no energy usage to decay + return null; // no energy usage to decay } return totalOutput; } @@ -415,20 +440,20 @@ public final class EMInstanceStack implements IEMStack { if (instances == null) { return this; } - //returns with the definition from the first object passed + // returns with the definition from the first object passed double energyTotal = getEnergySettingCost(0, energy); - long maxEnergy = energy; - long minEnergy = energy; + long maxEnergy = energy; + long minEnergy = energy; for (EMInstanceStack instance : instances) { - //if (instance != null && compareTo(instance) == 0) { + // if (instance != null && compareTo(instance) == 0) { setAmount(add(getAmount(), instance.getAmount())); energyTotal += instance.getEnergySettingCost(0, instance.energy); maxEnergy = max(instance.energy, maxEnergy); minEnergy = min(instance.energy, maxEnergy); lifeTimeMult = min(lifeTimeMult, instance.lifeTimeMult); setAge(max(getAge(), instance.getAge())); - //} + // } } if (energyTotal >= 0) { @@ -453,20 +478,20 @@ public final class EMInstanceStack implements IEMStack { if (instances == null) { return this; } - //returns with the definition from the first object passed + // returns with the definition from the first object passed double energyTotal = getEnergySettingCost(0, energy); - long maxEnergy = energy; - long minEnergy = energy; + long maxEnergy = energy; + long minEnergy = energy; for (EMInstanceStack instance : instances) { - //if (instance != null && compareTo(instance) == 0) { + // if (instance != null && compareTo(instance) == 0) { setAmount(getAmount() + instance.getAmount()); energyTotal += instance.getEnergySettingCost(0, instance.energy); maxEnergy = max(instance.energy, maxEnergy); minEnergy = min(instance.energy, maxEnergy); lifeTimeMult = min(lifeTimeMult, instance.lifeTimeMult); setAge(max(getAge(), instance.getAge())); - //} + // } } if (energyTotal >= 0) { @@ -498,35 +523,40 @@ public final class EMInstanceStack implements IEMStack { lines.add(translateToLocal("tt.keyword.scan.life_mult") + " = " + lifeTimeMult); } if (TT_Utility.areBitsSet(SCAN_GET_AGE, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.age") + " = " + getAge() + " " + translateToLocal("tt.keyword.unit.time")); + lines.add(translateToLocal("tt.keyword.scan.age") + " = " + getAge() + " " + + translateToLocal("tt.keyword.unit.time")); } if (TT_Utility.areBitsSet(SCAN_GET_COLOR_VALUE, capabilities)) { lines.add(translateToLocal("tt.keyword.scan.color") + " = " + color); } if (TT_Utility.areBitsSet(SCAN_GET_ENERGY, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.energy") + " = " + getDefinition().getEnergyDiffBetweenStates(0, energy) + " " + translateToLocal("tt.keyword.unit.energy")); + lines.add(translateToLocal("tt.keyword.scan.energy") + " = " + + getDefinition().getEnergyDiffBetweenStates(0, energy) + " " + + translateToLocal("tt.keyword.unit.energy")); } if (TT_Utility.areBitsSet(SCAN_GET_ENERGY_LEVEL, capabilities)) { lines.add(translateToLocal("tt.keyword.scan.energyLevel") + " = " + energy); } if (TT_Utility.areBitsSet(SCAN_GET_AMOUNT, capabilities)) { - lines.add(translateToLocal("tt.keyword.scan.amount") + " = " + getAmount() / AVOGADRO_CONSTANT + " " + translateToLocal("tt.keyword.unit.mol")); + lines.add(translateToLocal("tt.keyword.scan.amount") + " = " + getAmount() / AVOGADRO_CONSTANT + " " + + translateToLocal("tt.keyword.unit.mol")); } scanContents(lines, getDefinition().getSubParticles(), 1, detailsOnDepthLevels); } - private void scanContents(ArrayList lines, EMConstantStackMap definitions, int depth, int[] detailsOnDepthLevels) { + private void scanContents( + ArrayList lines, EMConstantStackMap definitions, int depth, int[] detailsOnDepthLevels) { if (definitions != null && depth < detailsOnDepthLevels.length) { int deeper = depth + 1; for (EMDefinitionStack definitionStack : definitions.valuesToArray()) { - lines.add("");//def separator + lines.add(""); // def separator if (TT_Utility.areBitsSet(SCAN_GET_DEPTH_LEVEL, detailsOnDepthLevels[depth])) { - lines.add(translateToLocal("tt.keyword.scan.depth") +" = " + depth); + lines.add(translateToLocal("tt.keyword.scan.depth") + " = " + depth); } getDefinition().addScanResults(lines, detailsOnDepthLevels[depth], energy, TecTech.definitionsRegistry); if (TT_Utility.areBitsSet(SCAN_GET_AMOUNT, detailsOnDepthLevels[depth])) { - lines.add(translateToLocal("tt.keyword.scan.count")+" = " + definitionStack.getAmount()); + lines.add(translateToLocal("tt.keyword.scan.count") + " = " + definitionStack.getAmount()); } scanContents(lines, definitionStack.getDefinition().getSubParticles(), deeper, detailsOnDepthLevels); } @@ -566,7 +596,8 @@ public final class EMInstanceStack implements IEMStack { return false; } - //Amount shouldn't be hashed if this is just indicating amount and not structure, DOES NOT CARE ABOUT creativeTabTecTech INFO + // Amount shouldn't be hashed if this is just indicating amount and not structure, DOES NOT CARE ABOUT + // creativeTabTecTech INFO @Override public int hashCode() { return getDefinition().hashCode(); @@ -574,7 +605,9 @@ public final class EMInstanceStack implements IEMStack { @Override public String toString() { - return getDefinition().toString() + ' ' + getAmount() / AVOGADRO_CONSTANT + " " + translateToLocal("tt.keyword.unit.mol") + " " + getMass() + " "+translateToLocal("tt.keyword.unit.mass"); + return getDefinition().toString() + ' ' + getAmount() / AVOGADRO_CONSTANT + " " + + translateToLocal("tt.keyword.unit.mol") + " " + getMass() + " " + + translateToLocal("tt.keyword.unit.mass"); } public void setAmount(double amount) { diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/IEMStack.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/IEMStack.java index e5cfab9752..b3b439408d 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/IEMStack.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/IEMStack.java @@ -1,11 +1,11 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.stacks; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_MINIMUM; + import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import net.minecraft.nbt.NBTTagCompound; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_MINIMUM; - /** * Created by danie_000 on 30.01.2017. */ @@ -17,6 +17,7 @@ public interface IEMStack extends Comparable, Cloneable { static boolean isInvalidAmount(double amount) { return amount < EM_COUNT_MINIMUM; } + default boolean isValidAmount() { return isValidAmount(getAmount()); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMDequantizationInfo.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMDequantizationInfo.java index 855be96797..cbc9f9801d 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMDequantizationInfo.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMDequantizationInfo.java @@ -6,7 +6,7 @@ import net.minecraftforge.fluids.FluidStack; public class EMDequantizationInfo { private final IEMStack definition; - private Object stack; + private Object stack; public EMDequantizationInfo(IEMStack definition) { this.definition = definition; diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMFluidQuantizationInfo.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMFluidQuantizationInfo.java index cf0cc6218c..3dabb8334a 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMFluidQuantizationInfo.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMFluidQuantizationInfo.java @@ -9,16 +9,16 @@ import net.minecraftforge.fluids.FluidStack; */ public class EMFluidQuantizationInfo { private final FluidStack in; - private final IEMStack out; + private final IEMStack out; - public EMFluidQuantizationInfo(FluidStack fluidStackIn, IEMStack emOut){ - in=fluidStackIn; - out=emOut; + public EMFluidQuantizationInfo(FluidStack fluidStackIn, IEMStack emOut) { + in = fluidStackIn; + out = emOut; } - public EMFluidQuantizationInfo(Fluid fluid, int fluidAmount, IEMStack emOut){ - in=new FluidStack(fluid,fluidAmount); - out=emOut; + public EMFluidQuantizationInfo(Fluid fluid, int fluidAmount, IEMStack emOut) { + in = new FluidStack(fluid, fluidAmount); + out = emOut; } public FluidStack input() { diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMItemQuantizationInfo.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMItemQuantizationInfo.java index c5db63b3ad..279a00af16 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMItemQuantizationInfo.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMItemQuantizationInfo.java @@ -13,8 +13,8 @@ import net.minecraftforge.oredict.OreDictionary; */ public class EMItemQuantizationInfo { private final ItemStack in; - private final boolean skipNBT; - private final IEMStack out; + private final boolean skipNBT; + private final IEMStack out; public EMItemQuantizationInfo(ItemStack itemStackIn, boolean skipNBT, IEMStack emOut) { in = itemStackIn; @@ -38,24 +38,27 @@ public class EMItemQuantizationInfo { @Override public int hashCode() { - return (GameRegistry.findUniqueIdentifierFor(in.getItem())+":"+in.getUnlocalizedName()+ ':' +in.getItemDamage()).hashCode(); + return (GameRegistry.findUniqueIdentifierFor(in.getItem()) + ":" + in.getUnlocalizedName() + ':' + + in.getItemDamage()) + .hashCode(); } @Override public boolean equals(Object obj) { - if(obj instanceof EMItemQuantizationInfo){ - //alias - ItemStack stack=((EMItemQuantizationInfo) obj).in; - if(!in.getUnlocalizedName().equals(((EMItemQuantizationInfo) obj).in.getUnlocalizedName())) { + if (obj instanceof EMItemQuantizationInfo) { + // alias + ItemStack stack = ((EMItemQuantizationInfo) obj).in; + if (!in.getUnlocalizedName().equals(((EMItemQuantizationInfo) obj).in.getUnlocalizedName())) { return false; } - if(!GameRegistry.findUniqueIdentifierFor(in.getItem()).equals( - GameRegistry.findUniqueIdentifierFor(((EMItemQuantizationInfo) obj).in.getItem()))) { + if (!GameRegistry.findUniqueIdentifierFor(in.getItem()) + .equals(GameRegistry.findUniqueIdentifierFor(((EMItemQuantizationInfo) obj).in.getItem()))) { return false; } - if(in.getItemDamage() != OreDictionary.WILDCARD_VALUE && stack.getItemDamage() != OreDictionary.WILDCARD_VALUE) { + if (in.getItemDamage() != OreDictionary.WILDCARD_VALUE + && stack.getItemDamage() != OreDictionary.WILDCARD_VALUE) { if (in.getItemDamage() != stack.getItemDamage()) { return false; } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMOredictQuantizationInfo.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMOredictQuantizationInfo.java index 3c54dd86ac..b8af4bafc1 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMOredictQuantizationInfo.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMOredictQuantizationInfo.java @@ -9,8 +9,8 @@ import net.minecraftforge.oredict.OreDictionary; * Created by Tec on 23.05.2017. */ public class EMOredictQuantizationInfo { - private final int id; - private final int amount; + private final int id; + private final int amount; private final IEMStack out; public EMOredictQuantizationInfo(int id, int amount, IEMStack out) { @@ -20,15 +20,15 @@ public class EMOredictQuantizationInfo { } public EMOredictQuantizationInfo(String name, int qty, IEMStack emOut) { - this(OreDictionary.getOreID(name),qty,emOut); + this(OreDictionary.getOreID(name), qty, emOut); } public EMOredictQuantizationInfo(OrePrefixes prefix, Materials material, int qty, IEMStack emOut) { - this(prefix, material.mName, qty,emOut); + this(prefix, material.mName, qty, emOut); } public EMOredictQuantizationInfo(OrePrefixes prefix, String materialName, int qty, IEMStack emOut) { - this(OreDictionary.getOreID(prefix.name() + materialName),qty,emOut); + this(OreDictionary.getOreID(prefix.name() + materialName), qty, emOut); } public IEMStack getOut() { diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMTransformationRegistry.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMTransformationRegistry.java index 5e41beb9fd..98f72ea53a 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMTransformationRegistry.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/EMTransformationRegistry.java @@ -1,21 +1,20 @@ package com.github.technus.tectech.mechanics.elementalMatter.core.transformations; +import static java.lang.Math.pow; + import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_OreDictUnificator; +import java.util.HashMap; +import java.util.Map; +import java.util.function.Function; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; -import java.util.HashMap; -import java.util.Map; -import java.util.function.Function; - -import static java.lang.Math.pow; - /** * Created by Tec on 26.05.2017. */ @@ -23,14 +22,15 @@ public class EMTransformationRegistry { /** * Atom count per Mol */ - public static final double AVOGADRO_CONSTANT = 6.02214076e23D; + public static final double AVOGADRO_CONSTANT = 6.02214076e23D; /** * Scale to 1m^3 of C-12 */ - public static final double EM_COUNT_PER_CUBE = AVOGADRO_CONSTANT * 1650_000D / 0.012; + public static final double EM_COUNT_PER_CUBE = AVOGADRO_CONSTANT * 1650_000D / 0.012; + public static final double EM_COUNT_PER_MATERIAL_AMOUNT = EM_COUNT_PER_CUBE / 144 / 9; - public static final double EM_COUNT_PER_ITEM = EM_COUNT_PER_CUBE * 9; - public static final double EM_COUNT_PER_1k = EM_COUNT_PER_MATERIAL_AMOUNT * 1000; + public static final double EM_COUNT_PER_ITEM = EM_COUNT_PER_CUBE * 9; + public static final double EM_COUNT_PER_1k = EM_COUNT_PER_MATERIAL_AMOUNT * 1000; public static final double EM_COUNT_MINIMUM = 1 / EM_COUNT_PER_CUBE; /** @@ -38,14 +38,15 @@ public class EMTransformationRegistry { */ public static final double EM_COUNT_EPSILON = EM_COUNT_PER_CUBE / pow(2, 40); - public static final double EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT - EM_COUNT_EPSILON; - public static final double EM_COUNT_PER_CUBE_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * 144 * 9; - public static final double EM_COUNT_PER_ITEM_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * 144; - public static final double EM_COUNT_PER_1k_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * 1000; + public static final double EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED = + EM_COUNT_PER_MATERIAL_AMOUNT - EM_COUNT_EPSILON; + public static final double EM_COUNT_PER_CUBE_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * 144 * 9; + public static final double EM_COUNT_PER_ITEM_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * 144; + public static final double EM_COUNT_PER_1k_DIMINISHED = EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * 1000; - private final Map fluidQuantization; + private final Map fluidQuantization; private final Map itemQuantization; - private final Map oredictQuantization; + private final Map oredictQuantization; private final Map infoMap; private final Function creator; @@ -55,17 +56,15 @@ public class EMTransformationRegistry { } public EMTransformationRegistry(Function creator) { - this(creator, - new HashMap<>(16), new HashMap<>(16), new HashMap<>(64), - new HashMap<>(256) - ); + this(creator, new HashMap<>(16), new HashMap<>(16), new HashMap<>(64), new HashMap<>(256)); } - public EMTransformationRegistry(Function creator, - Map fluidQuantization, - Map itemQuantization, - Map oredictQuantization, - Map infoMap) { + public EMTransformationRegistry( + Function creator, + Map fluidQuantization, + Map itemQuantization, + Map oredictQuantization, + Map infoMap) { this.creator = creator; this.fluidQuantization = fluidQuantization; this.itemQuantization = itemQuantization; diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMAtomDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMAtomDefinition.java index 03c57a754e..79e0d5167c 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMAtomDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMAtomDefinition.java @@ -1,5 +1,15 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.complex; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.boson_Y__; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; +import static com.github.technus.tectech.util.XSTR.XSTR_INSTANCE; +import static gregtech.api.enums.Materials.*; +import static gregtech.api.enums.OrePrefixes.dust; +import static java.lang.Math.abs; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; @@ -16,40 +26,170 @@ import com.github.technus.tectech.mechanics.elementalMatter.definitions.primitiv import com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMNeutrinoDefinition; import com.github.technus.tectech.util.TT_Utility; import com.github.technus.tectech.util.XSTR; - import java.util.*; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.boson_Y__; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; -import static com.github.technus.tectech.util.XSTR.XSTR_INSTANCE; -import static gregtech.api.enums.Materials.*; -import static gregtech.api.enums.OrePrefixes.dust; -import static java.lang.Math.abs; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 18.11.2016. */ public class EMAtomDefinition extends EMComplexTemplate { - private static final String[] SYMBOL = new String[]{"Nt", "H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne", "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", "Ca", "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y", "Zr", "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Nd", "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu", "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg", "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg", "Cn", "Nh", "Fl", "Mc", "Lv", "Ts", "Og"}; - private static final String[] NAME = new String[]{"Neutronium", "Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", "Nitrogen", "Oxygen", "Fluorine", "Neon", "Sodium", "Magnesium", "Aluminium", "Silicon", "Phosphorus", "Sulfur", "Chlorine", "Argon", "Potassium", "Calcium", "Scandium", "Titanium", "Vanadium", "Chromium", "Manganese", "Iron", "Cobalt", "Nickel", "Copper", "Zinc", "Gallium", "Germanium", "Arsenic", "Selenium", "Bromine", "Krypton", "Rubidium", "Strontium", "Yttrium", "Zirconium", "Niobium", "Molybdenum", "Technetium", "Ruthenium", "Rhodium", "Palladium", "Silver", "Cadmium", "Indium", "Tin", "Antimony", "Tellurium", "Iodine", "Xenon", "Caesium", "Barium", "Lanthanum", "Cerium", "Praseodymium", "Neodymium", "Promethium", "Samarium", "Europium", "Gadolinium", "Terbium", "Dysprosium", "Holmium", "Erbium", "Thulium", "Ytterbium", "Lutetium", "Hafnium", "Tantalum", "Tungsten", "Rhenium", "Osmium", "Iridium", "Platinum", "Gold", "Mercury", "Thallium", "Lead", "Bismuth", "Polonium", "Astatine", "Radon", "Francium", "Radium", "Actinium", "Thorium", "Protactinium", "Uranium", "Neptunium", "Plutonium", "Americium", "Curium", "Berkelium", "Californium", "Einsteinium", "Fermium", "Mendelevium", "Nobelium", "Lawrencium", "Rutherfordium", "Dubnium", "Seaborgium", "Bohrium", "Hassium", "Meitnerium", "Darmstadtium", "Roentgenium", "Copernicium", "Nihonium", "Flerovium", "Moscovium", "Livermorium", "Tennessine", "Oganesson"}; - private static final String[] SYMBOL_IUPAC = new String[]{"n", "u", "b", "t", "q", "p", "h", "s", "o", "e", "N", "U", "B", "T", "Q", "P", "H", "S", "O", "E"}; - - public static final long ATOM_COMPLEXITY_LIMIT = 65536L; - private static final byte BYTE_OFFSET = 32; - - private final int hash; + private static final String[] SYMBOL = new String[] { + "Nt", "H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne", "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", + "Ca", "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", + "Y", "Zr", "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", + "Ce", "Pr", "Nd", "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu", "Hf", "Ta", "W", "Re", "Os", + "Ir", "Pt", "Au", "Hg", "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", "Pa", "U", "Np", "Pu", "Am", + "Cm", "Bk", "Cf", "Es", "Fm", "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg", "Cn", "Nh", + "Fl", "Mc", "Lv", "Ts", "Og" + }; + private static final String[] NAME = new String[] { + "Neutronium", + "Hydrogen", + "Helium", + "Lithium", + "Beryllium", + "Boron", + "Carbon", + "Nitrogen", + "Oxygen", + "Fluorine", + "Neon", + "Sodium", + "Magnesium", + "Aluminium", + "Silicon", + "Phosphorus", + "Sulfur", + "Chlorine", + "Argon", + "Potassium", + "Calcium", + "Scandium", + "Titanium", + "Vanadium", + "Chromium", + "Manganese", + "Iron", + "Cobalt", + "Nickel", + "Copper", + "Zinc", + "Gallium", + "Germanium", + "Arsenic", + "Selenium", + "Bromine", + "Krypton", + "Rubidium", + "Strontium", + "Yttrium", + "Zirconium", + "Niobium", + "Molybdenum", + "Technetium", + "Ruthenium", + "Rhodium", + "Palladium", + "Silver", + "Cadmium", + "Indium", + "Tin", + "Antimony", + "Tellurium", + "Iodine", + "Xenon", + "Caesium", + "Barium", + "Lanthanum", + "Cerium", + "Praseodymium", + "Neodymium", + "Promethium", + "Samarium", + "Europium", + "Gadolinium", + "Terbium", + "Dysprosium", + "Holmium", + "Erbium", + "Thulium", + "Ytterbium", + "Lutetium", + "Hafnium", + "Tantalum", + "Tungsten", + "Rhenium", + "Osmium", + "Iridium", + "Platinum", + "Gold", + "Mercury", + "Thallium", + "Lead", + "Bismuth", + "Polonium", + "Astatine", + "Radon", + "Francium", + "Radium", + "Actinium", + "Thorium", + "Protactinium", + "Uranium", + "Neptunium", + "Plutonium", + "Americium", + "Curium", + "Berkelium", + "Californium", + "Einsteinium", + "Fermium", + "Mendelevium", + "Nobelium", + "Lawrencium", + "Rutherfordium", + "Dubnium", + "Seaborgium", + "Bohrium", + "Hassium", + "Meitnerium", + "Darmstadtium", + "Roentgenium", + "Copernicium", + "Nihonium", + "Flerovium", + "Moscovium", + "Livermorium", + "Tennessine", + "Oganesson" + }; + private static final String[] SYMBOL_IUPAC = new String[] { + "n", "u", "b", "t", "q", "p", "h", "s", "o", "e", "N", "U", "B", "T", "Q", "P", "H", "S", "O", "E" + }; + + public static final long ATOM_COMPLEXITY_LIMIT = 65536L; + private static final byte BYTE_OFFSET = 32; + + private final int hash; public static double refMass, refUnstableMass; - private static final String nbtType = "a"; - private static final Random xstr = new XSTR();//NEEDS SEPARATE! - private static Map> stableIsotopes = new HashMap<>(); - private static final Map stableAtoms = new HashMap<>(); - private static Map> mostStableUnstableIsotopes = new HashMap<>(); - private static final Map unstableAtoms = new HashMap<>(); - private static EMDefinitionStack alpha, deuterium, tritium, helium_3, beryllium_8, carbon_14, neon_24, silicon_34, uranium_238, uranium_235, plutonium_239, plutonium_241; + private static final String nbtType = "a"; + private static final Random xstr = new XSTR(); // NEEDS SEPARATE! + private static Map> stableIsotopes = new HashMap<>(); + private static final Map stableAtoms = new HashMap<>(); + private static Map> mostStableUnstableIsotopes = new HashMap<>(); + private static final Map unstableAtoms = new HashMap<>(); + private static EMDefinitionStack alpha, + deuterium, + tritium, + helium_3, + beryllium_8, + carbon_14, + neon_24, + silicon_34, + uranium_238, + uranium_235, + plutonium_239, + plutonium_241; private static final HashMap lifetimeOverrides = new HashMap<>(); private final EMNuclideIAEA iaea; @@ -66,18 +206,18 @@ public class EMAtomDefinition extends EMComplexTemplate { lifetimeOverrides.put(atom, rawLifeTime); } - //float-mass in eV/c^2 + // float-mass in eV/c^2 private final double mass; - //public final int charge; - private final int charge; - //int -electric charge in 1/3rds of electron charge for optimization - private final int chargeLeptons; + // public final int charge; + private final int charge; + // int -electric charge in 1/3rds of electron charge for optimization + private final int chargeLeptons; private final double rawLifeTime; - //generation max present inside - minus if contains any anti quark - private final byte type; + // generation max present inside - minus if contains any anti quark + private final byte type; - private final byte decayMode;//t neutron to proton+,0,f proton to neutron - //public final boolean stable; + private final byte decayMode; // t neutron to proton+,0,f proton to neutron + // public final boolean stable; private final int neutralCount; private final int element; @@ -86,7 +226,7 @@ public class EMAtomDefinition extends EMComplexTemplate { private final EMConstantStackMap elementalStacks; - //stable is rawLifeTime>=10^9 + // stable is rawLifeTime>=10^9 public EMAtomDefinition(EMDefinitionStack... things) throws EMException { this(true, new EMConstantStackMap(things)); @@ -106,15 +246,15 @@ public class EMAtomDefinition extends EMComplexTemplate { } elementalStacks = things; - double mass = 0; - int cLeptons = 0; - int cNucleus = 0; - int neutralCount = 0, element = 0; - int type = 0; + double mass = 0; + int cLeptons = 0; + int cNucleus = 0; + int neutralCount = 0, element = 0; + int type = 0; boolean containsAnti = false; for (EMDefinitionStack stack : elementalStacks.valuesToArray()) { - IEMDefinition def = stack.getDefinition(); - int amount = (int) stack.getAmount(); + IEMDefinition def = stack.getDefinition(); + int amount = (int) stack.getAmount(); if ((int) stack.getAmount() != stack.getAmount()) { throw new ArithmeticException("Amount cannot be safely converted to int!"); } @@ -138,7 +278,7 @@ public class EMAtomDefinition extends EMComplexTemplate { } } this.type = containsAnti ? (byte) -type : (byte) type; - //this.mass = mass; + // this.mass = mass; chargeLeptons = cLeptons; charge = cNucleus + cLeptons; this.neutralCount = neutralCount; @@ -146,10 +286,10 @@ public class EMAtomDefinition extends EMComplexTemplate { element = abs(element); - //stability curve + // stability curve int StableIsotope = stableIzoCurve(element); - int izoDiff = neutralCount - StableIsotope; - int izoDiffAbs = abs(izoDiff); + int izoDiff = neutralCount - StableIsotope; + int izoDiffAbs = abs(izoDiff); xstr.setSeed((element + 1L) * (neutralCount + 100L)); iaea = EMNuclideIAEA.get(element, neutralCount); @@ -170,7 +310,9 @@ public class EMAtomDefinition extends EMComplexTemplate { } rawLifeTime = Math.min(rawLifeTimeTemp, STABLE_RAW_LIFE_TIME); } else { - rawLifeTime = containsAnti ? getIaea().getHalfTime() * 1.5514433E-21d * (1d + xstr.nextDouble() * 9d) : getIaea().getHalfTime(); + rawLifeTime = containsAnti + ? getIaea().getHalfTime() * 1.5514433E-21d * (1d + xstr.nextDouble() * 9d) + : getIaea().getHalfTime(); } iaeaDefinitionExistsAndHasEnergyLevels = getIaea().getEnergeticStatesArray().length > 1; } else { @@ -192,29 +334,41 @@ public class EMAtomDefinition extends EMComplexTemplate { if (izoDiff == 0) { decayMode = 0; } else { - decayMode = izoDiff > 0 ? (byte) Math.min(2, 1 + izoDiffAbs / 4) : (byte) -Math.min(2, 1 + izoDiffAbs / 4); + decayMode = + izoDiff > 0 ? (byte) Math.min(2, 1 + izoDiffAbs / 4) : (byte) -Math.min(2, 1 + izoDiffAbs / 4); } } else { - decayMode = izoDiff > 0 ? (byte) (Math.min(2, 1 + izoDiffAbs / 4) + BYTE_OFFSET) : (byte) (-Math.min(2, 1 + izoDiffAbs / 4) + BYTE_OFFSET); + decayMode = izoDiff > 0 + ? (byte) (Math.min(2, 1 + izoDiffAbs / 4) + BYTE_OFFSET) + : (byte) (-Math.min(2, 1 + izoDiffAbs / 4) + BYTE_OFFSET); } - //this.stable = this.rawLifeTime >= STABLE_RAW_LIFE_TIME; + // this.stable = this.rawLifeTime >= STABLE_RAW_LIFE_TIME; hash = super.hashCode(); } private static int stableIzoCurve(int element) { - return (int) Math.round(-1.19561E-06D * Math.pow(element, 4D) + - 1.60885E-04D * Math.pow(element, 3D) + - 3.76604E-04D * Math.pow(element, 2D) + - 1.08418E+00D * (double) element); + return (int) Math.round(-1.19561E-06D * Math.pow(element, 4D) + + 1.60885E-04D * Math.pow(element, 3D) + + 3.76604E-04D * Math.pow(element, 2D) + + 1.08418E+00D * (double) element); } - private static double calculateLifeTime(int izoDiff, int izoDiffAbs, int element, int isotope, boolean containsAnti) { + private static double calculateLifeTime( + int izoDiff, int izoDiffAbs, int element, int isotope, boolean containsAnti) { double rawLifeTime; - if (element <= 83 && isotope < 127 && (izoDiffAbs == 0 || element == 1 && isotope == 0 || element == 2 && isotope == 1 || izoDiffAbs == 1 && element > 2 && element % 2 == 1 || izoDiffAbs == 3 && element > 30 && element % 2 == 0 || izoDiffAbs == 5 && element > 30 && element % 2 == 0 || izoDiffAbs == 2 && element > 20 && element % 2 == 1)) { + if (element <= 83 + && isotope < 127 + && (izoDiffAbs == 0 + || element == 1 && isotope == 0 + || element == 2 && isotope == 1 + || izoDiffAbs == 1 && element > 2 && element % 2 == 1 + || izoDiffAbs == 3 && element > 30 && element % 2 == 0 + || izoDiffAbs == 5 && element > 30 && element % 2 == 0 + || izoDiffAbs == 2 && element > 20 && element % 2 == 1)) { rawLifeTime = (1D + xstr.nextDouble() * 9D) * (containsAnti ? 2.381e4D : 1.5347e25D); } else { - //Y = (X-A)/(B-A) * (D-C) + C + // Y = (X-A)/(B-A) * (D-C) + C double unstabilityEXP; if (element == 0) { return 1e-35D; @@ -238,9 +392,12 @@ public class EMAtomDefinition extends EMComplexTemplate { } else if (element <= 83 || isotope <= 127 && element <= 120) { double elementPow4 = Math.pow(element, 4); - unstabilityEXP = Math.min(element / 2.4D, 6 + ((element + 1) % 2) * 3e6D / elementPow4) + -izoDiff * elementPow4 / 1e8D - abs(izoDiff - 1 + element / 60D) * (3D - element / 12.5D + element * element / 1500D); + unstabilityEXP = Math.min(element / 2.4D, 6 + ((element + 1) % 2) * 3e6D / elementPow4) + + -izoDiff * elementPow4 / 1e8D + - abs(izoDiff - 1 + element / 60D) * (3D - element / 12.5D + element * element / 1500D); } else if (element < 180) { - unstabilityEXP = Math.min((element - 85) * 2, 16 + ((isotope + 1) % 2) * 2.5D - (element - 85) / 3D) - abs(izoDiff) * (3D - element / 13D + element * element / 1600D); + unstabilityEXP = Math.min((element - 85) * 2, 16 + ((isotope + 1) % 2) * 2.5D - (element - 85) / 3D) + - abs(izoDiff) * (3D - element / 13D + element * element / 1600D); } else { return -1; } @@ -267,7 +424,7 @@ public class EMAtomDefinition extends EMComplexTemplate { private static boolean canTheyBeTogether(EMConstantStackMap stacks) { boolean nuclei = false; - long qty = 0; + long qty = 0; for (EMDefinitionStack stack : stacks.valuesToArray()) { if (stack.getDefinition() instanceof EMHadronDefinition) { if (((EMHadronDefinition) stack.getDefinition()).getAmount() != 3) { @@ -319,7 +476,8 @@ public class EMAtomDefinition extends EMComplexTemplate { } if (iaeaDefinitionExistsAndHasEnergyLevels) { if (currentEnergy >= getIaea().getEnergeticStatesArray().length) { - return getIaea().getEnergeticStatesArray()[getIaea().getEnergeticStatesArray().length - 1].Thalf / (currentEnergy - getIaea().getEnergeticStatesArray().length + 1); + return getIaea().getEnergeticStatesArray()[getIaea().getEnergeticStatesArray().length - 1].Thalf + / (currentEnergy - getIaea().getEnergeticStatesArray().length + 1); } return getIaea().getEnergeticStatesArray()[(int) currentEnergy].Thalf; } @@ -343,62 +501,65 @@ public class EMAtomDefinition extends EMComplexTemplate { @Override public String getShortLocalizedName() { - int element = abs(getElement()); + int element = abs(getElement()); boolean anti = getElement() < 0; boolean weird = abs(getGeneration()) != 1; - if(element>=NAME.length){ + if (element >= NAME.length) { StringBuilder s = new StringBuilder(); - if(anti){ + if (anti) { s.append(translateToLocal("tt.IUPAC.Anti")); do { - s.append(translateToLocal("tt.IUPAC."+SYMBOL_IUPAC[element % 10])); + s.append(translateToLocal("tt.IUPAC." + SYMBOL_IUPAC[element % 10])); element = element / 10; } while (element > 0); - }else { + } else { while (element >= 10) { - s.append(translateToLocal("tt.IUPAC."+SYMBOL_IUPAC[element % 10])); + s.append(translateToLocal("tt.IUPAC." + SYMBOL_IUPAC[element % 10])); element = element / 10; } - s.append(translateToLocal("tt.IUPAC."+SYMBOL_IUPAC[element + 10])); + s.append(translateToLocal("tt.IUPAC." + SYMBOL_IUPAC[element + 10])); } - if(weird){ + if (weird) { s.append(translateToLocal("tt.keyword.Weird")); } return s.toString(); } - return translateToLocal("tt.element."+(anti?"Anti":"")+NAME[element])+(weird?translateToLocal("tt.keyword.Weird"):""); + return translateToLocal("tt.element." + (anti ? "Anti" : "") + NAME[element]) + + (weird ? translateToLocal("tt.keyword.Weird") : ""); } @Override public String getSymbol() { - String ionName = ""; + String ionName = ""; int ionization = getCharge() / 3; - if(ionization>0){ + if (ionization > 0) { ionName = ionization == 1 ? TT_Utility.toSuperscript("+") : TT_Utility.toSuperscript(ionization + "+"); - }else if(ionization<0) { + } else if (ionization < 0) { ionName = ionization == -1 ? TT_Utility.toSuperscript("-") : TT_Utility.toSuperscript(-ionization + "-"); } - return TT_Utility.toSuperscript(Long.toString(getNeutralCount() + (long)getElement())) +getShortSymbol()+ ionName; + return TT_Utility.toSuperscript(Long.toString(getNeutralCount() + (long) getElement())) + + getShortSymbol() + + ionName; } @Override public String getShortSymbol() { - int element = abs(getElement()); + int element = abs(getElement()); boolean anti = getElement() < 0; boolean weird = abs(getGeneration()) != 1; - if(element>=SYMBOL.length){ - StringBuilder s = new StringBuilder(anti?"~":""); + if (element >= SYMBOL.length) { + StringBuilder s = new StringBuilder(anti ? "~" : ""); while (element >= 10) { s.append(SYMBOL_IUPAC[element % 10]); element = element / 10; } s.append(SYMBOL_IUPAC[element + 10]); - if(weird){ + if (weird) { s.append(translateToLocal("tt.keyword.Weird")); } return s.toString(); } - return (anti?"~":"")+SYMBOL[element]+(weird?translateToLocal("tt.keyword.Weird"):""); + return (anti ? "~" : "") + SYMBOL[element] + (weird ? translateToLocal("tt.keyword.Weird") : ""); } @Override @@ -412,7 +573,7 @@ public class EMAtomDefinition extends EMComplexTemplate { return getDecayArray(decaysList, getDecayMode(), true); } - private EMDecay[] getDecayArray(ArrayList decaysList, int decayMode, boolean tryAnti) {//todo? + private EMDecay[] getDecayArray(ArrayList decaysList, int decayMode, boolean tryAnti) { // todo? if (getGeneration() == 1) { switch (decayMode) { case -2: @@ -481,543 +642,663 @@ public class EMAtomDefinition extends EMComplexTemplate { private boolean getDecayFromIaea(ArrayList decaysList, EMNuclideIAEA.iaeaDecay decay, long energy) { EMDefinitionStackMap withThis = elementalStacks.toMutable(), newStuff = new EMDefinitionStackMap(); switch (decay.decayName) { - case "D": { - if (withThis.removeAllAmountsExact(deuterium.getDefinition().getSubParticles())) { - withThis.putReplace(deuterium); - decaysList.add(new EMDecay(decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } - } - break; - case "3H": { - if (withThis.removeAllAmountsExact(tritium.getDefinition().getSubParticles())) { - withThis.putReplace(tritium); - decaysList.add(new EMDecay(decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; + case "D": + { + if (withThis.removeAllAmountsExact(deuterium.getDefinition().getSubParticles())) { + withThis.putReplace(deuterium); + decaysList.add(new EMDecay( + decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } } - } - break; - case "3HE": { - if (withThis.removeAllAmountsExact(helium_3.getDefinition().getSubParticles())) { - withThis.putReplace(helium_3); - decaysList.add(new EMDecay(decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; + break; + case "3H": + { + if (withThis.removeAllAmountsExact(tritium.getDefinition().getSubParticles())) { + withThis.putReplace(tritium); + decaysList.add(new EMDecay( + decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } } - } - break; - case "8BE": { - if (withThis.removeAllAmountsExact(beryllium_8.getDefinition().getSubParticles())) { - withThis.putReplace(beryllium_8); - decaysList.add(new EMDecay(decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; + break; + case "3HE": + { + if (withThis.removeAllAmountsExact(helium_3.getDefinition().getSubParticles())) { + withThis.putReplace(helium_3); + decaysList.add(new EMDecay( + decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } } - } - break; - case "14C": { - if (withThis.removeAllAmountsExact(carbon_14.getDefinition().getSubParticles())) { - newStuff.putReplace(carbon_14); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + break; + case "8BE": + { + if (withThis.removeAllAmountsExact( + beryllium_8.getDefinition().getSubParticles())) { + withThis.putReplace(beryllium_8); + decaysList.add(new EMDecay( + decay.chance, withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + } + } + break; + case "14C": + { + if (withThis.removeAllAmountsExact(carbon_14.getDefinition().getSubParticles())) { + newStuff.putReplace(carbon_14); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "24NE": { - if (withThis.removeAllAmountsExact(neon_24.getDefinition().getSubParticles())) { - newStuff.putReplace(neon_24); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "24NE": + { + if (withThis.removeAllAmountsExact(neon_24.getDefinition().getSubParticles())) { + newStuff.putReplace(neon_24); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "34SI": { - if (withThis.removeAllAmountsExact(silicon_34.getDefinition().getSubParticles())) { - newStuff.putReplace(silicon_34); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "34SI": + { + if (withThis.removeAllAmountsExact( + silicon_34.getDefinition().getSubParticles())) { + newStuff.putReplace(silicon_34); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; + break; case "A": - case "A?": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2, EMHadronDefinition.hadron_p2)) { - newStuff.putReplace(alpha); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + case "A?": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2, EMHadronDefinition.hadron_p2)) { + newStuff.putReplace(alpha); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "B+": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B+": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "2B+": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n2); - newStuff.putReplace(EMLeptonDefinition.lepton_e_2); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "2B+": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n2); + newStuff.putReplace(EMLeptonDefinition.lepton_e_2); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "B-": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_p1); - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B-": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_p1); + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "2B-": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_p2); - newStuff.putReplace(EMLeptonDefinition.lepton_e2); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_2); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "2B-": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_p2); + newStuff.putReplace(EMLeptonDefinition.lepton_e2); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_2); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "EC": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1, EMLeptonDefinition.lepton_e1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "EC": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1, EMLeptonDefinition.lepton_e1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "2EC": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e2)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n2); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "2EC": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e2)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n2); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; + break; case "B++EC": - case "EC+B+": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n2); - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + case "EC+B+": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n2); + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "B+A": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p3, EMHadronDefinition.hadron_n1)) { - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(alpha); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B+A": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p3, EMHadronDefinition.hadron_n1)) { + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(alpha); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "B+P": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(EMHadronDefinition.hadron_p1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B+P": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(EMHadronDefinition.hadron_p1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "B+2P": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p3)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(EMHadronDefinition.hadron_p2); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B+2P": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p3)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(EMHadronDefinition.hadron_p2); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "B-A": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n3, EMHadronDefinition.hadron_p1)) { - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - newStuff.putReplace(alpha); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B-A": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n3, EMHadronDefinition.hadron_p1)) { + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + newStuff.putReplace(alpha); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "B-N": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_p1); - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - newStuff.putReplace(EMHadronDefinition.hadron_n1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B-N": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_p1); + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + newStuff.putReplace(EMHadronDefinition.hadron_n1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "B-2N": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n3)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_p1); - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - newStuff.putReplace(EMHadronDefinition.hadron_n2); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B-2N": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n3)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_p1); + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + newStuff.putReplace(EMHadronDefinition.hadron_n2); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "B-P": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - newStuff.putReplace(EMHadronDefinition.hadron_p1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B-P": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + newStuff.putReplace(EMHadronDefinition.hadron_p1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "ECA": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1, EMLeptonDefinition.lepton_e1, EMHadronDefinition.hadron_p3)) { - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(alpha); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "ECA": + { + if (withThis.removeAllAmountsExact( + EMHadronDefinition.hadron_n1, EMLeptonDefinition.lepton_e1, EMHadronDefinition.hadron_p3)) { + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(alpha); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "ECP": { - if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e1, EMHadronDefinition.hadron_p2)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(EMHadronDefinition.hadron_p1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "ECP": + { + if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e1, EMHadronDefinition.hadron_p2)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(EMHadronDefinition.hadron_p1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "EC2P": { - if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e1, EMHadronDefinition.hadron_p3)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(EMHadronDefinition.hadron_p2); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "EC2P": + { + if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e1, EMHadronDefinition.hadron_p3)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(EMHadronDefinition.hadron_p2); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "ECP+EC2P": {//todo look at branching ratios - if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e2, EMHadronDefinition.hadron_p5)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); - newStuff.putReplace(EMHadronDefinition.hadron_p3); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "ECP+EC2P": + { // todo look at branching ratios + if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e2, EMHadronDefinition.hadron_p5)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); + newStuff.putReplace(EMHadronDefinition.hadron_p3); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "N": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { - newStuff.putReplace(EMHadronDefinition.hadron_n1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "N": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { + newStuff.putReplace(EMHadronDefinition.hadron_n1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "2N": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2)) { - newStuff.putReplace(EMHadronDefinition.hadron_n2); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "2N": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n2)) { + newStuff.putReplace(EMHadronDefinition.hadron_n2); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "P": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1)) { - newStuff.putReplace(EMHadronDefinition.hadron_p1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "P": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1)) { + newStuff.putReplace(EMHadronDefinition.hadron_p1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "2P": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2)) { - newStuff.putReplace(EMHadronDefinition.hadron_p2); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "2P": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2)) { + newStuff.putReplace(EMHadronDefinition.hadron_p2); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "SF": { - if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { - return true; + break; + case "SF": + { + if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { + return true; + } } - } - break; - case "B-F": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_p1); - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - try { - if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { - return true; - } - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "B-F": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_n1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_p1); + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + try { + if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { + return true; + } + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; + break; case "ECF": case "ECSF": - case "EC(+SF)": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1, EMLeptonDefinition.lepton_e1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - try { - if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { - return true; - } - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + case "EC(+SF)": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p1, EMLeptonDefinition.lepton_e1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + try { + if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { + return true; + } + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; + break; case "SF(+EC+B+)": - case "SF+EC+B+": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n2); - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); - try { - if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { - return true; - } - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + case "SF+EC+B+": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n2); + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); + try { + if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { + return true; + } + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; - case "SF+EC+B-": { - if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e1)) { - newStuff.putReplace(EMLeptonDefinition.lepton_e1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); - try { - if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { - return true; - } - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + break; + case "SF+EC+B-": + { + if (withThis.removeAllAmountsExact(EMLeptonDefinition.lepton_e1)) { + newStuff.putReplace(EMLeptonDefinition.lepton_e1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve_1); + try { + if (Fission(decaysList, withThis, newStuff, decay.chance, false)) { + return true; + } + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; + break; case "IT": case "IT?": case "G": { @@ -1030,30 +1311,35 @@ public class EMAtomDefinition extends EMComplexTemplate { decaysList.add(new EMDecay(decay.chance, this)); } return true; - } //break; - case "IT+EC+B+": { - if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e1)) { - withThis.putUnifyExact(EMHadronDefinition.hadron_n2); - newStuff.putReplace(EMLeptonDefinition.lepton_e_1); - newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); - newStuff.putReplace(EMGaugeBosonDefinition.boson_Y__1); - try { - newStuff.putReplace(new EMAtomDefinition(withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()).getStackForm(1)); - decaysList.add(new EMDecay(decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); - return true; - } catch (Exception e) { - if (DEBUG_MODE) { - e.printStackTrace(); + } // break; + case "IT+EC+B+": + { + if (withThis.removeAllAmountsExact(EMHadronDefinition.hadron_p2, EMLeptonDefinition.lepton_e1)) { + withThis.putUnifyExact(EMHadronDefinition.hadron_n2); + newStuff.putReplace(EMLeptonDefinition.lepton_e_1); + newStuff.putReplace(EMNeutrinoDefinition.lepton_Ve2); + newStuff.putReplace(EMGaugeBosonDefinition.boson_Y__1); + try { + newStuff.putReplace(new EMAtomDefinition( + withThis.toImmutable_optimized_unsafe_LeavesExposedElementalTree()) + .getStackForm(1)); + decaysList.add(new EMDecay( + decay.chance, newStuff.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + return true; + } catch (Exception e) { + if (DEBUG_MODE) { + e.printStackTrace(); + } } } } - } - break; + break; case "DEAD_END": decaysList.add(deadEnd); return true; default: - throw new Error("Unsupported decay mode: " + decay.decayName + ' ' + getNeutralCount() + ' ' + getElement()); + throw new Error( + "Unsupported decay mode: " + decay.decayName + ' ' + getNeutralCount() + ' ' + getElement()); } if (DEBUG_MODE) { TecTech.LOGGER.info("Failed to decay " + getElement() + ' ' + getNeutralCount() + ' ' + decay.decayName); @@ -1065,7 +1351,12 @@ public class EMAtomDefinition extends EMComplexTemplate { EMDefinitionStackMap tree = elementalStacks.toMutable(); if (tree.removeAmountExact(emit)) { try { - decaysList.add(new EMDecay(1, new EMDefinitionStack(new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1), emit)); + decaysList.add(new EMDecay( + 1, + new EMDefinitionStack( + new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), + 1), + emit)); return true; } catch (Exception e) { if (DEBUG_MODE) { @@ -1080,7 +1371,12 @@ public class EMAtomDefinition extends EMComplexTemplate { EMDefinitionStackMap tree = elementalStacks.toMutable(); if (tree.removeAllAmountsExact(alpha.getDefinition().getSubParticles())) { try { - decaysList.add(new EMDecay(1, new EMDefinitionStack(new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1), alpha)); + decaysList.add(new EMDecay( + 1, + new EMDefinitionStack( + new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), + 1), + alpha)); return true; } catch (Exception e) { if (DEBUG_MODE) { @@ -1096,7 +1392,13 @@ public class EMAtomDefinition extends EMComplexTemplate { if (tree.removeAmountExact(EMHadronDefinition.hadron_n1)) { try { tree.putUnifyExact(EMHadronDefinition.hadron_p1); - decaysList.add(new EMDecay(1, new EMDefinitionStack(new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1), EMLeptonDefinition.lepton_e1, EMNeutrinoDefinition.lepton_Ve_1)); + decaysList.add(new EMDecay( + 1, + new EMDefinitionStack( + new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), + 1), + EMLeptonDefinition.lepton_e1, + EMNeutrinoDefinition.lepton_Ve_1)); return true; } catch (Exception e) { if (DEBUG_MODE) { @@ -1112,7 +1414,13 @@ public class EMAtomDefinition extends EMComplexTemplate { if (tree.removeAmountExact(EMHadronDefinition.hadron_p1)) { try { tree.putUnifyExact(EMHadronDefinition.hadron_n1); - decaysList.add(new EMDecay(1, new EMDefinitionStack(new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1), EMLeptonDefinition.lepton_e_1, EMNeutrinoDefinition.lepton_Ve1)); + decaysList.add(new EMDecay( + 1, + new EMDefinitionStack( + new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), + 1), + EMLeptonDefinition.lepton_e_1, + EMNeutrinoDefinition.lepton_Ve1)); return true; } catch (Exception e) { if (DEBUG_MODE) { @@ -1128,7 +1436,12 @@ public class EMAtomDefinition extends EMComplexTemplate { if (tree.removeAllAmountsExact(EMHadronDefinition.hadron_p1, EMLeptonDefinition.lepton_e1)) { try { tree.putUnifyExact(EMHadronDefinition.hadron_n1); - decaysList.add(new EMDecay(1, new EMDefinitionStack(new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1), EMNeutrinoDefinition.lepton_Ve1)); + decaysList.add(new EMDecay( + 1, + new EMDefinitionStack( + new EMAtomDefinition(tree.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), + 1), + EMNeutrinoDefinition.lepton_Ve1)); return true; } catch (Exception e) { if (DEBUG_MODE) { @@ -1139,19 +1452,26 @@ public class EMAtomDefinition extends EMComplexTemplate { return false; } - private boolean Fission(ArrayList decaysList, EMDefinitionStackMap fissile, EMDefinitionStackMap particles, double probability, boolean spontaneousCheck) { - EMDefinitionStackMap heavy = new EMDefinitionStackMap(); - double[] liquidDrop = liquidDropFunction(abs(getElement()) <= 97); + private boolean Fission( + ArrayList decaysList, + EMDefinitionStackMap fissile, + EMDefinitionStackMap particles, + double probability, + boolean spontaneousCheck) { + EMDefinitionStackMap heavy = new EMDefinitionStackMap(); + double[] liquidDrop = liquidDropFunction(abs(getElement()) <= 97); for (EMDefinitionStack stack : fissile.valuesToArray()) { - if (spontaneousCheck && stack.getDefinition() instanceof EMHadronDefinition && - (stack.getAmount() <= 80 || stack.getAmount() < 90 && XSTR_INSTANCE.nextInt(10) < stack.getAmount() - 80)) { + if (spontaneousCheck + && stack.getDefinition() instanceof EMHadronDefinition + && (stack.getAmount() <= 80 + || stack.getAmount() < 90 && XSTR_INSTANCE.nextInt(10) < stack.getAmount() - 80)) { return false; } if (stack.getDefinition().getCharge() == 0) { - //if(stack.definition instanceof dHadronDefinition){ - double neutrals = stack.getAmount() * liquidDrop[2]; - int neutrals_cnt = (int) Math.floor(neutrals); + // if(stack.definition instanceof dHadronDefinition){ + double neutrals = stack.getAmount() * liquidDrop[2]; + int neutrals_cnt = (int) Math.floor(neutrals); neutrals_cnt += neutrals - neutrals_cnt > XSTR_INSTANCE.nextDouble() ? 1 : 0; particles.putUnifyExact(new EMDefinitionStack(stack.getDefinition(), neutrals_cnt)); @@ -1161,10 +1481,10 @@ public class EMAtomDefinition extends EMComplexTemplate { } fissile.removeAmountExact(new EMDefinitionStack(stack.getDefinition(), heavy_cnt + neutrals_cnt)); heavy.putReplace(new EMDefinitionStack(stack.getDefinition(), heavy_cnt)); - //}else{ + // }else{ // particles.add(stack); // light.remove(stack.definition); - //} + // } } else { int heavy_cnt = (int) Math.ceil(stack.getAmount() * liquidDrop[0]); if (heavy_cnt % 2 == 1 && XSTR_INSTANCE.nextDouble() > 0.05D) { @@ -1177,9 +1497,12 @@ public class EMAtomDefinition extends EMComplexTemplate { } try { - particles.putReplace(new EMDefinitionStack(new EMAtomDefinition(fissile.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1)); - particles.putReplace(new EMDefinitionStack(new EMAtomDefinition(heavy.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1)); - decaysList.add(new EMDecay(probability, particles.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); + particles.putReplace(new EMDefinitionStack( + new EMAtomDefinition(fissile.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1)); + particles.putReplace(new EMDefinitionStack( + new EMAtomDefinition(heavy.toImmutable_optimized_unsafe_LeavesExposedElementalTree()), 1)); + decaysList.add( + new EMDecay(probability, particles.toImmutable_optimized_unsafe_LeavesExposedElementalTree())); return true; } catch (Exception e) { if (DEBUG_MODE) { @@ -1204,7 +1527,7 @@ public class EMAtomDefinition extends EMComplexTemplate { out[0] = -out[0]; } - //scale to splitting ratio + // scale to splitting ratio out[0] = out[0] * 0.05d + .6d; if (out[0] < 0 || out[0] > 1) { @@ -1214,7 +1537,7 @@ public class EMAtomDefinition extends EMComplexTemplate { out[0] = 1d - out[0]; } - //extra neutrals + // extra neutrals out[2] = 0.012d + XSTR_INSTANCE.nextDouble() * 0.01d; if (asymmetric) { @@ -1235,7 +1558,7 @@ public class EMAtomDefinition extends EMComplexTemplate { } } if (energyLevel < abs(getCharge()) / 3 + getNeutralCount()) { - return new EMDecay[]{new EMDecay(1, this, boson_Y__)}; + return new EMDecay[] {new EMDecay(1, this, boson_Y__)}; } return getNaturalDecayInstant(); } @@ -1243,7 +1566,7 @@ public class EMAtomDefinition extends EMComplexTemplate { @Override public double getEnergyDiffBetweenStates(long currentEnergyLevel, long newEnergyLevel) { if (iaeaDefinitionExistsAndHasEnergyLevels) { - double result = 0; + double result = 0; boolean backwards = newEnergyLevel < currentEnergyLevel; if (backwards) { long temp = currentEnergyLevel; @@ -1258,13 +1581,17 @@ public class EMAtomDefinition extends EMComplexTemplate { result += IEMDefinition.DEFAULT_ENERGY_REQUIREMENT * -currentEnergyLevel; } } else { - result -= getIaea().getEnergeticStatesArray()[(int) Math.min(getIaea().getEnergeticStatesArray().length - 1, currentEnergyLevel)].energy; + result -= getIaea() + .getEnergeticStatesArray()[ + (int) Math.min(getIaea().getEnergeticStatesArray().length - 1, currentEnergyLevel)] + .energy; } if (newEnergyLevel >= getIaea().getEnergeticStatesArray().length) { if (currentEnergyLevel >= getIaea().getEnergeticStatesArray().length) { return IEMDefinition.DEFAULT_ENERGY_REQUIREMENT * (newEnergyLevel - currentEnergyLevel); } else { - result += IEMDefinition.DEFAULT_ENERGY_REQUIREMENT * (newEnergyLevel - getIaea().getEnergeticStatesArray().length + 1); + result += IEMDefinition.DEFAULT_ENERGY_REQUIREMENT + * (newEnergyLevel - getIaea().getEnergeticStatesArray().length + 1); } result += getIaea().getEnergeticStatesArray()[getIaea().getEnergeticStatesArray().length - 1].energy; } else { @@ -1293,7 +1620,7 @@ public class EMAtomDefinition extends EMComplexTemplate { state = getIaea().getEnergeticStatesArray()[(int) energyLevel]; } for (EMNuclideIAEA.iaeaDecay decay : state.decaymodes) { - if (decay.decayName.contains("F")) return true;//if is fissile + if (decay.decayName.contains("F")) return true; // if is fissile } return false; } @@ -1310,22 +1637,23 @@ public class EMAtomDefinition extends EMComplexTemplate { @Override public EMDecay[] getNaturalDecayInstant() { - //disembody + // disembody ArrayList decaysInto = new ArrayList<>(); for (EMDefinitionStack elementalStack : elementalStacks.valuesToArray()) { - if (elementalStack.getDefinition().getGeneration() == 1 || elementalStack.getDefinition().getGeneration() == -1) { - //covers both quarks and antiquarks + if (elementalStack.getDefinition().getGeneration() == 1 + || elementalStack.getDefinition().getGeneration() == -1) { + // covers both quarks and antiquarks decaysInto.add(elementalStack); } else { - //covers both quarks and antiquarks + // covers both quarks and antiquarks decaysInto.add(new EMDefinitionStack(boson_Y__, 2)); } } - return new EMDecay[]{new EMDecay(0.75D, decaysInto.toArray(new EMDefinitionStack[0])), deadEnd}; + return new EMDecay[] {new EMDecay(0.75D, decaysInto.toArray(new EMDefinitionStack[0])), deadEnd}; } - //@Override - //public iElementalDefinition getAnti() { + // @Override + // public iElementalDefinition getAnti() { // EMDefinitionStack[] stacks = this.elementalStacks.values(); // EMDefinitionStack[] antiElements = new EMDefinitionStack[stacks.length]; // for (int i = 0; i < antiElements.length; i++) { @@ -1337,7 +1665,7 @@ public class EMAtomDefinition extends EMComplexTemplate { // if (DEBUG_MODE) e.printStackTrace(); // return null; // } - //} + // } @Override public EMAtomDefinition getAnti() { @@ -1377,8 +1705,13 @@ public class EMAtomDefinition extends EMComplexTemplate { } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(nbtType, new EMIndirectType((definitionsRegistry, nbt) -> - new EMAtomDefinition(EMConstantStackMap.fromNBT(definitionsRegistry, nbt)), EMAtomDefinition.class, "tt.keyword.Element")); + registry.registerDefinitionClass( + nbtType, + new EMIndirectType( + (definitionsRegistry, nbt) -> + new EMAtomDefinition(EMConstantStackMap.fromNBT(definitionsRegistry, nbt)), + EMAtomDefinition.class, + "tt.keyword.Element")); EMNuclideIAEA.run(); for (Runnable r : overrides) { @@ -1389,137 +1722,162 @@ public class EMAtomDefinition extends EMComplexTemplate { try { lifetimeOverrides.put(new EMAtomDefinition(entry.getKey().elementalStacks), entry.getValue()); } catch (EMException e) { - e.printStackTrace(); //Impossible + e.printStackTrace(); // Impossible } } - //populate stable isotopes - for (int element = 1; element < 83; element++) {//Up to Bismuth exclusive + // populate stable isotopes + for (int element = 1; element < 83; element++) { // Up to Bismuth exclusive for (int isotope = 0; isotope < 130; isotope++) { xstr.setSeed((long) (element + 1) * (isotope + 100)); - //stability curve - int StableIsotope = stableIzoCurve(element); - int izoDiff = isotope - StableIsotope; - int izoDiffAbs = abs(izoDiff); - double rawLifeTime = calculateLifeTime(izoDiff, izoDiffAbs, element, isotope, false); - EMNuclideIAEA nuclide = EMNuclideIAEA.get(element, isotope); - if (rawLifeTime >= STABLE_RAW_LIFE_TIME || nuclide != null && nuclide.getHalfTime() >= STABLE_RAW_LIFE_TIME) { + // stability curve + int StableIsotope = stableIzoCurve(element); + int izoDiff = isotope - StableIsotope; + int izoDiffAbs = abs(izoDiff); + double rawLifeTime = calculateLifeTime(izoDiff, izoDiffAbs, element, isotope, false); + EMNuclideIAEA nuclide = EMNuclideIAEA.get(element, isotope); + if (rawLifeTime >= STABLE_RAW_LIFE_TIME + || nuclide != null && nuclide.getHalfTime() >= STABLE_RAW_LIFE_TIME) { TreeSet isotopes = stableIsotopes.computeIfAbsent(element, k -> new TreeSet<>()); isotopes.add(isotope); } } } - //populate unstable isotopes + // populate unstable isotopes for (int element = 1; element < 150; element++) { for (int isotope = 100; isotope < 180; isotope++) { xstr.setSeed((long) (element + 1) * (isotope + 100)); - //stability curve - int Isotope = stableIzoCurve(element); - int izoDiff = isotope - Isotope; - int izoDiffAbs = abs(izoDiff); - double rawLifeTime = calculateLifeTime(izoDiff, izoDiffAbs, element, isotope, false); - TreeMap isotopes = mostStableUnstableIsotopes.computeIfAbsent(element, k -> new TreeMap<>()); - isotopes.put(rawLifeTime, isotope);//todo dont add stable ones + // stability curve + int Isotope = stableIzoCurve(element); + int izoDiff = isotope - Isotope; + int izoDiffAbs = abs(izoDiff); + double rawLifeTime = calculateLifeTime(izoDiff, izoDiffAbs, element, isotope, false); + TreeMap isotopes = + mostStableUnstableIsotopes.computeIfAbsent(element, k -> new TreeMap<>()); + isotopes.put(rawLifeTime, isotope); // todo dont add stable ones } } try { for (Map.Entry> integerTreeSetEntry : stableIsotopes.entrySet()) { - stableAtoms.put(integerTreeSetEntry.getKey(), new EMAtomDefinition( - new EMDefinitionStack(EMHadronDefinition.hadron_p, integerTreeSetEntry.getKey()), - new EMDefinitionStack(EMHadronDefinition.hadron_n, integerTreeSetEntry.getValue().first()), - new EMDefinitionStack(EMLeptonDefinition.lepton_e, integerTreeSetEntry.getKey()))); + stableAtoms.put( + integerTreeSetEntry.getKey(), + new EMAtomDefinition( + new EMDefinitionStack(EMHadronDefinition.hadron_p, integerTreeSetEntry.getKey()), + new EMDefinitionStack( + EMHadronDefinition.hadron_n, + integerTreeSetEntry.getValue().first()), + new EMDefinitionStack(EMLeptonDefinition.lepton_e, integerTreeSetEntry.getKey()))); if (DEBUG_MODE) { - TecTech.LOGGER.info("Added Stable Atom:" + integerTreeSetEntry.getKey() + ' ' + integerTreeSetEntry.getValue().first() + ' ' + stableAtoms.get(integerTreeSetEntry.getKey()).getMass()); + TecTech.LOGGER.info("Added Stable Atom:" + integerTreeSetEntry.getKey() + ' ' + + integerTreeSetEntry.getValue().first() + ' ' + + stableAtoms.get(integerTreeSetEntry.getKey()).getMass()); } } - for (Map.Entry> integerTreeMapEntry : mostStableUnstableIsotopes.entrySet()) { - unstableAtoms.put(integerTreeMapEntry.getKey(), new EMAtomDefinition( - new EMDefinitionStack(EMHadronDefinition.hadron_p, integerTreeMapEntry.getKey()), - new EMDefinitionStack(EMHadronDefinition.hadron_n, integerTreeMapEntry.getValue().lastEntry().getValue()), - new EMDefinitionStack(EMLeptonDefinition.lepton_e, integerTreeMapEntry.getKey()))); + for (Map.Entry> integerTreeMapEntry : + mostStableUnstableIsotopes.entrySet()) { + unstableAtoms.put( + integerTreeMapEntry.getKey(), + new EMAtomDefinition( + new EMDefinitionStack(EMHadronDefinition.hadron_p, integerTreeMapEntry.getKey()), + new EMDefinitionStack( + EMHadronDefinition.hadron_n, + integerTreeMapEntry + .getValue() + .lastEntry() + .getValue()), + new EMDefinitionStack(EMLeptonDefinition.lepton_e, integerTreeMapEntry.getKey()))); if (DEBUG_MODE) { - TecTech.LOGGER.info("Added Unstable Atom:" + integerTreeMapEntry.getKey() + ' ' + integerTreeMapEntry.getValue().lastEntry().getValue() + ' ' + unstableAtoms.get(integerTreeMapEntry.getKey()).getMass()); + TecTech.LOGGER.info("Added Unstable Atom:" + integerTreeMapEntry.getKey() + ' ' + + integerTreeMapEntry.getValue().lastEntry().getValue() + ' ' + + unstableAtoms.get(integerTreeMapEntry.getKey()).getMass()); } } deuterium = new EMAtomDefinition( - EMHadronDefinition.hadron_p1, - EMHadronDefinition.hadron_n1, - EMLeptonDefinition.lepton_e1).getStackForm(1); + EMHadronDefinition.hadron_p1, EMHadronDefinition.hadron_n1, EMLeptonDefinition.lepton_e1) + .getStackForm(1); registry.registerForDisplay(deuterium.getDefinition()); tritium = new EMAtomDefinition( - EMHadronDefinition.hadron_p1, - EMHadronDefinition.hadron_n2, - EMLeptonDefinition.lepton_e1).getStackForm(1); + EMHadronDefinition.hadron_p1, EMHadronDefinition.hadron_n2, EMLeptonDefinition.lepton_e1) + .getStackForm(1); registry.registerForDisplay(tritium.getDefinition()); helium_3 = new EMAtomDefinition( - EMHadronDefinition.hadron_p2, - EMHadronDefinition.hadron_n1, - EMLeptonDefinition.lepton_e2).getStackForm(1); + EMHadronDefinition.hadron_p2, EMHadronDefinition.hadron_n1, EMLeptonDefinition.lepton_e2) + .getStackForm(1); registry.registerForDisplay(helium_3.getDefinition()); - alpha = new EMAtomDefinition( - EMHadronDefinition.hadron_p2, - EMHadronDefinition.hadron_n2).getStackForm(1); + alpha = new EMAtomDefinition(EMHadronDefinition.hadron_p2, EMHadronDefinition.hadron_n2).getStackForm(1); registry.registerForDisplay(alpha.getDefinition()); beryllium_8 = new EMAtomDefinition( - new EMDefinitionStack(EMHadronDefinition.hadron_p, 4), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 4), - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 4)).getStackForm(1); + new EMDefinitionStack(EMHadronDefinition.hadron_p, 4), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 4), + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 4)) + .getStackForm(1); registry.registerForDisplay(beryllium_8.getDefinition()); carbon_14 = new EMAtomDefinition( - new EMDefinitionStack(EMHadronDefinition.hadron_p, 6), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 8), - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 6)).getStackForm(1); + new EMDefinitionStack(EMHadronDefinition.hadron_p, 6), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 8), + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 6)) + .getStackForm(1); registry.registerForDisplay(carbon_14.getDefinition()); neon_24 = new EMAtomDefinition( - new EMDefinitionStack(EMHadronDefinition.hadron_p, 10), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 14), - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 10)).getStackForm(1); + new EMDefinitionStack(EMHadronDefinition.hadron_p, 10), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 14), + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 10)) + .getStackForm(1); registry.registerForDisplay(neon_24.getDefinition()); silicon_34 = new EMAtomDefinition( - new EMDefinitionStack(EMHadronDefinition.hadron_p, 14), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 20), - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 14)).getStackForm(1); + new EMDefinitionStack(EMHadronDefinition.hadron_p, 14), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 20), + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 14)) + .getStackForm(1); registry.registerForDisplay(silicon_34.getDefinition()); uranium_238 = new EMAtomDefinition( - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 92), - new EMDefinitionStack(EMHadronDefinition.hadron_p, 92), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 146)).getStackForm(1); + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 92), + new EMDefinitionStack(EMHadronDefinition.hadron_p, 92), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 146)) + .getStackForm(1); registry.registerForDisplay(uranium_238.getDefinition()); uranium_235 = new EMAtomDefinition( - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 92), - new EMDefinitionStack(EMHadronDefinition.hadron_p, 92), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 143)).getStackForm(1); + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 92), + new EMDefinitionStack(EMHadronDefinition.hadron_p, 92), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 143)) + .getStackForm(1); registry.registerForDisplay(uranium_235.getDefinition()); - TecTech.LOGGER.info("Diff Mass U : " + (uranium_238.getDefinition().getMass() - uranium_235.getDefinition().getMass())); + TecTech.LOGGER.info("Diff Mass U : " + + (uranium_238.getDefinition().getMass() + - uranium_235.getDefinition().getMass())); plutonium_239 = new EMAtomDefinition( - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 94), - new EMDefinitionStack(EMHadronDefinition.hadron_p, 94), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 145)).getStackForm(1); + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 94), + new EMDefinitionStack(EMHadronDefinition.hadron_p, 94), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 145)) + .getStackForm(1); registry.registerForDisplay(plutonium_239.getDefinition()); plutonium_241 = new EMAtomDefinition( - new EMDefinitionStack(EMLeptonDefinition.lepton_e, 94), - new EMDefinitionStack(EMHadronDefinition.hadron_p, 94), - new EMDefinitionStack(EMHadronDefinition.hadron_n, 147)).getStackForm(1); + new EMDefinitionStack(EMLeptonDefinition.lepton_e, 94), + new EMDefinitionStack(EMHadronDefinition.hadron_p, 94), + new EMDefinitionStack(EMHadronDefinition.hadron_n, 147)) + .getStackForm(1); registry.registerForDisplay(plutonium_241.getDefinition()); - TecTech.LOGGER.info("Diff Mass Pu: " + (plutonium_241.getDefinition().getMass() - plutonium_239.getDefinition().getMass())); + TecTech.LOGGER.info("Diff Mass Pu: " + + (plutonium_241.getDefinition().getMass() + - plutonium_239.getDefinition().getMass())); - somethingHeavy=(EMAtomDefinition) plutonium_241.getDefinition(); + somethingHeavy = (EMAtomDefinition) plutonium_241.getDefinition(); } catch (Exception e) { if (DEBUG_MODE) { @@ -1533,9 +1891,9 @@ public class EMAtomDefinition extends EMComplexTemplate { for (int i = 1; i <= 118; i++) { EMAtomDefinition firstStableIsotope = getFirstStableIsotope(i); - if(firstStableIsotope==null){ + if (firstStableIsotope == null) { firstStableIsotope = getBestUnstableIsotope(i); - if(firstStableIsotope==null){ + if (firstStableIsotope == null) { continue; } } @@ -1547,115 +1905,438 @@ public class EMAtomDefinition extends EMComplexTemplate { /*----STABLE ATOMS----**/ refMass = getFirstStableIsotope(1).getMass() * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(1), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Hydrogen.mGas, 144); - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(2), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Helium.mGas, 144); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(3), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Lithium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(4), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Beryllium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(5), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Boron, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(6), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Carbon, 1); - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(7), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Nitrogen.mGas, 144); - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(8), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Oxygen.mGas, 144); - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(9), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Fluorine.mGas, 144); - //transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(10), AVOGADRO_CONSTANT_144),Neon.mGas.getID(), 144); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(11), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Sodium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(12), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Magnesium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(13), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Aluminium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(14), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Silicon, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(15), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Phosphorus, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(16), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Sulfur, 1); - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(17), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Argon.mGas, 144); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(19), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Potassium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(20), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Calcium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(21), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Scandium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(22), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Titanium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(23), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Vanadium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(24), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Chrome, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(25), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Manganese, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(26), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Iron, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(27), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Cobalt, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(28), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Nickel, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(29), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Copper, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(30), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Zinc, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(31), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Gallium, 1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(32), AVOGADRO_CONSTANT_144),dust, Germanium,1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(33), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Arsenic, 1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(34), AVOGADRO_CONSTANT_144),dust, Selenium,1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(35), AVOGADRO_CONSTANT_144),dust, Bromine,1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(36), AVOGADRO_CONSTANT_144),dust, Krypton,1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(37), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Rubidium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(38), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Strontium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(39), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Yttrium, 1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(40), AVOGADRO_CONSTANT_144),dust, Zirconium,1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(41), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Niobium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(42), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Molybdenum, 1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(43), AVOGADRO_CONSTANT_144),dust, Technetium,1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(44), AVOGADRO_CONSTANT_144),dust, Ruthenium,1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(45), AVOGADRO_CONSTANT_144),dust, Rhodium,1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(46), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Palladium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(47), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Silver, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(48), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Cadmium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(49), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Indium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(50), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Tin, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(51), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Antimony, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(52), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Tellurium, 1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(53), AVOGADRO_CONSTANT_144),dust, Iodine,1); - //transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(54), AVOGADRO_CONSTANT_144),Xenon.mGas.getID(), 144); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(55), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Caesium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(56), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Barium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(57), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Lanthanum, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(58), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Cerium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(59), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Praseodymium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(60), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Neodymium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(62), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Samarium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(63), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Europium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(64), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Gadolinium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(65), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Terbium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(66), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Dysprosium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(67), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Holmium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(68), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Erbium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(69), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Thulium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(70), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Ytterbium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(71), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Lutetium, 1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(72), AVOGADRO_CONSTANT_144),dust, Hafnum,1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(73), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Tantalum, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(74), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Tungsten, 1); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(75), AVOGADRO_CONSTANT_144),dust, Rhenium,1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(76), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Osmium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(77), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Iridium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(78), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Platinum, 1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(79), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Gold, 1); - transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(80), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Mercury.mFluid, 144); - //transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(81), AVOGADRO_CONSTANT_144),dust, Thallium,1); - transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(82), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Lead, 1); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(1), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Hydrogen.mGas, + 144); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(2), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Helium.mGas, + 144); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(3), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Lithium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(4), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Beryllium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(5), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Boron, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(6), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Carbon, + 1); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(7), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Nitrogen.mGas, + 144); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(8), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Oxygen.mGas, + 144); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(9), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Fluorine.mGas, + 144); + // transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(10), + // AVOGADRO_CONSTANT_144),Neon.mGas.getID(), 144); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(11), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Sodium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(12), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Magnesium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(13), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Aluminium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(14), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Silicon, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(15), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Phosphorus, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(16), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Sulfur, + 1); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(17), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Argon.mGas, + 144); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(19), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Potassium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(20), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Calcium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(21), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Scandium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(22), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Titanium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(23), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Vanadium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(24), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Chrome, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(25), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Manganese, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(26), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Iron, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(27), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Cobalt, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(28), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Nickel, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(29), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Copper, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(30), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Zinc, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(31), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Gallium, + 1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(32), AVOGADRO_CONSTANT_144),dust, + // Germanium,1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(33), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Arsenic, + 1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(34), AVOGADRO_CONSTANT_144),dust, + // Selenium,1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(35), AVOGADRO_CONSTANT_144),dust, + // Bromine,1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(36), AVOGADRO_CONSTANT_144),dust, + // Krypton,1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(37), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Rubidium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(38), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Strontium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(39), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Yttrium, + 1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(40), AVOGADRO_CONSTANT_144),dust, + // Zirconium,1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(41), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Niobium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(42), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Molybdenum, + 1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(43), AVOGADRO_CONSTANT_144),dust, + // Technetium,1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(44), AVOGADRO_CONSTANT_144),dust, + // Ruthenium,1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(45), AVOGADRO_CONSTANT_144),dust, + // Rhodium,1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(46), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Palladium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(47), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Silver, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(48), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Cadmium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(49), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Indium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(50), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Tin, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(51), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Antimony, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(52), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Tellurium, + 1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(53), AVOGADRO_CONSTANT_144),dust, + // Iodine,1); + // transformationInfo.addFluid(new EMDefinitionStack(getFirstStableIsotope(54), + // AVOGADRO_CONSTANT_144),Xenon.mGas.getID(), 144); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(55), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Caesium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(56), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Barium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(57), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Lanthanum, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(58), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Cerium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(59), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Praseodymium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(60), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Neodymium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(62), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Samarium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(63), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Europium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(64), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Gadolinium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(65), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Terbium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(66), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Dysprosium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(67), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Holmium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(68), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Erbium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(69), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Thulium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(70), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Ytterbium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(71), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Lutetium, + 1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(72), AVOGADRO_CONSTANT_144),dust, + // Hafnum,1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(73), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Tantalum, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(74), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Tungsten, + 1); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(75), AVOGADRO_CONSTANT_144),dust, + // Rhenium,1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(76), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Osmium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(77), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Iridium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(78), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Platinum, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(79), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Gold, + 1); + transformationInfo.addFluid( + new EMDefinitionStack(getFirstStableIsotope(80), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Mercury.mFluid, + 144); + // transformationInfo.addOredict(new EMDefinitionStack(getFirstStableIsotope(81), AVOGADRO_CONSTANT_144),dust, + // Thallium,1); + transformationInfo.addOredict( + new EMDefinitionStack(getFirstStableIsotope(82), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Lead, + 1); /*----UNSTABLE ATOMS----**/ refUnstableMass = getFirstStableIsotope(82).getMass() * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(61), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Promethium, 1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(83), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Bismuth, 1); - //transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(84),AVOGADRO_CONSTANT_144),dust, Polonium,1); - //transformationInfo.addFluid(new EMDefinitionStack(getBestUnstableIsotope(85),AVOGADRO_CONSTANT_144),Astatine.mPlasma.getID(), 144); - transformationInfo.addFluid(new EMDefinitionStack(getBestUnstableIsotope(86), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Radon.mGas, 144); - //transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(87),AVOGADRO_CONSTANT_144),dust, Francium,1); - //transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(88),AVOGADRO_CONSTANT_144),dust, Radium,1); - //transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(89),AVOGADRO_CONSTANT_144),dust, Actinium,1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(90), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Thorium, 1); - //transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(91),AVOGADRO_CONSTANT_144),dust, Protactinium,1); - ////transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(92),AVOGADRO_CONSTANT_144), dust, Uranium,1); - //transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(93),AVOGADRO_CONSTANT_144),dust, Neptunium,1); - ////transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(94),AVOGADRO_CONSTANT_144), dust, Plutonium,1); - transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(95), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Americium, 1); - - - transformationInfo.addFluid(new EMDefinitionStack(deuterium.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Deuterium.mGas, 144); - transformationInfo.addFluid(new EMDefinitionStack(tritium.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Tritium.mGas, 144); - transformationInfo.addFluid(new EMDefinitionStack(helium_3.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), Helium_3.mGas, 144); - - transformationInfo.addOredict(new EMDefinitionStack(uranium_238.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Uranium/*238*/, 1); - transformationInfo.addOredict(new EMDefinitionStack(uranium_235.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Uranium235, 1); - - transformationInfo.addOredict(new EMDefinitionStack(plutonium_239.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Plutonium/*239*/, 1); - transformationInfo.addOredict(new EMDefinitionStack(plutonium_241.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), dust, Plutonium241, 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(61), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Promethium, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(83), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Bismuth, + 1); + // transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(84),AVOGADRO_CONSTANT_144),dust, + // Polonium,1); + // transformationInfo.addFluid(new + // EMDefinitionStack(getBestUnstableIsotope(85),AVOGADRO_CONSTANT_144),Astatine.mPlasma.getID(), 144); + transformationInfo.addFluid( + new EMDefinitionStack(getBestUnstableIsotope(86), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Radon.mGas, + 144); + // transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(87),AVOGADRO_CONSTANT_144),dust, + // Francium,1); + // transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(88),AVOGADRO_CONSTANT_144),dust, + // Radium,1); + // transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(89),AVOGADRO_CONSTANT_144),dust, + // Actinium,1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(90), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Thorium, + 1); + // transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(91),AVOGADRO_CONSTANT_144),dust, + // Protactinium,1); + //// transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(92),AVOGADRO_CONSTANT_144), + // dust, Uranium,1); + // transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(93),AVOGADRO_CONSTANT_144),dust, + // Neptunium,1); + //// transformationInfo.addOredict(new EMDefinitionStack(getBestUnstableIsotope(94),AVOGADRO_CONSTANT_144), + // dust, Plutonium,1); + transformationInfo.addOredict( + new EMDefinitionStack(getBestUnstableIsotope(95), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Americium, + 1); + + transformationInfo.addFluid( + new EMDefinitionStack(deuterium.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Deuterium.mGas, + 144); + transformationInfo.addFluid( + new EMDefinitionStack(tritium.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Tritium.mGas, + 144); + transformationInfo.addFluid( + new EMDefinitionStack(helium_3.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + Helium_3.mGas, + 144); + + transformationInfo.addOredict( + new EMDefinitionStack(uranium_238.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Uranium /*238*/, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(uranium_235.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Uranium235, + 1); + + transformationInfo.addOredict( + new EMDefinitionStack(plutonium_239.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Plutonium /*239*/, + 1); + transformationInfo.addOredict( + new EMDefinitionStack(plutonium_241.getDefinition(), EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED), + dust, + Plutonium241, + 1); } public static EMAtomDefinition getFirstStableIsotope(int element) { diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMHadronDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMHadronDefinition.java index 9fb551e45c..be51eb3681 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMHadronDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMHadronDefinition.java @@ -1,5 +1,11 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.complex; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.boson_Y__; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; @@ -17,45 +23,38 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.transformations import com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMQuarkDefinition; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; -import net.minecraftforge.oredict.OreDictionary; - import java.util.ArrayList; import java.util.HashMap; import java.util.Map; - -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.boson_Y__; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; -import static net.minecraft.util.StatCollector.translateToLocal; +import net.minecraftforge.oredict.OreDictionary; /** * Created by danie_000 on 17.11.2016. */ -public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i/o +public class EMHadronDefinition extends EMComplexTemplate { // TODO Optimize map i/o private final int hash; - private static final String nbtType = "h"; - //Helpers - public static final Map SYMBOL_MAP = new HashMap<>(); - public static final Map UNLOCALIZED_NAME_MAP = new HashMap<>(); - public static EMHadronDefinition hadron_p, hadron_n, hadron_p_, hadron_n_; + private static final String nbtType = "h"; + // Helpers + public static final Map SYMBOL_MAP = new HashMap<>(); + public static final Map UNLOCALIZED_NAME_MAP = new HashMap<>(); + public static EMHadronDefinition hadron_p, hadron_n, hadron_p_, hadron_n_; public static EMDefinitionStack hadron_p1, hadron_n1, hadron_p2, hadron_n2, hadron_p3, hadron_n3, hadron_p5; - private static double protonMass = 0D; - private static double neutronMass = 0D; - private static final double actualProtonMass = 938272081.3D; + private static double protonMass = 0D; + private static double neutronMass = 0D; + private static final double actualProtonMass = 938272081.3D; private static final double actualNeutronMass = 939565413.3D; - //float-mass in eV/c^2 + // float-mass in eV/c^2 private final double mass; - //int -electric charge in 1/3rds of electron charge for optimization - private final int charge; + // int -electric charge in 1/3rds of electron charge for optimization + private final int charge; private final double rawLifeTime; - private final int amount; - //generation max present inside - minus if contains any antiquark - private final byte type; - //private final FluidStack fluidThing; - //private final ItemStack itemThing; + private final int amount; + // generation max present inside - minus if contains any antiquark + private final byte type; + // private final FluidStack fluidThing; + // private final ItemStack itemThing; private final EMConstantStackMap quarkStacks; @@ -77,11 +76,11 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i } quarkStacks = quarks; - int amount = 0; - int charge = 0; - int type = 0; + int amount = 0; + int charge = 0; + int type = 0; boolean containsAnti = false; - double mass = 0; + double mass = 0; for (EMDefinitionStack quarkStack : quarkStacks.valuesToArray()) { amount += quarkStack.getAmount(); if ((int) quarkStack.getAmount() != quarkStack.getAmount()) { @@ -98,7 +97,7 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i this.charge = charge; this.type = containsAnti ? (byte) -type : (byte) type; long mult = (long) this.getAmount() * this.getAmount() * (this.getAmount() - 1); - mass = mass * 5.543D * mult;//yes it becomes heavier + mass = mass * 5.543D * mult; // yes it becomes heavier if (mass == protonMass && this.getAmount() == 3) { rawLifeTime = IEMDefinition.STABLE_RAW_LIFE_TIME; @@ -119,7 +118,7 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i hash = super.hashCode(); } - //public but u can just try{}catch(){} the constructor it still calls this method + // public but u can just try{}catch(){} the constructor it still calls this method private static boolean canTheyBeTogether(EMConstantStackMap stacks) { long amount = 0; for (EMDefinitionStack quarks : stacks.valuesToArray()) { @@ -211,32 +210,40 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i @Override public EMDecay[] getNaturalDecayInstant() { EMDefinitionStack[] quarkStacks = this.quarkStacks.valuesToArray(); - if (getAmount() == 2 && quarkStacks.length == 2 && quarkStacks[0].getDefinition().getMass() == quarkStacks[1].getDefinition().getMass() && quarkStacks[0].getDefinition().getGeneration() == -quarkStacks[1].getDefinition().getGeneration()) { + if (getAmount() == 2 + && quarkStacks.length == 2 + && quarkStacks[0].getDefinition().getMass() + == quarkStacks[1].getDefinition().getMass() + && quarkStacks[0].getDefinition().getGeneration() + == -quarkStacks[1].getDefinition().getGeneration()) { return EMDecay.NO_PRODUCT; } ArrayList decaysInto = new ArrayList<>(); for (EMDefinitionStack quarks : quarkStacks) { - if (quarks.getDefinition().getGeneration() == 1 || quarks.getDefinition().getGeneration() == -1) { - //covers both quarks and antiquarks + if (quarks.getDefinition().getGeneration() == 1 + || quarks.getDefinition().getGeneration() == -1) { + // covers both quarks and antiquarks decaysInto.add(quarks); } else { - //covers both quarks and antiquarks + // covers both quarks and antiquarks decaysInto.add(new EMDefinitionStack(boson_Y__, 2)); } } - return new EMDecay[]{ - new EMDecay(0.75D, decaysInto.toArray(new EMDefinitionStack[0])), - deadEnd - }; + return new EMDecay[] {new EMDecay(0.75D, decaysInto.toArray(new EMDefinitionStack[0])), deadEnd}; } @Override public EMDecay[] getEnergyInducedDecay(long energyLevel) { EMDefinitionStack[] quarkStacks = this.quarkStacks.valuesToArray(); - if (getAmount() == 2 && quarkStacks.length == 2 && quarkStacks[0].getDefinition().getMass() == quarkStacks[1].getDefinition().getMass() && quarkStacks[0].getDefinition().getGeneration() == -quarkStacks[1].getDefinition().getGeneration()) { + if (getAmount() == 2 + && quarkStacks.length == 2 + && quarkStacks[0].getDefinition().getMass() + == quarkStacks[1].getDefinition().getMass() + && quarkStacks[0].getDefinition().getGeneration() + == -quarkStacks[1].getDefinition().getGeneration()) { return EMDecay.NO_PRODUCT; } - return new EMDecay[]{new EMDecay(0.75D, quarkStacks), deadEnd}; //decay into quarks + return new EMDecay[] {new EMDecay(0.75D, quarkStacks), deadEnd}; // decay into quarks } @Override @@ -267,21 +274,24 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i @Override public EMDecay[] getDecayArray() { EMDefinitionStack[] quarkStacks = this.quarkStacks.valuesToArray(); - if (getAmount() == 2 && quarkStacks.length == 2 && - quarkStacks[0].getDefinition().getMass() == quarkStacks[1].getDefinition().getMass() && - quarkStacks[0].getDefinition().getGeneration() == -quarkStacks[1].getDefinition().getGeneration()) { + if (getAmount() == 2 + && quarkStacks.length == 2 + && quarkStacks[0].getDefinition().getMass() + == quarkStacks[1].getDefinition().getMass() + && quarkStacks[0].getDefinition().getGeneration() + == -quarkStacks[1].getDefinition().getGeneration()) { return EMDecay.NO_PRODUCT; } else if (getAmount() != 3) { - return new EMDecay[]{new EMDecay(0.95D, quarkStacks), deadEnd}; //decay into quarks + return new EMDecay[] {new EMDecay(0.95D, quarkStacks), deadEnd}; // decay into quarks } else { ArrayList newBaryon = new ArrayList<>(); - IEMDefinition[] Particles = new IEMDefinition[2]; + IEMDefinition[] Particles = new IEMDefinition[2]; for (EMDefinitionStack quarks : quarkStacks) { for (int i = 0; i < quarks.getAmount(); i++) { newBaryon.add((EMQuarkDefinition) quarks.getDefinition()); } } - //remove last + // remove last EMQuarkDefinition lastQuark = newBaryon.remove(2); EMDefinitionStack[] decay; @@ -299,15 +309,21 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i .toArray(EMDefinitionStack[]::new); try { - return new EMDecay[]{ - new EMDecay(0.001D, new EMHadronDefinition(false, contentOfBaryon), Particles[0], Particles[1], boson_Y__), - new EMDecay(0.99D, new EMHadronDefinition(false, contentOfBaryon), Particles[0], Particles[1]), - deadEnd}; + return new EMDecay[] { + new EMDecay( + 0.001D, + new EMHadronDefinition(false, contentOfBaryon), + Particles[0], + Particles[1], + boson_Y__), + new EMDecay(0.99D, new EMHadronDefinition(false, contentOfBaryon), Particles[0], Particles[1]), + deadEnd + }; } catch (EMException e) { if (DEBUG_MODE) { e.printStackTrace(); } - return new EMDecay[]{deadEnd}; + return new EMDecay[] {deadEnd}; } } } @@ -337,8 +353,8 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i return type; } - //@Override - //public iElementalDefinition getAnti() { + // @Override + // public iElementalDefinition getAnti() { // cElementalDefinitionStack[] stacks = this.quarkStacks.values(); // cElementalDefinitionStack[] antiElements = new cElementalDefinitionStack[stacks.length]; // for (int i = 0; i < antiElements.length; i++) { @@ -350,7 +366,7 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i // if (DEBUG_MODE) e.printStackTrace(); // return null; // } - //} + // } @Override public IEMDefinition getAnti() { @@ -374,38 +390,47 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(nbtType, new EMIndirectType((definitionsRegistry, nbt) -> - new EMHadronDefinition(EMConstantStackMap.fromNBT(definitionsRegistry, nbt)), EMHadronDefinition.class, "tt.keyword.Hadron")); + registry.registerDefinitionClass( + nbtType, + new EMIndirectType( + (definitionsRegistry, nbt) -> + new EMHadronDefinition(EMConstantStackMap.fromNBT(definitionsRegistry, nbt)), + EMHadronDefinition.class, + "tt.keyword.Hadron")); try { - hadron_p = new EMHadronDefinition(new EMConstantStackMap(EMQuarkDefinition.quark_u.getStackForm(2), EMQuarkDefinition.quark_d.getStackForm(1))); + hadron_p = new EMHadronDefinition(new EMConstantStackMap( + EMQuarkDefinition.quark_u.getStackForm(2), EMQuarkDefinition.quark_d.getStackForm(1))); protonMass = hadron_p.getMass(); - //redefine the proton with proper lifetime (the lifetime is based on mass comparison) - hadron_p = new EMHadronDefinition(new EMConstantStackMap(EMQuarkDefinition.quark_u.getStackForm(2), EMQuarkDefinition.quark_d.getStackForm(1))); + // redefine the proton with proper lifetime (the lifetime is based on mass comparison) + hadron_p = new EMHadronDefinition(new EMConstantStackMap( + EMQuarkDefinition.quark_u.getStackForm(2), EMQuarkDefinition.quark_d.getStackForm(1))); SYMBOL_MAP.put(hadron_p, "p"); UNLOCALIZED_NAME_MAP.put(hadron_p, "tt.keyword.Proton"); registry.registerForDisplay(hadron_p); - registry.registerDirectDefinition("p",hadron_p); + registry.registerDirectDefinition("p", hadron_p); hadron_p_ = (EMHadronDefinition) hadron_p.getAnti(); SYMBOL_MAP.put(hadron_p_, "~p"); UNLOCALIZED_NAME_MAP.put(hadron_p_, "tt.keyword.AntiProton"); registry.registerForDisplay(hadron_p_); - registry.registerDirectDefinition("~p",hadron_p_); + registry.registerDirectDefinition("~p", hadron_p_); - hadron_n = new EMHadronDefinition(new EMConstantStackMap(EMQuarkDefinition.quark_u.getStackForm(1), EMQuarkDefinition.quark_d.getStackForm(2))); + hadron_n = new EMHadronDefinition(new EMConstantStackMap( + EMQuarkDefinition.quark_u.getStackForm(1), EMQuarkDefinition.quark_d.getStackForm(2))); neutronMass = hadron_n.getMass(); - //redefine the neutron with proper lifetime (the lifetime is based on mass comparison) - hadron_n = new EMHadronDefinition(new EMConstantStackMap(EMQuarkDefinition.quark_u.getStackForm(1), EMQuarkDefinition.quark_d.getStackForm(2))); + // redefine the neutron with proper lifetime (the lifetime is based on mass comparison) + hadron_n = new EMHadronDefinition(new EMConstantStackMap( + EMQuarkDefinition.quark_u.getStackForm(1), EMQuarkDefinition.quark_d.getStackForm(2))); SYMBOL_MAP.put(hadron_n, "n"); UNLOCALIZED_NAME_MAP.put(hadron_n, "tt.keyword.Neutron"); registry.registerForDisplay(hadron_n); - registry.registerDirectDefinition("n",hadron_n); + registry.registerDirectDefinition("n", hadron_n); hadron_n_ = (EMHadronDefinition) hadron_n.getAnti(); SYMBOL_MAP.put(hadron_n_, "~n"); UNLOCALIZED_NAME_MAP.put(hadron_n_, "tt.keyword.AntiNeutron"); registry.registerForDisplay(hadron_n_); - registry.registerDirectDefinition("~n",hadron_n_); + registry.registerDirectDefinition("~n", hadron_n_); TecTech.LOGGER.info("Old Neutron Mass: " + neutronMass); TecTech.LOGGER.info("Old Proton Mass: " + protonMass); @@ -431,16 +456,20 @@ public class EMHadronDefinition extends EMComplexTemplate {//TODO Optimize map i } } - public static void setTransformations(EMTransformationRegistry transformationInfo) {//Todo use Neutronium atom? - //Added to atom map, but should be in its own + public static void setTransformations(EMTransformationRegistry transformationInfo) { // Todo use Neutronium atom? + // Added to atom map, but should be in its own EMDefinitionStack neutrons = new EMDefinitionStack(hadron_n, 1000 * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED); EMDequantizationInfo emDequantizationInfo = new EMDequantizationInfo(neutrons); - emDequantizationInfo.setOre(new OreDictionaryStack(1,OreDictionary.getOreID(OrePrefixes.dust.name() + Materials.Neutronium.mName)));//todo shitty looking, but works... + emDequantizationInfo.setOre(new OreDictionaryStack( + 1, + OreDictionary.getOreID( + OrePrefixes.dust.name() + Materials.Neutronium.mName))); // todo shitty looking, but works... transformationInfo.getInfoMap().put(neutrons.getDefinition(), emDequantizationInfo); - transformationInfo.getOredictQuantization().put( - OreDictionary.getOreID(OrePrefixes.ingotHot.name() + Materials.Neutronium.mName), - new EMOredictQuantizationInfo(OrePrefixes.ingotHot, Materials.Neutronium, 1, neutrons) - ); + transformationInfo + .getOredictQuantization() + .put( + OreDictionary.getOreID(OrePrefixes.ingotHot.name() + Materials.Neutronium.mName), + new EMOredictQuantizationInfo(OrePrefixes.ingotHot, Materials.Neutronium, 1, neutrons)); } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMNuclideIAEA.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMNuclideIAEA.java index e5fab5e6bf..13cab15970 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMNuclideIAEA.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/EMNuclideIAEA.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.complex; +import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.STABLE_RAW_LIFE_TIME; +import static com.github.technus.tectech.util.TT_Utility.splitButDifferent; + import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; @@ -7,160 +10,169 @@ import java.util.HashMap; import java.util.HashSet; import java.util.TreeMap; -import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.STABLE_RAW_LIFE_TIME; -import static com.github.technus.tectech.util.TT_Utility.splitButDifferent; - public final class EMNuclideIAEA { - public static final double AMU_TO_EV_DIV_C_C=9.31494061E08D,MICRO_AMU_TO_EV_DIV_C_C=9.31494061E02D; + public static final double AMU_TO_EV_DIV_C_C = 9.31494061E08D, MICRO_AMU_TO_EV_DIV_C_C = 9.31494061E02D; - //Nuclide T1/2 T1/2 [s] Decay Modes ? Q Q?- Q? QEC Q?- n Sn Sp Binding/A Atomic Mass Mass Excess Discovery - //Abund. [mole fract.] BR [%] [?N] [barn] [keV] [keV] [keV] [keV] [keV] [keV] [keV] [? AMU] [keV] + // Nuclide T1/2 T1/2 [s] Decay Modes ? Q Q?- Q? QEC Q?- n Sn Sp Binding/A Atomic Mass Mass + // Excess Discovery + // Abund. [mole fract.] BR [%] [?N] [barn] [keV] [keV] [keV] [keV] [keV] [keV] [keV] [? AMU] [keV] - //Z,N,symb,radius, unc, energy, unc, jp, half-life operator, half_life, unc,unit, half_life [s], unc, decay, decay %, unc, decay, decay %, unc, decay, decay %, unc,isospin,magn. dipole, unc, elect. quad , unc,Qb-,unc,Qb- n,unc,Qa, unc, Qec, unc,Sn,unc, Sp,unc,Binding/A,unc,atomic mass, unc, mass excess,unc, - //Z,N,symbol,energy , unc, jp,half-life operator, half_life, unc,unit, half_life [s], unc, decay, decay %, unc, decay, decay %, unc, decay, decay %, unc,isospin,magn. dipole, unc, elect. quadrupole , unc, - private static final HashMap NUCLIDES =new HashMap<>(); + // Z,N,symb,radius, unc, energy, unc, jp, half-life operator, half_life, unc,unit, half_life [s], unc, decay, decay + // %, unc, decay, decay %, unc, decay, decay %, unc,isospin,magn. dipole, unc, elect. quad , unc,Qb-,unc,Qb- + // n,unc,Qa, unc, Qec, unc,Sn,unc, Sp,unc,Binding/A,unc,atomic mass, unc, mass excess,unc, + // Z,N,symbol,energy , unc, jp,half-life operator, half_life, unc,unit, half_life [s], unc, decay, decay %, unc, + // decay, decay %, unc, decay, decay %, unc,isospin,magn. dipole, unc, elect. quadrupole , unc, + private static final HashMap NUCLIDES = new HashMap<>(); - public static void run(){ - String line=""; + public static void run() { + String line = ""; try { - BufferedReader reader = new BufferedReader(new InputStreamReader(EMNuclideIAEA.class.getResourceAsStream("nuclides.csv"))); - ArrayList blockOfData=new ArrayList<>(4); - while((line=reader.readLine())!=null) { - String[] split= splitButDifferent(line,","); - if(split.length!=19) { - throw new Error("Invalid count (" + split.length + ") of separators in IAEA nuclides database " + line); + BufferedReader reader = + new BufferedReader(new InputStreamReader(EMNuclideIAEA.class.getResourceAsStream("nuclides.csv"))); + ArrayList blockOfData = new ArrayList<>(4); + while ((line = reader.readLine()) != null) { + String[] split = splitButDifferent(line, ","); + if (split.length != 19) { + throw new Error( + "Invalid count (" + split.length + ") of separators in IAEA nuclides database " + line); } - if(!split[1].isEmpty() && !blockOfData.isEmpty()) { + if (!split[1].isEmpty() && !blockOfData.isEmpty()) { new EMNuclideIAEA(blockOfData.toArray(new String[blockOfData.size()][])); blockOfData.clear(); } blockOfData.add(split); } - if(!blockOfData.isEmpty()) { + if (!blockOfData.isEmpty()) { new EMNuclideIAEA(blockOfData.toArray(new String[blockOfData.size()][])); blockOfData.clear(); } reader.close(); - }catch (Exception e){ + } catch (Exception e) { System.out.println(line); e.printStackTrace(); } try { - BufferedReader reader = new BufferedReader(new InputStreamReader(EMNuclideIAEA.class.getResourceAsStream("nuclidesTable.csv"))); - while((line=reader.readLine())!=null) { - String[] split= splitButDifferent(line,","); - if(split.length!=47) { - throw new Error("Invalid count (" + split.length + ") of separators in IAEA nuclidesTable database " + line); + BufferedReader reader = new BufferedReader( + new InputStreamReader(EMNuclideIAEA.class.getResourceAsStream("nuclidesTable.csv"))); + while ((line = reader.readLine()) != null) { + String[] split = splitButDifferent(line, ","); + if (split.length != 47) { + throw new Error("Invalid count (" + split.length + ") of separators in IAEA nuclidesTable database " + + line); } - get(Integer.parseInt(split[0]),Integer.parseInt(split[1])).getMoreData(split); + get(Integer.parseInt(split[0]), Integer.parseInt(split[1])).getMoreData(split); } reader.close(); - }catch (Exception e){ + } catch (Exception e) { System.out.println(line); e.printStackTrace(); } try { - BufferedReader reader = new BufferedReader(new InputStreamReader(EMNuclideIAEA.class.getResourceAsStream("energyLevels.csv"))); - while((line=reader.readLine())!=null) { - String[] split= splitButDifferent(line,","); - if(split.length!=27) { - throw new Error("Invalid count (" + split.length + ") of separators in IAEA energyLevels database " + line); + BufferedReader reader = new BufferedReader( + new InputStreamReader(EMNuclideIAEA.class.getResourceAsStream("energyLevels.csv"))); + while ((line = reader.readLine()) != null) { + String[] split = splitButDifferent(line, ","); + if (split.length != 27) { + throw new Error( + "Invalid count (" + split.length + ") of separators in IAEA energyLevels database " + line); } new energeticState(split); } reader.close(); - }catch (Exception e){ + } catch (Exception e) { System.out.println(line); e.printStackTrace(); } - for(EMNuclideIAEA nuclide:NUCLIDES.values()) { + for (EMNuclideIAEA nuclide : NUCLIDES.values()) { nuclide.makeArrayOfEnergyStates(); } } - public static EMNuclideIAEA get(int protons, int neutrons){ - return NUCLIDES.get((protons<<16)+neutrons); + public static EMNuclideIAEA get(int protons, int neutrons) { + return NUCLIDES.get((protons << 16) + neutrons); } private final short N; private final short Z; - private final double halfTime;//sec - private final double mass;//eV/c^2 - private final short discovery;//year - private TreeMap energeticStates; - private energeticState[] energeticStatesArray; + private final double halfTime; // sec + private final double mass; // eV/c^2 + private final short discovery; // year + private TreeMap energeticStates; + private energeticState[] energeticStatesArray; - - private EMNuclideIAEA(String[][] rows){ - N=Short.parseShort(rows[1][2]); - Z=Short.parseShort(rows[1][0]); - NUCLIDES.put(((int) getZ() <<16)+ getN(),this); + private EMNuclideIAEA(String[][] rows) { + N = Short.parseShort(rows[1][2]); + Z = Short.parseShort(rows[1][0]); + NUCLIDES.put(((int) getZ() << 16) + getN(), this); String[] parts = splitButDifferent(rows[0][16], "|"); - double Mass=doubleOrNaN(parts[0],"mass"); - if(!Double.isNaN(Mass)) { - //System.out.println("Mass =\t" + Mass+"\t"+(N+Z)+"\t"+N+"\t"+Z+"\t"+(Mass/(N+Z))); - mass = Mass* MICRO_AMU_TO_EV_DIV_C_C; - } - else { + double Mass = doubleOrNaN(parts[0], "mass"); + if (!Double.isNaN(Mass)) { + // System.out.println("Mass =\t" + Mass+"\t"+(N+Z)+"\t"+N+"\t"+Z+"\t"+(Mass/(N+Z))); + mass = Mass * MICRO_AMU_TO_EV_DIV_C_C; + } else { mass = Double.NaN; } - discovery=(short)doubleOrNaN(rows[0][18],"discovery"); + discovery = (short) doubleOrNaN(rows[0][18], "discovery"); - if(rows[0][3].contains("STABLE")){ + if (rows[0][3].contains("STABLE")) { halfTime = STABLE_RAW_LIFE_TIME; - }else{ + } else { parts = splitButDifferent(rows[0][4], "|"); - halfTime = doubleOrNaN(parts[0],"half life"); + halfTime = doubleOrNaN(parts[0], "half life"); } } - private void getMoreData(String[] cells){ - //if(DEBUG_MODE) { + private void getMoreData(String[] cells) { + // if(DEBUG_MODE) { // if (add(cells[14])) System.out.println(N + " " + Z); // if (add(cells[17])) System.out.println(N + " " + Z); // if (add(cells[20])) System.out.println(N + " " + Z); - //} - new energeticState(this, getHalfTime(), getDecaysFixed( - cells[14], - doubleOrNaN(cells[15],"chance1"), - cells[17], - doubleOrNaN(cells[18],"chance1"), - cells[20], - doubleOrNaN(cells[21],"chance1"))); + // } + new energeticState( + this, + getHalfTime(), + getDecaysFixed( + cells[14], + doubleOrNaN(cells[15], "chance1"), + cells[17], + doubleOrNaN(cells[18], "chance1"), + cells[20], + doubleOrNaN(cells[21], "chance1"))); } - private static final energeticState[] empty=new energeticState[0]; - private void makeArrayOfEnergyStates(){ - if(energeticStates==null || energeticStates.isEmpty()) { + private static final energeticState[] empty = new energeticState[0]; + + private void makeArrayOfEnergyStates() { + if (energeticStates == null || energeticStates.isEmpty()) { setEnergeticStatesArray(empty); } else { setEnergeticStatesArray(energeticStates.values().toArray(new energeticState[0])); - double life= getHalfTime(); + double life = getHalfTime(); for (energeticState energeticState : getEnergeticStatesArray()) { - if(Double.isNaN(energeticState.Thalf)){ - energeticState.Thalf=life; - }else { - life=energeticState.Thalf; + if (Double.isNaN(energeticState.Thalf)) { + energeticState.Thalf = life; + } else { + life = energeticState.Thalf; } } } } - private double doubleOrNaN(String s, String name){ - s=s.replaceAll("#",""); - if(!s.isEmpty()) { + private double doubleOrNaN(String s, String name) { + s = s.replaceAll("#", ""); + if (!s.isEmpty()) { try { - double value=Double.parseDouble(s); - if(Double.isNaN(value)) { + double value = Double.parseDouble(s); + if (Double.isNaN(value)) { return Double.NaN; } - return value != 0 ?value:Double.NaN; + return value != 0 ? value : Double.NaN; } catch (Exception e) { System.out.println("Invalid Value " + name + ' ' + getN() + ' ' + getZ() + ' ' + s); e.printStackTrace(); @@ -197,64 +209,68 @@ public final class EMNuclideIAEA { this.energeticStatesArray = energeticStatesArray; } - public static final class energeticState{ + public static final class energeticState { public final double energy; public double Thalf; public final iaeaDecay[] decaymodes; - private energeticState(EMNuclideIAEA nuclide, double Thalf, iaeaDecay[] decaymodes){ - energy=0; - this.Thalf=Thalf; - this.decaymodes=decaymodes; - if(nuclide.energeticStates==null) { + private energeticState(EMNuclideIAEA nuclide, double Thalf, iaeaDecay[] decaymodes) { + energy = 0; + this.Thalf = Thalf; + this.decaymodes = decaymodes; + if (nuclide.energeticStates == null) { nuclide.energeticStates = new TreeMap<>(); } - nuclide.energeticStates.put(energy,this); + nuclide.energeticStates.put(energy, this); } - private energeticState(String[] cells){ - EMNuclideIAEA nuclide = get((int)doubleOrNaN(cells[0],"protons"),(int)doubleOrNaN(cells[1],"neutrons")); - if(nuclide==null) { - throw new Error("Missing nuclide " + (int) doubleOrNaN(cells[0], "protons") + ' ' + (int) doubleOrNaN(cells[1], "neutrons")); + private energeticState(String[] cells) { + EMNuclideIAEA nuclide = + get((int) doubleOrNaN(cells[0], "protons"), (int) doubleOrNaN(cells[1], "neutrons")); + if (nuclide == null) { + throw new Error("Missing nuclide " + (int) doubleOrNaN(cells[0], "protons") + ' ' + + (int) doubleOrNaN(cells[1], "neutrons")); } - energy =doubleOrNaN(cells[3],"energy level",nuclide)*1000D;//to eV - if(energy<0) { + energy = doubleOrNaN(cells[3], "energy level", nuclide) * 1000D; // to eV + if (energy < 0) { throw new Error("Invalid energy " + nuclide.getN() + ' ' + nuclide.getZ() + ' ' + cells[3]); } - Thalf =doubleOrNaN(cells[10],"half life",nuclide); - if(nuclide.energeticStates==null) { - new Exception("Should be initialized before doing this... "+ nuclide.getN() + ' ' + nuclide.getZ()).printStackTrace(); + Thalf = doubleOrNaN(cells[10], "half life", nuclide); + if (nuclide.energeticStates == null) { + new Exception("Should be initialized before doing this... " + nuclide.getN() + ' ' + nuclide.getZ()) + .printStackTrace(); nuclide.energeticStates = new TreeMap<>(); } - nuclide.energeticStates.put(energy,this); - //if(DEBUG_MODE) { + nuclide.energeticStates.put(energy, this); + // if(DEBUG_MODE) { // if (add(cells[12])) System.out.println(nuclide.N + " " + nuclide.Z); // if (add(cells[15])) System.out.println(nuclide.N + " " + nuclide.Z); // if (add(cells[18])) System.out.println(nuclide.N + " " + nuclide.Z); - //} + // } decaymodes = getDecaysFixed( cells[12], - doubleOrNaN(cells[13],"chance 1",nuclide), + doubleOrNaN(cells[13], "chance 1", nuclide), cells[15], - doubleOrNaN(cells[16],"chance 2",nuclide), + doubleOrNaN(cells[16], "chance 2", nuclide), cells[18], - doubleOrNaN(cells[19],"chance 3",nuclide)); + doubleOrNaN(cells[19], "chance 3", nuclide)); } - private double doubleOrNaN(String s, String name){ - return doubleOrNaN(s,name,null); + private double doubleOrNaN(String s, String name) { + return doubleOrNaN(s, name, null); } - private double doubleOrNaN(String s, String name, EMNuclideIAEA nuclide){ + private double doubleOrNaN(String s, String name, EMNuclideIAEA nuclide) { s = s.replaceAll("#", ""); if (!s.isEmpty()) { try { return Double.parseDouble(s); } catch (Exception e) { - if(nuclide==null){ + if (nuclide == null) { System.out.println("Invalid Value " + name + ' ' + s); - }else { - System.out.println("Invalid Value " + name + ' ' + nuclide.getN() + ' ' + nuclide.getZ() + ' ' + s); + } else { + System.out.println( + "Invalid Value " + name + ' ' + nuclide.getN() + ' ' + nuclide.getZ() + ' ' + s); } e.printStackTrace(); } @@ -263,74 +279,78 @@ public final class EMNuclideIAEA { } } - private static HashSet decays=new HashSet<>(); - private static boolean add(String s){ - if(decays.add(s)){ + private static HashSet decays = new HashSet<>(); + + private static boolean add(String s) { + if (decays.add(s)) { System.out.println(s); return true; } return false; } - private static iaeaDecay[] getDecaysFixed(String decay1, double chance1,String decay2, double chance2,String decay3, double chance3){ - boolean do1,do2,do3; - do1= !decay1.isEmpty() && !Double.isNaN(chance1); - do2= !decay2.isEmpty() && !Double.isNaN(chance2); - do3= !decay3.isEmpty() && !Double.isNaN(chance3); - TreeMap decays=new TreeMap<>(); - if(do1 && do2 && chance1==100 && chance2==100 && chance3!=100){ + private static iaeaDecay[] getDecaysFixed( + String decay1, double chance1, String decay2, double chance2, String decay3, double chance3) { + boolean do1, do2, do3; + do1 = !decay1.isEmpty() && !Double.isNaN(chance1); + do2 = !decay2.isEmpty() && !Double.isNaN(chance2); + do3 = !decay3.isEmpty() && !Double.isNaN(chance3); + TreeMap decays = new TreeMap<>(); + if (do1 && do2 && chance1 == 100 && chance2 == 100 && chance3 != 100) { decays.put(1D, new iaeaDecay(1D, decay1)); - if(do3) { - chance3/=100d; + if (do3) { + chance3 /= 100d; decays.put(chance3, new iaeaDecay(chance3, decay2)); - chance2=1d-chance3; + chance2 = 1d - chance3; } - chance2/=2d; + chance2 /= 2d; decays.put(chance2, new iaeaDecay(chance2, decay2)); - }else if(do1 && chance1==100){ + } else if (do1 && chance1 == 100) { decays.put(1D, new iaeaDecay(1D, decay1)); - if(do2) { - chance2/=100d; + if (do2) { + chance2 /= 100d; decays.put(chance2, new iaeaDecay(chance2, decay2)); } - if(do3) { + if (do3) { chance3 /= 100d; - if(do2) { + if (do2) { chance3 *= chance2; } decays.put(chance3, new iaeaDecay(chance3, decay3)); } - }else{ - double normalization= (do1?chance1:0) + (do2?chance2:0) + (do3?chance3:0); - if(do1) { - chance1/=normalization; + } else { + double normalization = (do1 ? chance1 : 0) + (do2 ? chance2 : 0) + (do3 ? chance3 : 0); + if (do1) { + chance1 /= normalization; decays.put(chance1, new iaeaDecay(chance1, decay1)); } - if(do2) { - chance2/=normalization; + if (do2) { + chance2 /= normalization; decays.put(chance2, new iaeaDecay(chance2, decay2)); } - if(do3) { - chance3/=normalization; + if (do3) { + chance3 /= normalization; decays.put(chance3, new iaeaDecay(chance3, decay3)); } - if(do1||do2||do3) { + if (do1 || do2 || do3) { decays.put(1D, iaeaDecay.DEAD_END); } } - //if(DEBUG_MODE){ - // System.out.println("INVALID SUM?\t"+normalization+"\t"+decay1+"\t"+chance1+"\t"+decay2+"\t"+chance2+"\t"+decay3+"\t"+chance3); - //} + // if(DEBUG_MODE){ + // System.out.println("INVALID + // SUM?\t"+normalization+"\t"+decay1+"\t"+chance1+"\t"+decay2+"\t"+chance2+"\t"+decay3+"\t"+chance3); + // } return decays.values().toArray(new iaeaDecay[0]); } - public static final class iaeaDecay{ + public static final class iaeaDecay { public final double chance; public final String decayName; - public static final iaeaDecay DEAD_END=new iaeaDecay(1D,"DEAD_END"); - private iaeaDecay(double chance,String decayName){ - this.chance=chance; - this.decayName=decayName; + public static final iaeaDecay DEAD_END = new iaeaDecay(1D, "DEAD_END"); + + private iaeaDecay(double chance, String decayName) { + this.chance = chance; + this.decayName = decayName; } } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMBosonDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMBosonDefinition.java index affebf91a2..18d8852657 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMBosonDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMBosonDefinition.java @@ -1,11 +1,12 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.EMPrimitiveTemplate; - import static net.minecraft.util.StatCollector.translateToLocal; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.EMPrimitiveTemplate; + public abstract class EMBosonDefinition extends EMPrimitiveTemplate { - protected EMBosonDefinition(String name, String symbol, int generation, double mass, int charge, int color, int ID, String bind) { + protected EMBosonDefinition( + String name, String symbol, int generation, double mass, int charge, int color, int ID, String bind) { super(name, symbol, generation, mass, charge, color, ID, bind); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMFermionDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMFermionDefinition.java index 4c0e1d28bc..28971400d5 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMFermionDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMFermionDefinition.java @@ -1,11 +1,12 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.EMPrimitiveTemplate; - import static net.minecraft.util.StatCollector.translateToLocal; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.EMPrimitiveTemplate; + public abstract class EMFermionDefinition extends EMPrimitiveTemplate { - protected EMFermionDefinition(String name, String symbol, int generation, double mass, int charge, int color, int ID, String bind) { + protected EMFermionDefinition( + String name, String symbol, int generation, double mass, int charge, int color, int ID, String bind) { super(name, symbol, generation, mass, charge, color, ID, bind); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMGaugeBosonDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMGaugeBosonDefinition.java index 8b1e1d556b..3242b374a9 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMGaugeBosonDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMGaugeBosonDefinition.java @@ -1,17 +1,17 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; -import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; -import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; -import com.github.technus.tectech.util.TT_Utility; - import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMLeptonDefinition.*; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMNeutrinoDefinition.*; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMQuarkDefinition.*; import static net.minecraft.util.StatCollector.translateToLocal; +import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; +import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; +import com.github.technus.tectech.util.TT_Utility; + /** * Created by danie_000 on 22.10.2016. */ @@ -19,15 +19,16 @@ public class EMGaugeBosonDefinition extends EMBosonDefinition { public static final EMGaugeBosonDefinition boson_g__ = new EMGaugeBosonDefinition("tt.keyword.Gluon", "g", 0, 0, 8, 27, "g"), boson_Y__ = new EMGaugeBosonDefinition("tt.keyword.Photon", "\u03b3", 1e-18D, 0, -1, 28, "Y"), - boson_Z = new EMGaugeBosonDefinition("tt.keyword.Weak0", "Z0", 91.1876e9, 0, -1, 29, "Z0"), - boson_W_ = new EMGaugeBosonDefinition("tt.keyword.WeakPlus", "W+", 80.379e9, 3, -1, 30, "W+"), - boson_W = new EMGaugeBosonDefinition("tt.keyword.WeakMinus", "W-", 80.379e9, -3, -1, 31, "W-"); - //deadEnd - public static final EMDecay deadEnd = new EMDecay(boson_Y__, boson_Y__); - public static final EMDefinitionStack boson_Y__1 = new EMDefinitionStack(boson_Y__, 1); - public static final EMDecay deadEndHalf = new EMDecay(boson_Y__1); + boson_Z = new EMGaugeBosonDefinition("tt.keyword.Weak0", "Z0", 91.1876e9, 0, -1, 29, "Z0"), + boson_W_ = new EMGaugeBosonDefinition("tt.keyword.WeakPlus", "W+", 80.379e9, 3, -1, 30, "W+"), + boson_W = new EMGaugeBosonDefinition("tt.keyword.WeakMinus", "W-", 80.379e9, -3, -1, 31, "W-"); + // deadEnd + public static final EMDecay deadEnd = new EMDecay(boson_Y__, boson_Y__); + public static final EMDefinitionStack boson_Y__1 = new EMDefinitionStack(boson_Y__, 1); + public static final EMDecay deadEndHalf = new EMDecay(boson_Y__1); - protected EMGaugeBosonDefinition(String name, String symbol, double mass, int charge, int color, int ID, String bind) { + protected EMGaugeBosonDefinition( + String name, String symbol, double mass, int charge, int color, int ID, String bind) { super(name, TT_Utility.toSuperscript(symbol), 0, mass, charge, color, ID, bind); } @@ -35,7 +36,12 @@ public class EMGaugeBosonDefinition extends EMBosonDefinition { registry.registerDefinitionClass(new EMType(EMGaugeBosonDefinition.class, "tt.keyword.GaugeBoson")); boson_g__.init(registry, boson_g__, 3e-50, 0, 0, deadEndHalf); boson_Y__.init(registry, boson_Y__, NO_DECAY_RAW_LIFE_TIME, -1, -1, NO_DECAY); - boson_Z.init(registry, boson_Z, 3e-25, 11, 11, + boson_Z.init( + registry, + boson_Z, + 3e-25, + 11, + 11, new EMDecay(0.03363, lepton_e, lepton_e_), new EMDecay(0.03366, lepton_m, lepton_m_), new EMDecay(0.03367, lepton_t, lepton_t_), @@ -48,7 +54,12 @@ public class EMGaugeBosonDefinition extends EMBosonDefinition { new EMDecay(0.152, quark_s, quark_s_), new EMDecay(0.152, quark_b, quark_b_), deadEnd); - boson_W.init(registry, boson_W_, 3e-25, 9, 9, + boson_W.init( + registry, + boson_W_, + 3e-25, + 9, + 9, new EMDecay(0.108, lepton_e, lepton_Ve_), new EMDecay(0.108, lepton_m, lepton_Vm_), new EMDecay(0.108, lepton_t, lepton_Vt_), @@ -59,7 +70,12 @@ public class EMGaugeBosonDefinition extends EMBosonDefinition { new EMDecay(0.112666, quark_c_, quark_s), new EMDecay(0.112666, quark_c_, quark_b), deadEnd); - boson_W_.init(registry, boson_W, 3e-25, 9, 9, + boson_W_.init( + registry, + boson_W, + 3e-25, + 9, + 9, new EMDecay(0.108, lepton_e_, lepton_Ve), new EMDecay(0.108, lepton_m_, lepton_Vm), new EMDecay(0.108, lepton_t_, lepton_Vt), diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMLeptonDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMLeptonDefinition.java index 0926b34425..826c7a63a1 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMLeptonDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMLeptonDefinition.java @@ -1,70 +1,86 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; -import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; -import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; -import com.github.technus.tectech.util.TT_Utility; - import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.boson_Y__; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMNeutrinoDefinition.*; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMScalarBosonDefinition.boson_H__; import static net.minecraft.util.StatCollector.translateToLocal; +import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; +import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; +import com.github.technus.tectech.util.TT_Utility; + /** * Created by danie_000 on 22.10.2016. */ public class EMLeptonDefinition extends EMFermionDefinition { public static final EMLeptonDefinition - lepton_e = new EMLeptonDefinition("tt.keyword.Electron", "\u03b2-", 1, 0.511e6D, -3, 15,"e-"), - lepton_m = new EMLeptonDefinition("tt.keyword.Muon", "\u03bc-", 2, 105.658e6D, -3, 17,"m-"), - lepton_t = new EMLeptonDefinition("tt.keyword.Tauon", "\u03c4-", 3, 1776.83e6D, -3, 19,"t-"), - lepton_e_ = new EMLeptonDefinition("tt.keyword.Positron", "\u03b2+", -1, 0.511e6D, 3, 16,"e+"), - lepton_m_ = new EMLeptonDefinition("tt.keyword.Antimuon", "\u03bc+", -2, 105.658e6D, 3, 18,"m+"), - lepton_t_ = new EMLeptonDefinition("tt.keyword.Antitauon", "\u03c4+", -3, 1776.83e6D, 3, 20,"t+"); + lepton_e = new EMLeptonDefinition("tt.keyword.Electron", "\u03b2-", 1, 0.511e6D, -3, 15, "e-"), + lepton_m = new EMLeptonDefinition("tt.keyword.Muon", "\u03bc-", 2, 105.658e6D, -3, 17, "m-"), + lepton_t = new EMLeptonDefinition("tt.keyword.Tauon", "\u03c4-", 3, 1776.83e6D, -3, 19, "t-"), + lepton_e_ = new EMLeptonDefinition("tt.keyword.Positron", "\u03b2+", -1, 0.511e6D, 3, 16, "e+"), + lepton_m_ = new EMLeptonDefinition("tt.keyword.Antimuon", "\u03bc+", -2, 105.658e6D, 3, 18, "m+"), + lepton_t_ = new EMLeptonDefinition("tt.keyword.Antitauon", "\u03c4+", -3, 1776.83e6D, 3, 20, "t+"); - public static final EMDefinitionStack lepton_e1 = new EMDefinitionStack(lepton_e, 1); - public static final EMDefinitionStack lepton_e2 = new EMDefinitionStack(lepton_e, 2); + public static final EMDefinitionStack lepton_e1 = new EMDefinitionStack(lepton_e, 1); + public static final EMDefinitionStack lepton_e2 = new EMDefinitionStack(lepton_e, 2); public static final EMDefinitionStack lepton_e_1 = new EMDefinitionStack(lepton_e_, 1); public static final EMDefinitionStack lepton_e_2 = new EMDefinitionStack(lepton_e_, 2); - protected EMLeptonDefinition(String name, String symbol, int type, double mass, int charge, int ID,String bind) { - super(name, TT_Utility.toSuperscript(symbol), type, mass, charge, -1, ID,bind); - //this.itemThing=null; - //this.fluidThing=null; + protected EMLeptonDefinition(String name, String symbol, int type, double mass, int charge, int ID, String bind) { + super(name, TT_Utility.toSuperscript(symbol), type, mass, charge, -1, ID, bind); + // this.itemThing=null; + // this.fluidThing=null; } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(new EMType(EMLeptonDefinition.class,"tt.keyword.Lepton")); - lepton_e.init(registry,lepton_e_, STABLE_RAW_LIFE_TIME, 0, 1, - deadEnd, - new EMDecay(lepton_e,boson_Y__)); - lepton_m.init(registry,lepton_m_, 2.197019e-6D, 0, 1, + registry.registerDefinitionClass(new EMType(EMLeptonDefinition.class, "tt.keyword.Lepton")); + lepton_e.init(registry, lepton_e_, STABLE_RAW_LIFE_TIME, 0, 1, deadEnd, new EMDecay(lepton_e, boson_Y__)); + lepton_m.init( + registry, + lepton_m_, + 2.197019e-6D, + 0, + 1, new EMDecay(0.9D, lepton_e, lepton_Ve_, lepton_Vm), - deadEnd);//makes photons and don't care - lepton_t.init(registry,lepton_t_, 2.903e-13D, 1, 3, + deadEnd); // makes photons and don't care + lepton_t.init( + registry, + lepton_t_, + 2.903e-13D, + 1, + 3, new EMDecay(0.05F, lepton_m, lepton_Vm_, lepton_Vt, boson_H__), new EMDecay(0.1D, lepton_e, lepton_Ve_, lepton_Vm), new EMDecay(0.8D, lepton_m, lepton_Vm_, lepton_Vt, boson_Y__), - deadEnd);//makes photons and don't care + deadEnd); // makes photons and don't care - lepton_e_.init(registry,lepton_e, STABLE_RAW_LIFE_TIME, 0, 1, - deadEnd, - new EMDecay(lepton_e,boson_Y__)); - lepton_m_.init(registry,lepton_m, 2.197019e-6F, 0, 1, + lepton_e_.init(registry, lepton_e, STABLE_RAW_LIFE_TIME, 0, 1, deadEnd, new EMDecay(lepton_e, boson_Y__)); + lepton_m_.init( + registry, + lepton_m, + 2.197019e-6F, + 0, + 1, new EMDecay(0.9F, lepton_e_, lepton_Ve, lepton_Vm_), - deadEnd);//makes photons and don't care - lepton_t_.init(registry,lepton_t, 2.903e-13F, 1, 3, + deadEnd); // makes photons and don't care + lepton_t_.init( + registry, + lepton_t, + 2.903e-13F, + 1, + 3, new EMDecay(0.05F, lepton_m_, lepton_Vm, lepton_Vt_, boson_H__), new EMDecay(0.1F, lepton_e_, lepton_Ve, lepton_Vm_), new EMDecay(0.8F, lepton_m_, lepton_Vm, lepton_Vt_, boson_Y__), - deadEnd);//makes photons and don't care + deadEnd); // makes photons and don't care } @Override public String getLocalizedName() { - return translateToLocal("tt.keyword.Lepton")+": " + getShortLocalizedName(); + return translateToLocal("tt.keyword.Lepton") + ": " + getShortLocalizedName(); } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMNeutrinoDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMNeutrinoDefinition.java index fee5774e15..7813870a36 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMNeutrinoDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMNeutrinoDefinition.java @@ -1,54 +1,46 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEndHalf; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEndHalf; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 22.10.2016. */ public class EMNeutrinoDefinition extends EMLeptonDefinition { public static final EMNeutrinoDefinition - lepton_Ve = new EMNeutrinoDefinition("tt.keyword.ElectronNeutrino", "\u03bd\u03b2", 1, 2e0D, 21,"Ve"), - lepton_Vm = new EMNeutrinoDefinition("tt.keyword.MuonNeutrino", "\u03bd\u03bc", 2, 0.15e6D, 23,"Vm"), - lepton_Vt = new EMNeutrinoDefinition("tt.keyword.TauonNeutrino", "\u03bd\u03c4", 3, 15e6D, 25,"Vt"), - lepton_Ve_ = new EMNeutrinoDefinition("tt.keyword.PositronNeutrino", "~\u03bd\u03b2", -1, 2e0D, 22,"~Ve"), - lepton_Vm_ = new EMNeutrinoDefinition("tt.keyword.AntimuonNeutrino", "~\u03bd\u03bc", -2, 0.15e6D, 24,"~Vm"), - lepton_Vt_ = new EMNeutrinoDefinition("tt.keyword.AntitauonNeutrino", "~\u03bd\u03c4", -3, 15e6D, 26,"~Vt"); - - public static final EMDefinitionStack lepton_Ve1 = new EMDefinitionStack(lepton_Ve, 1); - public static final EMDefinitionStack lepton_Ve2 = new EMDefinitionStack(lepton_Ve, 2); + lepton_Ve = new EMNeutrinoDefinition("tt.keyword.ElectronNeutrino", "\u03bd\u03b2", 1, 2e0D, 21, "Ve"), + lepton_Vm = new EMNeutrinoDefinition("tt.keyword.MuonNeutrino", "\u03bd\u03bc", 2, 0.15e6D, 23, "Vm"), + lepton_Vt = new EMNeutrinoDefinition("tt.keyword.TauonNeutrino", "\u03bd\u03c4", 3, 15e6D, 25, "Vt"), + lepton_Ve_ = new EMNeutrinoDefinition("tt.keyword.PositronNeutrino", "~\u03bd\u03b2", -1, 2e0D, 22, "~Ve"), + lepton_Vm_ = + new EMNeutrinoDefinition("tt.keyword.AntimuonNeutrino", "~\u03bd\u03bc", -2, 0.15e6D, 24, "~Vm"), + lepton_Vt_ = + new EMNeutrinoDefinition("tt.keyword.AntitauonNeutrino", "~\u03bd\u03c4", -3, 15e6D, 26, "~Vt"); + + public static final EMDefinitionStack lepton_Ve1 = new EMDefinitionStack(lepton_Ve, 1); + public static final EMDefinitionStack lepton_Ve2 = new EMDefinitionStack(lepton_Ve, 2); public static final EMDefinitionStack lepton_Ve_1 = new EMDefinitionStack(lepton_Ve_, 1); public static final EMDefinitionStack lepton_Ve_2 = new EMDefinitionStack(lepton_Ve_, 2); - protected EMNeutrinoDefinition(String name, String symbol, int type, double mass, int ID,String bind) { - super(name, symbol, type, mass, 0, ID,bind); + protected EMNeutrinoDefinition(String name, String symbol, int type, double mass, int ID, String bind) { + super(name, symbol, type, mass, 0, ID, bind); } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(new EMType(EMNeutrinoDefinition.class,"tt.keyword.Neutrino")); - lepton_Ve.init(registry,lepton_Ve_, 1D, -1, -1, - EMDecay.NO_PRODUCT); - lepton_Vm.init(registry,lepton_Vm_, 1D, 1, 0, - new EMDecay(0.825D, nothing), - deadEndHalf); - lepton_Vt.init(registry,lepton_Vt_, 1, 1, 0, - new EMDecay(0.75F, nothing), - deadEnd); - - lepton_Ve_.init(registry,lepton_Ve, 1, -1, -1, - EMDecay.NO_PRODUCT); - lepton_Vm_.init(registry,lepton_Vm, 1, 1, 0, - new EMDecay(0.825F, nothing), - deadEndHalf); - lepton_Vt_.init(registry,lepton_Vt, 1, 1, 0, - new EMDecay(0.75F, nothing), - deadEnd); + registry.registerDefinitionClass(new EMType(EMNeutrinoDefinition.class, "tt.keyword.Neutrino")); + lepton_Ve.init(registry, lepton_Ve_, 1D, -1, -1, EMDecay.NO_PRODUCT); + lepton_Vm.init(registry, lepton_Vm_, 1D, 1, 0, new EMDecay(0.825D, nothing), deadEndHalf); + lepton_Vt.init(registry, lepton_Vt_, 1, 1, 0, new EMDecay(0.75F, nothing), deadEnd); + + lepton_Ve_.init(registry, lepton_Ve, 1, -1, -1, EMDecay.NO_PRODUCT); + lepton_Vm_.init(registry, lepton_Vm, 1, 1, 0, new EMDecay(0.825F, nothing), deadEndHalf); + lepton_Vt_.init(registry, lepton_Vt, 1, 1, 0, new EMDecay(0.75F, nothing), deadEnd); } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMPrimitiveDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMPrimitiveDefinition.java index c2b77f7704..b78e6857a8 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMPrimitiveDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMPrimitiveDefinition.java @@ -1,28 +1,40 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; +import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.EMPrimitiveTemplate; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; -import static com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay.NO_DECAY; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 22.10.2016. */ public class EMPrimitiveDefinition extends EMPrimitiveTemplate { public static final EMPrimitiveDefinition - nbtE__ = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveNBTERROR" , "!" , 0 , 0D , -1 , Integer.MIN_VALUE , "!" ), - null__ = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveNULLPOINTER" , "." , 0 , 0D , -3 , Integer.MIN_VALUE+1 , "." ), - space = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveSpace" , "_" , 0 , 0D , -4 , Integer.MIN_VALUE + 2 , "_" ), - space_ = new EMPrimitiveDefinition ( "tt.keyword.PrimitivePresence" , "~_" , 0 , 0D , -4 , Integer.MIN_VALUE + 3 , "~_" ), - mass = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveMass" , "*" , 0 , 1 , -4 , Integer.MIN_VALUE + 4 , "*" ), - mass_ = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveDarkMass" , "~*" , 0 , 1 , -4 , Integer.MIN_VALUE + 5 , "~*" ), - energy = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveEnergy" , "E" , 4 , 0D , -4 , Integer.MIN_VALUE + 6 , "E" ), - energy_ = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveDarkEnergy" , "~E" , -4 , 0 , -4 , Integer.MIN_VALUE + 7 , "~E" ), - magic = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveMagic" , "Ma" , 5 , 1e5D , 0 , Integer.MIN_VALUE + 8 , "Ma" ), - magic_ = new EMPrimitiveDefinition ( "tt.keyword.PrimitiveAntimagic" , "~Ma" , -5 , 1e5D , 0 , Integer.MIN_VALUE + 9 , "~Ma" ); - + nbtE__ = new EMPrimitiveDefinition("tt.keyword.PrimitiveNBTERROR", "!", 0, 0D, -1, Integer.MIN_VALUE, "!"), + null__ = + new EMPrimitiveDefinition( + "tt.keyword.PrimitiveNULLPOINTER", ".", 0, 0D, -3, Integer.MIN_VALUE + 1, "."), + space = new EMPrimitiveDefinition("tt.keyword.PrimitiveSpace", "_", 0, 0D, -4, Integer.MIN_VALUE + 2, "_"), + space_ = + new EMPrimitiveDefinition( + "tt.keyword.PrimitivePresence", "~_", 0, 0D, -4, Integer.MIN_VALUE + 3, "~_"), + mass = new EMPrimitiveDefinition("tt.keyword.PrimitiveMass", "*", 0, 1, -4, Integer.MIN_VALUE + 4, "*"), + mass_ = + new EMPrimitiveDefinition( + "tt.keyword.PrimitiveDarkMass", "~*", 0, 1, -4, Integer.MIN_VALUE + 5, "~*"), + energy = + new EMPrimitiveDefinition("tt.keyword.PrimitiveEnergy", "E", 4, 0D, -4, Integer.MIN_VALUE + 6, "E"), + energy_ = + new EMPrimitiveDefinition( + "tt.keyword.PrimitiveDarkEnergy", "~E", -4, 0, -4, Integer.MIN_VALUE + 7, "~E"), + magic = + new EMPrimitiveDefinition( + "tt.keyword.PrimitiveMagic", "Ma", 5, 1e5D, 0, Integer.MIN_VALUE + 8, "Ma"), + magic_ = + new EMPrimitiveDefinition( + "tt.keyword.PrimitiveAntimagic", "~Ma", -5, 1e5D, 0, Integer.MIN_VALUE + 9, "~Ma"); protected EMPrimitiveDefinition(String name, String symbol, int type, double mass, int color, int ID, String bind) { super(name, symbol, type, mass, 0, color, ID, bind); @@ -55,4 +67,4 @@ public class EMPrimitiveDefinition extends EMPrimitiveTemplate { public boolean isTimeSpanHalfLife() { return false; } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMQuarkDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMQuarkDefinition.java index a93b16ca0d..f1179f892f 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMQuarkDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMQuarkDefinition.java @@ -1,101 +1,161 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; -import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; - import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.deadEnd; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMLeptonDefinition.*; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMNeutrinoDefinition.*; import static net.minecraft.util.StatCollector.translateToLocal; +import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; + /** * Created by danie_000 on 22.10.2016. */ public class EMQuarkDefinition extends EMFermionDefinition { public static final EMQuarkDefinition - quark_u = new EMQuarkDefinition("tt.keyword.QuarkUp", "u", 1, 2.3e6D, 2, 3,"u"), - quark_c = new EMQuarkDefinition("tt.keyword.QuarkCharm", "c", 2, 1.29e9D, 2, 9,"c"), - quark_t = new EMQuarkDefinition("tt.keyword.QuarkTop", "t", 3, 172.44e9D, 2, 13,"t"), - quark_d = new EMQuarkDefinition("tt.keyword.QuarkDown", "d", 1, 4.8e6D, -1, 5,"d"), - quark_s = new EMQuarkDefinition("tt.keyword.QuarkStrange", "s", 2, 95e6D, -1, 7,"s"), - quark_b = new EMQuarkDefinition("tt.keyword.QuarkBottom", "b", 3, 4.65e9D, -1, 11,"b"), - quark_u_ = new EMQuarkDefinition("tt.keyword.QuarkAntiUp", "~u", -1, 2.3e6D, -2, 4,"~u"), - quark_c_ = new EMQuarkDefinition("tt.keyword.QuarkAntiCharm", "~c", -2, 1.29e9D, -2, 10,"~c"), - quark_t_ = new EMQuarkDefinition("tt.keyword.QuarkAntiTop", "~t", -3, 172.44e9D, -2, 14,"~t"), - quark_d_ = new EMQuarkDefinition("tt.keyword.QuarkAntiDown", "~d", -1, 4.8e6D, 1, 6,"~d"), - quark_s_ = new EMQuarkDefinition("tt.keyword.QuarkAntiStrange", "~s", -2, 95e6D, 1, 8,"~s"), - quark_b_ = new EMQuarkDefinition("tt.keyword.QuarkAntiBottom", "~b", -3, 4.65e9D, 1, 12,"~b"); + quark_u = new EMQuarkDefinition("tt.keyword.QuarkUp", "u", 1, 2.3e6D, 2, 3, "u"), + quark_c = new EMQuarkDefinition("tt.keyword.QuarkCharm", "c", 2, 1.29e9D, 2, 9, "c"), + quark_t = new EMQuarkDefinition("tt.keyword.QuarkTop", "t", 3, 172.44e9D, 2, 13, "t"), + quark_d = new EMQuarkDefinition("tt.keyword.QuarkDown", "d", 1, 4.8e6D, -1, 5, "d"), + quark_s = new EMQuarkDefinition("tt.keyword.QuarkStrange", "s", 2, 95e6D, -1, 7, "s"), + quark_b = new EMQuarkDefinition("tt.keyword.QuarkBottom", "b", 3, 4.65e9D, -1, 11, "b"), + quark_u_ = new EMQuarkDefinition("tt.keyword.QuarkAntiUp", "~u", -1, 2.3e6D, -2, 4, "~u"), + quark_c_ = new EMQuarkDefinition("tt.keyword.QuarkAntiCharm", "~c", -2, 1.29e9D, -2, 10, "~c"), + quark_t_ = new EMQuarkDefinition("tt.keyword.QuarkAntiTop", "~t", -3, 172.44e9D, -2, 14, "~t"), + quark_d_ = new EMQuarkDefinition("tt.keyword.QuarkAntiDown", "~d", -1, 4.8e6D, 1, 6, "~d"), + quark_s_ = new EMQuarkDefinition("tt.keyword.QuarkAntiStrange", "~s", -2, 95e6D, 1, 8, "~s"), + quark_b_ = new EMQuarkDefinition("tt.keyword.QuarkAntiBottom", "~b", -3, 4.65e9D, 1, 12, "~b"); - protected EMQuarkDefinition(String name, String symbol, int type, double mass, int charge, int ID,String bind) { - super(name, symbol, type, mass, charge, 0, ID,bind); + protected EMQuarkDefinition(String name, String symbol, int type, double mass, int charge, int ID, String bind) { + super(name, symbol, type, mass, charge, 0, ID, bind); } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(new EMType(EMQuarkDefinition.class,"tt.keyword.Quark")); - quark_u.init(registry,quark_u_, STABLE_RAW_LIFE_TIME, 3, -1, - new EMDecay(1.23201e-5D, quark_b/*,lepton_t_,lepton_Vt*/), - new EMDecay(0.050778116D, quark_s/*,lepton_m_,lepton_Vm*/), + registry.registerDefinitionClass(new EMType(EMQuarkDefinition.class, "tt.keyword.Quark")); + quark_u.init( + registry, + quark_u_, + STABLE_RAW_LIFE_TIME, + 3, + -1, + new EMDecay(1.23201e-5D, quark_b /*,lepton_t_,lepton_Vt*/), + new EMDecay(0.050778116D, quark_s /*,lepton_m_,lepton_Vm*/), new EMDecay(0.9D, quark_d, lepton_e_, lepton_Ve), - deadEnd);//makes photons and don't care - quark_c.init(registry,quark_c_, 0.5e-13D, 1, -1, - new EMDecay(0.00169744D, quark_b/*,lepton_t_,lepton_Vt*/), + deadEnd); // makes photons and don't care + quark_c.init( + registry, + quark_c_, + 0.5e-13D, + 1, + -1, + new EMDecay(0.00169744D, quark_b /*,lepton_t_,lepton_Vt*/), new EMDecay(0.05071504D, quark_d, lepton_m_, lepton_Vm), new EMDecay(0.9D, quark_s, lepton_e_, lepton_Ve), - deadEnd);//makes photons and don't care - quark_t.init(registry,quark_t_, 2.5e-26D, 0, -1, + deadEnd); // makes photons and don't care + quark_t.init( + registry, + quark_t_, + 2.5e-26D, + 0, + -1, new EMDecay(7.51689e-5D, quark_d, lepton_t_, lepton_Vt), new EMDecay(0.00163216D, quark_s, lepton_m_, lepton_Vm), new EMDecay(0.9D, quark_b, lepton_e_, lepton_Ve), - deadEnd);//makes photons and don't care + deadEnd); // makes photons and don't care - quark_d.init(registry,quark_d_, STABLE_RAW_LIFE_TIME, 3, -1, - new EMDecay(7.51689e-5D, quark_t/*,lepton_t,lepton_Vt_*/), - new EMDecay(0.05071504D, quark_c/*,lepton_m,lepton_Vm_*/), + quark_d.init( + registry, + quark_d_, + STABLE_RAW_LIFE_TIME, + 3, + -1, + new EMDecay(7.51689e-5D, quark_t /*,lepton_t,lepton_Vt_*/), + new EMDecay(0.05071504D, quark_c /*,lepton_m,lepton_Vm_*/), new EMDecay(0.9D, quark_u, lepton_e, lepton_Ve_), - deadEnd);//makes photons and don't care - quark_s.init(registry,quark_s_, 0.6e-9D, 1, -1, - new EMDecay(0.00163216D, quark_t/*,lepton_t,lepton_Vt_*/), + deadEnd); // makes photons and don't care + quark_s.init( + registry, + quark_s_, + 0.6e-9D, + 1, + -1, + new EMDecay(0.00163216D, quark_t /*,lepton_t,lepton_Vt_*/), new EMDecay(0.050778116D, quark_u, lepton_m, lepton_Vm_), new EMDecay(0.9D, quark_c, lepton_e, lepton_Ve_), - deadEnd);//makes photons and don't care - quark_b.init(registry,quark_b_, 0.7e-13D, 0, -1, + deadEnd); // makes photons and don't care + quark_b.init( + registry, + quark_b_, + 0.7e-13D, + 0, + -1, new EMDecay(1.23201e-5D, quark_u, lepton_t, lepton_Vt_), new EMDecay(0.00169744D, quark_c, lepton_m, lepton_Vm_), new EMDecay(0.9D, quark_t, lepton_e, lepton_Ve_), - deadEnd);//makes photons and don't care + deadEnd); // makes photons and don't care - quark_u_.init(registry,quark_u, STABLE_RAW_LIFE_TIME, 3, -1, - new EMDecay(1.23201e-5D, quark_b_/*,lepton_t,lepton_Vt_*/), - new EMDecay(0.050778116D, quark_s_/*,lepton_m,lepton_Vm_*/), + quark_u_.init( + registry, + quark_u, + STABLE_RAW_LIFE_TIME, + 3, + -1, + new EMDecay(1.23201e-5D, quark_b_ /*,lepton_t,lepton_Vt_*/), + new EMDecay(0.050778116D, quark_s_ /*,lepton_m,lepton_Vm_*/), new EMDecay(0.9D, quark_d_, lepton_e, lepton_Ve_), - deadEnd);//makes photons and don't care - quark_c_.init(registry,quark_c, 0.5e-13D, 1, -1, - new EMDecay(0.00169744F, quark_b_/*,lepton_t,lepton_Vt_*/), + deadEnd); // makes photons and don't care + quark_c_.init( + registry, + quark_c, + 0.5e-13D, + 1, + -1, + new EMDecay(0.00169744F, quark_b_ /*,lepton_t,lepton_Vt_*/), new EMDecay(0.05071504F, quark_d_, lepton_m, lepton_Vm_), new EMDecay(0.9F, quark_s_, lepton_e, lepton_Ve_), - deadEnd);//makes photons and don't care - quark_t_.init(registry,quark_t, 2.5e-26F, 0, -1, + deadEnd); // makes photons and don't care + quark_t_.init( + registry, + quark_t, + 2.5e-26F, + 0, + -1, new EMDecay(7.51689e-5F, quark_d_, lepton_t, lepton_Vt_), new EMDecay(0.00163216F, quark_s_, lepton_m, lepton_Vm_), new EMDecay(0.9F, quark_b_, lepton_e, lepton_Ve_), - deadEnd);//makes photons and don't care + deadEnd); // makes photons and don't care - quark_d_.init(registry,quark_d, STABLE_RAW_LIFE_TIME, 3, -1, - new EMDecay(7.51689e-5F, quark_t_/*,lepton_t_,lepton_Vt*/), - new EMDecay(0.05071504F, quark_c_/*,lepton_m_,lepton_Vm*/), + quark_d_.init( + registry, + quark_d, + STABLE_RAW_LIFE_TIME, + 3, + -1, + new EMDecay(7.51689e-5F, quark_t_ /*,lepton_t_,lepton_Vt*/), + new EMDecay(0.05071504F, quark_c_ /*,lepton_m_,lepton_Vm*/), new EMDecay(0.9F, quark_u_, lepton_e_, lepton_Ve), - deadEnd);//makes photons and don't care - quark_s_.init(registry,quark_s, 0.6e-9F, 1, -1, - new EMDecay(0.00163216F, quark_t_/*,lepton_t_,lepton_Vt*/), + deadEnd); // makes photons and don't care + quark_s_.init( + registry, + quark_s, + 0.6e-9F, + 1, + -1, + new EMDecay(0.00163216F, quark_t_ /*,lepton_t_,lepton_Vt*/), new EMDecay(0.050778116F, quark_u_, lepton_m_, lepton_Vm), new EMDecay(0.9F, quark_c_, lepton_e_, lepton_Ve), - deadEnd);//makes photons and don't care - quark_b_.init(registry,quark_b, 0.7e-13F, 0, -1, + deadEnd); // makes photons and don't care + quark_b_.init( + registry, + quark_b, + 0.7e-13F, + 0, + -1, new EMDecay(1.23201e-5F, quark_u_, lepton_t_, lepton_Vt), new EMDecay(0.00169744F, quark_c_, lepton_m_, lepton_Vm), new EMDecay(0.9F, quark_t_, lepton_e_, lepton_Ve), - deadEnd);//makes photons and don't care + deadEnd); // makes photons and don't care } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMScalarBosonDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMScalarBosonDefinition.java index c90e89108b..3488ccc7ad 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMScalarBosonDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/primitive/EMScalarBosonDefinition.java @@ -1,37 +1,42 @@ package com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive; -import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; -import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; -import com.github.technus.tectech.util.TT_Utility; - import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMGaugeBosonDefinition.*; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMLeptonDefinition.*; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.EMQuarkDefinition.*; import static net.minecraft.util.StatCollector.translateToLocal; +import com.github.technus.tectech.mechanics.elementalMatter.core.decay.EMDecay; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; +import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMType; +import com.github.technus.tectech.util.TT_Utility; + /** * Created by danie_000 on 22.10.2016. */ public class EMScalarBosonDefinition extends EMBosonDefinition { - public static final EMScalarBosonDefinition - boson_H__ = new EMScalarBosonDefinition("tt.keyword.Higgs", "H0", 125.09e9D, -2, 32,"H0"); + public static final EMScalarBosonDefinition boson_H__ = + new EMScalarBosonDefinition("tt.keyword.Higgs", "H0", 125.09e9D, -2, 32, "H0"); - private EMScalarBosonDefinition(String name, String symbol, double mass, int color, int ID,String bind) { - super(name,TT_Utility.toSuperscript(symbol), 0, mass, 0, color, ID,bind); + private EMScalarBosonDefinition(String name, String symbol, double mass, int color, int ID, String bind) { + super(name, TT_Utility.toSuperscript(symbol), 0, mass, 0, color, ID, bind); } public static void run(EMDefinitionsRegistry registry) { - registry.registerDefinitionClass(new EMType(EMScalarBosonDefinition.class,"tt.keyword.ScalarBoson")); - boson_H__.init(registry,boson_H__, 1.56e-22D, 8, 8, - new EMDecay ( 0.0002171 , lepton_m , lepton_m_ ), - new EMDecay ( 0.001541 , boson_Z, boson_Y__ ), - new EMDecay ( 0.02641 , boson_Z, boson_Z), - new EMDecay ( 0.02884 , quark_c , quark_c_ ), - new EMDecay ( 0.06256 , lepton_t , lepton_t_ ), - new EMDecay ( 0.0818 , boson_g__ , boson_g__ ), - new EMDecay ( 0.2152 , boson_W_, boson_W), - new EMDecay ( 0.5809 , quark_b , quark_b_ ), + registry.registerDefinitionClass(new EMType(EMScalarBosonDefinition.class, "tt.keyword.ScalarBoson")); + boson_H__.init( + registry, + boson_H__, + 1.56e-22D, + 8, + 8, + new EMDecay(0.0002171, lepton_m, lepton_m_), + new EMDecay(0.001541, boson_Z, boson_Y__), + new EMDecay(0.02641, boson_Z, boson_Z), + new EMDecay(0.02884, quark_c, quark_c_), + new EMDecay(0.06256, lepton_t, lepton_t_), + new EMDecay(0.0818, boson_g__, boson_g__), + new EMDecay(0.2152, boson_W_, boson_W), + new EMDecay(0.5809, quark_b, quark_b_), deadEnd); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java index ca1d872ed1..e7ec1b6dd7 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java @@ -1,5 +1,6 @@ package com.github.technus.tectech.mechanics.enderStorage; +import java.io.Serializable; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.Fluid; @@ -7,18 +8,18 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidHandler; -import java.io.Serializable; - public class EnderFluidContainer implements IFluidHandler, Serializable { private static final int CAPACITY = 64000; + @Deprecated() private int fluidID = -1; + @Deprecated() private int fluidQuantity = 0; + private NBTTagCompound fluid; - public EnderFluidContainer() { - } + public EnderFluidContainer() {} private FluidStack getFluidStack() { FluidStack fluidStack = null; @@ -41,7 +42,6 @@ public class EnderFluidContainer implements IFluidHandler, Serializable { } } - @Override public int fill(ForgeDirection side, FluidStack fluidStackIn, boolean doFill) { int filledFluid = 0; @@ -102,6 +102,6 @@ public class EnderFluidContainer implements IFluidHandler, Serializable { @Override public FluidTankInfo[] getTankInfo(ForgeDirection forgeDirection) { - return new FluidTankInfo[]{new FluidTankInfo(getFluidStack(), CAPACITY)}; + return new FluidTankInfo[] {new FluidTankInfo(getFluidStack(), CAPACITY)}; } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkCoverMessage.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkCoverMessage.java index 64bd1d940b..e58fa29cbc 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkCoverMessage.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkCoverMessage.java @@ -1,31 +1,29 @@ package com.github.technus.tectech.mechanics.enderStorage; +import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.bindEnderLinkTag; +import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderLinkTag; +import static com.github.technus.tectech.thing.cover.GT_Cover_TM_EnderFluidLink.setEnderLinkTag; + import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.MessageContext; import eu.usrv.yamcore.network.client.AbstractClientMessageHandler; import eu.usrv.yamcore.network.server.AbstractServerMessageHandler; import gregtech.api.metatileentity.BaseMetaTileEntity; import io.netty.buffer.ByteBuf; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraftforge.fluids.IFluidHandler; - import java.io.*; import java.util.Arrays; - -import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.bindEnderLinkTag; -import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderLinkTag; -import static com.github.technus.tectech.thing.cover.GT_Cover_TM_EnderFluidLink.setEnderLinkTag; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraftforge.fluids.IFluidHandler; public class EnderLinkCoverMessage implements IMessage { EnderLinkTankWithTag messageData; - public EnderLinkCoverMessage() { - } + public EnderLinkCoverMessage() {} @Override public void fromBytes(ByteBuf pBuffer) { try { - //I'd love to know why I need to offset by one byte for this to work + // 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); @@ -50,8 +48,7 @@ public class EnderLinkCoverMessage implements IMessage { } public static class EnderLinkCoverQuery extends EnderLinkCoverMessage { - public EnderLinkCoverQuery() { - } + public EnderLinkCoverQuery() {} public EnderLinkCoverQuery(EnderLinkTag tag, IFluidHandler fluidHandler) { messageData = new EnderLinkTankWithTag(tag, fluidHandler); @@ -59,8 +56,7 @@ public class EnderLinkCoverMessage implements IMessage { } public static class EnderLinkCoverUpdate extends EnderLinkCoverMessage { - public EnderLinkCoverUpdate() { - } + public EnderLinkCoverUpdate() {} public EnderLinkCoverUpdate(EnderLinkTag tag, IFluidHandler fluidHandler) { messageData = new EnderLinkTankWithTag(tag, fluidHandler); @@ -68,8 +64,7 @@ public class EnderLinkCoverMessage implements IMessage { } public static class EnderLinkCoverData extends EnderLinkCoverMessage { - public EnderLinkCoverData() { - } + public EnderLinkCoverData() {} public EnderLinkCoverData(EnderLinkTag tag, IFluidHandler fluidHandler) { messageData = new EnderLinkTankWithTag(tag, fluidHandler); @@ -81,7 +76,8 @@ public class EnderLinkCoverMessage implements IMessage { public IMessage handleServerMessage(EntityPlayer pPlayer, EnderLinkCoverQuery pMessage, MessageContext pCtx) { IMessage reply = null; if (pMessage.messageData != null) { - reply = new EnderLinkCoverData(getEnderLinkTag(pMessage.messageData.getFluidHandler()), + reply = new EnderLinkCoverData( + getEnderLinkTag(pMessage.messageData.getFluidHandler()), pMessage.messageData.getFluidHandler()); } return reply; @@ -94,11 +90,11 @@ public class EnderLinkCoverMessage implements IMessage { if (pMessage.messageData != null) { EnderLinkTag tag = pMessage.messageData.getTag(); IFluidHandler handler = pMessage.messageData.getFluidHandler(); - if (tag.getUUID() == null){ + if (tag.getUUID() == null) { bindEnderLinkTag(handler, tag); } else if (handler instanceof BaseMetaTileEntity) { BaseMetaTileEntity baseTile = (BaseMetaTileEntity) handler; - if (tag.getUUID().equals(baseTile.getOwnerUuid())){ + if (tag.getUUID().equals(baseTile.getOwnerUuid())) { bindEnderLinkTag(handler, tag); } } @@ -129,4 +125,4 @@ public class EnderLinkCoverMessage implements IMessage { return tag; } } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTag.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTag.java index 60e0acdb1d..6b6fa0b228 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTag.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTag.java @@ -1,7 +1,6 @@ package com.github.technus.tectech.mechanics.enderStorage; import com.google.common.base.Objects; - import java.io.Serializable; import java.util.UUID; @@ -14,7 +13,9 @@ public class EnderLinkTag implements Serializable { this.player = player; } - public String getFrequency() { return frequency; } + public String getFrequency() { + return frequency; + } public UUID getUUID() { return player; @@ -25,8 +26,7 @@ public class EnderLinkTag implements Serializable { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; EnderLinkTag that = (EnderLinkTag) o; - return Objects.equal(frequency, that.frequency) && - Objects.equal(player, that.player); + return Objects.equal(frequency, that.frequency) && Objects.equal(player, that.player); } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTank.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTank.java index a64a629161..93347d2016 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTank.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderLinkTank.java @@ -1,12 +1,11 @@ package com.github.technus.tectech.mechanics.enderStorage; import com.google.common.base.Objects; +import java.io.Serializable; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.DimensionManager; import net.minecraftforge.fluids.IFluidHandler; -import java.io.Serializable; - public class EnderLinkTank implements Serializable { private final int X; private final int Y; @@ -14,7 +13,7 @@ public class EnderLinkTank implements Serializable { private final int D; public EnderLinkTank(IFluidHandler fluidHandler) { - TileEntity tile = (TileEntity)fluidHandler; + TileEntity tile = (TileEntity) fluidHandler; X = tile.xCoord; Y = tile.yCoord; Z = tile.zCoord; @@ -33,10 +32,7 @@ public class EnderLinkTank implements Serializable { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; EnderLinkTank that = (EnderLinkTank) o; - return X == that.X && - Y == that.Y && - Z == that.Z && - D == that.D; + return X == that.X && Y == that.Y && Z == that.Z && D == that.D; } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java index d0503aa45c..1297e6ed03 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java @@ -1,17 +1,16 @@ package com.github.technus.tectech.mechanics.enderStorage; +import static com.github.technus.tectech.Reference.MODID; + +import java.io.*; +import java.util.HashMap; +import java.util.Map; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.WorldSavedData; import net.minecraft.world.storage.MapStorage; import net.minecraftforge.common.DimensionManager; import net.minecraftforge.fluids.IFluidHandler; -import java.io.*; -import java.util.HashMap; -import java.util.Map; - -import static com.github.technus.tectech.Reference.MODID; - public class EnderWorldSavedData extends WorldSavedData { private static EnderWorldSavedData INSTANCE; @@ -125,4 +124,4 @@ public class EnderWorldSavedData extends WorldSavedData { getEnderLiquidTankLink().remove(tank); getEnderLiquidTankLink().put(tank, tag); } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/mechanics/pipe/IActivePipe.java b/src/main/java/com/github/technus/tectech/mechanics/pipe/IActivePipe.java index 4f244c804b..c7f770e5e8 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/pipe/IActivePipe.java +++ b/src/main/java/com/github/technus/tectech/mechanics/pipe/IActivePipe.java @@ -4,6 +4,8 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; public interface IActivePipe extends IMetaTileEntity { void setActive(boolean active); + boolean getActive(); + void markUsed(); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/pipe/PipeActivityMessage.java b/src/main/java/com/github/technus/tectech/mechanics/pipe/PipeActivityMessage.java index abde23f33e..a7a0f8b02e 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/pipe/PipeActivityMessage.java +++ b/src/main/java/com/github/technus/tectech/mechanics/pipe/PipeActivityMessage.java @@ -21,24 +21,23 @@ public class PipeActivityMessage implements IMessage { int mPosD; int mActive; - public PipeActivityMessage() { - } + public PipeActivityMessage() {} private PipeActivityMessage(IActivePipe metaTile) { - IGregTechTileEntity base=metaTile.getBaseMetaTileEntity(); - mPosX=base.getXCoord(); - mPosY=base.getYCoord(); - mPosZ=base.getZCoord(); - mPosD=base.getWorld().provider.dimensionId; - mActive=metaTile.getActive()?1:0; + IGregTechTileEntity base = metaTile.getBaseMetaTileEntity(); + mPosX = base.getXCoord(); + mPosY = base.getYCoord(); + mPosZ = base.getZCoord(); + mPosD = base.getWorld().provider.dimensionId; + mActive = metaTile.getActive() ? 1 : 0; } private PipeActivityMessage(World world, int x, int y, int z, boolean active) { - mPosX=x; - mPosY=y; - mPosZ=z; - mPosD=world.provider.dimensionId; - mActive=active?1:0; + mPosX = x; + mPosY = y; + mPosZ = z; + mPosD = world.provider.dimensionId; + mActive = active ? 1 : 0; } @Override @@ -64,48 +63,46 @@ public class PipeActivityMessage implements IMessage { } public static class PipeActivityQuery extends PipeActivityMessage { - public PipeActivityQuery() { - } + public PipeActivityQuery() {} public PipeActivityQuery(IActivePipe metaTile) { super(metaTile); } - public PipeActivityQuery(World world, int x,int y,int z, boolean active) { - super(world,x,y,z,active); + public PipeActivityQuery(World world, int x, int y, int z, boolean active) { + super(world, x, y, z, active); } } public static class PipeActivityData extends PipeActivityMessage { - public PipeActivityData() { - } - - private PipeActivityData(PipeActivityQuery query){ - mPosX=query.mPosX; - mPosY=query.mPosY; - mPosZ=query.mPosZ; - mPosD=query.mPosD; - mActive=query.mActive; + public PipeActivityData() {} + + private PipeActivityData(PipeActivityQuery query) { + mPosX = query.mPosX; + mPosY = query.mPosY; + mPosZ = query.mPosZ; + mPosD = query.mPosD; + mActive = query.mActive; } public PipeActivityData(IActivePipe metaTile) { super(metaTile); } - public PipeActivityData(World world, int x,int y,int z, boolean active) { - super(world,x,y,z,active); + public PipeActivityData(World world, int x, int y, int z, boolean active) { + super(world, x, y, z, active); } } public static class ClientHandler extends AbstractClientMessageHandler { @Override public IMessage handleClientMessage(EntityPlayer pPlayer, PipeActivityData pMessage, MessageContext pCtx) { - if(pPlayer.worldObj.provider.dimensionId==pMessage.mPosD){ - TileEntity te=pPlayer.worldObj.getTileEntity(pMessage.mPosX,pMessage.mPosY,pMessage.mPosZ); - if(te instanceof IGregTechTileEntity){ + if (pPlayer.worldObj.provider.dimensionId == pMessage.mPosD) { + TileEntity te = pPlayer.worldObj.getTileEntity(pMessage.mPosX, pMessage.mPosY, pMessage.mPosZ); + if (te instanceof IGregTechTileEntity) { IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); - if(meta instanceof IActivePipe){ - ((IActivePipe) meta).setActive(pMessage.mActive==1); + if (meta instanceof IActivePipe) { + ((IActivePipe) meta).setActive(pMessage.mActive == 1); } } } @@ -116,13 +113,13 @@ public class PipeActivityMessage implements IMessage { public static class ServerHandler extends AbstractServerMessageHandler { @Override public IMessage handleServerMessage(EntityPlayer pPlayer, PipeActivityQuery pMessage, MessageContext pCtx) { - World world= DimensionManager.getWorld(pMessage.mPosD); - if(world!=null) { + World world = DimensionManager.getWorld(pMessage.mPosD); + if (world != null) { TileEntity te = world.getTileEntity(pMessage.mPosX, pMessage.mPosY, pMessage.mPosZ); if (te instanceof IGregTechTileEntity) { IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); if (meta instanceof IActivePipe) { - pMessage.mActive=((IActivePipe) meta).getActive()?1:0; + pMessage.mActive = ((IActivePipe) meta).getActive() ? 1 : 0; return new PipeActivityData(pMessage); } } @@ -130,4 +127,4 @@ public class PipeActivityMessage implements IMessage { return null; } } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/mechanics/spark/RendererMessage.java b/src/main/java/com/github/technus/tectech/mechanics/spark/RendererMessage.java index dcc9bfd8fd..a42d774bff 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/spark/RendererMessage.java +++ b/src/main/java/com/github/technus/tectech/mechanics/spark/RendererMessage.java @@ -7,27 +7,25 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import eu.usrv.yamcore.network.client.AbstractClientMessageHandler; import io.netty.buffer.ByteBuf; -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.world.World; -import thaumcraft.client.fx.bolt.FXLightningBolt; - import java.io.*; import java.util.Arrays; import java.util.HashSet; import java.util.Random; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; +import thaumcraft.client.fx.bolt.FXLightningBolt; -//TODO Re-work how sparks are distributed +// TODO Re-work how sparks are distributed public class RendererMessage implements IMessage { HashSet sparkList; - public RendererMessage() { - } + 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 + // 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); @@ -52,19 +50,17 @@ public class RendererMessage implements IMessage { } public static class RendererData extends RendererMessage { - public RendererData() { - } + public RendererData() {} public RendererData(HashSet eSparkList) { sparkList = eSparkList; } } - public static class ClientHandler extends AbstractClientMessageHandler { @Override public IMessage handleClientMessage(EntityPlayer pPlayer, RendererData pMessage, MessageContext pCtx) { - //disgusting + // disgusting Random localRand = Minecraft.getMinecraft().theWorld.rand; int[] zapsToUse = new int[4]; for (int i = 0; i < 3; i++) { @@ -73,7 +69,7 @@ public class RendererMessage implements IMessage { int i = 0; for (ThaumSpark sp : pMessage.sparkList) { for (int j : zapsToUse) { - if(i == j){ + if (i == j) { thaumLightning(sp.x, sp.y, sp.z, sp.xR, sp.yR, sp.zR, sp.wID); } } @@ -86,11 +82,22 @@ public class RendererMessage implements IMessage { @SideOnly(Side.CLIENT) private static void thaumLightning(int tX, int tY, int tZ, int tXN, int tYN, int tZN, int wID) { - //This is enough to check for thaum, since it only ever matters for client side effects (Tested not to crash) + // This is enough to check for thaum, since it only ever matters for client side effects (Tested not to crash) if (Loader.isModLoaded("Thaumcraft")) { World world = Minecraft.getMinecraft().theWorld; - if (world.provider.dimensionId == 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); + if (world.provider.dimensionId == 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); @@ -98,4 +105,4 @@ public class RendererMessage implements IMessage { } } } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/mechanics/spark/ThaumSpark.java b/src/main/java/com/github/technus/tectech/mechanics/spark/ThaumSpark.java index 0480cfffd2..8bce1e56d4 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/spark/ThaumSpark.java +++ b/src/main/java/com/github/technus/tectech/mechanics/spark/ThaumSpark.java @@ -1,13 +1,11 @@ package com.github.technus.tectech.mechanics.spark; - import com.gtnewhorizon.structurelib.util.Vec3Impl; - import java.io.Serializable; import java.util.Objects; public class ThaumSpark implements Serializable { - //This works regardless of if TC is loaded + // This works regardless of if TC is loaded private static final long serialVersionUID = -7037856938316679566L; public int x, y, z, wID; public byte xR, yR, zR; @@ -42,13 +40,13 @@ public class ThaumSpark implements Serializable { 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; + return x == that.x + && y == that.y + && z == that.z + && wID == that.wID + && xR == that.xR + && yR == that.yR + && zR == that.zR; } @Override diff --git a/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectable.java b/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectable.java index de8d828cf4..632cf9e130 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectable.java +++ b/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectable.java @@ -1,40 +1,43 @@ package com.github.technus.tectech.mechanics.tesla; +import static java.lang.Math.sqrt; + import com.github.technus.tectech.mechanics.spark.ThaumSpark; import com.google.common.collect.Multimap; - import java.util.HashSet; import java.util.Map; -import static java.lang.Math.sqrt; - public interface ITeslaConnectable extends ITeslaConnectableSimple { - //Map with all Teslas in the same dimension and the distance to them //TODO Range + // Map with all Teslas in the same dimension and the distance to them //TODO Range Multimap getTeslaNodeMap(); - //ThaumCraft lighting coordinate pairs, so we can send them in bursts and save on lag + // ThaumCraft lighting coordinate pairs, so we can send them in bursts and save on lag HashSet getSparkList(); - //-128 to -1 disables capability - //0 means any source or target - //1 to 127 must match on source and target or source/target must be 0 + // -128 to -1 disables capability + // 0 means any source or target + // 1 to 127 must match on source and target or source/target must be 0 byte getTeslaTransmissionCapability(); - //Transmission Range is typically 16+ in blocks + // Transmission Range is typically 16+ in blocks int getTeslaTransmissionRange(); + boolean isOverdriveEnabled(); int getTeslaEnergyLossPerBlock(); + float getTeslaOverdriveLossCoefficient(); long getTeslaOutputVoltage(); + long getTeslaOutputCurrent(); boolean teslaDrainEnergy(long teslaVoltageDrained); class TeslaUtil { - private static final HashSet teslaSimpleNodeSet = new HashSet<>();//Targets for power transmission - private static final HashSet teslaNodeSet = new HashSet<>();//Sources of power transmission + private static final HashSet teslaSimpleNodeSet = + new HashSet<>(); // Targets for power transmission + private static final HashSet teslaNodeSet = new HashSet<>(); // Sources of power transmission public static void teslaSimpleNodeSetAdd(ITeslaConnectableSimple target) { if (!teslaSimpleNodeSet.contains(target)) { @@ -43,33 +46,34 @@ public interface ITeslaConnectable extends ITeslaConnectableSimple { } } - public static void teslaSimpleNodeSetRemove(ITeslaConnectableSimple target){ + public static void teslaSimpleNodeSetRemove(ITeslaConnectableSimple target) { teslaSimpleNodeSet.remove(target); - if (target instanceof ITeslaConnectable)teslaNodeSet.remove(target); + if (target instanceof ITeslaConnectable) teslaNodeSet.remove(target); teslaNodeSet.forEach(origin -> removeTargetFromTeslaOrigin(target, origin)); } - private static void addTargetToTeslaOrigin(ITeslaConnectableSimple target, ITeslaConnectable origin){ + private static void addTargetToTeslaOrigin(ITeslaConnectableSimple target, ITeslaConnectable origin) { if (origin.equals(target) || !origin.getTeslaDimension().equals(target.getTeslaDimension())) { - //Skip if looking at myself and skip if not in the same dimension - //TODO, INTERDIM? + // Skip if looking at myself and skip if not in the same dimension + // TODO, INTERDIM? return; - } else if (origin.getTeslaTransmissionCapability() != 0 && origin.getTeslaReceptionCapability() != 0 && - origin.getTeslaTransmissionCapability() != origin.getTeslaReceptionCapability()) { - //Skip if incompatible + } else if (origin.getTeslaTransmissionCapability() != 0 + && origin.getTeslaReceptionCapability() != 0 + && origin.getTeslaTransmissionCapability() != origin.getTeslaReceptionCapability()) { + // Skip if incompatible return; } - //Range calc + // Range calc int distance = (int) sqrt(origin.getTeslaPosition().distanceSq(target.getTeslaPosition())); if (distance > origin.getTeslaTransmissionRange() * target.getTeslaReceptionCoefficient()) { - //Skip if the range is too vast + // Skip if the range is too vast return; } origin.getTeslaNodeMap().put(distance, target); } - private static void removeTargetFromTeslaOrigin(ITeslaConnectableSimple target, ITeslaConnectable origin){ - //Range calc TODO Remove duplicate? + private static void removeTargetFromTeslaOrigin(ITeslaConnectableSimple target, ITeslaConnectable origin) { + // Range calc TODO Remove duplicate? int distance = (int) sqrt(origin.getTeslaPosition().distanceSq(target.getTeslaPosition())); origin.getTeslaNodeMap().remove(distance, target); } @@ -77,9 +81,9 @@ public interface ITeslaConnectable extends ITeslaConnectableSimple { public static void generateTeslaNodeMap(ITeslaConnectable origin) { origin.getTeslaNodeMap().clear(); for (ITeslaConnectableSimple target : teslaSimpleNodeSet) { - //Sanity checks + // Sanity checks if (target == null) { - //The Tesla Covers do not remove themselves from the list and this is the code that does + // The Tesla Covers do not remove themselves from the list and this is the code that does teslaSimpleNodeSet.remove(null); continue; } @@ -93,53 +97,59 @@ public interface ITeslaConnectable extends ITeslaConnectableSimple { boolean canSendPower = !origin.isTeslaReadyToReceive() && remainingAmperes > 0; if (canSendPower) { - for (Map.Entry Rx : origin.getTeslaNodeMap().entries()) { - //Do we still have power left to send kind of check - if (origin.getTeslaStoredEnergy() < (origin.isOverdriveEnabled() ? origin.getTeslaOutputVoltage() * - 2 : origin.getTeslaOutputVoltage())) break; - //Explicit words for the important fields + for (Map.Entry Rx : + origin.getTeslaNodeMap().entries()) { + // Do we still have power left to send kind of check + if (origin.getTeslaStoredEnergy() + < (origin.isOverdriveEnabled() + ? origin.getTeslaOutputVoltage() * 2 + : origin.getTeslaOutputVoltage())) break; + // Explicit words for the important fields ITeslaConnectableSimple target = Rx.getValue(); int distance = Rx.getKey(); - //Can our target receive energy? - if(!target.isTeslaReadyToReceive()) continue; + // Can our target receive energy? + if (!target.isTeslaReadyToReceive()) continue; - //Calculate the voltage output + // Calculate the voltage output long outputVoltageInjectable; long outputVoltageConsumption; if (origin.isOverdriveEnabled()) { outputVoltageInjectable = origin.getTeslaOutputVoltage(); - outputVoltageConsumption = origin.getTeslaOutputVoltage() + - (distance * origin.getTeslaEnergyLossPerBlock()) + - (long) Math.round(origin.getTeslaOutputVoltage() * - origin.getTeslaOverdriveLossCoefficient()); + outputVoltageConsumption = origin.getTeslaOutputVoltage() + + (distance * origin.getTeslaEnergyLossPerBlock()) + + (long) Math.round( + origin.getTeslaOutputVoltage() * origin.getTeslaOverdriveLossCoefficient()); } else { - outputVoltageInjectable = origin.getTeslaOutputVoltage() - (distance * - origin.getTeslaEnergyLossPerBlock()); + outputVoltageInjectable = + origin.getTeslaOutputVoltage() - (distance * origin.getTeslaEnergyLossPerBlock()); outputVoltageConsumption = origin.getTeslaOutputVoltage(); } - //Break out of the loop if the cost is too high - //Since the next target will have an even higher cost, just quit now. + // Break out of the loop if the cost is too high + // Since the next target will have an even higher cost, just quit now. if (origin.getTeslaStoredEnergy() < outputVoltageConsumption) break; - //Now shove in as many packets as will fit~ - while(canSendPower){ + // Now shove in as many packets as will fit~ + while (canSendPower) { if (target.teslaInjectEnergy(outputVoltageInjectable)) { origin.teslaDrainEnergy(outputVoltageConsumption); - origin.getSparkList().add(new ThaumSpark(origin.getTeslaPosition(), - target.getTeslaPosition(), origin.getTeslaDimension())); + origin.getSparkList() + .add(new ThaumSpark( + origin.getTeslaPosition(), + target.getTeslaPosition(), + origin.getTeslaDimension())); remainingAmperes--; - //Update the can send power flag each time we send power - canSendPower = (origin.getTeslaStoredEnergy() < outputVoltageConsumption || - remainingAmperes > 0); + // Update the can send power flag each time we send power + canSendPower = + (origin.getTeslaStoredEnergy() < outputVoltageConsumption || remainingAmperes > 0); } else { - //Breaks out when I can't send anymore power + // Breaks out when I can't send anymore power break; } } - //Break out if we can't send power anymore - if (!canSendPower)break; + // Break out if we can't send power anymore + if (!canSendPower) break; } } return origin.getTeslaOutputCurrent() - remainingAmperes; diff --git a/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectableSimple.java b/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectableSimple.java index 2adc25bbed..1dd0a0215c 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectableSimple.java +++ b/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectableSimple.java @@ -3,12 +3,12 @@ package com.github.technus.tectech.mechanics.tesla; import com.gtnewhorizon.structurelib.util.Vec3Impl; public interface ITeslaConnectableSimple { - //-128 to -1 disables capability - //0 means any source or target - //1 to 127 must match on source and target or source/target must be 0 + // -128 to -1 disables capability + // 0 means any source or target + // 1 to 127 must match on source and target or source/target must be 0 byte getTeslaReceptionCapability(); - //Reception Coefficient is a range extension, typical is 1 + // Reception Coefficient is a range extension, typical is 1 float getTeslaReceptionCoefficient(); boolean isTeslaReadyToReceive(); @@ -18,5 +18,6 @@ public interface ITeslaConnectableSimple { boolean teslaInjectEnergy(long teslaVoltageInjected); Vec3Impl getTeslaPosition(); + Integer getTeslaDimension(); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/tesla/TeslaCoverConnection.java b/src/main/java/com/github/technus/tectech/mechanics/tesla/TeslaCoverConnection.java index 87ad7d7443..f8517b64ef 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/tesla/TeslaCoverConnection.java +++ b/src/main/java/com/github/technus/tectech/mechanics/tesla/TeslaCoverConnection.java @@ -1,11 +1,11 @@ package com.github.technus.tectech.mechanics.tesla; +import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.teslaSimpleNodeSetRemove; + import com.google.common.base.Objects; import com.gtnewhorizon.structurelib.util.Vec3Impl; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.teslaSimpleNodeSetRemove; - public class TeslaCoverConnection implements ITeslaConnectableSimple { private final IGregTechTileEntity IGT; private final Vec3Impl pos; @@ -13,9 +13,7 @@ public class TeslaCoverConnection implements ITeslaConnectableSimple { public TeslaCoverConnection(IGregTechTileEntity IGT, byte teslaReceptionCapability) { this.IGT = IGT; - this.pos = new Vec3Impl(IGT.getXCoord(), - IGT.getYCoord(), - IGT.getZCoord()); + this.pos = new Vec3Impl(IGT.getXCoord(), IGT.getYCoord(), IGT.getZCoord()); this.teslaReceptionCapability = teslaReceptionCapability; } @@ -52,10 +50,10 @@ public class TeslaCoverConnection implements ITeslaConnectableSimple { @Override public boolean teslaInjectEnergy(long teslaVoltageInjected) { - //Same as in the microwave transmitters, this does not account for amp limits + // Same as in the microwave transmitters, this does not account for amp limits boolean output = false; - if (!IGT.isDead()){ + if (!IGT.isDead()) { output = IGT.injectEnergyUnits((byte) 1, teslaVoltageInjected, 1L) > 0L; } else { teslaSimpleNodeSetRemove(this); diff --git a/src/main/java/com/github/technus/tectech/nei/NEI_TT_Config.java b/src/main/java/com/github/technus/tectech/nei/NEI_TT_Config.java index 3e1949014d..1871f87875 100644 --- a/src/main/java/com/github/technus/tectech/nei/NEI_TT_Config.java +++ b/src/main/java/com/github/technus/tectech/nei/NEI_TT_Config.java @@ -4,7 +4,7 @@ import codechicken.nei.api.IConfigureNEI; import com.github.technus.tectech.recipe.TT_recipe; import cpw.mods.fml.common.FMLCommonHandler; -public class NEI_TT_Config implements IConfigureNEI {//must be NEI*Config +public class NEI_TT_Config implements IConfigureNEI { // must be NEI*Config public static boolean sIsAdded = true; public static TT_NEI_ResearchHandler TT_RH; public static TT_NEI_ScannerHandler TT_SH; @@ -12,7 +12,7 @@ public class NEI_TT_Config implements IConfigureNEI {//must be NEI*Config @Override public void loadConfig() { sIsAdded = false; - if(FMLCommonHandler.instance().getEffectiveSide().isClient()) { + if (FMLCommonHandler.instance().getEffectiveSide().isClient()) { TT_RH = new TT_NEI_ResearchHandler(TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes); TT_SH = new TT_NEI_ScannerHandler(TT_recipe.GT_Recipe_MapTT.sScannableFakeRecipes); } diff --git a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java index 74a57de117..b729ebdfc8 100644 --- a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java +++ b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.nei; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static gregtech.api.enums.ItemList.Display_Fluid; + import codechicken.lib.gui.GuiDraw; import codechicken.nei.ItemList; import codechicken.nei.PositionedStack; @@ -16,6 +19,11 @@ import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; +import java.awt.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.init.Blocks; @@ -24,24 +32,20 @@ import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidStack; import org.lwjgl.opengl.GL11; -import java.awt.*; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; - -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static gregtech.api.enums.ItemList.Display_Fluid; - public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { protected final TT_recipe.GT_Recipe_MapTT mRecipeMap; public TT_NEI_ResearchHandler(TT_recipe.GT_Recipe_MapTT aRecipeMap) { mRecipeMap = aRecipeMap; - transferRects.add(new TemplateRecipeHandler.RecipeTransferRect(new Rectangle(65, 13, 36, 18), getOverlayIdentifier())); + transferRects.add( + new TemplateRecipeHandler.RecipeTransferRect(new Rectangle(65, 13, 36, 18), getOverlayIdentifier())); if (!NEI_TT_Config.sIsAdded) { - FMLInterModComms.sendRuntimeMessage(TecTech.instance, "NEIPlugins", "register-crafting-handler", Reference.MODID+ '@' + getRecipeName() + '@' + getOverlayIdentifier()); + FMLInterModComms.sendRuntimeMessage( + TecTech.instance, + "NEIPlugins", + "register-crafting-handler", + Reference.MODID + '@' + getRecipeName() + '@' + getOverlayIdentifier()); GuiCraftingRecipe.craftinghandlers.add(this); GuiUsageRecipe.usagehandlers.add(this); } @@ -59,7 +63,7 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { @Override public TemplateRecipeHandler newInstance() { - NEI_TT_Config.TT_RH=new TT_NEI_ResearchHandler(mRecipeMap); + NEI_TT_Config.TT_RH = new TT_NEI_ResearchHandler(mRecipeMap); return NEI_TT_Config.TT_RH; } @@ -83,7 +87,9 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { ArrayList tResults = new ArrayList<>(); tResults.add(aResult); tResults.add(GT_OreDictUnificator.get(true, aResult)); - if (tPrefixMaterial != null && !tPrefixMaterial.mBlackListed && !tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty()) { + if (tPrefixMaterial != null + && !tPrefixMaterial.mBlackListed + && !tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty()) { for (OrePrefixes tPrefix : tPrefixMaterial.mPrefix.mFamiliarPrefixes) { tResults.add(GT_OreDictUnificator.get(tPrefix, tPrefixMaterial.mMaterial.mMaterial, 1L)); } @@ -91,7 +97,8 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { FluidStack tFluid = GT_Utility.getFluidForFilledItem(aResult, true); if (tFluid != null) { tResults.add(GT_Utility.getFluidDisplayStack(tFluid, false)); - for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) { + for (FluidContainerRegistry.FluidContainerData tData : + FluidContainerRegistry.getRegisteredFluidContainerData()) { if (tData.fluid.isFluidEqual(tFluid)) { tResults.add(GT_Utility.copy(tData.filledContainer)); } @@ -125,7 +132,8 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { FluidStack tFluid = GT_Utility.getFluidForFilledItem(aInput, true); if (tFluid != null) { tInputs.add(GT_Utility.getFluidDisplayStack(tFluid, false)); - for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) { + for (FluidContainerRegistry.FluidContainerData tData : + FluidContainerRegistry.getRegisteredFluidContainerData()) { if (tData.fluid.isFluidEqual(tFluid)) { tInputs.add(GT_Utility.copy(tData.filledContainer)); } @@ -168,21 +176,30 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { @Override public String getGuiTexture() { -// return "gregtech:textures/gui/" + this.mRecipeMap.mUnlocalizedName + ".png"; + // return "gregtech:textures/gui/" + this.mRecipeMap.mUnlocalizedName + ".png"; return mRecipeMap.mNEIGUIPath; } @Override - public List handleItemTooltip(GuiRecipe gui, ItemStack aStack, List currenttip, int aRecipeIndex) { + public List handleItemTooltip( + GuiRecipe gui, ItemStack aStack, List currenttip, int aRecipeIndex) { TemplateRecipeHandler.CachedRecipe tObject = arecipes.get(aRecipeIndex); if (tObject instanceof CachedDefaultRecipe) { CachedDefaultRecipe tRecipe = (CachedDefaultRecipe) tObject; for (PositionedStack tStack : tRecipe.mOutputs) { if (aStack == tStack.item) { - if (!(tStack instanceof FixedPositionedStack) || ((FixedPositionedStack) tStack).mChance <= 0 || ((FixedPositionedStack) tStack).mChance == 10000) { + if (!(tStack instanceof FixedPositionedStack) + || ((FixedPositionedStack) tStack).mChance <= 0 + || ((FixedPositionedStack) tStack).mChance == 10000) { break; } - currenttip.add(trans("150","Chance: ") + ((FixedPositionedStack) tStack).mChance / 100 + '.' + (((FixedPositionedStack) tStack).mChance % 100 < 10 ? "0" + ((FixedPositionedStack) tStack).mChance % 100 : Integer.valueOf(((FixedPositionedStack) tStack).mChance % 100)) + '%'); + currenttip.add(trans("150", "Chance: ") + + ((FixedPositionedStack) tStack).mChance / 100 + + '.' + + (((FixedPositionedStack) tStack).mChance % 100 < 10 + ? "0" + ((FixedPositionedStack) tStack).mChance % 100 + : Integer.valueOf(((FixedPositionedStack) tStack).mChance % 100)) + + '%'); break; } } @@ -191,7 +208,7 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { if (Display_Fluid.isStackEqual(tStack.item, true, true) || tStack.item.stackSize != 0) { break; } - currenttip.add(trans("151","Does not get consumed in the process")); + currenttip.add(trans("151", "Does not get consumed in the process")); break; } } @@ -199,39 +216,52 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { return currenttip; } - @Override + @Override public void drawExtras(int aRecipeIndex) { - int tEUt = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mEUt; - int computation = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mDuration; - String[] recipeDesc = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.getNeiDesc(); - if (recipeDesc == null) { + int tEUt = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mEUt; + int computation = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mDuration; + String[] recipeDesc = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.getNeiDesc(); + if (recipeDesc == null) { int tSpecial = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mSpecialValue; - short ampere=(short) (tSpecial & 0xFFFF),minComputationPerSec=(short)(tSpecial>>>16); - if (tEUt != 0) { - drawText(10, 73, trans("152","Max Total: ") + GT_Utility.formatNumbers((1 + (computation - minComputationPerSec) / minComputationPerSec) * (long) tEUt * ampere * 20) + " EU", -16777216); - drawText(10, 83, trans("153","Usage: ") + GT_Utility.formatNumbers((long) tEUt * ampere) + " EU/t", -16777216); - if (mRecipeMap.mShowVoltageAmperageInNEI) { - drawText(10, 93, trans("154","Voltage: ") + GT_Utility.formatNumbers(tEUt) + " EU", -16777216); - drawText(10, 103, trans("155","Amperage: ") + GT_Utility.formatNumbers(ampere), -16777216); - } else { - drawText(10, 93, trans("156","Voltage: unspecified"), -16777216); - drawText(10, 103, trans("157","Amperage: unspecified"), -16777216); - } - } + short ampere = (short) (tSpecial & 0xFFFF), minComputationPerSec = (short) (tSpecial >>> 16); + if (tEUt != 0) { + drawText( + 10, + 73, + trans("152", "Max Total: ") + + GT_Utility.formatNumbers( + (1 + (computation - minComputationPerSec) / minComputationPerSec) + * (long) tEUt + * ampere + * 20) + + " EU", + -16777216); + drawText( + 10, + 83, + trans("153", "Usage: ") + GT_Utility.formatNumbers((long) tEUt * ampere) + " EU/t", + -16777216); + if (mRecipeMap.mShowVoltageAmperageInNEI) { + drawText(10, 93, trans("154", "Voltage: ") + GT_Utility.formatNumbers(tEUt) + " EU", -16777216); + drawText(10, 103, trans("155", "Amperage: ") + GT_Utility.formatNumbers(ampere), -16777216); + } else { + drawText(10, 93, trans("156", "Voltage: unspecified"), -16777216); + drawText(10, 103, trans("157", "Amperage: unspecified"), -16777216); + } + } drawText(10, 113, "Computation: " + GT_Utility.formatNumbers(computation), -16777216); drawText(10, 123, "Min Computation: " + GT_Utility.formatNumbers(minComputationPerSec) + " /s", -16777216); - } else { - int i = 0; - for (String descLine : recipeDesc) { + } else { + int i = 0; + for (String descLine : recipeDesc) { drawText(10, 73 + 10 * i, descLine, -16777216); - i++; - } - } - } + i++; + } + } + } @Deprecated // Unnecessary copy of a class base GT5U uses to manage NEI transfer rects - public static class GT_RectHandler - implements IContainerInputHandler, IContainerTooltipHandler { + public static class GT_RectHandler implements IContainerInputHandler, IContainerTooltipHandler { @Override public boolean mouseClicked(GuiContainer gui, int mousex, int mousey, int button) { return false; @@ -257,7 +287,8 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { } @Override - public List handleItemTooltip(GuiContainer gui, ItemStack itemstack, int mousex, int mousey, List currenttip) { + public List handleItemTooltip( + GuiContainer gui, ItemStack itemstack, int mousex, int mousey, List currenttip) { return currenttip; } @@ -267,16 +298,13 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { } @Override - public void onKeyTyped(GuiContainer gui, char keyChar, int keyID) { - } + public void onKeyTyped(GuiContainer gui, char keyChar, int keyID) {} @Override - public void onMouseClicked(GuiContainer gui, int mousex, int mousey, int button) { - } + public void onMouseClicked(GuiContainer gui, int mousex, int mousey, int button) {} @Override - public void onMouseUp(GuiContainer gui, int mousex, int mousey, int button) { - } + public void onMouseUp(GuiContainer gui, int mousex, int mousey, int button) {} @Override public boolean mouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) { @@ -284,12 +312,10 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { } @Override - public void onMouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) { - } + public void onMouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) {} @Override - public void onMouseDragged(GuiContainer gui, int mousex, int mousey, int button, long heldTime) { - } + public void onMouseDragged(GuiContainer gui, int mousex, int mousey, int button, long heldTime) {} } public static class FixedPositionedStack extends PositionedStack { @@ -317,7 +343,9 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { List permutations = ItemList.itemMap.get(tStack.getItem()); if (!permutations.isEmpty()) { ItemStack stack; - for (Iterator iterator = permutations.iterator(); iterator.hasNext(); tDisplayStacks.add(GT_Utility.copyAmount(tStack.stackSize, stack))) { + for (Iterator iterator = permutations.iterator(); + iterator.hasNext(); + tDisplayStacks.add(GT_Utility.copyAmount(tStack.stackSize, stack))) { stack = iterator.next(); } } else { @@ -332,15 +360,14 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { } items = tDisplayStacks.toArray(nullItem); if (items.length == 0) { - items = new ItemStack[]{new ItemStack(Blocks.fire)}; + items = new ItemStack[] {new ItemStack(Blocks.fire)}; } permutated = true; setPermutationToRender(0); } } - public class CachedDefaultRecipe - extends TemplateRecipeHandler.CachedRecipe { + public class CachedDefaultRecipe extends TemplateRecipeHandler.CachedRecipe { public final GT_Recipe mRecipe; public final List mOutputs; public final List mInputs; @@ -359,7 +386,8 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { mInputs.add(new FixedPositionedStack(aRecipe.mSpecialItems, 120, 52)); } if (aRecipe.getOutput(tStartIndex) != null) { - mOutputs.add(new FixedPositionedStack(aRecipe.getOutput(tStartIndex), 102, 14 + 9, aRecipe.getOutputChance(tStartIndex))); + mOutputs.add(new FixedPositionedStack( + aRecipe.getOutput(tStartIndex), 102, 14 + 9, aRecipe.getOutputChance(tStartIndex))); } } @@ -377,9 +405,9 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { public List getOtherStacks() { return mOutputs; } - } - - public String trans(String aKey, String aEnglish){ - return GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_Index_"+aKey, aEnglish, false); + } + + public String trans(String aKey, String aEnglish) { + return GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_Index_" + aKey, aEnglish, false); } } diff --git a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java index a4b903979b..45df781a57 100644 --- a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java +++ b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.nei; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static gregtech.api.enums.ItemList.Display_Fluid; + import codechicken.lib.gui.GuiDraw; import codechicken.nei.ItemList; import codechicken.nei.PositionedStack; @@ -16,6 +19,11 @@ import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; +import java.awt.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.init.Blocks; @@ -24,15 +32,6 @@ import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidStack; import org.lwjgl.opengl.GL11; -import java.awt.*; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; - -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static gregtech.api.enums.ItemList.Display_Fluid; - public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { protected final TT_recipe.GT_Recipe_MapTT mRecipeMap; @@ -41,7 +40,11 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { mRecipeMap = aRecipeMap; transferRects.add(new RecipeTransferRect(new Rectangle(65, 13, 36, 18), getOverlayIdentifier())); if (!NEI_TT_Config.sIsAdded) { - FMLInterModComms.sendRuntimeMessage(TecTech.instance, "NEIPlugins", "register-crafting-handler", Reference.MODID+ '@' + getRecipeName() + '@' + getOverlayIdentifier()); + FMLInterModComms.sendRuntimeMessage( + TecTech.instance, + "NEIPlugins", + "register-crafting-handler", + Reference.MODID + '@' + getRecipeName() + '@' + getOverlayIdentifier()); GuiCraftingRecipe.craftinghandlers.add(this); GuiUsageRecipe.usagehandlers.add(this); } @@ -59,7 +62,7 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { @Override public TemplateRecipeHandler newInstance() { - NEI_TT_Config.TT_SH=new TT_NEI_ScannerHandler(mRecipeMap); + NEI_TT_Config.TT_SH = new TT_NEI_ScannerHandler(mRecipeMap); return NEI_TT_Config.TT_SH; } @@ -83,7 +86,9 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { ArrayList tResults = new ArrayList<>(); tResults.add(aResult); tResults.add(GT_OreDictUnificator.get(true, aResult)); - if (tPrefixMaterial != null && !tPrefixMaterial.mBlackListed && !tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty()) { + if (tPrefixMaterial != null + && !tPrefixMaterial.mBlackListed + && !tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty()) { for (OrePrefixes tPrefix : tPrefixMaterial.mPrefix.mFamiliarPrefixes) { tResults.add(GT_OreDictUnificator.get(tPrefix, tPrefixMaterial.mMaterial.mMaterial, 1L)); } @@ -91,7 +96,8 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { FluidStack tFluid = GT_Utility.getFluidForFilledItem(aResult, true); if (tFluid != null) { tResults.add(GT_Utility.getFluidDisplayStack(tFluid, false)); - for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) { + for (FluidContainerRegistry.FluidContainerData tData : + FluidContainerRegistry.getRegisteredFluidContainerData()) { if (tData.fluid.isFluidEqual(tFluid)) { tResults.add(GT_Utility.copy(tData.filledContainer)); } @@ -125,7 +131,8 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { FluidStack tFluid = GT_Utility.getFluidForFilledItem(aInput, true); if (tFluid != null) { tInputs.add(GT_Utility.getFluidDisplayStack(tFluid, false)); - for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) { + for (FluidContainerRegistry.FluidContainerData tData : + FluidContainerRegistry.getRegisteredFluidContainerData()) { if (tData.fluid.isFluidEqual(tFluid)) { tInputs.add(GT_Utility.copy(tData.filledContainer)); } @@ -168,21 +175,30 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { @Override public String getGuiTexture() { -// return "gregtech:textures/gui/" + this.mRecipeMap.mUnlocalizedName + ".png"; + // return "gregtech:textures/gui/" + this.mRecipeMap.mUnlocalizedName + ".png"; return mRecipeMap.mNEIGUIPath; } @Override - public List handleItemTooltip(GuiRecipe gui, ItemStack aStack, List currenttip, int aRecipeIndex) { + public List handleItemTooltip( + GuiRecipe gui, ItemStack aStack, List currenttip, int aRecipeIndex) { TemplateRecipeHandler.CachedRecipe tObject = arecipes.get(aRecipeIndex); if (tObject instanceof CachedDefaultRecipe) { CachedDefaultRecipe tRecipe = (CachedDefaultRecipe) tObject; for (PositionedStack tStack : tRecipe.mOutputs) { if (aStack == tStack.item) { - if (!(tStack instanceof FixedPositionedStack) || ((FixedPositionedStack) tStack).mChance <= 0 || ((FixedPositionedStack) tStack).mChance == 10000) { + if (!(tStack instanceof FixedPositionedStack) + || ((FixedPositionedStack) tStack).mChance <= 0 + || ((FixedPositionedStack) tStack).mChance == 10000) { break; } - currenttip.add(trans("150","Chance: ") + ((FixedPositionedStack) tStack).mChance / 100 + '.' + (((FixedPositionedStack) tStack).mChance % 100 < 10 ? "0" + ((FixedPositionedStack) tStack).mChance % 100 : Integer.valueOf(((FixedPositionedStack) tStack).mChance % 100)) + '%'); + currenttip.add(trans("150", "Chance: ") + + ((FixedPositionedStack) tStack).mChance / 100 + + '.' + + (((FixedPositionedStack) tStack).mChance % 100 < 10 + ? "0" + ((FixedPositionedStack) tStack).mChance % 100 + : Integer.valueOf(((FixedPositionedStack) tStack).mChance % 100)) + + '%'); break; } } @@ -191,7 +207,7 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { if (Display_Fluid.isStackEqual(tStack.item, true, true) || tStack.item.stackSize != 0) { break; } - currenttip.add(trans("151","Does not get consumed in the process")); + currenttip.add(trans("151", "Does not get consumed in the process")); break; } } @@ -199,39 +215,52 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { return currenttip; } - @Override + @Override public void drawExtras(int aRecipeIndex) { - int tEUt = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mEUt; - int computation = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mDuration; - String[] recipeDesc = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.getNeiDesc(); - if (recipeDesc == null) { + int tEUt = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mEUt; + int computation = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mDuration; + String[] recipeDesc = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.getNeiDesc(); + if (recipeDesc == null) { int tSpecial = ((CachedDefaultRecipe) arecipes.get(aRecipeIndex)).mRecipe.mSpecialValue; - short ampere=(short) (tSpecial & 0xFFFF),minComputationPerSec=(short)(tSpecial>>>16); - if (tEUt != 0) { - drawText(10, 73, trans("152","Max EU: ") + GT_Utility.formatNumbers((1 + (computation - minComputationPerSec) / minComputationPerSec) * (long) tEUt * ampere * 20) + " EU", -16777216); - drawText(10, 83, trans("153","Usage: ") + GT_Utility.formatNumbers((long) tEUt * ampere) + " EU/t", -16777216); - if (mRecipeMap.mShowVoltageAmperageInNEI) { - drawText(10, 93, trans("154","Voltage: ") + GT_Utility.formatNumbers(tEUt) + " EU", -16777216); - drawText(10, 103, trans("155","Amperage: ") + GT_Utility.formatNumbers(ampere), -16777216); - } else { - drawText(10, 93, trans("156","Voltage: unspecified"), -16777216); - drawText(10, 103, trans("157","Amperage: unspecified"), -16777216); - } - } + short ampere = (short) (tSpecial & 0xFFFF), minComputationPerSec = (short) (tSpecial >>> 16); + if (tEUt != 0) { + drawText( + 10, + 73, + trans("152", "Max EU: ") + + GT_Utility.formatNumbers( + (1 + (computation - minComputationPerSec) / minComputationPerSec) + * (long) tEUt + * ampere + * 20) + + " EU", + -16777216); + drawText( + 10, + 83, + trans("153", "Usage: ") + GT_Utility.formatNumbers((long) tEUt * ampere) + " EU/t", + -16777216); + if (mRecipeMap.mShowVoltageAmperageInNEI) { + drawText(10, 93, trans("154", "Voltage: ") + GT_Utility.formatNumbers(tEUt) + " EU", -16777216); + drawText(10, 103, trans("155", "Amperage: ") + GT_Utility.formatNumbers(ampere), -16777216); + } else { + drawText(10, 93, trans("156", "Voltage: unspecified"), -16777216); + drawText(10, 103, trans("157", "Amperage: unspecified"), -16777216); + } + } drawText(10, 113, "Computation: " + GT_Utility.formatNumbers(computation), -16777216); drawText(10, 123, "Min Computation: " + GT_Utility.formatNumbers(minComputationPerSec) + " /s", -16777216); - } else { - int i = 0; - for (String descLine : recipeDesc) { + } else { + int i = 0; + for (String descLine : recipeDesc) { drawText(10, 73 + 10 * i, descLine, -16777216); - i++; - } - } - } + i++; + } + } + } @Deprecated // Unnecessary copy of a class base GT5U uses to manage NEI transfer rects - public static class GT_RectHandler - implements IContainerInputHandler, IContainerTooltipHandler { + public static class GT_RectHandler implements IContainerInputHandler, IContainerTooltipHandler { @Override public boolean mouseClicked(GuiContainer gui, int mousex, int mousey, int button) { return false; @@ -257,7 +286,8 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { } @Override - public List handleItemTooltip(GuiContainer gui, ItemStack itemstack, int mousex, int mousey, List currenttip) { + public List handleItemTooltip( + GuiContainer gui, ItemStack itemstack, int mousex, int mousey, List currenttip) { return currenttip; } @@ -267,16 +297,13 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { } @Override - public void onKeyTyped(GuiContainer gui, char keyChar, int keyID) { - } + public void onKeyTyped(GuiContainer gui, char keyChar, int keyID) {} @Override - public void onMouseClicked(GuiContainer gui, int mousex, int mousey, int button) { - } + public void onMouseClicked(GuiContainer gui, int mousex, int mousey, int button) {} @Override - public void onMouseUp(GuiContainer gui, int mousex, int mousey, int button) { - } + public void onMouseUp(GuiContainer gui, int mousex, int mousey, int button) {} @Override public boolean mouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) { @@ -284,12 +311,10 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { } @Override - public void onMouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) { - } + public void onMouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) {} @Override - public void onMouseDragged(GuiContainer gui, int mousex, int mousey, int button, long heldTime) { - } + public void onMouseDragged(GuiContainer gui, int mousex, int mousey, int button, long heldTime) {} } public static class FixedPositionedStack extends PositionedStack { @@ -317,7 +342,9 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { List permutations = ItemList.itemMap.get(tStack.getItem()); if (!permutations.isEmpty()) { ItemStack stack; - for (Iterator iterator = permutations.iterator(); iterator.hasNext(); tDisplayStacks.add(GT_Utility.copyAmount(tStack.stackSize, stack))) { + for (Iterator iterator = permutations.iterator(); + iterator.hasNext(); + tDisplayStacks.add(GT_Utility.copyAmount(tStack.stackSize, stack))) { stack = iterator.next(); } } else { @@ -332,15 +359,14 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { } items = tDisplayStacks.toArray(nullItem); if (items.length == 0) { - items = new ItemStack[]{new ItemStack(Blocks.fire)}; + items = new ItemStack[] {new ItemStack(Blocks.fire)}; } permutated = true; setPermutationToRender(0); } } - public class CachedDefaultRecipe - extends TemplateRecipeHandler.CachedRecipe { + public class CachedDefaultRecipe extends TemplateRecipeHandler.CachedRecipe { public final GT_Recipe mRecipe; public final List mOutputs; public final List mInputs; @@ -359,7 +385,8 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { mInputs.add(new FixedPositionedStack(aRecipe.mSpecialItems, 120, 52)); } if (aRecipe.getOutput(tStartIndex) != null) { - mOutputs.add(new FixedPositionedStack(aRecipe.getOutput(tStartIndex), 102, 14 + 9, aRecipe.getOutputChance(tStartIndex))); + mOutputs.add(new FixedPositionedStack( + aRecipe.getOutput(tStartIndex), 102, 14 + 9, aRecipe.getOutputChance(tStartIndex))); } } @@ -377,9 +404,9 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { public List getOtherStacks() { return mOutputs; } - } - - public String trans(String aKey, String aEnglish){ - return GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_Index_"+aKey, aEnglish, false); + } + + public String trans(String aKey, String aEnglish) { + return GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_Index_" + aKey, aEnglish, false); } } diff --git a/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java b/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java index 043bd87a21..17451919b8 100644 --- a/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java +++ b/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.proxy; +import static com.github.technus.tectech.TecTech.RANDOM; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.compatibility.openmodularturrets.TT_turret_loader; import com.github.technus.tectech.thing.block.QuantumGlassBlock; @@ -25,8 +27,6 @@ import net.minecraft.world.World; import net.minecraftforge.client.MinecraftForgeClient; import net.minecraftforge.common.util.ForgeDirection; -import static com.github.technus.tectech.TecTech.RANDOM; - public class ClientProxy extends CommonProxy { @Override public void registerRenderInfo() { @@ -36,23 +36,33 @@ public class ClientProxy extends CommonProxy { QuantumStuffBlock.renderID = RenderingRegistry.getNextAvailableRenderId(); RenderingRegistry.registerBlockHandler(QuantumStuffBlock.renderID, new QuantumStuffRender()); - MinecraftForgeClient.registerItemRenderer(ElementalDefinitionContainer_EM.INSTANCE, RenderElementalName.INSTANCE); - MinecraftForgeClient.registerItemRenderer(DebugElementalInstanceContainer_EM.INSTANCE, RenderElementalName.INSTANCE); - //MinecraftForgeClient.registerItemRenderer(ElementalDefinitionScanStorage_EM.INSTANCE, RenderElementalName.INSTANCE); + MinecraftForgeClient.registerItemRenderer( + ElementalDefinitionContainer_EM.INSTANCE, RenderElementalName.INSTANCE); + MinecraftForgeClient.registerItemRenderer( + DebugElementalInstanceContainer_EM.INSTANCE, RenderElementalName.INSTANCE); + // MinecraftForgeClient.registerItemRenderer(ElementalDefinitionScanStorage_EM.INSTANCE, + // RenderElementalName.INSTANCE); - if(Loader.isModLoaded("openmodularturrets")) { + if (Loader.isModLoaded("openmodularturrets")) { new TT_turret_loader().run(); } } @Override - public void em_particle(IGregTechTileEntity aMuffler, byte facing) {//CUTE! + public void em_particle(IGregTechTileEntity aMuffler, byte facing) { // CUTE! ForgeDirection aDir = ForgeDirection.getOrientation(facing); float xPos = aDir.offsetX * 0.76F + aMuffler.getXCoord() + 0.25F; float yPos = aDir.offsetY * 0.76F + aMuffler.getYCoord() + 0.25F; float zPos = aDir.offsetZ * 0.76F + aMuffler.getZCoord() + 0.25F; - EntityFX particle = new WeightlessParticleFX(aMuffler.getWorld(), xPos + RANDOM.nextFloat() * 0.5F, yPos + RANDOM.nextFloat() * 0.5F, zPos + RANDOM.nextFloat() * 0.5F, 0, 0, 0); + EntityFX particle = new WeightlessParticleFX( + aMuffler.getWorld(), + xPos + RANDOM.nextFloat() * 0.5F, + yPos + RANDOM.nextFloat() * 0.5F, + zPos + RANDOM.nextFloat() * 0.5F, + 0, + 0, + 0); particle.setRBGColorF(0, 0.6F * RANDOM.nextFloat(), 0.8f); Minecraft.getMinecraft().effectRenderer.addEffect(particle); } @@ -70,20 +80,45 @@ public class ClientProxy extends CommonProxy { if (aDir.offsetY == -1) { float temp = RANDOM.nextFloat() * 2 * (float) Math.PI; - xSpd = (float) Math.sin(temp) * 0.1F*(float) RANDOM.nextGaussian(); - zSpd = (float) Math.cos(temp) * 0.1F*(float) RANDOM.nextGaussian(); + xSpd = (float) Math.sin(temp) * 0.1F * (float) RANDOM.nextGaussian(); + zSpd = (float) Math.cos(temp) * 0.1F * (float) RANDOM.nextGaussian(); } else { - xSpd = aDir.offsetX * (0.1F + 0.2F *(float) RANDOM.nextGaussian()); - zSpd = aDir.offsetZ * (0.1F + 0.2F *(float) RANDOM.nextGaussian()); + xSpd = aDir.offsetX * (0.1F + 0.2F * (float) RANDOM.nextGaussian()); + zSpd = aDir.offsetZ * (0.1F + 0.2F * (float) RANDOM.nextGaussian()); } - aMuffler.getWorld().spawnParticle("largesmoke", xPos + RANDOM.nextFloat() * 0.5F, yPos + RANDOM.nextFloat() * 0.5F, zPos + RANDOM.nextFloat() * 0.5F, xSpd, ySpd, zSpd); - aMuffler.getWorld().spawnParticle("largesmoke", xPos + RANDOM.nextFloat() * 0.5F, yPos + RANDOM.nextFloat() * 0.5F, zPos + RANDOM.nextFloat() * 0.5F, xSpd, ySpd, zSpd); - aMuffler.getWorld().spawnParticle("largesmoke", xPos + RANDOM.nextFloat() * 0.5F, yPos + RANDOM.nextFloat() * 0.5F, zPos + RANDOM.nextFloat() * 0.5F, xSpd, ySpd, zSpd); + aMuffler.getWorld() + .spawnParticle( + "largesmoke", + xPos + RANDOM.nextFloat() * 0.5F, + yPos + RANDOM.nextFloat() * 0.5F, + zPos + RANDOM.nextFloat() * 0.5F, + xSpd, + ySpd, + zSpd); + aMuffler.getWorld() + .spawnParticle( + "largesmoke", + xPos + RANDOM.nextFloat() * 0.5F, + yPos + RANDOM.nextFloat() * 0.5F, + zPos + RANDOM.nextFloat() * 0.5F, + xSpd, + ySpd, + zSpd); + aMuffler.getWorld() + .spawnParticle( + "largesmoke", + xPos + RANDOM.nextFloat() * 0.5F, + yPos + RANDOM.nextFloat() * 0.5F, + zPos + RANDOM.nextFloat() * 0.5F, + xSpd, + ySpd, + zSpd); } @Override - public void em_particle(World w,double x, double y, double z) {//CUTE! - EntityFX particle = new WeightlessParticleFX(w, + public void em_particle(World w, double x, double y, double z) { // CUTE! + EntityFX particle = new WeightlessParticleFX( + w, x + RANDOM.nextFloat() * 0.5F, y + RANDOM.nextFloat() * 0.5F, z + RANDOM.nextFloat() * 0.5F, @@ -95,8 +130,9 @@ public class ClientProxy extends CommonProxy { } @Override - public void pollutor_particle(World w,double x, double y, double z) { - w.spawnParticle("largesmoke", + public void pollutor_particle(World w, double x, double y, double z) { + w.spawnParticle( + "largesmoke", x + RANDOM.nextFloat() * 0.5F, y + RANDOM.nextFloat() * 0.5F, z + RANDOM.nextFloat() * 0.5F, @@ -124,28 +160,30 @@ public class ClientProxy extends CommonProxy { } @Override - public void playSound(IGregTechTileEntity base,String name) { - base.getWorld().playSoundEffect(base.getXCoord(),base.getYCoord(),base.getZCoord(), Reference.MODID+':'+name, 1, 1); + public void playSound(IGregTechTileEntity base, String name) { + base.getWorld() + .playSoundEffect( + base.getXCoord(), base.getYCoord(), base.getZCoord(), Reference.MODID + ':' + name, 1, 1); } @Override - public void renderAABB(World w,AxisAlignedBB box) { - em_particle(w,box.minX,box.minY,box.minZ); - em_particle(w,box.minX,box.minY,box.maxZ); - em_particle(w,box.minX,box.maxY,box.maxZ); - em_particle(w,box.minX,box.maxY,box.minZ); - em_particle(w,box.maxX,box.maxY,box.minZ); - em_particle(w,box.maxX,box.maxY,box.maxZ); - em_particle(w,box.maxX,box.minY,box.maxZ); - em_particle(w,box.maxX,box.minY,box.minZ); + public void renderAABB(World w, AxisAlignedBB box) { + em_particle(w, box.minX, box.minY, box.minZ); + em_particle(w, box.minX, box.minY, box.maxZ); + em_particle(w, box.minX, box.maxY, box.maxZ); + em_particle(w, box.minX, box.maxY, box.minZ); + em_particle(w, box.maxX, box.maxY, box.minZ); + em_particle(w, box.maxX, box.maxY, box.maxZ); + em_particle(w, box.maxX, box.minY, box.maxZ); + em_particle(w, box.maxX, box.minY, box.minZ); } @Override - public EntityClientPlayerMP getPlayer(){ + public EntityClientPlayerMP getPlayer() { return Minecraft.getMinecraft().thePlayer; } - public boolean isThePlayer(EntityPlayer player){ - return getPlayer()==player; + public boolean isThePlayer(EntityPlayer player) { + return getPlayer() == player; } } diff --git a/src/main/java/com/github/technus/tectech/proxy/CommonProxy.java b/src/main/java/com/github/technus/tectech/proxy/CommonProxy.java index 0fbe8d890e..66d0afe48d 100644 --- a/src/main/java/com/github/technus/tectech/proxy/CommonProxy.java +++ b/src/main/java/com/github/technus/tectech/proxy/CommonProxy.java @@ -12,11 +12,15 @@ import net.minecraft.world.WorldServer; public class CommonProxy implements IGuiHandler { public void registerRenderInfo() {} - public void em_particle(IGregTechTileEntity aMuffler, byte facing) {}//CUTE! - public void pollutor_particle(IGregTechTileEntity aPollutor, byte facing) {}//CUTE! - public void em_particle(World w,double x, double y, double z){} - public void pollutor_particle(World w,double x, double y, double z){} - public void renderAABB(World w,AxisAlignedBB box){} + public void em_particle(IGregTechTileEntity aMuffler, byte facing) {} // CUTE! + + public void pollutor_particle(IGregTechTileEntity aPollutor, byte facing) {} // CUTE! + + public void em_particle(World w, double x, double y, double z) {} + + public void pollutor_particle(World w, double x, double y, double z) {} + + public void renderAABB(World w, AxisAlignedBB box) {} @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { @@ -36,14 +40,15 @@ public class CommonProxy implements IGuiHandler { MinecraftServer.getServer().getConfigurationManager().sendChatMsg(new ChatComponentText(str)); } - public void printInchat(String... strings){} + public void printInchat(String... strings) {} - public void playSound(IGregTechTileEntity base,String name){} + public void playSound(IGregTechTileEntity base, String name) {} public String getUUID(String name) { - for(WorldServer worldServer:MinecraftServer.getServer().worldServers){ - for(Object o:worldServer.playerEntities){ - if(o instanceof EntityPlayer && ((EntityPlayer) o).getGameProfile().getName().equals(name)){ + for (WorldServer worldServer : MinecraftServer.getServer().worldServers) { + for (Object o : worldServer.playerEntities) { + if (o instanceof EntityPlayer + && ((EntityPlayer) o).getGameProfile().getName().equals(name)) { return ((EntityPlayer) o).getGameProfile().getId().toString(); } } @@ -52,9 +57,10 @@ public class CommonProxy implements IGuiHandler { } public boolean isOnlineName(String name) { - for(WorldServer worldServer:MinecraftServer.getServer().worldServers){ - for(Object o:worldServer.playerEntities){ - if(o instanceof EntityPlayer && ((EntityPlayer) o).getGameProfile().getName().equals(name)){ + for (WorldServer worldServer : MinecraftServer.getServer().worldServers) { + for (Object o : worldServer.playerEntities) { + if (o instanceof EntityPlayer + && ((EntityPlayer) o).getGameProfile().getName().equals(name)) { return true; } } @@ -63,9 +69,14 @@ public class CommonProxy implements IGuiHandler { } public boolean isOnlineUUID(String uuid) { - for(WorldServer worldServer:MinecraftServer.getServer().worldServers){ - for(Object o:worldServer.playerEntities){ - if(o instanceof EntityPlayer && ((EntityPlayer) o).getGameProfile().getId().toString().equals(uuid)){ + for (WorldServer worldServer : MinecraftServer.getServer().worldServers) { + for (Object o : worldServer.playerEntities) { + if (o instanceof EntityPlayer + && ((EntityPlayer) o) + .getGameProfile() + .getId() + .toString() + .equals(uuid)) { return true; } } @@ -73,11 +84,11 @@ public class CommonProxy implements IGuiHandler { return false; } - public EntityPlayer getPlayer(){ + public EntityPlayer getPlayer() { return null; } - public boolean isThePlayer(EntityPlayer player){ + public boolean isThePlayer(EntityPlayer player) { return false; } } diff --git a/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java b/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java index 68607ae737..1de1648406 100644 --- a/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java +++ b/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java @@ -7,42 +7,75 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.maps.IEMMapRead import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.IEMStack; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.util.GT_Recipe; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; public class TT_recipe extends GT_Recipe { - public static final String E_RECIPE_ID = "eRecipeID"; - public final EMConstantStackMap[] input; + public static final String E_RECIPE_ID = "eRecipeID"; + public final EMConstantStackMap[] input; public final IEMMapRead[] output; - public final EMConstantStackMap[] eCatalyst; - public final IAdditionalCheck additionalCheck; + public final EMConstantStackMap[] eCatalyst; + public final IAdditionalCheck additionalCheck; - public TT_recipe(boolean aOptimize, - ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, int[] aChances, - FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue, - EMConstantStackMap[] in, IEMMapRead[] out, EMConstantStackMap[] catalyst, IAdditionalCheck check){ - super(aOptimize,aInputs,aOutputs,aSpecialItems,aChances,aFluidInputs,aFluidOutputs,aDuration,aEUt,aSpecialValue); - input=in; - output=out; - eCatalyst=catalyst; - additionalCheck=check; + public TT_recipe( + boolean aOptimize, + ItemStack[] aInputs, + ItemStack[] aOutputs, + Object aSpecialItems, + int[] aChances, + FluidStack[] aFluidInputs, + FluidStack[] aFluidOutputs, + int aDuration, + int aEUt, + int aSpecialValue, + EMConstantStackMap[] in, + IEMMapRead[] out, + EMConstantStackMap[] catalyst, + IAdditionalCheck check) { + super( + aOptimize, + aInputs, + aOutputs, + aSpecialItems, + aChances, + aFluidInputs, + aFluidOutputs, + aDuration, + aEUt, + aSpecialValue); + input = in; + output = out; + eCatalyst = catalyst; + additionalCheck = check; } - public boolean EMisRecipeInputEqual(boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks){ - return EMisRecipeInputEqual(consume,doNotCheckStackSizes,itemStacks,fluidStacks,null,null); + public boolean EMisRecipeInputEqual( + boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks) { + return EMisRecipeInputEqual(consume, doNotCheckStackSizes, itemStacks, fluidStacks, null, null); } - public boolean EMisRecipeInputEqual(boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks, EMInstanceStackMap[] in){ - return EMisRecipeInputEqual(consume,doNotCheckStackSizes,itemStacks,fluidStacks,in,null); + public boolean EMisRecipeInputEqual( + boolean consume, + boolean doNotCheckStackSizes, + ItemStack[] itemStacks, + FluidStack[] fluidStacks, + EMInstanceStackMap[] in) { + return EMisRecipeInputEqual(consume, doNotCheckStackSizes, itemStacks, fluidStacks, in, null); } - - public boolean EMisRecipeInputEqual(boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks, EMInstanceStackMap[] in, EMInstanceStackMap[] catalyst) { - if(additionalCheck !=null && !additionalCheck.check(this,consume,doNotCheckStackSizes,itemStacks,fluidStacks,in,catalyst)) { + + public boolean EMisRecipeInputEqual( + boolean consume, + boolean doNotCheckStackSizes, + ItemStack[] itemStacks, + FluidStack[] fluidStacks, + EMInstanceStackMap[] in, + EMInstanceStackMap[] catalyst) { + if (additionalCheck != null + && !additionalCheck.check(this, consume, doNotCheckStackSizes, itemStacks, fluidStacks, in, catalyst)) { return false; } if (eCatalyst != null) { @@ -67,11 +100,11 @@ public class TT_recipe extends GT_Recipe { for (int i = 0; i < input.length; i++) { if (input[i] != null && input[i].hasStacks()) { if (in[i] != null && in[i].hasStacks()) { - if(consume){ + if (consume) { if (!in[i].removeAllAmounts(input[i])) { return false; } - }else { + } else { if (!in[i].containsAllAmounts(input[i])) { return false; } @@ -89,13 +122,25 @@ public class TT_recipe extends GT_Recipe { } @Deprecated - public boolean EMisRecipeInputEqualConsumeFromOne(boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks, EMInstanceStackMap in){ - return EMisRecipeInputEqualConsumeFromOne(consume,doNotCheckStackSizes,itemStacks,fluidStacks,in,null); + public boolean EMisRecipeInputEqualConsumeFromOne( + boolean consume, + boolean doNotCheckStackSizes, + ItemStack[] itemStacks, + FluidStack[] fluidStacks, + EMInstanceStackMap in) { + return EMisRecipeInputEqualConsumeFromOne(consume, doNotCheckStackSizes, itemStacks, fluidStacks, in, null); } @Deprecated - public boolean EMisRecipeInputEqualConsumeFromOne(boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks, EMInstanceStackMap in, EMInstanceStackMap[] catalyst) { - if(additionalCheck !=null && !additionalCheck.check(this,consume,doNotCheckStackSizes,itemStacks,fluidStacks,in,catalyst)) { + public boolean EMisRecipeInputEqualConsumeFromOne( + boolean consume, + boolean doNotCheckStackSizes, + ItemStack[] itemStacks, + FluidStack[] fluidStacks, + EMInstanceStackMap in, + EMInstanceStackMap[] catalyst) { + if (additionalCheck != null + && !additionalCheck.check(this, consume, doNotCheckStackSizes, itemStacks, fluidStacks, in, catalyst)) { return false; } if (eCatalyst != null) { @@ -120,11 +165,11 @@ public class TT_recipe extends GT_Recipe { for (EMConstantStackMap anInput : input) { if (anInput != null && anInput.hasStacks()) { if (in.hasStacks()) { - if(consume){ + if (consume) { if (!in.removeAllAmounts(anInput)) { return false; } - }else { + } else { if (!in.containsAllAmounts(anInput)) { return false; } @@ -140,125 +185,284 @@ public class TT_recipe extends GT_Recipe { } return super.isRecipeInputEqual(consume, doNotCheckStackSizes, fluidStacks, itemStacks); } - + public interface IAdditionalCheck { - boolean check(TT_recipe thisRecipe, boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks, EMInstanceStackMap[] in, EMInstanceStackMap[] e); - boolean check(TT_recipe thisRecipe, boolean consume, boolean doNotCheckStackSizes, ItemStack[] itemStacks, FluidStack[] fluidStacks, EMInstanceStackMap in, EMInstanceStackMap[] e); + boolean check( + TT_recipe thisRecipe, + boolean consume, + boolean doNotCheckStackSizes, + ItemStack[] itemStacks, + FluidStack[] fluidStacks, + EMInstanceStackMap[] in, + EMInstanceStackMap[] e); + + boolean check( + TT_recipe thisRecipe, + boolean consume, + boolean doNotCheckStackSizes, + ItemStack[] itemStacks, + FluidStack[] fluidStacks, + EMInstanceStackMap in, + EMInstanceStackMap[] e); } public static class TT_Recipe_Map { public static TT_Recipe_Map sCrafterRecipes = new TT_Recipe_Map<>(); public static TT_Recipe_Map sMachineRecipes = new TT_Recipe_Map<>(); - private final HashMap mRecipeMap; + private final HashMap mRecipeMap; - - public TT_Recipe_Map(){ - mRecipeMap =new HashMap<>(16); + public TT_Recipe_Map() { + mRecipeMap = new HashMap<>(16); } - public T findRecipe(String identifier){ + public T findRecipe(String identifier) { return mRecipeMap.get(identifier); } - - public T findRecipe(ItemStack dataHandler){ - if(dataHandler==null || dataHandler.stackTagCompound==null) { + + public T findRecipe(ItemStack dataHandler) { + if (dataHandler == null || dataHandler.stackTagCompound == null) { return null; } return mRecipeMap.get(dataHandler.stackTagCompound.getString(E_RECIPE_ID)); } - public void add(T recipe){ - GameRegistry.UniqueIdentifier uid=GameRegistry.findUniqueIdentifierFor(recipe.mOutputs[0].getItem()); - mRecipeMap.put(uid+":"+recipe.mOutputs[0].getItemDamage(),recipe); + public void add(T recipe) { + GameRegistry.UniqueIdentifier uid = GameRegistry.findUniqueIdentifierFor(recipe.mOutputs[0].getItem()); + mRecipeMap.put(uid + ":" + recipe.mOutputs[0].getItemDamage(), recipe); } - public Collection recipeList(){ + public Collection recipeList() { return mRecipeMap.values(); } } public static class GT_Recipe_MapTT extends GT_Recipe.GT_Recipe_Map { - public static GT_Recipe_MapTT sResearchableFakeRecipes = new GT_Recipe_MapTT(new HashSet<>(32), "gt.recipe.researchStation", "Research station", null, "gregtech:textures/gui/multimachines/ResearchFake", 1, 1, 1, 0, 1, "", 1, "", true, false);//nei to false - using custom handler - public static GT_Recipe_MapTT sScannableFakeRecipes = new GT_Recipe_MapTT(new HashSet<>(32), "gt.recipe.em_scanner", "EM Scanner Research", null, "gregtech:textures/gui/multimachines/ResearchFake", 1, 1, 1, 0, 1, "", 1, "", true, false); - public static ArrayList sAssemblylineRecipes = new ArrayList<>(); + public static GT_Recipe_MapTT sResearchableFakeRecipes = new GT_Recipe_MapTT( + new HashSet<>(32), + "gt.recipe.researchStation", + "Research station", + null, + "gregtech:textures/gui/multimachines/ResearchFake", + 1, + 1, + 1, + 0, + 1, + "", + 1, + "", + true, + false); // nei to false - using custom handler + public static GT_Recipe_MapTT sScannableFakeRecipes = new GT_Recipe_MapTT( + new HashSet<>(32), + "gt.recipe.em_scanner", + "EM Scanner Research", + null, + "gregtech:textures/gui/multimachines/ResearchFake", + 1, + 1, + 1, + 0, + 1, + "", + 1, + "", + true, + false); + public static ArrayList sAssemblylineRecipes = new ArrayList<>(); - public GT_Recipe_MapTT(Collection aRecipeList, String aUnlocalizedName, String aLocalName, String aNEIName, String aNEIGUIPath, - int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems, int aMinimalInputFluids, - int aAmperage, - String aNEISpecialValuePre, int aNEISpecialValueMultiplier, String aNEISpecialValuePost, - boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) { - super(aRecipeList, aUnlocalizedName, aLocalName, aNEIName, aNEIGUIPath, - aUsualInputCount, aUsualOutputCount, aMinimalInputItems, aMinimalInputFluids, + public GT_Recipe_MapTT( + Collection aRecipeList, + String aUnlocalizedName, + String aLocalName, + String aNEIName, + String aNEIGUIPath, + int aUsualInputCount, + int aUsualOutputCount, + int aMinimalInputItems, + int aMinimalInputFluids, + int aAmperage, + String aNEISpecialValuePre, + int aNEISpecialValueMultiplier, + String aNEISpecialValuePost, + boolean aShowVoltageAmperageInNEI, + boolean aNEIAllowed) { + super( + aRecipeList, + aUnlocalizedName, + aLocalName, + aNEIName, + aNEIGUIPath, + aUsualInputCount, + aUsualOutputCount, + aMinimalInputItems, + aMinimalInputFluids, aAmperage, - aNEISpecialValuePre, aNEISpecialValueMultiplier, aNEISpecialValuePost, - aShowVoltageAmperageInNEI, aNEIAllowed); + aNEISpecialValuePre, + aNEISpecialValueMultiplier, + aNEISpecialValuePost, + aShowVoltageAmperageInNEI, + aNEIAllowed); } } - public static class TT_assLineRecipe extends TT_recipe{ + public static class TT_assLineRecipe extends TT_recipe { public final ItemStack mResearchItem; - public TT_assLineRecipe(boolean aOptimize, ItemStack researchItem, - ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, - FluidStack[] aFluidInputs, int aDuration, int aEUt, int aSpecialValue, - EMConstantStackMap[] in, EMConstantStackMap[] out, EMConstantStackMap[] catalyst, IAdditionalCheck check) { - super(aOptimize, aInputs, aOutputs, aSpecialItems, null, aFluidInputs, null, aDuration, aEUt, aSpecialValue, in, out, catalyst, check); - mResearchItem=researchItem; + public TT_assLineRecipe( + boolean aOptimize, + ItemStack researchItem, + ItemStack[] aInputs, + ItemStack[] aOutputs, + Object aSpecialItems, + FluidStack[] aFluidInputs, + int aDuration, + int aEUt, + int aSpecialValue, + EMConstantStackMap[] in, + EMConstantStackMap[] out, + EMConstantStackMap[] catalyst, + IAdditionalCheck check) { + super( + aOptimize, + aInputs, + aOutputs, + aSpecialItems, + null, + aFluidInputs, + null, + aDuration, + aEUt, + aSpecialValue, + in, + out, + catalyst, + check); + mResearchItem = researchItem; } - public TT_assLineRecipe(boolean aOptimize, ItemStack researchItem, - ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, - FluidStack[] aFluidInputs, int aDuration, int aEUt, int aSpecialValue, - EMConstantStackMap[] in) { - this(aOptimize, researchItem, aInputs, aOutputs, aSpecialItems, aFluidInputs, aDuration, aEUt, aSpecialValue, in, null, null,null); + public TT_assLineRecipe( + boolean aOptimize, + ItemStack researchItem, + ItemStack[] aInputs, + ItemStack[] aOutputs, + Object aSpecialItems, + FluidStack[] aFluidInputs, + int aDuration, + int aEUt, + int aSpecialValue, + EMConstantStackMap[] in) { + this( + aOptimize, + researchItem, + aInputs, + aOutputs, + aSpecialItems, + aFluidInputs, + aDuration, + aEUt, + aSpecialValue, + in, + null, + null, + null); } } - public static class TT_EMRecipe extends TT_recipe{ + public static class TT_EMRecipe extends TT_recipe { public final IEMDefinition mResearchEM; - public final GT_Recipe scannerRecipe; + public final GT_Recipe scannerRecipe; - public TT_EMRecipe(boolean aOptimize, GT_Recipe scannerRecipe, IEMDefinition researchEM, - ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, - FluidStack[] aFluidInputs, int aDuration, int aEUt, int aSpecialValue, - EMConstantStackMap[] in, EMConstantStackMap[] out, EMConstantStackMap[] catalyst, IAdditionalCheck check) { - super(aOptimize, aInputs, aOutputs, aSpecialItems, null, aFluidInputs, null, aDuration, aEUt, aSpecialValue, in, out, catalyst, check); - mResearchEM=researchEM; - this.scannerRecipe=scannerRecipe; + public TT_EMRecipe( + boolean aOptimize, + GT_Recipe scannerRecipe, + IEMDefinition researchEM, + ItemStack[] aInputs, + ItemStack[] aOutputs, + Object aSpecialItems, + FluidStack[] aFluidInputs, + int aDuration, + int aEUt, + int aSpecialValue, + EMConstantStackMap[] in, + EMConstantStackMap[] out, + EMConstantStackMap[] catalyst, + IAdditionalCheck check) { + super( + aOptimize, + aInputs, + aOutputs, + aSpecialItems, + null, + aFluidInputs, + null, + aDuration, + aEUt, + aSpecialValue, + in, + out, + catalyst, + check); + mResearchEM = researchEM; + this.scannerRecipe = scannerRecipe; } - public TT_EMRecipe(boolean aOptimize, GT_Recipe scannerRecipe, IEMDefinition researchEM, - ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, - FluidStack[] aFluidInputs, int aDuration, int aEUt, int aSpecialValue, - EMConstantStackMap[] in) { - this(aOptimize, scannerRecipe, researchEM, aInputs, aOutputs, aSpecialItems, aFluidInputs, aDuration, aEUt, aSpecialValue, in, null, null,null); + public TT_EMRecipe( + boolean aOptimize, + GT_Recipe scannerRecipe, + IEMDefinition researchEM, + ItemStack[] aInputs, + ItemStack[] aOutputs, + Object aSpecialItems, + FluidStack[] aFluidInputs, + int aDuration, + int aEUt, + int aSpecialValue, + EMConstantStackMap[] in) { + this( + aOptimize, + scannerRecipe, + researchEM, + aInputs, + aOutputs, + aSpecialItems, + aFluidInputs, + aDuration, + aEUt, + aSpecialValue, + in, + null, + null, + null); } } public static class TT_Recipe_Map_EM { - public static TT_Recipe_Map_EM sCrafterRecipesEM = new TT_Recipe_Map_EM<>("EM Crafter Recipes","gt.recipe.em_crafter",null); - public static TT_Recipe_Map_EM sMachineRecipesEM = new TT_Recipe_Map_EM<>("EM Machinert Recipe","gt.recipe.em_machinery",null); + public static TT_Recipe_Map_EM sCrafterRecipesEM = + new TT_Recipe_Map_EM<>("EM Crafter Recipes", "gt.recipe.em_crafter", null); + public static TT_Recipe_Map_EM sMachineRecipesEM = + new TT_Recipe_Map_EM<>("EM Machinert Recipe", "gt.recipe.em_machinery", null); - private final HashMap mRecipeMap; - public final String mNEIName,mUnlocalizedName,mNEIGUIPath; + private final HashMap mRecipeMap; + public final String mNEIName, mUnlocalizedName, mNEIGUIPath; - public TT_Recipe_Map_EM(String mNEIName,String mUnlocalizedName,String mNEIGUIPath){ - mRecipeMap =new HashMap<>(16); - this.mNEIName=mNEIName; - this.mUnlocalizedName=mUnlocalizedName; - this.mNEIGUIPath=mNEIGUIPath; + public TT_Recipe_Map_EM(String mNEIName, String mUnlocalizedName, String mNEIGUIPath) { + mRecipeMap = new HashMap<>(16); + this.mNEIName = mNEIName; + this.mUnlocalizedName = mUnlocalizedName; + this.mNEIGUIPath = mNEIGUIPath; } - public T findRecipe(IEMDefinition stack){ + public T findRecipe(IEMDefinition stack) { return mRecipeMap.get(stack); } - public void add(T recipe){ - mRecipeMap.put(recipe.mResearchEM,recipe); + public void add(T recipe) { + mRecipeMap.put(recipe.mResearchEM, recipe); } - public Collection recipeList(){ + public Collection recipeList() { return mRecipeMap.values(); } } diff --git a/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java b/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java index 37f0865dd4..739896749b 100644 --- a/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java +++ b/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java @@ -15,58 +15,117 @@ import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Recipe.GT_Recipe_AssemblyLine; import gregtech.api.util.GT_Utility; import gregtech.common.GT_RecipeAdder; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; -public class TT_recipeAdder extends GT_RecipeAdder { - public static final ItemStack[] nullItem=new ItemStack[0]; - public static final FluidStack[] nullFluid=new FluidStack[0]; +public class TT_recipeAdder extends GT_RecipeAdder { + public static final ItemStack[] nullItem = new ItemStack[0]; + public static final FluidStack[] nullFluid = new FluidStack[0]; - public static boolean addResearchableAssemblylineRecipe(ItemStack aResearchItem, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput, int assDuration, int assEUt) { - if(aInputs==null) { + public static boolean addResearchableAssemblylineRecipe( + ItemStack aResearchItem, + int totalComputationRequired, + int computationRequiredPerSec, + int researchEUt, + int researchAmperage, + ItemStack[] aInputs, + FluidStack[] aFluidInputs, + ItemStack aOutput, + int assDuration, + int assEUt) { + if (aInputs == null) { aInputs = nullItem; } - if(aFluidInputs==null) { + if (aFluidInputs == null) { aFluidInputs = nullFluid; } - if (aResearchItem==null || totalComputationRequired<=0 || aOutput == null || aInputs.length>16) { + if (aResearchItem == null || totalComputationRequired <= 0 || aOutput == null || aInputs.length > 16) { return false; } - for(ItemStack tItem : aInputs){ - if(tItem==null){ - TecTech.LOGGER.error("addResearchableAssemblingLineRecipe "+aResearchItem.getDisplayName()+" --> "+aOutput.getUnlocalizedName()+" there is some null item in that recipe"); + for (ItemStack tItem : aInputs) { + if (tItem == null) { + TecTech.LOGGER.error("addResearchableAssemblingLineRecipe " + aResearchItem.getDisplayName() + " --> " + + aOutput.getUnlocalizedName() + " there is some null item in that recipe"); } } researchAmperage = GT_Utility.clamp(researchAmperage, 1, Short.MAX_VALUE); computationRequiredPerSec = GT_Utility.clamp(computationRequiredPerSec, 1, Short.MAX_VALUE); - TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Writes Research result")}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16); - GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.addFakeRecipe(false, aInputs, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Reads Research result")}, aFluidInputs, null, assDuration, assEUt, 0,true); - GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(new GT_Recipe.GT_Recipe_AssemblyLine(CustomItemList.UnusedStuff.get(1), totalComputationRequired/computationRequiredPerSec, aInputs, aFluidInputs, aOutput, assDuration, assEUt)); - TT_recipe.GT_Recipe_MapTT.sAssemblylineRecipes.add(new GT_Recipe.GT_Recipe_AssemblyLine(aResearchItem, totalComputationRequired/computationRequiredPerSec, aInputs, aFluidInputs, aOutput, assDuration, assEUt)); + TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe( + false, + new ItemStack[] {aResearchItem}, + new ItemStack[] {aOutput}, + new ItemStack[] {ItemList.Tool_DataStick.getWithName(1L, "Writes Research result")}, + null, + null, + totalComputationRequired, + researchEUt, + researchAmperage | computationRequiredPerSec << 16); + GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.addFakeRecipe( + false, + aInputs, + new ItemStack[] {aOutput}, + new ItemStack[] {ItemList.Tool_DataStick.getWithName(1L, "Reads Research result")}, + aFluidInputs, + null, + assDuration, + assEUt, + 0, + true); + GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(new GT_Recipe.GT_Recipe_AssemblyLine( + CustomItemList.UnusedStuff.get(1), + totalComputationRequired / computationRequiredPerSec, + aInputs, + aFluidInputs, + aOutput, + assDuration, + assEUt)); + TT_recipe.GT_Recipe_MapTT.sAssemblylineRecipes.add(new GT_Recipe.GT_Recipe_AssemblyLine( + aResearchItem, + totalComputationRequired / computationRequiredPerSec, + aInputs, + aFluidInputs, + aOutput, + assDuration, + assEUt)); return true; } - public static boolean addResearchableAssemblylineRecipe(ItemStack aResearchItem, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, Object[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput, int assDuration, int assEUt) { - if(aInputs==null) { + public static boolean addResearchableAssemblylineRecipe( + ItemStack aResearchItem, + int totalComputationRequired, + int computationRequiredPerSec, + int researchEUt, + int researchAmperage, + Object[] aInputs, + FluidStack[] aFluidInputs, + ItemStack aOutput, + int assDuration, + int assEUt) { + if (aInputs == null) { aInputs = nullItem; } - if(aFluidInputs==null) { + if (aFluidInputs == null) { aFluidInputs = nullFluid; } - if (aResearchItem==null || totalComputationRequired<=0 || aOutput == null || aInputs.length>16 || aFluidInputs.length>4 || assDuration<=0 || assEUt<=0) { + if (aResearchItem == null + || totalComputationRequired <= 0 + || aOutput == null + || aInputs.length > 16 + || aFluidInputs.length > 4 + || assDuration <= 0 + || assEUt <= 0) { return false; } ItemStack[] tInputs = new ItemStack[aInputs.length]; ItemStack[][] tAlts = new ItemStack[aInputs.length][]; int tPersistentHash = 1; - for(int i = 0; i < aInputs.length; i++){ + for (int i = 0; i < aInputs.length; i++) { Object obj = aInputs[i]; if (obj instanceof ItemStack) { tInputs[i] = (ItemStack) obj; @@ -90,7 +149,8 @@ public class TT_recipeAdder extends GT_RecipeAdder { if (objs.length >= 2 && !(tList = GT_OreDictUnificator.getOres(objs[0])).isEmpty()) { try { // sort the output, so the hash code is stable across launches - tList.sort(Comparator.comparing(s -> GameRegistry.findUniqueIdentifierFor(s.getItem()).modId) + tList.sort(Comparator.comparing( + s -> GameRegistry.findUniqueIdentifierFor(s.getItem()).modId) .thenComparing(s -> GameRegistry.findUniqueIdentifierFor(s.getItem()).modId) .thenComparingInt(Items.feather::getDamage) .thenComparingInt(s -> s.stackSize)); @@ -100,8 +160,7 @@ public class TT_recipeAdder extends GT_RecipeAdder { ItemStack uStack = GT_Utility.copyAmount(tAmount, tStack); if (GT_Utility.isStackValid(uStack)) { uList.add(uStack); - if (tInputs[i] == null) - tInputs[i] = uStack; + if (tInputs[i] == null) tInputs[i] = uStack; } } tAlts[i] = uList.toArray(new ItemStack[0]); @@ -109,17 +168,18 @@ public class TT_recipeAdder extends GT_RecipeAdder { tPersistentHash = tPersistentHash * 31 + tAmount; continue; } catch (Exception t) { - TecTech.LOGGER.error("addAssemblingLineRecipe "+aResearchItem.getDisplayName()+" --> there is some ... in that recipe"); + TecTech.LOGGER.error("addAssemblingLineRecipe " + aResearchItem.getDisplayName() + + " --> there is some ... in that recipe"); } } } - TecTech.LOGGER.error("addAssemblingLineRecipe "+aResearchItem.getDisplayName()+" --> "+aOutput.getUnlocalizedName()+" there is some null item in that recipe"); + TecTech.LOGGER.error("addAssemblingLineRecipe " + aResearchItem.getDisplayName() + " --> " + + aOutput.getUnlocalizedName() + " there is some null item in that recipe"); } tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(aResearchItem, true, false); tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(aOutput, true, false); for (FluidStack tFluidInput : aFluidInputs) { - if (tFluidInput == null) - continue; + if (tFluidInput == null) continue; tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(tFluidInput, true, false); } researchAmperage = GT_Utility.clamp(researchAmperage, 1, Short.MAX_VALUE); @@ -130,12 +190,48 @@ public class TT_recipeAdder extends GT_RecipeAdder { tPersistentHash = tPersistentHash * 31 + researchEUt; tPersistentHash = tPersistentHash * 31 + assDuration; tPersistentHash = tPersistentHash * 31 + assEUt; - TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Writes Research result")}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16); - GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.addFakeRecipe(false,tInputs,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Reads Research result")},aFluidInputs,null,assDuration,assEUt,0,tAlts,true); - GT_Recipe_AssemblyLine recipeGT = new GT_Recipe_AssemblyLine(CustomItemList.UnusedStuff.get(1), totalComputationRequired / computationRequiredPerSec, tInputs, aFluidInputs, aOutput, assDuration, assEUt, tAlts); + TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe( + false, + new ItemStack[] {aResearchItem}, + new ItemStack[] {aOutput}, + new ItemStack[] {ItemList.Tool_DataStick.getWithName(1L, "Writes Research result")}, + null, + null, + totalComputationRequired, + researchEUt, + researchAmperage | computationRequiredPerSec << 16); + GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.addFakeRecipe( + false, + tInputs, + new ItemStack[] {aOutput}, + new ItemStack[] {ItemList.Tool_DataStick.getWithName(1L, "Reads Research result")}, + aFluidInputs, + null, + assDuration, + assEUt, + 0, + tAlts, + true); + GT_Recipe_AssemblyLine recipeGT = new GT_Recipe_AssemblyLine( + CustomItemList.UnusedStuff.get(1), + totalComputationRequired / computationRequiredPerSec, + tInputs, + aFluidInputs, + aOutput, + assDuration, + assEUt, + tAlts); recipeGT.setPersistentHash(tPersistentHash); GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(recipeGT); - GT_Recipe_AssemblyLine recipeTT = new GT_Recipe_AssemblyLine(aResearchItem, totalComputationRequired / computationRequiredPerSec, tInputs, aFluidInputs, aOutput, assDuration, assEUt, tAlts); + GT_Recipe_AssemblyLine recipeTT = new GT_Recipe_AssemblyLine( + aResearchItem, + totalComputationRequired / computationRequiredPerSec, + tInputs, + aFluidInputs, + aOutput, + assDuration, + assEUt, + tAlts); recipeTT.setPersistentHash(tPersistentHash); TT_recipe.GT_Recipe_MapTT.sAssemblylineRecipes.add(recipeTT); return true; @@ -149,120 +245,252 @@ public class TT_recipeAdder extends GT_RecipeAdder { */ public static boolean addResearchableEMmachineRecipe( - ItemStack aResearchItem, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, - ItemStack[] aInputs, FluidStack[] aFluidInputs, EMConstantStackMap[] eInputs, - ItemStack aOutput, int machineDuration, int machineEUt, int machineAmperage) { - if(aInputs==null) { + ItemStack aResearchItem, + int totalComputationRequired, + int computationRequiredPerSec, + int researchEUt, + int researchAmperage, + ItemStack[] aInputs, + FluidStack[] aFluidInputs, + EMConstantStackMap[] eInputs, + ItemStack aOutput, + int machineDuration, + int machineEUt, + int machineAmperage) { + if (aInputs == null) { aInputs = nullItem; } - if(aFluidInputs==null) { + if (aFluidInputs == null) { aFluidInputs = nullFluid; } - if (aResearchItem==null || totalComputationRequired<=0 || aOutput == null) { + if (aResearchItem == null || totalComputationRequired <= 0 || aOutput == null) { return false; } - for(ItemStack tItem : aInputs){ - if(tItem==null){ - TecTech.LOGGER.error("addResearchableEMmachineRecipe "+aResearchItem.getDisplayName()+" --> "+aOutput.getUnlocalizedName()+" there is some null item in that recipe"); + for (ItemStack tItem : aInputs) { + if (tItem == null) { + TecTech.LOGGER.error("addResearchableEMmachineRecipe " + aResearchItem.getDisplayName() + " --> " + + aOutput.getUnlocalizedName() + " there is some null item in that recipe"); } } - if(researchAmperage<=0) { + if (researchAmperage <= 0) { researchAmperage = 1; - } else if(researchAmperage > Short.MAX_VALUE) { + } else if (researchAmperage > Short.MAX_VALUE) { researchAmperage = Short.MAX_VALUE; } - if(computationRequiredPerSec<=0) { + if (computationRequiredPerSec <= 0) { computationRequiredPerSec = 1; - } else if(computationRequiredPerSec > Short.MAX_VALUE) { + } else if (computationRequiredPerSec > Short.MAX_VALUE) { computationRequiredPerSec = Short.MAX_VALUE; } - TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Writes Research result for "+ GT_MetaTileEntity_EM_machine.machine)}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16); - TT_recipe.TT_Recipe_Map.sMachineRecipes.add(new TT_recipe.TT_assLineRecipe(false,aResearchItem,aInputs,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, - aFluidInputs,machineDuration,machineEUt,machineAmperage,eInputs)); + TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe( + false, + new ItemStack[] {aResearchItem}, + new ItemStack[] {aOutput}, + new ItemStack[] { + ItemList.Tool_DataOrb.getWithName( + 1L, "Writes Research result for " + GT_MetaTileEntity_EM_machine.machine) + }, + null, + null, + totalComputationRequired, + researchEUt, + researchAmperage | computationRequiredPerSec << 16); + TT_recipe.TT_Recipe_Map.sMachineRecipes.add(new TT_recipe.TT_assLineRecipe( + false, + aResearchItem, + aInputs, + new ItemStack[] {aOutput}, + new ItemStack[] {ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, + aFluidInputs, + machineDuration, + machineEUt, + machineAmperage, + eInputs)); return true; } public static boolean addResearchableEMcrafterRecipe( - ItemStack aResearchItem, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, - EMConstantStackMap[] eInputs, EMConstantStackMap[] catalyst, TT_recipe.IAdditionalCheck check, - ItemStack aOutput, int crafterDuration, int crafterEUt, int crafterAmperage) { - if (aResearchItem==null || totalComputationRequired<=0 || aOutput == null) { + ItemStack aResearchItem, + int totalComputationRequired, + int computationRequiredPerSec, + int researchEUt, + int researchAmperage, + EMConstantStackMap[] eInputs, + EMConstantStackMap[] catalyst, + TT_recipe.IAdditionalCheck check, + ItemStack aOutput, + int crafterDuration, + int crafterEUt, + int crafterAmperage) { + if (aResearchItem == null || totalComputationRequired <= 0 || aOutput == null) { return false; } - if(researchAmperage<=0) { + if (researchAmperage <= 0) { researchAmperage = 1; - } else if(researchAmperage > Short.MAX_VALUE) { + } else if (researchAmperage > Short.MAX_VALUE) { researchAmperage = Short.MAX_VALUE; } - if(computationRequiredPerSec<=0) { + if (computationRequiredPerSec <= 0) { computationRequiredPerSec = 1; - } else if(computationRequiredPerSec > Short.MAX_VALUE) { + } else if (computationRequiredPerSec > Short.MAX_VALUE) { computationRequiredPerSec = Short.MAX_VALUE; } - TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Writes Research result for "+ GT_MetaTileEntity_EM_crafting.crafter)}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16); - TT_recipe.TT_Recipe_Map.sCrafterRecipes.add(new TT_recipe.TT_assLineRecipe(false,aResearchItem,null,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, - null,crafterDuration,crafterEUt,crafterAmperage,eInputs,null,catalyst,check)); + TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe( + false, + new ItemStack[] {aResearchItem}, + new ItemStack[] {aOutput}, + new ItemStack[] { + ItemList.Tool_DataOrb.getWithName( + 1L, "Writes Research result for " + GT_MetaTileEntity_EM_crafting.crafter) + }, + null, + null, + totalComputationRequired, + researchEUt, + researchAmperage | computationRequiredPerSec << 16); + TT_recipe.TT_Recipe_Map.sCrafterRecipes.add(new TT_recipe.TT_assLineRecipe( + false, + aResearchItem, + null, + new ItemStack[] {aOutput}, + new ItemStack[] {ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, + null, + crafterDuration, + crafterEUt, + crafterAmperage, + eInputs, + null, + catalyst, + check)); return true; } public static boolean addScannableEMmachineRecipe( - IEMDefinition aResearchEM, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, - ItemStack[] aInputs, FluidStack[] aFluidInputs, EMConstantStackMap[] eInputs, - ItemStack aOutput, int machineDuration, int machineEUt, int machineAmperage) { - if(aInputs==null) { + IEMDefinition aResearchEM, + int totalComputationRequired, + int computationRequiredPerSec, + int researchEUt, + int researchAmperage, + ItemStack[] aInputs, + FluidStack[] aFluidInputs, + EMConstantStackMap[] eInputs, + ItemStack aOutput, + int machineDuration, + int machineEUt, + int machineAmperage) { + if (aInputs == null) { aInputs = nullItem; } - if(aFluidInputs==null) { + if (aFluidInputs == null) { aFluidInputs = nullFluid; } - if (aResearchEM==null || totalComputationRequired<=0 || aOutput == null) { + if (aResearchEM == null || totalComputationRequired <= 0 || aOutput == null) { return false; } - for(ItemStack tItem : aInputs){ - if(tItem==null){ - TecTech.LOGGER.error("addScannableEMmachineRecipe "+aResearchEM+" --> "+aOutput.getUnlocalizedName()+" there is some null item in that recipe"); + for (ItemStack tItem : aInputs) { + if (tItem == null) { + TecTech.LOGGER.error("addScannableEMmachineRecipe " + aResearchEM + " --> " + + aOutput.getUnlocalizedName() + " there is some null item in that recipe"); } } - if(researchAmperage<=0) { + if (researchAmperage <= 0) { researchAmperage = 1; - } else if(researchAmperage > Short.MAX_VALUE) { + } else if (researchAmperage > Short.MAX_VALUE) { researchAmperage = Short.MAX_VALUE; } - if(computationRequiredPerSec<=0) { + if (computationRequiredPerSec <= 0) { computationRequiredPerSec = 1; - } else if(computationRequiredPerSec > Short.MAX_VALUE) { + } else if (computationRequiredPerSec > Short.MAX_VALUE) { computationRequiredPerSec = Short.MAX_VALUE; } - ItemStack placeholder=new ItemStack(ElementalDefinitionContainer_EM.INSTANCE); - ElementalDefinitionContainer_EM.setContent(placeholder,new EMConstantStackMap(new EMDefinitionStack(aResearchEM,1))); - GT_Recipe thisRecipe=TT_recipe.GT_Recipe_MapTT.sScannableFakeRecipes.addFakeRecipe(false, new ItemStack[]{placeholder}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Writes Research result for "+ GT_MetaTileEntity_EM_machine.machine)}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16); - TT_recipe.TT_Recipe_Map_EM.sMachineRecipesEM.add(new TT_recipe.TT_EMRecipe(false,thisRecipe,aResearchEM,aInputs,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, - aFluidInputs,machineDuration,machineEUt,machineAmperage,eInputs)); + ItemStack placeholder = new ItemStack(ElementalDefinitionContainer_EM.INSTANCE); + ElementalDefinitionContainer_EM.setContent( + placeholder, new EMConstantStackMap(new EMDefinitionStack(aResearchEM, 1))); + GT_Recipe thisRecipe = TT_recipe.GT_Recipe_MapTT.sScannableFakeRecipes.addFakeRecipe( + false, + new ItemStack[] {placeholder}, + new ItemStack[] {aOutput}, + new ItemStack[] { + ItemList.Tool_DataOrb.getWithName( + 1L, "Writes Research result for " + GT_MetaTileEntity_EM_machine.machine) + }, + null, + null, + totalComputationRequired, + researchEUt, + researchAmperage | computationRequiredPerSec << 16); + TT_recipe.TT_Recipe_Map_EM.sMachineRecipesEM.add(new TT_recipe.TT_EMRecipe( + false, + thisRecipe, + aResearchEM, + aInputs, + new ItemStack[] {aOutput}, + new ItemStack[] {ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, + aFluidInputs, + machineDuration, + machineEUt, + machineAmperage, + eInputs)); return true; } public static boolean addScannableEMcrafterRecipe( - IEMDefinition aResearchEM, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, - EMConstantStackMap[] eInputs, EMConstantStackMap[] catalyst, TT_recipe.IAdditionalCheck check, - ItemStack aOutput, int crafterDuration, int crafterEUt, int crafterAmperage) { - if (aResearchEM==null || totalComputationRequired<=0 || aOutput == null) { + IEMDefinition aResearchEM, + int totalComputationRequired, + int computationRequiredPerSec, + int researchEUt, + int researchAmperage, + EMConstantStackMap[] eInputs, + EMConstantStackMap[] catalyst, + TT_recipe.IAdditionalCheck check, + ItemStack aOutput, + int crafterDuration, + int crafterEUt, + int crafterAmperage) { + if (aResearchEM == null || totalComputationRequired <= 0 || aOutput == null) { return false; } - if(researchAmperage<=0) { + if (researchAmperage <= 0) { researchAmperage = 1; - } else if(researchAmperage > Short.MAX_VALUE) { + } else if (researchAmperage > Short.MAX_VALUE) { researchAmperage = Short.MAX_VALUE; } - if(computationRequiredPerSec<=0) { + if (computationRequiredPerSec <= 0) { computationRequiredPerSec = 1; - } else if(computationRequiredPerSec > Short.MAX_VALUE) { + } else if (computationRequiredPerSec > Short.MAX_VALUE) { computationRequiredPerSec = Short.MAX_VALUE; } - ItemStack placeholder=new ItemStack(ElementalDefinitionContainer_EM.INSTANCE); - ElementalDefinitionContainer_EM.setContent(placeholder,new EMConstantStackMap(new EMDefinitionStack(aResearchEM,1))); - GT_Recipe thisRecipe=TT_recipe.GT_Recipe_MapTT.sScannableFakeRecipes.addFakeRecipe(false, new ItemStack[]{placeholder}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Writes Research result for "+ GT_MetaTileEntity_EM_crafting.crafter)}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16); - TT_recipe.TT_Recipe_Map_EM.sCrafterRecipesEM.add(new TT_recipe.TT_EMRecipe(false,thisRecipe,aResearchEM,null,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, - null,crafterDuration,crafterEUt,crafterAmperage,eInputs,null,catalyst,check)); + ItemStack placeholder = new ItemStack(ElementalDefinitionContainer_EM.INSTANCE); + ElementalDefinitionContainer_EM.setContent( + placeholder, new EMConstantStackMap(new EMDefinitionStack(aResearchEM, 1))); + GT_Recipe thisRecipe = TT_recipe.GT_Recipe_MapTT.sScannableFakeRecipes.addFakeRecipe( + false, + new ItemStack[] {placeholder}, + new ItemStack[] {aOutput}, + new ItemStack[] { + ItemList.Tool_DataOrb.getWithName( + 1L, "Writes Research result for " + GT_MetaTileEntity_EM_crafting.crafter) + }, + null, + null, + totalComputationRequired, + researchEUt, + researchAmperage | computationRequiredPerSec << 16); + TT_recipe.TT_Recipe_Map_EM.sCrafterRecipesEM.add(new TT_recipe.TT_EMRecipe( + false, + thisRecipe, + aResearchEM, + null, + new ItemStack[] {aOutput}, + new ItemStack[] {ItemList.Tool_DataOrb.getWithName(1L, "Reads Research result")}, + null, + crafterDuration, + crafterEUt, + crafterAmperage, + eInputs, + null, + catalyst, + check)); return true; } } 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 9e555e3961..6f00ed021f 100644 --- a/src/main/java/com/github/technus/tectech/thing/CustomItemList.java +++ b/src/main/java/com/github/technus/tectech/thing/CustomItemList.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing; +import static gregtech.api.enums.GT_Values.W; + import gregtech.api.interfaces.IItemContainer; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; @@ -8,103 +10,395 @@ import net.minecraft.block.Block; import net.minecraft.item.Item; 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, + 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, + 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, + 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, - eM_dynamoMulti4_LuV, eM_dynamoMulti16_LuV, eM_dynamoMulti64_LuV, - eM_dynamoMulti4_ZPM, eM_dynamoMulti16_ZPM, eM_dynamoMulti64_ZPM, - eM_dynamoMulti4_UV, eM_dynamoMulti16_UV, eM_dynamoMulti64_UV, - eM_dynamoMulti4_UHV, eM_dynamoMulti16_UHV, eM_dynamoMulti64_UHV, - eM_dynamoMulti4_UEV, eM_dynamoMulti16_UEV, eM_dynamoMulti64_UEV, - 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_dynamoMulti4_IV, + eM_dynamoMulti16_IV, + eM_dynamoMulti64_IV, + eM_dynamoMulti4_LuV, + eM_dynamoMulti16_LuV, + eM_dynamoMulti64_LuV, + eM_dynamoMulti4_ZPM, + eM_dynamoMulti16_ZPM, + eM_dynamoMulti64_ZPM, + eM_dynamoMulti4_UV, + eM_dynamoMulti16_UV, + eM_dynamoMulti64_UV, + eM_dynamoMulti4_UHV, + eM_dynamoMulti16_UHV, + eM_dynamoMulti64_UHV, + eM_dynamoMulti4_UEV, + eM_dynamoMulti16_UEV, + eM_dynamoMulti64_UEV, + 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_dynamoTunnel9001, - eM_energyMulti4_IV, eM_energyMulti16_IV, eM_energyMulti64_IV, - eM_energyMulti4_LuV, eM_energyMulti16_LuV, eM_energyMulti64_LuV, - eM_energyMulti4_ZPM, eM_energyMulti16_ZPM, eM_energyMulti64_ZPM, - eM_energyMulti4_UV, eM_energyMulti16_UV, eM_energyMulti64_UV, - eM_energyMulti4_UHV, eM_energyMulti16_UHV, eM_energyMulti64_UHV, - eM_energyMulti4_UEV, eM_energyMulti16_UEV, eM_energyMulti64_UEV, - 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_energyMulti4_IV, + eM_energyMulti16_IV, + eM_energyMulti64_IV, + eM_energyMulti4_LuV, + eM_energyMulti16_LuV, + eM_energyMulti64_LuV, + eM_energyMulti4_ZPM, + eM_energyMulti16_ZPM, + eM_energyMulti64_ZPM, + eM_energyMulti4_UV, + eM_energyMulti16_UV, + eM_energyMulti64_UV, + eM_energyMulti4_UHV, + eM_energyMulti16_UHV, + eM_energyMulti64_UHV, + eM_energyMulti4_UEV, + eM_energyMulti16_UEV, + eM_energyMulti64_UEV, + 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_energyTunnel9001, - eM_in_UV, eM_in_UHV, eM_in_UEV, eM_in_UIV, eM_in_UMV, eM_in_UXV, - eM_out_UV, eM_out_UHV, eM_out_UEV, eM_out_UIV, eM_out_UMV, eM_out_UXV, - eM_muffler_UV, eM_muffler_UHV, eM_muffler_UEV, eM_muffler_UIV, eM_muffler_UMV, eM_muffler_UXV, - 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, + eM_in_UV, + eM_in_UHV, + eM_in_UEV, + eM_in_UIV, + eM_in_UMV, + eM_in_UXV, + eM_out_UV, + eM_out_UHV, + eM_out_UEV, + eM_out_UIV, + eM_out_UMV, + eM_out_UXV, + eM_muffler_UV, + eM_muffler_UHV, + eM_muffler_UEV, + eM_muffler_UIV, + eM_muffler_UMV, + eM_muffler_UXV, + 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, - tM_TeslaBase, tM_TeslaToroid, tM_TeslaSecondary, tM_TeslaPrimary_0, tM_TeslaPrimary_1, tM_TeslaPrimary_2, tM_TeslaPrimary_3, tM_TeslaPrimary_4, tM_TeslaPrimary_5, tM_TeslaPrimary_6, + tM_TeslaBase, + tM_TeslaToroid, + tM_TeslaSecondary, + tM_TeslaPrimary_0, + tM_TeslaPrimary_1, + tM_TeslaPrimary_2, + tM_TeslaPrimary_3, + tM_TeslaPrimary_4, + tM_TeslaPrimary_5, + tM_TeslaPrimary_6, - Machine_Multi_Microwave, Machine_Multi_TeslaCoil, + 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, - Machine_Multi_EssentiaToEM, Machine_Multi_EMToEssentia, - Machine_Multi_Infuser, Machine_Multi_Collider, - Machine_Multi_Decay, Machine_Multi_EMmachine, - Machine_Multi_Stabilizer, Machine_Multi_EMCrafter, - Machine_Multi_Wormhole, Machine_Multi_Annihilation, + Machine_Multi_Computer, + Machine_Multi_Switch, + Machine_Multi_Research, + Machine_Multi_DataBank, + Machine_Multi_MatterToEM, + Machine_Multi_EMToMatter, + Machine_Multi_EMjunction, + Machine_Multi_Scanner, + Machine_Multi_EssentiaToEM, + Machine_Multi_EMToEssentia, + Machine_Multi_Infuser, + Machine_Multi_Collider, + Machine_Multi_Decay, + Machine_Multi_EMmachine, + 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, - eM_avr_HV, eM_avr_EV, eM_avr_IV, eM_avr_LuV, eM_avr_ZPM, eM_avr_UV, eM_avr_UHV, eM_avr_UEV, eM_avr_UIV, eM_avr_UMV, + eM_avr_HV, + eM_avr_EV, + eM_avr_IV, + eM_avr_LuV, + eM_avr_ZPM, + eM_avr_UV, + eM_avr_UHV, + eM_avr_UEV, + eM_avr_UIV, + eM_avr_UMV, - scanContainer, parametrizerMemory, teslaCapacitor, teslaCover, teslaComponent, teslaStaff, enderLinkFluidCover, powerPassUpgradeCover, + scanContainer, + parametrizerMemory, + teslaCapacitor, + teslaCover, + teslaComponent, + teslaStaff, + enderLinkFluidCover, + powerPassUpgradeCover, - 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; + 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; - //public static Fluid sOilExtraHeavy, sOilHeavy, sOilMedium, sOilLight, sNaturalGas; + // public static Fluid sOilExtraHeavy, sOilHeavy, sOilMedium, sOilLight, sNaturalGas; @Override public IItemContainer set(Item aItem) { diff --git a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassBlock.java b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassBlock.java index 42fb14f55d..b84f04c783 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassBlock.java +++ b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassBlock.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.block; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; + import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -12,9 +15,6 @@ import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; - /** * Created by danie_000 on 17.12.2016. */ @@ -51,10 +51,10 @@ public final class QuantumGlassBlock extends BlockBase { return false; } - //@Override - //public boolean canRenderInPass(int pass) { + // @Override + // public boolean canRenderInPass(int pass) { // return true; - //} + // } @Override public boolean canBeReplacedByLeaves(IBlockAccess world, int x, int y, int z) { @@ -74,9 +74,11 @@ public final class QuantumGlassBlock extends BlockBase { @Override @SideOnly(Side.CLIENT) - public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { + public boolean shouldSideBeRendered( + IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { Block block = p_149646_1_.getBlock(p_149646_2_, p_149646_3_, p_149646_4_); - return block != this;// && super.shouldSideBeRendered(p_149646_1_, p_149646_2_, p_149646_3_, p_149646_4_, p_149646_5_); + return block != this; // && super.shouldSideBeRendered(p_149646_1_, p_149646_2_, p_149646_3_, p_149646_4_, + // p_149646_5_); } @Override @@ -102,7 +104,6 @@ public final class QuantumGlassBlock extends BlockBase { if (GregTech_API.isMachineBlock(this, aWorld.getBlockMetadata(aX, aY, aZ))) { GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ); } - } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassItem.java b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassItem.java index 3f42bdbbc4..aabcdc2fee 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassItem.java +++ b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassItem.java @@ -1,16 +1,15 @@ package com.github.technus.tectech.thing.block; +import static com.github.technus.tectech.util.CommonValues.TEC_MARK_EM; +import static net.minecraft.util.StatCollector.translateToLocal; + +import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import java.util.List; - -import static com.github.technus.tectech.util.CommonValues.TEC_MARK_EM; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 11.04.2017. */ @@ -24,7 +23,9 @@ public class QuantumGlassItem extends ItemBlock { @Override public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { aList.add(TEC_MARK_EM); - aList.add(translateToLocal("tile.quantumGlass.desc.0"));//Dense yet transparent - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("tile.quantumGlass.desc.1"));//Glassy & Classy + aList.add(translateToLocal("tile.quantumGlass.desc.0")); // Dense yet transparent + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("tile.quantumGlass.desc.1")); // Glassy & Classy } } diff --git a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassRender.java b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassRender.java index cec06002fa..aac2c9d5a1 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassRender.java +++ b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassRender.java @@ -18,7 +18,7 @@ public final class QuantumGlassRender implements ISimpleBlockRenderingHandler { GL11.glTranslatef(-0.5F, -0.5F, -0.5F); Tessellator tessellator = Tessellator.instance; GL11.glPushMatrix(); - //Get icons from custom register (useful for renderers and fluids) + // Get icons from custom register (useful for renderers and fluids) IIcon side = QuantumGlassBlock.stuff; tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); @@ -49,9 +49,8 @@ public final class QuantumGlassRender implements ISimpleBlockRenderingHandler { } @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, - Block block, int modelId, - RenderBlocks renderer) { + public boolean renderWorldBlock( + IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { renderer.renderStandardBlock(block, x, y, z); Tessellator tes = Tessellator.instance; @@ -62,42 +61,47 @@ public final class QuantumGlassRender implements ISimpleBlockRenderingHandler { IIcon side = QuantumGlassBlock.stuff; GL11.glDisable(GL11.GL_CULL_FACE); - //South + // South if (world.getBlock(x, y, z + 1).getClass() != QuantumGlassBlock.class) { - tes.addVertexWithUV(x, y, z + 0.999, side.getMinU(), side.getMaxV()); //0.999 instead of 1 for fighting (textures overlapping) + tes.addVertexWithUV( + x, + y, + z + 0.999, + side.getMinU(), + side.getMaxV()); // 0.999 instead of 1 for fighting (textures overlapping) tes.addVertexWithUV(x, y + 1, z + 0.999, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x + 1, y + 1, z + 0.999, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x + 1, y, z + 0.999, side.getMaxU(), side.getMaxV()); } - //East + // East if (world.getBlock(x + 1, y, z).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x + 0.999, y, z + 1, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x + 0.999, y + 1, z + 1, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x + 0.999, y + 1, z, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x + 0.999, y, z, side.getMaxU(), side.getMaxV()); } - //North + // North if (world.getBlock(x, y, z - 1).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x + 1, y, z + 0.001, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x + 1, y + 1, z + 0.001, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x, y + 1, z + 0.001, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x, y, z + 0.001, side.getMaxU(), side.getMaxV()); } - //West + // West if (world.getBlock(x - 1, y, z).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x + 0.001, y, z, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x + 0.001, y + 1, z, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x + 0.001, y + 1, z + 1, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x + 0.001, y, z + 1, side.getMaxU(), side.getMaxV()); } - //Top + // Top if (world.getBlock(x, y + 1, z).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x, y + 0.999, z + 1, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x, y + 0.999, z, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x + 1, y + 0.999, z, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x + 1, y + 0.999, z + 1, side.getMaxU(), side.getMaxV()); } - //Bottom + // Bottom if (world.getBlock(x, y - 1, z).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x, y + 0.001, z, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x, y + 0.001, z + 1, side.getMinU(), side.getMinV()); diff --git a/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffBlock.java b/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffBlock.java index 639a269523..2717a95425 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffBlock.java +++ b/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffBlock.java @@ -1,9 +1,13 @@ package com.github.technus.tectech.thing.block; +import static com.github.technus.tectech.Reference.MODID; + import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import eu.usrv.yamcore.blocks.BlockBase; +import java.util.ArrayList; +import java.util.Random; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.Item; @@ -12,11 +16,6 @@ import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import java.util.ArrayList; -import java.util.Random; - -import static com.github.technus.tectech.Reference.MODID; - /** * Created by danie_000 on 17.12.2016. */ @@ -58,10 +57,10 @@ public final class QuantumStuffBlock extends BlockBase { return false; } - //@Override - //public boolean canRenderInPass(int pass) { + // @Override + // public boolean canRenderInPass(int pass) { // return true; - //} + // } @Override public boolean canBeReplacedByLeaves(IBlockAccess world, int x, int y, int z) { @@ -81,7 +80,8 @@ public final class QuantumStuffBlock extends BlockBase { @Override @SideOnly(Side.CLIENT) - public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { + public boolean shouldSideBeRendered( + IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { return false; } diff --git a/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffRender.java b/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffRender.java index 5d495a8355..1c974a1510 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffRender.java +++ b/src/main/java/com/github/technus/tectech/thing/block/QuantumStuffRender.java @@ -14,13 +14,13 @@ import org.lwjgl.opengl.GL11; * Created by danie_000 on 19.12.2016. */ public final class QuantumStuffRender implements ISimpleBlockRenderingHandler { - private static Tessellator tes=Tessellator.instance; + private static Tessellator tes = Tessellator.instance; @Override public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { GL11.glTranslatef(-0.5F, -0.5F, -0.5F); GL11.glPushMatrix(); - //Get icons from custom register (useful for renderers and fluids) + // Get icons from custom register (useful for renderers and fluids) IIcon side = QuantumStuffBlock.stuff; tes.startDrawingQuads(); tes.setNormal(0.0F, -1.0F, 0.0F); @@ -51,39 +51,54 @@ public final class QuantumStuffRender implements ISimpleBlockRenderingHandler { } @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - //renderer.renderStandardBlock(block, x, y, z); + public boolean renderWorldBlock( + IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + // renderer.renderStandardBlock(block, x, y, z); GL11.glPushMatrix(); tes.setNormal(0F, 1F, 0F); tes.setBrightness(15728880); IIcon side = QuantumStuffBlock.stuff; - for(int i=0;i<6;i++){ - float f = 1 - TecTech.RANDOM.nextFloat() / 4f, g = f - TecTech.RANDOM.nextFloat() / 4f, r = g - TecTech.RANDOM.nextFloat() / 4f - 0.25f; + for (int i = 0; i < 6; i++) { + float f = 1 - TecTech.RANDOM.nextFloat() / 4f, + g = f - TecTech.RANDOM.nextFloat() / 4f, + r = g - TecTech.RANDOM.nextFloat() / 4f - 0.25f; tes.setColorOpaque_F(r, g, f); - float rotX=TecTech.RANDOM.nextFloat()*2*(float) Math.PI,rotY=TecTech.RANDOM.nextFloat()*2*(float) Math.PI,rotZ=TecTech.RANDOM.nextFloat()*2*(float) Math.PI; - tesAbuse(x,y,z,-1.425f,-1.425f,.1f,rotX,rotY,rotZ,side.getMinU(), side.getMaxV()); - tesAbuse(x,y,z,-1.425f,1.425f,.1f,rotX,rotY,rotZ,side.getMinU(), side.getMinV()); - tesAbuse(x,y,z,1.425f,1.425f,.1f,rotX,rotY,rotZ,side.getMaxU(), side.getMinV()); - tesAbuse(x,y,z,1.425f,-1.425f,.1f,rotX,rotY,rotZ,side.getMaxU(), side.getMaxV()); + float rotX = TecTech.RANDOM.nextFloat() * 2 * (float) Math.PI, + rotY = TecTech.RANDOM.nextFloat() * 2 * (float) Math.PI, + rotZ = TecTech.RANDOM.nextFloat() * 2 * (float) Math.PI; + tesAbuse(x, y, z, -1.425f, -1.425f, .1f, rotX, rotY, rotZ, side.getMinU(), side.getMaxV()); + tesAbuse(x, y, z, -1.425f, 1.425f, .1f, rotX, rotY, rotZ, side.getMinU(), side.getMinV()); + tesAbuse(x, y, z, 1.425f, 1.425f, .1f, rotX, rotY, rotZ, side.getMaxU(), side.getMinV()); + tesAbuse(x, y, z, 1.425f, -1.425f, .1f, rotX, rotY, rotZ, side.getMaxU(), side.getMaxV()); - tesAbuse(x,y,z,1.425f,-1.425f,-.1f,rotX,rotY,rotZ,side.getMaxU(), side.getMaxV()); - tesAbuse(x,y,z,1.425f,1.425f,-.1f,rotX,rotY,rotZ,side.getMaxU(), side.getMinV()); - tesAbuse(x,y,z,-1.425f,1.425f,-.1f,rotX,rotY,rotZ,side.getMinU(), side.getMinV()); - tesAbuse(x,y,z,-1.425f,-1.425f,-.1f,rotX,rotY,rotZ,side.getMinU(), side.getMaxV()); + tesAbuse(x, y, z, 1.425f, -1.425f, -.1f, rotX, rotY, rotZ, side.getMaxU(), side.getMaxV()); + tesAbuse(x, y, z, 1.425f, 1.425f, -.1f, rotX, rotY, rotZ, side.getMaxU(), side.getMinV()); + tesAbuse(x, y, z, -1.425f, 1.425f, -.1f, rotX, rotY, rotZ, side.getMinU(), side.getMinV()); + tesAbuse(x, y, z, -1.425f, -1.425f, -.1f, rotX, rotY, rotZ, side.getMinU(), side.getMaxV()); } GL11.glPopMatrix(); return true; } - private void tesAbuse(int x, int y, int z, float sx, float sy, float sz, float rotX, float rotY, float rotZ,float sideU, float sideV){ + private void tesAbuse( + int x, + int y, + int z, + float sx, + float sy, + float sz, + float rotX, + float rotY, + float rotZ, + float sideU, + float sideV) { Vec3 pos = Vec3.createVectorHelper(sx, sy, sz); pos.rotateAroundX(rotX); pos.rotateAroundY(rotY); pos.rotateAroundZ(rotZ); - tes.addVertexWithUV(pos.xCoord+x+.5f, pos.yCoord+y+.5f, pos.zCoord+z+.5f, sideU, sideV); + tes.addVertexWithUV(pos.xCoord + x + .5f, pos.yCoord + y + .5f, pos.zCoord + z + .5f, sideU, sideV); } - @Override public boolean shouldRender3DInInventory(int modelId) { return true; diff --git a/src/main/java/com/github/technus/tectech/thing/block/ReactorSimBlock.java b/src/main/java/com/github/technus/tectech/thing/block/ReactorSimBlock.java index 1440e16c62..0cb032e623 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/ReactorSimBlock.java +++ b/src/main/java/com/github/technus/tectech/thing/block/ReactorSimBlock.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.block; +import static com.github.technus.tectech.Reference.MODID; + import com.github.technus.tectech.thing.tileEntity.ReactorSimTileEntity; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; @@ -17,8 +19,6 @@ import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import static com.github.technus.tectech.Reference.MODID; - /** * Created by danie_000 on 30.09.2017. */ @@ -63,7 +63,7 @@ public class ReactorSimBlock extends Block implements ITileEntityProvider { public static void run() { INSTANCE = new ReactorSimBlock(); GameRegistry.registerBlock(INSTANCE, ReactorSimItem.class, INSTANCE.getUnlocalizedName()); - GameRegistry.registerTileEntity(ReactorSimTileEntity.class,MODID+"_reactorSim"); + GameRegistry.registerTileEntity(ReactorSimTileEntity.class, MODID + "_reactorSim"); } @Override @@ -72,21 +72,22 @@ public class ReactorSimBlock extends Block implements ITileEntityProvider { } @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer entityPlayer, int side, float a, float b, float c) { - if(entityPlayer.isSneaking()) { + public boolean onBlockActivated( + World world, int x, int y, int z, EntityPlayer entityPlayer, int side, float a, float b, float c) { + if (entityPlayer.isSneaking()) { return false; } else { - TileEntity te = world.getTileEntity(x,y,z); - return te instanceof IHasGui && (!IC2.platform.isSimulating() || IC2.platform.launchGui(entityPlayer, (IHasGui) te)); + TileEntity te = world.getTileEntity(x, y, z); + return te instanceof IHasGui + && (!IC2.platform.isSimulating() || IC2.platform.launchGui(entityPlayer, (IHasGui) te)); } } @Override public void onNeighborBlockChange(World world, int x, int y, int z, Block srcBlock) { - TileEntity te = world.getTileEntity(x,y,z); - if(te instanceof TileEntityBlock) { - ((TileEntityBlock)te).onNeighborUpdate(srcBlock); + TileEntity te = world.getTileEntity(x, y, z); + if (te instanceof TileEntityBlock) { + ((TileEntityBlock) te).onNeighborUpdate(srcBlock); } - } } diff --git a/src/main/java/com/github/technus/tectech/thing/block/ReactorSimItem.java b/src/main/java/com/github/technus/tectech/thing/block/ReactorSimItem.java index d659a05005..c4f27a4f66 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/ReactorSimItem.java +++ b/src/main/java/com/github/technus/tectech/thing/block/ReactorSimItem.java @@ -1,16 +1,15 @@ package com.github.technus.tectech.thing.block; +import static com.github.technus.tectech.util.CommonValues.TEC_MARK_GENERAL; +import static net.minecraft.util.StatCollector.translateToLocal; + +import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import java.util.List; - -import static com.github.technus.tectech.util.CommonValues.TEC_MARK_GENERAL; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 30.09.2017. */ @@ -24,7 +23,9 @@ public class ReactorSimItem extends ItemBlock { @Override public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { aList.add(TEC_MARK_GENERAL); - aList.add(translateToLocal("tile.reactorSim.desc.0"));//Fission Reaction Uncertainty Resolver 9001 - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("tile.reactorSim.desc.1"));//Explodes, but not as much... + aList.add(translateToLocal("tile.reactorSim.desc.0")); // Fission Reaction Uncertainty Resolver 9001 + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("tile.reactorSim.desc.1")); // Explodes, but not as much... } } 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 index 62221d5bd4..8e0221d827 100644 --- 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 @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.casing; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; + import com.github.technus.tectech.thing.CustomItemList; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -8,6 +10,7 @@ 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 java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -15,10 +18,6 @@ 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.thing.casing.GT_Block_CasingsTT.texturePage; - /** * Created by danie_000 on 03.10.2016. */ @@ -39,17 +38,25 @@ public class GT_Block_CasingsBA0 extends GT_Block_Casings_Abstract { 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 + START_INDEX] = new GT_CopiedBlockTexture(this, 6, b); + Textures.BlockIcons.casingTexturePages[texturePage][b + START_INDEX] = + 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() + ".9.name", "ZPM Superconductor Primary Tesla Windings"); + 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() + ".9.name", "ZPM Superconductor Primary Tesla Windings"); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".6.name", "Tesla Base Casing"); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".7.name", "Tesla Toroid Casing"); diff --git a/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsNH.java b/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsNH.java index 2a8bb37a0b..61e4847eb8 100644 --- a/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsNH.java +++ b/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsNH.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.casing; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; + import com.github.technus.tectech.thing.CustomItemList; import gregtech.api.enums.Textures; import gregtech.api.objects.GT_CopiedBlockTexture; @@ -10,14 +13,10 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; - /** * Created by danie_000 on 03.10.2016. */ -public class GT_Block_CasingsNH - extends GT_Block_Casings_Abstract { +public class GT_Block_CasingsNH extends GT_Block_Casings_Abstract { public static boolean mConnectedMachineTextures = true; public GT_Block_CasingsNH() { @@ -25,28 +24,28 @@ public class GT_Block_CasingsNH setCreativeTab(creativeTabTecTech); for (byte b = 0; b < 16; b = (byte) (b + 1)) { - Textures.BlockIcons.casingTexturePages[8][b+64] = new GT_CopiedBlockTexture(this, 6, b); + Textures.BlockIcons.casingTexturePages[8][b + 64] = new GT_CopiedBlockTexture(this, 6, b); /*IMPORTANT for block recoloring*/ } - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "UEV Machine Casing");//adding - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "UIV Machine Casing");//adding - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "UMV Machine Casing");//adding - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "UXV Machine Casing");//adding - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "OPV Machine Casing");//adding - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "MAX Machine Casing");//adding - - CustomItemList.Casing_UEV.set(new ItemStack(this,1,10)); - CustomItemList.Casing_UIV.set(new ItemStack(this,1,11)); - CustomItemList.Casing_UMV.set(new ItemStack(this,1,12)); - CustomItemList.Casing_UXV.set(new ItemStack(this,1,13)); - CustomItemList.Casing_OPV.set(new ItemStack(this,1,14)); - CustomItemList.Casing_MAXV.set(new ItemStack(this,1,15)); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "UEV Machine Casing"); // adding + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "UIV Machine Casing"); // adding + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "UMV Machine Casing"); // adding + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "UXV Machine Casing"); // adding + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "OPV Machine Casing"); // adding + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "MAX Machine Casing"); // adding + + CustomItemList.Casing_UEV.set(new ItemStack(this, 1, 10)); + CustomItemList.Casing_UIV.set(new ItemStack(this, 1, 11)); + CustomItemList.Casing_UMV.set(new ItemStack(this, 1, 12)); + CustomItemList.Casing_UXV.set(new ItemStack(this, 1, 13)); + CustomItemList.Casing_OPV.set(new ItemStack(this, 1, 14)); + CustomItemList.Casing_MAXV.set(new ItemStack(this, 1, 15)); } @Override public void registerBlockIcons(IIconRegister aIconRegister) { - //super.registerBlockIcons(aIconRegister); + // super.registerBlockIcons(aIconRegister); } @Override 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 de72db417e..fcaa068bce 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 @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.casing; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; +import static com.github.technus.tectech.TecTech.tectechTexturePage1; + import com.github.technus.tectech.thing.CustomItemList; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -8,6 +11,7 @@ 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 java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -15,18 +19,31 @@ 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.creativeTabTecTech; -import static com.github.technus.tectech.TecTech.tectechTexturePage1; - /** * Created by danie_000 on 03.10.2016. */ public class GT_Block_CasingsTT extends GT_Block_Casings_Abstract { - public static final byte texturePage=tectechTexturePage1; - public static final short textureOffset = texturePage << 7;//Start of PAGE 8 (which is the 9th page) (8*128) - private static IIcon eM0, eM1, eM1s, eM2, eM2s, eM3, eM3s, eM4, eM5, eM6, eM7, eM7s, eM8, eM9, eM10, eM11, eM12, eM13, eM14; + public static final byte texturePage = tectechTexturePage1; + public static final short textureOffset = texturePage << 7; // Start of PAGE 8 (which is the 9th page) (8*128) + private static IIcon eM0, + eM1, + eM1s, + eM2, + eM2s, + eM3, + eM3s, + eM4, + eM5, + eM6, + eM7, + eM7s, + eM8, + eM9, + eM10, + eM11, + eM12, + eM13, + eM14; private static IIcon[] debug = new IIcon[6]; public GT_Block_CasingsTT() { @@ -55,10 +72,13 @@ public class GT_Block_CasingsTT extends GT_Block_Casings_Abstract { GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "Dimensional Bridge Generator"); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "Ultimate Molecular Casing"); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "Ultimate Advanced Molecular Casing"); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "Ultimate Containment Field Generator"); + GT_LanguageManager.addStringLocalization( + getUnlocalizedName() + ".13.name", "Ultimate Advanced Molecular Casing"); + GT_LanguageManager.addStringLocalization( + getUnlocalizedName() + ".14.name", "Ultimate Containment Field Generator"); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "Debug Sides");//NOT REGISTER AS TEXTURE FOR HATCHES! + GT_LanguageManager.addStringLocalization( + getUnlocalizedName() + ".15.name", "Debug Sides"); // NOT REGISTER AS TEXTURE FOR HATCHES! CustomItemList.eM_Power.set(new ItemStack(this, 1, 0)); @@ -86,7 +106,7 @@ public class GT_Block_CasingsTT extends GT_Block_Casings_Abstract { @Override public void registerBlockIcons(IIconRegister aIconRegister) { - //super.registerBlockIcons(aIconRegister); + // super.registerBlockIcons(aIconRegister); eM0 = aIconRegister.registerIcon("gregtech:iconsets/EM_POWER"); eM1 = aIconRegister.registerIcon("gregtech:iconsets/EM_PC_NONSIDE"); 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 index 50630820df..748626fd2e 100644 --- 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 @@ -1,16 +1,15 @@ package com.github.technus.tectech.thing.casing; +import static com.github.technus.tectech.util.CommonValues.*; +import static net.minecraft.util.StatCollector.translateToLocal; + import gregtech.common.blocks.GT_Item_Casings_Abstract; +import java.util.List; 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.util.CommonValues.*; -import static net.minecraft.util.StatCollector.translateToLocal; - public class GT_Item_CasingsBA0 extends GT_Item_Casings_Abstract { public GT_Item_CasingsBA0(Block par1) { super(par1); @@ -24,32 +23,45 @@ public class GT_Item_CasingsBA0 extends GT_Item_Casings_Abstract { aList.add(COSMIC_MARK); } switch (aStack.getItemDamage()) { - case 0://"Redstone Alloy Primary Tesla Windings" - case 1://"MV Superconductor Primary Tesla Windings" - case 2://"HV Superconductor Primary Tesla Windings" - case 3://"EV Superconductor Primary Tesla Windings" - case 4://"IV Superconductor Primary Tesla Windings" - case 5://"LuV Superconductor Primary Tesla Windings" - aList.add(translateToLocal("gt.blockcasingsBA0.0.desc.0") + " " + V[aStack.getItemDamage() + 1] + " EU/t");//Handles up to - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.0.desc.1"));//What one man calls God, another calls the laws of physics. + case 0: // "Redstone Alloy Primary Tesla Windings" + case 1: // "MV Superconductor Primary Tesla Windings" + case 2: // "HV Superconductor Primary Tesla Windings" + case 3: // "EV Superconductor Primary Tesla Windings" + case 4: // "IV Superconductor Primary Tesla Windings" + case 5: // "LuV Superconductor Primary Tesla Windings" + aList.add(translateToLocal("gt.blockcasingsBA0.0.desc.0") + " " + V[aStack.getItemDamage() + 1] + + " EU/t"); // Handles up to + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsBA0.0.desc.1")); // What one man calls God, another calls the + // laws of physics. break; - case 6://"Tesla Base Casing" - aList.add(translateToLocal("gt.blockcasingsBA0.6.desc.0"));//The base of a wondrous contraption - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.6.desc.1"));//it's alive, IT'S ALIVE! + case 6: // "Tesla Base Casing" + aList.add(translateToLocal("gt.blockcasingsBA0.6.desc.0")); // The base of a wondrous contraption + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsBA0.6.desc.1")); // it's alive, IT'S ALIVE! break; - case 7://"Tesla Toroid Casing" - aList.add(translateToLocal("gt.blockcasingsBA0.7.desc.0"));//Made out of the finest tin foil! - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.7.desc.1"));//Faraday suits might come later + case 7: // "Tesla Toroid Casing" + aList.add(translateToLocal("gt.blockcasingsBA0.7.desc.0")); // Made out of the finest tin foil! + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsBA0.7.desc.1")); // Faraday suits might come later break; - case 8://"Tesla Secondary Windings" - aList.add(translateToLocal("gt.blockcasingsBA0.8.desc.0"));//Picks up power from a primary coil - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.8.desc.1"));//Who wouldn't want a 32k epoxy multi? + case 8: // "Tesla Secondary Windings" + aList.add(translateToLocal("gt.blockcasingsBA0.8.desc.0")); // Picks up power from a primary coil + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsBA0.8.desc.1")); // Who wouldn't want a 32k epoxy multi? break; - case 9://"ZPM Superconductor Primary Tesla Windings" - aList.add(translateToLocal("gt.blockcasingsBA0.0.desc.0") + " " + V[7] + " EU/t");//Handles up to - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.0.desc.1"));//What one man calls God, another calls the laws of physics. + case 9: // "ZPM Superconductor Primary Tesla Windings" + aList.add(translateToLocal("gt.blockcasingsBA0.0.desc.0") + " " + V[7] + " EU/t"); // Handles up to + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsBA0.0.desc.1")); // What one man calls God, another calls the + // laws of physics. break; - default://WTF? + 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_CasingsNH.java b/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsNH.java index 68a835c00a..cfe2e0a702 100644 --- a/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsNH.java +++ b/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsNH.java @@ -6,8 +6,7 @@ import net.minecraft.block.Block; /** * Created by danie_000 on 03.10.2016. */ -public class GT_Item_CasingsNH - extends GT_Item_Casings_Abstract { +public class GT_Item_CasingsNH extends GT_Item_Casings_Abstract { public GT_Item_CasingsNH(Block par1) { super(par1); } 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 5c93841d9a..19822a679d 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 @@ -1,17 +1,16 @@ package com.github.technus.tectech.thing.casing; +import static com.github.technus.tectech.util.CommonValues.COSMIC_MARK; +import static com.github.technus.tectech.util.CommonValues.TEC_MARK_EM; +import static net.minecraft.util.StatCollector.translateToLocal; + import gregtech.common.blocks.GT_Item_Casings_Abstract; +import java.util.List; 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.util.CommonValues.COSMIC_MARK; -import static com.github.technus.tectech.util.CommonValues.TEC_MARK_EM; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 03.10.2016. */ @@ -22,77 +21,108 @@ 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() < 15) { + if (aStack.getItemDamage() < 15) { aList.add(TEC_MARK_EM); } else { aList.add(COSMIC_MARK); } switch (aStack.getItemDamage()) { - case 0://"High Power Casing" - aList.add(translateToLocal("gt.blockcasingsTT.0.desc.0"));//Well suited for high power applications. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.0.desc.1"));//The power levels are rising! - break; - case 1://"Computer Casing" - aList.add(translateToLocal("gt.blockcasingsTT.1.desc.0"));//Nice and clean casing. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.1.desc.1"));//Dust can break it!? - break; - case 2://"Computer Heat Vent" - aList.add(translateToLocal("gt.blockcasingsTT.2.desc.0"));//Air vent with a filter. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.2.desc.1"));//Perfectly muffled sound! - break; - case 3://"Advanced Computer Casing" - aList.add(translateToLocal("gt.blockcasingsTT.3.desc.0"));//Contains high bandwidth bus - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.3.desc.1"));//couple thousand qubits wide. - break; - case 4://"Molecular Casing" - aList.add(translateToLocal("gt.blockcasingsTT.4.desc.0"));//Stops elemental things. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.4.desc.1"));//Radiation and emotions too... - break; - case 5://"Advanced Molecular Casing" - aList.add(translateToLocal("gt.blockcasingsTT.5.desc.0"));//Cooling and stabilization. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.5.desc.1"));//A comfortable machine bed. - break; - case 6://"Containment Field Generator" - aList.add(translateToLocal("gt.blockcasingsTT.6.desc.0"));//Creates a field that... - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.6.desc.1"));//can stop even force carriers. - break; - case 7://"Molecular Coil" - aList.add(translateToLocal("gt.blockcasingsTT.7.desc.0"));//Well it does things too... - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.7.desc.1"));//[Use this coil!] - break; - case 8://"Collider Hollow Casing" - aList.add(translateToLocal("gt.blockcasingsTT.8.desc.0"));//Reinforced accelerator tunnel. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.8.desc.1"));//Most advanced pipe ever. - break; - case 9://"Spacetime Altering Casing" - aList.add(translateToLocal("gt.blockcasingsTT.9.desc.0"));//c is no longer the limit. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.9.desc.1"));//Wibbly wobbly timey wimey stuff. - break; - case 10://"Teleportation Casing" - aList.add(translateToLocal("gt.blockcasingsTT.10.desc.0"));//Remote connection. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.10.desc.1"));//Better touch with a stick. - break; - case 11://"Dimensional Bridge Generator" - aList.add(translateToLocal("gt.blockcasingsTT.11.desc.0"));//Interdimensional Operations. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.11.desc.1"));//Around the universe and other places too. - break; - case 12://"Ultimate Molecular Casing" - aList.add(translateToLocal("gt.blockcasingsTT.12.desc.0"));//Ultimate in every way. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.12.desc.1"));//I don't know what it can't do. - break; - case 13://"Ultimate Advanced Molecular Casing" - aList.add(translateToLocal("gt.blockcasingsTT.13.desc.0"));//More Ultimate in every way. - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.13.desc.1"));//I don't know what I am doing! - break; - case 14://"Ultimate Containment Field Generator" - aList.add(translateToLocal("gt.blockcasingsTT.14.desc.0"));//Black Hole... - aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsTT.14.desc.1"));//Meh... - break; - case 15://"Debug Sides" - aList.add(translateToLocal("gt.blockcasingsTT.15.desc.0"));//Lazy man way of determining sides. - aList.add(EnumChatFormatting.BLUE.toString() + translateToLocal("gt.blockcasingsTT.15.desc.1"));//0, 1, 2, 3, 4, 5, 6?! - break; - default://WTF? + case 0: // "High Power Casing" + aList.add(translateToLocal("gt.blockcasingsTT.0.desc.0")); // Well suited for high power applications. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.0.desc.1")); // The power levels are rising! + break; + case 1: // "Computer Casing" + aList.add(translateToLocal("gt.blockcasingsTT.1.desc.0")); // Nice and clean casing. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.1.desc.1")); // Dust can break it!? + break; + case 2: // "Computer Heat Vent" + aList.add(translateToLocal("gt.blockcasingsTT.2.desc.0")); // Air vent with a filter. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.2.desc.1")); // Perfectly muffled sound! + break; + case 3: // "Advanced Computer Casing" + aList.add(translateToLocal("gt.blockcasingsTT.3.desc.0")); // Contains high bandwidth bus + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.3.desc.1")); // couple thousand qubits wide. + break; + case 4: // "Molecular Casing" + aList.add(translateToLocal("gt.blockcasingsTT.4.desc.0")); // Stops elemental things. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.4.desc.1")); // Radiation and emotions too... + break; + case 5: // "Advanced Molecular Casing" + aList.add(translateToLocal("gt.blockcasingsTT.5.desc.0")); // Cooling and stabilization. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.5.desc.1")); // A comfortable machine bed. + break; + case 6: // "Containment Field Generator" + aList.add(translateToLocal("gt.blockcasingsTT.6.desc.0")); // Creates a field that... + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.6.desc.1")); // can stop even force carriers. + break; + case 7: // "Molecular Coil" + aList.add(translateToLocal("gt.blockcasingsTT.7.desc.0")); // Well it does things too... + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.7.desc.1")); // [Use this coil!] + break; + case 8: // "Collider Hollow Casing" + aList.add(translateToLocal("gt.blockcasingsTT.8.desc.0")); // Reinforced accelerator tunnel. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.8.desc.1")); // Most advanced pipe ever. + break; + case 9: // "Spacetime Altering Casing" + aList.add(translateToLocal("gt.blockcasingsTT.9.desc.0")); // c is no longer the limit. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.9.desc.1")); // Wibbly wobbly timey wimey stuff. + break; + case 10: // "Teleportation Casing" + aList.add(translateToLocal("gt.blockcasingsTT.10.desc.0")); // Remote connection. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.10.desc.1")); // Better touch with a stick. + break; + case 11: // "Dimensional Bridge Generator" + aList.add(translateToLocal("gt.blockcasingsTT.11.desc.0")); // Interdimensional Operations. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.11.desc.1")); // Around the universe and other places too. + break; + case 12: // "Ultimate Molecular Casing" + aList.add(translateToLocal("gt.blockcasingsTT.12.desc.0")); // Ultimate in every way. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.12.desc.1")); // I don't know what it can't do. + break; + case 13: // "Ultimate Advanced Molecular Casing" + aList.add(translateToLocal("gt.blockcasingsTT.13.desc.0")); // More Ultimate in every way. + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.13.desc.1")); // I don't know what I am doing! + break; + case 14: // "Ultimate Containment Field Generator" + aList.add(translateToLocal("gt.blockcasingsTT.14.desc.0")); // Black Hole... + aList.add(EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockcasingsTT.14.desc.1")); // Meh... + break; + case 15: // "Debug Sides" + aList.add(translateToLocal("gt.blockcasingsTT.15.desc.0")); // Lazy man way of determining sides. + aList.add(EnumChatFormatting.BLUE.toString() + + translateToLocal("gt.blockcasingsTT.15.desc.1")); // 0, 1, 2, 3, 4, 5, 6?! + 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/cover/GT_Cover_TM_EnderFluidLink.java b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_EnderFluidLink.java index e5e62ae4d8..ad6bb87c19 100644 --- a/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_EnderFluidLink.java +++ b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_EnderFluidLink.java @@ -1,5 +1,9 @@ package com.github.technus.tectech.thing.cover; +import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderFluidContainer; +import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderLinkTag; +import static gregtech.GT_Mod.gregtechproxy; + import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.mechanics.enderStorage.EnderLinkCoverMessage; import com.github.technus.tectech.mechanics.enderStorage.EnderLinkTag; @@ -14,6 +18,7 @@ import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.net.GT_Packet_TileEntityCover; import gregtech.api.util.GT_CoverBehavior; import gregtech.api.util.GT_Utility; +import java.util.UUID; import net.minecraft.client.gui.GuiButton; import net.minecraft.entity.player.EntityPlayer; import net.minecraftforge.common.util.ForgeDirection; @@ -21,25 +26,18 @@ import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.IFluidHandler; -import java.util.UUID; - -import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderFluidContainer; -import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderLinkTag; -import static gregtech.GT_Mod.gregtechproxy; - public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { private static final int L_PER_TICK = 8000; - private final static int IMPORT_EXPORT_MASK = 0b0001; - private final static int PUBLIC_PRIVATE_MASK = 0b0010; - private static EnderLinkTag tag = new EnderLinkTag("", null);//Client-Sided + private static final int IMPORT_EXPORT_MASK = 0b0001; + private static final int PUBLIC_PRIVATE_MASK = 0b0010; + private static EnderLinkTag tag = new EnderLinkTag("", null); // Client-Sided - public GT_Cover_TM_EnderFluidLink() { - } + public GT_Cover_TM_EnderFluidLink() {} public static void setEnderLinkTag(EnderLinkTag inputTag) { - if(inputTag != null) { + if (inputTag != null) { tag = inputTag; - //Hacky Way to update the gui + // Hacky Way to update the gui GUI_INSTANCE.resetColorField(); } } @@ -62,7 +60,8 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { } @Override - public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { + public int doCoverThings( + byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { if ((aTileEntity instanceof IFluidHandler)) { IFluidHandler fluidHandlerSelf = (IFluidHandler) aTileEntity; IFluidHandler fluidHandlerEnder = getEnderFluidContainer(getEnderLinkTag((IFluidHandler) aTileEntity)); @@ -92,11 +91,19 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { } @Override - public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) { + public int onCoverScrewdriverclick( + byte aSide, + int aCoverID, + int aCoverVariable, + ICoverable aTileEntity, + EntityPlayer aPlayer, + float aX, + float aY, + float aZ) { int newCoverVariable = toggleBit(aCoverVariable, IMPORT_EXPORT_MASK); if (testBit(aCoverVariable, IMPORT_EXPORT_MASK)) { - PlayerChatHelper.SendInfo(aPlayer, "Ender Suction Engaged!");//TODO Translation support + PlayerChatHelper.SendInfo(aPlayer, "Ender Suction Engaged!"); // TODO Translation support } else { PlayerChatHelper.SendInfo(aPlayer, "Ender Filling Engaged!"); } @@ -105,19 +112,19 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { @Override public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - //Runs each tick + // Runs each tick return 1; } - //region GUI + // region GUI @Override public boolean hasCoverGUI() { return true; } @Override - public Object getClientGUI(byte aSide, int aCoverID, int coverData, ICoverable aTileEntity) { - //Only open gui if we're placed on a fluid tank + public Object getClientGUI(byte aSide, int aCoverID, int coverData, ICoverable aTileEntity) { + // Only open gui if we're placed on a fluid tank Object gui = null; if (aTileEntity instanceof IFluidHandler) { gui = new TM_EnderFluidLinkCover(aSide, aCoverID, coverData, aTileEntity); @@ -133,37 +140,37 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { private int coverVariable; private GT_GuiTextBox colorField; - private final static int START_X = 10; - private final static int START_Y = 25; - private final static int SPACE_X = 18; - private final static int SPACE_Y = 18; + private static final int START_X = 10; + private static final int START_Y = 25; + private static final int SPACE_X = 18; + private static final int SPACE_Y = 18; - private final static int SIZE_X = 176; - private final static int SIZE_Y = 107; + private static final int SIZE_X = 176; + private static final int SIZE_Y = 107; - private final static int BOX_SIZE_X = 34; - private final static int BOX_SIZE_Y = 34; + private static final int BOX_SIZE_X = 34; + private static final int BOX_SIZE_Y = 34; - private final static int TEXT_FIELD_SIZE_X = SPACE_X * 5 - 8; - private final static int TEXT_FIELD_SIZE_Y = 12; - private final static int TEXT_STRING_LENGTH = 9; + private static final int TEXT_FIELD_SIZE_X = SPACE_X * 5 - 8; + private static final int TEXT_FIELD_SIZE_Y = 12; + private static final int TEXT_STRING_LENGTH = 9; - private final static int FONT_COLOR = 0xFF555555; - private final static int BOX_BORDER_COLOR = 0xFF000000; + private static final int FONT_COLOR = 0xFF555555; + private static final int BOX_BORDER_COLOR = 0xFF000000; - private final static int COLOR_FIELD_ID = 0; - private final static int PUBLIC_BUTTON_ID = 1; - private final static int PRIVATE_BUTTON_ID = 2; - private final static int IMPORT_BUTTON_ID = 3; - private final static int EXPORT_BUTTON_ID = 4; + private static final int COLOR_FIELD_ID = 0; + private static final int PUBLIC_BUTTON_ID = 1; + private static final int PRIVATE_BUTTON_ID = 2; + private static final int IMPORT_BUTTON_ID = 3; + private static final int EXPORT_BUTTON_ID = 4; private GT_GuiIconButton newButtonWithSpacing(int id, int x, int y, GT_GuiIcon icon) { return new GT_GuiIconButton(this, id, START_X + SPACE_X * x, START_Y + SPACE_Y * y, icon); } private GT_GuiTextBox newTextField(int id, int x, int y) { - GT_GuiTextBox field = new GT_GuiTextBox(this, id, START_X + SPACE_X * x, - START_Y + SPACE_Y * y, TEXT_FIELD_SIZE_X, TEXT_FIELD_SIZE_Y); + GT_GuiTextBox field = new GT_GuiTextBox( + this, id, START_X + SPACE_X * x, START_Y + SPACE_Y * y, TEXT_FIELD_SIZE_X, TEXT_FIELD_SIZE_Y); field.setMaxStringLength(TEXT_STRING_LENGTH); return field; } @@ -178,21 +185,18 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { side = aSide; coverID = aCoverID; coverVariable = aCoverVariable; - NetworkDispatcher.INSTANCE.sendToServer(new EnderLinkCoverMessage.EnderLinkCoverQuery(tag, (IFluidHandler) tile)); - //Color Value Field + NetworkDispatcher.INSTANCE.sendToServer( + new EnderLinkCoverMessage.EnderLinkCoverQuery(tag, (IFluidHandler) tile)); + // Color Value Field colorField = newTextField(COLOR_FIELD_ID, 0, 0); GUI_INSTANCE = this; resetColorField(); - //Public/Private Buttons - newButtonWithSpacing(PUBLIC_BUTTON_ID, 0, 2, GT_GuiIcon.WHITELIST) - .setTooltipText(trans("326", "Public")); - newButtonWithSpacing(PRIVATE_BUTTON_ID, 1, 2, GT_GuiIcon.BLACKLIST) - .setTooltipText(trans("327", "Private")); - //Import/Export Buttons - newButtonWithSpacing(IMPORT_BUTTON_ID, 0, 3, GT_GuiIcon.IMPORT) - .setTooltipText(trans("007", "Import")); - newButtonWithSpacing(EXPORT_BUTTON_ID, 1, 3, GT_GuiIcon.EXPORT) - .setTooltipText(trans("006", "Export")); + // Public/Private Buttons + newButtonWithSpacing(PUBLIC_BUTTON_ID, 0, 2, GT_GuiIcon.WHITELIST).setTooltipText(trans("326", "Public")); + newButtonWithSpacing(PRIVATE_BUTTON_ID, 1, 2, GT_GuiIcon.BLACKLIST).setTooltipText(trans("327", "Private")); + // Import/Export Buttons + newButtonWithSpacing(IMPORT_BUTTON_ID, 0, 3, GT_GuiIcon.IMPORT).setTooltipText(trans("007", "Import")); + newButtonWithSpacing(EXPORT_BUTTON_ID, 1, 3, GT_GuiIcon.EXPORT).setTooltipText(trans("006", "Export")); } @Override @@ -209,15 +213,15 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { } @Override - public void buttonClicked(GuiButton btn){ - if (getClickable(btn.id)){ + public void buttonClicked(GuiButton btn) { + if (getClickable(btn.id)) { coverVariable = getNewCoverVariable(btn.id); GT_Values.NW.sendToServer(new GT_Packet_TileEntityCover(side, coverID, coverVariable, tile)); } updateButtons(); } - private void updateButtons(){ + private void updateButtons() { GuiButton b; for (Object o : buttonList) { b = (GuiButton) o; @@ -227,23 +231,26 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { private void switchPrivatePublic(int coverVar) { UUID ownerUUID = tag.getUUID(); - if (testBit(coverVar, PUBLIC_PRIVATE_MASK)){ + if (testBit(coverVar, PUBLIC_PRIVATE_MASK)) { ownerUUID = gregtechproxy.getThePlayer().getUniqueID(); } else { ownerUUID = null; } EnderLinkTag newTag = new EnderLinkTag(tag.getFrequency(), ownerUUID); - NetworkDispatcher.INSTANCE.sendToServer(new EnderLinkCoverMessage.EnderLinkCoverUpdate(newTag, (IFluidHandler) tile)); + NetworkDispatcher.INSTANCE.sendToServer( + new EnderLinkCoverMessage.EnderLinkCoverUpdate(newTag, (IFluidHandler) tile)); } private int getNewCoverVariable(int id) { int tempCoverVariable = coverVariable; switch (id) { - case PUBLIC_BUTTON_ID: case PRIVATE_BUTTON_ID: + case PUBLIC_BUTTON_ID: + case PRIVATE_BUTTON_ID: tempCoverVariable = toggleBit(tempCoverVariable, PUBLIC_PRIVATE_MASK); switchPrivatePublic(tempCoverVariable); break; - case IMPORT_BUTTON_ID: case EXPORT_BUTTON_ID: + case IMPORT_BUTTON_ID: + case EXPORT_BUTTON_ID: tempCoverVariable = toggleBit(tempCoverVariable, IMPORT_EXPORT_MASK); } return tempCoverVariable; @@ -272,7 +279,8 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { try { String string = box.getText(); tag = new EnderLinkTag(string, tag.getUUID()); - NetworkDispatcher.INSTANCE.sendToServer(new EnderLinkCoverMessage.EnderLinkCoverUpdate(tag, (IFluidHandler) tile)); + NetworkDispatcher.INSTANCE.sendToServer( + new EnderLinkCoverMessage.EnderLinkCoverUpdate(tag, (IFluidHandler) tile)); } catch (NumberFormatException ignored) { } resetColorField(); diff --git a/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_PowerPassUpgrade.java b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_PowerPassUpgrade.java index a2221af398..699a6dc0bc 100644 --- a/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_PowerPassUpgrade.java +++ b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_PowerPassUpgrade.java @@ -1,19 +1,18 @@ package com.github.technus.tectech.thing.cover; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; -import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.objects.GT_ItemStack; +import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.util.GT_CoverBehavior; import net.minecraft.item.ItemStack; public class GT_Cover_TM_PowerPassUpgrade extends GT_CoverBehavior { - public GT_Cover_TM_PowerPassUpgrade() { - } + public GT_Cover_TM_PowerPassUpgrade() {} @Override public boolean isCoverPlaceable(byte aSide, ItemStack aStack, ICoverable aTileEntity) { - IMetaTileEntity iGregTechTileEntityOffset = aTileEntity.getIGregTechTileEntityOffset(0, 0, 0).getMetaTileEntity(); + IMetaTileEntity iGregTechTileEntityOffset = + aTileEntity.getIGregTechTileEntityOffset(0, 0, 0).getMetaTileEntity(); if (iGregTechTileEntityOffset instanceof GT_MetaTileEntity_MultiblockBase_EM) { GT_MetaTileEntity_MultiblockBase_EM multi = (GT_MetaTileEntity_MultiblockBase_EM) iGregTechTileEntityOffset; return !multi.ePowerPassCover; @@ -23,7 +22,8 @@ public class GT_Cover_TM_PowerPassUpgrade extends GT_CoverBehavior { @Override public void placeCover(byte aSide, ItemStack aCover, ICoverable aTileEntity) { - IMetaTileEntity iGregTechTileEntityOffset = aTileEntity.getIGregTechTileEntityOffset(0, 0, 0).getMetaTileEntity(); + IMetaTileEntity iGregTechTileEntityOffset = + aTileEntity.getIGregTechTileEntityOffset(0, 0, 0).getMetaTileEntity(); if (iGregTechTileEntityOffset instanceof GT_MetaTileEntity_MultiblockBase_EM) { GT_MetaTileEntity_MultiblockBase_EM multi = (GT_MetaTileEntity_MultiblockBase_EM) iGregTechTileEntityOffset; multi.ePowerPassCover = true; @@ -33,8 +33,10 @@ public class GT_Cover_TM_PowerPassUpgrade extends GT_CoverBehavior { } @Override - public boolean onCoverRemoval(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, boolean aForced) { - IMetaTileEntity iGregTechTileEntityOffset = aTileEntity.getIGregTechTileEntityOffset(0, 0, 0).getMetaTileEntity(); + public boolean onCoverRemoval( + byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, boolean aForced) { + IMetaTileEntity iGregTechTileEntityOffset = + aTileEntity.getIGregTechTileEntityOffset(0, 0, 0).getMetaTileEntity(); if (iGregTechTileEntityOffset instanceof GT_MetaTileEntity_MultiblockBase_EM) { GT_MetaTileEntity_MultiblockBase_EM multi = (GT_MetaTileEntity_MultiblockBase_EM) iGregTechTileEntityOffset; multi.ePowerPassCover = false; 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 index 33330b521a..03caa0948c 100644 --- 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 @@ -1,32 +1,32 @@ package com.github.technus.tectech.thing.cover; +import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.teslaSimpleNodeSetAdd; +import static ic2.api.info.Info.DMG_ELECTRIC; + import com.github.technus.tectech.mechanics.tesla.TeslaCoverConnection; 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 com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.teslaSimpleNodeSetAdd; -import static ic2.api.info.Info.DMG_ELECTRIC; - public class GT_Cover_TM_TeslaCoil extends GT_CoverBehavior { - public GT_Cover_TM_TeslaCoil() { - } + public GT_Cover_TM_TeslaCoil() {} @Override - public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { - //Only do stuff if we're on top and have power + public int doCoverThings( + byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { + // Only do stuff if we're on top and have power if (aSide == 1 || aTileEntity.getEUCapacity() > 0) { - //Makes sure we're on the list - teslaSimpleNodeSetAdd(new TeslaCoverConnection(aTileEntity.getIGregTechTileEntityOffset(0, 0, 0), - getTeslaReceptionCapability())); + // Makes sure we're on the list + teslaSimpleNodeSetAdd(new TeslaCoverConnection( + aTileEntity.getIGregTechTileEntityOffset(0, 0, 0), getTeslaReceptionCapability())); } return super.doCoverThings(aSide, aInputRedstone, aCoverID, aCoverVariable, aTileEntity, aTimer); } @Override public String getDescription(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - return "Do not attempt to use screwdriver!";//TODO Translation support + return "Do not attempt to use screwdriver!"; // TODO Translation support } @Override @@ -35,8 +35,16 @@ public class GT_Cover_TM_TeslaCoil extends GT_CoverBehavior { } @Override - public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) { - //Shock a non-hazmat player if they dare stuff a screwdriver into one of these + public int onCoverScrewdriverclick( + byte aSide, + int aCoverID, + int aCoverVariable, + ICoverable aTileEntity, + EntityPlayer aPlayer, + float aX, + float aY, + float aZ) { + // Shock a non-hazmat player if they dare stuff a screwdriver into one of these if (aTileEntity.getStoredEU() > 0 && !GT_Utility.isWearingFullElectroHazmat(aPlayer)) { aPlayer.attackEntityFrom(DMG_ELECTRIC, 20); } @@ -45,7 +53,7 @@ public class GT_Cover_TM_TeslaCoil extends GT_CoverBehavior { @Override public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - //It updates once every 200 ticks, so once every 10 seconds + // It updates once every 200 ticks, so once every 10 seconds return 200; } 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 index 3417d7ae20..10e8efc9ef 100644 --- 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 @@ -4,8 +4,7 @@ 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 GT_Cover_TM_TeslaCoil_Ultimate() {} @Override public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { @@ -31,7 +30,7 @@ public class GT_Cover_TM_TeslaCoil_Ultimate extends GT_Cover_TM_TeslaCoil { public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity) { return true; } - + public byte getTeslaReceptionCapability() { return 1; } diff --git a/src/main/java/com/github/technus/tectech/thing/item/AvrProgrammer.java b/src/main/java/com/github/technus/tectech/thing/item/AvrProgrammer.java index cc071d2326..561c149a2d 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/AvrProgrammer.java +++ b/src/main/java/com/github/technus/tectech/thing/item/AvrProgrammer.java @@ -1,5 +1,9 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.avrClone.AvrCore; import com.github.technus.avrClone.instructions.InstructionRegistry; import com.github.technus.avrClone.memory.program.ProgramMemory; @@ -12,6 +16,10 @@ import dan200.computercraft.api.filesystem.IWritableMount; import dan200.computercraft.api.media.IMedia; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.List; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; @@ -22,22 +30,14 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.FakePlayer; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.List; - -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; -import static net.minecraft.util.StatCollector.translateToLocal; - -@Optional.InterfaceList( - {@Optional.Interface(iface="dan200.computercraft.api.media.IMedia",modid = "ComputerCraft"), - @Optional.Interface(iface="li.cil.oc.api.fs.FileSystem",modid="OpenComputers")}) +@Optional.InterfaceList({ + @Optional.Interface(iface = "dan200.computercraft.api.media.IMedia", modid = "ComputerCraft"), + @Optional.Interface(iface = "li.cil.oc.api.fs.FileSystem", modid = "OpenComputers") +}) public class AvrProgrammer extends Item implements IMedia { - public static AvrProgrammer INSTANCE=new AvrProgrammer(); + public static AvrProgrammer INSTANCE = new AvrProgrammer(); - private AvrProgrammer(){ + private AvrProgrammer() { setMaxStackSize(1); setHasSubtypes(true); setUnlocalizedName("em.programmer"); @@ -46,9 +46,19 @@ public class AvrProgrammer extends Item implements IMedia { } @Override - public boolean onItemUseFirst(ItemStack stack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int side, float hitX, float hitY, float hitZ) { + public boolean onItemUseFirst( + ItemStack stack, + EntityPlayer aPlayer, + World aWorld, + int aX, + int aY, + int aZ, + int side, + 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) { @@ -56,12 +66,12 @@ public class AvrProgrammer extends Item implements IMedia { IMetaTileEntity metaTE = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity(); if (metaTE instanceof GT_MetaTileEntity_MicroController) { if (aPlayer.isSneaking()) { - if(stack.stackTagCompound.hasKey("pgm")) { + if (stack.stackTagCompound.hasKey("pgm")) { NBTTagCompound pgm = stack.stackTagCompound.getCompoundTag("pgm"); if (pgm.hasKey("instructions")) { AvrCore core = ((GT_MetaTileEntity_MicroController) metaTE).core; - InstructionRegistry registry = InstructionRegistry.REGISTRIES. - get(pgm.getString("instructionRegistry")); + InstructionRegistry registry = + InstructionRegistry.REGISTRIES.get(pgm.getString("instructionRegistry")); if (registry != null) { core.setProgramMemory(new ProgramMemory( registry, @@ -73,9 +83,9 @@ public class AvrProgrammer extends Item implements IMedia { } } } else { - NBTTagCompound tag=new NBTTagCompound(); + NBTTagCompound tag = new NBTTagCompound(); metaTE.saveNBTData(tag); - stack.stackTagCompound.setTag("avr",tag.getCompoundTag("avr")); + stack.stackTagCompound.setTag("avr", tag.getCompoundTag("avr")); } return true; } @@ -84,27 +94,29 @@ public class AvrProgrammer extends Item implements IMedia { return false; } - public void writeToProgrammer(ItemStack stack,InstructionRegistry registry, boolean immersive, List strings) throws Exception{ - writeToProgrammer(stack,new ProgramMemory(registry,immersive,strings)); + public void writeToProgrammer( + ItemStack stack, InstructionRegistry registry, boolean immersive, List strings) throws Exception { + writeToProgrammer(stack, new ProgramMemory(registry, immersive, strings)); } - public void writeToProgrammer(ItemStack stack,InstructionRegistry registry, boolean immersive, String... strings)throws Exception{ - writeToProgrammer(stack,new ProgramMemory(registry,immersive,strings)); + public void writeToProgrammer(ItemStack stack, InstructionRegistry registry, boolean immersive, String... strings) + throws Exception { + writeToProgrammer(stack, new ProgramMemory(registry, immersive, strings)); } public void writeToProgrammer(ItemStack stack, ProgramMemory programMemory) { - NBTTagCompound pgm=new NBTTagCompound(); - pgm.setIntArray("instructions",programMemory.instructions); - pgm.setIntArray("param0",programMemory.param0); - pgm.setIntArray("param1",programMemory.param1); - pgm.setBoolean("immersive",programMemory.immersiveOperands); - pgm.setString("instructionRegistry",programMemory.registry.toString()); - stack.stackTagCompound.setTag("pgm",pgm); + NBTTagCompound pgm = new NBTTagCompound(); + pgm.setIntArray("instructions", programMemory.instructions); + pgm.setIntArray("param0", programMemory.param0); + pgm.setIntArray("param1", programMemory.param1); + pgm.setBoolean("immersive", programMemory.immersiveOperands); + pgm.setString("instructionRegistry", programMemory.registry.toString()); + stack.stackTagCompound.setTag("pgm", pgm); } @Override public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) { - if(world.isRemote){ + if (world.isRemote) { player.openGui(TecTech.instance, ModGuiHandler.PROGRAMMER_DISPLAY_SCREEN_ID, world, 0, 0, 0); } return itemStack; @@ -114,11 +126,12 @@ public class AvrProgrammer extends Item implements IMedia { public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { if (aStack.stackTagCompound.hasKey("avr")) { NBTTagCompound avr = aStack.stackTagCompound.getCompoundTag("avr"); - aList.add(translateToLocal("item.em.programmer.desc.0") + ": " + avr.getInteger("programCounter"));//Current PC - aList.add(translateToLocal("item.em.programmer.desc.1") + ": " + avr.getBoolean("awoken"));//Awoken - aList.add(translateToLocal("item.em.programmer.desc.2") + ": " + avr.getBoolean("active"));//Active - aList.add(translateToLocal("item.em.programmer.desc.3") + ": " + avr.getBoolean("debugRun"));//Debug - aList.add(translateToLocal("item.em.programmer.desc.4") + ": " + avr.getBoolean("delay"));//Delay + aList.add(translateToLocal("item.em.programmer.desc.0") + ": " + + avr.getInteger("programCounter")); // Current PC + aList.add(translateToLocal("item.em.programmer.desc.1") + ": " + avr.getBoolean("awoken")); // Awoken + aList.add(translateToLocal("item.em.programmer.desc.2") + ": " + avr.getBoolean("active")); // Active + aList.add(translateToLocal("item.em.programmer.desc.3") + ": " + avr.getBoolean("debugRun")); // Debug + aList.add(translateToLocal("item.em.programmer.desc.4") + ": " + avr.getBoolean("delay")); // Delay } } @@ -158,9 +171,9 @@ public class AvrProgrammer extends Item implements IMedia { @Override public void delete(String s) throws IOException { - if("avr".equals(s)) { + if ("avr".equals(s)) { itemStack.stackTagCompound.removeTag("avr"); - }else { + } else { throw new IOException("Cannot remove file!"); } } @@ -177,7 +190,7 @@ public class AvrProgrammer extends Item implements IMedia { @Override public long getRemainingSpace() throws IOException { - return 1024000-getSize("avr"); + return 1024000 - getSize("avr"); } @Override @@ -191,13 +204,11 @@ public class AvrProgrammer extends Item implements IMedia { } @Override - public void list(String s, List list) throws IOException { - - } + public void list(String s, List list) throws IOException {} @Override public long getSize(String s) throws IOException { - return "avr".equals(s)?1:0; + return "avr".equals(s) ? 1 : 0; } @Override @@ -209,7 +220,7 @@ public class AvrProgrammer extends Item implements IMedia { @Override public void getSubItems(Item item, CreativeTabs tab, List list) { - ItemStack stack=new ItemStack(item, 1, 0); + ItemStack stack = new ItemStack(item, 1, 0); stack.setTagCompound(new NBTTagCompound()); list.add(stack); } diff --git a/src/main/java/com/github/technus/tectech/thing/item/DebugElementalInstanceContainer_EM.java b/src/main/java/com/github/technus/tectech/thing/item/DebugElementalInstanceContainer_EM.java index c19ec6dda1..b4ddca5cf1 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/DebugElementalInstanceContainer_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/item/DebugElementalInstanceContainer_EM.java @@ -1,5 +1,12 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabEM; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.*; +import static cpw.mods.fml.relauncher.Side.CLIENT; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; @@ -14,6 +21,8 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import java.util.Collections; +import java.util.List; import net.minecraft.client.gui.FontRenderer; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -25,16 +34,6 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -import java.util.Collections; -import java.util.List; - -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabEM; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.*; -import static cpw.mods.fml.relauncher.Side.CLIENT; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 15.03.2017. */ @@ -50,9 +49,19 @@ public final class DebugElementalInstanceContainer_EM extends Item implements IE } @Override - public boolean onItemUseFirst(ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) { - NBTTagCompound tNBT = aStack.getTagCompound(); - TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + public boolean onItemUseFirst( + ItemStack aStack, + EntityPlayer aPlayer, + World aWorld, + int aX, + int aY, + int aZ, + int aSide, + float hitX, + float hitY, + float hitZ) { + NBTTagCompound tNBT = aStack.getTagCompound(); + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); if (aPlayer instanceof EntityPlayerMP) { aStack.stackSize = 1; if (tTileEntity instanceof IGregTechTileEntity) { @@ -61,7 +70,8 @@ public final class DebugElementalInstanceContainer_EM extends Item implements IE EMInstanceStackMap content = ((IEMContainer) metaTE).getContentHandler(); if (tNBT.hasKey("content")) { try { - content.putUnifyAll(EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content"))); + content.putUnifyAll(EMInstanceStackMap.fromNBT( + TecTech.definitionsRegistry, tNBT.getCompoundTag("content"))); } catch (EMException e) { if (DEBUG_MODE) { e.printStackTrace(); @@ -101,18 +111,20 @@ public final class DebugElementalInstanceContainer_EM extends Item implements IE try { NBTTagCompound tNBT = aStack.getTagCompound(); if (tNBT != null && tNBT.hasKey("content")) { - aList.add(translateToLocal("item.em.debugContainer.desc.0") + ": ");//Contains - EMInstanceStackMap content = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content")); + aList.add(translateToLocal("item.em.debugContainer.desc.0") + ": "); // Contains + EMInstanceStackMap content = + EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content")); Collections.addAll(aList, content.getElementalInfo()); } else { - aList.add(translateToLocal("item.em.debugContainer.desc.1"));//Container for elemental matter + aList.add(translateToLocal("item.em.debugContainer.desc.1")); // Container for elemental matter } - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.debugContainer.desc.2"));//Right click on elemental hatches + aList.add(EnumChatFormatting.BLUE + + translateToLocal("item.em.debugContainer.desc.2")); // Right click on elemental hatches } catch (Exception e) { if (DEBUG_MODE) { e.printStackTrace(); } - aList.add(translateToLocal("item.em.debugContainer.desc.3"));//---Unexpected Termination--- + aList.add(translateToLocal("item.em.debugContainer.desc.3")); // ---Unexpected Termination--- } } @@ -127,11 +139,20 @@ public final class DebugElementalInstanceContainer_EM extends Item implements IE that.setTagCompound(new NBTTagCompound()); list.add(that); for (IEMDefinition definition : TecTech.definitionsRegistry.getStacksRegisteredForDisplay()) { - list.add(setContent(new ItemStack(this).setStackDisplayName(definition.getLocalizedName() + " " + 1 + " " + translateToLocal("tt.keyword.unit.mbMols")), + list.add(setContent( + new ItemStack(this) + .setStackDisplayName(definition.getLocalizedName() + " " + 1 + " " + + translateToLocal("tt.keyword.unit.mbMols")), new EMInstanceStackMap(new EMInstanceStack(definition, EM_COUNT_PER_MATERIAL_AMOUNT)))); - list.add(setContent(new ItemStack(this).setStackDisplayName(definition.getLocalizedName() + " " + 1 + " " + translateToLocal("tt.keyword.unit.itemMols")), + list.add(setContent( + new ItemStack(this) + .setStackDisplayName(definition.getLocalizedName() + " " + 1 + " " + + translateToLocal("tt.keyword.unit.itemMols")), new EMInstanceStackMap(new EMInstanceStack(definition, EM_COUNT_PER_ITEM)))); - list.add(setContent(new ItemStack(this).setStackDisplayName(definition.getLocalizedName() + " " + 1000 + " " + translateToLocal("tt.keyword.unit.mbMols")), + list.add(setContent( + new ItemStack(this) + .setStackDisplayName(definition.getLocalizedName() + " " + 1000 + " " + + translateToLocal("tt.keyword.unit.mbMols")), new EMInstanceStackMap(new EMInstanceStack(definition, EM_COUNT_PER_1k)))); } } diff --git a/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionContainer_EM.java b/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionContainer_EM.java index 85a853e8aa..730e7aea3c 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionContainer_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionContainer_EM.java @@ -1,5 +1,11 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabEM; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static cpw.mods.fml.relauncher.Side.CLIENT; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; @@ -10,6 +16,8 @@ import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.SideOnly; +import java.util.Collections; +import java.util.List; import net.minecraft.client.gui.FontRenderer; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -17,15 +25,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import java.util.Collections; -import java.util.List; - -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabEM; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static cpw.mods.fml.relauncher.Side.CLIENT; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 15.03.2017. */ @@ -39,7 +38,7 @@ public final class ElementalDefinitionContainer_EM extends Item implements IElem setCreativeTab(creativeTabEM); } - public static void setContent(ItemStack aStack, EMConstantStackMap definitions){ + public static void setContent(ItemStack aStack, EMConstantStackMap definitions) { NBTTagCompound tNBT = aStack.getTagCompound(); if (tNBT == null) { tNBT = new NBTTagCompound(); @@ -49,15 +48,15 @@ public final class ElementalDefinitionContainer_EM extends Item implements IElem tNBT.setTag("symbols", TT_Utility.packStrings(definitions.getShortSymbolsInfo())); } - public static EMConstantStackMap getContent(ItemStack containerItem){ - if(containerItem.getItem() instanceof ElementalDefinitionContainer_EM){ + public static EMConstantStackMap getContent(ItemStack containerItem) { + if (containerItem.getItem() instanceof ElementalDefinitionContainer_EM) { NBTTagCompound tNBT = containerItem.stackTagCompound; if (tNBT == null || !tNBT.hasKey("content")) { return null; } try { - return EMConstantStackMap.fromNBT(TecTech.definitionsRegistry,tNBT.getCompoundTag("content")); + return EMConstantStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content")); } catch (EMException e) { if (DEBUG_MODE) { e.printStackTrace(); @@ -67,17 +66,17 @@ public final class ElementalDefinitionContainer_EM extends Item implements IElem return null; } - public static EMConstantStackMap clearContent(ItemStack containerItem){ - if(containerItem.getItem() instanceof ElementalDefinitionContainer_EM){ + public static EMConstantStackMap clearContent(ItemStack containerItem) { + if (containerItem.getItem() instanceof ElementalDefinitionContainer_EM) { NBTTagCompound tNBT = containerItem.stackTagCompound; if (tNBT == null) { return null; } - EMConstantStackMap oldMap =null; + EMConstantStackMap oldMap = null; if (tNBT.hasKey("content")) { try { - oldMap= EMConstantStackMap.fromNBT(TecTech.definitionsRegistry,tNBT.getCompoundTag("content")); + oldMap = EMConstantStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content")); } catch (EMException e) { if (DEBUG_MODE) { e.printStackTrace(); @@ -97,14 +96,15 @@ public final class ElementalDefinitionContainer_EM extends Item implements IElem try { NBTTagCompound tNBT = aStack.getTagCompound(); if (tNBT != null && tNBT.hasKey("content")) { - aList.add(translateToLocal("item.em.definitionContainer.desc.0") + ": ");//Should Contain - EMDefinitionStackMap content = EMDefinitionStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content")); + aList.add(translateToLocal("item.em.definitionContainer.desc.0") + ": "); // Should Contain + EMDefinitionStackMap content = + EMDefinitionStackMap.fromNBT(TecTech.definitionsRegistry, tNBT.getCompoundTag("content")); Collections.addAll(aList, content.getElementalInfo()); } else { - aList.add(translateToLocal("item.em.definitionContainer.desc.1"));//Recipe Hint + aList.add(translateToLocal("item.em.definitionContainer.desc.1")); // Recipe Hint } } catch (Exception e) { - aList.add(translateToLocal("item.em.definitionContainer.desc.2"));//---Unexpected Termination--- + aList.add(translateToLocal("item.em.definitionContainer.desc.2")); // ---Unexpected Termination--- } } diff --git a/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionScanStorage_EM.java b/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionScanStorage_EM.java index 7c1374d4d0..c22a4cfdb2 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionScanStorage_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/item/ElementalDefinitionScanStorage_EM.java @@ -1,5 +1,10 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; +import static cpw.mods.fml.relauncher.Side.CLIENT; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.loader.gui.ModGuiHandler; @@ -9,6 +14,8 @@ import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.ArrayList; +import java.util.List; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -20,14 +27,6 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.world.World; -import java.util.ArrayList; -import java.util.List; - -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; -import static cpw.mods.fml.relauncher.Side.CLIENT; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 15.03.2017. */ @@ -42,8 +41,8 @@ public final class ElementalDefinitionScanStorage_EM extends Item { setCreativeTab(creativeTabTecTech); } - //return previous thing - public static void setContent(ItemStack aStack, EMInstanceStackMap instances, int[] detailsOnDepthLevels){ + // return previous thing + public static void setContent(ItemStack aStack, EMInstanceStackMap instances, int[] detailsOnDepthLevels) { NBTTagCompound tNBT = aStack.getTagCompound(); if (tNBT == null) { tNBT = new NBTTagCompound(); @@ -53,18 +52,19 @@ public final class ElementalDefinitionScanStorage_EM extends Item { tNBT.setIntArray("scanConfiguration", detailsOnDepthLevels); } - public static void clearContent(ItemStack containerItem){ - if(containerItem.getItem() instanceof ElementalDefinitionScanStorage_EM){ + public static void clearContent(ItemStack containerItem) { + if (containerItem.getItem() instanceof ElementalDefinitionScanStorage_EM) { if (containerItem.stackTagCompound == null) { return; } - containerItem.stackTagCompound=null; + containerItem.stackTagCompound = null; } } - public static ArrayList getLines(ItemStack containerItem){ - if(containerItem.stackTagCompound!=null && containerItem.stackTagCompound.hasKey("content")) { - EMInstanceStackMap content = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, containerItem.stackTagCompound.getCompoundTag("content")); + public static ArrayList getLines(ItemStack containerItem) { + if (containerItem.stackTagCompound != null && containerItem.stackTagCompound.hasKey("content")) { + EMInstanceStackMap content = EMInstanceStackMap.fromNBT( + TecTech.definitionsRegistry, containerItem.stackTagCompound.getCompoundTag("content")); return content.getScanInfo(containerItem.stackTagCompound.getIntArray("scanConfiguration")); } return null; @@ -74,10 +74,11 @@ public final class ElementalDefinitionScanStorage_EM extends Item { public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { aList.add(CommonValues.TEC_MARK_EM); if (aStack.stackTagCompound != null && aStack.stackTagCompound.hasKey("content")) { - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.definitionScanStorage.desc.0"));//Contains scan result - aList.add(translateToLocal("item.em.definitionScanStorage.desc.1"));//Use to read + aList.add(EnumChatFormatting.BLUE + + translateToLocal("item.em.definitionScanStorage.desc.0")); // Contains scan result + aList.add(translateToLocal("item.em.definitionScanStorage.desc.1")); // Use to read } else { - aList.add(translateToLocal("item.em.definitionScanStorage.desc.2"));//Storage for matter scan data + aList.add(translateToLocal("item.em.definitionScanStorage.desc.2")); // Storage for matter scan data } } @@ -90,19 +91,19 @@ public final class ElementalDefinitionScanStorage_EM extends Item { @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconRegister) { - offline =iconRegister.registerIcon(MODID + ":itemDefinitionScanStorageOff"); + offline = iconRegister.registerIcon(MODID + ":itemDefinitionScanStorageOff"); online = itemIcon = iconRegister.registerIcon(getIconString()); } @Override public IIcon getIconIndex(ItemStack itemStack) { - NBTTagCompound tagCompound=itemStack.stackTagCompound; + NBTTagCompound tagCompound = itemStack.stackTagCompound; return tagCompound != null && tagCompound.hasKey("content") ? online : offline; } @Override public IIcon getIcon(ItemStack itemStack, int pass) { - NBTTagCompound tagCompound=itemStack.stackTagCompound; + NBTTagCompound tagCompound = itemStack.stackTagCompound; return tagCompound != null && tagCompound.hasKey("content") ? online : offline; } @@ -114,9 +115,9 @@ public final class ElementalDefinitionScanStorage_EM extends Item { @Override public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) { - if(world.isRemote){ - NBTTagCompound tagCompound=itemStack.stackTagCompound; - if(tagCompound!=null && tagCompound.hasKey("content")) { + if (world.isRemote) { + NBTTagCompound tagCompound = itemStack.stackTagCompound; + if (tagCompound != null && tagCompound.hasKey("content")) { player.openGui(TecTech.instance, ModGuiHandler.SCAN_DISPLAY_SCREEN_ID, world, 0, 0, 0); } } diff --git a/src/main/java/com/github/technus/tectech/thing/item/EnderFluidLinkCover.java b/src/main/java/com/github/technus/tectech/thing/item/EnderFluidLinkCover.java index 57a882ec26..43fae5565b 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/EnderFluidLinkCover.java +++ b/src/main/java/com/github/technus/tectech/thing/item/EnderFluidLinkCover.java @@ -1,21 +1,20 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.thing.CustomItemList.enderLinkFluidCover; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import java.util.List; - -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.thing.CustomItemList.enderLinkFluidCover; -import static net.minecraft.util.StatCollector.translateToLocal; - public final class EnderFluidLinkCover extends Item { public static EnderFluidLinkCover INSTANCE; @@ -28,9 +27,14 @@ public final class EnderFluidLinkCover extends Item { @Override public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { aList.add(CommonValues.BASS_MARK); - aList.add(translateToLocal("item.tm.enderfluidlinkcover.desc.0"));//Ender-Fluid-Enables Machines! - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.enderfluidlinkcover.desc.1"));//Use on any side of a fluid tank to link it to the Ender - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.enderfluidlinkcover.desc.2"));//Ender Tanks so are laggy -Bot from the Chads of NH + aList.add(translateToLocal("item.tm.enderfluidlinkcover.desc.0")); // Ender-Fluid-Enables Machines! + aList.add(EnumChatFormatting.BLUE + + translateToLocal( + "item.tm.enderfluidlinkcover.desc.1")); // Use on any side of a fluid tank to link it to + // the Ender + aList.add(EnumChatFormatting.BLUE + + translateToLocal( + "item.tm.enderfluidlinkcover.desc.2")); // Ender Tanks so are laggy -Bot from the Chads of NH } public static void run() { 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 735b2ef0f5..1a176b53b6 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 @@ -1,5 +1,10 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; @@ -8,6 +13,8 @@ import gregtech.api.metatileentity.BaseMetaPipeEntity; import gregtech.api.metatileentity.BaseMetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Cable; import gregtech.api.util.GT_Utility; +import java.util.ArrayList; +import java.util.List; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.Item; @@ -18,14 +25,6 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.FakePlayer; import org.apache.commons.lang3.reflect.FieldUtils; -import java.util.ArrayList; -import java.util.List; - -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - public class EuMeterGT extends Item { public static EuMeterGT INSTANCE; @@ -37,7 +36,17 @@ 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) { + 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) { return aPlayer instanceof EntityPlayerMP; @@ -52,14 +61,57 @@ public class EuMeterGT extends Item { } 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, translateToLocalFormatted("tt.keyphrase.Stored_energy", clientLocale) + ": " + EnumChatFormatting.YELLOW + (((BaseMetaTileEntity) tTileEntity).getUniversalEnergyStored()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GREEN + (((BaseMetaTileEntity) tTileEntity).getUniversalEnergyCapacity())); - GT_Utility.sendChatToPlayer(aPlayer, translateToLocalFormatted("tt.keyphrase.Stored_EU", clientLocale) + ": " + EnumChatFormatting.YELLOW + (((BaseMetaTileEntity) tTileEntity).getStoredEU()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GREEN + (((BaseMetaTileEntity) tTileEntity).getEUCapacity())); - GT_Utility.sendChatToPlayer(aPlayer, translateToLocalFormatted("tt.keyphrase.Average_IO", clientLocale) + ": " + EnumChatFormatting.YELLOW + (((BaseMetaTileEntity) tTileEntity).getAverageElectricInput()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.YELLOW + (((BaseMetaTileEntity) tTileEntity).getAverageElectricOutput())); - GT_Utility.sendChatToPlayer(aPlayer, translateToLocalFormatted("tt.keyphrase.Average_IO_(max)", clientLocale) + ": " + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getInputVoltage()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getOutputVoltage())); - GT_Utility.sendChatToPlayer(aPlayer, translateToLocalFormatted("tt.keyphrase.Average_IO_max", clientLocale) + ": " + EnumChatFormatting.RED + (((BaseMetaTileEntity) tTileEntity).getMaxSafeInput()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.RED + (((BaseMetaTileEntity) tTileEntity).getMaxEnergyOutput())); - GT_Utility.sendChatToPlayer(aPlayer, translateToLocalFormatted("tt.keyphrase.Amperage_IO_(max)", clientLocale) + ": " + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getInputAmperage()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getOutputAmperage())); - GT_Utility.sendChatToPlayer(aPlayer, translateToLocalFormatted("tt.keyphrase.Side_capabilities", clientLocale) + ": " + (((BaseMetaTileEntity) tTileEntity).inputEnergyFrom((byte) aSide) ? translateToLocalFormatted("tt.keyword.input", clientLocale) + " " : "") + (((BaseMetaTileEntity) tTileEntity).outputsEnergyTo((byte) aSide) ? translateToLocalFormatted("tt.keyword.output", clientLocale) : "")); + GT_Utility.sendChatToPlayer( + aPlayer, + EnumChatFormatting.AQUA + "----- X:" + aX + " Y:" + aY + " Z:" + aZ + " D:" + + aWorld.provider.dimensionId + " S:" + aSide + " -----"); + GT_Utility.sendChatToPlayer( + aPlayer, + translateToLocalFormatted("tt.keyphrase.Stored_energy", clientLocale) + ": " + + EnumChatFormatting.YELLOW + + (((BaseMetaTileEntity) tTileEntity).getUniversalEnergyStored()) + + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GREEN + + (((BaseMetaTileEntity) tTileEntity).getUniversalEnergyCapacity())); + GT_Utility.sendChatToPlayer( + aPlayer, + translateToLocalFormatted("tt.keyphrase.Stored_EU", clientLocale) + ": " + + EnumChatFormatting.YELLOW + (((BaseMetaTileEntity) tTileEntity).getStoredEU()) + + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GREEN + + (((BaseMetaTileEntity) tTileEntity).getEUCapacity())); + GT_Utility.sendChatToPlayer( + aPlayer, + translateToLocalFormatted("tt.keyphrase.Average_IO", clientLocale) + ": " + + EnumChatFormatting.YELLOW + + (((BaseMetaTileEntity) tTileEntity).getAverageElectricInput()) + + EnumChatFormatting.RESET + '/' + EnumChatFormatting.YELLOW + + (((BaseMetaTileEntity) tTileEntity).getAverageElectricOutput())); + GT_Utility.sendChatToPlayer( + aPlayer, + translateToLocalFormatted("tt.keyphrase.Average_IO_(max)", clientLocale) + ": " + + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getInputVoltage()) + + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GOLD + + (((BaseMetaTileEntity) tTileEntity).getOutputVoltage())); + GT_Utility.sendChatToPlayer( + aPlayer, + translateToLocalFormatted("tt.keyphrase.Average_IO_max", clientLocale) + ": " + + EnumChatFormatting.RED + (((BaseMetaTileEntity) tTileEntity).getMaxSafeInput()) + + EnumChatFormatting.RESET + '/' + EnumChatFormatting.RED + + (((BaseMetaTileEntity) tTileEntity).getMaxEnergyOutput())); + GT_Utility.sendChatToPlayer( + aPlayer, + translateToLocalFormatted("tt.keyphrase.Amperage_IO_(max)", clientLocale) + ": " + + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getInputAmperage()) + + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GOLD + + (((BaseMetaTileEntity) tTileEntity).getOutputAmperage())); + GT_Utility.sendChatToPlayer( + aPlayer, + translateToLocalFormatted("tt.keyphrase.Side_capabilities", clientLocale) + ": " + + (((BaseMetaTileEntity) tTileEntity).inputEnergyFrom((byte) aSide) + ? translateToLocalFormatted("tt.keyword.input", clientLocale) + " " + : "") + + (((BaseMetaTileEntity) tTileEntity).outputsEnergyTo((byte) aSide) + ? translateToLocalFormatted("tt.keyword.output", clientLocale) + : "")); return true; } else if (tTileEntity instanceof BaseMetaPipeEntity) { if (((BaseMetaPipeEntity) tTileEntity).getMetaTileEntity() instanceof GT_MetaPipeEntity_Cable) { @@ -81,12 +133,13 @@ public class EuMeterGT extends Item { @Override public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { aList.add(CommonValues.TEC_MARK_GENERAL); - aList.add(translateToLocal("item.em.EuMeterGT.desc.0"));//Measures basic EU related stuff - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.EuMeterGT.desc.1"));//Just right click on blocks. + aList.add(translateToLocal("item.em.EuMeterGT.desc.0")); // Measures basic EU related stuff + aList.add( + EnumChatFormatting.BLUE + translateToLocal("item.em.EuMeterGT.desc.1")); // Just right click on blocks. } public static void run() { 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 a384d3998a..666a3c4c47 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 @@ -1,5 +1,10 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; +import static com.github.technus.tectech.thing.CustomItemList.parametrizerMemory; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Param; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_ParamText; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; @@ -10,6 +15,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -22,19 +28,12 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.world.World; -import java.util.List; - -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.TecTech.creativeTabTecTech; -import static com.github.technus.tectech.thing.CustomItemList.parametrizerMemory; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 15.03.2017. */ public final class ParametrizerMemoryCard extends Item { - public static ParametrizerMemoryCard INSTANCE; - private static IIcon locked, unlocked; + public static ParametrizerMemoryCard INSTANCE; + private static IIcon locked, unlocked; private ParametrizerMemoryCard() { setMaxStackSize(1); @@ -45,7 +44,17 @@ public final class ParametrizerMemoryCard 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) { + 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 (aPlayer instanceof EntityPlayerMP) { aStack.stackSize = 1; @@ -59,12 +68,12 @@ public final class ParametrizerMemoryCard extends Item { } NBTTagCompound tNBT = aStack.getTagCompound(); if (aStack.getItemDamage() == 1) { - //write to parametrizer + // write to parametrizer parametrizer.param = tNBT.getInteger("param"); parametrizer.value0D = tNBT.getDouble("value0D"); parametrizer.value1D = tNBT.getDouble("value1D"); } else { - //read from parametrizer + // read from parametrizer tNBT.setInteger("param", parametrizer.param); tNBT.setDouble("value0D", parametrizer.value0D); tNBT.setDouble("value1D", parametrizer.value1D); @@ -80,9 +89,7 @@ public final class ParametrizerMemoryCard extends Item { NBTTagCompound tNBT = aStack.getTagCompound(); if (aStack.getItemDamage() == 1) { base.parametrization.trySetParameters( - tNBT.getInteger("param"), - tNBT.getDouble("value0D"), - tNBT.getDouble("value1D")); + tNBT.getInteger("param"), tNBT.getDouble("value0D"), tNBT.getDouble("value1D")); return true; } } else if (metaTE instanceof GT_MetaTileEntity_Hatch_ParamText) { @@ -92,14 +99,14 @@ public final class ParametrizerMemoryCard extends Item { } NBTTagCompound tNBT = aStack.getTagCompound(); if (aStack.getItemDamage() == 1) { - //write to parametrizer + // write to parametrizer parametrizer.param = tNBT.getInteger("param"); parametrizer.value0D = tNBT.getDouble("value0D"); parametrizer.value1D = tNBT.getDouble("value1D"); parametrizer.value0s = tNBT.getString("value0s"); parametrizer.value1s = tNBT.getString("value1s"); } else { - //read from parametrizer + // read from parametrizer tNBT.setInteger("param", parametrizer.param); tNBT.setDouble("value0D", parametrizer.value0D); tNBT.setDouble("value1D", parametrizer.value1D); @@ -132,28 +139,34 @@ public final class ParametrizerMemoryCard extends Item { public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { NBTTagCompound tNBT = aStack.getTagCompound(); aList.add(CommonValues.BASS_MARK); - aList.add(translateToLocal("item.em.parametrizerMemoryCard.desc.0"));//Stores Parameters + aList.add(translateToLocal("item.em.parametrizerMemoryCard.desc.0")); // Stores Parameters if (aStack.getItemDamage() == 1) { - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.parametrizerMemoryCard.desc.1"));//Use on Parametrizer/Controller to configure it + aList.add(EnumChatFormatting.BLUE + + translateToLocal( + "item.em.parametrizerMemoryCard.desc.1")); // Use on Parametrizer/Controller to configure it } else { - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.parametrizerMemoryCard.desc.2"));//Use on Parametrizer to store parameters + aList.add(EnumChatFormatting.BLUE + + translateToLocal( + "item.em.parametrizerMemoryCard.desc.2")); // Use on Parametrizer to store parameters } - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.parametrizerMemoryCard.desc.3"));//Sneak right click to lock/unlock + aList.add(EnumChatFormatting.BLUE + + translateToLocal("item.em.parametrizerMemoryCard.desc.3")); // Sneak right click to lock/unlock double temp; if (tNBT != null && tNBT.hasKey("param")) { aList.add("Hatch ID: " + EnumChatFormatting.AQUA + tNBT.getInteger("param")); temp = tNBT.getInteger("value0D"); aList.add("Value 0D: " + EnumChatFormatting.AQUA + temp); - aList.add("Value 0B: " + EnumChatFormatting.AQUA + TT_Utility.longBitsToShortString(Double.doubleToLongBits(temp))); + aList.add("Value 0B: " + EnumChatFormatting.AQUA + + TT_Utility.longBitsToShortString(Double.doubleToLongBits(temp))); aList.add("Value 0s: " + EnumChatFormatting.AQUA + tNBT.getString("value0s")); temp = tNBT.getInteger("value1D"); aList.add("Value 1D: " + EnumChatFormatting.AQUA + temp); - aList.add("Value 1B: " + EnumChatFormatting.AQUA + TT_Utility.longBitsToShortString(Double.doubleToLongBits(temp))); + aList.add("Value 1B: " + EnumChatFormatting.AQUA + + TT_Utility.longBitsToShortString(Double.doubleToLongBits(temp))); aList.add("Value 1s: " + EnumChatFormatting.AQUA + tNBT.getString("value1s")); } - } public static void run() { diff --git a/src/main/java/com/github/technus/tectech/thing/item/PowerPassUpgradeCover.java b/src/main/java/com/github/technus/tectech/thing/item/PowerPassUpgradeCover.java index 06c05e5b9d..b58d198e38 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/PowerPassUpgradeCover.java +++ b/src/main/java/com/github/technus/tectech/thing/item/PowerPassUpgradeCover.java @@ -1,21 +1,20 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.thing.CustomItemList.powerPassUpgradeCover; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import java.util.List; - -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.thing.CustomItemList.powerPassUpgradeCover; -import static net.minecraft.util.StatCollector.translateToLocal; - public final class PowerPassUpgradeCover extends Item { public static PowerPassUpgradeCover INSTANCE; @@ -28,9 +27,12 @@ public final class PowerPassUpgradeCover extends Item { @Override public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { aList.add(CommonValues.BASS_MARK); - aList.add(translateToLocal("item.tm.powerpassupgradecover.desc.0"));//Add power pass functionality to TecTech Multiblocks - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.powerpassupgradecover.desc.1"));//Active transformer in a can?? - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.powerpassupgradecover.desc.2"));//Chain them up like Christmas lights! + aList.add(translateToLocal( + "item.tm.powerpassupgradecover.desc.0")); // Add power pass functionality to TecTech Multiblocks + aList.add(EnumChatFormatting.BLUE + + translateToLocal("item.tm.powerpassupgradecover.desc.1")); // Active transformer in a can?? + aList.add(EnumChatFormatting.BLUE + + translateToLocal("item.tm.powerpassupgradecover.desc.2")); // Chain them up like Christmas lights! } public static void run() { 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 index 16be66255d..9b847b98d6 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCapacitor.java +++ b/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCapacitor.java @@ -1,9 +1,15 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.thing.CustomItemList.teslaCapacitor; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -12,14 +18,6 @@ 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.teslaCapacitor; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - - public final class TeslaCoilCapacitor extends Item { public static TeslaCoilCapacitor INSTANCE; private static IIcon LVicon, MVicon, HVicon, EVicon, IVicon, LuVicon, ZPMicon; @@ -34,12 +32,19 @@ public final class TeslaCoilCapacitor extends Item { public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { aList.add(CommonValues.BASS_MARK); if (aStack.getItemDamage() >= 0 && aStack.getItemDamage() <= 6) { - aList.add(translateToLocal("item.tm.teslaCoilCapacitor.desc.0") + " " + V[aStack.getItemDamage() + 1] * 512 + " " + translateToLocal("item.tm.teslaCoilCapacitor.desc.1") + " " + V[aStack.getItemDamage() + 1] + " EU/t");//Stores 16384 EU in a tesla tower at 32 EU/t + aList.add(translateToLocal("item.tm.teslaCoilCapacitor.desc.0") + " " + V[aStack.getItemDamage() + 1] * 512 + + " " + translateToLocal("item.tm.teslaCoilCapacitor.desc.1") + " " + V[aStack.getItemDamage() + 1] + + " EU/t"); // Stores 16384 EU in a tesla tower at 32 EU/t } else { - aList.add(translateToLocal("item.tm.teslaCoilCapacitor.desc.2"));//Yeet this broken item into some spicy water! + aList.add(translateToLocal( + "item.tm.teslaCoilCapacitor.desc.2")); // Yeet this broken item into some spicy water! } - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.teslaCoilCapacitor.desc.3"));//Insert into a Capacitor hatch of a Tesla Tower - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.teslaCoilCapacitor.desc.4"));//Capacitors are the same thing as batteries, right? + aList.add(EnumChatFormatting.BLUE + + translateToLocal( + "item.tm.teslaCoilCapacitor.desc.3")); // Insert into a Capacitor hatch of a Tesla Tower + aList.add(EnumChatFormatting.BLUE + + translateToLocal( + "item.tm.teslaCoilCapacitor.desc.4")); // Capacitors are the same thing as batteries, right? } @Override 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 index cc77b7a26c..769ee589b9 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilComponent.java +++ b/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilComponent.java @@ -1,9 +1,14 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.thing.CustomItemList.teslaComponent; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -12,13 +17,6 @@ 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; -import static net.minecraft.util.StatCollector.translateToLocal; - - public final class TeslaCoilComponent extends Item { public static TeslaCoilComponent INSTANCE; private static IIcon ultItemIcon; @@ -32,7 +30,8 @@ public final class TeslaCoilComponent extends Item { @Override public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { aList.add(CommonValues.BASS_MARK); - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.itemTeslaComponent.desc"));//Tesla bois need these! + aList.add(EnumChatFormatting.BLUE + + translateToLocal("item.tm.itemTeslaComponent.desc")); // Tesla bois need these! } @Override 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 index 20417ebe71..b8997f82cd 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCover.java +++ b/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCover.java @@ -1,9 +1,14 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.thing.CustomItemList.teslaCover; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -12,13 +17,6 @@ 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; -import static net.minecraft.util.StatCollector.translateToLocal; - - public final class TeslaCoilCover extends Item { public static TeslaCoilCover INSTANCE; private static IIcon ultItemIcon; @@ -34,17 +32,21 @@ public final class TeslaCoilCover extends Item { aList.add(CommonValues.BASS_MARK); switch (aStack.getItemDamage()) { case 0: - aList.add(translateToLocal("item.tm.teslaCover.desc.0"));//Tesla-Enables Machines! + aList.add(translateToLocal("item.tm.teslaCover.desc.0")); // Tesla-Enables Machines! break; case 1: - aList.add(translateToLocal("item.tm.teslaCover.desc.1"));//Tesla-Enables Machines! (BUT LOUDER!!) + aList.add(translateToLocal("item.tm.teslaCover.desc.1")); // Tesla-Enables Machines! (BUT LOUDER!!) break; default: - aList.add(translateToLocal("item.tm.teslaCover.desc.2"));//Yeet this broken item into some spicy water! + aList.add( + translateToLocal("item.tm.teslaCover.desc.2")); // Yeet this broken item into some spicy water! break; } - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.teslaCover.desc.3"));//Use on top of a machine to enable Tesla capabilities - aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.teslaCover.desc.4"));//Who the hell uses cables anyway? + aList.add(EnumChatFormatting.BLUE + + translateToLocal( + "item.tm.teslaCover.desc.3")); // Use on top of a machine to enable Tesla capabilities + aList.add(EnumChatFormatting.BLUE + + translateToLocal("item.tm.teslaCover.desc.4")); // Who the hell uses cables anyway? } @Override 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 index ba080f8603..3346d57504 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/TeslaStaff.java +++ b/src/main/java/com/github/technus/tectech/thing/item/TeslaStaff.java @@ -1,22 +1,20 @@ package com.github.technus.tectech.thing.item; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.thing.CustomItemList.teslaStaff; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.util.CommonValues; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.util.GT_Utility; +import java.util.List; 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; -import static net.minecraft.util.StatCollector.translateToLocal; - - public final class TeslaStaff extends Item { public static TeslaStaff INSTANCE; diff --git a/src/main/java/com/github/technus/tectech/thing/item/gui/ProgrammerScreen.java b/src/main/java/com/github/technus/tectech/thing/item/gui/ProgrammerScreen.java index 8584f28d45..ffd6f787e7 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/gui/ProgrammerScreen.java +++ b/src/main/java/com/github/technus/tectech/thing/item/gui/ProgrammerScreen.java @@ -7,7 +7,7 @@ import net.minecraft.nbt.NBTTagCompound; public class ProgrammerScreen extends GuiScreen { private NBTTagCompound tag; - public ProgrammerScreen(EntityPlayer player){ - tag=player.getHeldItem().getTagCompound(); + public ProgrammerScreen(EntityPlayer player) { + tag = player.getHeldItem().getTagCompound(); } } diff --git a/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java b/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java index b4300c763c..4e9d90bc50 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java +++ b/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java @@ -1,8 +1,12 @@ package com.github.technus.tectech.thing.item.gui; +import static com.github.technus.tectech.Reference.MODID; +import static org.lwjgl.opengl.GL11.*; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.thing.item.ElementalDefinitionScanStorage_EM; +import java.util.Objects; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.client.audio.SoundHandler; @@ -11,11 +15,6 @@ import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ResourceLocation; -import java.util.Objects; - -import static com.github.technus.tectech.Reference.MODID; -import static org.lwjgl.opengl.GL11.*; - /** * Created by danie_000 on 17.12.2017. */ @@ -24,22 +23,23 @@ public class ScanDisplayScreen extends GuiScreen { private int baseX, baseY; private Button up, down, pgUp, pgDown; private final String[] lines; - private int firstLine; + private int firstLine; - private static final ResourceLocation[] BACKGROUNDS = new ResourceLocation[]{ - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen1.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen2.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen3.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen4.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen5.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen6.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen7.png"), - new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen8.png")}; - private static final ResourceLocation ITEM = - new ResourceLocation(MODID + ":textures/gui/scanDisplayItem.png"); + private static final ResourceLocation[] BACKGROUNDS = new ResourceLocation[] { + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen1.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen2.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen3.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen4.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen5.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen6.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen7.png"), + new ResourceLocation(MODID + ":textures/gui/scanDisplayScreen8.png") + }; + private static final ResourceLocation ITEM = new ResourceLocation(MODID + ":textures/gui/scanDisplayItem.png"); public ScanDisplayScreen(EntityPlayer player) { - lines = Objects.requireNonNull(ElementalDefinitionScanStorage_EM.getLines(player.getHeldItem())).toArray(new String[0]); + lines = Objects.requireNonNull(ElementalDefinitionScanStorage_EM.getLines(player.getHeldItem())) + .toArray(new String[0]); } @Override @@ -47,8 +47,8 @@ public class ScanDisplayScreen extends GuiScreen { glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); mc.getTextureManager().bindTexture(ITEM); - long tick = System.currentTimeMillis() / 150; - int itick = (int) (tick % 12); + long tick = System.currentTimeMillis() / 150; + int itick = (int) (tick % 12); drawTexturedModalRect(baseX + 99, baseY + 189, 32 * (itick / 6), 32 * (itick % 6), 32, 32); mc.getTextureManager().bindTexture(BACKGROUNDS[(int) (tick % 8)]); drawTexturedModalRect(baseX, baseY, 0, 0, sizeX, sizeY); @@ -56,14 +56,16 @@ public class ScanDisplayScreen extends GuiScreen { super.drawScreen(x, y, partialTicks); itick = (TecTech.RANDOM.nextInt(0x66) << 16) + 0x77EEFF; - int textBaseX = baseX + 20; + int textBaseX = baseX + 20; int textBaseXX = baseX + 95; - int textBaseY = baseY + 28; + int textBaseY = baseY + 28; for (int i = firstLine - 1, j = 8; i >= 0 && j != 0; i--, j /= 2) { int equalPos = lines[i].indexOf('='); if (equalPos >= 0) { - TecTechFontRender.INSTANCE.drawSplitString(lines[i].substring(0, equalPos), textBaseX, textBaseY - 8 + j, 200, itick); - TecTechFontRender.INSTANCE.drawSplitString(lines[i].substring(equalPos), textBaseXX, textBaseY - 8 + j, 200, itick); + TecTechFontRender.INSTANCE.drawSplitString( + lines[i].substring(0, equalPos), textBaseX, textBaseY - 8 + j, 200, itick); + TecTechFontRender.INSTANCE.drawSplitString( + lines[i].substring(equalPos), textBaseXX, textBaseY - 8 + j, 200, itick); } else { TecTechFontRender.INSTANCE.drawSplitString(lines[i], textBaseX, textBaseY - 8 + j, 200, itick); } @@ -72,8 +74,10 @@ public class ScanDisplayScreen extends GuiScreen { textBaseY += 9; int equalPos = lines[i].indexOf('='); if (equalPos >= 0) { - TecTechFontRender.INSTANCE.drawSplitString(lines[i].substring(0, equalPos), textBaseX, textBaseY, 200, itick); - TecTechFontRender.INSTANCE.drawSplitString(lines[i].substring(equalPos), textBaseXX, textBaseY, 200, itick); + TecTechFontRender.INSTANCE.drawSplitString( + lines[i].substring(0, equalPos), textBaseX, textBaseY, 200, itick); + TecTechFontRender.INSTANCE.drawSplitString( + lines[i].substring(equalPos), textBaseXX, textBaseY, 200, itick); } else { TecTechFontRender.INSTANCE.drawSplitString(lines[i], textBaseX, textBaseY, 200, itick); } @@ -81,8 +85,10 @@ public class ScanDisplayScreen extends GuiScreen { for (int i = firstLine + renderedLines, j = 8; i < lines.length && j != 0; i++, j /= 2) { int equalPos = lines[i].indexOf('='); if (equalPos >= 0) { - TecTechFontRender.INSTANCE.drawSplitString(lines[i].substring(0, equalPos), textBaseX, textBaseY + 17 - j, 200, itick); - TecTechFontRender.INSTANCE.drawSplitString(lines[i].substring(equalPos), textBaseXX, textBaseY + 17 - j, 200, itick); + TecTechFontRender.INSTANCE.drawSplitString( + lines[i].substring(0, equalPos), textBaseX, textBaseY + 17 - j, 200, itick); + TecTechFontRender.INSTANCE.drawSplitString( + lines[i].substring(equalPos), textBaseXX, textBaseY + 17 - j, 200, itick); } else { TecTechFontRender.INSTANCE.drawSplitString(lines[i], textBaseX, textBaseY + 17 - j, 200, itick); } @@ -141,7 +147,8 @@ public class ScanDisplayScreen extends GuiScreen { @Override public void drawButton(Minecraft mc, int xPos, int yPos) { if (visible) { - field_146123_n = xPos >= xPosition && yPos >= yPosition && xPos < xPosition + width && yPos < yPosition + height; + field_146123_n = + xPos >= xPosition && yPos >= yPosition && xPos < xPosition + width && yPos < yPosition + height; glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); mc.getTextureManager().bindTexture(BACKGROUNDS[0]); @@ -151,10 +158,11 @@ public class ScanDisplayScreen extends GuiScreen { } } - //play cool sound fx + // play cool sound fx @Override public void func_146113_a(SoundHandler soundHandler) { - soundHandler.playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation(MODID + ":fx_click"), 1.0F)); + soundHandler.playSound( + PositionedSoundRecord.func_147674_a(new ResourceLocation(MODID + ":fx_click"), 1.0F)); } } } diff --git a/src/main/java/com/github/technus/tectech/thing/item/renderElemental/IElementalItem.java b/src/main/java/com/github/technus/tectech/thing/item/renderElemental/IElementalItem.java index 37dce47e5f..797ca90088 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/renderElemental/IElementalItem.java +++ b/src/main/java/com/github/technus/tectech/thing/item/renderElemental/IElementalItem.java @@ -1,16 +1,16 @@ package com.github.technus.tectech.thing.item.renderElemental; +import static com.github.technus.tectech.util.TT_Utility.getSomeString; + import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import static com.github.technus.tectech.util.TT_Utility.getSomeString; - public interface IElementalItem { - default String getSymbol(ItemStack stack,int index){ + default String getSymbol(ItemStack stack, int index) { try { NBTTagCompound tNBT = stack.getTagCompound(); if (tNBT != null && tNBT.hasKey("symbols")) { - return getSomeString(tNBT.getCompoundTag("symbols"),index); + return getSomeString(tNBT.getCompoundTag("symbols"), index); } else { return null; } diff --git a/src/main/java/com/github/technus/tectech/thing/item/renderElemental/RenderElementalName.java b/src/main/java/com/github/technus/tectech/thing/item/renderElemental/RenderElementalName.java index e897f615ad..1d7a3f55aa 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/renderElemental/RenderElementalName.java +++ b/src/main/java/com/github/technus/tectech/thing/item/renderElemental/RenderElementalName.java @@ -12,13 +12,16 @@ import org.lwjgl.opengl.GL11; @SideOnly(Side.CLIENT) public class RenderElementalName implements IItemRenderer { - public static final RenderElementalName INSTANCE=new RenderElementalName(); + public static final RenderElementalName INSTANCE = new RenderElementalName(); public boolean handleRenderType(final ItemStack itemStack, final IItemRenderer.ItemRenderType type) { return type == ItemRenderType.INVENTORY; } - public boolean shouldUseRenderHelper(final IItemRenderer.ItemRenderType type, final ItemStack itemStack, final IItemRenderer.ItemRendererHelper helper) { + public boolean shouldUseRenderHelper( + final IItemRenderer.ItemRenderType type, + final ItemStack itemStack, + final IItemRenderer.ItemRendererHelper helper) { return false; } @@ -37,33 +40,34 @@ public class RenderElementalName implements IItemRenderer { tessellator.addVertexWithUV(16, 16, 0.0, icon.getMaxU(), icon.getMaxV()); tessellator.addVertexWithUV(16, 0.0, 0.0, icon.getMaxU(), icon.getMinV()); tessellator.draw(); - //ItemRenderer.renderItemIn2D(Tessellator.instance, icon.getMaxU(), icon.getMinV(), icon.getMinU(), icon.getMaxV(), icon.getIconWidth(), icon.getIconHeight(), 0.0625f); + // ItemRenderer.renderItemIn2D(Tessellator.instance, icon.getMaxU(), icon.getMinV(), icon.getMinU(), + // icon.getMaxV(), icon.getIconWidth(), icon.getIconHeight(), 0.0625f); } - String sym=((IElementalItem)item).getSymbol(itemStack,(int)(System.currentTimeMillis()/1000)); - if(sym!=null){ - if(sym.length()>4){ - sym="..."; + String sym = ((IElementalItem) item).getSymbol(itemStack, (int) (System.currentTimeMillis() / 1000)); + if (sym != null) { + if (sym.length() > 4) { + sym = "..."; } GL11.glPushMatrix(); - GL11.glTranslatef(.8F,.8F,0F); + GL11.glTranslatef(.8F, .8F, 0F); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); - GL11.glTranslatef(-1.6f,0,0); + GL11.glTranslatef(-1.6f, 0, 0); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); - GL11.glTranslatef(0,-1.6f,0); + GL11.glTranslatef(0, -1.6f, 0); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); - GL11.glTranslatef(0,1.6f,0); + GL11.glTranslatef(0, 1.6f, 0); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); GL11.glPopMatrix(); GL11.glPushMatrix(); - GL11.glTranslatef(.4F,.4F,0F); + GL11.glTranslatef(.4F, .4F, 0F); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); - GL11.glTranslatef(-.8f,0,0); + GL11.glTranslatef(-.8f, 0, 0); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); - GL11.glTranslatef(0,-.8f,0); + GL11.glTranslatef(0, -.8f, 0); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); - GL11.glTranslatef(0,.8f,0); + GL11.glTranslatef(0, .8f, 0); TecTechFontRender.INSTANCE.drawSplitString(sym, 0, 0, 16, 0x222200); GL11.glPopMatrix(); 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 d9ccb1529e..08a14fecc2 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 @@ -1,14 +1,14 @@ package com.github.technus.tectech.thing.metaTileEntity; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static gregtech.api.enums.Textures.BlockIcons.*; + import gregtech.api.enums.Dyes; import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.ITexture; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.objects.GT_SidedTexture; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static gregtech.api.enums.Textures.BlockIcons.*; - public class Textures { private static final IIconContainer OVERLAY_ENERGY_IN_POWER = new CustomIcon("iconsets/OVERLAY_ENERGY_IN_POWER"); private static final IIconContainer OVERLAY_ENERGY_OUT_POWER = new CustomIcon("iconsets/OVERLAY_ENERGY_OUT_POWER"); @@ -35,176 +35,204 @@ public class Textures { 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, - MACHINE_UV_SIDE, MACHINE_MAX_SIDE, MACHINE_UEV_SIDE, MACHINE_UIV_SIDE, - MACHINE_UMV_SIDE, MACHINE_UXV_SIDE, MACHINE_OPV_SIDE, MACHINE_MAXV_SIDE, - }, MACHINECASINGS_TOP_TT = new IIconContainer[]{ - MACHINE_8V_TOP, MACHINE_LV_TOP, MACHINE_MV_TOP, MACHINE_HV_TOP, - MACHINE_EV_TOP, MACHINE_IV_TOP, MACHINE_LuV_TOP, MACHINE_ZPM_TOP, - MACHINE_UV_TOP, MACHINE_MAX_TOP, MACHINE_UEV_TOP, MACHINE_UIV_TOP, - MACHINE_UMV_TOP, MACHINE_UXV_TOP, MACHINE_OPV_TOP, MACHINE_MAXV_TOP, - }, MACHINECASINGS_BOTTOM_TT = new IIconContainer[]{ - MACHINE_8V_BOTTOM, MACHINE_LV_BOTTOM, MACHINE_MV_BOTTOM, MACHINE_HV_BOTTOM, - MACHINE_EV_BOTTOM, MACHINE_IV_BOTTOM, MACHINE_LuV_BOTTOM, MACHINE_ZPM_BOTTOM, - MACHINE_UV_BOTTOM, MACHINE_MAX_BOTTOM, MACHINE_UEV_BOTTOM, MACHINE_UIV_BOTTOM, - MACHINE_UMV_BOTTOM, MACHINE_UXV_BOTTOM, MACHINE_OPV_BOTTOM, MACHINE_MAXV_BOTTOM, - }; - public static ITexture[] OVERLAYS_ENERGY_IN_TT = new ITexture[]{ - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[]{40, 40, 245, 0}), - }, OVERLAYS_ENERGY_OUT_TT = new ITexture[]{ - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[]{40, 40, 245, 0}), - }, OVERLAYS_ENERGY_IN_MULTI_TT = new ITexture[]{ - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[]{40, 40, 245, 0}), - }, OVERLAYS_ENERGY_OUT_MULTI_TT = new ITexture[]{ - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[]{40, 40, 245, 0}), - }, OVERLAYS_ENERGY_IN_POWER_TT = new ITexture[]{ - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[]{40, 40, 245, 0}), - }, OVERLAYS_ENERGY_OUT_POWER_TT = new ITexture[]{ - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{40, 40, 245, 0}), - }, OVERLAYS_ENERGY_IN_LASER_TT = new ITexture[]{ - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{40, 40, 245, 0}), - }, OVERLAYS_ENERGY_OUT_LASER_TT = new ITexture[]{ - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{180, 180, 180, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{220, 220, 220, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{255, 100, 0, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{255, 255, 30, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{128, 128, 128, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{240, 240, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{220, 220, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{200, 200, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{180, 180, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{160, 160, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{140, 140, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{120, 120, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{100, 100, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{80, 80, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{40, 40, 245, 0}), - }; + 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, + MACHINE_UV_SIDE, MACHINE_MAX_SIDE, MACHINE_UEV_SIDE, MACHINE_UIV_SIDE, + MACHINE_UMV_SIDE, MACHINE_UXV_SIDE, MACHINE_OPV_SIDE, MACHINE_MAXV_SIDE, + }, + MACHINECASINGS_TOP_TT = + new IIconContainer[] { + MACHINE_8V_TOP, MACHINE_LV_TOP, MACHINE_MV_TOP, MACHINE_HV_TOP, + MACHINE_EV_TOP, MACHINE_IV_TOP, MACHINE_LuV_TOP, MACHINE_ZPM_TOP, + MACHINE_UV_TOP, MACHINE_MAX_TOP, MACHINE_UEV_TOP, MACHINE_UIV_TOP, + MACHINE_UMV_TOP, MACHINE_UXV_TOP, MACHINE_OPV_TOP, MACHINE_MAXV_TOP, + }, + MACHINECASINGS_BOTTOM_TT = + new IIconContainer[] { + MACHINE_8V_BOTTOM, MACHINE_LV_BOTTOM, MACHINE_MV_BOTTOM, MACHINE_HV_BOTTOM, + MACHINE_EV_BOTTOM, MACHINE_IV_BOTTOM, MACHINE_LuV_BOTTOM, MACHINE_ZPM_BOTTOM, + MACHINE_UV_BOTTOM, MACHINE_MAX_BOTTOM, MACHINE_UEV_BOTTOM, MACHINE_UIV_BOTTOM, + MACHINE_UMV_BOTTOM, MACHINE_UXV_BOTTOM, MACHINE_OPV_BOTTOM, MACHINE_MAXV_BOTTOM, + }; + public static ITexture[] + OVERLAYS_ENERGY_IN_TT = + new ITexture[] { + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {40, 40, 245, 0}), + }, + OVERLAYS_ENERGY_OUT_TT = + new ITexture[] { + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {40, 40, 245, 0}), + }, + OVERLAYS_ENERGY_IN_MULTI_TT = + new ITexture[] { + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {40, 40, 245, 0}), + }, + OVERLAYS_ENERGY_OUT_MULTI_TT = + new ITexture[] { + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {40, 40, 245, 0}), + }, + OVERLAYS_ENERGY_IN_POWER_TT = + new ITexture[] { + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {40, 40, 245, 0}), + }, + OVERLAYS_ENERGY_OUT_POWER_TT = + new ITexture[] { + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {40, 40, 245, 0}), + }, + OVERLAYS_ENERGY_IN_LASER_TT = + new ITexture[] { + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {40, 40, 245, 0}), + }, + OVERLAYS_ENERGY_OUT_LASER_TT = + new ITexture[] { + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {180, 180, 180, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {220, 220, 220, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {255, 100, 0, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {255, 255, 30, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {128, 128, 128, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {240, 240, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {220, 220, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {200, 200, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {180, 180, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {160, 160, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {140, 140, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {120, 120, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {100, 100, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {80, 80, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {60, 60, 245, 0}), + new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {40, 40, 245, 0}), + }; public static ITexture[][] MACHINE_CASINGS_TT = new ITexture[16][17]; public static ITexture TESLA_TRANSCEIVER_TOP_BA = new GT_RenderedTexture(TESLA_TRANSCEIVER_TOP); - public static void run(){ + public static void run() { for (byte i = 0; i < MACHINE_CASINGS_TT.length; i++) { for (byte j = 0; j < MACHINE_CASINGS_TT[i].length; j++) { - MACHINE_CASINGS_TT[i][j] = new GT_SidedTexture(MACHINECASINGS_BOTTOM_TT[i], MACHINECASINGS_TOP_TT[i], MACHINECASINGS_SIDE_TT[i], Dyes.getModulation(j - 1, MACHINE_METAL.mRGBa)); + MACHINE_CASINGS_TT[i][j] = new GT_SidedTexture( + MACHINECASINGS_BOTTOM_TT[i], + MACHINECASINGS_TOP_TT[i], + MACHINECASINGS_SIDE_TT[i], + Dyes.getModulation(j - 1, MACHINE_METAL.mRGBa)); } } - MACHINE_CASINGS=MACHINE_CASINGS_TT; + MACHINE_CASINGS = MACHINE_CASINGS_TT; // These will throw IndexOutOfBoundsException if one of the arrays are the wrong length System.arraycopy(OVERLAYS_ENERGY_IN_TT, 0, OVERLAYS_ENERGY_IN, 0, OVERLAYS_ENERGY_IN_TT.length); System.arraycopy(OVERLAYS_ENERGY_OUT_TT, 0, OVERLAYS_ENERGY_OUT, 0, OVERLAYS_ENERGY_OUT_TT.length); - System.arraycopy(OVERLAYS_ENERGY_IN_MULTI_TT, 0, OVERLAYS_ENERGY_IN_MULTI, 0, OVERLAYS_ENERGY_IN_MULTI_TT.length); - System.arraycopy(OVERLAYS_ENERGY_OUT_MULTI_TT, 0, OVERLAYS_ENERGY_OUT_MULTI, 0, OVERLAYS_ENERGY_OUT_MULTI_TT.length); + System.arraycopy( + OVERLAYS_ENERGY_IN_MULTI_TT, 0, OVERLAYS_ENERGY_IN_MULTI, 0, OVERLAYS_ENERGY_IN_MULTI_TT.length); + System.arraycopy( + OVERLAYS_ENERGY_OUT_MULTI_TT, 0, OVERLAYS_ENERGY_OUT_MULTI, 0, OVERLAYS_ENERGY_OUT_MULTI_TT.length); } -} \ No newline at end of file +} 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 c74691d0a1..1be2282efc 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,5 +1,10 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.github.technus.tectech.util.TT_Utility.getUniqueIdentifier; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Capacitor; @@ -14,20 +19,14 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.objects.GT_RenderedTexture; +import java.util.HashMap; +import java.util.Map; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; 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.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.github.technus.tectech.util.TT_Utility.getUniqueIdentifier; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 03.04.2017. */ @@ -60,12 +59,12 @@ public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch { @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(TM_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(TM_H)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(TM_H)}; } @Override @@ -110,7 +109,10 @@ public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch { @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_Capacitor(aPlayerInventory, aBaseMetaTileEntity, translateToLocal("gt.blockmachines.hatch.capacitor.tier.03.name"));//Capacitor Hatch + return new GT_GUIContainer_Capacitor( + aPlayerInventory, + aBaseMetaTileEntity, + translateToLocal("gt.blockmachines.hatch.capacitor.tier.03.name")); // Capacitor Hatch } @Override @@ -129,10 +131,11 @@ public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch { @Override public String[] getDescription() { - return new String[]{ - CommonValues.BASS_MARK, - translateToLocal("gt.blockmachines.hatch.capacitor.desc.0"),//For Tesla Tower - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.hatch.capacitor.desc.1")//Stores 'nergy! (for a while) + return new String[] { + CommonValues.BASS_MARK, + translateToLocal("gt.blockmachines.hatch.capacitor.desc.0"), // For Tesla Tower + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.hatch.capacitor.desc.1") // Stores 'nergy! (for a while) }; } @@ -169,17 +172,24 @@ public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch { } } } - return new long[]{tier, tCurrent, tEnergyMax}; + 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 - new GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent(Reference.MODID + ":item.tm.teslaCoilCapacitor.5", 5, 1, V[6] * 512);//LuV Capacitor - new GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent(Reference.MODID + ":item.tm.teslaCoilCapacitor.6", 6, 1, V[7] * 512);//ZPM Capacitor + 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 + new GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent( + Reference.MODID + ":item.tm.teslaCoilCapacitor.5", 5, 1, V[6] * 512); // LuV Capacitor + new GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent( + Reference.MODID + ":item.tm.teslaCoilCapacitor.6", 6, 1, V[7] * 512); // ZPM Capacitor } public static class CapacitorComponent implements Comparable { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeData.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeData.java index 9311e34662..b2d93e91dc 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeData.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeData.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.util.CommonValues.MOVE_AT; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.dataTransport.QuantumDataPacket; import com.github.technus.tectech.mechanics.pipe.IConnectsToDataPipe; import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Data; @@ -13,19 +16,17 @@ import gregtech.api.util.GT_Utility; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.util.CommonValues.MOVE_AT; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 27.10.2016. */ public class GT_MetaTileEntity_Hatch_CreativeData extends GT_MetaTileEntity_Hatch_DataConnector { public GT_MetaTileEntity_Hatch_CreativeData(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_CreativeData(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_CreativeData( + String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, aDescription, aTextures); } @@ -80,7 +81,7 @@ public class GT_MetaTileEntity_Hatch_CreativeData extends GT_MetaTileEntity_Hatc } @Override - public IConnectsToDataPipe getNext(IConnectsToDataPipe source/*==this*/) { + public IConnectsToDataPipe getNext(IConnectsToDataPipe source /*==this*/) { IGregTechTileEntity base = getBaseMetaTileEntity(); byte color = base.getColorization(); if (color < 0) { @@ -94,9 +95,10 @@ public class GT_MetaTileEntity_Hatch_CreativeData extends GT_MetaTileEntity_Hatc if (meta instanceof GT_MetaTileEntity_Pipe_Data) { ((GT_MetaTileEntity_Pipe_Data) meta).markUsed(); return (IConnectsToDataPipe) meta; - }else if (meta instanceof GT_MetaTileEntity_Hatch_InputData && - ((GT_MetaTileEntity_Hatch_InputData) meta).getColorization()==color && - ((GT_MetaTileEntity_Hatch_InputData) meta).canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) { + } else if (meta instanceof GT_MetaTileEntity_Hatch_InputData + && ((GT_MetaTileEntity_Hatch_InputData) meta).getColorization() == color + && ((GT_MetaTileEntity_Hatch_InputData) meta) + .canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) { return (IConnectsToDataPipe) meta; } return null; @@ -108,24 +110,24 @@ public class GT_MetaTileEntity_Hatch_CreativeData extends GT_MetaTileEntity_Hatc if (MOVE_AT == aTick % 20) { if (aBaseMetaTileEntity.isAllowedToWork()) { getBaseMetaTileEntity().setActive(true); - if(q==null) q=new QuantumDataPacket(0xFFFFFFFFL); + if (q == null) q = new QuantumDataPacket(0xFFFFFFFFL); moveAround(aBaseMetaTileEntity); } else { - q=null; + q = null; getBaseMetaTileEntity().setActive(false); } } } } - @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.debug.tt.data.desc.0"),//Quantum Data Output - translateToLocal("gt.blockmachines.debug.tt.data.desc.1"),//High speed fibre optics connector. - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.debug.tt.data.desc.2")//Must be painted to work + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.debug.tt.data.desc.0"), // Quantum Data Output + translateToLocal("gt.blockmachines.debug.tt.data.desc.1"), // High speed fibre optics connector. + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.debug.tt.data.desc.2") // Must be painted to work }; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeMaintenance.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeMaintenance.java index 5279da2b00..854a0321bf 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeMaintenance.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeMaintenance.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; import cpw.mods.fml.relauncher.Side; @@ -15,27 +17,28 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static net.minecraft.util.StatCollector.translateToLocal; - public class GT_MetaTileEntity_Hatch_CreativeMaintenance extends GT_MetaTileEntity_Hatch_Maintenance { private static Textures.BlockIcons.CustomIcon face; public GT_MetaTileEntity_Hatch_CreativeMaintenance(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_CreativeMaintenance(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_CreativeMaintenance( + String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { super(aName, aTier, aDescription, aTextures, false); } @Override public String[] getDescription() { - return new String[]{ - CommonValues.BASS_MARK, - translateToLocal("gt.blockmachines.debug.tt.maintenance.desc.0"),//For automatically maintaining Multiblocks - translateToLocal("gt.blockmachines.debug.tt.maintenance.desc.1"),//Does fix everything but itself. - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.debug.tt.maintenance.desc.2")//Fixing is for plebs! + return new String[] { + CommonValues.BASS_MARK, + translateToLocal( + "gt.blockmachines.debug.tt.maintenance.desc.0"), // For automatically maintaining Multiblocks + translateToLocal("gt.blockmachines.debug.tt.maintenance.desc.1"), // Does fix everything but itself. + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.debug.tt.maintenance.desc.2") // Fixing is for plebs! }; } @@ -48,22 +51,24 @@ public class GT_MetaTileEntity_Hatch_CreativeMaintenance extends GT_MetaTileEnti @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(face)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(face)}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(face)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(face)}; } @Override public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_Hatch_CreativeMaintenance(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); + return new GT_MetaTileEntity_Hatch_CreativeMaintenance( + this.mName, this.mTier, this.mDescriptionArray, this.mTextures); } @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - this.mWrench = this.mScrewdriver = this.mSoftHammer = this.mHardHammer = this.mCrowbar = this.mSolderingTool = true; + this.mWrench = + this.mScrewdriver = this.mSoftHammer = this.mHardHammer = this.mCrowbar = this.mSolderingTool = true; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DataConnector.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DataConnector.java index 9e4f6cba93..3f4606d837 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DataConnector.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DataConnector.java @@ -1,5 +1,9 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.util.CommonValues.MOVE_AT; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.mechanics.dataTransport.DataPacket; import com.github.technus.tectech.mechanics.pipe.IConnectsToDataPipe; import com.github.technus.tectech.util.CommonValues; @@ -21,14 +25,11 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.reflect.FieldUtils; -import static com.github.technus.tectech.util.CommonValues.MOVE_AT; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by danie_000 on 11.12.2016. */ -public abstract class GT_MetaTileEntity_Hatch_DataConnector extends GT_MetaTileEntity_Hatch implements IConnectsToDataPipe { +public abstract class GT_MetaTileEntity_Hatch_DataConnector extends GT_MetaTileEntity_Hatch + implements IConnectsToDataPipe { public static Textures.BlockIcons.CustomIcon EM_D_SIDES; public static Textures.BlockIcons.CustomIcon EM_D_ACTIVE; public static Textures.BlockIcons.CustomIcon EM_D_CONN; @@ -39,12 +40,14 @@ public abstract class GT_MetaTileEntity_Hatch_DataConnector 0) { - return new String[]{ - translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, - translateToLocalFormatted("tt.keyword.Content", clientLocale) + ": " + EnumChatFormatting.AQUA + (q != null ? q.getContentString() : 0), - translateToLocalFormatted("tt.keyword.PacketHistory", clientLocale) + ": " + EnumChatFormatting.RED + (q != null ? q.getTraceSize() : 0),}; + return new String[] { + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, + translateToLocalFormatted("tt.keyword.Content", clientLocale) + ": " + EnumChatFormatting.AQUA + + (q != null ? q.getContentString() : 0), + translateToLocalFormatted("tt.keyword.PacketHistory", clientLocale) + ": " + EnumChatFormatting.RED + + (q != null ? q.getTraceSize() : 0), + }; } - return new String[]{ - translateToLocalFormatted("tt.keyword.Content", clientLocale) + ": " + EnumChatFormatting.AQUA + (q != null ? q.getContentString() : 0), - translateToLocalFormatted("tt.keyword.PacketHistory", clientLocale) + ": " + EnumChatFormatting.RED + (q != null ? q.getTraceSize() : 0), + return new String[] { + translateToLocalFormatted("tt.keyword.Content", clientLocale) + ": " + EnumChatFormatting.AQUA + + (q != null ? q.getContentString() : 0), + translateToLocalFormatted("tt.keyword.PacketHistory", clientLocale) + ": " + EnumChatFormatting.RED + + (q != null ? q.getTraceSize() : 0), }; } @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - "Text description shouldn't be seen, report to Tec", - "High speed fibre optics connector.", - EnumChatFormatting.AQUA + "Must be painted to work" + return new String[] { + CommonValues.TEC_MARK_EM, + "Text description shouldn't be seen, report to Tec", + "High speed fibre optics connector.", + EnumChatFormatting.AQUA + "Must be painted to work" }; } 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 406a9ee56f..bf7671a062 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 @@ -1,5 +1,9 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_POWER_TT; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.interfaces.ITexture; @@ -9,10 +13,6 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_POWER_TT; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 16.12.2016. */ @@ -20,29 +20,38 @@ 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, translateToLocal("gt.blockmachines.hatch.dynamomulti.desc.0"));//Multiple Ampere Energy Extractor for Multiblocks + super( + aID, + aName, + aNameRegional, + aTier, + 0, + translateToLocal("gt.blockmachines.hatch.dynamomulti.desc.0")); // Multiple Ampere Energy Extractor for + // Multiblocks Amperes = aAmp; TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_DynamoMulti(String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_DynamoMulti( + String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); Amperes = aAmp; } - public GT_MetaTileEntity_Hatch_DynamoMulti(int aID, String aName, String aNameRegional, int aTier, int i, String description, int aAmp) { + public GT_MetaTileEntity_Hatch_DynamoMulti( + int aID, String aName, String aNameRegional, int aTier, int i, String description, int aAmp) { super(aID, aName, aNameRegional, aTier, 0, description); Amperes = aAmp; } @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; + return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; + return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; } @Override @@ -112,10 +121,8 @@ public class GT_MetaTileEntity_Hatch_DynamoMulti extends GT_MetaTileEntity_Hatch @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - mDescription - //"Amperes Out: "+ EnumChatFormatting.AQUA+Amperes+" A" + return new String[] {CommonValues.TEC_MARK_GENERAL, mDescription + // "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 595f45f8d2..5deccd87e0 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 @@ -1,5 +1,10 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_OUT_LASER_TT; +import static com.github.technus.tectech.util.CommonValues.TRANSFER_AT; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.pipe.IConnectsToEnergyTunnel; import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Energy; import com.github.technus.tectech.util.CommonValues; @@ -13,32 +18,36 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_OUT_LASER_TT; -import static com.github.technus.tectech.util.CommonValues.TRANSFER_AT; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 16.12.2016. */ -public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatch_DynamoMulti implements IConnectsToEnergyTunnel { +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, translateToLocal("gt.blockmachines.hatch.dynamotunnel.desc.0"), aAmp);//Energy extracting terminal for Multiblocks + super( + aID, + aName, + aNameRegional, + aTier, + 0, + translateToLocal("gt.blockmachines.hatch.dynamotunnel.desc.0"), + aAmp); // Energy extracting terminal for Multiblocks TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_DynamoTunnel(String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_DynamoTunnel( + String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, aAmp, aDescription, aTextures); } @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_OUT_LASER_TT[mTier]}; + return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_OUT_LASER_TT[mTier]}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_OUT_LASER_TT[mTier]}; + return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_OUT_LASER_TT[mTier]}; } @Override @@ -108,11 +117,12 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - mDescription,//TODO NOT PASS DESCRIPTION - translateToLocal("gt.blockmachines.hatch.dynamotunnel.desc.1") + ": " - + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(Amperes * maxEUOutput()) + EnumChatFormatting.RESET + " EU/t"//Throughput + return new String[] { + CommonValues.TEC_MARK_GENERAL, + mDescription, // TODO NOT PASS DESCRIPTION + translateToLocal("gt.blockmachines.hatch.dynamotunnel.desc.1") + ": " + EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(Amperes * maxEUOutput()) + EnumChatFormatting.RESET + + " EU/t" // Throughput }; } @@ -142,29 +152,35 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc byte front = aBaseMetaTileEntity.getFrontFacing(); byte opposite = GT_Utility.getOppositeSide(front); for (short dist = 1; dist < 1000; dist++) { - IGregTechTileEntity tGTTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityAtSideAndDistance(front, dist); + IGregTechTileEntity tGTTileEntity = + aBaseMetaTileEntity.getIGregTechTileEntityAtSideAndDistance(front, dist); if (tGTTileEntity != null && tGTTileEntity.getColorization() == color) { IMetaTileEntity aMetaTileEntity = tGTTileEntity.getMetaTileEntity(); if (aMetaTileEntity != null) { - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyTunnel && - opposite == tGTTileEntity.getFrontFacing()) { + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyTunnel + && opposite == tGTTileEntity.getFrontFacing()) { if (maxEUOutput() > ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()) { aMetaTileEntity.doExplosion(maxEUOutput()); setEUVar(aBaseMetaTileEntity.getStoredEU() - maxEUOutput()); return; - } else if (maxEUOutput() == ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()) { + } else if (maxEUOutput() + == ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()) { long diff = Math.min( Amperes * 20L * maxEUOutput(), Math.min( - ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUStore() - - aMetaTileEntity.getBaseMetaTileEntity().getStoredEU(), - aBaseMetaTileEntity.getStoredEU() - )); + ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUStore() + - aMetaTileEntity + .getBaseMetaTileEntity() + .getStoredEU(), + aBaseMetaTileEntity.getStoredEU())); 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) { @@ -189,4 +205,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 8b8bcaaa1d..f137c274f8 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 @@ -1,5 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.util.CommonValues.*; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.IEMContainer; @@ -24,37 +32,32 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.reflect.FieldUtils; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.util.CommonValues.*; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by danie_000 on 11.12.2016. */ -public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_MetaTileEntity_Hatch implements IEMContainer, IConnectsToElementalPipe { +public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_MetaTileEntity_Hatch + implements IEMContainer, IConnectsToElementalPipe { private static Textures.BlockIcons.CustomIcon EM_T_SIDES; private static Textures.BlockIcons.CustomIcon EM_T_ACTIVE; private static Textures.BlockIcons.CustomIcon EM_T_CONN; private String clientLocale = "en_US"; - protected EMInstanceStackMap content = new EMInstanceStackMap(); - //float lifeTimeMult=1f; - public int postEnergize = 0; + protected EMInstanceStackMap content = new EMInstanceStackMap(); + // float lifeTimeMult=1f; + public int postEnergize = 0; public double overflowMatter = 0f; public short id = -1; private byte deathDelay = 2; - protected GT_MetaTileEntity_Hatch_ElementalContainer(int aID, String aName, String aNameRegional, int aTier, String descr) { + protected GT_MetaTileEntity_Hatch_ElementalContainer( + int aID, String aName, String aNameRegional, int aTier, String descr) { super(aID, aName, aNameRegional, aTier, 0, descr); TT_Utility.setTier(aTier, this); } - protected GT_MetaTileEntity_Hatch_ElementalContainer(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + protected GT_MetaTileEntity_Hatch_ElementalContainer( + String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); } @@ -69,19 +72,30 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_T_ACTIVE, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), new GT_RenderedTexture(EM_T_CONN)}; + return new ITexture[] { + aBaseTexture, + new GT_RenderedTexture( + EM_T_ACTIVE, + Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), + new GT_RenderedTexture(EM_T_CONN) + }; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_T_SIDES, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), new GT_RenderedTexture(EM_T_CONN)}; + return new ITexture[] { + aBaseTexture, + new GT_RenderedTexture( + EM_T_SIDES, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), + new GT_RenderedTexture(EM_T_CONN) + }; } @Override public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); aNBT.setInteger("postEnergize", postEnergize); - //aNBT.setFloat("lifeTimeMult",lifeTimeMult); + // aNBT.setFloat("lifeTimeMult",lifeTimeMult); aNBT.setDouble("OverflowMatter", overflowMatter); content.cleanUp(); aNBT.setTag("eM_Stacks", content.toNBT(TecTech.definitionsRegistry)); @@ -92,11 +106,11 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); postEnergize = aNBT.getInteger("postEnergize"); - //lifeTimeMult=aNBT.getFloat("lifeTimeMult"); - overflowMatter = aNBT.getFloat("overflowMatter")+aNBT.getDouble("OverflowMatter"); + // lifeTimeMult=aNBT.getFloat("lifeTimeMult"); + overflowMatter = aNBT.getFloat("overflowMatter") + aNBT.getDouble("OverflowMatter"); id = aNBT.getShort("eID"); try { - content = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry,aNBT.getCompoundTag("eM_Stacks")); + content = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, aNBT.getCompoundTag("eM_Stacks")); } catch (EMException e) { if (DEBUG_MODE) { e.printStackTrace(); @@ -113,31 +127,43 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta byte Tick = (byte) (aTick % 20); if (DECAY_AT == Tick) { purgeOverflow(); - content.tickContent(1, postEnergize,1);//Hatches don't life time mult things + content.tickContent(1, postEnergize, 1); // Hatches don't life time mult things purgeOverflow(); } else if (OVERFLOW_AT == Tick) { if (overflowMatter <= 0) { deathDelay = 3; } else { if (deathDelay == 1) { - IGregTechTileEntity tGTTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityAtSide(aBaseMetaTileEntity.getBackFacing()); - if (tGTTileEntity == null || !(tGTTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_OverflowElemental)) { + IGregTechTileEntity tGTTileEntity = + aBaseMetaTileEntity.getIGregTechTileEntityAtSide(aBaseMetaTileEntity.getBackFacing()); + if (tGTTileEntity == null + || !(tGTTileEntity.getMetaTileEntity() + instanceof GT_MetaTileEntity_Hatch_OverflowElemental)) { tGTTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityAtSide((byte) 0); } - if (tGTTileEntity == null || !(tGTTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_OverflowElemental)) { + if (tGTTileEntity == null + || !(tGTTileEntity.getMetaTileEntity() + instanceof GT_MetaTileEntity_Hatch_OverflowElemental)) { tGTTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityAtSide((byte) 1); } - if (tGTTileEntity != null && tGTTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_OverflowElemental) { - GT_MetaTileEntity_Hatch_OverflowElemental aMetaTileEntity = (GT_MetaTileEntity_Hatch_OverflowElemental) tGTTileEntity.getMetaTileEntity(); + if (tGTTileEntity != null + && tGTTileEntity.getMetaTileEntity() + instanceof GT_MetaTileEntity_Hatch_OverflowElemental) { + GT_MetaTileEntity_Hatch_OverflowElemental aMetaTileEntity = + (GT_MetaTileEntity_Hatch_OverflowElemental) tGTTileEntity.getMetaTileEntity(); if (aMetaTileEntity.addOverflowMatter(overflowMatter)) { if (TecTech.configTecTech.BOOM_ENABLE) { tGTTileEntity.doExplosion(V[14]); } else { TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, overflowMatter * 32D); - TecTech.proxy.broadcast("Container1 " + translateToLocal("tt.keyword.BOOM") + " " + aBaseMetaTileEntity.getXCoord() + ' ' + aBaseMetaTileEntity.getYCoord() + ' ' + aBaseMetaTileEntity.getZCoord()); + TecTech.proxy.broadcast("Container1 " + 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... + deathDelay = + 3; // needed in some cases like repetitive failures. Should be 4 since there is -- + // at end but meh... overflowMatter = 0F; } } else if (deathDelay < 1) { @@ -147,7 +173,9 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, overflowMatter * 32D); deathDelay = 3; overflowMatter = 0; - TecTech.proxy.broadcast("Container0 " + translateToLocal("tt.keyword.BOOM") + " " + aBaseMetaTileEntity.getXCoord() + ' ' + aBaseMetaTileEntity.getYCoord() + ' ' + aBaseMetaTileEntity.getZCoord()); + TecTech.proxy.broadcast("Container0 " + translateToLocal("tt.keyword.BOOM") + " " + + aBaseMetaTileEntity.getXCoord() + ' ' + aBaseMetaTileEntity.getYCoord() + ' ' + + aBaseMetaTileEntity.getZCoord()); } } deathDelay--; @@ -162,15 +190,13 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta } } - public void moveAround(IGregTechTileEntity aBaseMetaTileEntity) { - } + public void moveAround(IGregTechTileEntity aBaseMetaTileEntity) {} @Override public EMInstanceStackMap getContentHandler() { return content; } - @Override public boolean isFacingValid(byte aFacing) { return true; @@ -246,30 +272,40 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta if (TecTech.configTecTech.EASY_SCAN || DEBUG_MODE) { if (id > 0) { if (content == null || content.size() == 0) { - return new String[]{translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale)}; + return new String[] { + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, + translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale) + }; } else { String[] lines = content.getElementalInfo(); String[] output = new String[lines.length + 1]; - output[0] = translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id; + output[0] = translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + + EnumChatFormatting.AQUA + id; System.arraycopy(lines, 0, output, 1, lines.length); return output; } } if (content == null || content.size() == 0) { - return new String[]{translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale)}; + return new String[] {translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale)}; } return content.getElementalInfo(); } else { if (id > 0) { if (content == null || content.size() == 0) { - return new String[]{translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale)}; + return new String[] { + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, + translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale) + }; } - return new String[]{translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, translateToLocalFormatted("tt.keyphrase.Contains_EM", clientLocale)}; + return new String[] { + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.AQUA + id, + translateToLocalFormatted("tt.keyphrase.Contains_EM", clientLocale) + }; } if (content == null || content.size() == 0) { - return new String[]{translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale)}; + return new String[] {translateToLocalFormatted("tt.keyphrase.No_Stacks", clientLocale)}; } - return new String[]{translateToLocalFormatted("tt.keyphrase.Contains_EM", clientLocale)}; + return new String[] {translateToLocalFormatted("tt.keyphrase.Contains_EM", clientLocale)}; } } @@ -279,17 +315,19 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta @Override public String[] getDescription() { - return new String[]{ - TEC_MARK_EM, - mDescription, - translateToLocal("tt.base.emhatch.desc.0") + " " + EnumChatFormatting.AQUA + GT_Utility.formatNumbers(getMaxStacksCount()),//Max stacks amount: - translateToLocal("tt.base.emhatch.desc.1") + " " + EnumChatFormatting.AQUA + TT_Utility.formatNumberShortExp(getMaxStackSize()),//Stack capacity: - translateToLocal("tt.base.emhatch.desc.2"),//Place Overflow Hatch behind,on top or below - translateToLocal("tt.base.emhatch.desc.3"),//to provide overflow protection while this block - translateToLocal("tt.base.emhatch.desc.4"),//is not attached to multi block. - translateToLocal("tt.base.emhatch.desc.5"),//Transport range can be extended in straight - translateToLocal("tt.base.emhatch.desc.6"),//line up to 15 blocks with quantum tunnels. - EnumChatFormatting.AQUA + translateToLocal("tt.base.emhatch.desc.7")//Must be painted to work + return new String[] { + TEC_MARK_EM, + mDescription, + translateToLocal("tt.base.emhatch.desc.0") + " " + EnumChatFormatting.AQUA + + GT_Utility.formatNumbers(getMaxStacksCount()), // Max stacks amount: + translateToLocal("tt.base.emhatch.desc.1") + " " + EnumChatFormatting.AQUA + + TT_Utility.formatNumberShortExp(getMaxStackSize()), // Stack capacity: + translateToLocal("tt.base.emhatch.desc.2"), // Place Overflow Hatch behind,on top or below + translateToLocal("tt.base.emhatch.desc.3"), // to provide overflow protection while this block + translateToLocal("tt.base.emhatch.desc.4"), // is not attached to multi block. + translateToLocal("tt.base.emhatch.desc.5"), // Transport range can be extended in straight + translateToLocal("tt.base.emhatch.desc.6"), // line up to 15 blocks with quantum tunnels. + EnumChatFormatting.AQUA + translateToLocal("tt.base.emhatch.desc.7") // Must be painted to work }; } @@ -301,8 +339,9 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta if (TecTech.configTecTech.BOOM_ENABLE) { base.doExplosion(V[15]); } else { - TecTech.proxy.broadcast(translateToLocal("tt.keyword.BOOM") + " " + base.getXCoord() + ' ' + base.getYCoord() + ' ' + base.getZCoord()); + TecTech.proxy.broadcast(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 c637b3bfee..854cf496e0 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 @@ -1,5 +1,9 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_POWER_TT; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.interfaces.ITexture; @@ -11,10 +15,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_POWER_TT; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 16.12.2016. */ @@ -22,29 +22,38 @@ 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, translateToLocal("gt.blockmachines.hatch.energymulti.desc.0"));//Multiple Ampere Energy Injector for Multiblocks + super( + aID, + aName, + aNameRegional, + aTier, + 0, + translateToLocal("gt.blockmachines.hatch.energymulti.desc.0")); // Multiple Ampere Energy Injector for + // Multiblocks Amperes = aAmp; TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_EnergyMulti(String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_EnergyMulti( + String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); 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; } @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; + return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; + return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]}; } @Override @@ -114,11 +123,11 @@ public class GT_MetaTileEntity_Hatch_EnergyMulti extends GT_MetaTileEntity_Hatch @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - mDescription, - translateToLocal("gt.blockmachines.hatch.energymulti.desc.1") + ": " - + EnumChatFormatting.AQUA + GT_Utility.formatNumbers(maxAmperesIn()) + " A"//Amperes In + return new String[] { + CommonValues.TEC_MARK_GENERAL, + mDescription, + translateToLocal("gt.blockmachines.hatch.energymulti.desc.1") + ": " + EnumChatFormatting.AQUA + + GT_Utility.formatNumbers(maxAmperesIn()) + " A" // Amperes In }; } -} \ No newline at end of file +} 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 d29f9fc14b..791b79cef8 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 @@ -1,5 +1,10 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_LASER_TT; +import static com.github.technus.tectech.util.CommonValues.TRANSFER_AT; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.pipe.IConnectsToEnergyTunnel; import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; @@ -11,32 +16,36 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_LASER_TT; -import static com.github.technus.tectech.util.CommonValues.TRANSFER_AT; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 16.12.2016. */ -public class GT_MetaTileEntity_Hatch_EnergyTunnel extends GT_MetaTileEntity_Hatch_EnergyMulti implements IConnectsToEnergyTunnel { +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, translateToLocal("gt.blockmachines.hatch.energytunnel.desc.0"), aAmp);//Energy injecting terminal for Multiblocks + super( + aID, + aName, + aNameRegional, + aTier, + 0, + translateToLocal("gt.blockmachines.hatch.energytunnel.desc.0"), + aAmp); // Energy injecting terminal for Multiblocks TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_EnergyTunnel(String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_EnergyTunnel( + String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, aAmp, aDescription, aTextures); } @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_LASER_TT[mTier]}; + return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_IN_LASER_TT[mTier]}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_LASER_TT[mTier]}; + return new ITexture[] {aBaseTexture, OVERLAYS_ENERGY_IN_LASER_TT[mTier]}; } @Override @@ -106,11 +115,12 @@ public class GT_MetaTileEntity_Hatch_EnergyTunnel extends GT_MetaTileEntity_Hatc @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - mDescription, - translateToLocal("gt.blockmachines.hatch.energytunnel.desc.1") + ": " - + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(Amperes * maxEUInput()) + EnumChatFormatting.RESET + " EU/t"//Throughput + return new String[] { + CommonValues.TEC_MARK_GENERAL, + mDescription, + translateToLocal("gt.blockmachines.hatch.energytunnel.desc.1") + ": " + EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(Amperes * maxEUInput()) + EnumChatFormatting.RESET + + " EU/t" // Throughput }; } @@ -133,4 +143,4 @@ public class GT_MetaTileEntity_Hatch_EnergyTunnel extends GT_MetaTileEntity_Hatc } } } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java index e9631cfb3e..de173f2a16 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Holder; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_Holder; import com.github.technus.tectech.util.CommonValues; @@ -18,8 +20,6 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 03.04.2017. */ @@ -29,7 +29,7 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch { public GT_MetaTileEntity_Hatch_Holder(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 1, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_Hatch_Holder(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -46,12 +46,12 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch { @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_H_ACTIVE)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(EM_H_ACTIVE)}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_H)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(EM_H)}; } @Override @@ -96,7 +96,10 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch { @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_Holder(aPlayerInventory, aBaseMetaTileEntity, translateToLocal("gt.blockmachines.hatch.holder.tier.09.name"));//Object Holder + return new GT_GUIContainer_Holder( + aPlayerInventory, + aBaseMetaTileEntity, + translateToLocal("gt.blockmachines.hatch.holder.tier.09.name")); // Object Holder } @Override @@ -104,11 +107,11 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch { if (aBaseMetaTileEntity.isClientSide()) { return true; } - //if(aBaseMetaTileEntity.isActive()) + // if(aBaseMetaTileEntity.isActive()) // aPlayer.addChatComponentMessage(new ChatComponentText("It is still active...")); - //else if(heat>0) + // else if(heat>0) // aPlayer.addChatComponentMessage(new ChatComponentText("It is still warm...")); - //else + // else aBaseMetaTileEntity.openGUI(aPlayer); return true; } @@ -120,10 +123,11 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch { @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.hatch.holder.desc.0"),//For Research Station - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.hatch.holder.desc.1")//Advanced Holding Mechanism! + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.hatch.holder.desc.0"), // For Research Station + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.hatch.holder.desc.1") // Advanced Holding Mechanism! }; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputData.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputData.java index ff5669e0cb..8626458b70 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputData.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputData.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.dataTransport.QuantumDataPacket; import com.github.technus.tectech.mechanics.pipe.IConnectsToDataPipe; import com.github.technus.tectech.util.CommonValues; @@ -10,8 +12,6 @@ import gregtech.api.metatileentity.MetaTileEntity; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 27.10.2016. */ @@ -20,7 +20,7 @@ public class GT_MetaTileEntity_Hatch_InputData extends GT_MetaTileEntity_Hatch_D public GT_MetaTileEntity_Hatch_InputData(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_Hatch_InputData(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -67,26 +67,27 @@ public class GT_MetaTileEntity_Hatch_InputData extends GT_MetaTileEntity_Hatch_D return null; } - public void setContents(QuantumDataPacket qIn){ - if(qIn==null){ - this.q=null; - }else{ - if(qIn.getContent()>0) { + public void setContents(QuantumDataPacket qIn) { + if (qIn == null) { + this.q = null; + } else { + if (qIn.getContent() > 0) { this.q = qIn; - delDelay=true; - }else{ - this.q=null; + delDelay = true; + } else { + this.q = null; } } } @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.hatch.datain.desc.0"),//Quantum Data Input for Multiblocks - translateToLocal("gt.blockmachines.hatch.datain.desc.1"),//High speed fibre optics connector. - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.hatch.datain.desc.2")//Must be painted to work + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.hatch.datain.desc.0"), // Quantum Data Input for Multiblocks + translateToLocal("gt.blockmachines.hatch.datain.desc.1"), // High speed fibre optics connector. + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.hatch.datain.desc.2") // Must be painted to work }; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java index ee619ac5ec..fd6a72088f 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java @@ -1,5 +1,12 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DataConnector.*; +import static com.github.technus.tectech.util.CommonValues.MOVE_AT; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.mechanics.dataTransport.InventoryDataPacket; import com.github.technus.tectech.mechanics.pipe.IConnectsToDataPipe; import com.github.technus.tectech.util.CommonValues; @@ -10,6 +17,7 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_DataAccess; import gregtech.api.objects.GT_RenderedTexture; +import java.util.ArrayList; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.InventoryPlayer; @@ -18,16 +26,8 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import org.apache.commons.lang3.reflect.FieldUtils; -import java.util.ArrayList; - -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DataConnector.*; -import static com.github.technus.tectech.util.CommonValues.MOVE_AT; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - -public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Hatch_DataAccess implements IConnectsToDataPipe { +public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Hatch_DataAccess + implements IConnectsToDataPipe { public boolean delDelay = true; private ItemStack[] stacks; @@ -35,21 +35,33 @@ public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Ha public GT_MetaTileEntity_Hatch_InputDataItems(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_InputDataItems(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_InputDataItems( + String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, aDescription, aTextures); } @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_D_ACTIVE, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), new GT_RenderedTexture(EM_D_CONN)}; + return new ITexture[] { + aBaseTexture, + new GT_RenderedTexture( + EM_D_ACTIVE, + Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), + new GT_RenderedTexture(EM_D_CONN) + }; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_D_SIDES, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), new GT_RenderedTexture(EM_D_CONN)}; + return new ITexture[] { + aBaseTexture, + new GT_RenderedTexture( + EM_D_SIDES, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), + new GT_RenderedTexture(EM_D_CONN) + }; } @Override @@ -132,51 +144,51 @@ public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Ha return null; } - public void setContents(InventoryDataPacket iIn){ - if(iIn==null){ - stacks=null; - }else{ - if(iIn.getContent().length>0) { + public void setContents(InventoryDataPacket iIn) { + if (iIn == null) { + stacks = null; + } else { + if (iIn.getContent().length > 0) { stacks = iIn.getContent(); - delDelay=true; - }else{ - stacks=null; + delDelay = true; + } else { + stacks = null; } } } @Override public void onRemoval() { - stacks=null; + stacks = null; } @Override public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); - NBTTagCompound stacksTag=new NBTTagCompound(); - if(stacks!=null){ - stacksTag.setInteger("count",stacks.length); - for(int i=0;i0){ - ArrayList stacks=new ArrayList<>(); - for(int i=0;i 0) { + ArrayList stacks = new ArrayList<>(); + for (int i = 0; i < count; i++) { + ItemStack stack = ItemStack.loadItemStackFromNBT(stacksTag.getCompoundTag(Integer.toString(i))); + if (stack != null) { stacks.add(stack); } } - if(stacks.size()>0) { + if (stacks.size() > 0) { this.stacks = stacks.toArray(nullItem); } } @@ -184,19 +196,19 @@ public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Ha @Override public int getSizeInventory() { - return stacks!=null?stacks.length:0; + return stacks != null ? stacks.length : 0; } @Override public ItemStack getStackInSlot(int aIndex) { - return stacks!=null && aIndex { public GT_MetaTileEntity_Hatch_OutputData(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_Hatch_OutputData(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -80,16 +80,17 @@ public class GT_MetaTileEntity_Hatch_OutputData extends GT_MetaTileEntity_Hatch_ @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.hatch.dataout.desc.0"),//Quantum Data Output for Multiblocks - translateToLocal("gt.blockmachines.hatch.dataout.desc.1"),//High speed fibre optics connector. - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.hatch.dataout.desc.2")//Must be painted to work + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.hatch.dataout.desc.0"), // Quantum Data Output for Multiblocks + translateToLocal("gt.blockmachines.hatch.dataout.desc.1"), // High speed fibre optics connector. + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.hatch.dataout.desc.2") // Must be painted to work }; } @Override - public IConnectsToDataPipe getNext(IConnectsToDataPipe source/*==this*/) { + public IConnectsToDataPipe getNext(IConnectsToDataPipe source /*==this*/) { IGregTechTileEntity base = getBaseMetaTileEntity(); byte color = base.getColorization(); if (color < 0) { @@ -100,12 +101,13 @@ public class GT_MetaTileEntity_Hatch_OutputData extends GT_MetaTileEntity_Hatch_ return null; } IMetaTileEntity meta = next.getMetaTileEntity(); - if (meta instanceof GT_MetaTileEntity_Pipe_Data){ + if (meta instanceof GT_MetaTileEntity_Pipe_Data) { ((GT_MetaTileEntity_Pipe_Data) meta).markUsed(); return (IConnectsToDataPipe) meta; - }else if (meta instanceof GT_MetaTileEntity_Hatch_InputData && - ((GT_MetaTileEntity_Hatch_InputData) meta).getColorization()==color && - ((GT_MetaTileEntity_Hatch_InputData) meta).canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) { + } else if (meta instanceof GT_MetaTileEntity_Hatch_InputData + && ((GT_MetaTileEntity_Hatch_InputData) meta).getColorization() == color + && ((GT_MetaTileEntity_Hatch_InputData) meta) + .canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) { return (IConnectsToDataPipe) meta; } return null; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java index 1c70ccd469..197006510d 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.dataTransport.InventoryDataPacket; import com.github.technus.tectech.mechanics.pipe.IConnectsToDataPipe; import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Data; @@ -16,15 +18,15 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; -import static net.minecraft.util.StatCollector.translateToLocal; - -public class GT_MetaTileEntity_Hatch_OutputDataItems extends GT_MetaTileEntity_Hatch_DataConnector { +public class GT_MetaTileEntity_Hatch_OutputDataItems + extends GT_MetaTileEntity_Hatch_DataConnector { public GT_MetaTileEntity_Hatch_OutputDataItems(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_OutputDataItems(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_OutputDataItems( + String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, aDescription, aTextures); } @@ -120,7 +122,7 @@ public class GT_MetaTileEntity_Hatch_OutputDataItems extends GT_MetaTileEntity_H } @Override - public IConnectsToDataPipe getNext(IConnectsToDataPipe source/*==this*/) { + public IConnectsToDataPipe getNext(IConnectsToDataPipe source /*==this*/) { IGregTechTileEntity base = getBaseMetaTileEntity(); byte color = base.getColorization(); if (color < 0) { @@ -131,12 +133,13 @@ public class GT_MetaTileEntity_Hatch_OutputDataItems extends GT_MetaTileEntity_H return null; } IMetaTileEntity meta = next.getMetaTileEntity(); - if (meta instanceof GT_MetaTileEntity_Pipe_Data){ + if (meta instanceof GT_MetaTileEntity_Pipe_Data) { ((GT_MetaTileEntity_Pipe_Data) meta).markUsed(); return (IConnectsToDataPipe) meta; - }else if (meta instanceof GT_MetaTileEntity_Hatch_InputDataItems && - ((GT_MetaTileEntity_Hatch_InputDataItems) meta).getColorization()==color && - ((GT_MetaTileEntity_Hatch_InputDataItems) meta).canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) { + } else if (meta instanceof GT_MetaTileEntity_Hatch_InputDataItems + && ((GT_MetaTileEntity_Hatch_InputDataItems) meta).getColorization() == color + && ((GT_MetaTileEntity_Hatch_InputDataItems) meta) + .canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) { return (IConnectsToDataPipe) meta; } return null; @@ -144,11 +147,12 @@ public class GT_MetaTileEntity_Hatch_OutputDataItems extends GT_MetaTileEntity_H @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.hatch.dataoutass.desc.0"),//ItemStack Data Output for Multiblocks - translateToLocal("gt.blockmachines.hatch.dataoutass.desc.1"),//High speed fibre optics connector. - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.hatch.dataoutass.desc.2")//Must be painted to work + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.hatch.dataoutass.desc.0"), // ItemStack Data Output for Multiblocks + translateToLocal("gt.blockmachines.hatch.dataoutass.desc.1"), // High speed fibre optics connector. + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.hatch.dataoutass.desc.2") // Must be painted to work }; } } 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 25ed1e6c47..da125d3e5f 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 @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EM; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.interfaces.ITexture; @@ -8,22 +10,27 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.util.GT_Utility; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * 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, translateToLocal("gt.blockmachines.emout.desc"));//Elemental Output for Multiblocks + super( + aID, + aName, + aNameRegional, + aTier, + translateToLocal("gt.blockmachines.emout.desc")); // Elemental Output for Multiblocks TT_Utility.setTier(aTier, this); } - //public GT_MetaTileEntity_Hatch_OutputElemental(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + // public GT_MetaTileEntity_Hatch_OutputElemental(String aName, int aTier, String aDescription, ITexture[][][] + // aTextures) { // super(aName, aTier, aDescription, aTextures); - //} + // } - public GT_MetaTileEntity_Hatch_OutputElemental(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_OutputElemental( + String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, aDescription, aTextures); } @@ -56,13 +63,16 @@ public class GT_MetaTileEntity_Hatch_OutputElemental extends GT_MetaTileEntity_H byte front = aBaseMetaTileEntity.getFrontFacing(); byte opposite = GT_Utility.getOppositeSide(front); for (byte dist = 1; dist < 16; dist++) { - IGregTechTileEntity tGTTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityAtSideAndDistance(front, dist); + IGregTechTileEntity tGTTileEntity = + aBaseMetaTileEntity.getIGregTechTileEntityAtSideAndDistance(front, dist); if (tGTTileEntity != null && tGTTileEntity.getColorization() == color) { IMetaTileEntity aMetaTileEntity = tGTTileEntity.getMetaTileEntity(); if (aMetaTileEntity != null) { - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputElemental && - opposite == tGTTileEntity.getFrontFacing()) { - ((GT_MetaTileEntity_Hatch_InputElemental) aMetaTileEntity).getContentHandler().putUnifyAll(content); + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputElemental + && opposite == tGTTileEntity.getFrontFacing()) { + ((GT_MetaTileEntity_Hatch_InputElemental) aMetaTileEntity) + .getContentHandler() + .putUnifyAll(content); ((GT_MetaTileEntity_Hatch_InputElemental) aMetaTileEntity).updateSlots(); content.clear(); return; @@ -88,4 +98,4 @@ public class GT_MetaTileEntity_Hatch_OutputElemental extends GT_MetaTileEntity_H 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_OverflowElemental.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OverflowElemental.java index 0d5347a87e..b41963964d 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 @@ -1,5 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.loader.MainLoader.elementalPollution; +import static com.github.technus.tectech.util.CommonValues.DISPERSE_AT; +import static com.github.technus.tectech.util.CommonValues.V; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; @@ -26,14 +34,6 @@ import net.minecraft.world.EnumSkyBlock; import net.minecraftforge.common.util.ForgeDirection; import org.apache.commons.lang3.reflect.FieldUtils; -import static com.github.technus.tectech.loader.MainLoader.elementalPollution; -import static com.github.technus.tectech.util.CommonValues.DISPERSE_AT; -import static com.github.technus.tectech.util.CommonValues.V; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by danie_000 on 12.12.2016. */ @@ -48,15 +48,23 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity private String clientLocale = "en_US"; - public GT_MetaTileEntity_Hatch_OverflowElemental(int aID, String aName, String aNameRegional, int aTier, double max) { - super(aID, aName, aNameRegional, aTier, 0, translateToLocal("gt.blockmachines.hatch.emmuffler.desc.0"));//Disposes excess elemental Matter + public GT_MetaTileEntity_Hatch_OverflowElemental( + int aID, String aName, String aNameRegional, int aTier, double max) { + super( + aID, + aName, + aNameRegional, + aTier, + 0, + translateToLocal("gt.blockmachines.hatch.emmuffler.desc.0")); // Disposes excess elemental Matter overflowMatter = max / 2; overflowMax = max; overflowDisperse = overflowMax / (float) (30 - aTier); TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_Hatch_OverflowElemental(String aName, int aTier, double max, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_Hatch_OverflowElemental( + String aName, int aTier, double max, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); overflowMatter = max / 2; overflowMax = max; @@ -75,22 +83,36 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_T_ACTIVE, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), new GT_RenderedTexture(MufflerEM)}; + return new ITexture[] { + aBaseTexture, + new GT_RenderedTexture( + EM_T_ACTIVE, + Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), + new GT_RenderedTexture(MufflerEM) + }; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_T_SIDES, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), new GT_RenderedTexture(MufflerEMidle)}; + return new ITexture[] { + aBaseTexture, + new GT_RenderedTexture( + EM_T_SIDES, Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())), + new GT_RenderedTexture(MufflerEMidle) + }; } @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - mDescription, - translateToLocal("gt.blockmachines.hatch.emmuffler.desc.1") + ": " + EnumChatFormatting.AQUA + TT_Utility.formatNumberShortExp(overflowMax) + " "+translateToLocal("tt.keyword.unit.mass"), - translateToLocal("gt.blockmachines.hatch.emmuffler.desc.2") + ": " + EnumChatFormatting.AQUA + TT_Utility.formatNumberShortExp(overflowDisperse) + " "+translateToLocal("tt.keyword.unit.massFlux"), - translateToLocal("gt.blockmachines.hatch.emmuffler.desc.3") + return new String[] { + CommonValues.TEC_MARK_EM, + mDescription, + translateToLocal("gt.blockmachines.hatch.emmuffler.desc.1") + ": " + EnumChatFormatting.AQUA + + TT_Utility.formatNumberShortExp(overflowMax) + " " + translateToLocal("tt.keyword.unit.mass"), + translateToLocal("gt.blockmachines.hatch.emmuffler.desc.2") + ": " + EnumChatFormatting.AQUA + + TT_Utility.formatNumberShortExp(overflowDisperse) + " " + + translateToLocal("tt.keyword.unit.massFlux"), + translateToLocal("gt.blockmachines.hatch.emmuffler.desc.3") }; } @@ -128,7 +150,7 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity @Override public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); - overflowMatter = aNBT.getFloat("overflowMatter")+aNBT.getDouble("OverflowMatter"); + overflowMatter = aNBT.getFloat("overflowMatter") + aNBT.getDouble("OverflowMatter"); } @Override @@ -146,28 +168,40 @@ 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/(Math.pow(2,mTier))); + TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, overflowDisperse / (Math.pow(2, mTier))); overflowMatter -= overflowDisperse; } else { - TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, overflowMatter/(Math.pow(2,mTier))); + TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, overflowMatter / (Math.pow(2, mTier))); overflowMatter = 0; aBaseMetaTileEntity.setActive(false); aBaseMetaTileEntity.setLightValue((byte) 0); - aBaseMetaTileEntity.getWorld().updateLightByType(EnumSkyBlock.Block, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord()); + aBaseMetaTileEntity + .getWorld() + .updateLightByType( + EnumSkyBlock.Block, + aBaseMetaTileEntity.getXCoord(), + aBaseMetaTileEntity.getYCoord(), + aBaseMetaTileEntity.getZCoord()); } vapePollution(aBaseMetaTileEntity); } else { if (overflowMatter > 0) { aBaseMetaTileEntity.setActive(true); aBaseMetaTileEntity.setLightValue((byte) 15); - aBaseMetaTileEntity.getWorld().updateLightByType(EnumSkyBlock.Block, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord()); + aBaseMetaTileEntity + .getWorld() + .updateLightByType( + EnumSkyBlock.Block, + aBaseMetaTileEntity.getXCoord(), + aBaseMetaTileEntity.getYCoord(), + aBaseMetaTileEntity.getZCoord()); } } } else if (aBaseMetaTileEntity.isClientSide() && aBaseMetaTileEntity.isActive()) { TecTech.proxy.em_particle(aBaseMetaTileEntity, aBaseMetaTileEntity.getFrontFacing()); } super.onPostTick(aBaseMetaTileEntity, aTick); - //DOES NOT CHECK FOR TOO MUCH, it is done only while putting stuff in (OPTIMIZATION!!!) + // DOES NOT CHECK FOR TOO MUCH, it is done only while putting stuff in (OPTIMIZATION!!!) } private void vapePollution(IGregTechTileEntity mte) { @@ -179,14 +213,22 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity 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))); + ((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); - if(entity instanceof EntityPlayer) { - TecTech.anomalyHandler.addMass((EntityPlayer) entity,overflowDisperse); + if (entity instanceof EntityPlayer) { + TecTech.anomalyHandler.addMass((EntityPlayer) entity, overflowDisperse); } } } @@ -215,12 +257,15 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity @Override public String[] getInfoData() { - return new String[]{ - translateToLocalFormatted("tt.keyphrase.Contained_mass", clientLocale) + ":", - EnumChatFormatting.RED + TT_Utility.formatNumberExp(overflowMatter) + EnumChatFormatting.RESET + " "+translateToLocal("tt.keyword.unit.mass")+ " / ", - EnumChatFormatting.GREEN + TT_Utility.formatNumberShortExp(overflowMax) + EnumChatFormatting.RESET + " "+translateToLocal("tt.keyword.unit.mass"), - translateToLocalFormatted("tt.keyphrase.Mass_Disposal_speed", clientLocale) + ": " + - EnumChatFormatting.BLUE + TT_Utility.formatNumberShortExp(overflowDisperse) + EnumChatFormatting.RESET + " "+translateToLocal("tt.keyword.unit.massFlux") + return new String[] { + translateToLocalFormatted("tt.keyphrase.Contained_mass", clientLocale) + ":", + EnumChatFormatting.RED + TT_Utility.formatNumberExp(overflowMatter) + EnumChatFormatting.RESET + " " + + translateToLocal("tt.keyword.unit.mass") + " / ", + EnumChatFormatting.GREEN + TT_Utility.formatNumberShortExp(overflowMax) + EnumChatFormatting.RESET + " " + + translateToLocal("tt.keyword.unit.mass"), + translateToLocalFormatted("tt.keyphrase.Mass_Disposal_speed", clientLocale) + ": " + EnumChatFormatting.BLUE + + TT_Utility.formatNumberShortExp(overflowDisperse) + EnumChatFormatting.RESET + " " + + translateToLocal("tt.keyword.unit.massFlux") }; } @@ -231,12 +276,15 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity if (TecTech.configTecTech.BOOM_ENABLE) { getBaseMetaTileEntity().doExplosion(V[15]); } else { - TecTech.proxy.broadcast(translateToLocalFormatted("tt.keyphrase.Muffler_BOOM", clientLocale) + " " + getBaseMetaTileEntity().getXCoord() + ' ' + getBaseMetaTileEntity().getYCoord() + ' ' + getBaseMetaTileEntity().getZCoord()); + TecTech.proxy.broadcast(translateToLocalFormatted("tt.keyphrase.Muffler_BOOM", clientLocale) + " " + + getBaseMetaTileEntity().getXCoord() + ' ' + + getBaseMetaTileEntity().getYCoord() + ' ' + + getBaseMetaTileEntity().getZCoord()); } } } - //Return - Should Explode + // Return - Should Explode public boolean addOverflowMatter(double matter) { overflowMatter += matter; return overflowMatter > overflowMax; @@ -246,9 +294,9 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity return overflowMatter; } - //Return - Should Explode + // Return - Should Explode public boolean setOverflowMatter(double overflowMatter) { 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/GT_MetaTileEntity_Hatch_Param.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Param.java index 60d2d8738a..ed6e00dccf 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Param.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Param.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Param; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_ParamAdv; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_Param; @@ -24,9 +27,6 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.reflect.FieldUtils; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by danie_000 on 15.12.2016. */ @@ -44,7 +44,7 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { public GT_MetaTileEntity_Hatch_Param(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_Hatch_Param(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -61,7 +61,7 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { @Override public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - if (mTier > 5) {//TODO update mTier to 4 after recipe check + if (mTier > 5) { // TODO update mTier to 4 after recipe check return new GT_Container_ParamAdv(aPlayerInventory, aBaseMetaTileEntity); } return new GT_Container_Param(aPlayerInventory, aBaseMetaTileEntity); @@ -69,7 +69,7 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - if (mTier > 5) {//TODO update mTier to 4 after recipe check + if (mTier > 5) { // TODO update mTier to 4 after recipe check return new GT_GUIContainer_ParamAdv(aPlayerInventory, aBaseMetaTileEntity); } return new GT_GUIContainer_Param(aPlayerInventory, aBaseMetaTileEntity); @@ -77,16 +77,16 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(ScreenON)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(ScreenON)}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(ScreenOFF)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(ScreenOFF)}; } - //@Override - //public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { + // @Override + // public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { // if (aBaseMetaTileEntity.isClientSide() && (aTick % 20L == 0L)) { // //refresh casing on state change // int Xpos = aBaseMetaTileEntity.getXCoord(); @@ -97,7 +97,7 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { // } catch (Exception e) {} // } // super.onPostTick(aBaseMetaTileEntity, aTick); - //} + // } @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity iGregTechTileEntity) { @@ -111,12 +111,14 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { @Override public String[] getInfoData() { - return new String[]{ - translateToLocalFormatted("tt.keyword.Parametrizer", clientLocale)+ " " + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.GREEN + param, - translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 0D: " + EnumChatFormatting.AQUA + value0D, - translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 1D: " + EnumChatFormatting.BLUE + value1D, - translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 0D: " + EnumChatFormatting.GOLD + input0D, - translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 1D: " + EnumChatFormatting.YELLOW + input1D, + return new String[] { + translateToLocalFormatted("tt.keyword.Parametrizer", clientLocale) + " " + + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.GREEN + + param, + translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 0D: " + EnumChatFormatting.AQUA + value0D, + translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 1D: " + EnumChatFormatting.BLUE + value1D, + translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 0D: " + EnumChatFormatting.GOLD + input0D, + translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 1D: " + EnumChatFormatting.YELLOW + input1D, }; } @@ -150,28 +152,28 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); pointer = aNBT.getInteger("ePointer"); - if(aNBT.hasKey("eFloats") || - aNBT.hasKey("eValue0i") || - aNBT.hasKey("eValue1i") || - aNBT.hasKey("eInput0i") || - aNBT.hasKey("eInput1i")){ + if (aNBT.hasKey("eFloats") + || aNBT.hasKey("eValue0i") + || aNBT.hasKey("eValue1i") + || aNBT.hasKey("eInput0i") + || aNBT.hasKey("eInput1i")) { boolean usesFloat = aNBT.getBoolean("eFloats"); - if(usesFloat){ - value0D=Double.longBitsToDouble(aNBT.getLong("eValue0i")); - value1D=Double.longBitsToDouble(aNBT.getLong("eValue1i")); - input0D=Double.longBitsToDouble(aNBT.getLong("eInput0i")); - input1D=Double.longBitsToDouble(aNBT.getLong("eInput1i")); - }else { - value0D=aNBT.getLong("eValue0i"); - value1D=aNBT.getLong("eValue1i"); - input0D=aNBT.getLong("eInput0i"); - input1D=aNBT.getLong("eInput1i"); + if (usesFloat) { + value0D = Double.longBitsToDouble(aNBT.getLong("eValue0i")); + value1D = Double.longBitsToDouble(aNBT.getLong("eValue1i")); + input0D = Double.longBitsToDouble(aNBT.getLong("eInput0i")); + input1D = Double.longBitsToDouble(aNBT.getLong("eInput1i")); + } else { + value0D = aNBT.getLong("eValue0i"); + value1D = aNBT.getLong("eValue1i"); + input0D = aNBT.getLong("eInput0i"); + input1D = aNBT.getLong("eInput1i"); } - }else{ - value0D=aNBT.getDouble("eValue0D"); - value1D=aNBT.getDouble("eValue1D"); - input0D=aNBT.getDouble("eInput0D"); - input1D=aNBT.getDouble("eInput1D"); + } else { + value0D = aNBT.getDouble("eValue0D"); + value1D = aNBT.getDouble("eValue1D"); + input0D = aNBT.getDouble("eInput0D"); + input1D = aNBT.getDouble("eInput1D"); } param = aNBT.getInteger("eParam"); } @@ -218,10 +220,11 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.hatch.param.desc.0"),//For parametrization of Multiblocks - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.hatch.param.desc.1") +"\u00b2"//E=mine*craft + return new String[] { + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.hatch.param.desc.0"), // For parametrization of Multiblocks + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + + translateToLocal("gt.blockmachines.hatch.param.desc.1") + "\u00b2" // E=mine*craft }; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java index b50475ae59..e241793e0e 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_ParamText; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_ParamText; @@ -16,20 +19,17 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.reflect.FieldUtils; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by danie_000 on 15.12.2016. */ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_Param { - public String value0s=""; - public String value1s=""; + public String value0s = ""; + public String value1s = ""; private String clientLocale = "en_US"; public GT_MetaTileEntity_Hatch_ParamText(int aID, String aName, String aNameRegional, int aTier) { - super(aID,aName,aNameRegional,aTier); + super(aID, aName, aNameRegional, aTier); } public GT_MetaTileEntity_Hatch_ParamText(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -38,8 +38,9 @@ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_P @Override public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - if(aPlayerInventory.player instanceof EntityPlayerMP) { - NetworkDispatcher.INSTANCE.sendTo(new TextParametersMessage.ParametersTextData(this), (EntityPlayerMP) aPlayerInventory.player); + if (aPlayerInventory.player instanceof EntityPlayerMP) { + NetworkDispatcher.INSTANCE.sendTo( + new TextParametersMessage.ParametersTextData(this), (EntityPlayerMP) aPlayerInventory.player); } return new GT_Container_ParamText(aPlayerInventory, aBaseMetaTileEntity); } @@ -49,8 +50,8 @@ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_P return new GT_GUIContainer_ParamText(aPlayerInventory, aBaseMetaTileEntity); } - //@Override - //public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { + // @Override + // public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { // if (aBaseMetaTileEntity.isClientSide() && (aTick % 20L == 0L)) { // //refresh casing on state change // int Xpos = aBaseMetaTileEntity.getXCoord(); @@ -61,7 +62,7 @@ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_P // } catch (Exception e) {} // } // super.onPostTick(aBaseMetaTileEntity, aTick); - //} + // } @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity iGregTechTileEntity) { @@ -75,14 +76,18 @@ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_P @Override public String[] getInfoData() { - return new String[]{ - translateToLocalFormatted("tt.keyword.Parametrizer", clientLocale)+ " " + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.GREEN + param, - translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 0S: " + EnumChatFormatting.DARK_AQUA + value0s, - translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 1S: " + EnumChatFormatting.DARK_BLUE + value1s, - translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 0D: " + EnumChatFormatting.AQUA + value0D, - translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 1D: " + EnumChatFormatting.BLUE + value1D, - translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 0D: " + EnumChatFormatting.GOLD + input0D, - translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 1D: " + EnumChatFormatting.YELLOW + input1D, + return new String[] { + translateToLocalFormatted("tt.keyword.Parametrizer", clientLocale) + " " + + translateToLocalFormatted("tt.keyword.ID", clientLocale) + ": " + EnumChatFormatting.GREEN + + param, + translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 0S: " + EnumChatFormatting.DARK_AQUA + + value0s, + translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 1S: " + EnumChatFormatting.DARK_BLUE + + value1s, + translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 0D: " + EnumChatFormatting.AQUA + value0D, + translateToLocalFormatted("tt.keyword.Value", clientLocale) + " 1D: " + EnumChatFormatting.BLUE + value1D, + translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 0D: " + EnumChatFormatting.GOLD + input0D, + translateToLocalFormatted("tt.keyword.Input", clientLocale) + " 1D: " + EnumChatFormatting.YELLOW + input1D, }; } @@ -158,10 +163,11 @@ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_P @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.hatch.param.desc.0"),//For parametrization of Multiblocks - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.hatch.param.desc.1") +"\u00b2"//E=mine*craft + return new String[] { + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.hatch.param.desc.0"), // For parametrization of Multiblocks + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + + translateToLocal("gt.blockmachines.hatch.param.desc.1") + "\u00b2" // E=mine*craft }; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java index e890a5e60b..5e3986ec41 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java @@ -1,5 +1,11 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.util.CommonValues.MULTI_CHECK_AT; +import static com.github.technus.tectech.util.TT_Utility.getUniqueIdentifier; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Rack; @@ -16,6 +22,8 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.objects.GT_RenderedTexture; +import java.util.HashMap; +import java.util.Map; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; @@ -25,15 +33,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import org.apache.commons.lang3.reflect.FieldUtils; -import java.util.HashMap; -import java.util.Map; - -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.util.CommonValues.MULTI_CHECK_AT; -import static com.github.technus.tectech.util.TT_Utility.getUniqueIdentifier; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by Tec on 03.04.2017. */ @@ -48,7 +47,7 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { public GT_MetaTileEntity_Hatch_Rack(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 4, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_Hatch_Rack(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -81,12 +80,12 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_R_ACTIVE)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(EM_R_ACTIVE)}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_R)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(EM_R)}; } @Override @@ -137,7 +136,10 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_Rack(aPlayerInventory, aBaseMetaTileEntity, translateToLocal("gt.blockmachines.hatch.rack.tier.08.name"));//Computer Rack + return new GT_GUIContainer_Rack( + aPlayerInventory, + aBaseMetaTileEntity, + translateToLocal("gt.blockmachines.hatch.rack.tier.08.name")); // Computer Rack } @Override @@ -151,11 +153,11 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { } catch (Exception e) { clientLocale = "en_US"; } - //if(aBaseMetaTileEntity.isActive()) + // if(aBaseMetaTileEntity.isActive()) // aPlayer.addChatComponentMessage(new ChatComponentText("It is still active...")); - //else if(heat>0) + // else if(heat>0) // aPlayer.addChatComponentMessage(new ChatComponentText("It is still warm...")); - //else + // else aBaseMetaTileEntity.openGUI(aPlayer); return true; } @@ -175,10 +177,16 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { mInventory[i] = null; continue; } else if (comp.subZero || this.heat >= 0) { - heat += (1f + comp.coEff * this.heat / 10000f) * (comp.heat > 0 ? comp.heat * overclock * overclock * overvolt : comp.heat); - //=MAX(0;MIN(MIN($B4;1*C$3+C$3-0,25);1+RAND()+(C$3-1)-($B4-1)/2)) + heat += (1f + comp.coEff * this.heat / 10000f) + * (comp.heat > 0 ? comp.heat * overclock * overclock * overvolt : comp.heat); + // =MAX(0;MIN(MIN($B4;1*C$3+C$3-0,25);1+RAND()+(C$3-1)-($B4-1)/2)) if (overvolt * 10f > 7f + TecTech.RANDOM.nextFloat()) { - computation += comp.computation * Math.max(0, Math.min(Math.min(overclock, overvolt + overvolt - 0.25), 1 + TecTech.RANDOM.nextFloat() + (overvolt - 1) - (overclock - 1) / 2)); + computation += comp.computation + * Math.max( + 0, + Math.min( + Math.min(overclock, overvolt + overvolt - 0.25), + 1 + TecTech.RANDOM.nextFloat() + (overvolt - 1) - (overclock - 1) / 2)); } } } else { @@ -245,24 +253,25 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { } } - //@Override - //public void onRemoval() { + // @Override + // public void onRemoval() { // if(mInventory!=null && (heat>0 || (getBaseMetaTileEntity()!=null && getBaseMetaTileEntity().isActive()))) // for(int i=0;i 500 || getBaseMetaTileEntity().isActive() ? 0 : mInventory.length; } @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.hatch.rack.desc.0"),//4 Slot Rack - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.hatch.rack.desc.1")//Holds Computer Components + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.hatch.rack.desc.0"), // 4 Slot Rack + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.hatch.rack.desc.1") // Holds Computer Components }; } @@ -273,97 +282,100 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { @Override public String[] getInfoData() { - return new String[]{ - translateToLocalFormatted("tt.keyphrase.Base_computation", clientLocale) + ": " + EnumChatFormatting.AQUA + getComputationPower(1, 0, false), - translateToLocalFormatted("tt.keyphrase.After_overclocking", clientLocale) + ": " + EnumChatFormatting.AQUA + getComputationPower(overClock, 0, false), - translateToLocalFormatted("tt.keyphrase.Heat_Accumulated", clientLocale) + ": " + EnumChatFormatting.RED + (heat + 99) / 100 + EnumChatFormatting.RESET + " %" + return new String[] { + translateToLocalFormatted("tt.keyphrase.Base_computation", clientLocale) + ": " + EnumChatFormatting.AQUA + + getComputationPower(1, 0, false), + translateToLocalFormatted("tt.keyphrase.After_overclocking", clientLocale) + ": " + EnumChatFormatting.AQUA + + getComputationPower(overClock, 0, false), + translateToLocalFormatted("tt.keyphrase.Heat_Accumulated", clientLocale) + ": " + EnumChatFormatting.RED + + (heat + 99) / 100 + EnumChatFormatting.RESET + " %" }; - //heat==0? --> ((heat+9)/10) = 0 - //Heat==1-10? --> 1 + // heat==0? --> ((heat+9)/10) = 0 + // Heat==1-10? --> 1 } - public static void run() {//20k heat cap max! - new RackComponent(ItemList.Circuit_Primitive.get(1), 1, 4, 0, 500, true);//Primitive Circuit - new RackComponent(ItemList.Circuit_Basic.get(1), 4, 8, 0, 1000, true);//Basic Circuit + public static void run() { // 20k heat cap max! + new RackComponent(ItemList.Circuit_Primitive.get(1), 1, 4, 0, 500, true); // Primitive Circuit + new RackComponent(ItemList.Circuit_Basic.get(1), 4, 8, 0, 1000, true); // Basic Circuit new RackComponent(ItemList.Circuit_Microprocessor.get(1), 6, 8, 0, 1250, true); - new RackComponent(ItemList.Circuit_Good.get(1), 6, 9, -.05f, 1500, true);//Good Circuit + new RackComponent(ItemList.Circuit_Good.get(1), 6, 9, -.05f, 1500, true); // Good Circuit new RackComponent(ItemList.Circuit_Integrated_Good.get(1), 7, 9, -.075f, 1750, true); new RackComponent(ItemList.Circuit_Processor.get(1), 8, 9, -.07f, 1800, true); new RackComponent(ItemList.Circuit_Parts_Advanced.get(1), 1, 2, -.05f, 2000, true); - new RackComponent(ItemList.Circuit_Nanoprocessor.get(1), 8, 10, -.09f, 2250, true);//Advanced Circuit + new RackComponent(ItemList.Circuit_Nanoprocessor.get(1), 8, 10, -.09f, 2250, true); // Advanced Circuit new RackComponent(ItemList.Circuit_Advanced.get(1), 8, 10, -.1f, 2500, true); - new RackComponent(ItemList.Circuit_Data.get(1), 9, 1, -.1f, 3000, true);//EV Circuit + new RackComponent(ItemList.Circuit_Data.get(1), 9, 1, -.1f, 3000, true); // EV Circuit new RackComponent(ItemList.Circuit_Nanocomputer.get(1), 11, 10, -.125f, 3300, true); new RackComponent(ItemList.Circuit_Quantumprocessor.get(1), 13, 10, -.15f, 3600, true); - new RackComponent(ItemList.Circuit_Elite.get(1), 12, 10, -.15F, 3500, true);//IV Circuit + new RackComponent(ItemList.Circuit_Elite.get(1), 12, 10, -.15F, 3500, true); // IV Circuit new RackComponent(ItemList.Circuit_Elitenanocomputer.get(1), 14, 10, -.15F, 4000, true); new RackComponent(ItemList.Circuit_Quantumcomputer.get(1), 16, 10, -.15F, 4500, true); new RackComponent(ItemList.Circuit_Crystalprocessor.get(1), 18, 10, -.15F, 5000, true); - new RackComponent(ItemList.Circuit_Master.get(1), 16, 12, -.2F, 5000, true);//LuV Circuit + new RackComponent(ItemList.Circuit_Master.get(1), 16, 12, -.2F, 5000, true); // LuV Circuit new RackComponent(ItemList.Circuit_Masterquantumcomputer.get(1), 16, 13, -.2F, 5100, true); new RackComponent(ItemList.Circuit_Crystalcomputer.get(1), 20, 14, -.25F, 5200, true); new RackComponent(ItemList.Circuit_Neuroprocessor.get(1), 24, 15, -.3F, 5300, true); - new RackComponent(ItemList.Circuit_Quantummainframe.get(1), 22, 14, -.3F, 5200, true);//ZPM Circuit + new RackComponent(ItemList.Circuit_Quantummainframe.get(1), 22, 14, -.3F, 5200, true); // ZPM Circuit new RackComponent(ItemList.Circuit_Ultimatecrystalcomputer.get(1), 26, 16, -.3F, 5400, true); new RackComponent(ItemList.Circuit_Wetwarecomputer.get(1), 30, 18, -.3F, 5600, true); - new RackComponent(ItemList.Circuit_Crystalmainframe.get(1), 30, 18, -.35F, 5500, true);//UV Circuit + new RackComponent(ItemList.Circuit_Crystalmainframe.get(1), 30, 18, -.35F, 5500, true); // UV Circuit new RackComponent(ItemList.Circuit_Wetwaresupercomputer.get(1), 35, 22, -.3F, 5700, true); - new RackComponent(ItemList.Circuit_Wetwaremainframe.get(1), 38, 25, -.4F, 6000, true);//UHV Circuit - + new RackComponent(ItemList.Circuit_Wetwaremainframe.get(1), 38, 25, -.4F, 6000, true); // UHV Circuit + new RackComponent("IC2:ic2.reactorVent", 0, -1, 10f, 1000, false); new RackComponent("IC2:ic2.reactorVentCore", 0, -1, 20f, 2500, false); new RackComponent("IC2:ic2.reactorVentGold", 0, -1, 40f, 5000, false); - new RackComponent("IC2:ic2.reactorVentDiamond", 0, -1, 80f, 10000, false);//2x oc - + new RackComponent("IC2:ic2.reactorVentDiamond", 0, -1, 80f, 10000, false); // 2x oc + if (Loader.isModLoaded(Reference.DREAMCRAFT)) { - //GTNH-GT5u circuits - //these components causes crashes when used with the original GT5u - new RackComponent(ItemList.NandChip.get(1), 2, 6, 0, 750, true);//Primitive Circuit + // GTNH-GT5u circuits + // these components causes crashes when used with the original GT5u + new RackComponent(ItemList.NandChip.get(1), 2, 6, 0, 750, true); // Primitive Circuit new RackComponent(ItemList.Circuit_Biowarecomputer.get(1), 40, 26, -.35F, 5900, true); new RackComponent(ItemList.Circuit_Biowaresupercomputer.get(1), 42, 30, -.4F, 6200, true); - new RackComponent(ItemList.Circuit_Biomainframe.get(1), 44, 28, -.4F, 6000, true);//UEV Circuit - new RackComponent(ItemList.Circuit_Bioprocessor.get(1), 34, 20, -.35F, 5800, true); - + new RackComponent(ItemList.Circuit_Biomainframe.get(1), 44, 28, -.4F, 6000, true); // UEV Circuit + new RackComponent(ItemList.Circuit_Bioprocessor.get(1), 34, 20, -.35F, 5800, true); + new RackComponent("dreamcraft:item.HighEnergyCircuitParts", 3, 2, -.1f, 9001, true); new RackComponent("dreamcraft:item.HighEnergyFlowCircuit", 24, 16, -.25f, 10000, true); new RackComponent("dreamcraft:item.NanoCircuit", 50, 35, -.45f, 8000, true); new RackComponent("dreamcraft:item.PikoCircuit", 64, 40, -.5f, 8500, true); new RackComponent("dreamcraft:item.QuantumCircuit", 128, 48, -.6f, 9000, true); } - + if (Loader.isModLoaded(Reference.SPARTAKCORE)) { - //CustomGT5u circuits - //these components causes crashes when used with the original GT5u - new RackComponent(ItemList.NandChip.get(1), 2, 6, 0, 750, true);//Primitive Circuit + // CustomGT5u circuits + // these components causes crashes when used with the original GT5u + new RackComponent(ItemList.NandChip.get(1), 2, 6, 0, 750, true); // Primitive Circuit new RackComponent(ItemList.Circuit_Biowarecomputer.get(1), 40, 26, -.35F, 5900, true); new RackComponent(ItemList.Circuit_Biowaresupercomputer.get(1), 42, 30, -.4F, 6200, true); - new RackComponent(ItemList.Circuit_Biomainframe.get(1), 40, 28, -.4F, 6000, true);//UHV Circuit - new RackComponent(ItemList.Circuit_Bioprocessor.get(1), 34, 20, -.35F, 5800, true); + new RackComponent(ItemList.Circuit_Biomainframe.get(1), 40, 28, -.4F, 6000, true); // UHV Circuit + new RackComponent(ItemList.Circuit_Bioprocessor.get(1), 34, 20, -.35F, 5800, true); } - + if (Loader.isModLoaded("OpenComputers")) { - new RackComponent("OpenComputers:item.oc.Transistor", 0, 1, 0f, 100, true);//Transistor - new RackComponent("OpenComputers:item.oc.Microchip0", 7, 12, -.05f, 1500, true);//chip t1 - new RackComponent("OpenComputers:item.oc.Microchip1", 18, 20, -.1f, 3000, true);//chip t2 - new RackComponent("OpenComputers:item.oc.Microchip2", 25, 22, -.15f, 4500, true);//chip t3 - new RackComponent("OpenComputers:item.oc.ALU", 10, 15, -.05f, 3000, true);//alu - new RackComponent("OpenComputers:item.oc.ControlUnit", 25, 18, -.05f, 1500, true);//cu - - new RackComponent("OpenComputers:item.oc.ComponentBus0", 42, 30, -.05f, 1500, true);//bus t1 - new RackComponent("OpenComputers:item.oc.ComponentBus1", 70, 50, -.1f, 3000, true);//bus t2 - new RackComponent("OpenComputers:item.oc.ComponentBus2", 105, 72, -.15f, 4500, true);//bus t3 - - new RackComponent("OpenComputers:item.oc.CPU0", 106, 73, -.1f, 1500, true);//cpu t1 - new RackComponent("OpenComputers:item.oc.CPU1", 226, 153, -.15f, 3000, true);//cpu t2 - new RackComponent("OpenComputers:item.oc.CPU2", 374, 241, -.2f, 4500, true);//cpu t3 - - new RackComponent("OpenComputers:item.oc.GraphicsCard0", 20, 27, -.1f, 1500, true);//gpu t1 - new RackComponent("OpenComputers:item.oc.GraphicsCard1", 62, 67, -.2f, 3000, true);//gpu t2 - new RackComponent("OpenComputers:item.oc.GraphicsCard2", 130, 111, -.3f, 4500, true);//gpu t3 - - new RackComponent("OpenComputers:item.oc.APU0", 350, 234, -.1f, 1500, true);//apu t2 - new RackComponent("OpenComputers:item.oc.APU1", 606, 398, -.2f, 4500, true);//apu t3 - new RackComponent("OpenComputers:item.oc.APU2", 1590, 1006, -.3f, 9000, true);//apu tC + new RackComponent("OpenComputers:item.oc.Transistor", 0, 1, 0f, 100, true); // Transistor + new RackComponent("OpenComputers:item.oc.Microchip0", 7, 12, -.05f, 1500, true); // chip t1 + new RackComponent("OpenComputers:item.oc.Microchip1", 18, 20, -.1f, 3000, true); // chip t2 + new RackComponent("OpenComputers:item.oc.Microchip2", 25, 22, -.15f, 4500, true); // chip t3 + new RackComponent("OpenComputers:item.oc.ALU", 10, 15, -.05f, 3000, true); // alu + new RackComponent("OpenComputers:item.oc.ControlUnit", 25, 18, -.05f, 1500, true); // cu + + new RackComponent("OpenComputers:item.oc.ComponentBus0", 42, 30, -.05f, 1500, true); // bus t1 + new RackComponent("OpenComputers:item.oc.ComponentBus1", 70, 50, -.1f, 3000, true); // bus t2 + new RackComponent("OpenComputers:item.oc.ComponentBus2", 105, 72, -.15f, 4500, true); // bus t3 + + new RackComponent("OpenComputers:item.oc.CPU0", 106, 73, -.1f, 1500, true); // cpu t1 + new RackComponent("OpenComputers:item.oc.CPU1", 226, 153, -.15f, 3000, true); // cpu t2 + new RackComponent("OpenComputers:item.oc.CPU2", 374, 241, -.2f, 4500, true); // cpu t3 + + new RackComponent("OpenComputers:item.oc.GraphicsCard0", 20, 27, -.1f, 1500, true); // gpu t1 + new RackComponent("OpenComputers:item.oc.GraphicsCard1", 62, 67, -.2f, 3000, true); // gpu t2 + new RackComponent("OpenComputers:item.oc.GraphicsCard2", 130, 111, -.3f, 4500, true); // gpu t3 + + new RackComponent("OpenComputers:item.oc.APU0", 350, 234, -.1f, 1500, true); // apu t2 + new RackComponent("OpenComputers:item.oc.APU1", 606, 398, -.2f, 4500, true); // apu t3 + new RackComponent("OpenComputers:item.oc.APU2", 1590, 1006, -.3f, 9000, true); // apu tC } } @@ -396,12 +408,10 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { @Override public boolean equals(Object obj) { - if(obj instanceof RackComponent) { + if (obj instanceof RackComponent) { return compareTo((RackComponent) obj) == 0; } return false; } } } - - diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java index 9ce5a1c446..5c34243742 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Uncertainty; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_Uncertainty; @@ -24,23 +27,21 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.reflect.FieldUtils; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by danie_000 on 15.12.2016. */ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch { private static Textures.BlockIcons.CustomIcon ScreenON; private static Textures.BlockIcons.CustomIcon ScreenOFF; - public short[] matrix = new short[]{500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500}; - public byte selection = -1, mode = 0, status = -128;//all 8 bits set + public short[] matrix = + new short[] {500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500}; + public byte selection = -1, mode = 0, status = -128; // all 8 bits set private String clientLocale = "en_US"; public GT_MetaTileEntity_Hatch_Uncertainty(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); regenerate(); } @@ -72,12 +73,12 @@ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(ScreenON)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(ScreenON)}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(ScreenOFF)}; + return new ITexture[] {aBaseTexture, new GT_RenderedTexture(ScreenOFF)}; } @Override @@ -106,8 +107,8 @@ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch @Override public String[] getInfoData() { - return new String[]{ - translateToLocalFormatted("tt.keyword.Status", clientLocale) + ": " + EnumChatFormatting.GOLD + status + return new String[] { + translateToLocalFormatted("tt.keyword.Status", clientLocale) + ": " + EnumChatFormatting.GOLD + status }; } @@ -193,10 +194,12 @@ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.hatch.certain.desc.0"),//Feeling certain, or not? - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.hatch.certain.desc.1")//Schrödinger equation in a box + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.hatch.certain.desc.0"), // Feeling certain, or not? + EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockmachines.hatch.certain.desc.1") // Schrödinger equation in a box }; } @@ -217,67 +220,83 @@ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch public byte compute() { int result = 0; switch (mode) { - case 1://ooo oxo ooo + case 1: // ooo oxo ooo result = balanceCheck(4, matrix) ? 0 : 1; break; - case 2://ooo xox ooo - result += balanceCheck(4, - matrix[0], matrix[4], - matrix[1], matrix[5], - matrix[2], matrix[6], - matrix[3], matrix[7]) ? 0 : 1; - result += balanceCheck(4, - matrix[8], matrix[12], - matrix[9], matrix[13], - matrix[10], matrix[14], - matrix[11], matrix[15]) ? 0 : 2; + case 2: // ooo xox ooo + result += balanceCheck( + 4, matrix[0], matrix[4], matrix[1], matrix[5], matrix[2], matrix[6], matrix[3], + matrix[7]) + ? 0 + : 1; + result += balanceCheck( + 4, + matrix[8], + matrix[12], + matrix[9], + matrix[13], + matrix[10], + matrix[14], + matrix[11], + matrix[15]) + ? 0 + : 2; break; - case 3://oxo xox oxo - result += balanceCheck(2, - matrix[0], matrix[4], matrix[8], matrix[12], - matrix[1], matrix[5], matrix[9], matrix[13]) ? 0 : 1; - result += balanceCheck(4, - matrix[0], matrix[4], - matrix[1], matrix[5], - matrix[2], matrix[6], - matrix[3], matrix[7]) ? 0 : 2; - result += balanceCheck(4, - matrix[8], matrix[12], - matrix[9], matrix[13], - matrix[10], matrix[14], - matrix[11], matrix[15]) ? 0 : 4; - result += balanceCheck(2, - matrix[2], matrix[6], matrix[10], matrix[14], - matrix[3], matrix[7], matrix[11], matrix[15]) ? 0 : 8; + case 3: // oxo xox oxo + result += balanceCheck( + 2, + matrix[0], + matrix[4], + matrix[8], + matrix[12], + matrix[1], + matrix[5], + matrix[9], + matrix[13]) + ? 0 + : 1; + result += balanceCheck( + 4, matrix[0], matrix[4], matrix[1], matrix[5], matrix[2], matrix[6], matrix[3], + matrix[7]) + ? 0 + : 2; + result += balanceCheck( + 4, + matrix[8], + matrix[12], + matrix[9], + matrix[13], + matrix[10], + matrix[14], + matrix[11], + matrix[15]) + ? 0 + : 4; + result += balanceCheck( + 2, + matrix[2], + matrix[6], + matrix[10], + matrix[14], + matrix[3], + matrix[7], + matrix[11], + matrix[15]) + ? 0 + : 8; break; - case 4://xox ooo xox - result += balanceCheck(2, - matrix[0], matrix[4], - matrix[1], matrix[5]) ? 0 : 1; - result += balanceCheck(2, - matrix[8], matrix[12], - matrix[9], matrix[13]) ? 0 : 2; - result += balanceCheck(2, - matrix[2], matrix[6], - matrix[3], matrix[7]) ? 0 : 4; - result += balanceCheck(2, - matrix[10], matrix[14], - matrix[11], matrix[15]) ? 0 : 8; + case 4: // xox ooo xox + result += balanceCheck(2, matrix[0], matrix[4], matrix[1], matrix[5]) ? 0 : 1; + result += balanceCheck(2, matrix[8], matrix[12], matrix[9], matrix[13]) ? 0 : 2; + result += balanceCheck(2, matrix[2], matrix[6], matrix[3], matrix[7]) ? 0 : 4; + result += balanceCheck(2, matrix[10], matrix[14], matrix[11], matrix[15]) ? 0 : 8; break; - case 5://xox oxo xox - result += balanceCheck(2, - matrix[0], matrix[4], - matrix[1], matrix[5]) ? 0 : 1; - result += balanceCheck(2, - matrix[8], matrix[12], - matrix[9], matrix[13]) ? 0 : 2; + case 5: // xox oxo xox + result += balanceCheck(2, matrix[0], matrix[4], matrix[1], matrix[5]) ? 0 : 1; + result += balanceCheck(2, matrix[8], matrix[12], matrix[9], matrix[13]) ? 0 : 2; result += balanceCheck(4, matrix) ? 0 : 4; - result += balanceCheck(2, - matrix[2], matrix[6], - matrix[3], matrix[7]) ? 0 : 8; - result += balanceCheck(2, - matrix[10], matrix[14], - matrix[11], matrix[15]) ? 0 : 16; + result += balanceCheck(2, matrix[2], matrix[6], matrix[3], matrix[7]) ? 0 : 8; + result += balanceCheck(2, matrix[10], matrix[14], matrix[11], matrix[15]) ? 0 : 16; break; } return status = (byte) result; @@ -307,11 +326,11 @@ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch return status; } - //@Override - //public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + // @Override + // public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { // if(aSide == this.getBaseMetaTileEntity().getFrontFacing()) { // changeMode(++mode); // GT_Utility.sendChatToPlayer(aPlayer, "Equation mode: "+mode); // } - //} + // } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java index 9e4b81cd5b..8058c14cf4 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java @@ -1,6 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; - import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_ParamText; import com.github.technus.tectech.util.TT_Utility; import cpw.mods.fml.common.network.ByteBufUtils; @@ -23,8 +22,8 @@ public class TextParametersMessage implements IMessage { int mPosY; int mPosZ; int mPosD; - String mVal0=""; - String mVal1=""; + String mVal0 = ""; + String mVal1 = ""; public TextParametersMessage() {} @@ -55,55 +54,56 @@ public class TextParametersMessage implements IMessage { public ParametersTextQuery() {} public ParametersTextQuery(GT_MetaTileEntity_Hatch_ParamText metaTile) { - IGregTechTileEntity base=metaTile.getBaseMetaTileEntity(); - mPosX=base.getXCoord(); - mPosY=base.getYCoord(); - mPosZ=base.getZCoord(); - mPosD=base.getWorld().provider.dimensionId; + IGregTechTileEntity base = metaTile.getBaseMetaTileEntity(); + mPosX = base.getXCoord(); + mPosY = base.getYCoord(); + mPosZ = base.getZCoord(); + mPosD = base.getWorld().provider.dimensionId; } } - public static class ParametersTextData extends TextParametersMessage{ + public static class ParametersTextData extends TextParametersMessage { public ParametersTextData() {} public ParametersTextData(GT_MetaTileEntity_Hatch_ParamText metaTile) { - IGregTechTileEntity base=metaTile.getBaseMetaTileEntity(); - mPosX=base.getXCoord(); - mPosY=base.getYCoord(); - mPosZ=base.getZCoord(); - mPosD=base.getWorld().provider.dimensionId; - mVal0 =metaTile.value0s; - mVal1 =metaTile.value1s; + IGregTechTileEntity base = metaTile.getBaseMetaTileEntity(); + mPosX = base.getXCoord(); + mPosY = base.getYCoord(); + mPosZ = base.getZCoord(); + mPosD = base.getWorld().provider.dimensionId; + mVal0 = metaTile.value0s; + mVal1 = metaTile.value1s; } } - public static class ParametersTextUpdate extends TextParametersMessage{ + public static class ParametersTextUpdate extends TextParametersMessage { public ParametersTextUpdate() {} public ParametersTextUpdate(GT_MetaTileEntity_Hatch_ParamText metaTile) { - IGregTechTileEntity base=metaTile.getBaseMetaTileEntity(); - mPosX=base.getXCoord(); - mPosY=base.getYCoord(); - mPosZ=base.getZCoord(); - mPosD=base.getWorld().provider.dimensionId; - mVal0 =metaTile.value0s; - mVal1 =metaTile.value1s; + IGregTechTileEntity base = metaTile.getBaseMetaTileEntity(); + mPosX = base.getXCoord(); + mPosY = base.getYCoord(); + mPosZ = base.getZCoord(); + mPosD = base.getWorld().provider.dimensionId; + mVal0 = metaTile.value0s; + mVal1 = metaTile.value1s; } } public static class ClientHandler extends AbstractClientMessageHandler { @Override public IMessage handleClientMessage(EntityPlayer pPlayer, ParametersTextData pMessage, MessageContext pCtx) { - if(pPlayer.worldObj.provider.dimensionId==pMessage.mPosD){ - TileEntity te=pPlayer.worldObj.getTileEntity(pMessage.mPosX,pMessage.mPosY,pMessage.mPosZ); - if(te instanceof IGregTechTileEntity){ + if (pPlayer.worldObj.provider.dimensionId == pMessage.mPosD) { + TileEntity te = pPlayer.worldObj.getTileEntity(pMessage.mPosX, pMessage.mPosY, pMessage.mPosZ); + if (te instanceof IGregTechTileEntity) { IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); - if(meta instanceof GT_MetaTileEntity_Hatch_ParamText){ - ((GT_MetaTileEntity_Hatch_ParamText) meta).value0s =pMessage.mVal0; - ((GT_MetaTileEntity_Hatch_ParamText) meta).value1s =pMessage.mVal1; - if(Minecraft.getMinecraft().currentScreen instanceof GT_GUIContainer_ParamText){ - GT_GUIContainer_ParamText gui=((GT_GUIContainer_ParamText) Minecraft.getMinecraft().currentScreen); - if(gui.mContainer==meta){ + if (meta instanceof GT_MetaTileEntity_Hatch_ParamText) { + ((GT_MetaTileEntity_Hatch_ParamText) meta).value0s = pMessage.mVal0; + ((GT_MetaTileEntity_Hatch_ParamText) meta).value1s = pMessage.mVal1; + if (Minecraft.getMinecraft().currentScreen instanceof GT_GUIContainer_ParamText) { + GT_GUIContainer_ParamText gui = + ((GT_GUIContainer_ParamText) Minecraft.getMinecraft().currentScreen); + if (gui.mContainer == meta) { gui.setTextIn0(pMessage.mVal0); gui.setTextIn1(pMessage.mVal1); } @@ -136,15 +136,15 @@ public class TextParametersMessage implements IMessage { @Override public IMessage handleServerMessage(EntityPlayer pPlayer, ParametersTextUpdate pMessage, MessageContext pCtx) { World world = DimensionManager.getWorld(pMessage.mPosD); - if(world!=null){ - TileEntity te=world.getTileEntity(pMessage.mPosX,pMessage.mPosY,pMessage.mPosZ); - if(te instanceof IGregTechTileEntity){ + if (world != null) { + TileEntity te = world.getTileEntity(pMessage.mPosX, pMessage.mPosY, pMessage.mPosZ); + if (te instanceof IGregTechTileEntity) { IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); - if(meta instanceof GT_MetaTileEntity_Hatch_ParamText){ - ((GT_MetaTileEntity_Hatch_ParamText) meta).value0s =pMessage.mVal0; - ((GT_MetaTileEntity_Hatch_ParamText) meta).value1s =pMessage.mVal1; - ((GT_MetaTileEntity_Hatch_ParamText) meta).value0D= TT_Utility.getValue(pMessage.mVal0); - ((GT_MetaTileEntity_Hatch_ParamText) meta).value1D= TT_Utility.getValue(pMessage.mVal1); + if (meta instanceof GT_MetaTileEntity_Hatch_ParamText) { + ((GT_MetaTileEntity_Hatch_ParamText) meta).value0s = pMessage.mVal0; + ((GT_MetaTileEntity_Hatch_ParamText) meta).value1s = pMessage.mVal1; + ((GT_MetaTileEntity_Hatch_ParamText) meta).value0D = TT_Utility.getValue(pMessage.mVal0); + ((GT_MetaTileEntity_Hatch_ParamText) meta).value1D = TT_Utility.getValue(pMessage.mVal1); } } } 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 cd29379afc..378736d334 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 @@ -33,10 +33,14 @@ public class GT_Container_Capacitor extends GT_ContainerMetaTile_Machine { } @Override - public int getSlotCount() { return 16; } + public int getSlotCount() { + return 16; + } @Override - public int getShiftClickSlotCount() { return getSlotCount(); } + public int getShiftClickSlotCount() { + return getSlotCount(); + } @Override public void detectAndSendChanges() { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java index f87e44aefb..f5e0ffd45d 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java @@ -118,8 +118,8 @@ public class GT_Container_Param extends GT_ContainerMetaTile_Machine { doStuff = false; } if (doStuff) { - IGregTechTileEntity base=paramH.getBaseMetaTileEntity(); - TecTech.proxy.playSound(base,"fx_click"); + IGregTechTileEntity base = paramH.getBaseMetaTileEntity(); + TecTech.proxy.playSound(base, "fx_click"); if (paramH.param > 9) { paramH.param = 9; } else if (paramH.param < -1) { @@ -144,11 +144,11 @@ public class GT_Container_Param extends GT_ContainerMetaTile_Machine { for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; - TT_Utility.sendInteger(param,this,var1,100); - TT_Utility.sendDouble(value0d,this,var1,102); - TT_Utility.sendDouble(value1d,this,var1, 106); - TT_Utility.sendDouble(input0d,this,var1, 110); - TT_Utility.sendDouble(input1d,this,var1, 114); + TT_Utility.sendInteger(param, this, var1, 100); + TT_Utility.sendDouble(value0d, this, var1, 102); + TT_Utility.sendDouble(value1d, this, var1, 106); + TT_Utility.sendDouble(input0d, this, var1, 110); + TT_Utility.sendDouble(input1d, this, var1, 114); } } @@ -159,31 +159,31 @@ public class GT_Container_Param extends GT_ContainerMetaTile_Machine { switch (par1) { case 100: case 101: - param= TT_Utility.receiveInteger(param,100,par1,par2); + param = TT_Utility.receiveInteger(param, 100, par1, par2); return; case 102: case 103: case 104: case 105: - value0d =Double.longBitsToDouble(value0l= TT_Utility.receiveLong(value0l,102,par1,par2)); + value0d = Double.longBitsToDouble(value0l = TT_Utility.receiveLong(value0l, 102, par1, par2)); return; case 106: case 107: case 108: case 109: - value1d =Double.longBitsToDouble(value1l= TT_Utility.receiveLong(value1l,106,par1,par2)); + value1d = Double.longBitsToDouble(value1l = TT_Utility.receiveLong(value1l, 106, par1, par2)); return; case 110: case 111: case 112: case 113: - input0d =Double.longBitsToDouble(input0l= TT_Utility.receiveLong(input0l,110,par1,par2)); + input0d = Double.longBitsToDouble(input0l = TT_Utility.receiveLong(input0l, 110, par1, par2)); return; case 114: case 115: case 116: case 117: - input1d =Double.longBitsToDouble(input1l= TT_Utility.receiveLong(input1l,114,par1,par2)); + input1d = Double.longBitsToDouble(input1l = TT_Utility.receiveLong(input1l, 114, par1, par2)); return; default: } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java index 0ed9c2d3b6..26faae689f 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java @@ -15,7 +15,7 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { - public int pointer=0; + public int pointer = 0; public int param = 0; public double value1d = 0; public double value0d = 0; @@ -62,8 +62,8 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { boolean doStuff = true; GT_MetaTileEntity_Hatch_Param paramH = (GT_MetaTileEntity_Hatch_Param) mTileEntity.getMetaTileEntity(); - int columnPointer=paramH.pointer &0xff; - boolean secondRow=(paramH.pointer &0x0100)!=0; + int columnPointer = paramH.pointer & 0xff; + boolean secondRow = (paramH.pointer & 0x0100) != 0; switch (aSlotIndex) { case 0: paramH.param -= aShifthold == 1 ? 16 : 4; @@ -91,13 +91,13 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { } } else { if (secondRow) { - long temp=Double.doubleToLongBits(paramH.value1D); - temp |= 1L << (long)columnPointer; - paramH.value1D=Double.longBitsToDouble(temp); + long temp = Double.doubleToLongBits(paramH.value1D); + temp |= 1L << (long) columnPointer; + paramH.value1D = Double.longBitsToDouble(temp); } else { - long temp=Double.doubleToLongBits(paramH.value0D); - temp |= 1L << (long)columnPointer; - paramH.value0D=Double.longBitsToDouble(temp); + long temp = Double.doubleToLongBits(paramH.value0D); + temp |= 1L << (long) columnPointer; + paramH.value0D = Double.longBitsToDouble(temp); } } break; @@ -127,13 +127,13 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { } } else { if (secondRow) { - long temp=Double.doubleToLongBits(paramH.value1D); - temp &= ~(1L << (long)columnPointer); - paramH.value1D=Double.longBitsToDouble(temp); + long temp = Double.doubleToLongBits(paramH.value1D); + temp &= ~(1L << (long) columnPointer); + paramH.value1D = Double.longBitsToDouble(temp); } else { - long temp=Double.doubleToLongBits(paramH.value0D); - temp &= ~(1L << (long)columnPointer); - paramH.value0D=Double.longBitsToDouble(temp); + long temp = Double.doubleToLongBits(paramH.value0D); + temp &= ~(1L << (long) columnPointer); + paramH.value0D = Double.longBitsToDouble(temp); } } break; @@ -155,8 +155,8 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { } break; case 11: - paramH.value0D=paramH.input0D; - paramH.value1D=paramH.input1D; + paramH.value0D = paramH.input0D; + paramH.value1D = paramH.input1D; break; case 12: paramH.param += aShifthold == 1 ? 2 : 1; @@ -184,13 +184,13 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { } } else { if (secondRow) { - long temp=Double.doubleToLongBits(paramH.value1D); - temp ^= 1L << (long)columnPointer; - paramH.value1D=Double.longBitsToDouble(temp); + long temp = Double.doubleToLongBits(paramH.value1D); + temp ^= 1L << (long) columnPointer; + paramH.value1D = Double.longBitsToDouble(temp); } else { - long temp=Double.doubleToLongBits(paramH.value0D); - temp ^= 1L << (long)columnPointer; - paramH.value0D=Double.longBitsToDouble(temp); + long temp = Double.doubleToLongBits(paramH.value0D); + temp ^= 1L << (long) columnPointer; + paramH.value0D = Double.longBitsToDouble(temp); } } break; @@ -198,14 +198,14 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { doStuff = false; } if (doStuff) { - IGregTechTileEntity base=paramH.getBaseMetaTileEntity(); - TecTech.proxy.playSound(base,"fx_click"); - if(columnPointer>=64) { + IGregTechTileEntity base = paramH.getBaseMetaTileEntity(); + TecTech.proxy.playSound(base, "fx_click"); + if (columnPointer >= 64) { columnPointer = 63; - } else if(columnPointer<0) { + } else if (columnPointer < 0) { columnPointer = 0; } - paramH.pointer=secondRow?columnPointer+0x100:columnPointer; + paramH.pointer = secondRow ? columnPointer + 0x100 : columnPointer; if (paramH.param > 9) { paramH.param = 9; } else if (paramH.param < -1) { @@ -231,12 +231,12 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; - TT_Utility.sendInteger(param,this,var1,100); - TT_Utility.sendDouble(value0d,this,var1,102); - TT_Utility.sendDouble(value1d,this,var1, 106); - TT_Utility.sendDouble(input0d,this,var1, 110); - TT_Utility.sendDouble(input1d,this,var1, 114); - TT_Utility.sendInteger(pointer,this,var1,118); + TT_Utility.sendInteger(param, this, var1, 100); + TT_Utility.sendDouble(value0d, this, var1, 102); + TT_Utility.sendDouble(value1d, this, var1, 106); + TT_Utility.sendDouble(input0d, this, var1, 110); + TT_Utility.sendDouble(input1d, this, var1, 114); + TT_Utility.sendInteger(pointer, this, var1, 118); } } @@ -247,35 +247,35 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { switch (par1) { case 100: case 101: - param= TT_Utility.receiveInteger(param,100,par1,par2); + param = TT_Utility.receiveInteger(param, 100, par1, par2); return; case 102: case 103: case 104: case 105: - value0d =Double.longBitsToDouble(value0l= TT_Utility.receiveLong(value0l,102,par1,par2)); + value0d = Double.longBitsToDouble(value0l = TT_Utility.receiveLong(value0l, 102, par1, par2)); return; case 106: case 107: case 108: case 109: - value1d =Double.longBitsToDouble(value1l= TT_Utility.receiveLong(value1l,106,par1,par2)); + value1d = Double.longBitsToDouble(value1l = TT_Utility.receiveLong(value1l, 106, par1, par2)); return; case 110: case 111: case 112: case 113: - input0d =Double.longBitsToDouble(input0l= TT_Utility.receiveLong(input0l,110,par1,par2)); + input0d = Double.longBitsToDouble(input0l = TT_Utility.receiveLong(input0l, 110, par1, par2)); return; case 114: case 115: case 116: case 117: - input1d =Double.longBitsToDouble(input1l= TT_Utility.receiveLong(input1l,114,par1,par2)); + input1d = Double.longBitsToDouble(input1l = TT_Utility.receiveLong(input1l, 114, par1, par2)); return; case 118: case 119: - pointer= TT_Utility.receiveInteger(pointer,118,par1,par2); + pointer = TT_Utility.receiveInteger(pointer, 118, par1, par2); return; default: } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java index b4c466192f..f46e69184b 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java @@ -10,6 +10,7 @@ import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.gui.GT_ContainerMetaTile_Machine; import gregtech.api.gui.GT_Slot_Holo; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import java.util.Objects; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.InventoryPlayer; @@ -17,8 +18,6 @@ import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -import java.util.Objects; - public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine { public int param = 0; public double value0d = 0; @@ -29,8 +28,8 @@ public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine { public long value1l = 0; public long input0l = 0; public long input1l = 0; - public String value0s=""; - public String value1s=""; + public String value0s = ""; + public String value1s = ""; public GT_Container_ParamText(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(aInventoryPlayer, aTileEntity); @@ -52,7 +51,8 @@ public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine { Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { boolean doStuff = true; - GT_MetaTileEntity_Hatch_ParamText paramH = (GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity(); + GT_MetaTileEntity_Hatch_ParamText paramH = + (GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity(); switch (aSlotIndex) { case 0: paramH.param -= aShifthold == 1 ? 16 : 4; @@ -70,8 +70,8 @@ public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine { doStuff = false; } if (doStuff) { - IGregTechTileEntity base=paramH.getBaseMetaTileEntity(); - TecTech.proxy.playSound(base,"fx_click"); + IGregTechTileEntity base = paramH.getBaseMetaTileEntity(); + TecTech.proxy.playSound(base, "fx_click"); if (paramH.param > 9) { paramH.param = 9; } else if (paramH.param < -1) { @@ -95,22 +95,23 @@ public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine { input1d = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).input1D; for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; - TT_Utility.sendInteger(param,this,var1,100); - TT_Utility.sendDouble(value0d,this,var1,102); - TT_Utility.sendDouble(value1d,this,var1, 106); - TT_Utility.sendDouble(input0d,this,var1, 110); - TT_Utility.sendDouble(input1d,this,var1, 114); + TT_Utility.sendInteger(param, this, var1, 100); + TT_Utility.sendDouble(value0d, this, var1, 102); + TT_Utility.sendDouble(value1d, this, var1, 106); + TT_Utility.sendDouble(input0d, this, var1, 110); + TT_Utility.sendDouble(input1d, this, var1, 114); } - if(!Objects.equals(value0s,((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s) || - !Objects.equals(value0s,((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s)){ - value0s =((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s; - value1s =((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value1s; - for(Object object:crafters){ - if(object instanceof EntityPlayerMP){ + if (!Objects.equals(value0s, ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s) + || !Objects.equals( + value0s, ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s)) { + value0s = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s; + value1s = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value1s; + for (Object object : crafters) { + if (object instanceof EntityPlayerMP) { NetworkDispatcher.INSTANCE.sendTo( new TextParametersMessage.ParametersTextData( ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity())), - (EntityPlayerMP)object); + (EntityPlayerMP) object); } } } @@ -123,31 +124,31 @@ public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine { switch (par1) { case 100: case 101: - param= TT_Utility.receiveInteger(param,100,par1,par2); + param = TT_Utility.receiveInteger(param, 100, par1, par2); return; case 102: case 103: case 104: case 105: - value0d =Double.longBitsToDouble(value0l= TT_Utility.receiveLong(value0l,102,par1,par2)); + value0d = Double.longBitsToDouble(value0l = TT_Utility.receiveLong(value0l, 102, par1, par2)); return; case 106: case 107: case 108: case 109: - value1d =Double.longBitsToDouble(value1l= TT_Utility.receiveLong(value1l,106,par1,par2)); + value1d = Double.longBitsToDouble(value1l = TT_Utility.receiveLong(value1l, 106, par1, par2)); return; case 110: case 111: case 112: case 113: - input0d =Double.longBitsToDouble(input0l= TT_Utility.receiveLong(input0l,110,par1,par2)); + input0d = Double.longBitsToDouble(input0l = TT_Utility.receiveLong(input0l, 110, par1, par2)); return; case 114: case 115: case 116: case 117: - input1d =Double.longBitsToDouble(input1l= TT_Utility.receiveLong(input1l,114,par1,par2)); + input1d = Double.longBitsToDouble(input1l = TT_Utility.receiveLong(input1l, 114, par1, par2)); return; default: } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java index 45bc8dede0..88dab21c37 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java @@ -14,7 +14,8 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class GT_Container_Uncertainty extends GT_ContainerMetaTile_Machine { - public short[] matrix = new short[]{500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500}; + public short[] matrix = + new short[] {500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500}; public byte selection = -1, mode = 0, status = -128; public GT_Container_Uncertainty(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { @@ -51,10 +52,11 @@ public class GT_Container_Uncertainty extends GT_ContainerMetaTile_Machine { } Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - GT_MetaTileEntity_Hatch_Uncertainty catH = (GT_MetaTileEntity_Hatch_Uncertainty) mTileEntity.getMetaTileEntity(); + GT_MetaTileEntity_Hatch_Uncertainty catH = + (GT_MetaTileEntity_Hatch_Uncertainty) mTileEntity.getMetaTileEntity(); if (aSlotIndex < 16 && catH.matrix != null) { - IGregTechTileEntity base=catH.getBaseMetaTileEntity(); - TecTech.proxy.playSound(base,"fx_click"); + IGregTechTileEntity base = catH.getBaseMetaTileEntity(); + TecTech.proxy.playSound(base, "fx_click"); if (catH.selection == -1) { catH.selection = (byte) aSlotIndex; } else { @@ -63,7 +65,6 @@ public class GT_Container_Uncertainty extends GT_ContainerMetaTile_Machine { catH.matrix[aSlotIndex] = temp; catH.selection = -1; } - } } return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); 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 3850e7dc30..e97430d9bb 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 @@ -12,8 +12,11 @@ public class GT_GUIContainer_Capacitor extends GT_GUIContainerMetaTile_Machine { 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"); + 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; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Param.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Param.java index 686c2c81ce..d5d3d64b37 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Param.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Param.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; @@ -7,8 +9,6 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; import org.lwjgl.opengl.GL11; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - public class GT_GUIContainer_Param extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_Param(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_Param(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Parametrizer.png"); @@ -17,15 +17,50 @@ public class GT_GUIContainer_Param extends GT_GUIContainerMetaTile_Machine { @Override protected void drawGuiContainerForegroundLayer(int par1, int par2) { if (mContainer != null) { - TecTechFontRender.INSTANCE.drawSplitString("Parameters: " + ((GT_Container_Param) mContainer).param, 46, 7, 167, 0xffffff); - TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b07" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).input0d), 46, 16, 167, 0x22ddff); - TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b07" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).input1d), 46, 24, 167, 0x00ffff); - TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b06" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).value0d), 46, 33, 167, 0x00bbff); - TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b06" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).value1d), 46, 41, 167, 0x0077ff); + TecTechFontRender.INSTANCE.drawSplitString( + "Parameters: " + ((GT_Container_Param) mContainer).param, 46, 7, 167, 0xffffff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u24EA\u2b07" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).input0d), + 46, + 16, + 167, + 0x22ddff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u2460\u2b07" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).input1d), + 46, + 24, + 167, + 0x00ffff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u24EA\u2b06" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).value0d), + 46, + 33, + 167, + 0x00bbff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u2460\u2b06" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).value1d), + 46, + 41, + 167, + 0x0077ff); GL11.glPushMatrix(); - GL11.glScalef(.5f,.5f,.5f); - TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b06" + TT_Utility.longBitsToShortString(Double.doubleToLongBits(((GT_Container_Param) mContainer).value0d)), 92, 100, 334, 0x00bbff); - TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b06" + TT_Utility.longBitsToShortString(Double.doubleToLongBits(((GT_Container_Param) mContainer).value1d)), 92, 116, 334, 0x0077ff); + GL11.glScalef(.5f, .5f, .5f); + TecTechFontRender.INSTANCE.drawSplitString( + "\u24EA\u2b06" + + TT_Utility.longBitsToShortString( + Double.doubleToLongBits(((GT_Container_Param) mContainer).value0d)), + 92, + 100, + 334, + 0x00bbff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u2460\u2b06" + + TT_Utility.longBitsToShortString( + Double.doubleToLongBits(((GT_Container_Param) mContainer).value1d)), + 92, + 116, + 334, + 0x0077ff); GL11.glPopMatrix(); } else { TecTechFontRender.INSTANCE.drawSplitString("Parameters", 46, 7, 167, 0xffffff); diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java index f7ffa18ffc..512a70d0a5 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; @@ -7,8 +9,6 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; import org.lwjgl.opengl.GL11; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - public class GT_GUIContainer_ParamAdv extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_ParamAdv(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_ParamAdv(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "ParametrizerAdv.png"); @@ -17,17 +17,59 @@ public class GT_GUIContainer_ParamAdv extends GT_GUIContainerMetaTile_Machine { @Override protected void drawGuiContainerForegroundLayer(int par1, int par2) { if (mContainer != null) { - TecTechFontRender.INSTANCE.drawSplitString("Parameters X: " + ((GT_Container_ParamAdv) mContainer).param, 46, 7, 167, 0xffffff); - TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).input0d)), 46, 16, 167, 0x22ddff); - TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).input1d)), 46, 24, 167, 0x00ffff); - TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b06" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).value0d)), 46, 33, 167, 0x00bbff); - TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b06" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).value1d)), 46, 41, 167, 0x0077ff); + TecTechFontRender.INSTANCE.drawSplitString( + "Parameters X: " + ((GT_Container_ParamAdv) mContainer).param, 46, 7, 167, 0xffffff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u24EA\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).input0d)), + 46, + 16, + 167, + 0x22ddff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u2460\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).input1d)), + 46, + 24, + 167, + 0x00ffff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u24EA\u2b06" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).value0d)), + 46, + 33, + 167, + 0x00bbff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u2460\u2b06" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).value1d)), + 46, + 41, + 167, + 0x0077ff); GL11.glPushMatrix(); - GL11.glScalef(.5f,.5f,.5f); - TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b06" + TT_Utility.longBitsToShortString(Double.doubleToLongBits(((GT_Container_ParamAdv) mContainer).value0d)), 92, 100, 334, 0x00bbff); - TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b06" + TT_Utility.longBitsToShortString(Double.doubleToLongBits(((GT_Container_ParamAdv) mContainer).value1d)), 92, 116, 334, 0x0077ff); + GL11.glScalef(.5f, .5f, .5f); + TecTechFontRender.INSTANCE.drawSplitString( + "\u24EA\u2b06" + + TT_Utility.longBitsToShortString( + Double.doubleToLongBits(((GT_Container_ParamAdv) mContainer).value0d)), + 92, + 100, + 334, + 0x00bbff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u2460\u2b06" + + TT_Utility.longBitsToShortString( + Double.doubleToLongBits(((GT_Container_ParamAdv) mContainer).value1d)), + 92, + 116, + 334, + 0x0077ff); GL11.glPopMatrix(); - TecTechFontRender.INSTANCE.drawSplitString("Pointer " + Integer.toHexString(((GT_Container_ParamAdv) mContainer).pointer | 0x10000).substring(1), 46, 66, 167, 0x0033ff); + TecTechFontRender.INSTANCE.drawSplitString( + "Pointer " + + Integer.toHexString(((GT_Container_ParamAdv) mContainer).pointer | 0x10000) + .substring(1), + 46, + 66, + 167, + 0x0033ff); } else { TecTechFontRender.INSTANCE.drawSplitString("Parameters X", 46, 7, 167, 0xffffff); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java index e10f30076d..bff21e5f98 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + import com.github.technus.tectech.font.TecTechFontRender; import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_ParamText; @@ -7,13 +9,10 @@ import com.github.technus.tectech.thing.metaTileEntity.hatch.TextParametersMessa import com.github.technus.tectech.util.TT_Utility; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import java.util.Objects; import net.minecraft.client.gui.GuiTextField; import net.minecraft.entity.player.InventoryPlayer; -import java.util.Objects; - -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine { private GuiTextField value0tb; private GuiTextField value1tb; @@ -25,9 +24,19 @@ public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine { @Override public void initGui() { super.initGui(); - value0tb = new GuiTextField(TecTechFontRender.INSTANCE, (this.width - 176) / 2 + 12 + 14, (this.height - 166) / 2 + 26, 156 - 18, 12); + value0tb = new GuiTextField( + TecTechFontRender.INSTANCE, + (this.width - 176) / 2 + 12 + 14, + (this.height - 166) / 2 + 26, + 156 - 18, + 12); value0tb.setMaxStringLength(80); - value1tb = new GuiTextField(TecTechFontRender.INSTANCE, (this.width - 176) / 2 + 12 + 14, (this.height - 166) / 2 + 41, 156 - 18, 12); + value1tb = new GuiTextField( + TecTechFontRender.INSTANCE, + (this.width - 176) / 2 + 12 + 14, + (this.height - 166) / 2 + 41, + 156 - 18, + 12); value1tb.setMaxStringLength(80); updateValues(); } @@ -44,7 +53,8 @@ public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine { protected void keyTyped(char p_73869_1_, int p_73869_2_) { value0tb.textboxKeyTyped(p_73869_1_, p_73869_2_); value1tb.textboxKeyTyped(p_73869_1_, p_73869_2_); - if ((p_73869_2_ != 1 && p_73869_2_ != this.mc.gameSettings.keyBindInventory.getKeyCode()) || (!value0tb.isFocused() && !value1tb.isFocused())) { + if ((p_73869_2_ != 1 && p_73869_2_ != this.mc.gameSettings.keyBindInventory.getKeyCode()) + || (!value0tb.isFocused() && !value1tb.isFocused())) { super.keyTyped(p_73869_1_, p_73869_2_); } updateValues(); @@ -75,11 +85,22 @@ public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine { @Override protected void drawGuiContainerForegroundLayer(int par1, int par2) { if (mContainer != null) { - TecTechFontRender.INSTANCE.drawSplitString("Parameters tXt: " + ((GT_Container_ParamText) mContainer).param, 46, 7, 167, 0xffffff); + TecTechFontRender.INSTANCE.drawSplitString( + "Parameters tXt: " + ((GT_Container_ParamText) mContainer).param, 46, 7, 167, 0xffffff); TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b06", 10, 29, 16, 0x00bbff); TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b06", 10, 44, 16, 0x0077ff); - TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamText) mContainer).input0d)), 10, 56, 167, 0x22ddff); - TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamText) mContainer).input1d)), 10, 65, 167, 0x00ffff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u24EA\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamText) mContainer).input0d)), + 10, + 56, + 167, + 0x22ddff); + TecTechFontRender.INSTANCE.drawSplitString( + "\u2460\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamText) mContainer).input1d)), + 10, + 65, + 167, + 0x00ffff); } else { TecTechFontRender.INSTANCE.drawSplitString("Parameters tXt", 46, 7, 167, 0xffffff); } @@ -105,23 +126,33 @@ public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine { try { if (str.contains("b")) { String[] split = str.split("b"); - val = TT_Utility.bitStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_","")); + val = TT_Utility.bitStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", "")); } else if (str.contains("x")) { String[] split = str.split("x"); - val = TT_Utility.hexStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_","")); + val = TT_Utility.hexStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", "")); } else { val = TT_Utility.stringToDouble(str); } - if (!Objects.equals(((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value0s, value0tb.getText())) { + if (!Objects.equals( + ((GT_MetaTileEntity_Hatch_ParamText) + ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) + .value0s, + value0tb.getText())) { ((GT_Container_ParamText) mContainer).value0s = value0tb.getText(); ((GT_Container_ParamText) mContainer).value0d = val; - ((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value0s = value0tb.getText(); - - NetworkDispatcher.INSTANCE.sendToServer(new TextParametersMessage.ParametersTextUpdate( - (GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity())); + ((GT_MetaTileEntity_Hatch_ParamText) + ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) + .value0s = + value0tb.getText(); + + NetworkDispatcher.INSTANCE.sendToServer( + new TextParametersMessage.ParametersTextUpdate((GT_MetaTileEntity_Hatch_ParamText) + ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity())); } } catch (Exception e) { - value0tb.setText(((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value0s); + value0tb.setText(((GT_MetaTileEntity_Hatch_ParamText) + ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) + .value0s); } } } @@ -133,23 +164,33 @@ public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine { try { if (str.contains("b")) { String[] split = str.split("b"); - val = TT_Utility.bitStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_","")); + val = TT_Utility.bitStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", "")); } else if (str.contains("x")) { String[] split = str.split("x"); - val = TT_Utility.hexStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_","")); + val = TT_Utility.hexStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", "")); } else { val = TT_Utility.stringToDouble(str); } - if (!Objects.equals(((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value1s, value1tb.getText())) { + if (!Objects.equals( + ((GT_MetaTileEntity_Hatch_ParamText) + ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) + .value1s, + value1tb.getText())) { ((GT_Container_ParamText) mContainer).value1s = value1tb.getText(); ((GT_Container_ParamText) mContainer).value1d = val; - ((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value1s = value1tb.getText(); - - NetworkDispatcher.INSTANCE.sendToServer(new TextParametersMessage.ParametersTextUpdate( - (GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity())); + ((GT_MetaTileEntity_Hatch_ParamText) + ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) + .value1s = + value1tb.getText(); + + NetworkDispatcher.INSTANCE.sendToServer( + new TextParametersMessage.ParametersTextUpdate((GT_MetaTileEntity_Hatch_ParamText) + ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity())); } } catch (Exception e) { - value1tb.setText(((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value1s); + value1tb.setText(((GT_MetaTileEntity_Hatch_ParamText) + ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) + .value1s); } } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Uncertainty.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Uncertainty.java index 7d7dc1b656..5ef1ac9bc5 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Uncertainty.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Uncertainty.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.font.TecTechFontRender; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; @@ -7,8 +9,6 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; import org.lwjgl.opengl.GL11; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - public class GT_GUIContainer_Uncertainty extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_Uncertainty(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_Uncertainty(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Uncertainty.png"); @@ -37,76 +37,45 @@ public class GT_GUIContainer_Uncertainty extends GT_GUIContainerMetaTile_Machine y += 33; int state = ((GT_Container_Uncertainty) mContainer).status; switch (((GT_Container_Uncertainty) mContainer).mode) { - case 1://ooo oxo ooo - drawTexturedModalRect(x + 12, y + 12, - rU + (state == 0 ? 76 : 12), - Vs + 12, 10, 10); + case 1: // ooo oxo ooo + drawTexturedModalRect(x + 12, y + 12, rU + (state == 0 ? 76 : 12), Vs + 12, 10, 10); break; - case 2://ooo xox ooo - drawTexturedModalRect(x, y + 12, - rU + ((state & 1) == 0 ? 64 : 0), - Vs + 12, 10, 10); - drawTexturedModalRect(x + 24, y + 12, - rU + ((state & 2) == 0 ? 88 : 24), - Vs + 12, 10, 10); + case 2: // ooo xox ooo + drawTexturedModalRect(x, y + 12, rU + ((state & 1) == 0 ? 64 : 0), Vs + 12, 10, 10); + drawTexturedModalRect(x + 24, y + 12, rU + ((state & 2) == 0 ? 88 : 24), Vs + 12, 10, 10); break; - case 3://oxo xox oxo - drawTexturedModalRect(x + 12, y, - rU + ((state & 1) == 0 ? 76 : 12), - Vs, 10, 10); - drawTexturedModalRect(x, y + 12, - rU + ((state & 2) == 0 ? 64 : 0), - Vs + 12, 10, 10); - drawTexturedModalRect(x + 24, y + 12, - rU + ((state & 4) == 0 ? 88 : 24), - Vs + 12, 10, 10); - drawTexturedModalRect(x + 12, y + 24, - rU + ((state & 8) == 0 ? 76 : 12), - Vs + 24, 10, 10); + case 3: // oxo xox oxo + drawTexturedModalRect(x + 12, y, rU + ((state & 1) == 0 ? 76 : 12), Vs, 10, 10); + drawTexturedModalRect(x, y + 12, rU + ((state & 2) == 0 ? 64 : 0), Vs + 12, 10, 10); + drawTexturedModalRect(x + 24, y + 12, rU + ((state & 4) == 0 ? 88 : 24), Vs + 12, 10, 10); + drawTexturedModalRect(x + 12, y + 24, rU + ((state & 8) == 0 ? 76 : 12), Vs + 24, 10, 10); break; - case 4://xox ooo xox - drawTexturedModalRect(x, y, - rU + ((state & 1) == 0 ? 64 : 0), - Vs, 10, 10); - drawTexturedModalRect(x + 24, y, - rU + ((state & 2) == 0 ? 88 : 24), - Vs, 10, 10); - drawTexturedModalRect(x, y + 24, - rU + ((state & 4) == 0 ? 64 : 0), - Vs + 24, 10, 10); - drawTexturedModalRect(x + 24, y + 24, - rU + ((state & 8) == 0 ? 88 : 24), - Vs + 24, 10, 10); + case 4: // xox ooo xox + drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 64 : 0), Vs, 10, 10); + drawTexturedModalRect(x + 24, y, rU + ((state & 2) == 0 ? 88 : 24), Vs, 10, 10); + drawTexturedModalRect(x, y + 24, rU + ((state & 4) == 0 ? 64 : 0), Vs + 24, 10, 10); + drawTexturedModalRect(x + 24, y + 24, rU + ((state & 8) == 0 ? 88 : 24), Vs + 24, 10, 10); break; - case 5://xox oxo xox - drawTexturedModalRect(x, y, - rU + ((state & 1) == 0 ? 64 : 0), - Vs, 10, 10); - drawTexturedModalRect(x + 24, y, - rU + ((state & 2) == 0 ? 88 : 24), - Vs, 10, 10); - drawTexturedModalRect(x + 12, y + 12, - rU + ((state & 4) == 0 ? 76 : 12), - Vs + 12, 10, 10); - drawTexturedModalRect(x, y + 24, - rU + ((state & 8) == 0 ? 64 : 0), - Vs + 24, 10, 10); - drawTexturedModalRect(x + 24, y + 24, - rU + ((state & 16) == 0 ? 88 : 24), - Vs + 24, 10, 10); + case 5: // xox oxo xox + drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 64 : 0), Vs, 10, 10); + drawTexturedModalRect(x + 24, y, rU + ((state & 2) == 0 ? 88 : 24), Vs, 10, 10); + drawTexturedModalRect(x + 12, y + 12, rU + ((state & 4) == 0 ? 76 : 12), Vs + 12, 10, 10); + drawTexturedModalRect(x, y + 24, rU + ((state & 8) == 0 ? 64 : 0), Vs + 24, 10, 10); + drawTexturedModalRect(x + 24, y + 24, rU + ((state & 16) == 0 ? 88 : 24), Vs + 24, 10, 10); break; } x -= 6; y -= 6; for (int i = 0; i < 16; i++) { if (TecTech.RANDOM.nextInt(1000) < ((GT_Container_Uncertainty) mContainer).matrix[i]) { - drawTexturedModalRect(x + 12 * (i / 4), y + 12 * (i % 4), fU + 12 * (i / 4), V + 12 * (i % 4), 10, 10); + drawTexturedModalRect( + x + 12 * (i / 4), y + 12 * (i % 4), fU + 12 * (i / 4), V + 12 * (i % 4), 10, 10); } } if (((GT_Container_Uncertainty) mContainer).selection > -1) { int sel = ((GT_Container_Uncertainty) mContainer).selection; - drawTexturedModalRect(x + 12 * (sel / 4), y + 12 * (sel % 4), - bU + 12 * (sel / 4), V + 12 * (sel % 4), 10, 10); + drawTexturedModalRect( + x + 12 * (sel / 4), y + 12 * (sel % 4), bU + 12 * (sel / 4), V + 12 * (sel % 4), 10, 10); } } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_UncertaintyAdv.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_UncertaintyAdv.java index 51eaf64ce4..1e9bccfe88 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_UncertaintyAdv.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_UncertaintyAdv.java @@ -1,13 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; +import static org.lwjgl.opengl.GL11.*; + import com.github.technus.tectech.font.TecTechFontRender; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; -import static org.lwjgl.opengl.GL11.*; - public class GT_GUIContainer_UncertaintyAdv extends GT_GUIContainerMetaTile_Machine { protected static final short sX = 52, sY = 33, bU = 0, rU = 70, fU = 192, V = 210, Vs = 216; @@ -37,26 +37,26 @@ public class GT_GUIContainer_UncertaintyAdv extends GT_GUIContainerMetaTile_Mach y += sY; int state = ((GT_Container_Uncertainty) mContainer).status; switch (((GT_Container_Uncertainty) mContainer).mode) { - case 1://ooo oxo ooo + case 1: // ooo oxo ooo drawTexturedModalRect(x + 12, y + 12, rU + (state == 0 ? 76 : 12), Vs + 12, 10, 10); break; - case 2://ooo xox ooo + case 2: // ooo xox ooo drawTexturedModalRect(x, y + 12, rU + ((state & 1) == 0 ? 64 : 0), Vs + 12, 10, 10); drawTexturedModalRect(x + 24, y + 12, rU + ((state & 2) == 0 ? 88 : 24), Vs + 12, 10, 10); break; - case 3://oxo xox oxo + case 3: // oxo xox oxo drawTexturedModalRect(x + 12, y, rU + ((state & 1) == 0 ? 76 : 12), Vs, 10, 10); drawTexturedModalRect(x, y + 12, rU + ((state & 2) == 0 ? 64 : 0), Vs + 12, 10, 10); drawTexturedModalRect(x + 24, y + 12, rU + ((state & 4) == 0 ? 88 : 24), Vs + 12, 10, 10); drawTexturedModalRect(x + 12, y + 24, rU + ((state & 8) == 0 ? 76 : 12), Vs + 24, 10, 10); break; - case 4://xox ooo xox + case 4: // xox ooo xox drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 64 : 0), Vs, 10, 10); drawTexturedModalRect(x + 24, y, rU + ((state & 2) == 0 ? 88 : 24), Vs, 10, 10); drawTexturedModalRect(x, y + 24, rU + ((state & 4) == 0 ? 64 : 0), Vs + 24, 10, 10); drawTexturedModalRect(x + 24, y + 24, rU + ((state & 8) == 0 ? 88 : 24), Vs + 24, 10, 10); break; - case 5://xox ooo xox + case 5: // xox ooo xox drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 64 : 0), Vs, 10, 10); drawTexturedModalRect(x + 24, y, rU + ((state & 2) == 0 ? 88 : 24), Vs, 10, 10); drawTexturedModalRect(x + 12, y + 12, rU + ((state & 4) == 0 ? 76 : 12), Vs + 12, 10, 10); @@ -78,7 +78,8 @@ public class GT_GUIContainer_UncertaintyAdv extends GT_GUIContainerMetaTile_Mach glColor4f(1.0F, 1.0F, 1.0F, 1.0F); if (((GT_Container_Uncertainty) mContainer).selection > -1) { int sel = ((GT_Container_Uncertainty) mContainer).selection; - drawTexturedModalRect(x + 12 * (sel / 4), y + 12 * (sel % 4), bU + 12 * (sel / 4), V + 12 * (sel % 4), 10, 10); + drawTexturedModalRect( + x + 12 * (sel / 4), y + 12 * (sel % 4), bU + 12 * (sel / 4), V + 12 * (sel % 4), 10, 10); } } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java index a2996de081..45486183fd 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java @@ -1,5 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; @@ -17,54 +25,194 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_annihilation extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region variables - private static Textures.BlockIcons.CustomIcon ScreenOFF; - private static Textures.BlockIcons.CustomIcon ScreenON; - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.annihilation.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.annihilation.hint.1"),//2 - Elemental Hatches or Molecular Casing + // region variables + private static Textures.BlockIcons.CustomIcon ScreenOFF; + private static Textures.BlockIcons.CustomIcon ScreenON; + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.annihilation.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal( + "gt.blockmachines.multimachine.em.annihilation.hint.1"), // 2 - Elemental Hatches or Molecular Casing }; - //endregion + // endregion - //region structure - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {" ", " AB BA ", " AB BA ", " BBB ", " A A A ", "AA F AA", " A A A ", " BBB ", " AB BA ", " AB BA ", " "}, - {" ", " AB BA ", " EECEEECEE ", " EGGEEEGGE ", "ACGGGEGGGCA", "AEGGGDGGGEA", "ACGGGEGGGCA", " EGGEEEGGE ", " EECEEECEE ", " AB BA ", " "}, - {" ", " B B ", " EGGEGEGGE ", " G G ", " G G ", " G G ", " G G ", " G G ", " EGGEGEGGE ", " B B ", " "}, - {" AAA ", "AA BAB AA", "ACGGEGEGGCA", " G G ", " G G ", " G G ", " G G ", " G G ", "ACGGEGEGGCA", "AA BAB AA", " AAA "}, - {" AHHHA ", "BBBBBBBBBBB", "BEEEDEDEEEB", "BE EB", " G G ", " G G ", " G G ", "BE EB", "BEEEDEDEEEB", "BBBBBBBBBBB", " AHHHA "}, - {" AH~HA ", " ABBBA ", " EGGEEEGGE ", "BE EB", "AE EA", "FD DF", "AE EA", "BE EB", " EGGEEEGGE ", " ABBBA ", " AHHHA "}, - {" AHHHA ", "BBBBBBBBBBB", "BEEEDEDEEEB", "BE EB", " G G ", " G G ", " G G ", "BE EB", "BEEEDEDEEEB", "BBBBBBBBBBB", " AHHHA "}, - {" AAA ", "AA BAB AA", "ACGGEGEGGCA", " G G ", " G G ", " G G ", " G G ", " G G ", "ACGGEGEGGCA", "AA BAB AA", " AAA "}, - {" ", " B B ", " EGGEGEGGE ", " G G ", " G G ", " G G ", " G G ", " G G ", " EGGEGEGGE ", " B B ", " "}, - {" ", " AB BA ", " EECEEECEE ", " EGGEEEGGE ", "ACGGGEGGGCA", "AEGGGDGGGEA", "ACGGGEGGGCA", " EGGEEEGGE ", " EECEEECEE ", " AB BA ", " "}, - {" ", " AB BA ", " AB BA ", " BBB ", " A A A ", "AA F AA", " A A A ", " BBB ", " AB BA ", " AB BA ", " "} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('C', ofBlock(sBlockCasingsTT, 6)) - .addElement('D', ofBlock(sBlockCasingsTT, 10)) - .addElement('E', ofBlock(sBlockCasingsTT, 12)) - .addElement('G', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('H', ofHatchAdderOptional(GT_MetaTileEntity_EM_annihilation::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_annihilation::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) - .build(); - //endregion + // region structure + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + { + " ", + " AB BA ", + " AB BA ", + " BBB ", + " A A A ", + "AA F AA", + " A A A ", + " BBB ", + " AB BA ", + " AB BA ", + " " + }, + { + " ", + " AB BA ", + " EECEEECEE ", + " EGGEEEGGE ", + "ACGGGEGGGCA", + "AEGGGDGGGEA", + "ACGGGEGGGCA", + " EGGEEEGGE ", + " EECEEECEE ", + " AB BA ", + " " + }, + { + " ", + " B B ", + " EGGEGEGGE ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " EGGEGEGGE ", + " B B ", + " " + }, + { + " AAA ", + "AA BAB AA", + "ACGGEGEGGCA", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + "ACGGEGEGGCA", + "AA BAB AA", + " AAA " + }, + { + " AHHHA ", + "BBBBBBBBBBB", + "BEEEDEDEEEB", + "BE EB", + " G G ", + " G G ", + " G G ", + "BE EB", + "BEEEDEDEEEB", + "BBBBBBBBBBB", + " AHHHA " + }, + { + " AH~HA ", + " ABBBA ", + " EGGEEEGGE ", + "BE EB", + "AE EA", + "FD DF", + "AE EA", + "BE EB", + " EGGEEEGGE ", + " ABBBA ", + " AHHHA " + }, + { + " AHHHA ", + "BBBBBBBBBBB", + "BEEEDEDEEEB", + "BE EB", + " G G ", + " G G ", + " G G ", + "BE EB", + "BEEEDEDEEEB", + "BBBBBBBBBBB", + " AHHHA " + }, + { + " AAA ", + "AA BAB AA", + "ACGGEGEGGCA", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + "ACGGEGEGGCA", + "AA BAB AA", + " AAA " + }, + { + " ", + " B B ", + " EGGEGEGGE ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " EGGEGEGGE ", + " B B ", + " " + }, + { + " ", + " AB BA ", + " EECEEECEE ", + " EGGEEEGGE ", + "ACGGGEGGGCA", + "AEGGGDGGGEA", + "ACGGGEGGGCA", + " EGGEEEGGE ", + " EECEEECEE ", + " AB BA ", + " " + }, + { + " ", + " AB BA ", + " AB BA ", + " BBB ", + " A A A ", + "AA F AA", + " A A A ", + " BBB ", + " AB BA ", + " AB BA ", + " " + } + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement('C', ofBlock(sBlockCasingsTT, 6)) + .addElement('D', ofBlock(sBlockCasingsTT, 10)) + .addElement('E', ofBlock(sBlockCasingsTT, 12)) + .addElement('G', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'H', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_annihilation::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'F', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_annihilation::addElementalToMachineList, + textureOffset + 4, + 2, + sBlockCasingsTT, + 4)) + .build(); + // endregion public GT_MetaTileEntity_EM_annihilation(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -87,14 +235,24 @@ public class GT_MetaTileEntity_EM_annihilation extends GT_MetaTileEntity_Multibl @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.annihilation.name")) // Machine Type: Annihilation Generator - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.annihilation.desc.0")) // Controller block of the Annihilation Generator + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.annihilation.name")) // Machine Type: Annihilation Generator + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.annihilation.desc.0")) // Controller block of the + // Annihilation Generator .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(11, 11, 11, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.Elemental"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing"), 1) // Elemental Hatch: Any Molecular Casing - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.Elemental"), + translateToLocal("tt.keyword.Structure.AnyMolecularCasing"), + 1) // Elemental Hatch: Any Molecular Casing + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -108,11 +266,20 @@ public class GT_MetaTileEntity_EM_annihilation extends GT_MetaTileEntity_Multibl } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][12], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][12], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][12]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][12]}; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java index c0174ad510..9d595339d0 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java @@ -1,5 +1,15 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_decay.URANIUM_INGOT_MASS_DIFF; +import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_decay.URANIUM_MASS_TO_EU_INSTANT; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; @@ -17,131 +27,2386 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_decay.URANIUM_INGOT_MASS_DIFF; -import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_decay.URANIUM_MASS_TO_EU_INSTANT; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region variables + // region variables private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; - //todo CHECK VALUES - private static final double NEUTRONIUM_BLOCK_MASS = 4.1E17; - private static final double NEUTRONIUM_BLOCK_ATOM_COUNT = 2.4478671E44; - private static final double NEUTRONIUM_BLOCK_TO_EU_INSTANT = URANIUM_MASS_TO_EU_INSTANT * NEUTRONIUM_BLOCK_MASS / (URANIUM_INGOT_MASS_DIFF * 1.78266191e-36);//~ 5.314e40 - private static final double NEUTRON_TO_EU_INSTANT = NEUTRONIUM_BLOCK_TO_EU_INSTANT / NEUTRONIUM_BLOCK_ATOM_COUNT;//~ 0.00021708694 + // todo CHECK VALUES + private static final double NEUTRONIUM_BLOCK_MASS = 4.1E17; + private static final double NEUTRONIUM_BLOCK_ATOM_COUNT = 2.4478671E44; + private static final double NEUTRONIUM_BLOCK_TO_EU_INSTANT = URANIUM_MASS_TO_EU_INSTANT + * NEUTRONIUM_BLOCK_MASS + / (URANIUM_INGOT_MASS_DIFF * 1.78266191e-36); // ~ 5.314e40 + private static final double NEUTRON_TO_EU_INSTANT = + NEUTRONIUM_BLOCK_TO_EU_INSTANT / NEUTRONIUM_BLOCK_ATOM_COUNT; // ~ 0.00021708694 public boolean glassDome = false; - //endregion + // endregion - //Time dillatation - to slow down the explosion thing but REALLY REDUCE POWER OUTPUT - //Startcodes to startup - //per dim disable thingies + // Time dillatation - to slow down the explosion thing but REALLY REDUCE POWER OUTPUT + // Startcodes to startup + // per dim disable thingies - //region structure actual - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main_t1", transpose(new String[][]{ - {" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " CCCCCCCCC ", " C C ", " CCCCCCCCC ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " C C ", " DDDDD ", " DDCDCDD ", " CCCCDCCDCCDCCCC ", " DDDDDDD ", " CCCCDCCDCCDCCCC ", " DDCDCDD ", " DDDDD ", " C C ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " D ", " D ", " DDDDDDD ", " DD DD ", " D EEE D ", " CCC D EAAAE D CCC ", " DDD EAAAE DDD ", " CCC D EAAAE D CCC ", " D EEE D ", " DD DD ", " DDDDDDD ", " D ", " D ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " C C ", " C C ", " D ", " D ", " ", " ", " ", " ", " ", " CC CC ", " DD DD ", " CC CC ", " ", " ", " ", " ", " ", " D ", " D ", " C C ", " C C ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " C C ", " CCCCC ", " D ", " B ", " B ", " ", " ", " ", " ", " C C ", " CC CC ", " CDBB BBDC ", " CC CC ", " C C ", " ", " ", " ", " ", " B ", " B ", " D ", " CCCCC ", " C C ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " C C ", " C C ", " D ", " EEEBEEE ", " ", " ", " ", " ", " ", " E E ", " E E ", " CC E E CC ", " DB BD ", " CC E E CC ", " E E ", " E E ", " ", " ", " ", " ", " ", " EEEBEEE ", " D ", " C C ", " C C ", " ", " ", " ", " "}, - {" ", " ", " ", " C C ", " CCCCC ", " D ", " B ", " ", " ", " ", " ", " ", " ", " ", " C C ", " CC CC ", " CDB BDC ", " CC CC ", " C C ", " ", " ", " ", " ", " ", " ", " ", " B ", " D ", " CCCCC ", " C C ", " ", " ", " "}, - {" ", " ", " C C ", " C C ", " D ", " EEEBEEE ", " ", " ", " ", " ", " ", " ", " ", " E E ", " E E ", " CC E E CC ", " DB BD ", " CC E E CC ", " E E ", " E E ", " ", " ", " ", " ", " ", " ", " ", " EEEBEEE ", " D ", " C C ", " C C ", " ", " "}, - {" ", " ", " C C ", " D ", " B ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " DB BD ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " B ", " D ", " C C ", " ", " "}, - {" ", " C C ", " C C ", " D ", " B ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " CC CC ", " DB BD ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " B ", " D ", " C C ", " C C ", " "}, - {" ", " C C ", " D ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " D D ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " D ", " C C ", " "}, - {" ", " C C ", " D ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " D D ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " D ", " C C ", " "}, - {" CCCCCCC ", " C C ", " DDDDDDD ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " D D ", " D D ", "CCD DCC", " D D ", "CCD DCC", " D D ", " D D ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " DDDDDDD ", " C C ", " C C "}, - {" CCHHHHHCC ", " DDDDD ", " DD DD ", " ", " ", " E E ", " ", " E E ", " ", " ", " ", " ", " D D ", " D D ", " D D ", "CD DC", " D D ", "CD DC", " D D ", " D D ", " D D ", " ", " ", " ", " ", " E E ", " ", " E E ", " ", " ", " DD DD ", " DDDDD ", " C C "}, - {" CHHHHHHHC ", " DDCDCDD ", " D EEE D ", " ", " C C ", " E E ", " C C ", " E E ", " ", " ", " ", " ", " D D ", " D D ", " D D ", "CCE ECC", " DE ED ", "CCE ECC", " D D ", " D D ", " D D ", " ", " ", " ", " ", " E E ", " C C ", " E E ", " C C ", " ", " D EEE D ", " DDCDCDD ", " C C "}, - {" CHHFFFHHC ", " CCCCDCCDCCDCCCC ", " CCC D EAAAE D CCC ", " CC CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC E E CC ", " C C ", " CC CC ", " C C ", " C C ", "CCD DCC", "CD DC", "CCE ECC", "CCA ACC", "CDA ADC", "CCA ACC", "CCE ECC", "CD DC", "CCD DCC", " C C ", " C C ", " CC CC ", " C C ", " CC E E CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC CC ", " CCC D EAAAE D CCC ", " CCCCDCCDCCDCCCC ", " CCCCCCCCC "}, - {" CHHF~FHHC ", " DDDDDDD ", " DDD EAAAE DDD ", " DD DD ", " CDBB BBDC ", " DB BD ", " CDB BDC ", " DB BD ", " DB BD ", " DB BD ", " D D ", " D D ", " D D ", " D D ", " DE ED ", "CDA ADC", " DA AD ", "CDA ADC", " DE ED ", " D D ", " D D ", " D D ", " D D ", " DB BD ", " DB BD ", " DB BD ", " CDB BDC ", " DB BD ", " CDBB BBDC ", " DD DD ", " DDD EAAAE DDD ", " DDDDDDD ", " C C "}, - {" CHHFFFHHC ", " CCCCDCCDCCDCCCC ", " CCC D EAAAE D CCC ", " CC CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC E E CC ", " C C ", " CC CC ", " C C ", " C C ", "CCD DCC", "CD DC", "CCE ECC", "CCA ACC", "CDA ADC", "CCA ACC", "CCE ECC", "CD DC", "CCD DCC", " C C ", " C C ", " CC CC ", " C C ", " CC E E CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC CC ", " CCC D EAAAE D CCC ", " CCCCDCCDCCDCCCC ", " CCCCCCCCC "}, - {" CHHHHHHHC ", " DDCDCDD ", " D EEE D ", " ", " C C ", " E E ", " C C ", " E E ", " ", " ", " ", " ", " D D ", " D D ", " D D ", "CCE ECC", " DE ED ", "CCE ECC", " D D ", " D D ", " D D ", " ", " ", " ", " ", " E E ", " C C ", " E E ", " C C ", " ", " D EEE D ", " DDCDCDD ", " C C "}, - {" CCHHHHHCC ", " DDDDD ", " DD DD ", " ", " ", " E E ", " ", " E E ", " ", " ", " ", " ", " D D ", " D D ", " D D ", "CD DC", " D D ", "CD DC", " D D ", " D D ", " D D ", " ", " ", " ", " ", " E E ", " ", " E E ", " ", " ", " DD DD ", " DDDDD ", " C C "}, - {" CCCCCCC ", " C C ", " DDDDDDD ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " D D ", " D D ", "CCD DCC", " D D ", "CCD DCC", " D D ", " D D ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " DDDDDDD ", " C C ", " C C "}, - {" ", " C C ", " D ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " D D ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " D ", " C C ", " "}, - {" ", " C C ", " D ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " D D ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " D ", " C C ", " "}, - {" ", " C C ", " C C ", " D ", " B ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " CC CC ", " DB BD ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " B ", " D ", " C C ", " C C ", " "}, - {" ", " ", " C C ", " D ", " B ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " DB BD ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " B ", " D ", " C C ", " ", " "}, - {" ", " ", " C C ", " C C ", " D ", " EEEBEEE ", " ", " ", " ", " ", " ", " ", " ", " E E ", " E E ", " CC E E CC ", " DB BD ", " CC E E CC ", " E E ", " E E ", " ", " ", " ", " ", " ", " ", " ", " EEEBEEE ", " D ", " C C ", " C C ", " ", " "}, - {" ", " ", " ", " C C ", " CCCCC ", " D ", " B ", " ", " ", " ", " ", " ", " ", " ", " C C ", " CC CC ", " CDB BDC ", " CC CC ", " C C ", " ", " ", " ", " ", " ", " ", " ", " B ", " D ", " CCCCC ", " C C ", " ", " ", " "}, - {" ", " ", " ", " ", " C C ", " C C ", " D ", " EEEBEEE ", " ", " ", " ", " ", " ", " E E ", " E E ", " CC E E CC ", " DB BD ", " CC E E CC ", " E E ", " E E ", " ", " ", " ", " ", " ", " EEEBEEE ", " D ", " C C ", " C C ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " C C ", " CCCCC ", " D ", " B ", " B ", " ", " ", " ", " ", " C C ", " CC CC ", " CDBB BBDC ", " CC CC ", " C C ", " ", " ", " ", " ", " B ", " B ", " D ", " CCCCC ", " C C ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " C C ", " C C ", " D ", " D ", " ", " ", " ", " ", " ", " CC CC ", " DD DD ", " CC CC ", " ", " ", " ", " D ", " D ", " D ", " D ", " C C ", " C C ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " D ", " D ", " DDDDDDD ", " DD DD ", " D EEE D ", " CCC D EAAAE D CCC ", " DDD EAAAE DDD ", " CCC D EAAAE D CCC ", " D EEE D ", " DD DD ", " DDDDDDD ", " D ", " D ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " C C ", " DDDDD ", " DDCDCDD ", " CCCCDCCDCCDCCCC ", " DDDDDDD ", " CCCCDCCDCCDCCCC ", " DDCDCDD ", " DDDDD ", " C C ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " CCCCCCCCC ", " C C ", " CCCCCCCCC ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "} - })) - .addShape("main_t2", transpose(new String[][]{ - {" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " CCCCCCCCC ", " C C ", " CCCCCCCCC ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " GGC CGG ", " GGGC CGGG ", " GGGGC CGGGG ", " GGGGDDDDDGGGG ", " GGGDDCDCDDGGG ", " CCCCDCCDCCDCCCC ", " DDDDDDD ", " CCCCDCCDCCDCCCC ", " GGGDDCDCDDGGG ", " GGGGDDDDDGGGG ", " GGGGC CGGGG ", " GGGC CGGG ", " GGC CGG ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " C C ", " GGC CGG ", " GGGGC CGGGG ", " GGG D GGG ", " GGG D GGG ", " GG DDDDDDD GG ", " GG DD DD GG ", " GG D EEE D GG ", " CCC D EAAAE D CCC ", " DDD EAAAE DDD ", " CCC D EAAAE D CCC ", " GG D EEE D GG ", " GG DD DD GG ", " GG DDDDDDD GG ", " GGG D GGG ", " GGG D GGG ", " GGGGC CGGGG ", " GGC CGG ", " C C ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " C C ", " GGGC CGGG ", " GGG D GGG ", " GG D GG ", " GG GG ", " G G ", " GG GG ", " G G ", " G G ", " CC CC ", " DD DD ", " CC CC ", " G G ", " G G ", " GG GG ", " G G ", " GG GG ", " GG D GG ", " GGG D GGG ", " GGGC CGGG ", " C C ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " C C ", " GGGCCCCCGGG ", " GGG D GGG ", " GG B GG ", " GG B GG ", " G G ", " GG GG ", " G G ", " G G ", " C C ", " CC CC ", " CDBB BBDC ", " CC CC ", " C C ", " G G ", " G G ", " GG GG ", " G G ", " GG B GG ", " GG B GG ", " GGG D GGG ", " GGGCCCCCGGG ", " C C ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " C C ", " GGGGGC CGGGGG ", " GGG D GGG ", " GG EEEBEEE GG ", " GG GG ", " G G ", " GG GG ", " G G ", " G G ", " G E E G ", " G E E G ", " CC E E CC ", " DB BD ", " CC E E CC ", " G E E G ", " G E E G ", " G G ", " G G ", " GG GG ", " G G ", " GG GG ", " GG EEEBEEE GG ", " GGG D GGG ", " GGGGGC CGGGGG ", " C C ", " ", " ", " ", " "}, - {" ", " ", " ", " C C ", " GGGCCCCCGGG ", " GGG D GGG ", " GG B GG ", " G G ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " CC CC ", " CDB BDC ", " CC CC ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " G G ", " GG B GG ", " GGG D GGG ", " GGGCCCCCGGG ", " C C ", " ", " ", " "}, - {" ", " ", " C C ", " GGGC CGGG ", " GGG D GGG ", " GG EEEBEEE GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G E E G ", " G E E G ", " CC E E CC ", " DB BD ", " CC E E CC ", " G E E G ", " G E E G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG EEEBEEE GG ", " GGG D GGG ", " GGGC CGGG ", " C C ", " ", " "}, - {" ", " ", " GGC CGG ", " GGG D GGG ", " GG B GG ", " GG GG ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " DB BD ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " GG GG ", " GG B GG ", " GGG D GGG ", " GGC CGG ", " ", " "}, - {" ", " C C ", " GGGGC CGGGG ", " GG D GG ", " GG B GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " CC CC ", " DB BD ", " CC CC ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG B GG ", " GG D GG ", " GGGGC CGGGG ", " C C ", " "}, - {" ", " GGC CGG ", " GGG D GGG ", " GG GG ", " G G ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " D D ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " G G ", " GG GG ", " GGG D GGG ", " GGC CGG ", " "}, - {" ", " GGGC CGGG ", " GGG D GGG ", " G G ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " D D ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " G G ", " GGG D GGG ", " GGGC CGGG ", " "}, - {" CCCCCCC ", " GGGGC CGGGG ", " GG DDDDDDD GG ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GD DG ", " GD DG ", "CCD DCC", " D D ", "CCD DCC", " GD DG ", " GD DG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " GG DDDDDDD GG ", " GGGGC CGGGG ", " C C "}, - {" CCHHHHHCC ", " GGGGDDDDDGGGG ", " GG DD DD GG ", " G G ", " G G ", " G E E G ", " G G ", " G E E G ", " G G ", " G G ", " G G ", " G G ", " GD DG ", " GD DG ", " D D ", "CD DC", " D D ", "CD DC", " D D ", " GD DG ", " GD DG ", " G G ", " G G ", " G G ", " G G ", " G E E G ", " G G ", " G E E G ", " G G ", " G G ", " GG DD DD GG ", " GGGGDDDDDGGGG ", " C C "}, - {" CHHHHHHHC ", " GGGDDCDCDDGGG ", " GG D EEE D GG ", " G G ", " C C ", " G E E G ", " C C ", " G E E G ", " G G ", " G G ", " G G ", " G G ", " GD DG ", " D D ", " D D ", "CCE ECC", " DE ED ", "CCE ECC", " D D ", " D D ", " GD DG ", " G G ", " G G ", " G G ", " G G ", " G E E G ", " C C ", " G E E G ", " C C ", " G G ", " GG D EEE D GG ", " GGGDDCDCDDGGG ", " C C "}, - {" CHHFFFHHC ", " CCCCDCCDCCDCCCC ", " CCC D EAAAE D CCC ", " CC CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC E E CC ", " C C ", " CC CC ", " C C ", " C C ", "CCD DCC", "CD DC", "CCE ECC", "CCA ACC", "CDA ADC", "CCA ACC", "CCE ECC", "CD DC", "CCD DCC", " C C ", " C C ", " CC CC ", " C C ", " CC E E CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC CC ", " CCC D EAAAE D CCC ", " CCCCDCCDCCDCCCC ", " CCCCCCCCC "}, - {" CHHF~FHHC ", " DDDDDDD ", " DDD EAAAE DDD ", " DD DD ", " CDBB BBDC ", " DB BD ", " CDB BDC ", " DB BD ", " DB BD ", " DB BD ", " D D ", " D D ", " D D ", " D D ", " DE ED ", "CDA ADC", " DA AD ", "CDA ADC", " DE ED ", " D D ", " D D ", " D D ", " D D ", " DB BD ", " DB BD ", " DB BD ", " CDB BDC ", " DB BD ", " CDBB BBDC ", " DD DD ", " DDD EAAAE DDD ", " DDDDDDD ", " C C "}, - {" CHHFFFHHC ", " CCCCDCCDCCDCCCC ", " CCC D EAAAE D CCC ", " CC CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC E E CC ", " C C ", " CC CC ", " C C ", " C C ", "CCD DCC", "CD DC", "CCE ECC", "CCA ACC", "CDA ADC", "CCA ACC", "CCE ECC", "CD DC", "CCD DCC", " C C ", " C C ", " CC CC ", " C C ", " CC E E CC ", " CC CC ", " CC E E CC ", " CC CC ", " CC CC ", " CCC D EAAAE D CCC ", " CCCCDCCDCCDCCCC ", " CCCCCCCCC "}, - {" CHHHHHHHC ", " GGGDDCDCDDGGG ", " GG D EEE D GG ", " G G ", " C C ", " G E E G ", " C C ", " G E E G ", " G G ", " G G ", " G G ", " G G ", " GD DG ", " D D ", " D D ", "CCE ECC", " DE ED ", "CCE ECC", " D D ", " D D ", " GD DG ", " G G ", " G G ", " G G ", " G G ", " G E E G ", " C C ", " G E E G ", " C C ", " G G ", " GG D EEE D GG ", " GGGDDCDCDDGGG ", " C C "}, - {" CCHHHHHCC ", " GGGGDDDDDGGGG ", " GG DD DD GG ", " G G ", " G G ", " G E E G ", " G G ", " G E E G ", " G G ", " G G ", " G G ", " G G ", " GD DG ", " GD DG ", " D D ", "CD DC", " D D ", "CD DC", " D D ", " GD DG ", " GD DG ", " G G ", " G G ", " G G ", " G G ", " G E E G ", " G G ", " G E E G ", " G G ", " G G ", " GG DD DD GG ", " GGGGDDDDDGGGG ", " C C "}, - {" CCCCCCC ", " GGGGC CGGGG ", " GG DDDDDDD GG ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GD DG ", " GD DG ", "CCD DCC", " D D ", "CCD DCC", " GD DG ", " GD DG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " GG DDDDDDD GG ", " GGGGC CGGGG ", " C C "}, - {" ", " GGGC CGGG ", " GGG D GGG ", " G G ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " D D ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " G G ", " GGG D GGG ", " GGGC CGGG ", " "}, - {" ", " GGC CGG ", " GGG D GGG ", " GG GG ", " G G ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " D D ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " G G ", " GG GG ", " GGG D GGG ", " GGC CGG ", " "}, - {" ", " C C ", " GGGGC CGGGG ", " GG D GG ", " GG B GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " CC CC ", " DB BD ", " CC CC ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG B GG ", " GG D GG ", " GGGGC CGGGG ", " C C ", " "}, - {" ", " ", " GGC CGG ", " GGG D GGG ", " GG B GG ", " GG GG ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " DB BD ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " GG GG ", " GG B GG ", " GGG D GGG ", " GGC CGG ", " ", " "}, - {" ", " ", " C C ", " GGGC CGGG ", " GGG D GGG ", " GG EEEBEEE GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G E E G ", " G E E G ", " CC E E CC ", " DB BD ", " CC E E CC ", " G E E G ", " G E E G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG EEEBEEE GG ", " GGG D GGG ", " GGGC CGGG ", " C C ", " ", " "}, - {" ", " ", " ", " C C ", " GGGCCCCCGGG ", " GGG D GGG ", " GG B GG ", " G G ", " GG GG ", " G G ", " G G ", " G G ", " G G ", " G G ", " C C ", " CC CC ", " CDB BDC ", " CC CC ", " C C ", " G G ", " G G ", " G G ", " G G ", " G G ", " GG GG ", " G G ", " GG B GG ", " GGG D GGG ", " GGGCCCCCGGG ", " C C ", " ", " ", " "}, - {" ", " ", " ", " ", " C C ", " GGGGGC CGGGGG ", " GGG D GGG ", " GG EEEBEEE GG ", " GG GG ", " G G ", " GG GG ", " G G ", " G G ", " G E E G ", " G E E G ", " CC E E CC ", " DB BD ", " CC E E CC ", " G E E G ", " G E E G ", " G G ", " G G ", " GG GG ", " G G ", " GG GG ", " GG EEEBEEE GG ", " GGG D GGG ", " GGGGGC CGGGGG ", " C C ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " C C ", " GGGCCCCCGGG ", " GGG D GGG ", " GG B GG ", " GG B GG ", " G G ", " GG GG ", " G G ", " G G ", " C C ", " CC CC ", " CDBB BBDC ", " CC CC ", " C C ", " G G ", " G G ", " GG GG ", " G G ", " GG B GG ", " GG B GG ", " GGG D GGG ", " GGGCCCCCGGG ", " C C ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " C C ", " GGGC CGGG ", " GGG D GGG ", " GG D GG ", " GG GG ", " G G ", " GG GG ", " G G ", " G G ", " CC CC ", " DD DD ", " CC CC ", " G G ", " G G ", " GG GG ", " G D G ", " GG D GG ", " GG D GG ", " GGG D GGG ", " GGGC CGGG ", " C C ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " C C ", " GGC CGG ", " GGGGC CGGGG ", " GGG D GGG ", " GGG D GGG ", " GG DDDDDDD GG ", " GG DD DD GG ", " GG D EEE D GG ", " CCC D EAAAE D CCC ", " DDD EAAAE DDD ", " CCC D EAAAE D CCC ", " GG D EEE D GG ", " GG DD DD GG ", " GG DDDDDDD GG ", " GGG D GGG ", " GGG D GGG ", " GGGGC CGGGG ", " GGC CGG ", " C C ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " GGC CGG ", " GGGC CGGG ", " GGGGC CGGGG ", " GGGGDDDDDGGGG ", " GGGDDCDCDDGGG ", " CCCCDCCDCCDCCCC ", " DDDDDDD ", " CCCCDCCDCCDCCCC ", " GGGDDCDCDDGGG ", " GGGGDDDDDGGGG ", " GGGGC CGGGG ", " GGGC CGGG ", " GGC CGG ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " "}, - {" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " CCCCCCCCC ", " C C ", " CCCCCCCCC ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 10)) - .addElement('B', ofBlock(sBlockCasingsTT, 11)) - .addElement('C', ofBlock(sBlockCasingsTT, 12)) - .addElement('D', ofBlock(sBlockCasingsTT, 13)) - .addElement('E', ofBlock(sBlockCasingsTT, 14)) - .addElement('G', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('H', ofHatchAdderOptional(GT_MetaTileEntity_EM_bhg::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_bhg::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) - .build(); + // region structure actual + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main_t1", transpose(new String[][] { + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " C C ", + " CCCCCCCCC ", + " C C ", + " CCCCCCCCC ", + " C C ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " C C ", + " C C ", + " DDDDD ", + " DDCDCDD ", + " CCCCDCCDCCDCCCC ", + " DDDDDDD ", + " CCCCDCCDCCDCCCC ", + " DDCDCDD ", + " DDDDD ", + " C C ", + " C C ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " C C ", + " D ", + " D ", + " DDDDDDD ", + " DD DD ", + " D EEE D ", + " CCC D EAAAE D CCC ", + " DDD EAAAE DDD ", + " CCC D EAAAE D CCC ", + " D EEE D ", + " DD DD ", + " DDDDDDD ", + " D ", + " D ", + " C C ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " D ", + " D ", + " ", + " ", + " ", + " ", + " ", + " CC CC ", + " DD DD ", + " CC CC ", + " ", + " ", + " ", + " ", + " ", + " D ", + " D ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " C C ", + " CCCCC ", + " D ", + " B ", + " B ", + " ", + " ", + " ", + " ", + " C C ", + " CC CC ", + " CDBB BBDC ", + " CC CC ", + " C C ", + " ", + " ", + " ", + " ", + " B ", + " B ", + " D ", + " CCCCC ", + " C C ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " D ", + " EEEBEEE ", + " ", + " ", + " ", + " ", + " ", + " E E ", + " E E ", + " CC E E CC ", + " DB BD ", + " CC E E CC ", + " E E ", + " E E ", + " ", + " ", + " ", + " ", + " ", + " EEEBEEE ", + " D ", + " C C ", + " C C ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " C C ", + " CCCCC ", + " D ", + " B ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " CC CC ", + " CDB BDC ", + " CC CC ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " B ", + " D ", + " CCCCC ", + " C C ", + " ", + " ", + " " + }, + { + " ", + " ", + " C C ", + " C C ", + " D ", + " EEEBEEE ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " E E ", + " E E ", + " CC E E CC ", + " DB BD ", + " CC E E CC ", + " E E ", + " E E ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " EEEBEEE ", + " D ", + " C C ", + " C C ", + " ", + " " + }, + { + " ", + " ", + " C C ", + " D ", + " B ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " DB BD ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " B ", + " D ", + " C C ", + " ", + " " + }, + { + " ", + " C C ", + " C C ", + " D ", + " B ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " CC CC ", + " DB BD ", + " CC CC ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " B ", + " D ", + " C C ", + " C C ", + " " + }, + { + " ", + " C C ", + " D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " D D ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D ", + " C C ", + " " + }, + { + " ", + " C C ", + " D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " D D ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D ", + " C C ", + " " + }, + { + " CCCCCCC ", + " C C ", + " DDDDDDD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D ", + " D D ", + "CCD DCC", + " D D ", + "CCD DCC", + " D D ", + " D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DDDDDDD ", + " C C ", + " C C " + }, + { + " CCHHHHHCC ", + " DDDDD ", + " DD DD ", + " ", + " ", + " E E ", + " ", + " E E ", + " ", + " ", + " ", + " ", + " D D ", + " D D ", + " D D ", + "CD DC", + " D D ", + "CD DC", + " D D ", + " D D ", + " D D ", + " ", + " ", + " ", + " ", + " E E ", + " ", + " E E ", + " ", + " ", + " DD DD ", + " DDDDD ", + " C C " + }, + { + " CHHHHHHHC ", + " DDCDCDD ", + " D EEE D ", + " ", + " C C ", + " E E ", + " C C ", + " E E ", + " ", + " ", + " ", + " ", + " D D ", + " D D ", + " D D ", + "CCE ECC", + " DE ED ", + "CCE ECC", + " D D ", + " D D ", + " D D ", + " ", + " ", + " ", + " ", + " E E ", + " C C ", + " E E ", + " C C ", + " ", + " D EEE D ", + " DDCDCDD ", + " C C " + }, + { + " CHHFFFHHC ", + " CCCCDCCDCCDCCCC ", + " CCC D EAAAE D CCC ", + " CC CC ", + " CC CC ", + " CC E E CC ", + " CC CC ", + " CC E E CC ", + " C C ", + " CC CC ", + " C C ", + " C C ", + "CCD DCC", + "CD DC", + "CCE ECC", + "CCA ACC", + "CDA ADC", + "CCA ACC", + "CCE ECC", + "CD DC", + "CCD DCC", + " C C ", + " C C ", + " CC CC ", + " C C ", + " CC E E CC ", + " CC CC ", + " CC E E CC ", + " CC CC ", + " CC CC ", + " CCC D EAAAE D CCC ", + " CCCCDCCDCCDCCCC ", + " CCCCCCCCC " + }, + { + " CHHF~FHHC ", + " DDDDDDD ", + " DDD EAAAE DDD ", + " DD DD ", + " CDBB BBDC ", + " DB BD ", + " CDB BDC ", + " DB BD ", + " DB BD ", + " DB BD ", + " D D ", + " D D ", + " D D ", + " D D ", + " DE ED ", + "CDA ADC", + " DA AD ", + "CDA ADC", + " DE ED ", + " D D ", + " D D ", + " D D ", + " D D ", + " DB BD ", + " DB BD ", + " DB BD ", + " CDB BDC ", + " DB BD ", + " CDBB BBDC ", + " DD DD ", + " DDD EAAAE DDD ", + " DDDDDDD ", + " C C " + }, + { + " CHHFFFHHC ", + " CCCCDCCDCCDCCCC ", + " CCC D EAAAE D CCC ", + " CC CC ", + " CC CC ", + " CC E E CC ", + " CC CC ", + " CC E E CC ", + " C C ", + " CC CC ", + " C C ", + " C C ", + "CCD DCC", + "CD DC", + "CCE ECC", + "CCA ACC", + "CDA ADC", + "CCA ACC", + "CCE ECC", + "CD DC", + "CCD DCC", + " C C ", + " C C ", + " CC CC ", + " C C ", + " CC E E CC ", + " CC CC ", + " CC E E CC ", + " CC CC ", + " CC CC ", + " CCC D EAAAE D CCC ", + " CCCCDCCDCCDCCCC ", + " CCCCCCCCC " + }, + { + " CHHHHHHHC ", + " DDCDCDD ", + " D EEE D ", + " ", + " C C ", + " E E ", + " C C ", + " E E ", + " ", + " ", + " ", + " ", + " D D ", + " D D ", + " D D ", + "CCE ECC", + " DE ED ", + "CCE ECC", + " D D ", + " D D ", + " D D ", + " ", + " ", + " ", + " ", + " E E ", + " C C ", + " E E ", + " C C ", + " ", + " D EEE D ", + " DDCDCDD ", + " C C " + }, + { + " CCHHHHHCC ", + " DDDDD ", + " DD DD ", + " ", + " ", + " E E ", + " ", + " E E ", + " ", + " ", + " ", + " ", + " D D ", + " D D ", + " D D ", + "CD DC", + " D D ", + "CD DC", + " D D ", + " D D ", + " D D ", + " ", + " ", + " ", + " ", + " E E ", + " ", + " E E ", + " ", + " ", + " DD DD ", + " DDDDD ", + " C C " + }, + { + " CCCCCCC ", + " C C ", + " DDDDDDD ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D D ", + " D D ", + "CCD DCC", + " D D ", + "CCD DCC", + " D D ", + " D D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " DDDDDDD ", + " C C ", + " C C " + }, + { + " ", + " C C ", + " D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " D D ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D ", + " C C ", + " " + }, + { + " ", + " C C ", + " D ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " D D ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " D ", + " C C ", + " " + }, + { + " ", + " C C ", + " C C ", + " D ", + " B ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " CC CC ", + " DB BD ", + " CC CC ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " B ", + " D ", + " C C ", + " C C ", + " " + }, + { + " ", + " ", + " C C ", + " D ", + " B ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " DB BD ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " B ", + " D ", + " C C ", + " ", + " " + }, + { + " ", + " ", + " C C ", + " C C ", + " D ", + " EEEBEEE ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " E E ", + " E E ", + " CC E E CC ", + " DB BD ", + " CC E E CC ", + " E E ", + " E E ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " EEEBEEE ", + " D ", + " C C ", + " C C ", + " ", + " " + }, + { + " ", + " ", + " ", + " C C ", + " CCCCC ", + " D ", + " B ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " CC CC ", + " CDB BDC ", + " CC CC ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " B ", + " D ", + " CCCCC ", + " C C ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " D ", + " EEEBEEE ", + " ", + " ", + " ", + " ", + " ", + " E E ", + " E E ", + " CC E E CC ", + " DB BD ", + " CC E E CC ", + " E E ", + " E E ", + " ", + " ", + " ", + " ", + " ", + " EEEBEEE ", + " D ", + " C C ", + " C C ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " C C ", + " CCCCC ", + " D ", + " B ", + " B ", + " ", + " ", + " ", + " ", + " C C ", + " CC CC ", + " CDBB BBDC ", + " CC CC ", + " C C ", + " ", + " ", + " ", + " ", + " B ", + " B ", + " D ", + " CCCCC ", + " C C ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " D ", + " D ", + " ", + " ", + " ", + " ", + " ", + " CC CC ", + " DD DD ", + " CC CC ", + " ", + " ", + " ", + " D ", + " D ", + " D ", + " D ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " C C ", + " D ", + " D ", + " DDDDDDD ", + " DD DD ", + " D EEE D ", + " CCC D EAAAE D CCC ", + " DDD EAAAE DDD ", + " CCC D EAAAE D CCC ", + " D EEE D ", + " DD DD ", + " DDDDDDD ", + " D ", + " D ", + " C C ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " C C ", + " C C ", + " DDDDD ", + " DDCDCDD ", + " CCCCDCCDCCDCCCC ", + " DDDDDDD ", + " CCCCDCCDCCDCCCC ", + " DDCDCDD ", + " DDDDD ", + " C C ", + " C C ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " C C ", + " CCCCCCCCC ", + " C C ", + " CCCCCCCCC ", + " C C ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + } + })) + .addShape("main_t2", transpose(new String[][] { + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " C C ", + " CCCCCCCCC ", + " C C ", + " CCCCCCCCC ", + " C C ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " GGC CGG ", + " GGGC CGGG ", + " GGGGC CGGGG ", + " GGGGDDDDDGGGG ", + " GGGDDCDCDDGGG ", + " CCCCDCCDCCDCCCC ", + " DDDDDDD ", + " CCCCDCCDCCDCCCC ", + " GGGDDCDCDDGGG ", + " GGGGDDDDDGGGG ", + " GGGGC CGGGG ", + " GGGC CGGG ", + " GGC CGG ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " GGC CGG ", + " GGGGC CGGGG ", + " GGG D GGG ", + " GGG D GGG ", + " GG DDDDDDD GG ", + " GG DD DD GG ", + " GG D EEE D GG ", + " CCC D EAAAE D CCC ", + " DDD EAAAE DDD ", + " CCC D EAAAE D CCC ", + " GG D EEE D GG ", + " GG DD DD GG ", + " GG DDDDDDD GG ", + " GGG D GGG ", + " GGG D GGG ", + " GGGGC CGGGG ", + " GGC CGG ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " GGGC CGGG ", + " GGG D GGG ", + " GG D GG ", + " GG GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " CC CC ", + " DD DD ", + " CC CC ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GG GG ", + " GG D GG ", + " GGG D GGG ", + " GGGC CGGG ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " C C ", + " GGGCCCCCGGG ", + " GGG D GGG ", + " GG B GG ", + " GG B GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " C C ", + " CC CC ", + " CDBB BBDC ", + " CC CC ", + " C C ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GG B GG ", + " GG B GG ", + " GGG D GGG ", + " GGGCCCCCGGG ", + " C C ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " C C ", + " GGGGGC CGGGGG ", + " GGG D GGG ", + " GG EEEBEEE GG ", + " GG GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " G E E G ", + " G E E G ", + " CC E E CC ", + " DB BD ", + " CC E E CC ", + " G E E G ", + " G E E G ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GG GG ", + " GG EEEBEEE GG ", + " GGG D GGG ", + " GGGGGC CGGGGG ", + " C C ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " C C ", + " GGGCCCCCGGG ", + " GGG D GGG ", + " GG B GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " C C ", + " CC CC ", + " CDB BDC ", + " CC CC ", + " C C ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GG B GG ", + " GGG D GGG ", + " GGGCCCCCGGG ", + " C C ", + " ", + " ", + " " + }, + { + " ", + " ", + " C C ", + " GGGC CGGG ", + " GGG D GGG ", + " GG EEEBEEE GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G E E G ", + " G E E G ", + " CC E E CC ", + " DB BD ", + " CC E E CC ", + " G E E G ", + " G E E G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG EEEBEEE GG ", + " GGG D GGG ", + " GGGC CGGG ", + " C C ", + " ", + " " + }, + { + " ", + " ", + " GGC CGG ", + " GGG D GGG ", + " GG B GG ", + " GG GG ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " C C ", + " DB BD ", + " C C ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " GG GG ", + " GG B GG ", + " GGG D GGG ", + " GGC CGG ", + " ", + " " + }, + { + " ", + " C C ", + " GGGGC CGGGG ", + " GG D GG ", + " GG B GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " CC CC ", + " DB BD ", + " CC CC ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG B GG ", + " GG D GG ", + " GGGGC CGGGG ", + " C C ", + " " + }, + { + " ", + " GGC CGG ", + " GGG D GGG ", + " GG GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " C C ", + " D D ", + " C C ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GG GG ", + " GGG D GGG ", + " GGC CGG ", + " " + }, + { + " ", + " GGGC CGGG ", + " GGG D GGG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " C C ", + " D D ", + " C C ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GGG D GGG ", + " GGGC CGGG ", + " " + }, + { + " CCCCCCC ", + " GGGGC CGGGG ", + " GG DDDDDDD GG ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GD DG ", + " GD DG ", + "CCD DCC", + " D D ", + "CCD DCC", + " GD DG ", + " GD DG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " GG DDDDDDD GG ", + " GGGGC CGGGG ", + " C C " + }, + { + " CCHHHHHCC ", + " GGGGDDDDDGGGG ", + " GG DD DD GG ", + " G G ", + " G G ", + " G E E G ", + " G G ", + " G E E G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GD DG ", + " GD DG ", + " D D ", + "CD DC", + " D D ", + "CD DC", + " D D ", + " GD DG ", + " GD DG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G E E G ", + " G G ", + " G E E G ", + " G G ", + " G G ", + " GG DD DD GG ", + " GGGGDDDDDGGGG ", + " C C " + }, + { + " CHHHHHHHC ", + " GGGDDCDCDDGGG ", + " GG D EEE D GG ", + " G G ", + " C C ", + " G E E G ", + " C C ", + " G E E G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GD DG ", + " D D ", + " D D ", + "CCE ECC", + " DE ED ", + "CCE ECC", + " D D ", + " D D ", + " GD DG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G E E G ", + " C C ", + " G E E G ", + " C C ", + " G G ", + " GG D EEE D GG ", + " GGGDDCDCDDGGG ", + " C C " + }, + { + " CHHFFFHHC ", + " CCCCDCCDCCDCCCC ", + " CCC D EAAAE D CCC ", + " CC CC ", + " CC CC ", + " CC E E CC ", + " CC CC ", + " CC E E CC ", + " C C ", + " CC CC ", + " C C ", + " C C ", + "CCD DCC", + "CD DC", + "CCE ECC", + "CCA ACC", + "CDA ADC", + "CCA ACC", + "CCE ECC", + "CD DC", + "CCD DCC", + " C C ", + " C C ", + " CC CC ", + " C C ", + " CC E E CC ", + " CC CC ", + " CC E E CC ", + " CC CC ", + " CC CC ", + " CCC D EAAAE D CCC ", + " CCCCDCCDCCDCCCC ", + " CCCCCCCCC " + }, + { + " CHHF~FHHC ", + " DDDDDDD ", + " DDD EAAAE DDD ", + " DD DD ", + " CDBB BBDC ", + " DB BD ", + " CDB BDC ", + " DB BD ", + " DB BD ", + " DB BD ", + " D D ", + " D D ", + " D D ", + " D D ", + " DE ED ", + "CDA ADC", + " DA AD ", + "CDA ADC", + " DE ED ", + " D D ", + " D D ", + " D D ", + " D D ", + " DB BD ", + " DB BD ", + " DB BD ", + " CDB BDC ", + " DB BD ", + " CDBB BBDC ", + " DD DD ", + " DDD EAAAE DDD ", + " DDDDDDD ", + " C C " + }, + { + " CHHFFFHHC ", + " CCCCDCCDCCDCCCC ", + " CCC D EAAAE D CCC ", + " CC CC ", + " CC CC ", + " CC E E CC ", + " CC CC ", + " CC E E CC ", + " C C ", + " CC CC ", + " C C ", + " C C ", + "CCD DCC", + "CD DC", + "CCE ECC", + "CCA ACC", + "CDA ADC", + "CCA ACC", + "CCE ECC", + "CD DC", + "CCD DCC", + " C C ", + " C C ", + " CC CC ", + " C C ", + " CC E E CC ", + " CC CC ", + " CC E E CC ", + " CC CC ", + " CC CC ", + " CCC D EAAAE D CCC ", + " CCCCDCCDCCDCCCC ", + " CCCCCCCCC " + }, + { + " CHHHHHHHC ", + " GGGDDCDCDDGGG ", + " GG D EEE D GG ", + " G G ", + " C C ", + " G E E G ", + " C C ", + " G E E G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GD DG ", + " D D ", + " D D ", + "CCE ECC", + " DE ED ", + "CCE ECC", + " D D ", + " D D ", + " GD DG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G E E G ", + " C C ", + " G E E G ", + " C C ", + " G G ", + " GG D EEE D GG ", + " GGGDDCDCDDGGG ", + " C C " + }, + { + " CCHHHHHCC ", + " GGGGDDDDDGGGG ", + " GG DD DD GG ", + " G G ", + " G G ", + " G E E G ", + " G G ", + " G E E G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GD DG ", + " GD DG ", + " D D ", + "CD DC", + " D D ", + "CD DC", + " D D ", + " GD DG ", + " GD DG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G E E G ", + " G G ", + " G E E G ", + " G G ", + " G G ", + " GG DD DD GG ", + " GGGGDDDDDGGGG ", + " C C " + }, + { + " CCCCCCC ", + " GGGGC CGGGG ", + " GG DDDDDDD GG ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GD DG ", + " GD DG ", + "CCD DCC", + " D D ", + "CCD DCC", + " GD DG ", + " GD DG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " GG DDDDDDD GG ", + " GGGGC CGGGG ", + " C C " + }, + { + " ", + " GGGC CGGG ", + " GGG D GGG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " C C ", + " D D ", + " C C ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GGG D GGG ", + " GGGC CGGG ", + " " + }, + { + " ", + " GGC CGG ", + " GGG D GGG ", + " GG GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " C C ", + " D D ", + " C C ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GG GG ", + " GGG D GGG ", + " GGC CGG ", + " " + }, + { + " ", + " C C ", + " GGGGC CGGGG ", + " GG D GG ", + " GG B GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " CC CC ", + " DB BD ", + " CC CC ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG B GG ", + " GG D GG ", + " GGGGC CGGGG ", + " C C ", + " " + }, + { + " ", + " ", + " GGC CGG ", + " GGG D GGG ", + " GG B GG ", + " GG GG ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " C C ", + " DB BD ", + " C C ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " GG GG ", + " GG B GG ", + " GGG D GGG ", + " GGC CGG ", + " ", + " " + }, + { + " ", + " ", + " C C ", + " GGGC CGGG ", + " GGG D GGG ", + " GG EEEBEEE GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G E E G ", + " G E E G ", + " CC E E CC ", + " DB BD ", + " CC E E CC ", + " G E E G ", + " G E E G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG EEEBEEE GG ", + " GGG D GGG ", + " GGGC CGGG ", + " C C ", + " ", + " " + }, + { + " ", + " ", + " ", + " C C ", + " GGGCCCCCGGG ", + " GGG D GGG ", + " GG B GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " C C ", + " CC CC ", + " CDB BDC ", + " CC CC ", + " C C ", + " G G ", + " G G ", + " G G ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GG B GG ", + " GGG D GGG ", + " GGGCCCCCGGG ", + " C C ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " C C ", + " GGGGGC CGGGGG ", + " GGG D GGG ", + " GG EEEBEEE GG ", + " GG GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " G E E G ", + " G E E G ", + " CC E E CC ", + " DB BD ", + " CC E E CC ", + " G E E G ", + " G E E G ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GG GG ", + " GG EEEBEEE GG ", + " GGG D GGG ", + " GGGGGC CGGGGG ", + " C C ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " C C ", + " GGGCCCCCGGG ", + " GGG D GGG ", + " GG B GG ", + " GG B GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " C C ", + " CC CC ", + " CDBB BBDC ", + " CC CC ", + " C C ", + " G G ", + " G G ", + " GG GG ", + " G G ", + " GG B GG ", + " GG B GG ", + " GGG D GGG ", + " GGGCCCCCGGG ", + " C C ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " GGGC CGGG ", + " GGG D GGG ", + " GG D GG ", + " GG GG ", + " G G ", + " GG GG ", + " G G ", + " G G ", + " CC CC ", + " DD DD ", + " CC CC ", + " G G ", + " G G ", + " GG GG ", + " G D G ", + " GG D GG ", + " GG D GG ", + " GGG D GGG ", + " GGGC CGGG ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " GGC CGG ", + " GGGGC CGGGG ", + " GGG D GGG ", + " GGG D GGG ", + " GG DDDDDDD GG ", + " GG DD DD GG ", + " GG D EEE D GG ", + " CCC D EAAAE D CCC ", + " DDD EAAAE DDD ", + " CCC D EAAAE D CCC ", + " GG D EEE D GG ", + " GG DD DD GG ", + " GG DDDDDDD GG ", + " GGG D GGG ", + " GGG D GGG ", + " GGGGC CGGGG ", + " GGC CGG ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " GGC CGG ", + " GGGC CGGG ", + " GGGGC CGGGG ", + " GGGGDDDDDGGGG ", + " GGGDDCDCDDGGG ", + " CCCCDCCDCCDCCCC ", + " DDDDDDD ", + " CCCCDCCDCCDCCCC ", + " GGGDDCDCDDGGG ", + " GGGGDDDDDGGGG ", + " GGGGC CGGGG ", + " GGGC CGGG ", + " GGC CGG ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " C C ", + " C C ", + " C C ", + " CCCCCCCCC ", + " C C ", + " CCCCCCCCC ", + " C C ", + " C C ", + " C C ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + } + })) + .addElement('A', ofBlock(sBlockCasingsTT, 10)) + .addElement('B', ofBlock(sBlockCasingsTT, 11)) + .addElement('C', ofBlock(sBlockCasingsTT, 12)) + .addElement('D', ofBlock(sBlockCasingsTT, 13)) + .addElement('E', ofBlock(sBlockCasingsTT, 14)) + .addElement('G', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'H', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_bhg::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'F', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_bhg::addElementalToMachineList, + textureOffset + 4, + 2, + sBlockCasingsTT, + 4)) + .build(); @Override public IStructureDefinition getStructure_EM() { return STRUCTURE_DEFINITION; } - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.blackholegenerator.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.blackholegenerator.hint.1"),//2 - Elemental Hatches or Molecular Casing + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.blackholegenerator.hint.0"), // 1 - Classic Hatches or High Power + // Casing + translateToLocal( + "gt.blockmachines.multimachine.em.blackholegenerator.hint.1"), // 2 - Elemental Hatches or Molecular + // Casing }; - //endregion + // endregion public GT_MetaTileEntity_EM_bhg(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -256,9 +2521,9 @@ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_E return getLuminosity(massKg) + getAcretionDiskLuminosity(massKgPer1s) - getContainmentPower(massKg); } - //todo compaction energy 8 * Long.MAx_VALUE? + // todo compaction energy 8 * Long.MAx_VALUE? - //todo neutronium decay gen? 0.0007186885 mass diff - actually compute hydrogen amount... + // todo neutronium decay gen? 0.0007186885 mass diff - actually compute hydrogen amount... @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { @@ -275,21 +2540,32 @@ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_E glassDome = false; return true; } - //todo check tiers of hatches!!!! + // todo check tiers of hatches!!!! return false; } @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.blackholegenerator.name")) // Machine Type: Black Hole Generator - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.blackholegenerator.desc.0")) // Controller block of the Black Hole Generator - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.blackholegenerator.desc.1")) // Uses a black hole to generate power + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.blackholegenerator.name")) // Machine Type: Black Hole + // Generator + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.blackholegenerator.desc.0")) // Controller block of + // the Black Hole + // Generator + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.blackholegenerator.desc.1")) // Uses a black hole to + // generate power .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(33, 33, 33, false) - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), 1) // Energy Hatch: Any High Power Casing with 1 dot - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), 1) // Maintenance Hatch: Any High Power Casing with 1 dot + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), + 1) // Energy Hatch: Any High Power Casing with 1 dot + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), + 1) // Maintenance Hatch: Any High Power Casing with 1 dot .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -303,11 +2579,20 @@ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_E } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][12], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][12], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][12]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][12]}; } @Override 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 49d97e1e7b..7651cb22c4 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 @@ -1,6 +1,16 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import com.github.technus.tectech.TecTech; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.CommonValues.MULTI_CHECK_AT; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.dataTransport.QuantumDataPacket; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputData; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_OutputData; @@ -8,8 +18,6 @@ import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_H import com.github.technus.tectech.thing.metaTileEntity.multi.base.*; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; import com.github.technus.tectech.util.CommonValues; -import com.github.technus.tectech.util.TT_Utility; -import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; @@ -26,98 +34,73 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.IGT_HatchAdder; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.CommonValues.MULTI_CHECK_AT; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable { - //region variables +public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockBase_EM + implements ISurvivalConstructable { + // region variables private final ArrayList eRacks = new ArrayList<>(); private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; - //endregion - - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.computer.hint.0"),//1 - Classic/Data Hatches or Computer casing - translateToLocal("gt.blockmachines.multimachine.em.computer.hint.1"),//2 - Rack Hatches or Advanced computer casing + // endregion + + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.computer.hint.0"), // 1 - Classic/Data Hatches or Computer casing + translateToLocal( + "gt.blockmachines.multimachine.em.computer.hint.1"), // 2 - Rack Hatches or Advanced computer casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("front", transpose(new String[][]{ - {" AA"}, - {" AA"}, - {" ~A"}, - {" AA"} - })) - .addShape("cap", transpose(new String[][]{ - {"-CB"}, - {" DD"}, - {" DD"}, - {"-CB"} - })) - .addShape("slice", transpose(new String[][]{ - {"-CB"}, - {" ED"}, - {" ED"}, - {"-CB"} - })) - .addShape("back", transpose(new String[][]{ - {" AA"}, - {" AA"}, - {" AA"}, - {" AA"} - })) - .addElement('B', ofBlock(sBlockCasingsTT, 1)) - .addElement('C', ofBlock(sBlockCasingsTT, 2)) - .addElement('D', ofBlock(sBlockCasingsTT, 3)) - .addElement('A', classicHatches(textureOffset + 1, 1, sBlockCasingsTT, 1)) - .addElement('E', ofChain( - RackHatchElement.INSTANCE.newAny(textureOffset + 3, 2), - ofBlock(sBlockCasingsTT, 3) - )) - .build(); - //endregion - - //region parameters + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("front", transpose(new String[][] {{" AA"}, {" AA"}, {" ~A"}, {" AA"}})) + .addShape("cap", transpose(new String[][] {{"-CB"}, {" DD"}, {" DD"}, {"-CB"}})) + .addShape("slice", transpose(new String[][] {{"-CB"}, {" ED"}, {" ED"}, {"-CB"}})) + .addShape("back", transpose(new String[][] {{" AA"}, {" AA"}, {" AA"}, {" AA"}})) + .addElement('B', ofBlock(sBlockCasingsTT, 1)) + .addElement('C', ofBlock(sBlockCasingsTT, 2)) + .addElement('D', ofBlock(sBlockCasingsTT, 3)) + .addElement('A', classicHatches(textureOffset + 1, 1, sBlockCasingsTT, 1)) + .addElement( + 'E', + ofChain( + RackHatchElement.INSTANCE.newAny(textureOffset + 3, 2), + ofBlock(sBlockCasingsTT, 3))) + .build(); + // endregion + + // region parameters protected Parameters.Group.ParameterIn overclock, overvolt; protected Parameters.Group.ParameterOut maxCurrentTemp, availableData; - private static final INameFunction OC_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgi.0");//Overclock ratio - private static final INameFunction OV_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgi.1");//Overvoltage ratio - private static final INameFunction MAX_TEMP_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgo.0");//Current max. heat - private static final INameFunction COMPUTE_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgo.1");//Produced computation - private static final IStatusFunction OC_STATUS = + private static final INameFunction OC_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgi.0"); // Overclock ratio + private static final INameFunction OV_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgi.1"); // Overvoltage ratio + private static final INameFunction MAX_TEMP_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgo.0"); // Current max. heat + private static final INameFunction COMPUTE_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.computer.cfgo.1"); // Produced computation + private static final IStatusFunction OC_STATUS = (base, p) -> LedStatus.fromLimitsInclusiveOuterBoundary(p.get(), 0, 1, 1, 3); - private static final IStatusFunction OV_STATUS = + private static final IStatusFunction OV_STATUS = (base, p) -> LedStatus.fromLimitsInclusiveOuterBoundary(p.get(), .7, .8, 1.2, 2); private static final IStatusFunction MAX_TEMP_STATUS = (base, p) -> LedStatus.fromLimitsInclusiveOuterBoundary(p.get(), -10000, 0, 0, 5000); - private static final IStatusFunction COMPUTE_STATUS = (base, p) -> { + private static final IStatusFunction COMPUTE_STATUS = (base, p) -> { if (base.eAvailableData < 0) { return STATUS_TOO_LOW; } @@ -126,18 +109,18 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB } return STATUS_OK; }; - //endregion + // endregion public GT_MetaTileEntity_EM_computer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); eCertainMode = 5; - eCertainStatus = -128;//no-brain value + eCertainStatus = -128; // no-brain value } public GT_MetaTileEntity_EM_computer(String aName) { super(aName); eCertainMode = 5; - eCertainStatus = -128;//no-brain value + eCertainStatus = -128; // no-brain value } @Override @@ -197,7 +180,10 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { super.onPostTick(aBaseMetaTileEntity, aTick); - if (aBaseMetaTileEntity.isServerSide() && mMachine && !aBaseMetaTileEntity.isActive() && aTick % 20 == MULTI_CHECK_AT) { + if (aBaseMetaTileEntity.isServerSide() + && mMachine + && !aBaseMetaTileEntity.isActive() + && aTick % 20 == MULTI_CHECK_AT) { double maxTemp = 0; for (GT_MetaTileEntity_Hatch_Rack rack : eRacks) { if (!GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(rack)) { @@ -215,8 +201,8 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB public boolean checkRecipe_EM(ItemStack itemStack) { parametrization.setToDefaults(false, true); eAvailableData = 0; - double maxTemp = 0; - double overClockRatio = overclock.get(); + double maxTemp = 0; + double overClockRatio = overclock.get(); double overVoltageRatio = overvolt.get(); if (Double.isNaN(overClockRatio) || Double.isNaN(overVoltageRatio)) { return false; @@ -230,7 +216,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB return false; } short thingsActive = 0; - int rackComputation; + int rackComputation; for (GT_MetaTileEntity_Hatch_Rack rack : eRacks) { if (!GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(rack)) { @@ -248,7 +234,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB } for (GT_MetaTileEntity_Hatch_InputData di : eInputData) { - if (di.q != null)//ok for power losses + if (di.q != null) // ok for power losses { thingsActive++; } @@ -279,7 +265,8 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB @Override public void outputAfterRecipe_EM() { if (!eOutputData.isEmpty()) { - Vec3Impl pos = new Vec3Impl(getBaseMetaTileEntity().getXCoord(), + Vec3Impl pos = new Vec3Impl( + getBaseMetaTileEntity().getXCoord(), getBaseMetaTileEntity().getYCoord(), getBaseMetaTileEntity().getZCoord()); @@ -306,18 +293,38 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.computer.name")) // Machine Type: Quantum Computer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.computer.desc.0")) // Controller block of the Quantum Computer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.computer.desc.1")) // Used to generate computation (and heat) + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.computer.name")) // Machine Type: Quantum Computer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.computer.desc.0")) // Controller block of the Quantum Computer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.computer.desc.1")) // Used to generate computation (and heat) .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginVariableStructureBlock(2, 2, 4, 4, 5, 16, false) - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.certain.tier.07.name"), translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), 1) // Uncertainty Resolver: Any Computer Casing on first or last slice - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.DataConnector"), translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), 1) // Optical Connector: Any Computer Casing on first or last slice - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.rack.tier.08.name"), translateToLocal("tt.keyword.Structure.AnyAdvComputerCasingExceptOuter"), 2) // Computer Rack: Any Advanced Computer Casing, except the outer ones - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), translateToLocal ("tt.keyword.Structure.Optional") + " " + translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), 2) // Parametrizer: (optional) Any Computer Casing on first or last slice - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), 1) // Energy Hatch: Any Computer Casing on first or last slice - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), 1) // Maintenance Hatch: Any Computer Casing on first or last slice + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.certain.tier.07.name"), + translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), + 1) // Uncertainty Resolver: Any Computer Casing on first or last slice + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.DataConnector"), + translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), + 1) // Optical Connector: Any Computer Casing on first or last slice + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.rack.tier.08.name"), + translateToLocal("tt.keyword.Structure.AnyAdvComputerCasingExceptOuter"), + 2) // Computer Rack: Any Advanced Computer Casing, except the outer ones + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), + translateToLocal("tt.keyword.Structure.Optional") + " " + + translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), + 2) // Parametrizer: (optional) Any Computer Casing on first or last slice + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), + 1) // Energy Hatch: Any Computer Casing on first or last slice + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), + 1) // Maintenance Hatch: Any Computer Casing on first or last slice .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -331,11 +338,20 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][3], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][3], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][3]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][3]}; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafting.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafting.java index 822e6d6ddf..293baacb54 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafting.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafting.java @@ -1,5 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; @@ -17,51 +25,73 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_crafting extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region variables + // region variables private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; public static final String crafter = "EM Crafting"; - //endregion - - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.crafter.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.crafter.hint.1"),//2 - Elemental Hatches or Molecular Casing + // endregion + + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.crafter.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal( + "gt.blockmachines.multimachine.em.crafter.hint.1"), // 2 - Elemental Hatches or Molecular Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {" AAA ", "AAAAA", "A A", "BBBBB", "BGCGB", "BGGGB", "BGCGB", "BBBBB", "A A", "AAAAA", " AAA "}, - {"AHHHA", "AAAAA", " FFF ", "BBBBB", "GGGGG", "GGGGG", "GGGGG", "BBBBB", " FFF ", "AAAAA", "AHHHA"}, - {"AH~HA", "AAAAA", " FEF ", "BBEBB", "CGEGC", "GGDGG", "CGEGC", "BBEBB", " FEF ", "AAAAA", "AHHHA"}, - {"AHHHA", "AAAAA", " FFF ", "BBBBB", "GGGGG", "GGGGG", "GGGGG", "BBBBB", " FFF ", "AAAAA", "AHHHA"}, - {" AAA ", "AAAAA", "A A", "BBBBB", "BGCGB", "BGGGB", "BGCGB", "BBBBB", "A A", "AAAAA", " AAA "} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('C', ofBlock(sBlockCasingsTT, 6)) - .addElement('D', ofBlock(sBlockCasingsTT, 9)) - .addElement('E', ofBlock(sBlockCasingsTT, 10)) - .addElement('G', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('H', ofHatchAdderOptional(GT_MetaTileEntity_EM_crafting::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_crafting::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) - .build(); - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + { + " AAA ", "AAAAA", "A A", "BBBBB", "BGCGB", "BGGGB", "BGCGB", "BBBBB", "A A", "AAAAA", + " AAA " + }, + { + "AHHHA", "AAAAA", " FFF ", "BBBBB", "GGGGG", "GGGGG", "GGGGG", "BBBBB", " FFF ", "AAAAA", + "AHHHA" + }, + { + "AH~HA", "AAAAA", " FEF ", "BBEBB", "CGEGC", "GGDGG", "CGEGC", "BBEBB", " FEF ", "AAAAA", + "AHHHA" + }, + { + "AHHHA", "AAAAA", " FFF ", "BBBBB", "GGGGG", "GGGGG", "GGGGG", "BBBBB", " FFF ", "AAAAA", + "AHHHA" + }, + { + " AAA ", "AAAAA", "A A", "BBBBB", "BGCGB", "BGGGB", "BGCGB", "BBBBB", "A A", "AAAAA", + " AAA " + } + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement('C', ofBlock(sBlockCasingsTT, 6)) + .addElement('D', ofBlock(sBlockCasingsTT, 9)) + .addElement('E', ofBlock(sBlockCasingsTT, 10)) + .addElement('G', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'H', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_crafting::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'F', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_crafting::addElementalToMachineList, + textureOffset + 4, + 2, + sBlockCasingsTT, + 4)) + .build(); + // endregion public GT_MetaTileEntity_EM_crafting(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -92,24 +122,42 @@ public class GT_MetaTileEntity_EM_crafting extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.crafter.name")) // Machine Type: Matter Assembler - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.crafter.desc.0")) // Controller block of the Matter Assembler + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.crafter.name")) // Machine Type: Matter Assembler + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.crafter.desc.0")) // Controller block of the Matter Assembler .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(5, 5, 11, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.Elemental"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), 2) // Elemental Hatch: Any Molecular Casing with 2 dot - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.Elemental"), + translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), + 2) // Elemental Hatch: Any Molecular Casing with 2 dot + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][12], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][12], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][12]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][12]}; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java index 48aabf8da3..01eab07bd5 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java @@ -1,5 +1,15 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.mechanics.dataTransport.InventoryDataPacket; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputDataItems; @@ -9,7 +19,6 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContaine import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; import com.github.technus.tectech.util.CommonValues; -import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; @@ -24,6 +33,10 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_DataAccess; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.IGT_HatchAdder; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.IInventory; @@ -31,55 +44,45 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static net.minecraft.util.StatCollector.translateToLocal; - -public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable { - //region variables +public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockBase_EM + implements ISurvivalConstructable { + // region variables private final ArrayList eStacksDataOutputs = new ArrayList<>(); - private final ArrayList eDataAccessHatches = new ArrayList<>(); + private final ArrayList eDataAccessHatches = new ArrayList<>(); private boolean slave = false; - //endregion + // endregion - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.databank.hint.0"),//1 - Classic Hatches or high power casing - translateToLocal("gt.blockmachines.multimachine.em.databank.hint.1"),//2 - Data Access/Data Bank Master Hatches or computer casing + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.databank.hint.0"), // 1 - Classic Hatches or high power casing + translateToLocal( + "gt.blockmachines.multimachine.em.databank.hint.1"), // 2 - Data Access/Data Bank Master Hatches or + // computer casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {"BCCCB", "BDDDB", "BDDDB"}, - {"BC~CB", "BAAAB", "BDDDB"}, - {"BCCCB", "BDDDB", "BDDDB"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 1)) - .addElement('B', ofBlock(sBlockCasingsTT, 2)) - .addElement('C', classicHatches(textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('D', buildHatchAdder(GT_MetaTileEntity_EM_dataBank.class) - .atLeast(DataBankHatches.OutboundConnector, DataBankHatches.InboundConnector) - .casingIndex(textureOffset + 1) - .dot(2) - .buildAndChain( - DataBankHatches.DataStick.newAny(textureOffset + 1, 2), - ofBlock(sBlockCasingsTT, 1) - )) - .build(); - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {"BCCCB", "BDDDB", "BDDDB"}, + {"BC~CB", "BAAAB", "BDDDB"}, + {"BCCCB", "BDDDB", "BDDDB"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 1)) + .addElement('B', ofBlock(sBlockCasingsTT, 2)) + .addElement('C', classicHatches(textureOffset, 1, sBlockCasingsTT, 0)) + .addElement( + 'D', + buildHatchAdder(GT_MetaTileEntity_EM_dataBank.class) + .atLeast(DataBankHatches.OutboundConnector, DataBankHatches.InboundConnector) + .casingIndex(textureOffset + 1) + .dot(2) + .buildAndChain( + DataBankHatches.DataStick.newAny(textureOffset + 1, 2), + ofBlock(sBlockCasingsTT, 1))) + .build(); + // endregion public GT_MetaTileEntity_EM_dataBank(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -97,17 +100,33 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.databank.name")) // Machine Type: Data Bank - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.databank.desc.0")) // Controller block of the Data Bank - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.databank.desc.1")) // Used to supply Assembling Lines with more Data Sticks - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.databank.desc.2")) // and give multiple Assembling Lines access to the same Data Stick + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.databank.name")) // Machine Type: Data Bank + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.databank.desc.0")) // Controller block of the Data Bank + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.databank.desc.1")) // Used to supply Assembling Lines + // with more Data Sticks + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.databank.desc.2")) // and give multiple Assembling + // Lines access to the same Data + // Stick .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(5, 3, 3, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.DataAccessHatch"), translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 2) // Data Access Hatch: Any Computer Casing - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.dataoutass.tier.07.name"), translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 2) // Data Bank Master Connector: Any Computer Casing - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.DataAccessHatch"), + translateToLocal("tt.keyword.Structure.AnyComputerCasing"), + 2) // Data Access Hatch: Any Computer Casing + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.dataoutass.tier.07.name"), + translateToLocal("tt.keyword.Structure.AnyComputerCasing"), + 2) // Data Bank Master Connector: Any Computer Casing + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -163,18 +182,37 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png", true, false, true);//todo texture + return new GT_GUIContainer_MultiMachineEM( + aPlayerInventory, + aBaseMetaTileEntity, + getLocalName(), + "EMDisplay.png", + true, + false, + true); // todo texture } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][1], new TT_RenderedExtendedFacingTexture(aActive ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][1], + new TT_RenderedExtendedFacingTexture( + aActive + ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON + : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][1]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][1]}; } - public final static ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_hi_freq"); + public static final ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_hi_freq"); @Override @SideOnly(Side.CLIENT) @@ -193,7 +231,8 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_OutputDataItems) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); return eStacksDataOutputs.add((GT_MetaTileEntity_Hatch_OutputDataItems) aMetaTileEntity); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_DataAccess && !(aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputDataItems)) { + } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_DataAccess + && !(aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputDataItems)) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); return eDataAccessHatches.add(aMetaTileEntity); } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputDataItems) { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java index 2d07932c92..3c69391f17 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java @@ -1,5 +1,18 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.STATUS_OK; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.STATUS_TOO_LOW; +import static com.github.technus.tectech.util.CommonValues.VN; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti; @@ -31,69 +44,74 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import org.apache.commons.lang3.reflect.FieldUtils; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.STATUS_OK; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.STATUS_TOO_LOW; -import static com.github.technus.tectech.util.CommonValues.VN; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region variables + // region variables private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; - public static final double URANIUM_INGOT_MASS_DIFF = 1.6114516E10* EM_COUNT_PER_MATERIAL_AMOUNT; - private static final double URANIUM_MASS_TO_EU_PARTIAL = ConfigUtil.getDouble(MainConfig.get(), "balance/energy/generator/nuclear") * 3_000_000.0 / URANIUM_INGOT_MASS_DIFF; + public static final double URANIUM_INGOT_MASS_DIFF = 1.6114516E10 * EM_COUNT_PER_MATERIAL_AMOUNT; + private static final double URANIUM_MASS_TO_EU_PARTIAL = + ConfigUtil.getDouble(MainConfig.get(), "balance/energy/generator/nuclear") + * 3_000_000.0 + / URANIUM_INGOT_MASS_DIFF; public static final double URANIUM_MASS_TO_EU_INSTANT = URANIUM_MASS_TO_EU_PARTIAL * 20; private String clientLocale = "en_US"; - //endregion + // endregion - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.decay.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.decay.hint.1"),//2 - Elemental Hatches or Molecular Casing + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.decay.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.decay.hint.1"), // 2 - Elemental Hatches or Molecular Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main",transpose(new String[][]{ - {"A A","AAAAA","A A","ABBBA","ABCBA","ABBBA","A A","AAAAA","A A"}, - {" FFF ","AAAAA"," EEE ","BDDDB","BDDDB","BDDDB"," EEE ","AAAAA"," FFF "}, - {" F~F ","AAAAA"," EAE ","BDDDB","CDDDC","BDDDB"," EAE ","AAAAA"," FFF "}, - {" FFF ","AAAAA"," EEE ","BDDDB","BDDDB","BDDDB"," EEE ","AAAAA"," FFF "}, - {"A A","AAAAA","A A","ABBBA","ABCBA","ABBBA","A A","AAAAA","A A"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('C', ofBlock(sBlockCasingsTT, 6)) - .addElement('D', ofBlock(sBlockCasingsTT, 8)) - .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_decay::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_EM_decay::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) - .build(); - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {"A A", "AAAAA", "A A", "ABBBA", "ABCBA", "ABBBA", "A A", "AAAAA", "A A"}, + {" FFF ", "AAAAA", " EEE ", "BDDDB", "BDDDB", "BDDDB", " EEE ", "AAAAA", " FFF "}, + {" F~F ", "AAAAA", " EAE ", "BDDDB", "CDDDC", "BDDDB", " EAE ", "AAAAA", " FFF "}, + {" FFF ", "AAAAA", " EEE ", "BDDDB", "BDDDB", "BDDDB", " EEE ", "AAAAA", " FFF "}, + {"A A", "AAAAA", "A A", "ABBBA", "ABCBA", "ABBBA", "A A", "AAAAA", "A A"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement('C', ofBlock(sBlockCasingsTT, 6)) + .addElement('D', ofBlock(sBlockCasingsTT, 8)) + .addElement( + 'F', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_decay::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'E', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_decay::addElementalToMachineList, + textureOffset + 4, + 2, + sBlockCasingsTT, + 4)) + .build(); + // endregion - //region parameters + // region parameters protected Parameters.Group.ParameterIn ampereFlow; - private static final INameFunction FLOW_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.decay.conf");//Ampere divider + private static final INameFunction FLOW_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.em.decay.conf"); // Ampere divider private static final IStatusFunction FLOW_STATUS = (base, p) -> { if (base.eAmpereFlow <= 0) { return STATUS_TOO_LOW; } return STATUS_OK; }; - //endregion + // endregion public GT_MetaTileEntity_EM_decay(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -133,9 +151,11 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase outputEM[1] = new EMInstanceStackMap(); for (EMInstanceStack stack : outputEM[0].valuesToArray()) { - if (stack.getEnergy() == 0 && stack.getDefinition().decayMakesEnergy(1) && - getBaseMetaTileEntity().decreaseStoredEnergyUnits( - (long) (stack.getEnergySettingCost(1) * URANIUM_MASS_TO_EU_INSTANT), false)) { + if (stack.getEnergy() == 0 + && stack.getDefinition().decayMakesEnergy(1) + && getBaseMetaTileEntity() + .decreaseStoredEnergyUnits( + (long) (stack.getEnergySettingCost(1) * URANIUM_MASS_TO_EU_INSTANT), false)) { stack.setEnergy(1); } else if (!stack.getDefinition().decayMakesEnergy(stack.getEnergy())) { outputEM[0].removeKey(stack.getDefinition()); @@ -149,7 +169,7 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase return false; } double energyDose = -outputEM[0].tickContent(1, 0, 1) * URANIUM_MASS_TO_EU_PARTIAL; - mEUt = (int) ( energyDose / eAmpereFlow); + mEUt = (int) (energyDose / eAmpereFlow); return outputEM[0].hasStacks(); } @@ -164,22 +184,36 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.decay.name")) // Machine Type: Decay Generator - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.decay.desc.0")) // Controller block of the Decay Generator - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.decay.desc.1")) // Decays elemental matter to generate power + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.decay.name")) // Machine Type: Decay Generator + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.decay.desc.0")) // Controller block of the Decay Generator + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.decay.desc.1")) // Decays elemental matter to generate power .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(5, 5, 9, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.Elemental"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), 2) // Elemental Hatch: Any Molecular Casing with 2 dot - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), translateToLocal ("tt.keyword.Structure.Optional") + " " + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Parametrizer: (optional) Any High Power Casing - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.Elemental"), + translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), + 2) // Elemental Hatch: Any Molecular Casing with 2 dot + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), + translateToLocal("tt.keyword.Structure.Optional") + " " + + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Parametrizer: (optional) Any High Power Casing + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @Override - public String[] getInfoData() {//TODO Do it + public String[] getInfoData() { // TODO Do it long storedEnergy = 0; long maxEnergy = 0; for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { @@ -195,32 +229,42 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase } } - return new String[]{ - translateToLocalFormatted("tt.keyword.Progress", clientLocale) + ":", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(mProgresstime / 20) + EnumChatFormatting.RESET + " s / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(mMaxProgresstime / 20) + EnumChatFormatting.RESET + " s", - translateToLocalFormatted("tt.keyphrase.Energy_Hatches", clientLocale) + ":", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + " EU", - (mEUt <= 0 ? translateToLocalFormatted("tt.keyphrase.Probably_uses", clientLocale) + ": " : translateToLocalFormatted("tt.keyphrase.Probably_makes", clientLocale) + ": ") + - EnumChatFormatting.RED + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t at " + - EnumChatFormatting.RED + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", - translateToLocalFormatted("tt.keyphrase.Tier_Rating", clientLocale) + ": " + - EnumChatFormatting.YELLOW + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.GREEN + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " " + - translateToLocalFormatted("tt.keyphrase.Amp_Rating", clientLocale) + ": " + - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", - translateToLocalFormatted("tt.keyword.Problems", clientLocale) + ": " + - EnumChatFormatting.RED + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + " " + - translateToLocalFormatted("tt.keyword.Efficiency", clientLocale) + ": " + - EnumChatFormatting.YELLOW + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", - translateToLocalFormatted("tt.keyword.PowerPass", clientLocale) + ": " + - EnumChatFormatting.BLUE + ePowerPass + EnumChatFormatting.RESET + " " + - translateToLocalFormatted("tt.keyword.SafeVoid", clientLocale) + ": " + - EnumChatFormatting.BLUE + eSafeVoid, - translateToLocalFormatted("tt.keyword.Computation", clientLocale) + ": " + - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET, + return new String[] { + translateToLocalFormatted("tt.keyword.Progress", clientLocale) + ":", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(mProgresstime / 20) + EnumChatFormatting.RESET + " s / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(mMaxProgresstime / 20) + + EnumChatFormatting.RESET + " s", + translateToLocalFormatted("tt.keyphrase.Energy_Hatches", clientLocale) + ":", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + + " EU", + (mEUt <= 0 + ? translateToLocalFormatted("tt.keyphrase.Probably_uses", clientLocale) + ": " + : translateToLocalFormatted("tt.keyphrase.Probably_makes", clientLocale) + ": ") + + EnumChatFormatting.RED + + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t at " + + EnumChatFormatting.RED + + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", + translateToLocalFormatted("tt.keyphrase.Tier_Rating", clientLocale) + ": " + EnumChatFormatting.YELLOW + + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + EnumChatFormatting.GREEN + + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyphrase.Amp_Rating", clientLocale) + + ": " + EnumChatFormatting.GREEN + + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", + translateToLocalFormatted("tt.keyword.Problems", clientLocale) + ": " + EnumChatFormatting.RED + + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyword.Efficiency", clientLocale) + + ": " + EnumChatFormatting.YELLOW + + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", + translateToLocalFormatted("tt.keyword.PowerPass", clientLocale) + ": " + EnumChatFormatting.BLUE + + ePowerPass + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyword.SafeVoid", clientLocale) + + ": " + EnumChatFormatting.BLUE + + eSafeVoid, + translateToLocalFormatted("tt.keyword.Computation", clientLocale) + ": " + EnumChatFormatting.GREEN + + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " + + EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET, }; } @@ -233,11 +277,20 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][12], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][12], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][12]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][12]}; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java index ef26152a82..d2132869ee 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java @@ -1,5 +1,17 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.STABLE_RAW_LIFE_TIME; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refMass; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refUnstableMass; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; @@ -17,55 +29,64 @@ import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import java.util.ArrayList; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; -import java.util.ArrayList; - -import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.STABLE_RAW_LIFE_TIME; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refMass; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refUnstableMass; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_dequantizer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region structure - //use multi A energy inputs, use less power the longer it runs - - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {"CCC", "ABA", "EEE", "BDB"}, - {"C~C", "BBB", "EBE", "DFD"}, - {"CCC", "ABA", "EEE", "BDB"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 0)) - .addElement('B', ofBlock(sBlockCasingsTT, 4)) - .addElement('D', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('C', ofHatchAdderOptional(GT_MetaTileEntity_EM_dequantizer::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('F', ofHatchAdder(GT_MetaTileEntity_EM_dequantizer::addElementalInputToMachineList, textureOffset + 4, 2)) - .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_EM_dequantizer::addElementalMufflerToMachineList, textureOffset + 4, 3, sBlockCasingsTT, 4)) - .build(); - - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.emtomatter.hint.0"),//1 - Classic Hatches or High Power Casing" - translateToLocal("gt.blockmachines.multimachine.em.emtomatter.hint.1"),//2 - Elemental Input Hatch - translateToLocal("gt.blockmachines.multimachine.em.emtomatter.hint.2"),//3 - Elemental Overflow Hatches or Molecular Casing + // region structure + // use multi A energy inputs, use less power the longer it runs + + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {"CCC", "ABA", "EEE", "BDB"}, + {"C~C", "BBB", "EBE", "DFD"}, + {"CCC", "ABA", "EEE", "BDB"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 0)) + .addElement('B', ofBlock(sBlockCasingsTT, 4)) + .addElement('D', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'C', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_dequantizer::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'F', + ofHatchAdder( + GT_MetaTileEntity_EM_dequantizer::addElementalInputToMachineList, + textureOffset + 4, + 2)) + .addElement( + 'E', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_dequantizer::addElementalMufflerToMachineList, + textureOffset + 4, + 3, + sBlockCasingsTT, + 4)) + .build(); + + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.emtomatter.hint.0"), // 1 - Classic Hatches or High Power Casing" + translateToLocal("gt.blockmachines.multimachine.em.emtomatter.hint.1"), // 2 - Elemental Input Hatch + translateToLocal( + "gt.blockmachines.multimachine.em.emtomatter.hint.2"), // 3 - Elemental Overflow Hatches or Molecular + // Casing }; - //endregion + // endregion public GT_MetaTileEntity_EM_dequantizer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -78,7 +99,7 @@ public class GT_MetaTileEntity_EM_dequantizer extends GT_MetaTileEntity_Multiblo private void startRecipe(IEMStack from, long energy) { mMaxProgresstime = 20; mEfficiencyIncrease = 10000; - double mass = from.getMass(); + double mass = from.getMass(); double euMult = Math.abs(mass / refMass); eAmpereFlow = (int) Math.ceil(Math.sqrt(Math.sqrt(euMult))); if (mass > refUnstableMass || from.getDefinition().getRawTimeSpan(energy) < STABLE_RAW_LIFE_TIME) { @@ -103,17 +124,21 @@ public class GT_MetaTileEntity_EM_dequantizer extends GT_MetaTileEntity_Multiblo for (GT_MetaTileEntity_Hatch_InputElemental in : eInputHatches) { EMInstanceStackMap map = in.getContentHandler(); for (EMInstanceStack stack : map.valuesToArray()) { - EMDequantizationInfo emDequantizationInfo = TecTech.transformationInfo.getInfoMap().get(stack.getDefinition()); - if (emDequantizationInfo != null && emDequantizationInfo.getStack() != null && map.removeAllAmounts(emDequantizationInfo.getInput())) { + EMDequantizationInfo emDequantizationInfo = + TecTech.transformationInfo.getInfoMap().get(stack.getDefinition()); + if (emDequantizationInfo != null + && emDequantizationInfo.getStack() != null + && map.removeAllAmounts(emDequantizationInfo.getInput())) { Object out = emDequantizationInfo.getStack(); if (out instanceof ItemStack) { - mOutputItems = new ItemStack[]{emDequantizationInfo.getItem()}; + mOutputItems = new ItemStack[] {emDequantizationInfo.getItem()}; } else if (out instanceof FluidStack) { - mOutputFluids = new FluidStack[]{emDequantizationInfo.getFluid()}; + mOutputFluids = new FluidStack[] {emDequantizationInfo.getFluid()}; } else if (out instanceof OreDictionaryStack) { - ArrayList items = OreDictionary.getOres(OreDictionary.getOreName(emDequantizationInfo.getOre().getOreId())); + ArrayList items = OreDictionary.getOres(OreDictionary.getOreName( + emDequantizationInfo.getOre().getOreId())); if (items != null && !items.isEmpty()) { - mOutputItems = new ItemStack[]{items.get(0)}; + mOutputItems = new ItemStack[] {items.get(0)}; } } startRecipe(emDequantizationInfo.getInput(), stack.getEnergy()); @@ -127,17 +152,34 @@ public class GT_MetaTileEntity_EM_dequantizer extends GT_MetaTileEntity_Multiblo @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.emtomatter.name")) // Machine Type: Matter Dequantizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.emtomatter.desc.0")) // Controller block of the Matter Dequantizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.emtomatter.desc.1")) // Transforms elemental matter back into items + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.emtomatter.name")) // Machine Type: Matter Dequantizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.emtomatter.desc.0")) // Controller block of the Matter + // Dequantizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.emtomatter.desc.1")) // Transforms elemental matter + // back into items .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(3, 3, 4, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalInput"), translateToLocal("tt.keyword.Structure.BackCenter"), 2) // Elemental Input Hatch: Back center - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOverflow"), translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd"), 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 3rd slice - .addOutputBus(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Output Bus: Any High Power Casing on the front side - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Energy Hatch: Any High Power Casing on the front side - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Maintenance Hatch: Any High Power Casing on the front side + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalInput"), + translateToLocal("tt.keyword.Structure.BackCenter"), + 2) // Elemental Input Hatch: Back center + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOverflow"), + translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd"), + 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 3rd slice + .addOutputBus( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Output Bus: Any High Power Casing on the front side + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Energy Hatch: Any High Power Casing on the front side + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Maintenance Hatch: Any High Power Casing on the front side .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java index 51262076cd..65ebff7a6e 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java @@ -1,5 +1,14 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.GregTech_API.mEUtoRF; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import cofh.api.energy.IEnergyContainerItem; import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; @@ -25,15 +34,6 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.GregTech_API.mEUtoRF; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ @@ -43,26 +43,33 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa private static final long usedEuPerDurability = 1000; private static final int usedUumPerDurability = 1; - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.infuser.hint"),//1 - Classic Hatches or High Power Casing + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.infuser.hint"), // 1 - Classic Hatches or High Power Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {"CCC", "CCC", "CCC"}, - {"BBB", "BAB", "BBB"}, - {"A~A", "AAA", "AAA"}, - {"BBB", "BAB", "BBB"}, - {"CCC", "CCC", "CCC"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 7)) - .addElement('C', ofHatchAdderOptional(GT_MetaTileEntity_EM_infuser::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .build(); - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {"CCC", "CCC", "CCC"}, + {"BBB", "BAB", "BBB"}, + {"A~A", "AAA", "AAA"}, + {"BBB", "BAB", "BBB"}, + {"CCC", "CCC", "CCC"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 7)) + .addElement( + 'C', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_infuser::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .build(); + // endregion public GT_MetaTileEntity_EM_infuser(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -83,9 +90,10 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa Item item = stack.getItem(); if (stack.stackSize == 1) { if (item instanceof IElectricItem) { - return ElectricItem.manager.getCharge(stack) >= ((IElectricItem)item).getMaxCharge(stack); + return ElectricItem.manager.getCharge(stack) >= ((IElectricItem) item).getMaxCharge(stack); } else if (TecTech.hasCOFH && item instanceof IEnergyContainerItem) { - return ((IEnergyContainerItem)item).getEnergyStored(stack) >= ((IEnergyContainerItem)item).getMaxEnergyStored(stack); + return ((IEnergyContainerItem) item).getEnergyStored(stack) + >= ((IEnergyContainerItem) item).getMaxEnergyStored(stack); } } return true; @@ -103,9 +111,7 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa try { double euDiff = item.getMaxCharge(stack) - ElectricItem.manager.getCharge(stack); long remove = (long) Math.ceil( - ElectricItem.manager.charge(stack, - Math.min(euDiff, getEUVar()) - , item.getTier(stack), true, false)); + ElectricItem.manager.charge(stack, Math.min(euDiff, getEUVar()), item.getTier(stack), true, false)); setEUVar(getEUVar() - remove); if (getEUVar() < 0) { setEUVar(0); @@ -121,7 +127,8 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa private long doChargeItemStackRF(IEnergyContainerItem item, ItemStack stack) { try { - long RF = Math.min(item.getMaxEnergyStored(stack) - item.getEnergyStored(stack), getEUVar() * mEUtoRF / 100L); + long RF = + Math.min(item.getMaxEnergyStored(stack) - item.getEnergyStored(stack), getEUVar() * mEUtoRF / 100L); RF = item.receiveEnergy(stack, RF > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int) RF, false); RF = RF * 100L / mEUtoRF; setEUVar(getEUVar() - RF); @@ -188,12 +195,22 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa } } else { if (item.isRepairable()) { - FluidStack uum = getStoredFluids().stream().filter(fluid -> Materials.UUMatter.getFluid(1).isFluidEqual(fluid)).findAny().orElse(null); + FluidStack uum = getStoredFluids().stream() + .filter(fluid -> Materials.UUMatter.getFluid(1) + .isFluidEqual(fluid)) + .findAny() + .orElse(null); if (uum != null) { - int repairedDamage = Math.min(item.getDamage(itemStackInBus), maxRepairedDamagePerOperation); + int repairedDamage = + Math.min(item.getDamage(itemStackInBus), maxRepairedDamagePerOperation); long euCost = repairedDamage * usedEuPerDurability; - if (getEUVar() >= euCost && depleteInput(new FluidStack(Materials.UUMatter.mFluid,repairedDamage * usedUumPerDurability))) { - item.setDamage(itemStackInBus, Math.max(item.getDamage(itemStackInBus) - repairedDamage, 0)); + if (getEUVar() >= euCost + && depleteInput(new FluidStack( + Materials.UUMatter.mFluid, + repairedDamage * usedUumPerDurability))) { + item.setDamage( + itemStackInBus, + Math.max(item.getDamage(itemStackInBus) - repairedDamage, 0)); setEUVar(Math.min(getEUVar() - euCost, 0)); } } @@ -219,18 +236,41 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.infuser.name")) // Machine Type: Energy Infuser - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.0")) // Controller block of the Energy Infuser - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.1")) // Can be used to charge items (lossless) - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.infuser.desc.2")) // Can be fed with UU-Matter to repair items + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.infuser.name")) // Machine Type: Energy Infuser + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.infuser.desc.0")) // Controller block of the Energy Infuser + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.infuser.desc.1")) // Can be used to charge items (lossless) + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.infuser.desc.2")) // Can be fed with UU-Matter to repair items .addSeparator() .beginStructureBlock(3, 5, 3, false) - .addController(translateToLocal("tt.keyword.Structure.FrontCenter3rd")) // Controller: Front 3rd layer center - .addOtherStructurePart(translateToLocal("gt.blockcasingsTT.0.name"), translateToLocal("gt.blockmachines.multimachine.em.infuser.Structure.HighPowerCasing")) // High Power Casing: Layer 1 and 5 - .addOtherStructurePart(translateToLocal("gt.blockcasingsTT.7.name"), translateToLocal("gt.blockmachines.multimachine.em.infuser.Structure.MolecularCoil")) // Molecular Coil: Layer 2 and 4 - .addOtherStructurePart(translateToLocal("gt.blockcasingsTT.4.name"), translateToLocal("gt.blockmachines.multimachine.em.infuser.Structure.MolecularCasing")) // Molecular Casing: Layer 3 (hollow) - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing + .addController( + translateToLocal("tt.keyword.Structure.FrontCenter3rd")) // Controller: Front 3rd layer center + .addOtherStructurePart( + translateToLocal("gt.blockcasingsTT.0.name"), + translateToLocal( + "gt.blockmachines.multimachine.em.infuser.Structure.HighPowerCasing")) // High Power + // Casing: Layer + // 1 and 5 + .addOtherStructurePart( + translateToLocal("gt.blockcasingsTT.7.name"), + translateToLocal( + "gt.blockmachines.multimachine.em.infuser.Structure.MolecularCoil")) // Molecular Coil: + // Layer 2 and 4 + .addOtherStructurePart( + translateToLocal("gt.blockcasingsTT.4.name"), + translateToLocal( + "gt.blockmachines.multimachine.em.infuser.Structure.MolecularCasing")) // Molecular + // Casing: Layer + // 3 (hollow) + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_GENERAL); return tt; } @@ -242,10 +282,11 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png", true, false, true); + return new GT_GUIContainer_MultiMachineEM( + aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png", true, false, true); } - public final static ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_whooum"); + public static final ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_whooum"); @Override @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java index bcf943c339..5342393157 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java @@ -1,5 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputElemental; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_OutputElemental; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; @@ -16,77 +24,85 @@ import gregtech.api.util.GT_Utility; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_junction extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region structure - //use multi A energy inputs, use less power the longer it runs - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.junction.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.junction.hint.1"),//2 - Elemental Hatches or Molecular Casing + // region structure + // use multi A energy inputs, use less power the longer it runs + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.junction.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal( + "gt.blockmachines.multimachine.em.junction.hint.1"), // 2 - Elemental Hatches or Molecular Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", new String[][]{ - {"CCC", "C~C", "CCC"}, - {"AAA", "AAA", "AAA"}, - {"DDD", "DAD", "DDD"}, - {"DDD", "DDD", "DDD"} - }) - .addShape("mainBig", new String[][]{ - {" A ", " CCC ", "AC~CA", " CCC ", " A "}, - {" DDD ", "DAAAD", "DAAAD", "DAAAD", " DDD "}, - {"ADDDA", "DAAAD", "DABAD", "DAAAD", "ADDDA"}, - {" DDD ", "DAAAD", "DAAAD", "DAAAD", " DDD "}, - {" A ", "DDDDD", "ADDDA", "DDDDD", " A "} - }) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('C', ofHatchAdderOptional(GT_MetaTileEntity_EM_junction::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('D', ofHatchAdderOptional(GT_MetaTileEntity_EM_junction::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) - .build(); - //endregion - - //region parameters - private static final INameFunction ROUTE_NAME = - (base, p) -> (p.parameterId() == 0 ? translateToLocal("tt.keyword.Source") + " " : translateToLocal("tt.keyword.Destination") + " ") + p.hatchId(); - private static final IStatusFunction SRC_STATUS = - (base, p) -> { - double v = p.get(); - if (Double.isNaN(v)) return STATUS_WRONG; - v = (int) v; - if (v < 0) return STATUS_TOO_LOW; - if (v == 0) return STATUS_NEUTRAL; - if (v > base.eOutputHatches.size()) return STATUS_TOO_HIGH; - return STATUS_OK; - }; - private static final IStatusFunction DST_STATUS = - (base, p) -> { - if (base.src[p.hatchId()].getStatus(false) == STATUS_OK) { - double v = p.get(); - if (Double.isNaN(v)) return STATUS_WRONG; - v = (int) v; - if (v < 0) return STATUS_TOO_LOW; - if (v == 0) return STATUS_LOW; - if (v > base.eInputHatches.size()) return STATUS_TOO_HIGH; - return STATUS_OK; - } - return STATUS_NEUTRAL; - }; - protected Parameters.Group.ParameterIn[] src; - protected Parameters.Group.ParameterIn[] dst; - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", new String[][] { + {"CCC", "C~C", "CCC"}, + {"AAA", "AAA", "AAA"}, + {"DDD", "DAD", "DDD"}, + {"DDD", "DDD", "DDD"} + }) + .addShape("mainBig", new String[][] { + {" A ", " CCC ", "AC~CA", " CCC ", " A "}, + {" DDD ", "DAAAD", "DAAAD", "DAAAD", " DDD "}, + {"ADDDA", "DAAAD", "DABAD", "DAAAD", "ADDDA"}, + {" DDD ", "DAAAD", "DAAAD", "DAAAD", " DDD "}, + {" A ", "DDDDD", "ADDDA", "DDDDD", " A "} + }) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement( + 'C', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_junction::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'D', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_junction::addElementalToMachineList, + textureOffset + 4, + 2, + sBlockCasingsTT, + 4)) + .build(); + // endregion + + // region parameters + private static final INameFunction ROUTE_NAME = (base, p) -> (p.parameterId() == 0 + ? translateToLocal("tt.keyword.Source") + " " + : translateToLocal("tt.keyword.Destination") + " ") + + p.hatchId(); + private static final IStatusFunction SRC_STATUS = (base, p) -> { + double v = p.get(); + if (Double.isNaN(v)) return STATUS_WRONG; + v = (int) v; + if (v < 0) return STATUS_TOO_LOW; + if (v == 0) return STATUS_NEUTRAL; + if (v > base.eOutputHatches.size()) return STATUS_TOO_HIGH; + return STATUS_OK; + }; + private static final IStatusFunction DST_STATUS = (base, p) -> { + if (base.src[p.hatchId()].getStatus(false) == STATUS_OK) { + double v = p.get(); + if (Double.isNaN(v)) return STATUS_WRONG; + v = (int) v; + if (v < 0) return STATUS_TOO_LOW; + if (v == 0) return STATUS_LOW; + if (v > base.eInputHatches.size()) return STATUS_TOO_HIGH; + return STATUS_OK; + } + return STATUS_NEUTRAL; + }; + protected Parameters.Group.ParameterIn[] src; + protected Parameters.Group.ParameterIn[] dst; + // endregion public GT_MetaTileEntity_EM_junction(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -103,7 +119,8 @@ public class GT_MetaTileEntity_EM_junction extends GT_MetaTileEntity_MultiblockB @Override public boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { - int meta = iGregTechTileEntity.getMetaIDAtSideAndDistance(GT_Utility.getOppositeSide(iGregTechTileEntity.getFrontFacing()),2); + int meta = iGregTechTileEntity.getMetaIDAtSideAndDistance( + GT_Utility.getOppositeSide(iGregTechTileEntity.getFrontFacing()), 2); if (meta == 4) { return structureCheck_EM("main", 1, 1, 0); } else if (meta == 5) { @@ -139,9 +156,9 @@ public class GT_MetaTileEntity_EM_junction extends GT_MetaTileEntity_MultiblockB if (inIndex < 0 || inIndex >= eInputHatches.size()) { continue; } - int outIndex = (int) dst - 1; - GT_MetaTileEntity_Hatch_InputElemental in = eInputHatches.get(inIndex); - if (outIndex == -1) {//param==0 -> null the content + int outIndex = (int) dst - 1; + GT_MetaTileEntity_Hatch_InputElemental in = eInputHatches.get(inIndex); + if (outIndex == -1) { // param==0 -> null the content cleanHatchContentEM_EM(in); } else { if (outIndex < 0 || outIndex >= eOutputHatches.size()) { @@ -157,18 +174,37 @@ public class GT_MetaTileEntity_EM_junction extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.junction.name")) // Machine Type: Matter Junction - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.junction.desc.0")) // Controller block of the Matter Junction - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.junction.desc.1")) // Used to route and distribute elemental matter - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.junction.desc.2")) // Needs a Parametrizer to be configured + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.junction.name")) // Machine Type: Matter Junction + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.junction.desc.0")) // Controller block of the Matter Junction + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.junction.desc.1")) // Used to route and distribute + // elemental matter + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.junction.desc.2")) // Needs a Parametrizer to be configured .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(3, 3, 4, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOutput"), translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd4th"), 2) // Elemental Output Hatch: Any outer Molecular Casing on the 3rd or 4th slice - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalInput"), translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd4th"), 2) // Elemental Input Hatch: Any outer Molecular Casing on the 3rd or 4th slice - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), translateToLocal("tt.keyword.Structure.Optional") + " " + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 2) // Parametrizer: (optional) Any High Power Casing on the front side - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Energy Hatch: Any High Power Casing on the front side - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Maintenance Hatch: Any High Power Casing on the front side + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOutput"), + translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd4th"), + 2) // Elemental Output Hatch: Any outer Molecular Casing on the 3rd or 4th slice + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalInput"), + translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd4th"), + 2) // Elemental Input Hatch: Any outer Molecular Casing on the 3rd or 4th slice + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), + translateToLocal("tt.keyword.Structure.Optional") + " " + + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 2) // Parametrizer: (optional) Any High Power Casing on the front side + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Energy Hatch: Any High Power Casing on the front side + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Maintenance Hatch: Any High Power Casing on the front side .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java index 07d9d44abb..4de9308ec5 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java @@ -1,5 +1,22 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.DEFAULT_ENERGY_LEVEL; +import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.STABLE_RAW_LIFE_TIME; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refMass; +import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refUnstableMass; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullFluid; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.github.technus.tectech.util.TT_Utility.isInputEqual; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; @@ -19,59 +36,63 @@ import gregtech.api.GregTech_API; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import java.util.ArrayList; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; -import java.util.ArrayList; - -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.DEFAULT_ENERGY_LEVEL; -import static com.github.technus.tectech.mechanics.elementalMatter.core.definitions.IEMDefinition.STABLE_RAW_LIFE_TIME; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refMass; -import static com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.EMAtomDefinition.refUnstableMass; -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullFluid; -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.github.technus.tectech.util.TT_Utility.isInputEqual; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_quantizer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region structure - //use multi A energy inputs, use less power the longer it runs - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {"CCC", "BAB", "EEE", "DBD"}, - {"C~C", "ABA", "EBE", "BFB"}, - {"CCC", "BAB", "EEE", "DBD"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 0)) - .addElement('B', ofBlock(sBlockCasingsTT, 4)) - .addElement('D', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('C', ofHatchAdderOptional(GT_MetaTileEntity_EM_quantizer::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('F', ofHatchAdder(GT_MetaTileEntity_EM_quantizer::addElementalOutputToMachineList, textureOffset + 4, 2)) - .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_EM_quantizer::addElementalMufflerToMachineList, textureOffset + 4, 3, sBlockCasingsTT, 4)) - .build(); - - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.mattertoem.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.mattertoem.hint.1"),//2 - Elemental Output Hatch - translateToLocal("gt.blockmachines.multimachine.em.mattertoem.hint.2"),//3 - Elemental Overflow Hatches or Molecular Casing + // region structure + // use multi A energy inputs, use less power the longer it runs + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {"CCC", "BAB", "EEE", "DBD"}, + {"C~C", "ABA", "EBE", "BFB"}, + {"CCC", "BAB", "EEE", "DBD"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 0)) + .addElement('B', ofBlock(sBlockCasingsTT, 4)) + .addElement('D', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'C', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_quantizer::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'F', + ofHatchAdder( + GT_MetaTileEntity_EM_quantizer::addElementalOutputToMachineList, + textureOffset + 4, + 2)) + .addElement( + 'E', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_quantizer::addElementalMufflerToMachineList, + textureOffset + 4, + 3, + sBlockCasingsTT, + 4)) + .build(); + + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.mattertoem.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal("gt.blockmachines.multimachine.em.mattertoem.hint.1"), // 2 - Elemental Output Hatch + translateToLocal( + "gt.blockmachines.multimachine.em.mattertoem.hint.2"), // 3 - Elemental Overflow Hatches or Molecular + // Casing }; - //endregion + // endregion public GT_MetaTileEntity_EM_quantizer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -92,41 +113,68 @@ public class GT_MetaTileEntity_EM_quantizer extends GT_MetaTileEntity_Multiblock } @Override - public boolean checkRecipe_EM(ItemStack itemStack) {//TODO implement instance quantization + public boolean checkRecipe_EM(ItemStack itemStack) { // TODO implement instance quantization if (GregTech_API.sPostloadFinished) { ArrayList storedInputs = getStoredInputs(); - ItemStack[] inI = storedInputs.toArray(nullItem); + ItemStack[] inI = storedInputs.toArray(nullItem); if (inI.length > 0) { for (ItemStack is : inI) { - //ITEM STACK quantization - EMItemQuantizationInfo aIQI = TecTech.transformationInfo.getItemQuantization().get(new EMItemQuantizationInfo(is, false, null)); + // ITEM STACK quantization + EMItemQuantizationInfo aIQI = TecTech.transformationInfo + .getItemQuantization() + .get(new EMItemQuantizationInfo(is, false, null)); if (aIQI == null) { - aIQI = TecTech.transformationInfo.getItemQuantization().get(new EMItemQuantizationInfo(is, true, null));//todo check if works? + aIQI = TecTech.transformationInfo + .getItemQuantization() + .get(new EMItemQuantizationInfo(is, true, null)); // todo check if works? } if (aIQI == null) { - //ORE DICT quantization //todo fix for uranium? + // ORE DICT quantization //todo fix for uranium? int[] oreIDs = OreDictionary.getOreIDs(is); for (int ID : oreIDs) { if (DEBUG_MODE) { - TecTech.LOGGER.info("Quantifier-Ore-recipe " + is.getItem().getUnlocalizedName() + '.' + is.getItemDamage() + ' ' + OreDictionary.getOreName(ID)); + TecTech.LOGGER.info( + "Quantifier-Ore-recipe " + is.getItem().getUnlocalizedName() + '.' + + is.getItemDamage() + ' ' + OreDictionary.getOreName(ID)); } - EMOredictQuantizationInfo aOQI = TecTech.transformationInfo.getOredictQuantization().get(ID); + EMOredictQuantizationInfo aOQI = TecTech.transformationInfo + .getOredictQuantization() + .get(ID); if (aOQI == null) { continue; } IEMStack into = aOQI.getOut(); - if (into != null && isInputEqual(true, false, nullFluid, new ItemStack[]{new ItemStack(is.getItem(), aOQI.getAmount(), is.getItemDamage())}, null, inI)) { + if (into != null + && isInputEqual( + true, + false, + nullFluid, + new ItemStack[] { + new ItemStack(is.getItem(), aOQI.getAmount(), is.getItemDamage()) + }, + null, + inI)) { startRecipe(into); return true; } } } else { - //Do ITEM STACK quantization + // Do ITEM STACK quantization if (DEBUG_MODE) { - TecTech.LOGGER.info("Quantifier-Item-recipe " + is.getItem().getUnlocalizedName() + '.' + is.getItemDamage()); + TecTech.LOGGER.info("Quantifier-Item-recipe " + + is.getItem().getUnlocalizedName() + '.' + is.getItemDamage()); } IEMStack into = aIQI.output(); - if (into != null && isInputEqual(true, false, nullFluid, new ItemStack[]{new ItemStack(is.getItem(), aIQI.input().stackSize, is.getItemDamage())}, null, inI)) { + if (into != null + && isInputEqual( + true, + false, + nullFluid, + new ItemStack[] { + new ItemStack(is.getItem(), aIQI.input().stackSize, is.getItemDamage()) + }, + null, + inI)) { startRecipe(into); return true; } @@ -134,16 +182,20 @@ public class GT_MetaTileEntity_EM_quantizer extends GT_MetaTileEntity_Multiblock } } ArrayList storedFluids = getStoredFluids(); - FluidStack[] inF = storedFluids.toArray(nullFluid); + FluidStack[] inF = storedFluids.toArray(nullFluid); if (inF.length > 0) { for (FluidStack fs : inF) { - EMFluidQuantizationInfo aFQI = TecTech.transformationInfo.getFluidQuantization().get(fs.getFluid().getID()); + EMFluidQuantizationInfo aFQI = TecTech.transformationInfo + .getFluidQuantization() + .get(fs.getFluid().getID()); if (aFQI == null) { continue; } IEMStack into = aFQI.output(); - if (into != null && fs.amount >= aFQI.input().amount && isInputEqual(true, false, - new FluidStack[]{aFQI.input()}, nullItem, inF, (ItemStack[]) null)) { + if (into != null + && fs.amount >= aFQI.input().amount + && isInputEqual( + true, false, new FluidStack[] {aFQI.input()}, nullItem, inF, (ItemStack[]) null)) { startRecipe(into); return true; } @@ -156,18 +208,19 @@ public class GT_MetaTileEntity_EM_quantizer extends GT_MetaTileEntity_Multiblock private void startRecipe(IEMStack into) { mMaxProgresstime = 20; mEfficiencyIncrease = 10000; - double mass = into.getMass(); + double mass = into.getMass(); double euMult = Math.abs(mass / refMass); eAmpereFlow = (int) Math.ceil(Math.sqrt(Math.sqrt(euMult))); - if (mass > refUnstableMass || into.getDefinition().getRawTimeSpan(DEFAULT_ENERGY_LEVEL) < STABLE_RAW_LIFE_TIME) { + if (mass > refUnstableMass + || into.getDefinition().getRawTimeSpan(DEFAULT_ENERGY_LEVEL) < STABLE_RAW_LIFE_TIME) { mEUt = (int) -V[8]; } else { mEUt = (int) -V[6]; } - outputEM = new EMInstanceStackMap[]{ - into instanceof EMInstanceStack ? - new EMInstanceStackMap((EMInstanceStack) into) : - new EMInstanceStackMap(new EMInstanceStack(into.getDefinition(), into.getAmount())) + outputEM = new EMInstanceStackMap[] { + into instanceof EMInstanceStack + ? new EMInstanceStackMap((EMInstanceStack) into) + : new EMInstanceStackMap(new EMInstanceStack(into.getDefinition(), into.getAmount())) }; } @@ -184,22 +237,39 @@ public class GT_MetaTileEntity_EM_quantizer extends GT_MetaTileEntity_Multiblock @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.mattertoem.name")) // Machine Type: Matter Quantizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.mattertoem.desc.0")) // Controller block of the Matter Quantizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.mattertoem.desc.1")) // Transforms items into their elemental form + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.mattertoem.name")) // Machine Type: Matter Quantizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.mattertoem.desc.0")) // Controller block of the Matter + // Quantizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.mattertoem.desc.1")) // Transforms items into their + // elemental form .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(3, 3, 4, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOutput"), translateToLocal("tt.keyword.Structure.BackCenter"), 2) // Elemental Output Hatch: Back center - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOverflow"), translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd"), 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 3rd slice - .addInputBus(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Input Bus: Any High Power Casing on the front side - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Energy Hatch: Any High Power Casing on the front side - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), 1) // Maintenance Hatch: Any High Power Casing on the front side + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOutput"), + translateToLocal("tt.keyword.Structure.BackCenter"), + 2) // Elemental Output Hatch: Back center + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOverflow"), + translateToLocal("tt.keyword.Structure.AnyOuterMolecularCasing3rd"), + 3) // Elemental Overflow Hatch: Any outer Molecular Casing on the 3rd slice + .addInputBus( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Input Bus: Any High Power Casing on the front side + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Energy Hatch: Any High Power Casing on the front side + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasingFront"), + 1) // Maintenance Hatch: Any High Power Casing on the front side .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } - public final static ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_mid_freq"); + public static final ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_mid_freq"); @Override @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java index ca26b35785..8defa2c64c 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java @@ -1,12 +1,25 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.recipe.TT_recipe.E_RECIPE_ID; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_crafting.crafter; +import static com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine.machine; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.github.technus.tectech.util.CommonValues.VN; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.enums.GT_HatchElement.*; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.recipe.TT_recipe; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Holder; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; import com.github.technus.tectech.util.CommonValues; -import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; @@ -22,6 +35,10 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase; import gregtech.api.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.List; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; @@ -31,73 +48,51 @@ import net.minecraft.nbt.NBTTagString; import net.minecraft.util.EnumChatFormatting; import org.apache.commons.lang3.reflect.FieldUtils; -import java.util.ArrayList; -import java.util.Collections; -import java.util.LinkedHashMap; -import java.util.List; - -import static com.github.technus.tectech.recipe.TT_recipe.E_RECIPE_ID; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_crafting.crafter; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.DynamoMulti; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.EnergyMulti; -import static com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine.machine; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.github.technus.tectech.util.CommonValues.VN; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.*; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable { - //region variables - private final ArrayList eHolders = new ArrayList<>(); - private GT_Recipe.GT_Recipe_AssemblyLine tRecipe; - private TT_recipe.TT_assLineRecipe aRecipe; - private String machineType; - private static final String assembly = "Assembly line"; - private ItemStack holdItem; - private long computationRemaining, computationRequired; +public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockBase_EM + implements ISurvivalConstructable { + // region variables + private final ArrayList eHolders = new ArrayList<>(); + private GT_Recipe.GT_Recipe_AssemblyLine tRecipe; + private TT_recipe.TT_assLineRecipe aRecipe; + private String machineType; + private static final String assembly = "Assembly line"; + private ItemStack holdItem; + private long computationRemaining, computationRequired; private static LinkedHashMap lServerNames; - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.research.hint.0"),//1 - Classic/Data Hatches or Computer casing - translateToLocal("gt.blockmachines.multimachine.em.research.hint.1"),//2 - Holder Hatch + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.research.hint.0"), // 1 - Classic/Data Hatches or Computer casing + translateToLocal("gt.blockmachines.multimachine.em.research.hint.1"), // 2 - Holder Hatch }; private String clientLocale = "en_US"; - //endregion - - //region structure - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {" ", " A ", " A ", "AAA", "AAA", "AAA", "AAA"}, - {"AAA", "ACA", "ACA", "ACA", "BCB", "BCB", "BBB"}, - {" ", " C ", " ", " ", "ACA", "CCC", "DDD"}, - {" ", " E ", " ", " ", "A~A", "CCC", "DDD"}, - {" ", " C ", " ", " ", "ACA", "CCC", "DDD"}, - {"AAA", "ACA", "ACA", "ACA", "BCB", "BCB", "BBB"}, - {" ", " A ", " A ", "AAA", "AAA", "AAA", "AAA"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 1)) - .addElement('B', ofBlock(sBlockCasingsTT, 2)) - .addElement('C', ofBlock(sBlockCasingsTT, 3)) - .addElement('D', classicHatches(textureOffset + 1, 1, sBlockCasingsTT, 1)) - .addElement('E', HolderHatchElement.INSTANCE.newAny(3, 2)) - .build(); - //endregion + // endregion + + // region structure + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {" ", " A ", " A ", "AAA", "AAA", "AAA", "AAA"}, + {"AAA", "ACA", "ACA", "ACA", "BCB", "BCB", "BBB"}, + {" ", " C ", " ", " ", "ACA", "CCC", "DDD"}, + {" ", " E ", " ", " ", "A~A", "CCC", "DDD"}, + {" ", " C ", " ", " ", "ACA", "CCC", "DDD"}, + {"AAA", "ACA", "ACA", "ACA", "BCB", "BCB", "BBB"}, + {" ", " A ", " A ", "AAA", "AAA", "AAA", "AAA"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 1)) + .addElement('B', ofBlock(sBlockCasingsTT, 2)) + .addElement('C', ofBlock(sBlockCasingsTT, 3)) + .addElement('D', classicHatches(textureOffset + 1, 1, sBlockCasingsTT, 1)) + .addElement('E', HolderHatchElement.INSTANCE.newAny(3, 2)) + .build(); + // endregion public GT_MetaTileEntity_EM_research(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -109,9 +104,12 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB private void makeStick() { mInventory[1].setTagCompound(new NBTTagCompound()); - mInventory[1].setStackDisplayName(GT_LanguageManager.getTranslation(tRecipe.mOutput.getDisplayName()) + " Construction Data"); - GT_Utility.ItemNBT.setBookTitle(mInventory[1], GT_LanguageManager.getTranslation(tRecipe.mOutput.getDisplayName()) + " Construction Data"); - NBTTagCompound tNBT = mInventory[1].getTagCompound();//code above makes it not null + mInventory[1].setStackDisplayName( + GT_LanguageManager.getTranslation(tRecipe.mOutput.getDisplayName()) + " Construction Data"); + GT_Utility.ItemNBT.setBookTitle( + mInventory[1], + GT_LanguageManager.getTranslation(tRecipe.mOutput.getDisplayName()) + " Construction Data"); + NBTTagCompound tNBT = mInventory[1].getTagCompound(); // code above makes it not null tNBT.setTag("output", tRecipe.mOutput.writeToNBT(new NBTTagCompound())); tNBT.setInteger("time", tRecipe.mDuration); @@ -122,17 +120,24 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB for (int i = 0; i < tRecipe.mFluidInputs.length; i++) { tNBT.setTag("f" + i, tRecipe.mFluidInputs[i].writeToNBT(new NBTTagCompound())); } - tNBT.setString("author", EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.WHITE + " Assembling Line Recipe Generator"); + tNBT.setString( + "author", + EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.WHITE + + " Assembling Line Recipe Generator"); NBTTagList tNBTList = new NBTTagList(); - tNBTList.appendTag(new NBTTagString("Construction plan for " + tRecipe.mOutput.stackSize + ' ' + GT_LanguageManager.getTranslation(tRecipe.mOutput.getDisplayName()) + ". Needed EU/t: " + tRecipe.mEUt + " Production time: " + tRecipe.mDuration / 20)); + tNBTList.appendTag(new NBTTagString("Construction plan for " + tRecipe.mOutput.stackSize + ' ' + + GT_LanguageManager.getTranslation(tRecipe.mOutput.getDisplayName()) + ". Needed EU/t: " + tRecipe.mEUt + + " Production time: " + tRecipe.mDuration / 20)); for (int i = 0; i < tRecipe.mInputs.length; i++) { if (tRecipe.mInputs[i] != null) { - tNBTList.appendTag(new NBTTagString("Input Bus " + (i + 1) + ": " + tRecipe.mInputs[i].stackSize + ' ' + GT_LanguageManager.getTranslation(tRecipe.mInputs[i].getDisplayName()))); + tNBTList.appendTag(new NBTTagString("Input Bus " + (i + 1) + ": " + tRecipe.mInputs[i].stackSize + ' ' + + GT_LanguageManager.getTranslation(tRecipe.mInputs[i].getDisplayName()))); } } for (int i = 0; i < tRecipe.mFluidInputs.length; i++) { if (tRecipe.mFluidInputs[i] != null) { - tNBTList.appendTag(new NBTTagString("Input Hatch " + (i + 1) + ": " + tRecipe.mFluidInputs[i].amount + "L " + GT_LanguageManager.getTranslation(tRecipe.mFluidInputs[i].getLocalizedName()))); + tNBTList.appendTag(new NBTTagString("Input Hatch " + (i + 1) + ": " + tRecipe.mFluidInputs[i].amount + + "L " + GT_LanguageManager.getTranslation(tRecipe.mFluidInputs[i].getLocalizedName()))); } } tNBT.setTag("pages", tNBTList); @@ -141,7 +146,8 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB static { try { Class GT_Assemblyline_Server = Class.forName("gregtech.api.util.GT_Assemblyline_Server"); - lServerNames = (LinkedHashMap) GT_Assemblyline_Server.getField("lServerNames").get(null); + lServerNames = (LinkedHashMap) + GT_Assemblyline_Server.getField("lServerNames").get(null); } catch (ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) { lServerNames = null; } @@ -182,7 +188,10 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB for (int i = 0; i < tRecipe.mFluidInputs.length; i++) { tNBT.setTag("f" + i, tRecipe.mFluidInputs[i].writeToNBT(new NBTTagCompound())); } - tNBT.setString("author", EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.WHITE + ' ' + machineType + " Recipe Generator"); + tNBT.setString( + "author", + EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.WHITE + ' ' + + machineType + " Recipe Generator"); NBTTagList tNBTList = new NBTTagList(); s = tRecipe.mOutput.getDisplayName(); if (getBaseMetaTileEntity().isServerSide()) { @@ -191,22 +200,24 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB s = tRecipe.mOutput.getDisplayName(); } } - tNBTList.appendTag(new NBTTagString("Construction plan for " + tRecipe.mOutput.stackSize + " " + s + ". Needed EU/t: " + tRecipe.mEUt + " Production time: " + (tRecipe.mDuration / 20))); + tNBTList.appendTag(new NBTTagString("Construction plan for " + tRecipe.mOutput.stackSize + " " + s + + ". Needed EU/t: " + tRecipe.mEUt + " Production time: " + (tRecipe.mDuration / 20))); for (int i = 0; i < tRecipe.mInputs.length; i++) { if (tRecipe.mOreDictAlt[i] != null) { - int count = 0; + int count = 0; StringBuilder tBuilder = new StringBuilder("Input Bus " + (i + 1) + ": "); for (ItemStack tStack : tRecipe.mOreDictAlt[i]) { if (tStack != null) { s = tStack.getDisplayName(); if (getBaseMetaTileEntity().isServerSide()) { s = lServerNames.get(tStack.getDisplayName()); - if (s == null) - s = tStack.getDisplayName(); + if (s == null) s = tStack.getDisplayName(); } - - tBuilder.append(count == 0 ? "" : "\nOr ").append(tStack.stackSize).append(" ").append(s); + tBuilder.append(count == 0 ? "" : "\nOr ") + .append(tStack.stackSize) + .append(" ") + .append(s); count++; } } @@ -219,7 +230,8 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB s = tRecipe.mInputs[i].getDisplayName(); } } - tNBTList.appendTag(new NBTTagString("Input Bus " + (i + 1) + ": " + tRecipe.mInputs[i].stackSize + " " + s)); + tNBTList.appendTag( + new NBTTagString("Input Bus " + (i + 1) + ": " + tRecipe.mInputs[i].stackSize + " " + s)); } } for (int i = 0; i < tRecipe.mFluidInputs.length; i++) { @@ -231,7 +243,8 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB s = tRecipe.mFluidInputs[i].getLocalizedName(); } } - tNBTList.appendTag(new NBTTagString("Input Hatch " + (i + 1) + ": " + tRecipe.mFluidInputs[i].amount + "L " + s)); + tNBTList.appendTag( + new NBTTagString("Input Hatch " + (i + 1) + ": " + tRecipe.mFluidInputs[i].amount + "L " + s)); } } tNBT.setTag("pages", tNBTList); @@ -292,7 +305,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB if (GT_Utility.areStacksEqual(assRecipe.mResearchItem, holdItem, true)) { machineType = assembly; tRecipe = assRecipe; - //if found + // if found if (iterateRecipes()) return true; } } @@ -301,7 +314,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB if (GT_Utility.areStacksEqual(assRecipeTT.mResearchItem, holdItem, true)) { aRecipe = assRecipeTT; machineType = machine; - //if found + // if found if (iterateRecipes()) return true; } } @@ -309,7 +322,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB if (GT_Utility.areStacksEqual(assRecipeTT.mResearchItem, holdItem, true)) { aRecipe = assRecipeTT; machineType = crafter; - //if found + // if found if (iterateRecipes()) return true; } } @@ -342,13 +355,18 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB eHolders.get(0).getBaseMetaTileEntity().setActive(false); eHolders.get(0).mInventory[0] = null; - mInventory[1].setStackDisplayName(GT_LanguageManager.getTranslation(aRecipe.mOutputs[0].getDisplayName()) + ' ' + machineType + " Construction Data"); - NBTTagCompound tNBT = mInventory[1].getTagCompound();//code above makes it not null + mInventory[1].setStackDisplayName( + GT_LanguageManager.getTranslation(aRecipe.mOutputs[0].getDisplayName()) + ' ' + machineType + + " Construction Data"); + NBTTagCompound tNBT = mInventory[1].getTagCompound(); // code above makes it not null tNBT.setString("eMachineType", machineType); GameRegistry.UniqueIdentifier uid = GameRegistry.findUniqueIdentifierFor(aRecipe.mOutputs[0].getItem()); tNBT.setString(E_RECIPE_ID, uid + ":" + aRecipe.mOutputs[0].getItemDamage()); - tNBT.setString("author", EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.WHITE + ' ' + machineType + " Recipe Generator"); + tNBT.setString( + "author", + EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + + EnumChatFormatting.WHITE + ' ' + machineType + " Recipe Generator"); } } computationRequired = computationRemaining = 0; @@ -360,18 +378,35 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.research.name")) // Machine Type: Research Station - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.0")) // Controller block of the Research Station - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.1")) // Used to scan Data Sticks for Assembling Line Recipes - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.2")) // Needs to be fed with computation to work - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.research.desc.3")) // Does not consume the item until the Data Stick is written + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.research.name")) // Machine Type: Research Station + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.research.desc.0")) // Controller block of the Research Station + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.research.desc.1")) // Used to scan Data Sticks for + // Assembling Line Recipes + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.research.desc.2")) // Needs to be fed with computation to work + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.research.desc.3")) // Does not consume the item until + // the Data Stick is written .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(3, 7, 7, false) - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.holder.tier.09.name"), translateToLocal("tt.keyword.Structure.CenterPillar"), 2) // Object Holder: Center of the front pillar - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.DataConnector"), translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), 1) // Optical Connector: Any Computer Casing on the backside of the main body - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), 1) // Energy Hatch: Any Computer Casing on the backside of the main body - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), 1) // Maintenance Hatch: Any Computer Casing on the backside of the main body + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.holder.tier.09.name"), + translateToLocal("tt.keyword.Structure.CenterPillar"), + 2) // Object Holder: Center of the front pillar + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.DataConnector"), + translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), + 1) // Optical Connector: Any Computer Casing on the backside of the main body + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), + 1) // Energy Hatch: Any Computer Casing on the backside of the main body + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyComputerCasingBackMain"), + 1) // Maintenance Hatch: Any Computer Casing on the backside of the main body .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -379,7 +414,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB @Override public String[] getInfoData() { long storedEnergy = 0; - long maxEnergy = 0; + long maxEnergy = 0; for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { storedEnergy += tHatch.getBaseMetaTileEntity().getStoredEU(); @@ -393,42 +428,64 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB } } - return new String[]{ - translateToLocalFormatted("tt.keyphrase.Energy_Hatches", clientLocale) + ":", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + " EU", - (mEUt <= 0 ? translateToLocalFormatted("tt.keyphrase.Probably_uses", clientLocale) + ": " : translateToLocalFormatted("tt.keyphrase.Probably_makes", clientLocale) + ": ") + - EnumChatFormatting.RED + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t " + - translateToLocalFormatted("tt.keyword.at", clientLocale) + " " + - EnumChatFormatting.RED + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", - translateToLocalFormatted("tt.keyphrase.Tier_Rating", clientLocale) + ": " + - EnumChatFormatting.YELLOW + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.GREEN + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " " + - translateToLocalFormatted("tt.keyphrase.Amp_Rating", clientLocale) + ": " + - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", - translateToLocalFormatted("tt.keyword.Problems", clientLocale) + ": " + - EnumChatFormatting.RED + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + " " + - translateToLocalFormatted("tt.keyword.Efficiency", clientLocale) + ": " + - EnumChatFormatting.YELLOW + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", - translateToLocalFormatted("tt.keyword.PowerPass", clientLocale) + ": " + - EnumChatFormatting.BLUE + ePowerPass + EnumChatFormatting.RESET + " " + - translateToLocalFormatted("tt.keyword.SafeVoid", clientLocale) + ": " + - EnumChatFormatting.BLUE + eSafeVoid, - translateToLocalFormatted("tt.keyphrase.Computation_Available", clientLocale) + ": " + - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET, - translateToLocalFormatted("tt.keyphrase.Computation_Remaining", clientLocale) + ":", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(computationRemaining / 20L) + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(computationRequired / 20L) + return new String[] { + translateToLocalFormatted("tt.keyphrase.Energy_Hatches", clientLocale) + ":", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + + " EU", + (mEUt <= 0 + ? translateToLocalFormatted("tt.keyphrase.Probably_uses", clientLocale) + ": " + : translateToLocalFormatted("tt.keyphrase.Probably_makes", clientLocale) + ": ") + + EnumChatFormatting.RED + + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t " + + translateToLocalFormatted("tt.keyword.at", clientLocale) + + " " + EnumChatFormatting.RED + + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", + translateToLocalFormatted("tt.keyphrase.Tier_Rating", clientLocale) + ": " + EnumChatFormatting.YELLOW + + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + EnumChatFormatting.GREEN + + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyphrase.Amp_Rating", clientLocale) + + ": " + EnumChatFormatting.GREEN + + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", + translateToLocalFormatted("tt.keyword.Problems", clientLocale) + ": " + EnumChatFormatting.RED + + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyword.Efficiency", clientLocale) + + ": " + EnumChatFormatting.YELLOW + + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", + translateToLocalFormatted("tt.keyword.PowerPass", clientLocale) + ": " + EnumChatFormatting.BLUE + + ePowerPass + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyword.SafeVoid", clientLocale) + + ": " + EnumChatFormatting.BLUE + + eSafeVoid, + translateToLocalFormatted("tt.keyphrase.Computation_Available", clientLocale) + ": " + + EnumChatFormatting.GREEN + + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " + + EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET, + translateToLocalFormatted("tt.keyphrase.Computation_Remaining", clientLocale) + ":", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(computationRemaining / 20L) + EnumChatFormatting.RESET + + " / " + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(computationRequired / 20L) }; } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][3], new TT_RenderedExtendedFacingTexture(aActive ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF)}; - } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][3]}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][3], + new TT_RenderedExtendedFacingTexture( + aActive + ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON + : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF) + }; + } + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][3]}; } @Override @@ -482,10 +539,10 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB holdItem = null; } - //@Override - //public boolean isFacingValid(byte aFacing) { + // @Override + // public boolean isFacingValid(byte aFacing) { // return aFacing >= 2; - //} + // } @Override public void onFirstTick_EM(IGregTechTileEntity aBaseMetaTileEntity) { @@ -495,7 +552,8 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB tRecipe = null; if (holdItem != null) { if (ItemList.Tool_DataStick.isStackEqual(mInventory[1], false, true)) { - for (GT_Recipe.GT_Recipe_AssemblyLine tRecipe : TT_recipe.GT_Recipe_MapTT.sAssemblylineRecipes) { + for (GT_Recipe.GT_Recipe_AssemblyLine tRecipe : + TT_recipe.GT_Recipe_MapTT.sAssemblylineRecipes) { if (GT_Utility.areStacksEqual(tRecipe.mResearchItem, holdItem, true)) { this.tRecipe = tRecipe; machineType = assembly; @@ -503,7 +561,8 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB } } } else if (ItemList.Tool_DataOrb.isStackEqual(mInventory[1], false, true)) { - for (TT_recipe.TT_assLineRecipe assRecipeTT : TT_recipe.TT_Recipe_Map.sMachineRecipes.recipeList()) { + for (TT_recipe.TT_assLineRecipe assRecipeTT : + TT_recipe.TT_Recipe_Map.sMachineRecipes.recipeList()) { if (GT_Utility.areStacksEqual(assRecipeTT.mResearchItem, holdItem, true)) { aRecipe = assRecipeTT; machineType = machine; @@ -511,7 +570,8 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB } } if (aRecipe == null) { - for (TT_recipe.TT_assLineRecipe assRecipeTT : TT_recipe.TT_Recipe_Map.sCrafterRecipes.recipeList()) { + for (TT_recipe.TT_assLineRecipe assRecipeTT : + TT_recipe.TT_Recipe_Map.sCrafterRecipes.recipeList()) { if (GT_Utility.areStacksEqual(assRecipeTT.mResearchItem, holdItem, true)) { aRecipe = assRecipeTT; machineType = crafter; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java index 1fa3d7588c..56b68e8d37 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java @@ -1,5 +1,19 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.recipe.TT_recipe.E_RECIPE_ID; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_crafting.crafter; +import static com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine.machine; +import static com.github.technus.tectech.util.CommonValues.*; +import static com.github.technus.tectech.util.TT_Utility.areBitsSet; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; @@ -36,98 +50,108 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; import org.apache.commons.lang3.reflect.FieldUtils; -import static com.github.technus.tectech.recipe.TT_recipe.E_RECIPE_ID; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_crafting.crafter; -import static com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine.machine; -import static com.github.technus.tectech.util.CommonValues.*; -import static com.github.technus.tectech.util.TT_Utility.areBitsSet; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region variables - public static final int - SCAN_DO_NOTHING = 0, - SCAN_GET_NOMENCLATURE = 1<<0, - SCAN_GET_DEPTH_LEVEL = 1<<1, - SCAN_GET_AMOUNT = 1<<2, - SCAN_GET_CHARGE = 1<<3, - SCAN_GET_MASS = 1<<4, - SCAN_GET_ENERGY = 1<<5, - SCAN_GET_ENERGY_LEVEL = 1<<6, - SCAN_GET_TIMESPAN_INFO = 1<<7, - SCAN_GET_ENERGY_STATES = 1<<8, - SCAN_GET_COLORABLE = 1<<9, - SCAN_GET_COLOR_VALUE = 1<<10, - SCAN_GET_AGE = 1<<11, - SCAN_GET_TIMESPAN_MULT = 1<<12, - SCAN_GET_CLASS_TYPE = 1<<13, - SCAN_GET_TOO_BIG = 1<<14;//should be the sum of all flags +1 + // region variables + public static final int SCAN_DO_NOTHING = 0, + SCAN_GET_NOMENCLATURE = 1 << 0, + SCAN_GET_DEPTH_LEVEL = 1 << 1, + SCAN_GET_AMOUNT = 1 << 2, + SCAN_GET_CHARGE = 1 << 3, + SCAN_GET_MASS = 1 << 4, + SCAN_GET_ENERGY = 1 << 5, + SCAN_GET_ENERGY_LEVEL = 1 << 6, + SCAN_GET_TIMESPAN_INFO = 1 << 7, + SCAN_GET_ENERGY_STATES = 1 << 8, + SCAN_GET_COLORABLE = 1 << 9, + SCAN_GET_COLOR_VALUE = 1 << 10, + SCAN_GET_AGE = 1 << 11, + SCAN_GET_TIMESPAN_MULT = 1 << 12, + SCAN_GET_CLASS_TYPE = 1 << 13, + SCAN_GET_TOO_BIG = 1 << 14; // should be the sum of all flags +1 private TT_recipe.TT_EMRecipe.TT_EMRecipe eRecipe; - private EMDefinitionStack objectResearched; - private EMInstanceStackMap objectsScanned; - private String machineType; - private long computationRemaining, computationRequired; + private EMDefinitionStack objectResearched; + private EMInstanceStackMap objectsScanned; + private String machineType; + private long computationRemaining, computationRequired; private int[] scanComplexity; private String clientLocale = "en_US"; - //endregion - - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.scanner.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.scanner.hint.1"),//2 - Elemental Input Hatches or Molecular Casing - translateToLocal("gt.blockmachines.multimachine.em.scanner.hint.2"),//3 - Elemental Output Hatches or Molecular Casing - translateToLocal("gt.blockmachines.multimachine.em.scanner.hint.3"),//4 - Elemental Overflow Hatches or Molecular Casing + // endregion + + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.em.scanner.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal( + "gt.blockmachines.multimachine.em.scanner.hint.1"), // 2 - Elemental Input Hatches or Molecular Casing + translateToLocal( + "gt.blockmachines.multimachine.em.scanner.hint.2"), // 3 - Elemental Output Hatches or Molecular Casing + translateToLocal( + "gt.blockmachines.multimachine.em.scanner.hint.3"), // 4 - Elemental Overflow Hatches or Molecular + // Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {"CCCCC", "BBBBB", "BBDBB", "BDDDB", "BDDDB", "BDDDB", "BBDBB", "EEEEE"}, - {"CAAAC", "BBBBB", "BDDDB", "D---D", "D---D", "D---D", "BDDDB", "EBBBE"}, - {"CA~AC", "BBBBB", "DDDDD", "D---D", "D- -D", "D---D", "DDGDD", "EBFBE"}, - {"CAAAC", "BBBBB", "BDDDB", "D---D", "D---D", "D---D", "BDDDB", "EBBBE"}, - {"CCCCC", "BBBBB", "BBDBB", "BDDDB", "BDDDB", "BDDDB", "BBDBB", "EEEEE"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 0)) - .addElement('B', ofBlock(sBlockCasingsTT, 4)) - .addElement('D', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('C', ofHatchAdderOptional(GT_MetaTileEntity_EM_scanner::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('F', ofHatchAdder(GT_MetaTileEntity_EM_scanner::addElementalInputToMachineList, textureOffset + 4, 2)) - .addElement('G', ofHatchAdder(GT_MetaTileEntity_EM_scanner::addElementalOutputToMachineList, textureOffset + 4, 3)) - .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_EM_scanner::addElementalMufflerToMachineList, textureOffset + 4, 4, sBlockCasingsTT, 4)) - .build(); - //endregion - - //region parameters - private static final INameFunction CONFIG_NAME = + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {"CCCCC", "BBBBB", "BBDBB", "BDDDB", "BDDDB", "BDDDB", "BBDBB", "EEEEE"}, + {"CAAAC", "BBBBB", "BDDDB", "D---D", "D---D", "D---D", "BDDDB", "EBBBE"}, + {"CA~AC", "BBBBB", "DDDDD", "D---D", "D- -D", "D---D", "DDGDD", "EBFBE"}, + {"CAAAC", "BBBBB", "BDDDB", "D---D", "D---D", "D---D", "BDDDB", "EBBBE"}, + {"CCCCC", "BBBBB", "BBDBB", "BDDDB", "BDDDB", "BDDDB", "BBDBB", "EEEEE"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 0)) + .addElement('B', ofBlock(sBlockCasingsTT, 4)) + .addElement('D', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'C', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_scanner::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'F', + ofHatchAdder( + GT_MetaTileEntity_EM_scanner::addElementalInputToMachineList, textureOffset + 4, 2)) + .addElement( + 'G', + ofHatchAdder( + GT_MetaTileEntity_EM_scanner::addElementalOutputToMachineList, + textureOffset + 4, + 3)) + .addElement( + 'E', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_scanner::addElementalMufflerToMachineList, + textureOffset + 4, + 4, + sBlockCasingsTT, + 4)) + .build(); + // endregion + + // region parameters + private static final INameFunction CONFIG_NAME = (base, p) -> "Config at Depth: " + (p.hatchId() * 2 + p.parameterId()); - private static final IStatusFunction CONFIG_STATUS = - (base, p) -> { - double v = p.get(); - if (Double.isNaN(v)) { - return LedStatus.STATUS_WRONG; - } - v = (int) v; - if (v == 0) return LedStatus.STATUS_NEUTRAL; - if (v >= SCAN_GET_TOO_BIG) return LedStatus.STATUS_TOO_HIGH; - if (v < 0) return LedStatus.STATUS_TOO_LOW; - return LedStatus.STATUS_OK; - }; - protected Parameters.Group.ParameterIn[] scanConfiguration; - //endregion + private static final IStatusFunction CONFIG_STATUS = (base, p) -> { + double v = p.get(); + if (Double.isNaN(v)) { + return LedStatus.STATUS_WRONG; + } + v = (int) v; + if (v == 0) return LedStatus.STATUS_NEUTRAL; + if (v >= SCAN_GET_TOO_BIG) return LedStatus.STATUS_TOO_HIGH; + if (v < 0) return LedStatus.STATUS_TOO_LOW; + return LedStatus.STATUS_OK; + }; + protected Parameters.Group.ParameterIn[] scanConfiguration; + // endregion public GT_MetaTileEntity_EM_scanner(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -142,9 +166,9 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa private void quantumStuff(boolean shouldExist) { IGregTechTileEntity base = getBaseMetaTileEntity(); if (base != null && base.getWorld() != null) { - int xDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetX * 4 + base.getXCoord(); - int yDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetY * 4 + base.getYCoord(); - int zDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetZ * 4 + base.getZCoord(); + int xDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetX * 4 + base.getXCoord(); + int yDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetY * 4 + base.getYCoord(); + int zDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetZ * 4 + base.getZCoord(); Block block = base.getWorld().getBlock(xDir, yDir, zDir); if (shouldExist) { if (block != null && block.getMaterial() == Material.air) { @@ -227,13 +251,18 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa if (!structureCheck_EM("main", 2, 2, 0)) { return false; } - return eInputHatches.size() == 1 && eOutputHatches.size() == 1 && eOutputHatches.get(0).getBaseMetaTileEntity().getFrontFacing() == iGregTechTileEntity.getFrontFacing(); + return eInputHatches.size() == 1 + && eOutputHatches.size() == 1 + && eOutputHatches.get(0).getBaseMetaTileEntity().getFrontFacing() + == iGregTechTileEntity.getFrontFacing(); } @Override public boolean checkRecipe_EM(ItemStack itemStack) { eRecipe = null; - if (!eInputHatches.isEmpty() && eInputHatches.get(0).getContentHandler().hasStacks() && !eOutputHatches.isEmpty()) { + if (!eInputHatches.isEmpty() + && eInputHatches.get(0).getContentHandler().hasStacks() + && !eOutputHatches.isEmpty()) { EMInstanceStackMap researchEM = eInputHatches.get(0).getContentHandler(); if (ItemList.Tool_DataOrb.isStackEqual(itemStack, false, true)) { GT_Recipe scannerRecipe = null; @@ -244,7 +273,7 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa scannerRecipe = eRecipe.scannerRecipe; machineType = machine; objectResearched = new EMDefinitionStack(stackEM.getDefinition(), 1); - //cleanMassEM_EM(objectResearched.getMass()); + // cleanMassEM_EM(objectResearched.getMass()); researchEM.removeKey(objectResearched.getDefinition()); break; } @@ -253,16 +282,16 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa scannerRecipe = eRecipe.scannerRecipe; machineType = crafter; objectResearched = new EMDefinitionStack(stackEM.getDefinition(), 1); - //cleanMassEM_EM(objectResearched.getMass()); + // cleanMassEM_EM(objectResearched.getMass()); researchEM.removeKey(objectResearched.getDefinition()); break; } cleanStackEM_EM(stackEM); researchEM.removeKey(stackEM.getDefinition()); } - if (eRecipe != null && scannerRecipe != null) {//todo make sure it werks + if (eRecipe != null && scannerRecipe != null) { // todo make sure it werks computationRequired = computationRemaining = scannerRecipe.mDuration * 20L; - mMaxProgresstime = 20;//const + mMaxProgresstime = 20; // const mEfficiencyIncrease = 10000; eRequiredData = (short) (scannerRecipe.mSpecialValue >>> 16); eAmpereFlow = (short) (scannerRecipe.mSpecialValue & 0xFFFF); @@ -281,7 +310,7 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa eAmpereFlow = objectsScanned.size() + TecTech.RANDOM.next(objectsScanned.size()); mEUt = -(int) V[8]; - //get depth scan complexity array + // get depth scan complexity array { int[] scanComplexityTemp = new int[20]; for (int i = 0; i < 20; i++) { @@ -294,13 +323,13 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa addComputationRequirements(i + 1, scanComplexityTemp[i]); } } - maxDepth += 1;//from index to len + maxDepth += 1; // from index to len scanComplexity = new int[maxDepth]; System.arraycopy(scanComplexityTemp, 0, scanComplexity, 0, maxDepth); } computationRemaining = computationRequired *= 20; - mMaxProgresstime = 20;//const + mMaxProgresstime = 20; // const mEfficiencyIncrease = 10000; quantumStuff(true); return true; @@ -317,12 +346,14 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa public void outputAfterRecipe_EM() { if (eRecipe != null && ItemList.Tool_DataOrb.isStackEqual(mInventory[1], false, true)) { - mInventory[1].setStackDisplayName(GT_LanguageManager.getTranslation(eRecipe.mOutputs[0].getDisplayName()) + ' ' + machineType + " Construction Data"); - NBTTagCompound tNBT = mInventory[1].getTagCompound();//code above makes it not null + mInventory[1].setStackDisplayName(GT_LanguageManager.getTranslation(eRecipe.mOutputs[0].getDisplayName()) + + ' ' + machineType + " Construction Data"); + NBTTagCompound tNBT = mInventory[1].getTagCompound(); // code above makes it not null tNBT.setString("eMachineType", machineType); tNBT.setTag(E_RECIPE_ID, objectResearched.toNBT(TecTech.definitionsRegistry)); - tNBT.setString("author", TEC_MARK_SHORT + EnumChatFormatting.WHITE + ' ' + machineType + " EM Recipe Generator"); + tNBT.setString( + "author", TEC_MARK_SHORT + EnumChatFormatting.WHITE + ' ' + machineType + " EM Recipe Generator"); } else if (objectsScanned != null && CustomItemList.scanContainer.isStackEqual(mInventory[1], false, true)) { ElementalDefinitionScanStorage_EM.setContent(mInventory[1], objectsScanned, scanComplexity); } @@ -334,15 +365,27 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.scanner.name")) // Machine Type: Elemental Scanner - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.scanner.desc.0")) // Controller block of the Elemental Scanner + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.scanner.name")) // Machine Type: Elemental Scanner + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.scanner.desc.0")) // Controller block of the Elemental Scanner .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(5, 5, 8, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalInput"), translateToLocal("tt.keyword.Structure.BackCenter"), 2) // Elemental Input Hatch: Back Center - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOutput"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing3D"), 3) // Elemental Output Hatch: Any Molecular Casing with 3 dot - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), 1) // Energy Hatch: Any High Power Casing with 1 dot - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), 1) // Maintenance Hatch: Any High Power Casing with 1 dot + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalInput"), + translateToLocal("tt.keyword.Structure.BackCenter"), + 2) // Elemental Input Hatch: Back Center + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOutput"), + translateToLocal("tt.keyword.Structure.AnyMolecularCasing3D"), + 3) // Elemental Output Hatch: Any Molecular Casing with 3 dot + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), + 1) // Energy Hatch: Any High Power Casing with 1 dot + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing1D"), + 1) // Maintenance Hatch: Any High Power Casing with 1 dot .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -350,7 +393,7 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa @Override public String[] getInfoData() { long storedEnergy = 0; - long maxEnergy = 0; + long maxEnergy = 0; for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { storedEnergy += tHatch.getBaseMetaTileEntity().getStoredEU(); @@ -364,33 +407,43 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa } } - return new String[]{ - translateToLocalFormatted("tt.keyphrase.Energy_Hatches", clientLocale) + ":", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + " EU", - (mEUt <= 0 ? translateToLocalFormatted("tt.keyphrase.Probably_uses", clientLocale) + ": " : translateToLocalFormatted("tt.keyphrase.Probably_makes", clientLocale) + ": ") + - EnumChatFormatting.RED + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t " + - translateToLocalFormatted("tt.keyword.at", clientLocale) + " " + - EnumChatFormatting.RED + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", - translateToLocalFormatted("tt.keyphrase.Tier_Rating", clientLocale) + ": " + - EnumChatFormatting.YELLOW + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.GREEN + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " " + - translateToLocalFormatted("tt.keyphrase.Amp_Rating", clientLocale) + ": " + - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", - translateToLocalFormatted("tt.keyword.Problems", clientLocale) + ": " + - EnumChatFormatting.RED + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + " " + - translateToLocalFormatted("tt.keyword.Efficiency", clientLocale) + ": " + - EnumChatFormatting.YELLOW + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", - translateToLocalFormatted("tt.keyword.PowerPass", clientLocale) + ": " + - EnumChatFormatting.BLUE + ePowerPass + EnumChatFormatting.RESET + " " + - translateToLocalFormatted("tt.keyword.SafeVoid", clientLocale) + ": " + - EnumChatFormatting.BLUE + eSafeVoid, - translateToLocalFormatted("tt.keyphrase.Computation_Available", clientLocale) + ": " + - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET, - translateToLocalFormatted("tt.keyphrase.Computation_Remaining", clientLocale) + ":", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(computationRemaining / 20L) + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(computationRequired / 20L) + return new String[] { + translateToLocalFormatted("tt.keyphrase.Energy_Hatches", clientLocale) + ":", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + + " EU", + (mEUt <= 0 + ? translateToLocalFormatted("tt.keyphrase.Probably_uses", clientLocale) + ": " + : translateToLocalFormatted("tt.keyphrase.Probably_makes", clientLocale) + ": ") + + EnumChatFormatting.RED + + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t " + + translateToLocalFormatted("tt.keyword.at", clientLocale) + + " " + EnumChatFormatting.RED + + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", + translateToLocalFormatted("tt.keyphrase.Tier_Rating", clientLocale) + ": " + EnumChatFormatting.YELLOW + + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + EnumChatFormatting.GREEN + + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyphrase.Amp_Rating", clientLocale) + + ": " + EnumChatFormatting.GREEN + + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", + translateToLocalFormatted("tt.keyword.Problems", clientLocale) + ": " + EnumChatFormatting.RED + + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyword.Efficiency", clientLocale) + + ": " + EnumChatFormatting.YELLOW + + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", + translateToLocalFormatted("tt.keyword.PowerPass", clientLocale) + ": " + EnumChatFormatting.BLUE + + ePowerPass + EnumChatFormatting.RESET + " " + + translateToLocalFormatted("tt.keyword.SafeVoid", clientLocale) + + ": " + EnumChatFormatting.BLUE + + eSafeVoid, + translateToLocalFormatted("tt.keyphrase.Computation_Available", clientLocale) + ": " + + EnumChatFormatting.GREEN + + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " + + EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET, + translateToLocalFormatted("tt.keyphrase.Computation_Remaining", clientLocale) + ":", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(computationRemaining / 20L) + EnumChatFormatting.RESET + + " / " + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(computationRequired / 20L) }; } @@ -452,7 +505,8 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa } try { if (aNBT.hasKey("eScanObjects")) { - objectsScanned = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, aNBT.getCompoundTag("eScanObjects")); + objectsScanned = + EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, aNBT.getCompoundTag("eScanObjects")); } } catch (EMException e) { objectsScanned = new EMInstanceStackMap(); @@ -465,7 +519,6 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa super.stopMachine(); computationRequired = computationRemaining = 0; objectResearched = null; - } @Override @@ -478,7 +531,8 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa if (eRecipe != null) { machineType = machine; } else { - eRecipe = TT_recipe.TT_Recipe_Map_EM.sCrafterRecipesEM.findRecipe(objectResearched.getDefinition()); + eRecipe = TT_recipe.TT_Recipe_Map_EM.sCrafterRecipesEM.findRecipe( + objectResearched.getDefinition()); if (eRecipe != null) { machineType = crafter; } @@ -531,9 +585,12 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa @Override public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isActive() && (aTick & 0x2) == 0 && aBaseMetaTileEntity.isClientSide()) { - int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 4 + aBaseMetaTileEntity.getXCoord(); - int yDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetY * 4 + aBaseMetaTileEntity.getYCoord(); - int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 4 + aBaseMetaTileEntity.getZCoord(); + int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 4 + + aBaseMetaTileEntity.getXCoord(); + int yDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetY * 4 + + aBaseMetaTileEntity.getYCoord(); + int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 4 + + aBaseMetaTileEntity.getZCoord(); aBaseMetaTileEntity.getWorld().markBlockRangeForRenderUpdate(xDir, yDir, zDir, xDir, yDir, zDir); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_stabilizer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_stabilizer.java index c24ee46057..dad18a6388 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_stabilizer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_stabilizer.java @@ -1,5 +1,12 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.util.CommonValues; @@ -11,42 +18,51 @@ import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_stabilizer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.stabilizer.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.stabilizer.hint.1"),//2 - Elemental Hatches or Molecular Casing + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.stabilizer.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal( + "gt.blockmachines.multimachine.em.stabilizer.hint.1"), // 2 - Elemental Hatches or Molecular Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {" AFA ", "BCBCB", "FBGBF", "BCBCB", " AFA "}, - {"AEEEA", "CBBBC", "BBDBB", "CBBBC", "AEEEA"}, - {"FE~EF", "BBBBB", "GDDDG", "BBBBB", "FEEEF"}, - {"AEEEA", "CBBBC", "BBDBB", "CBBBC", "AEEEA"}, - {" AFA ", "BCBCB", "FBGBF", "BCBCB", " AFA "} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('C', ofBlock(sBlockCasingsTT, 6)) - .addElement('D', ofBlock(sBlockCasingsTT, 9)) - .addElement('F', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_EM_stabilizer::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('G', ofHatchAdderOptional(GT_MetaTileEntity_EM_stabilizer::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) - .build(); - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {" AFA ", "BCBCB", "FBGBF", "BCBCB", " AFA "}, + {"AEEEA", "CBBBC", "BBDBB", "CBBBC", "AEEEA"}, + {"FE~EF", "BBBBB", "GDDDG", "BBBBB", "FEEEF"}, + {"AEEEA", "CBBBC", "BBDBB", "CBBBC", "AEEEA"}, + {" AFA ", "BCBCB", "FBGBF", "BCBCB", " AFA "} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement('C', ofBlock(sBlockCasingsTT, 6)) + .addElement('D', ofBlock(sBlockCasingsTT, 9)) + .addElement('F', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'E', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_stabilizer::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'G', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_stabilizer::addElementalToMachineList, + textureOffset + 4, + 2, + sBlockCasingsTT, + 4)) + .build(); + // endregion public GT_MetaTileEntity_EM_stabilizer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -69,14 +85,24 @@ public class GT_MetaTileEntity_EM_stabilizer extends GT_MetaTileEntity_Multibloc @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.stabilizer.name")) // Machine Type: Elemental Stabilizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.stabilizer.desc.0")) // Controller block of the Elemental Stabilizer + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.stabilizer.name")) // Machine Type: Elemental Stabilizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.stabilizer.desc.0")) // Controller block of the + // Elemental Stabilizer .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(5, 5, 5, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.Elemental"), translateToLocal("tt.keyword.Structure.SideCenter"), 2) // Elemental Hatch: Side center - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.Elemental"), + translateToLocal("tt.keyword.Structure.SideCenter"), + 2) // Elemental Hatch: Side center + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } 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 909f43c355..7896899cc5 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 @@ -1,5 +1,15 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.mechanics.dataTransport.QuantumDataPacket; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputData; @@ -24,65 +34,62 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - "1 - Classic/Data Hatches or Computer casing",//1 - Classic/Data Hatches or Computer casing + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + "1 - Classic/Data Hatches or Computer casing", // 1 - Classic/Data Hatches or Computer casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {"BBB", "BBB", "BBB"}, - {"B~B", "BAB", "BBB"}, - {"BBB", "BBB", "BBB"} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 3)) - .addElement('B', ofHatchAdderOptional(GT_MetaTileEntity_EM_switch::addClassicToMachineList, textureOffset + 1, 1, sBlockCasingsTT, 1)) - .build(); - //endregion - - //region parameters - private static final INameFunction ROUTE_NAME = - (base, p) -> (p.parameterId() == 0 ? translateToLocal("tt.keyword.Destination") + " " : translateToLocal("tt.keyword.Weight") + " ") + p.hatchId(); - private static final IStatusFunction WEI_STATUS = - (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; - return STATUS_OK; - }; - private static final IStatusFunction DST_STATUS = - (base, p) -> { - if (base.weight[p.hatchId()].getStatus(false).isOk) { - double v = p.get(); - if (Double.isNaN(v)) return STATUS_WRONG; - v = (int) v; - if (v <= 0) return STATUS_TOO_LOW; - if (v >= base.eOutputHatches.size()) return STATUS_TOO_HIGH; - return STATUS_OK; - } - return STATUS_NEUTRAL; - }; - protected Parameters.Group.ParameterIn[] dst; - protected Parameters.Group.ParameterIn[] weight; - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {"BBB", "BBB", "BBB"}, + {"B~B", "BAB", "BBB"}, + {"BBB", "BBB", "BBB"} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 3)) + .addElement( + 'B', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_switch::addClassicToMachineList, + textureOffset + 1, + 1, + sBlockCasingsTT, + 1)) + .build(); + // endregion + + // region parameters + private static final INameFunction ROUTE_NAME = (base, p) -> (p.parameterId() == 0 + ? translateToLocal("tt.keyword.Destination") + " " + : translateToLocal("tt.keyword.Weight") + " ") + + p.hatchId(); + private static final IStatusFunction WEI_STATUS = (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; + return STATUS_OK; + }; + private static final IStatusFunction DST_STATUS = (base, p) -> { + if (base.weight[p.hatchId()].getStatus(false).isOk) { + double v = p.get(); + if (Double.isNaN(v)) return STATUS_WRONG; + v = (int) v; + if (v <= 0) return STATUS_TOO_LOW; + if (v >= base.eOutputHatches.size()) return STATUS_TOO_HIGH; + return STATUS_OK; + } + return STATUS_NEUTRAL; + }; + protected Parameters.Group.ParameterIn[] dst; + protected Parameters.Group.ParameterIn[] weight; + // endregion public GT_MetaTileEntity_EM_switch(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -127,14 +134,15 @@ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBas if (!eOutputData.isEmpty()) { double total = 0; double weight; - for (int i = 0; i < 10; i++) {//each param pair + for (int i = 0; i < 10; i++) { // each param pair weight = this.weight[i].get(); if (weight > 0 && dst[i].get() >= 0) { - total += weight;//Total weighted div + total += weight; // Total weighted div } } - Vec3Impl pos = new Vec3Impl(getBaseMetaTileEntity().getXCoord(), + Vec3Impl pos = new Vec3Impl( + getBaseMetaTileEntity().getXCoord(), getBaseMetaTileEntity().getYCoord(), getBaseMetaTileEntity().getZCoord()); @@ -191,32 +199,61 @@ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBas @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.switch.name")) // Machine Type: Network Switch With QoS - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.switch.desc.0")) // Controller block of the Network Switch With QoS - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.switch.desc.1")) // Used to route and distribute computation - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.switch.desc.2")) // Needs a Parametrizer to be configured + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.switch.name")) // Machine Type: Network Switch With QoS + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.switch.desc.0")) // Controller block of the Network + // Switch With QoS + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.switch.desc.1")) // Used to route and distribute computation + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.switch.desc.2")) // Needs a Parametrizer to be configured .addSeparator() .beginStructureBlock(3, 3, 3, false) - .addController(translateToLocal("tt.keyword.Structure.FrontCenter")) // Controller: Front center + .addController(translateToLocal("tt.keyword.Structure.FrontCenter")) // Controller: Front center .addCasingInfo(translateToLocal("gt.blockcasingsTT.1.name"), 0) // 0x Computer Casing (minimum) - .addOtherStructurePart(translateToLocal("gt.blockcasingsTT.3.name"), translateToLocal("tt.keyword.Structure.Center")) // Advanced Computer Casing: Center - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.DataConnector"), translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 2) // Data Connector: Any Computer Casing - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 2) // Parametrizer: Any Computer Casing - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 1) // Energy Hatch: Any Computer Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 1) // Maintenance Hatch: Any Computer Casing + .addOtherStructurePart( + translateToLocal("gt.blockcasingsTT.3.name"), + translateToLocal("tt.keyword.Structure.Center")) // Advanced Computer Casing: Center + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.DataConnector"), + translateToLocal("tt.keyword.Structure.AnyComputerCasing"), + 2) // Data Connector: Any Computer Casing + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), + translateToLocal("tt.keyword.Structure.AnyComputerCasing"), + 2) // Parametrizer: Any Computer Casing + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyComputerCasing"), + 1) // Energy Hatch: Any Computer Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyComputerCasing"), + 1) // Maintenance Hatch: Any Computer Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][1], new TT_RenderedExtendedFacingTexture(aActive ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][1], + new TT_RenderedExtendedFacingTexture( + aActive + ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON + : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][1]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][1]}; } - public final static ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_hi_freq"); + public static final ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_hi_freq"); @Override @SideOnly(Side.CLIENT) 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 251765ce0c..613dbe0e21 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 @@ -1,12 +1,23 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.DynamoMulti; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.EnergyMulti; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; +import static gregtech.api.GregTech_API.sBlockCasings1; +import static gregtech.api.enums.GT_HatchElement.Dynamo; +import static gregtech.api.enums.GT_HatchElement.Energy; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_Container_MultiMachineEM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContainer_MultiMachineEM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; import com.github.technus.tectech.util.CommonValues; -import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; @@ -23,49 +34,46 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.DynamoMulti; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.EnergyMulti; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; -import static gregtech.api.GregTech_API.sBlockCasings1; -import static gregtech.api.enums.GT_HatchElement.Dynamo; -import static gregtech.api.enums.GT_HatchElement.Energy; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable { - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.transformer.hint"),//1 - Energy IO Hatches or High Power Casing +public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_MultiblockBase_EM + implements ISurvivalConstructable { + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.transformer.hint"), // 1 - Energy IO Hatches or High Power Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", new String[][]{ - {"111", "1~1", "111",}, - {"111", "101", "111",}, - {"111", "111", "111",}, - }) - .addElement('0', ofBlock(sBlockCasings1, 15)) - .addElement('1', buildHatchAdder(GT_MetaTileEntity_EM_transformer.class) - .atLeast(Energy, EnergyMulti, Dynamo, DynamoMulti) - .casingIndex(textureOffset) - .dot(1) - .buildAndChain(onElementPass(t -> t.casingCount++, ofBlock(sBlockCasingsTT, 0)))) - .build(); - private int casingCount = 0; + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", new String[][] { + { + "111", "1~1", "111", + }, + { + "111", "101", "111", + }, + { + "111", "111", "111", + }, + }) + .addElement('0', ofBlock(sBlockCasings1, 15)) + .addElement( + '1', + buildHatchAdder(GT_MetaTileEntity_EM_transformer.class) + .atLeast(Energy, EnergyMulti, Dynamo, DynamoMulti) + .casingIndex(textureOffset) + .dot(1) + .buildAndChain(onElementPass(t -> t.casingCount++, ofBlock(sBlockCasingsTT, 0)))) + .build(); + private int casingCount = 0; @Override public IStructureDefinition getStructure_EM() { return STRUCTURE_DEFINITION; } - //endregion + // endregion public GT_MetaTileEntity_EM_transformer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -117,18 +125,30 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.transformer.name")) // Machine Type: Transformer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.transformer.desc.0")) // Controller block of the Active Transformer - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.transformer.desc.1")) // Can transform to and from any voltage - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.transformer.desc.2")) // Only 0.004% power loss, HAYO! - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.transformer.desc.3")) // Will explode if broken while running + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.transformer.name")) // Machine Type: Transformer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.transformer.desc.0")) // Controller block of the + // Active Transformer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.transformer.desc.1")) // Can transform to and from any voltage + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.transformer.desc.2")) // Only 0.004% power loss, HAYO! + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.transformer.desc.3")) // Will explode if broken while running .addSeparator() .beginStructureBlock(3, 3, 3, false) - .addController(translateToLocal("tt.keyword.Structure.FrontCenter")) // Controller: Front center + .addController(translateToLocal("tt.keyword.Structure.FrontCenter")) // Controller: Front center .addCasingInfo(translateToLocal("gt.blockcasingsTT.0.name"), 5) // 5x High Power Casing (minimum) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.SuperconductingCoilBlock"), translateToLocal("tt.keyword.Structure.Center")) // SuperconductingCoilBlock: Center - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addDynamoHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Dynamo Hatch: Any High Power Casing + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.SuperconductingCoilBlock"), + translateToLocal("tt.keyword.Structure.Center")) // SuperconductingCoilBlock: Center + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addDynamoHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Dynamo Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_GENERAL); return tt; } @@ -140,18 +160,31 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo @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 - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][0], new TT_RenderedExtendedFacingTexture(aActive ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][0], + new TT_RenderedExtendedFacingTexture( + aActive + ? GT_MetaTileEntity_MultiblockBase_EM.ScreenON + : GT_MetaTileEntity_MultiblockBase_EM.ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][0]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][0]}; } - public final static ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_noise"); + public static final ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_noise"); @Override @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_wormhole.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_wormhole.java index e156595611..97b98c859e 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_wormhole.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_wormhole.java @@ -1,5 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; @@ -17,52 +25,169 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_wormhole extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable {//TODO MAKE COMPATIBLE WITH STARGATES XD - //region variables +public class GT_MetaTileEntity_EM_wormhole extends GT_MetaTileEntity_MultiblockBase_EM + implements IConstructable { // TODO MAKE COMPATIBLE WITH STARGATES XD + // region variables private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; - //endregion + // endregion - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.wormhole.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.wormhole.hint.1"),//2 - Elemental Hatches or Molecular Casing + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.wormhole.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal( + "gt.blockmachines.multimachine.em.wormhole.hint.1"), // 2 - Elemental Hatches or Molecular Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {" ", " ", " ", " ", " ", " D ", " DDDDD ", " DGGGD ", " DGGGD ", " DGGGD ", " DDDDD "}, - {" ", " ", " ", " D ", " D ", " D ", " DDAAADD ", " EABBBAE ", " EABBBAE ", " EABBBAE ", " DDAAADD "}, - {" ", " D ", " D ", " D ", " ", " ", "DDA ADD", "DABFFFBAD", "DABCCCBAD", "DABFFFBAD", "DDA ADD"}, - {" EEE ", " DDD ", " F F ", " ", " ", " ", "DA AD", "GBF FBG", "GBC CBG", "GBF FBG", "DA AD"}, - {" E~E ", " DDBDD ", " D D ", " DD DD ", " D D ", "DD DD", "DA AD", "GBF FBG", "GBC CBG", "GBF FBG", "DA AD"}, - {" EEE ", " DDD ", " F F ", " ", " ", " ", "DA AD", "GBF FBG", "GBC CBG", "GBF FBG", "DA AD"}, - {" ", " D ", " D ", " D ", " ", " ", "DDA ADD", "DABFFFBAD", "DABCCCBAD", "DABFFFBAD", "DDA ADD"}, - {" ", " ", " ", " D ", " D ", " D ", " DDAAADD ", " EABBBAE ", " EABBBAE ", " EABBBAE ", " DDAAADD "}, - {" ", " ", " ", " ", " ", " D ", " DDDDD ", " DGGGD ", " DGGGD ", " DGGGD ", " DDDDD "} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 5)) - .addElement('B', ofBlock(sBlockCasingsTT, 10)) - .addElement('C', ofBlock(sBlockCasingsTT, 11)) - .addElement('D', ofBlock(sBlockCasingsTT, 12)) - .addElement('F', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('E', ofHatchAdderOptional(GT_MetaTileEntity_EM_wormhole::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('G', ofHatchAdderOptional(GT_MetaTileEntity_EM_wormhole::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) - .build(); - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + { + " ", + " ", + " ", + " ", + " ", + " D ", + " DDDDD ", + " DGGGD ", + " DGGGD ", + " DGGGD ", + " DDDDD " + }, + { + " ", + " ", + " ", + " D ", + " D ", + " D ", + " DDAAADD ", + " EABBBAE ", + " EABBBAE ", + " EABBBAE ", + " DDAAADD " + }, + { + " ", + " D ", + " D ", + " D ", + " ", + " ", + "DDA ADD", + "DABFFFBAD", + "DABCCCBAD", + "DABFFFBAD", + "DDA ADD" + }, + { + " EEE ", + " DDD ", + " F F ", + " ", + " ", + " ", + "DA AD", + "GBF FBG", + "GBC CBG", + "GBF FBG", + "DA AD" + }, + { + " E~E ", + " DDBDD ", + " D D ", + " DD DD ", + " D D ", + "DD DD", + "DA AD", + "GBF FBG", + "GBC CBG", + "GBF FBG", + "DA AD" + }, + { + " EEE ", + " DDD ", + " F F ", + " ", + " ", + " ", + "DA AD", + "GBF FBG", + "GBC CBG", + "GBF FBG", + "DA AD" + }, + { + " ", + " D ", + " D ", + " D ", + " ", + " ", + "DDA ADD", + "DABFFFBAD", + "DABCCCBAD", + "DABFFFBAD", + "DDA ADD" + }, + { + " ", + " ", + " ", + " D ", + " D ", + " D ", + " DDAAADD ", + " EABBBAE ", + " EABBBAE ", + " EABBBAE ", + " DDAAADD " + }, + { + " ", + " ", + " ", + " ", + " ", + " D ", + " DDDDD ", + " DGGGD ", + " DGGGD ", + " DGGGD ", + " DDDDD " + } + })) + .addElement('A', ofBlock(sBlockCasingsTT, 5)) + .addElement('B', ofBlock(sBlockCasingsTT, 10)) + .addElement('C', ofBlock(sBlockCasingsTT, 11)) + .addElement('D', ofBlock(sBlockCasingsTT, 12)) + .addElement('F', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'E', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_wormhole::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'G', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_wormhole::addElementalToMachineList, + textureOffset + 4, + 2, + sBlockCasingsTT, + 4)) + .build(); + // endregion public GT_MetaTileEntity_EM_wormhole(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -85,14 +210,22 @@ public class GT_MetaTileEntity_EM_wormhole extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.wormhole.name")) // Machine Type: Wormhole - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.wormhole.desc.0")) // Controller block of the Wormhole + tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.wormhole.name")) // Machine Type: Wormhole + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.wormhole.desc.0")) // Controller block of the Wormhole .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(9, 9, 11, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.Elemental"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing"), 2) // Elemental Hatch: Any Molecular Casing - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.Elemental"), + translateToLocal("tt.keyword.Structure.AnyMolecularCasing"), + 2) // Elemental Hatch: Any Molecular Casing + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -106,11 +239,20 @@ public class GT_MetaTileEntity_EM_wormhole extends GT_MetaTileEntity_MultiblockB } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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 TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][4], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][4]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][4]}; } @Override 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 5e148e36df..4406977759 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 @@ -1,5 +1,15 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.loader.MainLoader.microwaving; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.GregTech_API.sBlockCasings4; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.AxisAlignedBB.getBoundingBox; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.thing.metaTileEntity.multi.base.*; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; @@ -14,6 +24,8 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; +import java.util.ArrayList; +import java.util.HashSet; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; @@ -22,59 +34,57 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; -import java.util.ArrayList; -import java.util.HashSet; - -import static com.github.technus.tectech.loader.MainLoader.microwaving; -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.GregTech_API.sBlockCasings4; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.AxisAlignedBB.getBoundingBox; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region variables + // region variables private boolean hasBeenPausedThisCycle = false; - //endregion + // endregion - //region structure - //use multi A energy inputs, use less power the longer it runs - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.tm.microwave.hint.0"),//1 - Classic Hatches or Clean Stainless Steel Casing - translateToLocal("gt.blockmachines.multimachine.tm.microwave.hint.1"),//Also acts like a hopper so give it an Output Bus + // region structure + // use multi A energy inputs, use less power the longer it runs + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.tm.microwave.hint.0"), // 1 - Classic Hatches or Clean Stainless Steel + // Casing + translateToLocal( + "gt.blockmachines.multimachine.tm.microwave.hint.1"), // Also acts like a hopper so give it an Output + // Bus }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {"AAAAA", "A---A", "A---A", "A---A", "AAAAA"}, - {"AAAAA", "A---A", "A---A", "A---A", "AAAAA"}, - {"AA~AA", "A---A", "A---A", "A---A", "AAAAA"}, - {"ABBBA", "BAAAB", "BAAAB", "BAAAB", "ABBBA"} - })) - .addElement('A', ofBlock(sBlockCasings4, 1)) - .addElement('B', ofHatchAdderOptional(GT_MetaTileEntity_TM_microwave::addClassicToMachineList, 49, 1, sBlockCasings4, 1)) - .build(); - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {"AAAAA", "A---A", "A---A", "A---A", "AAAAA"}, + {"AAAAA", "A---A", "A---A", "A---A", "AAAAA"}, + {"AA~AA", "A---A", "A---A", "A---A", "AAAAA"}, + {"ABBBA", "BAAAB", "BAAAB", "BAAAB", "ABBBA"} + })) + .addElement('A', ofBlock(sBlockCasings4, 1)) + .addElement( + 'B', + ofHatchAdderOptional( + GT_MetaTileEntity_TM_microwave::addClassicToMachineList, 49, 1, sBlockCasings4, 1)) + .build(); + // endregion - //region parameters + // region parameters protected Parameters.Group.ParameterIn powerSetting, timerSetting; protected Parameters.Group.ParameterOut timerValue, remainingTime; - private static final INameFunction POWER_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgi.0");//Power setting - private static final INameFunction TIMER_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgi.1");//Timer setting + private static final INameFunction POWER_SETTING_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgi.0"); // Power setting + private static final INameFunction TIMER_SETTING_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgi.1"); // Timer setting - private static final INameFunction TIMER_VALUE_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgo.0");//Timer value - private static final INameFunction TIMER_REMAINING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgo.1");//Timer remaining - private static final IStatusFunction POWER_STATUS = + private static final INameFunction TIMER_VALUE_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgo.0"); // Timer value + private static final INameFunction TIMER_REMAINING_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgo.1"); // Timer remaining + private static final IStatusFunction POWER_STATUS = (base, p) -> LedStatus.fromLimitsInclusiveOuterBoundary(p.get(), 300, 1000, 1000, Double.POSITIVE_INFINITY); - private static final IStatusFunction TIMER_STATUS = (base, p) -> { + private static final IStatusFunction TIMER_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; value = (int) value; @@ -82,7 +92,7 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock if (value > 3000) return STATUS_TOO_HIGH; return STATUS_OK; }; - //endregion + // endregion public GT_MetaTileEntity_TM_microwave(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -122,28 +132,25 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock @Override public void outputAfterRecipe_EM() { if (hasBeenPausedThisCycle) { - return;//skip timer and actions if paused + return; // skip timer and actions if paused } timerValue.set(timerValue.get() + 1); remainingTime.set(timerSetting.get() - timerValue.get()); - IGregTechTileEntity mte = getBaseMetaTileEntity(); - Vec3Impl xyzOffsets = getExtendedFacing().getWorldOffset(new Vec3Impl(0, -1, 2)); - double xPos = mte.getXCoord() + 0.5f + xyzOffsets.get0(); - double yPos = mte.getYCoord() + 0.5f + xyzOffsets.get1(); - double zPos = mte.getZCoord() + 0.5f + xyzOffsets.get2(); - AxisAlignedBB aabb = getBoundingBox(-2, -2, -2, 2, 2, 2) - .offset(xPos, yPos, zPos); + IGregTechTileEntity mte = getBaseMetaTileEntity(); + Vec3Impl xyzOffsets = getExtendedFacing().getWorldOffset(new Vec3Impl(0, -1, 2)); + double xPos = mte.getXCoord() + 0.5f + xyzOffsets.get0(); + double yPos = mte.getYCoord() + 0.5f + xyzOffsets.get1(); + double zPos = mte.getZCoord() + 0.5f + xyzOffsets.get2(); + AxisAlignedBB aabb = getBoundingBox(-2, -2, -2, 2, 2, 2).offset(xPos, yPos, zPos); xyzOffsets = getExtendedFacing().getWorldOffset(new Vec3Impl(0, -4, 0)); - Vec3Impl xyzExpansion = getExtendedFacing().getWorldOffset(new Vec3Impl(1, 0, 1)).abs(); - int power = (int) powerSetting.get(); + Vec3Impl xyzExpansion = + getExtendedFacing().getWorldOffset(new Vec3Impl(1, 0, 1)).abs(); + int power = (int) powerSetting.get(); int damagingFactor = - Math.min(power >> 6, 8) + - Math.min(power >> 8, 24) + - Math.min(power >> 12, 48) + - (power >> 18); + Math.min(power >> 6, 8) + Math.min(power >> 8, 24) + Math.min(power >> 12, 48) + (power >> 18); ArrayList itemsToOutput = new ArrayList<>(); - HashSet tickedStuff = new HashSet<>(); + HashSet tickedStuff = new HashSet<>(); boolean inside = true; do { @@ -152,7 +159,9 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock 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()}); + mte, null, true, 128, null, null, new ItemStack[] { + ((EntityItem) entity).getEntityItem() + }); if (tRecipe == null || tRecipe.mInputs[0].stackSize != 1) { itemsToOutput.add(((EntityItem) entity).getEntityItem()); } else { @@ -187,21 +196,45 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.tm.microwave.name")) // Machine Type: Microwave Grinder - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.0")) // Controller block of the Microwave Grinder - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.1")) // Starts a timer when enabled - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.2")) // While the timer is running anything inside the machine will take damage - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.3")) // The machine will also collect any items inside of it - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.4")) // Can be configured with a Parametrizer - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.5")) // (Do not insert a Wither) + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.tm.microwave.name")) // Machine Type: Microwave Grinder + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.microwave.desc.0")) // Controller block of the + // Microwave Grinder + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.microwave.desc.1")) // Starts a timer when enabled + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.microwave.desc.2")) // While the timer is running + // anything inside the machine + // will take damage + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.microwave.desc.3")) // The machine will also collect + // any items inside of it + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.microwave.desc.4")) // Can be configured with a Parametrizer + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.microwave.desc.5")) // (Do not insert a Wither) .addSeparator() .beginStructureBlock(5, 4, 5, true) - .addController(translateToLocal("tt.keyword.Structure.FrontCenter")) // Controller: Front center - .addCasingInfo(translateToLocal("tt.keyword.Structure.StainlessSteelCasing"), 60) // 60x Stainless Steel Casing (minimum) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.DataConnector"), translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), 2) // Output Bus: Any outer casing on the bottom layer - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), translateToLocal("tt.keyword.Structure.Optional") + " " + translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), 2) // Parametrizer: (optional) Any outer casing on the bottom layer - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), 1) // Energy Hatch: Any outer casing on the bottom layer - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), 1) // Maintenance Hatch: Any outer casing on the bottom layer + .addController(translateToLocal("tt.keyword.Structure.FrontCenter")) // Controller: Front center + .addCasingInfo( + translateToLocal("tt.keyword.Structure.StainlessSteelCasing"), + 60) // 60x Stainless Steel Casing (minimum) + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.DataConnector"), + translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), + 2) // Output Bus: Any outer casing on the bottom layer + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), + translateToLocal("tt.keyword.Structure.Optional") + " " + + translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), + 2) // Parametrizer: (optional) Any outer casing on the bottom layer + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), + 1) // Energy Hatch: Any outer casing on the bottom layer + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyOuterCasingOnBottom"), + 1) // Maintenance Hatch: Any outer casing on the bottom layer .toolTipFinisher(CommonValues.BASS_MARK); return tt; } @@ -213,17 +246,39 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png", true, false, true);//todo texture + return new GT_GUIContainer_MultiMachineEM( + aPlayerInventory, + aBaseMetaTileEntity, + getLocalName(), + "EMDisplay.png", + true, + false, + true); // todo texture } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aFacing, + byte aColorIndex, + boolean aActive, + boolean aRedstone) { if (aSide == aFacing) { - return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49], new TT_RenderedExtendedFacingTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[0][49], + new TT_RenderedExtendedFacingTexture( + aActive + ? Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE + : Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE) + }; } else if (aSide == GT_Utility.getOppositeSide(aFacing)) { - return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49], aActive ? Textures.BlockIcons.casingTexturePages[0][52] : Textures.BlockIcons.casingTexturePages[0][53]}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[0][49], + aActive ? Textures.BlockIcons.casingTexturePages[0][52] : Textures.BlockIcons.casingTexturePages[0][53] + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[0][49]}; } @Override @@ -248,10 +303,10 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock if (eSafeVoid) { hasBeenPausedThisCycle = true; } - return hasBeenPausedThisCycle || super.onRunningTick(aStack);//consume eu and other resources if not paused + return hasBeenPausedThisCycle || super.onRunningTick(aStack); // consume eu and other resources if not paused } - //TODO Why is the basetype 1?? + // TODO Why is the basetype 1?? @Override public byte getTileEntityBaseType() { return 1; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java index ba0af2d349..d38e41a695 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java @@ -8,7 +8,8 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.item.ItemStack; @Deprecated -public class GT_MetaTileEntity_TM_proccessingStack extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { +public class GT_MetaTileEntity_TM_proccessingStack extends GT_MetaTileEntity_MultiblockBase_EM + implements IConstructable { protected GT_MetaTileEntity_TM_proccessingStack(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); } @@ -19,9 +20,7 @@ public class GT_MetaTileEntity_TM_proccessingStack extends GT_MetaTileEntity_Mul } @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - - } + public void construct(ItemStack stackSize, boolean hintsOnly) {} @Override public String[] getStructureDescription(ItemStack stackSize) { @@ -33,114 +32,114 @@ public class GT_MetaTileEntity_TM_proccessingStack extends GT_MetaTileEntity_Mul return null; } /* - //region variables - private boolean hasBeenPausedThisCycle = false; - //endregion - - //region structure - //use multi A energy inputs, use less power the longer it runs - private static final String[][] base = new String[][]{ - {" ",}, - {" 0 ",}, - {" ",}, - }; - private static final String[][] slice = new String[][]{ - {"111",}, - {"101",}, - {"111",}, - }; - private static final String[][] cap = new String[][]{ - {" ",}, - {" 0 ",}, - {" ",}, - }; - private static final Block[] blockType = new Block[]{sBlockCasings4}; - private static final byte[] blockMeta = new byte[]{1}; - - private static final IHatchAdder[] addingMethods = adders( - GT_MetaTileEntity_TM_proccessingStack::addClassicToMachineList); - private static final short[] casingTextures = new short[]{49}; - 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 + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.hint.0"), - translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.hint.1"), - }; - //endregion - - public GT_MetaTileEntity_TM_proccessingStack(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional); - } - - public GT_MetaTileEntity_TM_proccessingStack(String aName) { - super(aName); - } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new GT_MetaTileEntity_TM_proccessingStack(mName); - } - - @Override - public boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { - return false; - //return structureCheck_EM(shape, blockType, blockMeta, addingMethods, casingTextures, blockTypeFallback, blockMetaFallback, 1, 0, 0); - } - - @Override - public boolean checkRecipe_EM(ItemStack itemStack) { - return true; - } - - @Override - public void outputAfterRecipe_EM() { - - } - - @Override - public String[] getDescription() { - return new String[]{ - CommonValues.BASS_MARK, - translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.desc.0"), - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.desc.1"), - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.desc.2"), - }; - } - - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity,true, false, true); - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png",true, false, true); - } - - @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[0][49], new TT_RenderedExtendedFacingTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE)}; - } else if (aSide == GT_Utility.getOppositeSide(aFacing)) { - return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49], aActive ? Textures.BlockIcons.casingTexturePages[0][52] : Textures.BlockIcons.casingTexturePages[0][53]}; - } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49]}; - } - - @Override - public boolean onRunningTick(ItemStack aStack) { - return true; - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - //StructureBuilderExtreme(shape, blockType, blockMeta, 2, 2, 0, getBaseMetaTileEntity(), this, hintsOnly); - } - - @Override - public String[] getStructureDescription(ItemStack stackSize) { - return description; - } - */ -} \ No newline at end of file + //region variables + private boolean hasBeenPausedThisCycle = false; + //endregion + + //region structure + //use multi A energy inputs, use less power the longer it runs + private static final String[][] base = new String[][]{ + {" ",}, + {" 0 ",}, + {" ",}, + }; + private static final String[][] slice = new String[][]{ + {"111",}, + {"101",}, + {"111",}, + }; + private static final String[][] cap = new String[][]{ + {" ",}, + {" 0 ",}, + {" ",}, + }; + private static final Block[] blockType = new Block[]{sBlockCasings4}; + private static final byte[] blockMeta = new byte[]{1}; + + private static final IHatchAdder[] addingMethods = adders( + GT_MetaTileEntity_TM_proccessingStack::addClassicToMachineList); + private static final short[] casingTextures = new short[]{49}; + 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 + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.hint.0"), + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.hint.1"), + }; + //endregion + + public GT_MetaTileEntity_TM_proccessingStack(int aID, String aName, String aNameRegional) { + super(aID, aName, aNameRegional); + } + + public GT_MetaTileEntity_TM_proccessingStack(String aName) { + super(aName); + } + + @Override + public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { + return new GT_MetaTileEntity_TM_proccessingStack(mName); + } + + @Override + public boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { + return false; + //return structureCheck_EM(shape, blockType, blockMeta, addingMethods, casingTextures, blockTypeFallback, blockMetaFallback, 1, 0, 0); + } + + @Override + public boolean checkRecipe_EM(ItemStack itemStack) { + return true; + } + + @Override + public void outputAfterRecipe_EM() { + + } + + @Override + public String[] getDescription() { + return new String[]{ + CommonValues.BASS_MARK, + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.desc.0"), + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.desc.1"), + EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.multimachine.tm.proccessingStack.desc.2"), + }; + } + + @Override + public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_Container_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity,true, false, true); + } + + @Override + public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png",true, false, true); + } + + @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[0][49], new TT_RenderedExtendedFacingTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE)}; + } else if (aSide == GT_Utility.getOppositeSide(aFacing)) { + return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49], aActive ? Textures.BlockIcons.casingTexturePages[0][52] : Textures.BlockIcons.casingTexturePages[0][53]}; + } + return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][49]}; + } + + @Override + public boolean onRunningTick(ItemStack aStack) { + return true; + } + + @Override + public void construct(ItemStack stackSize, boolean hintsOnly) { + //StructureBuilderExtreme(shape, blockType, blockMeta, 2, 2, 0, getBaseMetaTileEntity(), this, hintsOnly); + } + + @Override + public String[] getStructureDescription(ItemStack stackSize) { + return description; + } + */ +} 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 721987fe97..94e85ff183 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,5 +1,20 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.*; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsBA0; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.DynamoMulti; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.EnergyMulti; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.Param; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; +import static gregtech.api.enums.GT_HatchElement.*; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import static java.lang.Math.min; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.mechanics.spark.RendererMessage; @@ -42,6 +57,10 @@ import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; import gregtech.api.util.IGT_HatchAdder; import gregtech.common.blocks.GT_Item_Machines; +import java.util.*; +import java.util.function.Consumer; +import java.util.stream.Collectors; +import java.util.stream.IntStream; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Items; @@ -56,189 +75,286 @@ import net.minecraft.world.World; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.tuple.Pair; -import java.util.*; -import java.util.function.Consumer; -import java.util.stream.Collectors; -import java.util.stream.IntStream; - -import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.*; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsBA0; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.DynamoMulti; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.EnergyMulti; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM.HatchElement.Param; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; -import static gregtech.api.enums.GT_HatchElement.*; -import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static java.lang.Math.min; -import static net.minecraft.util.StatCollector.translateToLocal; +public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_MultiblockBase_EM + implements ISurvivalConstructable, ITeslaConnectable { + // Interface fields + private final Multimap teslaNodeMap = + MultimapBuilder.treeKeys().linkedListValues().build(); + private final HashSet sparkList = new HashSet<>(); + private int sparkCount = 10; + + // region variables + private static final int transferRadiusTowerFromConfig = + TecTech.configTecTech.TESLA_MULTI_RANGE_TOWER; // Default is 32 + private static final int transferRadiusTransceiverFromConfig = + TecTech.configTecTech.TESLA_MULTI_RANGE_TRANSCEIVER; // Default is 16 + private static final int transferRadiusCoverUltimateFromConfig = + TecTech.configTecTech.TESLA_MULTI_RANGE_COVER; // Default is 16 + private static final int plasmaRangeMultiT1 = + TecTech.configTecTech.TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1; // Default is 2 + private static final int plasmaRangeMultiT2 = + TecTech.configTecTech.TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2; // Default is 4 + private static final int heliumUse = + TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM; // Default is 100 + private static final int nitrogenUse = + TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN; // Default is 50 + private static final int radonUse = TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON; // Default is 50 + private static final boolean visualEffect = TecTech.configTecTech.TESLA_VISUAL_EFFECT; // Default is true + // Default is {1, 1, 1} + private static final int[] plasmaTierLoss = new int[] { + TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T0, + TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T1, + TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T2 + }; + private static final float overDriveLoss = + TecTech.configTecTech.TESLA_MULTI_LOSS_FACTOR_OVERDRIVE; // Default is 0.25F; + private static final boolean doFluidOutput = TecTech.configTecTech.TESLA_MULTI_GAS_OUTPUT; // Default is false -public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable, ITeslaConnectable { - //Interface fields - private final Multimap teslaNodeMap = MultimapBuilder.treeKeys().linkedListValues().build(); - private final HashSet sparkList = new HashSet<>(); - private int sparkCount = 10; - - //region variables - private static final int transferRadiusTowerFromConfig = TecTech.configTecTech.TESLA_MULTI_RANGE_TOWER;//Default is 32 - private static final int transferRadiusTransceiverFromConfig = TecTech.configTecTech.TESLA_MULTI_RANGE_TRANSCEIVER;//Default is 16 - private static final int transferRadiusCoverUltimateFromConfig = TecTech.configTecTech.TESLA_MULTI_RANGE_COVER;//Default is 16 - private static final int plasmaRangeMultiT1 = TecTech.configTecTech.TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1;//Default is 2 - private static final int plasmaRangeMultiT2 = TecTech.configTecTech.TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2;//Default is 4 - private static final int heliumUse = TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM;//Default is 100 - private static final int nitrogenUse = TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN;//Default is 50 - private static final int radonUse = TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON;//Default is 50 - private static final boolean visualEffect = TecTech.configTecTech.TESLA_VISUAL_EFFECT;//Default is true - //Default is {1, 1, 1} - private static final int[] plasmaTierLoss = new int[]{TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T0, - TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T1, TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T2}; - private static final float overDriveLoss = TecTech.configTecTech.TESLA_MULTI_LOSS_FACTOR_OVERDRIVE;//Default is 0.25F; - private static final boolean doFluidOutput = TecTech.configTecTech.TESLA_MULTI_GAS_OUTPUT; //Default is false - - //Face icons + // Face icons private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; - private int mTier = 0; //Determines max voltage (LV to ZPM) - private int plasmaTier = 0; //0 is None, 1 is Helium or Nitrogen, 2 is Radon (Does not match actual plasma tiers) + private int mTier = 0; // Determines max voltage (LV to ZPM) + private int plasmaTier = 0; // 0 is None, 1 is Helium or Nitrogen, 2 is Radon (Does not match actual plasma tiers) - private FluidStack[] mOutputFluidsQueue; //Used to buffer the fluid outputs, so the tesla takes a second to 'cool' any plasma it would output as a gas + private FluidStack[] + mOutputFluidsQueue; // Used to buffer the fluid outputs, so the tesla takes a second to 'cool' any plasma it + // would output as a gas - private final ArrayList eCapacitorHatches = new ArrayList<>(); //Capacitor hatches which determine the max voltage tier and count of amps + private final ArrayList eCapacitorHatches = + new ArrayList<>(); // Capacitor hatches which determine the max voltage tier and count of amps - 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 + 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 - //outputVoltage and current after settings + // outputVoltage and current after settings private long outputVoltage; private long outputCurrent; - //Prevents unnecessary offset calculation, saving on lag - private byte oldRotation = -1; - private byte oldOrientation = -1; - //Location of the center of the sphere on top of the tower, used as the Thaumcraft lightning and origin - public Vec3Impl posTop = Vec3Impl.NULL_VECTOR; - //endregion - - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.hint.0"),//1 - Classic Hatches, Capacitor Hatches or Tesla Base Casing - translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.hint.1"),//2 - ""Titanium frames"" + // Prevents unnecessary offset calculation, saving on lag + private byte oldRotation = -1; + private byte oldOrientation = -1; + // Location of the center of the sphere on top of the tower, used as the Thaumcraft lightning and origin + public Vec3Impl posTop = Vec3Impl.NULL_VECTOR; + // endregion + + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.hint.0"), // 1 - Classic Hatches, Capacitor Hatches or Tesla + // Base Casing + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.hint.1"), // 2 - ""Titanium frames"" }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {" ", " ", " BBB ", " BBB ", " BBB ", " ", " "}, - {" ", " BBB ", " BBBBB ", " BBBBB ", " BBBBB ", " BBB ", " "}, - {" ", " BBB ", " BBBBB ", " BBBBB ", " BBBBB ", " BBB ", " "}, - {" ", " BBB ", " BBBBB ", " BBBBB ", " BBBBB ", " BBB ", " "}, - {" ", " ", " BBB ", " BCB ", " BBB ", " ", " "}, - {" ", " ", " ", " C ", " ", " ", " "}, - {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, - {" ", " ", " ", " C ", " ", " ", " "}, - {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, - {" ", " ", " ", " C ", " ", " ", " "}, - {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, - {" ", " ", " ", " C ", " ", " ", " "}, - {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, - {" ", " ", " ", " C ", " ", " ", " "}, - {" ", " ", " ", " C ", " ", " ", " "}, - {" ", " DDD ", " D D ", " D C D ", " D D ", " DDD ", " "}, - {" EE~EE ", "EAAAAAE", "EADDDAE", "EADADAE", "EADDDAE", "EAAAAAE", " EEEEE "} - })) - .addElement('A', ofBlock(sBlockCasingsBA0, 6)) - .addElement('B', ofBlock(sBlockCasingsBA0, 7)) - .addElement('C', ofBlock(sBlockCasingsBA0, 8)) - .addElement('D', ofBlocksTiered( - (block, meta) -> block != sBlockCasingsBA0 ? -1 : meta <= 5 ? meta : meta == 9 ? 6 : -1, - IntStream.range(0, 6).map(tier -> tier == 5 ? 9 : tier).mapToObj(meta -> Pair.of(sBlockCasingsBA0, meta)).collect(Collectors.toList()), - -1, - (t, v) -> t.mTier = v, - t -> t.mTier)) - .addElement('E', buildHatchAdder(GT_MetaTileEntity_TM_teslaCoil.class) - .atLeast(CapacitorHatchElement.INSTANCE, EnergyMulti, Energy, DynamoMulti, Dynamo, InputHatch, OutputHatch, Param, Maintenance) - .dot(1) - .casingIndex(textureOffset + 16 +6) - .buildAndChain(sBlockCasingsBA0, 6)) - .addElement('F', new IStructureElement() { - private IIcon[] mIcons; - - @Override - public boolean check(GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z) { - TileEntity tBase = world.getTileEntity(x, y, z); - if (tBase instanceof BaseMetaPipeEntity) { - BaseMetaPipeEntity tPipeBase = (BaseMetaPipeEntity) tBase; - if (tPipeBase.isInvalidTileEntity()) return false; - return tPipeBase.getMetaTileEntity() instanceof GT_MetaPipeEntity_Frame; - } - return false; - } - - @Override - public boolean spawnHint(GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z, ItemStack trigger) { - if (mIcons == null) { - mIcons = new IIcon[6]; - Arrays.fill(mIcons, Materials._NULL.mIconSet.mTextures[OrePrefixes.frameGt.mTextureIndex].getIcon()); - } - StructureLibAPI.hintParticleTinted(world, x, y, z, mIcons, Materials._NULL.mRGBa); - return true; - } - - @Override - public boolean placeBlock(GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z, ItemStack trigger) { - ItemStack tFrameStack = GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Titanium, 1); - if (!GT_Utility.isStackValid(tFrameStack) || !(tFrameStack.getItem() instanceof ItemBlock)) - return false; - ItemBlock tFrameStackItem = (ItemBlock) tFrameStack.getItem(); - return tFrameStackItem.placeBlockAt(tFrameStack, null, world, x, y, z, 6, 0, 0, 0, Items.feather.getDamage(tFrameStack)); - } - - @Override - public PlaceResult survivalPlaceBlock(GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z, ItemStack trigger, IItemSource source, EntityPlayerMP actor, Consumer chatter) { - if (check(t, world, x, y, z)) return PlaceResult.SKIP; - ItemStack tFrameStack = source.takeOne(s -> GT_Item_Machines.getMetaTileEntity(s) instanceof GT_MetaPipeEntity_Frame, true); - if (tFrameStack == null) return PlaceResult.REJECT; - return StructureUtility.survivalPlaceBlock(tFrameStack, ItemStackPredicate.NBTMode.IGNORE_KNOWN_INSIGNIFICANT_TAGS, null, false, world, x, y, z, source, actor, chatter); - } - }) - .build(); - //endregion - - //region parameters - protected Parameters.Group.ParameterIn popogaSetting, histLowSetting, histHighSetting, transferRadiusTowerSetting, transferRadiusTransceiverSetting, transferRadiusCoverUltimateSetting, outputVoltageSetting, outputCurrentSetting, sortTimeMinSetting, overDriveSetting; - protected Parameters.Group.ParameterOut popogaDisplay, transferRadiusTowerDisplay, transferRadiusTransceiverDisplay, transferRadiusCoverUltimateDisplay, outputVoltageDisplay, outputCurrentDisplay, energyCapacityDisplay, energyStoredDisplay, energyFractionDisplay, sortTimeDisplay; - - private static final INameFunction HYSTERESIS_LOW_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.0");//Hysteresis low setting - private static final INameFunction HYSTERESIS_HIGH_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.1");//Hysteresis high setting - private static final INameFunction TRANSFER_RADIUS_TOWER_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.2");//Tesla Towers transfer radius setting - private static final INameFunction TRANSFER_RADIUS_TRANSCEIVER_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.3");//Tesla Transceiver transfer radius setting - private static final INameFunction TRANSFER_RADIUS_COVER_ULTIMATE_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.4");//Tesla Ultimate Cover transfer radius setting - private static final INameFunction OUTPUT_VOLTAGE_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.5");//Output voltage setting - private static final INameFunction OUTPUT_CURRENT_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.6");//Output current setting - private static final INameFunction SCAN_TIME_MIN_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.7");//Scan time Min setting - private static final INameFunction OVERDRIVE_SETTING_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.8");//Overdrive setting - private static final INameFunction POPOGA_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.9");//Unused - - private static final INameFunction TRANSFER_RADIUS_TOWER_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.0");//Tesla Towers transfer radius display - private static final INameFunction TRANSFER_RADIUS_TRANSCEIVER_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.1");//Tesla Transceiver transfer radius display - private static final INameFunction TRANSFER_RADIUS_COVER_ULTIMATE_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.2");//Tesla Ultimate Cover transfer radius display - private static final INameFunction OUTPUT_VOLTAGE_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.3");//Output voltage display - private static final INameFunction OUTPUT_CURRENT_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.4");//Output current display - private static final INameFunction ENERGY_CAPACITY_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.5");//Energy Capacity display - private static final INameFunction ENERGY_STORED_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.6");//Energy Stored display - private static final INameFunction ENERGY_FRACTION_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.7");//Energy Fraction display - private static final INameFunction SCAN_TIME_DISPLAY_NAME = (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.8");//Scan time display - - private static final IStatusFunction HYSTERESIS_LOW_STATUS = (base, p) -> { + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {" ", " ", " BBB ", " BBB ", " BBB ", " ", " "}, + {" ", " BBB ", " BBBBB ", " BBBBB ", " BBBBB ", " BBB ", " "}, + {" ", " BBB ", " BBBBB ", " BBBBB ", " BBBBB ", " BBB ", " "}, + {" ", " BBB ", " BBBBB ", " BBBBB ", " BBBBB ", " BBB ", " "}, + {" ", " ", " BBB ", " BCB ", " BBB ", " ", " "}, + {" ", " ", " ", " C ", " ", " ", " "}, + {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, + {" ", " ", " ", " C ", " ", " ", " "}, + {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, + {" ", " ", " ", " C ", " ", " ", " "}, + {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, + {" ", " ", " ", " C ", " ", " ", " "}, + {" ", " BBB ", " B F B ", " BFCFB ", " B F B ", " BBB ", " "}, + {" ", " ", " ", " C ", " ", " ", " "}, + {" ", " ", " ", " C ", " ", " ", " "}, + {" ", " DDD ", " D D ", " D C D ", " D D ", " DDD ", " "}, + {" EE~EE ", "EAAAAAE", "EADDDAE", "EADADAE", "EADDDAE", "EAAAAAE", " EEEEE "} + })) + .addElement('A', ofBlock(sBlockCasingsBA0, 6)) + .addElement('B', ofBlock(sBlockCasingsBA0, 7)) + .addElement('C', ofBlock(sBlockCasingsBA0, 8)) + .addElement( + 'D', + ofBlocksTiered( + (block, meta) -> + block != sBlockCasingsBA0 ? -1 : meta <= 5 ? meta : meta == 9 ? 6 : -1, + IntStream.range(0, 6) + .map(tier -> tier == 5 ? 9 : tier) + .mapToObj(meta -> Pair.of(sBlockCasingsBA0, meta)) + .collect(Collectors.toList()), + -1, + (t, v) -> t.mTier = v, + t -> t.mTier)) + .addElement( + 'E', + buildHatchAdder(GT_MetaTileEntity_TM_teslaCoil.class) + .atLeast( + CapacitorHatchElement.INSTANCE, + EnergyMulti, + Energy, + DynamoMulti, + Dynamo, + InputHatch, + OutputHatch, + Param, + Maintenance) + .dot(1) + .casingIndex(textureOffset + 16 + 6) + .buildAndChain(sBlockCasingsBA0, 6)) + .addElement('F', new IStructureElement() { + private IIcon[] mIcons; + + @Override + public boolean check(GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z) { + TileEntity tBase = world.getTileEntity(x, y, z); + if (tBase instanceof BaseMetaPipeEntity) { + BaseMetaPipeEntity tPipeBase = (BaseMetaPipeEntity) tBase; + if (tPipeBase.isInvalidTileEntity()) return false; + return tPipeBase.getMetaTileEntity() instanceof GT_MetaPipeEntity_Frame; + } + return false; + } + + @Override + public boolean spawnHint( + GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z, ItemStack trigger) { + if (mIcons == null) { + mIcons = new IIcon[6]; + Arrays.fill( + mIcons, + Materials._NULL.mIconSet.mTextures[OrePrefixes.frameGt.mTextureIndex] + .getIcon()); + } + StructureLibAPI.hintParticleTinted(world, x, y, z, mIcons, Materials._NULL.mRGBa); + return true; + } + + @Override + public boolean placeBlock( + GT_MetaTileEntity_TM_teslaCoil t, World world, int x, int y, int z, ItemStack trigger) { + ItemStack tFrameStack = + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Titanium, 1); + if (!GT_Utility.isStackValid(tFrameStack) || !(tFrameStack.getItem() instanceof ItemBlock)) + return false; + ItemBlock tFrameStackItem = (ItemBlock) tFrameStack.getItem(); + return tFrameStackItem.placeBlockAt( + tFrameStack, + null, + world, + x, + y, + z, + 6, + 0, + 0, + 0, + Items.feather.getDamage(tFrameStack)); + } + + @Override + public PlaceResult survivalPlaceBlock( + GT_MetaTileEntity_TM_teslaCoil t, + World world, + int x, + int y, + int z, + ItemStack trigger, + IItemSource source, + EntityPlayerMP actor, + Consumer chatter) { + if (check(t, world, x, y, z)) return PlaceResult.SKIP; + ItemStack tFrameStack = source.takeOne( + s -> GT_Item_Machines.getMetaTileEntity(s) instanceof GT_MetaPipeEntity_Frame, + true); + if (tFrameStack == null) return PlaceResult.REJECT; + return StructureUtility.survivalPlaceBlock( + tFrameStack, + ItemStackPredicate.NBTMode.IGNORE_KNOWN_INSIGNIFICANT_TAGS, + null, + false, + world, + x, + y, + z, + source, + actor, + chatter); + } + }) + .build(); + // endregion + + // region parameters + protected Parameters.Group.ParameterIn popogaSetting, + histLowSetting, + histHighSetting, + transferRadiusTowerSetting, + transferRadiusTransceiverSetting, + transferRadiusCoverUltimateSetting, + outputVoltageSetting, + outputCurrentSetting, + sortTimeMinSetting, + overDriveSetting; + protected Parameters.Group.ParameterOut popogaDisplay, + transferRadiusTowerDisplay, + transferRadiusTransceiverDisplay, + transferRadiusCoverUltimateDisplay, + outputVoltageDisplay, + outputCurrentDisplay, + energyCapacityDisplay, + energyStoredDisplay, + energyFractionDisplay, + sortTimeDisplay; + + private static final INameFunction HYSTERESIS_LOW_SETTING_NAME = (base, p) -> + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.0"); // Hysteresis low setting + private static final INameFunction HYSTERESIS_HIGH_SETTING_NAME = (base, p) -> + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.1"); // Hysteresis high setting + private static final INameFunction TRANSFER_RADIUS_TOWER_SETTING_NAME = + (base, p) -> translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.cfgi.2"); // Tesla Towers transfer radius setting + private static final INameFunction TRANSFER_RADIUS_TRANSCEIVER_SETTING_NAME = + (base, p) -> translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.cfgi.3"); // Tesla Transceiver transfer radius setting + private static final INameFunction TRANSFER_RADIUS_COVER_ULTIMATE_SETTING_NAME = + (base, p) -> translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.cfgi.4"); // Tesla Ultimate Cover transfer radius + // setting + private static final INameFunction OUTPUT_VOLTAGE_SETTING_NAME = (base, p) -> + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.5"); // Output voltage setting + private static final INameFunction OUTPUT_CURRENT_SETTING_NAME = (base, p) -> + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.6"); // Output current setting + private static final INameFunction SCAN_TIME_MIN_SETTING_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.7"); // Scan time Min setting + private static final INameFunction OVERDRIVE_SETTING_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.8"); // Overdrive setting + private static final INameFunction POPOGA_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.9"); // Unused + + private static final INameFunction TRANSFER_RADIUS_TOWER_DISPLAY_NAME = + (base, p) -> translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.cfgo.0"); // Tesla Towers transfer radius display + private static final INameFunction TRANSFER_RADIUS_TRANSCEIVER_DISPLAY_NAME = + (base, p) -> translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.cfgo.1"); // Tesla Transceiver transfer radius display + private static final INameFunction TRANSFER_RADIUS_COVER_ULTIMATE_DISPLAY_NAME = + (base, p) -> translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.cfgo.2"); // Tesla Ultimate Cover transfer radius + // display + private static final INameFunction OUTPUT_VOLTAGE_DISPLAY_NAME = (base, p) -> + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.3"); // Output voltage display + private static final INameFunction OUTPUT_CURRENT_DISPLAY_NAME = (base, p) -> + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.4"); // Output current display + private static final INameFunction ENERGY_CAPACITY_DISPLAY_NAME = (base, p) -> + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.5"); // Energy Capacity display + private static final INameFunction ENERGY_STORED_DISPLAY_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.6"); // Energy Stored display + private static final INameFunction ENERGY_FRACTION_DISPLAY_NAME = (base, p) -> + translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.7"); // Energy Fraction display + private static final INameFunction SCAN_TIME_DISPLAY_NAME = + (base, p) -> translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.8"); // Scan time display + + private static final IStatusFunction HYSTERESIS_LOW_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) { return STATUS_WRONG; @@ -247,14 +363,14 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock if (value > base.histHighSetting.get()) return STATUS_TOO_HIGH; return STATUS_OK; }; - private static final IStatusFunction HYSTERESIS_HIGH_STATUS = (base, p) -> { + private static final IStatusFunction 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 IStatusFunction TRANSFER_RADIUS_TOWER_STATUS = (base, p) -> { + private static final IStatusFunction TRANSFER_RADIUS_TOWER_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; value = (int) value; @@ -263,33 +379,36 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock if (value < transferRadiusTowerFromConfig) return STATUS_LOW; return STATUS_OK; }; - private static final IStatusFunction TRANSFER_RADIUS_TRANSCEIVER_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 > transferRadiusTransceiverFromConfig) return STATUS_HIGH; - if (value < transferRadiusTransceiverFromConfig) return STATUS_LOW; - return STATUS_OK; - }; - private static final IStatusFunction TRANSFER_RADIUS_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 > transferRadiusCoverUltimateFromConfig) return STATUS_HIGH; - if (value < transferRadiusCoverUltimateFromConfig) return STATUS_LOW; - return STATUS_OK; - }; - private static final IStatusFunction 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 SCAN_TIME_MIN_STATUS = (base, p) -> { + private static final IStatusFunction TRANSFER_RADIUS_TRANSCEIVER_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 > transferRadiusTransceiverFromConfig) return STATUS_HIGH; + if (value < transferRadiusTransceiverFromConfig) return STATUS_LOW; + return STATUS_OK; + }; + private static final IStatusFunction TRANSFER_RADIUS_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 > transferRadiusCoverUltimateFromConfig) return STATUS_HIGH; + if (value < transferRadiusCoverUltimateFromConfig) return STATUS_LOW; + return STATUS_OK; + }; + private static final IStatusFunction 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 SCAN_TIME_MIN_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; value = (int) value; @@ -297,7 +416,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock if (value == 100) return STATUS_OK; return STATUS_HIGH; }; - private static final IStatusFunction OVERDRIVE_STATUS = (base, p) -> { + private static final IStatusFunction OVERDRIVE_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; value = (int) value; @@ -305,20 +424,20 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock if (value == 0) return STATUS_LOW; return STATUS_HIGH; }; - private static final IStatusFunction POPOGA_STATUS = (base, p) -> { + private static final IStatusFunction POPOGA_STATUS = (base, p) -> { if (base.getBaseMetaTileEntity().getWorld().isThundering()) { return STATUS_WTF; } return STATUS_NEUTRAL; }; - private static final IStatusFunction SCAN_TIME_STATUS = (base, p) -> { + private static final IStatusFunction SCAN_TIME_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; value = (int) value; if (value == 0) return STATUS_HIGH; return STATUS_LOW; }; - private static final IStatusFunction POWER_STATUS = (base, p) -> { + private static final IStatusFunction POWER_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; value = (long) value; @@ -328,7 +447,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock return STATUS_LOW; } }; - private static final IStatusFunction ENERGY_STATUS = (base, p) -> { + private static final IStatusFunction ENERGY_STATUS = (base, p) -> { double value = p.get(); if (Double.isNaN(value)) return STATUS_WRONG; if (base.energyFractionDisplay.get() > base.histHighSetting.get()) { @@ -339,7 +458,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock return STATUS_OK; } }; - //endregion + // endregion public GT_MetaTileEntity_TM_teslaCoil(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -350,9 +469,9 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock } private float getRangeMulti(int mTier, int vTier) { - //By Default: - //Helium and Nitrogen Plasmas will double the range - //Radon will quadruple the range + // By Default: + // Helium and Nitrogen Plasmas will double the range + // Radon will quadruple the range int plasmaBoost; switch (plasmaTier) { case 2: @@ -365,7 +484,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock plasmaBoost = 1; } - //Over-tiered coils will add +25% range + // Over-tiered coils will add +25% range if (vTier > mTier) { return 1.25F * plasmaBoost; } @@ -373,8 +492,8 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock } private void checkPlasmaBoost() { - //If there's fluid in the queue, try to output it - //That way it takes at least a second to 'process' the plasma + // If there's fluid in the queue, try to output it + // That way it takes at least a second to 'process' the plasma if (mOutputFluidsQueue != null) { mOutputFluids = mOutputFluidsQueue; mOutputFluidsQueue = null; @@ -382,24 +501,27 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock for (GT_MetaTileEntity_Hatch_Input fluidHatch : mInputHatches) { if (fluidHatch.mFluid != null) { - if (fluidHatch.mFluid.isFluidEqual(Materials.Helium.getPlasma(1)) && fluidHatch.mFluid.amount >= heliumUse) { + if (fluidHatch.mFluid.isFluidEqual(Materials.Helium.getPlasma(1)) + && fluidHatch.mFluid.amount >= heliumUse) { fluidHatch.mFluid.amount = fluidHatch.mFluid.amount - heliumUse; if (doFluidOutput) { - mOutputFluidsQueue = new FluidStack[]{Materials.Helium.getGas(heliumUse)}; + mOutputFluidsQueue = new FluidStack[] {Materials.Helium.getGas(heliumUse)}; } plasmaTier = 1; return; - } else if (fluidHatch.mFluid.isFluidEqual(Materials.Nitrogen.getPlasma(1)) && fluidHatch.mFluid.amount >= nitrogenUse) { + } else if (fluidHatch.mFluid.isFluidEqual(Materials.Nitrogen.getPlasma(1)) + && fluidHatch.mFluid.amount >= nitrogenUse) { fluidHatch.mFluid.amount = fluidHatch.mFluid.amount - nitrogenUse; if (doFluidOutput) { - mOutputFluidsQueue = new FluidStack[]{Materials.Nitrogen.getGas(nitrogenUse)}; + mOutputFluidsQueue = new FluidStack[] {Materials.Nitrogen.getGas(nitrogenUse)}; } plasmaTier = 1; return; - } else if (fluidHatch.mFluid.isFluidEqual(Materials.Radon.getPlasma(1)) && fluidHatch.mFluid.amount >= radonUse) { + } else if (fluidHatch.mFluid.isFluidEqual(Materials.Radon.getPlasma(1)) + && fluidHatch.mFluid.amount >= radonUse) { fluidHatch.mFluid.amount = fluidHatch.mFluid.amount - radonUse; if (doFluidOutput) { - mOutputFluidsQueue = new FluidStack[]{Materials.Radon.getGas(radonUse)}; + mOutputFluidsQueue = new FluidStack[] {Materials.Radon.getGas(radonUse)}; } plasmaTier = 2; return; @@ -432,20 +554,26 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock } } - //Only recalculate offsets on orientation or rotation change - if (oldRotation != getExtendedFacing().ordinal() || oldOrientation != iGregTechTileEntity.getFrontFacing()) { + // Only recalculate offsets on orientation or rotation change + if (oldRotation != getExtendedFacing().ordinal() + || oldOrientation != iGregTechTileEntity.getFrontFacing()) { oldRotation = (byte) getExtendedFacing().ordinal(); oldOrientation = iGregTechTileEntity.getFrontFacing(); - Vec3Impl posBMTE = new Vec3Impl(getBaseMetaTileEntity().getXCoord(), + Vec3Impl posBMTE = new Vec3Impl( + getBaseMetaTileEntity().getXCoord(), getBaseMetaTileEntity().getYCoord(), getBaseMetaTileEntity().getZCoord()); - //Calculate coordinates of the middle bottom - posTop = getExtendedFacing().getWorldOffset(new Vec3Impl(0, 0, 2)).add(posBMTE); + // Calculate coordinates of the middle bottom + posTop = getExtendedFacing() + .getWorldOffset(new Vec3Impl(0, 0, 2)) + .add(posBMTE); - //Calculate coordinates of the top sphere - posTop = getExtendedFacing().getWorldOffset(new Vec3Impl(0, -14, 2)).add(posBMTE); + // Calculate coordinates of the top sphere + posTop = getExtendedFacing() + .getWorldOffset(new Vec3Impl(0, -14, 2)) + .add(posBMTE); } return true; } @@ -456,16 +584,15 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock public boolean checkRecipe_EM(ItemStack itemStack) { checkPlasmaBoost(); - 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 || - !sortTimeMinSetting.getStatus(false).isOk || - !overDriveSetting.getStatus(false).isOk - ) return false; + 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 + || !sortTimeMinSetting.getStatus(false).isOk + || !overDriveSetting.getStatus(false).isOk) return false; mEfficiencyIncrease = 10000; mMaxProgresstime = 20; @@ -484,7 +611,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock outputCurrentMax = 0; if (vTier < 0) { - //Returning true to allow for 'passive running' + // Returning true to allow for 'passive running' outputVoltageMax = 0; return true; } else if (vTier > mTier && getEUVar() > 0) { @@ -514,18 +641,37 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.name")) // Machine Type: Tesla Tower - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.0")) // Controller block of the Tesla Tower - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.1")) // Used to transmit power to Tesla Coil Covers and Tesla Transceivers - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.2")) // Can be fed with Helium/Nitrogen/Radon Plasma to increase the range - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.3")) // Transmitted voltage depends on the used Tesla Capacitor tier - .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.4")) // Primary Tesla Windings need to be at least the same tier as the Tesla Capacitor + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.name")) // Machine Type: Tesla Tower + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.desc.0")) // Controller block of the Tesla Tower + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.desc.1")) // Used to transmit power to Tesla + // Coil Covers and Tesla + // Transceivers + .addInfo(translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.2")) // Can be fed with + // Helium/Nitrogen/Radon Plasma to + // increase the range + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.desc.3")) // Transmitted voltage depends on + // the used Tesla Capacitor tier + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.tm.teslaCoil.desc.4")) // Primary Tesla Windings need to + // be at least the same tier as + // the Tesla Capacitor .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(7, 17, 7, false) - .addOtherStructurePart(translateToLocal("gt.blockmachines.hatch.capacitor.tier.03.name"), translateToLocal("tt.keyword.Structure.AnyTeslaBaseCasingOuter"), 1) // Capacitor Hatch: Any outer Tesla Base Casing - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyTeslaBaseCasingOuter"), 1) // Energy Hatch: Any outer Tesla Base Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyTeslaBaseCasingOuter"), 1) // Maintenance Hatch: Any outer Tesla Base Casing + .addOtherStructurePart( + translateToLocal("gt.blockmachines.hatch.capacitor.tier.03.name"), + translateToLocal("tt.keyword.Structure.AnyTeslaBaseCasingOuter"), + 1) // Capacitor Hatch: Any outer Tesla Base Casing + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyTeslaBaseCasingOuter"), + 1) // Energy Hatch: Any outer Tesla Base Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyTeslaBaseCasingOuter"), + 1) // Maintenance Hatch: Any outer Tesla Base Casing .toolTipFinisher(CommonValues.BASS_MARK); return tt; } @@ -539,11 +685,20 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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][16 + 6], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][16 + 6], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][16 + 6]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][16 + 6]}; } @Override @@ -576,13 +731,24 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock 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, transferRadiusTowerFromConfig, TRANSFER_RADIUS_TOWER_SETTING_NAME, TRANSFER_RADIUS_TOWER_STATUS); + transferRadiusTowerSetting = hatch_2.makeInParameter( + 0, transferRadiusTowerFromConfig, TRANSFER_RADIUS_TOWER_SETTING_NAME, TRANSFER_RADIUS_TOWER_STATUS); popogaSetting = hatch_2.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); - transferRadiusTransceiverSetting = hatch_3.makeInParameter(0, transferRadiusTransceiverFromConfig, TRANSFER_RADIUS_TRANSCEIVER_SETTING_NAME, TRANSFER_RADIUS_TRANSCEIVER_STATUS); - transferRadiusCoverUltimateSetting = hatch_3.makeInParameter(1, transferRadiusCoverUltimateFromConfig, TRANSFER_RADIUS_COVER_ULTIMATE_SETTING_NAME, TRANSFER_RADIUS_COVER_ULTIMATE_STATUS); - outputVoltageSetting = hatch_4.makeInParameter(0, -1, OUTPUT_VOLTAGE_SETTING_NAME, OUTPUT_VOLTAGE_OR_CURRENT_STATUS); + transferRadiusTransceiverSetting = hatch_3.makeInParameter( + 0, + transferRadiusTransceiverFromConfig, + TRANSFER_RADIUS_TRANSCEIVER_SETTING_NAME, + TRANSFER_RADIUS_TRANSCEIVER_STATUS); + transferRadiusCoverUltimateSetting = hatch_3.makeInParameter( + 1, + transferRadiusCoverUltimateFromConfig, + TRANSFER_RADIUS_COVER_ULTIMATE_SETTING_NAME, + TRANSFER_RADIUS_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); + 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); @@ -597,10 +763,13 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock 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); + 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_STATUS); - transferRadiusCoverUltimateDisplay = hatch_3.makeOutParameter(1, 0, TRANSFER_RADIUS_COVER_ULTIMATE_DISPLAY_NAME, TRANSFER_RADIUS_COVER_ULTIMATE_STATUS); + transferRadiusTransceiverDisplay = hatch_3.makeOutParameter( + 0, 0, TRANSFER_RADIUS_TRANSCEIVER_DISPLAY_NAME, TRANSFER_RADIUS_TRANSCEIVER_STATUS); + transferRadiusCoverUltimateDisplay = hatch_3.makeOutParameter( + 1, 0, TRANSFER_RADIUS_COVER_ULTIMATE_DISPLAY_NAME, TRANSFER_RADIUS_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); @@ -652,7 +821,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock @Override public boolean onRunningTick(ItemStack aStack) { - //Hysteresis based ePowerPass setting + // Hysteresis based ePowerPass setting float energyFrac = (float) getEUVar() / energyCapacity; energyCapacityDisplay.set(energyCapacity); @@ -665,7 +834,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock ePowerPass = false; } - //Power Limit Settings + // Power Limit Settings if (outputVoltageSetting.get() > 0) { outputVoltage = min(outputVoltageMax, (long) outputVoltageSetting.get()); } else { @@ -679,22 +848,23 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock outputCurrent = outputCurrentMax; } - //Range calculation and display + // Range calculation and display int transferRadiusTower = getTeslaTransmissionRange(); transferRadiusTowerDisplay.set(transferRadiusTower); transferRadiusTransceiverDisplay.set(transferRadiusTower * 2); transferRadiusCoverUltimateDisplay.set(transferRadiusTower); - //Power transfer + // Power transfer outputCurrentDisplay.set(powerTeslaNodeMap(this)); - //TODO Encapsulate the spark sender + // TODO Encapsulate the spark sender sparkCount--; if (sparkCount == 0 && visualEffect) { IGregTechTileEntity mte = getBaseMetaTileEntity(); sparkCount = 10; if (!sparkList.isEmpty()) { - NetworkDispatcher.INSTANCE.sendToAllAround(new RendererMessage.RendererData(sparkList), + NetworkDispatcher.INSTANCE.sendToAllAround( + new RendererMessage.RendererData(sparkList), mte.getWorld().provider.dimensionId, mte.getXCoord(), mte.getYCoord(), @@ -708,14 +878,14 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock @Override public long maxEUStore() { - //Setting the power here so that the tower looses all it's charge once disabled - //This also stops it from exploding + // Setting the power here so that the tower looses all it's charge once disabled + // This also stops it from exploding return getBaseMetaTileEntity().isActive() ? energyCapacity * 2 : 0; } @Override public long getEUVar() { - //Same reason as maxEUStore, set to 1 instead of zero so it doesn't drain constantly + // Same reason as maxEUStore, set to 1 instead of zero so it doesn't drain constantly return getBaseMetaTileEntity().isActive() ? super.getEUVar() : 1; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java index 1691940997..a26003dd74 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java @@ -12,43 +12,49 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { - public LedStatus[] eParamsInStatus = LedStatus.makeArray(20,LedStatus.STATUS_UNDEFINED); - public LedStatus[] eParamsOutStatus = LedStatus.makeArray(20,LedStatus.STATUS_UNDEFINED); - public double[] eParamsIn = new double[20];//number I from parametrizers + public LedStatus[] eParamsInStatus = LedStatus.makeArray(20, LedStatus.STATUS_UNDEFINED); + public LedStatus[] eParamsOutStatus = LedStatus.makeArray(20, LedStatus.STATUS_UNDEFINED); + public double[] eParamsIn = new double[20]; // number I from parametrizers public long[] eParamsInl = new long[20]; - public double[] eParamsOut = new double[20];//number O to parametrizers + public double[] eParamsOut = new double[20]; // number O to parametrizers public long[] eParamsOutl = new long[20]; public byte eCertainMode = 5, eCertainStatus = 127; public boolean ePowerPass = false, eSafeVoid = false, allowedToWork = false; - public final boolean eSafeVoidButton, allowedToWorkButton,ePowerPassButton; + public final boolean eSafeVoidButton, allowedToWorkButton, ePowerPassButton; public boolean ePowerPassCover; - public GT_Container_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity,boolean enablePowerPassButton, boolean enableSafeVoid, boolean enablePowerButton) { + public GT_Container_MultiMachineEM( + InventoryPlayer aInventoryPlayer, + IGregTechTileEntity aTileEntity, + boolean enablePowerPassButton, + boolean enableSafeVoid, + boolean enablePowerButton) { super(aInventoryPlayer, aTileEntity); - ePowerPassButton=enablePowerPassButton; - eSafeVoidButton=enableSafeVoid; - allowedToWorkButton=enablePowerButton; + ePowerPassButton = enablePowerPassButton; + eSafeVoidButton = enableSafeVoid; + allowedToWorkButton = enablePowerButton; } public GT_Container_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - this(aInventoryPlayer,aTileEntity,true,true,true); + this(aInventoryPlayer, aTileEntity, true, true, true); } - public GT_Container_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, boolean bindInventory) { + public GT_Container_MultiMachineEM( + InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, boolean bindInventory) { super(aInventoryPlayer, aTileEntity, bindInventory); - ePowerPassButton=eSafeVoidButton=allowedToWorkButton=true; + ePowerPassButton = eSafeVoidButton = allowedToWorkButton = true; } @Override protected void bindPlayerInventory(InventoryPlayer aInventoryPlayer) { int i; - for(i = 0; i < 3; ++i) { - for(int j = 0; j < 9; ++j) { + for (i = 0; i < 3; ++i) { + for (int j = 0; j < 9; ++j) { this.addSlotToContainer(new Slot(aInventoryPlayer, j + i * 9 + 9, 8 + j * 18, 110 + i * 18)); } } - for(i = 0; i < 9; ++i) { + for (i = 0; i < 9; ++i) { this.addSlotToContainer(new Slot(aInventoryPlayer, i, 8 + i * 18, 168)); } } @@ -68,18 +74,19 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { } Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - GT_MetaTileEntity_MultiblockBase_EM mte = (GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity(); + GT_MetaTileEntity_MultiblockBase_EM mte = + (GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity(); IGregTechTileEntity base = mte.getBaseMetaTileEntity(); switch (aSlotIndex) { case 0: - if(ePowerPassButton || mte.ePowerPassCover) { - TecTech.proxy.playSound(base,"fx_click"); - if(mte.ePowerPassCover){ + if (ePowerPassButton || mte.ePowerPassCover) { + TecTech.proxy.playSound(base, "fx_click"); + if (mte.ePowerPassCover) { mte.ePowerPass ^= true; - }else { + } else { mte.ePowerPass = false; } - if (!allowedToWorkButton) {//TRANSFORMER HACK + if (!allowedToWorkButton) { // TRANSFORMER HACK if (mte.ePowerPass) { mte.getBaseMetaTileEntity().enableWorking(); } else { @@ -89,14 +96,14 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { } break; case 1: - if(eSafeVoidButton) { - TecTech.proxy.playSound(base,"fx_click"); + if (eSafeVoidButton) { + TecTech.proxy.playSound(base, "fx_click"); mte.eSafeVoid ^= true; } break; case 2: - if(allowedToWorkButton) { - TecTech.proxy.playSound(base,"fx_click"); + if (allowedToWorkButton) { + TecTech.proxy.playSound(base, "fx_click"); if (mte.getBaseMetaTileEntity().isAllowedToWork()) { mte.getBaseMetaTileEntity().disableWorking(); } else { @@ -115,10 +122,13 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null || eParamsInStatus == null) { return; } - eParamsInStatus = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.eParamsInStatus; - eParamsOutStatus = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.eParamsOutStatus; - eParamsIn= ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.iParamsIn; - eParamsOut= ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.iParamsOut; + eParamsInStatus = + ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.eParamsInStatus; + eParamsOutStatus = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()) + .parametrization + .eParamsOutStatus; + eParamsIn = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.iParamsIn; + eParamsOut = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).parametrization.iParamsOut; eCertainMode = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).eCertainMode; eCertainStatus = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).eCertainStatus; ePowerPass = ((GT_MetaTileEntity_MultiblockBase_EM) mTileEntity.getMetaTileEntity()).ePowerPass; @@ -128,12 +138,16 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; - for (int i=100, j = 0; j < eParamsInStatus.length; j++) { - var1.sendProgressBarUpdate(this, i++, (eParamsInStatus[j].getOrdinalByte() | (eParamsOutStatus[j].getOrdinalByte() << 8))); + for (int i = 100, j = 0; j < eParamsInStatus.length; j++) { + var1.sendProgressBarUpdate( + this, i++, (eParamsInStatus[j].getOrdinalByte() | (eParamsOutStatus[j].getOrdinalByte() << 8))); } var1.sendProgressBarUpdate(this, 120, eCertainMode | (eCertainStatus << 8)); - var1.sendProgressBarUpdate(this, 121, (ePowerPass ? 1 : 0) + (eSafeVoid ? 2 : 0) + (allowedToWork ? 4 : 0) + (ePowerPassButton?8:0)); - for(int i=128,k=208,j=0;j<20;j++,i+=4,k+=4) { + var1.sendProgressBarUpdate( + this, + 121, + (ePowerPass ? 1 : 0) + (eSafeVoid ? 2 : 0) + (allowedToWork ? 4 : 0) + (ePowerPassButton ? 8 : 0)); + for (int i = 128, k = 208, j = 0; j < 20; j++, i += 4, k += 4) { TT_Utility.sendDouble(eParamsOut[j], this, var1, i); TT_Utility.sendDouble(eParamsIn[j], this, var1, k); } @@ -147,8 +161,8 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { return; } if (par1 >= 100 && par1 < 120) { - eParamsInStatus[par1 - 100] = LedStatus.getStatus ((byte) (par2 & 0xff)); - eParamsOutStatus[par1 - 100] = LedStatus.getStatus ((byte) (par2 >>> 8)); + eParamsInStatus[par1 - 100] = LedStatus.getStatus((byte) (par2 & 0xff)); + eParamsOutStatus[par1 - 100] = LedStatus.getStatus((byte) (par2 >>> 8)); } else if (par1 == 120) { eCertainMode = (byte) (par2 & 0xff); eCertainStatus = (byte) (par2 >>> 8); @@ -157,12 +171,14 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { eSafeVoid = (par2 & 2) == 2; allowedToWork = (par2 & 4) == 4; ePowerPassCover = (par2 & 8) == 8; - } else if(par1>=128 && par1<208){ - int pos=(par1-128)>>2; - eParamsOut[pos]=Double.longBitsToDouble(eParamsOutl[pos]= TT_Utility.receiveLong(eParamsOutl[pos],par1&0xFFFFFFFC,par1,par2)); - }else if(par1>=208 && par1<288){ - int pos=(par1-208)>>2; - eParamsIn[pos]=Double.longBitsToDouble(eParamsInl[pos]= TT_Utility.receiveLong(eParamsInl[pos],par1&0xFFFFFFFC,par1,par2)); + } else if (par1 >= 128 && par1 < 208) { + int pos = (par1 - 128) >> 2; + eParamsOut[pos] = Double.longBitsToDouble( + eParamsOutl[pos] = TT_Utility.receiveLong(eParamsOutl[pos], par1 & 0xFFFFFFFC, par1, par2)); + } else if (par1 >= 208 && par1 < 288) { + int pos = (par1 - 208) >> 2; + eParamsIn[pos] = Double.longBitsToDouble( + eParamsInl[pos] = TT_Utility.receiveLong(eParamsInl[pos], par1 & 0xFFFFFFFC, par1, par2)); } } @@ -180,4 +196,4 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { public int getShiftClickSlotCount() { return 1; } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java index 070976006c..0c20d76dae 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java @@ -1,56 +1,75 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + import com.github.technus.tectech.TecTech; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import java.util.List; import net.minecraft.client.gui.FontRenderer; import net.minecraft.entity.player.InventoryPlayer; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; -import java.util.List; - -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - /** * Created by Tec on 21.02.2017. */ - public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Machine { protected final String mName; protected static byte counter = 0; - protected final boolean eSafeVoidButton, allowedToWorkButton,ePowerPassButton; + protected final boolean eSafeVoidButton, allowedToWorkButton, ePowerPassButton; protected final GT_Container_MultiMachineEM mContainer; - protected GT_GUIContainer_MultiMachineEM(GT_Container_MultiMachineEM container, String aName, String aTextureFile,boolean enablePowerPass, boolean enableSafeVoid, boolean enablePowerButton) { + protected GT_GUIContainer_MultiMachineEM( + GT_Container_MultiMachineEM container, + String aName, + String aTextureFile, + boolean enablePowerPass, + boolean enableSafeVoid, + boolean enablePowerButton) { super(container, RES_PATH_GUI + "multimachines/" + (aTextureFile == null ? "MultiblockDisplay" : aTextureFile)); - mContainer=(GT_Container_MultiMachineEM)super.mContainer; + mContainer = (GT_Container_MultiMachineEM) super.mContainer; mName = aName; - ePowerPassButton=enablePowerPass; - eSafeVoidButton=enableSafeVoid; - allowedToWorkButton=enablePowerButton; - ySize= 192; + ePowerPassButton = enablePowerPass; + eSafeVoidButton = enableSafeVoid; + allowedToWorkButton = enablePowerButton; + ySize = 192; xSize = 198; } - public GT_GUIContainer_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile,boolean enablePowerPass, boolean enableSafeVoid, boolean enablePowerButton) { - this(new GT_Container_MultiMachineEM(aInventoryPlayer, aTileEntity),aName,aTextureFile,enablePowerPass,enableSafeVoid,enablePowerButton); + public GT_GUIContainer_MultiMachineEM( + InventoryPlayer aInventoryPlayer, + IGregTechTileEntity aTileEntity, + String aName, + String aTextureFile, + boolean enablePowerPass, + boolean enableSafeVoid, + boolean enablePowerButton) { + this( + new GT_Container_MultiMachineEM(aInventoryPlayer, aTileEntity), + aName, + aTextureFile, + enablePowerPass, + enableSafeVoid, + enablePowerButton); } protected GT_GUIContainer_MultiMachineEM(GT_Container_MultiMachineEM container, String aName, String aTextureFile) { - this(container,aName,aTextureFile,true,true,true); + this(container, aName, aTextureFile, true, true, true); } - public GT_GUIContainer_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile) { - this(new GT_Container_MultiMachineEM(aInventoryPlayer, aTileEntity),aName,aTextureFile); + public GT_GUIContainer_MultiMachineEM( + InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile) { + this(new GT_Container_MultiMachineEM(aInventoryPlayer, aTileEntity), aName, aTextureFile); } @Override public void drawScreen(int mouseX, int mouseY, float par3) { super.drawScreen(mouseX, mouseY, par3); if (mContainer != null) { - if (mContainer.mTileEntity != null && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_MultiblockBase_EM) { + if (mContainer.mTileEntity != null + && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_MultiblockBase_EM) { LEDtooltips(mouseX, mouseY); } } @@ -110,22 +129,22 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach if (mContainer != null && mContainer.eParamsInStatus != null) { counter = (byte) ((1 + counter) % 6); GL11.glColor4f(1f, 1f, 1f, 1f); - x+= 173; - if (!ePowerPassButton && !mContainer.ePowerPassCover) {//no function + x += 173; + if (!ePowerPassButton && !mContainer.ePowerPassCover) { // no function drawTexturedModalRect(x, y + 115, 231, 23, 18, 18); } else { - if (mContainer.ePowerPass) {// + if (mContainer.ePowerPass) { // drawTexturedModalRect(x, y + 115, 207, 23, 18, 18); } } - if(!eSafeVoidButton) { + if (!eSafeVoidButton) { drawTexturedModalRect(x, y + 132, 231, 41, 18, 18); } else if (mContainer.eSafeVoid) { drawTexturedModalRect(x, y + 132, 207, 41, 18, 18); } - if(!allowedToWorkButton) { + if (!allowedToWorkButton) { drawTexturedModalRect(x, y + 147, 231, 57, 18, 18); } else if (mContainer.allowedToWork) { drawTexturedModalRect(x, y + 147, 207, 57, 18, 18); @@ -144,63 +163,31 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach x += 162; byte state = mContainer.eCertainStatus; switch (mContainer.eCertainMode) { - case 1://ooo oxo ooo - drawTexturedModalRect(x + 6, y + 6, - rU + (state == 0 ? 30 : 6), - Vs + 6, 6, 6); + case 1: // ooo oxo ooo + drawTexturedModalRect(x + 6, y + 6, rU + (state == 0 ? 30 : 6), Vs + 6, 6, 6); break; - case 2://ooo xox ooo - drawTexturedModalRect(x, y + 6, - rU + ((state & 1) == 0 ? 24 : 0), - Vs + 6, 6, 6); - drawTexturedModalRect(x + 12, y + 6, - rU + ((state & 2) == 0 ? 36 : 12), - Vs + 6, 6, 6); + case 2: // ooo xox ooo + drawTexturedModalRect(x, y + 6, rU + ((state & 1) == 0 ? 24 : 0), Vs + 6, 6, 6); + drawTexturedModalRect(x + 12, y + 6, rU + ((state & 2) == 0 ? 36 : 12), Vs + 6, 6, 6); break; - case 3://oxo xox oxo - drawTexturedModalRect(x + 6, y, - rU + ((state & 1) == 0 ? 30 : 6), - Vs, 6, 6); - drawTexturedModalRect(x, y + 6, - rU + ((state & 2) == 0 ? 24 : 0), - Vs + 6, 6, 6); - drawTexturedModalRect(x + 12, y + 6, - rU + ((state & 4) == 0 ? 36 : 12), - Vs + 6, 6, 6); - drawTexturedModalRect(x + 6, y + 12, - rU + ((state & 8) == 0 ? 30 : 6), - Vs + 12, 6, 6); + case 3: // oxo xox oxo + drawTexturedModalRect(x + 6, y, rU + ((state & 1) == 0 ? 30 : 6), Vs, 6, 6); + drawTexturedModalRect(x, y + 6, rU + ((state & 2) == 0 ? 24 : 0), Vs + 6, 6, 6); + drawTexturedModalRect(x + 12, y + 6, rU + ((state & 4) == 0 ? 36 : 12), Vs + 6, 6, 6); + drawTexturedModalRect(x + 6, y + 12, rU + ((state & 8) == 0 ? 30 : 6), Vs + 12, 6, 6); break; - case 4://xox ooo xox - drawTexturedModalRect(x, y, - rU + ((state & 1) == 0 ? 24 : 0), - Vs, 6, 6); - drawTexturedModalRect(x + 12, y, - rU + ((state & 2) == 0 ? 36 : 12), - Vs, 6, 6); - drawTexturedModalRect(x, y + 12, - rU + ((state & 4) == 0 ? 24 : 0), - Vs + 12, 6, 6); - drawTexturedModalRect(x + 12, y + 12, - rU + ((state & 8) == 0 ? 36 : 12), - Vs + 12, 6, 6); + case 4: // xox ooo xox + drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 24 : 0), Vs, 6, 6); + drawTexturedModalRect(x + 12, y, rU + ((state & 2) == 0 ? 36 : 12), Vs, 6, 6); + drawTexturedModalRect(x, y + 12, rU + ((state & 4) == 0 ? 24 : 0), Vs + 12, 6, 6); + drawTexturedModalRect(x + 12, y + 12, rU + ((state & 8) == 0 ? 36 : 12), Vs + 12, 6, 6); break; - case 5://xox oxo xox - drawTexturedModalRect(x, y, - rU + ((state & 1) == 0 ? 24 : 0), - Vs, 6, 6); - drawTexturedModalRect(x + 12, y, - rU + ((state & 2) == 0 ? 36 : 12), - Vs, 6, 6); - drawTexturedModalRect(x + 6, y + 6, - rU + ((state & 4) == 0 ? 30 : 6), - Vs + 6, 6, 6); - drawTexturedModalRect(x, y + 12, - rU + ((state & 8) == 0 ? 24 : 0), - Vs + 12, 6, 6); - drawTexturedModalRect(x + 12, y + 12, - rU + ((state & 16) == 0 ? 36 : 12), - Vs + 12, 6, 6); + case 5: // xox oxo xox + drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 24 : 0), Vs, 6, 6); + drawTexturedModalRect(x + 12, y, rU + ((state & 2) == 0 ? 36 : 12), Vs, 6, 6); + drawTexturedModalRect(x + 6, y + 6, rU + ((state & 4) == 0 ? 30 : 6), Vs + 6, 6, 6); + drawTexturedModalRect(x, y + 12, rU + ((state & 8) == 0 ? 24 : 0), Vs + 12, 6, 6); + drawTexturedModalRect(x + 12, y + 12, rU + ((state & 16) == 0 ? 36 : 12), Vs + 12, 6, 6); break; } } @@ -210,71 +197,72 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach int v = 192, su = 8, sv = 6, u = 11; switch (status) { case STATUS_WTF: { - int c=counter; - if(c>4){ - c= TecTech.RANDOM.nextInt(5); + int c = counter; + if (c > 4) { + c = TecTech.RANDOM.nextInt(5); } switch (c) { case 0: - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv);//BLUE + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv); // BLUE break; case 1: - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (2 + j), su, sv);//cyan + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (2 + j), su, sv); // cyan break; case 2: - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (4 + j), su, sv);//green + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (4 + j), su, sv); // green break; case 3: - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (6 + j), su, sv);//orangeyello + drawTexturedModalRect( + x + su * i, y + sv * j, u + su * i, v + sv * (6 + j), su, sv); // orangeyello break; case 4: - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv);//redd + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv); // redd break; } break; } - case STATUS_WRONG: //fallthrough + case STATUS_WRONG: // fallthrough if (counter < 2) { - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv);//blue + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv); // blue break; } else if (counter < 4) { - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv);//red + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv); // red break; } - case STATUS_OK://ok - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (4 + j), su, sv);//green + case STATUS_OK: // ok + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (4 + j), su, sv); // green break; - case STATUS_TOO_LOW://too low blink + case STATUS_TOO_LOW: // too low blink if (counter < 3) { - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv);//BLUE + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv); // BLUE break; } - case STATUS_LOW:// too low - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (2 + j), su, sv);//cyan + case STATUS_LOW: // too low + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (2 + j), su, sv); // cyan break; - case STATUS_TOO_HIGH://too high blink + case STATUS_TOO_HIGH: // too high blink if (counter < 3) { - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv);//redd + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv); // redd break; } - case STATUS_HIGH:// too high - drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (6 + j), su, sv);//orangeyello + case STATUS_HIGH: // too high + drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (6 + j), su, sv); // orangeyello break; case STATUS_NEUTRAL: - if(counter<3){ + if (counter < 3) { GL11.glColor4f(.85f, .9f, .95f, .5F); - drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2); - }else { + drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su + 2, sv + 2); + } else { GL11.glColor4f(.8f, .9f, 1f, .5F); - drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2); + drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su + 2, sv + 2); } GL11.glColor4f(1f, 1f, 1f, 1f); break; case STATUS_UNDEFINED: - if(counter<3) { + if (counter < 3) { GL11.glColor4f(.5f, .1f, .15f, .5F); drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su + 2, sv + 2); - }else { + } else { GL11.glColor4f(0f, .1f, .2f, .5F); drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su + 2, sv + 2); } @@ -282,50 +270,61 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach break; case STATUS_UNUSED: default: - //if (GregTech_API.sColoredGUI && this.mContainer.mTileEntity != null) { + // if (GregTech_API.sColoredGUI && this.mContainer.mTileEntity != null) { // int tColor = this.mContainer.mTileEntity.getColorization() & 15; // if (tColor < ItemDye.field_150922_c.length) { // tColor = ItemDye.field_150922_c[tColor]; - // GL11.glColor4f((float)(tColor >> 16 & 255) / 255.0F, (float)(tColor >> 8 & 255) / 255.0F, (float)(tColor & 255) / 255.0F, 1F); + // GL11.glColor4f((float)(tColor >> 16 & 255) / 255.0F, (float)(tColor >> 8 & 255) / 255.0F, + // (float)(tColor & 255) / 255.0F, 1F); // } - //} - //drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2); - //GL11.glColor4f(1f, 1f, 1f, 1f); - //break; + // } + // drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2); + // GL11.glColor4f(1f, 1f, 1f, 1f); + // break; } } - protected void LEDtooltips(int x,int y){ - int renderPosX=x; - int renderPosY=y; - x-= (width - xSize) / 2; - y-= (height - ySize) / 2; - //drawHoveringText(Arrays.asList(""+x,""+y), -1, -11, fontRendererObj); - if(mContainer.mTileEntity!=null){ - IMetaTileEntity mte=mContainer.mTileEntity.getMetaTileEntity(); - if(mte instanceof GT_MetaTileEntity_MultiblockBase_EM){ - Parameters parametrization=((GT_MetaTileEntity_MultiblockBase_EM)mte).parametrization; - parametrization.eParamsInStatus=mContainer.eParamsInStatus; - parametrization.eParamsOutStatus=mContainer.eParamsOutStatus; - parametrization.iParamsIn=mContainer.eParamsIn; - parametrization.iParamsOut=mContainer.eParamsOut; - int su = 8, sv = 6, u=11,v=96; - if(x=v && y= v && y < v + sv) { + // if(mContainer.eParamsOutStatus[hatch + (10*param)]==STATUS_UNUSED){ // return; - //} - hoveringText(((GT_MetaTileEntity_MultiblockBase_EM) mte).getFullLedDescriptionOut(hatch,param), renderPosX, renderPosY, fontRendererObj); + // } + hoveringText( + ((GT_MetaTileEntity_MultiblockBase_EM) mte) + .getFullLedDescriptionOut(hatch, param), + renderPosX, + renderPosY, + fontRendererObj); return; } } @@ -338,7 +337,7 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach protected void hoveringText(List strings, int x, int y, FontRenderer font) { if (!strings.isEmpty()) { GL11.glDisable(GL12.GL_RESCALE_NORMAL); - //RenderHelper.disableStandardItemLighting(); + // RenderHelper.disableStandardItemLighting(); GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_DEPTH_TEST); int k = 0; @@ -368,16 +367,16 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach y2 = this.height - i1 - 6; } - //this.zLevel = 300.0F; - //itemRender.zLevel = 300.0F; - int j1 = 0xf0001040;//bg + // this.zLevel = 300.0F; + // itemRender.zLevel = 300.0F; + int j1 = 0xf0001040; // bg this.drawGradientRect(x2 - 3, y2 - 4, x2 + k + 3, y2 - 3, j1, j1); this.drawGradientRect(x2 - 3, y2 + i1 + 3, x2 + k + 3, y2 + i1 + 4, j1, j1); this.drawGradientRect(x2 - 3, y2 - 3, x2 + k + 3, y2 + i1 + 3, j1, j1); this.drawGradientRect(x2 - 4, y2 - 3, x2 - 3, y2 + i1 + 3, j1, j1); this.drawGradientRect(x2 + k + 3, y2 - 3, x2 + k + 4, y2 + i1 + 3, j1, j1); - int k1 = 0x500040ff;//border bright - int l1 = (k1 & 0xfefefe) >> 1 | k1 & 0xff000000;//border dark??? + int k1 = 0x500040ff; // border bright + int l1 = (k1 & 0xfefefe) >> 1 | k1 & 0xff000000; // border dark??? this.drawGradientRect(x2 - 3, y2 - 3 + 1, x2 - 3 + 1, y2 + i1 + 3 - 1, k1, l1); this.drawGradientRect(x2 + k + 2, y2 - 3 + 1, x2 + k + 3, y2 + i1 + 3 - 1, k1, l1); this.drawGradientRect(x2 - 3, y2 - 3, x2 + k + 3, y2 - 3 + 1, k1, k1); @@ -394,12 +393,12 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach y2 += 10; } - //this.zLevel = 0.0F; - //itemRender.zLevel = 0.0F; + // this.zLevel = 0.0F; + // itemRender.zLevel = 0.0F; GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_DEPTH_TEST); - //RenderHelper.enableStandardItemLighting(); + // RenderHelper.enableStandardItemLighting(); GL11.glEnable(GL12.GL_RESCALE_NORMAL); } } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java index 86ca00d80e..b071196b14 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java @@ -1,5 +1,14 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.loader.TecTechConfig.POWERLESS_MODE; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.util.CommonValues.*; +import static com.github.technus.tectech.util.DoubleCount.div; +import static com.github.technus.tectech.util.TT_Utility.getTier; +import static gregtech.api.enums.GT_HatchElement.*; +import static java.lang.Math.min; + import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; @@ -33,12 +42,15 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.*; import gregtech.api.util.*; import gregtech.common.GT_Pollution; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.EntityPlayer; - +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -47,114 +59,105 @@ import net.minecraft.util.ResourceLocation; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidStack; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.loader.TecTechConfig.POWERLESS_MODE; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.util.CommonValues.*; -import static com.github.technus.tectech.util.DoubleCount.div; -import static com.github.technus.tectech.util.TT_Utility.getTier; -import static gregtech.api.enums.GT_HatchElement.*; -import static java.lang.Math.min; - /** * Created by danie_000 on 27.10.2016. */ -public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEntity_TooltipMultiBlockBase implements IAlignment { - //region Client side variables (static - one per class) +public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEntity_TooltipMultiBlockBase + implements IAlignment { + // region Client side variables (static - one per class) - //Front icon holders - static so it is default one for my blocks - //just add new static ones in your class and and override getTexture + // Front icon holders - static so it is default one for my blocks + // just add new static ones in your class and and override getTexture protected static Textures.BlockIcons.CustomIcon ScreenOFF; protected static Textures.BlockIcons.CustomIcon ScreenON; - //Sound resource - same as with screen but override getActivitySound - public final static ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_lo_freq"); + // Sound resource - same as with screen but override getActivitySound + public static final ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_lo_freq"); + @SideOnly(Side.CLIENT) - private SoundLoop activitySoundLoop; - //endregion - - //region HATCHES ARRAYS - they hold info about found hatches, add hatches to them... (auto structure magic does it tho) - - //HATCHES!!!, should be added and removed in check machine - - //EM in/out - protected ArrayList eInputHatches = new ArrayList<>(); - protected ArrayList eOutputHatches = new ArrayList<>(); - //EM overflow output - protected ArrayList eMufflerHatches = new ArrayList<>(); - //extra hatches - protected ArrayList eParamHatches = new ArrayList<>(); - protected ArrayList eUncertainHatches = new ArrayList<>(); - //multi amp hatches in/out - protected ArrayList eEnergyMulti = new ArrayList<>(); - protected ArrayList eDynamoMulti = new ArrayList<>(); - //data hatches - protected ArrayList eInputData = new ArrayList<>(); - protected ArrayList eOutputData = new ArrayList<>(); - - //endregion - - //region parameters + private SoundLoop activitySoundLoop; + // endregion + + // region HATCHES ARRAYS - they hold info about found hatches, add hatches to them... (auto structure magic does it + // tho) + + // HATCHES!!!, should be added and removed in check machine + + // EM in/out + protected ArrayList eInputHatches = new ArrayList<>(); + protected ArrayList eOutputHatches = new ArrayList<>(); + // EM overflow output + protected ArrayList eMufflerHatches = new ArrayList<>(); + // extra hatches + protected ArrayList eParamHatches = new ArrayList<>(); + protected ArrayList eUncertainHatches = new ArrayList<>(); + // multi amp hatches in/out + protected ArrayList eEnergyMulti = new ArrayList<>(); + protected ArrayList eDynamoMulti = new ArrayList<>(); + // data hatches + protected ArrayList eInputData = new ArrayList<>(); + protected ArrayList eOutputData = new ArrayList<>(); + + // endregion + + // region parameters public final Parameters parametrization; - //endregion + // endregion - //region Control variables + // region Control variables - //should explode on dismatle?, set it in constructor, if true machine will explode if invalidated structure while active + // should explode on dismatle?, set it in constructor, if true machine will explode if invalidated structure while + // active protected boolean eDismantleBoom = false; - //what is the amount of A required - public long eAmpereFlow = 1; // analogue of EU/t but for amperes used (so eu/t is actually eu*A/t) USE ONLY POSITIVE NUMBERS! + // what is the amount of A required + public long eAmpereFlow = + 1; // analogue of EU/t but for amperes used (so eu/t is actually eu*A/t) USE ONLY POSITIVE NUMBERS! - //set to what you need it to be in check recipe - //data required to operate + // set to what you need it to be in check recipe + // data required to operate protected long eRequiredData = 0; - //storage for output EM that will be auto handled in case of failure to finish recipe - //if you succed to use a recipe - be sure to output EM from outputEM to hatches in the output method + // storage for output EM that will be auto handled in case of failure to finish recipe + // if you succed to use a recipe - be sure to output EM from outputEM to hatches in the output method protected EMInstanceStackMap[] outputEM; - //are parameters correct - change in check recipe/output/update params etc. (maintenance status boolean) + // are parameters correct - change in check recipe/output/update params etc. (maintenance status boolean) protected boolean eParameters = true; - //what type of certainty inconvenience is used - can be used as in Computer - more info in uncertainty hatch + // what type of certainty inconvenience is used - can be used as in Computer - more info in uncertainty hatch protected byte eCertainMode = 0, eCertainStatus = 0; - //minimal repair status to make the machine even usable (how much unfixed fixed stuff is needed) - //if u need to force some things to be fixed - u might need to override doRandomMaintenanceDamage + // minimal repair status to make the machine even usable (how much unfixed fixed stuff is needed) + // if u need to force some things to be fixed - u might need to override doRandomMaintenanceDamage protected byte minRepairStatus = 3; - //is power pass cover present + // is power pass cover present public boolean ePowerPassCover = false; - //functionality toggles - changed by buttons in gui also + // functionality toggles - changed by buttons in gui also public boolean ePowerPass = false, eSafeVoid = false; - //endregion + // endregion - //region READ ONLY unless u really need to change it + // region READ ONLY unless u really need to change it - //max amperes machine can take in after computing it to the lowest tier (exchange packets to min tier count) + // max amperes machine can take in after computing it to the lowest tier (exchange packets to min tier count) protected long eMaxAmpereFlow = 0, eMaxAmpereGen = 0; - //What is the max and minimal tier of eu hatches installed + // What is the max and minimal tier of eu hatches installed private long maxEUinputMin = 0, maxEUinputMax = 0, maxEUoutputMin = 0, maxEUoutputMax = 0; - //read only unless you are making computation generator - read computer class + // read only unless you are making computation generator - read computer class protected long eAvailableData = 0; // data being available - //just some info - private so hidden + // just some info - private so hidden private boolean explodedThisTick = false; - //front rotation val + // front rotation val private IAlignmentLimits alignmentLimits = IAlignmentLimits.UNLIMITED; - private ExtendedFacing extendedFacing = ExtendedFacing.DEFAULT; - //endregion + private ExtendedFacing extendedFacing = ExtendedFacing.DEFAULT; + // endregion protected GT_MetaTileEntity_MultiblockBase_EM(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -170,7 +173,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt parametrization.setToDefaults(true, true); } - //region SUPER STRUCT + // region SUPER STRUCT @Override public IAlignmentLimits getAlignmentLimits() { return alignmentLimits; @@ -184,16 +187,21 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt @Override public void setExtendedFacing(ExtendedFacing newExtendedFacing) { if (extendedFacing != newExtendedFacing) { - if(mMachine) - stopMachine(); + if (mMachine) stopMachine(); extendedFacing = newExtendedFacing; final IGregTechTileEntity base = getBaseMetaTileEntity(); mMachine = false; mUpdated = false; mUpdate = 100; if (getBaseMetaTileEntity().isServerSide()) { - StructureLibAPI.sendAlignment((IAlignmentProvider) base, - new NetworkRegistry.TargetPoint(base.getWorld().provider.dimensionId, base.getXCoord(), base.getYCoord(), base.getZCoord(), 512)); + StructureLibAPI.sendAlignment( + (IAlignmentProvider) base, + new NetworkRegistry.TargetPoint( + base.getWorld().provider.dimensionId, + base.getXCoord(), + base.getYCoord(), + base.getZCoord(), + 512)); } else { base.issueTextureUpdate(); } @@ -201,11 +209,13 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } @Override - public boolean onWrenchRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + public boolean onWrenchRightClick( + byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { if (aWrenchingSide != getBaseMetaTileEntity().getFrontFacing()) return super.onWrenchRightClick(aSide, aWrenchingSide, aPlayer, aX, aY, aZ); if (aPlayer.isSneaking()) { - // we won't be allowing horizontal flips, as it can be perfectly emulated by rotating twice and flipping horizontally + // we won't be allowing horizontal flips, as it can be perfectly emulated by rotating twice and flipping + // horizontally // allowing an extra round of flip make it hard to draw meaningful flip markers in GT_Proxy#drawGrid toolSetFlip(getFlip().isHorizontallyFlipped() ? Flip.NONE : Flip.HORIZONTAL); } else { @@ -238,31 +248,94 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt public final boolean structureCheck_EM(String piece, int horizontalOffset, int verticalOffset, int depthOffset) { IGregTechTileEntity baseMetaTileEntity = getBaseMetaTileEntity(); - return getStructure_EM_Internal().check(this, piece, baseMetaTileEntity.getWorld(), getExtendedFacing(), - baseMetaTileEntity.getXCoord(), baseMetaTileEntity.getYCoord(), baseMetaTileEntity.getZCoord(), - horizontalOffset, verticalOffset, depthOffset, !mMachine); - } - - public final boolean structureBuild_EM(String piece, int horizontalOffset, int verticalOffset, int depthOffset, ItemStack trigger, boolean hintsOnly) { + return getStructure_EM_Internal() + .check( + this, + piece, + baseMetaTileEntity.getWorld(), + getExtendedFacing(), + baseMetaTileEntity.getXCoord(), + baseMetaTileEntity.getYCoord(), + baseMetaTileEntity.getZCoord(), + horizontalOffset, + verticalOffset, + depthOffset, + !mMachine); + } + + public final boolean structureBuild_EM( + String piece, + int horizontalOffset, + int verticalOffset, + int depthOffset, + ItemStack trigger, + boolean hintsOnly) { IGregTechTileEntity baseMetaTileEntity = getBaseMetaTileEntity(); - return getStructure_EM_Internal().buildOrHints(this, trigger, piece, baseMetaTileEntity.getWorld(), - getExtendedFacing(), baseMetaTileEntity.getXCoord(), baseMetaTileEntity.getYCoord(), - baseMetaTileEntity.getZCoord(), horizontalOffset, verticalOffset, depthOffset, hintsOnly); - } - - protected final int survivialBuildPiece(String piece, ItemStack trigger, int horizontalOffset, int verticalOffset, int depthOffset, int elementsBudget, IItemSource source, EntityPlayerMP actor, boolean check) { + return getStructure_EM_Internal() + .buildOrHints( + this, + trigger, + piece, + baseMetaTileEntity.getWorld(), + getExtendedFacing(), + baseMetaTileEntity.getXCoord(), + baseMetaTileEntity.getYCoord(), + baseMetaTileEntity.getZCoord(), + horizontalOffset, + verticalOffset, + depthOffset, + hintsOnly); + } + + protected final int survivialBuildPiece( + String piece, + ItemStack trigger, + int horizontalOffset, + int verticalOffset, + int depthOffset, + int elementsBudget, + IItemSource source, + EntityPlayerMP actor, + boolean check) { final IGregTechTileEntity tTile = getBaseMetaTileEntity(); - return getStructure_EM_Internal().survivalBuild(this, trigger, piece, tTile.getWorld(), getExtendedFacing(), tTile.getXCoord(), tTile.getYCoord(), tTile.getZCoord(), horizontalOffset, verticalOffset, depthOffset, elementsBudget, source, actor, check); - } - - protected final int survivialBuildPiece(String piece, ItemStack trigger, int horizontalOffset, int verticalOffset, int depthOffset, int elementsBudget, IItemSource source, EntityPlayerMP actor, boolean check, boolean checkIfPlaced) { - int built = survivialBuildPiece(piece, trigger, horizontalOffset, verticalOffset, depthOffset, elementsBudget, source, actor, check); + return getStructure_EM_Internal() + .survivalBuild( + this, + trigger, + piece, + tTile.getWorld(), + getExtendedFacing(), + tTile.getXCoord(), + tTile.getYCoord(), + tTile.getZCoord(), + horizontalOffset, + verticalOffset, + depthOffset, + elementsBudget, + source, + actor, + check); + } + + protected final int survivialBuildPiece( + String piece, + ItemStack trigger, + int horizontalOffset, + int verticalOffset, + int depthOffset, + int elementsBudget, + IItemSource source, + EntityPlayerMP actor, + boolean check, + boolean checkIfPlaced) { + int built = survivialBuildPiece( + piece, trigger, horizontalOffset, verticalOffset, depthOffset, elementsBudget, source, actor, check); if (checkIfPlaced && built > 0) checkStructure(true, getBaseMetaTileEntity()); return built; } - //endregion + // endregion - //region METHODS TO OVERRIDE - general functionality, recipe check, output + // region METHODS TO OVERRIDE - general functionality, recipe check, output /** * Check structure here, also add hatches @@ -297,8 +370,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * (Well it can be overflowed if machine didn't finished, soft-hammered/disabled/not enough EU) * Setting available data processing */ - public void outputAfterRecipe_EM() { - } + public void outputAfterRecipe_EM() {} /** * to add fluids into hatches @@ -309,14 +381,16 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt protected void addFluidOutputs(FluidStack[] mOutputFluids) { int min = Math.min(mOutputFluids.length, mOutputHatches.size()); for (int i = 0; i < min; ++i) { - if (mOutputHatches.get(i) != null && mOutputFluids[i] != null && GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(mOutputHatches.get(i))) { + if (mOutputHatches.get(i) != null + && mOutputFluids[i] != null + && GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(mOutputHatches.get(i))) { mOutputHatches.get(i).fill(mOutputFluids[i], true); } } } - //endregion + // endregion - //region tooltip and scanner result + // region tooltip and scanner result /** * @param hatchNo @@ -325,14 +399,14 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt */ public ArrayList getFullLedDescriptionIn(int hatchNo, int paramID) { ArrayList list = new ArrayList<>(); - list.add(EnumChatFormatting.WHITE + "ID: " + - EnumChatFormatting.AQUA + hatchNo + - EnumChatFormatting.YELLOW + ":" + - EnumChatFormatting.AQUA + paramID + - EnumChatFormatting.YELLOW + ":" + - EnumChatFormatting.AQUA + "I " + parametrization.getStatusIn(hatchNo, paramID).name.get()); - list.add(EnumChatFormatting.WHITE + "Value: " + - EnumChatFormatting.AQUA + TT_Utility.doubleToString(parametrization.getIn(hatchNo, paramID))); + list.add(EnumChatFormatting.WHITE + "ID: " + EnumChatFormatting.AQUA + + hatchNo + EnumChatFormatting.YELLOW + + ":" + EnumChatFormatting.AQUA + + paramID + EnumChatFormatting.YELLOW + + ":" + EnumChatFormatting.AQUA + + "I " + parametrization.getStatusIn(hatchNo, paramID).name.get()); + list.add(EnumChatFormatting.WHITE + "Value: " + EnumChatFormatting.AQUA + + TT_Utility.doubleToString(parametrization.getIn(hatchNo, paramID))); try { list.add(parametrization.groups[hatchNo].parameterIn[paramID].getBrief()); } catch (NullPointerException | IndexOutOfBoundsException e) { @@ -348,14 +422,14 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt */ public ArrayList getFullLedDescriptionOut(int hatchNo, int paramID) { ArrayList list = new ArrayList<>(); - list.add(EnumChatFormatting.WHITE + "ID: " + - EnumChatFormatting.AQUA + hatchNo + - EnumChatFormatting.YELLOW + ":" + - EnumChatFormatting.AQUA + paramID + - EnumChatFormatting.YELLOW + ":" + - EnumChatFormatting.AQUA + "O " + parametrization.getStatusOut(hatchNo, paramID).name.get()); - list.add(EnumChatFormatting.WHITE + "Value: " + - EnumChatFormatting.AQUA + TT_Utility.doubleToString(parametrization.getOut(hatchNo, paramID))); + list.add(EnumChatFormatting.WHITE + "ID: " + EnumChatFormatting.AQUA + + hatchNo + EnumChatFormatting.YELLOW + + ":" + EnumChatFormatting.AQUA + + paramID + EnumChatFormatting.YELLOW + + ":" + EnumChatFormatting.AQUA + + "O " + parametrization.getStatusOut(hatchNo, paramID).name.get()); + list.add(EnumChatFormatting.WHITE + "Value: " + EnumChatFormatting.AQUA + + TT_Utility.doubleToString(parametrization.getOut(hatchNo, paramID))); try { list.add(parametrization.groups[hatchNo].parameterOut[paramID].getBrief()); } catch (NullPointerException | IndexOutOfBoundsException e) { @@ -367,8 +441,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt @Override protected GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addInfo("Nothing special just override me") - .toolTipFinisher(TEC_MARK_GENERAL); + tt.addInfo("Nothing special just override me").toolTipFinisher(TEC_MARK_GENERAL); return tt; } @@ -378,9 +451,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * @return */ @Override - public String[] getInfoData() {//TODO Do it + public String[] getInfoData() { // TODO Do it long storedEnergy = 0; - long maxEnergy = 0; + long maxEnergy = 0; for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { storedEnergy += tHatch.getBaseMetaTileEntity().getStoredEU(); @@ -394,25 +467,32 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } - return new String[]{ - "Progress:", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(mProgresstime / 20) + EnumChatFormatting.RESET + " s / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(mMaxProgresstime / 20) + EnumChatFormatting.RESET + " s", - "Energy Hatches:", - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + " EU", - (mEUt * eAmpereFlow <= 0 ? "Probably uses: " : "Probably makes: ") + - EnumChatFormatting.RED + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t at " + - EnumChatFormatting.RED + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", - "Tier Rating: " + EnumChatFormatting.YELLOW + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.GREEN + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + - " Amp Rating: " + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + " A", - "Problems: " + EnumChatFormatting.RED + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + - " Efficiency: " + EnumChatFormatting.YELLOW + mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", - "PowerPass: " + EnumChatFormatting.BLUE + ePowerPass + EnumChatFormatting.RESET + - " SafeVoid: " + EnumChatFormatting.BLUE + eSafeVoid, - "Computation: " + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eAvailableData) + EnumChatFormatting.RESET + " / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET + return new String[] { + "Progress:", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(mProgresstime / 20) + EnumChatFormatting.RESET + " s / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(mMaxProgresstime / 20) + + EnumChatFormatting.RESET + " s", + "Energy Hatches:", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + + " EU", + (mEUt * eAmpereFlow <= 0 ? "Probably uses: " : "Probably makes: ") + EnumChatFormatting.RED + + GT_Utility.formatNumbers(Math.abs(mEUt)) + EnumChatFormatting.RESET + " EU/t at " + + EnumChatFormatting.RED + + GT_Utility.formatNumbers(eAmpereFlow) + EnumChatFormatting.RESET + " A", + "Tier Rating: " + EnumChatFormatting.YELLOW + VN[getMaxEnergyInputTier_EM()] + EnumChatFormatting.RESET + + " / " + EnumChatFormatting.GREEN + + VN[getMinEnergyInputTier_EM()] + EnumChatFormatting.RESET + " Amp Rating: " + + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eMaxAmpereFlow) + EnumChatFormatting.RESET + + " A", + "Problems: " + EnumChatFormatting.RED + (getIdealStatus() - getRepairStatus()) + EnumChatFormatting.RESET + + " Efficiency: " + EnumChatFormatting.YELLOW + mEfficiency / 100.0F + EnumChatFormatting.RESET + + " %", + "PowerPass: " + EnumChatFormatting.BLUE + ePowerPass + EnumChatFormatting.RESET + " SafeVoid: " + + EnumChatFormatting.BLUE + eSafeVoid, + "Computation: " + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(eAvailableData) + + EnumChatFormatting.RESET + " / " + EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(eRequiredData) + EnumChatFormatting.RESET }; } @@ -426,9 +506,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return true; } - //endregion + // endregion - //region GUI/SOUND/RENDER + // region GUI/SOUND/RENDER /** * Server side container @@ -453,10 +533,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt */ @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png"); + return new GT_GUIContainer_MultiMachineEM( + aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png"); } - /** * add more textures * @@ -482,11 +562,20 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * @return */ @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + 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 TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][4], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) + }; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][4]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][4]}; } /** @@ -518,9 +607,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } - //endregion + // endregion - //region Methods to maybe override (if u implement certain stuff) + // region Methods to maybe override (if u implement certain stuff) /** * is the thing inside controller a valid item to make the machine work @@ -572,7 +661,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } cleanOutputEM_EM(); - if (ePowerPass && getEUVar() > V[3] || eDismantleBoom && mMaxProgresstime > 0 && areChunksAroundLoaded_EM()) { + if (ePowerPass && getEUVar() > V[3] + || eDismantleBoom && mMaxProgresstime > 0 && areChunksAroundLoaded_EM()) { explodeMultiblock(); } } catch (Exception e) { @@ -589,10 +679,11 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * @return */ protected boolean areChunksAroundLoaded_EM() { - if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(this) && getBaseMetaTileEntity().isServerSide()) { + if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(this) + && getBaseMetaTileEntity().isServerSide()) { IGregTechTileEntity base = getBaseMetaTileEntity(); return base.getWorld().doChunksNearChunkExist(base.getXCoord(), base.getYCoord(), base.getZCoord(), 3); - //todo check if it is actually checking if chunks are loaded + // todo check if it is actually checking if chunks are loaded } else { return false; } @@ -601,8 +692,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt /** * instantiate parameters in CONSTRUCTOR! CALLED ONCE on creation, don't call it in your classes */ - protected void parametersInstantiation_EM() { - } + protected void parametersInstantiation_EM() {} /** * It is automatically called OFTEN @@ -613,7 +703,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * * @param machineBusy is machine doing SHIT */ - protected void parametersStatusesWrite_EM(boolean machineBusy) {//todo unimplement? + protected void parametersStatusesWrite_EM(boolean machineBusy) { // todo unimplement? if (!machineBusy) { for (Parameters.Group.ParameterIn parameterIn : parametrization.parameterInArrayList) { if (parameterIn != null) { @@ -643,14 +733,12 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * * @param mMachine was the machine considered complete at that point in onPostTick */ - protected void hatchInit_EM(boolean mMachine) { - } + protected void hatchInit_EM(boolean mMachine) {} /** * called when the multiblock is exploding - if u want to add more EXPLOSIONS, for ex. new types of hatches also have to explode */ - protected void extraExplosions_EM() { - }//For that extra hatches explosions, and maybe some MOORE EXPLOSIONS + protected void extraExplosions_EM() {} // For that extra hatches explosions, and maybe some MOORE EXPLOSIONS /** * Get Available data, Override only on data outputters should return mAvailableData that is set in check recipe @@ -658,9 +746,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * @return available data */ protected long getAvailableData_EM() { - long result = 0; + long result = 0; IGregTechTileEntity baseMetaTileEntity = getBaseMetaTileEntity(); - Vec3Impl pos = new Vec3Impl(baseMetaTileEntity.getXCoord(), baseMetaTileEntity.getYCoord(), baseMetaTileEntity.getZCoord()); + Vec3Impl pos = new Vec3Impl( + baseMetaTileEntity.getXCoord(), baseMetaTileEntity.getYCoord(), baseMetaTileEntity.getZCoord()); for (GT_MetaTileEntity_Hatch_InputData in : eInputData) { if (in.q != null) { Long value = in.q.contentIfNotInTrace(pos); @@ -677,8 +766,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * BUT NEEDED WHEN - machine blocks are not touching each other or they don't implement IMachineBlockUpdateable (ex. air,stone,weird TE's) */ protected boolean cyclicUpdate_EM() { - return mUpdate <= -1000;//set to false to disable cyclic update - //default is once per 50s; mUpdate is decremented every tick + return mUpdate <= -1000; // set to false to disable cyclic update + // default is once per 50s; mUpdate is decremented every tick } /** @@ -740,7 +829,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt aNBT.setBoolean("eVoid", eSafeVoid); aNBT.setBoolean("eBoom", eDismantleBoom); aNBT.setBoolean("eOK", mMachine); - //Ensures compatibility + // Ensures compatibility if (mOutputItems != null) { aNBT.setInteger("mOutputItemsLength", mOutputItems.length); for (int i = 0; i < mOutputItems.length; i++) { @@ -752,7 +841,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } - //Ensures compatibility + // Ensures compatibility if (mOutputFluids != null) { aNBT.setInteger("mOutputFluidsLength", mOutputFluids.length); for (int i = 0; i < mOutputFluids.length; i++) { @@ -834,7 +923,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt eDismantleBoom = aNBT.getBoolean("eBoom"); mMachine = aNBT.getBoolean("eOK"); - //Ensures compatibility + // Ensures compatibility int aOutputItemsLength = aNBT.getInteger("mOutputItemsLength"); if (aOutputItemsLength > 0) { mOutputItems = new ItemStack[aOutputItemsLength]; @@ -843,7 +932,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } - //Ensures compatibility + // Ensures compatibility int aOutputFluidsLength = aNBT.getInteger("mOutputFluidsLength"); if (aOutputFluidsLength > 0) { mOutputFluids = new FluidStack[aOutputFluidsLength]; @@ -859,7 +948,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt for (int i = 0; i < outputEM.length; i++) { if (compound.hasKey(Integer.toString(i))) { try { - outputEM[i] = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, compound.getCompoundTag(Integer.toString(i))); + outputEM[i] = EMInstanceStackMap.fromNBT( + TecTech.definitionsRegistry, compound.getCompoundTag(Integer.toString(i))); } catch (EMException e) { if (DEBUG_MODE) { e.printStackTrace(); @@ -926,9 +1016,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt purgeAllOverflowEM_EM(); } - //endregion + // endregion - //region RATHER LEAVE ALONE Section + // region RATHER LEAVE ALONE Section /** * Override if needed but usually call super method at start! @@ -971,8 +1061,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt mProgresstime = 0; mMaxProgresstime = 0; eAvailableData = 0; - //getBaseMetaTileEntity().disableWorking(); //can add in override - //hatchesStatusUpdate_EM(); //called always after recipe checks + // getBaseMetaTileEntity().disableWorking(); //can add in override + // hatchesStatusUpdate_EM(); //called always after recipe checks } private void cleanOrExplode() { @@ -1022,9 +1112,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return 3; } - //endregion + // endregion - //region internal + // region internal /** * internal check machine @@ -1045,9 +1135,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * @return */ @Override - public final boolean checkRecipe(ItemStack itemStack) {//do recipe checks, based on "machine content and state" + public final boolean checkRecipe(ItemStack itemStack) { // do recipe checks, based on "machine content and state" hatchesStatusUpdate_EM(); - boolean result = checkRecipe_EM(itemStack);//if had no - set default params + boolean result = checkRecipe_EM(itemStack); // if had no - set default params hatchesStatusUpdate_EM(); return result; } @@ -1060,7 +1150,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return; } boolean busy = mMaxProgresstime > 0; - if (busy) {//write from buffer to hatches only + if (busy) { // write from buffer to hatches only for (GT_MetaTileEntity_Hatch_Param hatch : eParamHatches) { if (!GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(hatch) || hatch.param < 0) { continue; @@ -1073,7 +1163,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt hatch.input0D = parametrization.iParamsOut[hatchId]; hatch.input1D = parametrization.iParamsOut[hatchId + 10]; } - } else {//if has nothing to do update all + } else { // if has nothing to do update all for (GT_MetaTileEntity_Hatch_Param hatch : eParamHatches) { if (!GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(hatch) || hatch.param < 0) { continue; @@ -1096,12 +1186,11 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt public final int getAmountOfOutputs() { throw new NoSuchMethodError("Deprecated Do not use"); } - //endregion + // endregion - //region TICKING functions + // region TICKING functions - public void onFirstTick_EM(IGregTechTileEntity aBaseMetaTileEntity) { - } + public void onFirstTick_EM(IGregTechTileEntity aBaseMetaTileEntity) {} @Override public final void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { @@ -1154,7 +1243,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt mEfficiency = 0; } - if (--mUpdate == 0 || --mStartUpCheck == 0 || cyclicUpdate() || aBaseMetaTileEntity.hasWorkJustBeenEnabled()) { + if (--mUpdate == 0 + || --mStartUpCheck == 0 + || cyclicUpdate() + || aBaseMetaTileEntity.hasWorkJustBeenEnabled()) { clearHatches_EM(); if (aBaseMetaTileEntity instanceof BaseTileEntity) { @@ -1163,7 +1255,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt mMachine = checkMachine(aBaseMetaTileEntity, mInventory[1]); if (!mMachine) { - if (ePowerPass && getEUVar() > V[3] || eDismantleBoom && mMaxProgresstime > 0 && areChunksAroundLoaded_EM()) { + if (ePowerPass && getEUVar() > V[3] + || eDismantleBoom && mMaxProgresstime > 0 && areChunksAroundLoaded_EM()) { explodeMultiblock(); } if (outputEM != null) { @@ -1196,8 +1289,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt hatchInit_EM(mMachine); } - if (mStartUpCheck < 0) {//E - if (mMachine) {//S + if (mStartUpCheck < 0) { // E + if (mMachine) { // S byte Tick = (byte) (aTick % 20); if (MULTI_PURGE_1_AT == Tick || MULTI_PURGE_2_AT == Tick) { purgeAllOverflowEM_EM(); @@ -1207,7 +1300,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt safeVoid_EM(); } - if (getRepairStatus() >= minRepairStatus) {//S + if (getRepairStatus() >= minRepairStatus) { // S if (MULTI_CHECK_AT == Tick) { hatchesStatusUpdate_EM(); } @@ -1215,14 +1308,15 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt dischargeController_EM(aBaseMetaTileEntity); chargeController_EM(aBaseMetaTileEntity); - if (mMaxProgresstime > 0 && doRandomMaintenanceDamage()) {//Start - if (onRunningTick(mInventory[1])) {//Compute EU + if (mMaxProgresstime > 0 && doRandomMaintenanceDamage()) { // Start + if (onRunningTick(mInventory[1])) { // Compute EU cleanMassEM_EM(getExcessMassPerTick_EM(mInventory[1])); if (!polluteEnvironment(getPollutionPerTick(mInventory[1]))) { stopMachine(); } - if (mMaxProgresstime > 0 && ++mProgresstime >= mMaxProgresstime) {//progress increase and done + if (mMaxProgresstime > 0 + && ++mProgresstime >= mMaxProgresstime) { // progress increase and done hatchesStatusUpdate_EM(); outputAfterRecipe_EM(); @@ -1237,7 +1331,12 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt if (aBaseMetaTileEntity.isAllowedToWork()) { if (checkRecipe(mInventory[1])) { - mEfficiency = Math.max(0, min(mEfficiency + mEfficiencyIncrease, getMaxEfficiency(mInventory[1]) - (getIdealStatus() - getRepairStatus()) * 1000)); + mEfficiency = Math.max( + 0, + min( + mEfficiency + mEfficiencyIncrease, + getMaxEfficiency(mInventory[1]) + - (getIdealStatus() - getRepairStatus()) * 1000)); } else { afterRecipeCheckFailed(); } @@ -1246,28 +1345,42 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt notAllowedToWork_stopMachine_EM(); } } - }// else {//failed to consume power/resources - inside on running tick + } // else {//failed to consume power/resources - inside on running tick // stopMachine(); - //} + // } } else if (RECIPE_AT == Tick || aBaseMetaTileEntity.hasWorkJustBeenEnabled()) { if (aBaseMetaTileEntity.isAllowedToWork()) { if (checkRecipe(mInventory[1])) { - mEfficiency = Math.max(0, min(mEfficiency + mEfficiencyIncrease, getMaxEfficiency(mInventory[1]) - (getIdealStatus() - getRepairStatus()) * 1000)); + mEfficiency = Math.max( + 0, + min( + mEfficiency + mEfficiencyIncrease, + getMaxEfficiency(mInventory[1]) + - (getIdealStatus() - getRepairStatus()) * 1000)); } else { afterRecipeCheckFailed(); } updateSlots(); - } //else notAllowedToWork_stopMachine_EM(); //it is already stopped here + } // else notAllowedToWork_stopMachine_EM(); //it is already stopped here } - } else {//not repaired + } else { // not repaired stopMachine(); } - } else {//not complete + } else { // not complete stopMachine(); } } - aBaseMetaTileEntity.setErrorDisplayID(aBaseMetaTileEntity.getErrorDisplayID() & -512 | (mWrench ? 0 : 1) | (mScrewdriver ? 0 : 2) | (mSoftHammer ? 0 : 4) | (mHardHammer ? 0 : 8) | (mSolderingTool ? 0 : 16) | (mCrowbar ? 0 : 32) | (mMachine ? 0 : 64) | (eCertainStatus == 0 ? 0 : 128) | (eParameters ? 0 : 256)); + aBaseMetaTileEntity.setErrorDisplayID(aBaseMetaTileEntity.getErrorDisplayID() & -512 + | (mWrench ? 0 : 1) + | (mScrewdriver ? 0 : 2) + | (mSoftHammer ? 0 : 4) + | (mHardHammer ? 0 : 8) + | (mSolderingTool ? 0 : 16) + | (mCrowbar ? 0 : 32) + | (mMachine ? 0 : 64) + | (eCertainStatus == 0 ? 0 : 128) + | (eParameters ? 0 : 256)); aBaseMetaTileEntity.setActive(mMaxProgresstime > 0); boolean active = aBaseMetaTileEntity.isActive() && mPollution > 0; for (GT_MetaTileEntity_Hatch_Muffler aMuffler : mMufflerHatches) { @@ -1346,7 +1459,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } else { for (GT_MetaTileEntity_Hatch_Maintenance tHatch : mMaintenanceHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { - if (tHatch.mAuto && !(mWrench && mScrewdriver && mSoftHammer && mHardHammer && mSolderingTool && mCrowbar)) { + if (tHatch.mAuto + && !(mWrench && mScrewdriver && mSoftHammer && mHardHammer && mSolderingTool && mCrowbar)) { tHatch.autoMaintainance(); } if (tHatch.mWrench) { @@ -1473,7 +1587,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } protected void setupEnergyHatchesVariables_EM() { - if (!mEnergyHatches.isEmpty() || !eEnergyMulti.isEmpty() || !mDynamoHatches.isEmpty() || !eDynamoMulti.isEmpty()) { + if (!mEnergyHatches.isEmpty() + || !eEnergyMulti.isEmpty() + || !mDynamoHatches.isEmpty() + || !eDynamoMulti.isEmpty()) { maxEUinputMin = V[15]; maxEUinputMax = V[0]; maxEUoutputMin = V[15]; @@ -1520,7 +1637,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } eMaxAmpereFlow = 0; eMaxAmpereGen = 0; - //counts only full amps + // counts only full amps for (GT_MetaTileEntity_Hatch_Energy hatch : mEnergyHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(hatch)) { eMaxAmpereFlow += hatch.maxEUInput() / maxEUinputMin; @@ -1562,8 +1679,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt for (GT_MetaTileEntity_Hatch_Dynamo tHatch : mDynamoHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { euVar = tHatch.maxEUOutput() * tHatch.maxAmperesOut(); - if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar && - aBaseMetaTileEntity.decreaseStoredEnergyUnits(euVar + Math.max(euVar / 24576, tHatch.maxAmperesOut()), false)) { + if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar + && aBaseMetaTileEntity.decreaseStoredEnergyUnits( + euVar + Math.max(euVar / 24576, tHatch.maxAmperesOut()), false)) { tHatch.setEUVar(tHatch.getBaseMetaTileEntity().getStoredEU() + euVar); } } @@ -1571,8 +1689,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt for (GT_MetaTileEntity_Hatch_DynamoMulti tHatch : eDynamoMulti) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { euVar = tHatch.maxEUOutput() * tHatch.maxAmperesOut(); - if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar && - aBaseMetaTileEntity.decreaseStoredEnergyUnits(euVar + Math.max(euVar / 24576, tHatch.maxAmperesOut()), false)) { + if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar + && aBaseMetaTileEntity.decreaseStoredEnergyUnits( + euVar + Math.max(euVar / 24576, tHatch.maxAmperesOut()), false)) { tHatch.setEUVar(tHatch.getBaseMetaTileEntity().getStoredEU() + euVar); } } @@ -1584,8 +1703,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt for (GT_MetaTileEntity_Hatch_Dynamo tHatch : mDynamoHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { euVar = tHatch.maxEUOutput(); - if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar && - aBaseMetaTileEntity.decreaseStoredEnergyUnits(euVar + Math.max(euVar / 24576, 1), false)) { + if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar + && aBaseMetaTileEntity.decreaseStoredEnergyUnits(euVar + Math.max(euVar / 24576, 1), false)) { tHatch.setEUVar(tHatch.getBaseMetaTileEntity().getStoredEU() + euVar); } } @@ -1593,8 +1712,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt for (GT_MetaTileEntity_Hatch_DynamoMulti tHatch : eDynamoMulti) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { euVar = tHatch.maxEUOutput() * tHatch.Amperes; - if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar && - aBaseMetaTileEntity.decreaseStoredEnergyUnits(euVar + Math.max(euVar / 24576, tHatch.Amperes), false)) { + if (tHatch.getBaseMetaTileEntity().getStoredEU() <= tHatch.maxEUStore() - euVar + && aBaseMetaTileEntity.decreaseStoredEnergyUnits( + euVar + Math.max(euVar / 24576, tHatch.Amperes), false)) { tHatch.setEUVar(tHatch.getBaseMetaTileEntity().getStoredEU() + euVar); } } @@ -1657,9 +1777,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } - //endregion + // endregion - //region EFFICIENCY AND FIXING LIMITS + // region EFFICIENCY AND FIXING LIMITS @Override public int getMaxEfficiency(ItemStack itemStack) { @@ -1676,20 +1796,21 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return super.getRepairStatus() + (eCertainStatus == 0 ? 1 : 0) + (eParameters ? 1 : 0); } - //endregion + // endregion - //region ENERGY!!!! + // region ENERGY!!!! - //new method + // new method public boolean energyFlowOnRunningTick_EM(ItemStack aStack, boolean allowProduction) { - long euFlow = mEUt * eAmpereFlow;//quick scope sign + long euFlow = mEUt * eAmpereFlow; // quick scope sign if (allowProduction && euFlow > 0) { addEnergyOutput_EM((long) mEUt * (long) mEfficiency / getMaxEfficiency(aStack), eAmpereFlow); } else if (euFlow < 0) { if (POWERLESS_MODE) { return true; } - if (!drainEnergyInput_EM(mEUt, (long) mEUt * getMaxEfficiency(aStack) / Math.max(1000L, mEfficiency), eAmpereFlow)) { + if (!drainEnergyInput_EM( + mEUt, (long) mEUt * getMaxEfficiency(aStack) / Math.max(1000L, mEfficiency), eAmpereFlow)) { criticalStopMachine(); return false; } @@ -1698,7 +1819,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } public boolean energyFlowOnRunningTick(ItemStack aStack, boolean allowProduction) { - long euFlow = mEUt * eAmpereFlow;//quick scope sign + long euFlow = mEUt * eAmpereFlow; // quick scope sign if (allowProduction && euFlow > 0) { addEnergyOutput_EM((long) mEUt * (long) mEfficiency / getMaxEfficiency(aStack), eAmpereFlow); } else if (euFlow < 0) { @@ -1713,7 +1834,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return true; } - //public final boolean energyFlowWithoutEffieciencyComputation(int eu,long ampere) { + // public final boolean energyFlowWithoutEffieciencyComputation(int eu,long ampere) { // long temp = eu * ampere;//quick scope sign // if (temp > 0) { // this.addEnergyOutput_EM(eu, ampere); @@ -1724,7 +1845,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt // } // } // return true; - //} + // } @Override public long maxEUStore() { @@ -1816,19 +1937,25 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt if (EUuse < 0) { EUuse = -EUuse; } - if (EUuse > getEUVar() || //not enough power - (EUtTierVoltage == 0 ? EUuse > getMaxInputEnergy() : - (EUtTierVoltage > maxEUinputMax) || //TIER IS BASED ON BEST HATCH! not total EUtEffective input - (EUtTierVoltage * Amperes - 1) / maxEUinputMin + 1 > eMaxAmpereFlow)) {// EUuse==0? --> (EUuse - 1) / maxEUinputMin + 1 = 1! //if not too much A + if (EUuse > getEUVar() + || // not enough power + (EUtTierVoltage == 0 + ? EUuse > getMaxInputEnergy() + : (EUtTierVoltage > maxEUinputMax) + || // TIER IS BASED ON BEST HATCH! not total EUtEffective input + (EUtTierVoltage * Amperes - 1) / maxEUinputMin + 1 + > eMaxAmpereFlow)) { // EUuse==0? --> (EUuse - 1) / maxEUinputMin + 1 = 1! //if + // not too much A if (DEBUG_MODE) { TecTech.LOGGER.debug("L1 " + EUuse + ' ' + getEUVar() + ' ' + (EUuse > getEUVar())); TecTech.LOGGER.debug("L2 " + EUtEffective + ' ' + maxEUinputMax + ' ' + (EUtEffective > maxEUinputMax)); TecTech.LOGGER.debug("L3 " + Amperes + ' ' + getMaxInputEnergy()); - TecTech.LOGGER.debug("L4 " + ((EUuse - 1) / maxEUinputMin + 1) + ' ' + eMaxAmpereFlow + ' ' + ((EUuse - 1) / maxEUinputMin + 1 > eMaxAmpereFlow)); + TecTech.LOGGER.debug("L4 " + ((EUuse - 1) / maxEUinputMin + 1) + ' ' + eMaxAmpereFlow + ' ' + + ((EUuse - 1) / maxEUinputMin + 1 > eMaxAmpereFlow)); } return false; } - //sub eu + // sub eu setEUVar(getEUVar() - EUuse); return true; } @@ -1844,28 +1971,33 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt if (EUuse < 0) { EUuse = -EUuse; } - //not enough power - if (EUuse > getEUVar() || EUuse > getMaxInputEnergy()) {// EUuse==0? --> (EUuse - 1) / maxEUinputMin + 1 = 1! //if not too much A + // not enough power + if (EUuse > getEUVar() + || EUuse + > getMaxInputEnergy()) { // EUuse==0? --> (EUuse - 1) / maxEUinputMin + 1 = 1! //if not too much + // A return false; } - //sub eu + // sub eu setEUVar(getEUVar() - EUuse); return true; } - //new method - public final boolean overclockAndPutValuesIn_EM(long EU, int time) {//TODO revise + // new method + public final boolean overclockAndPutValuesIn_EM(long EU, int time) { // TODO revise if (EU == 0L) { mEUt = 0; mMaxProgresstime = time; return true; } - long tempEUt = Math.max(EU, V[1]); + long tempEUt = Math.max(EU, V[1]); long tempTier = maxEUinputMax >> 2; while (tempEUt < tempTier) { tempEUt <<= 2; time >>= 1; - EU = time == 0 ? EU >> 1 : EU << 2;//U know, if the time is less than 1 tick make the machine use less power + EU = time == 0 + ? EU >> 1 + : EU << 2; // U know, if the time is less than 1 tick make the machine use less power } if (EU > Integer.MAX_VALUE || EU < Integer.MIN_VALUE) { mEUt = Integer.MAX_VALUE - 1; @@ -1875,7 +2007,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt mEUt = (int) EU; mMaxProgresstime = time == 0 ? 1 : time; return true; - }//Use in EM check recipe return statement if you want overclocking + } // Use in EM check recipe return statement if you want overclocking @Override // same as gt sum of all hatches public long getMaxInputVoltage() { @@ -1898,7 +2030,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return rVoltage; } - //new Method + // new Method public final long getMaxInputEnergy() { long energy = 0; for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { @@ -1929,12 +2061,12 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return energy; } - //new Method + // new Method public final int getMaxEnergyInputTier_EM() { return getTier(maxEUinputMax); } - //new Method + // new Method public final int getMinEnergyInputTier_EM() { return getTier(maxEUinputMin); } @@ -1943,10 +2075,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return eAmpereFlow; } - //endregion + // endregion - //region convenience copies input and output EM - //new Method + // region convenience copies input and output EM + // new Method public final EMInstanceStackMap getInputsClone_EM() { EMInstanceStackMap in = new EMInstanceStackMap(); for (GT_MetaTileEntity_Hatch_ElementalContainer hatch : eInputHatches) { @@ -1955,7 +2087,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return in.hasStacks() ? in : null; } - //new Method + // new Method public final EMInstanceStackMap getOutputsClone_EM() { EMInstanceStackMap out = new EMInstanceStackMap(); for (GT_MetaTileEntity_Hatch_ElementalContainer hatch : eOutputHatches) { @@ -1963,9 +2095,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } return out.hasStacks() ? out : null; } - //endregion + // endregion - //region em cleaning + // region em cleaning private void purgeAllOverflowEM_EM() { float mass = 0; for (GT_MetaTileEntity_Hatch_InputElemental tHatch : eInputHatches) { @@ -2032,9 +2164,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt outputEM = null; cleanMassEM_EM(mass); } - //endregion + // endregion - //region EXPLOSIONS + // region EXPLOSIONS @Override public boolean explodesOnComponentBreak(ItemStack itemStack) { @@ -2048,7 +2180,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } explodedThisTick = true; if (!TecTech.configTecTech.BOOM_ENABLE) { - TecTech.proxy.broadcast("Multi Explode BOOM! " + getBaseMetaTileEntity().getXCoord() + ' ' + getBaseMetaTileEntity().getYCoord() + ' ' + getBaseMetaTileEntity().getZCoord()); + TecTech.proxy.broadcast( + "Multi Explode BOOM! " + getBaseMetaTileEntity().getXCoord() + ' ' + + getBaseMetaTileEntity().getYCoord() + ' ' + + getBaseMetaTileEntity().getZCoord()); StackTraceElement[] ste = Thread.currentThread().getStackTrace(); TecTech.proxy.broadcast("Multi Explode BOOM! " + ste[2].toString()); return; @@ -2113,17 +2248,20 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt @Override public void doExplosion(long aExplosionPower) { if (!TecTech.configTecTech.BOOM_ENABLE) { - TecTech.proxy.broadcast("Multi DoExplosion BOOM! " + getBaseMetaTileEntity().getXCoord() + ' ' + getBaseMetaTileEntity().getYCoord() + ' ' + getBaseMetaTileEntity().getZCoord()); + TecTech.proxy.broadcast( + "Multi DoExplosion BOOM! " + getBaseMetaTileEntity().getXCoord() + ' ' + + getBaseMetaTileEntity().getYCoord() + ' ' + + getBaseMetaTileEntity().getZCoord()); StackTraceElement[] ste = Thread.currentThread().getStackTrace(); TecTech.proxy.broadcast("Multi DoExplosion BOOM! " + ste[2].toString()); return; } explodeMultiblock(); super.doExplosion(aExplosionPower); - }//Redirecting to explodemultiblock - //endregion + } // Redirecting to explodemultiblock + // endregion - //region adder methods + // region adder methods @Override public final boolean addToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { @@ -2340,7 +2478,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputElemental) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); - //((GT_MetaTileEntity_Hatch_Elemental) aMetaTileEntity).mRecipeMap = getRecipeMap(); + // ((GT_MetaTileEntity_Hatch_Elemental) aMetaTileEntity).mRecipeMap = getRecipeMap(); return eInputHatches.add((GT_MetaTileEntity_Hatch_InputElemental) aMetaTileEntity); } return false; @@ -2412,7 +2550,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - //New Method + // New Method public final boolean addEnergyIOToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2440,7 +2578,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - //NEW METHOD + // NEW METHOD public final boolean addElementalInputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2451,13 +2589,13 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputElemental) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); - //((GT_MetaTileEntity_Hatch_Elemental) aMetaTileEntity).mRecipeMap = getRecipeMap(); + // ((GT_MetaTileEntity_Hatch_Elemental) aMetaTileEntity).mRecipeMap = getRecipeMap(); return eInputHatches.add((GT_MetaTileEntity_Hatch_InputElemental) aMetaTileEntity); } return false; } - //NEW METHOD + // NEW METHOD public final boolean addElementalOutputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2473,7 +2611,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - //NEW METHOD + // NEW METHOD public final boolean addClassicInputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2495,7 +2633,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - //NEW METHOD + // NEW METHOD public final boolean addClassicOutputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2515,7 +2653,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - //NEW METHOD + // NEW METHOD public final boolean addParametrizerToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2531,7 +2669,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - //NEW METHOD + // NEW METHOD public final boolean addUncertainToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2571,7 +2709,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - //NEW METHOD + // NEW METHOD public final boolean addClassicMaintenanceToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2587,7 +2725,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return false; } - //NEW METHOD + // NEW METHOD public final boolean addDataConnectorToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; @@ -2606,38 +2744,71 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } return false; } - //endregion + // endregion - protected static IStructureElement classicHatches(int casingIndex, int dot, Block casingBlock, int casingMeta) { + protected static IStructureElement classicHatches( + int casingIndex, int dot, Block casingBlock, int casingMeta) { return GT_HatchElementBuilder.builder() - .atLeast(InputBus, InputHatch, OutputHatch, OutputBus, Maintenance, Muffler, HatchElement.EnergyMulti, HatchElement.DynamoMulti, HatchElement.InputData, HatchElement.OutputData, HatchElement.Uncertainty) + .atLeast( + InputBus, + InputHatch, + OutputHatch, + OutputBus, + Maintenance, + Muffler, + HatchElement.EnergyMulti, + HatchElement.DynamoMulti, + HatchElement.InputData, + HatchElement.OutputData, + HatchElement.Uncertainty) .casingIndex(casingIndex) .dot(dot) .buildAndChain(casingBlock, casingMeta); } - protected static IStructureElement allHatches(int casingIndex, int dot, Block casingBlock, int casingMeta) { + protected static IStructureElement allHatches( + int casingIndex, int dot, Block casingBlock, int casingMeta) { return GT_HatchElementBuilder.builder() - .atLeast(InputBus, InputHatch, OutputHatch, OutputBus, Maintenance, Muffler, HatchElement.EnergyMulti, HatchElement.DynamoMulti, HatchElement.InputData, HatchElement.OutputData, HatchElement.Uncertainty, HatchElement.InputElemental, HatchElement.OutputElemental, HatchElement.OverflowElemental) + .atLeast( + InputBus, + InputHatch, + OutputHatch, + OutputBus, + Maintenance, + Muffler, + HatchElement.EnergyMulti, + HatchElement.DynamoMulti, + HatchElement.InputData, + HatchElement.OutputData, + HatchElement.Uncertainty, + HatchElement.InputElemental, + HatchElement.OutputElemental, + HatchElement.OverflowElemental) .casingIndex(casingIndex) .dot(dot) .buildAndChain(casingBlock, casingMeta); } public enum HatchElement implements IHatchElement { - InputElemental(GT_MetaTileEntity_MultiblockBase_EM::addElementalInputToMachineList, GT_MetaTileEntity_Hatch_InputElemental.class) { + InputElemental( + GT_MetaTileEntity_MultiblockBase_EM::addElementalInputToMachineList, + GT_MetaTileEntity_Hatch_InputElemental.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eInputHatches.size(); } }, - OutputElemental(GT_MetaTileEntity_MultiblockBase_EM::addElementalOutputToMachineList, GT_MetaTileEntity_Hatch_OutputElemental.class) { + OutputElemental( + GT_MetaTileEntity_MultiblockBase_EM::addElementalOutputToMachineList, + GT_MetaTileEntity_Hatch_OutputElemental.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eOutputHatches.size(); } }, - OverflowElemental(GT_MetaTileEntity_MultiblockBase_EM::addElementalMufflerToMachineList, GT_MetaTileEntity_Hatch_OverflowElemental.class) { + OverflowElemental( + GT_MetaTileEntity_MultiblockBase_EM::addElementalMufflerToMachineList, + GT_MetaTileEntity_Hatch_OverflowElemental.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eMufflerHatches.size(); @@ -2649,31 +2820,41 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return t.eParamHatches.size(); } }, - Uncertainty(GT_MetaTileEntity_MultiblockBase_EM::addUncertainToMachineList, GT_MetaTileEntity_Hatch_Uncertainty.class) { + Uncertainty( + GT_MetaTileEntity_MultiblockBase_EM::addUncertainToMachineList, + GT_MetaTileEntity_Hatch_Uncertainty.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eUncertainHatches.size(); } }, - EnergyMulti(GT_MetaTileEntity_MultiblockBase_EM::addEnergyInputToMachineList, GT_MetaTileEntity_Hatch_EnergyMulti.class) { + EnergyMulti( + GT_MetaTileEntity_MultiblockBase_EM::addEnergyInputToMachineList, + GT_MetaTileEntity_Hatch_EnergyMulti.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eEnergyMulti.size(); } }, - DynamoMulti(GT_MetaTileEntity_MultiblockBase_EM::addDynamoToMachineList, GT_MetaTileEntity_Hatch_DynamoMulti.class) { + DynamoMulti( + GT_MetaTileEntity_MultiblockBase_EM::addDynamoToMachineList, + GT_MetaTileEntity_Hatch_DynamoMulti.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eDynamoMulti.size(); } }, - InputData(GT_MetaTileEntity_MultiblockBase_EM::addDataConnectorToMachineList, GT_MetaTileEntity_Hatch_InputData.class) { + InputData( + GT_MetaTileEntity_MultiblockBase_EM::addDataConnectorToMachineList, + GT_MetaTileEntity_Hatch_InputData.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eInputData.size(); } }, - OutputData(GT_MetaTileEntity_MultiblockBase_EM::addDataConnectorToMachineList, GT_MetaTileEntity_Hatch_OutputData.class) { + OutputData( + GT_MetaTileEntity_MultiblockBase_EM::addDataConnectorToMachineList, + GT_MetaTileEntity_Hatch_OutputData.class) { @Override public long count(GT_MetaTileEntity_MultiblockBase_EM t) { return t.eOutputData.size(); @@ -2684,7 +2865,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt private final IGT_HatchAdder adder; @SafeVarargs - HatchElement(IGT_HatchAdder adder, Class... mteClasses) { + HatchElement( + IGT_HatchAdder adder, + Class... mteClasses) { this.mteClasses = Collections.unmodifiableList(Arrays.asList(mteClasses)); this.adder = adder; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/INameFunction.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/INameFunction.java index 1c2a8bd477..3de1d25cdc 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/INameFunction.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/INameFunction.java @@ -1,5 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; -public interface INameFunction{ +public interface INameFunction { String apply(T t, Parameters.IParameter iParameter); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/IStatusFunction.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/IStatusFunction.java index 0c7616093a..862d6c1726 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/IStatusFunction.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/IStatusFunction.java @@ -1,5 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; -public interface IStatusFunction{ +public interface IStatusFunction { LedStatus apply(T t, Parameters.IParameter iParameter); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/LedStatus.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/LedStatus.java index d1173933f7..98ac63b2d4 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/LedStatus.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/LedStatus.java @@ -1,97 +1,102 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; import com.github.technus.tectech.TecTech; -import net.minecraft.util.EnumChatFormatting; - import java.util.function.Supplier; +import net.minecraft.util.EnumChatFormatting; public enum LedStatus { - STATUS_UNUSED(()->EnumChatFormatting.DARK_GRAY +"Unused",true),// - STATUS_TOO_LOW(()->EnumChatFormatting.BLUE+"Too Low",false),// - STATUS_LOW(()->EnumChatFormatting.AQUA+"Low",true),// - STATUS_WRONG(()->EnumChatFormatting.DARK_PURPLE+"Wrong",false),// - STATUS_OK(()->EnumChatFormatting.GREEN+"Valid",true),// - STATUS_TOO_HIGH(()->EnumChatFormatting.RED+"Too High",false),// - STATUS_HIGH(()->EnumChatFormatting.GOLD+"High",true),// - STATUS_UNDEFINED(()->EnumChatFormatting.GRAY+"Unknown",false), - STATUS_NEUTRAL(()->EnumChatFormatting.WHITE+"Neutral",true),// - STATUS_WTF(()->{ - return LedStatus.values()[TecTech.RANDOM.nextInt(9)].name.get(); - },false);// + STATUS_UNUSED(() -> EnumChatFormatting.DARK_GRAY + "Unused", true), // + STATUS_TOO_LOW(() -> EnumChatFormatting.BLUE + "Too Low", false), // + STATUS_LOW(() -> EnumChatFormatting.AQUA + "Low", true), // + STATUS_WRONG(() -> EnumChatFormatting.DARK_PURPLE + "Wrong", false), // + STATUS_OK(() -> EnumChatFormatting.GREEN + "Valid", true), // + STATUS_TOO_HIGH(() -> EnumChatFormatting.RED + "Too High", false), // + STATUS_HIGH(() -> EnumChatFormatting.GOLD + "High", true), // + STATUS_UNDEFINED(() -> EnumChatFormatting.GRAY + "Unknown", false), + STATUS_NEUTRAL(() -> EnumChatFormatting.WHITE + "Neutral", true), // + STATUS_WTF( + () -> { + return LedStatus.values()[TecTech.RANDOM.nextInt(9)].name.get(); + }, + false); // public final Supplier name; public final boolean isOk; - LedStatus(Supplier name, boolean ok){ - this.name=name; - this.isOk=ok; + LedStatus(Supplier name, boolean ok) { + this.name = name; + this.isOk = ok; } - public byte getOrdinalByte(){ - return (byte)ordinal(); + public byte getOrdinalByte() { + return (byte) ordinal(); } - public static LedStatus getStatus(byte value){ - try{ + public static LedStatus getStatus(byte value) { + try { return LedStatus.values()[value]; - }catch (Exception e){ + } catch (Exception e) { return STATUS_UNDEFINED; } } - public static LedStatus[] makeArray(int count,LedStatus defaultValue){ - LedStatus[] statuses=new LedStatus[count]; + public static LedStatus[] makeArray(int count, LedStatus defaultValue) { + LedStatus[] statuses = new LedStatus[count]; for (int i = 0; i < count; i++) { - statuses[i]=defaultValue; + statuses[i] = defaultValue; } return statuses; } - public static LedStatus fromLimitsInclusiveOuterBoundary(double value, double min,double low, double high, double max, double... excludedNumbers){ - if(valuemax) return STATUS_TOO_HIGH; + public static LedStatus fromLimitsInclusiveOuterBoundary( + double value, double min, double low, double high, double max, double... excludedNumbers) { + if (value < min) return STATUS_TOO_LOW; + if (value > max) return STATUS_TOO_HIGH; - if(valuehigh) return STATUS_HIGH; + if (value < low) return STATUS_LOW; + if (value > high) return STATUS_HIGH; for (double val : excludedNumbers) { - if(val==value) return STATUS_WRONG; + if (val == value) return STATUS_WRONG; } - if(Double.isNaN(value)) return STATUS_WRONG; + if (Double.isNaN(value)) return STATUS_WRONG; return STATUS_OK; } - public static LedStatus fromLimitsExclusiveOuterBoundary(double value, double min,double low, double high,double max, double... excludedNumbers){ - if(value<=min) return STATUS_TOO_LOW; - if(value>=max) return STATUS_TOO_HIGH; + public static LedStatus fromLimitsExclusiveOuterBoundary( + double value, double min, double low, double high, double max, double... excludedNumbers) { + if (value <= min) return STATUS_TOO_LOW; + if (value >= max) return STATUS_TOO_HIGH; - if(valuehigh) return STATUS_HIGH; + if (value < low) return STATUS_LOW; + if (value > high) return STATUS_HIGH; for (double val : excludedNumbers) { - if(val==value) return STATUS_WRONG; + if (val == value) return STATUS_WRONG; } - if(Double.isNaN(value)) return STATUS_WRONG; + if (Double.isNaN(value)) return STATUS_WRONG; return STATUS_OK; } - public static LedStatus fromLimitsInclusiveBoundary(double value, double min, double max, double... excludedNumbers){ - if(valuemax) return STATUS_TOO_HIGH; + public static LedStatus fromLimitsInclusiveBoundary( + double value, double min, double max, double... excludedNumbers) { + if (value < min) return STATUS_TOO_LOW; + if (value > max) return STATUS_TOO_HIGH; for (double val : excludedNumbers) { - if(val==value) return STATUS_WRONG; + if (val == value) return STATUS_WRONG; } - if(Double.isNaN(value)) return STATUS_WRONG; + if (Double.isNaN(value)) return STATUS_WRONG; return STATUS_OK; } - public static LedStatus fromLimitsExclusiveBoundary(double value, double min, double max, double... excludedNumbers){ - if(value<=min) return STATUS_TOO_LOW; - if(value>=max) return STATUS_TOO_HIGH; + public static LedStatus fromLimitsExclusiveBoundary( + double value, double min, double max, double... excludedNumbers) { + if (value <= min) return STATUS_TOO_LOW; + if (value >= max) return STATUS_TOO_HIGH; for (double val : excludedNumbers) { - if(val==value) return STATUS_WRONG; + if (val == value) return STATUS_WRONG; } - if(Double.isNaN(value)) return STATUS_WRONG; + if (Double.isNaN(value)) return STATUS_WRONG; return STATUS_OK; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/MultiblockControl.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/MultiblockControl.java index 8429bf4e67..fad1169bff 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/MultiblockControl.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/MultiblockControl.java @@ -3,8 +3,7 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base; /** * Created by danie_000 on 23.12.2017. */ - -public class MultiblockControl{ +public class MultiblockControl { private final boolean shouldExplode; private final T value; private final int eUt; @@ -15,7 +14,16 @@ public class MultiblockControl{ private final int pollutionToAdd; private final double excessMass; - public MultiblockControl(T value, int eUt, int amperes, int requiredData, int effIncrease, int maxProgressTime, int pollutionToAdd, double excessMass,boolean shouldExplode){ + public MultiblockControl( + T value, + int eUt, + int amperes, + int requiredData, + int effIncrease, + int maxProgressTime, + int pollutionToAdd, + double excessMass, + boolean shouldExplode) { this.value = value; this.eUt = eUt; this.amperes = amperes; @@ -24,50 +32,58 @@ public class MultiblockControl{ this.maxProgressTime = maxProgressTime; this.pollutionToAdd = pollutionToAdd; this.excessMass = excessMass; - this.shouldExplode=shouldExplode; + this.shouldExplode = shouldExplode; } - public MultiblockControl(T value, int eUt, int amperes, int requiredData, int effIncrease, int maxProgressTime, int pollutionToAdd, double excessMass){ - this(value, eUt, amperes, requiredData, effIncrease, maxProgressTime,pollutionToAdd,excessMass,false); + public MultiblockControl( + T value, + int eUt, + int amperes, + int requiredData, + int effIncrease, + int maxProgressTime, + int pollutionToAdd, + double excessMass) { + this(value, eUt, amperes, requiredData, effIncrease, maxProgressTime, pollutionToAdd, excessMass, false); } - public MultiblockControl(T value, int eUt, int amperes, int requiredData, int effIncrease, int maxProgressTime){ - this(value,eUt,amperes,requiredData,effIncrease,maxProgressTime,0,0); + public MultiblockControl(T value, int eUt, int amperes, int requiredData, int effIncrease, int maxProgressTime) { + this(value, eUt, amperes, requiredData, effIncrease, maxProgressTime, 0, 0); } - public MultiblockControl(double excessMass){ - this(null,0,0,0,0,0,0,excessMass,true); + public MultiblockControl(double excessMass) { + this(null, 0, 0, 0, 0, 0, 0, excessMass, true); } public T getValue() { return value; } - public int getEUT(){ + public int getEUT() { return eUt; } - public int getAmperage(){ + public int getAmperage() { return amperes; } - public int getRequiredData(){ + public int getRequiredData() { return requiredData; } - public int getEffIncrease(){ + public int getEffIncrease() { return effIncrease; } - public int getMaxProgressTime(){ + public int getMaxProgressTime() { return maxProgressTime; } - public int getPollutionToAdd(){ + public int getPollutionToAdd() { return pollutionToAdd; } - public double getExcessMass(){ + public double getExcessMass() { return excessMass; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/Parameters.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/Parameters.java index 23250a5b02..f6016a7482 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/Parameters.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/Parameters.java @@ -6,54 +6,54 @@ import java.util.ArrayList; * Instantiate parameters as field in parametersInstantiation_EM(); */ public class Parameters { - private static final IStatusFunction LED_STATUS_FUNCTION_DEFAULT = (b, p)->LedStatus.STATUS_UNDEFINED; - private static final INameFunction NAME_FUNCTION_DEFAULT= (b, p)->"Undefined"; + private static final IStatusFunction LED_STATUS_FUNCTION_DEFAULT = (b, p) -> LedStatus.STATUS_UNDEFINED; + private static final INameFunction NAME_FUNCTION_DEFAULT = (b, p) -> "Undefined"; final Group[] groups = new Group[10]; - double[] iParamsIn = new double[20];//number I from parametrizers - double[] iParamsOut = new double[20];//number O to parametrizers - final ArrayList parameterInArrayList =new ArrayList<>(); - final ArrayList parameterOutArrayList =new ArrayList<>(); + double[] iParamsIn = new double[20]; // number I from parametrizers + double[] iParamsOut = new double[20]; // number O to parametrizers + final ArrayList parameterInArrayList = new ArrayList<>(); + final ArrayList parameterOutArrayList = new ArrayList<>(); - //package private for use in gui - LedStatus[] eParamsInStatus = LedStatus.makeArray(20,LedStatus.STATUS_UNUSED);//LED status for I - LedStatus[] eParamsOutStatus = LedStatus.makeArray(20,LedStatus.STATUS_UNUSED);//LED status for O + // package private for use in gui + LedStatus[] eParamsInStatus = LedStatus.makeArray(20, LedStatus.STATUS_UNUSED); // LED status for I + LedStatus[] eParamsOutStatus = LedStatus.makeArray(20, LedStatus.STATUS_UNUSED); // LED status for O - double getIn(int hatchNo,int parameterId){ - return iParamsIn[hatchNo+10*parameterId]; + double getIn(int hatchNo, int parameterId) { + return iParamsIn[hatchNo + 10 * parameterId]; } - double getOut(int hatchNo,int parameterId){ - return iParamsOut[hatchNo+10*parameterId]; + double getOut(int hatchNo, int parameterId) { + return iParamsOut[hatchNo + 10 * parameterId]; } - LedStatus getStatusIn(int hatchNo,int parameterId){ - return eParamsInStatus[hatchNo+10*parameterId]; + LedStatus getStatusIn(int hatchNo, int parameterId) { + return eParamsInStatus[hatchNo + 10 * parameterId]; } - LedStatus getStatusOut(int hatchNo,int parameterId){ - return eParamsOutStatus[hatchNo+10*parameterId]; + LedStatus getStatusOut(int hatchNo, int parameterId) { + return eParamsOutStatus[hatchNo + 10 * parameterId]; } private final GT_MetaTileEntity_MultiblockBase_EM parent; - Parameters(GT_MetaTileEntity_MultiblockBase_EM parent){ - this.parent=parent; + Parameters(GT_MetaTileEntity_MultiblockBase_EM parent) { + this.parent = parent; } - public boolean trySetParameters(int hatch,double parameter0,double parameter1){ - Group p=groups[hatch]; - if(parent.mMaxProgresstime<=0 || (p!=null && p.updateWhileRunning)){ - iParamsIn[hatch]=parameter0; - iParamsIn[hatch+10]=parameter1; + public boolean trySetParameters(int hatch, double parameter0, double parameter1) { + Group p = groups[hatch]; + if (parent.mMaxProgresstime <= 0 || (p != null && p.updateWhileRunning)) { + iParamsIn[hatch] = parameter0; + iParamsIn[hatch + 10] = parameter1; return true; } return false; } - public void setToDefaults(int hatch,boolean defaultIn, boolean defaultOut) { - Group p= groups[hatch]; + public void setToDefaults(int hatch, boolean defaultIn, boolean defaultOut) { + Group p = groups[hatch]; if (p == null) { if (defaultIn) { iParamsIn[hatch] = 0; @@ -64,61 +64,68 @@ public class Parameters { iParamsOut[hatch + 10] = 0; } } else { - p.setToDefaults(defaultIn,defaultOut); + p.setToDefaults(defaultIn, defaultOut); } } - public void setToDefaults(boolean defaultIn, boolean defaultOut){ - for (int hatch=0;hatch<10;hatch++) { - setToDefaults(hatch,defaultIn,defaultOut); + public void setToDefaults(boolean defaultIn, boolean defaultOut) { + for (int hatch = 0; hatch < 10; hatch++) { + setToDefaults(hatch, defaultIn, defaultOut); } } - public void ClearDefinitions(){ + public void ClearDefinitions() { parameterInArrayList.clear(); parameterOutArrayList.clear(); - for(int i = 0; i< groups.length; i++){ - groups[i]=null; + for (int i = 0; i < groups.length; i++) { + groups[i] = null; } } - public void removeGroup(Group group){ - if(group==groups[group.hatchNo]){ + public void removeGroup(Group group) { + if (group == groups[group.hatchNo]) { removeGroup(group.hatchNo); - }else{ + } else { throw new IllegalArgumentException("Group does not exists in this parametrization!"); } } - public void removeGroup(int hatchNo){ - Group hatch=groups[hatchNo]; - if(hatch!=null){ - for (Group.ParameterOut p:hatch.parameterOut) { + public void removeGroup(int hatchNo) { + Group hatch = groups[hatchNo]; + if (hatch != null) { + for (Group.ParameterOut p : hatch.parameterOut) { parameterOutArrayList.remove(p); } - for (Group.ParameterIn p:hatch.parameterIn) { + for (Group.ParameterIn p : hatch.parameterIn) { parameterInArrayList.remove(p); } - groups[hatchNo]=null; + groups[hatchNo] = null; } } - public Group getGroup(int hatchNo, boolean updateWhileRunning){ - return groups[hatchNo]!=null?groups[hatchNo]:new Group( hatchNo, updateWhileRunning); + public Group getGroup(int hatchNo, boolean updateWhileRunning) { + return groups[hatchNo] != null ? groups[hatchNo] : new Group(hatchNo, updateWhileRunning); } - public Group getGroup(int hatchNo){ - return groups[hatchNo]!=null?groups[hatchNo]:new Group( hatchNo, false); + public Group getGroup(int hatchNo) { + return groups[hatchNo] != null ? groups[hatchNo] : new Group(hatchNo, false); } - public interface IParameter{ + public interface IParameter { double get(); + double getDefault(); + void updateStatus(); + LedStatus getStatus(boolean update); + int id(); + int hatchId(); + int parameterId(); + String getBrief(); } @@ -127,29 +134,31 @@ public class Parameters { */ public class Group { private final int hatchNo; - final ParameterIn[] parameterIn =new ParameterIn[2]; - final ParameterOut[] parameterOut =new ParameterOut[2]; + final ParameterIn[] parameterIn = new ParameterIn[2]; + final ParameterOut[] parameterOut = new ParameterOut[2]; public boolean updateWhileRunning; - private Group(int hatchNo, boolean updateWhileRunning){ - if(hatchNo<0 || hatchNo>=10){ + private Group(int hatchNo, boolean updateWhileRunning) { + if (hatchNo < 0 || hatchNo >= 10) { throw new IllegalArgumentException("Hatch id must be in 0 to 9 range"); } - this.hatchNo=hatchNo; - this.updateWhileRunning=updateWhileRunning; - groups[hatchNo]=this; + this.hatchNo = hatchNo; + this.updateWhileRunning = updateWhileRunning; + groups[hatchNo] = this; } - public ParameterIn makeInParameter(int paramID, double defaultValue, INameFunction name, IStatusFunction status){ - return new ParameterIn(paramID, defaultValue,name, status); + public ParameterIn makeInParameter( + int paramID, double defaultValue, INameFunction name, IStatusFunction status) { + return new ParameterIn(paramID, defaultValue, name, status); } - public ParameterOut makeOutParameter(int paramID, double defaultValue, INameFunction name, IStatusFunction status){ + public ParameterOut makeOutParameter( + int paramID, double defaultValue, INameFunction name, IStatusFunction status) { return new ParameterOut(paramID, defaultValue, name, status); } public void setToDefaults(boolean defaultIn, boolean defaultOut) { - if(defaultIn){ + if (defaultIn) { if (this.parameterIn[0] != null) { this.parameterIn[0].setDefault(); } else { @@ -161,7 +170,7 @@ public class Parameters { iParamsIn[hatchNo + 10] = 0; } } - if(defaultOut){ + if (defaultOut) { if (this.parameterOut[0] != null) { this.parameterOut[0].setDefault(); } else { @@ -184,19 +193,19 @@ public class Parameters { IStatusFunction status; INameFunction name; - private ParameterOut(int paramID, double defaultValue, INameFunction name, IStatusFunction status){ - this.name= name==null?NAME_FUNCTION_DEFAULT:name; - if(paramID<0 || paramID>2){ + private ParameterOut(int paramID, double defaultValue, INameFunction name, IStatusFunction status) { + this.name = name == null ? NAME_FUNCTION_DEFAULT : name; + if (paramID < 0 || paramID > 2) { throw new IllegalArgumentException("Parameter id must be in 0 to 1 range"); } - if(parameterOut[paramID]!=null){ + if (parameterOut[paramID] != null) { throw new IllegalArgumentException("Parameter id already occupied"); } - this.id=hatchNo+10*paramID; - this.defaultValue=defaultValue; - this.status = status==null?LED_STATUS_FUNCTION_DEFAULT:status; + this.id = hatchNo + 10 * paramID; + this.defaultValue = defaultValue; + this.status = status == null ? LED_STATUS_FUNCTION_DEFAULT : status; parameterOutArrayList.add(this); - parameterOut[paramID]=this; + parameterOut[paramID] = this; } void setDefault() { @@ -204,7 +213,7 @@ public class Parameters { } @Override - public double get(){ + public double get() { return iParamsOut[id]; } @@ -213,27 +222,27 @@ public class Parameters { return defaultValue; } - public void set(double value){ - iParamsOut[id]=value; + public void set(double value) { + iParamsOut[id] = value; } @SuppressWarnings("unchecked") @Override - public void updateStatus(){ - eParamsOutStatus[id]=status.apply(parent,this); + public void updateStatus() { + eParamsOutStatus[id] = status.apply(parent, this); } @Override - public LedStatus getStatus(boolean update){ - if(update){ + public LedStatus getStatus(boolean update) { + if (update) { updateStatus(); } return eParamsOutStatus[id]; } @Override - public String getBrief(){ - return name.apply(parent,this); + public String getBrief() { + return name.apply(parent, this); } @Override @@ -243,12 +252,12 @@ public class Parameters { @Override public int hatchId() { - return id%10; + return id % 10; } @Override public int parameterId() { - return id/10; + return id / 10; } } @@ -261,19 +270,19 @@ public class Parameters { IStatusFunction status; INameFunction name; - private ParameterIn(int paramID, double defaultValue, INameFunction name, IStatusFunction status){ - this.name= name==null?NAME_FUNCTION_DEFAULT:name; - this.id=hatchNo+10*paramID; - if(paramID<0 || paramID>2){ + private ParameterIn(int paramID, double defaultValue, INameFunction name, IStatusFunction status) { + this.name = name == null ? NAME_FUNCTION_DEFAULT : name; + this.id = hatchNo + 10 * paramID; + if (paramID < 0 || paramID > 2) { throw new IllegalArgumentException("Parameter id must be in 0 to 1 range"); } - if(parameterIn[paramID]!=null){ + if (parameterIn[paramID] != null) { throw new IllegalArgumentException("Parameter id already occupied"); } - this.defaultValue=defaultValue; - this.status = status==null?LED_STATUS_FUNCTION_DEFAULT:status; + this.defaultValue = defaultValue; + this.status = status == null ? LED_STATUS_FUNCTION_DEFAULT : status; parameterInArrayList.add(this); - parameterIn[paramID]=this; + parameterIn[paramID] = this; } void setDefault() { @@ -281,12 +290,12 @@ public class Parameters { } @Override - public double get(){ + public double get() { return iParamsIn[id]; } - void set(double value){ - iParamsIn[id]=value; + void set(double value) { + iParamsIn[id] = value; } @Override @@ -296,24 +305,23 @@ public class Parameters { @SuppressWarnings("unchecked") @Override - public void updateStatus(){ - eParamsInStatus[id]=status.apply(parent,this); + public void updateStatus() { + eParamsInStatus[id] = status.apply(parent, this); } @Override - public LedStatus getStatus(boolean update){ - if(update){ + public LedStatus getStatus(boolean update) { + if (update) { updateStatus(); } return eParamsInStatus[id]; } @Override - public String getBrief(){ - return name.apply(parent,this); + public String getBrief() { + return name.apply(parent, this); } - @Override public int id() { return id; @@ -321,14 +329,13 @@ public class Parameters { @Override public int hatchId() { - return id%10; + return id % 10; } @Override public int parameterId() { - return id/10; + return id / 10; } } } } - diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/SoundLoop.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/SoundLoop.java index e8e1a7eb27..fc6b5d276b 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/SoundLoop.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/SoundLoop.java @@ -10,47 +10,49 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; @SideOnly(Side.CLIENT) -public class SoundLoop extends MovingSound{ +public class SoundLoop extends MovingSound { private final boolean whileActive; private final boolean whileInactive; private final int worldID; - private boolean fadeMe=false; + private boolean fadeMe = false; - public SoundLoop(ResourceLocation p_i45104_1_, IGregTechTileEntity base, boolean stopWhenActive,boolean stopWhenInactive) { + public SoundLoop( + ResourceLocation p_i45104_1_, IGregTechTileEntity base, boolean stopWhenActive, boolean stopWhenInactive) { super(p_i45104_1_); this.whileActive = stopWhenActive; this.whileInactive = stopWhenInactive; - xPosF=base.getXCoord(); - yPosF=base.getYCoord(); - zPosF=base.getZCoord(); - worldID=base.getWorld().provider.dimensionId; - repeat=true; - volume= 0.0625f; + xPosF = base.getXCoord(); + yPosF = base.getYCoord(); + zPosF = base.getZCoord(); + worldID = base.getWorld().provider.dimensionId; + repeat = true; + volume = 0.0625f; } @Override public void update() { - if(donePlaying) { + if (donePlaying) { return; } - if(fadeMe) { - volume-=0.0625f; - if(volume<=0){ - volume=0; - donePlaying=true; + if (fadeMe) { + volume -= 0.0625f; + if (volume <= 0) { + volume = 0; + donePlaying = true; } - }else if(volume<1) { + } else if (volume < 1) { volume += 0.0625f; } - World world=Minecraft.getMinecraft().thePlayer.worldObj; - donePlaying=world.provider.dimensionId!=worldID || - !world.checkChunksExist((int)xPosF,(int)yPosF,(int)zPosF,(int)xPosF,(int)yPosF,(int)zPosF); - if(donePlaying) return; - TileEntity tile= world.getTileEntity((int)xPosF,(int)yPosF,(int)zPosF); - if(!(tile instanceof IGregTechTileEntity)) { - donePlaying=true; + World world = Minecraft.getMinecraft().thePlayer.worldObj; + donePlaying = world.provider.dimensionId != worldID + || !world.checkChunksExist( + (int) xPosF, (int) yPosF, (int) zPosF, (int) xPosF, (int) yPosF, (int) zPosF); + if (donePlaying) return; + TileEntity tile = world.getTileEntity((int) xPosF, (int) yPosF, (int) zPosF); + if (!(tile instanceof IGregTechTileEntity)) { + donePlaying = true; return; } - fadeMe|=((IGregTechTileEntity) tile).isActive()?whileActive:whileInactive; + fadeMe |= ((IGregTechTileEntity) tile).isActive() ? whileActive : whileInactive; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedExtendedFacingTexture.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedExtendedFacingTexture.java index 9795b42827..6a7aea9cb3 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedExtendedFacingTexture.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedExtendedFacingTexture.java @@ -5,12 +5,18 @@ import gregtech.api.interfaces.IIconContainer; import gregtech.common.render.GT_RenderedTexture; public class TT_RenderedExtendedFacingTexture extends GT_RenderedTexture { - public TT_RenderedExtendedFacingTexture(IIconContainer aIcon, short[] aRGBa, boolean allowAlpha, boolean glow, boolean stdOrient, boolean extFacing) { + public TT_RenderedExtendedFacingTexture( + IIconContainer aIcon, + short[] aRGBa, + boolean allowAlpha, + boolean glow, + boolean stdOrient, + boolean extFacing) { super(aIcon, aRGBa, allowAlpha, glow, stdOrient, extFacing); } public TT_RenderedExtendedFacingTexture(IIconContainer aIcon, short[] aRGBa, boolean aAllowAlpha) { - this(aIcon,aRGBa,aAllowAlpha,false,false,true); + this(aIcon, aRGBa, aAllowAlpha, false, false, true); } public TT_RenderedExtendedFacingTexture(IIconContainer aIcon, short[] aRGBa) { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_collider/GT_MetaTileEntity_EM_collider.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_collider/GT_MetaTileEntity_EM_collider.java index 6e8a7c8d88..4973f6f37a 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_collider/GT_MetaTileEntity_EM_collider.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_collider/GT_MetaTileEntity_EM_collider.java @@ -1,5 +1,17 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.em_collider; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.DoubleCount.add; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.EMComplexAspectDefinition; import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.EMPrimalAspectDefinition; @@ -29,31 +41,18 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import java.util.HashMap; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; -import java.util.HashMap; - -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.DoubleCount.add; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region variables + // region variables private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; private static Textures.BlockIcons.CustomIcon ScreenON_Slave; @@ -61,145 +60,163 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB protected static final byte FUSE_MODE = 0, COLLIDE_MODE = 1; private static double MASS_TO_EU_INSTANT; - private static int STARTUP_COST, KEEPUP_COST; + private static int STARTUP_COST, KEEPUP_COST; - protected byte eTier = 0; + protected byte eTier = 0; protected EMInstanceStack stack; - private long plasmaEnergy; + private long plasmaEnergy; protected boolean started = false; - //endregion + // endregion - //region collision handlers - public static final HashMap FUSE_HANDLERS = new HashMap<>(); + // region collision handlers + public static final HashMap FUSE_HANDLERS = new HashMap<>(); public static final HashMap PRIMITIVE_FUSE_HANDLERS = new HashMap<>(); static { - FUSE_HANDLERS.put(((long) EMAtomDefinition.getClassTypeStatic() << 16) | EMAtomDefinition.getClassTypeStatic(), new IColliderHandler() { - @Override - public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { - try { - EMDefinitionStackMap defs = new EMDefinitionStackMap(); - defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); - defs.putUnifyAllExact(in2.getDefinition().getSubParticles()); - EMAtomDefinition atom = new EMAtomDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); - out.putUnify(new EMInstanceStack(atom, Math.min(in1.getAmount(), in2.getAmount()))); - } catch (Exception e) { - out.putUnifyAll(in1, in2); - return; - } - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - } + FUSE_HANDLERS.put( + ((long) EMAtomDefinition.getClassTypeStatic() << 16) | EMAtomDefinition.getClassTypeStatic(), + new IColliderHandler() { + @Override + public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { + try { + EMDefinitionStackMap defs = new EMDefinitionStackMap(); + defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); + defs.putUnifyAllExact(in2.getDefinition().getSubParticles()); + EMAtomDefinition atom = new EMAtomDefinition( + defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); + out.putUnify(new EMInstanceStack(atom, Math.min(in1.getAmount(), in2.getAmount()))); + } catch (Exception e) { + out.putUnifyAll(in1, in2); + return; + } + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + } - @Override - public byte getRequiredTier() { - return 1; - } - }); + @Override + public byte getRequiredTier() { + return 1; + } + }); registerSimpleAtomFuse(EMHadronDefinition.getClassTypeStatic()); registerSimpleAtomFuse(EMComplexAspectDefinition.getClassTypeStatic()); registerSimpleAtomFuse(EMPrimitiveTemplate.getClassTypeStatic()); - FUSE_HANDLERS.put(((long) EMHadronDefinition.getClassTypeStatic() << 16) | EMHadronDefinition.getClassTypeStatic(), new IColliderHandler() { - @Override - public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { - try { - EMDefinitionStackMap defs = new EMDefinitionStackMap(); - defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); - defs.putUnifyAllExact(in2.getDefinition().getSubParticles()); - EMHadronDefinition hadron = new EMHadronDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); - out.putUnify(new EMInstanceStack(hadron, Math.min(in1.getAmount(), in2.getAmount()))); - } catch (Exception e) { - out.putUnifyAll(in1, in2); - return; - } - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - } + FUSE_HANDLERS.put( + ((long) EMHadronDefinition.getClassTypeStatic() << 16) | EMHadronDefinition.getClassTypeStatic(), + new IColliderHandler() { + @Override + public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { + try { + EMDefinitionStackMap defs = new EMDefinitionStackMap(); + defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); + defs.putUnifyAllExact(in2.getDefinition().getSubParticles()); + EMHadronDefinition hadron = new EMHadronDefinition( + defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); + out.putUnify(new EMInstanceStack(hadron, Math.min(in1.getAmount(), in2.getAmount()))); + } catch (Exception e) { + out.putUnifyAll(in1, in2); + return; + } + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + } - @Override - public byte getRequiredTier() { - return 2; - } - }); - FUSE_HANDLERS.put(((long) EMHadronDefinition.getClassTypeStatic() << 16) | EMPrimitiveTemplate.getClassTypeStatic(), new IColliderHandler() { - @Override - public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { - try { - EMDefinitionStackMap defs = new EMDefinitionStackMap(); - defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); - defs.putUnifyExact(in2.getDefinition().getStackForm(1)); - EMHadronDefinition hadron = new EMHadronDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); - out.putUnify(new EMInstanceStack(hadron, Math.min(in1.getAmount(), in2.getAmount()))); - } catch (Exception e) { - out.putUnifyAll(in1, in2); - return; - } - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - } + @Override + public byte getRequiredTier() { + return 2; + } + }); + FUSE_HANDLERS.put( + ((long) EMHadronDefinition.getClassTypeStatic() << 16) | EMPrimitiveTemplate.getClassTypeStatic(), + new IColliderHandler() { + @Override + public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { + try { + EMDefinitionStackMap defs = new EMDefinitionStackMap(); + defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); + defs.putUnifyExact(in2.getDefinition().getStackForm(1)); + EMHadronDefinition hadron = new EMHadronDefinition( + defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); + out.putUnify(new EMInstanceStack(hadron, Math.min(in1.getAmount(), in2.getAmount()))); + } catch (Exception e) { + out.putUnifyAll(in1, in2); + return; + } + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + } - @Override - public byte getRequiredTier() { - return 2; - } - }); + @Override + public byte getRequiredTier() { + return 2; + } + }); registerSimpleAspectFuse(EMComplexAspectDefinition.getClassTypeStatic()); registerSimpleAspectFuse(EMPrimitiveTemplate.getClassTypeStatic()); - FUSE_HANDLERS.put(((long) EMPrimitiveTemplate.getClassTypeStatic() << 16) | EMPrimitiveTemplate.getClassTypeStatic(), new IColliderHandler() { - @Override - public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { - IPrimitiveColliderHandler collisionHandler = PRIMITIVE_FUSE_HANDLERS.get(in1.getDefinition().getClass().getName() + '\0' + in2.getDefinition().getClass().getName()); - if (collisionHandler != null) { - collisionHandler.collide(in2, in1, out); - } else { - out.putUnifyAll(in1, in2); - } - } + FUSE_HANDLERS.put( + ((long) EMPrimitiveTemplate.getClassTypeStatic() << 16) | EMPrimitiveTemplate.getClassTypeStatic(), + new IColliderHandler() { + @Override + public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { + IPrimitiveColliderHandler collisionHandler = PRIMITIVE_FUSE_HANDLERS.get( + in1.getDefinition().getClass().getName() + + '\0' + + in2.getDefinition().getClass().getName()); + if (collisionHandler != null) { + collisionHandler.collide(in2, in1, out); + } else { + out.putUnifyAll(in1, in2); + } + } - @Override - public byte getRequiredTier() { - return 2; - } - }); - - PRIMITIVE_FUSE_HANDLERS.put(EMQuarkDefinition.class.getName() + '\0' + EMQuarkDefinition.class.getName(), (in1, in2, out) -> { - try { - EMDefinitionStackMap defs = new EMDefinitionStackMap(); - defs.putUnifyExact(in1.getDefinition().getStackForm(1)); - defs.putUnifyExact(in2.getDefinition().getStackForm(1)); - EMHadronDefinition hadron = new EMHadronDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); - out.putUnify(new EMInstanceStack(hadron, Math.min(in1.getAmount(), in2.getAmount()))); - } catch (Exception e) { - out.putUnifyAll(in1, in2); - return; - } - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - }); - PRIMITIVE_FUSE_HANDLERS.put(EMPrimalAspectDefinition.class.getName() + '\0' + EMPrimalAspectDefinition.class.getName(), (in1, in2, out) -> { - if (fuseAspects(in1, in2, out)) return; - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - }); + @Override + public byte getRequiredTier() { + return 2; + } + }); + + PRIMITIVE_FUSE_HANDLERS.put( + EMQuarkDefinition.class.getName() + '\0' + EMQuarkDefinition.class.getName(), (in1, in2, out) -> { + try { + EMDefinitionStackMap defs = new EMDefinitionStackMap(); + defs.putUnifyExact(in1.getDefinition().getStackForm(1)); + defs.putUnifyExact(in2.getDefinition().getStackForm(1)); + EMHadronDefinition hadron = + new EMHadronDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); + out.putUnify(new EMInstanceStack(hadron, Math.min(in1.getAmount(), in2.getAmount()))); + } catch (Exception e) { + out.putUnifyAll(in1, in2); + return; + } + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + }); + PRIMITIVE_FUSE_HANDLERS.put( + EMPrimalAspectDefinition.class.getName() + '\0' + EMPrimalAspectDefinition.class.getName(), + (in1, in2, out) -> { + if (fuseAspects(in1, in2, out)) return; + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + }); } private static boolean fuseAspects(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { @@ -207,7 +224,8 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB EMDefinitionStackMap defs = new EMDefinitionStackMap(); defs.putUnifyExact(in1.getDefinition().getStackForm(1)); defs.putUnifyExact(in2.getDefinition().getStackForm(1)); - EMComplexAspectDefinition aspect = new EMComplexAspectDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); + EMComplexAspectDefinition aspect = + new EMComplexAspectDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); out.putUnify(new EMInstanceStack(aspect, Math.min(in1.getAmount(), in2.getAmount()))); } catch (Exception e) { out.putUnifyAll(in1, in2); @@ -217,55 +235,59 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB } private static void registerSimpleAspectFuse(int classTypeStatic) { - FUSE_HANDLERS.put(((long) EMComplexAspectDefinition.getClassTypeStatic() << 16) | classTypeStatic, new IColliderHandler() { - @Override - public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { - if (fuseAspects(in1, in2, out)) return; - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - } + FUSE_HANDLERS.put( + ((long) EMComplexAspectDefinition.getClassTypeStatic() << 16) | classTypeStatic, + new IColliderHandler() { + @Override + public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { + if (fuseAspects(in1, in2, out)) return; + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + } - @Override - public byte getRequiredTier() { - return 1; - } - }); + @Override + public byte getRequiredTier() { + return 1; + } + }); } private static void registerSimpleAtomFuse(int classTypeStatic) { - FUSE_HANDLERS.put(((long) EMAtomDefinition.getClassTypeStatic() << 16) | classTypeStatic, new IColliderHandler() { - @Override - public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { - try { - EMDefinitionStackMap defs = new EMDefinitionStackMap(); - defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); - defs.putUnifyExact(in2.getDefinition().getStackForm(1)); - EMAtomDefinition atom = new EMAtomDefinition(defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); - out.putUnify(new EMInstanceStack(atom, Math.min(in1.getAmount(), in2.getAmount()))); - } catch (Exception e) { - out.putUnifyAll(in1, in2); - return; - } - if (in1.getAmount() > in2.getAmount()) { - out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); - } else if (in2.getAmount() > in1.getAmount()) { - out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); - } - } + FUSE_HANDLERS.put( + ((long) EMAtomDefinition.getClassTypeStatic() << 16) | classTypeStatic, new IColliderHandler() { + @Override + public void collide(EMInstanceStack in1, EMInstanceStack in2, EMInstanceStackMap out) { + try { + EMDefinitionStackMap defs = new EMDefinitionStackMap(); + defs.putUnifyAllExact(in1.getDefinition().getSubParticles()); + defs.putUnifyExact(in2.getDefinition().getStackForm(1)); + EMAtomDefinition atom = new EMAtomDefinition( + defs.toImmutable_optimized_unsafe_LeavesExposedElementalTree()); + out.putUnify(new EMInstanceStack(atom, Math.min(in1.getAmount(), in2.getAmount()))); + } catch (Exception e) { + out.putUnifyAll(in1, in2); + return; + } + if (in1.getAmount() > in2.getAmount()) { + out.putUnify(new EMInstanceStack(in1.getDefinition(), in1.getAmount() - in2.getAmount())); + } else if (in2.getAmount() > in1.getAmount()) { + out.putUnify(new EMInstanceStack(in2.getDefinition(), in2.getAmount() - in1.getAmount())); + } + } - @Override - public byte getRequiredTier() { - return 1; - } - }); + @Override + public byte getRequiredTier() { + return 1; + } + }); } - //endregion + // endregion - //region parameters - protected Parameters.Group.ParameterIn mode; + // region parameters + protected Parameters.Group.ParameterIn mode; private static final IStatusFunction MODE_STATUS = (base_EM, p) -> { if (base_EM.isMaster()) { double mode = p.get(); @@ -280,64 +302,231 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB } return STATUS_OK; }; - private static final INameFunction MODE_NAME = (base_EM, p) -> { + private static final INameFunction MODE_NAME = (base_EM, p) -> { if (base_EM.isMaster()) { double mode = p.get(); if (mode == FUSE_MODE) { - return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.0");//Mode: Fuse + return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.0"); // Mode: Fuse } else if (mode == COLLIDE_MODE) { - return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.1");//Mode: Collide + return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.1"); // Mode: Collide } - return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.2");//Mode: Undefined + return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.2"); // Mode: Undefined } - return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.3");//Currently Slaves... + return translateToLocal("gt.blockmachines.multimachine.em.collider.mode.3"); // Currently Slaves... }; - //endregion - - //region structure - //use multi A energy inputs, use less power the longer it runs - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.collider.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.collider.hint.1"),//2 - Elemental Input Hatches or Molecular Casing - translateToLocal("gt.blockmachines.multimachine.em.collider.hint.2"),//3 - Elemental Output Hatches or Molecular Casing - translateToLocal("gt.blockmachines.multimachine.em.collider.hint.3"),//4 - Elemental Overflow Hatches or Molecular Casing - translateToLocal("gt.blockmachines.multimachine.em.collider.hint.4"),//General - Another Controller facing opposite direction + // endregion + + // region structure + // use multi A energy inputs, use less power the longer it runs + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.collider.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal( + "gt.blockmachines.multimachine.em.collider.hint.1"), // 2 - Elemental Input Hatches or Molecular Casing + translateToLocal( + "gt.blockmachines.multimachine.em.collider.hint.2"), // 3 - Elemental Output Hatches or Molecular Casing + translateToLocal( + "gt.blockmachines.multimachine.em.collider.hint.3"), // 4 - Elemental Overflow Hatches or Molecular + // Casing + translateToLocal( + "gt.blockmachines.multimachine.em.collider.hint.4"), // General - Another Controller facing opposite + // direction }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("tier1", transpose(new String[][]{ - {" A A A ", " AAAAAAA ", " bbbbIIIbbbb ", " bAAAAAAAAAAAb ", " bAAAA AAAAb ", " bAAA AAAb ", " bAAA AAAb ", " bAA AAb ", " AbAA AAbA ", "AAbA AbAA", " AIA AIA ", "AAIA AIAA", " AIA AIA ", "AAbA AbAA", " AbAA AAbA ", " bAA AAb ", " bAAA AAAb ", " bAAA AAAb ", " bAAAAbJJJbAAAAb ", " bAHHbbbbbHHAb ", " bbbbGFGbbbb "}, - {" AAAAA ", " AADDDDDAA ", " cDDeeeeeDDc ", " cDeeDDDDDeeDc ", " cDeDD DDeDc ", " cDeD DeDc ", " cDeD DeDc ", " ADeD DeDA ", " ADeD DeDA ", "ADeD DeDA", "ADeD DeDA", "ADeD DeDA", "ADeD DeDA", "ADeD DeDA", " ADeD DeDA ", " ADeD DeDA ", " cDeD DeDc ", " cDeD DeDc ", " cDeDDbJ~JbDDeDc ", " cDeeDDDDDeeDc ", " cDDeeeeeDDc "}, - {" A A A ", " AAAAAAA ", " bbbbIIIbbbb ", " bAAAAAAAAAAAb ", " bAAAA AAAAb ", " bAAA AAAb ", " bAAA AAAb ", " bAA AAb ", " AbAA AAbA ", "AAbA AbAA", " AIA AIA ", "AAIA AIAA", " AIA AIA ", "AAbA AbAA", " AbAA AAbA ", " bAA AAb ", " bAAA AAAb ", " bAAA AAAb ", " bAAAAbJJJbAAAAb ", " bAHHbbbbbHHAb ", " bbbbGFGbbbb "} - })) - .addShape("tier2", transpose(new String[][]{ - {" A A A ", " AAAAAAA ", " BBBBIIIBBBB ", " BAAAAAAAAAAAB ", " BAAAA AAAAB ", " BAAA AAAB ", " BAAA AAAB ", " BAA AAB ", " ABAA AABA ", "AABA ABAA", " AIA AIA ", "AAIA AIAA", " AIA AIA ", "AABA ABAA", " ABAA AABA ", " BAA AAB ", " BAAA AAAB ", " BAAA AAAB ", " BAAAABJJJBAAAAB ", " BAHHBBBBBHHAB ", " BBBBGFGBBBB "}, - {" AAAAA ", " AADDDDDAA ", " CDDEEEEEDDC ", " CDEEDDDDDEEDC ", " CDEDD DDEDC ", " CDED DEDC ", " CDED DEDC ", " ADED DEDA ", " ADED DEDA ", "ADED DEDA", "ADED DEDA", "ADED DEDA", "ADED DEDA", "ADED DEDA", " ADED DEDA ", " ADED DEDA ", " CDED DEDC ", " CDED DEDC ", " CDEDDBJ~JBDDEDC ", " CDEEDDDDDEEDC ", " CDDEEEEEDDC "}, - {" A A A ", " AAAAAAA ", " BBBBIIIBBBB ", " BAAAAAAAAAAAB ", " BAAAA AAAAB ", " BAAA AAAB ", " BAAA AAAB ", " BAA AAB ", " ABAA AABA ", "AABA ABAA", " AIA AIA ", "AAIA AIAA", " AIA AIA ", "AABA ABAA", " ABAA AABA ", " BAA AAB ", " BAAA AAAB ", " BAAA AAAB ", " BAAAABJJJBAAAAB ", " BAHHBBBBBHHAB ", " BBBBGFGBBBB "} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('b', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('c', ofBlock(sBlockCasingsTT, 4)) - .addElement('C', ofBlock(sBlockCasingsTT, 6)) - .addElement('D', ofBlock(sBlockCasingsTT, 7)) - .addElement('e', ofBlock(sBlockCasingsTT, 8)) - .addElement('E', ofBlock(sBlockCasingsTT, 9)) - .addElement('I', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('J', ofHatchAdderOptional(GT_MetaTileEntity_EM_collider::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('H', ofHatchAdderOptional(GT_MetaTileEntity_EM_collider::addElementalInputToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) - .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_collider::addElementalOutputToMachineList, textureOffset + 4, 3, sBlockCasingsTT, 4)) - .addElement('G', ofHatchAdderOptional(GT_MetaTileEntity_EM_collider::addElementalMufflerToMachineList, textureOffset + 4, 4, sBlockCasingsTT, 4)) - .build(); + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("tier1", transpose(new String[][] { + { + " A A A ", + " AAAAAAA ", + " bbbbIIIbbbb ", + " bAAAAAAAAAAAb ", + " bAAAA AAAAb ", + " bAAA AAAb ", + " bAAA AAAb ", + " bAA AAb ", + " AbAA AAbA ", + "AAbA AbAA", + " AIA AIA ", + "AAIA AIAA", + " AIA AIA ", + "AAbA AbAA", + " AbAA AAbA ", + " bAA AAb ", + " bAAA AAAb ", + " bAAA AAAb ", + " bAAAAbJJJbAAAAb ", + " bAHHbbbbbHHAb ", + " bbbbGFGbbbb " + }, + { + " AAAAA ", + " AADDDDDAA ", + " cDDeeeeeDDc ", + " cDeeDDDDDeeDc ", + " cDeDD DDeDc ", + " cDeD DeDc ", + " cDeD DeDc ", + " ADeD DeDA ", + " ADeD DeDA ", + "ADeD DeDA", + "ADeD DeDA", + "ADeD DeDA", + "ADeD DeDA", + "ADeD DeDA", + " ADeD DeDA ", + " ADeD DeDA ", + " cDeD DeDc ", + " cDeD DeDc ", + " cDeDDbJ~JbDDeDc ", + " cDeeDDDDDeeDc ", + " cDDeeeeeDDc " + }, + { + " A A A ", + " AAAAAAA ", + " bbbbIIIbbbb ", + " bAAAAAAAAAAAb ", + " bAAAA AAAAb ", + " bAAA AAAb ", + " bAAA AAAb ", + " bAA AAb ", + " AbAA AAbA ", + "AAbA AbAA", + " AIA AIA ", + "AAIA AIAA", + " AIA AIA ", + "AAbA AbAA", + " AbAA AAbA ", + " bAA AAb ", + " bAAA AAAb ", + " bAAA AAAb ", + " bAAAAbJJJbAAAAb ", + " bAHHbbbbbHHAb ", + " bbbbGFGbbbb " + } + })) + .addShape("tier2", transpose(new String[][] { + { + " A A A ", + " AAAAAAA ", + " BBBBIIIBBBB ", + " BAAAAAAAAAAAB ", + " BAAAA AAAAB ", + " BAAA AAAB ", + " BAAA AAAB ", + " BAA AAB ", + " ABAA AABA ", + "AABA ABAA", + " AIA AIA ", + "AAIA AIAA", + " AIA AIA ", + "AABA ABAA", + " ABAA AABA ", + " BAA AAB ", + " BAAA AAAB ", + " BAAA AAAB ", + " BAAAABJJJBAAAAB ", + " BAHHBBBBBHHAB ", + " BBBBGFGBBBB " + }, + { + " AAAAA ", + " AADDDDDAA ", + " CDDEEEEEDDC ", + " CDEEDDDDDEEDC ", + " CDEDD DDEDC ", + " CDED DEDC ", + " CDED DEDC ", + " ADED DEDA ", + " ADED DEDA ", + "ADED DEDA", + "ADED DEDA", + "ADED DEDA", + "ADED DEDA", + "ADED DEDA", + " ADED DEDA ", + " ADED DEDA ", + " CDED DEDC ", + " CDED DEDC ", + " CDEDDBJ~JBDDEDC ", + " CDEEDDDDDEEDC ", + " CDDEEEEEDDC " + }, + { + " A A A ", + " AAAAAAA ", + " BBBBIIIBBBB ", + " BAAAAAAAAAAAB ", + " BAAAA AAAAB ", + " BAAA AAAB ", + " BAAA AAAB ", + " BAA AAB ", + " ABAA AABA ", + "AABA ABAA", + " AIA AIA ", + "AAIA AIAA", + " AIA AIA ", + "AABA ABAA", + " ABAA AABA ", + " BAA AAB ", + " BAAA AAAB ", + " BAAA AAAB ", + " BAAAABJJJBAAAAB ", + " BAHHBBBBBHHAB ", + " BBBBGFGBBBB " + } + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('b', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement('c', ofBlock(sBlockCasingsTT, 4)) + .addElement('C', ofBlock(sBlockCasingsTT, 6)) + .addElement('D', ofBlock(sBlockCasingsTT, 7)) + .addElement('e', ofBlock(sBlockCasingsTT, 8)) + .addElement('E', ofBlock(sBlockCasingsTT, 9)) + .addElement('I', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'J', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_collider::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'H', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_collider::addElementalInputToMachineList, + textureOffset + 4, + 2, + sBlockCasingsTT, + 4)) + .addElement( + 'F', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_collider::addElementalOutputToMachineList, + textureOffset + 4, + 3, + sBlockCasingsTT, + 4)) + .addElement( + 'G', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_collider::addElementalMufflerToMachineList, + textureOffset + 4, + 4, + sBlockCasingsTT, + 4)) + .build(); @Override public IStructureDefinition getStructure_EM() { return STRUCTURE_DEFINITION; } - //endregion + // endregion public GT_MetaTileEntity_EM_collider(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -348,65 +537,72 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB } public static void setValues(int heliumPlasmaValue) { - double MASS_TO_EU_PARTIAL = heliumPlasmaValue / (1.75893000478707E07 * EM_COUNT_PER_MATERIAL_AMOUNT);//mass diff + double MASS_TO_EU_PARTIAL = + heliumPlasmaValue / (1.75893000478707E07 * EM_COUNT_PER_MATERIAL_AMOUNT); // mass diff MASS_TO_EU_INSTANT = MASS_TO_EU_PARTIAL * 20; STARTUP_COST = -heliumPlasmaValue * 10000; KEEPUP_COST = -heliumPlasmaValue; } - protected double fuse(GT_MetaTileEntity_EM_collider partner) {///CAN MAKE EU - if (partner.stack != null && stack != null) {//todo add single event mode as an option - boolean check = stack.getDefinition().fusionMakesEnergy(stack.getEnergy()) && - partner.stack.getDefinition().fusionMakesEnergy(partner.stack.getEnergy()); + protected double fuse(GT_MetaTileEntity_EM_collider partner) { // /CAN MAKE EU + if (partner.stack != null && stack != null) { // todo add single event mode as an option + boolean check = stack.getDefinition().fusionMakesEnergy(stack.getEnergy()) + && partner.stack.getDefinition().fusionMakesEnergy(partner.stack.getEnergy()); - EMInstanceStack stack2 = partner.stack; - double preMass = add(stack2.getMass(), stack.getMass()); - //System.out.println("preMass = " + preMass); + EMInstanceStack stack2 = partner.stack; + double preMass = add(stack2.getMass(), stack.getMass()); + // System.out.println("preMass = " + preMass); EMInstanceStackMap map = new EMInstanceStackMap(); - IColliderHandler colliderHandler; - if (stack2.getDefinition().getMatterMassType() > stack.getDefinition().getMatterMassType()) {//always bigger first - colliderHandler = FUSE_HANDLERS.get((stack2.getDefinition().getMatterMassType() << 16) | stack.getDefinition().getMatterMassType()); + IColliderHandler colliderHandler; + if (stack2.getDefinition().getMatterMassType() + > stack.getDefinition().getMatterMassType()) { // always bigger first + colliderHandler = FUSE_HANDLERS.get((stack2.getDefinition().getMatterMassType() << 16) + | stack.getDefinition().getMatterMassType()); if (handleRecipe(stack2, map, colliderHandler)) return 0; } else { - colliderHandler = FUSE_HANDLERS.get((stack.getDefinition().getMatterMassType() << 16) | stack2.getDefinition().getMatterMassType()); + colliderHandler = FUSE_HANDLERS.get((stack.getDefinition().getMatterMassType() << 16) + | stack2.getDefinition().getMatterMassType()); if (handleRecipe(stack2, map, colliderHandler)) return 0; } for (EMInstanceStack newStack : map.valuesToArray()) { check &= newStack.getDefinition().fusionMakesEnergy(newStack.getEnergy()); } - //System.out.println("outputEM[0].getMass() = " + outputEM[0].getMass()); - outputEM = new EMInstanceStackMap[]{map}; + // System.out.println("outputEM[0].getMass() = " + outputEM[0].getMass()); + outputEM = new EMInstanceStackMap[] {map}; partner.stack = stack = null; - //System.out.println("check = " + check); - //System.out.println("preMass-map.getMass() = " + (preMass - map.getMass())); + // System.out.println("check = " + check); + // System.out.println("preMass-map.getMass() = " + (preMass - map.getMass())); return check ? preMass - map.getMass() : Math.min(preMass - map.getMass(), 0); } return 0; } - protected double collide(GT_MetaTileEntity_EM_collider partner) {//DOES NOT MAKE EU! - if (partner.stack != null && stack != null) {//todo add single event mode as an option - EMInstanceStack stack2 = partner.stack; - double preMass = stack2.getMass() + stack.getMass(); - //System.out.println("preMass = " + preMass); + protected double collide(GT_MetaTileEntity_EM_collider partner) { // DOES NOT MAKE EU! + if (partner.stack != null && stack != null) { // todo add single event mode as an option + EMInstanceStack stack2 = partner.stack; + double preMass = stack2.getMass() + stack.getMass(); + // System.out.println("preMass = " + preMass); EMInstanceStackMap map = new EMInstanceStackMap(); - IColliderHandler colliderHandler; - if (stack2.getDefinition().getMatterMassType() > stack.getDefinition().getMatterMassType()) {//always bigger first - colliderHandler = FUSE_HANDLERS.get((stack2.getDefinition().getMatterMassType() << 16) | stack.getDefinition().getMatterMassType()); + IColliderHandler colliderHandler; + if (stack2.getDefinition().getMatterMassType() + > stack.getDefinition().getMatterMassType()) { // always bigger first + colliderHandler = FUSE_HANDLERS.get((stack2.getDefinition().getMatterMassType() << 16) + | stack.getDefinition().getMatterMassType()); if (handleRecipe(stack2, map, colliderHandler)) return 0; } else { - colliderHandler = FUSE_HANDLERS.get((stack.getDefinition().getMatterMassType() << 16) | stack2.getDefinition().getMatterMassType()); + colliderHandler = FUSE_HANDLERS.get((stack.getDefinition().getMatterMassType() << 16) + | stack2.getDefinition().getMatterMassType()); if (handleRecipe(stack2, map, colliderHandler)) return 0; } - //System.out.println("outputEM[0].getMass() = " + outputEM[0].getMass()); - outputEM = new EMInstanceStackMap[]{map}; + // System.out.println("outputEM[0].getMass() = " + outputEM[0].getMass()); + outputEM = new EMInstanceStackMap[] {map}; partner.stack = stack = null; - //System.out.println("check = " + check); - //System.out.println("preMass-map.getMass() = " + (preMass - map.getMass())); + // System.out.println("check = " + check); + // System.out.println("preMass-map.getMass() = " + (preMass - map.getMass())); return Math.min(preMass - map.getMass(), 0); } return 0; @@ -417,24 +613,25 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB colliderHandler.collide(stack2, stack, map); } else { map.putUnifyAll(stack, stack2); - outputEM = new EMInstanceStackMap[]{map}; + outputEM = new EMInstanceStackMap[] {map}; return true; } return false; } protected GT_MetaTileEntity_EM_collider getPartner() { - IGregTechTileEntity iGregTechTileEntity = getBaseMetaTileEntity(); - int xDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetX * 4; - int yDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetY * 4; - int zDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetZ * 4; + IGregTechTileEntity iGregTechTileEntity = getBaseMetaTileEntity(); + int xDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetX * 4; + int yDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetY * 4; + int zDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetZ * 4; IGregTechTileEntity gregTechBaseTileEntity = iGregTechTileEntity.getIGregTechTileEntityOffset(xDir, yDir, zDir); if (gregTechBaseTileEntity != null) { IMetaTileEntity gregTechMetaTileEntity = gregTechBaseTileEntity.getMetaTileEntity(); - return gregTechMetaTileEntity instanceof GT_MetaTileEntity_EM_collider && - ((GT_MetaTileEntity_EM_collider) gregTechMetaTileEntity).mMachine && - gregTechBaseTileEntity.getBackFacing() == iGregTechTileEntity.getFrontFacing() ? - (GT_MetaTileEntity_EM_collider) gregTechMetaTileEntity : null; + return gregTechMetaTileEntity instanceof GT_MetaTileEntity_EM_collider + && ((GT_MetaTileEntity_EM_collider) gregTechMetaTileEntity).mMachine + && gregTechBaseTileEntity.getBackFacing() == iGregTechTileEntity.getFrontFacing() + ? (GT_MetaTileEntity_EM_collider) gregTechMetaTileEntity + : null; } return null; } @@ -460,7 +657,9 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB stack.nextColor(); return null; } else { - stack = newInstances.getOutput().removeKey(newInstances.getOutput().getLast().getDefinition()); + stack = newInstances + .getOutput() + .removeKey(newInstances.getOutput().getLast().getDefinition()); return newInstances.getOutput(); } } @@ -487,7 +686,7 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB eTier = 0; return false; } - if (structureCheck_EM("tier"+eTier, 11, 1, 18)) { + if (structureCheck_EM("tier" + eTier, 11, 1, 18)) { return true; } eTier = 0; @@ -509,7 +708,12 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB continue; } stack = container.removeKey(container.getFirst().getDefinition()); - long eut = KEEPUP_COST + (long) (KEEPUP_COST * Math.abs(stack.getMass() / EMAtomDefinition.getSomethingHeavy().getMass())) / 2; + long eut = KEEPUP_COST + + (long) (KEEPUP_COST + * Math.abs(stack.getMass() + / EMAtomDefinition.getSomethingHeavy() + .getMass())) + / 2; if (eut < Integer.MIN_VALUE + 7) { return false; } @@ -551,7 +755,7 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB makeEU(fuse(partner)); break; case COLLIDE_MODE: - collide(partner);//todo + collide(partner); // todo break; default: { outputEM = new EMInstanceStackMap[2]; @@ -580,20 +784,45 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.collider.name")) // Machine Type: Matter Collider - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.collider.desc.0")) // Controller block of the Matter Collider - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.collider.desc.1")) // This machine needs a mirrored copy of it to work - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.collider.desc.2")) // One needs to be set to 'Fuse Mode' and the other to 'Collide Mode' - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.collider.desc.3")) // Fuses two elemental matter to create another (and power) + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.collider.name")) // Machine Type: Matter Collider + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.collider.desc.0")) // Controller block of the Matter Collider + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.collider.desc.1")) // This machine needs a mirrored + // copy of it to work + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.collider.desc.2")) // One needs to be set to 'Fuse + // Mode' and the other to 'Collide + // Mode' + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.collider.desc.3")) // Fuses two elemental matter to + // create another (and power) .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(21, 3, 23, false) - .addOtherStructurePart(translateToLocal("gt.blockmachines.multimachine.em.collider.name"), translateToLocal("gt.blockmachines.multimachine.em.collider.Structure.AdditionalCollider"), 2) // Matter Collider: Needs another Matter Collider that is mirrored to this one - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalInput"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), 2) // Elemental Input Hatch: Any Molecular Casing with 2 dots - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOutput"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing3D"), 2) // Elemental Output Hatch: Any Molecular Casing with 3 dots - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.ElementalOverflow"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing4D"), 2) // Elemental Overflow Hatch: Any Molecular Casing with 4 dots - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart( + translateToLocal("gt.blockmachines.multimachine.em.collider.name"), + translateToLocal("gt.blockmachines.multimachine.em.collider.Structure.AdditionalCollider"), + 2) // Matter Collider: Needs another Matter Collider that is mirrored to this one + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalInput"), + translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), + 2) // Elemental Input Hatch: Any Molecular Casing with 2 dots + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOutput"), + translateToLocal("tt.keyword.Structure.AnyMolecularCasing3D"), + 2) // Elemental Output Hatch: Any Molecular Casing with 3 dots + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.ElementalOverflow"), + translateToLocal("tt.keyword.Structure.AnyMolecularCasing4D"), + 2) // Elemental Overflow Hatch: Any Molecular Casing with 4 dots + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -609,15 +838,27 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aFacing, + byte aColorIndex, + boolean aActive, + boolean aRedstone) { if (aSide == aFacing) { if (aFacing % 2 == 0) { - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][4], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][4], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON : ScreenOFF) + }; } else { - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][4], new TT_RenderedExtendedFacingTexture(aActive ? ScreenON_Slave : ScreenOFF_Slave)}; + return new ITexture[] { + Textures.BlockIcons.casingTexturePages[texturePage][4], + new TT_RenderedExtendedFacingTexture(aActive ? ScreenON_Slave : ScreenOFF_Slave) + }; } } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][4]}; + return new ITexture[] {Textures.BlockIcons.casingTexturePages[texturePage][4]}; } @Override @@ -636,7 +877,7 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB @Override public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); - aNBT.setByte("eTier", eTier);//collider tier + aNBT.setByte("eTier", eTier); // collider tier aNBT.setBoolean("eStarted", started); if (stack != null) { aNBT.setTag("eStack", stack.toNBT(TecTech.definitionsRegistry)); @@ -647,7 +888,7 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB @Override public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); - eTier = aNBT.getByte("eTier");//collider tier + eTier = aNBT.getByte("eTier"); // collider tier started = aNBT.getBoolean("eStarted"); if (aNBT.hasKey("eStack")) { stack = EMInstanceStack.fromNBT(TecTech.definitionsRegistry, aNBT.getCompoundTag("eStack")); @@ -687,17 +928,19 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB @Override public void construct(ItemStack trigger, boolean hintsOnly) { IGregTechTileEntity iGregTechTileEntity = getBaseMetaTileEntity(); - int xDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetX * 4; - int yDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetY * 4; - int zDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetZ * 4; + int xDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetX * 4; + int yDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetY * 4; + int zDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetZ * 4; if (hintsOnly) { - StructureLibAPI.hintParticle(iGregTechTileEntity.getWorld(), + StructureLibAPI.hintParticle( + iGregTechTileEntity.getWorld(), iGregTechTileEntity.getXCoord() + xDir, iGregTechTileEntity.getYCoord() + yDir, iGregTechTileEntity.getZCoord() + zDir, - StructureLibAPI.getBlockHint(), 12); + StructureLibAPI.getBlockHint(), + 12); } - structureBuild_EM("tier"+(((trigger.stackSize-1)%2)+1), 11, 1, 18, trigger, hintsOnly); + structureBuild_EM("tier" + (((trigger.stackSize - 1) % 2) + 1), 11, 1, 18, trigger, hintsOnly); } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Centrifuge.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Centrifuge.java index e6e618a31c..9b02645de6 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Centrifuge.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Centrifuge.java @@ -1,5 +1,11 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.em_machine; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.github.technus.tectech.util.DoubleCount.*; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; @@ -8,15 +14,8 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.INameFunction; import com.github.technus.tectech.thing.metaTileEntity.multi.base.IStatusFunction; import com.github.technus.tectech.thing.metaTileEntity.multi.base.MultiblockControl; import com.github.technus.tectech.thing.metaTileEntity.multi.base.Parameters; - import java.util.Arrays; -import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.github.technus.tectech.util.DoubleCount.*; - /** * Created by danie_000 on 24.12.2017. */ @@ -28,55 +27,76 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav private final double maxForce; private final double maxCapacity; private Parameters.Group.ParameterIn settingRPM, settingFraction; - private final static INameFunction rpmName= (gt_metaTileEntity_em_machine, iParameter) -> "RPM Setting"; - private final IStatusFunction rpmStatus= (gt_metaTileEntity_em_machine, iParameter) -> { - double v=iParameter.get(); - if(Double.isNaN(v)){ - return STATUS_WRONG; - } - if (v <=0) { - return STATUS_TOO_LOW; - }else if (v>maxRPM){ - return STATUS_TOO_HIGH; - } - return STATUS_OK; - }; - private final static INameFunction fractionName= (gt_metaTileEntity_em_machine, iParameter) -> "Fraction Count"; - private static final IStatusFunction fractionStatus= (gt_metaTileEntity_em_machine, iParameter) -> { - double v=iParameter.get(); - if(Double.isNaN(v)){ - return STATUS_WRONG; - } - v=(int)v; - if (v <= 1) { - return STATUS_TOO_LOW; - }else if (v>6){ - return STATUS_TOO_HIGH; - } - return STATUS_OK; - }; - //private final static String[] DESCRIPTION_O =new String[]{"RPM Setting","RCF Setting","Radius [mm]","Max RPM","Max Force [eV/c^2 * m/s]","Max Capacity [eV/c^2]","Max Power Usage[EU/t]","Max Recipe Rime [tick]"}; - - private static final double[/*tier+5*/][/*outputHatches+2*/] MIXING_FACTORS =new double[][]{ - {.45,.85,.95,1,1,}, - {.4 ,.75,.9,.95,1,}, - {.35,.45,.75,.9,.95,}, - {.25,.3,.45,.75,.9,}, - {.2,.25,.3,.45,.75,}, - {.1,.15,.2,.3,.45,}, - {.05,.1,.15,.2,.25,}, - {.01,.05,.1,.15,.2,}, + private static final INameFunction rpmName = + (gt_metaTileEntity_em_machine, iParameter) -> "RPM Setting"; + private final IStatusFunction rpmStatus = + (gt_metaTileEntity_em_machine, iParameter) -> { + double v = iParameter.get(); + if (Double.isNaN(v)) { + return STATUS_WRONG; + } + if (v <= 0) { + return STATUS_TOO_LOW; + } else if (v > maxRPM) { + return STATUS_TOO_HIGH; + } + return STATUS_OK; + }; + private static final INameFunction fractionName = + (gt_metaTileEntity_em_machine, iParameter) -> "Fraction Count"; + private static final IStatusFunction fractionStatus = + (gt_metaTileEntity_em_machine, iParameter) -> { + double v = iParameter.get(); + if (Double.isNaN(v)) { + return STATUS_WRONG; + } + v = (int) v; + if (v <= 1) { + return STATUS_TOO_LOW; + } else if (v > 6) { + return STATUS_TOO_HIGH; + } + return STATUS_OK; + }; + // private final static String[] DESCRIPTION_O =new String[]{"RPM Setting","RCF Setting","Radius [mm]","Max + // RPM","Max Force [eV/c^2 * m/s]","Max Capacity [eV/c^2]","Max Power Usage[EU/t]","Max Recipe Rime [tick]"}; + + private static final double[ /*tier+5*/][ /*outputHatches+2*/] MIXING_FACTORS = new double[][] { + { + .45, .85, .95, 1, 1, + }, + { + .4, .75, .9, .95, 1, + }, + { + .35, .45, .75, .9, .95, + }, + { + .25, .3, .45, .75, .9, + }, + { + .2, .25, .3, .45, .75, + }, + { + .1, .15, .2, .3, .45, + }, + { + .05, .1, .15, .2, .25, + }, + { + .01, .05, .1, .15, .2, + }, }; - //6 to 12 recommended + // 6 to 12 recommended public Behaviour_Centrifuge(int desiredTier) { tier = (byte) desiredTier; radius = 0.5D - (12D - tier) / 64D; maxRCF = Math.pow(Math.E, tier) * 12D; maxRPM = Math.sqrt(maxRCF / (0.001118D * radius)); double maxSafeMass = EMAtomDefinition.getSomethingHeavy().getMass() * (1 << tier); - maxForce = maxSafeMass * maxRCF;// (eV/c^2 * m/s) / g - maxCapacity = maxSafeMass * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * radius;// eV/c^2 + maxForce = maxSafeMass * maxRCF; // (eV/c^2 * m/s) / g + maxCapacity = maxSafeMass * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED * radius; // eV/c^2 } private double getRCF(double RPM) { @@ -84,26 +104,26 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav } private void addRandomly(EMInstanceStack me, EMInstanceStackMap[] toThis, int fractionCount) { - double amountPerFraction = div(me.getAmount(),fractionCount); - EMInstanceStack[] stacks = new EMInstanceStack[fractionCount]; + double amountPerFraction = div(me.getAmount(), fractionCount); + EMInstanceStack[] stacks = new EMInstanceStack[fractionCount]; for (int i = 0; i < fractionCount; i++) { stacks[i] = me.clone(); stacks[i].setAmount(amountPerFraction); toThis[i].putReplace(stacks[i]); } - //int remainingAmount = (int) (me.amount % fractionCount); - //while (remainingAmount > 0) { + // int remainingAmount = (int) (me.amount % fractionCount); + // while (remainingAmount > 0) { // int amountToAdd = TecTech.RANDOM.nextInt(remainingAmount) + 1; // stacks[TecTech.RANDOM.nextInt(fractionCount)].amount += amountToAdd; // remainingAmount -= amountToAdd; - //} + // } } @Override public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) { - Parameters.Group hatch1=parameters.getGroup(7); - settingRPM=hatch1.makeInParameter(0,0,rpmName,rpmStatus); - settingFraction=hatch1.makeInParameter(1,2,fractionName,fractionStatus); + Parameters.Group hatch1 = parameters.getGroup(7); + settingRPM = hatch1.makeInParameter(0, 0, rpmName, rpmStatus); + settingFraction = hatch1.makeInParameter(1, 2, fractionName, fractionStatus); } @Override @@ -112,9 +132,10 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav } @Override - public MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { + public MultiblockControl process( + EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { EMInstanceStackMap input = inputs[0]; - if (input == null || input.isEmpty()) return null;//nothing in only valid input + if (input == null || input.isEmpty()) return null; // nothing in only valid input EMInstanceStack[] stacks = input.valuesToArray(); @@ -124,9 +145,9 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav } double excessMass = 0; while (inputMass > maxCapacity) { - EMInstanceStack randomStack = stacks[TecTech.RANDOM.nextInt(stacks.length)]; - double amountToRemove = TecTech.RANDOM.nextDouble()/10D * randomStack.getAmount(); - randomStack.setAmount(sub(randomStack.getAmount(),amountToRemove));//mutates the parent InstanceStackMap + EMInstanceStack randomStack = stacks[TecTech.RANDOM.nextInt(stacks.length)]; + double amountToRemove = TecTech.RANDOM.nextDouble() / 10D * randomStack.getAmount(); + randomStack.setAmount(sub(randomStack.getAmount(), amountToRemove)); // mutates the parent InstanceStackMap if (randomStack.isInvalidAmount()) { input.removeKey(randomStack.getDefinition()); stacks = input.valuesToArray(); @@ -139,30 +160,29 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav inputMass = Math.abs(input.getMass()); double RCF = getRCF(settingRPM.get()); - if (inputMass * RCF > maxForce) return new MultiblockControl<>(excessMass);//AND THEN IT EXPLODES + if (inputMass * RCF > maxForce) return new MultiblockControl<>(excessMass); // AND THEN IT EXPLODES // how many output hatches to use - int fractionCount = (int) settingFraction.get(); - EMInstanceStackMap[] outputs = new EMInstanceStackMap[fractionCount]; + int fractionCount = (int) settingFraction.get(); + EMInstanceStackMap[] outputs = new EMInstanceStackMap[fractionCount]; for (int i = 0; i < fractionCount; i++) { outputs[i] = new EMInstanceStackMap(); } - //mixing factor... - double mixingFactor=Math.min(1d-(RCF/maxRCF)*(1d-MIXING_FACTORS[tier-5][fractionCount-2]),1); - if(DEBUG_MODE){ - TecTech.LOGGER.info("mixingFactor "+mixingFactor); + // mixing factor... + double mixingFactor = Math.min(1d - (RCF / maxRCF) * (1d - MIXING_FACTORS[tier - 5][fractionCount - 2]), 1); + if (DEBUG_MODE) { + TecTech.LOGGER.info("mixingFactor " + mixingFactor); } int mEut = (int) (Math.pow(settingRPM.get() / maxRPM, 3D) * V[tier]); mEut = Math.max(mEut, 512); mEut = -mEut; int mTicks = (int) (20 * (inputMass / maxCapacity) * (fractionCount - 1)); - mTicks=Math.max(mTicks,20); - + mTicks = Math.max(mTicks, 20); - //take all from hatch handler and put into new map - this takes from hatch to inner data storage - stacks = input.takeAll().valuesToArray();//cleanup stacks + // take all from hatch handler and put into new map - this takes from hatch to inner data storage + stacks = input.takeAll().valuesToArray(); // cleanup stacks if (stacks.length > 1) { Arrays.sort(stacks, (o1, o2) -> { double m1 = o1.getDefinition().getMass(); @@ -172,23 +192,23 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav return o1.compareTo(o2); }); - double absMassPerOutput = 0;//"volume" + double absMassPerOutput = 0; // "volume" for (EMInstanceStack stack : stacks) { - double tempMass=Math.abs(stack.getMass()); - if(tempMass!=0) { + double tempMass = Math.abs(stack.getMass()); + if (tempMass != 0) { double amount = stack.getAmount(); - stack.setAmount(mul(stack.getAmount(),mixingFactor)); + stack.setAmount(mul(stack.getAmount(), mixingFactor)); addRandomly(stack, outputs, fractionCount); stack.setAmount(sub(amount, stack.getAmount())); absMassPerOutput += tempMass; } } - //if(DEBUG_MODE){ + // if(DEBUG_MODE){ // TecTech.LOGGER.info("absMass "+absMassPerOutput); - //} - absMassPerOutput = div(absMassPerOutput,fractionCount); - if(DEBUG_MODE){ - TecTech.LOGGER.info("absMassPerOutput "+absMassPerOutput); + // } + absMassPerOutput = div(absMassPerOutput, fractionCount); + if (DEBUG_MODE) { + TecTech.LOGGER.info("absMassPerOutput " + absMassPerOutput); } nextFraction: @@ -197,37 +217,41 @@ public class Behaviour_Centrifuge implements GT_MetaTileEntity_EM_machine.IBehav for (int stackNo = 0; stackNo < stacks.length; stackNo++) { if (stacks[stackNo] != null) { double stackMass = Math.abs(stacks[stackNo].getMass()); - double amount = div(remaining,Math.abs(stacks[stackNo].getDefinition().getMass())); - //if(DEBUG_MODE){ + double amount = div( + remaining, + Math.abs(stacks[stackNo].getDefinition().getMass())); + // if(DEBUG_MODE){ // TecTech.LOGGER.info("stackMass "+stackMass); // TecTech.LOGGER.info("defMass "+stacks[stackNo].definition.getMass()); // TecTech.LOGGER.info("remaining "+remaining); // TecTech.LOGGER.info("amountToMoveAvailable "+amount+"/"+stacks[stackNo].amount); - //} + // } if (stackMass == 0) { addRandomly(stacks[stackNo], outputs, fractionCount); stacks[stackNo] = null; } else if (amount >= stacks[stackNo].getAmount()) { - remaining= sub(remaining,stackMass); + remaining = sub(remaining, stackMass); outputs[fraction].putUnify(stacks[stackNo]); stacks[stackNo] = null; } else if (amount > 0) { - remaining= sub(remaining, mul(amount, stacks[stackNo].getDefinition().getMass())); + remaining = sub( + remaining, + mul(amount, stacks[stackNo].getDefinition().getMass())); EMInstanceStack clone = stacks[stackNo].clone(); clone.setAmount(amount); outputs[fraction].putUnify(clone); - stacks[stackNo].setAmount(sub(stacks[stackNo].getAmount(),amount)); - //if(DEBUG_MODE){ + stacks[stackNo].setAmount(sub(stacks[stackNo].getAmount(), amount)); + // if(DEBUG_MODE){ // TecTech.LOGGER.info("remainingAfter "+remaining); // TecTech.LOGGER.info("amountCloneAfter "+clone.amount+"/"+stacks[stackNo].amount); - //} + // } } else { continue nextFraction; } } } } - //add remaining + // add remaining for (EMInstanceStack stack : stacks) { if (stack != null) { outputs[fractionCount - 1].putUnify(stack); diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Electrolyzer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Electrolyzer.java index 4c95c2acd7..0bff2797a3 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Electrolyzer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Electrolyzer.java @@ -9,14 +9,13 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.Parameters; */ public class Behaviour_Electrolyzer implements GT_MetaTileEntity_EM_machine.IBehaviour { final int tier; - public Behaviour_Electrolyzer(int tier){ - this.tier=tier; + + public Behaviour_Electrolyzer(int tier) { + this.tier = tier; } @Override - public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) { - - } + public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) {} @Override public boolean checkParametersInAndSetStatuses(GT_MetaTileEntity_EM_machine te, Parameters parameters) { @@ -24,7 +23,8 @@ public class Behaviour_Electrolyzer implements GT_MetaTileEntity_EM_machine.IBeh } @Override - public MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { + public MultiblockControl process( + EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { return null; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_ElectromagneticSeparator.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_ElectromagneticSeparator.java index 3d1259f808..bd8d0d0b7a 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_ElectromagneticSeparator.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_ElectromagneticSeparator.java @@ -1,5 +1,11 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.em_machine; +import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.github.technus.tectech.util.CommonValues.V; +import static com.github.technus.tectech.util.DoubleCount.mul; +import static com.github.technus.tectech.util.DoubleCount.sub; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; @@ -9,143 +15,150 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.IStatusFunctio import com.github.technus.tectech.thing.metaTileEntity.multi.base.MultiblockControl; import com.github.technus.tectech.thing.metaTileEntity.multi.base.Parameters; -import static com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry.EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.github.technus.tectech.util.CommonValues.V; -import static com.github.technus.tectech.util.DoubleCount.mul; -import static com.github.technus.tectech.util.DoubleCount.sub; - /** * Created by danie_000 on 24.12.2017. */ public class Behaviour_ElectromagneticSeparator implements GT_MetaTileEntity_EM_machine.IBehaviour { private final byte tier; private int ticks; - private byte precisionFull,precisionMinimal; + private byte precisionFull, precisionMinimal; private double maxCapacity; private double maxCharge; private int offsetMax; - private Parameters.Group.ParameterIn fullSetting,minimalSetting,offsetSetting; - private final static INameFunction fullName= (gt_metaTileEntity_em_machine, iParameter) -> "Full Precision Input [e/3]"; - private final IStatusFunction fullStatus= (gt_metaTileEntity_em_machine, iParameter) -> { - double v=iParameter.get(); - if(Double.isNaN(v)){ - return STATUS_WRONG; - } - v=(int)v; - if(Double.isInfinite(v) && v>0) { - return STATUS_TOO_HIGH; - }else if(v>precisionFull){ - return STATUS_HIGH; - }else if(v minimalName= (gt_metaTileEntity_em_machine, iParameter) -> "Minimal Precision Input [e/3]"; - private final IStatusFunction minimalStatus= (gt_metaTileEntity_em_machine, iParameter) -> { - double minimal=iParameter.get(); - double full=fullSetting.get(); - if(Double.isInfinite(minimal) && minimal>0) { - return STATUS_TOO_HIGH; - }else if(minimal>precisionMinimal){ - if(minimal>full){ - return STATUS_TOO_HIGH; - }else { - return STATUS_HIGH; - } - }else if(minimal==precisionMinimal){ - if(minimal>full){ - return STATUS_TOO_HIGH; - }else { + private Parameters.Group.ParameterIn fullSetting, minimalSetting, offsetSetting; + private static final INameFunction fullName = + (gt_metaTileEntity_em_machine, iParameter) -> "Full Precision Input [e/3]"; + private final IStatusFunction fullStatus = + (gt_metaTileEntity_em_machine, iParameter) -> { + double v = iParameter.get(); + if (Double.isNaN(v)) { + return STATUS_WRONG; + } + v = (int) v; + if (Double.isInfinite(v) && v > 0) { + return STATUS_TOO_HIGH; + } else if (v > precisionFull) { + return STATUS_HIGH; + } else if (v < precisionFull) { + return STATUS_TOO_LOW; + } return STATUS_OK; - } - }else if(minimal offsetName= (gt_metaTileEntity_em_machine, iParameter) -> "Offset Input [e/3]"; - private final IStatusFunction offsetStatus= (gt_metaTileEntity_em_machine, iParameter) -> { - double offset=iParameter.get(); - if(offset>offsetMax){ - return STATUS_TOO_HIGH; - }else if(offset>0){ - return STATUS_HIGH; - }else if(offset==0){ - return STATUS_OK; - }else if(offset>=-offsetMax){ - return STATUS_LOW; - }else if(offset<-offsetMax){ - return STATUS_TOO_LOW; - }else { - return STATUS_WRONG; - } - }; - //private final static String[] DESCRIPTION_O =new String[]{"Full Precision Limit [e/3]","Minimal Precision Limit [e/3]","Offset Limit [e/3]",null,"Max Charge [e/3]","Max Capacity [eV/c^2]","Max Power Usage[EU/t]","Max Recipe Rime [tick]"}; - - public Behaviour_ElectromagneticSeparator(int desiredTier){ - tier=(byte) desiredTier; - ticks =Math.max(20,(1<<(12-desiredTier))*20); - maxCapacity= EMAtomDefinition.getSomethingHeavy().getMass()*(2< minimalName = + (gt_metaTileEntity_em_machine, iParameter) -> "Minimal Precision Input [e/3]"; + private final IStatusFunction minimalStatus = + (gt_metaTileEntity_em_machine, iParameter) -> { + double minimal = iParameter.get(); + double full = fullSetting.get(); + if (Double.isInfinite(minimal) && minimal > 0) { + return STATUS_TOO_HIGH; + } else if (minimal > precisionMinimal) { + if (minimal > full) { + return STATUS_TOO_HIGH; + } else { + return STATUS_HIGH; + } + } else if (minimal == precisionMinimal) { + if (minimal > full) { + return STATUS_TOO_HIGH; + } else { + return STATUS_OK; + } + } else if (minimal < precisionMinimal) { + return STATUS_TOO_LOW; + } else { + return STATUS_WRONG; + } + }; + private static final INameFunction offsetName = + (gt_metaTileEntity_em_machine, iParameter) -> "Offset Input [e/3]"; + private final IStatusFunction offsetStatus = + (gt_metaTileEntity_em_machine, iParameter) -> { + double offset = iParameter.get(); + if (offset > offsetMax) { + return STATUS_TOO_HIGH; + } else if (offset > 0) { + return STATUS_HIGH; + } else if (offset == 0) { + return STATUS_OK; + } else if (offset >= -offsetMax) { + return STATUS_LOW; + } else if (offset < -offsetMax) { + return STATUS_TOO_LOW; + } else { + return STATUS_WRONG; + } + }; + // private final static String[] DESCRIPTION_O =new String[]{"Full Precision Limit [e/3]","Minimal Precision Limit + // [e/3]","Offset Limit [e/3]",null,"Max Charge [e/3]","Max Capacity [eV/c^2]","Max Power Usage[EU/t]","Max Recipe + // Rime [tick]"}; + + public Behaviour_ElectromagneticSeparator(int desiredTier) { + tier = (byte) desiredTier; + ticks = Math.max(20, (1 << (12 - desiredTier)) * 20); + maxCapacity = + EMAtomDefinition.getSomethingHeavy().getMass() * (2 << tier) * EM_COUNT_PER_MATERIAL_AMOUNT_DIMINISHED; + maxCharge = 144D * (1 << (tier - 5)); + switch (tier) { case 12: - precisionFull=1; - precisionMinimal =1; + precisionFull = 1; + precisionMinimal = 1; break; case 11: - precisionFull=2; - precisionMinimal =1; + precisionFull = 2; + precisionMinimal = 1; break; case 10: - precisionFull=3; - precisionMinimal =1; + precisionFull = 3; + precisionMinimal = 1; break; case 9: - precisionFull=3; - precisionMinimal =2; + precisionFull = 3; + precisionMinimal = 2; break; case 8: - precisionFull=3; - precisionMinimal =3; + precisionFull = 3; + precisionMinimal = 3; break; case 7: - precisionFull=6; - precisionMinimal =3; + precisionFull = 6; + precisionMinimal = 3; break; case 6: - precisionFull=12; - precisionMinimal =3; + precisionFull = 12; + precisionMinimal = 3; break; case 5: - precisionFull=24; - precisionMinimal =6; + precisionFull = 24; + precisionMinimal = 6; break; - default: precisionFull= precisionMinimal =Byte.MAX_VALUE; + default: + precisionFull = precisionMinimal = Byte.MAX_VALUE; } - offsetMax=1<<((tier-8)<<1); + offsetMax = 1 << ((tier - 8) << 1); } @Override public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) { - Parameters.Group hatch1=parameters.getGroup(7); - fullSetting=hatch1.makeInParameter(0,0,fullName,fullStatus); - minimalSetting=hatch1.makeInParameter(1,2,minimalName,minimalStatus); - Parameters.Group hatch2=parameters.getGroup(8); - offsetSetting=hatch2.makeInParameter(0,0,offsetName,offsetStatus); + Parameters.Group hatch1 = parameters.getGroup(7); + fullSetting = hatch1.makeInParameter(0, 0, fullName, fullStatus); + minimalSetting = hatch1.makeInParameter(1, 2, minimalName, minimalStatus); + Parameters.Group hatch2 = parameters.getGroup(8); + offsetSetting = hatch2.makeInParameter(0, 0, offsetName, offsetStatus); } @Override public boolean checkParametersInAndSetStatuses(GT_MetaTileEntity_EM_machine te, Parameters parameters) { - return fullSetting.getStatus(true).isOk && minimalSetting.getStatus(true).isOk && offsetSetting.getStatus(true).isOk; + return fullSetting.getStatus(true).isOk + && minimalSetting.getStatus(true).isOk + && offsetSetting.getStatus(true).isOk; } @Override - public MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { + public MultiblockControl process( + EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { EMInstanceStackMap input = inputs[0]; - if (input == null || input.isEmpty()) return null;//nothing in only valid input + if (input == null || input.isEmpty()) return null; // nothing in only valid input EMInstanceStack[] stacks = input.valuesToArray(); @@ -155,9 +168,9 @@ public class Behaviour_ElectromagneticSeparator implements GT_MetaTileEntity_EM_ } float excessMass = 0; while (inputMass > maxCapacity) { - EMInstanceStack randomStack = stacks[TecTech.RANDOM.nextInt(stacks.length)]; - double amountToRemove = TecTech.RANDOM.nextDouble()/10D * randomStack.getAmount(); - randomStack.setAmount(sub(randomStack.getAmount(),amountToRemove));//mutates the parent InstanceStackMap + EMInstanceStack randomStack = stacks[TecTech.RANDOM.nextInt(stacks.length)]; + double amountToRemove = TecTech.RANDOM.nextDouble() / 10D * randomStack.getAmount(); + randomStack.setAmount(sub(randomStack.getAmount(), amountToRemove)); // mutates the parent InstanceStackMap if (randomStack.isInvalidAmount()) { input.removeKey(randomStack.getDefinition()); } @@ -166,36 +179,38 @@ public class Behaviour_ElectromagneticSeparator implements GT_MetaTileEntity_EM_ inputMass -= mass; } - double totalCharge=Math.abs(input.getCharge()); - if (totalCharge>maxCharge) return new MultiblockControl<>(excessMass);//AND THEN IT EXPLODES + double totalCharge = Math.abs(input.getCharge()); + if (totalCharge > maxCharge) return new MultiblockControl<>(excessMass); // AND THEN IT EXPLODES - int mEut=(int)((totalCharge/ maxCharge)*V[tier]); + int mEut = (int) ((totalCharge / maxCharge) * V[tier]); mEut = Math.max(mEut, 512); - int mTicks=(int)(ticks*(inputMass/maxCapacity)); - mTicks=Math.max(mTicks,20); + int mTicks = (int) (ticks * (inputMass / maxCapacity)); + mTicks = Math.max(mTicks, 20); EMInstanceStackMap[] outputs = new EMInstanceStackMap[3]; for (int i = 0; i < 3; i++) { outputs[i] = new EMInstanceStackMap(); } - double offsetIn=offsetSetting.get(); - double precisionFullIn=fullSetting.get(); - double precisionMinimalIn=minimalSetting.get(); - double levelsCountPlus1=precisionFullIn-precisionMinimalIn+1; + double offsetIn = offsetSetting.get(); + double precisionFullIn = fullSetting.get(); + double precisionMinimalIn = minimalSetting.get(); + double levelsCountPlus1 = precisionFullIn - precisionMinimalIn + 1; - //take all from hatch handler and put into new map - this takes from hatch to inner data storage - stacks = input.takeAll().valuesToArray();//cleanup stacks - for(EMInstanceStack stack:stacks){ - double charge= stack.getDefinition().getCharge()-offsetIn; - if(charge-precisionMinimalIn){ + // take all from hatch handler and put into new map - this takes from hatch to inner data storage + stacks = input.takeAll().valuesToArray(); // cleanup stacks + for (EMInstanceStack stack : stacks) { + double charge = stack.getDefinition().getCharge() - offsetIn; + if (charge < precisionMinimalIn && charge > -precisionMinimalIn) { outputs[1].putReplace(stack); - }else if(charge>=precisionFullIn){ + } else if (charge >= precisionFullIn) { outputs[2].putReplace(stack); - }else if(charge<=-precisionFullIn){ + } else if (charge <= -precisionFullIn) { outputs[0].putReplace(stack); - }else{ - double amount=mul(stack.getAmount(),(Math.abs(charge)-precisionMinimalIn+1D)/levelsCountPlus1);//todo check + } else { + double amount = mul( + stack.getAmount(), + (Math.abs(charge) - precisionMinimalIn + 1D) / levelsCountPlus1); // todo check if (amount < stack.getAmount()) { EMInstanceStack clone = stack.clone(); clone.setAmount(sub(clone.getAmount(), amount)); @@ -203,14 +218,15 @@ public class Behaviour_ElectromagneticSeparator implements GT_MetaTileEntity_EM_ stack.setAmount(amount); } - if(charge>0){ + if (charge > 0) { outputs[2].putReplace(stack); - }else { + } else { outputs[0].putReplace(stack); } } } - return new MultiblockControl<>(outputs, mEut, 1+((int)Math.abs(offsetIn))/3, 0, 10000, mTicks, 0, excessMass); + return new MultiblockControl<>( + outputs, mEut, 1 + ((int) Math.abs(offsetIn)) / 3, 0, 10000, mTicks, 0, excessMass); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_PrecisionLaser.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_PrecisionLaser.java index 7d472de847..e8049d5052 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_PrecisionLaser.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_PrecisionLaser.java @@ -9,14 +9,13 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.Parameters; */ public class Behaviour_PrecisionLaser implements GT_MetaTileEntity_EM_machine.IBehaviour { final int tier; - public Behaviour_PrecisionLaser(int tier){ - this.tier=tier; + + public Behaviour_PrecisionLaser(int tier) { + this.tier = tier; } @Override - public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) { - - } + public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) {} @Override public boolean checkParametersInAndSetStatuses(GT_MetaTileEntity_EM_machine te, Parameters parameters) { @@ -24,7 +23,8 @@ public class Behaviour_PrecisionLaser implements GT_MetaTileEntity_EM_machine.IB } @Override - public MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { + public MultiblockControl process( + EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { return null; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Recycler.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Recycler.java index 05050a3c66..5c0cd5acc0 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Recycler.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Recycler.java @@ -1,20 +1,21 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.em_machine; +import static com.github.technus.tectech.util.CommonValues.V; + import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.thing.metaTileEntity.multi.base.MultiblockControl; import com.github.technus.tectech.thing.metaTileEntity.multi.base.Parameters; -import static com.github.technus.tectech.util.CommonValues.V; - /** * Created by danie_000 on 24.12.2017. */ public class Behaviour_Recycler implements GT_MetaTileEntity_EM_machine.IBehaviour { private final int tier; private final double coeff; - public Behaviour_Recycler(int tier){ - this.tier=tier; - coeff=(1D/Math.pow(2D,tier-4)); + + public Behaviour_Recycler(int tier) { + this.tier = tier; + coeff = (1D / Math.pow(2D, tier - 4)); } @Override @@ -26,14 +27,14 @@ public class Behaviour_Recycler implements GT_MetaTileEntity_EM_machine.IBehavio } @Override - public MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { - double mass=0; + public MultiblockControl process( + EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { + double mass = 0; for (EMInstanceStackMap input : inputs) { if (input != null) { mass += input.getMass(); } } - return new MultiblockControl<>(null,(int)V[tier], 4, - 0,10000,20, 0,mass*coeff); + return new MultiblockControl<>(null, (int) V[tier], 4, 0, 10000, 20, 0, mass * coeff); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Scanner.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Scanner.java index fa517c73d4..873e5d7615 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Scanner.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Scanner.java @@ -9,14 +9,13 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.base.Parameters; */ public class Behaviour_Scanner implements GT_MetaTileEntity_EM_machine.IBehaviour { final int tier; - public Behaviour_Scanner(int tier){ - this.tier=tier; + + public Behaviour_Scanner(int tier) { + this.tier = tier; } @Override - public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) { - - } + public void parametersInstantiation(GT_MetaTileEntity_EM_machine te, Parameters parameters) {} @Override public boolean checkParametersInAndSetStatuses(GT_MetaTileEntity_EM_machine te, Parameters parameters) { @@ -24,7 +23,8 @@ public class Behaviour_Scanner implements GT_MetaTileEntity_EM_machine.IBehaviou } @Override - public MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { + public MultiblockControl process( + EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters) { return null; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/GT_MetaTileEntity_EM_machine.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/GT_MetaTileEntity_EM_machine.java index e1ca5d6d9e..2078a2e5ab 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/GT_MetaTileEntity_EM_machine.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/GT_MetaTileEntity_EM_machine.java @@ -1,5 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.em_machine; +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.thing.block.QuantumGlassBlock; @@ -12,6 +20,8 @@ import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import java.util.HashMap; +import java.util.function.Supplier; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.init.Blocks; @@ -20,82 +30,87 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; -import java.util.HashMap; -import java.util.function.Supplier; - -import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; -import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; -import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - //region variables + // region variables public static final String machine = "EM Machinery"; - private ItemStack loadedMachine; + private ItemStack loadedMachine; private IBehaviour currentBehaviour; - //endregion - - //region structure - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - translateToLocal("gt.blockmachines.multimachine.em.processing.hint.0"),//1 - Classic Hatches or High Power Casing - translateToLocal("gt.blockmachines.multimachine.em.processing.hint.1"),//2 - Elemental Hatches or Molecular Casing + // endregion + + // region structure + private static final String[] description = new String[] { + EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", + translateToLocal( + "gt.blockmachines.multimachine.em.processing.hint.0"), // 1 - Classic Hatches or High Power Casing + translateToLocal( + "gt.blockmachines.multimachine.em.processing.hint.1"), // 2 - Elemental Hatches or Molecular Casing }; - private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition - .builder() - .addShape("main", transpose(new String[][]{ - {" A ", " AAA ", " EBE ", " ECE ", " EBE ", " AAA ", " A "}, - {" DDD ", "AAAAA", "E---E", "E---E", "E---E", "AAAAA", " FFF "}, - {"AD-DA", "AA~AA", "B---B", "C- -C", "B---B", "AA-AA", "AFFFA"}, - {" DDD ", "AAAAA", "E---E", "E---E", "E---E", "AAAAA", " FFF "}, - {" A ", " AAA ", " EBE ", " ECE ", " EBE ", " AAA ", " A "} - })) - .addElement('A', ofBlock(sBlockCasingsTT, 4)) - .addElement('B', ofBlock(sBlockCasingsTT, 5)) - .addElement('C', ofBlock(sBlockCasingsTT, 6)) - .addElement('E', ofBlock(QuantumGlassBlock.INSTANCE, 0)) - .addElement('D', ofHatchAdderOptional(GT_MetaTileEntity_EM_machine::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) - .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_machine::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) - .build(); - //endregion - - //region parameters - protected Parameters.Group.ParameterIn[] inputMux; - protected Parameters.Group.ParameterIn[] outputMux; - private static final IStatusFunction SRC_STATUS = - (base, p) -> { - double v = p.get(); - if (Double.isNaN(v)) return STATUS_WRONG; - v = (int) v; - if (v < 0) return STATUS_TOO_LOW; - if (v == 0) return STATUS_NEUTRAL; - if (v >= base.eInputHatches.size()) return STATUS_TOO_HIGH; - return STATUS_OK; - }; - private static final IStatusFunction DST_STATUS = - (base, p) -> { - if (base.inputMux[p.hatchId()].getStatus(false) == STATUS_OK) { - double v = p.get(); - if (Double.isNaN(v)) return STATUS_WRONG; - v = (int) v; - if (v < 0) return STATUS_TOO_LOW; - if (v == 0) return STATUS_LOW; - if (v >= base.eInputHatches.size()) return STATUS_TOO_HIGH; - return STATUS_OK; - } - return STATUS_NEUTRAL; - }; - private static final INameFunction ROUTE_NAME = - (base, p) -> (p.parameterId() == 0 ? translateToLocal("tt.keyword.Source") + " " : translateToLocal("tt.keyword.Destination") + " ") + p.hatchId(); - //endregion + private static final IStructureDefinition STRUCTURE_DEFINITION = + IStructureDefinition.builder() + .addShape("main", transpose(new String[][] { + {" A ", " AAA ", " EBE ", " ECE ", " EBE ", " AAA ", " A "}, + {" DDD ", "AAAAA", "E---E", "E---E", "E---E", "AAAAA", " FFF "}, + {"AD-DA", "AA~AA", "B---B", "C- -C", "B---B", "AA-AA", "AFFFA"}, + {" DDD ", "AAAAA", "E---E", "E---E", "E---E", "AAAAA", " FFF "}, + {" A ", " AAA ", " EBE ", " ECE ", " EBE ", " AAA ", " A "} + })) + .addElement('A', ofBlock(sBlockCasingsTT, 4)) + .addElement('B', ofBlock(sBlockCasingsTT, 5)) + .addElement('C', ofBlock(sBlockCasingsTT, 6)) + .addElement('E', ofBlock(QuantumGlassBlock.INSTANCE, 0)) + .addElement( + 'D', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_machine::addClassicToMachineList, + textureOffset, + 1, + sBlockCasingsTT, + 0)) + .addElement( + 'F', + ofHatchAdderOptional( + GT_MetaTileEntity_EM_machine::addElementalToMachineList, + textureOffset + 4, + 2, + sBlockCasingsTT, + 4)) + .build(); + // endregion + + // region parameters + protected Parameters.Group.ParameterIn[] inputMux; + protected Parameters.Group.ParameterIn[] outputMux; + private static final IStatusFunction SRC_STATUS = (base, p) -> { + double v = p.get(); + if (Double.isNaN(v)) return STATUS_WRONG; + v = (int) v; + if (v < 0) return STATUS_TOO_LOW; + if (v == 0) return STATUS_NEUTRAL; + if (v >= base.eInputHatches.size()) return STATUS_TOO_HIGH; + return STATUS_OK; + }; + private static final IStatusFunction DST_STATUS = (base, p) -> { + if (base.inputMux[p.hatchId()].getStatus(false) == STATUS_OK) { + double v = p.get(); + if (Double.isNaN(v)) return STATUS_WRONG; + v = (int) v; + if (v < 0) return STATUS_TOO_LOW; + if (v == 0) return STATUS_LOW; + if (v >= base.eInputHatches.size()) return STATUS_TOO_HIGH; + return STATUS_OK; + } + return STATUS_NEUTRAL; + }; + private static final INameFunction ROUTE_NAME = (base, p) -> (p.parameterId() == 0 + ? translateToLocal("tt.keyword.Source") + " " + : translateToLocal("tt.keyword.Destination") + " ") + + p.hatchId(); + // endregion public GT_MetaTileEntity_EM_machine(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -111,7 +126,8 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa return false; } loadedMachine = newMachine; - Supplier behaviourSupplier = GT_MetaTileEntity_EM_machine.BEHAVIOUR_MAP.get(new TT_Utility.ItemStack_NoNBT(newMachine)); + Supplier behaviourSupplier = + GT_MetaTileEntity_EM_machine.BEHAVIOUR_MAP.get(new TT_Utility.ItemStack_NoNBT(newMachine)); if (currentBehaviour == null && behaviourSupplier == null) { return false; } @@ -137,7 +153,8 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa public static void registerBehaviour(Supplier behaviour, ItemStack is) { BEHAVIOUR_MAP.put(new TT_Utility.ItemStack_NoNBT(is), behaviour); - TecTech.LOGGER.info("Registered EM machine behaviour " + behaviour.get().getClass().getSimpleName() + ' ' + new TT_Utility.ItemStack_NoNBT(is).toString()); + TecTech.LOGGER.info("Registered EM machine behaviour " + + behaviour.get().getClass().getSimpleName() + ' ' + new TT_Utility.ItemStack_NoNBT(is).toString()); } public interface IBehaviour { @@ -165,15 +182,16 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa * @param parameters array passed from previous method! * @return null if recipe should not start, control object to set machine state and start recipe */ - MultiblockControl process(EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters); + MultiblockControl process( + EMInstanceStackMap[] inputs, GT_MetaTileEntity_EM_machine te, Parameters parameters); } private void quantumStuff(boolean shouldIExist) { IGregTechTileEntity base = getBaseMetaTileEntity(); if (base != null && base.getWorld() != null) { - int xDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetX * 2 + base.getXCoord(); - int yDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetY * 2 + base.getYCoord(); - int zDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetZ * 2 + base.getZCoord(); + int xDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetX * 2 + base.getXCoord(); + int yDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetY * 2 + base.getYCoord(); + int zDir = ForgeDirection.getOrientation(base.getBackFacing()).offsetZ * 2 + base.getZCoord(); Block block = base.getWorld().getBlock(xDir, yDir, zDir); if (shouldIExist) { if (block != null && block.getMaterial() == Material.air) { @@ -227,15 +245,28 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa @Override public GT_Multiblock_Tooltip_Builder createTooltip() { final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType(translateToLocal("gt.blockmachines.multimachine.em.processing.name")) // Machine Type: Quantum Processing machine - .addInfo(translateToLocal("gt.blockmachines.multimachine.em.processing.desc.0")) // Controller block of the Quantum Processing machine + tt.addMachineType(translateToLocal( + "gt.blockmachines.multimachine.em.processing.name")) // Machine Type: Quantum Processing machine + .addInfo(translateToLocal( + "gt.blockmachines.multimachine.em.processing.desc.0")) // Controller block of the + // Quantum Processing machine .addInfo(translateToLocal("tt.keyword.Structure.StructureTooComplex")) // The structure is too complex! .addSeparator() .beginStructureBlock(5, 5, 7, false) - .addOtherStructurePart(translateToLocal("tt.keyword.Structure.Elemental"), translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), 2) // Elemental Hatch: Any Molecular Casing with 2 dots - .addOtherStructurePart(translateToLocal("tt.keyword.Parametrizer"), translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Parametrizer: Any High Power Casing - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Energy Hatch: Any High Power Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), 1) // Maintenance Hatch: Any High Power Casing + .addOtherStructurePart( + translateToLocal("tt.keyword.Structure.Elemental"), + translateToLocal("tt.keyword.Structure.AnyMolecularCasing2D"), + 2) // Elemental Hatch: Any Molecular Casing with 2 dots + .addOtherStructurePart( + translateToLocal("tt.keyword.Parametrizer"), + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Parametrizer: Any High Power Casing + .addEnergyHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Energy Hatch: Any High Power Casing + .addMaintenanceHatch( + translateToLocal("tt.keyword.Structure.AnyHighPowerCasing"), + 1) // Maintenance Hatch: Any High Power Casing .toolTipFinisher(CommonValues.TEC_MARK_EM); return tt; } @@ -292,7 +323,7 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa explodeMultiblock(); return false; } - //update other parameters + // update other parameters outputEM = control.getValue(); mEUt = control.getEUT(); eAmpereFlow = control.getAmperage(); @@ -329,7 +360,7 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa handles[i] = eOutputHatches.get(pointer).getContentHandler(); } } - //output + // output for (int i = 0; i < 6 && i < outputEM.length; i++) { if (handles[i] != null && outputEM[i] != null && outputEM[i].hasStacks()) { handles[i].putUnifyAll(outputEM[i]); @@ -337,7 +368,7 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa } } quantumStuff(false); - //all other are handled by base multi block code - cleaning is automatic + // all other are handled by base multi block code - cleaning is automatic } @Override @@ -355,9 +386,12 @@ public class GT_MetaTileEntity_EM_machine extends GT_MetaTileEntity_MultiblockBa setCurrentBehaviour(); } if (aBaseMetaTileEntity.isActive()) { - int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 2 + aBaseMetaTileEntity.getXCoord(); - int yDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetY * 2 + aBaseMetaTileEntity.getYCoord(); - int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 2 + aBaseMetaTileEntity.getZCoord(); + int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 2 + + aBaseMetaTileEntity.getXCoord(); + int yDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetY * 2 + + aBaseMetaTileEntity.getYCoord(); + int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 2 + + aBaseMetaTileEntity.getZCoord(); aBaseMetaTileEntity.getWorld().markBlockRangeForRenderUpdate(xDir, yDir, zDir, xDir, yDir, zDir); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java index 1cc3123528..2975d28fa5 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.pipe; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.mechanics.pipe.IActivePipe; @@ -28,15 +31,12 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 26.02.2017. */ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConnectsToDataPipe, IActivePipe { private static Textures.BlockIcons.CustomIcon EMpipe; - private static Textures.BlockIcons.CustomIcon EMbar,EMbarActive; + private static Textures.BlockIcons.CustomIcon EMbar, EMbarActive; public byte connectionCount = 0; private boolean active; @@ -64,8 +64,18 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aConnections, byte aColorIndex, boolean aConnected, boolean aRedstone) { - return new ITexture[]{new GT_RenderedTexture(EMpipe), new GT_RenderedTexture(getActive()?EMbarActive:EMbar, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA()))}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aConnections, + byte aColorIndex, + boolean aConnected, + boolean aRedstone) { + return new ITexture[] { + new GT_RenderedTexture(EMpipe), + new GT_RenderedTexture( + getActive() ? EMbarActive : EMbar, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA())) + }; } @Override @@ -80,12 +90,12 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn @Override public void loadNBTData(NBTTagCompound nbtTagCompound) { - active=nbtTagCompound.getBoolean("eActive"); + active = nbtTagCompound.getBoolean("eActive"); } @Override public void saveNBTData(NBTTagCompound nbtTagCompound) { - nbtTagCompound.setBoolean("eActive",active); + nbtTagCompound.setBoolean("eActive", active); } @Override @@ -100,18 +110,22 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.pipe.datastream.desc.0"),//Advanced data transmission - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.pipe.datastream.desc.1"),//Don't stare at the beam! - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.datastream.desc.2"),//Must be painted to work - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.datastream.desc.3")//Do not cross or split + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.pipe.datastream.desc.0"), // Advanced data transmission + EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockmachines.pipe.datastream.desc.1"), // Don't stare at the beam! + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.pipe.datastream.desc.2"), // Must be painted to work + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.pipe.datastream.desc.3") // Do not cross or split }; } @Override public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { - if(aBaseMetaTileEntity.isClientSide()){ + if (aBaseMetaTileEntity.isClientSide()) { NetworkDispatcher.INSTANCE.sendToServer(new PipeActivityMessage.PipeActivityQuery(this)); } onPostTick(aBaseMetaTileEntity, 31); @@ -121,20 +135,21 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isServerSide()) { if ((aTick & 31) == 31) { - if(TecTech.RANDOM.nextInt(15)==0) { - NetworkDispatcher.INSTANCE.sendToAllAround(new PipeActivityMessage.PipeActivityData(this), + if (TecTech.RANDOM.nextInt(15) == 0) { + NetworkDispatcher.INSTANCE.sendToAllAround( + new PipeActivityMessage.PipeActivityData(this), aBaseMetaTileEntity.getWorld().provider.dimensionId, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), 256); } - if(active){ - active=false; + if (active) { + active = false; } mConnections = 0; connectionCount = 0; - byte myColor=aBaseMetaTileEntity.getColorization(); + byte myColor = aBaseMetaTileEntity.getColorization(); if (aBaseMetaTileEntity.getColorization() < 0) { return; } @@ -146,18 +161,18 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn if (tColor != myColor) { continue; } - if(((IConnectsToDataPipe) tTileEntity).canConnectData(b1)){ + if (((IConnectsToDataPipe) tTileEntity).canConnectData(b1)) { mConnections |= 1 << b0; connectionCount++; } - }else if(tTileEntity instanceof IGregTechTileEntity){ - IMetaTileEntity meta=((IGregTechTileEntity) tTileEntity).getMetaTileEntity(); - if(meta instanceof IConnectsToDataPipe){ + } else if (tTileEntity instanceof IGregTechTileEntity) { + IMetaTileEntity meta = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity(); + if (meta instanceof IConnectsToDataPipe) { byte tColor = ((IConnectsToDataPipe) meta).getColorization(); if (tColor != myColor) { continue; } - if(((IConnectsToDataPipe) meta).canConnectData(b1)){ + if (((IConnectsToDataPipe) meta).canConnectData(b1)) { mConnections |= 1 << b0; connectionCount++; } @@ -182,18 +197,18 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn } for (byte b = 0; b < 6; b++) { if ((mConnections & 1 << b) == 0) { - continue;//if not connected continue + continue; // if not connected continue } TileEntity next = getBaseMetaTileEntity().getTileEntityAtSide(b); if (next instanceof IConnectsToDataPipe && next != source) { - if(((IConnectsToDataPipe) next).isDataInputFacing(GT_Utility.getOppositeSide(b))){ + if (((IConnectsToDataPipe) next).isDataInputFacing(GT_Utility.getOppositeSide(b))) { return (IConnectsToDataPipe) next; } - }else if(next instanceof IGregTechTileEntity) { + } else if (next instanceof IGregTechTileEntity) { IMetaTileEntity meta = ((IGregTechTileEntity) next).getMetaTileEntity(); if (meta instanceof IConnectsToDataPipe && meta != source) { - if (meta instanceof GT_MetaTileEntity_Pipe_Data && - ((GT_MetaTileEntity_Pipe_Data) meta).connectionCount == 2) { + if (meta instanceof GT_MetaTileEntity_Pipe_Data + && ((GT_MetaTileEntity_Pipe_Data) meta).connectionCount == 2) { ((GT_MetaTileEntity_Pipe_Data) meta).markUsed(); return (IConnectsToDataPipe) meta; } @@ -208,7 +223,7 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) { - float tSpace = (1f - 0.375f)/2; + float tSpace = (1f - 0.375f) / 2; float tSide0 = tSpace; float tSide1 = 1f - tSpace; float tSide2 = tSpace; @@ -216,39 +231,58 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn float tSide4 = tSpace; float tSide5 = 1f - tSpace; - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 0) != 0){tSide0=tSide2=tSide4=0;tSide3=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 1) != 0){tSide2=tSide4=0;tSide1=tSide3=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 2) != 0){tSide0=tSide2=tSide4=0;tSide1=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 3) != 0){tSide0=tSide4=0;tSide1=tSide3=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 4) != 0){tSide0=tSide2=tSide4=0;tSide1=tSide3=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 5) != 0){tSide0=tSide2=0;tSide1=tSide3=tSide5=1;} + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 0) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 1) != 0) { + tSide2 = tSide4 = 0; + tSide1 = tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 2) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide1 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 3) != 0) { + tSide0 = tSide4 = 0; + tSide1 = tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 4) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide1 = tSide3 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 5) != 0) { + tSide0 = tSide2 = 0; + tSide1 = tSide3 = tSide5 = 1; + } byte tConn = ((BaseMetaPipeEntity) getBaseMetaTileEntity()).mConnections; - if((tConn & 1 << ForgeDirection.DOWN.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.DOWN.ordinal()) != 0) { tSide0 = 0f; } - if((tConn & 1 << ForgeDirection.UP.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.UP.ordinal()) != 0) { tSide1 = 1f; } - if((tConn & 1 << ForgeDirection.NORTH.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.NORTH.ordinal()) != 0) { tSide2 = 0f; } - if((tConn & 1 << ForgeDirection.SOUTH.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.SOUTH.ordinal()) != 0) { tSide3 = 1f; } - if((tConn & 1 << ForgeDirection.WEST.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.WEST.ordinal()) != 0) { tSide4 = 0f; } - if((tConn & 1 << ForgeDirection.EAST.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.EAST.ordinal()) != 0) { tSide5 = 1f; } - return AxisAlignedBB.getBoundingBox(aX + tSide4, aY + tSide0, aZ + tSide2, aX + tSide5, aY + tSide1, aZ + tSide3); + return AxisAlignedBB.getBoundingBox( + aX + tSide4, aY + tSide0, aZ + tSide2, aX + tSide5, aY + tSide1, aZ + tSide3); } @Override public float getThickNess() { - if(GT_Mod.instance.isClientSide() && GT_Client.hideValue==1) { + if (GT_Mod.instance.isClientSide() && GT_Client.hideValue == 1) { return 0.0625F; } return 0.375f; @@ -271,7 +305,7 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn @Override public void setActive(boolean state) { - if(state!=active) { + if (state != active) { active = state; getBaseMetaTileEntity().issueTextureUpdate(); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java index d19fec6f05..4a5679e759 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.pipe; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.mechanics.pipe.IActivePipe; @@ -29,15 +32,12 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 26.02.2017. */ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnectsToElementalPipe, IActivePipe { private static Textures.BlockIcons.CustomIcon EMpipe; - static Textures.BlockIcons.CustomIcon EMcandy,EMCandyActive; + static Textures.BlockIcons.CustomIcon EMcandy, EMCandyActive; public byte connectionCount = 0; private boolean active; @@ -65,8 +65,18 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aConnections, byte aColorIndex, boolean aConnected, boolean aRedstone) { - return new ITexture[]{new GT_RenderedTexture(EMpipe), new GT_RenderedTexture(getActive()?EMCandyActive:EMcandy, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA()))}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aConnections, + byte aColorIndex, + boolean aConnected, + boolean aRedstone) { + return new ITexture[] { + new GT_RenderedTexture(EMpipe), + new GT_RenderedTexture( + getActive() ? EMCandyActive : EMcandy, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA())) + }; } @Override @@ -81,12 +91,12 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec @Override public void loadNBTData(NBTTagCompound nbtTagCompound) { - active=nbtTagCompound.getBoolean("eActive"); + active = nbtTagCompound.getBoolean("eActive"); } @Override public void saveNBTData(NBTTagCompound nbtTagCompound) { - nbtTagCompound.setBoolean("eActive",active); + nbtTagCompound.setBoolean("eActive", active); } @Override @@ -101,18 +111,22 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.0"),//Quantum tunneling device. - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.1"),//Not a portal!!! - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.2"),//Must be painted to work - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.3")//Do not cross, split or turn + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.0"), // Quantum tunneling device. + EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.1"), // Not a portal!!! + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.2"), // Must be painted to work + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.pipe.elementalmatter.desc.3") // Do not cross, split or turn }; } @Override public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { - if(getBaseMetaTileEntity().isClientSide()){ + if (getBaseMetaTileEntity().isClientSide()) { NetworkDispatcher.INSTANCE.sendToServer(new PipeActivityMessage.PipeActivityQuery(this)); } onPostTick(aBaseMetaTileEntity, 31); @@ -122,16 +136,17 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isServerSide()) { if ((aTick & 31) == 31) { - if(TecTech.RANDOM.nextInt(15)==0) { - NetworkDispatcher.INSTANCE.sendToAllAround(new PipeActivityMessage.PipeActivityData(this), + if (TecTech.RANDOM.nextInt(15) == 0) { + NetworkDispatcher.INSTANCE.sendToAllAround( + new PipeActivityMessage.PipeActivityData(this), aBaseMetaTileEntity.getWorld().provider.dimensionId, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), 256); } - if(active){ - active=false; + if (active) { + active = false; } mConnections = 0; connectionCount = 0; @@ -140,34 +155,42 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec } for (byte b0 = 0, b1; b0 < 6; b0++) { b1 = GT_Utility.getOppositeSide(b0); - //if (!aBaseMetaTileEntity.getCoverBehaviorAtSide(b0).alwaysLookConnected(b0, aBaseMetaTileEntity.getCoverIDAtSide(b0), aBaseMetaTileEntity.getCoverDataAtSide(b0), aBaseMetaTileEntity)) { + // if (!aBaseMetaTileEntity.getCoverBehaviorAtSide(b0).alwaysLookConnected(b0, + // aBaseMetaTileEntity.getCoverIDAtSide(b0), aBaseMetaTileEntity.getCoverDataAtSide(b0), + // aBaseMetaTileEntity)) { TileEntity tTileEntity = aBaseMetaTileEntity.getTileEntityAtSide(b0); if (tTileEntity instanceof IColoredTileEntity) { - //if (aBaseMetaTileEntity.getColorization() >= 0) { + // if (aBaseMetaTileEntity.getColorization() >= 0) { byte tColor = ((IColoredTileEntity) tTileEntity).getColorization(); if (tColor != aBaseMetaTileEntity.getColorization()) { continue; } - //} + // } } - if (tTileEntity instanceof IConnectsToElementalPipe && ((IConnectsToElementalPipe) tTileEntity).canConnect(b1)) { + if (tTileEntity instanceof IConnectsToElementalPipe + && ((IConnectsToElementalPipe) tTileEntity).canConnect(b1)) { mConnections |= 1 << b0; connectionCount++; - } else if (tTileEntity instanceof IGregTechTileEntity && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() instanceof IConnectsToElementalPipe) { - if (//((IGregTechTileEntity) tTileEntity).getCoverBehaviorAtSide(b1).alwaysLookConnected(b1, ((IGregTechTileEntity) tTileEntity).getCoverIDAtSide(b1), ((IGregTechTileEntity) tTileEntity).getCoverDataAtSide(b1), ((IGregTechTileEntity) tTileEntity)) || - ((IConnectsToElementalPipe) ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()).canConnect(b1)) { + } else if (tTileEntity instanceof IGregTechTileEntity + && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() + instanceof IConnectsToElementalPipe) { + if ( // ((IGregTechTileEntity) tTileEntity).getCoverBehaviorAtSide(b1).alwaysLookConnected(b1, + // ((IGregTechTileEntity) tTileEntity).getCoverIDAtSide(b1), ((IGregTechTileEntity) + // tTileEntity).getCoverDataAtSide(b1), ((IGregTechTileEntity) tTileEntity)) || + ((IConnectsToElementalPipe) ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()) + .canConnect(b1)) { mConnections |= 1 << b0; connectionCount++; } } - //} - //else { + // } + // else { // mConnections |= (1 << b0); // if (mOld != mConnections) { // connectionCount++; // mOld = mConnections; // } - //} + // } } } } else if (aBaseMetaTileEntity.isClientSide() && GT_Client.changeDetected == 4) { @@ -182,7 +205,7 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) { - float tSpace = (1f - 0.5f)/2; + float tSpace = (1f - 0.5f) / 2; float tSide0 = tSpace; float tSide1 = 1f - tSpace; float tSide2 = tSpace; @@ -190,39 +213,58 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec float tSide4 = tSpace; float tSide5 = 1f - tSpace; - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 0) != 0){tSide0=tSide2=tSide4=0;tSide3=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 1) != 0){tSide2=tSide4=0;tSide1=tSide3=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 2) != 0){tSide0=tSide2=tSide4=0;tSide1=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 3) != 0){tSide0=tSide4=0;tSide1=tSide3=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 4) != 0){tSide0=tSide2=tSide4=0;tSide1=tSide3=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 5) != 0){tSide0=tSide2=0;tSide1=tSide3=tSide5=1;} + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 0) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 1) != 0) { + tSide2 = tSide4 = 0; + tSide1 = tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 2) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide1 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 3) != 0) { + tSide0 = tSide4 = 0; + tSide1 = tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 4) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide1 = tSide3 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 5) != 0) { + tSide0 = tSide2 = 0; + tSide1 = tSide3 = tSide5 = 1; + } byte tConn = ((BaseMetaPipeEntity) getBaseMetaTileEntity()).mConnections; - if((tConn & 1 << ForgeDirection.DOWN.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.DOWN.ordinal()) != 0) { tSide0 = 0f; } - if((tConn & 1 << ForgeDirection.UP.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.UP.ordinal()) != 0) { tSide1 = 1f; } - if((tConn & 1 << ForgeDirection.NORTH.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.NORTH.ordinal()) != 0) { tSide2 = 0f; } - if((tConn & 1 << ForgeDirection.SOUTH.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.SOUTH.ordinal()) != 0) { tSide3 = 1f; } - if((tConn & 1 << ForgeDirection.WEST.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.WEST.ordinal()) != 0) { tSide4 = 0f; } - if((tConn & 1 << ForgeDirection.EAST.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.EAST.ordinal()) != 0) { tSide5 = 1f; } - return AxisAlignedBB.getBoundingBox(aX + tSide4, aY + tSide0, aZ + tSide2, aX + tSide5, aY + tSide1, aZ + tSide3); + return AxisAlignedBB.getBoundingBox( + aX + tSide4, aY + tSide0, aZ + tSide2, aX + tSide5, aY + tSide1, aZ + tSide3); } @Override public float getThickNess() { - if(GT_Mod.instance.isClientSide() && GT_Client.hideValue==1) { + if (GT_Mod.instance.isClientSide() && GT_Client.hideValue == 1) { return 0.0625F; } return 0.5f; @@ -235,7 +277,7 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec @Override public void setActive(boolean state) { - if(state!=active) { + if (state != active) { active = state; getBaseMetaTileEntity().issueTextureUpdate(); } @@ -248,8 +290,8 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec @Override public void onRemoval() { - if(getActive()){ - TecTech.anomalyHandler.addAnomaly(getBaseMetaTileEntity(),1e10f); + if (getActive()) { + TecTech.anomalyHandler.addAnomaly(getBaseMetaTileEntity(), 1e10f); } } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java index 1f4fd71a39..e83a358f78 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java @@ -1,5 +1,10 @@ package com.github.technus.tectech.thing.metaTileEntity.pipe; +import static com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EM.EMCandyActive; +import static com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EM.EMcandy; +import static gregtech.api.enums.Dyes.MACHINE_METAL; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.mechanics.pipe.IActivePipe; @@ -29,16 +34,11 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import static com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EM.EMCandyActive; -import static com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EM.EMcandy; -import static gregtech.api.enums.Dyes.MACHINE_METAL; -import static net.minecraft.util.StatCollector.translateToLocal; - public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements IConnectsToEnergyTunnel, IActivePipe { private static Textures.BlockIcons.CustomIcon EMpipe; public byte connectionCount = 0; - private boolean active,lastActive; + private boolean active, lastActive; public GT_MetaTileEntity_Pipe_Energy(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional, 0); @@ -61,8 +61,18 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aConnections, byte aColorIndex, boolean aConnected, boolean aRedstone) { - return new ITexture[]{new GT_RenderedTexture(EMpipe), new GT_RenderedTexture(getActive()?EMCandyActive:EMcandy, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA()))}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aConnections, + byte aColorIndex, + boolean aConnected, + boolean aRedstone) { + return new ITexture[] { + new GT_RenderedTexture(EMpipe), + new GT_RenderedTexture( + getActive() ? EMCandyActive : EMcandy, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA())) + }; } @Override @@ -77,12 +87,12 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo @Override public void loadNBTData(NBTTagCompound nbtTagCompound) { - active=nbtTagCompound.getBoolean("eActive"); + active = nbtTagCompound.getBoolean("eActive"); } @Override public void saveNBTData(NBTTagCompound nbtTagCompound) { - nbtTagCompound.setBoolean("eActive",active); + nbtTagCompound.setBoolean("eActive", active); } @Override @@ -97,18 +107,22 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_EM, - translateToLocal("gt.blockmachines.pipe.energystream.desc.0"),//Laser tunneling device. - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockmachines.pipe.energystream.desc.1"),//Bright Vacuum!!! - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.energystream.desc.2"),//Must be painted to work - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.energystream.desc.3")//Do not split or turn + return new String[] { + CommonValues.TEC_MARK_EM, + translateToLocal("gt.blockmachines.pipe.energystream.desc.0"), // Laser tunneling device. + EnumChatFormatting.AQUA.toString() + + EnumChatFormatting.BOLD + + translateToLocal("gt.blockmachines.pipe.energystream.desc.1"), // Bright Vacuum!!! + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.pipe.energystream.desc.2"), // Must be painted to work + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.pipe.energystream.desc.3") // Do not split or turn }; } @Override public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { - if(getBaseMetaTileEntity().isClientSide()){ + if (getBaseMetaTileEntity().isClientSide()) { NetworkDispatcher.INSTANCE.sendToServer(new PipeActivityMessage.PipeActivityQuery(this)); } onPostTick(aBaseMetaTileEntity, 31); @@ -118,16 +132,17 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isServerSide()) { if ((aTick & 31) == 31) { - if(TecTech.RANDOM.nextInt(15)==0) { - NetworkDispatcher.INSTANCE.sendToAllAround(new PipeActivityMessage.PipeActivityData(this), + if (TecTech.RANDOM.nextInt(15) == 0) { + NetworkDispatcher.INSTANCE.sendToAllAround( + new PipeActivityMessage.PipeActivityData(this), aBaseMetaTileEntity.getWorld().provider.dimensionId, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), 256); } - if(active){ - active=false; + if (active) { + active = false; } mConnections = 0; connectionCount = 0; @@ -136,34 +151,42 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo } for (byte b0 = 0, b1; b0 < 6; b0++) { b1 = GT_Utility.getOppositeSide(b0); - //if (!aBaseMetaTileEntity.getCoverBehaviorAtSide(b0).alwaysLookConnected(b0, aBaseMetaTileEntity.getCoverIDAtSide(b0), aBaseMetaTileEntity.getCoverDataAtSide(b0), aBaseMetaTileEntity)) { + // if (!aBaseMetaTileEntity.getCoverBehaviorAtSide(b0).alwaysLookConnected(b0, + // aBaseMetaTileEntity.getCoverIDAtSide(b0), aBaseMetaTileEntity.getCoverDataAtSide(b0), + // aBaseMetaTileEntity)) { TileEntity tTileEntity = aBaseMetaTileEntity.getTileEntityAtSide(b0); if (tTileEntity instanceof IColoredTileEntity) { - //if (aBaseMetaTileEntity.getColorization() >= 0) { + // if (aBaseMetaTileEntity.getColorization() >= 0) { byte tColor = ((IColoredTileEntity) tTileEntity).getColorization(); if (tColor != aBaseMetaTileEntity.getColorization()) { continue; } - //} + // } } - if (tTileEntity instanceof IConnectsToEnergyTunnel && ((IConnectsToEnergyTunnel) tTileEntity).canConnect(b1)) { + if (tTileEntity instanceof IConnectsToEnergyTunnel + && ((IConnectsToEnergyTunnel) tTileEntity).canConnect(b1)) { mConnections |= 1 << b0; connectionCount++; - } else if (tTileEntity instanceof IGregTechTileEntity && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() instanceof IConnectsToEnergyTunnel) { - if (//((IGregTechTileEntity) tTileEntity).getCoverBehaviorAtSide(b1).alwaysLookConnected(b1, ((IGregTechTileEntity) tTileEntity).getCoverIDAtSide(b1), ((IGregTechTileEntity) tTileEntity).getCoverDataAtSide(b1), ((IGregTechTileEntity) tTileEntity)) || - ((IConnectsToEnergyTunnel) ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()).canConnect(b1)) { + } else if (tTileEntity instanceof IGregTechTileEntity + && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() + instanceof IConnectsToEnergyTunnel) { + if ( // ((IGregTechTileEntity) tTileEntity).getCoverBehaviorAtSide(b1).alwaysLookConnected(b1, + // ((IGregTechTileEntity) tTileEntity).getCoverIDAtSide(b1), ((IGregTechTileEntity) + // tTileEntity).getCoverDataAtSide(b1), ((IGregTechTileEntity) tTileEntity)) || + ((IConnectsToEnergyTunnel) ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()) + .canConnect(b1)) { mConnections |= 1 << b0; connectionCount++; } } - //} - //else { + // } + // else { // mConnections |= (1 << b0); // if (mOld != mConnections) { // connectionCount++; // mOld = mConnections; // } - //} + // } } } @@ -173,8 +196,8 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo } @Override - public void setActive(boolean state){ - if(state!=active) { + public void setActive(boolean state) { + if (state != active) { active = state; getBaseMetaTileEntity().issueTextureUpdate(); } @@ -197,7 +220,7 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) { - float tSpace = (1f - 0.5f)/2; + float tSpace = (1f - 0.5f) / 2; float tSide0 = tSpace; float tSide1 = 1f - tSpace; float tSide2 = tSpace; @@ -205,41 +228,60 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo float tSide4 = tSpace; float tSide5 = 1f - tSpace; - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 0) != 0){tSide0=tSide2=tSide4=0;tSide3=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 1) != 0){tSide2=tSide4=0;tSide1=tSide3=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 2) != 0){tSide0=tSide2=tSide4=0;tSide1=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 3) != 0){tSide0=tSide4=0;tSide1=tSide3=tSide5=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 4) != 0){tSide0=tSide2=tSide4=0;tSide1=tSide3=1;} - if(getBaseMetaTileEntity().getCoverIDAtSide((byte) 5) != 0){tSide0=tSide2=0;tSide1=tSide3=tSide5=1;} + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 0) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 1) != 0) { + tSide2 = tSide4 = 0; + tSide1 = tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 2) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide1 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 3) != 0) { + tSide0 = tSide4 = 0; + tSide1 = tSide3 = tSide5 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 4) != 0) { + tSide0 = tSide2 = tSide4 = 0; + tSide1 = tSide3 = 1; + } + if (getBaseMetaTileEntity().getCoverIDAtSide((byte) 5) != 0) { + tSide0 = tSide2 = 0; + tSide1 = tSide3 = tSide5 = 1; + } byte tConn = ((BaseMetaPipeEntity) getBaseMetaTileEntity()).mConnections; - if((tConn & 1 << ForgeDirection.DOWN.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.DOWN.ordinal()) != 0) { tSide0 = 0f; } - if((tConn & 1 << ForgeDirection.UP.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.UP.ordinal()) != 0) { tSide1 = 1f; } - if((tConn & 1 << ForgeDirection.NORTH.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.NORTH.ordinal()) != 0) { tSide2 = 0f; } - if((tConn & 1 << ForgeDirection.SOUTH.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.SOUTH.ordinal()) != 0) { tSide3 = 1f; } - if((tConn & 1 << ForgeDirection.WEST.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.WEST.ordinal()) != 0) { tSide4 = 0f; } - if((tConn & 1 << ForgeDirection.EAST.ordinal()) != 0) { + if ((tConn & 1 << ForgeDirection.EAST.ordinal()) != 0) { tSide5 = 1f; } - return AxisAlignedBB.getBoundingBox(aX + tSide4, aY + tSide0, aZ + tSide2, aX + tSide5, aY + tSide1, aZ + tSide3); + return AxisAlignedBB.getBoundingBox( + aX + tSide4, aY + tSide0, aZ + tSide2, aX + tSide5, aY + tSide1, aZ + tSide3); } @Override public float getThickNess() { - if(GT_Mod.instance.isClientSide() && GT_Client.hideValue==1) { + if (GT_Mod.instance.isClientSide() && GT_Client.hideValue == 1) { return 0.0625F; } return 0.5f; } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java index f3fc2145a6..b3be875b85 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.single; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_Container_BuckConverter; import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_GUIContainer_BuckConverter; import com.github.technus.tectech.util.CommonValues; @@ -20,21 +23,18 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; -import static net.minecraft.util.StatCollector.translateToLocal; - public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMachineBlock { - private static GT_RenderedTexture BUCK,BUCK_ACTIVE; - public int EUT=0,AMP=0; + private static GT_RenderedTexture BUCK, BUCK_ACTIVE; + public int EUT = 0, AMP = 0; public GT_MetaTileEntity_BuckConverter(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_BuckConverter(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } @Override @@ -51,11 +51,21 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aSide == aFacing ? (aActive?BUCK_ACTIVE:BUCK) : - (aSide==GT_Utility.getOppositeSide(aFacing)? - OVERLAYS_ENERGY_IN_POWER_TT[mTier]: - (aActive ? OVERLAYS_ENERGY_OUT_POWER_TT[mTier] : OVERLAYS_ENERGY_IN_POWER_TT[mTier]))}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aFacing, + byte aColorIndex, + boolean aActive, + boolean aRedstone) { + return new ITexture[] { + MACHINE_CASINGS_TT[mTier][aColorIndex + 1], + aSide == aFacing + ? (aActive ? BUCK_ACTIVE : BUCK) + : (aSide == GT_Utility.getOppositeSide(aFacing) + ? OVERLAYS_ENERGY_IN_POWER_TT[mTier] + : (aActive ? OVERLAYS_ENERGY_OUT_POWER_TT[mTier] : OVERLAYS_ENERGY_IN_POWER_TT[mTier])) + }; } @Override @@ -85,15 +95,15 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac @Override public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setInteger("eEUT",EUT); - aNBT.setInteger("eAMP",AMP); + aNBT.setInteger("eEUT", EUT); + aNBT.setInteger("eAMP", AMP); } @Override public void loadNBTData(NBTTagCompound aNBT) { - EUT=aNBT.getInteger("eEUT"); - AMP=aNBT.getInteger("eAMP"); - getBaseMetaTileEntity().setActive((long)AMP*EUT >=0); + EUT = aNBT.getInteger("eEUT"); + AMP = aNBT.getInteger("eAMP"); + getBaseMetaTileEntity().setActive((long) AMP * EUT >= 0); } @Override @@ -122,11 +132,13 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.machine.tt.buck.desc.0"),//Electronic voltage regulator - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.machine.tt.buck.desc.1"),//Adjustable step down transformer - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.machine.tt.buck.desc.2")//Switching power supply... + return new String[] { + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.machine.tt.buck.desc.0"), // Electronic voltage regulator + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.machine.tt.buck.desc.1"), // Adjustable step down transformer + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.machine.tt.buck.desc.2") // Switching power supply... }; } @@ -152,7 +164,9 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac @Override public boolean isOutputFacing(byte aSide) { - return getBaseMetaTileEntity().isActive() && aSide != getBaseMetaTileEntity().getFrontFacing() && aSide != getBaseMetaTileEntity().getBackFacing(); + return getBaseMetaTileEntity().isActive() + && aSide != getBaseMetaTileEntity().getFrontFacing() + && aSide != getBaseMetaTileEntity().getBackFacing(); } @Override @@ -162,7 +176,7 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac @Override public long maxAmperesOut() { - return getBaseMetaTileEntity().isActive()?Math.min(Math.abs(AMP),64):0; + return getBaseMetaTileEntity().isActive() ? Math.min(Math.abs(AMP), 64) : 0; } @Override @@ -172,17 +186,17 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac @Override public long maxEUOutput() { - return getBaseMetaTileEntity().isActive()?Math.min(Math.abs(EUT),maxEUInput()):0; + return getBaseMetaTileEntity().isActive() ? Math.min(Math.abs(EUT), maxEUInput()) : 0; } @Override public long maxEUStore() { - return CommonValues.V[mTier]<<4; + return CommonValues.V[mTier] << 4; } @Override public long getMinimumStoredEU() { - return CommonValues.V[mTier]<<2; + return CommonValues.V[mTier] << 2; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DataReader.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DataReader.java index 9b177dd1ce..90f1d17dec 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DataReader.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DataReader.java @@ -1,5 +1,11 @@ package com.github.technus.tectech.thing.metaTileEntity.single; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_Container_DataReader; import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_GUIContainer_DataReader; import com.github.technus.tectech.util.CommonValues; @@ -16,6 +22,7 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Utility; +import java.util.*; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -26,29 +33,21 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; -import java.util.*; - -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 23.03.2017. */ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine { - private static final HashMap> RENDER_REGISTRY =new HashMap<>(); - public static GT_RenderedTexture READER_ONLINE, READER_OFFLINE; + private static final HashMap> RENDER_REGISTRY = new HashMap<>(); + public static GT_RenderedTexture READER_ONLINE, READER_OFFLINE; public GT_MetaTileEntity_DataReader(int aID, String aName, String aNameRegional, int aTier) { - super(aID,aName,aNameRegional,aTier,1,"",1,1,"dataReader.png",""); - TT_Utility.setTier(aTier,this); + super(aID, aName, aNameRegional, aTier, 1, "", 1, 1, "dataReader.png", ""); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_DataReader(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { - super(aName,aTier,1,aDescription,aTextures,1,1,"dataReader.png",""); - TT_Utility.setTier(aTier,this); + super(aName, aTier, 1, aDescription, aTextures, 1, 1, "dataReader.png", ""); + TT_Utility.setTier(aTier, this); } @Override @@ -65,19 +64,30 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { - if(aBaseMetaTileEntity.getWorld()==null){ - if(aSide==aFacing){ - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aFacing, + byte aColorIndex, + boolean aActive, + boolean aRedstone) { + if (aBaseMetaTileEntity.getWorld() == null) { + if (aSide == aFacing) { + return new ITexture[] { + MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE + }; } - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; + return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; } - if(aSide==mMainFacing){ - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE}; - }else if(aSide==aFacing){ - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT)}; + if (aSide == mMainFacing) { + return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE + }; + } else if (aSide == aFacing) { + return new ITexture[] { + MACHINE_CASINGS_TT[mTier][aColorIndex + 1], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) + }; } - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; + return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; } @Override @@ -87,15 +97,15 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public int checkRecipe() { - if(getOutputAt(0)!=null){ + if (getOutputAt(0) != null) { return DID_NOT_FIND_RECIPE; } - ItemStack input=getInputAt(0); - for(IDataRender render:getRenders(new TT_Utility.ItemStack_NoNBT(input))){ - if(render.canRender(input,mTier)){ - mOutputItems[0]=input.copy(); - input.stackSize-=1; - calculateOverclockedNess(render.getReadingEUt(),render.getReadingTime()); + ItemStack input = getInputAt(0); + for (IDataRender render : getRenders(new TT_Utility.ItemStack_NoNBT(input))) { + if (render.canRender(input, mTier)) { + mOutputItems[0] = input.copy(); + input.stackSize -= 1; + calculateOverclockedNess(render.getReadingEUt(), render.getReadingTime()); if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1) return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS; return FOUND_AND_SUCCESSFULLY_USED_RECIPE; @@ -107,7 +117,7 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { super.onPostTick(aBaseMetaTileEntity, aTick); - aBaseMetaTileEntity.setActive(getOutputAt(0)!=null || mMaxProgresstime>0); + aBaseMetaTileEntity.setActive(getOutputAt(0) != null || mMaxProgresstime > 0); } @Override @@ -117,7 +127,14 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_DataReader(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), mGUIName, GT_Utility.isStringValid(mNEIName) ? mNEIName : getRecipeList() != null ? getRecipeList().mUnlocalizedName : ""); + return new GT_GUIContainer_DataReader( + aPlayerInventory, + aBaseMetaTileEntity, + getLocalName(), + mGUIName, + GT_Utility.isStringValid(mNEIName) + ? mNEIName + : getRecipeList() != null ? getRecipeList().mUnlocalizedName : ""); } @Override @@ -132,11 +149,13 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.machine.tt.datareader.desc.0"),//Reads Data Sticks and Orbs - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.machine.tt.datareader.desc.1"),//Power it up and - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.machine.tt.datareader.desc.2")//Put the data storage in + return new String[] { + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.machine.tt.datareader.desc.0"), // Reads Data Sticks and Orbs + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.machine.tt.datareader.desc.1"), // Power it up and + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.machine.tt.datareader.desc.2") // Put the data storage in }; } @@ -152,12 +171,12 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public boolean isInputFacing(byte aSide) { - return aSide!=getBaseMetaTileEntity().getFrontFacing(); + return aSide != getBaseMetaTileEntity().getFrontFacing(); } @Override public boolean isOutputFacing(byte aSide) { - return aSide!=getBaseMetaTileEntity().getFrontFacing(); + return aSide != getBaseMetaTileEntity().getFrontFacing(); } @Override @@ -167,89 +186,107 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public long maxEUStore() { - return maxEUInput()*16L; + return maxEUInput() * 16L; } @Override public long getMinimumStoredEU() { - return maxEUInput()*4L; + return maxEUInput() * 4L; } - public static void addDataRender(TT_Utility.ItemStack_NoNBT stack, IDataRender render){ + public static void addDataRender(TT_Utility.ItemStack_NoNBT stack, IDataRender render) { ArrayList renders = RENDER_REGISTRY.computeIfAbsent(stack, k -> new ArrayList<>()); - if(FMLCommonHandler.instance().getEffectiveSide().isClient()) { + if (FMLCommonHandler.instance().getEffectiveSide().isClient()) { render.loadResources(); } renders.add(render); } - public static List getRenders(TT_Utility.ItemStack_NoNBT stack){ + public static List getRenders(TT_Utility.ItemStack_NoNBT stack) { ArrayList iDataRenders = RENDER_REGISTRY.get(stack); - return iDataRenders==null?Collections.emptyList():iDataRenders; + return iDataRenders == null ? Collections.emptyList() : iDataRenders; } public interface IDataRender { @SideOnly(Side.CLIENT) void loadResources(); + @SideOnly(Side.CLIENT) void initRender(ItemStack itemStack); + @SideOnly(Side.CLIENT) - void renderTooltips(ItemStack itemStack,int mouseX,int mouseY,GT_GUIContainer_DataReader gui); + void renderTooltips(ItemStack itemStack, int mouseX, int mouseY, GT_GUIContainer_DataReader gui); + @SideOnly(Side.CLIENT) - void renderForeground(ItemStack itemStack,int mouseX,int mouseY,GT_GUIContainer_DataReader gui, FontRenderer font); + void renderForeground( + ItemStack itemStack, int mouseX, int mouseY, GT_GUIContainer_DataReader gui, FontRenderer font); + @SideOnly(Side.CLIENT) - void renderBackgroundOverlay(ItemStack itemStack, int mouseX, int mouseY, int X, int Y, GT_GUIContainer_DataReader gui); + void renderBackgroundOverlay( + ItemStack itemStack, int mouseX, int mouseY, int X, int Y, GT_GUIContainer_DataReader gui); + boolean canRender(ItemStack itemStack, byte tier); + int getReadingEUt(); + int getReadingTime(); } - public static void run(){ - addDataRender(new TT_Utility.ItemStack_NoNBT(ItemList.Tool_DataStick.get(1)),new IDataRender() { + public static void run() { + addDataRender(new TT_Utility.ItemStack_NoNBT(ItemList.Tool_DataStick.get(1)), new IDataRender() { @SideOnly(Side.CLIENT) private ResourceLocation bg; + @SideOnly(Side.CLIENT) - private HashMap slots; - private HashMap slots2; + private HashMap slots; + + private HashMap slots2; @Override @SideOnly(Side.CLIENT) public void loadResources() { - bg =new ResourceLocation(MODID+":textures/gui/assLineRender.png"); + bg = new ResourceLocation(MODID + ":textures/gui/assLineRender.png"); } @Override public void initRender(ItemStack itemStack) { - slots=new HashMap<>(); - slots2=new HashMap<>(); - - slots.put(new GT_Slot_Holo(null,0,143,55,false,false,1),ItemList.Tool_DataStick.getWithName(1,"Research data")); - ItemStack output=ItemStack.loadItemStackFromNBT(itemStack.stackTagCompound.getCompoundTag("output")); - if(output!=null){ - slots.put(new GT_Slot_Holo(null,0,143,19,false,false,64),output); + slots = new HashMap<>(); + slots2 = new HashMap<>(); + + slots.put( + new GT_Slot_Holo(null, 0, 143, 55, false, false, 1), + ItemList.Tool_DataStick.getWithName(1, "Research data")); + ItemStack output = ItemStack.loadItemStackFromNBT(itemStack.stackTagCompound.getCompoundTag("output")); + if (output != null) { + slots.put(new GT_Slot_Holo(null, 0, 143, 19, false, false, 64), output); } for (int i = 0; i < 16; i++) { - ArrayList array=new ArrayList<>(); - ItemStack input=ItemStack.loadItemStackFromNBT(itemStack.stackTagCompound.getCompoundTag(Integer.toString(i))); - if(input!=null){ + ArrayList array = new ArrayList<>(); + ItemStack input = ItemStack.loadItemStackFromNBT( + itemStack.stackTagCompound.getCompoundTag(Integer.toString(i))); + if (input != null) { array.add(input); } - for (int k = 0; k < itemStack.stackTagCompound.getInteger("a"+i); k++) { - input=ItemStack.loadItemStackFromNBT(itemStack.stackTagCompound.getCompoundTag("a" + i + ":" + k)); - if(input!=null){ + for (int k = 0; k < itemStack.stackTagCompound.getInteger("a" + i); k++) { + input = ItemStack.loadItemStackFromNBT( + itemStack.stackTagCompound.getCompoundTag("a" + i + ":" + k)); + if (input != null) { array.add(input); } } - if(array.size()>0){ - slots2.put(new GT_Slot_Holo(null,0,17+(i&0x3)*18,19+(i>>2)*18,false,false,64), + if (array.size() > 0) { + slots2.put( + new GT_Slot_Holo(null, 0, 17 + (i & 0x3) * 18, 19 + (i >> 2) * 18, false, false, 64), array.toArray(nullItem)); } } for (int i = 0; i < 4; i++) { - FluidStack fs=FluidStack.loadFluidStackFromNBT(itemStack.stackTagCompound.getCompoundTag("f"+i)); - if(fs!=null){ - slots.put(new GT_Slot_Holo(null,0,107,19+i*18,false,false,1), + FluidStack fs = + FluidStack.loadFluidStackFromNBT(itemStack.stackTagCompound.getCompoundTag("f" + i)); + if (fs != null) { + slots.put( + new GT_Slot_Holo(null, 0, 107, 19 + i * 18, false, false, 1), GT_Utility.getFluidDisplayStack(fs, true)); } } @@ -257,53 +294,68 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public void renderTooltips(ItemStack itemStack, int mouseX, int mouseY, GT_GUIContainer_DataReader gui) { - for(Map.Entry entry:slots.entrySet()){ - gui.renderTooltipSimple(mouseX, mouseY, entry.getKey(),entry.getValue()); + for (Map.Entry entry : slots.entrySet()) { + gui.renderTooltipSimple(mouseX, mouseY, entry.getKey(), entry.getValue()); } - int time=(int)(System.currentTimeMillis()/2000); - for(Map.Entry entry:slots2.entrySet()){ - gui.renderTooltipSimple(mouseX, mouseY, entry.getKey(),entry.getValue()[time%entry.getValue().length]); + int time = (int) (System.currentTimeMillis() / 2000); + for (Map.Entry entry : slots2.entrySet()) { + gui.renderTooltipSimple( + mouseX, mouseY, entry.getKey(), entry.getValue()[time % entry.getValue().length]); } } @Override @SideOnly(Side.CLIENT) - public void renderForeground(ItemStack itemStack, int mouseX, int mouseY, GT_GUIContainer_DataReader gui, FontRenderer font) { - int time=itemStack.stackTagCompound.getInteger("time"); - int EUt=itemStack.stackTagCompound.getInteger("eu"); + public void renderForeground( + ItemStack itemStack, int mouseX, int mouseY, GT_GUIContainer_DataReader gui, FontRenderer font) { + int time = itemStack.stackTagCompound.getInteger("time"); + int EUt = itemStack.stackTagCompound.getInteger("eu"); font.drawString(translateToLocal("tt.keyphrase.Ass_line_recipe"), 7, 8, 0x80a0ff); - font.drawString(GT_Utility.trans("152","Total: ") + GT_Utility.formatNumbers((long) time * EUt) + " EU",7,93, 0x80a0ff); - font.drawString(GT_Utility.trans("153","Usage: ") + GT_Utility.formatNumbers(EUt) + " EU/t",7,103, 0x80a0ff); - font.drawString(GT_Utility.trans("154","Voltage: ") + GT_Utility.formatNumbers(EUt) + " EU",7,113, 0x80a0ff); - font.drawString(GT_Utility.trans("155","Amperage: ") + 1 ,7,123, 0x80a0ff); - font.drawString( GT_Utility.trans("158","Time: ") + GT_Utility.formatNumbers(0.05d * time) + GT_Utility.trans("161"," secs"), 7,133, 0x80a0ff); - - for(Map.Entry entry:slots.entrySet()){ - gui.renderItemSimple(entry.getKey(),entry.getValue()); + font.drawString( + GT_Utility.trans("152", "Total: ") + GT_Utility.formatNumbers((long) time * EUt) + " EU", + 7, + 93, + 0x80a0ff); + font.drawString( + GT_Utility.trans("153", "Usage: ") + GT_Utility.formatNumbers(EUt) + " EU/t", 7, 103, 0x80a0ff); + font.drawString( + GT_Utility.trans("154", "Voltage: ") + GT_Utility.formatNumbers(EUt) + " EU", 7, 113, 0x80a0ff); + font.drawString(GT_Utility.trans("155", "Amperage: ") + 1, 7, 123, 0x80a0ff); + font.drawString( + GT_Utility.trans("158", "Time: ") + + GT_Utility.formatNumbers(0.05d * time) + + GT_Utility.trans("161", " secs"), + 7, + 133, + 0x80a0ff); + + for (Map.Entry entry : slots.entrySet()) { + gui.renderItemSimple(entry.getKey(), entry.getValue()); } - time=(int)(System.currentTimeMillis()/2000); - for(Map.Entry entry:slots2.entrySet()){ - gui.renderItemSimple(entry.getKey(),entry.getValue()[time%entry.getValue().length]); + time = (int) (System.currentTimeMillis() / 2000); + for (Map.Entry entry : slots2.entrySet()) { + gui.renderItemSimple(entry.getKey(), entry.getValue()[time % entry.getValue().length]); } } @Override @SideOnly(Side.CLIENT) - public void renderBackgroundOverlay(ItemStack itemStack, int mouseX, int mouseY, int X, int Y, GT_GUIContainer_DataReader gui) { - //176/83 + public void renderBackgroundOverlay( + ItemStack itemStack, int mouseX, int mouseY, int X, int Y, GT_GUIContainer_DataReader gui) { + // 176/83 gui.mc.getTextureManager().bindTexture(bg); - gui.drawTexturedModalRect(X,Y,0,0,176, 151); + gui.drawTexturedModalRect(X, Y, 0, 0, 176, 151); } @Override - public boolean canRender(ItemStack itemStack,byte tier) { - NBTTagCompound nbtTagCompound=itemStack.stackTagCompound; + public boolean canRender(ItemStack itemStack, byte tier) { + NBTTagCompound nbtTagCompound = itemStack.stackTagCompound; return nbtTagCompound != null && nbtTagCompound.hasKey("output"); } @Override public int getReadingEUt() { - return (int)V[4]; + return (int) V[4]; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java index c68b9fc395..d1990fc316 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.single; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_OverflowElemental; import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_Container_DebugPollutor; @@ -22,25 +25,22 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 23.03.2017. */ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMachineBlock { private static GT_RenderedTexture POLLUTOR; - public int pollution=0; - public float anomaly=0; + public int pollution = 0; + public float anomaly = 0; public GT_MetaTileEntity_DebugPollutor(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_DebugPollutor(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } @Override @@ -56,8 +56,21 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aSide != aFacing ? aActive? new GT_RenderedTexture(GT_MetaTileEntity_Hatch_OverflowElemental.MufflerEM): new GT_RenderedTexture(GT_MetaTileEntity_Hatch_OverflowElemental.MufflerEMidle) : POLLUTOR}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aFacing, + byte aColorIndex, + boolean aActive, + boolean aRedstone) { + return new ITexture[] { + MACHINE_CASINGS_TT[mTier][aColorIndex + 1], + aSide != aFacing + ? aActive + ? new GT_RenderedTexture(GT_MetaTileEntity_Hatch_OverflowElemental.MufflerEM) + : new GT_RenderedTexture(GT_MetaTileEntity_Hatch_OverflowElemental.MufflerEMidle) + : POLLUTOR + }; } @Override @@ -87,15 +100,15 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac @Override public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setInteger("ePollution",pollution); - aNBT.setFloat("eAnomaly",anomaly); + aNBT.setInteger("ePollution", pollution); + aNBT.setFloat("eAnomaly", anomaly); } @Override public void loadNBTData(NBTTagCompound aNBT) { - pollution=aNBT.getInteger("ePollution"); - anomaly=aNBT.getFloat("eAnomaly"); - getBaseMetaTileEntity().setActive(anomaly>0||pollution>0); + pollution = aNBT.getInteger("ePollution"); + anomaly = aNBT.getFloat("eAnomaly"); + getBaseMetaTileEntity().setActive(anomaly > 0 || pollution > 0); } @Override @@ -106,18 +119,18 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isServerSide()) { - aBaseMetaTileEntity.setActive(anomaly>0||pollution>0); + aBaseMetaTileEntity.setActive(anomaly > 0 || pollution > 0); if (anomaly > 0) { - TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity,anomaly); + TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, anomaly); } if (pollution > 0) { GT_Pollution.addPollution(aBaseMetaTileEntity, pollution); } } else if (aBaseMetaTileEntity.isClientSide() && aBaseMetaTileEntity.isActive()) { - for(byte i=0;i<6;i++){ - if(i!=aBaseMetaTileEntity.getFrontFacing()){ + for (byte i = 0; i < 6; i++) { + if (i != aBaseMetaTileEntity.getFrontFacing()) { TecTech.proxy.em_particle(aBaseMetaTileEntity, i); - TecTech.proxy.pollutor_particle(aBaseMetaTileEntity,i); + TecTech.proxy.pollutor_particle(aBaseMetaTileEntity, i); } } } @@ -144,11 +157,13 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.debug.tt.pollutor.desc.0"),//Shit genny broke! - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.debug.tt.pollutor.desc.1"),//Infinite Producer/Consumer - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.debug.tt.pollutor.desc.2")//Since i wanted one? + return new String[] { + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.debug.tt.pollutor.desc.0"), // Shit genny broke! + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.debug.tt.pollutor.desc.1"), // Infinite Producer/Consumer + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.debug.tt.pollutor.desc.2") // Since i wanted one? }; } @@ -156,5 +171,4 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac public boolean isElectric() { return false; } - } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java index 074a07181a..a920d6db10 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java @@ -1,5 +1,9 @@ package com.github.technus.tectech.thing.metaTileEntity.single; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; +import static com.github.technus.tectech.util.CommonValues.TRANSFER_AT; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.mechanics.pipe.IConnectsToEnergyTunnel; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyTunnel; import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Energy; @@ -25,27 +29,25 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; -import static com.github.technus.tectech.util.CommonValues.TRANSFER_AT; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 23.03.2017. */ -public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_TieredMachineBlock implements IConnectsToEnergyTunnel { +public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_TieredMachineBlock + implements IConnectsToEnergyTunnel { private static GT_RenderedTexture GENNY; private boolean LASER = false; - public int EUT=0,AMP=0; - public boolean producing=true; + public int EUT = 0, AMP = 0; + public boolean producing = true; public GT_MetaTileEntity_DebugPowerGenerator(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_DebugPowerGenerator(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_DebugPowerGenerator( + String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } @Override @@ -56,7 +58,9 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie @Override public final void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { LASER = !LASER; - GT_Utility.sendChatToPlayer(aPlayer, String.format(StatCollector.translateToLocal("tt.chat.debug.generator"), LASER ? "ON" : "OFF")); + GT_Utility.sendChatToPlayer( + aPlayer, + String.format(StatCollector.translateToLocal("tt.chat.debug.generator"), LASER ? "ON" : "OFF")); } @Override @@ -67,11 +71,21 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { - return new ITexture[]{ - MACHINE_CASINGS_TT[mTier][aColorIndex + 1], - aSide != aFacing ? LASER ? (aActive ? OVERLAYS_ENERGY_OUT_LASER_TT[mTier] : OVERLAYS_ENERGY_IN_LASER_TT[mTier]) - : (aActive ? OVERLAYS_ENERGY_OUT_POWER_TT[mTier]: OVERLAYS_ENERGY_IN_POWER_TT[mTier]) : GENNY}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aFacing, + byte aColorIndex, + boolean aActive, + boolean aRedstone) { + return new ITexture[] { + MACHINE_CASINGS_TT[mTier][aColorIndex + 1], + aSide != aFacing + ? LASER + ? (aActive ? OVERLAYS_ENERGY_OUT_LASER_TT[mTier] : OVERLAYS_ENERGY_IN_LASER_TT[mTier]) + : (aActive ? OVERLAYS_ENERGY_OUT_POWER_TT[mTier] : OVERLAYS_ENERGY_IN_POWER_TT[mTier]) + : GENNY + }; } @Override @@ -101,17 +115,17 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie @Override public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setInteger("eEUT",EUT); - aNBT.setInteger("eAMP",AMP); - aNBT.setBoolean("eLaser",LASER); + aNBT.setInteger("eEUT", EUT); + aNBT.setInteger("eAMP", AMP); + aNBT.setBoolean("eLaser", LASER); } @Override public void loadNBTData(NBTTagCompound aNBT) { - EUT=aNBT.getInteger("eEUT"); - AMP=aNBT.getInteger("eAMP"); - LASER=aNBT.getBoolean("eLaser"); - producing=(long)AMP*EUT>=0; + EUT = aNBT.getInteger("eEUT"); + AMP = aNBT.getInteger("eAMP"); + LASER = aNBT.getBoolean("eLaser"); + producing = (long) AMP * EUT >= 0; getBaseMetaTileEntity().setActive(producing); } @@ -130,14 +144,12 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie } else { setEUVar(0); } - } - else { + } else { byte Tick = (byte) (aTick % 20); if (aBaseMetaTileEntity.isActive() && TRANSFER_AT == Tick) { setEUVar(maxEUStore()); moveAround(aBaseMetaTileEntity); - } - else if (TRANSFER_AT == Tick) { + } else if (TRANSFER_AT == Tick) { setEUVar(0); } } @@ -165,12 +177,14 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.debug.tt.genny.desc.0"),//Power from nothing - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.debug.tt.genny.desc.3"),// - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.debug.tt.genny.desc.1"),//Infinite Producer/Consumer - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.debug.tt.genny.desc.2")//Since i wanted one... + return new String[] { + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.debug.tt.genny.desc.0"), // Power from nothing + EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.debug.tt.genny.desc.3"), // + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.debug.tt.genny.desc.1"), // Infinite Producer/Consumer + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.debug.tt.genny.desc.2") // Since i wanted one... }; } @@ -201,32 +215,32 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie @Override public long maxAmperesIn() { - return producing?0:Math.abs(AMP); + return producing ? 0 : Math.abs(AMP); } @Override public long maxAmperesOut() { - return producing?Math.abs(AMP):0; + return producing ? Math.abs(AMP) : 0; } @Override public long maxEUInput() { - return producing?0:Integer.MAX_VALUE; + return producing ? 0 : Integer.MAX_VALUE; } @Override public long maxEUOutput() { - return producing?Math.abs(EUT):0; + return producing ? Math.abs(EUT) : 0; } @Override public long maxEUStore() { - return LASER ? Math.abs((long)EUT*AMP*24) : Math.abs((long)EUT*AMP)<<2 ; + return LASER ? Math.abs((long) EUT * AMP * 24) : Math.abs((long) EUT * AMP) << 2; } @Override public long getMinimumStoredEU() { - return Math.abs((long)EUT*AMP); + return Math.abs((long) EUT * AMP); } @Override @@ -245,29 +259,33 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie } private void moveAround(IGregTechTileEntity aBaseMetaTileEntity) { - for (byte face = 0; face < 6; face ++) { - if (face == aBaseMetaTileEntity.getFrontFacing()) - continue; + for (byte face = 0; face < 6; face++) { + if (face == aBaseMetaTileEntity.getFrontFacing()) continue; byte opposite = GT_Utility.getOppositeSide(face); for (short dist = 1; dist < 1000; dist++) { - IGregTechTileEntity tGTTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityAtSideAndDistance(face, dist); + IGregTechTileEntity tGTTileEntity = + aBaseMetaTileEntity.getIGregTechTileEntityAtSideAndDistance(face, dist); if (tGTTileEntity != null) { IMetaTileEntity aMetaTileEntity = tGTTileEntity.getMetaTileEntity(); if (aMetaTileEntity != null) { - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyTunnel && - opposite == tGTTileEntity.getFrontFacing()) { + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyTunnel + && opposite == tGTTileEntity.getFrontFacing()) { if (maxEUOutput() > ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()) { aMetaTileEntity.doExplosion(maxEUOutput()); } else { long diff = Math.min( AMP * 20L * maxEUOutput(), Math.min( - ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUStore() - - aMetaTileEntity.getBaseMetaTileEntity().getStoredEU(), - aBaseMetaTileEntity.getStoredEU() - )); + ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUStore() + - aMetaTileEntity + .getBaseMetaTileEntity() + .getStoredEU(), + aBaseMetaTileEntity.getStoredEU())); ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity) - .setEUVar(aMetaTileEntity.getBaseMetaTileEntity().getStoredEU() + diff); + .setEUVar(aMetaTileEntity + .getBaseMetaTileEntity() + .getStoredEU() + + diff); } } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Pipe_Energy) { if (((GT_MetaTileEntity_Pipe_Energy) aMetaTileEntity).connectionCount < 2) { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java index 46b3d5e927..0aeb9b853d 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.single; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_Container_DebugStructureWriter; import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_GUIContainer_DebugStructureWriter; @@ -23,9 +26,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; -import static net.minecraft.util.StatCollector.translateToLocal; - /** * Created by Tec on 23.03.2017. */ @@ -33,16 +33,17 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti private static GT_RenderedTexture MARK; public short[] numbers = new short[6]; public boolean size = false; - public String[] result = new String[]{"Undefined"}; + public String[] result = new String[] {"Undefined"}; public GT_MetaTileEntity_DebugStructureWriter(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } - public GT_MetaTileEntity_DebugStructureWriter(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + public GT_MetaTileEntity_DebugStructureWriter( + String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } @Override @@ -58,8 +59,17 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aSide != aFacing ? new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TELEPORTER_ACTIVE) : MARK}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aFacing, + byte aColorIndex, + boolean aActive, + boolean aRedstone) { + return new ITexture[] { + MACHINE_CASINGS_TT[mTier][aColorIndex + 1], + aSide != aFacing ? new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TELEPORTER_ACTIVE) : MARK + }; } @Override @@ -115,17 +125,26 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isAllowedToWork()) { -// String pseudoJavaCode = StructureUtility.getPseudoJavaCode(aBaseMetaTileEntity.getWorld(), -// ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), -// aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), -// numbers[0], numbers[1], numbers[2], -// numbers[3], numbers[4], numbers[5],false); + // String pseudoJavaCode = StructureUtility.getPseudoJavaCode(aBaseMetaTileEntity.getWorld(), + // + // ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), + // aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), + // aBaseMetaTileEntity.getZCoord(), + // numbers[0], numbers[1], numbers[2], + // numbers[3], numbers[4], numbers[5],false); String pseudoJavaCode = StructureUtility.getPseudoJavaCode( - aBaseMetaTileEntity.getWorld(), ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), - aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), - numbers[0], numbers[1], numbers[2], + aBaseMetaTileEntity.getWorld(), + ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), + aBaseMetaTileEntity.getXCoord(), + aBaseMetaTileEntity.getYCoord(), + aBaseMetaTileEntity.getZCoord(), + numbers[0], + numbers[1], + numbers[2], te -> te.getClass().getCanonicalName(), - numbers[3], numbers[4], numbers[5], + numbers[3], + numbers[4], + numbers[5], false); TecTech.LOGGER.info(pseudoJavaCode); result = pseudoJavaCode.split("\\n"); @@ -136,17 +155,25 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti @Override public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { IGregTechTileEntity aBaseMetaTileEntity = getBaseMetaTileEntity(); -// String pseudoJavaCode = StructureUtility.getPseudoJavaCode(aBaseMetaTileEntity.getWorld(), -// ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), -// aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), -// numbers[0], numbers[1], numbers[2], -// numbers[3], numbers[4], numbers[5],true); + // String pseudoJavaCode = StructureUtility.getPseudoJavaCode(aBaseMetaTileEntity.getWorld(), + // ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), + // aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), + // aBaseMetaTileEntity.getZCoord(), + // numbers[0], numbers[1], numbers[2], + // numbers[3], numbers[4], numbers[5],true); String pseudoJavaCode = StructureUtility.getPseudoJavaCode( - aBaseMetaTileEntity.getWorld(), ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), - aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), - numbers[0], numbers[1], numbers[2], + aBaseMetaTileEntity.getWorld(), + ExtendedFacing.of(ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing())), + aBaseMetaTileEntity.getXCoord(), + aBaseMetaTileEntity.getYCoord(), + aBaseMetaTileEntity.getZCoord(), + numbers[0], + numbers[1], + numbers[2], te -> te.getClass().getCanonicalName(), - numbers[3], numbers[4], numbers[5], + numbers[3], + numbers[4], + numbers[5], false); TecTech.LOGGER.info(pseudoJavaCode); result = pseudoJavaCode.split("\\n"); @@ -179,11 +206,14 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.debug.tt.writer.desc.0"),//Scans Blocks Around - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.debug.tt.writer.desc.1"),//Prints Multiblock NonTE structure check code - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.debug.tt.writer.desc.2")//ABC axises aligned to machine front + return new String[] { + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.debug.tt.writer.desc.0"), // Scans Blocks Around + EnumChatFormatting.BLUE + + translateToLocal( + "gt.blockmachines.debug.tt.writer.desc.1"), // Prints Multiblock NonTE structure check code + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.debug.tt.writer.desc.2") // ABC axises aligned to machine front }; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_MicroController.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_MicroController.java index 4c4e035d44..82b1295351 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_MicroController.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_MicroController.java @@ -1,5 +1,9 @@ package com.github.technus.tectech.thing.metaTileEntity.single; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; +import static com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_DataReader.READER_OFFLINE; +import static com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_DataReader.READER_ONLINE; + import com.github.technus.avrClone.AvrCore; import com.github.technus.avrClone.instructions.ExecutionEvent; import com.github.technus.avrClone.instructions.Instruction; @@ -21,39 +25,36 @@ import gregtech.api.objects.GT_RenderedTexture; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; -import static com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_DataReader.READER_OFFLINE; -import static com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_DataReader.READER_ONLINE; - public class GT_MetaTileEntity_MicroController extends GT_MetaTileEntity_TieredMachineBlock { - public static final int OPS_PER_TICK_MAX =512; + public static final int OPS_PER_TICK_MAX = 512; static { - Instruction.random= TecTech.RANDOM; + Instruction.random = TecTech.RANDOM; } + public AvrCore core; private int[] tempData; public boolean debugRun; private int delay; private int maxLoad; - public static final SidedRedstone sidedRedstone=new SidedRedstone(0x16); + public static final SidedRedstone sidedRedstone = new SidedRedstone(0x16); public GT_MetaTileEntity_MicroController(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, "AVR Micro-controller"); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_MicroController(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); - TT_Utility.setTier(aTier,this); - core=new AvrCore(); + TT_Utility.setTier(aTier, this); + core = new AvrCore(); core.setUsingImmersiveOperands(false); core.setInstructionRegistry(InstructionRegistry.INSTRUCTION_REGISTRY_OP); - core.setDataMemory(Math.max(64,1< eeprom=core.getEepromMemory(); - if(eeprom!=null){ - avr.setInteger("eepromSize",eeprom.getDefinition().getSize()); + RemovableMemory eeprom = core.getEepromMemory(); + if (eeprom != null) { + avr.setInteger("eepromSize", eeprom.getDefinition().getSize()); } - if(core.dataMemory!=null){ - avr.setIntArray("dataMemory",core.dataMemory); + if (core.dataMemory != null) { + avr.setIntArray("dataMemory", core.dataMemory); } - tag.setTag("avr",avr); + tag.setTag("avr", avr); } @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (tempData != null) { - //todo discovery of components + // todo discovery of components core.dataMemory = tempData; tempData = null; } if (aBaseMetaTileEntity.isActive()) { - sidedRedstone.preSync(core,aBaseMetaTileEntity); + sidedRedstone.preSync(core, aBaseMetaTileEntity); core.interruptsHandle(); if (core.awoken) { - delay=0; - for (int load=0; load < maxLoad;) { - load+=core.getInstruction().getCost(core); + delay = 0; + for (int load = 0; load < maxLoad; ) { + load += core.getInstruction().getCost(core); ExecutionEvent executionEvent = core.cpuCycleForce(); if (executionEvent != null) { if (executionEvent.throwable instanceof DelayEvent) { delay = executionEvent.data[0]; break; } else if (executionEvent.throwable instanceof DebugEvent) { - if(debugRun) { + if (debugRun) { aBaseMetaTileEntity.setActive(false); break; } } } } - }else if(delay>0){ + } else if (delay > 0) { delay--; - if(delay==0){ - core.awoken=true; + if (delay == 0) { + core.awoken = true; } } - sidedRedstone.postSync(core,aBaseMetaTileEntity); + sidedRedstone.postSync(core, aBaseMetaTileEntity); } - core.active=aBaseMetaTileEntity.isActive(); + core.active = aBaseMetaTileEntity.isActive(); } @Override @@ -166,19 +165,30 @@ public class GT_MetaTileEntity_MicroController extends GT_MetaTileEntity_TieredM } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { - if(aBaseMetaTileEntity.getWorld()==null){ - if(aSide==aFacing){ - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aFacing, + byte aColorIndex, + boolean aActive, + boolean aRedstone) { + if (aBaseMetaTileEntity.getWorld() == null) { + if (aSide == aFacing) { + return new ITexture[] { + MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE + }; } - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; + return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; } - if(aSide==aBaseMetaTileEntity.getFrontFacing()){ - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE}; - }else if(aSide==aFacing){ - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT)}; + if (aSide == aBaseMetaTileEntity.getFrontFacing()) { + return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? READER_ONLINE : READER_OFFLINE + }; + } else if (aSide == aFacing) { + return new ITexture[] { + MACHINE_CASINGS_TT[mTier][aColorIndex + 1], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT) + }; } - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; + return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1]}; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_OwnerDetector.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_OwnerDetector.java index 57009c2e35..1a7048fed4 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_OwnerDetector.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_OwnerDetector.java @@ -1,5 +1,10 @@ package com.github.technus.tectech.thing.metaTileEntity.single; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; +import static com.github.technus.tectech.util.CommonValues.RECIPE_AT; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + import com.github.technus.tectech.TecTech; import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; @@ -21,27 +26,22 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import org.apache.commons.lang3.reflect.FieldUtils; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; -import static com.github.technus.tectech.util.CommonValues.RECIPE_AT; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - /** * Created by Tec on 23.03.2017. */ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMachineBlock { - private static GT_RenderedTexture OWNER_ONLINE,OWNER_OFFLINE; + private static GT_RenderedTexture OWNER_ONLINE, OWNER_OFFLINE; private String uuid; - private boolean interdimensional=true; + private boolean interdimensional = true; public GT_MetaTileEntity_OwnerDetector(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 0, ""); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } public GT_MetaTileEntity_OwnerDetector(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); - TT_Utility.setTier(aTier,this); + TT_Utility.setTier(aTier, this); } @Override @@ -58,8 +58,14 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac } @Override - public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { - return new ITexture[]{MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? OWNER_ONLINE : OWNER_OFFLINE}; + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aFacing, + byte aColorIndex, + boolean aActive, + boolean aRedstone) { + return new ITexture[] {MACHINE_CASINGS_TT[mTier][aColorIndex + 1], aActive ? OWNER_ONLINE : OWNER_OFFLINE}; } @Override @@ -89,14 +95,14 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac @Override public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setString("eUUID",uuid); - aNBT.setBoolean("eInterDim",interdimensional); + aNBT.setString("eUUID", uuid); + aNBT.setBoolean("eInterDim", interdimensional); } @Override public void loadNBTData(NBTTagCompound aNBT) { - uuid=aNBT.getString("eUUID"); - interdimensional=aNBT.getBoolean("eInterDim"); + uuid = aNBT.getString("eUUID"); + interdimensional = aNBT.getBoolean("eInterDim"); } @Override @@ -106,11 +112,11 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac @Override public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { - if(aBaseMetaTileEntity.isServerSide()) { + if (aBaseMetaTileEntity.isServerSide()) { if (uuid == null || uuid.length() == 0) { String name = aBaseMetaTileEntity.getOwnerName(); if (!("Player".equals(name))) { - uuid= TecTech.proxy.getUUID(name); + uuid = TecTech.proxy.getUUID(name); } } } @@ -118,13 +124,16 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - if (aBaseMetaTileEntity.isServerSide() && aTick%20==RECIPE_AT) { - boolean detected=TecTech.proxy.isOnlineUUID(uuid) || (uuid!=null && uuid.length()>0 && TecTech.proxy.isOnlineName(aBaseMetaTileEntity.getOwnerName())); + if (aBaseMetaTileEntity.isServerSide() && aTick % 20 == RECIPE_AT) { + boolean detected = TecTech.proxy.isOnlineUUID(uuid) + || (uuid != null + && uuid.length() > 0 + && TecTech.proxy.isOnlineName(aBaseMetaTileEntity.getOwnerName())); aBaseMetaTileEntity.setActive(detected); aBaseMetaTileEntity.setGenericRedstoneOutput(detected); - byte value=(byte)(detected?15:0); - for(byte b=0;b<6;b++){ - aBaseMetaTileEntity.setStrongOutputRedstoneSignal(b,value); + byte value = (byte) (detected ? 15 : 0); + for (byte b = 0; b < 6; b++) { + aBaseMetaTileEntity.setStrongOutputRedstoneSignal(b, value); } } } @@ -139,7 +148,11 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac clientLocale = "en_US"; } interdimensional ^= true; - GT_Utility.sendChatToPlayer(aPlayer, interdimensional ? translateToLocalFormatted("tt.keyphrase.Running_interdimensional_scan", clientLocale) : translateToLocalFormatted("tt.keyphrase.Running_local_dimension_scan", clientLocale)); + GT_Utility.sendChatToPlayer( + aPlayer, + interdimensional + ? translateToLocalFormatted("tt.keyphrase.Running_interdimensional_scan", clientLocale) + : translateToLocalFormatted("tt.keyphrase.Running_local_dimension_scan", clientLocale)); } @Override @@ -154,11 +167,13 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac @Override public String[] getDescription() { - return new String[]{ - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.machine.tt.ownerdetector.desc.0"),//Screwdrive to change mode - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.machine.tt.ownerdetector.desc.1"),//Looks for his pa - EnumChatFormatting.BLUE + translateToLocal("gt.blockmachines.machine.tt.ownerdetector.desc.2")//Emits signal when happy + return new String[] { + CommonValues.TEC_MARK_GENERAL, + translateToLocal("gt.blockmachines.machine.tt.ownerdetector.desc.0"), // Screwdrive to change mode + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.machine.tt.ownerdetector.desc.1"), // Looks for his pa + EnumChatFormatting.BLUE + + translateToLocal("gt.blockmachines.machine.tt.ownerdetector.desc.2") // Emits signal when happy }; } @@ -219,7 +234,7 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac @Override public int getProgresstime() { - return interdimensional?1:0; + return interdimensional ? 1 : 0; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TT_Transformer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TT_Transformer.java index c5391537a6..0e997f1eb0 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TT_Transformer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TT_Transformer.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.single; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; import gregtech.api.interfaces.ITexture; @@ -7,9 +10,6 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Transformer; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; -import static net.minecraft.util.StatCollector.translateToLocal; - public class GT_MetaTileEntity_TT_Transformer extends GT_MetaTileEntity_Transformer { public GT_MetaTileEntity_TT_Transformer(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, ""); @@ -30,24 +30,36 @@ public class GT_MetaTileEntity_TT_Transformer extends GT_MetaTileEntity_Transfor public ITexture[][][] getTextureSet(ITexture[] aTextures) { ITexture[][][] rTextures = new ITexture[12][17][]; for (byte b = -1; b < 16; b++) { - rTextures[0][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_MULTI_TT[mTier]}; - rTextures[1][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_MULTI_TT[mTier]}; - rTextures[2][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_MULTI_TT[mTier]}; - rTextures[3][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_POWER_TT[mTier + 1]}; - rTextures[4][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_POWER_TT[mTier + 1]}; - rTextures[5][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_POWER_TT[mTier + 1]}; - rTextures[6][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_MULTI_TT[mTier]}; - rTextures[7][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_MULTI_TT[mTier]}; - rTextures[8][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_MULTI_TT[mTier]}; - rTextures[9][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_POWER_TT[mTier + 1]}; - rTextures[10][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_POWER_TT[mTier + 1]}; - rTextures[11][b + 1] = new ITexture[]{MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_POWER_TT[mTier + 1]}; + rTextures[0][b + 1] = + new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_MULTI_TT[mTier]}; + rTextures[1][b + 1] = + new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_MULTI_TT[mTier]}; + rTextures[2][b + 1] = + new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_MULTI_TT[mTier]}; + rTextures[3][b + 1] = + new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_POWER_TT[mTier + 1]}; + rTextures[4][b + 1] = + new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_POWER_TT[mTier + 1]}; + rTextures[5][b + 1] = + new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_POWER_TT[mTier + 1]}; + rTextures[6][b + 1] = new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_MULTI_TT[mTier]}; + rTextures[7][b + 1] = new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_MULTI_TT[mTier]}; + rTextures[8][b + 1] = new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_IN_MULTI_TT[mTier]}; + rTextures[9][b + 1] = + new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_POWER_TT[mTier + 1]}; + rTextures[10][b + 1] = + new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_POWER_TT[mTier + 1]}; + rTextures[11][b + 1] = + new ITexture[] {MACHINE_CASINGS_TT[mTier][b + 1], OVERLAYS_ENERGY_OUT_POWER_TT[mTier + 1]}; } return rTextures; } @Override public String[] getDescription() { - return new String[]{translateToLocal("gt.blockmachines.tt.transformer.tier." + (mTier > 9 ? "" : "0") + mTier + ".desc"), CommonValues.TEC_MARK_GENERAL}; + return new String[] { + translateToLocal("gt.blockmachines.tt.transformer.tier." + (mTier > 9 ? "" : "0") + mTier + ".desc"), + CommonValues.TEC_MARK_GENERAL + }; } -} \ No newline at end of file +} 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 index 8ca4844043..a6abe44064 100644 --- 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 @@ -1,349 +1,384 @@ -package com.github.technus.tectech.thing.metaTileEntity.single; - -import com.github.technus.tectech.TecTech; -import com.github.technus.tectech.loader.NetworkDispatcher; -import com.github.technus.tectech.mechanics.spark.RendererMessage; -import com.github.technus.tectech.mechanics.spark.ThaumSpark; -import com.github.technus.tectech.mechanics.tesla.ITeslaConnectable; -import com.github.technus.tectech.mechanics.tesla.ITeslaConnectableSimple; -import com.github.technus.tectech.util.CommonValues; -import com.github.technus.tectech.util.TT_Utility; -import com.google.common.collect.Multimap; -import com.google.common.collect.MultimapBuilder; -import com.gtnewhorizon.structurelib.util.Vec3Impl; -import eu.usrv.yamcore.auxiliary.PlayerChatHelper; -import gregtech.api.interfaces.ITexture; -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.entity.player.EntityPlayerMP; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import org.apache.commons.lang3.ArrayUtils; -import org.apache.commons.lang3.reflect.FieldUtils; - -import java.util.Arrays; -import java.util.HashSet; - -import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.*; -import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; -import static com.github.technus.tectech.util.CommonValues.V; -import static java.lang.Math.round; -import static net.minecraft.util.StatCollector.translateToLocal; -import static net.minecraft.util.StatCollector.translateToLocalFormatted; - -public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryBuffer implements ITeslaConnectable { - //Interface fields - private final Multimap teslaNodeMap = MultimapBuilder.treeKeys().linkedListValues().build(); - private final HashSet sparkList = new HashSet<>(); - private int sparkCount = 10; - - private final static int transferRadiusMax = TecTech.configTecTech.TESLA_SINGLE_RANGE;//Default is 20 - private final static int perBlockLoss = TecTech.configTecTech.TESLA_SINGLE_LOSS_PER_BLOCK;//Default is 1 - private final static float overDriveLoss = TecTech.configTecTech.TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE;//Default is 0.25F - private final static int transferRadiusMin = 4;//Minimum user configurable - private int transferRadius = transferRadiusMax;//Default transferRadius setting - - public boolean powerPassToggle = false;//Power Pass for public viewing - private final static int histSteps = 20;//Hysteresis Resolution - private int histSettingLow = 3;//Hysteresis Low Limit - private int histSettingHigh = 15;//Hysteresis High Limit - private final static int histLowLimit = 1;//How low can you configure it? - private final static 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 final long outputVoltage = V[mTier]; - private boolean overdriveToggle = false; - - private String clientLocale = "en_US"; - - public GT_MetaTileEntity_TeslaCoil(int aID, String aName, String aNameRegional, int aTier, int aSlotCount) { - super(aID, aName, aNameRegional, aTier, "", aSlotCount); - TT_Utility.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[]{ - CommonValues.BASS_MARK, - translateToLocal("gt.blockmachines.machine.tt.tesla.desc.0"),//Your Tesla I/O machine of choice - EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.machine.tt.tesla.desc.1")//Lightning stoves for the rich - }; - String[] sDesc = super.getDescription(); - sDesc = Arrays.copyOfRange(sDesc, 1, sDesc.length);//Removes first element from array - return ArrayUtils.addAll(jargon, sDesc); - } - - @Override - public boolean onSolderingToolRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { - if (overdriveToggle) { - overdriveToggle = false; - PlayerChatHelper.SendInfo(aPlayer, translateToLocalFormatted("tt.keyphrase.Overdrive_disengaged", clientLocale)); - } else { - overdriveToggle = true; - PlayerChatHelper.SendInfo(aPlayer, translateToLocalFormatted("tt.keyphrase.Overdrive_engaged", clientLocale)); - } - 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, translateToLocalFormatted("tt.keyphrase.Hysteresis_high_set_to", clientLocale) + " " + round(histHigh * 100F) + "%"); - } else { - if (histSettingLow > histLowLimit) { - histSettingLow--; - } else { - histSettingLow = histSettingHigh - 1; - } - histLow = (float) histSettingLow / histSteps; - PlayerChatHelper.SendInfo(aPlayer, translateToLocalFormatted("tt.keyphrase.Hysteresis_low_set_to", clientLocale) + " " + round(histLow * 100F) + "%"); - } - } - - @Override - public boolean onWireCutterRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { - if (aPlayer.isSneaking()) { - if (transferRadius > transferRadiusMin) { - transferRadius--; - } - } else { - if (transferRadius < transferRadiusMax) { - transferRadius++; - } - } - PlayerChatHelper.SendInfo(aPlayer, translateToLocalFormatted("tt.keyphrase.Tesla_radius_set_to", clientLocale) + " " + 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 ? translateToLocalFormatted("tt.keyphrase.Sending_power", clientLocale) + "!" : translateToLocalFormatted("tt.keyphrase.Receiving_power", clientLocale) + "!"; - } - - @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[]{MACHINE_CASINGS_TT[this.mTier][i + 1]}; - rTextures[1][i + 1] = new ITexture[]{MACHINE_CASINGS_TT[this.mTier][i + 1], TESLA_TRANSCEIVER_TOP_BA}; - rTextures[2][i + 1] = new ITexture[]{MACHINE_CASINGS_TT[this.mTier][i + 1], this.mInventory.length == 16 ? OVERLAYS_ENERGY_OUT_POWER_TT[this.mTier] : (this.mInventory.length > 4 ? OVERLAYS_ENERGY_OUT_MULTI_TT[this.mTier] : OVERLAYS_ENERGY_OUT_TT[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); - } - - @Override - public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { - super.onFirstTick(aBaseMetaTileEntity); - if (!aBaseMetaTileEntity.isClientSide()) { - teslaSimpleNodeSetAdd(this); - generateTeslaNodeMap(this); - } - } - - @Override - public void onRemoval() { - super.onRemoval(); - if (!this.getBaseMetaTileEntity().isClientSide()) { - teslaSimpleNodeSetRemove(this); - } - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - teslaSimpleNodeSetAdd(this); - } - - @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; - } - - //Send Power - powerTeslaNodeMap(this); - - //TODO Encapsulate the spark sender - sparkCount--; - if (sparkCount == 0){ - sparkCount = 10; - if(!sparkList.isEmpty()){ - NetworkDispatcher.INSTANCE.sendToAllAround(new RendererMessage.RendererData(sparkList), - aBaseMetaTileEntity.getWorld().provider.dimensionId, - aBaseMetaTileEntity.getXCoord(), - aBaseMetaTileEntity.getYCoord(), - aBaseMetaTileEntity.getZCoord(), - 256); - sparkList.clear(); - } - } - } - - @Override - public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - if (aBaseMetaTileEntity.isServerSide()) { - try { - EntityPlayerMP player = (EntityPlayerMP) aPlayer; - clientLocale = (String) FieldUtils.readField(player, "translator", true); - } catch (Exception e) { - clientLocale = "en_US"; - } - aBaseMetaTileEntity.openGUI(aPlayer); - } - return true; - } - - @Override - public byte getTeslaReceptionCapability() { - return 1; - } - - @Override - public float getTeslaReceptionCoefficient() { - return 1; - } - - @Override - public Multimap getTeslaNodeMap() { - return teslaNodeMap; - } - - @Override - public HashSet getSparkList() { - return sparkList; - } - - @Override - public byte getTeslaTransmissionCapability() { - return 2; - } - - @Override - public int getTeslaTransmissionRange() { - return transferRadius; - } - - @Override - public boolean isOverdriveEnabled() { - return overdriveToggle; - } - - @Override - public int getTeslaEnergyLossPerBlock() { - return perBlockLoss; - } - - @Override - public float getTeslaOverdriveLossCoefficient() { - return overDriveLoss; - } - - @Override - public long getTeslaOutputVoltage() { - return outputVoltage; - } - - @Override - public long getTeslaOutputCurrent() { - return mBatteryCount; - } - - @Override - public boolean teslaDrainEnergy(long teslaVoltageDrained) { - if (getEUVar() < teslaVoltageDrained) { - return false; - } - - setEUVar(getEUVar() - teslaVoltageDrained); - return true; - } - - @Override - public boolean isTeslaReadyToReceive() { - return !this.powerPassToggle; - } - - @Override - public long getTeslaStoredEnergy() { - return getEUVar(); - } - - @Override - public Vec3Impl getTeslaPosition() { - return new Vec3Impl(this.getBaseMetaTileEntity().getXCoord(), - this.getBaseMetaTileEntity().getYCoord(), - this.getBaseMetaTileEntity().getZCoord()); - } - - @Override - public Integer getTeslaDimension() { - return this.getBaseMetaTileEntity().getWorld().provider.dimensionId; - } - - @Override - public boolean teslaInjectEnergy(long teslaVoltageInjected) { - return this.getBaseMetaTileEntity().injectEnergyUnits((byte) 1, teslaVoltageInjected, 1L) > 0L; - } -} +package com.github.technus.tectech.thing.metaTileEntity.single; + +import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.*; +import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; +import static com.github.technus.tectech.util.CommonValues.V; +import static java.lang.Math.round; +import static net.minecraft.util.StatCollector.translateToLocal; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; + +import com.github.technus.tectech.TecTech; +import com.github.technus.tectech.loader.NetworkDispatcher; +import com.github.technus.tectech.mechanics.spark.RendererMessage; +import com.github.technus.tectech.mechanics.spark.ThaumSpark; +import com.github.technus.tectech.mechanics.tesla.ITeslaConnectable; +import com.github.technus.tectech.mechanics.tesla.ITeslaConnectableSimple; +import com.github.technus.tectech.util.CommonValues; +import com.github.technus.tectech.util.TT_Utility; +import com.google.common.collect.Multimap; +import com.google.common.collect.MultimapBuilder; +import com.gtnewhorizon.structurelib.util.Vec3Impl; +import eu.usrv.yamcore.auxiliary.PlayerChatHelper; +import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.MetaTileEntity; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicBatteryBuffer; +import java.util.Arrays; +import java.util.HashSet; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.reflect.FieldUtils; + +public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryBuffer implements ITeslaConnectable { + // Interface fields + private final Multimap teslaNodeMap = + MultimapBuilder.treeKeys().linkedListValues().build(); + private final HashSet sparkList = new HashSet<>(); + private int sparkCount = 10; + + private static final int transferRadiusMax = TecTech.configTecTech.TESLA_SINGLE_RANGE; // Default is 20 + private static final int perBlockLoss = TecTech.configTecTech.TESLA_SINGLE_LOSS_PER_BLOCK; // Default is 1 + private static final float overDriveLoss = + TecTech.configTecTech.TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE; // Default is 0.25F + private static final int transferRadiusMin = 4; // Minimum user configurable + private int transferRadius = transferRadiusMax; // Default transferRadius setting + + public boolean powerPassToggle = false; // Power Pass for public viewing + private static final int histSteps = 20; // Hysteresis Resolution + private int histSettingLow = 3; // Hysteresis Low Limit + private int histSettingHigh = 15; // Hysteresis High Limit + private static final int histLowLimit = 1; // How low can you configure it? + private static final 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 final long outputVoltage = V[mTier]; + private boolean overdriveToggle = false; + + private String clientLocale = "en_US"; + + public GT_MetaTileEntity_TeslaCoil(int aID, String aName, String aNameRegional, int aTier, int aSlotCount) { + super(aID, aName, aNameRegional, aTier, "", aSlotCount); + TT_Utility.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[] { + CommonValues.BASS_MARK, + translateToLocal("gt.blockmachines.machine.tt.tesla.desc.0"), // Your Tesla I/O machine of choice + EnumChatFormatting.AQUA + + translateToLocal("gt.blockmachines.machine.tt.tesla.desc.1") // Lightning stoves for the rich + }; + String[] sDesc = super.getDescription(); + sDesc = Arrays.copyOfRange(sDesc, 1, sDesc.length); // Removes first element from array + return ArrayUtils.addAll(jargon, sDesc); + } + + @Override + public boolean onSolderingToolRightClick( + byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + if (overdriveToggle) { + overdriveToggle = false; + PlayerChatHelper.SendInfo( + aPlayer, translateToLocalFormatted("tt.keyphrase.Overdrive_disengaged", clientLocale)); + } else { + overdriveToggle = true; + PlayerChatHelper.SendInfo( + aPlayer, translateToLocalFormatted("tt.keyphrase.Overdrive_engaged", clientLocale)); + } + 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, + translateToLocalFormatted("tt.keyphrase.Hysteresis_high_set_to", clientLocale) + " " + + round(histHigh * 100F) + "%"); + } else { + if (histSettingLow > histLowLimit) { + histSettingLow--; + } else { + histSettingLow = histSettingHigh - 1; + } + histLow = (float) histSettingLow / histSteps; + PlayerChatHelper.SendInfo( + aPlayer, + translateToLocalFormatted("tt.keyphrase.Hysteresis_low_set_to", clientLocale) + " " + + round(histLow * 100F) + "%"); + } + } + + @Override + public boolean onWireCutterRightClick( + byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + if (aPlayer.isSneaking()) { + if (transferRadius > transferRadiusMin) { + transferRadius--; + } + } else { + if (transferRadius < transferRadiusMax) { + transferRadius++; + } + } + PlayerChatHelper.SendInfo( + aPlayer, + translateToLocalFormatted("tt.keyphrase.Tesla_radius_set_to", clientLocale) + " " + 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 + ? translateToLocalFormatted("tt.keyphrase.Sending_power", clientLocale) + "!" + : translateToLocalFormatted("tt.keyphrase.Receiving_power", clientLocale) + "!"; + } + + @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[] {MACHINE_CASINGS_TT[this.mTier][i + 1]}; + rTextures[1][i + 1] = new ITexture[] {MACHINE_CASINGS_TT[this.mTier][i + 1], TESLA_TRANSCEIVER_TOP_BA}; + rTextures[2][i + 1] = new ITexture[] { + MACHINE_CASINGS_TT[this.mTier][i + 1], + this.mInventory.length == 16 + ? OVERLAYS_ENERGY_OUT_POWER_TT[this.mTier] + : (this.mInventory.length > 4 + ? OVERLAYS_ENERGY_OUT_MULTI_TT[this.mTier] + : OVERLAYS_ENERGY_OUT_TT[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); + } + + @Override + public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) { + super.onFirstTick(aBaseMetaTileEntity); + if (!aBaseMetaTileEntity.isClientSide()) { + teslaSimpleNodeSetAdd(this); + generateTeslaNodeMap(this); + } + } + + @Override + public void onRemoval() { + super.onRemoval(); + if (!this.getBaseMetaTileEntity().isClientSide()) { + teslaSimpleNodeSetRemove(this); + } + } + + @Override + public void loadNBTData(NBTTagCompound aNBT) { + super.loadNBTData(aNBT); + teslaSimpleNodeSetAdd(this); + } + + @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; + } + + // Send Power + powerTeslaNodeMap(this); + + // TODO Encapsulate the spark sender + sparkCount--; + if (sparkCount == 0) { + sparkCount = 10; + if (!sparkList.isEmpty()) { + NetworkDispatcher.INSTANCE.sendToAllAround( + new RendererMessage.RendererData(sparkList), + aBaseMetaTileEntity.getWorld().provider.dimensionId, + aBaseMetaTileEntity.getXCoord(), + aBaseMetaTileEntity.getYCoord(), + aBaseMetaTileEntity.getZCoord(), + 256); + sparkList.clear(); + } + } + } + + @Override + public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { + if (aBaseMetaTileEntity.isServerSide()) { + try { + EntityPlayerMP player = (EntityPlayerMP) aPlayer; + clientLocale = (String) FieldUtils.readField(player, "translator", true); + } catch (Exception e) { + clientLocale = "en_US"; + } + aBaseMetaTileEntity.openGUI(aPlayer); + } + return true; + } + + @Override + public byte getTeslaReceptionCapability() { + return 1; + } + + @Override + public float getTeslaReceptionCoefficient() { + return 1; + } + + @Override + public Multimap getTeslaNodeMap() { + return teslaNodeMap; + } + + @Override + public HashSet getSparkList() { + return sparkList; + } + + @Override + public byte getTeslaTransmissionCapability() { + return 2; + } + + @Override + public int getTeslaTransmissionRange() { + return transferRadius; + } + + @Override + public boolean isOverdriveEnabled() { + return overdriveToggle; + } + + @Override + public int getTeslaEnergyLossPerBlock() { + return perBlockLoss; + } + + @Override + public float getTeslaOverdriveLossCoefficient() { + return overDriveLoss; + } + + @Override + public long getTeslaOutputVoltage() { + return outputVoltage; + } + + @Override + public long getTeslaOutputCurrent() { + return mBatteryCount; + } + + @Override + public boolean teslaDrainEnergy(long teslaVoltageDrained) { + if (getEUVar() < teslaVoltageDrained) { + return false; + } + + setEUVar(getEUVar() - teslaVoltageDrained); + return true; + } + + @Override + public boolean isTeslaReadyToReceive() { + return !this.powerPassToggle; + } + + @Override + public long getTeslaStoredEnergy() { + return getEUVar(); + } + + @Override + public Vec3Impl getTeslaPosition() { + return new Vec3Impl( + this.getBaseMetaTileEntity().getXCoord(), + this.getBaseMetaTileEntity().getYCoord(), + this.getBaseMetaTileEntity().getZCoord()); + } + + @Override + public Integer getTeslaDimension() { + return this.getBaseMetaTileEntity().getWorld().provider.dimensionId; + } + + @Override + public boolean teslaInjectEnergy(long teslaVoltageInjected) { + return this.getBaseMetaTileEntity().injectEnergyUnits((byte) 1, teslaVoltageInjected, 1L) > 0L; + } +} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_WetTransformer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_WetTransformer.java index ca937f813c..86cc4395fb 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_WetTransformer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_WetTransformer.java @@ -1,13 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.single; +import static com.github.technus.tectech.util.CommonValues.V; +import static net.minecraft.util.StatCollector.translateToLocal; + import com.github.technus.tectech.util.CommonValues; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; - public class GT_MetaTileEntity_WetTransformer extends GT_MetaTileEntity_TT_Transformer { public GT_MetaTileEntity_WetTransformer(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier); @@ -24,7 +24,11 @@ public class GT_MetaTileEntity_WetTransformer extends GT_MetaTileEntity_TT_Trans @Override public String[] getDescription() { - return new String[]{translateToLocal("gt.blockmachines.wetransformer.tier." + (mTier > 9 ? "" : "0") + mTier + ".desc"), "Accepts 16A and outputs 64A", CommonValues.TEC_MARK_GENERAL}; + return new String[] { + translateToLocal("gt.blockmachines.wetransformer.tier." + (mTier > 9 ? "" : "0") + mTier + ".desc"), + "Accepts 16A and outputs 64A", + CommonValues.TEC_MARK_GENERAL + }; } @Override @@ -37,7 +41,6 @@ public class GT_MetaTileEntity_WetTransformer extends GT_MetaTileEntity_TT_Trans return 512L + V[mTier + 1] * 128L; } - @Override public long maxAmperesOut() { return getBaseMetaTileEntity().isAllowedToWork() ? 64 : 16; @@ -47,4 +50,4 @@ public class GT_MetaTileEntity_WetTransformer extends GT_MetaTileEntity_TT_Trans public long maxAmperesIn() { return getBaseMetaTileEntity().isAllowedToWork() ? 16 : 64; } -} \ No newline at end of file +} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_BuckConverter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_BuckConverter.java index 2f0325c776..35950cc27c 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_BuckConverter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_BuckConverter.java @@ -12,9 +12,8 @@ import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -public class GT_Container_BuckConverter - extends GT_ContainerMetaTile_Machine { - public int EUT=0,AMP=0; +public class GT_Container_BuckConverter extends GT_ContainerMetaTile_Machine { + public int EUT = 0, AMP = 0; public GT_Container_BuckConverter(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(aInventoryPlayer, aTileEntity); @@ -100,9 +99,10 @@ public class GT_Container_BuckConverter case 15: buck.AMP *= aShifthold == 1 ? 16 : 2; break; - default: return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); + default: + return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); } - buck.getBaseMetaTileEntity().setActive((long)AMP*EUT>=0); + buck.getBaseMetaTileEntity().setActive((long) AMP * EUT >= 0); return null; } return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); @@ -116,9 +116,9 @@ public class GT_Container_BuckConverter } GT_MetaTileEntity_BuckConverter buck = (GT_MetaTileEntity_BuckConverter) mTileEntity.getMetaTileEntity(); - EUT=buck.EUT; - AMP=buck.AMP; - buck.getBaseMetaTileEntity().setActive((long)AMP*EUT>=0); + EUT = buck.EUT; + AMP = buck.AMP; + buck.getBaseMetaTileEntity().setActive((long) AMP * EUT >= 0); for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DataReader.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DataReader.java index a7f31dc103..57eda3f1d5 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DataReader.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DataReader.java @@ -19,31 +19,31 @@ public class GT_Container_DataReader extends GT_Container_BasicTank { @Override public void addSlots(InventoryPlayer aInventoryPlayer) { - //this.addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 0, 8, 63, false, true, 1)); - //this.addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 0, 26, 63, false, true, 1)); - //this.addSlotToContainer(new GT_Slot_Render(this.mTileEntity, 2, 107, 63)); + // this.addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 0, 8, 63, false, true, 1)); + // this.addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 0, 26, 63, false, true, 1)); + // this.addSlotToContainer(new GT_Slot_Render(this.mTileEntity, 2, 107, 63)); - int tStartIndex = ((GT_MetaTileEntity_BasicMachine)this.mTileEntity.getMetaTileEntity()).getInputSlot(); + int tStartIndex = ((GT_MetaTileEntity_BasicMachine) this.mTileEntity.getMetaTileEntity()).getInputSlot(); this.addSlotToContainer(new Slot(this.mTileEntity, tStartIndex, 53, 153)); - tStartIndex = ((GT_MetaTileEntity_BasicMachine)this.mTileEntity.getMetaTileEntity()).getOutputSlot(); + tStartIndex = ((GT_MetaTileEntity_BasicMachine) this.mTileEntity.getMetaTileEntity()).getOutputSlot(); this.addSlotToContainer(new GT_Slot_Output(this.mTileEntity, tStartIndex, 107, 153)); this.addSlotToContainer(new Slot(this.mTileEntity, 1, 17, 153)); - //this.addSlotToContainer(new Slot(this.mTileEntity, 3, 125, 63)); - //this.addSlotToContainer(new GT_Slot_Render(this.mTileEntity, tStartIndex, 53, 63)); + // this.addSlotToContainer(new Slot(this.mTileEntity, 3, 125, 63)); + // this.addSlotToContainer(new GT_Slot_Render(this.mTileEntity, tStartIndex, 53, 63)); } @Override protected void bindPlayerInventory(InventoryPlayer aInventoryPlayer) { int i; - for(i = 0; i < 3; ++i) { - for(int j = 0; j < 9; ++j) { + for (i = 0; i < 3; ++i) { + for (int j = 0; j < 9; ++j) { this.addSlotToContainer(new Slot(aInventoryPlayer, j + i * 9 + 9, 8 + j * 18, 174 + i * 18)); } } - for(i = 0; i < 9; ++i) { + for (i = 0; i < 9; ++i) { this.addSlotToContainer(new Slot(aInventoryPlayer, i, 8 + i * 18, 232)); } } @@ -52,13 +52,12 @@ public class GT_Container_DataReader extends GT_Container_BasicTank { public void detectAndSendChanges() { super.detectAndSendChanges(); if (!this.mTileEntity.isClientSide() && this.mTileEntity.getMetaTileEntity() != null) { - this.mStuttering = ((GT_MetaTileEntity_BasicMachine)this.mTileEntity.getMetaTileEntity()).mStuttering; + this.mStuttering = ((GT_MetaTileEntity_BasicMachine) this.mTileEntity.getMetaTileEntity()).mStuttering; for (Object crafter : this.crafters) { ICrafting var1 = (ICrafting) crafter; var1.sendProgressBarUpdate(this, 102, this.mStuttering ? 1 : 0); } - } } @@ -74,7 +73,6 @@ public class GT_Container_DataReader extends GT_Container_BasicTank { if (par1 == 102) { this.mStuttering = par2 != 0; } - } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java index e74c51ab90..097464efe8 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java @@ -13,8 +13,7 @@ import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -public class GT_Container_DebugPollutor - extends GT_ContainerMetaTile_Machine { +public class GT_Container_DebugPollutor extends GT_ContainerMetaTile_Machine { public int pollution; public float anomaly; private int anomalyInt; @@ -103,12 +102,13 @@ public class GT_Container_DebugPollutor case 15: dpg.anomaly *= aShifthold == 1 ? 16 : 2; break; - default: return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); + default: + return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); } - if(dpg.anomaly==Float.POSITIVE_INFINITY){ - dpg.anomaly=Float.MAX_VALUE; - }else if (dpg.anomaly==Float.NEGATIVE_INFINITY){ - dpg.anomaly=-Float.MAX_VALUE; + if (dpg.anomaly == Float.POSITIVE_INFINITY) { + dpg.anomaly = Float.MAX_VALUE; + } else if (dpg.anomaly == Float.NEGATIVE_INFINITY) { + dpg.anomaly = -Float.MAX_VALUE; } return null; } @@ -123,14 +123,14 @@ public class GT_Container_DebugPollutor } GT_MetaTileEntity_DebugPollutor dpg = (GT_MetaTileEntity_DebugPollutor) mTileEntity.getMetaTileEntity(); - pollution =dpg.pollution; - anomaly =dpg.anomaly; - anomalyInt=Float.floatToIntBits(anomaly); + pollution = dpg.pollution; + anomaly = dpg.anomaly; + anomalyInt = Float.floatToIntBits(anomaly); for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; - TT_Utility.sendInteger(pollution,this,var1,100); - TT_Utility.sendFloat(anomaly,this,var1,102); + TT_Utility.sendInteger(pollution, this, var1, 100); + TT_Utility.sendFloat(anomaly, this, var1, 102); } } @@ -141,11 +141,11 @@ public class GT_Container_DebugPollutor switch (par1) { case 100: case 101: - pollution = TT_Utility.receiveInteger(pollution,100,par1,par2); + pollution = TT_Utility.receiveInteger(pollution, 100, par1, par2); break; case 102: case 103: - anomaly = Float.intBitsToFloat(anomalyInt= TT_Utility.receiveInteger(anomalyInt,102,par1,par2)); + anomaly = Float.intBitsToFloat(anomalyInt = TT_Utility.receiveInteger(anomalyInt, 102, par1, par2)); break; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPowerGenerator.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPowerGenerator.java index b4cea250ed..3563334b7a 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPowerGenerator.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPowerGenerator.java @@ -12,9 +12,8 @@ import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -public class GT_Container_DebugPowerGenerator - extends GT_ContainerMetaTile_Machine { - public int EUT=0,AMP=0; +public class GT_Container_DebugPowerGenerator extends GT_ContainerMetaTile_Machine { + public int EUT = 0, AMP = 0; public GT_Container_DebugPowerGenerator(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(aInventoryPlayer, aTileEntity); @@ -50,7 +49,8 @@ public class GT_Container_DebugPowerGenerator } Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - GT_MetaTileEntity_DebugPowerGenerator dpg = (GT_MetaTileEntity_DebugPowerGenerator) mTileEntity.getMetaTileEntity(); + GT_MetaTileEntity_DebugPowerGenerator dpg = + (GT_MetaTileEntity_DebugPowerGenerator) mTileEntity.getMetaTileEntity(); switch (aSlotIndex) { case 0: dpg.EUT -= aShifthold == 1 ? 512 : 64; @@ -100,9 +100,10 @@ public class GT_Container_DebugPowerGenerator case 15: dpg.AMP *= aShifthold == 1 ? 16 : 2; break; - default: return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); + default: + return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); } - dpg.producing=(long)AMP*EUT>=0; + dpg.producing = (long) AMP * EUT >= 0; return null; } return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); @@ -115,10 +116,11 @@ public class GT_Container_DebugPowerGenerator return; } - GT_MetaTileEntity_DebugPowerGenerator dpg = (GT_MetaTileEntity_DebugPowerGenerator) mTileEntity.getMetaTileEntity(); - EUT=dpg.EUT; - AMP=dpg.AMP; - dpg.producing =(long)AMP*EUT>=0; + GT_MetaTileEntity_DebugPowerGenerator dpg = + (GT_MetaTileEntity_DebugPowerGenerator) mTileEntity.getMetaTileEntity(); + EUT = dpg.EUT; + AMP = dpg.AMP; + dpg.producing = (long) AMP * EUT >= 0; for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugStructureWriter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugStructureWriter.java index 442a7c2d47..f2fcf9108b 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugStructureWriter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugStructureWriter.java @@ -12,8 +12,7 @@ import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -public class GT_Container_DebugStructureWriter - extends GT_ContainerMetaTile_Machine { +public class GT_Container_DebugStructureWriter extends GT_ContainerMetaTile_Machine { public boolean size = false; public short[] numbers = new short[6]; @@ -51,7 +50,8 @@ public class GT_Container_DebugStructureWriter } Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - GT_MetaTileEntity_DebugStructureWriter dsw = (GT_MetaTileEntity_DebugStructureWriter) mTileEntity.getMetaTileEntity(); + GT_MetaTileEntity_DebugStructureWriter dsw = + (GT_MetaTileEntity_DebugStructureWriter) mTileEntity.getMetaTileEntity(); if (dsw.numbers == null) { return null; } @@ -109,7 +109,8 @@ public class GT_Container_DebugStructureWriter if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) { return; } - GT_MetaTileEntity_DebugStructureWriter dsw = (GT_MetaTileEntity_DebugStructureWriter) mTileEntity.getMetaTileEntity(); + GT_MetaTileEntity_DebugStructureWriter dsw = + (GT_MetaTileEntity_DebugStructureWriter) mTileEntity.getMetaTileEntity(); if (numbers != null) { System.arraycopy(dsw.numbers, 0, numbers, 0, dsw.numbers.length); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_BuckConverter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_BuckConverter.java index 1cff7e6c30..8aef833a1b 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_BuckConverter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_BuckConverter.java @@ -1,13 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.single.gui; +import static com.github.technus.tectech.util.CommonValues.VN; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + import com.github.technus.tectech.util.TT_Utility; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; -import static com.github.technus.tectech.util.CommonValues.VN; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - public class GT_GUIContainer_BuckConverter extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_BuckConverter(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_BuckConverter(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Teleporter.png"); @@ -19,9 +19,10 @@ public class GT_GUIContainer_BuckConverter extends GT_GUIContainerMetaTile_Machi if (mContainer != null) { GT_Container_BuckConverter buck = (GT_Container_BuckConverter) mContainer; fontRendererObj.drawString("EUT: " + buck.EUT, 46, 24, 16448255); - fontRendererObj.drawString("TIER: " + VN[TT_Utility.getTier(buck.EUT<0?-buck.EUT:buck.EUT)], 46, 32, 16448255); + fontRendererObj.drawString( + "TIER: " + VN[TT_Utility.getTier(buck.EUT < 0 ? -buck.EUT : buck.EUT)], 46, 32, 16448255); fontRendererObj.drawString("AMP: " + buck.AMP, 46, 40, 16448255); - fontRendererObj.drawString("SUM: " + (long)buck.AMP*buck.EUT, 46, 48, 16448255); + fontRendererObj.drawString("SUM: " + (long) buck.AMP * buck.EUT, 46, 48, 16448255); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DataReader.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DataReader.java index 738587941e..d6f150d87e 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DataReader.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DataReader.java @@ -6,6 +6,7 @@ import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.gui.GT_Slot_Holo; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Utility; +import java.util.List; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.texture.TextureMap; @@ -15,21 +16,33 @@ import net.minecraft.util.IIcon; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; -import java.util.List; - public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine { public final String mName; public final String mNEI; public final byte mProgressBarDirection; public final byte mProgressBarAmount; - private ItemStack stack=null; + private ItemStack stack = null; - public GT_GUIContainer_DataReader(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile, String aNEI) { + public GT_GUIContainer_DataReader( + InventoryPlayer aInventoryPlayer, + IGregTechTileEntity aTileEntity, + String aName, + String aTextureFile, + String aNEI) { this(aInventoryPlayer, aTileEntity, aName, aTextureFile, aNEI, (byte) 0, (byte) 1); } - public GT_GUIContainer_DataReader(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile, String aNEI, byte aProgressBarDirection, byte aProgressBarAmount) { - super(new GT_Container_DataReader(aInventoryPlayer, aTileEntity), "gregtech:textures/gui/basicmachines/" + aTextureFile); + public GT_GUIContainer_DataReader( + InventoryPlayer aInventoryPlayer, + IGregTechTileEntity aTileEntity, + String aName, + String aTextureFile, + String aNEI, + byte aProgressBarDirection, + byte aProgressBarAmount) { + super( + new GT_Container_DataReader(aInventoryPlayer, aTileEntity), + "gregtech:textures/gui/basicmachines/" + aTextureFile); this.mProgressBarDirection = aProgressBarDirection; this.mProgressBarAmount = (byte) Math.max(1, aProgressBarAmount); this.mName = aName; @@ -41,17 +54,21 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine public void drawScreen(int mouseX, int mouseY, float par3) { super.drawScreen(mouseX, mouseY, par3); if (mContainer != null) { - if (mContainer.mTileEntity != null && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { - GT_MetaTileEntity_DataReader reader = (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); - renderDataTooltips(mouseX,mouseY,reader.mTier); + if (mContainer.mTileEntity != null + && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { + GT_MetaTileEntity_DataReader reader = + (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); + renderDataTooltips(mouseX, mouseY, reader.mTier); } } } protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { if (mContainer != null) { - if (mContainer.mTileEntity != null && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { - GT_MetaTileEntity_DataReader reader = (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); + if (mContainer.mTileEntity != null + && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { + GT_MetaTileEntity_DataReader reader = + (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); if (renderDataFG(mouseX, mouseY, reader.mTier)) { return; } @@ -72,7 +89,16 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine if (this.mContainer.mMaxProgressTime > 0) { int tSize = this.mProgressBarDirection < 2 ? 20 : 18; - int tProgress = Math.max(1, Math.min(tSize * this.mProgressBarAmount, (this.mContainer.mProgressTime > 0 ? 1 : 0) + this.mContainer.mProgressTime * tSize * this.mProgressBarAmount / this.mContainer.mMaxProgressTime)) % (tSize + 1); + int tProgress = Math.max( + 1, + Math.min( + tSize * this.mProgressBarAmount, + (this.mContainer.mProgressTime > 0 ? 1 : 0) + + this.mContainer.mProgressTime + * tSize + * this.mProgressBarAmount + / this.mContainer.mMaxProgressTime)) + % (tSize + 1); switch (this.mProgressBarDirection) { case 0: this.drawTexturedModalRect(x + 78, y + 152, 176, 0, tProgress, 18); @@ -84,7 +110,8 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine this.drawTexturedModalRect(x + 78, y + 152, 176, 0, 20, tProgress); break; case 3: - this.drawTexturedModalRect(x + 78, y + 152 + 18 - tProgress, 176, 18 - tProgress, 20, tProgress); + this.drawTexturedModalRect( + x + 78, y + 152 + 18 - tProgress, 176, 18 - tProgress, 20, tProgress); break; case 4: tProgress = 20 - tProgress; @@ -100,13 +127,16 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine break; case 7: tProgress = 18 - tProgress; - this.drawTexturedModalRect(x + 78, y + 152 + 18 - tProgress, 176, 18 - tProgress, 20, tProgress); + this.drawTexturedModalRect( + x + 78, y + 152 + 18 - tProgress, 176, 18 - tProgress, 20, tProgress); } } } if (mContainer != null) { - if (mContainer.mTileEntity != null && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { - GT_MetaTileEntity_DataReader reader = (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); + if (mContainer.mTileEntity != null + && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { + GT_MetaTileEntity_DataReader reader = + (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); renderDataBG(reader.getStackInSlot(reader.getOutputSlot()), mouseX, mouseY, x, y, reader.mTier); } } @@ -125,11 +155,11 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine } } } - stack=thing; + stack = thing; } private boolean renderDataFG(int mouseX, int mouseY, byte mTier) { - if(stack==null){ + if (stack == null) { return false; } for (GT_MetaTileEntity_DataReader.IDataRender render : @@ -143,7 +173,7 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine } private boolean renderDataTooltips(int mouseX, int mouseY, byte mTier) { - if(stack==null){ + if (stack == null) { return false; } for (GT_MetaTileEntity_DataReader.IDataRender render : @@ -185,10 +215,10 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine public void renderTooltipSimple(int mouseX, int mouseY, GT_Slot_Holo slot, ItemStack itemStack) { int x = slot.xDisplayPosition + (width - xSize) / 2; int y = slot.yDisplayPosition + (height - ySize) / 2; - if (mouseX >= x && mouseY >= y && mouseX <= x+16 && mouseY <= y+16 ) { - List strings=itemStack.getTooltip(Minecraft.getMinecraft().thePlayer, false); - if(strings.size()>0){ - strings.set(0,itemStack.getRarity().rarityColor+(String)strings.get(0)); + if (mouseX >= x && mouseY >= y && mouseX <= x + 16 && mouseY <= y + 16) { + List strings = itemStack.getTooltip(Minecraft.getMinecraft().thePlayer, false); + if (strings.size() > 0) { + strings.set(0, itemStack.getRarity().rarityColor + (String) strings.get(0)); } hoveringText(strings, mouseX, mouseY, fontRendererObj); } @@ -197,7 +227,7 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine private void hoveringText(List strings, int x, int y, FontRenderer font) { if (!strings.isEmpty()) { GL11.glDisable(GL12.GL_RESCALE_NORMAL); - //RenderHelper.disableStandardItemLighting(); + // RenderHelper.disableStandardItemLighting(); GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_DEPTH_TEST); int k = 0; @@ -227,16 +257,16 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine y2 = this.height - i1 - 6; } - //this.zLevel = 300.0F; - //itemRender.zLevel = 300.0F; - int j1 = 0xf0001040;//bg + // this.zLevel = 300.0F; + // itemRender.zLevel = 300.0F; + int j1 = 0xf0001040; // bg this.drawGradientRect(x2 - 3, y2 - 4, x2 + k + 3, y2 - 3, j1, j1); this.drawGradientRect(x2 - 3, y2 + i1 + 3, x2 + k + 3, y2 + i1 + 4, j1, j1); this.drawGradientRect(x2 - 3, y2 - 3, x2 + k + 3, y2 + i1 + 3, j1, j1); this.drawGradientRect(x2 - 4, y2 - 3, x2 - 3, y2 + i1 + 3, j1, j1); this.drawGradientRect(x2 + k + 3, y2 - 3, x2 + k + 4, y2 + i1 + 3, j1, j1); - int k1 = 0x500040ff;//border bright - int l1 = (k1 & 0xfefefe) >> 1 | k1 & 0xff000000;//border dark??? + int k1 = 0x500040ff; // border bright + int l1 = (k1 & 0xfefefe) >> 1 | k1 & 0xff000000; // border dark??? this.drawGradientRect(x2 - 3, y2 - 3 + 1, x2 - 3 + 1, y2 + i1 + 3 - 1, k1, l1); this.drawGradientRect(x2 + k + 2, y2 - 3 + 1, x2 + k + 3, y2 + i1 + 3 - 1, k1, l1); this.drawGradientRect(x2 - 3, y2 - 3, x2 + k + 3, y2 - 3 + 1, k1, k1); @@ -253,11 +283,11 @@ public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine y2 += 10; } - //this.zLevel = 0.0F; - //itemRender.zLevel = 0.0F; + // this.zLevel = 0.0F; + // itemRender.zLevel = 0.0F; GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_DEPTH_TEST); - //RenderHelper.enableStandardItemLighting(); + // RenderHelper.enableStandardItemLighting(); GL11.glEnable(GL12.GL_RESCALE_NORMAL); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPollutor.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPollutor.java index 39c67f1b50..a754412eb6 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPollutor.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPollutor.java @@ -1,11 +1,11 @@ package com.github.technus.tectech.thing.metaTileEntity.single.gui; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - public class GT_GUIContainer_DebugPollutor extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_DebugPollutor(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_DebugPollutor(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Teleporter.png"); diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPowerGenerator.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPowerGenerator.java index f1f5050d9d..e0990fa49c 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPowerGenerator.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPowerGenerator.java @@ -1,13 +1,13 @@ package com.github.technus.tectech.thing.metaTileEntity.single.gui; +import static com.github.technus.tectech.util.CommonValues.VN; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + import com.github.technus.tectech.util.TT_Utility; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; -import static com.github.technus.tectech.util.CommonValues.VN; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - public class GT_GUIContainer_DebugPowerGenerator extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_DebugPowerGenerator(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_DebugPowerGenerator(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Teleporter.png"); @@ -19,9 +19,10 @@ public class GT_GUIContainer_DebugPowerGenerator extends GT_GUIContainerMetaTile if (mContainer != null) { GT_Container_DebugPowerGenerator dpg = (GT_Container_DebugPowerGenerator) mContainer; fontRendererObj.drawString("EUT: " + dpg.EUT, 46, 24, 16448255); - fontRendererObj.drawString("TIER: " + VN[TT_Utility.getTier(dpg.EUT<0?-dpg.EUT:dpg.EUT)], 46, 32, 16448255); + fontRendererObj.drawString( + "TIER: " + VN[TT_Utility.getTier(dpg.EUT < 0 ? -dpg.EUT : dpg.EUT)], 46, 32, 16448255); fontRendererObj.drawString("AMP: " + dpg.AMP, 46, 40, 16448255); - fontRendererObj.drawString("SUM: " + (long)dpg.AMP*dpg.EUT, 46, 48, 16448255); + fontRendererObj.drawString("SUM: " + (long) dpg.AMP * dpg.EUT, 46, 48, 16448255); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugStructureWriter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugStructureWriter.java index 0f64c83d5e..f37327d457 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugStructureWriter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugStructureWriter.java @@ -1,11 +1,11 @@ package com.github.technus.tectech.thing.metaTileEntity.single.gui; +import static gregtech.api.enums.GT_Values.RES_PATH_GUI; + import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - public class GT_GUIContainer_DebugStructureWriter extends GT_GUIContainerMetaTile_Machine { public GT_GUIContainer_DebugStructureWriter(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(new GT_Container_DebugStructureWriter(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Teleporter.png"); @@ -20,7 +20,7 @@ public class GT_GUIContainer_DebugStructureWriter extends GT_GUIContainerMetaTil return; } fontRendererObj.drawString(dsw.size ? "Structure size" : "My position", 46, 16, 16448255); - fontRendererObj.drawString(dsw.size ? "(Changing scan size)" : "(Moving origin)", 46,24, 16448255); + fontRendererObj.drawString(dsw.size ? "(Changing scan size)" : "(Moving origin)", 46, 24, 16448255); fontRendererObj.drawString("A: " + dsw.numbers[dsw.size ? 3 : 0], 46, 32, 16448255); fontRendererObj.drawString("B: " + dsw.numbers[dsw.size ? 4 : 1], 46, 40, 16448255); fontRendererObj.drawString("C: " + dsw.numbers[dsw.size ? 5 : 2], 46, 48, 16448255); diff --git a/src/main/java/com/github/technus/tectech/thing/tileEntity/ReactorSimTileEntity.java b/src/main/java/com/github/technus/tectech/thing/tileEntity/ReactorSimTileEntity.java index 55fa327364..8f95472cd3 100644 --- a/src/main/java/com/github/technus/tectech/thing/tileEntity/ReactorSimTileEntity.java +++ b/src/main/java/com/github/technus/tectech/thing/tileEntity/ReactorSimTileEntity.java @@ -16,20 +16,20 @@ import net.minecraftforge.fluids.FluidStack; * Created by danie_000 on 30.09.2017. */ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { - private boolean hadRedstone =true; + private boolean hadRedstone = true; @Override public void onLoaded() { super.onLoaded(); - if(IC2.platform.isSimulating() && addedToEnergyNet) { + if (IC2.platform.isSimulating() && addedToEnergyNet) { MinecraftForge.EVENT_BUS.post(new EnergyTileUnloadEvent(this)); - //this.addedToEnergyNet = false; + // this.addedToEnergyNet = false; } } @Override public void onUnloaded() { - addedToEnergyNet=false; + addedToEnergyNet = false; super.onUnloaded(); } @@ -38,19 +38,19 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { return "Nuclear Reactor Simulator"; } - //public int gaugeHeatScaled(int i) { + // public int gaugeHeatScaled(int i) { // return i * this.heat / (this.maxHeat / 100 * 85); - //} + // } - //public void readFromNBT(NBTTagCompound nbttagcompound) { + // public void readFromNBT(NBTTagCompound nbttagcompound) { // super.readFromNBT(nbttagcompound); // //this.heat = nbttagcompound.getInteger("heat"); // //this.inputTank.readFromNBT(nbttagcompound.getCompoundTag("inputTank")); // //this.outputTank.readFromNBT(nbttagcompound.getCompoundTag("outputTank")); // //this.output = (float)nbttagcompound.getShort("output"); - //} + // } - //public void writeToNBT(NBTTagCompound nbttagcompound) { + // public void writeToNBT(NBTTagCompound nbttagcompound) { // super.writeToNBT(nbttagcompound); // //NBTTagCompound inputTankTag = new NBTTagCompound(); // //this.inputTank.writeToNBT(inputTankTag); @@ -60,18 +60,18 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // //nbttagcompound.setTag("outputTank", outputTankTag); // //nbttagcompound.setInteger("heat", this.heat); // //nbttagcompound.setShort("output", (short)((int)this.getReactorEnergyOutput())); - //} + // } - //public void setRedstoneSignal(boolean redstone) { + // public void setRedstoneSignal(boolean redstone) { // this.redstone = redstone; - //} + // } - //public void drawEnergy(double amount) { - //} + // public void drawEnergy(double amount) { + // } - //public float sendEnergy(float send) { + // public float sendEnergy(float send) { // return 0.0F; - //} + // } @Override public boolean emitsEnergyTo(TileEntity receiver, ForgeDirection direction) { @@ -83,16 +83,18 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { return 0; } - //public int getSourceTier() { + // public int getSourceTier() { // return 4; - //} + // } @Override public double getReactorEUEnergyOutput() { - return getReactorEnergyOutput() * 5.0F * ConfigUtil.getDouble(MainConfig.get(), "balance/energy/generator/nuclear"); + return getReactorEnergyOutput() + * 5.0F + * ConfigUtil.getDouble(MainConfig.get(), "balance/energy/generator/nuclear"); } - //public List getSubTiles() { + // public List getSubTiles() { // if(this.subTiles == null) { // this.subTiles = new ArrayList(); // this.subTiles.add(this); @@ -109,9 +111,9 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // } // // return this.subTiles; - //} + // } - //private void processfluidsSlots() { + // private void processfluidsSlots() { // RecipeOutput outputinputSlot = this.processInputSlot(true); // if(outputinputSlot != null) { // this.processInputSlot(false); @@ -126,9 +128,9 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.hotcoolantoutputSlot.add(processResult); // } // - //} + // } - //public void refreshChambers() { + // public void refreshChambers() { // if(this.addedToEnergyNet) { // MinecraftForge.EVENT_BUS.post(new EnergyTileUnloadEvent(this)); // } @@ -138,24 +140,24 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // MinecraftForge.EVENT_BUS.post(new EnergyTileLoadEvent(this)); // } // - //} + // } @Override protected void updateEntityServer() { - if(updateTicker++ % getTickRate() == 0) { + if (updateTicker++ % getTickRate() == 0) { if (!worldObj.isRemote && worldObj.doChunksNearChunkExist(xCoord, yCoord, zCoord, 2)) { - if(hadRedstone && !receiveredstone()) { + if (hadRedstone && !receiveredstone()) { hadRedstone = false; - } else if(!hadRedstone && receiveredstone()){ + } else if (!hadRedstone && receiveredstone()) { doUpdates(); - hadRedstone=true; + hadRedstone = true; } markDirty(); } } } - //public void dropAllUnfittingStuff() { + // public void dropAllUnfittingStuff() { // int i; // ItemStack stack; // for(i = 0; i < this.reactorSlot.size(); ++i) { @@ -172,63 +174,73 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.eject(stack); // } // - //} + // } - //public boolean isUsefulItem(ItemStack stack, boolean forInsertion) { + // public boolean isUsefulItem(ItemStack stack, boolean forInsertion) { // Item item = stack.getItem(); - // return (item instanceof IReactorComponent || (item == Ic2Items.TritiumCell.getItem() || item == Ic2Items.reactorDepletedUraniumSimple.getItem() || item == Ic2Items.reactorDepletedUraniumDual.getItem() || item == Ic2Items.reactorDepletedUraniumQuad.getItem() || item == Ic2Items.reactorDepletedMOXSimple.getItem() || item == Ic2Items.reactorDepletedMOXDual.getItem() || item == Ic2Items.reactorDepletedMOXQuad.getItem())); - //} + // return (item instanceof IReactorComponent || (item == Ic2Items.TritiumCell.getItem() || item == + // Ic2Items.reactorDepletedUraniumSimple.getItem() || item == Ic2Items.reactorDepletedUraniumDual.getItem() || item + // == Ic2Items.reactorDepletedUraniumQuad.getItem() || item == Ic2Items.reactorDepletedMOXSimple.getItem() || item + // == Ic2Items.reactorDepletedMOXDual.getItem() || item == Ic2Items.reactorDepletedMOXQuad.getItem())); + // } - //public void eject(ItemStack drop) { + // public void eject(ItemStack drop) { // if(IC2.platform.isSimulating() && drop != null) { // float f = 0.7F; // double d = (double)(this.worldObj.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D; // double d1 = (double)(this.worldObj.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D; // double d2 = (double)(this.worldObj.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D; - // EntityItem entityitem = new EntityItem(this.worldObj, (double)this.xCoord + d, (double)this.yCoord + d1, (double)this.zCoord + d2, drop); + // EntityItem entityitem = new EntityItem(this.worldObj, (double)this.xCoord + d, (double)this.yCoord + d1, + // (double)this.zCoord + d2, drop); // entityitem.delayBeforeCanPickup = 10; // this.worldObj.spawnEntityInWorld(entityitem); // } - //} + // } @Override public boolean calculateHeatEffects() { - if(heat >= 4000 && IC2.platform.isSimulating()) { + if (heat >= 4000 && IC2.platform.isSimulating()) { float power = (float) heat / (float) maxHeat; - if(power >= 1.0F) { - explode();//ding + if (power >= 1.0F) { + explode(); // ding return true; } else { - //int[] coord; - //Block block; - //Material mat; - //if(power >= 0.85F && this.worldObj.rand.nextFloat() <= 0.2F * this.hem) { + // int[] coord; + // Block block; + // Material mat; + // if(power >= 0.85F && this.worldObj.rand.nextFloat() <= 0.2F * this.hem) { // coord = this.getRandCoord(2); // if(coord != null) { // block = this.worldObj.getBlock(coord[0], coord[1], coord[2]); // if(block.isAir(this.worldObj, coord[0], coord[1], coord[2])) { // this.worldObj.setBlock(coord[0], coord[1], coord[2], Blocks.fire, 0, 7); - // } else if(block.getBlockHardness(this.worldObj, coord[0], coord[1], coord[2]) >= 0.0F && this.worldObj.getTileEntity(coord[0], coord[1], coord[2]) == null) { + // } else if(block.getBlockHardness(this.worldObj, coord[0], coord[1], coord[2]) >= 0.0F && + // this.worldObj.getTileEntity(coord[0], coord[1], coord[2]) == null) { // mat = block.getMaterial(); - // if(mat != Material.rock && mat != Material.iron && mat != Material.lava && mat != Material.ground && mat != Material.clay) { + // if(mat != Material.rock && mat != Material.iron && mat != Material.lava && mat != + // Material.ground && mat != Material.clay) { // this.worldObj.setBlock(coord[0], coord[1], coord[2], Blocks.fire, 0, 7); // } else { // this.worldObj.setBlock(coord[0], coord[1], coord[2], Blocks.flowing_lava, 15, 7); // } // } // } - //} + // } // - //if(power >= 0.7F) { - // List var5 = this.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox((double)(this.xCoord - 3), (double)(this.yCoord - 3), (double)(this.zCoord - 3), (double)(this.xCoord + 4), (double)(this.yCoord + 4), (double)(this.zCoord + 4))); + // if(power >= 0.7F) { + // List var5 = this.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, + // AxisAlignedBB.getBoundingBox((double)(this.xCoord - 3), (double)(this.yCoord - 3), + // (double)(this.zCoord - 3), (double)(this.xCoord + 4), (double)(this.yCoord + 4), (double)(this.zCoord + // + 4))); // // for(int var6 = 0; var6 < var5.size(); ++var6) { // Entity var7 = (Entity)var5.get(var6); - // var7.attackEntityFrom(IC2DamageSource.radiation, (float)((int)((float)this.worldObj.rand.nextInt(4) * this.hem))); + // var7.attackEntityFrom(IC2DamageSource.radiation, + // (float)((int)((float)this.worldObj.rand.nextInt(4) * this.hem))); // } - //} + // } // - //if(power >= 0.5F && this.worldObj.rand.nextFloat() <= this.hem) { + // if(power >= 0.5F && this.worldObj.rand.nextFloat() <= this.hem) { // coord = this.getRandCoord(2); // if(coord != null) { // block = this.worldObj.getBlock(coord[0], coord[1], coord[2]); @@ -236,9 +248,9 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.worldObj.setBlockToAir(coord[0], coord[1], coord[2]); // } // } - //} + // } // - //if(power >= 0.4F && this.worldObj.rand.nextFloat() <= this.hem) { + // if(power >= 0.4F && this.worldObj.rand.nextFloat() <= this.hem) { // coord = this.getRandCoord(2); // if(coord != null && this.worldObj.getTileEntity(coord[0], coord[1], coord[2]) == null) { // block = this.worldObj.getBlock(coord[0], coord[1], coord[2]); @@ -247,23 +259,25 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.worldObj.setBlock(coord[0], coord[1], coord[2], Blocks.fire, 0, 7); // } // } - //} + // } return false; } } return false; } - //public int[] getRandCoord(int radius) { + // public int[] getRandCoord(int radius) { // if(radius <= 0) { // return null; // } else { - // int[] c = new int[]{this.xCoord + this.worldObj.rand.nextInt(2 * radius + 1) - radius, this.yCoord + this.worldObj.rand.nextInt(2 * radius + 1) - radius, this.zCoord + this.worldObj.rand.nextInt(2 * radius + 1) - radius}; + // int[] c = new int[]{this.xCoord + this.worldObj.rand.nextInt(2 * radius + 1) - radius, this.yCoord + + // this.worldObj.rand.nextInt(2 * radius + 1) - radius, this.zCoord + this.worldObj.rand.nextInt(2 * radius + 1) - + // radius}; // return c[0] == this.xCoord && c[1] == this.yCoord && c[2] == this.zCoord?null:c; // } - //} + // } - //public void processChambers() { + // public void processChambers() { // short size = this.getReactorSize(); // // for(int pass = 0; pass < 2; ++pass) { @@ -278,18 +292,19 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // } // } // - //} + // } - //public boolean produceEnergy() { - // return this.receiveredstone() && ConfigUtil.getFloat(MainConfig.get(), "balance/energy/generator/generator") > 0.0F; - //} + // public boolean produceEnergy() { + // return this.receiveredstone() && ConfigUtil.getFloat(MainConfig.get(), "balance/energy/generator/generator") > + // 0.0F; + // } - //NO need - //public boolean receiveredstone() { + // NO need + // public boolean receiveredstone() { // return this.worldObj.isBlockIndirectlyGettingPowered(this.xCoord, this.yCoord, this.zCoord) || this.redstone; - //} + // } - //public short getReactorSize() { + // public short getReactorSize() { // if(this.worldObj == null) { // return 9; // } else { @@ -307,42 +322,43 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // // return cols; // } - //} + // } - //public int getTickRate() { + // public int getTickRate() { // return 20; - //} + // } - //public ContainerBase getGuiContainer(EntityPlayer entityPlayer) { + // public ContainerBase getGuiContainer(EntityPlayer entityPlayer) { // return new ContainerNuclearReactor(entityPlayer, this); - //} + // } - //@SideOnly(Side.CLIENT) - //public GuiScreen getGui(EntityPlayer entityPlayer, boolean isAdmin) { + // @SideOnly(Side.CLIENT) + // public GuiScreen getGui(EntityPlayer entityPlayer, boolean isAdmin) { // return new GuiNuclearReactor(new ContainerNuclearReactor(entityPlayer, this)); - //} + // } - //public void onGuiClosed(EntityPlayer entityPlayer) {} + // public void onGuiClosed(EntityPlayer entityPlayer) {} - //new method - private void doUpdates(){ - heat=0; - do{ + // new method + private void doUpdates() { + heat = 0; + do { dropAllUnfittingStuff(); output = 0.0F; maxHeat = 10000; hem = 1.0F; processChambers(); - }while(!calculateHeatEffects() && output>0); + } while (!calculateHeatEffects() && output > 0); } - //region no need to change - //public void onNetworkUpdate(String field) { + // region no need to change + // public void onNetworkUpdate(String field) { // if(field.equals("output")) { // if(this.output > 0.0F) { // if(this.lastOutput <= 0.0F) { // if(this.audioSourceMain == null) { - // this.audioSourceMain = IC2.audioManager.createSource(this, PositionSpec.Center, "Generators/NuclearReactor/NuclearReactorLoop.ogg", true, false, IC2.audioManager.getDefaultVolume()); + // this.audioSourceMain = IC2.audioManager.createSource(this, PositionSpec.Center, + // "Generators/NuclearReactor/NuclearReactorLoop.ogg", true, false, IC2.audioManager.getDefaultVolume()); // } // // if(this.audioSourceMain != null) { @@ -356,7 +372,8 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.audioSourceGeiger.remove(); // } // - // this.audioSourceGeiger = IC2.audioManager.createSource(this, PositionSpec.Center, "Generators/NuclearReactor/GeigerLowEU.ogg", true, false, IC2.audioManager.getDefaultVolume()); + // this.audioSourceGeiger = IC2.audioManager.createSource(this, PositionSpec.Center, + // "Generators/NuclearReactor/GeigerLowEU.ogg", true, false, IC2.audioManager.getDefaultVolume()); // if(this.audioSourceGeiger != null) { // this.audioSourceGeiger.play(); // } @@ -367,7 +384,8 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.audioSourceGeiger.remove(); // } // - // this.audioSourceGeiger = IC2.audioManager.createSource(this, PositionSpec.Center, "Generators/NuclearReactor/GeigerMedEU.ogg", true, false, IC2.audioManager.getDefaultVolume()); + // this.audioSourceGeiger = IC2.audioManager.createSource(this, PositionSpec.Center, + // "Generators/NuclearReactor/GeigerMedEU.ogg", true, false, IC2.audioManager.getDefaultVolume()); // if(this.audioSourceGeiger != null) { // this.audioSourceGeiger.play(); // } @@ -377,7 +395,8 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // this.audioSourceGeiger.remove(); // } // - // this.audioSourceGeiger = IC2.audioManager.createSource(this, PositionSpec.Center, "Generators/NuclearReactor/GeigerHighEU.ogg", true, false, IC2.audioManager.getDefaultVolume()); + // this.audioSourceGeiger = IC2.audioManager.createSource(this, PositionSpec.Center, + // "Generators/NuclearReactor/GeigerHighEU.ogg", true, false, IC2.audioManager.getDefaultVolume()); // if(this.audioSourceGeiger != null) { // this.audioSourceGeiger.play(); // } @@ -396,81 +415,82 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // } // // super.onNetworkUpdate(field); - //} + // } - //public float getWrenchDropRate() { + // public float getWrenchDropRate() { // return 1F; - //} + // } - //public ChunkCoordinates getPosition() { + // public ChunkCoordinates getPosition() { // return new ChunkCoordinates(this.xCoord, this.yCoord, this.zCoord); - //} + // } - //public World getWorld() { + // public World getWorld() { // return this.worldObj; - //} + // } - //public int getHeat() { + // public int getHeat() { // return this.heat; - //} + // } - //public void setHeat(int heat1) { + // public void setHeat(int heat1) { // this.heat = heat1; - //} + // } - //public int addHeat(int amount) { + // public int addHeat(int amount) { // this.heat += amount; // return this.heat; - //} + // } - //public ItemStack getItemAt(int x, int y) { + // public ItemStack getItemAt(int x, int y) { // return x >= 0 && x < this.getReactorSize() && y >= 0 && y < 6?this.reactorSlot.get(x, y):null; - //} + // } - //public void setItemAt(int x, int y, ItemStack item) { + // public void setItemAt(int x, int y, ItemStack item) { // if(x >= 0 && x < this.getReactorSize() && y >= 0 && y < 6) { // this.reactorSlot.put(x, y, item); // } - //} + // } @Override public void explode() { - getWorld().playSoundEffect(xCoord,yCoord,zCoord, Reference.MODID+":microwave_ding", 1, 1); + getWorld().playSoundEffect(xCoord, yCoord, zCoord, Reference.MODID + ":microwave_ding", 1, 1); } @Override public void addEmitHeat(int heat) {} - //region no need - //public int getMaxHeat() { + // region no need + // public int getMaxHeat() { // return this.maxHeat; - //} + // } - //public void setMaxHeat(int newMaxHeat) { + // public void setMaxHeat(int newMaxHeat) { // this.maxHeat = newMaxHeat; - //} + // } - //public float getHeatEffectModifier() { + // public float getHeatEffectModifier() { // return this.hem; - //} + // } - //public void setHeatEffectModifier(float newHEM) { + // public void setHeatEffectModifier(float newHEM) { // this.hem = newHEM; - //} + // } - //public float getReactorEnergyOutput() { + // public float getReactorEnergyOutput() { // return this.output; - //} + // } - //public float addOutput(float energy) { + // public float addOutput(float energy) { // return this.output += energy; - //} + // } - //PRIVATE not used - //private RecipeOutput processInputSlot(boolean simulate) { + // PRIVATE not used + // private RecipeOutput processInputSlot(boolean simulate) { // if(!this.coolantinputSlot.isEmpty()) { // MutableObject output = new MutableObject(); - // if(this.coolantinputSlot.transferToTank(this.inputTank, output, simulate) && (output.getValue() == null || this.coolantoutputSlot.canAdd((ItemStack)output.getValue()))) { + // if(this.coolantinputSlot.transferToTank(this.inputTank, output, simulate) && (output.getValue() == null || + // this.coolantoutputSlot.canAdd((ItemStack)output.getValue()))) { // if(output.getValue() == null) { // return new RecipeOutput(null); // } @@ -480,12 +500,13 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // } // // return null; - //} + // } - //private RecipeOutput processOutputSlot(boolean simulate) { + // private RecipeOutput processOutputSlot(boolean simulate) { // if(!this.hotcoolinputSlot.isEmpty()) { // MutableObject output = new MutableObject(); - // if(this.hotcoolinputSlot.transferFromTank(this.outputTank, output, simulate) && (output.getValue() == null || this.hotcoolantoutputSlot.canAdd((ItemStack)output.getValue()))) { + // if(this.hotcoolinputSlot.transferFromTank(this.outputTank, output, simulate) && (output.getValue() == null + // || this.hotcoolantoutputSlot.canAdd((ItemStack)output.getValue()))) { // if(output.getValue() == null) { // return new RecipeOutput(null); // } @@ -495,15 +516,15 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // } // // return null; - //} + // } @Override public boolean isFluidCooled() { return false; } - //!!!Private - removed use cases - //private void movefluidinWorld(boolean out) { + // !!!Private - removed use cases + // private void movefluidinWorld(boolean out) { // if(out) { // if(this.inputTank.getFluidAmount() < 1000 && this.outputTank.getFluidAmount() < 1000) { // this.inputTank.setFluid(null); @@ -514,10 +535,12 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // for(int hotCoolantFluid = 1; hotCoolantFluid < 4; ++hotCoolantFluid) { // if(this.surroundings[coolantBlock][coolantFluid][hotCoolantFluid] instanceof BlockAir) { // if(this.inputTank.getFluidAmount() >= 1000) { - // this.worldObj.setBlock(coolantBlock + this.xCoord - 2, coolantFluid + this.yCoord - 2, hotCoolantFluid + this.zCoord - 2, this.inputTank.getFluid().getFluid().getBlock()); + // this.worldObj.setBlock(coolantBlock + this.xCoord - 2, coolantFluid + this.yCoord + // - 2, hotCoolantFluid + this.zCoord - 2, this.inputTank.getFluid().getFluid().getBlock()); // this.inputTank.drain(1000, true); // } else if(this.outputTank.getFluidAmount() >= 1000) { - // this.worldObj.setBlock(coolantBlock + this.xCoord - 2, coolantFluid + this.yCoord - 2, hotCoolantFluid + this.zCoord - 2, this.outputTank.getFluid().getFluid().getBlock()); + // this.worldObj.setBlock(coolantBlock + this.xCoord - 2, coolantFluid + this.yCoord + // - 2, hotCoolantFluid + this.zCoord - 2, this.outputTank.getFluid().getFluid().getBlock()); // this.outputTank.drain(1000, true); // } // } @@ -543,10 +566,12 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // for(int xoffset = 1; xoffset < 4; ++xoffset) { // for(int zoffset = 1; zoffset < 4; ++zoffset) { // if(this.surroundings[xoffset][yoffset][zoffset] == var10) { - // this.worldObj.setBlock(xoffset + this.xCoord - 2, yoffset + this.yCoord - 2, zoffset + this.zCoord - 2, Blocks.air); + // this.worldObj.setBlock(xoffset + this.xCoord - 2, yoffset + this.yCoord - 2, zoffset + + // this.zCoord - 2, Blocks.air); // this.inputTank.fill(new FluidStack(var9, 1000), true); // } else if(this.surroundings[xoffset][yoffset][zoffset] == hotCoolantBlock) { - // this.worldObj.setBlock(xoffset + this.xCoord - 2, yoffset + this.yCoord - 2, zoffset + this.zCoord - 2, Blocks.air); + // this.worldObj.setBlock(xoffset + this.xCoord - 2, yoffset + this.yCoord - 2, zoffset + + // this.zCoord - 2, Blocks.air); // this.outputTank.fill(new FluidStack(var11, 1000), true); // } // } @@ -554,10 +579,10 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // } // } // - //} + // } - //!!!! PRIVATE - removed use cases - //private boolean readyforpressurizedreactor() { + // !!!! PRIVATE - removed use cases + // private boolean readyforpressurizedreactor() { // Block coolantBlock = BlocksItems.getFluidBlock(InternalName.fluidCoolant); // Block hotCoolantBlock = BlocksItems.getFluidBlock(InternalName.fluidHotCoolant); // @@ -567,11 +592,14 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // for(xoffset = -2; xoffset < 3; ++xoffset) { // for(yoffset = -2; yoffset < 3; ++yoffset) { // for(zoffset = -2; zoffset < 3; ++zoffset) { - // if(this.worldObj.isAirBlock(xoffset + this.xCoord, yoffset + this.yCoord, zoffset + this.zCoord)) { + // if(this.worldObj.isAirBlock(xoffset + this.xCoord, yoffset + this.yCoord, zoffset + this.zCoord)) + // { // this.surroundings[xoffset + 2][yoffset + 2][zoffset + 2] = Blocks.air; // } else { - // Block block = this.worldObj.getBlock(xoffset + this.xCoord, yoffset + this.yCoord, zoffset + this.zCoord); - // if((block == coolantBlock || block == hotCoolantBlock) && this.worldObj.getBlockMetadata(xoffset + this.xCoord, yoffset + this.yCoord, zoffset + this.zCoord) != 0) { + // Block block = this.worldObj.getBlock(xoffset + this.xCoord, yoffset + this.yCoord, zoffset + + // this.zCoord); + // if((block == coolantBlock || block == hotCoolantBlock) && + // this.worldObj.getBlockMetadata(xoffset + this.xCoord, yoffset + this.yCoord, zoffset + this.zCoord) != 0) { // this.surroundings[xoffset + 2][yoffset + 2][zoffset + 2] = Blocks.air; // } else { // this.surroundings[xoffset + 2][yoffset + 2][zoffset + 2] = block; @@ -584,7 +612,10 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // for(xoffset = 1; xoffset < 4; ++xoffset) { // for(yoffset = 1; yoffset < 4; ++yoffset) { // for(zoffset = 1; zoffset < 4; ++zoffset) { - // if(!(this.surroundings[xoffset][yoffset][zoffset] instanceof BlockGenerator) && !(this.surroundings[xoffset][yoffset][zoffset] instanceof BlockReactorChamber) && this.surroundings[xoffset][yoffset][zoffset] != coolantBlock && this.surroundings[xoffset][yoffset][zoffset] != hotCoolantBlock && !(this.surroundings[xoffset][yoffset][zoffset] instanceof BlockAir)) { + // if(!(this.surroundings[xoffset][yoffset][zoffset] instanceof BlockGenerator) && + // !(this.surroundings[xoffset][yoffset][zoffset] instanceof BlockReactorChamber) && + // this.surroundings[xoffset][yoffset][zoffset] != coolantBlock && this.surroundings[xoffset][yoffset][zoffset] != + // hotCoolantBlock && !(this.surroundings[xoffset][yoffset][zoffset] instanceof BlockAir)) { // return false; // } // } @@ -593,36 +624,54 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // // for(xoffset = 0; xoffset < 5; ++xoffset) { // for(yoffset = 0; yoffset < 5; ++yoffset) { - // if(!(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorVessel) && !(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorAccessHatch) && !(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorRedstonePort) && !(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorFluidPort)) { + // if(!(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorVessel) && + // !(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorAccessHatch) && + // !(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorRedstonePort) && + // !(this.surroundings[xoffset][4][yoffset] instanceof BlockReactorFluidPort)) { // return false; // } // - // if(!(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorVessel) && !(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorAccessHatch) && !(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorRedstonePort) && !(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorFluidPort)) { + // if(!(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorVessel) && + // !(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorAccessHatch) && + // !(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorRedstonePort) && + // !(this.surroundings[xoffset][0][yoffset] instanceof BlockReactorFluidPort)) { // return false; // } // - // if(!(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorVessel) && !(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorAccessHatch) && !(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorRedstonePort) && !(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorFluidPort)) { + // if(!(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorVessel) && + // !(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorAccessHatch) && + // !(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorRedstonePort) && + // !(this.surroundings[0][xoffset][yoffset] instanceof BlockReactorFluidPort)) { // return false; // } // - // if(!(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorVessel) && !(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorAccessHatch) && !(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorRedstonePort) && !(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorFluidPort)) { + // if(!(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorVessel) && + // !(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorAccessHatch) && + // !(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorRedstonePort) && + // !(this.surroundings[4][xoffset][yoffset] instanceof BlockReactorFluidPort)) { // return false; // } // - // if(!(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorVessel) && !(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorAccessHatch) && !(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorRedstonePort) && !(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorFluidPort)) { + // if(!(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorVessel) && + // !(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorAccessHatch) && + // !(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorRedstonePort) && + // !(this.surroundings[yoffset][xoffset][0] instanceof BlockReactorFluidPort)) { // return false; // } // - // if(!(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorVessel) && !(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorAccessHatch) && !(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorRedstonePort) && !(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorFluidPort)) { + // if(!(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorVessel) && + // !(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorAccessHatch) && + // !(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorRedstonePort) && + // !(this.surroundings[yoffset][xoffset][4] instanceof BlockReactorFluidPort)) { // return false; // } // } // } // // return true; - //} + // } - //public int gaugeLiquidScaled(int i, int tank) { + // public int gaugeLiquidScaled(int i, int tank) { // switch(tank) { // case 0: // if(this.inputTank.getFluidAmount() <= 0) { @@ -639,19 +688,19 @@ public class ReactorSimTileEntity extends TileEntityNuclearReactorElectric { // default: // return 0; // } - //} + // } - //public FluidTank getinputtank() { + // public FluidTank getinputtank() { // return this.inputTank; - //} + // } - //public FluidTank getoutputtank() { + // public FluidTank getoutputtank() { // return this.outputTank; - //} + // } - //public FluidTankInfo[] getTankInfo(ForgeDirection from) { + // public FluidTankInfo[] getTankInfo(ForgeDirection from) { // return new FluidTankInfo[]{this.inputTank.getInfo(), this.outputTank.getInfo()}; - //} + // } @Override public boolean canFill(ForgeDirection from, Fluid fluid) { diff --git a/src/main/java/com/github/technus/tectech/util/CommonValues.java b/src/main/java/com/github/technus/tectech/util/CommonValues.java index 603644bcde..cb894f8e9c 100644 --- a/src/main/java/com/github/technus/tectech/util/CommonValues.java +++ b/src/main/java/com/github/technus/tectech/util/CommonValues.java @@ -6,33 +6,66 @@ import net.minecraft.util.EnumChatFormatting; * Created by danie_000 on 11.01.2017. */ public final class CommonValues { - public static final String TEC_MARK_SHORT = - EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech"; - public static final String TEC_MARK_GENERAL = TEC_MARK_SHORT + - EnumChatFormatting.BLUE + ": Interdimensional"; - public static final String TEC_MARK_EM = TEC_MARK_SHORT + - EnumChatFormatting.BLUE + ": Elemental Matter"; - public static final String BASS_MARK = TEC_MARK_SHORT + - EnumChatFormatting.BLUE + ": Theta Movement"; - public static final String COSMIC_MARK = TEC_MARK_SHORT + - EnumChatFormatting.BLUE + ": Cosmic";//TODO get a better name than cosmic for *UNDEFINED* thing + public static final String TEC_MARK_SHORT = EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech"; + public static final String TEC_MARK_GENERAL = TEC_MARK_SHORT + EnumChatFormatting.BLUE + ": Interdimensional"; + public static final String TEC_MARK_EM = TEC_MARK_SHORT + EnumChatFormatting.BLUE + ": Elemental Matter"; + public static final String BASS_MARK = TEC_MARK_SHORT + EnumChatFormatting.BLUE + ": Theta Movement"; + public static final String COSMIC_MARK = TEC_MARK_SHORT + 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 - public static final byte MOVE_AT = 4;// move stuff around - public static final byte RECIPE_AT = 6;// move stuff around - public static final byte MULTI_PURGE_2_AT = 8;// multiblocks clean their hatches 2 - public static final byte OVERFLOW_AT = 10;// then hatches clean themselves + public static final byte DECAY_AT = 0; // hatches compute decays + public static final byte MULTI_PURGE_1_AT = 2; // multiblocks clean their hatches 1 + public static final byte MOVE_AT = 4; // move stuff around + public static final byte RECIPE_AT = 6; // move stuff around + public static final byte MULTI_PURGE_2_AT = 8; // multiblocks clean their hatches 2 + public static final byte OVERFLOW_AT = 10; // then hatches clean themselves // - in case some hatches are not in multiblock structure - public static final byte MULTI_CHECK_AT = 12;// multiblock checks it's state - public static final byte DISPERSE_AT = 14;// overflow hatches perform disperse - public static final byte TRANSFER_AT = 16; + public static final byte MULTI_CHECK_AT = 12; // multiblock checks it's state + public static final byte DISPERSE_AT = 14; // overflow hatches perform disperse + public static final byte TRANSFER_AT = 16; - public static final long[] AatV = new long[]{268435455, 67108863, 16777215, 4194303, 1048575, 262143, 65535, 16383, 4095, 1023, 255, 63, 15, 3, 1, 1}; - public static final String[] VOLTAGE_NAMES = new String[]{"Ultra Low Voltage", "Low Voltage", "Medium Voltage", "High Voltage", "Extreme Voltage", "Insane Voltage", "Ludicrous Voltage", "ZPM Voltage", "Ultimate Voltage", "Ultimate High Voltage", "Ultimate Extreme Voltage", "Ultimate Insane Voltage", "Ultimate Mega Voltage", "Ultimate Extended Mega Voltage", "Overpowered Voltage", "Maximum Voltage"}; - public static final String[] VN = new String[]{"ULV", "LV", "MV", "HV", "EV", "IV", "LuV", "ZPM", "UV", "UHV", "UEV", "UIV", "UMV", "UXV", "OpV", "MAX"}; - public static final long[] V = new long[]{8L, 32L, 128L, 512L, 2048L, 8192L, 32768L, 131072L, 524288L, 2097152L, 8388608L, 33554432L, 134217728L, 536870912L, 1073741824L, Integer.MAX_VALUE - 7}; + public static final long[] AatV = new long[] { + 268435455, 67108863, 16777215, 4194303, 1048575, 262143, 65535, 16383, 4095, 1023, 255, 63, 15, 3, 1, 1 + }; + public static final String[] VOLTAGE_NAMES = new String[] { + "Ultra Low Voltage", + "Low Voltage", + "Medium Voltage", + "High Voltage", + "Extreme Voltage", + "Insane Voltage", + "Ludicrous Voltage", + "ZPM Voltage", + "Ultimate Voltage", + "Ultimate High Voltage", + "Ultimate Extreme Voltage", + "Ultimate Insane Voltage", + "Ultimate Mega Voltage", + "Ultimate Extended Mega Voltage", + "Overpowered Voltage", + "Maximum Voltage" + }; + public static final String[] VN = new String[] { + "ULV", "LV", "MV", "HV", "EV", "IV", "LuV", "ZPM", "UV", "UHV", "UEV", "UIV", "UMV", "UXV", "OpV", "MAX" + }; + public static final long[] V = new long[] { + 8L, + 32L, + 128L, + 512L, + 2048L, + 8192L, + 32768L, + 131072L, + 524288L, + 2097152L, + 8388608L, + 33554432L, + 134217728L, + 536870912L, + 1073741824L, + Integer.MAX_VALUE - 7 + }; - private CommonValues() { - } + private CommonValues() {} } diff --git a/src/main/java/com/github/technus/tectech/util/Converter.java b/src/main/java/com/github/technus/tectech/util/Converter.java index 799d98a4d6..c34206b13d 100644 --- a/src/main/java/com/github/technus/tectech/util/Converter.java +++ b/src/main/java/com/github/technus/tectech/util/Converter.java @@ -5,7 +5,7 @@ import java.io.*; public final class Converter { private Converter() {} - public static void writeInts(int [] array,ByteArrayOutputStream byteArrayOutputStream) { + public static void writeInts(int[] array, ByteArrayOutputStream byteArrayOutputStream) { try { DataOutputStream dataOutputStream = new DataOutputStream(byteArrayOutputStream); for (int i = 0; i < array.length; i++) { @@ -17,7 +17,7 @@ public final class Converter { } } - public static void readInts(ByteArrayInputStream byteArrayInputStream,int[] array) { + public static void readInts(ByteArrayInputStream byteArrayInputStream, int[] array) { try { DataInputStream dataInputStream = new DataInputStream(byteArrayInputStream); for (int i = 0; i < array.length; i++) { diff --git a/src/main/java/com/github/technus/tectech/util/DoubleCount.java b/src/main/java/com/github/technus/tectech/util/DoubleCount.java index cd86480be9..629062c3b9 100644 --- a/src/main/java/com/github/technus/tectech/util/DoubleCount.java +++ b/src/main/java/com/github/technus/tectech/util/DoubleCount.java @@ -1,10 +1,10 @@ package com.github.technus.tectech.util; -import java.util.Arrays; - import static java.lang.Math.abs; import static java.lang.Math.ulp; +import java.util.Arrays; + public class DoubleCount { /** * Distributes count across probabilities @@ -26,7 +26,7 @@ public class DoubleCount { } else { switch (probabilities.length) { default: { - int size = probabilities.length; + int size = probabilities.length; double[] output = new double[size]; size--; double remaining = count, previous = probabilities[size], probability, out; @@ -39,14 +39,15 @@ public class DoubleCount { output[i] = out; if (previous < probability) { - throw new ArithmeticException("Malformed probability order: " + Arrays.toString(probabilities)); + throw new ArithmeticException( + "Malformed probability order: " + Arrays.toString(probabilities)); } previous = probability; if (probability >= 1) { break; } } - if (remaining * count < 0) {//overshoot + if (remaining * count < 0) { // overshoot finishIt(size, output, remaining); } else { output[size] = remaining; @@ -54,9 +55,9 @@ public class DoubleCount { return output; } case 1: - return new double[]{count}; + return new double[] {count}; case 0: - return probabilities;//empty array at hand... + return probabilities; // empty array at hand... } } } @@ -81,8 +82,8 @@ public class DoubleCount { } public static double div(double count, double divisor) { - if (count == 0 || abs(divisor) == 1 || abs(count)==abs(divisor)) { - return count/divisor; + if (count == 0 || abs(divisor) == 1 || abs(count) == abs(divisor)) { + return count / divisor; } else { double result = count / divisor; return result - ulpSigned(result); @@ -90,8 +91,8 @@ public class DoubleCount { } public static double mul(double count, double multiplier) { - if (count == 0 || multiplier == 0 || abs(multiplier)==1 || abs(count)==1) { - return count*multiplier; + if (count == 0 || multiplier == 0 || abs(multiplier) == 1 || abs(count) == 1) { + return count * multiplier; } else { double result = count * multiplier; return result - ulpSigned(result); @@ -103,7 +104,7 @@ public class DoubleCount { return count - value; } else { double result = count - value; - if(result==count||result==value){ + if (result == count || result == value) { return result; } return result - ulpSigned(result); @@ -115,7 +116,7 @@ public class DoubleCount { return count + value; } else { double result = count + value; - if(result==count||result==value){ + if (result == count || result == value) { return result; } return result - ulpSigned(result); diff --git a/src/main/java/com/github/technus/tectech/util/LightingHelper.java b/src/main/java/com/github/technus/tectech/util/LightingHelper.java index 9a1c1b1abd..15a0ab1e51 100644 --- a/src/main/java/com/github/technus/tectech/util/LightingHelper.java +++ b/src/main/java/com/github/technus/tectech/util/LightingHelper.java @@ -26,9 +26,9 @@ import net.minecraft.client.renderer.EntityRenderer; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; -//This is duplicated in newer GT5u on the GTNH Branch inside the gregtech.api.util package -//But I include it here as the easiest way to implement backwards compat with non-NH stuff -//Yes, it could be done in a cleaner way. If you would like to, you're welcome to make your own PR and @basdxz +// This is duplicated in newer GT5u on the GTNH Branch inside the gregtech.api.util package +// But I include it here as the easiest way to implement backwards compat with non-NH stuff +// Yes, it could be done in a cleaner way. If you would like to, you're welcome to make your own PR and @basdxz @SuppressWarnings("unused") @SideOnly(Side.CLIENT) public class LightingHelper { @@ -44,6 +44,7 @@ public class LightingHelper { * Ambient occlusion values for all four corners of side. */ private float aoTopLeft, aoBottomLeft, aoBottomRight, aoTopRight; + private boolean hasLightnessOverride; private float lightnessOverride; private boolean hasBrightnessOverride; @@ -91,7 +92,7 @@ public class LightingHelper { float green = color[1] / 255.0F; float blue = color[2] / 255.0F; - return new float[]{red, green, blue}; + return new float[] {red, green, blue}; } /** @@ -227,15 +228,21 @@ public class LightingHelper { if (renderBlocks.hasOverrideBlockTexture()) { - renderBlocks.colorRedTopLeft = renderBlocks.colorRedBottomLeft = renderBlocks.colorRedBottomRight = renderBlocks.colorRedTopRight = rgb[0]; - renderBlocks.colorGreenTopLeft = renderBlocks.colorGreenBottomLeft = renderBlocks.colorGreenBottomRight = renderBlocks.colorGreenTopRight = rgb[1]; - renderBlocks.colorBlueTopLeft = renderBlocks.colorBlueBottomLeft = renderBlocks.colorBlueBottomRight = renderBlocks.colorBlueTopRight = rgb[2]; + renderBlocks.colorRedTopLeft = renderBlocks.colorRedBottomLeft = + renderBlocks.colorRedBottomRight = renderBlocks.colorRedTopRight = rgb[0]; + renderBlocks.colorGreenTopLeft = renderBlocks.colorGreenBottomLeft = + renderBlocks.colorGreenBottomRight = renderBlocks.colorGreenTopRight = rgb[1]; + renderBlocks.colorBlueTopLeft = renderBlocks.colorBlueBottomLeft = + renderBlocks.colorBlueBottomRight = renderBlocks.colorBlueTopRight = rgb[2]; } else { - renderBlocks.colorRedTopLeft = renderBlocks.colorRedBottomLeft = renderBlocks.colorRedBottomRight = renderBlocks.colorRedTopRight = rgb[0] * lightness; - renderBlocks.colorGreenTopLeft = renderBlocks.colorGreenBottomLeft = renderBlocks.colorGreenBottomRight = renderBlocks.colorGreenTopRight = rgb[1] * lightness; - renderBlocks.colorBlueTopLeft = renderBlocks.colorBlueBottomLeft = renderBlocks.colorBlueBottomRight = renderBlocks.colorBlueTopRight = rgb[2] * lightness; + renderBlocks.colorRedTopLeft = renderBlocks.colorRedBottomLeft = + renderBlocks.colorRedBottomRight = renderBlocks.colorRedTopRight = rgb[0] * lightness; + renderBlocks.colorGreenTopLeft = renderBlocks.colorGreenBottomLeft = + renderBlocks.colorGreenBottomRight = renderBlocks.colorGreenTopRight = rgb[1] * lightness; + renderBlocks.colorBlueTopLeft = renderBlocks.colorBlueBottomLeft = + renderBlocks.colorBlueBottomRight = renderBlocks.colorBlueTopRight = rgb[2] * lightness; renderBlocks.colorRedTopLeft *= aoTopLeft; renderBlocks.colorGreenTopLeft *= aoTopLeft; @@ -254,7 +261,6 @@ public class LightingHelper { } else { tessellator.setColorOpaque_F(rgb[0] * lightness, rgb[1] * lightness, rgb[2] * lightness); - } } @@ -269,7 +275,7 @@ public class LightingHelper { float green = (color >> 8 & 0xff) / 255.0F; float blue = (color & 0xff) / 255.0F; - return new float[]{red, green, blue}; + return new float[] {red, green, blue}; } /** @@ -332,43 +338,150 @@ public class LightingHelper { float ratio = (float) (1.0F - renderBlocks.renderMinX); float aoLightValue = renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(); - renderBlocks.aoBrightnessXYNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z); - renderBlocks.aoBrightnessXZNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z - 1); - renderBlocks.aoBrightnessXZNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z + 1); - renderBlocks.aoBrightnessXYNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z); - renderBlocks.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z - 1); - renderBlocks.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z + 1); - renderBlocks.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z - 1); - renderBlocks.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z + 1); - renderBlocks.aoLightValueScratchXYNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXZNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXZNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZNNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZNNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZNPN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZNPP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), ratio); - - int brightnessMixedXYZNPN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXZNN, renderBlocks.aoBrightnessXYZNPN, renderBlocks.aoBrightnessXYNP, mixedBrightness); - int brightnessMixedXYZNNN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYZNNN, renderBlocks.aoBrightnessXYNN, renderBlocks.aoBrightnessXZNN, mixedBrightness); - int brightnessMixedXYZNNP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYNN, renderBlocks.aoBrightnessXYZNNP, renderBlocks.aoBrightnessXZNP, mixedBrightness); - int brightnessMixedXYZNPP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXZNP, renderBlocks.aoBrightnessXYNP, renderBlocks.aoBrightnessXYZNPP, mixedBrightness); - - float aoMixedXYZNPN = (renderBlocks.aoLightValueScratchXZNN + aoLightValue + renderBlocks.aoLightValueScratchXYZNPN + renderBlocks.aoLightValueScratchXYNP) / 4.0F; - float aoMixedXYZNNN = (renderBlocks.aoLightValueScratchXYZNNN + renderBlocks.aoLightValueScratchXYNN + renderBlocks.aoLightValueScratchXZNN + aoLightValue) / 4.0F; - float aoMixedXYZNNP = (renderBlocks.aoLightValueScratchXYNN + renderBlocks.aoLightValueScratchXYZNNP + aoLightValue + renderBlocks.aoLightValueScratchXZNP) / 4.0F; - float aoMixedXYZNPP = (aoLightValue + renderBlocks.aoLightValueScratchXZNP + renderBlocks.aoLightValueScratchXYNP + renderBlocks.aoLightValueScratchXYZNPP) / 4.0F; - - aoTopLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * renderBlocks.renderMaxZ + aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ); - aoBottomLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * renderBlocks.renderMinZ + aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ); - aoBottomRight = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * renderBlocks.renderMinZ + aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ); - aoTopRight = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * renderBlocks.renderMaxZ + aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ); - - renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNPN, brightnessMixedXYZNNN, brightnessMixedXYZNNP, renderBlocks.renderMaxY * renderBlocks.renderMaxZ, renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ), (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ), (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ); - renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNPN, brightnessMixedXYZNNN, brightnessMixedXYZNNP, renderBlocks.renderMaxY * renderBlocks.renderMinZ, renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ), (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ), (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ); - renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNPN, brightnessMixedXYZNNN, brightnessMixedXYZNNP, renderBlocks.renderMinY * renderBlocks.renderMinZ, renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ), (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ), (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ); - renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNPN, brightnessMixedXYZNNN, brightnessMixedXYZNNP, renderBlocks.renderMinY * renderBlocks.renderMaxZ, renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ), (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ), (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ); - + renderBlocks.aoBrightnessXYNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z); + renderBlocks.aoBrightnessXZNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z - 1); + renderBlocks.aoBrightnessXZNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z + 1); + renderBlocks.aoBrightnessXYNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z); + renderBlocks.aoBrightnessXYZNNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z - 1); + renderBlocks.aoBrightnessXYZNNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z + 1); + renderBlocks.aoBrightnessXYZNPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z - 1); + renderBlocks.aoBrightnessXYZNPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z + 1); + renderBlocks.aoLightValueScratchXYNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXZNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXZNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZNNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZNNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZNPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZNPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), + ratio); + + int brightnessMixedXYZNPN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXZNN, + renderBlocks.aoBrightnessXYZNPN, + renderBlocks.aoBrightnessXYNP, + mixedBrightness); + int brightnessMixedXYZNNN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYZNNN, + renderBlocks.aoBrightnessXYNN, + renderBlocks.aoBrightnessXZNN, + mixedBrightness); + int brightnessMixedXYZNNP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYNN, + renderBlocks.aoBrightnessXYZNNP, + renderBlocks.aoBrightnessXZNP, + mixedBrightness); + int brightnessMixedXYZNPP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXZNP, + renderBlocks.aoBrightnessXYNP, + renderBlocks.aoBrightnessXYZNPP, + mixedBrightness); + + float aoMixedXYZNPN = (renderBlocks.aoLightValueScratchXZNN + + aoLightValue + + renderBlocks.aoLightValueScratchXYZNPN + + renderBlocks.aoLightValueScratchXYNP) + / 4.0F; + float aoMixedXYZNNN = (renderBlocks.aoLightValueScratchXYZNNN + + renderBlocks.aoLightValueScratchXYNN + + renderBlocks.aoLightValueScratchXZNN + + aoLightValue) + / 4.0F; + float aoMixedXYZNNP = (renderBlocks.aoLightValueScratchXYNN + + renderBlocks.aoLightValueScratchXYZNNP + + aoLightValue + + renderBlocks.aoLightValueScratchXZNP) + / 4.0F; + float aoMixedXYZNPP = (aoLightValue + + renderBlocks.aoLightValueScratchXZNP + + renderBlocks.aoLightValueScratchXYNP + + renderBlocks.aoLightValueScratchXYZNPP) + / 4.0F; + + aoTopLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * renderBlocks.renderMaxZ + + aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ) + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ) + + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ); + aoBottomLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * renderBlocks.renderMinZ + + aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ) + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ) + + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ); + aoBottomRight = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * renderBlocks.renderMinZ + + aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ) + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ) + + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ); + aoTopRight = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * renderBlocks.renderMaxZ + + aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ) + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ) + + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ); + + renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZNPN, + brightnessMixedXYZNNN, + brightnessMixedXYZNNP, + renderBlocks.renderMaxY * renderBlocks.renderMaxZ, + renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ), + (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ), + (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ); + renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZNPN, + brightnessMixedXYZNNN, + brightnessMixedXYZNNP, + renderBlocks.renderMaxY * renderBlocks.renderMinZ, + renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ), + (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ), + (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ); + renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZNPN, + brightnessMixedXYZNNN, + brightnessMixedXYZNNP, + renderBlocks.renderMinY * renderBlocks.renderMinZ, + renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ), + (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ), + (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ); + renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZNPN, + brightnessMixedXYZNNN, + brightnessMixedXYZNNP, + renderBlocks.renderMinY * renderBlocks.renderMaxZ, + renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ), + (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ), + (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ); } return this; @@ -402,43 +515,150 @@ public class LightingHelper { float aoLightValue = renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(); - renderBlocks.aoBrightnessXYPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z); - renderBlocks.aoBrightnessXZPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z - 1); - renderBlocks.aoBrightnessXZPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z + 1); - renderBlocks.aoBrightnessXYPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z); - renderBlocks.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z - 1); - renderBlocks.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z + 1); - renderBlocks.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z - 1); - renderBlocks.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z + 1); - renderBlocks.aoLightValueScratchXYPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXZPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXZPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXYPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXYZPNN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXYZPNP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXYZPPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); - renderBlocks.aoLightValueScratchXYZPPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxX); - - int brightnessMixedXYZPPP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXZPP, renderBlocks.aoBrightnessXYPP, renderBlocks.aoBrightnessXYZPPP, mixedBrightness); - int brightnessMixedXYZPNP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYPN, renderBlocks.aoBrightnessXYZPNP, renderBlocks.aoBrightnessXZPP, mixedBrightness); - int brightnessMixedXYZPNN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYZPNN, renderBlocks.aoBrightnessXYPN, renderBlocks.aoBrightnessXZPN, mixedBrightness); - int brightnessMixedXYZPPN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXZPN, renderBlocks.aoBrightnessXYZPPN, renderBlocks.aoBrightnessXYPP, mixedBrightness); - - float aoMixedXYZPPP = (aoLightValue + renderBlocks.aoLightValueScratchXZPP + renderBlocks.aoLightValueScratchXYPP + renderBlocks.aoLightValueScratchXYZPPP) / 4.0F; - float aoMixedXYZPNP = (renderBlocks.aoLightValueScratchXYPN + renderBlocks.aoLightValueScratchXYZPNP + aoLightValue + renderBlocks.aoLightValueScratchXZPP) / 4.0F; - float aoMixedXYZPNN = (renderBlocks.aoLightValueScratchXYZPNN + renderBlocks.aoLightValueScratchXYPN + renderBlocks.aoLightValueScratchXZPN + aoLightValue) / 4.0F; - float aoMixedXYZPPN = (renderBlocks.aoLightValueScratchXZPN + aoLightValue + renderBlocks.aoLightValueScratchXYZPPN + renderBlocks.aoLightValueScratchXYPP) / 4.0F; - - aoTopLeft = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZPPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMaxZ); - aoBottomLeft = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZPPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMinZ); - aoBottomRight = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZPPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ) + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMinZ); - aoTopRight = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZPPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ) + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMaxZ); - - renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZPPN, brightnessMixedXYZPPP, (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ, (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ), renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ), renderBlocks.renderMinY * renderBlocks.renderMaxZ); - renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZPPN, brightnessMixedXYZPPP, (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ, (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ), renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ), renderBlocks.renderMinY * renderBlocks.renderMinZ); - renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness(brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZPPN, brightnessMixedXYZPPP, (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ, (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ), renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ), renderBlocks.renderMaxY * renderBlocks.renderMinZ); - renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness(brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZPPN, brightnessMixedXYZPPP, (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ, (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ), renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ), renderBlocks.renderMaxY * renderBlocks.renderMaxZ); - + renderBlocks.aoBrightnessXYPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z); + renderBlocks.aoBrightnessXZPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z - 1); + renderBlocks.aoBrightnessXZPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y, z + 1); + renderBlocks.aoBrightnessXYPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z); + renderBlocks.aoBrightnessXYZPNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z - 1); + renderBlocks.aoBrightnessXYZPNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y - 1, z + 1); + renderBlocks.aoBrightnessXYZPPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z - 1); + renderBlocks.aoBrightnessXYZPPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, xOffset, y + 1, z + 1); + renderBlocks.aoLightValueScratchXYPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXZPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXZPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXYPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXYZPNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXYZPNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXYZPPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxX); + renderBlocks.aoLightValueScratchXYZPPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxX); + + int brightnessMixedXYZPPP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXZPP, + renderBlocks.aoBrightnessXYPP, + renderBlocks.aoBrightnessXYZPPP, + mixedBrightness); + int brightnessMixedXYZPNP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYPN, + renderBlocks.aoBrightnessXYZPNP, + renderBlocks.aoBrightnessXZPP, + mixedBrightness); + int brightnessMixedXYZPNN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYZPNN, + renderBlocks.aoBrightnessXYPN, + renderBlocks.aoBrightnessXZPN, + mixedBrightness); + int brightnessMixedXYZPPN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXZPN, + renderBlocks.aoBrightnessXYZPPN, + renderBlocks.aoBrightnessXYPP, + mixedBrightness); + + float aoMixedXYZPPP = (aoLightValue + + renderBlocks.aoLightValueScratchXZPP + + renderBlocks.aoLightValueScratchXYPP + + renderBlocks.aoLightValueScratchXYZPPP) + / 4.0F; + float aoMixedXYZPNP = (renderBlocks.aoLightValueScratchXYPN + + renderBlocks.aoLightValueScratchXYZPNP + + aoLightValue + + renderBlocks.aoLightValueScratchXZPP) + / 4.0F; + float aoMixedXYZPNN = (renderBlocks.aoLightValueScratchXYZPNN + + renderBlocks.aoLightValueScratchXYPN + + renderBlocks.aoLightValueScratchXZPN + + aoLightValue) + / 4.0F; + float aoMixedXYZPPN = (renderBlocks.aoLightValueScratchXZPN + + aoLightValue + + renderBlocks.aoLightValueScratchXYZPPN + + renderBlocks.aoLightValueScratchXYPP) + / 4.0F; + + aoTopLeft = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ) + + aoMixedXYZPPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ) + + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMaxZ); + aoBottomLeft = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ) + + aoMixedXYZPPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ) + + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMinZ); + aoBottomRight = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ) + + aoMixedXYZPPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ) + + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMinZ); + aoTopRight = (float) (aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ) + + aoMixedXYZPPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ) + + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMaxZ); + + renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZPNP, + brightnessMixedXYZPNN, + brightnessMixedXYZPPN, + brightnessMixedXYZPPP, + (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxZ, + (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxZ), + renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxZ), + renderBlocks.renderMinY * renderBlocks.renderMaxZ); + renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZPNP, + brightnessMixedXYZPNN, + brightnessMixedXYZPPN, + brightnessMixedXYZPPP, + (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinZ, + (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinZ), + renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinZ), + renderBlocks.renderMinY * renderBlocks.renderMinZ); + renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZPNP, + brightnessMixedXYZPNN, + brightnessMixedXYZPPN, + brightnessMixedXYZPPP, + (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinZ, + (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinZ), + renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinZ), + renderBlocks.renderMaxY * renderBlocks.renderMinZ); + renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZPNP, + brightnessMixedXYZPNN, + brightnessMixedXYZPPN, + brightnessMixedXYZPPP, + (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxZ, + (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxZ), + renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxZ), + renderBlocks.renderMaxY * renderBlocks.renderMaxZ); } return this; @@ -473,43 +693,150 @@ public class LightingHelper { float ratio = (float) (1.0F - renderBlocks.renderMinY); float aoLightValue = renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(); - renderBlocks.aoBrightnessXYNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z); - renderBlocks.aoBrightnessYZNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z - 1); - renderBlocks.aoBrightnessYZNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z + 1); - renderBlocks.aoBrightnessXYPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z); - renderBlocks.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z - 1); - renderBlocks.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z + 1); - renderBlocks.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z - 1); - renderBlocks.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z + 1); - renderBlocks.aoLightValueScratchXYNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchYZNN = getMixedAo(renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchYZNP = getMixedAo(renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZNNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZNNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZPNN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZPNP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), ratio); - - int brightnessMixedXYZPNP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZNP, renderBlocks.aoBrightnessXYZPNP, renderBlocks.aoBrightnessXYPN, mixedBrightness); - int brightnessMixedXYZPNN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZNN, renderBlocks.aoBrightnessXYPN, renderBlocks.aoBrightnessXYZPNN, mixedBrightness); - int brightnessMixedXYZNNN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYNN, renderBlocks.aoBrightnessXYZNNN, renderBlocks.aoBrightnessYZNN, mixedBrightness); - int brightnessMixedXYZNNP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYZNNP, renderBlocks.aoBrightnessXYNN, renderBlocks.aoBrightnessYZNP, mixedBrightness); - - float aoMixedXYZPNP = (renderBlocks.aoLightValueScratchYZNP + aoLightValue + renderBlocks.aoLightValueScratchXYZPNP + renderBlocks.aoLightValueScratchXYPN) / 4.0F; - float aoMixedXYZPNN = (aoLightValue + renderBlocks.aoLightValueScratchYZNN + renderBlocks.aoLightValueScratchXYPN + renderBlocks.aoLightValueScratchXYZPNN) / 4.0F; - float aoMixedXYZNNN = (renderBlocks.aoLightValueScratchXYNN + renderBlocks.aoLightValueScratchXYZNNN + aoLightValue + renderBlocks.aoLightValueScratchYZNN) / 4.0F; - float aoMixedXYZNNP = (renderBlocks.aoLightValueScratchXYZNNP + renderBlocks.aoLightValueScratchXYNN + renderBlocks.aoLightValueScratchYZNP + aoLightValue) / 4.0F; - - aoTopLeft = (float) (aoMixedXYZNNP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPNP * renderBlocks.renderMaxZ * renderBlocks.renderMinX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); - aoBottomLeft = (float) (aoMixedXYZNNP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPNP * renderBlocks.renderMinZ * renderBlocks.renderMinX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); - aoBottomRight = (float) (aoMixedXYZNNP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPNP * renderBlocks.renderMinZ * renderBlocks.renderMaxX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); - aoTopRight = (float) (aoMixedXYZNNP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPNP * renderBlocks.renderMaxZ * renderBlocks.renderMaxX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); - - renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX), renderBlocks.renderMaxZ * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); - renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX), renderBlocks.renderMinZ * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); - renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX), renderBlocks.renderMinZ * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); - renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX), renderBlocks.renderMaxZ * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); - + renderBlocks.aoBrightnessXYNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z); + renderBlocks.aoBrightnessYZNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z - 1); + renderBlocks.aoBrightnessYZNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z + 1); + renderBlocks.aoBrightnessXYPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z); + renderBlocks.aoBrightnessXYZNNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z - 1); + renderBlocks.aoBrightnessXYZNNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z + 1); + renderBlocks.aoBrightnessXYZPNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z - 1); + renderBlocks.aoBrightnessXYZPNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z + 1); + renderBlocks.aoLightValueScratchXYNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchYZNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchYZNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZNNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZNNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZPNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZPNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), + ratio); + + int brightnessMixedXYZPNP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessYZNP, + renderBlocks.aoBrightnessXYZPNP, + renderBlocks.aoBrightnessXYPN, + mixedBrightness); + int brightnessMixedXYZPNN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessYZNN, + renderBlocks.aoBrightnessXYPN, + renderBlocks.aoBrightnessXYZPNN, + mixedBrightness); + int brightnessMixedXYZNNN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYNN, + renderBlocks.aoBrightnessXYZNNN, + renderBlocks.aoBrightnessYZNN, + mixedBrightness); + int brightnessMixedXYZNNP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYZNNP, + renderBlocks.aoBrightnessXYNN, + renderBlocks.aoBrightnessYZNP, + mixedBrightness); + + float aoMixedXYZPNP = (renderBlocks.aoLightValueScratchYZNP + + aoLightValue + + renderBlocks.aoLightValueScratchXYZPNP + + renderBlocks.aoLightValueScratchXYPN) + / 4.0F; + float aoMixedXYZPNN = (aoLightValue + + renderBlocks.aoLightValueScratchYZNN + + renderBlocks.aoLightValueScratchXYPN + + renderBlocks.aoLightValueScratchXYZPNN) + / 4.0F; + float aoMixedXYZNNN = (renderBlocks.aoLightValueScratchXYNN + + renderBlocks.aoLightValueScratchXYZNNN + + aoLightValue + + renderBlocks.aoLightValueScratchYZNN) + / 4.0F; + float aoMixedXYZNNP = (renderBlocks.aoLightValueScratchXYZNNP + + renderBlocks.aoLightValueScratchXYNN + + renderBlocks.aoLightValueScratchYZNP + + aoLightValue) + / 4.0F; + + aoTopLeft = (float) (aoMixedXYZNNP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX) + + aoMixedXYZPNP * renderBlocks.renderMaxZ * renderBlocks.renderMinX + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); + aoBottomLeft = (float) (aoMixedXYZNNP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX) + + aoMixedXYZPNP * renderBlocks.renderMinZ * renderBlocks.renderMinX + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); + aoBottomRight = (float) (aoMixedXYZNNP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX) + + aoMixedXYZPNP * renderBlocks.renderMinZ * renderBlocks.renderMaxX + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); + aoTopRight = (float) (aoMixedXYZNNP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX) + + aoMixedXYZPNP * renderBlocks.renderMaxZ * renderBlocks.renderMaxX + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); + + renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNNP, + brightnessMixedXYZPNP, + brightnessMixedXYZPNN, + brightnessMixedXYZNNN, + renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX), + renderBlocks.renderMaxZ * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); + renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNNP, + brightnessMixedXYZPNP, + brightnessMixedXYZPNN, + brightnessMixedXYZNNN, + renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX), + renderBlocks.renderMinZ * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); + renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNNP, + brightnessMixedXYZPNP, + brightnessMixedXYZPNN, + brightnessMixedXYZNNN, + renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX), + renderBlocks.renderMinZ * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); + renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNNP, + brightnessMixedXYZPNP, + brightnessMixedXYZPNN, + brightnessMixedXYZNNN, + renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX), + renderBlocks.renderMaxZ * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); } return this; @@ -543,42 +870,150 @@ public class LightingHelper { float aoLightValue = renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(); - renderBlocks.aoBrightnessXYNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z); - renderBlocks.aoBrightnessXYPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z); - renderBlocks.aoBrightnessYZPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z - 1); - renderBlocks.aoBrightnessYZPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z + 1); - renderBlocks.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z - 1); - renderBlocks.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z - 1); - renderBlocks.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z + 1); - renderBlocks.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z + 1); - renderBlocks.aoLightValueScratchXYNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchXYPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchYZPN = getMixedAo(renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchYZPP = getMixedAo(renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchXYZNPN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchXYZPPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchXYZNPP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); - renderBlocks.aoLightValueScratchXYZPPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.renderMaxY); - - int brightnessMixedXYZPPP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZPP, renderBlocks.aoBrightnessXYZPPP, renderBlocks.aoBrightnessXYPP, mixedBrightness); - int brightnessMixedXYZPPN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZPN, renderBlocks.aoBrightnessXYPP, renderBlocks.aoBrightnessXYZPPN, mixedBrightness); - int brightnessMixedXYZNPN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYNP, renderBlocks.aoBrightnessXYZNPN, renderBlocks.aoBrightnessYZPN, mixedBrightness); - int brightnessMixedXYZNPP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYZNPP, renderBlocks.aoBrightnessXYNP, renderBlocks.aoBrightnessYZPP, mixedBrightness); - - float aoMixedXYZPPP = (renderBlocks.aoLightValueScratchYZPP + aoLightValue + renderBlocks.aoLightValueScratchXYZPPP + renderBlocks.aoLightValueScratchXYPP) / 4.0F; - float aoMixedXYZPPN = (aoLightValue + renderBlocks.aoLightValueScratchYZPN + renderBlocks.aoLightValueScratchXYPP + renderBlocks.aoLightValueScratchXYZPPN) / 4.0F; - float aoMixedXYZNPN = (renderBlocks.aoLightValueScratchXYNP + renderBlocks.aoLightValueScratchXYZNPN + aoLightValue + renderBlocks.aoLightValueScratchYZPN) / 4.0F; - float aoMixedXYZNPP = (renderBlocks.aoLightValueScratchXYZNPP + renderBlocks.aoLightValueScratchXYNP + renderBlocks.aoLightValueScratchYZPP + aoLightValue) / 4.0F; - - aoTopLeft /*SE*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPPP * renderBlocks.renderMaxZ * renderBlocks.renderMaxX + aoMixedXYZPPN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX + aoMixedXYZNPN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); - aoBottomLeft /*NE*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPPP * renderBlocks.renderMinZ * renderBlocks.renderMaxX + aoMixedXYZPPN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX + aoMixedXYZNPN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); - aoBottomRight /*NW*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPPP * renderBlocks.renderMinZ * renderBlocks.renderMinX + aoMixedXYZPPN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX + aoMixedXYZNPN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); - aoTopRight /*SW*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPPP * renderBlocks.renderMaxZ * renderBlocks.renderMinX + aoMixedXYZPPN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX + aoMixedXYZNPN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); - - renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZPPP, brightnessMixedXYZPPN, brightnessMixedXYZNPN, renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX), renderBlocks.renderMaxZ * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); - renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZPPP, brightnessMixedXYZPPN, brightnessMixedXYZNPN, renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX), renderBlocks.renderMinZ * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); - renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZPPP, brightnessMixedXYZPPN, brightnessMixedXYZNPN, renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX), renderBlocks.renderMinZ * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); - renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZPPP, brightnessMixedXYZPPN, brightnessMixedXYZNPN, renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX), renderBlocks.renderMaxZ * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); + renderBlocks.aoBrightnessXYNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z); + renderBlocks.aoBrightnessXYPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z); + renderBlocks.aoBrightnessYZPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z - 1); + renderBlocks.aoBrightnessYZPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, yOffset, z + 1); + renderBlocks.aoBrightnessXYZNPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z - 1); + renderBlocks.aoBrightnessXYZPPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z - 1); + renderBlocks.aoBrightnessXYZNPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, yOffset, z + 1); + renderBlocks.aoBrightnessXYZPPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, yOffset, z + 1); + renderBlocks.aoLightValueScratchXYNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchXYPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchYZPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchYZPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchXYZNPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchXYZPPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchXYZNPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxY); + renderBlocks.aoLightValueScratchXYZPPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxY); + + int brightnessMixedXYZPPP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessYZPP, + renderBlocks.aoBrightnessXYZPPP, + renderBlocks.aoBrightnessXYPP, + mixedBrightness); + int brightnessMixedXYZPPN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessYZPN, + renderBlocks.aoBrightnessXYPP, + renderBlocks.aoBrightnessXYZPPN, + mixedBrightness); + int brightnessMixedXYZNPN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYNP, + renderBlocks.aoBrightnessXYZNPN, + renderBlocks.aoBrightnessYZPN, + mixedBrightness); + int brightnessMixedXYZNPP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYZNPP, + renderBlocks.aoBrightnessXYNP, + renderBlocks.aoBrightnessYZPP, + mixedBrightness); + + float aoMixedXYZPPP = (renderBlocks.aoLightValueScratchYZPP + + aoLightValue + + renderBlocks.aoLightValueScratchXYZPPP + + renderBlocks.aoLightValueScratchXYPP) + / 4.0F; + float aoMixedXYZPPN = (aoLightValue + + renderBlocks.aoLightValueScratchYZPN + + renderBlocks.aoLightValueScratchXYPP + + renderBlocks.aoLightValueScratchXYZPPN) + / 4.0F; + float aoMixedXYZNPN = (renderBlocks.aoLightValueScratchXYNP + + renderBlocks.aoLightValueScratchXYZNPN + + aoLightValue + + renderBlocks.aoLightValueScratchYZPN) + / 4.0F; + float aoMixedXYZNPP = (renderBlocks.aoLightValueScratchXYZNPP + + renderBlocks.aoLightValueScratchXYNP + + renderBlocks.aoLightValueScratchYZPP + + aoLightValue) + / 4.0F; + + aoTopLeft /*SE*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX) + + aoMixedXYZPPP * renderBlocks.renderMaxZ * renderBlocks.renderMaxX + + aoMixedXYZPPN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX + + aoMixedXYZNPN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); + aoBottomLeft /*NE*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX) + + aoMixedXYZPPP * renderBlocks.renderMinZ * renderBlocks.renderMaxX + + aoMixedXYZPPN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX + + aoMixedXYZNPN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); + aoBottomRight /*NW*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX) + + aoMixedXYZPPP * renderBlocks.renderMinZ * renderBlocks.renderMinX + + aoMixedXYZPPN * (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX + + aoMixedXYZNPN * (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); + aoTopRight /*SW*/ = (float) (aoMixedXYZNPP * renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX) + + aoMixedXYZPPP * renderBlocks.renderMaxZ * renderBlocks.renderMinX + + aoMixedXYZPPN * (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX + + aoMixedXYZNPN * (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); + + renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZPPP, + brightnessMixedXYZPPN, + brightnessMixedXYZNPN, + renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMaxX), + renderBlocks.renderMaxZ * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMaxX)); + renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZPPP, + brightnessMixedXYZPPN, + brightnessMixedXYZNPN, + renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMaxX), + renderBlocks.renderMinZ * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMaxX)); + renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZPPP, + brightnessMixedXYZPPN, + brightnessMixedXYZNPN, + renderBlocks.renderMinZ * (1.0D - renderBlocks.renderMinX), + renderBlocks.renderMinZ * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMinZ) * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMinZ) * (1.0D - renderBlocks.renderMinX)); + renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZPPP, + brightnessMixedXYZPPN, + brightnessMixedXYZNPN, + renderBlocks.renderMaxZ * (1.0D - renderBlocks.renderMinX), + renderBlocks.renderMaxZ * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMaxZ) * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMaxZ) * (1.0D - renderBlocks.renderMinX)); } return this; @@ -613,43 +1048,150 @@ public class LightingHelper { float ratio = (float) (1.0F - renderBlocks.renderMinZ); float aoLightValue = renderBlocks.blockAccess.getBlock(x, y, z - 1).getAmbientOcclusionLightValue(); - renderBlocks.aoBrightnessXZNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y, zOffset); - renderBlocks.aoBrightnessYZNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y - 1, zOffset); - renderBlocks.aoBrightnessYZPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y + 1, zOffset); - renderBlocks.aoBrightnessXZPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y, zOffset); - renderBlocks.aoBrightnessXYZNNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y - 1, zOffset); - renderBlocks.aoBrightnessXYZNPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y + 1, zOffset); - renderBlocks.aoBrightnessXYZPNN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y - 1, zOffset); - renderBlocks.aoBrightnessXYZPPN = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y + 1, zOffset); - renderBlocks.aoLightValueScratchXZNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchYZNN = getMixedAo(renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchYZPN = getMixedAo(renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXZPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZNNN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZNPN = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZPNN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), ratio); - renderBlocks.aoLightValueScratchXYZPPN = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z - 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), ratio); - - int brightnessMixedXYZPPN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZPN, renderBlocks.aoBrightnessXZPN, renderBlocks.aoBrightnessXYZPPN, mixedBrightness); - int brightnessMixedXYZPNN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZNN, renderBlocks.aoBrightnessXYZPNN, renderBlocks.aoBrightnessXZPN, mixedBrightness); - int brightnessMixedXYZNNN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYZNNN, renderBlocks.aoBrightnessXZNN, renderBlocks.aoBrightnessYZNN, mixedBrightness); - int brightnessMixedXYZNPN = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXZNN, renderBlocks.aoBrightnessXYZNPN, renderBlocks.aoBrightnessYZPN, mixedBrightness); - - float aoMixedXYZPPN = (aoLightValue + renderBlocks.aoLightValueScratchYZPN + renderBlocks.aoLightValueScratchXZPN + renderBlocks.aoLightValueScratchXYZPPN) / 4.0F; - float aoMixedXYZPNN = (renderBlocks.aoLightValueScratchYZNN + aoLightValue + renderBlocks.aoLightValueScratchXYZPNN + renderBlocks.aoLightValueScratchXZPN) / 4.0F; - float aoMixedXYZNNN = (renderBlocks.aoLightValueScratchXYZNNN + renderBlocks.aoLightValueScratchXZNN + renderBlocks.aoLightValueScratchYZNN + aoLightValue) / 4.0F; - float aoMixedXYZNPN = (renderBlocks.aoLightValueScratchXZNN + renderBlocks.aoLightValueScratchXYZNPN + aoLightValue + renderBlocks.aoLightValueScratchYZPN) / 4.0F; - - aoTopLeft = (float) (aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPPN * renderBlocks.renderMaxY * renderBlocks.renderMinX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX)); - aoBottomLeft = (float) (aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPPN * renderBlocks.renderMaxY * renderBlocks.renderMaxX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX)); - aoBottomRight = (float) (aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPPN * renderBlocks.renderMinY * renderBlocks.renderMaxX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX)); - aoTopRight = (float) (aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPPN * renderBlocks.renderMinY * renderBlocks.renderMinX + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX)); - - renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPN, brightnessMixedXYZPPN, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX), renderBlocks.renderMaxY * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX)); - renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPN, brightnessMixedXYZPPN, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX), renderBlocks.renderMaxY * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX)); - renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPN, brightnessMixedXYZPPN, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX), renderBlocks.renderMinY * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX, (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX)); - renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPN, brightnessMixedXYZPPN, brightnessMixedXYZPNN, brightnessMixedXYZNNN, renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX), renderBlocks.renderMinY * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX, (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX)); - + renderBlocks.aoBrightnessXZNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y, zOffset); + renderBlocks.aoBrightnessYZNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y - 1, zOffset); + renderBlocks.aoBrightnessYZPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y + 1, zOffset); + renderBlocks.aoBrightnessXZPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y, zOffset); + renderBlocks.aoBrightnessXYZNNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y - 1, zOffset); + renderBlocks.aoBrightnessXYZNPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y + 1, zOffset); + renderBlocks.aoBrightnessXYZPNN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y - 1, zOffset); + renderBlocks.aoBrightnessXYZPPN = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y + 1, zOffset); + renderBlocks.aoLightValueScratchXZNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchYZNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x, y - 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchYZPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x, y + 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXZPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZNNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZNPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZPNN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), + ratio); + renderBlocks.aoLightValueScratchXYZPPN = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z - 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), + ratio); + + int brightnessMixedXYZPPN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessYZPN, + renderBlocks.aoBrightnessXZPN, + renderBlocks.aoBrightnessXYZPPN, + mixedBrightness); + int brightnessMixedXYZPNN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessYZNN, + renderBlocks.aoBrightnessXYZPNN, + renderBlocks.aoBrightnessXZPN, + mixedBrightness); + int brightnessMixedXYZNNN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYZNNN, + renderBlocks.aoBrightnessXZNN, + renderBlocks.aoBrightnessYZNN, + mixedBrightness); + int brightnessMixedXYZNPN = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXZNN, + renderBlocks.aoBrightnessXYZNPN, + renderBlocks.aoBrightnessYZPN, + mixedBrightness); + + float aoMixedXYZPPN = (aoLightValue + + renderBlocks.aoLightValueScratchYZPN + + renderBlocks.aoLightValueScratchXZPN + + renderBlocks.aoLightValueScratchXYZPPN) + / 4.0F; + float aoMixedXYZPNN = (renderBlocks.aoLightValueScratchYZNN + + aoLightValue + + renderBlocks.aoLightValueScratchXYZPNN + + renderBlocks.aoLightValueScratchXZPN) + / 4.0F; + float aoMixedXYZNNN = (renderBlocks.aoLightValueScratchXYZNNN + + renderBlocks.aoLightValueScratchXZNN + + renderBlocks.aoLightValueScratchYZNN + + aoLightValue) + / 4.0F; + float aoMixedXYZNPN = (renderBlocks.aoLightValueScratchXZNN + + renderBlocks.aoLightValueScratchXYZNPN + + aoLightValue + + renderBlocks.aoLightValueScratchYZPN) + / 4.0F; + + aoTopLeft = (float) (aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX) + + aoMixedXYZPPN * renderBlocks.renderMaxY * renderBlocks.renderMinX + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX)); + aoBottomLeft = (float) (aoMixedXYZNPN * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX) + + aoMixedXYZPPN * renderBlocks.renderMaxY * renderBlocks.renderMaxX + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX)); + aoBottomRight = (float) (aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX) + + aoMixedXYZPPN * renderBlocks.renderMinY * renderBlocks.renderMaxX + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX)); + aoTopRight = (float) (aoMixedXYZNPN * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX) + + aoMixedXYZPPN * renderBlocks.renderMinY * renderBlocks.renderMinX + + aoMixedXYZPNN * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX + + aoMixedXYZNNN * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX)); + + renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPN, + brightnessMixedXYZPPN, + brightnessMixedXYZPNN, + brightnessMixedXYZNNN, + renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX), + renderBlocks.renderMaxY * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX)); + renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPN, + brightnessMixedXYZPPN, + brightnessMixedXYZPNN, + brightnessMixedXYZNNN, + renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX), + renderBlocks.renderMaxY * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX)); + renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPN, + brightnessMixedXYZPPN, + brightnessMixedXYZPNN, + brightnessMixedXYZNNN, + renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX), + renderBlocks.renderMinY * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX, + (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX)); + renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPN, + brightnessMixedXYZPPN, + brightnessMixedXYZPNN, + brightnessMixedXYZNNN, + renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX), + renderBlocks.renderMinY * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX, + (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX)); } return this; @@ -683,42 +1225,150 @@ public class LightingHelper { float aoLightValue = renderBlocks.blockAccess.getBlock(x, y, z + 1).getAmbientOcclusionLightValue(); - renderBlocks.aoBrightnessXZNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y, zOffset); - renderBlocks.aoBrightnessXZPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y, zOffset); - renderBlocks.aoBrightnessYZNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y - 1, zOffset); - renderBlocks.aoBrightnessYZPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y + 1, zOffset); - renderBlocks.aoBrightnessXYZNNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y - 1, zOffset); - renderBlocks.aoBrightnessXYZNPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y + 1, zOffset); - renderBlocks.aoBrightnessXYZPNP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y - 1, zOffset); - renderBlocks.aoBrightnessXYZPPP = block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y + 1, zOffset); - renderBlocks.aoLightValueScratchXZNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchXZPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchYZNP = getMixedAo(renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchYZPP = getMixedAo(renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchXYZNNP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchXYZNPP = getMixedAo(renderBlocks.blockAccess.getBlock(x - 1, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchXYZPNP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y - 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); - renderBlocks.aoLightValueScratchXYZPPP = getMixedAo(renderBlocks.blockAccess.getBlock(x + 1, y + 1, z + 1).getAmbientOcclusionLightValue(), renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), renderBlocks.renderMaxZ); - - int brightnessMixedXYZNPP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXZNP, renderBlocks.aoBrightnessXYZNPP, renderBlocks.aoBrightnessYZPP, mixedBrightness); - int brightnessMixedXYZNNP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessXYZNNP, renderBlocks.aoBrightnessXZNP, renderBlocks.aoBrightnessYZNP, mixedBrightness); - int brightnessMixedXYZPNP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZNP, renderBlocks.aoBrightnessXYZPNP, renderBlocks.aoBrightnessXZPP, mixedBrightness); - int brightnessMixedXYZPPP = renderBlocks.getAoBrightness(renderBlocks.aoBrightnessYZPP, renderBlocks.aoBrightnessXZPP, renderBlocks.aoBrightnessXYZPPP, mixedBrightness); - - float aoMixedXYZNPP = (renderBlocks.aoLightValueScratchXZNP + renderBlocks.aoLightValueScratchXYZNPP + aoLightValue + renderBlocks.aoLightValueScratchYZPP) / 4.0F; - float aoMixedXYZNNP = (renderBlocks.aoLightValueScratchXYZNNP + renderBlocks.aoLightValueScratchXZNP + renderBlocks.aoLightValueScratchYZNP + aoLightValue) / 4.0F; - float aoMixedXYZPNP = (renderBlocks.aoLightValueScratchYZNP + aoLightValue + renderBlocks.aoLightValueScratchXYZPNP + renderBlocks.aoLightValueScratchXZPP) / 4.0F; - float aoMixedXYZPPP = (aoLightValue + renderBlocks.aoLightValueScratchYZPP + renderBlocks.aoLightValueScratchXZPP + renderBlocks.aoLightValueScratchXYZPPP) / 4.0F; - - aoTopLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMinX + aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX)); - aoBottomLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX) + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMinX + aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX)); - aoBottomRight = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMaxX + aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX)); - aoTopRight = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX) + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMaxX + aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX)); - - renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPPP, renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX), (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX), (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX, renderBlocks.renderMaxY * renderBlocks.renderMinX); - renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPPP, renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX), (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX), (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX, renderBlocks.renderMinY * renderBlocks.renderMinX); - renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPPP, renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX), (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX), (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX, renderBlocks.renderMinY * renderBlocks.renderMaxX); - renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness(brightnessMixedXYZNPP, brightnessMixedXYZNNP, brightnessMixedXYZPNP, brightnessMixedXYZPPP, renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX), (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX), (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX, renderBlocks.renderMaxY * renderBlocks.renderMaxX); + renderBlocks.aoBrightnessXZNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y, zOffset); + renderBlocks.aoBrightnessXZPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y, zOffset); + renderBlocks.aoBrightnessYZNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y - 1, zOffset); + renderBlocks.aoBrightnessYZPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x, y + 1, zOffset); + renderBlocks.aoBrightnessXYZNNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y - 1, zOffset); + renderBlocks.aoBrightnessXYZNPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x - 1, y + 1, zOffset); + renderBlocks.aoBrightnessXYZPNP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y - 1, zOffset); + renderBlocks.aoBrightnessXYZPPP = + block.getMixedBrightnessForBlock(renderBlocks.blockAccess, x + 1, y + 1, zOffset); + renderBlocks.aoLightValueScratchXZNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchXZPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchYZNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x, y - 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y - 1, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchYZPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x, y + 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x, y + 1, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchXYZNNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y - 1, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchXYZNPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x - 1, y + 1, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchXYZPNP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y - 1, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxZ); + renderBlocks.aoLightValueScratchXYZPPP = getMixedAo( + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z + 1).getAmbientOcclusionLightValue(), + renderBlocks.blockAccess.getBlock(x + 1, y + 1, z).getAmbientOcclusionLightValue(), + renderBlocks.renderMaxZ); + + int brightnessMixedXYZNPP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXZNP, + renderBlocks.aoBrightnessXYZNPP, + renderBlocks.aoBrightnessYZPP, + mixedBrightness); + int brightnessMixedXYZNNP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessXYZNNP, + renderBlocks.aoBrightnessXZNP, + renderBlocks.aoBrightnessYZNP, + mixedBrightness); + int brightnessMixedXYZPNP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessYZNP, + renderBlocks.aoBrightnessXYZPNP, + renderBlocks.aoBrightnessXZPP, + mixedBrightness); + int brightnessMixedXYZPPP = renderBlocks.getAoBrightness( + renderBlocks.aoBrightnessYZPP, + renderBlocks.aoBrightnessXZPP, + renderBlocks.aoBrightnessXYZPPP, + mixedBrightness); + + float aoMixedXYZNPP = (renderBlocks.aoLightValueScratchXZNP + + renderBlocks.aoLightValueScratchXYZNPP + + aoLightValue + + renderBlocks.aoLightValueScratchYZPP) + / 4.0F; + float aoMixedXYZNNP = (renderBlocks.aoLightValueScratchXYZNNP + + renderBlocks.aoLightValueScratchXZNP + + renderBlocks.aoLightValueScratchYZNP + + aoLightValue) + / 4.0F; + float aoMixedXYZPNP = (renderBlocks.aoLightValueScratchYZNP + + aoLightValue + + renderBlocks.aoLightValueScratchXYZPNP + + renderBlocks.aoLightValueScratchXZPP) + / 4.0F; + float aoMixedXYZPPP = (aoLightValue + + renderBlocks.aoLightValueScratchYZPP + + renderBlocks.aoLightValueScratchXZPP + + renderBlocks.aoLightValueScratchXYZPPP) + / 4.0F; + + aoTopLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX) + + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMinX + + aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX + + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX)); + aoBottomLeft = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX) + + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMinX + + aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX + + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX)); + aoBottomRight = (float) (aoMixedXYZNPP * renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX) + + aoMixedXYZPPP * renderBlocks.renderMinY * renderBlocks.renderMaxX + + aoMixedXYZPNP * (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX + + aoMixedXYZNNP * (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX)); + aoTopRight = (float) (aoMixedXYZNPP * renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX) + + aoMixedXYZPPP * renderBlocks.renderMaxY * renderBlocks.renderMaxX + + aoMixedXYZPNP * (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX + + aoMixedXYZNNP * (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX)); + + renderBlocks.brightnessTopLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZNNP, + brightnessMixedXYZPNP, + brightnessMixedXYZPPP, + renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMinX), + (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMinX), + (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMinX, + renderBlocks.renderMaxY * renderBlocks.renderMinX); + renderBlocks.brightnessBottomLeft = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZNNP, + brightnessMixedXYZPNP, + brightnessMixedXYZPPP, + renderBlocks.renderMinY * (1.0D - renderBlocks.renderMinX), + (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMinX), + (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMinX, + renderBlocks.renderMinY * renderBlocks.renderMinX); + renderBlocks.brightnessBottomRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZNNP, + brightnessMixedXYZPNP, + brightnessMixedXYZPPP, + renderBlocks.renderMinY * (1.0D - renderBlocks.renderMaxX), + (1.0D - renderBlocks.renderMinY) * (1.0D - renderBlocks.renderMaxX), + (1.0D - renderBlocks.renderMinY) * renderBlocks.renderMaxX, + renderBlocks.renderMinY * renderBlocks.renderMaxX); + renderBlocks.brightnessTopRight = renderBlocks.mixAoBrightness( + brightnessMixedXYZNPP, + brightnessMixedXYZNNP, + brightnessMixedXYZPNP, + brightnessMixedXYZPPP, + renderBlocks.renderMaxY * (1.0D - renderBlocks.renderMaxX), + (1.0D - renderBlocks.renderMaxY) * (1.0D - renderBlocks.renderMaxX), + (1.0D - renderBlocks.renderMaxY) * renderBlocks.renderMaxX, + renderBlocks.renderMaxY * renderBlocks.renderMaxX); } return this; diff --git a/src/main/java/com/github/technus/tectech/util/TT_Utility.java b/src/main/java/com/github/technus/tectech/util/TT_Utility.java index 2b67f72ff0..41335bb31a 100644 --- a/src/main/java/com/github/technus/tectech/util/TT_Utility.java +++ b/src/main/java/com/github/technus/tectech/util/TT_Utility.java @@ -8,6 +8,14 @@ import gregtech.api.GregTech_API; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.lang.reflect.Array; +import java.lang.reflect.Field; +import java.nio.charset.StandardCharsets; +import java.util.*; +import java.util.function.Function; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.inventory.Container; @@ -26,28 +34,19 @@ import net.minecraft.world.storage.SaveHandler; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.StringUtils; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.lang.reflect.Array; -import java.lang.reflect.Field; -import java.nio.charset.StandardCharsets; -import java.util.*; -import java.util.function.Function; - /** * Created by Tec on 21.03.2017. */ public final class TT_Utility { - private TT_Utility() { - } + private TT_Utility() {} - private static final StringBuilder STRING_BUILDER = new StringBuilder(); - private static final Map FORMATTER_MAP = new HashMap<>(); + private static final StringBuilder STRING_BUILDER = new StringBuilder(); + private static final Map FORMATTER_MAP = new HashMap<>(); private static Formatter getFormatter() { STRING_BUILDER.setLength(0); - return FORMATTER_MAP.computeIfAbsent(Locale.getDefault(Locale.Category.FORMAT), locale -> new Formatter(STRING_BUILDER, locale)); + return FORMATTER_MAP.computeIfAbsent( + Locale.getDefault(Locale.Category.FORMAT), locale -> new Formatter(STRING_BUILDER, locale)); } public static String formatNumberShortExp(double value) { @@ -64,12 +63,10 @@ public final class TT_Utility { @SuppressWarnings("ComparatorMethodParameterNotUsed") public static > SortedSet> entriesSortedByValues(Map map) { - SortedSet> sortedEntries = new TreeSet<>( - (e1, e2) -> { - int res = e1.getValue().compareTo(e2.getValue()); - return res != 0 ? res : 1; // Special fix to preserve items with equal values - } - ); + SortedSet> sortedEntries = new TreeSet<>((e1, e2) -> { + int res = e1.getValue().compareTo(e2.getValue()); + return res != 0 ? res : 1; // Special fix to preserve items with equal values + }); sortedEntries.addAll(map.entrySet()); return sortedEntries; } @@ -101,16 +98,18 @@ public final class TT_Utility { return Double.parseDouble(str); } - private static final String SUPER_SCRIPT = "\u207D\u207E*\u207A,\u207B./\u2070\u00B9\u00B2\u00B3\u2074\u2075\u2076\u2077\u2078\u2079:;<\u207C"; - private static final String SUB_SCRIPT = "\u208D\u208E*\u208A,\u208B./\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089:;<\u208C"; + private static final String SUPER_SCRIPT = + "\u207D\u207E*\u207A,\u207B./\u2070\u00B9\u00B2\u00B3\u2074\u2075\u2076\u2077\u2078\u2079:;<\u207C"; + private static final String SUB_SCRIPT = + "\u208D\u208E*\u208A,\u208B./\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089:;<\u208C"; public static String toSubscript(String s) { STRING_BUILDER.setLength(0); - for (int i = 0; i ='('&&c<='='){ - STRING_BUILDER.append(SUB_SCRIPT.charAt(c-'(')); - }else { + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + if (c >= '(' && c <= '=') { + STRING_BUILDER.append(SUB_SCRIPT.charAt(c - '(')); + } else { STRING_BUILDER.append(c); } } @@ -119,18 +118,17 @@ public final class TT_Utility { public static String toSuperscript(String s) { STRING_BUILDER.setLength(0); - for (int i = 0; i ='('&&c<='='){ - STRING_BUILDER.append(SUPER_SCRIPT.charAt(c-'(')); - }else { + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + if (c >= '(' && c <= '=') { + STRING_BUILDER.append(SUPER_SCRIPT.charAt(c - '(')); + } else { STRING_BUILDER.append(c); } } return STRING_BUILDER.toString(); } - public static double getValue(String in1) { String str = in1.toLowerCase(); double val; @@ -150,7 +148,6 @@ public final class TT_Utility { } } - public static String intBitsToString(int number) { StringBuilder result = new StringBuilder(16); @@ -203,7 +200,13 @@ public final class TT_Utility { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } - public static boolean isInputEqual(boolean aDecreaseStacksizeBySuccess, boolean aDontCheckStackSizes, FluidStack[] requiredFluidInputs, ItemStack[] requiredInputs, FluidStack[] givenFluidInputs, ItemStack... givenInputs) { + public static boolean isInputEqual( + boolean aDecreaseStacksizeBySuccess, + boolean aDontCheckStackSizes, + FluidStack[] requiredFluidInputs, + ItemStack[] requiredInputs, + FluidStack[] givenFluidInputs, + ItemStack... givenInputs) { if (!GregTech_API.sPostloadFinished) { return false; } @@ -242,7 +245,8 @@ public final class TT_Utility { amt = tStack.stackSize; boolean temp = true; for (ItemStack aStack : givenInputs) { - if (GT_Utility.areUnificationsEqual(aStack, tStack, true) || GT_Utility.areUnificationsEqual(GT_OreDictUnificator.get(false, aStack), tStack, true)) { + if (GT_Utility.areUnificationsEqual(aStack, tStack, true) + || GT_Utility.areUnificationsEqual(GT_OreDictUnificator.get(false, aStack), tStack, true)) { if (aDontCheckStackSizes) { temp = false; break; @@ -289,7 +293,9 @@ public final class TT_Utility { if (tStack != null) { amt = tStack.stackSize; for (ItemStack aStack : givenInputs) { - if (GT_Utility.areUnificationsEqual(aStack, tStack, true) || GT_Utility.areUnificationsEqual(GT_OreDictUnificator.get(false, aStack), tStack, true)) { + if (GT_Utility.areUnificationsEqual(aStack, tStack, true) + || GT_Utility.areUnificationsEqual( + GT_OreDictUnificator.get(false, aStack), tStack, true)) { if (aDontCheckStackSizes) { aStack.stackSize -= amt; break; @@ -330,7 +336,7 @@ public final class TT_Utility { public static String[] splitButDifferent(String string, String delimiter) { String[] strings = new String[StringUtils.countMatches(string, delimiter) + 1]; - int lastEnd = 0; + int lastEnd = 0; for (int i = 0; i < strings.length - 1; i++) { int nextEnd = string.indexOf(delimiter, lastEnd); strings[i] = string.substring(lastEnd, nextEnd); @@ -385,8 +391,8 @@ public final class TT_Utility { public static class ItemStack_NoNBT implements Comparable { public final Item mItem; - public final int mStackSize; - public final int mMetaData; + public final int mStackSize; + public final int mMetaData; public ItemStack_NoNBT(Item aItem, long aStackSize, long aMetaData) { this.mItem = aItem; @@ -420,11 +426,15 @@ public final class TT_Utility { @Override public boolean equals(Object aStack) { - return aStack == this || - (aStack instanceof ItemStack_NoNBT && - ((mItem == ((ItemStack_NoNBT) aStack).mItem) || ((ItemStack_NoNBT) aStack).mItem.getUnlocalizedName().equals(this.mItem.getUnlocalizedName())) && - ((ItemStack_NoNBT) aStack).mStackSize == this.mStackSize && - ((ItemStack_NoNBT) aStack).mMetaData == this.mMetaData); + return aStack == this + || (aStack instanceof ItemStack_NoNBT + && ((mItem == ((ItemStack_NoNBT) aStack).mItem) + || ((ItemStack_NoNBT) aStack) + .mItem + .getUnlocalizedName() + .equals(this.mItem.getUnlocalizedName())) + && ((ItemStack_NoNBT) aStack).mStackSize == this.mStackSize + && ((ItemStack_NoNBT) aStack).mMetaData == this.mMetaData); } @Override @@ -434,7 +444,13 @@ public final class TT_Utility { @Override public String toString() { - return Integer.toString(hashCode()) + ' ' + (mItem == null ? "null" : mItem.getUnlocalizedName()) + ' ' + mMetaData + ' ' + mStackSize; + return Integer.toString(hashCode()) + + ' ' + + (mItem == null ? "null" : mItem.getUnlocalizedName()) + + ' ' + + mMetaData + + ' ' + + mStackSize; } } @@ -444,7 +460,7 @@ public final class TT_Utility { field.setAccessible(true); field.set(me, (byte) tier); } catch (Exception e) { - //e.printStackTrace(); + // e.printStackTrace(); } } @@ -551,11 +567,15 @@ public final class TT_Utility { try { if (FMLCommonHandler.instance().getEffectiveSide().isServer()) { if (uuid1 != null && uuid2 != null) { - IPlayerFileData playerNBTManagerObj = MinecraftServer.getServer().worldServerForDimension(0).getSaveHandler().getSaveHandler(); - SaveHandler sh = (SaveHandler) playerNBTManagerObj; - File dir = ObfuscationReflectionHelper.getPrivateValue(SaveHandler.class, sh, new String[]{"playersDirectory", "field_75771_c"}); - String id1 = uuid1.toString(); - NBTTagCompound tagCompound = read(new File(dir, id1 + "." + extension)); + IPlayerFileData playerNBTManagerObj = MinecraftServer.getServer() + .worldServerForDimension(0) + .getSaveHandler() + .getSaveHandler(); + SaveHandler sh = (SaveHandler) playerNBTManagerObj; + File dir = ObfuscationReflectionHelper.getPrivateValue( + SaveHandler.class, sh, new String[] {"playersDirectory", "field_75771_c"}); + String id1 = uuid1.toString(); + NBTTagCompound tagCompound = read(new File(dir, id1 + "." + extension)); if (tagCompound != null) { return tagCompound; } @@ -583,13 +603,19 @@ public final class TT_Utility { try { if (FMLCommonHandler.instance().getEffectiveSide().isServer()) { if (player != null) { - IPlayerFileData playerNBTManagerObj = MinecraftServer.getServer().worldServerForDimension(0).getSaveHandler().getSaveHandler(); - SaveHandler sh = (SaveHandler) playerNBTManagerObj; - File dir = ObfuscationReflectionHelper.getPrivateValue(SaveHandler.class, sh, new String[]{"playersDirectory", "field_75771_c"}); - String id1 = player.getUniqueID().toString(); + IPlayerFileData playerNBTManagerObj = MinecraftServer.getServer() + .worldServerForDimension(0) + .getSaveHandler() + .getSaveHandler(); + SaveHandler sh = (SaveHandler) playerNBTManagerObj; + File dir = ObfuscationReflectionHelper.getPrivateValue( + SaveHandler.class, sh, new String[] {"playersDirectory", "field_75771_c"}); + String id1 = player.getUniqueID().toString(); write(new File(dir, id1 + "." + extension), data); write(new File(dir, id1 + "." + extension + "_bak"), data); - String id2 = UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(StandardCharsets.UTF_8)).toString(); + String id2 = UUID.nameUUIDFromBytes( + player.getCommandSenderName().getBytes(StandardCharsets.UTF_8)) + .toString(); write(new File(dir, id2 + "." + extension), data); write(new File(dir, id2 + "." + extension + "_bak"), data); } diff --git a/src/main/java/com/github/technus/tectech/util/XSTR.java b/src/main/java/com/github/technus/tectech/util/XSTR.java index 31c9b6a65c..0f1c5578d7 100644 --- a/src/main/java/com/github/technus/tectech/util/XSTR.java +++ b/src/main/java/com/github/technus/tectech/util/XSTR.java @@ -1,28 +1,28 @@ package com.github.technus.tectech.util; /* - A subclass of java.util.random that implements the Xorshift random number - generator -

- - it is 30% faster than the generator from Java's library - it produces - random sequences of higher quality than java.util.Random - this class also - provides a clone() function -

- Usage: XSRandom rand = new XSRandom(); //Instantiation x = rand.nextInt(); - //pull a random number -

- To use the class in legacy code, you may also instantiate an XSRandom object - and assign it to a java.util.Random object: java.util.Random rand = new - XSRandom(); -

- for an explanation of the algorithm, see - http://demesos.blogspot.com/2011/09/pseudo-random-number-generators.html + A subclass of java.util.random that implements the Xorshift random number + generator +

+ - it is 30% faster than the generator from Java's library - it produces + random sequences of higher quality than java.util.Random - this class also + provides a clone() function +

+ Usage: XSRandom rand = new XSRandom(); //Instantiation x = rand.nextInt(); + //pull a random number +

+ To use the class in legacy code, you may also instantiate an XSRandom object + and assign it to a java.util.Random object: java.util.Random rand = new + XSRandom(); +

+ for an explanation of the algorithm, see + http://demesos.blogspot.com/2011/09/pseudo-random-number-generators.html - @author Wilfried Elmenreich University of Klagenfurt/Lakeside Labs - * http://www.elmenreich.tk - *

- * This code is released under the GNU Lesser General Public License Version 3 - * http://www.gnu.org/licenses/lgpl-3.0.txt - */ + @author Wilfried Elmenreich University of Klagenfurt/Lakeside Labs +* http://www.elmenreich.tk +*

+* This code is released under the GNU Lesser General Public License Version 3 +* http://www.gnu.org/licenses/lgpl-3.0.txt +*/ import java.util.Random; import java.util.concurrent.atomic.AtomicLong; @@ -40,22 +40,22 @@ public class XSTR extends Random { private static final long GAMMA = 0x9e3779b97f4a7c15L; private static final int PROBE_INCREMENT = 0x9e3779b9; private static final long SEEDER_INCREMENT = 0xbb67ae8584caa73bL; - private static final double DOUBLE_UNIT = 0x1.0p-53; // 1.0 / (1L << 53) + private static final double DOUBLE_UNIT = 0x1.0p-53; // 1.0 / (1L << 53) private static final float FLOAT_UNIT = 0x1.0p-24f; // 1.0f / (1 << 24) private static final AtomicLong seedUniquifier = new AtomicLong(8682522807148012L); - public static final XSTR XSTR_INSTANCE=new XSTR(){ + public static final XSTR XSTR_INSTANCE = new XSTR() { @Override public synchronized void setSeed(long seed) { - if(!Thread.currentThread().getStackTrace()[2].getClassName().equals(Random.class.getName())) { + if (!Thread.currentThread().getStackTrace()[2].getClassName().equals(Random.class.getName())) { throw new NoSuchMethodError("This is meant to be shared!, leave seed state alone!"); } } }; /* - MODIFIED BY: Robotia - Modification: Implemented Random class seed generator - */ + MODIFIED BY: Robotia + Modification: Implemented Random class seed generator + */ /** * Creates a new pseudo random number generator. The seed is initialized to @@ -226,9 +226,9 @@ public class XSTR extends Random { */ @Override public int nextInt(int bound) { - //if (bound <= 0) { - //throw new RuntimeException("BadBound"); - //} + // if (bound <= 0) { + // throw new RuntimeException("BadBound"); + // } /*int r = next(31); int m = bound - 1; @@ -242,7 +242,7 @@ public class XSTR extends Random { ; } return r;*/ - //speedup, new nextInt ~+40% + // speedup, new nextInt ~+40% long last = seed ^ seed << 21; last ^= last >>> 35; last ^= last << 4; @@ -270,9 +270,11 @@ public class XSTR extends Random { @Override public void nextBytes(byte[] bytes_arr) { for (int iba = 0, lenba = bytes_arr.length; iba < lenba; ) { - for (int rndba = nextInt(), nba = Math.min(lenba - iba, Integer.SIZE / Byte.SIZE); nba-- > 0; rndba >>= Byte.SIZE) { + for (int rndba = nextInt(), nba = Math.min(lenba - iba, Integer.SIZE / Byte.SIZE); + nba-- > 0; + rndba >>= Byte.SIZE) { bytes_arr[iba++] = (byte) rndba; } } } -} \ No newline at end of file +} -- cgit From 0d80b622d83f0c17cb49bd149246e10ef42948a7 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Sat, 20 Aug 2022 11:51:53 +0200 Subject: Update dependencies.gradle --- dependencies.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies.gradle b/dependencies.gradle index dae1731f82..00870aa896 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,7 +2,7 @@ dependencies { shadowImplementation('com.github.GTNewHorizons:AVRcore:master-SNAPSHOT') - compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.02-pre:dev') + compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.05:dev') compile('com.github.GTNewHorizons:Yamcl:0.5.82:dev') compile('com.github.GTNewHorizons:NotEnoughItems:2.2.22:dev') compile('com.github.GTNewHorizons:CodeChickenLib:1.1.5.3:dev') -- cgit From ac434d80c2fa04e7bc715984f394ccc3e3672c9f Mon Sep 17 00:00:00 2001 From: GitHub GTNH Actions <> Date: Sat, 20 Aug 2022 09:54:59 +0000 Subject: spotlessApply --- .../dreamcraft/DreamCraftRecipeLoader.java | 98 ++++++++++++---------- 1 file changed, 53 insertions(+), 45 deletions(-) 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 bf66ec7dc0..037779ee42 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 @@ -3463,25 +3463,34 @@ public class DreamCraftRecipeLoader { 2000000); // Draconic Evolution Fusion Crafter Controller - if (Loader.isModLoaded("AWWayofTime")&&Loader.isModLoaded("EMT")){ - TT_recipeAdder.addResearchableAssemblylineRecipe(GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 8), - 16_777_216, 1024, 2_000_000, 8, new Object[]{ - GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 10783), - GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 8), - GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsBotania.GaiaSpirit, 1L), - ItemList.Casing_Coil_AwakenedDraconium.get(8L), - ItemList.Electric_Motor_UHV.get(8L), - ItemList.Robot_Arm_UHV.get(4L), - new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4}, - ItemList.Gravistar.get(4, new Object(){}), - GT_ModHandler.getModItem("Thaumcraft", "ItemEldritchObject", 1, 3), - GT_ModHandler.getModItem("AWWayofTime", "bloodMagicBaseItems", 8, 29), - GT_ModHandler.getModItem("AWWayofTime", "bloodMagicBaseItems", 8, 28), - }, new FluidStack[]{ - new FluidStack(solderIndalloy, 2880), - Materials.Void.getMolten(2880L), - Materials.DraconiumAwakened.getMolten(1440), - }, GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 5001), 1500, 8_000_000); + if (Loader.isModLoaded("AWWayofTime") && Loader.isModLoaded("EMT")) { + TT_recipeAdder.addResearchableAssemblylineRecipe( + GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 8), + 16_777_216, + 1024, + 2_000_000, + 8, + new Object[] { + GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 10783), + GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 8), + GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsBotania.GaiaSpirit, 1L), + ItemList.Casing_Coil_AwakenedDraconium.get(8L), + ItemList.Electric_Motor_UHV.get(8L), + ItemList.Robot_Arm_UHV.get(4L), + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 4}, + ItemList.Gravistar.get(4, new Object() {}), + GT_ModHandler.getModItem("Thaumcraft", "ItemEldritchObject", 1, 3), + GT_ModHandler.getModItem("AWWayofTime", "bloodMagicBaseItems", 8, 29), + GT_ModHandler.getModItem("AWWayofTime", "bloodMagicBaseItems", 8, 28), + }, + new FluidStack[] { + new FluidStack(solderIndalloy, 2880), + Materials.Void.getMolten(2880L), + Materials.DraconiumAwakened.getMolten(1440), + }, + GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 5001), + 1500, + 8_000_000); if (Loader.isModLoaded("DraconicEvolution")) { // DE Schematics Cores Tier 1 TT_recipeAdder.addResearchableAssemblylineRecipe( @@ -3491,13 +3500,13 @@ public class DreamCraftRecipeLoader { 1_000_000, 4, new Object[] { - GT_ModHandler.getModItem("DraconicEvolution", "draconicCore", 1, 0), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Draconium, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Ichorium, 1L), - new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 1}, + GT_ModHandler.getModItem("DraconicEvolution", "draconicCore", 1, 0), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Draconium, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Ichorium, 1L), + new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 1}, }, new FluidStack[] { - Materials.Sunnarium.getMolten(14400L), Materials.Void.getMolten(28800L), + Materials.Sunnarium.getMolten(14400L), Materials.Void.getMolten(28800L), }, GT_ModHandler.getModItem("EMT", "EMTItems", 1, 16), 12000, @@ -3511,13 +3520,13 @@ public class DreamCraftRecipeLoader { 4_000_000, 8, new Object[] { - GT_ModHandler.getModItem("DraconicEvolution", "draconicCore", 4, 0), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Draconium, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 1L), - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1}, + GT_ModHandler.getModItem("DraconicEvolution", "draconicCore", 4, 0), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Draconium, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 1L), + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1}, }, new FluidStack[] { - Materials.Neutronium.getMolten(14400L), Materials.Void.getMolten(57600L), + Materials.Neutronium.getMolten(14400L), Materials.Void.getMolten(57600L), }, GT_ModHandler.getModItem("EMT", "EMTItems", 1, 17), 24000, @@ -3531,13 +3540,13 @@ public class DreamCraftRecipeLoader { 16_000_000, 16, new Object[] { - GT_ModHandler.getModItem("DraconicEvolution", "wyvernCore", 4, 0), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.DraconiumAwakened, 1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 1L), - new Object[] {OrePrefixes.circuit.get(Materials.Nano), 1}, + GT_ModHandler.getModItem("DraconicEvolution", "wyvernCore", 4, 0), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.DraconiumAwakened, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 1L), + new Object[] {OrePrefixes.circuit.get(Materials.Nano), 1}, }, new FluidStack[] { - Materials.Infinity.getMolten(14400L), Materials.Void.getMolten(115200L), + Materials.Infinity.getMolten(14400L), Materials.Void.getMolten(115200L), }, GT_ModHandler.getModItem("EMT", "EMTItems", 1, 18), 36000, @@ -3550,26 +3559,25 @@ public class DreamCraftRecipeLoader { 64_000_000, 64, new Object[] { - GT_ModHandler.getModItem("DraconicEvolution", "awakenedCore", 8, 0), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.DraconiumAwakened, 4L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 1L), - new Object[] {OrePrefixes.circuit.get(Materials.Piko), 1}, + GT_ModHandler.getModItem("DraconicEvolution", "awakenedCore", 8, 0), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.DraconiumAwakened, 4L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 1L), + new Object[] {OrePrefixes.circuit.get(Materials.Piko), 1}, }, new FluidStack[] { - Materials.SpaceTime.getMolten(14400L), Materials.Void.getMolten(230400L), + Materials.SpaceTime.getMolten(14400L), Materials.Void.getMolten(230400L), }, GT_ModHandler.getModItem("EMT", "EMTItems", 1, 19), 72000, 32_000_000); } - } + } - //region singleblocks + // region singleblocks - //Tesla Transceiver LV 1A - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Battery_Buffer_1by1_LV.get(1), - CustomItemList.teslaCover.getWithDamage(1, 0)}, + // 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, -- cgit From 731ca874189c2f53da0db433390801f9cb30ce95 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Sat, 20 Aug 2022 14:09:45 +0200 Subject: buff schematics --- .../dreamcraft/DreamCraftRecipeLoader.java | 24 +++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) 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 037779ee42..0dd87967f0 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 @@ -3495,8 +3495,8 @@ public class DreamCraftRecipeLoader { // DE Schematics Cores Tier 1 TT_recipeAdder.addResearchableAssemblylineRecipe( GT_ModHandler.getModItem("EMT", "EMT_GTBLOCK_CASEING", 1, 9), - 500_000, - 1024, + 5_000_000, + 512, 1_000_000, 4, new Object[] { @@ -3509,14 +3509,14 @@ public class DreamCraftRecipeLoader { Materials.Sunnarium.getMolten(14400L), Materials.Void.getMolten(28800L), }, GT_ModHandler.getModItem("EMT", "EMTItems", 1, 16), - 12000, + 6000, 500_000); // DE Schematics Cores Tier 2 TT_recipeAdder.addResearchableAssemblylineRecipe( GT_ModHandler.getModItem("DraconicEvolution", "draconicCore", 1, 0), - 5_000_000, - 2048, + 10_000_000, + 1024, 4_000_000, 8, new Object[] { @@ -3529,14 +3529,14 @@ public class DreamCraftRecipeLoader { Materials.Neutronium.getMolten(14400L), Materials.Void.getMolten(57600L), }, GT_ModHandler.getModItem("EMT", "EMTItems", 1, 17), - 24000, + 12000, 2_000_000); // DE Schematics Cores Tier 3 TT_recipeAdder.addResearchableAssemblylineRecipe( GT_ModHandler.getModItem("DraconicEvolution", "wyvernCore", 1, 0), - 50_000_000, - 4096, + 20_000_000, + 2048, 16_000_000, 16, new Object[] { @@ -3549,13 +3549,13 @@ public class DreamCraftRecipeLoader { Materials.Infinity.getMolten(14400L), Materials.Void.getMolten(115200L), }, GT_ModHandler.getModItem("EMT", "EMTItems", 1, 18), - 36000, + 24000, 8_000_000); // DE Schematics Cores Tier 4 TT_recipeAdder.addResearchableAssemblylineRecipe( GT_ModHandler.getModItem("DraconicEvolution", "awakenedCore", 1, 0), - 500_000_000, - 8192, + 40_000_000, + 4096, 64_000_000, 64, new Object[] { @@ -3568,7 +3568,7 @@ public class DreamCraftRecipeLoader { Materials.SpaceTime.getMolten(14400L), Materials.Void.getMolten(230400L), }, GT_ModHandler.getModItem("EMT", "EMTItems", 1, 19), - 72000, + 36000, 32_000_000); } } -- cgit From eb97589d123b9deec32a7c7e8b7580be867d9d7b Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Tue, 23 Aug 2022 13:44:26 +0200 Subject: update BS and spotless + dep file --- build.gradle | 198 +++++++++++++++++++++++++++++----------------------- dependencies.gradle | 10 +-- 2 files changed, 117 insertions(+), 91 deletions(-) diff --git a/build.gradle b/build.gradle index 1f363c02bc..054e7d9495 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ -//version: 1660899027 +//version: 1661114848 /* DO NOT CHANGE THIS FILE! Also, you may replace this file at any time if there is an update available. @@ -26,6 +26,11 @@ buildscript { name 'forge' url 'https://maven.minecraftforge.net' } + maven { + // GTNH ForgeGradle Fork + name = "GTNH Maven" + url = "http://jenkins.usrv.eu:8081/nexus/content/groups/public/" + } maven { name 'sonatype' url 'https://oss.sonatype.org/content/repositories/snapshots/' @@ -34,13 +39,9 @@ buildscript { name 'Scala CI dependencies' url 'https://repo1.maven.org/maven2/' } - maven { - name 'jitpack' - url 'https://jitpack.io' - } } dependencies { - classpath 'com.github.GTNewHorizons:ForgeGradle:1.2.7' + classpath 'net.minecraftforge.gradle:ForgeGradle:1.2.9' } } plugins { @@ -49,17 +50,20 @@ plugins { id 'eclipse' id 'scala' id 'maven-publish' - id 'org.jetbrains.kotlin.jvm' version '1.5.30' apply false - id 'org.jetbrains.kotlin.kapt' version '1.5.30' apply false - id 'com.google.devtools.ksp' version '1.5.30-1.0.0' apply false - id 'org.ajoberstar.grgit' version '4.1.1' + id 'org.jetbrains.kotlin.jvm' version '1.5.30' apply false + id 'org.jetbrains.kotlin.kapt' version '1.5.30' apply false + id 'com.google.devtools.ksp' version '1.5.30-1.0.0' apply false + id 'org.ajoberstar.grgit' version '4.1.1' id 'com.github.johnrengelman.shadow' version '4.0.4' - id 'com.palantir.git-version' version '0.13.0' apply false - id 'de.undercouch.download' version '5.0.1' - id 'com.github.gmazzo.buildconfig' version '3.0.3' apply false - id 'com.diffplug.spotless' version '6.7.2' apply false + id 'com.palantir.git-version' version '0.13.0' apply false + id 'de.undercouch.download' version '5.0.1' + id 'com.github.gmazzo.buildconfig' version '3.0.3' apply false + id 'com.diffplug.spotless' version '6.7.2' apply false } -verifySettingsGradle() +boolean settingsupdated = verifySettingsGradle() +settingsupdated = verifyGitAttributes() || settingsupdated +if (settingsupdated) + throw new GradleException("Settings has been updated, please re-run task.") dependencies { implementation 'com.diffplug:blowdryer:1.6.0' @@ -98,7 +102,7 @@ if (!disableSpotless) { apply from: Blowdryer.file('spotless.gradle') } -if(JavaVersion.current() != JavaVersion.VERSION_1_8) { +if (JavaVersion.current() != JavaVersion.VERSION_1_8) { throw new GradleException("This project requires Java 8, but it's running on " + JavaVersion.current()) } @@ -135,53 +139,53 @@ String kotlinSourceDir = "src/main/kotlin/" String targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") String targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") String targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") -if(!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { +if (!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { throw new GradleException("Could not resolve \"modGroup\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin) } -if(apiPackage) { +if (apiPackage) { targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") - if(!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { + if (!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { throw new GradleException("Could not resolve \"apiPackage\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin) } } -if(accessTransformersFile) { +if (accessTransformersFile) { String targetFile = "src/main/resources/META-INF/" + accessTransformersFile - if(!getFile(targetFile).exists()) { + if (!getFile(targetFile).exists()) { throw new GradleException("Could not resolve \"accessTransformersFile\"! Could not find " + targetFile) } } -if(usesMixins.toBoolean()) { - if(mixinsPackage.isEmpty() || mixinPlugin.isEmpty()) { +if (usesMixins.toBoolean()) { + if (mixinsPackage.isEmpty() || mixinPlugin.isEmpty()) { throw new GradleException("\"mixinPlugin\" requires \"mixinsPackage\" and \"mixinPlugin\" to be set!") } targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") - if(!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { - throw new GradleException("Could not resolve \"mixinsPackage\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin) + if (!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { + throw new GradleException("Could not resolve \"mixinsPackage\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin) } String targetFileJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".java" String targetFileScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".scala" String targetFileScalaJava = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".java" String targetFileKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".kt" - if(!(getFile(targetFileJava).exists() || getFile(targetFileScala).exists() || getFile(targetFileScalaJava).exists() || getFile(targetFileKotlin).exists())) { + if (!(getFile(targetFileJava).exists() || getFile(targetFileScala).exists() || getFile(targetFileScalaJava).exists() || getFile(targetFileKotlin).exists())) { throw new GradleException("Could not resolve \"mixinPlugin\"! Could not find " + targetFileJava + " or " + targetFileScala + " or " + targetFileScalaJava + " or " + targetFileKotlin) } } -if(coreModClass) { +if (coreModClass) { String targetFileJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".java" String targetFileScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".scala" String targetFileScalaJava = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".java" String targetFileKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".kt" - if(!(getFile(targetFileJava).exists() || getFile(targetFileScala).exists() || getFile(targetFileScalaJava).exists() || getFile(targetFileKotlin).exists())) { + if (!(getFile(targetFileJava).exists() || getFile(targetFileScala).exists() || getFile(targetFileScalaJava).exists() || getFile(targetFileKotlin).exists())) { throw new GradleException("Could not resolve \"coreModClass\"! Could not find " + targetFileJava + " or " + targetFileScala + " or " + targetFileScalaJava + " or " + targetFileKotlin) } } @@ -222,15 +226,14 @@ ext { modVersion = identifiedVersion } -if(identifiedVersion == versionOverride) { +if (identifiedVersion == versionOverride) { out.style(Style.Failure).text('Override version to ').style(Style.Identifier).text(modVersion).style(Style.Failure).println('!\7') } group = modGroup -if(project.hasProperty("customArchiveBaseName") && customArchiveBaseName) { +if (project.hasProperty("customArchiveBaseName") && customArchiveBaseName) { archivesBaseName = customArchiveBaseName -} -else { +} else { archivesBaseName = modId } @@ -256,16 +259,16 @@ minecraft { if (replaceGradleTokenInFile) { replaceIn replaceGradleTokenInFile - if(gradleTokenModId) { + if (gradleTokenModId) { replace gradleTokenModId, modId } - if(gradleTokenModName) { + if (gradleTokenModName) { replace gradleTokenModName, modName } - if(gradleTokenVersion) { + if (gradleTokenVersion) { replace gradleTokenVersion, modVersion } - if(gradleTokenGroupName) { + if (gradleTokenGroupName) { replace gradleTokenGroupName, modGroup } } @@ -274,7 +277,7 @@ minecraft { args(arguments) jvmArgs(jvmArguments) - if(developmentEnvironmentUserName) { + if (developmentEnvironmentUserName) { args("--username", developmentEnvironmentUserName) } } @@ -285,7 +288,7 @@ minecraft { } } -if(file('addon.gradle').exists()) { +if (file('addon.gradle').exists()) { apply from: 'addon.gradle' } @@ -302,7 +305,7 @@ repositories { name 'Overmind forge repo mirror' url 'https://gregtech.overminddl1.com/' } - if(usesMixins.toBoolean() || forceEnableMixins) { + if (usesMixins.toBoolean() || forceEnableMixins) { maven { name 'sponge' url 'https://repo.spongepowered.org/repository/maven-public' @@ -314,13 +317,13 @@ repositories { } dependencies { - if(usesMixins.toBoolean()) { + if (usesMixins.toBoolean()) { annotationProcessor('org.ow2.asm:asm-debug-all:5.0.3') annotationProcessor('com.google.guava:guava:24.1.1-jre') annotationProcessor('com.google.code.gson:gson:2.8.6') annotationProcessor('org.spongepowered:mixin:0.8-SNAPSHOT') } - if(usesMixins.toBoolean() || forceEnableMixins) { + if (usesMixins.toBoolean() || forceEnableMixins) { // using 0.8 to workaround a issue in 0.7 which fails mixin application compile('com.github.GTNewHorizons:SpongePoweredMixin:0.7.12-GTNH') { // Mixin includes a lot of dependencies that are too up-to-date @@ -396,20 +399,20 @@ jar { attributes(getManifestAttributes()) } - if(usesShadowedDependencies.toBoolean()) { + if (usesShadowedDependencies.toBoolean()) { dependsOn(shadowJar) enabled = false } } reobf { - if(usesMixins.toBoolean() && file(mixinSrg).exists()) { + if (usesMixins.toBoolean()) { addExtraSrgFile mixinSrg } } afterEvaluate { - if(usesMixins.toBoolean()) { + if (usesMixins.toBoolean()) { tasks.compileJava { options.compilerArgs += [ "-AreobfSrgFile=${tasks.reobf.srg}", @@ -424,7 +427,7 @@ afterEvaluate { } runClient { - if(developmentEnvironmentUserName) { + if (developmentEnvironmentUserName) { arguments += [ "--username", developmentEnvironmentUserName @@ -465,7 +468,7 @@ processResources { "modName": modName } - if(usesMixins.toBoolean()) { + if (usesMixins.toBoolean()) { from refMap } @@ -478,31 +481,31 @@ processResources { def getManifestAttributes() { def manifestAttributes = [:] - if(!containsMixinsAndOrCoreModOnly.toBoolean() && (usesMixins.toBoolean() || coreModClass)) { + if (!containsMixinsAndOrCoreModOnly.toBoolean() && (usesMixins.toBoolean() || coreModClass)) { manifestAttributes += ["FMLCorePluginContainsFMLMod": true] } - if(accessTransformersFile) { - manifestAttributes += ["FMLAT" : accessTransformersFile.toString()] + if (accessTransformersFile) { + manifestAttributes += ["FMLAT": accessTransformersFile.toString()] } - if(coreModClass) { + if (coreModClass) { manifestAttributes += ["FMLCorePlugin": modGroup + "." + coreModClass] } - if(usesMixins.toBoolean()) { + if (usesMixins.toBoolean()) { manifestAttributes += [ - "TweakClass" : "org.spongepowered.asm.launch.MixinTweaker", - "MixinConfigs" : "mixins." + modId + ".json", - "ForceLoadAsMod" : !containsMixinsAndOrCoreModOnly.toBoolean() + "TweakClass" : "org.spongepowered.asm.launch.MixinTweaker", + "MixinConfigs" : "mixins." + modId + ".json", + "ForceLoadAsMod": !containsMixinsAndOrCoreModOnly.toBoolean() ] } return manifestAttributes } task sourcesJar(type: Jar) { - from (sourceSets.main.allSource) - from (file("$projectDir/LICENSE")) + from(sourceSets.main.allSource) + from(file("$projectDir/LICENSE")) getArchiveClassifier().set('sources') } @@ -552,22 +555,22 @@ task devJar(type: Jar) { attributes(getManifestAttributes()) } - if(usesShadowedDependencies.toBoolean()) { + if (usesShadowedDependencies.toBoolean()) { dependsOn(circularResolverJar) enabled = false } } task apiJar(type: Jar) { - from (sourceSets.main.allSource) { + from(sourceSets.main.allSource) { include modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + '/**' } - from (sourceSets.main.output) { + from(sourceSets.main.output) { include modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + '/**' } - from (sourceSets.main.resources.srcDirs) { + from(sourceSets.main.resources.srcDirs) { include("LICENSE") } @@ -575,11 +578,11 @@ task apiJar(type: Jar) { } artifacts { - if(!noPublishedSources) { + if (!noPublishedSources) { archives sourcesJar } archives devJar - if(apiPackage) { + if (apiPackage) { archives apiJar } } @@ -597,10 +600,10 @@ publishing { publications { maven(MavenPublication) { from components.java - if(usesShadowedDependencies.toBoolean()) { + if (usesShadowedDependencies.toBoolean()) { artifact source: shadowJar, classifier: "" } - if(!noPublishedSources) { + if (!noPublishedSources) { artifact source: sourcesJar, classifier: "sources" } artifact source: usesShadowedDependencies.toBoolean() ? shadowDevJar : devJar, classifier: "dev" @@ -615,7 +618,7 @@ publishing { // remove extra garbage from minecraft and minecraftDeps configuration pom.withXml { - def badArtifacts = [:].withDefault {[] as Set} + def badArtifacts = [:].withDefault { [] as Set } for (configuration in [ projectConfigs.minecraft, projectConfigs.minecraftDeps @@ -666,20 +669,40 @@ if (!project.getGradle().startParameter.isOffline() && isNewBuildScriptVersionAv } static URL availableBuildScriptUrl() { - new URL("https://raw.githubusercontent.com/GTNewHorizons/ExampleMod1.7.10/main/build.gradle") + new URL("https://raw.githubusercontent.com/GTNewHorizons/ExampleMod1.7.10/master/build.gradle") } + static URL exampleSettingsGradleUrl() { - new URL("https://raw.githubusercontent.com/GTNewHorizons/ExampleMod1.7.10/main/settings.gradle.example") + new URL("https://raw.githubusercontent.com/GTNewHorizons/ExampleMod1.7.10/master/settings.gradle.example") +} + +static URL exampleGitAttributesUrl() { + new URL("https://raw.githubusercontent.com/GTNewHorizons/ExampleMod1.7.10/master/.gitattributes") } -def verifySettingsGradle() { +boolean verifyGitAttributes() { + def gitattributesFile = getFile(".gitattributes") + if (!gitattributesFile.exists()) { + println("Downloading default .gitattributes") + exampleGitAttributesUrl().withInputStream { i -> gitattributesFile.withOutputStream { it << i } } + exec { + workingDir '.' + commandLine 'git', 'add', '--renormalize', '.' + } + return true + } + return false +} + +boolean verifySettingsGradle() { def settingsFile = getFile("settings.gradle") if (!settingsFile.exists()) { println("Downloading default settings.gradle") exampleSettingsGradleUrl().withInputStream { i -> settingsFile.withOutputStream { it << i } } - throw new GradleException("Settings.gradle has been updated, please re-run task.") + return true } + return false } boolean performBuildScriptUpdate(String projectDir) { @@ -687,7 +710,10 @@ boolean performBuildScriptUpdate(String projectDir) { def buildscriptFile = getFile("build.gradle") availableBuildScriptUrl().withInputStream { i -> buildscriptFile.withOutputStream { it << i } } out.style(Style.Success).print("Build script updated. Please REIMPORT the project or RESTART your IDE!") - verifySettingsGradle() + boolean settingsupdated = verifySettingsGradle() + settingsupdated = verifyGitAttributes() || settingsupdated + if (settingsupdated) + throw new GradleException("Settings has been updated, please re-run task.") return true } return false @@ -707,7 +733,7 @@ boolean isNewBuildScriptVersionAvailable(String projectDir) { static String getVersionHash(String buildScriptContent) { String versionLine = buildScriptContent.find("^//version: [a-z0-9]*") - if(versionLine != null) { + if (versionLine != null) { return versionLine.split(": ").last() } return "" @@ -733,16 +759,16 @@ task deobfParams { overwrite false } - if(!file(paramsCSV).exists()) { + if (!file(paramsCSV).exists()) { println("Extracting MCP archive ...") unzip(mcpZIP, mcpDir) } println("Parsing params.csv ...") Map params = new HashMap<>() - Files.lines(Paths.get(paramsCSV)).forEach{line -> + Files.lines(Paths.get(paramsCSV)).forEach { line -> String[] cells = line.split(",") - if(cells.length > 2 && cells[0].matches("p_i?\\d+_\\d+_")) { + if (cells.length > 2 && cells[0].matches("p_i?\\d+_\\d+_")) { params.put(cells[0], cells[1]) } } @@ -755,8 +781,8 @@ task deobfParams { static int replaceParams(File file, Map params) { int fileCount = 0 -if(file.isDirectory()) { - for(File f : file.listFiles()) { +if (file.isDirectory()) { + for (File f : file.listFiles()) { fileCount += replaceParams(f, params) } return fileCount @@ -765,14 +791,14 @@ println("Visiting ${file.getName()} ...") try { String content = new String(Files.readAllBytes(file.toPath())) int hash = content.hashCode() - params.forEach{key, value -> + params.forEach { key, value -> content = content.replaceAll(key, value) } - if(hash != content.hashCode()) { + if (hash != content.hashCode()) { Files.write(file.toPath(), content.getBytes("UTF-8")) return 1 } -} catch(Exception e) { +} catch (Exception e) { e.printStackTrace() } return 0 @@ -823,16 +849,16 @@ try { //get rid of directories: int lastSlash = fileName.lastIndexOf("/") - if(lastSlash > 0) { + if (lastSlash > 0) { fileName = fileName.substring(lastSlash + 1) } //get rid of extension: - if(fileName.endsWith(".jar") || fileName.endsWith(".litemod")) { + if (fileName.endsWith(".jar") || fileName.endsWith(".litemod")) { fileName = fileName.substring(0, fileName.lastIndexOf(".")) } String hostName = url.getHost() - if(hostName.startsWith("www.")) { + if (hostName.startsWith("www.")) { hostName = hostName.substring(4) } List parts = Arrays.asList(hostName.split("\\.")) @@ -840,7 +866,7 @@ try { hostName = String.join(".", parts) return deobf(sourceURL, "$hostName/$fileName") -} catch(Exception e) { +} catch (Exception e) { return deobf(sourceURL, "deobf/${sourceURL.hashCode()}") } } @@ -855,13 +881,13 @@ String bon2File = "$bon2Dir/BON2-${bon2Version}.jar" String obfFile = "$cacheDir/modules-2/files-2.1/${fileName}.jar" String deobfFile = "$cacheDir/modules-2/files-2.1/${fileName}-deobf.jar" -if(file(deobfFile).exists()) { +if (file(deobfFile).exists()) { return files(deobfFile) } String mappingsVer String remoteMappings = project.hasProperty('remoteMappings') ? project.remoteMappings : 'https://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/conf/' -if(remoteMappings) { +if (remoteMappings) { String id = "${forgeVersion.split("\\.")[3]}-$minecraftVersion" String mappingsZIP = "$cacheDir/forge_gradle/maven_downloader/de/oceanlabs/mcp/mcp_snapshot_nodoc/$id/mcp_snapshot_nodoc-${id}.zip" @@ -897,7 +923,7 @@ return files(deobfFile) def zipMappings(String zipPath, String url, String bon2Dir) { File zipFile = new File(zipPath) -if(zipFile.exists()) { +if (zipFile.exists()) { return } diff --git a/dependencies.gradle b/dependencies.gradle index 00870aa896..97202a4cbc 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,18 +2,18 @@ dependencies { shadowImplementation('com.github.GTNewHorizons:AVRcore:master-SNAPSHOT') - compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.05:dev') + compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.10-pre:dev') compile('com.github.GTNewHorizons:Yamcl:0.5.82:dev') - compile('com.github.GTNewHorizons:NotEnoughItems:2.2.22:dev') + compile('com.github.GTNewHorizons:NotEnoughItems:2.2.28-GTNH:dev') compile('com.github.GTNewHorizons:CodeChickenLib:1.1.5.3:dev') compile('com.github.GTNewHorizons:CodeChickenCore:1.1.4:dev') - compile('com.github.GTNewHorizons:StructureLib:1.1.3:dev') + compile('com.github.GTNewHorizons:StructureLib:1.1.4:dev') compile('net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev') compileOnly('com.github.GTNewHorizons:OpenModularTurrets:2.2.11-247:dev') {transitive=false} compileOnly('com.github.GTNewHorizons:OpenComputers:1.7.5.23-GTNH:dev') {transitive=false} - compileOnly('com.github.GTNewHorizons:GTplusplus:1.7.71:dev') {transitive=false} - compileOnly('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-94-GTNH:dev') {transitive=false} + compileOnly('com.github.GTNewHorizons:GTplusplus:1.7.76:dev') {transitive=false} + compileOnly('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-97-GTNH:dev') {transitive=false} compileOnly('curse.maven:cofh-lib-220333:2388748') {transitive=false} compileOnly('curse.maven:computercraft-67504:2269339') {transitive=false} -- cgit From 7f13c5d02cedcd7f100e5aa7393f4e8a9a95b600 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Tue, 23 Aug 2022 13:45:20 +0200 Subject: update Infinity Oil rig use Oilrig iv --- .../tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 0dd87967f0..ff5249c32a 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 @@ -251,13 +251,13 @@ public class DreamCraftRecipeLoader { // Infinite Oil Rig TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.OilDrill3.get(1), + ItemList.OilDrill4.get(1), 16777216, 2048, 2000000, 4, new Object[] { - ItemList.OilDrill3.get(1), + ItemList.OilDrill4.get(1), GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 4), new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 4L}, ItemList.Electric_Motor_UHV.get(4), -- cgit From bee02c6b287536abb1f2a9d1f7c38a423ce8df1e Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Wed, 24 Aug 2022 08:45:02 +0200 Subject: Replaced progress with computation info in WAILA --- .../multi/GT_MetaTileEntity_EM_research.java | 32 +++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java index 8defa2c64c..7e9e21279b 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java @@ -10,7 +10,8 @@ import static com.github.technus.tectech.util.CommonValues.V; import static com.github.technus.tectech.util.CommonValues.VN; import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; -import static gregtech.api.enums.GT_HatchElement.*; +import static mcp.mobius.waila.api.SpecialChars.*; +import static mcp.mobius.waila.api.SpecialChars.RESET; import static net.minecraft.util.StatCollector.translateToLocal; import static net.minecraft.util.StatCollector.translateToLocalFormatted; @@ -39,13 +40,17 @@ import java.util.ArrayList; import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; +import mcp.mobius.waila.api.IWailaConfigHandler; +import mcp.mobius.waila.api.IWailaDataAccessor; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.nbt.NBTTagString; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; import org.apache.commons.lang3.reflect.FieldUtils; /** @@ -639,6 +644,31 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB return true; } + @Override + public void getWailaNBTData( + EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y, int z) { + tag.setBoolean("hasProblems", (getIdealStatus() - getRepairStatus()) > 0); + tag.setFloat("efficiency", mEfficiency / 100.0F); + tag.setBoolean("incompleteStructure", (getBaseMetaTileEntity().getErrorDisplayID() & 64) != 0); + tag.setLong("computation", (computationRequired - computationRemaining) / 20L); + tag.setLong("computationRequired", computationRequired / 20L); + } + + @Override + public void getWailaBody( + ItemStack itemStack, List currentTip, IWailaDataAccessor accessor, IWailaConfigHandler config) { + final NBTTagCompound tag = accessor.getNBTData(); + + if (tag.getBoolean("incompleteStructure")) { + currentTip.add(RED + "** INCOMPLETE STRUCTURE **" + RESET); + } + currentTip.add((tag.getBoolean("hasProblems") ? (RED + "** HAS PROBLEMS **") : GREEN + "Running Fine") + RESET + + " Efficiency: " + tag.getFloat("efficiency") + "%"); + + currentTip.add(String.format( + "Computation: %d / %d", tag.getInteger("computation"), tag.getInteger("computationRequired"))); + } + @Override public int getInventoryStackLimit() { return 1; -- cgit From 243a67026bbaf1107defc34ee0d0173b4efd5c32 Mon Sep 17 00:00:00 2001 From: miozune Date: Wed, 24 Aug 2022 17:04:08 +0900 Subject: Don't overwrite GT_Values --- .../github/technus/tectech/loader/MainLoader.java | 6 --- .../github/technus/tectech/util/CommonValues.java | 43 ++-------------------- 2 files changed, 4 insertions(+), 45 deletions(-) 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 f34ee81709..042b184ea1 100644 --- a/src/main/java/com/github/technus/tectech/loader/MainLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/MainLoader.java @@ -32,7 +32,6 @@ import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.GameData; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.GregTech_API; -import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Recipe; @@ -53,11 +52,6 @@ public final class MainLoader { private MainLoader() {} public static void staticLoad() { - for (int i = 0; i < 16; i++) { - GT_Values.V[i] = V[i]; - GT_Values.VN[i] = VN[i]; - GT_Values.VOLTAGE_NAMES[i] = VOLTAGE_NAMES[i]; - } new ComponentLoader(); } diff --git a/src/main/java/com/github/technus/tectech/util/CommonValues.java b/src/main/java/com/github/technus/tectech/util/CommonValues.java index cb894f8e9c..5b3ee851d1 100644 --- a/src/main/java/com/github/technus/tectech/util/CommonValues.java +++ b/src/main/java/com/github/technus/tectech/util/CommonValues.java @@ -1,5 +1,6 @@ package com.github.technus.tectech.util; +import gregtech.api.enums.GT_Values; import net.minecraft.util.EnumChatFormatting; /** @@ -27,45 +28,9 @@ public final class CommonValues { public static final long[] AatV = new long[] { 268435455, 67108863, 16777215, 4194303, 1048575, 262143, 65535, 16383, 4095, 1023, 255, 63, 15, 3, 1, 1 }; - public static final String[] VOLTAGE_NAMES = new String[] { - "Ultra Low Voltage", - "Low Voltage", - "Medium Voltage", - "High Voltage", - "Extreme Voltage", - "Insane Voltage", - "Ludicrous Voltage", - "ZPM Voltage", - "Ultimate Voltage", - "Ultimate High Voltage", - "Ultimate Extreme Voltage", - "Ultimate Insane Voltage", - "Ultimate Mega Voltage", - "Ultimate Extended Mega Voltage", - "Overpowered Voltage", - "Maximum Voltage" - }; - public static final String[] VN = new String[] { - "ULV", "LV", "MV", "HV", "EV", "IV", "LuV", "ZPM", "UV", "UHV", "UEV", "UIV", "UMV", "UXV", "OpV", "MAX" - }; - public static final long[] V = new long[] { - 8L, - 32L, - 128L, - 512L, - 2048L, - 8192L, - 32768L, - 131072L, - 524288L, - 2097152L, - 8388608L, - 33554432L, - 134217728L, - 536870912L, - 1073741824L, - Integer.MAX_VALUE - 7 - }; + public static final String[] VOLTAGE_NAMES = GT_Values.VOLTAGE_NAMES; + public static final String[] VN = GT_Values.VN; + public static final long[] V = GT_Values.V; private CommonValues() {} } -- cgit From b9be2d6e0aea3a188fb76083a219d9315c7d11b8 Mon Sep 17 00:00:00 2001 From: miozune Date: Wed, 24 Aug 2022 18:41:36 +0900 Subject: Purge OpV --- .../dreamcraft/NoDreamCraftMachineLoader.java | 49 ++++------------------ .../technus/tectech/thing/CustomItemList.java | 11 ++--- .../tectech/thing/casing/GT_Block_CasingsNH.java | 6 +-- .../tectech/thing/metaTileEntity/Textures.java | 19 ++------- src/main/resources/assets/tectech/lang/en_US.lang | 18 +++----- src/main/resources/assets/tectech/lang/zh_CN.lang | 18 +++----- 6 files changed, 26 insertions(+), 95 deletions(-) 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 b08480fe8a..e444e08fb1 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 @@ -96,13 +96,9 @@ public class NoDreamCraftMachineLoader implements Runnable { 12012, "wettransformer.tier.12", "Mega Ultimate Power Transformer", 12) .getStackForm(1L)); // UXV -> UMV (Use Soft Mallet to invert) - CustomItemList.WetTransformer_OPV_UXV.set(new GT_MetaTileEntity_WetTransformer( + CustomItemList.WetTransformer_MAXV_UXV.set(new GT_MetaTileEntity_WetTransformer( 12013, "wettransformer.tier.13", "Extended Mega Ultimate Power Transformer", 13) - .getStackForm(1L)); // OPV -> UXV (Use Soft Mallet to invert) - - CustomItemList.WetTransformer_MAXV_OPV.set(new GT_MetaTileEntity_WetTransformer( - 12014, "wettransformer.tier.14", "Overpowered Power Transformer", 14) - .getStackForm(1L)); // MAX -> OPV (Use Soft Mallet to invert) + .getStackForm(1L)); // MAX -> UXV (Use Soft Mallet to invert) try { MetaTileEntity temp; @@ -143,18 +139,11 @@ 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, imagination); + temp = new GT_MetaTileEntity_BasicHull(11234, "hull.tier.14", "MAX Machine Hull", 14, imagination); TT_Utility.setTier(14, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } - CustomItemList.Hull_OPV.set(temp.getStackForm(1L)); - - temp = new GT_MetaTileEntity_BasicHull(11235, "hull.tier.15", "MAX Machine Hull", 15, imagination); - TT_Utility.setTier(15, temp); - if (GT_Values.GT.isClientSide()) { - field.set(temp, method.invoke(temp, iTexture)); - } CustomItemList.Hull_MAXV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_TT_Transformer( @@ -201,23 +190,12 @@ public class NoDreamCraftMachineLoader implements Runnable { 11224, "tt.transformer.tier.13", "Extended Mega Ultimate Transformer", - 13); // OPV -> UXV (Use Soft Mallet to invert) + 13); // MAX -> UXV (Use Soft Mallet to invert) TT_Utility.setTier(13, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } - CustomItemList.Transformer_OPV_UXV.set(temp.getStackForm(1L)); - - temp = new GT_MetaTileEntity_TT_Transformer( - 11225, - "tt.transformer.tier.14", - "Overpowered Transformer", - 14); // MAX -> OPV (Use Soft Mallet to invert) - TT_Utility.setTier(14, temp); - if (GT_Values.GT.isClientSide()) { - field.set(temp, method.invoke(temp, iTexture)); - } - CustomItemList.Transformer_MAXV_OPV.set(temp.getStackForm(1L)); + CustomItemList.Transformer_MAXV_UXV.set(temp.getStackForm(1L)); if (Loader.isModLoaded(Reference.GTPLUSPLUS)) { Class clazz = Class.forName( @@ -278,26 +256,13 @@ public class NoDreamCraftMachineLoader implements Runnable { "transformer.ha.tier.13", "Extended Mega Ultimate Hi-Amp Transformer", 13, - // OPV -> UXV (Use Soft Mallet to invert) + // MAXV -> UXV (Use Soft Mallet to invert) translateToLocal("gt.blockmachines.transformer.ha.tier.13.desc")); TT_Utility.setTier(13, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); } - CustomItemList.Transformer_HA_OPV_UXV.set(temp.getStackForm(1)); - - temp = constructor.newInstance( - 11914, - "transformer.ha.tier.14", - "Overpowered Hi-Amp Transformer", - 14, - // MAX -> OPV (Use Soft Mallet to invert) - translateToLocal("gt.blockmachines.transformer.ha.tier.14.desc")); - TT_Utility.setTier(14, temp); - if (GT_Values.GT.isClientSide()) { - field.set(temp, method.invoke(temp, iTexture)); - } - CustomItemList.Transformer_HA_MAXV_OPV.set(temp.getStackForm(1)); + CustomItemList.Transformer_HA_MAXV_UXV.set(temp.getStackForm(1)); } } catch (Exception e) { e.printStackTrace(); 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 6f00ed021f..01310a8a6f 100644 --- a/src/main/java/com/github/technus/tectech/thing/CustomItemList.java +++ b/src/main/java/com/github/technus/tectech/thing/CustomItemList.java @@ -15,20 +15,17 @@ public enum CustomItemList implements IItemContainer { 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, + Transformer_MAXV_UXV, WetTransformer_LV_ULV, WetTransformer_MV_LV, WetTransformer_HV_MV, @@ -42,15 +39,13 @@ public enum CustomItemList implements IItemContainer { WetTransformer_UIV_UEV, WetTransformer_UMV_UIV, WetTransformer_UXV_UMV, - WetTransformer_OPV_UXV, - WetTransformer_MAXV_OPV, + WetTransformer_MAXV_UXV, Transformer_HA_UEV_UHV, Transformer_HA_UIV_UEV, Transformer_HA_UMV_UIV, Transformer_HA_UXV_UMV, - Transformer_HA_OPV_UXV, - Transformer_HA_MAXV_OPV, + Transformer_HA_MAXV_UXV, hatch_CreativeMaintenance, hatch_CreativeData, diff --git a/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsNH.java b/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsNH.java index 61e4847eb8..f4888b5125 100644 --- a/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsNH.java +++ b/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsNH.java @@ -32,15 +32,13 @@ public class GT_Block_CasingsNH extends GT_Block_Casings_Abstract { GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "UIV Machine Casing"); // adding GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "UMV Machine Casing"); // adding GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "UXV Machine Casing"); // adding - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "OPV Machine Casing"); // adding - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "MAX Machine Casing"); // adding + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "MAX Machine Casing"); // adding CustomItemList.Casing_UEV.set(new ItemStack(this, 1, 10)); CustomItemList.Casing_UIV.set(new ItemStack(this, 1, 11)); CustomItemList.Casing_UMV.set(new ItemStack(this, 1, 12)); CustomItemList.Casing_UXV.set(new ItemStack(this, 1, 13)); - CustomItemList.Casing_OPV.set(new ItemStack(this, 1, 14)); - CustomItemList.Casing_MAXV.set(new ItemStack(this, 1, 15)); + CustomItemList.Casing_MAXV.set(new ItemStack(this, 1, 14)); } @Override 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 08a14fecc2..37cfe64acd 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 @@ -18,19 +18,16 @@ public class Textures { private static final IIconContainer MACHINE_UIV_SIDE = new CustomIcon("iconsets/MACHINE_UIV_SIDE"); private static final IIconContainer MACHINE_UMV_SIDE = new CustomIcon("iconsets/MACHINE_UMV_SIDE"); private static final IIconContainer MACHINE_UXV_SIDE = new CustomIcon("iconsets/MACHINE_UXV_SIDE"); - private static final IIconContainer MACHINE_OPV_SIDE = new CustomIcon("iconsets/MACHINE_OPV_SIDE"); private static final IIconContainer MACHINE_MAXV_SIDE = new CustomIcon("iconsets/MACHINE_MAXV_SIDE"); private static final IIconContainer MACHINE_UEV_TOP = new CustomIcon("iconsets/MACHINE_UEV_TOP"); private static final IIconContainer MACHINE_UIV_TOP = new CustomIcon("iconsets/MACHINE_UIV_TOP"); private static final IIconContainer MACHINE_UMV_TOP = new CustomIcon("iconsets/MACHINE_UMV_TOP"); private static final IIconContainer MACHINE_UXV_TOP = new CustomIcon("iconsets/MACHINE_UXV_TOP"); - private static final IIconContainer MACHINE_OPV_TOP = new CustomIcon("iconsets/MACHINE_OPV_TOP"); private static final IIconContainer MACHINE_MAXV_TOP = new CustomIcon("iconsets/MACHINE_MAXV_TOP"); private static final IIconContainer MACHINE_UEV_BOTTOM = new CustomIcon("iconsets/MACHINE_UEV_BOTTOM"); private static final IIconContainer MACHINE_UIV_BOTTOM = new CustomIcon("iconsets/MACHINE_UIV_BOTTOM"); private static final IIconContainer MACHINE_UMV_BOTTOM = new CustomIcon("iconsets/MACHINE_UMV_BOTTOM"); private static final IIconContainer MACHINE_UXV_BOTTOM = new CustomIcon("iconsets/MACHINE_UXV_BOTTOM"); - 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"); @@ -41,21 +38,21 @@ public class Textures { MACHINE_8V_SIDE, MACHINE_LV_SIDE, MACHINE_MV_SIDE, MACHINE_HV_SIDE, MACHINE_EV_SIDE, MACHINE_IV_SIDE, MACHINE_LuV_SIDE, MACHINE_ZPM_SIDE, MACHINE_UV_SIDE, MACHINE_MAX_SIDE, MACHINE_UEV_SIDE, MACHINE_UIV_SIDE, - MACHINE_UMV_SIDE, MACHINE_UXV_SIDE, MACHINE_OPV_SIDE, MACHINE_MAXV_SIDE, + MACHINE_UMV_SIDE, MACHINE_UXV_SIDE, MACHINE_MAXV_SIDE, }, MACHINECASINGS_TOP_TT = new IIconContainer[] { MACHINE_8V_TOP, MACHINE_LV_TOP, MACHINE_MV_TOP, MACHINE_HV_TOP, MACHINE_EV_TOP, MACHINE_IV_TOP, MACHINE_LuV_TOP, MACHINE_ZPM_TOP, MACHINE_UV_TOP, MACHINE_MAX_TOP, MACHINE_UEV_TOP, MACHINE_UIV_TOP, - MACHINE_UMV_TOP, MACHINE_UXV_TOP, MACHINE_OPV_TOP, MACHINE_MAXV_TOP, + MACHINE_UMV_TOP, MACHINE_UXV_TOP, MACHINE_MAXV_TOP, }, MACHINECASINGS_BOTTOM_TT = new IIconContainer[] { MACHINE_8V_BOTTOM, MACHINE_LV_BOTTOM, MACHINE_MV_BOTTOM, MACHINE_HV_BOTTOM, MACHINE_EV_BOTTOM, MACHINE_IV_BOTTOM, MACHINE_LuV_BOTTOM, MACHINE_ZPM_BOTTOM, MACHINE_UV_BOTTOM, MACHINE_MAX_BOTTOM, MACHINE_UEV_BOTTOM, MACHINE_UIV_BOTTOM, - MACHINE_UMV_BOTTOM, MACHINE_UXV_BOTTOM, MACHINE_OPV_BOTTOM, MACHINE_MAXV_BOTTOM, + MACHINE_UMV_BOTTOM, MACHINE_UXV_BOTTOM, MACHINE_MAXV_BOTTOM, }; public static ITexture[] OVERLAYS_ENERGY_IN_TT = @@ -75,7 +72,6 @@ public class Textures { new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {100, 100, 245, 0}), new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {80, 80, 245, 0}), new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN, new short[] {40, 40, 245, 0}), }, OVERLAYS_ENERGY_OUT_TT = new ITexture[] { @@ -94,7 +90,6 @@ public class Textures { new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {100, 100, 245, 0}), new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {80, 80, 245, 0}), new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT, new short[] {40, 40, 245, 0}), }, OVERLAYS_ENERGY_IN_MULTI_TT = new ITexture[] { @@ -113,7 +108,6 @@ public class Textures { new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {100, 100, 245, 0}), new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {80, 80, 245, 0}), new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_MULTI, new short[] {40, 40, 245, 0}), }, OVERLAYS_ENERGY_OUT_MULTI_TT = new ITexture[] { @@ -132,7 +126,6 @@ public class Textures { new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {100, 100, 245, 0}), new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {80, 80, 245, 0}), new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI, new short[] {40, 40, 245, 0}), }, OVERLAYS_ENERGY_IN_POWER_TT = new ITexture[] { @@ -151,7 +144,6 @@ public class Textures { new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {100, 100, 245, 0}), new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {80, 80, 245, 0}), new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_POWER, new short[] {40, 40, 245, 0}), }, OVERLAYS_ENERGY_OUT_POWER_TT = new ITexture[] { @@ -170,7 +162,6 @@ public class Textures { new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {100, 100, 245, 0}), new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {80, 80, 245, 0}), new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[] {40, 40, 245, 0}), }, OVERLAYS_ENERGY_IN_LASER_TT = new ITexture[] { @@ -189,7 +180,6 @@ public class Textures { new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {100, 100, 245, 0}), new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {80, 80, 245, 0}), new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[] {40, 40, 245, 0}), }, OVERLAYS_ENERGY_OUT_LASER_TT = new ITexture[] { @@ -208,10 +198,9 @@ public class Textures { new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {100, 100, 245, 0}), new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {80, 80, 245, 0}), new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {60, 60, 245, 0}), - new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[] {40, 40, 245, 0}), }; - public static ITexture[][] MACHINE_CASINGS_TT = new ITexture[16][17]; + public static ITexture[][] MACHINE_CASINGS_TT = new ITexture[15][17]; public static ITexture TESLA_TRANSCEIVER_TOP_BA = new GT_RenderedTexture(TESLA_TRANSCEIVER_TOP); diff --git a/src/main/resources/assets/tectech/lang/en_US.lang b/src/main/resources/assets/tectech/lang/en_US.lang index 6393b2eeed..ab27b89dd6 100644 --- a/src/main/resources/assets/tectech/lang/en_US.lang +++ b/src/main/resources/assets/tectech/lang/en_US.lang @@ -111,8 +111,7 @@ gt.blockmachines.hull.tier.10.name=UEV Machine Hull gt.blockmachines.hull.tier.11.name=UIV Machine Hull gt.blockmachines.hull.tier.12.name=UMV Machine Hull gt.blockmachines.hull.tier.13.name=UXV Machine Hull -gt.blockmachines.hull.tier.14.name=OPV Machine Hull -gt.blockmachines.hull.tier.15.name=MAX Machine Hull +gt.blockmachines.hull.tier.14.name=MAX Machine Hull #Transformers gt.blockmachines.wetransformer.tier.00.name=Ultra Low Voltage Power Transformer @@ -142,9 +141,7 @@ gt.blockmachines.wetransformer.tier.11.desc=UMV -> UIV (Use Soft Mallet to inver gt.blockmachines.wetransformer.tier.12.name=Mega Ultimate Power Transformer gt.blockmachines.wetransformer.tier.12.desc=UXV -> UMV (Use Soft Mallet to invert) gt.blockmachines.wetransformer.tier.13.name=Extended Mega Ultimate Power Transformer -gt.blockmachines.wetransformer.tier.13.desc=OPV -> UXV (Use Soft Mallet to invert) -gt.blockmachines.wetransformer.tier.14.name=Overpowered Power Transformer -gt.blockmachines.wetransformer.tier.14.desc=MAX -> OPV (Use Soft Mallet to invert) +gt.blockmachines.wetransformer.tier.13.desc=MAX -> UXV (Use Soft Mallet to invert) gt.blockmachines.tt.transformer.tier.09.name=Highly Ultimate Transformer gt.blockmachines.tt.transformer.tier.09.desc=UEV -> UHV (Use Soft Mallet to invert) @@ -155,9 +152,7 @@ gt.blockmachines.tt.transformer.tier.11.desc=UMV -> UIV (Use Soft Mallet to inve gt.blockmachines.tt.transformer.tier.12.name=Mega Ultimate Transformer gt.blockmachines.tt.transformer.tier.12.desc=UXV -> UMV (Use Soft Mallet to invert) gt.blockmachines.tt.transformer.tier.13.name=Extended Mega Ultimate Transformer -gt.blockmachines.tt.transformer.tier.13.desc=OPV -> UXV (Use Soft Mallet to invert) -gt.blockmachines.tt.transformer.tier.14.name=Overpowered Transformer -gt.blockmachines.tt.transformer.tier.14.desc=MAX -> OPV (Use Soft Mallet to invert) +gt.blockmachines.tt.transformer.tier.13.desc=MAX -> UXV (Use Soft Mallet to invert) gt.blockmachines.transformer.ha.tier.09.name=Highly Ultimate Hi-Amp Transformer gt.blockmachines.transformer.ha.tier.09.desc=UEV -> UHV (Use Soft Mallet to invert @@ -168,9 +163,7 @@ gt.blockmachines.transformer.ha.tier.11.desc=UMV -> UIV (Use Soft Mallet to inve gt.blockmachines.transformer.ha.tier.12.name=Mega Ultimate Hi-Amp Transformer gt.blockmachines.transformer.ha.tier.12.desc=UXV -> UMV (Use Soft Mallet to invert) gt.blockmachines.transformer.ha.tier.13.name=Extended Mega Ultimate Hi-Amp Transformer -gt.blockmachines.transformer.ha.tier.13.desc=OPV -> UXV (Use Soft Mallet to invert) -gt.blockmachines.transformer.ha.tier.14.name=Overpowered Hi-Amp Transformer -gt.blockmachines.transformer.ha.tier.14.desc=MAX -> OPV (Use Soft Mallet to invert) +gt.blockmachines.transformer.ha.tier.13.desc=MAX -> UXV (Use Soft Mallet to invert) #Hatches tt.base.emhatch.desc.0=Max stacks amount: @@ -450,8 +443,7 @@ gt.blockcasingsNH.10.name=UEV Machine Casing gt.blockcasingsNH.11.name=UIV Machine Casing gt.blockcasingsNH.12.name=UMV Machine Casing gt.blockcasingsNH.13.name=UXV Machine Casing -gt.blockcasingsNH.14.name=OPV Machine Casing -gt.blockcasingsNH.15.name=MAX Machine Casing +gt.blockcasingsNH.14.name=MAX Machine Casing gt.blockhintTT.desc.0=Helps while building gt.blockhintTT.0.name=Hint 1 dot diff --git a/src/main/resources/assets/tectech/lang/zh_CN.lang b/src/main/resources/assets/tectech/lang/zh_CN.lang index 83cc8f72e9..870998d56a 100644 --- a/src/main/resources/assets/tectech/lang/zh_CN.lang +++ b/src/main/resources/assets/tectech/lang/zh_CN.lang @@ -111,8 +111,7 @@ gt.blockmachines.hull.tier.10.name=UEV机器外壳 gt.blockmachines.hull.tier.11.name=UIV机器外壳 gt.blockmachines.hull.tier.12.name=UMV机器外壳 gt.blockmachines.hull.tier.13.name=UXV机器外壳 -gt.blockmachines.hull.tier.14.name=OPV机器外壳 -gt.blockmachines.hull.tier.15.name=MAX机器外壳 +gt.blockmachines.hull.tier.14.name=MAX机器外壳 #Transformers gt.blockmachines.wetransformer.tier.00.name=ULV高能变压器 @@ -142,9 +141,7 @@ gt.blockmachines.wetransformer.tier.11.desc=UMV -> UIV (用软锤右击以反转 gt.blockmachines.wetransformer.tier.12.name=UMV高能变压器 gt.blockmachines.wetransformer.tier.12.desc=UXV -> UMV (用软锤右击以反转) gt.blockmachines.wetransformer.tier.13.name=UXV高能变压器 -gt.blockmachines.wetransformer.tier.13.desc=OPV -> UXV (用软锤右击以反转) -gt.blockmachines.wetransformer.tier.14.name=OpV高能变压器 -gt.blockmachines.wetransformer.tier.14.desc=MAX -> OPV (用软锤右击以反转) +gt.blockmachines.wetransformer.tier.13.desc=MAX -> UXV (用软锤右击以反转) gt.blockmachines.tt.transformer.tier.09.name=UHV变压器 gt.blockmachines.tt.transformer.tier.09.desc=UEV -> UHV (用软锤右击以反转) @@ -155,9 +152,7 @@ gt.blockmachines.tt.transformer.tier.11.desc=UMV -> UIV (用软锤右击以反 gt.blockmachines.tt.transformer.tier.12.name=UMV变压器 gt.blockmachines.tt.transformer.tier.12.desc=UXV -> UMV (用软锤右击以反转) gt.blockmachines.tt.transformer.tier.13.name=UXV变压器 -gt.blockmachines.tt.transformer.tier.13.desc=OPV -> UXV (用软锤右击以反转) -gt.blockmachines.tt.transformer.tier.14.name=OpV变压器 -gt.blockmachines.tt.transformer.tier.14.desc=MAX -> OPV (用软锤右击以反转) +gt.blockmachines.tt.transformer.tier.13.desc=MAX -> UXV (用软锤右击以反转) gt.blockmachines.transformer.ha.tier.09.name=UHV高电流变压器 gt.blockmachines.transformer.ha.tier.09.desc=UEV -> UHV (用软锤右击以反转 @@ -168,9 +163,7 @@ gt.blockmachines.transformer.ha.tier.11.desc=UMV -> UIV (用软锤右击以反 gt.blockmachines.transformer.ha.tier.12.name=UMV高电流变压器 gt.blockmachines.transformer.ha.tier.12.desc=UXV -> UMV (用软锤右击以反转) gt.blockmachines.transformer.ha.tier.13.name=UXV高电流变压器 -gt.blockmachines.transformer.ha.tier.13.desc=OPV -> UXV (用软锤右击以反转) -gt.blockmachines.transformer.ha.tier.14.name=OpV高电流变压器 -gt.blockmachines.transformer.ha.tier.14.desc=MAX -> OPV (用软锤右击以反转) +gt.blockmachines.transformer.ha.tier.13.desc=MAX -> UXV (用软锤右击以反转) #Hatches tt.base.emhatch.desc.0=最大元物质组数: @@ -450,8 +443,7 @@ gt.blockcasingsNH.10.name=UEV机械方块 gt.blockcasingsNH.11.name=UIV机械方块 gt.blockcasingsNH.12.name=UMV机械方块 gt.blockcasingsNH.13.name=UXV机械方块 -gt.blockcasingsNH.14.name=OPV机械方块 -gt.blockcasingsNH.15.name=MAX机械方块 +gt.blockcasingsNH.14.name=MAX机械方块 gt.blockhintTT.desc.0=构造时的帮助 gt.blockhintTT.0.name=提示方块:1号 -- cgit From d92730cd9dfa8833822ffb75080958287e670271 Mon Sep 17 00:00:00 2001 From: miozune Date: Wed, 24 Aug 2022 20:50:43 +0900 Subject: Fix tier for debug stuff --- .../com/github/technus/tectech/loader/thing/MachineLoader.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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 c58c43ef8d..0723b30099 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 @@ -1014,18 +1014,18 @@ public class MachineLoader implements Runnable { // Debug Stuff // =================================================================================================== Machine_DebugPollutor.set( - new GT_MetaTileEntity_DebugPollutor(15495, "debug.tt.pollutor", "Debug Pollution Generator", 15) + new GT_MetaTileEntity_DebugPollutor(15495, "debug.tt.pollutor", "Debug Pollution Generator", 14) .getStackForm(1)); - hatch_CreativeData.set(new GT_MetaTileEntity_Hatch_CreativeData(15496, "debug.tt.data", "Debug Data Hatch", 15) + hatch_CreativeData.set(new GT_MetaTileEntity_Hatch_CreativeData(15496, "debug.tt.data", "Debug Data Hatch", 14) .getStackForm(1)); hatch_CreativeMaintenance.set(new GT_MetaTileEntity_Hatch_CreativeMaintenance( - 15497, "debug.tt.maintenance", "Auto-Taping Maintenance Hatch", 15) + 15497, "debug.tt.maintenance", "Auto-Taping Maintenance Hatch", 14) .getStackForm(1L)); Machine_DebugGenny.set( - new GT_MetaTileEntity_DebugPowerGenerator(15498, "debug.tt.genny", "Debug Power Generator", 15) + new GT_MetaTileEntity_DebugPowerGenerator(15498, "debug.tt.genny", "Debug Power Generator", 14) .getStackForm(1L)); Machine_DebugWriter.set( - new GT_MetaTileEntity_DebugStructureWriter(15499, "debug.tt.writer", "Debug Structure Writer", 15) + new GT_MetaTileEntity_DebugStructureWriter(15499, "debug.tt.writer", "Debug Structure Writer", 14) .getStackForm(1L)); UnusedStuff.set(new ItemStack(Blocks.air)); -- cgit From 147d02111d0f7b7631b5a035070ddfed9aa3d842 Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Wed, 24 Aug 2022 14:54:13 +0200 Subject: Added comma for digit grouping --- .../thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java index 7e9e21279b..c8aeb7933e 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java @@ -666,7 +666,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB + " Efficiency: " + tag.getFloat("efficiency") + "%"); currentTip.add(String.format( - "Computation: %d / %d", tag.getInteger("computation"), tag.getInteger("computationRequired"))); + "Computation: %,d / %,d", tag.getInteger("computation"), tag.getInteger("computationRequired"))); } @Override -- cgit From 5aa4a9a7ef551daae3328b36d34c92f668cd4bfe Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Fri, 26 Aug 2022 15:12:04 +0200 Subject: Added texture offset to make the object holder take the adv computer casing texture --- .../thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java index 8defa2c64c..39c046e380 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java @@ -90,7 +90,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB .addElement('B', ofBlock(sBlockCasingsTT, 2)) .addElement('C', ofBlock(sBlockCasingsTT, 3)) .addElement('D', classicHatches(textureOffset + 1, 1, sBlockCasingsTT, 1)) - .addElement('E', HolderHatchElement.INSTANCE.newAny(3, 2)) + .addElement('E', HolderHatchElement.INSTANCE.newAny(textureOffset + 3, 2)) .build(); // endregion -- cgit From 150c66b119e037e1b9b503b7864ad7cd6dd02eeb Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Fri, 26 Aug 2022 23:18:24 +0200 Subject: Added computation to saved NBT to still generate computation until the multi is fully loaded --- .../multi/GT_MetaTileEntity_EM_computer.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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 7651cb22c4..09995604aa 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 @@ -40,6 +40,7 @@ import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; @@ -177,6 +178,20 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB return eUncertainHatches.size() == 1; } + @Override + public void saveNBTData(NBTTagCompound aNBT) { + super.saveNBTData(aNBT); + aNBT.setDouble("computation", availableData.get()); + } + + @Override + public void loadNBTData(NBTTagCompound aNBT) { + super.loadNBTData(aNBT); + if (availableData != null) { + availableData.set(aNBT.getDouble("computation")); + } + } + @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { super.onPostTick(aBaseMetaTileEntity, aTick); -- cgit From c3000dbf6b3adcc53bcbb4b889ed54aed957fd42 Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Mon, 29 Aug 2022 09:50:49 +0200 Subject: Added a timeout to TT MB base so that machines dont stop after a world reload --- .../multi/GT_MetaTileEntity_EM_computer.java | 1 + .../base/GT_MetaTileEntity_MultiblockBase_EM.java | 33 ++++++++++++++++++---- 2 files changed, 28 insertions(+), 6 deletions(-) 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 09995604aa..08eb16dd53 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 @@ -189,6 +189,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB super.loadNBTData(aNBT); if (availableData != null) { availableData.set(aNBT.getDouble("computation")); + eAvailableData = (long)availableData.get(); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java index b071196b14..8cd1b5a396 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java @@ -118,6 +118,12 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt // data required to operate protected long eRequiredData = 0; + // Counter for the computation timeout. Will be initialized one to the max time and then only decreased. + protected int eComputationTimeout = MAX_COMPUTATION_TIMEOUT; + + // Max timeout of computation in ticks + protected static int MAX_COMPUTATION_TIMEOUT = 40; + // storage for output EM that will be auto handled in case of failure to finish recipe // if you succed to use a recipe - be sure to output EM from outputEM to hatches in the output method protected EMInstanceStackMap[] outputEM; @@ -1214,20 +1220,24 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt public boolean onRunningTickCheck_EM(ItemStack aStack) { if (eRequiredData > eAvailableData) { - if (energyFlowOnRunningTick_EM(aStack, false)) { - stopMachine(); + if (!checkComputationTimeout()) { + if (energyFlowOnRunningTick_EM(aStack, false)) { + stopMachine(); + } + return false; } - return false; } return energyFlowOnRunningTick_EM(aStack, true); } public boolean onRunningTickCheck(ItemStack aStack) { if (eRequiredData > eAvailableData) { - if (energyFlowOnRunningTick(aStack, false)) { - stopMachine(); + if (!checkComputationTimeout()) { + if (energyFlowOnRunningTick(aStack, false)) { + stopMachine(); + } + return false; } - return false; } return energyFlowOnRunningTick(aStack, true); } @@ -2881,4 +2891,15 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return adder; } } + + /** Check if the computation timeout is still active + * + * @return True if the timeout is still active or false if the machine should fail + */ + protected boolean checkComputationTimeout() { + if (eComputationTimeout > 0) { + return --eComputationTimeout > 0; + } + return false; + } } -- cgit From 20b9395ab0804f18f17d876ab13cc4bb728107e7 Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Mon, 29 Aug 2022 10:12:46 +0200 Subject: Applied spotless --- .../thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 08eb16dd53..ad0fe07447 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 @@ -189,7 +189,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB super.loadNBTData(aNBT); if (availableData != null) { availableData.set(aNBT.getDouble("computation")); - eAvailableData = (long)availableData.get(); + eAvailableData = (long) availableData.get(); } } -- cgit From 9276a180d1c7514b38bfe72b8d40a3869a1980ab Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Thu, 1 Sep 2022 12:51:33 +0200 Subject: Increased timeout --- .../metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java index 8cd1b5a396..31e7d3e010 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java @@ -122,7 +122,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt protected int eComputationTimeout = MAX_COMPUTATION_TIMEOUT; // Max timeout of computation in ticks - protected static int MAX_COMPUTATION_TIMEOUT = 40; + protected static int MAX_COMPUTATION_TIMEOUT = 100; // storage for output EM that will be auto handled in case of failure to finish recipe // if you succed to use a recipe - be sure to output EM from outputEM to hatches in the output method -- cgit From 70e2d9c56a39b348ecb06aeacb82d21140d43da8 Mon Sep 17 00:00:00 2001 From: miozune Date: Sat, 3 Sep 2022 22:28:44 +0900 Subject: Use UEV SC for UEV Energy Hatch and Dynamo Hatch --- .../dreamcraft/DreamCraftRecipeLoader.java | 260 +++++++++++---------- 1 file changed, 134 insertions(+), 126 deletions(-) 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 ff5249c32a..20e4cc9814 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 @@ -2,6 +2,7 @@ package com.github.technus.tectech.compatibility.dreamcraft; import static com.github.technus.tectech.loader.recipe.BaseRecipeLoader.getOrDefault; +import com.github.technus.tectech.Reference; import com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry; import com.github.technus.tectech.recipe.TT_recipeAdder; import com.github.technus.tectech.thing.CustomItemList; @@ -293,53 +294,55 @@ public class DreamCraftRecipeLoader { 60 * 20, 8_000_000); - // Hypogen Coil - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Casing_Coil_Infinity.get(1), - 16_777_216 * 2, - 2048 * 2, - 32_000_000, - 1, - new Object[] { - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, - GT_OreDictUnificator.get("wireGt02Hypogen", 8L), - GT_ModHandler.getModItem("miscutils", "itemScrewHypogen", 8, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - }, - new FluidStack[] { - Materials.Infinity.getMolten(576), - }, - ItemList.Casing_Coil_Hypogen.get(1), - 60 * 20, - 8000000 * 4); + if (Loader.isModLoaded(Reference.GTPLUSPLUS)) { + // Hypogen Coil + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Casing_Coil_Infinity.get(1), + 16_777_216 * 2, + 2048 * 2, + 32_000_000, + 1, + new Object[] { + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + GT_OreDictUnificator.get("wireGt02Hypogen", 8L), + GT_ModHandler.getModItem("miscutils", "itemScrewHypogen", 8, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + }, + new FluidStack[] { + Materials.Infinity.getMolten(576), + }, + ItemList.Casing_Coil_Hypogen.get(1), + 60 * 20, + 8000000 * 4); - // Eternal coil - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Casing_Coil_Hypogen.get(1), - 16_777_216 * 4, - 8_192, - 128_000_000, - 1, - new Object[] { - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SpaceTime, 8), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 8), - GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 1L), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - }, - new FluidStack[] { - new FluidStack(FluidRegistry.getFluid("molten.hypogen"), 576), - }, - ItemList.Casing_Coil_Eternal.get(1), - 60 * 20, - 8_000_000 * 16); + // Eternal coil + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Casing_Coil_Hypogen.get(1), + 16_777_216 * 4, + 8_192, + 128_000_000, + 1, + new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SpaceTime, 8), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 8), + GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 1L), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + }, + new FluidStack[]{ + new FluidStack(FluidRegistry.getFluid("molten.hypogen"), 576), + }, + ItemList.Casing_Coil_Eternal.get(1), + 60 * 20, + 8_000_000 * 16); + } // Tesla Base GT_Values.RA.addAssemblerRecipe( @@ -2694,7 +2697,7 @@ public class DreamCraftRecipeLoader { 4, new Object[] { getItemContainer("Hull_UEV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUHV, 4L), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUEV, 2L), ItemList.Circuit_Chip_QPIC.get(4L), new Object[] {OrePrefixes.circuit.get(Materials.Bio), 2L}, ItemList.UHV_Coil.get(4L), @@ -2720,7 +2723,7 @@ public class DreamCraftRecipeLoader { 8, new Object[] { getItemContainer("Hull_UEV").get(1L), - GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Longasssuperconductornameforuhvwire, 16L), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUEVBase, 8L), ItemList.Circuit_Chip_QPIC.get(4L), new Object[] {OrePrefixes.circuit.get(Materials.Bio), 2L}, ItemList.UHV_Coil.get(4L), @@ -3382,85 +3385,87 @@ public class DreamCraftRecipeLoader { 4000, 1600000); - // MK4 Computer - TT_recipeAdder.addResearchableAssemblylineRecipe( - GregtechItemList.Compressed_Fusion_Reactor.get(1), - 320000, - 512, - 2000000, - 1, - new Object[] { - GregtechItemList.Casing_Fusion_Internal.get(1), - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Neutronium, 4), - ItemList.Field_Generator_UHV.get(2), - ItemList.Circuit_Wafer_QPIC.get(64), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Longasssuperconductornameforuhvwire, 32), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(50000), - ALLOY.CINOBITE.getFluidStack(9216), - ALLOY.OCTIRON.getFluidStack(9216), - ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(9216), - }, - GregtechItemList.FusionComputer_UV2.get(1), - 6000, - 2000000); + if (Loader.isModLoaded(Reference.GTPLUSPLUS)) { + // MK4 Computer + TT_recipeAdder.addResearchableAssemblylineRecipe( + GregtechItemList.Compressed_Fusion_Reactor.get(1), + 320000, + 512, + 2000000, + 1, + new Object[]{ + GregtechItemList.Casing_Fusion_Internal.get(1), + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Neutronium, 4), + ItemList.Field_Generator_UHV.get(2), + ItemList.Circuit_Wafer_QPIC.get(64), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Longasssuperconductornameforuhvwire, 32), + }, + new FluidStack[]{ + Materials.UUMatter.getFluid(50000), + ALLOY.CINOBITE.getFluidStack(9216), + ALLOY.OCTIRON.getFluidStack(9216), + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(9216), + }, + GregtechItemList.FusionComputer_UV2.get(1), + 6000, + 2000000); - // MK4 Coils - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Casing_Fusion_Coil.get(1L), - 160000, - 512, - 2000000, - 1, - new Object[] { - ItemList.Energy_LapotronicOrb2.get(16L), - new Object[] {OrePrefixes.circuit.get(Materials.Master), 16L}, - new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 8L}, - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), - ItemList.Emitter_UHV.get(1), - ItemList.Sensor_UHV.get(1), + // MK4 Coils + TT_recipeAdder.addResearchableAssemblylineRecipe( ItemList.Casing_Fusion_Coil.get(1L), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(8000L), - ALLOY.CINOBITE.getFluidStack(2304), - ALLOY.OCTIRON.getFluidStack(2304), - ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(2304), - }, - GregtechItemList.Casing_Fusion_Internal.get(1), - 1200, - 2000000); + 160000, + 512, + 2000000, + 1, + new Object[]{ + ItemList.Energy_LapotronicOrb2.get(16L), + new Object[]{OrePrefixes.circuit.get(Materials.Master), 16L}, + new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 8L}, + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), + ItemList.Emitter_UHV.get(1), + ItemList.Sensor_UHV.get(1), + ItemList.Casing_Fusion_Coil.get(1L), + }, + new FluidStack[]{ + Materials.UUMatter.getFluid(8000L), + ALLOY.CINOBITE.getFluidStack(2304), + ALLOY.OCTIRON.getFluidStack(2304), + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(2304), + }, + GregtechItemList.Casing_Fusion_Internal.get(1), + 1200, + 2000000); - // MK4 Casing - TT_recipeAdder.addResearchableAssemblylineRecipe( - ItemList.Casing_Fusion2.get(1L), - 80000, - 512, - 2000000, - 1, - new Object[] { - new Object[] {OrePrefixes.circuit.get(Materials.Data), 16L}, - new Object[] {OrePrefixes.circuit.get(Materials.Elite), 8L}, - GT_OreDictUnificator.get(OrePrefixes.block, Materials.TungstenCarbide, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), - ItemList.Electric_Motor_UHV.get(2), - ItemList.Electric_Piston_UHV.get(1), + // MK4 Casing + TT_recipeAdder.addResearchableAssemblylineRecipe( ItemList.Casing_Fusion2.get(1L), - }, - new FluidStack[] { - Materials.UUMatter.getFluid(1000L), - ALLOY.CINOBITE.getFluidStack(576), - ALLOY.OCTIRON.getFluidStack(576), - ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(576), - }, - GregtechItemList.Casing_Fusion_External.get(1), - 300, - 2000000); + 80000, + 512, + 2000000, + 1, + new Object[]{ + new Object[]{OrePrefixes.circuit.get(Materials.Data), 16L}, + new Object[]{OrePrefixes.circuit.get(Materials.Elite), 8L}, + GT_OreDictUnificator.get(OrePrefixes.block, Materials.TungstenCarbide, 8), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), + ItemList.Electric_Motor_UHV.get(2), + ItemList.Electric_Piston_UHV.get(1), + ItemList.Casing_Fusion2.get(1L), + }, + new FluidStack[]{ + Materials.UUMatter.getFluid(1000L), + ALLOY.CINOBITE.getFluidStack(576), + ALLOY.OCTIRON.getFluidStack(576), + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(576), + }, + GregtechItemList.Casing_Fusion_External.get(1), + 300, + 2000000); + } // Draconic Evolution Fusion Crafter Controller if (Loader.isModLoaded("AWWayofTime") && Loader.isModLoaded("EMT")) { @@ -4708,13 +4713,14 @@ public class DreamCraftRecipeLoader { Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null ? FluidRegistry.getFluid("molten.mutatedlivingsolder") : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid celestialTungsten = FluidRegistry.getFluid("molten.celestialtungsten"); int total_computation = 96_000; int comp_per_second = 128; int research_eu_per_tick = 8_000_000; int research_amperage = 1; - FluidStack fluid_0 = new FluidStack(FluidRegistry.getFluid("molten.celestialtungsten"), 576); + FluidStack fluid_0 = celestialTungsten != null ? new FluidStack(celestialTungsten, 576) : null; FluidStack fluid_1 = new FluidStack(mutated_living_solder, 2592); FluidStack fluid_2 = Materials.Lubricant.getFluid(4000); @@ -4948,14 +4954,16 @@ public class DreamCraftRecipeLoader { Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null ? FluidRegistry.getFluid("molten.mutatedlivingsolder") : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid hypogen = FluidRegistry.getFluid("molten.hypogen"); + Fluid celestialTungsten = FluidRegistry.getFluid("molten.celestialtungsten"); int total_computation = 192_000; int comp_per_second = 256; int research_eu_per_tick = 32_000_000; int research_amperage = 1; - FluidStack fluid_0 = new FluidStack(FluidRegistry.getFluid("molten.hypogen"), 576); - FluidStack fluid_1 = new FluidStack(FluidRegistry.getFluid("molten.celestialtungsten"), 576); + FluidStack fluid_0 = hypogen != null ? new FluidStack(hypogen, 576) : null; + FluidStack fluid_1 = celestialTungsten != null ? new FluidStack(celestialTungsten, 576) : null; FluidStack fluid_2 = new FluidStack(mutated_living_solder, 2592); FluidStack fluid_3 = Materials.Lubricant.getFluid(4000); -- cgit From 871f5981fe8f4c601010ede4a502ea1731c8b55f Mon Sep 17 00:00:00 2001 From: GitHub GTNH Actions <> Date: Sat, 3 Sep 2022 13:31:03 +0000 Subject: spotlessApply --- .../dreamcraft/DreamCraftRecipeLoader.java | 109 +++++++++++---------- 1 file changed, 55 insertions(+), 54 deletions(-) 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 20e4cc9814..458dff1685 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 @@ -324,20 +324,20 @@ public class DreamCraftRecipeLoader { 8_192, 128_000_000, 1, - new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SpaceTime, 8), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 8), - GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 1L), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), - GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + new Object[] { + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Nano, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SpaceTime, 8), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 8), + GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 1L), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), + GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), }, - new FluidStack[]{ - new FluidStack(FluidRegistry.getFluid("molten.hypogen"), 576), + new FluidStack[] { + new FluidStack(FluidRegistry.getFluid("molten.hypogen"), 576), }, ItemList.Casing_Coil_Eternal.get(1), 60 * 20, @@ -3393,22 +3393,23 @@ public class DreamCraftRecipeLoader { 512, 2000000, 1, - new Object[]{ - GregtechItemList.Casing_Fusion_Internal.get(1), - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Neutronium, 4), - ItemList.Field_Generator_UHV.get(2), - ItemList.Circuit_Wafer_QPIC.get(64), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Longasssuperconductornameforuhvwire, 32), + new Object[] { + GregtechItemList.Casing_Fusion_Internal.get(1), + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 1L}, + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Neutronium, 4), + ItemList.Field_Generator_UHV.get(2), + ItemList.Circuit_Wafer_QPIC.get(64), + GT_OreDictUnificator.get( + OrePrefixes.wireGt04, Materials.Longasssuperconductornameforuhvwire, 32), }, - new FluidStack[]{ - Materials.UUMatter.getFluid(50000), - ALLOY.CINOBITE.getFluidStack(9216), - ALLOY.OCTIRON.getFluidStack(9216), - ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(9216), + new FluidStack[] { + Materials.UUMatter.getFluid(50000), + ALLOY.CINOBITE.getFluidStack(9216), + ALLOY.OCTIRON.getFluidStack(9216), + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(9216), }, GregtechItemList.FusionComputer_UV2.get(1), 6000, @@ -3421,20 +3422,20 @@ public class DreamCraftRecipeLoader { 512, 2000000, 1, - new Object[]{ - ItemList.Energy_LapotronicOrb2.get(16L), - new Object[]{OrePrefixes.circuit.get(Materials.Master), 16L}, - new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 8L}, - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), - ItemList.Emitter_UHV.get(1), - ItemList.Sensor_UHV.get(1), - ItemList.Casing_Fusion_Coil.get(1L), + new Object[] { + ItemList.Energy_LapotronicOrb2.get(16L), + new Object[] {OrePrefixes.circuit.get(Materials.Master), 16L}, + new Object[] {OrePrefixes.circuit.get(Materials.Superconductor), 8L}, + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), + ItemList.Emitter_UHV.get(1), + ItemList.Sensor_UHV.get(1), + ItemList.Casing_Fusion_Coil.get(1L), }, - new FluidStack[]{ - Materials.UUMatter.getFluid(8000L), - ALLOY.CINOBITE.getFluidStack(2304), - ALLOY.OCTIRON.getFluidStack(2304), - ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(2304), + new FluidStack[] { + Materials.UUMatter.getFluid(8000L), + ALLOY.CINOBITE.getFluidStack(2304), + ALLOY.OCTIRON.getFluidStack(2304), + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(2304), }, GregtechItemList.Casing_Fusion_Internal.get(1), 1200, @@ -3447,20 +3448,20 @@ public class DreamCraftRecipeLoader { 512, 2000000, 1, - new Object[]{ - new Object[]{OrePrefixes.circuit.get(Materials.Data), 16L}, - new Object[]{OrePrefixes.circuit.get(Materials.Elite), 8L}, - GT_OreDictUnificator.get(OrePrefixes.block, Materials.TungstenCarbide, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), - ItemList.Electric_Motor_UHV.get(2), - ItemList.Electric_Piston_UHV.get(1), - ItemList.Casing_Fusion2.get(1L), + new Object[] { + new Object[] {OrePrefixes.circuit.get(Materials.Data), 16L}, + new Object[] {OrePrefixes.circuit.get(Materials.Elite), 8L}, + GT_OreDictUnificator.get(OrePrefixes.block, Materials.TungstenCarbide, 8), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), + ItemList.Electric_Motor_UHV.get(2), + ItemList.Electric_Piston_UHV.get(1), + ItemList.Casing_Fusion2.get(1L), }, - new FluidStack[]{ - Materials.UUMatter.getFluid(1000L), - ALLOY.CINOBITE.getFluidStack(576), - ALLOY.OCTIRON.getFluidStack(576), - ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(576), + new FluidStack[] { + Materials.UUMatter.getFluid(1000L), + ALLOY.CINOBITE.getFluidStack(576), + ALLOY.OCTIRON.getFluidStack(576), + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(576), }, GregtechItemList.Casing_Fusion_External.get(1), 300, -- cgit From 9eb28fde4cd5b7863c6c6970bccf5f3be3ee0cc7 Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Sat, 3 Sep 2022 22:30:04 +0200 Subject: Return ghost item instead of actual item to prevent dropping --- .../hatch/GT_MetaTileEntity_Hatch_InputDataItems.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java index fd6a72088f..6aae229159 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java @@ -201,7 +201,13 @@ public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Ha @Override public ItemStack getStackInSlot(int aIndex) { - return stacks != null && aIndex < stacks.length ? stacks[aIndex] : null; + if (stacks == null || aIndex >= stacks.length) { + return null; + } + // We return a stack with size 0 to prevent dropping when the hatch is broken + ItemStack stackCopy = stacks[aIndex].copy(); + stackCopy.stackSize = 0; + return stackCopy; } @Override -- cgit From d36b568f98bf28bd001e0b723f49c593807a3405 Mon Sep 17 00:00:00 2001 From: Raven Szewczyk Date: Tue, 6 Sep 2022 19:26:18 +0100 Subject: Don't change all non-whitelisted blocks' resistance to 5. --- .../github/technus/tectech/loader/MainLoader.java | 84 +++++----------------- 1 file changed, 19 insertions(+), 65 deletions(-) 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 042b184ea1..1cd0ee24cb 100644 --- a/src/main/java/com/github/technus/tectech/loader/MainLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/MainLoader.java @@ -1,10 +1,14 @@ package com.github.technus.tectech.loader; -import static com.github.technus.tectech.TecTech.*; +import static com.github.technus.tectech.TecTech.LOGGER; +import static com.github.technus.tectech.TecTech.configTecTech; +import static com.github.technus.tectech.TecTech.creativeTabEM; +import static com.github.technus.tectech.TecTech.creativeTabTecTech; +import static com.github.technus.tectech.TecTech.instance; +import static com.github.technus.tectech.TecTech.proxy; import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.transformations.AspectDefinitionCompat.aspectDefinitionCompat; import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.util.CommonValues.*; import static gregtech.api.enums.GT_Values.W; import com.github.technus.tectech.Reference; @@ -29,17 +33,14 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.em_collider.GT_Meta import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.ProgressManager; import cpw.mods.fml.common.network.NetworkRegistry; -import cpw.mods.fml.common.registry.GameData; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.GregTech_API; import gregtech.api.enums.Materials; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; -import java.util.Arrays; import java.util.Collection; import java.util.HashMap; -import java.util.HashSet; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; @@ -154,7 +155,7 @@ public final class MainLoader { if (!configTecTech.DISABLE_BLOCK_HARDNESS_NERF) { progressBarPostLoad.step("Nerf blocks blast resistance"); - fixBlocks(); + adjustTwilightBlockResistance(); TecTech.LOGGER.info("Blocks nerf done"); } else { progressBarPostLoad.step("Do not nerf blocks blast resistance"); @@ -309,65 +310,18 @@ public final class MainLoader { return 0; } - private static void fixBlocks() { - HashSet modIDs = new HashSet<>(Arrays.asList( - "minecraft", - "IC2", - "gregtech", - Reference.DREAMCRAFT, - Reference.GTPLUSPLUS, - "GT++DarkWorld", - "GalacticraftCore", - "GalacticraftMars", - "GalaxySpace", - "extracells", - "Avaritia", - "avaritiaddons", - "EnderStorage", - "enhancedportals", - "DraconicEvolution", - "IC2NuclearControl", - "IronChest", - "irontank", - "opensecurity", - "openmodularturrets", - "Railcraft", - "RIO", - "SGCraft", - "appliedenergistics2", - "thaumicenergistics", - "witchery", - "lootgames", - "utilityworlds", - Reference.MODID)); - for (Block block : GameData.getBlockRegistry().typeSafeIterable()) { - GameRegistry.UniqueIdentifier uniqueIdentifier = GameRegistry.findUniqueIdentifierFor(block); - if (uniqueIdentifier != null) { - if (block.blockHardness < 0 || modIDs.contains(uniqueIdentifier.modId)) { - continue; - } else if ("OpenBlocks".equals(uniqueIdentifier.modId)) { - if ("grave".equals(uniqueIdentifier.name)) { - continue; - } - } else if ("TwilightForest".equals(uniqueIdentifier.modId)) { - if ("tile.TFShield".equals(uniqueIdentifier.name)) { - block.setResistance(30); - continue; - } else if ("tile.TFThorns".equals(uniqueIdentifier.name)) { - block.setResistance(10); - continue; - } else if ("tile.TFTowerTranslucent".equals(uniqueIdentifier.name)) { - block.setResistance(30); - continue; - } else if ("tile.TFDeadrock".equals(uniqueIdentifier.name)) { - block.setResistance(5); - continue; - } else { - continue; - } - } - } - block.setResistance(5); + private static void safeSetResistance(Block block, float resistance) { + if (block != null) { + block.setResistance(resistance); + } + } + + private static void adjustTwilightBlockResistance() { + if (Loader.isModLoaded("TwilightForest")) { + safeSetResistance(GameRegistry.findBlock("TwilightForest", "tile.TFShield"), 30); + safeSetResistance(GameRegistry.findBlock("TwilightForest", "tile.TFThorns"), 10); + safeSetResistance(GameRegistry.findBlock("TwilightForest", "tile.TFTowerTranslucent"), 30); + safeSetResistance(GameRegistry.findBlock("TwilightForest", "tile.TFDeadrock"), 5); } } } -- cgit From 9cf87eed0770c3dc544f0400f84bba636fe7102e Mon Sep 17 00:00:00 2001 From: GDCloud Date: Wed, 7 Sep 2022 00:56:41 +0200 Subject: Change MAX to quantum circuits --- .../tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 458dff1685..c17ff1a8e4 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 @@ -5248,7 +5248,7 @@ public class DreamCraftRecipeLoader { new Object[] {OrePrefixes.circuit.get(Materials.Nano), 1L}, // UIV new Object[] {OrePrefixes.circuit.get(Materials.Piko), 1L}, // UMV new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 1L}, // UXV - new Object[] {OrePrefixes.circuit.get(Materials.Transcendent), 1L}, // MAX + new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 4L}, // MAX (Technically not MAX, can be changed once MAX circuits become craftable) }; ItemStack[] wireless_hatches = { -- cgit From a2f9779c0e4133d90c98950fc2fd00c7d406ee95 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Wed, 7 Sep 2022 14:01:55 +0200 Subject: BS+Spotless --- .../tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 c17ff1a8e4..42b3ac8d77 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 @@ -5248,7 +5248,8 @@ public class DreamCraftRecipeLoader { new Object[] {OrePrefixes.circuit.get(Materials.Nano), 1L}, // UIV new Object[] {OrePrefixes.circuit.get(Materials.Piko), 1L}, // UMV new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 1L}, // UXV - new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 4L}, // MAX (Technically not MAX, can be changed once MAX circuits become craftable) + new Object[] {OrePrefixes.circuit.get(Materials.Quantum), 4L + }, // MAX (Technically not MAX, can be changed once MAX circuits become craftable) }; ItemStack[] wireless_hatches = { -- cgit From 253de794798e4c4c8b0657cc74428894504bb962 Mon Sep 17 00:00:00 2001 From: GDCloud Date: Tue, 13 Sep 2022 17:25:25 +0200 Subject: Fix dense plates --- .../tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 42b3ac8d77..b92e8902b5 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 @@ -3073,8 +3073,8 @@ public class DreamCraftRecipeLoader { GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 64L), GT_OreDictUnificator.get(OrePrefixes.block, Materials.SpaceTime, 16L), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Quantum, 16L), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.SpaceTime, 16L), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 16L), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.SpaceTime, 8L), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 8L), ItemList.Sensor_UMV.get(16L), ItemList.Emitter_UMV.get(16L), GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 16L) -- cgit From 3ab331831e38f697ff29a1e283e7373ac228047c Mon Sep 17 00:00:00 2001 From: GDCloud Date: Tue, 13 Sep 2022 17:48:40 +0200 Subject: Split to two slots --- .../tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java | 2 ++ 1 file changed, 2 insertions(+) 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 b92e8902b5..1aba05e492 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 @@ -3074,6 +3074,8 @@ public class DreamCraftRecipeLoader { GT_OreDictUnificator.get(OrePrefixes.block, Materials.SpaceTime, 16L), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Quantum, 16L), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.SpaceTime, 8L), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.SpaceTime, 8L), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 8L), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 8L), ItemList.Sensor_UMV.get(16L), ItemList.Emitter_UMV.get(16L), -- cgit From 3d8d5a733d90dffb504d7b08688bb02df9cc299a Mon Sep 17 00:00:00 2001 From: "[Kiwi233]" <42833050+Kiwi233@users.noreply.github.com> Date: Sat, 24 Sep 2022 23:07:19 +0800 Subject: Update zh_CN.lang --- src/main/resources/assets/tectech/lang/zh_CN.lang | 149 +++++++++++++++------- 1 file changed, 102 insertions(+), 47 deletions(-) diff --git a/src/main/resources/assets/tectech/lang/zh_CN.lang b/src/main/resources/assets/tectech/lang/zh_CN.lang index 870998d56a..dd32b7a6ec 100644 --- a/src/main/resources/assets/tectech/lang/zh_CN.lang +++ b/src/main/resources/assets/tectech/lang/zh_CN.lang @@ -78,7 +78,7 @@ item.tm.itemTeslaComponent.1.name=超导特斯拉绕组 item.tm.itemTeslaComponent.desc=特斯拉需要这些! item.tm.teslaCover.0.name=特斯拉线圈帽 -item.tm.teslaCover.1.name=加强特斯拉线圈帽 +item.tm.teslaCover.1.name=豪华特斯拉线圈帽 item.tm.teslaCover.desc.0=特斯拉使能机器! item.tm.teslaCover.desc.1=特斯拉使能机器! (但非常吵!!) item.tm.teslaCover.desc.2=把这个破碎的东西浸入某种辛辣的水中! @@ -539,16 +539,20 @@ gt.blockcasingsBA0.8.desc.1=谁不想要32k的环氧树脂? #Multiblocks gt.blockmachines.multimachine.em.transformer.name=有源变压器 gt.blockmachines.multimachine.em.transformer.hint=1 - 能源仓、动力仓或超能机械方块 -gt.blockmachines.multimachine.em.transformer.desc.0=变电站 +gt.blockmachines.multimachine.em.transformer.desc.0=有源变压器的控制器方块 gt.blockmachines.multimachine.em.transformer.desc.1=任意电压间的相互转换! gt.blockmachines.multimachine.em.transformer.desc.2=只有0.004%的能量损失, HAYO! +gt.blockmachines.multimachine.em.transformer.desc.3=运行时被破坏会发生爆炸 gt.blockmachines.multimachine.tm.microwave.name=微波发生仪 gt.blockmachines.multimachine.tm.microwave.hint.0=1 - 基础仓室或洁净不锈钢机械方块 gt.blockmachines.multimachine.tm.microwave.hint.1=也像个漏斗,所以给它个输出总线吧 -gt.blockmachines.multimachine.tm.microwave.desc.0=高频烤炉 -gt.blockmachines.multimachine.tm.microwave.desc.1=从生物到食物,只在转瞬之间! -gt.blockmachines.multimachine.tm.microwave.desc.2=我说用核弹...我的意思是把晚餐放进微波炉! +gt.blockmachines.multimachine.tm.microwave.desc.0=微波发生仪的控制器方块 +gt.blockmachines.multimachine.tm.microwave.desc.1=机器启动时开启一个计时器 +gt.blockmachines.multimachine.tm.microwave.desc.2=计时器运行时, 机器中的一切都会受到伤害 +gt.blockmachines.multimachine.tm.microwave.desc.3=机器也会自动收集内部掉落物 +gt.blockmachines.multimachine.tm.microwave.desc.4=可通过参数仪进行配置 +gt.blockmachines.multimachine.tm.microwave.desc.5=(别塞只凋灵进去) gt.blockmachines.multimachine.tm.microwave.cfgi.0=功率设置 gt.blockmachines.multimachine.tm.microwave.cfgi.1=时间设置 gt.blockmachines.multimachine.tm.microwave.cfgo.0=时间 @@ -557,9 +561,11 @@ gt.blockmachines.multimachine.tm.microwave.cfgo.1=剩余时间 gt.blockmachines.multimachine.tm.teslaCoil.name=特斯拉电塔 gt.blockmachines.multimachine.tm.teslaCoil.hint.0=1 - 基础仓室, 电容仓或特斯拉基座机械方块 gt.blockmachines.multimachine.tm.teslaCoil.hint.1=2 - 钛框架 -gt.blockmachines.multimachine.tm.teslaCoil.desc.0=无线电源塔 -gt.blockmachines.multimachine.tm.teslaCoil.desc.1=讨厌的线缆不见啦! -gt.blockmachines.multimachine.tm.teslaCoil.desc.2=可能会影响生存几率 +gt.blockmachines.multimachine.tm.teslaCoil.desc.0=特斯拉电塔的控制器方块 +gt.blockmachines.multimachine.tm.teslaCoil.desc.1=用于向特斯拉线圈帽和特斯拉收发器传输电力 +gt.blockmachines.multimachine.tm.teslaCoil.desc.2=可加入氦/氮/氡等离子体增大范围 +gt.blockmachines.multimachine.tm.teslaCoil.desc.3=传输电压取决于使用的特斯拉电容等级 +gt.blockmachines.multimachine.tm.teslaCoil.desc.4=需要至少与特斯拉电容相同等级的初级特斯拉绕组 gt.blockmachines.multimachine.tm.teslaCoil.cfgi.0=迟滞低设置 gt.blockmachines.multimachine.tm.teslaCoil.cfgi.1=迟滞高设置 gt.blockmachines.multimachine.tm.teslaCoil.cfgi.2=特斯拉电塔传输半径设置 @@ -582,8 +588,10 @@ gt.blockmachines.multimachine.tm.teslaCoil.cfgo.8=扫描时间显示 gt.blockmachines.multimachine.em.switch.name=QoS网络交换机 gt.blockmachines.multimachine.em.switch.hint=1 - 基础仓室、光学接口或电子计算机机械方块 -gt.blockmachines.multimachine.em.switch.desc.0=用户控制的计算力路由 -gt.blockmachines.multimachine.em.switch.desc.1=服务质量是必须的 +gt.blockmachines.multimachine.em.switch.desc.0=QoS网络交换机的控制器方块 +gt.blockmachines.multimachine.em.switch.desc.1=用于路由和分发算力 +gt.blockmachines.multimachine.em.switch.desc.2=需要通过参数仪进行配置 + gt.blockmachines.multimachine.em.computer.name=量子计算机 gt.blockmachines.multimachine.em.computer.hint.0=1 - 基础仓室、光学接口或电子计算机机械方块 @@ -593,62 +601,67 @@ gt.blockmachines.multimachine.em.computer.cfgi.0=超频比 gt.blockmachines.multimachine.em.computer.cfgi.1=过压比 gt.blockmachines.multimachine.em.computer.cfgo.0=当前最大热量 gt.blockmachines.multimachine.em.computer.cfgo.1=生成算力 +gt.blockmachines.multimachine.em.computer.desc.0=量子计算机的控制器方块 +gt.blockmachines.multimachine.em.computer.desc.1=用于生成算力(以及热量) gt.blockmachines.multimachine.em.databank.name=数据库 gt.blockmachines.multimachine.em.databank.hint.0=1 - 基础仓室或超能机械方块 gt.blockmachines.multimachine.em.databank.hint.1=2 - 数据访问仓、数据库主接口或电子计算机械方块 -gt.blockmachines.multimachine.em.databank.desc.0=远程装配数据传递 -gt.blockmachines.multimachine.em.databank.desc.1=直接应用于前部 +gt.blockmachines.multimachine.em.databank.desc.0=数据库的控制器方块 +gt.blockmachines.multimachine.em.databank.desc.1=为装配线提供更多闪存 +gt.blockmachines.multimachine.em.databank.desc.2=还可使多条装配线访问同一闪存 gt.blockmachines.multimachine.em.junction.name=物质流枢纽 gt.blockmachines.multimachine.em.junction.hint.0=1 - 基础仓室或超能机械方块 gt.blockmachines.multimachine.em.junction.hint.1=2 - 元物质输入/出仓或分子机械方块 -gt.blockmachines.multimachine.em.junction.desc.0=中转物质流 -gt.blockmachines.multimachine.em.junction.desc.1=沿轴运动! +gt.blockmachines.multimachine.em.junction.desc.0=物质流枢纽的控制器方块 +gt.blockmachines.multimachine.em.junction.desc.1=用于路由和分配元物质 +gt.blockmachines.multimachine.em.junction.desc.2=需要通过参数仪进行配置 gt.blockmachines.multimachine.em.mattertoem.name=物质量子化仪 gt.blockmachines.multimachine.em.mattertoem.hint.0=1 - 基础仓室或超能机械方块 gt.blockmachines.multimachine.em.mattertoem.hint.1=2 - 元物质输出仓 gt.blockmachines.multimachine.em.mattertoem.hint.2=3 - 元物质溢流仓或分子机械方块 -gt.blockmachines.multimachine.em.mattertoem.desc.0=方便地将常规物品转换为量子形态 -gt.blockmachines.multimachine.em.mattertoem.desc.1=使得它们更...不方便 +gt.blockmachines.multimachine.em.mattertoem.desc.0=物质量子化仪的控制器方块 +gt.blockmachines.multimachine.em.mattertoem.desc.1=将物品转化为它们的元素形态 gt.blockmachines.multimachine.em.emtomatter.name=物质反量子化仪 gt.blockmachines.multimachine.em.emtomatter.hint.0=1 - 基础仓室或超能机械方块 gt.blockmachines.multimachine.em.emtomatter.hint.1=2 - 元物质输入仓 gt.blockmachines.multimachine.em.emtomatter.hint.2=3 - 元物质溢流仓或分子机械方块 -gt.blockmachines.multimachine.em.emtomatter.desc.0=将量子转化回 -gt.blockmachines.multimachine.em.emtomatter.desc.1=它们的常规形态...但为什么要这么做? +gt.blockmachines.multimachine.em.emtomatter.desc.0=物质反量子化仪的控制器方块 +gt.blockmachines.multimachine.em.emtomatter.desc.1=将元物质还原为常规物品形态 gt.blockmachines.multimachine.em.emtoessentia.name=源质反量子化仪 gt.blockmachines.multimachine.em.emtoessentia.hint.0=1 - 基础仓室或超能机械方块 gt.blockmachines.multimachine.em.emtoessentia.hint.1=2 - 元物质输入仓 gt.blockmachines.multimachine.em.emtoessentia.hint.2=3 - 元物质溢流仓或分子机械方块 gt.blockmachines.multimachine.em.emtoessentia.hint.3=通用 - 某种源质的储存方块 -gt.blockmachines.multimachine.em.emtoessentia.desc.0=将量子转化回 -gt.blockmachines.multimachine.em.emtoessentia.desc.1=它们的常规形态...但为什么要这么做? +gt.blockmachines.multimachine.em.emtoessentia.desc.0=源质反量子化仪的控制器方块 +gt.blockmachines.multimachine.em.emtoessentia.desc.1=将元物质还原为源质形态 gt.blockmachines.multimachine.em.essentiatoem.name=源质量子化仪 gt.blockmachines.multimachine.em.essentiatoem.hint.0=1 - 基础仓室或超能机械方块 gt.blockmachines.multimachine.em.essentiatoem.hint.1=2 - 元物质输出仓 gt.blockmachines.multimachine.em.essentiatoem.hint.2=3 - 元物质溢流仓或分子机械方块 gt.blockmachines.multimachine.em.essentiatoem.hint.3=通用 - 某种源质的储存方块 -gt.blockmachines.multimachine.em.essentiatoem.desc.0=方便地将常规物品转换为量子形态 -gt.blockmachines.multimachine.em.essentiatoem.desc.1=使得它们更...不方便 +gt.blockmachines.multimachine.em.essentiatoem.desc.0=源质量子化仪的控制器方块 +gt.blockmachines.multimachine.em.essentiatoem.desc.1=将源质转化为它们的元素形态 gt.blockmachines.multimachine.em.scanner.name=元物质扫描仪 gt.blockmachines.multimachine.em.scanner.hint.0=1 - 基础仓室或超能机械方块 gt.blockmachines.multimachine.em.scanner.hint.1=2 - 元物质输入仓或分子机械方块 gt.blockmachines.multimachine.em.scanner.hint.2=3 - 元物质输出仓或分子机械方块 gt.blockmachines.multimachine.em.scanner.hint.3=4 - 元物质溢流仓或分子机械方块 -gt.blockmachines.multimachine.em.scanner.desc.0=它是如何存在的? -gt.blockmachines.multimachine.em.scanner.desc.1=我!不!知!道!(至少暂时是这样) +gt.blockmachines.multimachine.em.scanner.desc.0=元物质扫描仪的控制器方块 gt.blockmachines.multimachine.em.research.name=研究站 gt.blockmachines.multimachine.em.research.hint.0=1 - 基础仓室、光学接口或电子计算机械方块 gt.blockmachines.multimachine.em.research.hint.1=2 - 物品固定容器 -gt.blockmachines.multimachine.em.research.desc.0=哲学家们甚至... -gt.blockmachines.multimachine.em.research.desc.1=从来不曾梦见它! +gt.blockmachines.multimachine.em.research.desc.0=研究站的控制器方块 +gt.blockmachines.multimachine.em.research.desc.1=用于扫描物品, 生成装配线配方闪存 +gt.blockmachines.multimachine.em.research.desc.2=需要为其提供算力 +gt.blockmachines.multimachine.em.research.desc.3=在完成闪存写入之前不会消耗物品 gt.blockmachines.multimachine.em.collider.name=物质对撞机 gt.blockmachines.multimachine.em.collider.hint.0=1 - 基础仓室或超能机械方块 @@ -656,62 +669,64 @@ gt.blockmachines.multimachine.em.collider.hint.1=2 - 元物质输入仓或分子 gt.blockmachines.multimachine.em.collider.hint.2=3 - 元物质输出仓或分子机械方块 gt.blockmachines.multimachine.em.collider.hint.3=4 - 元物质溢流仓或分子机械方块 gt.blockmachines.multimachine.em.collider.hint.4=通用 - 另一个控制器面向相反的方向 -gt.blockmachines.multimachine.em.collider.desc.0=以极高的速度使物质相碰撞 -gt.blockmachines.multimachine.em.collider.desc.1=比光*还快!!! +gt.blockmachines.multimachine.em.collider.desc.0=物质对撞机的控制器方块 +gt.blockmachines.multimachine.em.collider.desc.1=需要一台镜像机器方可正常工作 +gt.blockmachines.multimachine.em.collider.desc.2=一台设为 '聚变模式', 另一台设为 '对撞模式' +gt.blockmachines.multimachine.em.collider.desc.3=将两种元物质聚变, 产生另一种元物质(以及能量) gt.blockmachines.multimachine.em.collider.mode.0=模式:聚变 gt.blockmachines.multimachine.em.collider.mode.1=模式:对撞 gt.blockmachines.multimachine.em.collider.mode.2=模式:未定义 gt.blockmachines.multimachine.em.collider.mode.3=从属于其他控制器 +gt.blockmachines.multimachine.em.collider.Structure.AdditionalCollider=需要与之镜像的另一台物质对撞机 gt.blockmachines.multimachine.em.infuser.name=能量注入仪 gt.blockmachines.multimachine.em.infuser.hint=1 - 基础仓室或超能机械方块 -gt.blockmachines.multimachine.em.infuser.desc.0=急速的能量转移! -gt.blockmachines.multimachine.em.infuser.desc.1=瞬间满电! -gt.blockmachines.multimachine.em.infuser.desc.2=但坏掉的时候不会工作! -gt.blockmachines.multimachine.em.infuser.desc.3=以及你需要考虑一下损耗... +gt.blockmachines.multimachine.em.infuser.desc.0=能量注入仪的控制器方块 +gt.blockmachines.multimachine.em.infuser.desc.1=可用于为物品充电(无损) +gt.blockmachines.multimachine.em.infuser.desc.2=提供UU物质可修复物品 +gt.blockmachines.multimachine.em.infuser.Structure.HighPowerCasing=第1、5层 +gt.blockmachines.multimachine.em.infuser.Structure.MolecularCoil=第2、4层 +gt.blockmachines.multimachine.em.infuser.Structure.MolecularCasing=第3层(中空) + gt.blockmachines.multimachine.em.processing.name=量子加工机 gt.blockmachines.multimachine.em.processing.hint.0=1 - 基础仓室或超能机械方块 gt.blockmachines.multimachine.em.processing.hint.1=2 - 元物质输入/出仓或分子机械方块 -gt.blockmachines.multimachine.em.processing.desc.0=从你最启用它开始... -gt.blockmachines.multimachine.em.processing.desc.1=为你处理量子物质 +gt.blockmachines.multimachine.em.processing.desc.0=量子加工机的控制器方块 gt.blockmachines.multimachine.em.crafter.name=物质组装机 gt.blockmachines.multimachine.em.crafter.hint.0=1 - 基础仓室或超能机械方块 gt.blockmachines.multimachine.em.crafter.hint.1=2 - 元物质输入/出仓或分子机械方块 -gt.blockmachines.multimachine.em.crafter.desc.0=以最精确的方法制造物品。 -gt.blockmachines.multimachine.em.crafter.desc.1=(跨过普朗克尺度的过程) +gt.blockmachines.multimachine.em.crafter.desc.0=物质组装机的控制器方块 gt.blockmachines.multimachine.em.stabilizer.name=元物质稳定器 gt.blockmachines.multimachine.em.stabilizer.hint.0=1 - 基础仓室或超能机械方块 gt.blockmachines.multimachine.em.stabilizer.hint.1=2 - 元物质输入/出仓或分子机械方块 -gt.blockmachines.multimachine.em.stabilizer.desc.0=扭曲时间以稳定物质 -gt.blockmachines.multimachine.em.stabilizer.desc.1=Wibbly wobbly timey wimey stuff.(欣赏原文吧,表示给跪了,大意是时空摇摆不定) +gt.blockmachines.multimachine.em.stabilizer.desc.0=元物质稳定器的控制器方块 gt.blockmachines.multimachine.em.wormhole.name=虫洞 gt.blockmachines.multimachine.em.wormhole.hint.0=1 - 基础仓室或超能机械方块 gt.blockmachines.multimachine.em.wormhole.hint.1=2 - 元物质输入/出仓或分子机械方块 -gt.blockmachines.multimachine.em.wormhole.desc.0=它并没有充满虫子。 -gt.blockmachines.multimachine.em.wormhole.desc.1=它充满了反虫子!!! +gt.blockmachines.multimachine.em.wormhole.desc.0=虫洞的控制器方块 -gt.blockmachines.multimachine.em.decay.name=衰变发生器 +gt.blockmachines.multimachine.em.decay.name=衰变发电机 gt.blockmachines.multimachine.em.decay.hint.0=1 - 基础仓室或超能机械方块 gt.blockmachines.multimachine.em.decay.hint.1=2 - 元物质输入/出仓或分子机械方块 -gt.blockmachines.multimachine.em.decay.desc.0=它的周期太长了吗? -gt.blockmachines.multimachine.em.decay.desc.1=那么就用它的半衰期(3)代替! +gt.blockmachines.multimachine.em.decay.desc.0=衰变发电机的控制器方块 +gt.blockmachines.multimachine.em.decay.desc.1=通过元物质衰变产生能量 + gt.blockmachines.multimachine.em.decay.conf=分流器 gt.blockmachines.multimachine.em.annihilation.name=湮灭发电机 gt.blockmachines.multimachine.em.annihilation.hint.0=1 - 基础仓室或超能机械方块 gt.blockmachines.multimachine.em.annihilation.hint.1=2 - 元物质输入/出仓或分子机械方块 -gt.blockmachines.multimachine.em.annihilation.desc.0=物质和反物质并不是那么喜欢对方。 -gt.blockmachines.multimachine.em.annihilation.desc.1=质能转换! +gt.blockmachines.multimachine.em.annihilation.desc.0=湮灭发电机的控制器方块 gt.blockmachines.multimachine.em.blackholegenerator.name=黑洞发生器 gt.blockmachines.multimachine.em.blackholegenerator.hint.0=1 - 基础仓室或超能机械方块 gt.blockmachines.multimachine.em.blackholegenerator.hint.1=2 - 元物质输入/出仓或分子机械方块 -gt.blockmachines.multimachine.em.blackholegenerator.desc.0=基于奇点的能量获取 -gt.blockmachines.multimachine.em.blackholegenerator.desc.1=极端不稳定!!! +gt.blockmachines.multimachine.em.blackholegenerator.desc.0=黑洞发生器的控制器方块 +gt.blockmachines.multimachine.em.blackholegenerator.desc.1=使用一颗黑洞产生能量 #Pipes gt.blockmachines.pipe.elementalmatter.name=量子隧道 @@ -792,6 +807,46 @@ gt.blockmachines.debug.tt.writer.desc.2=ABC轴沿机器正面确定 tt.keyword.ID=ID #Example: 32EU at 1A tt.keyword.at= +# Structure is too complex +tt.keyword.Structure.StructureTooComplex=结构太复杂了! +# Any X +tt.keyword.Structure.AnyComputerCasing=任意电子计算机械方块 +tt.keyword.Structure.AnyHighPowerCasing=任意超能机械方块 +tt.keyword.Structure.AnyHighPowerCasing1D=任意提示方块:1号的超能机械方块 +tt.keyword.Structure.AnyHighPowerCasing2D=任意提示方块:2号的超能机械方块 +tt.keyword.Structure.AnyHighPowerCasingFront=任意正面超能机械方块 +tt.keyword.Structure.AnyTeslaBaseCasingOuter=任意外侧特斯拉基座机械方块 +tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice=任意最前或最后一片电子计算机械方块 +tt.keyword.Structure.AnyComputerCasingBackMain=任意主体背面电子计算机械方块 +tt.keyword.Structure.AnyAdvComputerCasingExceptOuter=除外部的任意进阶电子计算机械方块 +tt.keyword.Structure.AnyMolecularCasing=任意分子机械方块 +tt.keyword.Structure.AnyMolecularCasing2D=任意提示方块:2号分子机械方块 +tt.keyword.Structure.AnyMolecularCasing3D=任意提示方块:3号分子机械方块 +tt.keyword.Structure.AnyMolecularCasing4D=任意提示方块:4号分子机械方块 +tt.keyword.Structure.AnyOuterMolecularCasing3rd=任意第3片外侧分子机械方块 +tt.keyword.Structure.AnyOuterMolecularCasing4th=任意第4片外侧分子机械方块 +tt.keyword.Structure.AnyOuterMolecularCasing3rd4th=任意第3/4片外侧分子机械方块 +tt.keyword.Structure.AnyOuterCasingOnBottom=任意底层外侧机械方块 +# Optional +tt.keyword.Structure.Optional=(可选) +# Placement specification +tt.keyword.Structure.FrontCenter=正面中央 +tt.keyword.Structure.BackCenter=背面中央 +tt.keyword.Structure.SideCenter=侧面中央 +tt.keyword.Structure.FrontCenter3rd=正面第三层中央 +tt.keyword.Structure.CenterPillar=正面立柱中央 +tt.keyword.Structure.Center=中央 +# Additional structure components +tt.keyword.Structure.DataAccessHatch=数据访问仓 +tt.keyword.Structure.ElementalOutput=元物质输出仓 +tt.keyword.Structure.Elemental=元物质仓 +tt.keyword.Structure.ElementalOverflow=元物质溢流仓 +tt.keyword.Structure.ElementalInput=元物质输入仓 +tt.keyword.Structure.EssentiaStorage=源质存储装置 +tt.keyword.Structure.DataConnector=光学接口 +tt.keyword.Structure.SuperconductingCoilBlock=超导线圈方块 +tt.keyword.Structure.StainlessSteelCasing=不锈钢机械方块 + tt.keyphrase.Hint_Details=提示细节 -- cgit From ad812620188d70b41a0b5651305eca3655ebe429 Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Sat, 24 Sep 2022 21:17:55 +0200 Subject: Added start and end processing calls like in the regulat MB base class, which will properly update the stocking input bus --- .../metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java index 31e7d3e010..bc5cece66c 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java @@ -1143,7 +1143,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt @Override public final boolean checkRecipe(ItemStack itemStack) { // do recipe checks, based on "machine content and state" hatchesStatusUpdate_EM(); + startRecipeProcessing(); boolean result = checkRecipe_EM(itemStack); // if had no - set default params + endRecipeProcessing(); hatchesStatusUpdate_EM(); return result; } -- cgit From 184e693e70d5f0bce22e5d27d79d67114b530e89 Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Mon, 26 Sep 2022 13:44:02 +0200 Subject: Added start and end processing call to infuser to sync ME bus --- .../thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java index 65ebff7a6e..d7159ab682 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java @@ -182,6 +182,7 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa @Override public void outputAfterRecipe_EM() { boolean itemProcessed = false; + startRecipeProcessing(); for (GT_MetaTileEntity_Hatch_InputBus inputBus : mInputBusses) { if (inputBus.mInventory != null) { for (ItemStack itemStackInBus : inputBus.mInventory) { @@ -228,6 +229,7 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa } } } + endRecipeProcessing(); if (!itemProcessed) { afterRecipeCheckFailed(); } -- cgit From 3a285d2058fdb070076f9cc83c4ffb2eca4e5a31 Mon Sep 17 00:00:00 2001 From: miozune Date: Mon, 26 Sep 2022 23:13:14 +0900 Subject: Allow any of 360k coolant for UHV Energy Hatch / Dynamo Hatch --- .../dreamcraft/DreamCraftRecipeLoader.java | 96 ++++++++++++++++++---- 1 file changed, 80 insertions(+), 16 deletions(-) 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 1aba05e492..efc2dfaa7d 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 @@ -2640,14 +2640,46 @@ public class DreamCraftRecipeLoader { ItemList.Circuit_Chip_QPIC.get(2L), new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 2L}, ItemList.UHV_Coil.get(2L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), + new ItemStack[] { + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_NaK_6.get(1L), + ItemList.Reactor_Coolant_Sp_2.get(1L) + }, + new ItemStack[] { + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_NaK_6.get(1L), + ItemList.Reactor_Coolant_Sp_2.get(1L) + }, + new ItemStack[] { + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_NaK_6.get(1L), + ItemList.Reactor_Coolant_Sp_2.get(1L) + }, + new ItemStack[] { + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_NaK_6.get(1L), + ItemList.Reactor_Coolant_Sp_2.get(1L) + }, + new ItemStack[] { + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_NaK_6.get(1L), + ItemList.Reactor_Coolant_Sp_2.get(1L) + }, + new ItemStack[] { + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_NaK_6.get(1L), + ItemList.Reactor_Coolant_Sp_2.get(1L) + }, + new ItemStack[] { + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_NaK_6.get(1L), + ItemList.Reactor_Coolant_Sp_2.get(1L) + }, + new ItemStack[] { + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_NaK_6.get(1L), + ItemList.Reactor_Coolant_Sp_2.get(1L) + }, ItemList.Electric_Pump_UHV.get(1L) }, new FluidStack[] { @@ -2670,14 +2702,46 @@ public class DreamCraftRecipeLoader { ItemList.Circuit_Chip_QPIC.get(2L), new Object[] {OrePrefixes.circuit.get(Materials.Infinite), 2L}, ItemList.UHV_Coil.get(2L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), - ItemList.Reactor_Coolant_He_6.get(1L), + new ItemStack[] { + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_NaK_6.get(1L), + ItemList.Reactor_Coolant_Sp_2.get(1L) + }, + new ItemStack[] { + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_NaK_6.get(1L), + ItemList.Reactor_Coolant_Sp_2.get(1L) + }, + new ItemStack[] { + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_NaK_6.get(1L), + ItemList.Reactor_Coolant_Sp_2.get(1L) + }, + new ItemStack[] { + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_NaK_6.get(1L), + ItemList.Reactor_Coolant_Sp_2.get(1L) + }, + new ItemStack[] { + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_NaK_6.get(1L), + ItemList.Reactor_Coolant_Sp_2.get(1L) + }, + new ItemStack[] { + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_NaK_6.get(1L), + ItemList.Reactor_Coolant_Sp_2.get(1L) + }, + new ItemStack[] { + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_NaK_6.get(1L), + ItemList.Reactor_Coolant_Sp_2.get(1L) + }, + new ItemStack[] { + ItemList.Reactor_Coolant_He_6.get(1L), + ItemList.Reactor_Coolant_NaK_6.get(1L), + ItemList.Reactor_Coolant_Sp_2.get(1L) + }, ItemList.Electric_Pump_UHV.get(1L) }, new FluidStack[] { -- cgit From 2e9f239d38c92f2fb1f70e449788a4c67159b352 Mon Sep 17 00:00:00 2001 From: GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com> Date: Tue, 27 Sep 2022 14:59:08 +0100 Subject: Fix text going off screen --- .../java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java index b729ebdfc8..f9fd0bc22f 100644 --- a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java +++ b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java @@ -228,7 +228,7 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { drawText( 10, 73, - trans("152", "Max Total: ") + trans("152", "Max EU: ") + GT_Utility.formatNumbers( (1 + (computation - minComputationPerSec) / minComputationPerSec) * (long) tEUt -- cgit From 9c6b92ab95bc145873a1018e8d56aa0585e63819 Mon Sep 17 00:00:00 2001 From: iouter <3155186831@qq.com> Date: Fri, 30 Sep 2022 11:56:17 +0800 Subject: no-more-duplicate-key --- .../java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java | 2 +- src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java index f9fd0bc22f..b6d01cb01a 100644 --- a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java +++ b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java @@ -228,7 +228,7 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { drawText( 10, 73, - trans("152", "Max EU: ") + trans("152.1", "Max EU: ") + GT_Utility.formatNumbers( (1 + (computation - minComputationPerSec) / minComputationPerSec) * (long) tEUt diff --git a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java index 45df781a57..12e6f0d823 100644 --- a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java +++ b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java @@ -227,7 +227,7 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { drawText( 10, 73, - trans("152", "Max EU: ") + trans("152.1", "Max EU: ") + GT_Utility.formatNumbers( (1 + (computation - minComputationPerSec) / minComputationPerSec) * (long) tEUt -- cgit From b45bae4b71d470879bb3f41429a649e107dd9411 Mon Sep 17 00:00:00 2001 From: Raphael Date: Fri, 30 Sep 2022 14:27:37 +0800 Subject: fix Tesla Tower can't recognize LuV coil from LV to ZPM should be 7 tiers --- .../thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 94e85ff183..00b99036c4 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 @@ -178,8 +178,8 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock ofBlocksTiered( (block, meta) -> block != sBlockCasingsBA0 ? -1 : meta <= 5 ? meta : meta == 9 ? 6 : -1, - IntStream.range(0, 6) - .map(tier -> tier == 5 ? 9 : tier) + IntStream.range(0, 7) + .map(tier -> tier == 6 ? 9 : tier) .mapToObj(meta -> Pair.of(sBlockCasingsBA0, meta)) .collect(Collectors.toList()), -1, -- cgit From b1186955c14241382b0b8aab543a96e619fc7c4e Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Sat, 1 Oct 2022 12:52:34 +0200 Subject: update dep --- dependencies.gradle | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 97202a4cbc..0b780e1e71 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,18 +2,18 @@ dependencies { shadowImplementation('com.github.GTNewHorizons:AVRcore:master-SNAPSHOT') - compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.10-pre:dev') - compile('com.github.GTNewHorizons:Yamcl:0.5.82:dev') - compile('com.github.GTNewHorizons:NotEnoughItems:2.2.28-GTNH:dev') - compile('com.github.GTNewHorizons:CodeChickenLib:1.1.5.3:dev') + compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.66:dev') + compile('com.github.GTNewHorizons:Yamcl:0.5.84:dev') + compile('com.github.GTNewHorizons:NotEnoughItems:2.3.7-GTNH:dev') + compile('com.github.GTNewHorizons:CodeChickenLib:1.1.5.5:dev') compile('com.github.GTNewHorizons:CodeChickenCore:1.1.4:dev') - compile('com.github.GTNewHorizons:StructureLib:1.1.4:dev') + compile('com.github.GTNewHorizons:StructureLib:1.2.0-beta.2:dev') compile('net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev') compileOnly('com.github.GTNewHorizons:OpenModularTurrets:2.2.11-247:dev') {transitive=false} compileOnly('com.github.GTNewHorizons:OpenComputers:1.7.5.23-GTNH:dev') {transitive=false} - compileOnly('com.github.GTNewHorizons:GTplusplus:1.7.76:dev') {transitive=false} - compileOnly('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-97-GTNH:dev') {transitive=false} + compileOnly('com.github.GTNewHorizons:GTplusplus:1.7.113:dev') {transitive=false} + compileOnly('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-107-GTNH:dev') {transitive=false} compileOnly('curse.maven:cofh-lib-220333:2388748') {transitive=false} compileOnly('curse.maven:computercraft-67504:2269339') {transitive=false} -- cgit From eb704581f1ad7a8ab85b09acf718f8585150da74 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Sat, 1 Oct 2022 12:53:13 +0200 Subject: Update BS+SA --- build.gradle | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 144 insertions(+), 6 deletions(-) diff --git a/build.gradle b/build.gradle index 054e7d9495..f068c2e59b 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ -//version: 1661114848 +//version: 1664372158 /* DO NOT CHANGE THIS FILE! Also, you may replace this file at any time if there is an update available. @@ -8,6 +8,10 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ConfigureShadowRelocation import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar +import com.matthewprenger.cursegradle.CurseArtifact +import com.matthewprenger.cursegradle.CurseRelation +import com.modrinth.minotaur.dependencies.ModDependency +import com.modrinth.minotaur.dependencies.VersionDependency import org.gradle.internal.logging.text.StyledTextOutput.Style import org.gradle.internal.logging.text.StyledTextOutputFactory @@ -59,6 +63,8 @@ plugins { id 'de.undercouch.download' version '5.0.1' id 'com.github.gmazzo.buildconfig' version '3.0.3' apply false id 'com.diffplug.spotless' version '6.7.2' apply false + id 'com.modrinth.minotaur' version '2.+' apply false + id 'com.matthewprenger.cursegradle' version '1.4.0' apply false } boolean settingsupdated = verifySettingsGradle() settingsupdated = verifyGitAttributes() || settingsupdated @@ -127,11 +133,16 @@ checkPropertyExists("containsMixinsAndOrCoreModOnly") checkPropertyExists("usesShadowedDependencies") checkPropertyExists("developmentEnvironmentUserName") -boolean noPublishedSources = project.hasProperty("noPublishedSources") ? project.noPublishedSources.toBoolean() : false -boolean usesMixinDebug = project.hasProperty('usesMixinDebug') ?: project.usesMixins.toBoolean() -boolean forceEnableMixins = project.hasProperty('forceEnableMixins') ? project.forceEnableMixins.toBoolean() : false -String channel = project.hasProperty('channel') ? project.channel : 'stable' -String mappingsVersion = project.hasProperty('mappingsVersion') ? project.mappingsVersion : '12' +propertyDefaultIfUnset("noPublishedSources", false) +propertyDefaultIfUnset("usesMixinDebug", project.usesMixins) +propertyDefaultIfUnset("forceEnableMixins", false) +propertyDefaultIfUnset("channel", "stable") +propertyDefaultIfUnset("mappingsVersion", "12") +propertyDefaultIfUnset("modrinthProjectId", "") +propertyDefaultIfUnset("modrinthRelations", "") +propertyDefaultIfUnset("curseForgeProjectId", "") +propertyDefaultIfUnset("curseForgeRelations", "") + String javaSourceDir = "src/main/java/" String scalaSourceDir = "src/main/scala/" String kotlinSourceDir = "src/main/kotlin/" @@ -651,6 +662,118 @@ publishing { } } +if (modrinthProjectId.size() != 0) { + apply plugin: 'com.modrinth.minotaur' + + File changelogFile = new File("CHANGELOG.md") + + modrinth { + token = System.getenv("MODRINTH_TOKEN") + projectId = modrinthProjectId + versionNumber = identifiedVersion + versionType = identifiedVersion.endsWith("-pre") ? "beta" : "release" + changelog = changelogFile.exists() ? changelogFile.getText("UTF-8") : "" + uploadFile = jar + additionalFiles = getSecondaryArtifacts() + gameVersions = [minecraftVersion] + loaders = ["forge"] + debugMode = false + } + + if (modrinthRelations.size() != 0) { + String[] deps = modrinthRelations.split(";") + deps.each { dep -> + if (dep.size() == 0) { + return + } + String[] parts = dep.split(":") + String[] qual = parts[0].split("-") + addModrinthDep(qual[0], qual[1], parts[1]) + } + } + tasks.modrinth.dependsOn(build) + tasks.publish.dependsOn(tasks.modrinth) +} + +if (curseForgeProjectId.size() != 0) { + apply plugin: 'com.matthewprenger.cursegradle' + + File changelogFile = new File("CHANGELOG.md") + + curseforge { + apiKey = System.getenv("CURSEFORGE_TOKEN") + project { + id = curseForgeProjectId + if (changelogFile.exists()) { + changelogType = "markdown" + changelog = changelogFile + } + releaseType = identifiedVersion.endsWith("-pre") ? "beta" : "release" + addGameVersion minecraftVersion + addGameVersion "Forge" + mainArtifact jar + for (artifact in getSecondaryArtifacts()) addArtifact artifact + } + + options { + javaIntegration = false + forgeGradleIntegration = false + debug = false + } + } + + if (curseForgeRelations.size() != 0) { + String[] deps = curseForgeRelations.split(";") + deps.each { dep -> + if (dep.size() == 0) { + return + } + String[] parts = dep.split(":") + addCurseForgeRelation(parts[0], parts[1]) + } + } + tasks.curseforge.dependsOn(build) + tasks.publish.dependsOn(tasks.curseforge) +} + +def addModrinthDep(scope, type, name) { + com.modrinth.minotaur.dependencies.Dependency dep; + if (!(scope in [ + "required", + "optional", + "incompatible", + "embedded" + ])) { + throw new Exception("Invalid modrinth dependency scope: " + scope) + } + switch (type) { + case "project": + dep = new ModDependency(name, scope) + break + case "version": + dep = new VersionDependency(name, scope) + break + default: + throw new Exception("Invalid modrinth dependency type: " + type) + } + project.modrinth.dependencies.add(dep) +} + +def addCurseForgeRelation(type, name) { + if (!(type in [ + "requiredDependency", + "embeddedLibrary", + "optionalDependency", + "tool", + "incompatible" + ])) { + throw new Exception("Invalid CurseForge relation type: " + type) + } + CurseArtifact artifact = project.curseforge.curseProjects[0].mainArtifact + CurseRelation rel = (artifact.curseRelations ?: (artifact.curseRelations = new CurseRelation())) + rel."$type"(name) +} + // Updating task updateBuildScript { doLast { @@ -963,6 +1086,21 @@ if (!project.hasProperty(propertyName)) { } } +def propertyDefaultIfUnset(String propertyName, defaultValue) { +if (!project.hasProperty(propertyName) || project.property(propertyName) == "") { + project.ext.setProperty(propertyName, defaultValue) +} +} + def getFile(String relativePath) { return new File(projectDir, relativePath) } + +def getSecondaryArtifacts() { +// Because noPublishedSources from the beginning of the script is somehow not visible here... +boolean noPublishedSources = project.hasProperty("noPublishedSources") ? project.noPublishedSources.toBoolean() : false +def secondaryArtifacts = [devJar] +if (!noPublishedSources) secondaryArtifacts += [sourcesJar] +if (apiPackage) secondaryArtifacts += [apiJar] +return secondaryArtifacts +} -- cgit From b3841d2db9b62b84f6ef620a0eea8d6ae850d8c9 Mon Sep 17 00:00:00 2001 From: GlodBlock <1356392126@qq.com> Date: Sat, 8 Oct 2022 19:25:34 +0800 Subject: inductor usage --- .../tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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 efc2dfaa7d..b2abfe8d7e 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 @@ -2939,7 +2939,9 @@ public class DreamCraftRecipeLoader { new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 2), ItemList.Circuit_Wetwaresupercomputer.get(2L), - ItemList.ZPM_Coil.get(16L), + new ItemStack[] { + ItemList.Circuit_Parts_InductorASMD.get(16L), ItemList.Circuit_Parts_InductorXSMD.get(4L) + }, new ItemStack[] { ItemList.Circuit_Parts_CapacitorASMD.get(16L), ItemList.Circuit_Parts_CapacitorXSMD.get(4L) }, @@ -3009,7 +3011,9 @@ public class DreamCraftRecipeLoader { new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 4L), ItemList.Circuit_Biowaresupercomputer.get(2L), - ItemList.UV_Coil.get(16L), + new ItemStack[] { + ItemList.Circuit_Parts_InductorASMD.get(24L), ItemList.Circuit_Parts_InductorXSMD.get(6L) + }, new ItemStack[] { ItemList.Circuit_Parts_TransistorASMD.get(24L), ItemList.Circuit_Parts_TransistorXSMD.get(6L) }, -- cgit From 0e46852d83a588fbe876ecb2a5f58e9c18360aa7 Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Wed, 12 Oct 2022 00:29:20 +0800 Subject: Properly fix ender fluid container not saving stuff --- .../enderStorage/EnderFluidContainer.java | 66 ++++++++++++++-------- 1 file changed, 44 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java index e7ec1b6dd7..d7afb7d5ea 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java @@ -1,45 +1,37 @@ package com.github.technus.tectech.mechanics.enderStorage; +import com.github.technus.tectech.TecTech; +import java.io.DataInputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; import java.io.Serializable; +import net.minecraft.nbt.CompressedStreamTools; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidHandler; public class EnderFluidContainer implements IFluidHandler, Serializable { - private static final int CAPACITY = 64000; - - @Deprecated() - private int fluidID = -1; - - @Deprecated() - private int fluidQuantity = 0; + private static final long serialVersionUID = 2L; + private static final int SERIALIZE_TYPE_WITH_NBT = 0; + private static final int SERIALIZE_TYPE_WITHOUT_NBT = 1; + private static final int SERIALIZE_TYPE_NULL = 2; - private NBTTagCompound fluid; + private static final int CAPACITY = 64000; + private transient FluidStack fluidStack; public EnderFluidContainer() {} private FluidStack getFluidStack() { - FluidStack fluidStack = null; - if (fluidID >= 0) { - fluid = new FluidStack(fluidID, fluidQuantity).writeToNBT(new NBTTagCompound()); - fluidID = -1; - fluidQuantity = 0; - } - if (fluid != null) { - fluidStack = FluidStack.loadFluidStackFromNBT(fluid); - } return fluidStack; } private void setFluidStack(FluidStack fluidStack) { - if (fluidStack != null) { - fluid = fluidStack.writeToNBT(new NBTTagCompound()); - } else { - fluid = null; - } + this.fluidStack = fluidStack; } @Override @@ -104,4 +96,34 @@ public class EnderFluidContainer implements IFluidHandler, Serializable { public FluidTankInfo[] getTankInfo(ForgeDirection forgeDirection) { return new FluidTankInfo[] {new FluidTankInfo(getFluidStack(), CAPACITY)}; } + + private void writeObject(ObjectOutputStream out) throws IOException { + if (fluidStack != null) { + out.writeByte(fluidStack.tag != null ? SERIALIZE_TYPE_WITH_NBT : SERIALIZE_TYPE_WITHOUT_NBT); + if (fluidStack.tag != null) CompressedStreamTools.write(fluidStack.tag, out); + out.writeUTF(fluidStack.getFluid().getName()); + out.writeInt(fluidStack.amount); + } else { + out.writeByte(SERIALIZE_TYPE_NULL); + } + } + + private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { + byte type = in.readByte(); + NBTTagCompound tag = null; + switch (type) { + case SERIALIZE_TYPE_WITH_NBT: + tag = CompressedStreamTools.read(new DataInputStream(in)); + case SERIALIZE_TYPE_WITHOUT_NBT: + fluidStack = FluidRegistry.getFluidStack(in.readUTF(), in.readInt()); + break; + case SERIALIZE_TYPE_NULL: + fluidStack = null; + break; + default: + TecTech.LOGGER.error("Something very wrong... got a fluid container with state " + type); + fluidStack = null; + } + if (fluidStack != null) fluidStack.tag = tag; + } } -- cgit From 52bcb2a77430e4e2750800debbfbb45ce2d7686c Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Sat, 22 Oct 2022 12:48:20 +0200 Subject: Use new API call instead of hack to prevent dropping of data sticks --- dependencies.gradle | 2 +- .../hatch/GT_MetaTileEntity_Hatch_InputDataItems.java | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 0b780e1e71..5aa0a4bbd4 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,7 +2,7 @@ dependencies { shadowImplementation('com.github.GTNewHorizons:AVRcore:master-SNAPSHOT') - compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.66:dev') + compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.91-pre:dev') compile('com.github.GTNewHorizons:Yamcl:0.5.84:dev') compile('com.github.GTNewHorizons:NotEnoughItems:2.3.7-GTNH:dev') compile('com.github.GTNewHorizons:CodeChickenLib:1.1.5.5:dev') diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java index 6aae229159..c61d9d157e 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java @@ -201,13 +201,12 @@ public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Ha @Override public ItemStack getStackInSlot(int aIndex) { - if (stacks == null || aIndex >= stacks.length) { - return null; - } - // We return a stack with size 0 to prevent dropping when the hatch is broken - ItemStack stackCopy = stacks[aIndex].copy(); - stackCopy.stackSize = 0; - return stackCopy; + return stacks != null && aIndex < stacks.length ? stacks[aIndex] : null; + } + + @Override + public boolean shouldDropItemAt(int index) { + return false; } @Override -- cgit From 5bf1b1ff55dd223ccc23533a61fdbb39fc7880db Mon Sep 17 00:00:00 2001 From: GlodBlock <1356392126@qq.com> Date: Wed, 26 Oct 2022 18:20:02 +0800 Subject: remove inconsistant lubricant recipe in uhv --- .../tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 b2abfe8d7e..d21161e0f9 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 @@ -4475,7 +4475,7 @@ public class DreamCraftRecipeLoader { GT_OreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L), GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 7L) }, - new FluidStack[] {fluid_0, fluid_1, fluid_2}, + new FluidStack[] {fluid_0, fluid_1}, ItemList.Emitter_UHV.get(1L), crafting_time_in_ticks, crafting_eu_per_tick); -- cgit From 2bbe01fb9009219fe7d21879a396620bbfc2f049 Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Thu, 27 Oct 2022 18:48:16 +0200 Subject: Added full block variant of all pipe types --- .../dreamcraft/DreamCraftRecipeLoader.java | 24 ++++++++++++++++ .../tectech/loader/thing/MachineLoader.java | 13 +++++++-- .../technus/tectech/thing/CustomItemList.java | 5 +++- .../pipe/GT_MetaTileEntity_PipeBlock_Data.java | 32 ++++++++++++++++++++++ .../pipe/GT_MetaTileEntity_PipeBlock_EM.java | 32 ++++++++++++++++++++++ .../pipe/GT_MetaTileEntity_PipeBlock_Energy.java | 32 ++++++++++++++++++++++ 6 files changed, 134 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_PipeBlock_Data.java create mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_PipeBlock_EM.java create mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_PipeBlock_Energy.java 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 d21161e0f9..622403abce 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 @@ -103,6 +103,14 @@ public class DreamCraftRecipeLoader { 200, 30720); + // Data Casing + addAssemblerRecipeWithCleanroom( + new ItemStack[] {CustomItemList.DATApipe.get(1), ItemList.Casing_LuV.get(1)}, + null, + CustomItemList.DATApipeBlock.get(1), + 20, + 30720); + // Tunnel addAssemblerRecipeWithCleanroom( new ItemStack[] { @@ -118,6 +126,14 @@ public class DreamCraftRecipeLoader { 400, 500000); + // Tunnel Casing + addAssemblerRecipeWithCleanroom( + new ItemStack[] {CustomItemList.EMpipe.get(1), ItemList.Casing_LuV.get(1)}, + null, + CustomItemList.EMpipeBlock.get(1), + 20, + 30720); + // Laser addAssemblerRecipeWithCleanroom( new ItemStack[] { @@ -130,6 +146,14 @@ public class DreamCraftRecipeLoader { 100, 500000); + // Laser Casing + addAssemblerRecipeWithCleanroom( + new ItemStack[] {CustomItemList.LASERpipe.get(1), ItemList.Casing_LuV.get(1)}, + null, + CustomItemList.LASERpipeBlock.get(1), + 20, + 30720); + // endregion // region casing 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 0723b30099..53a16d2648 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 @@ -12,9 +12,7 @@ import com.github.technus.tectech.thing.metaTileEntity.hatch.*; import com.github.technus.tectech.thing.metaTileEntity.multi.*; import com.github.technus.tectech.thing.metaTileEntity.multi.em_collider.GT_MetaTileEntity_EM_collider; import com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine; -import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Data; -import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EM; -import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Energy; +import com.github.technus.tectech.thing.metaTileEntity.pipe.*; import com.github.technus.tectech.thing.metaTileEntity.single.*; import cpw.mods.fml.common.Loader; import net.minecraft.init.Blocks; @@ -899,6 +897,15 @@ public class MachineLoader implements Runnable { LASERpipe.set( new GT_MetaTileEntity_Pipe_Energy(15465, "pipe.energystream", "Laser Vacuum Pipe").getStackForm(1L)); DATApipe.set(new GT_MetaTileEntity_Pipe_Data(15470, "pipe.datastream", "Optical Fiber Cable").getStackForm(1L)); + EMpipeBlock.set( + new GT_MetaTileEntity_PipeBlock_EM(15471, "pipe.elementalmatter.block", "Quantum \"Tunnel\" Casing") + .getStackForm(1L)); + LASERpipeBlock.set( + new GT_MetaTileEntity_PipeBlock_Energy(15472, "pipe.energystream.block", "Laser Vacuum Pipe Casing") + .getStackForm(1L)); + DATApipeBlock.set( + new GT_MetaTileEntity_PipeBlock_Data(15473, "pipe.datastream.block", "Optical Fiber Cable Casing") + .getStackForm(1L)); // =================================================================================================== // Single Blocks 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 01310a8a6f..d75cbadea3 100644 --- a/src/main/java/com/github/technus/tectech/thing/CustomItemList.java +++ b/src/main/java/com/github/technus/tectech/thing/CustomItemList.java @@ -388,7 +388,10 @@ public enum CustomItemList implements IItemContainer { Machine_TeslaCoil_4by4_MV, Machine_TeslaCoil_4by4_HV, Machine_TeslaCoil_4by4_EV, - Machine_TeslaCoil_4by4_IV; + Machine_TeslaCoil_4by4_IV, + DATApipeBlock, + EMpipeBlock, + LASERpipeBlock; private ItemStack mStack; private boolean mHasNotBeenSet = true; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_PipeBlock_Data.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_PipeBlock_Data.java new file mode 100644 index 0000000000..1b8cbcec50 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_PipeBlock_Data.java @@ -0,0 +1,32 @@ +package com.github.technus.tectech.thing.metaTileEntity.pipe; + +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; + +public class GT_MetaTileEntity_PipeBlock_Data extends GT_MetaTileEntity_Pipe_Data { + + public GT_MetaTileEntity_PipeBlock_Data(int aID, String aName, String aNameRegional) { + super(aID, aName, aNameRegional); + } + + public GT_MetaTileEntity_PipeBlock_Data(String aName) { + super(aName); + } + + @Override + public IMetaTileEntity newMetaEntity(IGregTechTileEntity iGregTechTileEntity) { + return new GT_MetaTileEntity_PipeBlock_Data(mName); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) { + return AxisAlignedBB.getBoundingBox(aX, aY, aZ, aX + 1, aY + 1, aZ + 1); + } + + @Override + public float getThickNess() { + return 1f; + } +} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_PipeBlock_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_PipeBlock_EM.java new file mode 100644 index 0000000000..a7f9225755 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_PipeBlock_EM.java @@ -0,0 +1,32 @@ +package com.github.technus.tectech.thing.metaTileEntity.pipe; + +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; + +public class GT_MetaTileEntity_PipeBlock_EM extends GT_MetaTileEntity_Pipe_EM { + + public GT_MetaTileEntity_PipeBlock_EM(int aID, String aName, String aNameRegional) { + super(aID, aName, aNameRegional); + } + + public GT_MetaTileEntity_PipeBlock_EM(String aName) { + super(aName); + } + + @Override + public IMetaTileEntity newMetaEntity(IGregTechTileEntity iGregTechTileEntity) { + return new GT_MetaTileEntity_PipeBlock_EM(mName); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) { + return AxisAlignedBB.getBoundingBox(aX, aY, aZ, aX + 1, aY + 1, aZ + 1); + } + + @Override + public float getThickNess() { + return 1f; + } +} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_PipeBlock_Energy.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_PipeBlock_Energy.java new file mode 100644 index 0000000000..acd1d68530 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_PipeBlock_Energy.java @@ -0,0 +1,32 @@ +package com.github.technus.tectech.thing.metaTileEntity.pipe; + +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; + +public class GT_MetaTileEntity_PipeBlock_Energy extends GT_MetaTileEntity_Pipe_Energy { + + public GT_MetaTileEntity_PipeBlock_Energy(int aID, String aName, String aNameRegional) { + super(aID, aName, aNameRegional); + } + + public GT_MetaTileEntity_PipeBlock_Energy(String aName) { + super(aName); + } + + @Override + public IMetaTileEntity newMetaEntity(IGregTechTileEntity iGregTechTileEntity) { + return new GT_MetaTileEntity_PipeBlock_Energy(mName); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) { + return AxisAlignedBB.getBoundingBox(aX, aY, aZ, aX + 1, aY + 1, aZ + 1); + } + + @Override + public float getThickNess() { + return 1f; + } +} -- cgit From 7cbb471c1bb35c72ee904a5da06cf8a030023dad Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Fri, 28 Oct 2022 23:22:22 +0200 Subject: Fix persistant ender link data bug --- src/main/java/com/github/technus/tectech/TecTech.java | 6 ++++++ .../mechanics/enderStorage/EnderWorldSavedData.java | 16 ++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/main/java/com/github/technus/tectech/TecTech.java b/src/main/java/com/github/technus/tectech/TecTech.java index 4911b4be7b..6640949617 100644 --- a/src/main/java/com/github/technus/tectech/TecTech.java +++ b/src/main/java/com/github/technus/tectech/TecTech.java @@ -18,6 +18,7 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.commands.EMGive import com.github.technus.tectech.mechanics.elementalMatter.core.commands.EMList; import com.github.technus.tectech.mechanics.elementalMatter.core.definitions.registry.EMDefinitionsRegistry; import com.github.technus.tectech.mechanics.elementalMatter.core.transformations.EMTransformationRegistry; +import com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData; import com.github.technus.tectech.proxy.CommonProxy; import com.github.technus.tectech.util.XSTR; import cpw.mods.fml.common.FMLCommonHandler; @@ -59,6 +60,7 @@ public class TecTech { private static IngameErrorLog moduleAdminErrorLogs; public static TecTechConfig configTecTech; + public static EnderWorldSavedData enderWorldSavedData; public static ChunkDataHandler chunkDataHandler; public static AnomalyHandler anomalyHandler; public static PlayerPersistence playerPersistence; @@ -108,6 +110,10 @@ public class TecTech { FMLCommonHandler.instance().bus().register(chunkDataHandler); MinecraftForge.EVENT_BUS.register(chunkDataHandler); + enderWorldSavedData = new EnderWorldSavedData(); + FMLCommonHandler.instance().bus().register(enderWorldSavedData); + MinecraftForge.EVENT_BUS.register(enderWorldSavedData); + MainLoader.preLoad(); } diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java index 1297e6ed03..ee4ba087b4 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java @@ -2,6 +2,7 @@ package com.github.technus.tectech.mechanics.enderStorage; import static com.github.technus.tectech.Reference.MODID; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; import java.io.*; import java.util.HashMap; import java.util.Map; @@ -9,10 +10,13 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.WorldSavedData; import net.minecraft.world.storage.MapStorage; import net.minecraftforge.common.DimensionManager; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.world.WorldEvent; import net.minecraftforge.fluids.IFluidHandler; public class EnderWorldSavedData extends WorldSavedData { private static EnderWorldSavedData INSTANCE; + private static boolean initiated = false; private static final String DATA_NAME = MODID + "_EnderWorldSavedData"; private static final String ENDER_LIQUID_TAG_LINK = DATA_NAME + "_EnderLiquidTagLink"; @@ -124,4 +128,16 @@ public class EnderWorldSavedData extends WorldSavedData { getEnderLiquidTankLink().remove(tank); getEnderLiquidTankLink().put(tank, tag); } + + public static void initiate() { + if (!initiated) { + initiated = true; + MinecraftForge.EVENT_BUS.register(new EnderWorldSavedData()); + } + } + + @SubscribeEvent + public void onWorldUnload(WorldEvent.Unload event) { + INSTANCE = null; + } } -- cgit From 2e35dd9f10717c3f828e86bc64cba9d2409fe19d Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Fri, 28 Oct 2022 23:48:04 +0200 Subject: Removed left over code --- .../tectech/mechanics/enderStorage/EnderWorldSavedData.java | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java index ee4ba087b4..959f94525a 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java @@ -129,13 +129,6 @@ public class EnderWorldSavedData extends WorldSavedData { getEnderLiquidTankLink().put(tank, tag); } - public static void initiate() { - if (!initiated) { - initiated = true; - MinecraftForge.EVENT_BUS.register(new EnderWorldSavedData()); - } - } - @SubscribeEvent public void onWorldUnload(WorldEvent.Unload event) { INSTANCE = null; -- cgit From 57133c7cd78e34493c80e67c5714d1084928ad1b Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Fri, 28 Oct 2022 23:48:44 +0200 Subject: Derp --- .../technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java index 959f94525a..857db935bf 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java @@ -16,7 +16,6 @@ import net.minecraftforge.fluids.IFluidHandler; public class EnderWorldSavedData extends WorldSavedData { private static EnderWorldSavedData INSTANCE; - private static boolean initiated = false; private static final String DATA_NAME = MODID + "_EnderWorldSavedData"; private static final String ENDER_LIQUID_TAG_LINK = DATA_NAME + "_EnderLiquidTagLink"; -- cgit From ea1a37e7625ad30e736ba1dbbd915ba101513427 Mon Sep 17 00:00:00 2001 From: Maxim Date: Fri, 28 Oct 2022 23:55:19 +0200 Subject: Forgot spotless kekw --- .../technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java index 857db935bf..11fe21138f 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java @@ -10,7 +10,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.WorldSavedData; import net.minecraft.world.storage.MapStorage; import net.minecraftforge.common.DimensionManager; -import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.world.WorldEvent; import net.minecraftforge.fluids.IFluidHandler; -- cgit From 219e1ad043d330dcc60200f7afdb9672dfa38036 Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Sat, 29 Oct 2022 09:00:36 +0200 Subject: Check if unloaded world is dim 0 --- .../technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java index 11fe21138f..c3106b055c 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderWorldSavedData.java @@ -129,6 +129,8 @@ public class EnderWorldSavedData extends WorldSavedData { @SubscribeEvent public void onWorldUnload(WorldEvent.Unload event) { - INSTANCE = null; + if (event.world.provider.dimensionId == 0) { + INSTANCE = null; + } } } -- cgit From 8b8b743814ed8e10a2b6602a5e9710395c5c509f Mon Sep 17 00:00:00 2001 From: miozune Date: Fri, 11 Nov 2022 19:57:29 +0900 Subject: BuckConverter, DebugPollutor, DebugPowerGenerator, DebugStructureWriter --- dependencies.gradle | 2 +- .../single/GT_MetaTileEntity_BuckConverter.java | 104 +++++++++++--- .../single/GT_MetaTileEntity_DebugPollutor.java | 109 ++++++++++++--- .../GT_MetaTileEntity_DebugPowerGenerator.java | 104 +++++++++++--- .../GT_MetaTileEntity_DebugStructureWriter.java | 107 +++++++++++--- .../single/gui/GT_Container_BuckConverter.java | 151 -------------------- .../single/gui/GT_Container_DebugPollutor.java | 152 -------------------- .../gui/GT_Container_DebugPowerGenerator.java | 153 --------------------- .../gui/GT_Container_DebugStructureWriter.java | 145 ------------------- .../single/gui/GT_GUIContainer_BuckConverter.java | 36 ----- .../single/gui/GT_GUIContainer_DebugPollutor.java | 31 ----- .../gui/GT_GUIContainer_DebugPowerGenerator.java | 36 ----- .../gui/GT_GUIContainer_DebugStructureWriter.java | 37 ----- 13 files changed, 357 insertions(+), 810 deletions(-) delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_BuckConverter.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPowerGenerator.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugStructureWriter.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_BuckConverter.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPollutor.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPowerGenerator.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugStructureWriter.java diff --git a/dependencies.gradle b/dependencies.gradle index 5aa0a4bbd4..5a7751c24f 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,7 +2,7 @@ dependencies { shadowImplementation('com.github.GTNewHorizons:AVRcore:master-SNAPSHOT') - compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.91-pre:dev') + compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.112-pre:dev') compile('com.github.GTNewHorizons:Yamcl:0.5.84:dev') compile('com.github.GTNewHorizons:NotEnoughItems:2.3.7-GTNH:dev') compile('com.github.GTNewHorizons:CodeChickenLib:1.1.5.5:dev') diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java index b3be875b85..e03edcd77c 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java @@ -1,24 +1,31 @@ package com.github.technus.tectech.thing.metaTileEntity.single; import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; +import static com.github.technus.tectech.util.CommonValues.VN; import static net.minecraft.util.StatCollector.translateToLocal; -import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_Container_BuckConverter; -import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_GUIContainer_BuckConverter; import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; +import com.gtnewhorizons.modularui.api.drawable.IDrawable; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.api.screen.UIBuildContext; +import com.gtnewhorizons.modularui.common.widget.ButtonWidget; +import com.gtnewhorizons.modularui.common.widget.DrawableWidget; +import com.gtnewhorizons.modularui.common.widget.TextWidget; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Textures; +import gregtech.api.gui.modularui.GT_UIInfos; +import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Utility; +import java.util.function.Consumer; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; @@ -73,16 +80,6 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac return null; } - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_BuckConverter(aPlayerInventory, aBaseMetaTileEntity); - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_BuckConverter(aPlayerInventory, aBaseMetaTileEntity); - } - @Override public boolean allowPutStack(IGregTechTileEntity iGregTechTileEntity, int i, byte b, ItemStack itemStack) { return false; @@ -113,10 +110,7 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac @Override public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - if (aBaseMetaTileEntity.isClientSide()) { - return true; - } - aBaseMetaTileEntity.openGUI(aPlayer); + GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); return true; } @@ -208,4 +202,80 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac public int maxProgresstime() { return (int) getBaseMetaTileEntity().getUniversalEnergyCapacity(); } + + @Override + public boolean useModularUI() { + return true; + } + + @Override + protected void addGregTechLogo(ModularWindow.Builder builder) { + builder.widget(new DrawableWidget() + .setDrawable(getGregTechLogo()) + .setSize(17, 17) + .setPos(113, 56)); + } + + @Override + protected IDrawable getGregTechLogo() { + return GT_UITextures.PICTURE_GT_LOGO_17x17_TRANSPARENT_GRAY; + } + + @Override + protected void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + builder.widget(new DrawableWidget() + .setDrawable(GT_UITextures.PICTURE_SCREEN_BLACK) + .setSize(90, 72) + .setPos(43, 4)) + .widget(TextWidget.dynamicString(() -> "EUT: " + EUT) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setPos(46, 8)) + .widget(TextWidget.dynamicString(() -> "TIER: " + VN[TT_Utility.getTier(Math.abs(EUT))]) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setPos(46, 16)) + .widget(TextWidget.dynamicString(() -> "AMP: " + AMP) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setPos(46, 24)) + .widget(TextWidget.dynamicString(() -> "SUM: " + (long) AMP * EUT) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setPos(46, 32)); + + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_LARGE, val -> EUT -= val, 512, 64, 7, 4); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_LARGE, val -> EUT /= val, 512, 64, 7, 22); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_LARGE, val -> AMP -= val, 512, 64, 7, 40); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_LARGE, val -> AMP /= val, 512, 64, 7, 58); + + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_SMALL, val -> EUT -= val, 16, 1, 25, 4); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_SMALL, val -> EUT /= val, 16, 2, 25, 22); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_SMALL, val -> AMP -= val, 16, 1, 25, 40); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_SMALL, val -> AMP /= val, 16, 2, 25, 58); + + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_SMALL, val -> EUT += val, 16, 1, 133, 4); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_SMALL, val -> EUT *= val, 16, 2, 133, 22); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_SMALL, val -> AMP += val, 16, 1, 133, 40); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_SMALL, val -> AMP *= val, 16, 2, 133, 58); + + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_LARGE, val -> EUT += val, 512, 64, 151, 4); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_LARGE, val -> EUT *= val, 512, 64, 151, 22); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_LARGE, val -> AMP += val, 512, 64, 151, 40); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_LARGE, val -> AMP *= val, 512, 64, 151, 58); + } + + private void addChangeNumberButton( + ModularWindow.Builder builder, + IDrawable overlay, + Consumer setter, + int changeNumberShift, + int changeNumber, + int xPos, + int yPos) { + builder.widget(new ButtonWidget() + .setOnClick((clickData, widget) -> { + setter.accept(clickData.shift ? changeNumberShift : changeNumber); + getBaseMetaTileEntity().setActive((long) AMP * EUT >= 0); + }) + .setBackground(GT_UITextures.BUTTON_STANDARD, overlay) + .setSize(18, 18) + .setPos(xPos, yPos)); + } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java index d1990fc316..3af07f7590 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java @@ -5,22 +5,28 @@ import static net.minecraft.util.StatCollector.translateToLocal; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_OverflowElemental; -import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_Container_DebugPollutor; -import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_GUIContainer_DebugPollutor; import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; +import com.gtnewhorizons.modularui.api.drawable.IDrawable; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.api.screen.UIBuildContext; +import com.gtnewhorizons.modularui.common.widget.ButtonWidget; +import com.gtnewhorizons.modularui.common.widget.DrawableWidget; +import com.gtnewhorizons.modularui.common.widget.TextWidget; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Textures; +import gregtech.api.gui.modularui.GT_UIInfos; +import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock; import gregtech.api.objects.GT_RenderedTexture; import gregtech.common.GT_Pollution; +import java.util.function.Consumer; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; @@ -78,16 +84,6 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac return null; } - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_DebugPollutor(aPlayerInventory, aBaseMetaTileEntity); - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_DebugPollutor(aPlayerInventory, aBaseMetaTileEntity); - } - @Override public boolean allowPutStack(IGregTechTileEntity iGregTechTileEntity, int i, byte b, ItemStack itemStack) { return false; @@ -138,10 +134,7 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac @Override public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - if (aBaseMetaTileEntity.isClientSide()) { - return true; - } - aBaseMetaTileEntity.openGUI(aPlayer); + GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); return true; } @@ -171,4 +164,86 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac public boolean isElectric() { return false; } + + @Override + public boolean useModularUI() { + return true; + } + + @Override + protected void addGregTechLogo(ModularWindow.Builder builder) { + builder.widget(new DrawableWidget() + .setDrawable(getGregTechLogo()) + .setSize(17, 17) + .setPos(113, 56)); + } + + @Override + protected IDrawable getGregTechLogo() { + return GT_UITextures.PICTURE_GT_LOGO_17x17_TRANSPARENT_GRAY; + } + + @Override + protected void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + builder.widget(new DrawableWidget() + .setDrawable(GT_UITextures.PICTURE_SCREEN_BLACK) + .setSize(90, 72) + .setPos(43, 4)) + .widget(TextWidget.dynamicString(() -> "Pollution: " + pollution) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setPos(46, 8)) + .widget(TextWidget.dynamicString(() -> "Anomaly: " + anomaly) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setPos(46, 16)); + + addChangeNumberButton( + builder, GT_UITextures.OVERLAY_BUTTON_MINUS_LARGE, val -> pollution -= val, 512, 64, 7, 4); + addChangeNumberButton( + builder, GT_UITextures.OVERLAY_BUTTON_MINUS_LARGE, val -> pollution /= val, 512, 64, 7, 22); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_LARGE, val -> anomaly -= val, 512, 64, 7, 40); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_LARGE, val -> anomaly /= val, 512, 64, 7, 58); + + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_SMALL, val -> pollution -= val, 16, 1, 25, 4); + addChangeNumberButton( + builder, GT_UITextures.OVERLAY_BUTTON_MINUS_SMALL, val -> pollution /= val, 16, 2, 25, 22); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_SMALL, val -> anomaly -= val, 16, 1, 25, 40); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_SMALL, val -> anomaly /= val, 16, 2, 25, 58); + + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_SMALL, val -> pollution += val, 16, 1, 133, 4); + addChangeNumberButton( + builder, GT_UITextures.OVERLAY_BUTTON_PLUS_SMALL, val -> pollution *= val, 16, 2, 133, 22); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_SMALL, val -> anomaly += val, 16, 1, 133, 40); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_SMALL, val -> anomaly *= val, 16, 2, 133, 58); + + addChangeNumberButton( + builder, GT_UITextures.OVERLAY_BUTTON_PLUS_LARGE, val -> pollution += val, 512, 64, 151, 4); + addChangeNumberButton( + builder, GT_UITextures.OVERLAY_BUTTON_PLUS_LARGE, val -> pollution *= val, 512, 64, 151, 22); + addChangeNumberButton( + builder, GT_UITextures.OVERLAY_BUTTON_PLUS_LARGE, val -> anomaly += val, 512, 64, 151, 40); + addChangeNumberButton( + builder, GT_UITextures.OVERLAY_BUTTON_PLUS_LARGE, val -> anomaly *= val, 512, 64, 151, 58); + } + + private void addChangeNumberButton( + ModularWindow.Builder builder, + IDrawable overlay, + Consumer setter, + int changeNumberShift, + int changeNumber, + int xPos, + int yPos) { + builder.widget(new ButtonWidget() + .setOnClick((clickData, widget) -> { + setter.accept(clickData.shift ? changeNumberShift : changeNumber); + if (anomaly == Float.POSITIVE_INFINITY) { + anomaly = Float.MAX_VALUE; + } else if (anomaly == Float.NEGATIVE_INFINITY) { + anomaly = -Float.MAX_VALUE; + } + }) + .setBackground(GT_UITextures.BUTTON_STANDARD, overlay) + .setSize(18, 18) + .setPos(xPos, yPos)); + } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java index a920d6db10..cf21617ca8 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java @@ -2,18 +2,25 @@ package com.github.technus.tectech.thing.metaTileEntity.single; import static com.github.technus.tectech.thing.metaTileEntity.Textures.*; import static com.github.technus.tectech.util.CommonValues.TRANSFER_AT; +import static com.github.technus.tectech.util.CommonValues.VN; import static net.minecraft.util.StatCollector.translateToLocal; import com.github.technus.tectech.mechanics.pipe.IConnectsToEnergyTunnel; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyTunnel; import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Energy; -import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_Container_DebugPowerGenerator; -import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_GUIContainer_DebugPowerGenerator; import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; +import com.gtnewhorizons.modularui.api.drawable.IDrawable; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.api.screen.UIBuildContext; +import com.gtnewhorizons.modularui.common.widget.ButtonWidget; +import com.gtnewhorizons.modularui.common.widget.DrawableWidget; +import com.gtnewhorizons.modularui.common.widget.TextWidget; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Textures; +import gregtech.api.gui.modularui.GT_UIInfos; +import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -21,9 +28,9 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Utility; +import java.util.function.Consumer; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; @@ -93,16 +100,6 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie return null; } - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_DebugPowerGenerator(aPlayerInventory, aBaseMetaTileEntity); - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_DebugPowerGenerator(aPlayerInventory, aBaseMetaTileEntity); - } - @Override public boolean allowPutStack(IGregTechTileEntity iGregTechTileEntity, int i, byte b, ItemStack itemStack) { return false; @@ -158,10 +155,7 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie @Override public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - if (aBaseMetaTileEntity.isClientSide()) { - return true; - } - aBaseMetaTileEntity.openGUI(aPlayer); + GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); return true; } @@ -298,4 +292,80 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie } } } + + @Override + public boolean useModularUI() { + return true; + } + + @Override + protected void addGregTechLogo(ModularWindow.Builder builder) { + builder.widget(new DrawableWidget() + .setDrawable(getGregTechLogo()) + .setSize(17, 17) + .setPos(113, 56)); + } + + @Override + protected IDrawable getGregTechLogo() { + return GT_UITextures.PICTURE_GT_LOGO_17x17_TRANSPARENT_GRAY; + } + + @Override + protected void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + builder.widget(new DrawableWidget() + .setDrawable(GT_UITextures.PICTURE_SCREEN_BLACK) + .setSize(90, 72) + .setPos(43, 4)) + .widget(TextWidget.dynamicString(() -> "EUT: " + EUT) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setPos(46, 8)) + .widget(TextWidget.dynamicString(() -> "TIER: " + VN[TT_Utility.getTier(Math.abs(EUT))]) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setPos(46, 16)) + .widget(TextWidget.dynamicString(() -> "AMP: " + AMP) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setPos(46, 24)) + .widget(TextWidget.dynamicString(() -> "SUM: " + (long) AMP * EUT) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setPos(46, 32)); + + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_LARGE, val -> EUT -= val, 512, 64, 7, 4); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_LARGE, val -> EUT /= val, 512, 64, 7, 22); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_LARGE, val -> AMP -= val, 512, 64, 7, 40); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_LARGE, val -> AMP /= val, 512, 64, 7, 58); + + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_SMALL, val -> EUT -= val, 16, 1, 25, 4); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_SMALL, val -> EUT /= val, 16, 2, 25, 22); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_SMALL, val -> AMP -= val, 16, 1, 25, 40); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_SMALL, val -> AMP /= val, 16, 2, 25, 58); + + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_SMALL, val -> EUT += val, 16, 1, 133, 4); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_SMALL, val -> EUT *= val, 16, 2, 133, 22); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_SMALL, val -> AMP += val, 16, 1, 133, 40); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_SMALL, val -> AMP *= val, 16, 2, 133, 58); + + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_LARGE, val -> EUT += val, 512, 64, 151, 4); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_LARGE, val -> EUT *= val, 512, 64, 151, 22); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_LARGE, val -> AMP += val, 512, 64, 151, 40); + addChangeNumberButton(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_LARGE, val -> AMP *= val, 512, 64, 151, 58); + } + + private void addChangeNumberButton( + ModularWindow.Builder builder, + IDrawable overlay, + Consumer setter, + int changeNumberShift, + int changeNumber, + int xPos, + int yPos) { + builder.widget(new ButtonWidget() + .setOnClick((clickData, widget) -> { + setter.accept(clickData.shift ? changeNumberShift : changeNumber); + producing = (long) AMP * EUT >= 0; + }) + .setBackground(GT_UITextures.BUTTON_STANDARD, overlay) + .setSize(18, 18) + .setPos(xPos, yPos)); + } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java index 0aeb9b853d..a536e39b12 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java @@ -4,23 +4,29 @@ import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_C import static net.minecraft.util.StatCollector.translateToLocal; import com.github.technus.tectech.TecTech; -import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_Container_DebugStructureWriter; -import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_GUIContainer_DebugStructureWriter; import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; import com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing; import com.gtnewhorizon.structurelib.structure.StructureUtility; +import com.gtnewhorizons.modularui.api.drawable.IDrawable; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.api.screen.UIBuildContext; +import com.gtnewhorizons.modularui.common.widget.ButtonWidget; +import com.gtnewhorizons.modularui.common.widget.DrawableWidget; +import com.gtnewhorizons.modularui.common.widget.TextWidget; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Textures; +import gregtech.api.gui.modularui.GT_UIInfos; +import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock; import gregtech.api.objects.GT_RenderedTexture; +import java.util.function.Consumer; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; @@ -77,16 +83,6 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti return null; } - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_DebugStructureWriter(aPlayerInventory, aBaseMetaTileEntity); - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_DebugStructureWriter(aPlayerInventory, aBaseMetaTileEntity); - } - @Override public boolean allowPutStack(IGregTechTileEntity iGregTechTileEntity, int i, byte b, ItemStack itemStack) { return false; @@ -182,10 +178,7 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti @Override public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - if (aBaseMetaTileEntity.isClientSide()) { - return true; - } - aBaseMetaTileEntity.openGUI(aPlayer); + GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); return true; } @@ -226,4 +219,84 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti public String[] getInfoData() { return result; } + + @Override + public boolean useModularUI() { + return true; + } + + @Override + protected void addGregTechLogo(ModularWindow.Builder builder) { + builder.widget(new DrawableWidget() + .setDrawable(getGregTechLogo()) + .setSize(17, 17) + .setPos(113, 56)); + } + + @Override + protected IDrawable getGregTechLogo() { + return GT_UITextures.PICTURE_GT_LOGO_17x17_TRANSPARENT_GRAY; + } + + @Override + protected void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + builder.widget(new DrawableWidget() + .setDrawable(GT_UITextures.PICTURE_SCREEN_BLACK) + .setSize(90, 72) + .setPos(43, 4)) + .widget(TextWidget.dynamicString(() -> size ? "Structure size" : "My position") + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setPos(46, 8)) + .widget(TextWidget.dynamicString(() -> size ? "(Changing scan size)" : "(Moving origin)") + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setPos(46, 16)) + .widget(TextWidget.dynamicString(() -> "A: " + numbers[size ? 3 : 0]) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setPos(46, 24)) + .widget(TextWidget.dynamicString(() -> "B: " + numbers[size ? 4 : 1]) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setPos(46, 32)) + .widget(TextWidget.dynamicString(() -> "C: " + numbers[size ? 5 : 2]) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setPos(46, 40)); + + addChangeNumberButtons(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_LARGE, -512, -64, 7); + addChangeNumberButtons(builder, GT_UITextures.OVERLAY_BUTTON_MINUS_SMALL, -16, -1, 25); + addChangeNumberButtons(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_SMALL, 16, 1, 133); + addChangeNumberButtons(builder, GT_UITextures.OVERLAY_BUTTON_PLUS_LARGE, 512, 16, 151); + } + + private void addChangeNumberButtons( + ModularWindow.Builder builder, IDrawable overlay, int addNumberShift, int addNumber, int xPos) { + addChangeNumberButton( + builder, overlay, val -> numbers[size ? 3 : 0] += val, addNumberShift, addNumber, xPos, 4); + addChangeNumberButton( + builder, overlay, val -> numbers[size ? 4 : 1] += val, addNumberShift, addNumber, xPos, 22); + addChangeNumberButton( + builder, overlay, val -> numbers[size ? 5 : 2] += val, addNumberShift, addNumber, xPos, 40); + builder.widget(new ButtonWidget() + .setOnClick((clickData, widget) -> { + size = !size; + }) + .setBackground(GT_UITextures.BUTTON_STANDARD, overlay) + .setSize(18, 18) + .setPos(xPos, 58)); + } + + private void addChangeNumberButton( + ModularWindow.Builder builder, + IDrawable overlay, + Consumer setter, + int changeNumberShift, + int changeNumber, + int xPos, + int yPos) { + builder.widget(new ButtonWidget() + .setOnClick((clickData, widget) -> { + setter.accept(clickData.shift ? changeNumberShift : changeNumber); + }) + .setBackground(GT_UITextures.BUTTON_STANDARD, overlay) + .setSize(18, 18) + .setPos(xPos, yPos)); + } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_BuckConverter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_BuckConverter.java deleted file mode 100644 index 35950cc27c..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_BuckConverter.java +++ /dev/null @@ -1,151 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.single.gui; - -import com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_BuckConverter; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.gui.GT_ContainerMetaTile_Machine; -import gregtech.api.gui.GT_Slot_Holo; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class GT_Container_BuckConverter extends GT_ContainerMetaTile_Machine { - public int EUT = 0, AMP = 0; - - public GT_Container_BuckConverter(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(aInventoryPlayer, aTileEntity); - } - - @Override - public void addSlots(InventoryPlayer aInventoryPlayer) { - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 59, false, false, 1)); - } - - @Override - public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer) { - if (aSlotIndex < 0) { - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); - if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - GT_MetaTileEntity_BuckConverter buck = (GT_MetaTileEntity_BuckConverter) mTileEntity.getMetaTileEntity(); - switch (aSlotIndex) { - case 0: - buck.EUT -= aShifthold == 1 ? 512 : 64; - break; - case 1: - buck.EUT /= aShifthold == 1 ? 512 : 64; - break; - case 2: - buck.AMP -= aShifthold == 1 ? 512 : 64; - break; - case 3: - buck.AMP /= aShifthold == 1 ? 512 : 64; - break; - case 4: - buck.EUT -= aShifthold == 1 ? 16 : 1; - break; - case 5: - buck.EUT /= aShifthold == 1 ? 16 : 2; - break; - case 6: - buck.AMP -= aShifthold == 1 ? 16 : 1; - break; - case 7: - buck.AMP /= aShifthold == 1 ? 16 : 2; - break; - case 8: - buck.EUT += aShifthold == 1 ? 512 : 64; - break; - case 9: - buck.EUT *= aShifthold == 1 ? 512 : 64; - break; - case 10: - buck.AMP += aShifthold == 1 ? 512 : 64; - break; - case 11: - buck.AMP *= aShifthold == 1 ? 512 : 64; - break; - case 12: - buck.EUT += aShifthold == 1 ? 16 : 1; - break; - case 13: - buck.EUT *= aShifthold == 1 ? 16 : 2; - break; - case 14: - buck.AMP += aShifthold == 1 ? 16 : 1; - break; - case 15: - buck.AMP *= aShifthold == 1 ? 16 : 2; - break; - default: - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - buck.getBaseMetaTileEntity().setActive((long) AMP * EUT >= 0); - return null; - } - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) { - return; - } - - GT_MetaTileEntity_BuckConverter buck = (GT_MetaTileEntity_BuckConverter) mTileEntity.getMetaTileEntity(); - EUT = buck.EUT; - AMP = buck.AMP; - buck.getBaseMetaTileEntity().setActive((long) AMP * EUT >= 0); - - for (Object crafter : crafters) { - ICrafting var1 = (ICrafting) crafter; - var1.sendProgressBarUpdate(this, 100, EUT & 0xFFFF); - var1.sendProgressBarUpdate(this, 101, EUT >>> 16); - var1.sendProgressBarUpdate(this, 102, AMP & 0xFFFF); - var1.sendProgressBarUpdate(this, 103, AMP >>> 16); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void updateProgressBar(int par1, int par2) { - super.updateProgressBar(par1, par2); - switch (par1) { - case 100: - EUT = EUT & 0xFFFF0000 | par2; - break; - case 101: - EUT = EUT & 0xFFFF | par2 << 16; - break; - case 102: - AMP = AMP & 0xFFFF0000 | par2; - break; - case 103: - AMP = AMP & 0xFFFF | par2 << 16; - break; - } - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java deleted file mode 100644 index 097464efe8..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java +++ /dev/null @@ -1,152 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.single.gui; - -import com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_DebugPollutor; -import com.github.technus.tectech.util.TT_Utility; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.gui.GT_ContainerMetaTile_Machine; -import gregtech.api.gui.GT_Slot_Holo; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class GT_Container_DebugPollutor extends GT_ContainerMetaTile_Machine { - public int pollution; - public float anomaly; - private int anomalyInt; - - public GT_Container_DebugPollutor(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(aInventoryPlayer, aTileEntity); - } - - @Override - public void addSlots(InventoryPlayer aInventoryPlayer) { - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 59, false, false, 1)); - } - - @Override - public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer) { - if (aSlotIndex < 0) { - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); - if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - GT_MetaTileEntity_DebugPollutor dpg = (GT_MetaTileEntity_DebugPollutor) mTileEntity.getMetaTileEntity(); - switch (aSlotIndex) { - case 0: - dpg.pollution -= aShifthold == 1 ? 512 : 64; - break; - case 1: - dpg.pollution /= aShifthold == 1 ? 512 : 64; - break; - case 2: - dpg.anomaly -= aShifthold == 1 ? 512 : 64; - break; - case 3: - dpg.anomaly /= aShifthold == 1 ? 512 : 64; - break; - case 4: - dpg.pollution -= aShifthold == 1 ? 16 : 1; - break; - case 5: - dpg.pollution /= aShifthold == 1 ? 16 : 2; - break; - case 6: - dpg.anomaly -= aShifthold == 1 ? 16 : 1; - break; - case 7: - dpg.anomaly /= aShifthold == 1 ? 16 : 2; - break; - case 8: - dpg.pollution += aShifthold == 1 ? 512 : 64; - break; - case 9: - dpg.pollution *= aShifthold == 1 ? 512 : 64; - break; - case 10: - dpg.anomaly += aShifthold == 1 ? 512 : 64; - break; - case 11: - dpg.anomaly *= aShifthold == 1 ? 512 : 64; - break; - case 12: - dpg.pollution += aShifthold == 1 ? 16 : 1; - break; - case 13: - dpg.pollution *= aShifthold == 1 ? 16 : 2; - break; - case 14: - dpg.anomaly += aShifthold == 1 ? 16 : 1; - break; - case 15: - dpg.anomaly *= aShifthold == 1 ? 16 : 2; - break; - default: - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - if (dpg.anomaly == Float.POSITIVE_INFINITY) { - dpg.anomaly = Float.MAX_VALUE; - } else if (dpg.anomaly == Float.NEGATIVE_INFINITY) { - dpg.anomaly = -Float.MAX_VALUE; - } - return null; - } - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) { - return; - } - - GT_MetaTileEntity_DebugPollutor dpg = (GT_MetaTileEntity_DebugPollutor) mTileEntity.getMetaTileEntity(); - pollution = dpg.pollution; - anomaly = dpg.anomaly; - anomalyInt = Float.floatToIntBits(anomaly); - - for (Object crafter : crafters) { - ICrafting var1 = (ICrafting) crafter; - TT_Utility.sendInteger(pollution, this, var1, 100); - TT_Utility.sendFloat(anomaly, this, var1, 102); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void updateProgressBar(int par1, int par2) { - super.updateProgressBar(par1, par2); - switch (par1) { - case 100: - case 101: - pollution = TT_Utility.receiveInteger(pollution, 100, par1, par2); - break; - case 102: - case 103: - anomaly = Float.intBitsToFloat(anomalyInt = TT_Utility.receiveInteger(anomalyInt, 102, par1, par2)); - break; - } - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPowerGenerator.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPowerGenerator.java deleted file mode 100644 index 3563334b7a..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPowerGenerator.java +++ /dev/null @@ -1,153 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.single.gui; - -import com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_DebugPowerGenerator; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.gui.GT_ContainerMetaTile_Machine; -import gregtech.api.gui.GT_Slot_Holo; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class GT_Container_DebugPowerGenerator extends GT_ContainerMetaTile_Machine { - public int EUT = 0, AMP = 0; - - public GT_Container_DebugPowerGenerator(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(aInventoryPlayer, aTileEntity); - } - - @Override - public void addSlots(InventoryPlayer aInventoryPlayer) { - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 59, false, false, 1)); - } - - @Override - public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer) { - if (aSlotIndex < 0) { - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); - if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - GT_MetaTileEntity_DebugPowerGenerator dpg = - (GT_MetaTileEntity_DebugPowerGenerator) mTileEntity.getMetaTileEntity(); - switch (aSlotIndex) { - case 0: - dpg.EUT -= aShifthold == 1 ? 512 : 64; - break; - case 1: - dpg.EUT /= aShifthold == 1 ? 512 : 64; - break; - case 2: - dpg.AMP -= aShifthold == 1 ? 512 : 64; - break; - case 3: - dpg.AMP /= aShifthold == 1 ? 512 : 64; - break; - case 4: - dpg.EUT -= aShifthold == 1 ? 16 : 1; - break; - case 5: - dpg.EUT /= aShifthold == 1 ? 16 : 2; - break; - case 6: - dpg.AMP -= aShifthold == 1 ? 16 : 1; - break; - case 7: - dpg.AMP /= aShifthold == 1 ? 16 : 2; - break; - case 8: - dpg.EUT += aShifthold == 1 ? 512 : 64; - break; - case 9: - dpg.EUT *= aShifthold == 1 ? 512 : 64; - break; - case 10: - dpg.AMP += aShifthold == 1 ? 512 : 64; - break; - case 11: - dpg.AMP *= aShifthold == 1 ? 512 : 64; - break; - case 12: - dpg.EUT += aShifthold == 1 ? 16 : 1; - break; - case 13: - dpg.EUT *= aShifthold == 1 ? 16 : 2; - break; - case 14: - dpg.AMP += aShifthold == 1 ? 16 : 1; - break; - case 15: - dpg.AMP *= aShifthold == 1 ? 16 : 2; - break; - default: - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - dpg.producing = (long) AMP * EUT >= 0; - return null; - } - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) { - return; - } - - GT_MetaTileEntity_DebugPowerGenerator dpg = - (GT_MetaTileEntity_DebugPowerGenerator) mTileEntity.getMetaTileEntity(); - EUT = dpg.EUT; - AMP = dpg.AMP; - dpg.producing = (long) AMP * EUT >= 0; - - for (Object crafter : crafters) { - ICrafting var1 = (ICrafting) crafter; - var1.sendProgressBarUpdate(this, 100, EUT & 0xFFFF); - var1.sendProgressBarUpdate(this, 101, EUT >>> 16); - var1.sendProgressBarUpdate(this, 102, AMP & 0xFFFF); - var1.sendProgressBarUpdate(this, 103, AMP >>> 16); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void updateProgressBar(int par1, int par2) { - super.updateProgressBar(par1, par2); - switch (par1) { - case 100: - EUT = EUT & 0xFFFF0000 | par2; - break; - case 101: - EUT = EUT & 0xFFFF | par2 << 16; - break; - case 102: - AMP = AMP & 0xFFFF0000 | par2; - break; - case 103: - AMP = AMP & 0xFFFF | par2 << 16; - break; - } - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugStructureWriter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugStructureWriter.java deleted file mode 100644 index f2fcf9108b..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugStructureWriter.java +++ /dev/null @@ -1,145 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.single.gui; - -import com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_DebugStructureWriter; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.gui.GT_ContainerMetaTile_Machine; -import gregtech.api.gui.GT_Slot_Holo; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class GT_Container_DebugStructureWriter extends GT_ContainerMetaTile_Machine { - public boolean size = false; - public short[] numbers = new short[6]; - - public GT_Container_DebugStructureWriter(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(aInventoryPlayer, aTileEntity); - } - - @Override - public void addSlots(InventoryPlayer aInventoryPlayer) { - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 59, false, false, 1)); - } - - @Override - public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer) { - if (aSlotIndex < 0) { - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); - if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - GT_MetaTileEntity_DebugStructureWriter dsw = - (GT_MetaTileEntity_DebugStructureWriter) mTileEntity.getMetaTileEntity(); - if (dsw.numbers == null) { - return null; - } - switch (aSlotIndex) { - case 0: - dsw.numbers[size ? 3 : 0] -= aShifthold == 1 ? 512 : 64; - return null; - case 1: - dsw.numbers[size ? 4 : 1] -= aShifthold == 1 ? 512 : 64; - return null; - case 2: - dsw.numbers[size ? 5 : 2] -= aShifthold == 1 ? 512 : 64; - return null; - case 4: - dsw.numbers[size ? 3 : 0] -= aShifthold == 1 ? 16 : 1; - return null; - case 5: - dsw.numbers[size ? 4 : 1] -= aShifthold == 1 ? 16 : 1; - return null; - case 6: - dsw.numbers[size ? 5 : 2] -= aShifthold == 1 ? 16 : 1; - return null; - case 8: - dsw.numbers[size ? 3 : 0] += aShifthold == 1 ? 512 : 64; - return null; - case 9: - dsw.numbers[size ? 4 : 1] += aShifthold == 1 ? 512 : 64; - return null; - case 10: - dsw.numbers[size ? 5 : 2] += aShifthold == 1 ? 512 : 64; - return null; - case 12: - dsw.numbers[size ? 3 : 0] += aShifthold == 1 ? 16 : 1; - return null; - case 13: - dsw.numbers[size ? 4 : 1] += aShifthold == 1 ? 16 : 1; - return null; - case 14: - dsw.numbers[size ? 5 : 2] += aShifthold == 1 ? 16 : 1; - return null; - case 3: - case 7: - case 11: - case 15: - dsw.size ^= true; - return null; - } - } - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) { - return; - } - GT_MetaTileEntity_DebugStructureWriter dsw = - (GT_MetaTileEntity_DebugStructureWriter) mTileEntity.getMetaTileEntity(); - if (numbers != null) { - System.arraycopy(dsw.numbers, 0, numbers, 0, dsw.numbers.length); - } - size = dsw.size; - - for (Object crafter : crafters) { - ICrafting var1 = (ICrafting) crafter; - if (numbers != null) { - var1.sendProgressBarUpdate(this, 100, numbers[0]); - var1.sendProgressBarUpdate(this, 101, numbers[1]); - var1.sendProgressBarUpdate(this, 102, numbers[2]); - var1.sendProgressBarUpdate(this, 103, numbers[3]); - var1.sendProgressBarUpdate(this, 104, numbers[4]); - var1.sendProgressBarUpdate(this, 105, numbers[5]); - } - var1.sendProgressBarUpdate(this, 106, size ? 1 : 0); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void updateProgressBar(int par1, int par2) { - super.updateProgressBar(par1, par2); - if (par1 == 106) { - size = par2 == 1; - } else { - if (numbers != null && par1 >= 100 && par1 <= 105) { - numbers[par1 - 100] = (short) par2; - } - } - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_BuckConverter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_BuckConverter.java deleted file mode 100644 index 8aef833a1b..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_BuckConverter.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.single.gui; - -import static com.github.technus.tectech.util.CommonValues.VN; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - -import com.github.technus.tectech.util.TT_Utility; -import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.InventoryPlayer; - -public class GT_GUIContainer_BuckConverter extends GT_GUIContainerMetaTile_Machine { - public GT_GUIContainer_BuckConverter(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(new GT_Container_BuckConverter(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Teleporter.png"); - } - - @Override - protected void drawGuiContainerForegroundLayer(int par1, int par2) { - fontRendererObj.drawString("Buck Converter", 46, 8, 16448255); - if (mContainer != null) { - GT_Container_BuckConverter buck = (GT_Container_BuckConverter) mContainer; - fontRendererObj.drawString("EUT: " + buck.EUT, 46, 24, 16448255); - fontRendererObj.drawString( - "TIER: " + VN[TT_Utility.getTier(buck.EUT < 0 ? -buck.EUT : buck.EUT)], 46, 32, 16448255); - fontRendererObj.drawString("AMP: " + buck.AMP, 46, 40, 16448255); - fontRendererObj.drawString("SUM: " + (long) buck.AMP * buck.EUT, 46, 48, 16448255); - } - } - - @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); - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPollutor.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPollutor.java deleted file mode 100644 index a754412eb6..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPollutor.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.single.gui; - -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - -import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.InventoryPlayer; - -public class GT_GUIContainer_DebugPollutor extends GT_GUIContainerMetaTile_Machine { - public GT_GUIContainer_DebugPollutor(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(new GT_Container_DebugPollutor(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Teleporter.png"); - } - - @Override - protected void drawGuiContainerForegroundLayer(int par1, int par2) { - fontRendererObj.drawString("Pollutor", 46, 8, 16448255); - if (mContainer != null) { - GT_Container_DebugPollutor dpg = (GT_Container_DebugPollutor) mContainer; - fontRendererObj.drawString("Pollution: " + dpg.pollution, 46, 24, 16448255); - fontRendererObj.drawString("Anomaly: " + dpg.anomaly, 46, 32, 16448255); - } - } - - @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); - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPowerGenerator.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPowerGenerator.java deleted file mode 100644 index e0990fa49c..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugPowerGenerator.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.single.gui; - -import static com.github.technus.tectech.util.CommonValues.VN; -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - -import com.github.technus.tectech.util.TT_Utility; -import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.InventoryPlayer; - -public class GT_GUIContainer_DebugPowerGenerator extends GT_GUIContainerMetaTile_Machine { - public GT_GUIContainer_DebugPowerGenerator(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(new GT_Container_DebugPowerGenerator(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Teleporter.png"); - } - - @Override - protected void drawGuiContainerForegroundLayer(int par1, int par2) { - fontRendererObj.drawString("PowerThing", 46, 8, 16448255); - if (mContainer != null) { - GT_Container_DebugPowerGenerator dpg = (GT_Container_DebugPowerGenerator) mContainer; - fontRendererObj.drawString("EUT: " + dpg.EUT, 46, 24, 16448255); - fontRendererObj.drawString( - "TIER: " + VN[TT_Utility.getTier(dpg.EUT < 0 ? -dpg.EUT : dpg.EUT)], 46, 32, 16448255); - fontRendererObj.drawString("AMP: " + dpg.AMP, 46, 40, 16448255); - fontRendererObj.drawString("SUM: " + (long) dpg.AMP * dpg.EUT, 46, 48, 16448255); - } - } - - @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); - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugStructureWriter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugStructureWriter.java deleted file mode 100644 index f37327d457..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DebugStructureWriter.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.single.gui; - -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - -import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.InventoryPlayer; - -public class GT_GUIContainer_DebugStructureWriter extends GT_GUIContainerMetaTile_Machine { - public GT_GUIContainer_DebugStructureWriter(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(new GT_Container_DebugStructureWriter(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Teleporter.png"); - } - - @Override - protected void drawGuiContainerForegroundLayer(int par1, int par2) { - fontRendererObj.drawString("StructPrint", 46, 8, 16448255); - if (mContainer != null) { - GT_Container_DebugStructureWriter dsw = (GT_Container_DebugStructureWriter) mContainer; - if (dsw.numbers == null) { - return; - } - fontRendererObj.drawString(dsw.size ? "Structure size" : "My position", 46, 16, 16448255); - fontRendererObj.drawString(dsw.size ? "(Changing scan size)" : "(Moving origin)", 46, 24, 16448255); - fontRendererObj.drawString("A: " + dsw.numbers[dsw.size ? 3 : 0], 46, 32, 16448255); - fontRendererObj.drawString("B: " + dsw.numbers[dsw.size ? 4 : 1], 46, 40, 16448255); - fontRendererObj.drawString("C: " + dsw.numbers[dsw.size ? 5 : 2], 46, 48, 16448255); - } - } - - @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); - } -} -- cgit From d2839652313f4db1f1f3b2322baefe2330c475de Mon Sep 17 00:00:00 2001 From: miozune Date: Wed, 16 Nov 2022 17:55:43 +0900 Subject: Object Holder & Rack --- dependencies.gradle | 2 +- .../tectech/thing/gui/TecTechUITextures.java | 23 +++++ .../hatch/GT_MetaTileEntity_Hatch_Holder.java | 79 +++++++++++---- .../hatch/GT_MetaTileEntity_Hatch_Rack.java | 96 ++++++++++++++---- .../hatch/gui/GT_Container_Holder.java | 80 --------------- .../hatch/gui/GT_Container_Rack.java | 112 --------------------- .../hatch/gui/GT_GUIContainer_Holder.java | 35 ------- .../hatch/gui/GT_GUIContainer_Rack.java | 38 ------- .../single/GT_MetaTileEntity_BuckConverter.java | 16 ++- .../single/GT_MetaTileEntity_DebugPollutor.java | 16 ++- .../GT_MetaTileEntity_DebugPowerGenerator.java | 15 ++- .../GT_MetaTileEntity_DebugStructureWriter.java | 16 ++- .../assets/gregtech/textures/gui/holder.png | Bin 262950 -> 0 bytes .../assets/gregtech/textures/gui/rack.png | Bin 262950 -> 0 bytes .../tectech/textures/gui/button/standard_16x16.png | Bin 0 -> 109 bytes .../textures/gui/overlay_button/heat_off.png | Bin 0 -> 565 bytes .../textures/gui/overlay_button/heat_on.png | Bin 0 -> 880 bytes .../gui/overlay_button/power_switch_off.png | Bin 0 -> 182 bytes .../gui/overlay_button/power_switch_on.png | Bin 0 -> 396 bytes .../tectech/textures/gui/overlay_slot/rack.png | Bin 0 -> 151 bytes .../tectech/textures/gui/picture/heat_sink.png | Bin 0 -> 560 bytes .../tectech/textures/gui/picture/rack_large.png | Bin 0 -> 166 bytes .../tectech/textures/gui/picture/tectech_logo.png | Bin 0 -> 279 bytes 23 files changed, 190 insertions(+), 338 deletions(-) create mode 100644 src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Holder.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Rack.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Holder.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Rack.java delete mode 100644 src/main/resources/assets/gregtech/textures/gui/holder.png delete mode 100644 src/main/resources/assets/gregtech/textures/gui/rack.png create mode 100644 src/main/resources/assets/tectech/textures/gui/button/standard_16x16.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/heat_off.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/heat_on.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_off.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_on.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_slot/rack.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/heat_sink.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/rack_large.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/tectech_logo.png diff --git a/dependencies.gradle b/dependencies.gradle index 5a7751c24f..b85d8e2c78 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,7 +2,7 @@ dependencies { shadowImplementation('com.github.GTNewHorizons:AVRcore:master-SNAPSHOT') - compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.112-pre:dev') + compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.123-pre:dev') compile('com.github.GTNewHorizons:Yamcl:0.5.84:dev') compile('com.github.GTNewHorizons:NotEnoughItems:2.3.7-GTNH:dev') compile('com.github.GTNewHorizons:CodeChickenLib:1.1.5.5:dev') diff --git a/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java b/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java new file mode 100644 index 0000000000..5f195bae64 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java @@ -0,0 +1,23 @@ +package com.github.technus.tectech.thing.gui; + +import static com.github.technus.tectech.Reference.MODID; + +import com.gtnewhorizons.modularui.api.drawable.UITexture; + +public class TecTechUITextures { + + public static final UITexture BUTTON_STANDARD_16x16 = UITexture.fullImage(MODID, "gui/button/standard_16x16"); + + public static final UITexture OVERLAY_BUTTON_POWER_SWITCH_OFF = + UITexture.fullImage(MODID, "gui/overlay_button/power_switch_off"); + public static final UITexture OVERLAY_BUTTON_POWER_SWITCH_ON = + UITexture.fullImage(MODID, "gui/overlay_button/power_switch_on"); + public static final UITexture OVERLAY_BUTTON_HEAT_OFF = UITexture.fullImage(MODID, "gui/overlay_button/heat_off"); + public static final UITexture OVERLAY_BUTTON_HEAT_ON = UITexture.fullImage(MODID, "gui/overlay_button/heat_on"); + + public static final UITexture OVERLAY_SLOT_RACK = UITexture.fullImage(MODID, "gui/overlay_slot/rack"); + + public static final UITexture PICTURE_TECTECH_LOGO = UITexture.fullImage(MODID, "gui/picture/tectech_logo"); + public static final UITexture PICTURE_RACK_LARGE = UITexture.fullImage(MODID, "gui/picture/rack_large"); + public static final UITexture PICTURE_HEAT_SINK = UITexture.fullImage(MODID, "gui/picture/heat_sink"); +} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java index de173f2a16..9381f432f3 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java @@ -2,28 +2,34 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; import static net.minecraft.util.StatCollector.translateToLocal; -import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Holder; -import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_Holder; +import com.github.technus.tectech.thing.gui.TecTechUITextures; import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.api.screen.UIBuildContext; +import com.gtnewhorizons.modularui.common.internal.wrapper.BaseSlot; +import com.gtnewhorizons.modularui.common.widget.DrawableWidget; +import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; +import com.gtnewhorizons.modularui.common.widget.SlotWidget; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Textures; +import gregtech.api.gui.modularui.GT_UIInfos; import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.modularui.IAddGregtechLogo; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.objects.GT_RenderedTexture; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; /** * Created by Tec on 03.04.2017. */ -public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch { +public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch implements IAddGregtechLogo { private static Textures.BlockIcons.CustomIcon EM_H; private static Textures.BlockIcons.CustomIcon EM_H_ACTIVE; @@ -89,19 +95,6 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch { return aSide == aBaseMetaTileEntity.getFrontFacing(); } - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_Holder(aPlayerInventory, aBaseMetaTileEntity); - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_Holder( - aPlayerInventory, - aBaseMetaTileEntity, - translateToLocal("gt.blockmachines.hatch.holder.tier.09.name")); // Object Holder - } - @Override public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { if (aBaseMetaTileEntity.isClientSide()) { @@ -112,7 +105,7 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch { // else if(heat>0) // aPlayer.addChatComponentMessage(new ChatComponentText("It is still warm...")); // else - aBaseMetaTileEntity.openGUI(aPlayer); + GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); return true; } @@ -130,4 +123,54 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch { + translateToLocal("gt.blockmachines.hatch.holder.desc.1") // Advanced Holding Mechanism! }; } + + @Override + public boolean useModularUI() { + return true; + } + + @Override + public void addGregTechLogo(ModularWindow.Builder builder) { + builder.widget(new DrawableWidget() + .setDrawable(TecTechUITextures.PICTURE_TECTECH_LOGO) + .setSize(18, 18) + .setPos(151, 63)); + } + + @Override + public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + builder.widget(new DrawableWidget() + .setDrawable(TecTechUITextures.PICTURE_HEAT_SINK) + .setPos(46, 17) + .setSize(84, 60)) + .widget(new DrawableWidget() + .setDrawable(TecTechUITextures.PICTURE_RACK_LARGE) + .setPos(68, 27) + .setSize(40, 40)) + .widget(new SlotWidget(new BaseSlot(inventoryHandler, 0) { + @Override + public int getSlotStackLimit() { + return 1; + } + + @Override + public boolean isEnabled() { + return !getBaseMetaTileEntity().isActive(); + } + }) + .setPos(79, 38)) + .widget(new DrawableWidget() + .setDrawable(TecTechUITextures.BUTTON_STANDARD_16x16) + .setPos(152, 24) + .setSize(16, 16)) + .widget(new DrawableWidget() + .setDrawable(() -> getBaseMetaTileEntity().isActive() + ? TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_ON + : TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_OFF) + .setPos(152, 24) + .setSize(16, 16)) + .widget(new FakeSyncWidget.BooleanSyncer( + () -> getBaseMetaTileEntity().isActive(), + val -> getBaseMetaTileEntity().setActive(val))); + } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java index 5e3986ec41..cede4a33b1 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java @@ -8,16 +8,25 @@ import static net.minecraft.util.StatCollector.translateToLocalFormatted; import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; -import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Rack; -import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_Rack; +import com.github.technus.tectech.thing.gui.TecTechUITextures; import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; +import com.gtnewhorizons.modularui.api.math.Pos2d; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.api.screen.UIBuildContext; +import com.gtnewhorizons.modularui.common.internal.wrapper.BaseSlot; +import com.gtnewhorizons.modularui.common.widget.DrawableWidget; +import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; +import com.gtnewhorizons.modularui.common.widget.SlotWidget; import cpw.mods.fml.common.Loader; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.ItemList; import gregtech.api.enums.Textures; +import gregtech.api.gui.modularui.GT_UIInfos; import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.modularui.IAddGregtechLogo; +import gregtech.api.interfaces.modularui.IAddUIWidgets; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; @@ -27,7 +36,6 @@ import java.util.Map; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; @@ -36,7 +44,7 @@ import org.apache.commons.lang3.reflect.FieldUtils; /** * Created by Tec on 03.04.2017. */ -public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { +public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch implements IAddGregtechLogo, IAddUIWidgets { private static Textures.BlockIcons.CustomIcon EM_R; private static Textures.BlockIcons.CustomIcon EM_R_ACTIVE; public int heat = 0; @@ -129,19 +137,6 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { return aSide == aBaseMetaTileEntity.getFrontFacing(); } - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_Rack(aPlayerInventory, aBaseMetaTileEntity); - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_Rack( - aPlayerInventory, - aBaseMetaTileEntity, - translateToLocal("gt.blockmachines.hatch.rack.tier.08.name")); // Computer Rack - } - @Override public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { if (aBaseMetaTileEntity.isClientSide()) { @@ -158,7 +153,7 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { // else if(heat>0) // aPlayer.addChatComponentMessage(new ChatComponentText("It is still warm...")); // else - aBaseMetaTileEntity.openGUI(aPlayer); + GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); return true; } @@ -294,6 +289,71 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch { // Heat==1-10? --> 1 } + @Override + public boolean useModularUI() { + return true; + } + + @Override + public void addGregTechLogo(ModularWindow.Builder builder) { + builder.widget(new DrawableWidget() + .setDrawable(TecTechUITextures.PICTURE_TECTECH_LOGO) + .setSize(18, 18) + .setPos(151, 63)); + } + + @Override + public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + builder.widget(new DrawableWidget() + .setDrawable(TecTechUITextures.PICTURE_HEAT_SINK) + .setPos(46, 17) + .setSize(84, 60)); + + Pos2d[] positions = new Pos2d[] { + new Pos2d(68, 27), new Pos2d(90, 27), new Pos2d(68, 49), new Pos2d(90, 49), + }; + for (int i = 0; i < positions.length; i++) { + builder.widget(new SlotWidget(new BaseSlot(inventoryHandler, i) { + @Override + public int getSlotStackLimit() { + return 1; + } + + @Override + public boolean isEnabled() { + return !getBaseMetaTileEntity().isActive() && heat <= 0; + } + }) + .setBackground(getGUITextureSet().getItemSlot(), TecTechUITextures.OVERLAY_SLOT_RACK) + .setPos(positions[i])); + + builder.widget(new DrawableWidget() + .setDrawable(TecTechUITextures.BUTTON_STANDARD_16x16) + .setPos(152, 24) + .setSize(16, 16)) + .widget(new DrawableWidget() + .setDrawable(() -> getBaseMetaTileEntity().isActive() + ? TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_ON + : TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_OFF) + .setPos(152, 24) + .setSize(16, 16)) + .widget(new FakeSyncWidget.BooleanSyncer( + () -> getBaseMetaTileEntity().isActive(), + val -> getBaseMetaTileEntity().setActive(val))); + builder.widget(new DrawableWidget() + .setDrawable(TecTechUITextures.BUTTON_STANDARD_16x16) + .setPos(152, 41) + .setSize(16, 16)) + .widget(new DrawableWidget() + .setDrawable(() -> heat > 0 + ? TecTechUITextures.OVERLAY_BUTTON_HEAT_ON + : TecTechUITextures.OVERLAY_BUTTON_HEAT_OFF) + .setPos(152, 41) + .setSize(16, 16)) + .widget(new FakeSyncWidget.IntegerSyncer(() -> heat, val -> heat = val)); + } + } + public static void run() { // 20k heat cap max! new RackComponent(ItemList.Circuit_Primitive.get(1), 1, 4, 0, 500, true); // Primitive Circuit new RackComponent(ItemList.Circuit_Basic.get(1), 4, 8, 0, 1000, true); // Basic Circuit diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Holder.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Holder.java deleted file mode 100644 index e8377ba7bb..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Holder.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; - -import gregtech.api.gui.GT_ContainerMetaTile_Machine; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.EntityPlayer; -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_Holder extends GT_ContainerMetaTile_Machine { - public GT_Container_Holder(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(aInventoryPlayer, aTileEntity); - } - - @Override - public void addSlots(InventoryPlayer aInventoryPlayer) { - addSlotToContainer(new Slot(mTileEntity, 0, 80, 39)); - } - - @Override - public int getSlotCount() { - return 1; - } - - @Override - public int getShiftClickSlotCount() { - return 1; - } - - @Override - public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer) { - if (mActive != 0) { - return null; - } - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer aPlayer, int aSlotIndex) { - if (mActive != 0) { - return null; - } - return super.transferStackInSlot(aPlayer, aSlotIndex); - } - - @Override - public boolean canDragIntoSlot(Slot par1Slot) { - if (mActive != 0) { - return false; - } - return super.canDragIntoSlot(par1Slot); - } - - @Override - public void putStacksInSlots(ItemStack[] par1ArrayOfItemStack) { - if (mActive != 0) { - return; - } - super.putStacksInSlots(par1ArrayOfItemStack); - } - - @Override - protected boolean mergeItemStack(ItemStack aStack, int aStartIndex, int aSlotCount, boolean par4) { - if (mActive != 0) { - return false; - } - return super.mergeItemStack(aStack, aStartIndex, aSlotCount, par4); - } - - @Override - public void putStackInSlot(int par1, ItemStack par2ItemStack) { - if (mActive != 0) { - return; - } - super.putStackInSlot(par1, par2ItemStack); - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Rack.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Rack.java deleted file mode 100644 index 16b38e254f..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Rack.java +++ /dev/null @@ -1,112 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; - -import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Rack; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.gui.GT_ContainerMetaTile_Machine; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -/** - * Created by Tec on 09.04.2017. - */ -public class GT_Container_Rack extends GT_ContainerMetaTile_Machine { - public boolean heat = false; - - public GT_Container_Rack(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(aInventoryPlayer, aTileEntity); - } - - @Override - public void addSlots(InventoryPlayer aInventoryPlayer) { - addSlotToContainer(new Slot(mTileEntity, 0, 69, 28)); - addSlotToContainer(new Slot(mTileEntity, 1, 91, 28)); - addSlotToContainer(new Slot(mTileEntity, 2, 69, 50)); - addSlotToContainer(new Slot(mTileEntity, 3, 91, 50)); - } - - @Override - public int getSlotCount() { - return 4; - } - - @Override - public int getShiftClickSlotCount() { - return 4; - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) { - return; - } - heat = ((GT_MetaTileEntity_Hatch_Rack) mTileEntity.getMetaTileEntity()).heat > 0; - - for (Object crafter : crafters) { - ICrafting var1 = (ICrafting) crafter; - var1.sendProgressBarUpdate(this, 100, heat ? 1 : 0); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void updateProgressBar(int par1, int par2) { - super.updateProgressBar(par1, par2); - if (par1 == 100) { - heat = par2 != 0; - } - } - - @Override - public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer) { - if (heat || mActive != 0) { - return null; - } - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer aPlayer, int aSlotIndex) { - if (heat || mActive != 0) { - return null; - } - return super.transferStackInSlot(aPlayer, aSlotIndex); - } - - @Override - public boolean canDragIntoSlot(Slot par1Slot) { - if (heat || mActive != 0) { - return false; - } - return super.canDragIntoSlot(par1Slot); - } - - @Override - public void putStacksInSlots(ItemStack[] par1ArrayOfItemStack) { - if (heat || mActive != 0) { - return; - } - super.putStacksInSlots(par1ArrayOfItemStack); - } - - @Override - protected boolean mergeItemStack(ItemStack aStack, int aStartIndex, int aSlotCount, boolean par4) { - if (heat || mActive != 0) { - return false; - } - return super.mergeItemStack(aStack, aStartIndex, aSlotCount, par4); - } - - @Override - public void putStackInSlot(int par1, ItemStack par2ItemStack) { - if (heat || mActive != 0) { - return; - } - super.putStackInSlot(par1, par2ItemStack); - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Holder.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Holder.java deleted file mode 100644 index 7019a6128e..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Holder.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; - -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_Holder extends GT_GUIContainerMetaTile_Machine { - private final String mName; - - public GT_GUIContainer_Holder(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName) { - super(new GT_Container_Holder(aInventoryPlayer, aTileEntity), "gregtech:textures/gui/holder.png"); - mName = aName; - } - - @Override - protected void drawGuiContainerForegroundLayer(int par1, int par2) { - fontRendererObj.drawString(mName, 8, 4, 4210752); - } - - @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_Holder) mContainer).mActive == 1) { - drawTexturedModalRect(x + 151, y + 23, 183, 23, 18, 18); - } - } - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Rack.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Rack.java deleted file mode 100644 index 396a690a8f..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Rack.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; - -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_Rack extends GT_GUIContainerMetaTile_Machine { - private final String mName; - - public GT_GUIContainer_Rack(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName) { - super(new GT_Container_Rack(aInventoryPlayer, aTileEntity), "gregtech:textures/gui/rack.png"); - mName = aName; - } - - @Override - protected void drawGuiContainerForegroundLayer(int par1, int par2) { - fontRendererObj.drawString(mName, 8, 4, 4210752); - } - - @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_Rack) mContainer).mActive == 1) { - drawTexturedModalRect(x + 151, y + 23, 183, 23, 18, 18); - } - if (((GT_Container_Rack) mContainer).heat) { - drawTexturedModalRect(x + 151, y + 41, 183, 41, 18, 18); - } - } - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java index e03edcd77c..63c5e142e0 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_BuckConverter.java @@ -18,6 +18,8 @@ import gregtech.api.enums.Textures; import gregtech.api.gui.modularui.GT_UIInfos; import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.modularui.IAddGregtechLogo; +import gregtech.api.interfaces.modularui.IAddUIWidgets; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock; @@ -30,7 +32,8 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; -public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMachineBlock { +public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMachineBlock + implements IAddUIWidgets, IAddGregtechLogo { private static GT_RenderedTexture BUCK, BUCK_ACTIVE; public int EUT = 0, AMP = 0; @@ -209,20 +212,15 @@ public class GT_MetaTileEntity_BuckConverter extends GT_MetaTileEntity_TieredMac } @Override - protected void addGregTechLogo(ModularWindow.Builder builder) { + public void addGregTechLogo(ModularWindow.Builder builder) { builder.widget(new DrawableWidget() - .setDrawable(getGregTechLogo()) + .setDrawable(GT_UITextures.PICTURE_GT_LOGO_17x17_TRANSPARENT_GRAY) .setSize(17, 17) .setPos(113, 56)); } @Override - protected IDrawable getGregTechLogo() { - return GT_UITextures.PICTURE_GT_LOGO_17x17_TRANSPARENT_GRAY; - } - - @Override - protected void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { builder.widget(new DrawableWidget() .setDrawable(GT_UITextures.PICTURE_SCREEN_BLACK) .setSize(90, 72) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java index 3af07f7590..6a48095d55 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java @@ -19,6 +19,8 @@ import gregtech.api.enums.Textures; import gregtech.api.gui.modularui.GT_UIInfos; import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.modularui.IAddGregtechLogo; +import gregtech.api.interfaces.modularui.IAddUIWidgets; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock; @@ -34,7 +36,8 @@ import net.minecraft.util.EnumChatFormatting; /** * Created by Tec on 23.03.2017. */ -public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMachineBlock { +public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMachineBlock + implements IAddUIWidgets, IAddGregtechLogo { private static GT_RenderedTexture POLLUTOR; public int pollution = 0; public float anomaly = 0; @@ -171,20 +174,15 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac } @Override - protected void addGregTechLogo(ModularWindow.Builder builder) { + public void addGregTechLogo(ModularWindow.Builder builder) { builder.widget(new DrawableWidget() - .setDrawable(getGregTechLogo()) + .setDrawable(GT_UITextures.PICTURE_GT_LOGO_17x17_TRANSPARENT_GRAY) .setSize(17, 17) .setPos(113, 56)); } @Override - protected IDrawable getGregTechLogo() { - return GT_UITextures.PICTURE_GT_LOGO_17x17_TRANSPARENT_GRAY; - } - - @Override - protected void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { builder.widget(new DrawableWidget() .setDrawable(GT_UITextures.PICTURE_SCREEN_BLACK) .setSize(90, 72) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java index cf21617ca8..dc5398a254 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPowerGenerator.java @@ -23,6 +23,8 @@ import gregtech.api.gui.modularui.GT_UIInfos; import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.modularui.IAddGregtechLogo; +import gregtech.api.interfaces.modularui.IAddUIWidgets; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock; @@ -40,7 +42,7 @@ import net.minecraft.util.StatCollector; * Created by Tec on 23.03.2017. */ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_TieredMachineBlock - implements IConnectsToEnergyTunnel { + implements IConnectsToEnergyTunnel, IAddUIWidgets, IAddGregtechLogo { private static GT_RenderedTexture GENNY; private boolean LASER = false; public int EUT = 0, AMP = 0; @@ -299,20 +301,15 @@ public class GT_MetaTileEntity_DebugPowerGenerator extends GT_MetaTileEntity_Tie } @Override - protected void addGregTechLogo(ModularWindow.Builder builder) { + public void addGregTechLogo(ModularWindow.Builder builder) { builder.widget(new DrawableWidget() - .setDrawable(getGregTechLogo()) + .setDrawable(GT_UITextures.PICTURE_GT_LOGO_17x17_TRANSPARENT_GRAY) .setSize(17, 17) .setPos(113, 56)); } @Override - protected IDrawable getGregTechLogo() { - return GT_UITextures.PICTURE_GT_LOGO_17x17_TRANSPARENT_GRAY; - } - - @Override - protected void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { builder.widget(new DrawableWidget() .setDrawable(GT_UITextures.PICTURE_SCREEN_BLACK) .setSize(90, 72) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java index a536e39b12..f7b4db02fd 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java @@ -20,6 +20,8 @@ import gregtech.api.enums.Textures; import gregtech.api.gui.modularui.GT_UIInfos; import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.modularui.IAddGregtechLogo; +import gregtech.api.interfaces.modularui.IAddUIWidgets; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock; @@ -35,7 +37,8 @@ import net.minecraftforge.common.util.ForgeDirection; /** * Created by Tec on 23.03.2017. */ -public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_TieredMachineBlock { +public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_TieredMachineBlock + implements IAddUIWidgets, IAddGregtechLogo { private static GT_RenderedTexture MARK; public short[] numbers = new short[6]; public boolean size = false; @@ -226,20 +229,15 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti } @Override - protected void addGregTechLogo(ModularWindow.Builder builder) { + public void addGregTechLogo(ModularWindow.Builder builder) { builder.widget(new DrawableWidget() - .setDrawable(getGregTechLogo()) + .setDrawable(GT_UITextures.PICTURE_GT_LOGO_17x17_TRANSPARENT_GRAY) .setSize(17, 17) .setPos(113, 56)); } @Override - protected IDrawable getGregTechLogo() { - return GT_UITextures.PICTURE_GT_LOGO_17x17_TRANSPARENT_GRAY; - } - - @Override - protected void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { builder.widget(new DrawableWidget() .setDrawable(GT_UITextures.PICTURE_SCREEN_BLACK) .setSize(90, 72) diff --git a/src/main/resources/assets/gregtech/textures/gui/holder.png b/src/main/resources/assets/gregtech/textures/gui/holder.png deleted file mode 100644 index 421a4aee38..0000000000 Binary files a/src/main/resources/assets/gregtech/textures/gui/holder.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/gui/rack.png b/src/main/resources/assets/gregtech/textures/gui/rack.png deleted file mode 100644 index e6ce2d6efd..0000000000 Binary files a/src/main/resources/assets/gregtech/textures/gui/rack.png and /dev/null differ diff --git a/src/main/resources/assets/tectech/textures/gui/button/standard_16x16.png b/src/main/resources/assets/tectech/textures/gui/button/standard_16x16.png new file mode 100644 index 0000000000..4071b19033 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/button/standard_16x16.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/heat_off.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/heat_off.png new file mode 100644 index 0000000000..d4307a802c Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/heat_off.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/heat_on.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/heat_on.png new file mode 100644 index 0000000000..45f6bdf8ce Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/heat_on.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_off.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_off.png new file mode 100644 index 0000000000..be40408929 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_off.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_on.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_on.png new file mode 100644 index 0000000000..1a033c8aec Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_on.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_slot/rack.png b/src/main/resources/assets/tectech/textures/gui/overlay_slot/rack.png new file mode 100644 index 0000000000..8abaf83263 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_slot/rack.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/heat_sink.png b/src/main/resources/assets/tectech/textures/gui/picture/heat_sink.png new file mode 100644 index 0000000000..238409ace8 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/heat_sink.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/rack_large.png b/src/main/resources/assets/tectech/textures/gui/picture/rack_large.png new file mode 100644 index 0000000000..b57e9267aa Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/rack_large.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/tectech_logo.png b/src/main/resources/assets/tectech/textures/gui/picture/tectech_logo.png new file mode 100644 index 0000000000..704d04c26d Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/tectech_logo.png differ -- cgit From 417f7c1b3181a82be6913bfdb158445247caaa32 Mon Sep 17 00:00:00 2001 From: miozune Date: Wed, 16 Nov 2022 19:23:30 +0900 Subject: updateBuildScript --- build.gradle | 116 +++++++++++++++++++++++++++++++---------------------------- 1 file changed, 62 insertions(+), 54 deletions(-) diff --git a/build.gradle b/build.gradle index f068c2e59b..987d3023f8 100644 --- a/build.gradle +++ b/build.gradle @@ -1,8 +1,8 @@ -//version: 1664372158 +//version: 1668274302 /* DO NOT CHANGE THIS FILE! Also, you may replace this file at any time if there is an update available. - Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/build.gradle for updates. + Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/master/build.gradle for updates. */ @@ -45,7 +45,7 @@ buildscript { } } dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:1.2.9' + classpath 'net.minecraftforge.gradle:ForgeGradle:1.2.11' } } plugins { @@ -147,17 +147,21 @@ String javaSourceDir = "src/main/java/" String scalaSourceDir = "src/main/scala/" String kotlinSourceDir = "src/main/kotlin/" -String targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") -String targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") -String targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + +final String modGroupPath = modGroup.toString().replaceAll("\\.", "/") +final String apiPackagePath = apiPackage.toString().replaceAll("\\.", "/") + +String targetPackageJava = javaSourceDir + modGroupPath +String targetPackageScala = scalaSourceDir + modGroupPath +String targetPackageKotlin = kotlinSourceDir + modGroupPath if (!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { throw new GradleException("Could not resolve \"modGroup\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin) } if (apiPackage) { - targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") - targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") - targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + targetPackageJava = javaSourceDir + modGroupPath + "/" + apiPackagePath + targetPackageScala = scalaSourceDir + modGroupPath + "/" + apiPackagePath + targetPackageKotlin = kotlinSourceDir + modGroupPath + "/" + apiPackagePath if (!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { throw new GradleException("Could not resolve \"apiPackage\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin) } @@ -171,31 +175,36 @@ if (accessTransformersFile) { } if (usesMixins.toBoolean()) { - if (mixinsPackage.isEmpty() || mixinPlugin.isEmpty()) { - throw new GradleException("\"mixinPlugin\" requires \"mixinsPackage\" and \"mixinPlugin\" to be set!") + if (mixinsPackage.isEmpty()) { + throw new GradleException("\"usesMixins\" requires \"mixinsPackage\" to be set!") } + final String mixinPackagePath = mixinsPackage.toString().replaceAll("\\.", "/") + final String mixinPluginPath = mixinPlugin.toString().replaceAll("\\.", "/") - targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") - targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") - targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") + targetPackageJava = javaSourceDir + modGroupPath + "/" + mixinPackagePath + targetPackageScala = scalaSourceDir + modGroupPath + "/" + mixinPackagePath + targetPackageKotlin = kotlinSourceDir + modGroupPath + "/" + mixinPackagePath if (!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { throw new GradleException("Could not resolve \"mixinsPackage\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin) } - String targetFileJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".java" - String targetFileScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".scala" - String targetFileScalaJava = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".java" - String targetFileKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".kt" - if (!(getFile(targetFileJava).exists() || getFile(targetFileScala).exists() || getFile(targetFileScalaJava).exists() || getFile(targetFileKotlin).exists())) { - throw new GradleException("Could not resolve \"mixinPlugin\"! Could not find " + targetFileJava + " or " + targetFileScala + " or " + targetFileScalaJava + " or " + targetFileKotlin) + if (!mixinPlugin.isEmpty()) { + String targetFileJava = javaSourceDir + modGroupPath + "/" + mixinPluginPath + ".java" + String targetFileScala = scalaSourceDir + modGroupPath + "/" + mixinPluginPath + ".scala" + String targetFileScalaJava = scalaSourceDir + modGroupPath + "/" + mixinPluginPath + ".java" + String targetFileKotlin = kotlinSourceDir + modGroupPath + "/" + mixinPluginPath + ".kt" + if (!(getFile(targetFileJava).exists() || getFile(targetFileScala).exists() || getFile(targetFileScalaJava).exists() || getFile(targetFileKotlin).exists())) { + throw new GradleException("Could not resolve \"mixinPlugin\"! Could not find " + targetFileJava + " or " + targetFileScala + " or " + targetFileScalaJava + " or " + targetFileKotlin) + } } } if (coreModClass) { - String targetFileJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".java" - String targetFileScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".scala" - String targetFileScalaJava = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".java" - String targetFileKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".kt" + final String coreModPath = coreModClass.toString().replaceAll("\\.", "/") + String targetFileJava = javaSourceDir + modGroupPath + "/" + coreModPath + ".java" + String targetFileScala = scalaSourceDir + modGroupPath + "/" + coreModPath + ".scala" + String targetFileScalaJava = scalaSourceDir + modGroupPath + "/" + coreModPath + ".java" + String targetFileKotlin = kotlinSourceDir + modGroupPath + "/" + coreModPath + ".kt" if (!(getFile(targetFileJava).exists() || getFile(targetFileScala).exists() || getFile(targetFileScalaJava).exists() || getFile(targetFileKotlin).exists())) { throw new GradleException("Could not resolve \"coreModClass\"! Could not find " + targetFileJava + " or " + targetFileScala + " or " + targetFileScalaJava + " or " + targetFileKotlin) } @@ -251,7 +260,7 @@ if (project.hasProperty("customArchiveBaseName") && customArchiveBaseName) { def arguments = [] def jvmArguments = [] -if (usesMixins.toBoolean() || forceEnableMixins) { +if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) { arguments += [ "--tweakClass org.spongepowered.asm.launch.MixinTweaker" ] @@ -316,13 +325,10 @@ repositories { name 'Overmind forge repo mirror' url 'https://gregtech.overminddl1.com/' } - if (usesMixins.toBoolean() || forceEnableMixins) { + if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) { maven { - name 'sponge' - url 'https://repo.spongepowered.org/repository/maven-public' - } - maven { - url 'https://jitpack.io' + name = "GTNH Maven" + url = "http://jenkins.usrv.eu:8081/nexus/content/groups/public/" } } } @@ -332,19 +338,10 @@ dependencies { annotationProcessor('org.ow2.asm:asm-debug-all:5.0.3') annotationProcessor('com.google.guava:guava:24.1.1-jre') annotationProcessor('com.google.code.gson:gson:2.8.6') - annotationProcessor('org.spongepowered:mixin:0.8-SNAPSHOT') - } - if (usesMixins.toBoolean() || forceEnableMixins) { - // using 0.8 to workaround a issue in 0.7 which fails mixin application - compile('com.github.GTNewHorizons:SpongePoweredMixin:0.7.12-GTNH') { - // Mixin includes a lot of dependencies that are too up-to-date - exclude module: 'launchwrapper' - exclude module: 'guava' - exclude module: 'gson' - exclude module: 'commons-io' - exclude module: 'log4j-core' - } - compile('com.github.GTNewHorizons:SpongeMixins:1.5.0') + annotationProcessor('org.spongepowered:mixin:0.8.5-GTNH:processor') + } + if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) { + compile('com.gtnewhorizon:gtnhmixins:2.0.2') } } @@ -356,13 +353,18 @@ def mixinSrg = "${tasks.reobf.temporaryDir}" + File.separator + "mixins.srg" task generateAssets { if (usesMixins.toBoolean()) { - def mixinConfigFile = getFile("/src/main/resources/mixins." + modId + ".json"); + def mixinConfigFile = getFile("/src/main/resources/mixins." + modId + ".json") if (!mixinConfigFile.exists()) { + def mixinPluginLine = "" + if(!mixinPlugin.isEmpty()) { + // We might not have a mixin plugin if we're using early/late mixins + mixinPluginLine += """\n "plugin": "${modGroup}.${mixinPlugin}", """ + } + mixinConfigFile.text = """{ "required": true, - "minVersion": "0.7.11", - "package": "${modGroup}.${mixinsPackage}", - "plugin": "${modGroup}.${mixinPlugin}", + "minVersion": "0.8.5-GTNH", + "package": "${modGroup}.${mixinsPackage}",${mixinPluginLine} "refmap": "${mixingConfigRefMap}", "target": "@env(DEFAULT)", "compatibilityLevel": "JAVA_8", @@ -574,11 +576,11 @@ task devJar(type: Jar) { task apiJar(type: Jar) { from(sourceSets.main.allSource) { - include modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + '/**' + include modGroupPath + "/" + apiPackagePath + '/**' } from(sourceSets.main.output) { - include modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + '/**' + include modGroupPath + "/" + apiPackagePath + '/**' } from(sourceSets.main.resources.srcDirs) { @@ -662,10 +664,10 @@ publishing { } } -if (modrinthProjectId.size() != 0) { +if (modrinthProjectId.size() != 0 && System.getenv("MODRINTH_TOKEN") != null) { apply plugin: 'com.modrinth.minotaur' - File changelogFile = new File("CHANGELOG.md") + File changelogFile = new File(System.getenv("CHANGELOG_FILE") ?: "CHANGELOG.md") modrinth { token = System.getenv("MODRINTH_TOKEN") @@ -691,14 +693,17 @@ if (modrinthProjectId.size() != 0) { addModrinthDep(qual[0], qual[1], parts[1]) } } + if (usesMixins.toBoolean()) { + addModrinthDep("required", "version", "gtnhmixins") + } tasks.modrinth.dependsOn(build) tasks.publish.dependsOn(tasks.modrinth) } -if (curseForgeProjectId.size() != 0) { +if (curseForgeProjectId.size() != 0 && System.getenv("CURSEFORGE_TOKEN") != null) { apply plugin: 'com.matthewprenger.cursegradle' - File changelogFile = new File("CHANGELOG.md") + File changelogFile = new File(System.getenv("CHANGELOG_FILE") ?: "CHANGELOG.md") curseforge { apiKey = System.getenv("CURSEFORGE_TOKEN") @@ -732,6 +737,9 @@ if (curseForgeProjectId.size() != 0) { addCurseForgeRelation(parts[0], parts[1]) } } + if (usesMixins.toBoolean()) { + addCurseForgeRelation("requiredDependency", "gtnhmixins") + } tasks.curseforge.dependsOn(build) tasks.publish.dependsOn(tasks.curseforge) } -- cgit From 05b8c2b2312834b1b0b302adfdc04bbd1b7115d1 Mon Sep 17 00:00:00 2001 From: miozune Date: Wed, 16 Nov 2022 19:23:57 +0900 Subject: Capacitor Hatch --- .../hatch/GT_MetaTileEntity_Hatch_Capacitor.java | 55 +++++++----- .../hatch/gui/GT_Container_Capacitor.java | 100 --------------------- .../hatch/gui/GT_GUIContainer_Capacitor.java | 35 -------- 3 files changed, 34 insertions(+), 156 deletions(-) delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Capacitor.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Capacitor.java 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 1be2282efc..041e60eefe 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 @@ -7,14 +7,18 @@ import static net.minecraft.util.StatCollector.translateToLocal; import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; -import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Capacitor; -import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_Capacitor; import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.api.screen.UIBuildContext; +import com.gtnewhorizons.modularui.common.internal.wrapper.BaseSlot; +import com.gtnewhorizons.modularui.common.widget.SlotGroup; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Textures; +import gregtech.api.gui.modularui.GT_UIInfos; import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.modularui.IAddUIWidgets; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; @@ -23,14 +27,13 @@ import java.util.HashMap; import java.util.Map; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; /** * Created by Tec on 03.04.2017. */ -public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch { +public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch implements IAddUIWidgets { private static Textures.BlockIcons.CustomIcon TM_H; private static Textures.BlockIcons.CustomIcon TM_H_ACTIVE; private static Map componentBinds = new HashMap<>(); @@ -102,25 +105,9 @@ public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch { return aSide == aBaseMetaTileEntity.getFrontFacing(); } - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_Capacitor(aPlayerInventory, aBaseMetaTileEntity); - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_Capacitor( - aPlayerInventory, - aBaseMetaTileEntity, - translateToLocal("gt.blockmachines.hatch.capacitor.tier.03.name")); // Capacitor Hatch - } - @Override public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - if (aBaseMetaTileEntity.isClientSide()) { - return true; - } - aBaseMetaTileEntity.openGUI(aPlayer); + GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); return true; } @@ -175,6 +162,32 @@ public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch { return new long[] {tier, tCurrent, tEnergyMax}; } + @Override + public boolean useModularUI() { + return true; + } + + @Override + public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + builder.widget(SlotGroup.ofItemHandler(inventoryHandler, 4) + .startFromSlot(0) + .endAtSlot(15) + .slotCreator(index -> new BaseSlot(inventoryHandler, index) { + @Override + public int getSlotStackLimit() { + return 1; + } + + @Override + public boolean isEnabled() { + return !getBaseMetaTileEntity().isActive(); + } + }) + .background(getGUITextureSet().getItemSlot()) + .build() + .setPos(52, 7)); + } + public static void run() { new GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent( Reference.MODID + ":item.tm.teslaCoilCapacitor.0", 0, 1, V[1] * 512); // LV Capacitor 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 deleted file mode 100644 index 378736d334..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Capacitor.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; - -import gregtech.api.gui.GT_ContainerMetaTile_Machine; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class GT_Container_Capacitor extends GT_ContainerMetaTile_Machine { - public GT_Container_Capacitor(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(aInventoryPlayer, aTileEntity); - } - - @Override - public void addSlots(InventoryPlayer aInventoryPlayer) { - 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 16; - } - - @Override - public int getShiftClickSlotCount() { - return getSlotCount(); - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) { - return; - } - } - - @Override - public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer) { - if (mActive != 0) { - return null; - } - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer aPlayer, int aSlotIndex) { - if (mActive != 0) { - return null; - } - return super.transferStackInSlot(aPlayer, aSlotIndex); - } - - @Override - public boolean canDragIntoSlot(Slot par1Slot) { - if (mActive != 0) { - return false; - } - return super.canDragIntoSlot(par1Slot); - } - - @Override - public void putStacksInSlots(ItemStack[] par1ArrayOfItemStack) { - if (mActive != 0) { - return; - } - super.putStacksInSlots(par1ArrayOfItemStack); - } - - @Override - protected boolean mergeItemStack(ItemStack aStack, int aStartIndex, int aSlotCount, boolean par4) { - if (mActive != 0) { - return false; - } - return super.mergeItemStack(aStack, aStartIndex, aSlotCount, par4); - } - - @Override - public void putStackInSlot(int par1, ItemStack par2ItemStack) { - if (mActive != 0) { - return; - } - super.putStackInSlot(par1, par2ItemStack); - } -} 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 deleted file mode 100644 index e97430d9bb..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Capacitor.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; - -import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.InventoryPlayer; - -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/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); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { - super.drawGuiContainerBackgroundLayer(par1, par2, par3); - int x = (this.width - this.xSize) / 2; - int y = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize); - } -} -- cgit From 9b25e475dfab1a7a5e10d0fc1476b8894a9bd8d3 Mon Sep 17 00:00:00 2001 From: miozune Date: Wed, 16 Nov 2022 21:31:08 +0900 Subject: Deprecate Data Reader --- .../tectech/loader/recipe/BaseRecipeLoader.java | 20 -- .../tectech/loader/thing/MachineLoader.java | 2 - .../single/GT_MetaTileEntity_DataReader.java | 233 +--------------- .../single/gui/GT_Container_DataReader.java | 97 ------- .../single/gui/GT_GUIContainer_DataReader.java | 294 --------------------- .../textures/gui/basicmachines/dataReader.png | Bin 2543 -> 0 bytes 6 files changed, 6 insertions(+), 640 deletions(-) delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DataReader.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DataReader.java delete mode 100644 src/main/resources/assets/gregtech/textures/gui/basicmachines/dataReader.png diff --git a/src/main/java/com/github/technus/tectech/loader/recipe/BaseRecipeLoader.java b/src/main/java/com/github/technus/tectech/loader/recipe/BaseRecipeLoader.java index bdd2dc1136..a2d3edfa5e 100644 --- a/src/main/java/com/github/technus/tectech/loader/recipe/BaseRecipeLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/recipe/BaseRecipeLoader.java @@ -120,26 +120,6 @@ public class BaseRecipeLoader { OrePrefixes.gem.get(Materials.EnderPearl) }); - // Data reader - GT_ModHandler.addCraftingRecipe( - CustomItemList.Machine_DataReader.get(1), - GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { - "BdB", - "GES", - "PwP", - 'B', - OrePrefixes.screw.get(Materials.Iridium), - 'P', - OrePrefixes.plate.get(Materials.Iridium), - 'G', - ItemList.Cover_Screen, - 'S', - OrePrefixes.circuit.get(Materials.Elite), - 'E', - ItemList.Hull_IV - }); - // Data Bank RA.addAssemblylineRecipe( ItemList.Hatch_DataAccess_EV.get(1), 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 53a16d2648..436c806da2 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 @@ -1042,8 +1042,6 @@ public class MachineLoader implements Runnable { GT_MetaTileEntity_Hatch_Rack.run(); - GT_MetaTileEntity_DataReader.run(); - GT_MetaTileEntity_Hatch_Capacitor.run(); if (!Loader.isModLoaded(Reference.DREAMCRAFT)) { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DataReader.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DataReader.java index 90f1d17dec..03a98d53bf 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DataReader.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DataReader.java @@ -1,43 +1,26 @@ package com.github.technus.tectech.thing.metaTileEntity.single; -import static com.github.technus.tectech.Reference.MODID; -import static com.github.technus.tectech.recipe.TT_recipeAdder.nullItem; import static com.github.technus.tectech.thing.metaTileEntity.Textures.MACHINE_CASINGS_TT; import static com.github.technus.tectech.util.CommonValues.V; -import static net.minecraft.util.StatCollector.translateToLocal; -import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_Container_DataReader; -import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_GUIContainer_DataReader; -import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; -import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.enums.ItemList; import gregtech.api.enums.Textures; -import gregtech.api.gui.GT_Slot_Holo; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine; import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.util.GT_Utility; import java.util.*; -import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fluids.FluidStack; /** * Created by Tec on 23.03.2017. */ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine { - private static final HashMap> RENDER_REGISTRY = new HashMap<>(); public static GT_RenderedTexture READER_ONLINE, READER_OFFLINE; public GT_MetaTileEntity_DataReader(int aID, String aName, String aNameRegional, int aTier) { @@ -95,22 +78,13 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine return null; } + @Override + public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { + return false; + } + @Override public int checkRecipe() { - if (getOutputAt(0) != null) { - return DID_NOT_FIND_RECIPE; - } - ItemStack input = getInputAt(0); - for (IDataRender render : getRenders(new TT_Utility.ItemStack_NoNBT(input))) { - if (render.canRender(input, mTier)) { - mOutputItems[0] = input.copy(); - input.stackSize -= 1; - calculateOverclockedNess(render.getReadingEUt(), render.getReadingTime()); - if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1) - return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS; - return FOUND_AND_SUCCESSFULLY_USED_RECIPE; - } - } return DID_NOT_FIND_RECIPE; } @@ -120,23 +94,6 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine aBaseMetaTileEntity.setActive(getOutputAt(0) != null || mMaxProgresstime > 0); } - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_DataReader(aPlayerInventory, aBaseMetaTileEntity); - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_DataReader( - aPlayerInventory, - aBaseMetaTileEntity, - getLocalName(), - mGUIName, - GT_Utility.isStringValid(mNEIName) - ? mNEIName - : getRecipeList() != null ? getRecipeList().mUnlocalizedName : ""); - } - @Override public boolean isSimpleMachine() { return false; @@ -149,14 +106,7 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine @Override public String[] getDescription() { - return new String[] { - CommonValues.TEC_MARK_GENERAL, - translateToLocal("gt.blockmachines.machine.tt.datareader.desc.0"), // Reads Data Sticks and Orbs - EnumChatFormatting.BLUE - + translateToLocal("gt.blockmachines.machine.tt.datareader.desc.1"), // Power it up and - EnumChatFormatting.BLUE - + translateToLocal("gt.blockmachines.machine.tt.datareader.desc.2") // Put the data storage in - }; + return new String[] {EnumChatFormatting.DARK_RED + "Deprecated"}; } @Override @@ -193,175 +143,4 @@ public class GT_MetaTileEntity_DataReader extends GT_MetaTileEntity_BasicMachine public long getMinimumStoredEU() { return maxEUInput() * 4L; } - - public static void addDataRender(TT_Utility.ItemStack_NoNBT stack, IDataRender render) { - ArrayList renders = RENDER_REGISTRY.computeIfAbsent(stack, k -> new ArrayList<>()); - if (FMLCommonHandler.instance().getEffectiveSide().isClient()) { - render.loadResources(); - } - renders.add(render); - } - - public static List getRenders(TT_Utility.ItemStack_NoNBT stack) { - ArrayList iDataRenders = RENDER_REGISTRY.get(stack); - return iDataRenders == null ? Collections.emptyList() : iDataRenders; - } - - public interface IDataRender { - @SideOnly(Side.CLIENT) - void loadResources(); - - @SideOnly(Side.CLIENT) - void initRender(ItemStack itemStack); - - @SideOnly(Side.CLIENT) - void renderTooltips(ItemStack itemStack, int mouseX, int mouseY, GT_GUIContainer_DataReader gui); - - @SideOnly(Side.CLIENT) - void renderForeground( - ItemStack itemStack, int mouseX, int mouseY, GT_GUIContainer_DataReader gui, FontRenderer font); - - @SideOnly(Side.CLIENT) - void renderBackgroundOverlay( - ItemStack itemStack, int mouseX, int mouseY, int X, int Y, GT_GUIContainer_DataReader gui); - - boolean canRender(ItemStack itemStack, byte tier); - - int getReadingEUt(); - - int getReadingTime(); - } - - public static void run() { - addDataRender(new TT_Utility.ItemStack_NoNBT(ItemList.Tool_DataStick.get(1)), new IDataRender() { - @SideOnly(Side.CLIENT) - private ResourceLocation bg; - - @SideOnly(Side.CLIENT) - private HashMap slots; - - private HashMap slots2; - - @Override - @SideOnly(Side.CLIENT) - public void loadResources() { - bg = new ResourceLocation(MODID + ":textures/gui/assLineRender.png"); - } - - @Override - public void initRender(ItemStack itemStack) { - slots = new HashMap<>(); - slots2 = new HashMap<>(); - - slots.put( - new GT_Slot_Holo(null, 0, 143, 55, false, false, 1), - ItemList.Tool_DataStick.getWithName(1, "Research data")); - ItemStack output = ItemStack.loadItemStackFromNBT(itemStack.stackTagCompound.getCompoundTag("output")); - if (output != null) { - slots.put(new GT_Slot_Holo(null, 0, 143, 19, false, false, 64), output); - } - - for (int i = 0; i < 16; i++) { - ArrayList array = new ArrayList<>(); - ItemStack input = ItemStack.loadItemStackFromNBT( - itemStack.stackTagCompound.getCompoundTag(Integer.toString(i))); - if (input != null) { - array.add(input); - } - for (int k = 0; k < itemStack.stackTagCompound.getInteger("a" + i); k++) { - input = ItemStack.loadItemStackFromNBT( - itemStack.stackTagCompound.getCompoundTag("a" + i + ":" + k)); - if (input != null) { - array.add(input); - } - } - if (array.size() > 0) { - slots2.put( - new GT_Slot_Holo(null, 0, 17 + (i & 0x3) * 18, 19 + (i >> 2) * 18, false, false, 64), - array.toArray(nullItem)); - } - } - for (int i = 0; i < 4; i++) { - FluidStack fs = - FluidStack.loadFluidStackFromNBT(itemStack.stackTagCompound.getCompoundTag("f" + i)); - if (fs != null) { - slots.put( - new GT_Slot_Holo(null, 0, 107, 19 + i * 18, false, false, 1), - GT_Utility.getFluidDisplayStack(fs, true)); - } - } - } - - @Override - public void renderTooltips(ItemStack itemStack, int mouseX, int mouseY, GT_GUIContainer_DataReader gui) { - for (Map.Entry entry : slots.entrySet()) { - gui.renderTooltipSimple(mouseX, mouseY, entry.getKey(), entry.getValue()); - } - int time = (int) (System.currentTimeMillis() / 2000); - for (Map.Entry entry : slots2.entrySet()) { - gui.renderTooltipSimple( - mouseX, mouseY, entry.getKey(), entry.getValue()[time % entry.getValue().length]); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void renderForeground( - ItemStack itemStack, int mouseX, int mouseY, GT_GUIContainer_DataReader gui, FontRenderer font) { - int time = itemStack.stackTagCompound.getInteger("time"); - int EUt = itemStack.stackTagCompound.getInteger("eu"); - font.drawString(translateToLocal("tt.keyphrase.Ass_line_recipe"), 7, 8, 0x80a0ff); - font.drawString( - GT_Utility.trans("152", "Total: ") + GT_Utility.formatNumbers((long) time * EUt) + " EU", - 7, - 93, - 0x80a0ff); - font.drawString( - GT_Utility.trans("153", "Usage: ") + GT_Utility.formatNumbers(EUt) + " EU/t", 7, 103, 0x80a0ff); - font.drawString( - GT_Utility.trans("154", "Voltage: ") + GT_Utility.formatNumbers(EUt) + " EU", 7, 113, 0x80a0ff); - font.drawString(GT_Utility.trans("155", "Amperage: ") + 1, 7, 123, 0x80a0ff); - font.drawString( - GT_Utility.trans("158", "Time: ") - + GT_Utility.formatNumbers(0.05d * time) - + GT_Utility.trans("161", " secs"), - 7, - 133, - 0x80a0ff); - - for (Map.Entry entry : slots.entrySet()) { - gui.renderItemSimple(entry.getKey(), entry.getValue()); - } - time = (int) (System.currentTimeMillis() / 2000); - for (Map.Entry entry : slots2.entrySet()) { - gui.renderItemSimple(entry.getKey(), entry.getValue()[time % entry.getValue().length]); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void renderBackgroundOverlay( - ItemStack itemStack, int mouseX, int mouseY, int X, int Y, GT_GUIContainer_DataReader gui) { - // 176/83 - gui.mc.getTextureManager().bindTexture(bg); - gui.drawTexturedModalRect(X, Y, 0, 0, 176, 151); - } - - @Override - public boolean canRender(ItemStack itemStack, byte tier) { - NBTTagCompound nbtTagCompound = itemStack.stackTagCompound; - return nbtTagCompound != null && nbtTagCompound.hasKey("output"); - } - - @Override - public int getReadingEUt() { - return (int) V[4]; - } - - @Override - public int getReadingTime() { - return 128; - } - }); - } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DataReader.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DataReader.java deleted file mode 100644 index 57eda3f1d5..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DataReader.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.single.gui; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.gui.GT_Container_BasicTank; -import gregtech.api.gui.GT_Slot_Output; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; - -public class GT_Container_DataReader extends GT_Container_BasicTank { - public boolean mStuttering = false; - - public GT_Container_DataReader(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(aInventoryPlayer, aTileEntity); - } - - @Override - public void addSlots(InventoryPlayer aInventoryPlayer) { - // this.addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 0, 8, 63, false, true, 1)); - // this.addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 0, 26, 63, false, true, 1)); - // this.addSlotToContainer(new GT_Slot_Render(this.mTileEntity, 2, 107, 63)); - - int tStartIndex = ((GT_MetaTileEntity_BasicMachine) this.mTileEntity.getMetaTileEntity()).getInputSlot(); - this.addSlotToContainer(new Slot(this.mTileEntity, tStartIndex, 53, 153)); - - tStartIndex = ((GT_MetaTileEntity_BasicMachine) this.mTileEntity.getMetaTileEntity()).getOutputSlot(); - this.addSlotToContainer(new GT_Slot_Output(this.mTileEntity, tStartIndex, 107, 153)); - - this.addSlotToContainer(new Slot(this.mTileEntity, 1, 17, 153)); - // this.addSlotToContainer(new Slot(this.mTileEntity, 3, 125, 63)); - // this.addSlotToContainer(new GT_Slot_Render(this.mTileEntity, tStartIndex, 53, 63)); - } - - @Override - protected void bindPlayerInventory(InventoryPlayer aInventoryPlayer) { - int i; - for (i = 0; i < 3; ++i) { - for (int j = 0; j < 9; ++j) { - this.addSlotToContainer(new Slot(aInventoryPlayer, j + i * 9 + 9, 8 + j * 18, 174 + i * 18)); - } - } - - for (i = 0; i < 9; ++i) { - this.addSlotToContainer(new Slot(aInventoryPlayer, i, 8 + i * 18, 232)); - } - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - if (!this.mTileEntity.isClientSide() && this.mTileEntity.getMetaTileEntity() != null) { - this.mStuttering = ((GT_MetaTileEntity_BasicMachine) this.mTileEntity.getMetaTileEntity()).mStuttering; - - for (Object crafter : this.crafters) { - ICrafting var1 = (ICrafting) crafter; - var1.sendProgressBarUpdate(this, 102, this.mStuttering ? 1 : 0); - } - } - } - - @Override - public void addCraftingToCrafters(ICrafting par1ICrafting) { - super.addCraftingToCrafters(par1ICrafting); - } - - @Override - @SideOnly(Side.CLIENT) - public void updateProgressBar(int par1, int par2) { - super.updateProgressBar(par1, par2); - if (par1 == 102) { - this.mStuttering = par2 != 0; - } - } - - @Override - public int getSlotStartIndex() { - return 0; - } - - @Override - public int getShiftClickStartIndex() { - return 0; - } - - @Override - public int getSlotCount() { - return 3; - } - - @Override - public int getShiftClickSlotCount() { - return 1; - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DataReader.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DataReader.java deleted file mode 100644 index d6f150d87e..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DataReader.java +++ /dev/null @@ -1,294 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.single.gui; - -import com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_DataReader; -import com.github.technus.tectech.util.TT_Utility; -import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; -import gregtech.api.gui.GT_Slot_Holo; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.util.GT_Utility; -import java.util.List; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -public class GT_GUIContainer_DataReader extends GT_GUIContainerMetaTile_Machine { - public final String mName; - public final String mNEI; - public final byte mProgressBarDirection; - public final byte mProgressBarAmount; - private ItemStack stack = null; - - public GT_GUIContainer_DataReader( - InventoryPlayer aInventoryPlayer, - IGregTechTileEntity aTileEntity, - String aName, - String aTextureFile, - String aNEI) { - this(aInventoryPlayer, aTileEntity, aName, aTextureFile, aNEI, (byte) 0, (byte) 1); - } - - public GT_GUIContainer_DataReader( - InventoryPlayer aInventoryPlayer, - IGregTechTileEntity aTileEntity, - String aName, - String aTextureFile, - String aNEI, - byte aProgressBarDirection, - byte aProgressBarAmount) { - super( - new GT_Container_DataReader(aInventoryPlayer, aTileEntity), - "gregtech:textures/gui/basicmachines/" + aTextureFile); - this.mProgressBarDirection = aProgressBarDirection; - this.mProgressBarAmount = (byte) Math.max(1, aProgressBarAmount); - this.mName = aName; - this.mNEI = aNEI; - ySize = 256; - } - - @Override - public void drawScreen(int mouseX, int mouseY, float par3) { - super.drawScreen(mouseX, mouseY, par3); - if (mContainer != null) { - if (mContainer.mTileEntity != null - && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { - GT_MetaTileEntity_DataReader reader = - (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); - renderDataTooltips(mouseX, mouseY, reader.mTier); - } - } - } - - protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { - if (mContainer != null) { - if (mContainer.mTileEntity != null - && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { - GT_MetaTileEntity_DataReader reader = - (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); - if (renderDataFG(mouseX, mouseY, reader.mTier)) { - return; - } - } - } - fontRendererObj.drawString(mName, 7, 8, 0xfafaff); - } - - protected void drawGuiContainerBackgroundLayer(float par1, int mouseX, int mouseY) { - super.drawGuiContainerBackgroundLayer(par1, mouseX, mouseY); - int x = (this.width - this.xSize) / 2; - int y = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize); - if (this.mContainer != null) { - if (((GT_Container_DataReader) this.mContainer).mStuttering) { - this.drawTexturedModalRect(x + 127, y + 152, 176, 54, 18, 18); - } - - if (this.mContainer.mMaxProgressTime > 0) { - int tSize = this.mProgressBarDirection < 2 ? 20 : 18; - int tProgress = Math.max( - 1, - Math.min( - tSize * this.mProgressBarAmount, - (this.mContainer.mProgressTime > 0 ? 1 : 0) - + this.mContainer.mProgressTime - * tSize - * this.mProgressBarAmount - / this.mContainer.mMaxProgressTime)) - % (tSize + 1); - switch (this.mProgressBarDirection) { - case 0: - this.drawTexturedModalRect(x + 78, y + 152, 176, 0, tProgress, 18); - break; - case 1: - this.drawTexturedModalRect(x + 78 + 20 - tProgress, y + 152, 196 - tProgress, 0, tProgress, 18); - break; - case 2: - this.drawTexturedModalRect(x + 78, y + 152, 176, 0, 20, tProgress); - break; - case 3: - this.drawTexturedModalRect( - x + 78, y + 152 + 18 - tProgress, 176, 18 - tProgress, 20, tProgress); - break; - case 4: - tProgress = 20 - tProgress; - this.drawTexturedModalRect(x + 78, y + 152, 176, 0, tProgress, 18); - break; - case 5: - tProgress = 20 - tProgress; - this.drawTexturedModalRect(x + 78 + 20 - tProgress, y + 152, 196 - tProgress, 0, tProgress, 18); - break; - case 6: - tProgress = 18 - tProgress; - this.drawTexturedModalRect(x + 78, y + 152, 176, 0, 20, tProgress); - break; - case 7: - tProgress = 18 - tProgress; - this.drawTexturedModalRect( - x + 78, y + 152 + 18 - tProgress, 176, 18 - tProgress, 20, tProgress); - } - } - } - if (mContainer != null) { - if (mContainer.mTileEntity != null - && mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DataReader) { - GT_MetaTileEntity_DataReader reader = - (GT_MetaTileEntity_DataReader) mContainer.mTileEntity.getMetaTileEntity(); - renderDataBG(reader.getStackInSlot(reader.getOutputSlot()), mouseX, mouseY, x, y, reader.mTier); - } - } - } - - private void renderDataBG(ItemStack thing, int mouseX, int mouseY, int x, int y, byte mTier) { - if (thing != null) { - for (GT_MetaTileEntity_DataReader.IDataRender render : - GT_MetaTileEntity_DataReader.getRenders(new TT_Utility.ItemStack_NoNBT(thing))) { - if (render.canRender(thing, mTier)) { - if (!GT_Utility.areStacksEqual(stack, thing, false)) { - render.initRender(thing); - } - render.renderBackgroundOverlay(thing, mouseX, mouseY, x, y, this); - break; - } - } - } - stack = thing; - } - - private boolean renderDataFG(int mouseX, int mouseY, byte mTier) { - if (stack == null) { - return false; - } - for (GT_MetaTileEntity_DataReader.IDataRender render : - GT_MetaTileEntity_DataReader.getRenders(new TT_Utility.ItemStack_NoNBT(stack))) { - if (render.canRender(stack, mTier)) { - render.renderForeground(stack, mouseX, mouseY, this, fontRendererObj); - return true; - } - } - return false; - } - - private boolean renderDataTooltips(int mouseX, int mouseY, byte mTier) { - if (stack == null) { - return false; - } - for (GT_MetaTileEntity_DataReader.IDataRender render : - GT_MetaTileEntity_DataReader.getRenders(new TT_Utility.ItemStack_NoNBT(stack))) { - if (render.canRender(stack, mTier)) { - render.renderTooltips(stack, mouseX, mouseY, this); - return true; - } - } - return false; - } - - public void renderItemSimple(GT_Slot_Holo slot, ItemStack itemStack) { - int x = slot.xDisplayPosition; - int y = slot.yDisplayPosition; - this.zLevel = 100.0F; - itemRender.zLevel = 100.0F; - - if (itemStack == null) { - IIcon iicon = slot.getBackgroundIconIndex(); - - if (iicon != null) { - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_BLEND); // Forge: Blending needs to be enabled for this. - this.mc.getTextureManager().bindTexture(TextureMap.locationItemsTexture); - this.drawTexturedModelRectFromIcon(x, y, iicon, 16, 16); - GL11.glDisable(GL11.GL_BLEND); // Forge: And clean that up - GL11.glEnable(GL11.GL_LIGHTING); - } - } - GL11.glEnable(GL11.GL_DEPTH_TEST); - itemRender.renderItemAndEffectIntoGUI(this.fontRendererObj, this.mc.getTextureManager(), itemStack, x, y); - itemRender.renderItemOverlayIntoGUI(this.fontRendererObj, this.mc.getTextureManager(), itemStack, x, y); - - itemRender.zLevel = 0.0F; - this.zLevel = 0.0F; - } - - public void renderTooltipSimple(int mouseX, int mouseY, GT_Slot_Holo slot, ItemStack itemStack) { - int x = slot.xDisplayPosition + (width - xSize) / 2; - int y = slot.yDisplayPosition + (height - ySize) / 2; - if (mouseX >= x && mouseY >= y && mouseX <= x + 16 && mouseY <= y + 16) { - List strings = itemStack.getTooltip(Minecraft.getMinecraft().thePlayer, false); - if (strings.size() > 0) { - strings.set(0, itemStack.getRarity().rarityColor + (String) strings.get(0)); - } - hoveringText(strings, mouseX, mouseY, fontRendererObj); - } - } - - private void hoveringText(List strings, int x, int y, FontRenderer font) { - if (!strings.isEmpty()) { - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - // RenderHelper.disableStandardItemLighting(); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_DEPTH_TEST); - int k = 0; - - for (Object aP_146283_1_ : strings) { - String s = (String) aP_146283_1_; - int l = font.getStringWidth(s); - - if (l > k) { - k = l; - } - } - - int x2 = x + 12; - int y2 = y - 12; - int i1 = 8; - - if (strings.size() > 1) { - i1 += 2 + (strings.size() - 1) * 10; - } - - if (x2 + k > this.width) { - x2 -= 28 + k; - } - - if (y2 + i1 + 6 > this.height) { - y2 = this.height - i1 - 6; - } - - // this.zLevel = 300.0F; - // itemRender.zLevel = 300.0F; - int j1 = 0xf0001040; // bg - this.drawGradientRect(x2 - 3, y2 - 4, x2 + k + 3, y2 - 3, j1, j1); - this.drawGradientRect(x2 - 3, y2 + i1 + 3, x2 + k + 3, y2 + i1 + 4, j1, j1); - this.drawGradientRect(x2 - 3, y2 - 3, x2 + k + 3, y2 + i1 + 3, j1, j1); - this.drawGradientRect(x2 - 4, y2 - 3, x2 - 3, y2 + i1 + 3, j1, j1); - this.drawGradientRect(x2 + k + 3, y2 - 3, x2 + k + 4, y2 + i1 + 3, j1, j1); - int k1 = 0x500040ff; // border bright - int l1 = (k1 & 0xfefefe) >> 1 | k1 & 0xff000000; // border dark??? - this.drawGradientRect(x2 - 3, y2 - 3 + 1, x2 - 3 + 1, y2 + i1 + 3 - 1, k1, l1); - this.drawGradientRect(x2 + k + 2, y2 - 3 + 1, x2 + k + 3, y2 + i1 + 3 - 1, k1, l1); - this.drawGradientRect(x2 - 3, y2 - 3, x2 + k + 3, y2 - 3 + 1, k1, k1); - this.drawGradientRect(x2 - 3, y2 + i1 + 2, x2 + k + 3, y2 + i1 + 3, l1, l1); - - for (int i2 = 0; i2 < strings.size(); ++i2) { - String s1 = (String) strings.get(i2); - font.drawStringWithShadow(s1, x2, y2, -1); - - if (i2 == 0) { - y2 += 2; - } - - y2 += 10; - } - - // this.zLevel = 0.0F; - // itemRender.zLevel = 0.0F; - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_DEPTH_TEST); - // RenderHelper.enableStandardItemLighting(); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - } - } -} diff --git a/src/main/resources/assets/gregtech/textures/gui/basicmachines/dataReader.png b/src/main/resources/assets/gregtech/textures/gui/basicmachines/dataReader.png deleted file mode 100644 index 57a9b85ce9..0000000000 Binary files a/src/main/resources/assets/gregtech/textures/gui/basicmachines/dataReader.png and /dev/null differ -- cgit From 5ee7bcd69067c8a457ba16191ce97f113e48f9d6 Mon Sep 17 00:00:00 2001 From: miozune Date: Fri, 18 Nov 2022 00:07:38 +0900 Subject: Uncertainty Resolvers --- dependencies.gradle | 10 +- repositories.gradle | 1 + .../tectech/thing/gui/TecTechUITextures.java | 26 ++++ .../hatch/GT_MetaTileEntity_Hatch_Uncertainty.java | 173 ++++++++++++++++++--- .../hatch/gui/GT_Container_Uncertainty.java | 127 --------------- .../hatch/gui/GT_GUIContainer_Uncertainty.java | 82 ---------- .../hatch/gui/GT_GUIContainer_UncertaintyAdv.java | 86 ---------- .../assets/gregtech/textures/gui/Uncertainty.png | Bin 262972 -> 0 bytes .../textures/gui/background/screen_blue.png | Bin 0 -> 246 bytes .../textures/gui/overlay_button/uncertainty/0.png | Bin 0 -> 174 bytes .../textures/gui/overlay_button/uncertainty/1.png | Bin 0 -> 176 bytes .../textures/gui/overlay_button/uncertainty/10.png | Bin 0 -> 172 bytes .../textures/gui/overlay_button/uncertainty/11.png | Bin 0 -> 172 bytes .../textures/gui/overlay_button/uncertainty/12.png | Bin 0 -> 176 bytes .../textures/gui/overlay_button/uncertainty/13.png | Bin 0 -> 172 bytes .../textures/gui/overlay_button/uncertainty/14.png | Bin 0 -> 174 bytes .../textures/gui/overlay_button/uncertainty/15.png | Bin 0 -> 172 bytes .../textures/gui/overlay_button/uncertainty/2.png | Bin 0 -> 172 bytes .../textures/gui/overlay_button/uncertainty/3.png | Bin 0 -> 171 bytes .../textures/gui/overlay_button/uncertainty/4.png | Bin 0 -> 179 bytes .../textures/gui/overlay_button/uncertainty/5.png | Bin 0 -> 173 bytes .../textures/gui/overlay_button/uncertainty/6.png | Bin 0 -> 172 bytes .../textures/gui/overlay_button/uncertainty/7.png | Bin 0 -> 172 bytes .../textures/gui/overlay_button/uncertainty/8.png | Bin 0 -> 177 bytes .../textures/gui/overlay_button/uncertainty/9.png | Bin 0 -> 172 bytes .../textures/gui/picture/tectech_logo_dark.png | Bin 0 -> 291 bytes .../textures/gui/picture/uncertainty/indicator.png | Bin 0 -> 120 bytes .../textures/gui/picture/uncertainty/invalid_0.png | Bin 0 -> 136 bytes .../textures/gui/picture/uncertainty/invalid_1.png | Bin 0 -> 124 bytes .../textures/gui/picture/uncertainty/invalid_2.png | Bin 0 -> 134 bytes .../textures/gui/picture/uncertainty/invalid_3.png | Bin 0 -> 129 bytes .../textures/gui/picture/uncertainty/invalid_4.png | Bin 0 -> 119 bytes .../textures/gui/picture/uncertainty/invalid_5.png | Bin 0 -> 129 bytes .../textures/gui/picture/uncertainty/invalid_6.png | Bin 0 -> 132 bytes .../textures/gui/picture/uncertainty/invalid_7.png | Bin 0 -> 124 bytes .../textures/gui/picture/uncertainty/invalid_8.png | Bin 0 -> 126 bytes .../textures/gui/picture/uncertainty/monitor.png | Bin 0 -> 351 bytes .../textures/gui/picture/uncertainty/selected.png | Bin 0 -> 154 bytes .../textures/gui/picture/uncertainty/valid_0.png | Bin 0 -> 136 bytes .../textures/gui/picture/uncertainty/valid_1.png | Bin 0 -> 124 bytes .../textures/gui/picture/uncertainty/valid_2.png | Bin 0 -> 134 bytes .../textures/gui/picture/uncertainty/valid_3.png | Bin 0 -> 129 bytes .../textures/gui/picture/uncertainty/valid_4.png | Bin 0 -> 119 bytes .../textures/gui/picture/uncertainty/valid_5.png | Bin 0 -> 129 bytes .../textures/gui/picture/uncertainty/valid_6.png | Bin 0 -> 132 bytes .../textures/gui/picture/uncertainty/valid_7.png | Bin 0 -> 124 bytes .../textures/gui/picture/uncertainty/valid_8.png | Bin 0 -> 126 bytes 47 files changed, 190 insertions(+), 315 deletions(-) delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Uncertainty.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_UncertaintyAdv.java delete mode 100644 src/main/resources/assets/gregtech/textures/gui/Uncertainty.png create mode 100644 src/main/resources/assets/tectech/textures/gui/background/screen_blue.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/0.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/1.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/10.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/11.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/12.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/13.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/14.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/15.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/2.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/3.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/4.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/5.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/6.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/7.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/8.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/9.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/tectech_logo_dark.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/indicator.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_0.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_1.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_2.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_3.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_4.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_5.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_6.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_7.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_8.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/monitor.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/selected.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_0.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_1.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_2.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_3.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_4.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_5.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_6.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_7.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_8.png diff --git a/dependencies.gradle b/dependencies.gradle index b85d8e2c78..983d1205ce 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,7 +2,7 @@ dependencies { shadowImplementation('com.github.GTNewHorizons:AVRcore:master-SNAPSHOT') - compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.123-pre:dev') + compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.128-pre:dev') compile('com.github.GTNewHorizons:Yamcl:0.5.84:dev') compile('com.github.GTNewHorizons:NotEnoughItems:2.3.7-GTNH:dev') compile('com.github.GTNewHorizons:CodeChickenLib:1.1.5.5:dev') @@ -18,4 +18,12 @@ dependencies { compileOnly('curse.maven:cofh-lib-220333:2388748') {transitive=false} compileOnly('curse.maven:computercraft-67504:2269339') {transitive=false} compileOnly('thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev') {transitive=false} + + // // for local + // compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.123-pre:dev') {transitive=false} + // compile("com.github.GTNewHorizons:ModularUI:SNAPSHOT:dev") + // compile("com.github.GTNewHorizons:waila:1.5.21:dev") + // compile("com.github.GTNewHorizons:Chisel:2.10.15-GTNH:dev") { + // transitive = false + // } } diff --git a/repositories.gradle b/repositories.gradle index 887a6ff8c8..053aa123b5 100644 --- a/repositories.gradle +++ b/repositories.gradle @@ -1,6 +1,7 @@ // Add any additional repositories for your dependencies here repositories { + mavenLocal() maven { name 'GTNH Maven' url 'http://jenkins.usrv.eu:8081/nexus/content/groups/public/' diff --git a/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java b/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java index 5f195bae64..26c484f4b1 100644 --- a/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java +++ b/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java @@ -2,10 +2,16 @@ package com.github.technus.tectech.thing.gui; import static com.github.technus.tectech.Reference.MODID; +import com.gtnewhorizons.modularui.api.drawable.AdaptableUITexture; import com.gtnewhorizons.modularui.api.drawable.UITexture; +import java.util.stream.Collectors; +import java.util.stream.IntStream; public class TecTechUITextures { + public static final AdaptableUITexture BACKGROUND_SCREEN_BLUE = + AdaptableUITexture.of(MODID, "gui/background/screen_blue", 90, 72, 2); + public static final UITexture BUTTON_STANDARD_16x16 = UITexture.fullImage(MODID, "gui/button/standard_16x16"); public static final UITexture OVERLAY_BUTTON_POWER_SWITCH_OFF = @@ -14,10 +20,30 @@ public class TecTechUITextures { UITexture.fullImage(MODID, "gui/overlay_button/power_switch_on"); public static final UITexture OVERLAY_BUTTON_HEAT_OFF = UITexture.fullImage(MODID, "gui/overlay_button/heat_off"); public static final UITexture OVERLAY_BUTTON_HEAT_ON = UITexture.fullImage(MODID, "gui/overlay_button/heat_on"); + public static final UITexture[] OVERLAY_BUTTON_UNCERTAINTY = IntStream.range(0, 16) + .mapToObj(i -> UITexture.fullImage(MODID, "gui/overlay_button/uncertainty/" + i)) + .collect(Collectors.toList()) + .toArray(new UITexture[] {}); public static final UITexture OVERLAY_SLOT_RACK = UITexture.fullImage(MODID, "gui/overlay_slot/rack"); public static final UITexture PICTURE_TECTECH_LOGO = UITexture.fullImage(MODID, "gui/picture/tectech_logo"); + public static final UITexture PICTURE_TECTECH_LOGO_DARK = + UITexture.fullImage(MODID, "gui/picture/tectech_logo_dark"); public static final UITexture PICTURE_RACK_LARGE = UITexture.fullImage(MODID, "gui/picture/rack_large"); public static final UITexture PICTURE_HEAT_SINK = UITexture.fullImage(MODID, "gui/picture/heat_sink"); + public static final UITexture PICTURE_UNCERTAINTY_MONITOR = + UITexture.fullImage(MODID, "gui/picture/uncertainty/monitor"); + public static final UITexture PICTURE_UNCERTAINTY_INDICATOR = + UITexture.fullImage(MODID, "gui/picture/uncertainty/indicator"); + public static final UITexture PICTURE_UNCERTAINTY_SELECTED = + UITexture.fullImage(MODID, "gui/picture/uncertainty/selected"); + public static final UITexture[] PICTURE_UNCERTAINTY_VALID = IntStream.range(0, 9) + .mapToObj(i -> UITexture.fullImage(MODID, "gui/picture/uncertainty/valid_" + i)) + .collect(Collectors.toList()) + .toArray(new UITexture[] {}); + public static final UITexture[] PICTURE_UNCERTAINTY_INVALID = IntStream.range(0, 9) + .mapToObj(i -> UITexture.fullImage(MODID, "gui/picture/uncertainty/invalid_" + i)) + .collect(Collectors.toList()) + .toArray(new UITexture[] {}); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java index 5c34243742..8dd056155c 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java @@ -2,25 +2,36 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; import static net.minecraft.util.StatCollector.translateToLocal; import static net.minecraft.util.StatCollector.translateToLocalFormatted; +import static org.lwjgl.opengl.GL11.*; import com.github.technus.tectech.TecTech; -import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Uncertainty; -import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_Uncertainty; -import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_UncertaintyAdv; +import com.github.technus.tectech.thing.gui.TecTechUITextures; import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; +import com.gtnewhorizons.modularui.api.GlStateManager; +import com.gtnewhorizons.modularui.api.drawable.UITexture; +import com.gtnewhorizons.modularui.api.math.Pos2d; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.api.screen.UIBuildContext; +import com.gtnewhorizons.modularui.common.widget.ButtonWidget; +import com.gtnewhorizons.modularui.common.widget.DrawableWidget; +import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; +import com.gtnewhorizons.modularui.common.widget.TextWidget; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Textures; +import gregtech.api.gui.modularui.GT_UIInfos; +import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.modularui.IAddGregtechLogo; +import gregtech.api.interfaces.modularui.IAddUIWidgets; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.objects.GT_RenderedTexture; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; @@ -30,7 +41,8 @@ import org.apache.commons.lang3.reflect.FieldUtils; /** * Created by danie_000 on 15.12.2016. */ -public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch { +public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch + implements IAddGregtechLogo, IAddUIWidgets { private static Textures.BlockIcons.CustomIcon ScreenON; private static Textures.BlockIcons.CustomIcon ScreenOFF; public short[] matrix = @@ -58,19 +70,6 @@ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch ScreenON = new Textures.BlockIcons.CustomIcon("iconsets/UC_ACTIVE"); } - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_Uncertainty(aPlayerInventory, aBaseMetaTileEntity); - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - if (mTier > 7) { - return new GT_GUIContainer_UncertaintyAdv(aPlayerInventory, aBaseMetaTileEntity); - } - return new GT_GUIContainer_Uncertainty(aPlayerInventory, aBaseMetaTileEntity); - } - @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { return new ITexture[] {aBaseTexture, new GT_RenderedTexture(ScreenON)}; @@ -188,7 +187,7 @@ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch } catch (Exception e) { clientLocale = "en_US"; } - aBaseMetaTileEntity.openGUI(aPlayer); + GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); return true; } @@ -333,4 +332,140 @@ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch // GT_Utility.sendChatToPlayer(aPlayer, "Equation mode: "+mode); // } // } + + @Override + public boolean useModularUI() { + return true; + } + + @Override + public void addGregTechLogo(ModularWindow.Builder builder) { + builder.widget(new DrawableWidget() + .setDrawable(TecTechUITextures.PICTURE_TECTECH_LOGO_DARK) + .setSize(18, 18) + .setPos(112, 55)); + } + + @Override + public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + final boolean isAdvanced = mTier > 7; + + builder.widget(new DrawableWidget() + .setDrawable(TecTechUITextures.BACKGROUND_SCREEN_BLUE) + .setPos(43, 4) + .setSize(90, 72)) + .widget(new DrawableWidget() + .setDrawable(TecTechUITextures.PICTURE_UNCERTAINTY_MONITOR) + .setPos(46, 27) + .setSize(46, 46)); + + int[] xPositions = new int[] {7, 25, 133, 151}; + for (int i = 0; i < 4; i++) { + for (int j = 0; j < 4; j++) { + final int index = i * 4 + j; + builder.widget(new ButtonWidget() + .setOnClick((clickData, widget) -> { + TecTech.proxy.playSound(getBaseMetaTileEntity(), "fx_click"); + if (selection == -1) { + selection = (byte) index; + } else { + short temp = matrix[selection]; + matrix[selection] = matrix[index]; + matrix[index] = temp; + selection = -1; + } + compute(); + }) + .setPlayClickSound(false) + .setBackground( + GT_UITextures.BUTTON_STANDARD, + TecTechUITextures.OVERLAY_BUTTON_UNCERTAINTY[index]) + .setPos(xPositions[i], 4 + j * 18) + .setSize(18, 18)) + .widget(new FakeSyncWidget.ShortSyncer(() -> matrix[index], val -> matrix[index] = val)); + } + } + builder.widget(new FakeSyncWidget.ByteSyncer(() -> selection, val -> selection = val)) + .widget(new FakeSyncWidget.ByteSyncer(() -> mode, val -> mode = val)) + .widget(new FakeSyncWidget.ByteSyncer(() -> status, val -> status = val)); + + builder.widget(TextWidget.dynamicString(() -> "Status: " + (status == 0 ? "OK" : "NG")) + .setSynced(false) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setPos(46, 7)); + + for (int i = 0; i < 9; i++) { + final int index = i; + builder.widget(new DrawableWidget() + .setDrawable(() -> { + UITexture valid = TecTechUITextures.PICTURE_UNCERTAINTY_VALID[index]; + UITexture invalid = TecTechUITextures.PICTURE_UNCERTAINTY_INVALID[index]; + switch (mode) { + case 1: // ooo oxo ooo + if (index == 4) return status == 0 ? valid : invalid; + break; + case 2: // ooo xox ooo + if (index == 3) return (status & 1) == 0 ? valid : invalid; + if (index == 5) return (status & 2) == 0 ? valid : invalid; + break; + case 3: // oxo xox oxo + if (index == 1) return (status & 1) == 0 ? valid : invalid; + if (index == 3) return (status & 2) == 0 ? valid : invalid; + if (index == 5) return (status & 4) == 0 ? valid : invalid; + if (index == 7) return (status & 8) == 0 ? valid : invalid; + break; + case 4: // xox ooo xox + if (index == 0) return (status & 1) == 0 ? valid : invalid; + if (index == 2) return (status & 2) == 0 ? valid : invalid; + if (index == 6) return (status & 4) == 0 ? valid : invalid; + if (index == 8) return (status & 8) == 0 ? valid : invalid; + break; + case 5: // xox oxo xox + if (index == 0) return (status & 1) == 0 ? valid : invalid; + if (index == 2) return (status & 2) == 0 ? valid : invalid; + if (index == 4) return (status & 4) == 0 ? valid : invalid; + if (index == 6) return (status & 8) == 0 ? valid : invalid; + if (index == 8) return (status & 16) == 0 ? valid : invalid; + break; + } + return null; + }) + .setPos(55 + (index % 3) * 12, 36 + (index / 3) * 12) + .setSize(4, 4)); + } + + for (int i = 0; i < 16; i++) { + final int index = i; + builder.widget( + new DrawableWidget() { + @Override + public void draw(float partialTicks) { + if (isAdvanced) { + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glColor4f(1f, 1f, 1f, (float) matrix[index] / 1000f); + + // super.draw but without disabling blend + GlStateManager.pushMatrix(); + getDrawable().draw(Pos2d.ZERO, getSize(), partialTicks); + GlStateManager.popMatrix(); + + glDisable(GL_BLEND); + glColor4f(1f, 1f, 1f, 1f); + } else { + if (TecTech.RANDOM.nextInt(1000) < matrix[index]) { + super.draw(partialTicks); + } + } + } + }.setDrawable(TecTechUITextures.PICTURE_UNCERTAINTY_INDICATOR) + .setPos(47 + (i / 4) * 12, 28 + (i % 4) * 12) + .setSize(8, 8)) + .widget(new DrawableWidget() + .setDrawable( + () -> selection == index ? TecTechUITextures.PICTURE_UNCERTAINTY_SELECTED : null) + .setPos(46 + (i / 4) * 12, 27 + (i % 4) * 12) + .setSize(10, 10)); + } + } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java deleted file mode 100644 index 88dab21c37..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Uncertainty.java +++ /dev/null @@ -1,127 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; - -import com.github.technus.tectech.TecTech; -import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Uncertainty; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.gui.GT_ContainerMetaTile_Machine; -import gregtech.api.gui.GT_Slot_Holo; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class GT_Container_Uncertainty extends GT_ContainerMetaTile_Machine { - public short[] matrix = - new short[] {500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500}; - public byte selection = -1, mode = 0, status = -128; - - public GT_Container_Uncertainty(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(aInventoryPlayer, aTileEntity); - } - - @Override - public void addSlots(InventoryPlayer aInventoryPlayer) { - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 59, false, false, 1)); - } - - @Override - public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer) { - if (aSlotIndex < 0) { - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); - if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - GT_MetaTileEntity_Hatch_Uncertainty catH = - (GT_MetaTileEntity_Hatch_Uncertainty) mTileEntity.getMetaTileEntity(); - if (aSlotIndex < 16 && catH.matrix != null) { - IGregTechTileEntity base = catH.getBaseMetaTileEntity(); - TecTech.proxy.playSound(base, "fx_click"); - if (catH.selection == -1) { - catH.selection = (byte) aSlotIndex; - } else { - short temp = catH.matrix[catH.selection]; - catH.matrix[catH.selection] = catH.matrix[aSlotIndex]; - catH.matrix[aSlotIndex] = temp; - catH.selection = -1; - } - } - } - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) { - return; - } - - ((GT_MetaTileEntity_Hatch_Uncertainty) mTileEntity.getMetaTileEntity()).compute(); - - if (matrix != null) { - for (int i = 0; i < 16; i++) { - matrix[i] = ((GT_MetaTileEntity_Hatch_Uncertainty) mTileEntity.getMetaTileEntity()).matrix[i]; - } - } - - selection = ((GT_MetaTileEntity_Hatch_Uncertainty) mTileEntity.getMetaTileEntity()).selection; - mode = ((GT_MetaTileEntity_Hatch_Uncertainty) mTileEntity.getMetaTileEntity()).mode; - status = ((GT_MetaTileEntity_Hatch_Uncertainty) mTileEntity.getMetaTileEntity()).status; - - for (Object crafter : crafters) { - ICrafting var1 = (ICrafting) crafter; - var1.sendProgressBarUpdate(this, 100, selection); - var1.sendProgressBarUpdate(this, 101, mode); - var1.sendProgressBarUpdate(this, 102, status); - - if (matrix != null) { - for (int i = 0; i < 16; i++) { - var1.sendProgressBarUpdate(this, 103 + i, matrix[i]); - } - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public void updateProgressBar(int par1, int par2) { - super.updateProgressBar(par1, par2); - switch (par1) { - case 100: - selection = (byte) par2; - break; - case 101: - mode = (byte) par2; - break; - case 102: - status = (byte) par2; - break; - default: - if (matrix != null && par1 >= 103 && par1 < 119) { - matrix[par1 - 103] = (short) par2; - break; - } - } - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Uncertainty.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Uncertainty.java deleted file mode 100644 index 5ef1ac9bc5..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Uncertainty.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; - -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - -import com.github.technus.tectech.TecTech; -import com.github.technus.tectech.font.TecTechFontRender; -import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.InventoryPlayer; -import org.lwjgl.opengl.GL11; - -public class GT_GUIContainer_Uncertainty extends GT_GUIContainerMetaTile_Machine { - public GT_GUIContainer_Uncertainty(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(new GT_Container_Uncertainty(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Uncertainty.png"); - } - - @Override - protected void drawGuiContainerForegroundLayer(int par1, int par2) { - TecTechFontRender.INSTANCE.drawSplitString("Schr\u00F6dinger", 46, 7, 167, 0xffffff); - if (mContainer != null && ((GT_Container_Uncertainty) mContainer).status == 0) { - TecTechFontRender.INSTANCE.drawSplitString("Status: OK", 46, 16, 167, 0xffffff); - } else { - TecTechFontRender.INSTANCE.drawSplitString("Status: NG", 46, 16, 167, 0xffffff); - } - } - - @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 && ((GT_Container_Uncertainty) mContainer).matrix != null) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - short bU = 0, rU = 70, fU = 192, V = 210, Vs = 216; - x += 52; - y += 33; - int state = ((GT_Container_Uncertainty) mContainer).status; - switch (((GT_Container_Uncertainty) mContainer).mode) { - case 1: // ooo oxo ooo - drawTexturedModalRect(x + 12, y + 12, rU + (state == 0 ? 76 : 12), Vs + 12, 10, 10); - break; - case 2: // ooo xox ooo - drawTexturedModalRect(x, y + 12, rU + ((state & 1) == 0 ? 64 : 0), Vs + 12, 10, 10); - drawTexturedModalRect(x + 24, y + 12, rU + ((state & 2) == 0 ? 88 : 24), Vs + 12, 10, 10); - break; - case 3: // oxo xox oxo - drawTexturedModalRect(x + 12, y, rU + ((state & 1) == 0 ? 76 : 12), Vs, 10, 10); - drawTexturedModalRect(x, y + 12, rU + ((state & 2) == 0 ? 64 : 0), Vs + 12, 10, 10); - drawTexturedModalRect(x + 24, y + 12, rU + ((state & 4) == 0 ? 88 : 24), Vs + 12, 10, 10); - drawTexturedModalRect(x + 12, y + 24, rU + ((state & 8) == 0 ? 76 : 12), Vs + 24, 10, 10); - break; - case 4: // xox ooo xox - drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 64 : 0), Vs, 10, 10); - drawTexturedModalRect(x + 24, y, rU + ((state & 2) == 0 ? 88 : 24), Vs, 10, 10); - drawTexturedModalRect(x, y + 24, rU + ((state & 4) == 0 ? 64 : 0), Vs + 24, 10, 10); - drawTexturedModalRect(x + 24, y + 24, rU + ((state & 8) == 0 ? 88 : 24), Vs + 24, 10, 10); - break; - case 5: // xox oxo xox - drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 64 : 0), Vs, 10, 10); - drawTexturedModalRect(x + 24, y, rU + ((state & 2) == 0 ? 88 : 24), Vs, 10, 10); - drawTexturedModalRect(x + 12, y + 12, rU + ((state & 4) == 0 ? 76 : 12), Vs + 12, 10, 10); - drawTexturedModalRect(x, y + 24, rU + ((state & 8) == 0 ? 64 : 0), Vs + 24, 10, 10); - drawTexturedModalRect(x + 24, y + 24, rU + ((state & 16) == 0 ? 88 : 24), Vs + 24, 10, 10); - break; - } - x -= 6; - y -= 6; - for (int i = 0; i < 16; i++) { - if (TecTech.RANDOM.nextInt(1000) < ((GT_Container_Uncertainty) mContainer).matrix[i]) { - drawTexturedModalRect( - x + 12 * (i / 4), y + 12 * (i % 4), fU + 12 * (i / 4), V + 12 * (i % 4), 10, 10); - } - } - if (((GT_Container_Uncertainty) mContainer).selection > -1) { - int sel = ((GT_Container_Uncertainty) mContainer).selection; - drawTexturedModalRect( - x + 12 * (sel / 4), y + 12 * (sel % 4), bU + 12 * (sel / 4), V + 12 * (sel % 4), 10, 10); - } - } - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_UncertaintyAdv.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_UncertaintyAdv.java deleted file mode 100644 index 1e9bccfe88..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_UncertaintyAdv.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; - -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; -import static org.lwjgl.opengl.GL11.*; - -import com.github.technus.tectech.font.TecTechFontRender; -import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.InventoryPlayer; - -public class GT_GUIContainer_UncertaintyAdv extends GT_GUIContainerMetaTile_Machine { - protected static final short sX = 52, sY = 33, bU = 0, rU = 70, fU = 192, V = 210, Vs = 216; - - public GT_GUIContainer_UncertaintyAdv(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(new GT_Container_Uncertainty(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Uncertainty.png"); - } - - @Override - protected void drawGuiContainerForegroundLayer(int par1, int par2) { - TecTechFontRender.INSTANCE.drawSplitString("Schr\u00F6dinger X", 46, 7, 167, 0xffffff); - if (mContainer != null && ((GT_Container_Uncertainty) mContainer).status == 0) { - TecTechFontRender.INSTANCE.drawSplitString("Status: OK", 46, 16, 167, 0xffffff); - } else { - TecTechFontRender.INSTANCE.drawSplitString("Status: NG", 46, 16, 167, 0xffffff); - } - } - - @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 && ((GT_Container_Uncertainty) mContainer).matrix != null) { - glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - x += sX; - y += sY; - int state = ((GT_Container_Uncertainty) mContainer).status; - switch (((GT_Container_Uncertainty) mContainer).mode) { - case 1: // ooo oxo ooo - drawTexturedModalRect(x + 12, y + 12, rU + (state == 0 ? 76 : 12), Vs + 12, 10, 10); - break; - case 2: // ooo xox ooo - drawTexturedModalRect(x, y + 12, rU + ((state & 1) == 0 ? 64 : 0), Vs + 12, 10, 10); - drawTexturedModalRect(x + 24, y + 12, rU + ((state & 2) == 0 ? 88 : 24), Vs + 12, 10, 10); - break; - case 3: // oxo xox oxo - drawTexturedModalRect(x + 12, y, rU + ((state & 1) == 0 ? 76 : 12), Vs, 10, 10); - drawTexturedModalRect(x, y + 12, rU + ((state & 2) == 0 ? 64 : 0), Vs + 12, 10, 10); - drawTexturedModalRect(x + 24, y + 12, rU + ((state & 4) == 0 ? 88 : 24), Vs + 12, 10, 10); - drawTexturedModalRect(x + 12, y + 24, rU + ((state & 8) == 0 ? 76 : 12), Vs + 24, 10, 10); - break; - case 4: // xox ooo xox - drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 64 : 0), Vs, 10, 10); - drawTexturedModalRect(x + 24, y, rU + ((state & 2) == 0 ? 88 : 24), Vs, 10, 10); - drawTexturedModalRect(x, y + 24, rU + ((state & 4) == 0 ? 64 : 0), Vs + 24, 10, 10); - drawTexturedModalRect(x + 24, y + 24, rU + ((state & 8) == 0 ? 88 : 24), Vs + 24, 10, 10); - break; - case 5: // xox ooo xox - drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 64 : 0), Vs, 10, 10); - drawTexturedModalRect(x + 24, y, rU + ((state & 2) == 0 ? 88 : 24), Vs, 10, 10); - drawTexturedModalRect(x + 12, y + 12, rU + ((state & 4) == 0 ? 76 : 12), Vs + 12, 10, 10); - drawTexturedModalRect(x, y + 24, rU + ((state & 8) == 0 ? 64 : 0), Vs + 24, 10, 10); - drawTexturedModalRect(x + 24, y + 24, rU + ((state & 16) == 0 ? 88 : 24), Vs + 24, 10, 10); - break; - } - x -= 6; - y -= 6; - - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - for (int i = 0; i < 16; i++) { - glColor4f(1f, 1f, 1f, (float) ((GT_Container_Uncertainty) mContainer).matrix[i] / 1000f); - drawTexturedModalRect(x + 12 * (i / 4), y + 12 * (i % 4), fU + 12 * (i / 4), V + 12 * (i % 4), 10, 10); - } - glDisable(GL_BLEND); - - glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - if (((GT_Container_Uncertainty) mContainer).selection > -1) { - int sel = ((GT_Container_Uncertainty) mContainer).selection; - drawTexturedModalRect( - x + 12 * (sel / 4), y + 12 * (sel % 4), bU + 12 * (sel / 4), V + 12 * (sel % 4), 10, 10); - } - } - } -} diff --git a/src/main/resources/assets/gregtech/textures/gui/Uncertainty.png b/src/main/resources/assets/gregtech/textures/gui/Uncertainty.png deleted file mode 100644 index 8afdd68ccc..0000000000 Binary files a/src/main/resources/assets/gregtech/textures/gui/Uncertainty.png and /dev/null differ diff --git a/src/main/resources/assets/tectech/textures/gui/background/screen_blue.png b/src/main/resources/assets/tectech/textures/gui/background/screen_blue.png new file mode 100644 index 0000000000..3f70db25e7 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/background/screen_blue.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/0.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/0.png new file mode 100644 index 0000000000..4beeaf609c Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/0.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/1.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/1.png new file mode 100644 index 0000000000..125ff851f0 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/1.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/10.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/10.png new file mode 100644 index 0000000000..6e28c85673 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/10.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/11.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/11.png new file mode 100644 index 0000000000..498246457d Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/11.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/12.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/12.png new file mode 100644 index 0000000000..f8c25b8625 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/12.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/13.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/13.png new file mode 100644 index 0000000000..f900fba9a2 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/13.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/14.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/14.png new file mode 100644 index 0000000000..a0ca048fa7 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/14.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/15.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/15.png new file mode 100644 index 0000000000..5f88156010 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/15.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/2.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/2.png new file mode 100644 index 0000000000..cfe3bc8922 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/2.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/3.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/3.png new file mode 100644 index 0000000000..cc04de0089 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/3.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/4.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/4.png new file mode 100644 index 0000000000..84d45df4c2 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/4.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/5.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/5.png new file mode 100644 index 0000000000..45f1196611 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/5.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/6.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/6.png new file mode 100644 index 0000000000..685991502e Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/6.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/7.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/7.png new file mode 100644 index 0000000000..8e9c590652 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/7.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/8.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/8.png new file mode 100644 index 0000000000..3fae38f805 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/8.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/9.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/9.png new file mode 100644 index 0000000000..477400df07 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/uncertainty/9.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/tectech_logo_dark.png b/src/main/resources/assets/tectech/textures/gui/picture/tectech_logo_dark.png new file mode 100644 index 0000000000..bf12f0ccdb Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/tectech_logo_dark.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/indicator.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/indicator.png new file mode 100644 index 0000000000..fc56d4663d Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/indicator.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_0.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_0.png new file mode 100644 index 0000000000..a5b0d20b38 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_0.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_1.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_1.png new file mode 100644 index 0000000000..39ec7d8ef0 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_1.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_2.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_2.png new file mode 100644 index 0000000000..b6a26cd8b1 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_2.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_3.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_3.png new file mode 100644 index 0000000000..4bc12814a4 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_3.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_4.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_4.png new file mode 100644 index 0000000000..c4e0f07e22 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_4.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_5.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_5.png new file mode 100644 index 0000000000..1dce4d241d Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_5.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_6.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_6.png new file mode 100644 index 0000000000..17c55cb05d Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_6.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_7.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_7.png new file mode 100644 index 0000000000..0d25fffa61 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_7.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_8.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_8.png new file mode 100644 index 0000000000..f7c4d01ff6 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/invalid_8.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/monitor.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/monitor.png new file mode 100644 index 0000000000..2510a1a99c Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/monitor.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/selected.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/selected.png new file mode 100644 index 0000000000..3837244126 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/selected.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_0.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_0.png new file mode 100644 index 0000000000..aa0d038e86 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_0.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_1.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_1.png new file mode 100644 index 0000000000..66ef4ee2af Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_1.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_2.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_2.png new file mode 100644 index 0000000000..bffac90814 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_2.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_3.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_3.png new file mode 100644 index 0000000000..1c66b00bc1 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_3.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_4.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_4.png new file mode 100644 index 0000000000..17a5f107d4 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_4.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_5.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_5.png new file mode 100644 index 0000000000..68617d1f96 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_5.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_6.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_6.png new file mode 100644 index 0000000000..0ea0bddaed Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_6.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_7.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_7.png new file mode 100644 index 0000000000..1801437459 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_7.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_8.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_8.png new file mode 100644 index 0000000000..89181e29e9 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/valid_8.png differ -- cgit From 654bdd5096b30d2bc50816aeaf96145a0d0caa74 Mon Sep 17 00:00:00 2001 From: miozune Date: Fri, 18 Nov 2022 22:39:28 +0900 Subject: Multiblock --- dependencies.gradle | 2 +- .../tectech/thing/gui/TecTechUITextures.java | 48 ++- .../hatch/GT_MetaTileEntity_Hatch_Holder.java | 4 +- .../hatch/GT_MetaTileEntity_Hatch_Rack.java | 6 +- .../multi/GT_MetaTileEntity_EM_dataBank.java | 35 +- .../multi/GT_MetaTileEntity_EM_infuser.java | 29 +- .../multi/GT_MetaTileEntity_EM_transformer.java | 29 +- .../multi/GT_MetaTileEntity_TM_microwave.java | 33 +- .../multi/base/GT_Container_MultiMachineEM.java | 1 + .../multi/base/GT_GUIContainer_MultiMachineEM.java | 1 + .../base/GT_MetaTileEntity_MultiblockBase_EM.java | 392 +++++++++++++++++++-- .../tectech/textures/gui/button/standard_16x16.png | Bin 109 -> 107 bytes .../textures/gui/button/standard_light_16x16.png | Bin 0 -> 109 bytes .../gui/overlay_button/power_pass_disabled.png | Bin 0 -> 144 bytes .../textures/gui/overlay_button/power_pass_off.png | Bin 0 -> 272 bytes .../textures/gui/overlay_button/power_pass_on.png | Bin 0 -> 234 bytes .../gui/overlay_button/power_switch_disabled.png | Bin 0 -> 182 bytes .../gui/overlay_button/power_switch_off.png | Bin 182 -> 331 bytes .../gui/overlay_button/safe_void_disabled.png | Bin 0 -> 158 bytes .../textures/gui/overlay_button/safe_void_off.png | Bin 0 -> 373 bytes .../textures/gui/overlay_button/safe_void_on.png | Bin 0 -> 393 bytes .../tectech/textures/gui/overlay_slot/mesh.png | Bin 0 -> 137 bytes .../textures/gui/picture/heat_sink_small.png | Bin 0 -> 106 bytes .../textures/gui/picture/parameter_blank.png | Bin 0 -> 332 bytes .../textures/gui/picture/parameter_blue.png | Bin 0 -> 234 bytes .../textures/gui/picture/parameter_cyan.png | Bin 0 -> 184 bytes .../textures/gui/picture/parameter_gray.png | Bin 0 -> 79 bytes .../textures/gui/picture/parameter_green.png | Bin 0 -> 250 bytes .../textures/gui/picture/parameter_orange.png | Bin 0 -> 235 bytes .../tectech/textures/gui/picture/parameter_red.png | Bin 0 -> 219 bytes .../picture/uncertainty/monitor_multimachine.png | Bin 0 -> 185 bytes 31 files changed, 476 insertions(+), 104 deletions(-) create mode 100644 src/main/resources/assets/tectech/textures/gui/button/standard_light_16x16.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_disabled.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_off.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_on.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_disabled.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_disabled.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_off.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_on.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_slot/mesh.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/heat_sink_small.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/parameter_blank.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/parameter_blue.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/parameter_cyan.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/parameter_gray.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/parameter_green.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/parameter_orange.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/parameter_red.png create mode 100644 src/main/resources/assets/tectech/textures/gui/picture/uncertainty/monitor_multimachine.png diff --git a/dependencies.gradle b/dependencies.gradle index 983d1205ce..0180eebb0b 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,7 +2,7 @@ dependencies { shadowImplementation('com.github.GTNewHorizons:AVRcore:master-SNAPSHOT') - compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.128-pre:dev') + compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.135-pre:dev') compile('com.github.GTNewHorizons:Yamcl:0.5.84:dev') compile('com.github.GTNewHorizons:NotEnoughItems:2.3.7-GTNH:dev') compile('com.github.GTNewHorizons:CodeChickenLib:1.1.5.5:dev') diff --git a/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java b/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java index 26c484f4b1..b09984e388 100644 --- a/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java +++ b/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java @@ -13,7 +13,11 @@ public class TecTechUITextures { AdaptableUITexture.of(MODID, "gui/background/screen_blue", 90, 72, 2); public static final UITexture BUTTON_STANDARD_16x16 = UITexture.fullImage(MODID, "gui/button/standard_16x16"); + public static final UITexture BUTTON_STANDARD_LIGHT_16x16 = + UITexture.fullImage(MODID, "gui/button/standard_light_16x16"); + public static final UITexture OVERLAY_BUTTON_POWER_SWITCH_DISABLED = + UITexture.fullImage(MODID, "gui/overlay_button/power_switch_disabled"); public static final UITexture OVERLAY_BUTTON_POWER_SWITCH_OFF = UITexture.fullImage(MODID, "gui/overlay_button/power_switch_off"); public static final UITexture OVERLAY_BUTTON_POWER_SWITCH_ON = @@ -23,9 +27,22 @@ public class TecTechUITextures { public static final UITexture[] OVERLAY_BUTTON_UNCERTAINTY = IntStream.range(0, 16) .mapToObj(i -> UITexture.fullImage(MODID, "gui/overlay_button/uncertainty/" + i)) .collect(Collectors.toList()) - .toArray(new UITexture[] {}); + .toArray(new UITexture[0]); + public static final UITexture OVERLAY_BUTTON_SAFE_VOID_DISABLED = + UITexture.fullImage(MODID, "gui/overlay_button/safe_void_disabled"); + public static final UITexture OVERLAY_BUTTON_SAFE_VOID_OFF = + UITexture.fullImage(MODID, "gui/overlay_button/safe_void_off"); + public static final UITexture OVERLAY_BUTTON_SAFE_VOID_ON = + UITexture.fullImage(MODID, "gui/overlay_button/safe_void_on"); + public static final UITexture OVERLAY_BUTTON_POWER_PASS_DISABLED = + UITexture.fullImage(MODID, "gui/overlay_button/power_pass_disabled"); + public static final UITexture OVERLAY_BUTTON_POWER_PASS_OFF = + UITexture.fullImage(MODID, "gui/overlay_button/power_pass_off"); + public static final UITexture OVERLAY_BUTTON_POWER_PASS_ON = + UITexture.fullImage(MODID, "gui/overlay_button/power_pass_on"); public static final UITexture OVERLAY_SLOT_RACK = UITexture.fullImage(MODID, "gui/overlay_slot/rack"); + public static final UITexture OVERLAY_SLOT_MESH = UITexture.fullImage(MODID, "gui/overlay_slot/mesh"); public static final UITexture PICTURE_TECTECH_LOGO = UITexture.fullImage(MODID, "gui/picture/tectech_logo"); public static final UITexture PICTURE_TECTECH_LOGO_DARK = @@ -41,9 +58,34 @@ public class TecTechUITextures { public static final UITexture[] PICTURE_UNCERTAINTY_VALID = IntStream.range(0, 9) .mapToObj(i -> UITexture.fullImage(MODID, "gui/picture/uncertainty/valid_" + i)) .collect(Collectors.toList()) - .toArray(new UITexture[] {}); + .toArray(new UITexture[0]); public static final UITexture[] PICTURE_UNCERTAINTY_INVALID = IntStream.range(0, 9) .mapToObj(i -> UITexture.fullImage(MODID, "gui/picture/uncertainty/invalid_" + i)) .collect(Collectors.toList()) - .toArray(new UITexture[] {}); + .toArray(new UITexture[0]); + public static final UITexture PICTURE_HEAT_SINK_SMALL = UITexture.fullImage(MODID, "gui/picture/heat_sink_small"); + public static final UITexture PICTURE_PARAMETER_BLANK = UITexture.fullImage(MODID, "gui/picture/parameter_blank"); + public static final UITexture[] PICTURE_PARAMETER_BLUE = IntStream.range(0, 20) + .mapToObj(i -> UITexture.partly(MODID, "gui/picture/parameter_blue", 158, 4, i * 8, 0, i * 8 + 6, 4)) + .collect(Collectors.toList()) + .toArray(new UITexture[0]); + public static final UITexture[] PICTURE_PARAMETER_CYAN = IntStream.range(0, 20) + .mapToObj(i -> UITexture.partly(MODID, "gui/picture/parameter_cyan", 158, 4, i * 8, 0, i * 8 + 6, 4)) + .collect(Collectors.toList()) + .toArray(new UITexture[0]); + public static final UITexture[] PICTURE_PARAMETER_GREEN = IntStream.range(0, 20) + .mapToObj(i -> UITexture.partly(MODID, "gui/picture/parameter_green", 158, 4, i * 8, 0, i * 8 + 6, 4)) + .collect(Collectors.toList()) + .toArray(new UITexture[0]); + public static final UITexture[] PICTURE_PARAMETER_ORANGE = IntStream.range(0, 20) + .mapToObj(i -> UITexture.partly(MODID, "gui/picture/parameter_orange", 158, 4, i * 8, 0, i * 8 + 6, 4)) + .collect(Collectors.toList()) + .toArray(new UITexture[0]); + public static final UITexture[] PICTURE_PARAMETER_RED = IntStream.range(0, 20) + .mapToObj(i -> UITexture.partly(MODID, "gui/picture/parameter_red", 158, 4, i * 8, 0, i * 8 + 6, 4)) + .collect(Collectors.toList()) + .toArray(new UITexture[0]); + public static final UITexture PICTURE_PARAMETER_GRAY = UITexture.fullImage(MODID, "gui/picture/parameter_gray"); + public static final UITexture PICTURE_UNCERTAINTY_MONITOR_MULTIMACHINE = + UITexture.fullImage(MODID, "gui/picture/uncertainty/monitor_multimachine"); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java index 9381f432f3..af6197be39 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java @@ -160,13 +160,13 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch impl }) .setPos(79, 38)) .widget(new DrawableWidget() - .setDrawable(TecTechUITextures.BUTTON_STANDARD_16x16) + .setDrawable(TecTechUITextures.BUTTON_STANDARD_LIGHT_16x16) .setPos(152, 24) .setSize(16, 16)) .widget(new DrawableWidget() .setDrawable(() -> getBaseMetaTileEntity().isActive() ? TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_ON - : TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_OFF) + : TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_DISABLED) .setPos(152, 24) .setSize(16, 16)) .widget(new FakeSyncWidget.BooleanSyncer( diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java index cede4a33b1..b99e030559 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java @@ -328,20 +328,20 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch implem .setPos(positions[i])); builder.widget(new DrawableWidget() - .setDrawable(TecTechUITextures.BUTTON_STANDARD_16x16) + .setDrawable(TecTechUITextures.BUTTON_STANDARD_LIGHT_16x16) .setPos(152, 24) .setSize(16, 16)) .widget(new DrawableWidget() .setDrawable(() -> getBaseMetaTileEntity().isActive() ? TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_ON - : TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_OFF) + : TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_DISABLED) .setPos(152, 24) .setSize(16, 16)) .widget(new FakeSyncWidget.BooleanSyncer( () -> getBaseMetaTileEntity().isActive(), val -> getBaseMetaTileEntity().setActive(val))); builder.widget(new DrawableWidget() - .setDrawable(TecTechUITextures.BUTTON_STANDARD_16x16) + .setDrawable(TecTechUITextures.BUTTON_STANDARD_LIGHT_16x16) .setPos(152, 41) .setSize(16, 16)) .widget(new DrawableWidget() diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java index 01eab07bd5..c663fea79b 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java @@ -14,8 +14,6 @@ import com.github.technus.tectech.Reference; import com.github.technus.tectech.mechanics.dataTransport.InventoryDataPacket; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputDataItems; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_OutputDataItems; -import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_Container_MultiMachineEM; -import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContainer_MultiMachineEM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; import com.github.technus.tectech.util.CommonValues; @@ -38,7 +36,6 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -175,23 +172,6 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB } } - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, true, false, true); - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM( - aPlayerInventory, - aBaseMetaTileEntity, - getLocalName(), - "EMDisplay.png", - true, - false, - true); // todo texture - } - @Override public ITexture[] getTexture( IGregTechTileEntity aBaseMetaTileEntity, @@ -301,4 +281,19 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB return GT_MetaTileEntity_EM_dataBank::addDataBankHatchToMachineList; } } + + @Override + public boolean isPowerPassButtonEnabled() { + return true; + } + + @Override + public boolean isSafeVoidButtonEnabled() { + return false; + } + + @Override + public boolean isAllowedToWorkButtonEnabled() { + return true; + } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java index d7159ab682..de338c53e8 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java @@ -12,8 +12,6 @@ import static net.minecraft.util.StatCollector.translateToLocal; import cofh.api.energy.IEnergyContainerItem; import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; -import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_Container_MultiMachineEM; -import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContainer_MultiMachineEM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.util.CommonValues; import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; @@ -27,7 +25,6 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -277,17 +274,6 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa return tt; } - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, true, false, true); - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM( - aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png", true, false, true); - } - public static final ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_whooum"); @Override @@ -310,4 +296,19 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa public String[] getStructureDescription(ItemStack stackSize) { return description; } + + @Override + public boolean isPowerPassButtonEnabled() { + return true; + } + + @Override + public boolean isSafeVoidButtonEnabled() { + return false; + } + + @Override + public boolean isAllowedToWorkButtonEnabled() { + return true; + } } 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 613dbe0e21..faf94436ce 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 @@ -13,8 +13,6 @@ import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; import static net.minecraft.util.StatCollector.translateToLocal; import com.github.technus.tectech.Reference; -import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_Container_MultiMachineEM; -import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContainer_MultiMachineEM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; import com.github.technus.tectech.util.CommonValues; @@ -29,7 +27,6 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; @@ -153,17 +150,6 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo return tt; } - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - 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); - } - @Override public ITexture[] getTexture( IGregTechTileEntity aBaseMetaTileEntity, @@ -224,4 +210,19 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo public String[] getStructureDescription(ItemStack stackSize) { return description; } + + @Override + public boolean isPowerPassButtonEnabled() { + return true; + } + + @Override + public boolean isSafeVoidButtonEnabled() { + return false; + } + + @Override + public boolean isAllowedToWorkButtonEnabled() { + return false; + } } 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 4406977759..112405ff05 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 @@ -29,7 +29,6 @@ import java.util.HashSet; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; @@ -239,23 +238,6 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock return tt; } - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, true, false, true); - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM( - aPlayerInventory, - aBaseMetaTileEntity, - getLocalName(), - "EMDisplay.png", - true, - false, - true); // todo texture - } - @Override public ITexture[] getTexture( IGregTechTileEntity aBaseMetaTileEntity, @@ -326,4 +308,19 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock public String[] getStructureDescription(ItemStack stackSize) { return description; } + + @Override + public boolean isPowerPassButtonEnabled() { + return true; + } + + @Override + public boolean isSafeVoidButtonEnabled() { + return false; + } + + @Override + public boolean isAllowedToWorkButtonEnabled() { + return true; + } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java index a26003dd74..66d7acf2c2 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java @@ -11,6 +11,7 @@ import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; +@Deprecated public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { public LedStatus[] eParamsInStatus = LedStatus.makeArray(20, LedStatus.STATUS_UNDEFINED); public LedStatus[] eParamsOutStatus = LedStatus.makeArray(20, LedStatus.STATUS_UNDEFINED); diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java index 0c20d76dae..cca5eee361 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java @@ -15,6 +15,7 @@ import org.lwjgl.opengl.GL12; /** * Created by Tec on 21.02.2017. */ +@Deprecated public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Machine { protected final String mName; protected static byte counter = 0; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java index bc5cece66c..17ca3ae2d9 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java @@ -7,6 +7,7 @@ import static com.github.technus.tectech.util.CommonValues.*; import static com.github.technus.tectech.util.DoubleCount.div; import static com.github.technus.tectech.util.TT_Utility.getTier; import static gregtech.api.enums.GT_HatchElement.*; +import static gregtech.api.metatileentity.BaseTileEntity.TOOLTIP_DELAY; import static java.lang.Math.min; import com.github.technus.tectech.Reference; @@ -15,6 +16,7 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.EMException; import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack; import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack; +import com.github.technus.tectech.thing.gui.TecTechUITextures; import com.github.technus.tectech.thing.metaTileEntity.hatch.*; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; import com.github.technus.tectech.util.TT_Utility; @@ -29,6 +31,17 @@ import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.IStructureElement; import com.gtnewhorizon.structurelib.util.Vec3Impl; +import com.gtnewhorizons.modularui.api.drawable.IDrawable; +import com.gtnewhorizons.modularui.api.drawable.UITexture; +import com.gtnewhorizons.modularui.api.math.Pos2d; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.api.screen.UIBuildContext; +import com.gtnewhorizons.modularui.api.widget.Widget; +import com.gtnewhorizons.modularui.common.widget.ButtonWidget; +import com.gtnewhorizons.modularui.common.widget.DrawableWidget; +import com.gtnewhorizons.modularui.common.widget.DynamicPositionedColumn; +import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; +import com.gtnewhorizons.modularui.common.widget.SlotWidget; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -36,6 +49,7 @@ import gregtech.api.enums.Textures; import gregtech.api.interfaces.IHatchElement; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.modularui.IBindPlayerInventoryUI; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.BaseTileEntity; import gregtech.api.metatileentity.MetaTileEntity; @@ -51,19 +65,19 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidStack; +import org.lwjgl.opengl.GL11; /** * Created by danie_000 on 27.10.2016. */ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEntity_TooltipMultiBlockBase - implements IAlignment { + implements IAlignment, IBindPlayerInventoryUI { // region Client side variables (static - one per class) // Front icon holders - static so it is default one for my blocks @@ -516,33 +530,6 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt // region GUI/SOUND/RENDER - /** - * Server side container - * - * @param aID - * @param aPlayerInventory - * @param aBaseMetaTileEntity - * @return - */ - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity); - } - - /** - * Client side gui - * - * @param aID - * @param aPlayerInventory - * @param aBaseMetaTileEntity - * @return - */ - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM( - aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png"); - } - /** * add more textures * @@ -2904,4 +2891,351 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } return false; } + + // region ModularUI + + @Override + public int getGUIWidth() { + return 198; + } + + @Override + public int getGUIHeight() { + return 192; + } + + @Override + public void bindPlayerInventoryUI(ModularWindow.Builder builder, UIBuildContext buildContext) { + builder.bindPlayerInventory( + buildContext.getPlayer(), new Pos2d(7, 109), getGUITextureSet().getItemSlot()); + } + + public boolean isPowerPassButtonEnabled() { + return true; + } + + public boolean isSafeVoidButtonEnabled() { + return true; + } + + public boolean isAllowedToWorkButtonEnabled() { + return true; + } + + @Override + public void addGregTechLogo(ModularWindow.Builder builder) { + builder.widget(new DrawableWidget() + .setDrawable(TecTechUITextures.PICTURE_TECTECH_LOGO_DARK) + .setSize(18, 18) + .setPos(173, 74)); + } + + private static byte LEDCounter = 0; + + @Override + public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + builder.widget(new DrawableWidget() + .setDrawable(TecTechUITextures.BACKGROUND_SCREEN_BLUE) + .setPos(4, 4) + .setSize(190, 91)); + final SlotWidget inventorySlot = new SlotWidget(inventoryHandler, 1); + builder.widget(inventorySlot + .setBackground(getGUITextureSet().getItemSlot(), TecTechUITextures.OVERLAY_SLOT_MESH) + .setPos(173, 167)) + .widget(new DrawableWidget() + .setDrawable(TecTechUITextures.PICTURE_HEAT_SINK_SMALL) + .setPos(173, 185) + .setSize(18, 6)); + + final DynamicPositionedColumn screenElements = new DynamicPositionedColumn(); + drawTexts(screenElements, inventorySlot); + builder.widget(screenElements.setPos(7, 8)); + + Widget powerPassButton = new ButtonWidget() + .setOnClick((clickData, widget) -> { + if (isPowerPassButtonEnabled() || ePowerPassCover) { + TecTech.proxy.playSound(getBaseMetaTileEntity(), "fx_click"); + ePowerPass = !ePowerPass; + if (!isAllowedToWorkButtonEnabled()) { // TRANSFORMER HACK + if (ePowerPass) { + getBaseMetaTileEntity().enableWorking(); + } else { + getBaseMetaTileEntity().disableWorking(); + } + } + } + }) + .setPlayClickSound(false) + .setBackground(() -> { + List ret = new ArrayList<>(); + ret.add(TecTechUITextures.BUTTON_STANDARD_16x16); + if (!isPowerPassButtonEnabled() && !ePowerPassCover) { + ret.add(TecTechUITextures.OVERLAY_BUTTON_POWER_PASS_DISABLED); + } else { + if (ePowerPass) { + ret.add(TecTechUITextures.OVERLAY_BUTTON_POWER_PASS_ON); + } else { + ret.add(TecTechUITextures.OVERLAY_BUTTON_POWER_PASS_OFF); + } + } + return ret.toArray(new IDrawable[0]); + }) + .setPos(174, 116) + .setSize(16, 16); + if (isPowerPassButtonEnabled()) { + powerPassButton.addTooltip("Power Pass").setTooltipShowUpDelay(TOOLTIP_DELAY); + } + builder.widget(powerPassButton) + .widget(new FakeSyncWidget.BooleanSyncer(() -> ePowerPass, val -> ePowerPass = val)) + .widget(new FakeSyncWidget.BooleanSyncer(() -> ePowerPassCover, val -> ePowerPassCover = val)); + Widget safeVoidButton = new ButtonWidget() + .setOnClick((clickData, widget) -> { + if (isSafeVoidButtonEnabled()) { + TecTech.proxy.playSound(getBaseMetaTileEntity(), "fx_click"); + eSafeVoid = !eSafeVoid; + } + }) + .setPlayClickSound(false) + .setBackground(() -> { + List ret = new ArrayList<>(); + ret.add(TecTechUITextures.BUTTON_STANDARD_16x16); + if (!isSafeVoidButtonEnabled()) { + ret.add(TecTechUITextures.OVERLAY_BUTTON_SAFE_VOID_DISABLED); + } else { + if (eSafeVoid) { + ret.add(TecTechUITextures.OVERLAY_BUTTON_SAFE_VOID_ON); + } else { + ret.add(TecTechUITextures.OVERLAY_BUTTON_SAFE_VOID_OFF); + } + } + return ret.toArray(new IDrawable[0]); + }) + .setPos(174, 132) + .setSize(16, 16); + if (isSafeVoidButtonEnabled()) { + safeVoidButton.addTooltip("Safe Void").setTooltipShowUpDelay(TOOLTIP_DELAY); + } + builder.widget(safeVoidButton) + .widget(new FakeSyncWidget.BooleanSyncer(() -> eSafeVoid, val -> eSafeVoid = val)); + Widget powerSwitchButton = new ButtonWidget() + .setOnClick((clickData, widget) -> { + if (isAllowedToWorkButtonEnabled()) { + TecTech.proxy.playSound(getBaseMetaTileEntity(), "fx_click"); + if (getBaseMetaTileEntity().isAllowedToWork()) { + getBaseMetaTileEntity().disableWorking(); + } else { + getBaseMetaTileEntity().enableWorking(); + } + } + }) + .setPlayClickSound(false) + .setBackground(() -> { + List ret = new ArrayList<>(); + ret.add(TecTechUITextures.BUTTON_STANDARD_16x16); + if (!isAllowedToWorkButtonEnabled()) { + ret.add(TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_DISABLED); + } else { + if (getBaseMetaTileEntity().isAllowedToWork()) { + ret.add(TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_ON); + } else { + ret.add(TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_OFF); + } + } + return ret.toArray(new IDrawable[0]); + }) + .setPos(174, 148) + .setSize(16, 16); + if (isAllowedToWorkButtonEnabled()) { + powerSwitchButton.addTooltip("Power Switch").setTooltipShowUpDelay(TOOLTIP_DELAY); + } + builder.widget(powerSwitchButton) + .widget(new FakeSyncWidget.BooleanSyncer( + () -> getBaseMetaTileEntity().isAllowedToWork(), val -> { + if (val) getBaseMetaTileEntity().enableWorking(); + else getBaseMetaTileEntity().disableWorking(); + })); + + builder.widget( + new DrawableWidget() { + @Override + public void draw(float partialTicks) { + super.draw(partialTicks); + LEDCounter = (byte) ((1 + LEDCounter) % 6); + } + }.setDrawable(TecTechUITextures.PICTURE_PARAMETER_BLANK) + .setPos(5, 96) + .setSize(166, 12)); + for (int hatch = 0; hatch < 10; hatch++) { + for (int param = 0; param < 2; param++) { + addParameterLED(builder, hatch, param, true); + addParameterLED(builder, hatch, param, false); + } + } + + builder.widget(new DrawableWidget() + .setDrawable(TecTechUITextures.PICTURE_UNCERTAINTY_MONITOR_MULTIMACHINE) + .setPos(173, 96) + .setSize(18, 18)); + for (int i = 0; i < 9; i++) { + final int index = i; + builder.widget(new DrawableWidget() + .setDrawable(() -> { + UITexture valid = TecTechUITextures.PICTURE_UNCERTAINTY_VALID[index]; + UITexture invalid = TecTechUITextures.PICTURE_UNCERTAINTY_INVALID[index]; + switch (eCertainMode) { + case 1: // ooo oxo ooo + if (index == 4) return eCertainStatus == 0 ? valid : invalid; + break; + case 2: // ooo xox ooo + if (index == 3) return (eCertainStatus & 1) == 0 ? valid : invalid; + if (index == 5) return (eCertainStatus & 2) == 0 ? valid : invalid; + break; + case 3: // oxo xox oxo + if (index == 1) return (eCertainStatus & 1) == 0 ? valid : invalid; + if (index == 3) return (eCertainStatus & 2) == 0 ? valid : invalid; + if (index == 5) return (eCertainStatus & 4) == 0 ? valid : invalid; + if (index == 7) return (eCertainStatus & 8) == 0 ? valid : invalid; + break; + case 4: // xox ooo xox + if (index == 0) return (eCertainStatus & 1) == 0 ? valid : invalid; + if (index == 2) return (eCertainStatus & 2) == 0 ? valid : invalid; + if (index == 6) return (eCertainStatus & 4) == 0 ? valid : invalid; + if (index == 8) return (eCertainStatus & 8) == 0 ? valid : invalid; + break; + case 5: // xox oxo xox + if (index == 0) return (eCertainStatus & 1) == 0 ? valid : invalid; + if (index == 2) return (eCertainStatus & 2) == 0 ? valid : invalid; + if (index == 4) return (eCertainStatus & 4) == 0 ? valid : invalid; + if (index == 6) return (eCertainStatus & 8) == 0 ? valid : invalid; + if (index == 8) return (eCertainStatus & 16) == 0 ? valid : invalid; + break; + } + return null; + }) + .setPos(174 + (index % 3) * 6, 97 + (index / 3) * 6) + .setSize(4, 4)); + } + builder.widget(new FakeSyncWidget.ByteSyncer(() -> eCertainMode, val -> eCertainMode = val)) + .widget(new FakeSyncWidget.ByteSyncer(() -> eCertainStatus, val -> eCertainStatus = val)); + } + + private void addParameterLED(ModularWindow.Builder builder, int hatch, int param, boolean input) { + final int parameterIndex = hatch + param * 10; + final int posIndex = hatch * 2 + param; + builder.widget( + new DrawableWidget() { + @Override + public void draw(float partialTicks) { + IDrawable texture = null; + final LedStatus status = input + ? parametrization.eParamsInStatus[parameterIndex] + : parametrization.eParamsOutStatus[parameterIndex]; + switch (status) { + case STATUS_WTF: { + int c = LEDCounter; + if (c > 4) { + c = TecTech.RANDOM.nextInt(5); + } + switch (c) { + case 0: + texture = TecTechUITextures.PICTURE_PARAMETER_BLUE[posIndex]; + break; + case 1: + texture = TecTechUITextures.PICTURE_PARAMETER_CYAN[posIndex]; + break; + case 2: + texture = TecTechUITextures.PICTURE_PARAMETER_GREEN[posIndex]; + break; + case 3: + texture = TecTechUITextures.PICTURE_PARAMETER_ORANGE[posIndex]; + break; + case 4: + texture = TecTechUITextures.PICTURE_PARAMETER_RED[posIndex]; + break; + } + break; + } + case STATUS_WRONG: // fallthrough + if (LEDCounter < 2) { + texture = TecTechUITextures.PICTURE_PARAMETER_BLUE[posIndex]; + break; + } else if (LEDCounter < 4) { + texture = TecTechUITextures.PICTURE_PARAMETER_RED[posIndex]; + break; + } + case STATUS_OK: // ok + texture = TecTechUITextures.PICTURE_PARAMETER_GREEN[posIndex]; + break; + case STATUS_TOO_LOW: // too low blink + if (LEDCounter < 3) { + texture = TecTechUITextures.PICTURE_PARAMETER_BLUE[posIndex]; + break; + } + case STATUS_LOW: // too low + texture = TecTechUITextures.PICTURE_PARAMETER_CYAN[posIndex]; + break; + case STATUS_TOO_HIGH: // too high blink + if (LEDCounter < 3) { + texture = TecTechUITextures.PICTURE_PARAMETER_RED[posIndex]; + break; + } + case STATUS_HIGH: // too high + texture = TecTechUITextures.PICTURE_PARAMETER_ORANGE[posIndex]; + break; + case STATUS_NEUTRAL: + if (LEDCounter < 3) { + GL11.glColor4f(.85f, .9f, .95f, .5F); + } else { + GL11.glColor4f(.8f, .9f, 1f, .5F); + } + texture = TecTechUITextures.PICTURE_PARAMETER_GRAY; + break; + case STATUS_UNDEFINED: + if (LEDCounter < 3) { + GL11.glColor4f(.5f, .1f, .15f, .5F); + } else { + GL11.glColor4f(0f, .1f, .2f, .5F); + } + texture = TecTechUITextures.PICTURE_PARAMETER_GRAY; + break; + case STATUS_UNUSED: + default: + // if (GregTech_API.sColoredGUI && this.mContainer.mTileEntity != null) { + // int tColor = this.mContainer.mTileEntity.getColorization() & 15; + // if (tColor < ItemDye.field_150922_c.length) { + // tColor = ItemDye.field_150922_c[tColor]; + // GL11.glColor4f((float)(tColor >> 16 & 255) / 255.0F, (float)(tColor >> 8 & + // 255) / 255.0F, + // (float)(tColor & 255) / 255.0F, 1F); + // } + // } + // drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2); + // GL11.glColor4f(1f, 1f, 1f, 1f); + // break; + } + setDrawable(texture); + super.draw(partialTicks); + GL11.glColor4f(1f, 1f, 1f, 1f); + } + }.dynamicTooltip(() -> { + if (input) { + return getFullLedDescriptionIn(hatch, param); + } else { + return getFullLedDescriptionOut(hatch, param); + } + }) + .setPos(12 + posIndex * 8, 97 + (input ? 0 : 1) * 6) + .setSize(6, 4)); + if (input) { + builder.widget(new FakeSyncWidget.ByteSyncer( + () -> parametrization.eParamsInStatus[parameterIndex].getOrdinalByte(), + val -> parametrization.eParamsInStatus[parameterIndex] = LedStatus.getStatus(val))); + } else { + builder.widget(new FakeSyncWidget.ByteSyncer( + () -> parametrization.eParamsOutStatus[parameterIndex].getOrdinalByte(), + val -> parametrization.eParamsOutStatus[parameterIndex] = LedStatus.getStatus(val))); + } + } + + // endregion } diff --git a/src/main/resources/assets/tectech/textures/gui/button/standard_16x16.png b/src/main/resources/assets/tectech/textures/gui/button/standard_16x16.png index 4071b19033..c2d191d9ce 100644 Binary files a/src/main/resources/assets/tectech/textures/gui/button/standard_16x16.png and b/src/main/resources/assets/tectech/textures/gui/button/standard_16x16.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/button/standard_light_16x16.png b/src/main/resources/assets/tectech/textures/gui/button/standard_light_16x16.png new file mode 100644 index 0000000000..4071b19033 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/button/standard_light_16x16.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_disabled.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_disabled.png new file mode 100644 index 0000000000..8edbc8ae1a Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_disabled.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_off.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_off.png new file mode 100644 index 0000000000..9887dfefd9 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_off.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_on.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_on.png new file mode 100644 index 0000000000..6021472296 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_on.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_disabled.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_disabled.png new file mode 100644 index 0000000000..be40408929 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_disabled.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_off.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_off.png index be40408929..366fb5c8d7 100644 Binary files a/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_off.png and b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_off.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_disabled.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_disabled.png new file mode 100644 index 0000000000..bc2b89a234 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_disabled.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_off.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_off.png new file mode 100644 index 0000000000..0d06a43a68 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_off.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_on.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_on.png new file mode 100644 index 0000000000..c5907fa3fd Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_on.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_slot/mesh.png b/src/main/resources/assets/tectech/textures/gui/overlay_slot/mesh.png new file mode 100644 index 0000000000..a782e3dd7a Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_slot/mesh.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/heat_sink_small.png b/src/main/resources/assets/tectech/textures/gui/picture/heat_sink_small.png new file mode 100644 index 0000000000..28ac50bdc0 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/heat_sink_small.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/parameter_blank.png b/src/main/resources/assets/tectech/textures/gui/picture/parameter_blank.png new file mode 100644 index 0000000000..bcd4f367d9 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/parameter_blank.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/parameter_blue.png b/src/main/resources/assets/tectech/textures/gui/picture/parameter_blue.png new file mode 100644 index 0000000000..3bb337dcf9 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/parameter_blue.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/parameter_cyan.png b/src/main/resources/assets/tectech/textures/gui/picture/parameter_cyan.png new file mode 100644 index 0000000000..1595bfde06 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/parameter_cyan.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/parameter_gray.png b/src/main/resources/assets/tectech/textures/gui/picture/parameter_gray.png new file mode 100644 index 0000000000..685bcd0c4a Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/parameter_gray.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/parameter_green.png b/src/main/resources/assets/tectech/textures/gui/picture/parameter_green.png new file mode 100644 index 0000000000..4464db4ef9 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/parameter_green.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/parameter_orange.png b/src/main/resources/assets/tectech/textures/gui/picture/parameter_orange.png new file mode 100644 index 0000000000..8838c9b61b Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/parameter_orange.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/parameter_red.png b/src/main/resources/assets/tectech/textures/gui/picture/parameter_red.png new file mode 100644 index 0000000000..d934b38063 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/parameter_red.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/monitor_multimachine.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/monitor_multimachine.png new file mode 100644 index 0000000000..b5d1afe3b8 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/monitor_multimachine.png differ -- cgit From 61f39d261694b409d6551016e3a9f372ce2129ca Mon Sep 17 00:00:00 2001 From: miozune Date: Sat, 19 Nov 2022 21:09:27 +0900 Subject: Fix multiblock not syncing parameter values --- .../multi/base/GT_MetaTileEntity_MultiblockBase_EM.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java index 17ca3ae2d9..69f1515d4a 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java @@ -3228,12 +3228,18 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt .setSize(6, 4)); if (input) { builder.widget(new FakeSyncWidget.ByteSyncer( - () -> parametrization.eParamsInStatus[parameterIndex].getOrdinalByte(), - val -> parametrization.eParamsInStatus[parameterIndex] = LedStatus.getStatus(val))); + () -> parametrization.eParamsInStatus[parameterIndex].getOrdinalByte(), + val -> parametrization.eParamsInStatus[parameterIndex] = LedStatus.getStatus(val))) + .widget(new FakeSyncWidget.DoubleSyncer( + () -> parametrization.iParamsIn[parameterIndex], + val -> parametrization.iParamsIn[parameterIndex] = val)); } else { builder.widget(new FakeSyncWidget.ByteSyncer( - () -> parametrization.eParamsOutStatus[parameterIndex].getOrdinalByte(), - val -> parametrization.eParamsOutStatus[parameterIndex] = LedStatus.getStatus(val))); + () -> parametrization.eParamsOutStatus[parameterIndex].getOrdinalByte(), + val -> parametrization.eParamsOutStatus[parameterIndex] = LedStatus.getStatus(val))) + .widget(new FakeSyncWidget.DoubleSyncer( + () -> parametrization.iParamsOut[parameterIndex], + val -> parametrization.iParamsOut[parameterIndex] = val)); } } -- cgit From d6dabe7cca31dc2cba2eddce60f2746b0fb5b008 Mon Sep 17 00:00:00 2001 From: miozune Date: Sat, 19 Nov 2022 21:10:15 +0900 Subject: Parametrizers --- dependencies.gradle | 2 +- .../technus/tectech/loader/NetworkDispatcher.java | 6 - .../tectech/thing/gui/TecTechUITextures.java | 18 + .../hatch/GT_MetaTileEntity_Hatch_Param.java | 433 +++++++++++++++++++-- .../hatch/GT_MetaTileEntity_Hatch_ParamText.java | 159 +++++++- .../hatch/TextParametersMessage.java | 154 -------- .../hatch/gui/GT_Container_Param.java | 191 --------- .../hatch/gui/GT_Container_ParamAdv.java | 283 -------------- .../hatch/gui/GT_Container_ParamText.java | 156 -------- .../hatch/gui/GT_GUIContainer_Param.java | 77 ---- .../hatch/gui/GT_GUIContainer_ParamAdv.java | 85 ---- .../hatch/gui/GT_GUIContainer_ParamText.java | 207 ---------- .../assets/gregtech/textures/gui/Parametrizer.png | Bin 262972 -> 0 bytes .../gregtech/textures/gui/ParametrizerAdv.png | Bin 262972 -> 0 bytes .../gregtech/textures/gui/ParametrizerText.png | Bin 1476 -> 0 bytes .../textures/gui/multimachines/EMDisplay.png | Bin 5044 -> 0 bytes .../background/screen_blue_parametrizer_txt.png | Bin 0 -> 489 bytes .../textures/gui/overlay_button/parametrizer_0.png | Bin 0 -> 185 bytes .../textures/gui/overlay_button/parametrizer_1.png | Bin 0 -> 190 bytes .../textures/gui/overlay_button/parametrizer_c.png | Bin 0 -> 217 bytes .../gui/overlay_button/parametrizer_id.png | Bin 0 -> 200 bytes .../gui/overlay_button/parametrizer_if.png | Bin 0 -> 228 bytes .../textures/gui/overlay_button/parametrizer_s.png | Bin 0 -> 221 bytes .../textures/gui/overlay_button/parametrizer_t.png | Bin 0 -> 181 bytes .../textures/gui/overlay_button/parametrizer_x.png | Bin 0 -> 196 bytes 25 files changed, 569 insertions(+), 1202 deletions(-) delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Param.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java delete mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java delete mode 100644 src/main/resources/assets/gregtech/textures/gui/Parametrizer.png delete mode 100644 src/main/resources/assets/gregtech/textures/gui/ParametrizerAdv.png delete mode 100644 src/main/resources/assets/gregtech/textures/gui/ParametrizerText.png delete mode 100644 src/main/resources/assets/gregtech/textures/gui/multimachines/EMDisplay.png create mode 100644 src/main/resources/assets/tectech/textures/gui/background/screen_blue_parametrizer_txt.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_0.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_1.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_c.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_id.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_if.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_s.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_t.png create mode 100644 src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_x.png diff --git a/dependencies.gradle b/dependencies.gradle index 0180eebb0b..b5ed7188f0 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,7 +2,7 @@ dependencies { shadowImplementation('com.github.GTNewHorizons:AVRcore:master-SNAPSHOT') - compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.135-pre:dev') + compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.137-pre:dev') compile('com.github.GTNewHorizons:Yamcl:0.5.84:dev') compile('com.github.GTNewHorizons:NotEnoughItems:2.3.7-GTNH:dev') compile('com.github.GTNewHorizons:CodeChickenLib:1.1.5.5:dev') 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 4b57c09ab8..738d7bfc45 100644 --- a/src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java +++ b/src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java @@ -7,7 +7,6 @@ import com.github.technus.tectech.mechanics.data.PlayerDataMessage; import com.github.technus.tectech.mechanics.enderStorage.EnderLinkCoverMessage; import com.github.technus.tectech.mechanics.pipe.PipeActivityMessage; import com.github.technus.tectech.mechanics.spark.RendererMessage; -import com.github.technus.tectech.thing.metaTileEntity.hatch.TextParametersMessage; public class NetworkDispatcher extends eu.usrv.yamcore.network.PacketDispatcher { public static NetworkDispatcher INSTANCE; @@ -35,10 +34,5 @@ public class NetworkDispatcher extends eu.usrv.yamcore.network.PacketDispatcher registerMessage( EnderLinkCoverMessage.ServerUpdateHandler.class, EnderLinkCoverMessage.EnderLinkCoverUpdate.class); registerMessage(EnderLinkCoverMessage.ClientHandler.class, EnderLinkCoverMessage.EnderLinkCoverData.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/thing/gui/TecTechUITextures.java b/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java index b09984e388..14ef35b317 100644 --- a/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java +++ b/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java @@ -11,6 +11,8 @@ public class TecTechUITextures { public static final AdaptableUITexture BACKGROUND_SCREEN_BLUE = AdaptableUITexture.of(MODID, "gui/background/screen_blue", 90, 72, 2); + public static final UITexture BACKGROUND_SCREEN_BLUE_PARAMETRIZER_TXT = + UITexture.fullImage(MODID, "gui/background/screen_blue_parametrizer_txt"); public static final UITexture BUTTON_STANDARD_16x16 = UITexture.fullImage(MODID, "gui/button/standard_16x16"); public static final UITexture BUTTON_STANDARD_LIGHT_16x16 = @@ -40,6 +42,22 @@ public class TecTechUITextures { UITexture.fullImage(MODID, "gui/overlay_button/power_pass_off"); public static final UITexture OVERLAY_BUTTON_POWER_PASS_ON = UITexture.fullImage(MODID, "gui/overlay_button/power_pass_on"); + public static final UITexture OVERLAY_BUTTON_PARAMETRIZER_ID = + UITexture.fullImage(MODID, "gui/overlay_button/parametrizer_id"); + public static final UITexture OVERLAY_BUTTON_PARAMETRIZER_0 = + UITexture.fullImage(MODID, "gui/overlay_button/parametrizer_0"); + public static final UITexture OVERLAY_BUTTON_PARAMETRIZER_1 = + UITexture.fullImage(MODID, "gui/overlay_button/parametrizer_1"); + public static final UITexture OVERLAY_BUTTON_PARAMETRIZER_X = + UITexture.fullImage(MODID, "gui/overlay_button/parametrizer_x"); + public static final UITexture OVERLAY_BUTTON_PARAMETRIZER_S = + UITexture.fullImage(MODID, "gui/overlay_button/parametrizer_s"); + public static final UITexture OVERLAY_BUTTON_PARAMETRIZER_T = + UITexture.fullImage(MODID, "gui/overlay_button/parametrizer_t"); + public static final UITexture OVERLAY_BUTTON_PARAMETRIZER_C = + UITexture.fullImage(MODID, "gui/overlay_button/parametrizer_c"); + public static final UITexture OVERLAY_BUTTON_PARAMETRIZER_IF = + UITexture.fullImage(MODID, "gui/overlay_button/parametrizer_if"); public static final UITexture OVERLAY_SLOT_RACK = UITexture.fullImage(MODID, "gui/overlay_slot/rack"); public static final UITexture OVERLAY_SLOT_MESH = UITexture.fullImage(MODID, "gui/overlay_slot/mesh"); diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Param.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Param.java index ed6e00dccf..7a59e39c6d 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Param.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Param.java @@ -3,24 +3,35 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; import static net.minecraft.util.StatCollector.translateToLocal; import static net.minecraft.util.StatCollector.translateToLocalFormatted; -import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Param; -import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_ParamAdv; -import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_Param; -import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_ParamAdv; +import com.github.technus.tectech.TecTech; +import com.github.technus.tectech.thing.gui.TecTechUITextures; import com.github.technus.tectech.util.CommonValues; import com.github.technus.tectech.util.TT_Utility; +import com.gtnewhorizons.modularui.api.drawable.IDrawable; +import com.gtnewhorizons.modularui.api.math.Alignment; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.api.screen.UIBuildContext; +import com.gtnewhorizons.modularui.common.widget.ButtonWidget; +import com.gtnewhorizons.modularui.common.widget.DrawableWidget; +import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; +import com.gtnewhorizons.modularui.common.widget.TextWidget; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Textures; +import gregtech.api.gui.modularui.GT_UIInfos; +import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.modularui.IAddGregtechLogo; +import gregtech.api.interfaces.modularui.IAddUIWidgets; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.objects.GT_RenderedTexture; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicInteger; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; @@ -30,7 +41,7 @@ import org.apache.commons.lang3.reflect.FieldUtils; /** * Created by danie_000 on 15.12.2016. */ -public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { +public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch implements IAddGregtechLogo, IAddUIWidgets { public int pointer = 0; public int param = -1; public double value0D = 0; @@ -59,22 +70,6 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { ScreenON = new Textures.BlockIcons.CustomIcon("iconsets/PARAM_ACTIVE"); } - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - if (mTier > 5) { // TODO update mTier to 4 after recipe check - return new GT_Container_ParamAdv(aPlayerInventory, aBaseMetaTileEntity); - } - return new GT_Container_Param(aPlayerInventory, aBaseMetaTileEntity); - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - if (mTier > 5) { // TODO update mTier to 4 after recipe check - return new GT_GUIContainer_ParamAdv(aPlayerInventory, aBaseMetaTileEntity); - } - return new GT_GUIContainer_Param(aPlayerInventory, aBaseMetaTileEntity); - } - @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { return new ITexture[] {aBaseTexture, new GT_RenderedTexture(ScreenON)}; @@ -214,7 +209,7 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { } catch (Exception e) { clientLocale = "en_US"; } - aBaseMetaTileEntity.openGUI(aPlayer); + GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); return true; } @@ -227,4 +222,396 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch { + translateToLocal("gt.blockmachines.hatch.param.desc.1") + "\u00b2" // E=mine*craft }; } + + @Override + public boolean useModularUI() { + return true; + } + + @Override + public void addGregTechLogo(ModularWindow.Builder builder) { + builder.widget(new DrawableWidget() + .setDrawable(TecTechUITextures.PICTURE_TECTECH_LOGO_DARK) + .setSize(18, 18) + .setPos(112, 55)); + } + + @Override + public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + final boolean isAdvanced = mTier > 5; + builder.widget(new DrawableWidget() + .setDrawable(TecTechUITextures.BACKGROUND_SCREEN_BLUE) + .setPos(43, 4) + .setSize(90, 72)); + + addChangeParamButton( + builder, + (shift, columnPointer, secondRow) -> param -= shift ? 16 : 4, + 7, + 4, + GT_UITextures.OVERLAY_BUTTON_MINUS_LARGE, + TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_ID); + addChangeParamButton( + builder, + (shift, columnPointer, secondRow) -> { + if (isAdvanced) { + if (secondRow.get()) { + secondRow.set(false); + } else { + columnPointer.addAndGet(shift ? -16 : -4); + } + } else { + value0D -= shift ? 4096 : 256; + } + }, + 7, + 22, + GT_UITextures.OVERLAY_BUTTON_MINUS_LARGE, + TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_0); + addChangeParamButton( + builder, + (shift, columnPointer, secondRow) -> { + if (isAdvanced) { + if (secondRow.get()) { + columnPointer.addAndGet(shift ? -16 : -4); + } else { + secondRow.set(true); + } + } else { + value1D -= shift ? 4096 : 256; + } + }, + 7, + 40, + GT_UITextures.OVERLAY_BUTTON_MINUS_LARGE, + TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_1); + addChangeParamButton( + builder, + (shift, columnPointer, secondRow) -> { + if (isAdvanced) { + if (shift) { + if (secondRow.get()) { + value1D = Double.longBitsToDouble(0xFFFF_FFFF_FFFF_FFFFL); + } else { + value0D = Double.longBitsToDouble(0xFFFF_FFFF_FFFF_FFFFL); + } + } else { + if (secondRow.get()) { + long temp = Double.doubleToLongBits(value1D); + temp |= 1L << (long) columnPointer.get(); + value1D = Double.longBitsToDouble(temp); + } else { + long temp = Double.doubleToLongBits(value0D); + temp |= 1L << (long) columnPointer.get(); + value0D = Double.longBitsToDouble(temp); + } + } + } else { + value0D /= shift ? 4096 : 256; + value1D /= shift ? 4096 : 256; + } + }, + 7, + 58, + isAdvanced ? TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_S : GT_UITextures.OVERLAY_BUTTON_MINUS_LARGE, + isAdvanced ? null : TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_ID); + + addChangeParamButton( + builder, + (shift, columnPointer, secondRow) -> param -= shift ? 2 : 1, + 25, + 4, + GT_UITextures.OVERLAY_BUTTON_MINUS_SMALL, + TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_ID); + addChangeParamButton( + builder, + (shift, columnPointer, secondRow) -> { + if (isAdvanced) { + if (secondRow.get()) { + secondRow.set(false); + } else { + columnPointer.addAndGet(shift ? -2 : -1); + } + } else { + value0D -= shift ? 16 : 1; + } + }, + 25, + 22, + GT_UITextures.OVERLAY_BUTTON_MINUS_SMALL, + TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_0); + addChangeParamButton( + builder, + (shift, columnPointer, secondRow) -> { + if (isAdvanced) { + if (secondRow.get()) { + columnPointer.addAndGet(shift ? -2 : -1); + } else { + secondRow.set(true); + } + } else { + value1D -= shift ? 16 : 1; + } + }, + 25, + 40, + GT_UITextures.OVERLAY_BUTTON_MINUS_SMALL, + TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_1); + addChangeParamButton( + builder, + (shift, columnPointer, secondRow) -> { + if (isAdvanced) { + if (shift) { + if (secondRow.get()) { + value1D = Double.longBitsToDouble(0); + } else { + value0D = Double.longBitsToDouble(0); + } + } else { + if (secondRow.get()) { + long temp = Double.doubleToLongBits(value1D); + temp &= ~(1L << (long) columnPointer.get()); + value1D = Double.longBitsToDouble(temp); + } else { + long temp = Double.doubleToLongBits(value0D); + temp &= ~(1L << (long) columnPointer.get()); + value0D = Double.longBitsToDouble(temp); + } + } + } else { + value0D /= shift ? 16 : 2; + value1D /= shift ? 16 : 2; + } + }, + 25, + 58, + isAdvanced ? TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_C : GT_UITextures.OVERLAY_BUTTON_MINUS_SMALL, + isAdvanced ? null : TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_X); + + addChangeParamButton( + builder, + (shift, columnPointer, secondRow) -> param += shift ? 2 : 1, + 133, + 4, + GT_UITextures.OVERLAY_BUTTON_PLUS_SMALL, + TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_ID); + addChangeParamButton( + builder, + (shift, columnPointer, secondRow) -> { + if (isAdvanced) { + if (secondRow.get()) { + secondRow.set(false); + } else { + columnPointer.addAndGet(shift ? 2 : 1); + } + } else { + value0D += shift ? 16 : 1; + } + }, + 133, + 22, + GT_UITextures.OVERLAY_BUTTON_PLUS_SMALL, + TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_0); + addChangeParamButton( + builder, + (shift, columnPointer, secondRow) -> { + if (isAdvanced) { + if (secondRow.get()) { + columnPointer.addAndGet(shift ? 2 : 1); + } else { + secondRow.set(true); + } + } else { + value1D += shift ? 16 : 1; + } + }, + 133, + 40, + GT_UITextures.OVERLAY_BUTTON_PLUS_SMALL, + TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_1); + addChangeParamButton( + builder, + (shift, columnPointer, secondRow) -> { + if (isAdvanced) { + if (shift) { + if (secondRow.get()) { + value1D = Double.longBitsToDouble(~Double.doubleToLongBits(value1D)); + } else { + value0D = Double.longBitsToDouble(~Double.doubleToLongBits(value1D)); + } + } else { + if (secondRow.get()) { + long temp = Double.doubleToLongBits(value1D); + temp ^= 1L << (long) columnPointer.get(); + value1D = Double.longBitsToDouble(temp); + } else { + long temp = Double.doubleToLongBits(value0D); + temp ^= 1L << (long) columnPointer.get(); + value0D = Double.longBitsToDouble(temp); + } + } + } else { + value0D *= shift ? 16 : 2; + value1D *= shift ? 16 : 2; + } + }, + 133, + 58, + isAdvanced ? TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_T : GT_UITextures.OVERLAY_BUTTON_PLUS_SMALL, + isAdvanced ? null : TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_ID); + + addChangeParamButton( + builder, + (shift, columnPointer, secondRow) -> param += shift ? 16 : 4, + 151, + 4, + GT_UITextures.OVERLAY_BUTTON_PLUS_LARGE, + TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_ID); + addChangeParamButton( + builder, + (shift, columnPointer, secondRow) -> { + if (isAdvanced) { + if (secondRow.get()) { + secondRow.set(false); + } else { + columnPointer.addAndGet(shift ? 16 : 4); + } + } else { + value0D += shift ? 4096 : 256; + } + }, + 151, + 22, + GT_UITextures.OVERLAY_BUTTON_PLUS_LARGE, + TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_0); + addChangeParamButton( + builder, + (shift, columnPointer, secondRow) -> { + if (isAdvanced) { + if (secondRow.get()) { + columnPointer.addAndGet(shift ? 16 : 4); + } else { + secondRow.set(true); + } + } else { + value1D += shift ? 4096 : 256; + } + }, + 151, + 40, + GT_UITextures.OVERLAY_BUTTON_PLUS_LARGE, + TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_1); + addChangeParamButton( + builder, + (shift, columnPointer, secondRow) -> { + if (isAdvanced) { + value0D = input0D; + value1D = input1D; + } else { + value0D *= shift ? 4096 : 256; + value1D *= shift ? 4096 : 256; + } + }, + 151, + 58, + isAdvanced ? TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_IF : GT_UITextures.OVERLAY_BUTTON_PLUS_LARGE, + isAdvanced ? null : TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_ID); + + builder.widget(new FakeSyncWidget.IntegerSyncer(() -> pointer, val -> pointer = val)) + .widget(new FakeSyncWidget.IntegerSyncer(() -> param, val -> param = val)) + .widget(new FakeSyncWidget.DoubleSyncer(() -> value0D, val -> value0D = val)) + .widget(new FakeSyncWidget.DoubleSyncer(() -> value1D, val -> value1D = val)) + .widget(new FakeSyncWidget.DoubleSyncer(() -> input0D, val -> input0D = val)) + .widget(new FakeSyncWidget.DoubleSyncer(() -> input1D, val -> input1D = val)); + + final String CIRCLED_0 = "\u24EA"; + final String CIRCLED_1 = "\u2460"; + final String ARROW_DOWN = "\u2b07"; + final String ARROW_UP = "\u2b06"; + builder.widget(TextWidget.dynamicString(() -> (isAdvanced ? "Parameters X: " : "Parameters: ") + param) + .setSynced(false) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setPos(46, 7)) + .widget(TextWidget.dynamicString(() -> CIRCLED_0 + ARROW_DOWN + TT_Utility.formatNumberExp(input0D)) + .setSynced(false) + .setDefaultColor(0x22ddff) + .setPos(46, 16)) + .widget(TextWidget.dynamicString(() -> CIRCLED_1 + ARROW_DOWN + TT_Utility.formatNumberExp(input1D)) + .setSynced(false) + .setDefaultColor(0x00ffff) + .setPos(46, 24)) + .widget(TextWidget.dynamicString(() -> CIRCLED_0 + ARROW_UP + TT_Utility.formatNumberExp(value0D)) + .setSynced(false) + .setDefaultColor(0x00bbff) + .setPos(46, 33)) + .widget(TextWidget.dynamicString(() -> CIRCLED_1 + ARROW_UP + TT_Utility.formatNumberExp(value1D)) + .setSynced(false) + .setDefaultColor(0x0077ff) + .setPos(46, 41)) + .widget(TextWidget.dynamicString(() -> CIRCLED_0 + + ARROW_UP + + TT_Utility.longBitsToShortString(Double.doubleToLongBits(value0D))) + .setSynced(false) + .setDefaultColor(0x00bbff) + .setScale(.5f) + .setTextAlignment(Alignment.CenterLeft) + .setPos(46, 50)) + .widget(TextWidget.dynamicString(() -> CIRCLED_1 + + ARROW_UP + + TT_Utility.longBitsToShortString(Double.doubleToLongBits(value1D))) + .setSynced(false) + .setDefaultColor(0x0077ff) + .setScale(.5f) + .setTextAlignment(Alignment.CenterLeft) + .setPos(46, 58)); + if (isAdvanced) { + builder.widget(TextWidget.dynamicString(() -> + "Pointer " + Integer.toHexString(pointer | 0x10000).substring(1)) + .setSynced(false) + .setDefaultColor(0x0033ff) + .setPos(46, 66)); + } + } + + private void addChangeParamButton( + ModularWindow.Builder builder, + OnClick onClick, + int xPos, + int yPos, + IDrawable overlay1, + IDrawable overlay2) { + final boolean isAdvanced = mTier > 5; + builder.widget(new ButtonWidget() + .setOnClick((clickData, widget) -> { + AtomicInteger columnPointer = new AtomicInteger(pointer & 0xff); + AtomicBoolean secondRow = new AtomicBoolean((pointer & 0x0100) != 0); + onClick.accept(clickData.shift, columnPointer, secondRow); + TecTech.proxy.playSound(getBaseMetaTileEntity(), "fx_click"); + if (isAdvanced) { + if (columnPointer.get() >= 64) { + columnPointer.set(63); + } else if (columnPointer.get() < 0) { + columnPointer.set(0); + } + pointer = secondRow.get() ? columnPointer.get() + 0x100 : columnPointer.get(); + } + if (param > 9) { + param = 9; + } else if (param < -1) { + param = -1; + } + }) + .setPlayClickSound(false) + .setBackground( + overlay2 != null + ? new IDrawable[] {GT_UITextures.BUTTON_STANDARD, overlay1, overlay2} + : new IDrawable[] {GT_UITextures.BUTTON_STANDARD, overlay1}) + .setSize(18, 18) + .setPos(xPos, yPos)); + } + + @FunctionalInterface + private interface OnClick { + void accept(boolean shift, AtomicInteger columnPointer, AtomicBoolean secondRow); + } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java index e241793e0e..810c04d861 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java @@ -3,16 +3,27 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; import static net.minecraft.util.StatCollector.translateToLocal; import static net.minecraft.util.StatCollector.translateToLocalFormatted; -import com.github.technus.tectech.loader.NetworkDispatcher; -import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_ParamText; -import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_ParamText; +import com.github.technus.tectech.TecTech; +import com.github.technus.tectech.thing.gui.TecTechUITextures; import com.github.technus.tectech.util.CommonValues; +import com.github.technus.tectech.util.TT_Utility; +import com.gtnewhorizons.modularui.api.drawable.IDrawable; +import com.gtnewhorizons.modularui.api.math.Alignment; +import com.gtnewhorizons.modularui.api.math.Color; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.api.screen.UIBuildContext; +import com.gtnewhorizons.modularui.common.widget.ButtonWidget; +import com.gtnewhorizons.modularui.common.widget.DrawableWidget; +import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; +import com.gtnewhorizons.modularui.common.widget.TextWidget; +import com.gtnewhorizons.modularui.common.widget.textfield.TextFieldWidget; +import gregtech.api.gui.modularui.GT_UIInfos; +import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; @@ -36,20 +47,6 @@ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_P super(aName, aTier, aDescription, aTextures); } - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - if (aPlayerInventory.player instanceof EntityPlayerMP) { - NetworkDispatcher.INSTANCE.sendTo( - new TextParametersMessage.ParametersTextData(this), (EntityPlayerMP) aPlayerInventory.player); - } - return new GT_Container_ParamText(aPlayerInventory, aBaseMetaTileEntity); - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_ParamText(aPlayerInventory, aBaseMetaTileEntity); - } - // @Override // public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { // if (aBaseMetaTileEntity.isClientSide() && (aTick % 20L == 0L)) { @@ -157,7 +154,7 @@ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_P } catch (Exception e) { clientLocale = "en_US"; } - aBaseMetaTileEntity.openGUI(aPlayer); + GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); return true; } @@ -170,4 +167,128 @@ public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch_P + translateToLocal("gt.blockmachines.hatch.param.desc.1") + "\u00b2" // E=mine*craft }; } + + @Override + public void addGregTechLogo(ModularWindow.Builder builder) { + builder.widget(new DrawableWidget() + .setDrawable(TecTechUITextures.PICTURE_TECTECH_LOGO_DARK) + .setSize(18, 18) + .setPos(148, 55)); + } + + @Override + public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + builder.widget(new DrawableWidget() + .setDrawable(TecTechUITextures.BACKGROUND_SCREEN_BLUE_PARAMETRIZER_TXT) + .setPos(7, 4) + .setSize(162, 72)); + + addChangeNumberButton(builder, -16, -4, 7, GT_UITextures.OVERLAY_BUTTON_MINUS_LARGE); + addChangeNumberButton(builder, -2, -1, 25, GT_UITextures.OVERLAY_BUTTON_MINUS_SMALL); + addChangeNumberButton(builder, 2, 1, 133, GT_UITextures.OVERLAY_BUTTON_PLUS_SMALL); + addChangeNumberButton(builder, 16, 4, 151, GT_UITextures.OVERLAY_BUTTON_PLUS_LARGE); + + builder.widget(new FakeSyncWidget.IntegerSyncer(() -> param, val -> param = val)) + .widget(new FakeSyncWidget.DoubleSyncer(() -> value0D, val -> value0D = val)) + .widget(new FakeSyncWidget.DoubleSyncer(() -> value1D, val -> value1D = val)) + .widget(new FakeSyncWidget.DoubleSyncer(() -> input0D, val -> input0D = val)) + .widget(new FakeSyncWidget.DoubleSyncer(() -> input1D, val -> input1D = val)); + // .widget(new FakeSyncWidget.StringSyncer(() -> value0s, val -> value0s = val)) + // .widget(new FakeSyncWidget.StringSyncer(() -> value1s, val -> value1s = val)); + + final String CIRCLED_0 = "\u24EA"; + final String CIRCLED_1 = "\u2460"; + final String ARROW_DOWN = "\u2b07"; + final String ARROW_UP = "\u2b06"; + builder.widget(TextWidget.dynamicString(() -> "Parameters: " + param) + .setSynced(false) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setPos(46, 7)) + .widget(new TextWidget(CIRCLED_0 + ARROW_UP) + .setDefaultColor(0x00bbff) + .setPos(10, 29)) + .widget(new TextWidget(CIRCLED_1 + ARROW_UP) + .setDefaultColor(0x0077ff) + .setPos(10, 44)) + .widget(TextWidget.dynamicString(() -> CIRCLED_0 + ARROW_DOWN + TT_Utility.formatNumberExp(input0D)) + .setSynced(false) + .setDefaultColor(0x22ddff) + .setPos(10, 56)) + .widget(TextWidget.dynamicString(() -> CIRCLED_1 + ARROW_DOWN + TT_Utility.formatNumberExp(input1D)) + .setSynced(false) + .setDefaultColor(0x00ffff) + .setPos(10, 65)); + + addTextField(builder, true); + addTextField(builder, false); + } + + private void addChangeNumberButton( + ModularWindow.Builder builder, int changeNumberShift, int changeNumber, int xPos, IDrawable overlay) { + builder.widget(new ButtonWidget() + .setOnClick((clickData, widget) -> { + param += clickData.shift ? changeNumberShift : changeNumber; + TecTech.proxy.playSound(getBaseMetaTileEntity(), "fx_click"); + if (param > 9) { + param = 9; + } else if (param < -1) { + param = -1; + } + }) + .setPlayClickSound(false) + .setBackground(GT_UITextures.BUTTON_STANDARD, overlay, TecTechUITextures.OVERLAY_BUTTON_PARAMETRIZER_ID) + .setSize(18, 18) + .setPos(xPos, 4)); + } + + private void addTextField(ModularWindow.Builder builder, boolean isIndex0) { + TextFieldWidget widget = new TextFieldWidget(); + builder.widget(widget.setGetter(() -> isIndex0 ? value0s : value1s) + .setSetter(str -> { + double val; + try { + val = parse(str); + } catch (Exception e) { + // This shouldn't happen as long as validator works + str = ""; + val = 0; + } + if (isIndex0) { + value0s = str; + value0D = val; + } else { + value1s = str; + value1D = val; + } + }) + .setValidator(str -> { + try { + parse(str); + return str; + } catch (Exception e) { + return widget.getLastText().size() > 0 + ? widget.getLastText().get(0) + : ""; + } + }) + .setTextColor(Color.WHITE.dark(1)) + .setTextAlignment(Alignment.CenterLeft) + .setBackground(GT_UITextures.BACKGROUND_TEXT_FIELD.withOffset(-1, -1, 2, 2)) + .setPos(26, isIndex0 ? 26 : 41) + .setSize(138, 12)); + } + + private double parse(String str) { + double val; + if (str.contains("b")) { + String[] split = str.split("b"); + val = TT_Utility.bitStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", "")); + } else if (str.contains("x")) { + String[] split = str.split("x"); + val = TT_Utility.hexStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", "")); + } else { + val = TT_Utility.stringToDouble(str); + } + return val; + } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java deleted file mode 100644 index 8058c14cf4..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java +++ /dev/null @@ -1,154 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.hatch; - -import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_ParamText; -import com.github.technus.tectech.util.TT_Utility; -import cpw.mods.fml.common.network.ByteBufUtils; -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import eu.usrv.yamcore.network.client.AbstractClientMessageHandler; -import eu.usrv.yamcore.network.server.AbstractServerMessageHandler; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import io.netty.buffer.ByteBuf; -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.DimensionManager; - -public class TextParametersMessage implements IMessage { - int mPosX; - int mPosY; - int mPosZ; - int mPosD; - String mVal0 = ""; - String mVal1 = ""; - - public TextParametersMessage() {} - - @Override - public void fromBytes(ByteBuf pBuffer) { - NBTTagCompound tTag = ByteBufUtils.readTag(pBuffer); - mPosX = tTag.getInteger("posx"); - mPosY = tTag.getInteger("posy"); - mPosZ = tTag.getInteger("posz"); - mPosD = tTag.getInteger("posd"); - mVal0 = tTag.getString("value0s"); - mVal1 = tTag.getString("value1s"); - } - - @Override - public void toBytes(ByteBuf pBuffer) { - NBTTagCompound tFXTag = new NBTTagCompound(); - tFXTag.setInteger("posx", mPosX); - tFXTag.setInteger("posy", mPosY); - tFXTag.setInteger("posz", mPosZ); - tFXTag.setInteger("posd", mPosD); - tFXTag.setString("value0s", mVal0); - tFXTag.setString("value1s", mVal1); - ByteBufUtils.writeTag(pBuffer, tFXTag); - } - - public static class ParametersTextQuery extends TextParametersMessage { - public ParametersTextQuery() {} - - public ParametersTextQuery(GT_MetaTileEntity_Hatch_ParamText metaTile) { - IGregTechTileEntity base = metaTile.getBaseMetaTileEntity(); - mPosX = base.getXCoord(); - mPosY = base.getYCoord(); - mPosZ = base.getZCoord(); - mPosD = base.getWorld().provider.dimensionId; - } - } - - public static class ParametersTextData extends TextParametersMessage { - public ParametersTextData() {} - - public ParametersTextData(GT_MetaTileEntity_Hatch_ParamText metaTile) { - IGregTechTileEntity base = metaTile.getBaseMetaTileEntity(); - mPosX = base.getXCoord(); - mPosY = base.getYCoord(); - mPosZ = base.getZCoord(); - mPosD = base.getWorld().provider.dimensionId; - mVal0 = metaTile.value0s; - mVal1 = metaTile.value1s; - } - } - - public static class ParametersTextUpdate extends TextParametersMessage { - public ParametersTextUpdate() {} - - public ParametersTextUpdate(GT_MetaTileEntity_Hatch_ParamText metaTile) { - IGregTechTileEntity base = metaTile.getBaseMetaTileEntity(); - mPosX = base.getXCoord(); - mPosY = base.getYCoord(); - mPosZ = base.getZCoord(); - mPosD = base.getWorld().provider.dimensionId; - mVal0 = metaTile.value0s; - mVal1 = metaTile.value1s; - } - } - - public static class ClientHandler extends AbstractClientMessageHandler { - @Override - public IMessage handleClientMessage(EntityPlayer pPlayer, ParametersTextData pMessage, MessageContext pCtx) { - if (pPlayer.worldObj.provider.dimensionId == pMessage.mPosD) { - TileEntity te = pPlayer.worldObj.getTileEntity(pMessage.mPosX, pMessage.mPosY, pMessage.mPosZ); - if (te instanceof IGregTechTileEntity) { - IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); - if (meta instanceof GT_MetaTileEntity_Hatch_ParamText) { - ((GT_MetaTileEntity_Hatch_ParamText) meta).value0s = pMessage.mVal0; - ((GT_MetaTileEntity_Hatch_ParamText) meta).value1s = pMessage.mVal1; - if (Minecraft.getMinecraft().currentScreen instanceof GT_GUIContainer_ParamText) { - GT_GUIContainer_ParamText gui = - ((GT_GUIContainer_ParamText) Minecraft.getMinecraft().currentScreen); - if (gui.mContainer == meta) { - gui.setTextIn0(pMessage.mVal0); - gui.setTextIn1(pMessage.mVal1); - } - } - } - } - } - return null; - } - } - - public static class ServerHandler extends AbstractServerMessageHandler { - @Override - public IMessage handleServerMessage(EntityPlayer pPlayer, ParametersTextQuery pMessage, MessageContext pCtx) { - World world = DimensionManager.getWorld(pMessage.mPosD); - if (world != null) { - TileEntity te = world.getTileEntity(pMessage.mPosX, pMessage.mPosY, pMessage.mPosZ); - if (te instanceof IGregTechTileEntity) { - IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); - if (meta instanceof GT_MetaTileEntity_Hatch_ParamText) { - return new ParametersTextData((GT_MetaTileEntity_Hatch_ParamText) meta); - } - } - } - return null; - } - } - - public static class ServerUpdateHandler extends AbstractServerMessageHandler { - @Override - public IMessage handleServerMessage(EntityPlayer pPlayer, ParametersTextUpdate pMessage, MessageContext pCtx) { - World world = DimensionManager.getWorld(pMessage.mPosD); - if (world != null) { - TileEntity te = world.getTileEntity(pMessage.mPosX, pMessage.mPosY, pMessage.mPosZ); - if (te instanceof IGregTechTileEntity) { - IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); - if (meta instanceof GT_MetaTileEntity_Hatch_ParamText) { - ((GT_MetaTileEntity_Hatch_ParamText) meta).value0s = pMessage.mVal0; - ((GT_MetaTileEntity_Hatch_ParamText) meta).value1s = pMessage.mVal1; - ((GT_MetaTileEntity_Hatch_ParamText) meta).value0D = TT_Utility.getValue(pMessage.mVal0); - ((GT_MetaTileEntity_Hatch_ParamText) meta).value1D = TT_Utility.getValue(pMessage.mVal1); - } - } - } - return null; - } - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java deleted file mode 100644 index f5e0ffd45d..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Param.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; - -import com.github.technus.tectech.TecTech; -import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Param; -import com.github.technus.tectech.util.TT_Utility; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.gui.GT_ContainerMetaTile_Machine; -import gregtech.api.gui.GT_Slot_Holo; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class GT_Container_Param extends GT_ContainerMetaTile_Machine { - public int param = 0; - public double value0d = 0; - public double value1d = 0; - public double input0d = 0; - public double input1d = 0; - public long value0l = 0; - public long value1l = 0; - public long input0l = 0; - public long input1l = 0; - - public GT_Container_Param(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(aInventoryPlayer, aTileEntity); - } - - @Override - public void addSlots(InventoryPlayer aInventoryPlayer) { - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 59, false, false, 1)); - } - - @Override - public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer) { - if (aSlotIndex < 0) { - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); - boolean doStuff = true; - if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - GT_MetaTileEntity_Hatch_Param paramH = (GT_MetaTileEntity_Hatch_Param) mTileEntity.getMetaTileEntity(); - switch (aSlotIndex) { - case 0: - paramH.param -= aShifthold == 1 ? 16 : 4; - break; - case 1: - paramH.value0D -= aShifthold == 1 ? 4096 : 256; - break; - case 2: - paramH.value1D -= aShifthold == 1 ? 4096 : 256; - break; - case 3: - paramH.value0D /= aShifthold == 1 ? 4096 : 256; - paramH.value1D /= aShifthold == 1 ? 4096 : 256; - break; - case 4: - paramH.param -= aShifthold == 1 ? 2 : 1; - break; - case 5: - paramH.value0D -= aShifthold == 1 ? 16 : 1; - break; - case 6: - paramH.value1D -= aShifthold == 1 ? 16 : 1; - break; - case 7: - paramH.value0D /= aShifthold == 1 ? 16 : 2; - paramH.value1D /= aShifthold == 1 ? 16 : 2; - break; - case 8: - paramH.param += aShifthold == 1 ? 16 : 4; - break; - case 9: - paramH.value0D += aShifthold == 1 ? 4096 : 256; - break; - case 10: - paramH.value1D += aShifthold == 1 ? 4096 : 256; - break; - case 11: - paramH.value0D *= aShifthold == 1 ? 4096 : 256; - paramH.value1D *= aShifthold == 1 ? 4096 : 256; - break; - case 12: - paramH.param += aShifthold == 1 ? 2 : 1; - break; - case 13: - paramH.value0D += aShifthold == 1 ? 16 : 1; - break; - case 14: - paramH.value1D += aShifthold == 1 ? 16 : 1; - break; - case 15: - paramH.value0D *= aShifthold == 1 ? 16 : 2; - paramH.value1D *= aShifthold == 1 ? 16 : 2; - break; - default: - doStuff = false; - } - if (doStuff) { - IGregTechTileEntity base = paramH.getBaseMetaTileEntity(); - TecTech.proxy.playSound(base, "fx_click"); - if (paramH.param > 9) { - paramH.param = 9; - } else if (paramH.param < -1) { - paramH.param = -1; - } - } - } - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) { - return; - } - param = ((GT_MetaTileEntity_Hatch_Param) mTileEntity.getMetaTileEntity()).param; - value0d = ((GT_MetaTileEntity_Hatch_Param) mTileEntity.getMetaTileEntity()).value0D; - value1d = ((GT_MetaTileEntity_Hatch_Param) mTileEntity.getMetaTileEntity()).value1D; - input0d = ((GT_MetaTileEntity_Hatch_Param) mTileEntity.getMetaTileEntity()).input0D; - input1d = ((GT_MetaTileEntity_Hatch_Param) mTileEntity.getMetaTileEntity()).input1D; - - for (Object crafter : crafters) { - ICrafting var1 = (ICrafting) crafter; - TT_Utility.sendInteger(param, this, var1, 100); - TT_Utility.sendDouble(value0d, this, var1, 102); - TT_Utility.sendDouble(value1d, this, var1, 106); - TT_Utility.sendDouble(input0d, this, var1, 110); - TT_Utility.sendDouble(input1d, this, var1, 114); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void updateProgressBar(int par1, int par2) { - super.updateProgressBar(par1, par2); - switch (par1) { - case 100: - case 101: - param = TT_Utility.receiveInteger(param, 100, par1, par2); - return; - case 102: - case 103: - case 104: - case 105: - value0d = Double.longBitsToDouble(value0l = TT_Utility.receiveLong(value0l, 102, par1, par2)); - return; - case 106: - case 107: - case 108: - case 109: - value1d = Double.longBitsToDouble(value1l = TT_Utility.receiveLong(value1l, 106, par1, par2)); - return; - case 110: - case 111: - case 112: - case 113: - input0d = Double.longBitsToDouble(input0l = TT_Utility.receiveLong(input0l, 110, par1, par2)); - return; - case 114: - case 115: - case 116: - case 117: - input1d = Double.longBitsToDouble(input1l = TT_Utility.receiveLong(input1l, 114, par1, par2)); - return; - default: - } - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java deleted file mode 100644 index 26faae689f..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java +++ /dev/null @@ -1,283 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; - -import com.github.technus.tectech.TecTech; -import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Param; -import com.github.technus.tectech.util.TT_Utility; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.gui.GT_ContainerMetaTile_Machine; -import gregtech.api.gui.GT_Slot_Holo; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine { - public int pointer = 0; - public int param = 0; - public double value1d = 0; - public double value0d = 0; - public double input0d = 0; - public double input1d = 0; - public long value0l = 0; - public long value1l = 0; - public long input0l = 0; - public long input1l = 0; - - public GT_Container_ParamAdv(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(aInventoryPlayer, aTileEntity); - } - - @Override - public void addSlots(InventoryPlayer aInventoryPlayer) { - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 59, false, false, 1)); - - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 23, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 41, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 59, false, false, 1)); - } - - @Override - public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer) { - if (aSlotIndex < 0) { - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); - if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - boolean doStuff = true; - GT_MetaTileEntity_Hatch_Param paramH = (GT_MetaTileEntity_Hatch_Param) mTileEntity.getMetaTileEntity(); - int columnPointer = paramH.pointer & 0xff; - boolean secondRow = (paramH.pointer & 0x0100) != 0; - switch (aSlotIndex) { - case 0: - paramH.param -= aShifthold == 1 ? 16 : 4; - break; - case 1: - if (secondRow) { - secondRow = false; - } else { - columnPointer -= aShifthold == 1 ? 16 : 4; - } - break; - case 2: - if (secondRow) { - columnPointer -= aShifthold == 1 ? 16 : 4; - } else { - secondRow = true; - } - break; - case 3: - if (aShifthold == 1) { - if (secondRow) { - paramH.value1D = Double.longBitsToDouble(0xFFFF_FFFF_FFFF_FFFFL); - } else { - paramH.value0D = Double.longBitsToDouble(0xFFFF_FFFF_FFFF_FFFFL); - } - } else { - if (secondRow) { - long temp = Double.doubleToLongBits(paramH.value1D); - temp |= 1L << (long) columnPointer; - paramH.value1D = Double.longBitsToDouble(temp); - } else { - long temp = Double.doubleToLongBits(paramH.value0D); - temp |= 1L << (long) columnPointer; - paramH.value0D = Double.longBitsToDouble(temp); - } - } - break; - case 4: - paramH.param -= aShifthold == 1 ? 2 : 1; - break; - case 5: - if (secondRow) { - secondRow = false; - } else { - columnPointer -= aShifthold == 1 ? 2 : 1; - } - break; - case 6: - if (secondRow) { - columnPointer -= aShifthold == 1 ? 2 : 1; - } else { - secondRow = true; - } - break; - case 7: - if (aShifthold == 1) { - if (secondRow) { - paramH.value1D = Double.longBitsToDouble(0); - } else { - paramH.value0D = Double.longBitsToDouble(0); - } - } else { - if (secondRow) { - long temp = Double.doubleToLongBits(paramH.value1D); - temp &= ~(1L << (long) columnPointer); - paramH.value1D = Double.longBitsToDouble(temp); - } else { - long temp = Double.doubleToLongBits(paramH.value0D); - temp &= ~(1L << (long) columnPointer); - paramH.value0D = Double.longBitsToDouble(temp); - } - } - break; - case 8: - paramH.param += aShifthold == 1 ? 16 : 4; - break; - case 9: - if (secondRow) { - secondRow = false; - } else { - columnPointer += aShifthold == 1 ? 16 : 4; - } - break; - case 10: - if (secondRow) { - columnPointer += aShifthold == 1 ? 16 : 4; - } else { - secondRow = true; - } - break; - case 11: - paramH.value0D = paramH.input0D; - paramH.value1D = paramH.input1D; - break; - case 12: - paramH.param += aShifthold == 1 ? 2 : 1; - break; - case 13: - if (secondRow) { - secondRow = false; - } else { - columnPointer += aShifthold == 1 ? 2 : 1; - } - break; - case 14: - if (secondRow) { - columnPointer += aShifthold == 1 ? 2 : 1; - } else { - secondRow = true; - } - break; - case 15: - if (aShifthold == 1) { - if (secondRow) { - paramH.value1D = Double.longBitsToDouble(~Double.doubleToLongBits(paramH.value1D)); - } else { - paramH.value0D = Double.longBitsToDouble(~Double.doubleToLongBits(paramH.value1D)); - } - } else { - if (secondRow) { - long temp = Double.doubleToLongBits(paramH.value1D); - temp ^= 1L << (long) columnPointer; - paramH.value1D = Double.longBitsToDouble(temp); - } else { - long temp = Double.doubleToLongBits(paramH.value0D); - temp ^= 1L << (long) columnPointer; - paramH.value0D = Double.longBitsToDouble(temp); - } - } - break; - default: - doStuff = false; - } - if (doStuff) { - IGregTechTileEntity base = paramH.getBaseMetaTileEntity(); - TecTech.proxy.playSound(base, "fx_click"); - if (columnPointer >= 64) { - columnPointer = 63; - } else if (columnPointer < 0) { - columnPointer = 0; - } - paramH.pointer = secondRow ? columnPointer + 0x100 : columnPointer; - if (paramH.param > 9) { - paramH.param = 9; - } else if (paramH.param < -1) { - paramH.param = -1; - } - } - } - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) { - return; - } - param = ((GT_MetaTileEntity_Hatch_Param) mTileEntity.getMetaTileEntity()).param; - value0d = ((GT_MetaTileEntity_Hatch_Param) mTileEntity.getMetaTileEntity()).value0D; - value1d = ((GT_MetaTileEntity_Hatch_Param) mTileEntity.getMetaTileEntity()).value1D; - input0d = ((GT_MetaTileEntity_Hatch_Param) mTileEntity.getMetaTileEntity()).input0D; - input1d = ((GT_MetaTileEntity_Hatch_Param) mTileEntity.getMetaTileEntity()).input1D; - pointer = ((GT_MetaTileEntity_Hatch_Param) mTileEntity.getMetaTileEntity()).pointer; - - for (Object crafter : crafters) { - ICrafting var1 = (ICrafting) crafter; - TT_Utility.sendInteger(param, this, var1, 100); - TT_Utility.sendDouble(value0d, this, var1, 102); - TT_Utility.sendDouble(value1d, this, var1, 106); - TT_Utility.sendDouble(input0d, this, var1, 110); - TT_Utility.sendDouble(input1d, this, var1, 114); - TT_Utility.sendInteger(pointer, this, var1, 118); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void updateProgressBar(int par1, int par2) { - super.updateProgressBar(par1, par2); - switch (par1) { - case 100: - case 101: - param = TT_Utility.receiveInteger(param, 100, par1, par2); - return; - case 102: - case 103: - case 104: - case 105: - value0d = Double.longBitsToDouble(value0l = TT_Utility.receiveLong(value0l, 102, par1, par2)); - return; - case 106: - case 107: - case 108: - case 109: - value1d = Double.longBitsToDouble(value1l = TT_Utility.receiveLong(value1l, 106, par1, par2)); - return; - case 110: - case 111: - case 112: - case 113: - input0d = Double.longBitsToDouble(input0l = TT_Utility.receiveLong(input0l, 110, par1, par2)); - return; - case 114: - case 115: - case 116: - case 117: - input1d = Double.longBitsToDouble(input1l = TT_Utility.receiveLong(input1l, 114, par1, par2)); - return; - case 118: - case 119: - pointer = TT_Utility.receiveInteger(pointer, 118, par1, par2); - return; - default: - } - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java deleted file mode 100644 index f46e69184b..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java +++ /dev/null @@ -1,156 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; - -import com.github.technus.tectech.TecTech; -import com.github.technus.tectech.loader.NetworkDispatcher; -import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_ParamText; -import com.github.technus.tectech.thing.metaTileEntity.hatch.TextParametersMessage; -import com.github.technus.tectech.util.TT_Utility; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.gui.GT_ContainerMetaTile_Machine; -import gregtech.api.gui.GT_Slot_Holo; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import java.util.Objects; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine { - public int param = 0; - public double value0d = 0; - public double value1d = 0; - public double input0d = 0; - public double input1d = 0; - public long value0l = 0; - public long value1l = 0; - public long input0l = 0; - public long input1l = 0; - public String value0s = ""; - public String value1s = ""; - - public GT_Container_ParamText(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(aInventoryPlayer, aTileEntity); - } - - @Override - public void addSlots(InventoryPlayer aInventoryPlayer) { - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 5, false, false, 1)); - addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 5, false, false, 1)); - } - - @Override - public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer) { - if (aSlotIndex < 0) { - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - Slot tSlot = (Slot) inventorySlots.get(aSlotIndex); - if (tSlot != null && mTileEntity.getMetaTileEntity() != null) { - boolean doStuff = true; - GT_MetaTileEntity_Hatch_ParamText paramH = - (GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity(); - switch (aSlotIndex) { - case 0: - paramH.param -= aShifthold == 1 ? 16 : 4; - break; - case 1: - paramH.param -= aShifthold == 1 ? 2 : 1; - break; - case 2: - paramH.param += aShifthold == 1 ? 16 : 4; - break; - case 3: - paramH.param += aShifthold == 1 ? 2 : 1; - break; - default: - doStuff = false; - } - if (doStuff) { - IGregTechTileEntity base = paramH.getBaseMetaTileEntity(); - TecTech.proxy.playSound(base, "fx_click"); - if (paramH.param > 9) { - paramH.param = 9; - } else if (paramH.param < -1) { - paramH.param = -1; - } - } - } - return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) { - return; - } - param = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).param; - value0d = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0D; - value1d = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value1D; - input0d = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).input0D; - input1d = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).input1D; - for (Object crafter : crafters) { - ICrafting var1 = (ICrafting) crafter; - TT_Utility.sendInteger(param, this, var1, 100); - TT_Utility.sendDouble(value0d, this, var1, 102); - TT_Utility.sendDouble(value1d, this, var1, 106); - TT_Utility.sendDouble(input0d, this, var1, 110); - TT_Utility.sendDouble(input1d, this, var1, 114); - } - if (!Objects.equals(value0s, ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s) - || !Objects.equals( - value0s, ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s)) { - value0s = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s; - value1s = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value1s; - for (Object object : crafters) { - if (object instanceof EntityPlayerMP) { - NetworkDispatcher.INSTANCE.sendTo( - new TextParametersMessage.ParametersTextData( - ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity())), - (EntityPlayerMP) object); - } - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public void updateProgressBar(int par1, int par2) { - super.updateProgressBar(par1, par2); - switch (par1) { - case 100: - case 101: - param = TT_Utility.receiveInteger(param, 100, par1, par2); - return; - case 102: - case 103: - case 104: - case 105: - value0d = Double.longBitsToDouble(value0l = TT_Utility.receiveLong(value0l, 102, par1, par2)); - return; - case 106: - case 107: - case 108: - case 109: - value1d = Double.longBitsToDouble(value1l = TT_Utility.receiveLong(value1l, 106, par1, par2)); - return; - case 110: - case 111: - case 112: - case 113: - input0d = Double.longBitsToDouble(input0l = TT_Utility.receiveLong(input0l, 110, par1, par2)); - return; - case 114: - case 115: - case 116: - case 117: - input1d = Double.longBitsToDouble(input1l = TT_Utility.receiveLong(input1l, 114, par1, par2)); - return; - default: - } - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Param.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Param.java deleted file mode 100644 index d5d3d64b37..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Param.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; - -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - -import com.github.technus.tectech.font.TecTechFontRender; -import com.github.technus.tectech.util.TT_Utility; -import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.InventoryPlayer; -import org.lwjgl.opengl.GL11; - -public class GT_GUIContainer_Param extends GT_GUIContainerMetaTile_Machine { - public GT_GUIContainer_Param(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(new GT_Container_Param(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "Parametrizer.png"); - } - - @Override - protected void drawGuiContainerForegroundLayer(int par1, int par2) { - if (mContainer != null) { - TecTechFontRender.INSTANCE.drawSplitString( - "Parameters: " + ((GT_Container_Param) mContainer).param, 46, 7, 167, 0xffffff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u24EA\u2b07" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).input0d), - 46, - 16, - 167, - 0x22ddff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u2460\u2b07" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).input1d), - 46, - 24, - 167, - 0x00ffff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u24EA\u2b06" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).value0d), - 46, - 33, - 167, - 0x00bbff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u2460\u2b06" + TT_Utility.formatNumberExp(((GT_Container_Param) mContainer).value1d), - 46, - 41, - 167, - 0x0077ff); - GL11.glPushMatrix(); - GL11.glScalef(.5f, .5f, .5f); - TecTechFontRender.INSTANCE.drawSplitString( - "\u24EA\u2b06" - + TT_Utility.longBitsToShortString( - Double.doubleToLongBits(((GT_Container_Param) mContainer).value0d)), - 92, - 100, - 334, - 0x00bbff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u2460\u2b06" - + TT_Utility.longBitsToShortString( - Double.doubleToLongBits(((GT_Container_Param) mContainer).value1d)), - 92, - 116, - 334, - 0x0077ff); - GL11.glPopMatrix(); - } else { - TecTechFontRender.INSTANCE.drawSplitString("Parameters", 46, 7, 167, 0xffffff); - } - } - - @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); - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java deleted file mode 100644 index 512a70d0a5..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; - -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - -import com.github.technus.tectech.font.TecTechFontRender; -import com.github.technus.tectech.util.TT_Utility; -import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.InventoryPlayer; -import org.lwjgl.opengl.GL11; - -public class GT_GUIContainer_ParamAdv extends GT_GUIContainerMetaTile_Machine { - public GT_GUIContainer_ParamAdv(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(new GT_Container_ParamAdv(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "ParametrizerAdv.png"); - } - - @Override - protected void drawGuiContainerForegroundLayer(int par1, int par2) { - if (mContainer != null) { - TecTechFontRender.INSTANCE.drawSplitString( - "Parameters X: " + ((GT_Container_ParamAdv) mContainer).param, 46, 7, 167, 0xffffff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u24EA\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).input0d)), - 46, - 16, - 167, - 0x22ddff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u2460\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).input1d)), - 46, - 24, - 167, - 0x00ffff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u24EA\u2b06" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).value0d)), - 46, - 33, - 167, - 0x00bbff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u2460\u2b06" + TT_Utility.formatNumberExp((((GT_Container_ParamAdv) mContainer).value1d)), - 46, - 41, - 167, - 0x0077ff); - GL11.glPushMatrix(); - GL11.glScalef(.5f, .5f, .5f); - TecTechFontRender.INSTANCE.drawSplitString( - "\u24EA\u2b06" - + TT_Utility.longBitsToShortString( - Double.doubleToLongBits(((GT_Container_ParamAdv) mContainer).value0d)), - 92, - 100, - 334, - 0x00bbff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u2460\u2b06" - + TT_Utility.longBitsToShortString( - Double.doubleToLongBits(((GT_Container_ParamAdv) mContainer).value1d)), - 92, - 116, - 334, - 0x0077ff); - GL11.glPopMatrix(); - TecTechFontRender.INSTANCE.drawSplitString( - "Pointer " - + Integer.toHexString(((GT_Container_ParamAdv) mContainer).pointer | 0x10000) - .substring(1), - 46, - 66, - 167, - 0x0033ff); - } else { - TecTechFontRender.INSTANCE.drawSplitString("Parameters X", 46, 7, 167, 0xffffff); - } - } - - @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); - } -} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java deleted file mode 100644 index bff21e5f98..0000000000 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java +++ /dev/null @@ -1,207 +0,0 @@ -package com.github.technus.tectech.thing.metaTileEntity.hatch.gui; - -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; - -import com.github.technus.tectech.font.TecTechFontRender; -import com.github.technus.tectech.loader.NetworkDispatcher; -import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_ParamText; -import com.github.technus.tectech.thing.metaTileEntity.hatch.TextParametersMessage; -import com.github.technus.tectech.util.TT_Utility; -import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import java.util.Objects; -import net.minecraft.client.gui.GuiTextField; -import net.minecraft.entity.player.InventoryPlayer; - -public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine { - private GuiTextField value0tb; - private GuiTextField value1tb; - - public GT_GUIContainer_ParamText(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { - super(new GT_Container_ParamText(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "ParametrizerText.png"); - } - - @Override - public void initGui() { - super.initGui(); - value0tb = new GuiTextField( - TecTechFontRender.INSTANCE, - (this.width - 176) / 2 + 12 + 14, - (this.height - 166) / 2 + 26, - 156 - 18, - 12); - value0tb.setMaxStringLength(80); - value1tb = new GuiTextField( - TecTechFontRender.INSTANCE, - (this.width - 176) / 2 + 12 + 14, - (this.height - 166) / 2 + 41, - 156 - 18, - 12); - value1tb.setMaxStringLength(80); - updateValues(); - } - - @Override - public void onGuiClosed() { - super.onGuiClosed(); - value0tb.setFocused(false); - value1tb.setFocused(false); - updateValues(); - } - - @Override - protected void keyTyped(char p_73869_1_, int p_73869_2_) { - value0tb.textboxKeyTyped(p_73869_1_, p_73869_2_); - value1tb.textboxKeyTyped(p_73869_1_, p_73869_2_); - if ((p_73869_2_ != 1 && p_73869_2_ != this.mc.gameSettings.keyBindInventory.getKeyCode()) - || (!value0tb.isFocused() && !value1tb.isFocused())) { - super.keyTyped(p_73869_1_, p_73869_2_); - } - updateValues(); - } - - @Override - public void updateScreen() { - super.updateScreen(); - value0tb.updateCursorCounter(); - value1tb.updateCursorCounter(); - } - - @Override - public void drawScreen(int par1, int par2, float par3) { - super.drawScreen(par1, par2, par3); - value0tb.drawTextBox(); - value1tb.drawTextBox(); - } - - @Override - protected void mouseClicked(int p_73864_1_, int p_73864_2_, int p_73864_3_) { - super.mouseClicked(p_73864_1_, p_73864_2_, p_73864_3_); - value0tb.mouseClicked(p_73864_1_, p_73864_2_, p_73864_3_); - value1tb.mouseClicked(p_73864_1_, p_73864_2_, p_73864_3_); - updateValues(); - } - - @Override - protected void drawGuiContainerForegroundLayer(int par1, int par2) { - if (mContainer != null) { - TecTechFontRender.INSTANCE.drawSplitString( - "Parameters tXt: " + ((GT_Container_ParamText) mContainer).param, 46, 7, 167, 0xffffff); - TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b06", 10, 29, 16, 0x00bbff); - TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b06", 10, 44, 16, 0x0077ff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u24EA\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamText) mContainer).input0d)), - 10, - 56, - 167, - 0x22ddff); - TecTechFontRender.INSTANCE.drawSplitString( - "\u2460\u2b07" + TT_Utility.formatNumberExp((((GT_Container_ParamText) mContainer).input1d)), - 10, - 65, - 167, - 0x00ffff); - } else { - TecTechFontRender.INSTANCE.drawSplitString("Parameters tXt", 46, 7, 167, 0xffffff); - } - } - - @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); - } - - private void updateValues() { - updateIn0(); - updateIn1(); - } - - private void updateIn0() { - if (!value0tb.isFocused()) { - String str = value0tb.getText().toLowerCase(); - double val; - try { - if (str.contains("b")) { - String[] split = str.split("b"); - val = TT_Utility.bitStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", "")); - } else if (str.contains("x")) { - String[] split = str.split("x"); - val = TT_Utility.hexStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", "")); - } else { - val = TT_Utility.stringToDouble(str); - } - if (!Objects.equals( - ((GT_MetaTileEntity_Hatch_ParamText) - ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) - .value0s, - value0tb.getText())) { - ((GT_Container_ParamText) mContainer).value0s = value0tb.getText(); - ((GT_Container_ParamText) mContainer).value0d = val; - ((GT_MetaTileEntity_Hatch_ParamText) - ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) - .value0s = - value0tb.getText(); - - NetworkDispatcher.INSTANCE.sendToServer( - new TextParametersMessage.ParametersTextUpdate((GT_MetaTileEntity_Hatch_ParamText) - ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity())); - } - } catch (Exception e) { - value0tb.setText(((GT_MetaTileEntity_Hatch_ParamText) - ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) - .value0s); - } - } - } - - private void updateIn1() { - if (!value1tb.isFocused()) { - String str = value1tb.getText().toLowerCase(); - double val; - try { - if (str.contains("b")) { - String[] split = str.split("b"); - val = TT_Utility.bitStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", "")); - } else if (str.contains("x")) { - String[] split = str.split("x"); - val = TT_Utility.hexStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", "")); - } else { - val = TT_Utility.stringToDouble(str); - } - if (!Objects.equals( - ((GT_MetaTileEntity_Hatch_ParamText) - ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) - .value1s, - value1tb.getText())) { - ((GT_Container_ParamText) mContainer).value1s = value1tb.getText(); - ((GT_Container_ParamText) mContainer).value1d = val; - ((GT_MetaTileEntity_Hatch_ParamText) - ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) - .value1s = - value1tb.getText(); - - NetworkDispatcher.INSTANCE.sendToServer( - new TextParametersMessage.ParametersTextUpdate((GT_MetaTileEntity_Hatch_ParamText) - ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity())); - } - } catch (Exception e) { - value1tb.setText(((GT_MetaTileEntity_Hatch_ParamText) - ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()) - .value1s); - } - } - } - - public void setTextIn0(String in0) { - ((GT_Container_ParamText) mContainer).value0s = in0; - this.value0tb.setText(in0); - } - - public void setTextIn1(String in1) { - ((GT_Container_ParamText) mContainer).value1s = in1; - this.value1tb.setText(in1); - } -} diff --git a/src/main/resources/assets/gregtech/textures/gui/Parametrizer.png b/src/main/resources/assets/gregtech/textures/gui/Parametrizer.png deleted file mode 100644 index b754d2cfa5..0000000000 Binary files a/src/main/resources/assets/gregtech/textures/gui/Parametrizer.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/gui/ParametrizerAdv.png b/src/main/resources/assets/gregtech/textures/gui/ParametrizerAdv.png deleted file mode 100644 index 3366ab1c14..0000000000 Binary files a/src/main/resources/assets/gregtech/textures/gui/ParametrizerAdv.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/gui/ParametrizerText.png b/src/main/resources/assets/gregtech/textures/gui/ParametrizerText.png deleted file mode 100644 index da78ca5b21..0000000000 Binary files a/src/main/resources/assets/gregtech/textures/gui/ParametrizerText.png and /dev/null differ diff --git a/src/main/resources/assets/gregtech/textures/gui/multimachines/EMDisplay.png b/src/main/resources/assets/gregtech/textures/gui/multimachines/EMDisplay.png deleted file mode 100644 index e67f96e34e..0000000000 Binary files a/src/main/resources/assets/gregtech/textures/gui/multimachines/EMDisplay.png and /dev/null differ diff --git a/src/main/resources/assets/tectech/textures/gui/background/screen_blue_parametrizer_txt.png b/src/main/resources/assets/tectech/textures/gui/background/screen_blue_parametrizer_txt.png new file mode 100644 index 0000000000..d35be3f276 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/background/screen_blue_parametrizer_txt.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_0.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_0.png new file mode 100644 index 0000000000..585859a7b2 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_0.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_1.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_1.png new file mode 100644 index 0000000000..8d55a58ff5 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_1.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_c.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_c.png new file mode 100644 index 0000000000..d57bbee6e6 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_c.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_id.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_id.png new file mode 100644 index 0000000000..a7c940c97b Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_id.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_if.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_if.png new file mode 100644 index 0000000000..442c9161b7 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_if.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_s.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_s.png new file mode 100644 index 0000000000..a47abc5829 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_s.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_t.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_t.png new file mode 100644 index 0000000000..300c06cbf5 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_t.png differ diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_x.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_x.png new file mode 100644 index 0000000000..ab7dcec9bb Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/overlay_button/parametrizer_x.png differ -- cgit From 00953932ea46d7ed251baa1152e9ebadda4f8231 Mon Sep 17 00:00:00 2001 From: miozune Date: Sat, 19 Nov 2022 21:22:05 +0900 Subject: cleanup --- dependencies.gradle | 8 --- repositories.gradle | 1 - .../tectech/nei/TT_NEI_ResearchHandler.java | 61 ---------------------- .../technus/tectech/nei/TT_NEI_ScannerHandler.java | 61 ---------------------- .../GT_MetaTileEntity_Hatch_InputDataItems.java | 12 ----- .../GT_MetaTileEntity_Hatch_OutputDataItems.java | 23 -------- .../single/GT_MetaTileEntity_TeslaCoil.java | 3 +- 7 files changed, 2 insertions(+), 167 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index b5ed7188f0..e5061e87d6 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -18,12 +18,4 @@ dependencies { compileOnly('curse.maven:cofh-lib-220333:2388748') {transitive=false} compileOnly('curse.maven:computercraft-67504:2269339') {transitive=false} compileOnly('thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev') {transitive=false} - - // // for local - // compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.123-pre:dev') {transitive=false} - // compile("com.github.GTNewHorizons:ModularUI:SNAPSHOT:dev") - // compile("com.github.GTNewHorizons:waila:1.5.21:dev") - // compile("com.github.GTNewHorizons:Chisel:2.10.15-GTNH:dev") { - // transitive = false - // } } diff --git a/repositories.gradle b/repositories.gradle index 053aa123b5..887a6ff8c8 100644 --- a/repositories.gradle +++ b/repositories.gradle @@ -1,7 +1,6 @@ // Add any additional repositories for your dependencies here repositories { - mavenLocal() maven { name 'GTNH Maven' url 'http://jenkins.usrv.eu:8081/nexus/content/groups/public/' diff --git a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java index b6d01cb01a..572b3b2c47 100644 --- a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java +++ b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ResearchHandler.java @@ -6,8 +6,6 @@ import static gregtech.api.enums.ItemList.Display_Fluid; import codechicken.lib.gui.GuiDraw; import codechicken.nei.ItemList; import codechicken.nei.PositionedStack; -import codechicken.nei.guihook.IContainerInputHandler; -import codechicken.nei.guihook.IContainerTooltipHandler; import codechicken.nei.recipe.*; import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; @@ -25,7 +23,6 @@ import java.util.Collections; import java.util.Iterator; import java.util.List; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidContainerRegistry; @@ -260,64 +257,6 @@ public class TT_NEI_ResearchHandler extends TemplateRecipeHandler { } } - @Deprecated // Unnecessary copy of a class base GT5U uses to manage NEI transfer rects - public static class GT_RectHandler implements IContainerInputHandler, IContainerTooltipHandler { - @Override - public boolean mouseClicked(GuiContainer gui, int mousex, int mousey, int button) { - return false; - } - - @Override - public boolean lastKeyTyped(GuiContainer gui, char keyChar, int keyCode) { - return false; - } - - public boolean canHandle(GuiContainer gui) { - return false; - } - - @Override - public List handleTooltip(GuiContainer gui, int mousex, int mousey, List currenttip) { - return currenttip; - } - - @Override - public List handleItemDisplayName(GuiContainer gui, ItemStack itemstack, List currenttip) { - return currenttip; - } - - @Override - public List handleItemTooltip( - GuiContainer gui, ItemStack itemstack, int mousex, int mousey, List currenttip) { - return currenttip; - } - - @Override - public boolean keyTyped(GuiContainer gui, char keyChar, int keyCode) { - return false; - } - - @Override - public void onKeyTyped(GuiContainer gui, char keyChar, int keyID) {} - - @Override - public void onMouseClicked(GuiContainer gui, int mousex, int mousey, int button) {} - - @Override - public void onMouseUp(GuiContainer gui, int mousex, int mousey, int button) {} - - @Override - public boolean mouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) { - return false; - } - - @Override - public void onMouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) {} - - @Override - public void onMouseDragged(GuiContainer gui, int mousex, int mousey, int button, long heldTime) {} - } - public static class FixedPositionedStack extends PositionedStack { public final int mChance; public boolean permutated = false; diff --git a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java index 12e6f0d823..15887f0e35 100644 --- a/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java +++ b/src/main/java/com/github/technus/tectech/nei/TT_NEI_ScannerHandler.java @@ -6,8 +6,6 @@ import static gregtech.api.enums.ItemList.Display_Fluid; import codechicken.lib.gui.GuiDraw; import codechicken.nei.ItemList; import codechicken.nei.PositionedStack; -import codechicken.nei.guihook.IContainerInputHandler; -import codechicken.nei.guihook.IContainerTooltipHandler; import codechicken.nei.recipe.*; import com.github.technus.tectech.Reference; import com.github.technus.tectech.TecTech; @@ -25,7 +23,6 @@ import java.util.Collections; import java.util.Iterator; import java.util.List; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidContainerRegistry; @@ -259,64 +256,6 @@ public class TT_NEI_ScannerHandler extends TemplateRecipeHandler { } } - @Deprecated // Unnecessary copy of a class base GT5U uses to manage NEI transfer rects - public static class GT_RectHandler implements IContainerInputHandler, IContainerTooltipHandler { - @Override - public boolean mouseClicked(GuiContainer gui, int mousex, int mousey, int button) { - return false; - } - - @Override - public boolean lastKeyTyped(GuiContainer gui, char keyChar, int keyCode) { - return false; - } - - public boolean canHandle(GuiContainer gui) { - return false; - } - - @Override - public List handleTooltip(GuiContainer gui, int mousex, int mousey, List currenttip) { - return currenttip; - } - - @Override - public List handleItemDisplayName(GuiContainer gui, ItemStack itemstack, List currenttip) { - return currenttip; - } - - @Override - public List handleItemTooltip( - GuiContainer gui, ItemStack itemstack, int mousex, int mousey, List currenttip) { - return currenttip; - } - - @Override - public boolean keyTyped(GuiContainer gui, char keyChar, int keyCode) { - return false; - } - - @Override - public void onKeyTyped(GuiContainer gui, char keyChar, int keyID) {} - - @Override - public void onMouseClicked(GuiContainer gui, int mousex, int mousey, int button) {} - - @Override - public void onMouseUp(GuiContainer gui, int mousex, int mousey, int button) {} - - @Override - public boolean mouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) { - return false; - } - - @Override - public void onMouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) {} - - @Override - public void onMouseDragged(GuiContainer gui, int mousex, int mousey, int button, long heldTime) {} - } - public static class FixedPositionedStack extends PositionedStack { public final int mChance; public boolean permutated = false; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java index c61d9d157e..ce0215f2c9 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java @@ -20,7 +20,6 @@ import gregtech.api.objects.GT_RenderedTexture; import java.util.ArrayList; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; @@ -90,20 +89,9 @@ public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Ha } catch (Exception e) { clientLocale = "en_US"; } - aBaseMetaTileEntity.openGUI(aPlayer); return true; } - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return null; - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return null; - } - @Override public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { return false; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java index 197006510d..323973acbb 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java @@ -12,8 +12,6 @@ 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.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; @@ -45,27 +43,6 @@ public class GT_MetaTileEntity_Hatch_OutputDataItems return new GT_MetaTileEntity_Hatch_OutputDataItems(this.mName, this.mTier, this.mDescription, this.mTextures); } - @Override - public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { - if (aBaseMetaTileEntity.isClientSide()) { - return true; - } else { - super.onRightclick(aBaseMetaTileEntity, aPlayer); - aBaseMetaTileEntity.openGUI(aPlayer); - return true; - } - } - - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return null; - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return null; - } - @Override public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { return false; 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 index a6abe44064..899ebc603c 100644 --- 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 @@ -19,6 +19,7 @@ import com.google.common.collect.Multimap; import com.google.common.collect.MultimapBuilder; import com.gtnewhorizon.structurelib.util.Vec3Impl; import eu.usrv.yamcore.auxiliary.PlayerChatHelper; +import gregtech.api.gui.modularui.GT_UIInfos; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; @@ -284,7 +285,7 @@ public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryB } catch (Exception e) { clientLocale = "en_US"; } - aBaseMetaTileEntity.openGUI(aPlayer); + GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); } return true; } -- cgit From 7004d21b057f602c4d371cbeee7220b8ab83e11c Mon Sep 17 00:00:00 2001 From: miozune Date: Sun, 20 Nov 2022 18:39:31 +0900 Subject: Update GT --- dependencies.gradle | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dependencies.gradle b/dependencies.gradle index e5061e87d6..707cc66d51 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,7 +2,8 @@ dependencies { shadowImplementation('com.github.GTNewHorizons:AVRcore:master-SNAPSHOT') - compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.137-pre:dev') + compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.138-pre:dev') {transitive=false} + compile("com.github.GTNewHorizons:ModularUI:1.0.16:dev") compile('com.github.GTNewHorizons:Yamcl:0.5.84:dev') compile('com.github.GTNewHorizons:NotEnoughItems:2.3.7-GTNH:dev') compile('com.github.GTNewHorizons:CodeChickenLib:1.1.5.5:dev') -- cgit From 8b44e6b09a6a66c22f5f1b73cf2e5c3714a5b697 Mon Sep 17 00:00:00 2001 From: miozune Date: Sun, 20 Nov 2022 18:46:38 +0900 Subject: :feelsdumbman: --- dependencies.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 707cc66d51..059c1f5b4a 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,8 +2,8 @@ dependencies { shadowImplementation('com.github.GTNewHorizons:AVRcore:master-SNAPSHOT') - compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.138-pre:dev') {transitive=false} - compile("com.github.GTNewHorizons:ModularUI:1.0.16:dev") + compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.138-pre:dev') + compile("com.github.GTNewHorizons:ModularUI:1.0.16:dev") {transitive=false} compile('com.github.GTNewHorizons:Yamcl:0.5.84:dev') compile('com.github.GTNewHorizons:NotEnoughItems:2.3.7-GTNH:dev') compile('com.github.GTNewHorizons:CodeChickenLib:1.1.5.5:dev') -- cgit From 42885eb1fcd41c4061c50f1acb5fa38470dffacc Mon Sep 17 00:00:00 2001 From: miozune Date: Sun, 20 Nov 2022 23:44:02 +0900 Subject: Force enable mixin --- gradle.properties | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gradle.properties b/gradle.properties index 86fedd756e..7625dfe249 100644 --- a/gradle.properties +++ b/gradle.properties @@ -55,6 +55,9 @@ coreModClass = # that is annotated with @Mod) you want this to be true. When in doubt: leave it on false! containsMixinsAndOrCoreModOnly = false +# Enables Mixins even if this mod doesn't use them, useful if one of the dependencies uses mixins. +forceEnableMixins = true + # If enabled, you may use 'shadowImplementation' for dependencies. They will be integrated in your jar. It is your # responsibility check the licence and request permission for distribution, if required. usesShadowedDependencies = true -- cgit From 9abe295faff5b0221f83260c582a9b57b970d759 Mon Sep 17 00:00:00 2001 From: miozune Date: Thu, 24 Nov 2022 17:18:28 +0900 Subject: Ender Fluid Link Cover --- .../thing/cover/GT_Cover_TM_EnderFluidLink.java | 254 +++++++++------------ 1 file changed, 113 insertions(+), 141 deletions(-) diff --git a/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_EnderFluidLink.java b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_EnderFluidLink.java index ad6bb87c19..e977126595 100644 --- a/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_EnderFluidLink.java +++ b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_EnderFluidLink.java @@ -2,24 +2,25 @@ package com.github.technus.tectech.thing.cover; import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderFluidContainer; import static com.github.technus.tectech.mechanics.enderStorage.EnderWorldSavedData.getEnderLinkTag; -import static gregtech.GT_Mod.gregtechproxy; import com.github.technus.tectech.loader.NetworkDispatcher; import com.github.technus.tectech.mechanics.enderStorage.EnderLinkCoverMessage; import com.github.technus.tectech.mechanics.enderStorage.EnderLinkTag; +import com.gtnewhorizons.modularui.api.math.Alignment; +import com.gtnewhorizons.modularui.api.math.Color; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.common.widget.TextWidget; +import com.gtnewhorizons.modularui.common.widget.textfield.TextFieldWidget; import eu.usrv.yamcore.auxiliary.PlayerChatHelper; -import gregtech.api.enums.GT_Values; -import gregtech.api.gui.GT_GUICover; -import gregtech.api.gui.widgets.GT_GuiIcon; -import gregtech.api.gui.widgets.GT_GuiIconButton; -import gregtech.api.gui.widgets.GT_GuiIntegerTextBox; -import gregtech.api.interfaces.IGuiScreen; +import gregtech.api.gui.modularui.GT_CoverUIBuildContext; +import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.tileentity.ICoverable; -import gregtech.api.net.GT_Packet_TileEntityCover; import gregtech.api.util.GT_CoverBehavior; import gregtech.api.util.GT_Utility; +import gregtech.api.util.ISerializableObject; +import gregtech.common.gui.modularui.widget.CoverDataControllerWidget; +import gregtech.common.gui.modularui.widget.CoverDataFollower_ToggleButtonWidget; import java.util.UUID; -import net.minecraft.client.gui.GuiButton; import net.minecraft.entity.player.EntityPlayer; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.Fluid; @@ -38,7 +39,7 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { if (inputTag != null) { tag = inputTag; // Hacky Way to update the gui - GUI_INSTANCE.resetColorField(); + GUI_INSTANCE.resetTextField(); } } @@ -117,131 +118,118 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { } // region GUI + + private static EnderFluidLinkUIFactory GUI_INSTANCE; + @Override public boolean hasCoverGUI() { return true; } @Override - public Object getClientGUI(byte aSide, int aCoverID, int coverData, ICoverable aTileEntity) { + public boolean useModularUI() { + return true; + } + + @Override + public ModularWindow createWindow(GT_CoverUIBuildContext buildContext) { // Only open gui if we're placed on a fluid tank - Object gui = null; - if (aTileEntity instanceof IFluidHandler) { - gui = new TM_EnderFluidLinkCover(aSide, aCoverID, coverData, aTileEntity); + if (buildContext.getTile() instanceof IFluidHandler) { + return new EnderFluidLinkUIFactory(buildContext).createWindow(); } - return gui; + return null; } - private static TM_EnderFluidLinkCover GUI_INSTANCE; - - private class TM_EnderFluidLinkCover extends GT_GUICover { - private final byte side; - private final int coverID; - private int coverVariable; - private GT_GuiTextBox colorField; + private class EnderFluidLinkUIFactory extends UIFactory { private static final int START_X = 10; private static final int START_Y = 25; private static final int SPACE_X = 18; private static final int SPACE_Y = 18; + private static final int PUBLIC_BUTTON_ID = 0; + private static final int PRIVATE_BUTTON_ID = 1; + private static final int IMPORT_BUTTON_ID = 2; + private static final int EXPORT_BUTTON_ID = 3; - private static final int SIZE_X = 176; - private static final int SIZE_Y = 107; - - private static final int BOX_SIZE_X = 34; - private static final int BOX_SIZE_Y = 34; - - private static final int TEXT_FIELD_SIZE_X = SPACE_X * 5 - 8; - private static final int TEXT_FIELD_SIZE_Y = 12; - private static final int TEXT_STRING_LENGTH = 9; - - private static final int FONT_COLOR = 0xFF555555; - private static final int BOX_BORDER_COLOR = 0xFF000000; - - private static final int COLOR_FIELD_ID = 0; - private static final int PUBLIC_BUTTON_ID = 1; - private static final int PRIVATE_BUTTON_ID = 2; - private static final int IMPORT_BUTTON_ID = 3; - private static final int EXPORT_BUTTON_ID = 4; - - private GT_GuiIconButton newButtonWithSpacing(int id, int x, int y, GT_GuiIcon icon) { - return new GT_GuiIconButton(this, id, START_X + SPACE_X * x, START_Y + SPACE_Y * y, icon); - } - - private GT_GuiTextBox newTextField(int id, int x, int y) { - GT_GuiTextBox field = new GT_GuiTextBox( - this, id, START_X + SPACE_X * x, START_Y + SPACE_Y * y, TEXT_FIELD_SIZE_X, TEXT_FIELD_SIZE_Y); - field.setMaxStringLength(TEXT_STRING_LENGTH); - return field; - } + private TextFieldWidget frequencyField; - private int drawNewString(String text, int x, int y) { - int align = 4; - return fontRendererObj.drawString(text, START_X + SPACE_X * x, align + START_Y + SPACE_Y * y, FONT_COLOR); - } - - public TM_EnderFluidLinkCover(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { - super(aTileEntity, SIZE_X, SIZE_Y, GT_Utility.intToStack(aCoverID)); - side = aSide; - coverID = aCoverID; - coverVariable = aCoverVariable; - NetworkDispatcher.INSTANCE.sendToServer( - new EnderLinkCoverMessage.EnderLinkCoverQuery(tag, (IFluidHandler) tile)); - // Color Value Field - colorField = newTextField(COLOR_FIELD_ID, 0, 0); - GUI_INSTANCE = this; - resetColorField(); - // Public/Private Buttons - newButtonWithSpacing(PUBLIC_BUTTON_ID, 0, 2, GT_GuiIcon.WHITELIST).setTooltipText(trans("326", "Public")); - newButtonWithSpacing(PRIVATE_BUTTON_ID, 1, 2, GT_GuiIcon.BLACKLIST).setTooltipText(trans("327", "Private")); - // Import/Export Buttons - newButtonWithSpacing(IMPORT_BUTTON_ID, 0, 3, GT_GuiIcon.IMPORT).setTooltipText(trans("007", "Import")); - newButtonWithSpacing(EXPORT_BUTTON_ID, 1, 3, GT_GuiIcon.EXPORT).setTooltipText(trans("006", "Export")); + public EnderFluidLinkUIFactory(GT_CoverUIBuildContext buildContext) { + super(buildContext); } + @SuppressWarnings("PointlessArithmeticExpression") @Override - public void drawExtras(int mouseX, int mouseY, float parTicks) { - super.drawExtras(mouseX, mouseY, parTicks); - drawNewString(trans("328", "Channel"), 5, 0); - drawNewString(trans("329", "Public/Private"), 2, 2); - drawNewString(trans("229", "Import/Export"), 2, 3); - } - - @Override - protected void onInitGui(int guiLeft, int guiTop, int gui_width, int gui_height) { - updateButtons(); - } - - @Override - public void buttonClicked(GuiButton btn) { - if (getClickable(btn.id)) { - coverVariable = getNewCoverVariable(btn.id); - GT_Values.NW.sendToServer(new GT_Packet_TileEntityCover(side, coverID, coverVariable, tile)); - } - updateButtons(); - } - - private void updateButtons() { - GuiButton b; - for (Object o : buttonList) { - b = (GuiButton) o; - b.enabled = getClickable(b.id); - } - } - - private void switchPrivatePublic(int coverVar) { - UUID ownerUUID = tag.getUUID(); - if (testBit(coverVar, PUBLIC_PRIVATE_MASK)) { - ownerUUID = gregtechproxy.getThePlayer().getUniqueID(); - } else { - ownerUUID = null; - } - EnderLinkTag newTag = new EnderLinkTag(tag.getFrequency(), ownerUUID); - NetworkDispatcher.INSTANCE.sendToServer( - new EnderLinkCoverMessage.EnderLinkCoverUpdate(newTag, (IFluidHandler) tile)); + protected void addUIWidgets(ModularWindow.Builder builder) { + NetworkDispatcher.INSTANCE.sendToServer(new EnderLinkCoverMessage.EnderLinkCoverQuery( + tag, (IFluidHandler) getUIBuildContext().getTile())); + GUI_INSTANCE = this; + frequencyField = new TextFieldWidget() { + @Override + public void onRemoveFocus() { + super.onRemoveFocus(); + try { + String string = getText(); + tag = new EnderLinkTag(string, tag.getUUID()); + NetworkDispatcher.INSTANCE.sendToServer(new EnderLinkCoverMessage.EnderLinkCoverUpdate( + tag, (IFluidHandler) getUIBuildContext().getTile())); + } catch (NumberFormatException ignored) { + } + resetTextField(); + } + }; + + builder.widget(frequencyField + .setTextColor(Color.WHITE.dark(1)) + .setTextAlignment(Alignment.CenterLeft) + .setFocusOnGuiOpen(true) + .setBackground(GT_UITextures.BACKGROUND_TEXT_FIELD.withOffset(-1, -1, 2, 2)) + .setPos(START_X + SPACE_X * 0, START_Y + SPACE_Y * 0) + .setSize(SPACE_X * 5 - 8, 12)) + .widget(new CoverDataControllerWidget.CoverDataIndexedControllerWidget_ToggleButtons<>( + this::getCoverData, + this::setCoverData, + GT_Cover_TM_EnderFluidLink.this, + (id, coverData) -> !getClickable(id, convert(coverData)), + (id, coverData) -> new ISerializableObject.LegacyCoverData( + getNewCoverVariable(id, convert(coverData)))) + .addToggleButton( + PUBLIC_BUTTON_ID, + CoverDataFollower_ToggleButtonWidget.ofDisableable(), + widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_WHITELIST) + .addTooltip(GT_Utility.trans("326", "Public")) + .setPos(START_X + SPACE_X * 0, START_Y + SPACE_Y * 2)) + .addToggleButton( + PRIVATE_BUTTON_ID, + CoverDataFollower_ToggleButtonWidget.ofDisableable(), + widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_BLACKLIST) + .addTooltip(GT_Utility.trans("327", "Private")) + .setPos(START_X + SPACE_X * 1, START_Y + SPACE_Y * 2)) + .addToggleButton( + IMPORT_BUTTON_ID, + CoverDataFollower_ToggleButtonWidget.ofDisableable(), + widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_IMPORT) + .addTooltip(GT_Utility.trans("007", "Import")) + .setPos(START_X + SPACE_X * 0, START_Y + SPACE_Y * 3)) + .addToggleButton( + EXPORT_BUTTON_ID, + CoverDataFollower_ToggleButtonWidget.ofDisableable(), + widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_EXPORT) + .addTooltip(GT_Utility.trans("006", "Export")) + .setPos(START_X + SPACE_X * 1, START_Y + SPACE_Y * 3))) + .widget(new TextWidget(GT_Utility.trans("328", "Channel")) + .setDefaultColor(COLOR_TEXT_GRAY.get()) + .setPos(START_X + SPACE_X * 5, 4 + START_Y + SPACE_Y * 0)) + .widget(new TextWidget(GT_Utility.trans("329", "Public/Private")) + .setDefaultColor(COLOR_TEXT_GRAY.get()) + .setPos(START_X + SPACE_X * 2, 4 + START_Y + SPACE_Y * 2)) + .widget(new TextWidget(GT_Utility.trans("229", "Import/Export")) + .setDefaultColor(COLOR_TEXT_GRAY.get()) + .setPos(START_X + SPACE_X * 2, 4 + START_Y + SPACE_Y * 3)); + + resetTextField(); } - private int getNewCoverVariable(int id) { + private int getNewCoverVariable(int id, int coverVariable) { int tempCoverVariable = coverVariable; switch (id) { case PUBLIC_BUTTON_ID: @@ -256,7 +244,7 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { return tempCoverVariable; } - private boolean getClickable(int id) { + private boolean getClickable(int id, int coverVariable) { boolean canBeClicked = false; switch (id) { case PUBLIC_BUTTON_ID: @@ -274,36 +262,20 @@ public class GT_Cover_TM_EnderFluidLink extends GT_CoverBehavior { return canBeClicked; } - @Override - public void applyTextBox(GT_GuiIntegerTextBox box) { - try { - String string = box.getText(); - tag = new EnderLinkTag(string, tag.getUUID()); - NetworkDispatcher.INSTANCE.sendToServer( - new EnderLinkCoverMessage.EnderLinkCoverUpdate(tag, (IFluidHandler) tile)); - } catch (NumberFormatException ignored) { - } - resetColorField(); + private void resetTextField() { + frequencyField.setText(tag.getFrequency()); } - @Override - public void resetTextBox(GT_GuiIntegerTextBox box) { - box.setText(tag.getFrequency()); - } - - public void resetColorField() { - resetTextBox(colorField); - } - - private class GT_GuiTextBox extends GT_GuiIntegerTextBox { - public GT_GuiTextBox(IGuiScreen gui, int id, int x, int y, int width, int height) { - super(gui, id, x, y, width, height); - } - - @Override - public boolean validChar(char c, int key) { - return true; + private void switchPrivatePublic(int coverVar) { + UUID ownerUUID; + if (testBit(coverVar, PUBLIC_PRIVATE_MASK)) { + ownerUUID = getUIBuildContext().getPlayer().getUniqueID(); + } else { + ownerUUID = null; } + EnderLinkTag newTag = new EnderLinkTag(tag.getFrequency(), ownerUUID); + NetworkDispatcher.INSTANCE.sendToServer(new EnderLinkCoverMessage.EnderLinkCoverUpdate( + newTag, (IFluidHandler) getUIBuildContext().getTile())); } } } -- cgit From 8d3e6a5fd4728b6522006e12b626ae1d8e7f6dee Mon Sep 17 00:00:00 2001 From: miozune Date: Thu, 24 Nov 2022 17:18:37 +0900 Subject: cleanup --- .../hatch/GT_MetaTileEntity_Hatch_CreativeMaintenance.java | 12 ++++-------- .../multi/GT_MetaTileEntity_TM_proccessingStack.java | 10 ---------- .../single/GT_MetaTileEntity_OwnerDetector.java | 11 ----------- 3 files changed, 4 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeMaintenance.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeMaintenance.java index 854a0321bf..5e946e2223 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeMaintenance.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeMaintenance.java @@ -13,7 +13,7 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Maintenance; import gregtech.api.objects.GT_RenderedTexture; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -72,13 +72,9 @@ public class GT_MetaTileEntity_Hatch_CreativeMaintenance extends GT_MetaTileEnti } @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return null; - } - - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return null; + public boolean onRightclick( + IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer, byte aSide, float aX, float aY, float aZ) { + return false; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java index d38e41a695..fcbb23a1cd 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java @@ -107,16 +107,6 @@ public class GT_MetaTileEntity_TM_proccessingStack extends GT_MetaTileEntity_Mul }; } - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity,true, false, true); - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png",true, false, true); - } - @Override public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { if (aSide == aFacing) { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_OwnerDetector.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_OwnerDetector.java index 1a7048fed4..b628a1121f 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_OwnerDetector.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_OwnerDetector.java @@ -20,7 +20,6 @@ import gregtech.api.util.GT_Utility; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; @@ -73,16 +72,6 @@ public class GT_MetaTileEntity_OwnerDetector extends GT_MetaTileEntity_TieredMac return null; } - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return null; - } - - @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return null; - } - @Override public boolean allowPutStack(IGregTechTileEntity iGregTechTileEntity, int i, byte b, ItemStack itemStack) { return false; -- cgit From 48012fc54c8f2623d95df54aa39b03498e1d864c Mon Sep 17 00:00:00 2001 From: BlueWeabo <76872108+BlueWeabo@users.noreply.github.com> Date: Thu, 24 Nov 2022 13:30:32 +0200 Subject: add 4-64A dynamos and energy hatches, ads UIV and UMV lasers --- .../dreamcraft/DreamCraftRecipeLoader.java | 432 ++++++++++++++++++++- 1 file changed, 431 insertions(+), 1 deletion(-) 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 622403abce..23fb49153b 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 @@ -497,7 +497,7 @@ public class DreamCraftRecipeLoader { // region hatches - // Dynamo Hatches IV-UIV + // Dynamo Hatches IV-UMV GT_Values.RA.addAssemblerRecipe( new ItemStack[] { ItemList.Hatch_Dynamo_IV.get(1), @@ -729,6 +729,39 @@ public class DreamCraftRecipeLoader { 400, 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hatch_Dynamo_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Quantium, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 2) + }, + Materials.Silver.getMolten(9216), + CustomItemList.eM_dynamoMulti4_UMV.get(1), + 100, + 32000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Transformer_UXV_UMV").get(1), + CustomItemList.eM_dynamoMulti4_UMV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Quantium, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 4) + }, + Materials.Electrum.getMolten(9216), + CustomItemList.eM_dynamoMulti16_UMV.get(1), + 200, + 32000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("WetTransformer_UXV_UMV").get(1), + CustomItemList.eM_dynamoMulti16_UMV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Quantium, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 6) + }, + Materials.Tungsten.getMolten(9216), + CustomItemList.eM_dynamoMulti64_UMV.get(1), + 400, + 32000000); + // Energy Hatches IV-UIV GT_Values.RA.addAssemblerRecipe( new ItemStack[] { @@ -964,6 +997,39 @@ public class DreamCraftRecipeLoader { 400, 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hatch_Energy_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Quantium, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 2) + }, + Materials.Silver.getMolten(9216), + CustomItemList.eM_energyMulti4_UMV.get(1), + 100, + 32000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Transformer_UXV_UMV").get(1), + CustomItemList.eM_energyMulti4_UMV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Quantium, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 4) + }, + Materials.Electrum.getMolten(9216), + CustomItemList.eM_energyMulti16_UMV.get(1), + 200, + 32000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("WetTransformer_UXV_UMV").get(1), + CustomItemList.eM_energyMulti16_UMV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Quantium, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SpaceTime, 6) + }, + Materials.Tungsten.getMolten(9216), + CustomItemList.eM_energyMulti64_UMV.get(1), + 400, + 32000000); + // Buck Converter IV-UIV if (Loader.isModLoaded("bartworks")) { GT_Values.RA.addAssemblerRecipe( @@ -1140,6 +1206,32 @@ public class DreamCraftRecipeLoader { CustomItemList.eM_dynamoTunnel1_UEV.get(1), 1000, 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Emitter_UIV.get(1), + ItemList.Electric_Pump_UIV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.NetherStar, 2), + GT_Utility.getIntegratedCircuit(1) + }, + null, + CustomItemList.eM_dynamoTunnel1_UIV.get(1), + 1000, + 32000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Emitter_UMV.get(1), + ItemList.Electric_Pump_UMV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Quantium, 2), + GT_Utility.getIntegratedCircuit(1) + }, + null, + CustomItemList.eM_dynamoTunnel1_UMV.get(1), + 1000, + 128000000); // Laser Dynamo IV-UEV 1024/t GT_Values.RA.addAssemblerRecipe( @@ -1220,6 +1312,32 @@ public class DreamCraftRecipeLoader { CustomItemList.eM_dynamoTunnel2_UEV.get(1), 2000, 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Emitter_UIV.get(2), + ItemList.Electric_Pump_UIV.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NetherStar, 4), + GT_Utility.getIntegratedCircuit(2) + }, + null, + CustomItemList.eM_dynamoTunnel2_UIV.get(1), + 2000, + 32000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Emitter_UMV.get(2), + ItemList.Electric_Pump_UMV.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Quantium, 4), + GT_Utility.getIntegratedCircuit(2) + }, + null, + CustomItemList.eM_dynamoTunnel2_UMV.get(1), + 2000, + 128000000); // Laser Dynamo IV-UEV 4096/t GT_Values.RA.addAssemblerRecipe( @@ -1300,6 +1418,32 @@ public class DreamCraftRecipeLoader { CustomItemList.eM_dynamoTunnel3_UEV.get(1), 4000, 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Emitter_UIV.get(4), + ItemList.Electric_Pump_UIV.get(4), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 4), + GT_Utility.getIntegratedCircuit(3) + }, + null, + CustomItemList.eM_dynamoTunnel3_UIV.get(1), + 4000, + 32000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Emitter_UMV.get(4), + ItemList.Electric_Pump_UMV.get(4), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Quantium, 4), + GT_Utility.getIntegratedCircuit(3) + }, + null, + CustomItemList.eM_dynamoTunnel3_UMV.get(1), + 4000, + 128000000); // Laser Dynamo IV-UEV 16384/t GT_Values.RA.addAssemblerRecipe( @@ -1380,6 +1524,32 @@ public class DreamCraftRecipeLoader { CustomItemList.eM_dynamoTunnel4_UEV.get(1), 8000, 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), + ItemList.Emitter_UIV.get(8), + ItemList.Electric_Pump_UIV.get(8), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 8), + GT_Utility.getIntegratedCircuit(4) + }, + null, + CustomItemList.eM_dynamoTunnel4_UIV.get(1), + 8000, + 32000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Emitter_UMV.get(8), + ItemList.Electric_Pump_UMV.get(8), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Quantium, 8), + GT_Utility.getIntegratedCircuit(4) + }, + null, + CustomItemList.eM_dynamoTunnel4_UMV.get(1), + 8000, + 128000000); // Laser Dynamo IV-UEV 65536/t GT_Values.RA.addAssemblerRecipe( @@ -1460,6 +1630,32 @@ public class DreamCraftRecipeLoader { CustomItemList.eM_dynamoTunnel5_UEV.get(1), 16000, 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Emitter_UIV.get(16), + ItemList.Electric_Pump_UIV.get(16), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 8), + GT_Utility.getIntegratedCircuit(5) + }, + null, + CustomItemList.eM_dynamoTunnel5_UIV.get(1), + 16000, + 32000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Emitter_UMV.get(16), + ItemList.Electric_Pump_UMV.get(16), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Quantium, 8), + GT_Utility.getIntegratedCircuit(5) + }, + null, + CustomItemList.eM_dynamoTunnel5_UMV.get(1), + 16000, + 128000000); // Laser Dynamo IV-UEV 262144/t GT_Values.RA.addAssemblerRecipe( @@ -1540,6 +1736,32 @@ public class DreamCraftRecipeLoader { CustomItemList.eM_dynamoTunnel6_UEV.get(1), 32000, 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Emitter_UIV.get(32), + ItemList.Electric_Pump_UIV.get(32), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 16), + GT_Utility.getIntegratedCircuit(6) + }, + null, + CustomItemList.eM_dynamoTunnel6_UIV.get(1), + 32000, + 32000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Emitter_UMV.get(32), + ItemList.Electric_Pump_UMV.get(32), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Quantium, 16), + GT_Utility.getIntegratedCircuit(6) + }, + null, + CustomItemList.eM_dynamoTunnel6_UMV.get(1), + 32000, + 128000000); // Laser Dynamo IV-UEV 1048576/t GT_Values.RA.addAssemblerRecipe( @@ -1620,6 +1842,32 @@ public class DreamCraftRecipeLoader { CustomItemList.eM_dynamoTunnel7_UEV.get(1), 64000, 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Emitter_UIV.get(64), + ItemList.Electric_Pump_UIV.get(64), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NetherStar, 16), + GT_Utility.getIntegratedCircuit(7) + }, + null, + CustomItemList.eM_dynamoTunnel7_UIV.get(1), + 64000, + 32000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Emitter_UMV.get(64), + ItemList.Electric_Pump_UMV.get(64), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Quantium, 16), + GT_Utility.getIntegratedCircuit(7) + }, + null, + CustomItemList.eM_dynamoTunnel7_UMV.get(1), + 64000, + 128000000); // Laser Target IV-UEV 256/t GT_Values.RA.addAssemblerRecipe( @@ -1700,6 +1948,32 @@ public class DreamCraftRecipeLoader { CustomItemList.eM_energyTunnel1_UEV.get(1), 1000, 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Sensor_UIV.get(1), + ItemList.Electric_Pump_UIV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.NetherStar, 2), + GT_Utility.getIntegratedCircuit(1) + }, + null, + CustomItemList.eM_energyTunnel1_UIV.get(1), + 1000, + 32000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Sensor_UMV.get(1), + ItemList.Electric_Pump_UMV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Quantium, 2), + GT_Utility.getIntegratedCircuit(1) + }, + null, + CustomItemList.eM_energyTunnel1_UMV.get(1), + 1000, + 128000000); // Laser Target IV-UEV 1024/t GT_Values.RA.addAssemblerRecipe( @@ -1780,6 +2054,32 @@ public class DreamCraftRecipeLoader { CustomItemList.eM_energyTunnel2_UEV.get(1), 2000, 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Sensor_UIV.get(2), + ItemList.Electric_Pump_UIV.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NetherStar, 4), + GT_Utility.getIntegratedCircuit(2) + }, + null, + CustomItemList.eM_energyTunnel2_UIV.get(1), + 2000, + 32000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Sensor_UMV.get(2), + ItemList.Electric_Pump_UMV.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Quantium, 4), + GT_Utility.getIntegratedCircuit(2) + }, + null, + CustomItemList.eM_energyTunnel2_UMV.get(1), + 2000, + 128000000); // Laser Target IV-UEV 4096/t GT_Values.RA.addAssemblerRecipe( @@ -1860,6 +2160,32 @@ public class DreamCraftRecipeLoader { CustomItemList.eM_energyTunnel3_UEV.get(1), 4000, 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Sensor_UIV.get(4), + ItemList.Electric_Pump_UIV.get(4), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 4), + GT_Utility.getIntegratedCircuit(3) + }, + null, + CustomItemList.eM_energyTunnel3_UIV.get(1), + 4000, + 32000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Sensor_UMV.get(4), + ItemList.Electric_Pump_UMV.get(4), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Quantium, 4), + GT_Utility.getIntegratedCircuit(3) + }, + null, + CustomItemList.eM_energyTunnel3_UMV.get(1), + 4000, + 128000000); // Laser Target IV-UEV 16384/t GT_Values.RA.addAssemblerRecipe( @@ -1940,6 +2266,32 @@ public class DreamCraftRecipeLoader { CustomItemList.eM_energyTunnel4_UEV.get(1), 8000, 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), + ItemList.Sensor_UIV.get(8), + ItemList.Electric_Pump_UIV.get(8), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 8), + GT_Utility.getIntegratedCircuit(4) + }, + null, + CustomItemList.eM_energyTunnel4_UIV.get(1), + 8000, + 32000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), + ItemList.Sensor_UMV.get(8), + ItemList.Electric_Pump_UMV.get(8), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Quantium, 8), + GT_Utility.getIntegratedCircuit(4) + }, + null, + CustomItemList.eM_energyTunnel4_UMV.get(1), + 8000, + 128000000); // Laser Target IV-UEV 65536/t GT_Values.RA.addAssemblerRecipe( @@ -2020,6 +2372,32 @@ public class DreamCraftRecipeLoader { CustomItemList.eM_energyTunnel5_UEV.get(1), 16000, 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Sensor_UIV.get(16), + ItemList.Electric_Pump_UIV.get(16), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 8), + GT_Utility.getIntegratedCircuit(5) + }, + null, + CustomItemList.eM_energyTunnel5_UIV.get(1), + 16000, + 32000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Sensor_UMV.get(16), + ItemList.Electric_Pump_UMV.get(16), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Quantium, 8), + GT_Utility.getIntegratedCircuit(5) + }, + null, + CustomItemList.eM_energyTunnel5_UMV.get(1), + 16000, + 128000000); // Laser Target IV-UEV 262144/t GT_Values.RA.addAssemblerRecipe( @@ -2100,6 +2478,32 @@ public class DreamCraftRecipeLoader { CustomItemList.eM_energyTunnel6_UEV.get(1), 32000, 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Sensor_UIV.get(32), + ItemList.Electric_Pump_UIV.get(32), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 16), + GT_Utility.getIntegratedCircuit(6) + }, + null, + CustomItemList.eM_energyTunnel6_UIV.get(1), + 32000, + 32000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Sensor_UMV.get(32), + ItemList.Electric_Pump_UMV.get(32), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Quantium, 16), + GT_Utility.getIntegratedCircuit(6) + }, + null, + CustomItemList.eM_energyTunnel6_UMV.get(1), + 32000, + 128000000); // Laser Target IV-UEV 1048576/t GT_Values.RA.addAssemblerRecipe( @@ -2180,6 +2584,32 @@ public class DreamCraftRecipeLoader { CustomItemList.eM_energyTunnel7_UEV.get(1), 64000, 8000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Sensor_UIV.get(64), + ItemList.Electric_Pump_UIV.get(64), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NetherStar, 16), + GT_Utility.getIntegratedCircuit(7) + }, + null, + CustomItemList.eM_energyTunnel7_UIV.get(1), + 64000, + 32000000); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Sensor_UMV.get(64), + ItemList.Electric_Pump_UMV.get(64), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Quantium, 16), + GT_Utility.getIntegratedCircuit(7) + }, + null, + CustomItemList.eM_energyTunnel7_UMV.get(1), + 64000, + 128000000); // Data Input addAssemblerRecipeWithCleanroom( -- cgit From 650d8318549b373d7bc536c1528ca2f6f9548598 Mon Sep 17 00:00:00 2001 From: BlueWeabo <76872108+BlueWeabo@users.noreply.github.com> Date: Thu, 24 Nov 2022 13:45:51 +0200 Subject: update bs --- build.gradle | 459 +++++++++++++++++++++++++++++------------------------------ 1 file changed, 228 insertions(+), 231 deletions(-) diff --git a/build.gradle b/build.gradle index f068c2e59b..54d259955f 100644 --- a/build.gradle +++ b/build.gradle @@ -1,8 +1,8 @@ -//version: 1664372158 +//version: 1669171387 /* DO NOT CHANGE THIS FILE! Also, you may replace this file at any time if there is an update available. - Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/build.gradle for updates. + Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/master/build.gradle for updates. */ @@ -45,7 +45,7 @@ buildscript { } } dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:1.2.9' + classpath 'net.minecraftforge.gradle:ForgeGradle:1.2.11' } } plugins { @@ -147,17 +147,21 @@ String javaSourceDir = "src/main/java/" String scalaSourceDir = "src/main/scala/" String kotlinSourceDir = "src/main/kotlin/" -String targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") -String targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") -String targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + +final String modGroupPath = modGroup.toString().replaceAll("\\.", "/") +final String apiPackagePath = apiPackage.toString().replaceAll("\\.", "/") + +String targetPackageJava = javaSourceDir + modGroupPath +String targetPackageScala = scalaSourceDir + modGroupPath +String targetPackageKotlin = kotlinSourceDir + modGroupPath if (!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { throw new GradleException("Could not resolve \"modGroup\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin) } if (apiPackage) { - targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") - targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") - targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + targetPackageJava = javaSourceDir + modGroupPath + "/" + apiPackagePath + targetPackageScala = scalaSourceDir + modGroupPath + "/" + apiPackagePath + targetPackageKotlin = kotlinSourceDir + modGroupPath + "/" + apiPackagePath if (!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { throw new GradleException("Could not resolve \"apiPackage\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin) } @@ -171,31 +175,36 @@ if (accessTransformersFile) { } if (usesMixins.toBoolean()) { - if (mixinsPackage.isEmpty() || mixinPlugin.isEmpty()) { - throw new GradleException("\"mixinPlugin\" requires \"mixinsPackage\" and \"mixinPlugin\" to be set!") + if (mixinsPackage.isEmpty()) { + throw new GradleException("\"usesMixins\" requires \"mixinsPackage\" to be set!") } + final String mixinPackagePath = mixinsPackage.toString().replaceAll("\\.", "/") + final String mixinPluginPath = mixinPlugin.toString().replaceAll("\\.", "/") - targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") - targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") - targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") + targetPackageJava = javaSourceDir + modGroupPath + "/" + mixinPackagePath + targetPackageScala = scalaSourceDir + modGroupPath + "/" + mixinPackagePath + targetPackageKotlin = kotlinSourceDir + modGroupPath + "/" + mixinPackagePath if (!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { throw new GradleException("Could not resolve \"mixinsPackage\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin) } - String targetFileJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".java" - String targetFileScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".scala" - String targetFileScalaJava = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".java" - String targetFileKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".kt" - if (!(getFile(targetFileJava).exists() || getFile(targetFileScala).exists() || getFile(targetFileScalaJava).exists() || getFile(targetFileKotlin).exists())) { - throw new GradleException("Could not resolve \"mixinPlugin\"! Could not find " + targetFileJava + " or " + targetFileScala + " or " + targetFileScalaJava + " or " + targetFileKotlin) + if (!mixinPlugin.isEmpty()) { + String targetFileJava = javaSourceDir + modGroupPath + "/" + mixinPluginPath + ".java" + String targetFileScala = scalaSourceDir + modGroupPath + "/" + mixinPluginPath + ".scala" + String targetFileScalaJava = scalaSourceDir + modGroupPath + "/" + mixinPluginPath + ".java" + String targetFileKotlin = kotlinSourceDir + modGroupPath + "/" + mixinPluginPath + ".kt" + if (!(getFile(targetFileJava).exists() || getFile(targetFileScala).exists() || getFile(targetFileScalaJava).exists() || getFile(targetFileKotlin).exists())) { + throw new GradleException("Could not resolve \"mixinPlugin\"! Could not find " + targetFileJava + " or " + targetFileScala + " or " + targetFileScalaJava + " or " + targetFileKotlin) + } } } if (coreModClass) { - String targetFileJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".java" - String targetFileScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".scala" - String targetFileScalaJava = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".java" - String targetFileKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".kt" + final String coreModPath = coreModClass.toString().replaceAll("\\.", "/") + String targetFileJava = javaSourceDir + modGroupPath + "/" + coreModPath + ".java" + String targetFileScala = scalaSourceDir + modGroupPath + "/" + coreModPath + ".scala" + String targetFileScalaJava = scalaSourceDir + modGroupPath + "/" + coreModPath + ".java" + String targetFileKotlin = kotlinSourceDir + modGroupPath + "/" + coreModPath + ".kt" if (!(getFile(targetFileJava).exists() || getFile(targetFileScala).exists() || getFile(targetFileScalaJava).exists() || getFile(targetFileKotlin).exists())) { throw new GradleException("Could not resolve \"coreModClass\"! Could not find " + targetFileJava + " or " + targetFileScala + " or " + targetFileScalaJava + " or " + targetFileKotlin) } @@ -225,10 +234,10 @@ try { } catch (Exception ignored) { out.style(Style.Failure).text( - 'This mod must be version controlled by Git AND the repository must provide at least one tag,\n' + + 'This mod must be version controlled by Git AND the repository must provide at least one tag,\n' + 'or the VERSION override must be set! ').style(Style.SuccessHeader).text('(Do NOT download from GitHub using the ZIP option, instead\n' + - 'clone the repository, see ').style(Style.Info).text('https://gtnh.miraheze.org/wiki/Development').style(Style.SuccessHeader).println(' for details.)' - ) + 'clone the repository, see ').style(Style.Info).text('https://gtnh.miraheze.org/wiki/Development').style(Style.SuccessHeader).println(' for details.)' + ) versionOverride = 'NO-GIT-TAG-SET' identifiedVersion = versionOverride } @@ -251,7 +260,7 @@ if (project.hasProperty("customArchiveBaseName") && customArchiveBaseName) { def arguments = [] def jvmArguments = [] -if (usesMixins.toBoolean() || forceEnableMixins) { +if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) { arguments += [ "--tweakClass org.spongepowered.asm.launch.MixinTweaker" ] @@ -316,13 +325,10 @@ repositories { name 'Overmind forge repo mirror' url 'https://gregtech.overminddl1.com/' } - if (usesMixins.toBoolean() || forceEnableMixins) { + if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) { maven { - name 'sponge' - url 'https://repo.spongepowered.org/repository/maven-public' - } - maven { - url 'https://jitpack.io' + name = "GTNH Maven" + url = "http://jenkins.usrv.eu:8081/nexus/content/groups/public/" } } } @@ -332,19 +338,10 @@ dependencies { annotationProcessor('org.ow2.asm:asm-debug-all:5.0.3') annotationProcessor('com.google.guava:guava:24.1.1-jre') annotationProcessor('com.google.code.gson:gson:2.8.6') - annotationProcessor('org.spongepowered:mixin:0.8-SNAPSHOT') - } - if (usesMixins.toBoolean() || forceEnableMixins) { - // using 0.8 to workaround a issue in 0.7 which fails mixin application - compile('com.github.GTNewHorizons:SpongePoweredMixin:0.7.12-GTNH') { - // Mixin includes a lot of dependencies that are too up-to-date - exclude module: 'launchwrapper' - exclude module: 'guava' - exclude module: 'gson' - exclude module: 'commons-io' - exclude module: 'log4j-core' - } - compile('com.github.GTNewHorizons:SpongeMixins:1.5.0') + annotationProcessor('com.gtnewhorizon:gtnhmixins:2.1.0:processor') + } + if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) { + compile('com.gtnewhorizon:gtnhmixins:2.1.0') } } @@ -356,13 +353,18 @@ def mixinSrg = "${tasks.reobf.temporaryDir}" + File.separator + "mixins.srg" task generateAssets { if (usesMixins.toBoolean()) { - def mixinConfigFile = getFile("/src/main/resources/mixins." + modId + ".json"); + def mixinConfigFile = getFile("/src/main/resources/mixins." + modId + ".json") if (!mixinConfigFile.exists()) { + def mixinPluginLine = "" + if(!mixinPlugin.isEmpty()) { + // We might not have a mixin plugin if we're using early/late mixins + mixinPluginLine += """\n "plugin": "${modGroup}.${mixinPlugin}", """ + } + mixinConfigFile.text = """{ "required": true, - "minVersion": "0.7.11", - "package": "${modGroup}.${mixinsPackage}", - "plugin": "${modGroup}.${mixinPlugin}", + "minVersion": "0.8.5-GTNH", + "package": "${modGroup}.${mixinsPackage}",${mixinPluginLine} "refmap": "${mixingConfigRefMap}", "target": "@env(DEFAULT)", "compatibilityLevel": "JAVA_8", @@ -456,10 +458,10 @@ runServer { tasks.withType(JavaExec).configureEach { javaLauncher.set( - javaToolchains.launcherFor { - languageVersion = projectJavaVersion - } - ) + javaToolchains.launcherFor { + languageVersion = projectJavaVersion + } + ) } processResources { @@ -474,9 +476,9 @@ processResources { // replace modVersion and minecraftVersion expand "minecraftVersion": project.minecraft.version, - "modVersion": modVersion, - "modId": modId, - "modName": modName + "modVersion": modVersion, + "modId": modId, + "modName": modName } if (usesMixins.toBoolean()) { @@ -574,11 +576,11 @@ task devJar(type: Jar) { task apiJar(type: Jar) { from(sourceSets.main.allSource) { - include modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + '/**' + include modGroupPath + "/" + apiPackagePath + '/**' } from(sourceSets.main.output) { - include modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + '/**' + include modGroupPath + "/" + apiPackagePath + '/**' } from(sourceSets.main.resources.srcDirs) { @@ -631,9 +633,9 @@ publishing { pom.withXml { def badArtifacts = [:].withDefault { [] as Set } for (configuration in [ - projectConfigs.minecraft, - projectConfigs.minecraftDeps - ]) { + projectConfigs.minecraft, + projectConfigs.minecraftDeps + ]) { for (dependency in configuration.allDependencies) { badArtifacts[dependency.group == null ? "" : dependency.group] += dependency.name } @@ -662,10 +664,10 @@ publishing { } } -if (modrinthProjectId.size() != 0) { +if (modrinthProjectId.size() != 0 && System.getenv("MODRINTH_TOKEN") != null) { apply plugin: 'com.modrinth.minotaur' - File changelogFile = new File("CHANGELOG.md") + File changelogFile = new File(System.getenv("CHANGELOG_FILE") ?: "CHANGELOG.md") modrinth { token = System.getenv("MODRINTH_TOKEN") @@ -691,14 +693,17 @@ if (modrinthProjectId.size() != 0) { addModrinthDep(qual[0], qual[1], parts[1]) } } + if (usesMixins.toBoolean()) { + addModrinthDep("required", "version", "gtnhmixins") + } tasks.modrinth.dependsOn(build) tasks.publish.dependsOn(tasks.modrinth) } -if (curseForgeProjectId.size() != 0) { +if (curseForgeProjectId.size() != 0 && System.getenv("CURSEFORGE_TOKEN") != null) { apply plugin: 'com.matthewprenger.cursegradle' - File changelogFile = new File("CHANGELOG.md") + File changelogFile = new File(System.getenv("CHANGELOG_FILE") ?: "CHANGELOG.md") curseforge { apiKey = System.getenv("CURSEFORGE_TOKEN") @@ -732,18 +737,16 @@ if (curseForgeProjectId.size() != 0) { addCurseForgeRelation(parts[0], parts[1]) } } + if (usesMixins.toBoolean()) { + addCurseForgeRelation("requiredDependency", "gtnhmixins") + } tasks.curseforge.dependsOn(build) tasks.publish.dependsOn(tasks.curseforge) } def addModrinthDep(scope, type, name) { com.modrinth.minotaur.dependencies.Dependency dep; - if (!(scope in [ - "required", - "optional", - "incompatible", - "embedded" - ])) { + if (!(scope in ["required", "optional", "incompatible", "embedded"])) { throw new Exception("Invalid modrinth dependency scope: " + scope) } switch (type) { @@ -760,13 +763,7 @@ def addModrinthDep(scope, type, name) { } def addCurseForgeRelation(type, name) { - if (!(type in [ - "requiredDependency", - "embeddedLibrary", - "optionalDependency", - "tool", - "incompatible" - ])) { + if (!(type in ["requiredDependency", "embeddedLibrary", "optionalDependency", "tool", "incompatible"])) { throw new Exception("Invalid CurseForge relation type: " + type) } CurseArtifact artifact = project.curseforge.curseProjects[0].mainArtifact @@ -779,7 +776,7 @@ task updateBuildScript { doLast { if (performBuildScriptUpdate(projectDir.toString())) return - print("Build script already up-to-date!") + print("Build script already up-to-date!") } } @@ -897,210 +894,210 @@ task deobfParams { } out.style(Style.Success).println("Modified ${replaceParams(file("$projectDir/src/main/java"), params)} files!") - out.style(Style.Failure).println("Don't forget to verify that the code still works as before!\n It could be broken due to duplicate variables existing now\n or parameters taking priority over other variables.") -} + out.style(Style.Failure).println("Don't forget to verify that the code still works as before!\n It could be broken due to duplicate variables existing now\n or parameters taking priority over other variables.") + } } static int replaceParams(File file, Map params) { -int fileCount = 0 + int fileCount = 0 -if (file.isDirectory()) { - for (File f : file.listFiles()) { - fileCount += replaceParams(f, params) - } - return fileCount -} -println("Visiting ${file.getName()} ...") -try { - String content = new String(Files.readAllBytes(file.toPath())) - int hash = content.hashCode() - params.forEach { key, value -> - content = content.replaceAll(key, value) - } - if (hash != content.hashCode()) { - Files.write(file.toPath(), content.getBytes("UTF-8")) - return 1 + if (file.isDirectory()) { + for (File f : file.listFiles()) { + fileCount += replaceParams(f, params) + } + return fileCount + } + println("Visiting ${file.getName()} ...") + try { + String content = new String(Files.readAllBytes(file.toPath())) + int hash = content.hashCode() + params.forEach { key, value -> + content = content.replaceAll(key, value) + } + if (hash != content.hashCode()) { + Files.write(file.toPath(), content.getBytes("UTF-8")) + return 1 + } + } catch (Exception e) { + e.printStackTrace() } -} catch (Exception e) { - e.printStackTrace() -} -return 0 + return 0 } // Credit: bitsnaps (https://gist.github.com/bitsnaps/00947f2dce66f4bbdabc67d7e7b33681) static unzip(String zipFileName, String outputDir) { -byte[] buffer = new byte[16384] -ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFileName)) -ZipEntry zipEntry = zis.getNextEntry() -while (zipEntry != null) { - File newFile = new File(outputDir + File.separator, zipEntry.name) - if (zipEntry.isDirectory()) { - if (!newFile.isDirectory() && !newFile.mkdirs()) { - throw new IOException("Failed to create directory $newFile") - } - } else { - // fix for Windows-created archives - File parent = newFile.parentFile - if (!parent.isDirectory() && !parent.mkdirs()) { - throw new IOException("Failed to create directory $parent") - } - // write file content - FileOutputStream fos = new FileOutputStream(newFile) - int len = 0 - while ((len = zis.read(buffer)) > 0) { - fos.write(buffer, 0, len) + byte[] buffer = new byte[16384] + ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFileName)) + ZipEntry zipEntry = zis.getNextEntry() + while (zipEntry != null) { + File newFile = new File(outputDir + File.separator, zipEntry.name) + if (zipEntry.isDirectory()) { + if (!newFile.isDirectory() && !newFile.mkdirs()) { + throw new IOException("Failed to create directory $newFile") + } + } else { + // fix for Windows-created archives + File parent = newFile.parentFile + if (!parent.isDirectory() && !parent.mkdirs()) { + throw new IOException("Failed to create directory $parent") + } + // write file content + FileOutputStream fos = new FileOutputStream(newFile) + int len = 0 + while ((len = zis.read(buffer)) > 0) { + fos.write(buffer, 0, len) + } + fos.close() } - fos.close() + zipEntry = zis.getNextEntry() } - zipEntry = zis.getNextEntry() -} -zis.closeEntry() -zis.close() + zis.closeEntry() + zis.close() } configure(deobfParams) { -group = 'forgegradle' -description = 'Rename all obfuscated parameter names inherited from Minecraft classes' + group = 'forgegradle' + description = 'Rename all obfuscated parameter names inherited from Minecraft classes' } // Dependency Deobfuscation def deobf(String sourceURL) { -try { - URL url = new URL(sourceURL) - String fileName = url.getFile() + try { + URL url = new URL(sourceURL) + String fileName = url.getFile() + + //get rid of directories: + int lastSlash = fileName.lastIndexOf("/") + if (lastSlash > 0) { + fileName = fileName.substring(lastSlash + 1) + } + //get rid of extension: + if (fileName.endsWith(".jar") || fileName.endsWith(".litemod")) { + fileName = fileName.substring(0, fileName.lastIndexOf(".")) + } - //get rid of directories: - int lastSlash = fileName.lastIndexOf("/") - if (lastSlash > 0) { - fileName = fileName.substring(lastSlash + 1) - } - //get rid of extension: - if (fileName.endsWith(".jar") || fileName.endsWith(".litemod")) { - fileName = fileName.substring(0, fileName.lastIndexOf(".")) - } + String hostName = url.getHost() + if (hostName.startsWith("www.")) { + hostName = hostName.substring(4) + } + List parts = Arrays.asList(hostName.split("\\.")) + Collections.reverse(parts) + hostName = String.join(".", parts) - String hostName = url.getHost() - if (hostName.startsWith("www.")) { - hostName = hostName.substring(4) + return deobf(sourceURL, "$hostName/$fileName") + } catch (Exception e) { + return deobf(sourceURL, "deobf/${sourceURL.hashCode()}") } - List parts = Arrays.asList(hostName.split("\\.")) - Collections.reverse(parts) - hostName = String.join(".", parts) - - return deobf(sourceURL, "$hostName/$fileName") -} catch (Exception e) { - return deobf(sourceURL, "deobf/${sourceURL.hashCode()}") -} } // The method above is to be preferred. Use this method if the filename is not at the end of the URL. def deobf(String sourceURL, String rawFileName) { -String bon2Version = "2.5.1" -String fileName = URLDecoder.decode(rawFileName, "UTF-8") -String cacheDir = "$project.gradle.gradleUserHomeDir/caches" -String bon2Dir = "$cacheDir/forge_gradle/deobf" -String bon2File = "$bon2Dir/BON2-${bon2Version}.jar" -String obfFile = "$cacheDir/modules-2/files-2.1/${fileName}.jar" -String deobfFile = "$cacheDir/modules-2/files-2.1/${fileName}-deobf.jar" - -if (file(deobfFile).exists()) { - return files(deobfFile) -} + String bon2Version = "2.5.1" + String fileName = URLDecoder.decode(rawFileName, "UTF-8") + String cacheDir = "$project.gradle.gradleUserHomeDir/caches" + String bon2Dir = "$cacheDir/forge_gradle/deobf" + String bon2File = "$bon2Dir/BON2-${bon2Version}.jar" + String obfFile = "$cacheDir/modules-2/files-2.1/${fileName}.jar" + String deobfFile = "$cacheDir/modules-2/files-2.1/${fileName}-deobf.jar" -String mappingsVer -String remoteMappings = project.hasProperty('remoteMappings') ? project.remoteMappings : 'https://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/conf/' -if (remoteMappings) { - String id = "${forgeVersion.split("\\.")[3]}-$minecraftVersion" - String mappingsZIP = "$cacheDir/forge_gradle/maven_downloader/de/oceanlabs/mcp/mcp_snapshot_nodoc/$id/mcp_snapshot_nodoc-${id}.zip" + if (file(deobfFile).exists()) { + return files(deobfFile) + } - zipMappings(mappingsZIP, remoteMappings, bon2Dir) + String mappingsVer + String remoteMappings = project.hasProperty('remoteMappings') ? project.remoteMappings : 'https://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/conf/' + if (remoteMappings) { + String id = "${forgeVersion.split("\\.")[3]}-$minecraftVersion" + String mappingsZIP = "$cacheDir/forge_gradle/maven_downloader/de/oceanlabs/mcp/mcp_snapshot_nodoc/$id/mcp_snapshot_nodoc-${id}.zip" - mappingsVer = "snapshot_$id" -} else { - mappingsVer = "${channel}_$mappingsVersion" -} + zipMappings(mappingsZIP, remoteMappings, bon2Dir) -download.run { - src "http://jenkins.usrv.eu:8081/nexus/content/repositories/releases/com/github/parker8283/BON2/$bon2Version-CUSTOM/BON2-$bon2Version-CUSTOM-all.jar" - dest bon2File - quiet true - overwrite false -} + mappingsVer = "snapshot_$id" + } else { + mappingsVer = "${channel}_$mappingsVersion" + } -download.run { - src sourceURL - dest obfFile - quiet true - overwrite false -} + download.run { + src "http://jenkins.usrv.eu:8081/nexus/content/repositories/releases/com/github/parker8283/BON2/$bon2Version-CUSTOM/BON2-$bon2Version-CUSTOM-all.jar" + dest bon2File + quiet true + overwrite false + } -exec { - commandLine 'java', '-jar', bon2File, '--inputJar', obfFile, '--outputJar', deobfFile, '--mcVer', minecraftVersion, '--mappingsVer', mappingsVer, '--notch' - workingDir bon2Dir - standardOutput = new FileOutputStream("${deobfFile}.log") -} + download.run { + src sourceURL + dest obfFile + quiet true + overwrite false + } -return files(deobfFile) + exec { + commandLine 'java', '-jar', bon2File, '--inputJar', obfFile, '--outputJar', deobfFile, '--mcVer', minecraftVersion, '--mappingsVer', mappingsVer, '--notch' + workingDir bon2Dir + standardOutput = new FileOutputStream("${deobfFile}.log") + } + + return files(deobfFile) } def zipMappings(String zipPath, String url, String bon2Dir) { -File zipFile = new File(zipPath) -if (zipFile.exists()) { - return -} + File zipFile = new File(zipPath) + if (zipFile.exists()) { + return + } -String fieldsCache = "$bon2Dir/data/fields.csv" -String methodsCache = "$bon2Dir/data/methods.csv" + String fieldsCache = "$bon2Dir/data/fields.csv" + String methodsCache = "$bon2Dir/data/methods.csv" -download.run { - src "${url}fields.csv" - dest fieldsCache - quiet true -} -download.run { - src "${url}methods.csv" - dest methodsCache - quiet true -} + download.run { + src "${url}fields.csv" + dest fieldsCache + quiet true + } + download.run { + src "${url}methods.csv" + dest methodsCache + quiet true + } -zipFile.getParentFile().mkdirs() -ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile)) + zipFile.getParentFile().mkdirs() + ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile)) -zos.putNextEntry(new ZipEntry("fields.csv")) -Files.copy(Paths.get(fieldsCache), zos) -zos.closeEntry() + zos.putNextEntry(new ZipEntry("fields.csv")) + Files.copy(Paths.get(fieldsCache), zos) + zos.closeEntry() -zos.putNextEntry(new ZipEntry("methods.csv")) -Files.copy(Paths.get(methodsCache), zos) -zos.closeEntry() + zos.putNextEntry(new ZipEntry("methods.csv")) + Files.copy(Paths.get(methodsCache), zos) + zos.closeEntry() -zos.close() + zos.close() } // Helper methods def checkPropertyExists(String propertyName) { -if (!project.hasProperty(propertyName)) { - throw new GradleException("This project requires a property \"" + propertyName + "\"! Please add it your \"gradle.properties\". You can find all properties and their description here: https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/gradle.properties") -} + if (!project.hasProperty(propertyName)) { + throw new GradleException("This project requires a property \"" + propertyName + "\"! Please add it your \"gradle.properties\". You can find all properties and their description here: https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/gradle.properties") + } } def propertyDefaultIfUnset(String propertyName, defaultValue) { -if (!project.hasProperty(propertyName) || project.property(propertyName) == "") { - project.ext.setProperty(propertyName, defaultValue) -} + if (!project.hasProperty(propertyName) || project.property(propertyName) == "") { + project.ext.setProperty(propertyName, defaultValue) + } } def getFile(String relativePath) { -return new File(projectDir, relativePath) + return new File(projectDir, relativePath) } def getSecondaryArtifacts() { -// Because noPublishedSources from the beginning of the script is somehow not visible here... -boolean noPublishedSources = project.hasProperty("noPublishedSources") ? project.noPublishedSources.toBoolean() : false -def secondaryArtifacts = [devJar] -if (!noPublishedSources) secondaryArtifacts += [sourcesJar] -if (apiPackage) secondaryArtifacts += [apiJar] -return secondaryArtifacts + // Because noPublishedSources from the beginning of the script is somehow not visible here... + boolean noPublishedSources = project.hasProperty("noPublishedSources") ? project.noPublishedSources.toBoolean() : false + def secondaryArtifacts = [devJar] + if (!noPublishedSources) secondaryArtifacts += [sourcesJar] + if (apiPackage) secondaryArtifacts += [apiJar] + return secondaryArtifacts } -- cgit From 7df17bfd18d0b1de3c5590de6bf3c6464e50f8ba Mon Sep 17 00:00:00 2001 From: GitHub GTNH Actions <> Date: Thu, 24 Nov 2022 11:47:33 +0000 Subject: spotlessApply --- build.gradle | 343 ++++++++++++++++++++++++++++++----------------------------- 1 file changed, 177 insertions(+), 166 deletions(-) diff --git a/build.gradle b/build.gradle index 54d259955f..66fbf65955 100644 --- a/build.gradle +++ b/build.gradle @@ -234,10 +234,10 @@ try { } catch (Exception ignored) { out.style(Style.Failure).text( - 'This mod must be version controlled by Git AND the repository must provide at least one tag,\n' + + 'This mod must be version controlled by Git AND the repository must provide at least one tag,\n' + 'or the VERSION override must be set! ').style(Style.SuccessHeader).text('(Do NOT download from GitHub using the ZIP option, instead\n' + - 'clone the repository, see ').style(Style.Info).text('https://gtnh.miraheze.org/wiki/Development').style(Style.SuccessHeader).println(' for details.)' - ) + 'clone the repository, see ').style(Style.Info).text('https://gtnh.miraheze.org/wiki/Development').style(Style.SuccessHeader).println(' for details.)' + ) versionOverride = 'NO-GIT-TAG-SET' identifiedVersion = versionOverride } @@ -458,10 +458,10 @@ runServer { tasks.withType(JavaExec).configureEach { javaLauncher.set( - javaToolchains.launcherFor { - languageVersion = projectJavaVersion - } - ) + javaToolchains.launcherFor { + languageVersion = projectJavaVersion + } + ) } processResources { @@ -476,9 +476,9 @@ processResources { // replace modVersion and minecraftVersion expand "minecraftVersion": project.minecraft.version, - "modVersion": modVersion, - "modId": modId, - "modName": modName + "modVersion": modVersion, + "modId": modId, + "modName": modName } if (usesMixins.toBoolean()) { @@ -633,9 +633,9 @@ publishing { pom.withXml { def badArtifacts = [:].withDefault { [] as Set } for (configuration in [ - projectConfigs.minecraft, - projectConfigs.minecraftDeps - ]) { + projectConfigs.minecraft, + projectConfigs.minecraftDeps + ]) { for (dependency in configuration.allDependencies) { badArtifacts[dependency.group == null ? "" : dependency.group] += dependency.name } @@ -746,7 +746,12 @@ if (curseForgeProjectId.size() != 0 && System.getenv("CURSEFORGE_TOKEN") != null def addModrinthDep(scope, type, name) { com.modrinth.minotaur.dependencies.Dependency dep; - if (!(scope in ["required", "optional", "incompatible", "embedded"])) { + if (!(scope in [ + "required", + "optional", + "incompatible", + "embedded" + ])) { throw new Exception("Invalid modrinth dependency scope: " + scope) } switch (type) { @@ -763,7 +768,13 @@ def addModrinthDep(scope, type, name) { } def addCurseForgeRelation(type, name) { - if (!(type in ["requiredDependency", "embeddedLibrary", "optionalDependency", "tool", "incompatible"])) { + if (!(type in [ + "requiredDependency", + "embeddedLibrary", + "optionalDependency", + "tool", + "incompatible" + ])) { throw new Exception("Invalid CurseForge relation type: " + type) } CurseArtifact artifact = project.curseforge.curseProjects[0].mainArtifact @@ -776,7 +787,7 @@ task updateBuildScript { doLast { if (performBuildScriptUpdate(projectDir.toString())) return - print("Build script already up-to-date!") + print("Build script already up-to-date!") } } @@ -894,210 +905,210 @@ task deobfParams { } out.style(Style.Success).println("Modified ${replaceParams(file("$projectDir/src/main/java"), params)} files!") - out.style(Style.Failure).println("Don't forget to verify that the code still works as before!\n It could be broken due to duplicate variables existing now\n or parameters taking priority over other variables.") - } + out.style(Style.Failure).println("Don't forget to verify that the code still works as before!\n It could be broken due to duplicate variables existing now\n or parameters taking priority over other variables.") +} } static int replaceParams(File file, Map params) { - int fileCount = 0 +int fileCount = 0 - if (file.isDirectory()) { - for (File f : file.listFiles()) { - fileCount += replaceParams(f, params) - } - return fileCount - } - println("Visiting ${file.getName()} ...") - try { - String content = new String(Files.readAllBytes(file.toPath())) - int hash = content.hashCode() - params.forEach { key, value -> - content = content.replaceAll(key, value) - } - if (hash != content.hashCode()) { - Files.write(file.toPath(), content.getBytes("UTF-8")) - return 1 - } - } catch (Exception e) { - e.printStackTrace() +if (file.isDirectory()) { + for (File f : file.listFiles()) { + fileCount += replaceParams(f, params) } - return 0 + return fileCount +} +println("Visiting ${file.getName()} ...") +try { + String content = new String(Files.readAllBytes(file.toPath())) + int hash = content.hashCode() + params.forEach { key, value -> + content = content.replaceAll(key, value) + } + if (hash != content.hashCode()) { + Files.write(file.toPath(), content.getBytes("UTF-8")) + return 1 + } +} catch (Exception e) { + e.printStackTrace() +} +return 0 } // Credit: bitsnaps (https://gist.github.com/bitsnaps/00947f2dce66f4bbdabc67d7e7b33681) static unzip(String zipFileName, String outputDir) { - byte[] buffer = new byte[16384] - ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFileName)) - ZipEntry zipEntry = zis.getNextEntry() - while (zipEntry != null) { - File newFile = new File(outputDir + File.separator, zipEntry.name) - if (zipEntry.isDirectory()) { - if (!newFile.isDirectory() && !newFile.mkdirs()) { - throw new IOException("Failed to create directory $newFile") - } - } else { - // fix for Windows-created archives - File parent = newFile.parentFile - if (!parent.isDirectory() && !parent.mkdirs()) { - throw new IOException("Failed to create directory $parent") - } - // write file content - FileOutputStream fos = new FileOutputStream(newFile) - int len = 0 - while ((len = zis.read(buffer)) > 0) { - fos.write(buffer, 0, len) - } - fos.close() +byte[] buffer = new byte[16384] +ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFileName)) +ZipEntry zipEntry = zis.getNextEntry() +while (zipEntry != null) { + File newFile = new File(outputDir + File.separator, zipEntry.name) + if (zipEntry.isDirectory()) { + if (!newFile.isDirectory() && !newFile.mkdirs()) { + throw new IOException("Failed to create directory $newFile") + } + } else { + // fix for Windows-created archives + File parent = newFile.parentFile + if (!parent.isDirectory() && !parent.mkdirs()) { + throw new IOException("Failed to create directory $parent") + } + // write file content + FileOutputStream fos = new FileOutputStream(newFile) + int len = 0 + while ((len = zis.read(buffer)) > 0) { + fos.write(buffer, 0, len) } - zipEntry = zis.getNextEntry() + fos.close() } - zis.closeEntry() - zis.close() + zipEntry = zis.getNextEntry() +} +zis.closeEntry() +zis.close() } configure(deobfParams) { - group = 'forgegradle' - description = 'Rename all obfuscated parameter names inherited from Minecraft classes' +group = 'forgegradle' +description = 'Rename all obfuscated parameter names inherited from Minecraft classes' } // Dependency Deobfuscation def deobf(String sourceURL) { - try { - URL url = new URL(sourceURL) - String fileName = url.getFile() - - //get rid of directories: - int lastSlash = fileName.lastIndexOf("/") - if (lastSlash > 0) { - fileName = fileName.substring(lastSlash + 1) - } - //get rid of extension: - if (fileName.endsWith(".jar") || fileName.endsWith(".litemod")) { - fileName = fileName.substring(0, fileName.lastIndexOf(".")) - } +try { + URL url = new URL(sourceURL) + String fileName = url.getFile() - String hostName = url.getHost() - if (hostName.startsWith("www.")) { - hostName = hostName.substring(4) - } - List parts = Arrays.asList(hostName.split("\\.")) - Collections.reverse(parts) - hostName = String.join(".", parts) + //get rid of directories: + int lastSlash = fileName.lastIndexOf("/") + if (lastSlash > 0) { + fileName = fileName.substring(lastSlash + 1) + } + //get rid of extension: + if (fileName.endsWith(".jar") || fileName.endsWith(".litemod")) { + fileName = fileName.substring(0, fileName.lastIndexOf(".")) + } - return deobf(sourceURL, "$hostName/$fileName") - } catch (Exception e) { - return deobf(sourceURL, "deobf/${sourceURL.hashCode()}") + String hostName = url.getHost() + if (hostName.startsWith("www.")) { + hostName = hostName.substring(4) } + List parts = Arrays.asList(hostName.split("\\.")) + Collections.reverse(parts) + hostName = String.join(".", parts) + + return deobf(sourceURL, "$hostName/$fileName") +} catch (Exception e) { + return deobf(sourceURL, "deobf/${sourceURL.hashCode()}") +} } // The method above is to be preferred. Use this method if the filename is not at the end of the URL. def deobf(String sourceURL, String rawFileName) { - String bon2Version = "2.5.1" - String fileName = URLDecoder.decode(rawFileName, "UTF-8") - String cacheDir = "$project.gradle.gradleUserHomeDir/caches" - String bon2Dir = "$cacheDir/forge_gradle/deobf" - String bon2File = "$bon2Dir/BON2-${bon2Version}.jar" - String obfFile = "$cacheDir/modules-2/files-2.1/${fileName}.jar" - String deobfFile = "$cacheDir/modules-2/files-2.1/${fileName}-deobf.jar" - - if (file(deobfFile).exists()) { - return files(deobfFile) - } +String bon2Version = "2.5.1" +String fileName = URLDecoder.decode(rawFileName, "UTF-8") +String cacheDir = "$project.gradle.gradleUserHomeDir/caches" +String bon2Dir = "$cacheDir/forge_gradle/deobf" +String bon2File = "$bon2Dir/BON2-${bon2Version}.jar" +String obfFile = "$cacheDir/modules-2/files-2.1/${fileName}.jar" +String deobfFile = "$cacheDir/modules-2/files-2.1/${fileName}-deobf.jar" + +if (file(deobfFile).exists()) { + return files(deobfFile) +} - String mappingsVer - String remoteMappings = project.hasProperty('remoteMappings') ? project.remoteMappings : 'https://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/conf/' - if (remoteMappings) { - String id = "${forgeVersion.split("\\.")[3]}-$minecraftVersion" - String mappingsZIP = "$cacheDir/forge_gradle/maven_downloader/de/oceanlabs/mcp/mcp_snapshot_nodoc/$id/mcp_snapshot_nodoc-${id}.zip" +String mappingsVer +String remoteMappings = project.hasProperty('remoteMappings') ? project.remoteMappings : 'https://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/conf/' +if (remoteMappings) { + String id = "${forgeVersion.split("\\.")[3]}-$minecraftVersion" + String mappingsZIP = "$cacheDir/forge_gradle/maven_downloader/de/oceanlabs/mcp/mcp_snapshot_nodoc/$id/mcp_snapshot_nodoc-${id}.zip" - zipMappings(mappingsZIP, remoteMappings, bon2Dir) + zipMappings(mappingsZIP, remoteMappings, bon2Dir) - mappingsVer = "snapshot_$id" - } else { - mappingsVer = "${channel}_$mappingsVersion" - } + mappingsVer = "snapshot_$id" +} else { + mappingsVer = "${channel}_$mappingsVersion" +} - download.run { - src "http://jenkins.usrv.eu:8081/nexus/content/repositories/releases/com/github/parker8283/BON2/$bon2Version-CUSTOM/BON2-$bon2Version-CUSTOM-all.jar" - dest bon2File - quiet true - overwrite false - } +download.run { + src "http://jenkins.usrv.eu:8081/nexus/content/repositories/releases/com/github/parker8283/BON2/$bon2Version-CUSTOM/BON2-$bon2Version-CUSTOM-all.jar" + dest bon2File + quiet true + overwrite false +} - download.run { - src sourceURL - dest obfFile - quiet true - overwrite false - } +download.run { + src sourceURL + dest obfFile + quiet true + overwrite false +} - exec { - commandLine 'java', '-jar', bon2File, '--inputJar', obfFile, '--outputJar', deobfFile, '--mcVer', minecraftVersion, '--mappingsVer', mappingsVer, '--notch' - workingDir bon2Dir - standardOutput = new FileOutputStream("${deobfFile}.log") - } +exec { + commandLine 'java', '-jar', bon2File, '--inputJar', obfFile, '--outputJar', deobfFile, '--mcVer', minecraftVersion, '--mappingsVer', mappingsVer, '--notch' + workingDir bon2Dir + standardOutput = new FileOutputStream("${deobfFile}.log") +} - return files(deobfFile) +return files(deobfFile) } def zipMappings(String zipPath, String url, String bon2Dir) { - File zipFile = new File(zipPath) - if (zipFile.exists()) { - return - } +File zipFile = new File(zipPath) +if (zipFile.exists()) { + return +} - String fieldsCache = "$bon2Dir/data/fields.csv" - String methodsCache = "$bon2Dir/data/methods.csv" +String fieldsCache = "$bon2Dir/data/fields.csv" +String methodsCache = "$bon2Dir/data/methods.csv" - download.run { - src "${url}fields.csv" - dest fieldsCache - quiet true - } - download.run { - src "${url}methods.csv" - dest methodsCache - quiet true - } +download.run { + src "${url}fields.csv" + dest fieldsCache + quiet true +} +download.run { + src "${url}methods.csv" + dest methodsCache + quiet true +} - zipFile.getParentFile().mkdirs() - ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile)) +zipFile.getParentFile().mkdirs() +ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile)) - zos.putNextEntry(new ZipEntry("fields.csv")) - Files.copy(Paths.get(fieldsCache), zos) - zos.closeEntry() +zos.putNextEntry(new ZipEntry("fields.csv")) +Files.copy(Paths.get(fieldsCache), zos) +zos.closeEntry() - zos.putNextEntry(new ZipEntry("methods.csv")) - Files.copy(Paths.get(methodsCache), zos) - zos.closeEntry() +zos.putNextEntry(new ZipEntry("methods.csv")) +Files.copy(Paths.get(methodsCache), zos) +zos.closeEntry() - zos.close() +zos.close() } // Helper methods def checkPropertyExists(String propertyName) { - if (!project.hasProperty(propertyName)) { - throw new GradleException("This project requires a property \"" + propertyName + "\"! Please add it your \"gradle.properties\". You can find all properties and their description here: https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/gradle.properties") - } +if (!project.hasProperty(propertyName)) { + throw new GradleException("This project requires a property \"" + propertyName + "\"! Please add it your \"gradle.properties\". You can find all properties and their description here: https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/gradle.properties") +} } def propertyDefaultIfUnset(String propertyName, defaultValue) { - if (!project.hasProperty(propertyName) || project.property(propertyName) == "") { - project.ext.setProperty(propertyName, defaultValue) - } +if (!project.hasProperty(propertyName) || project.property(propertyName) == "") { + project.ext.setProperty(propertyName, defaultValue) +} } def getFile(String relativePath) { - return new File(projectDir, relativePath) +return new File(projectDir, relativePath) } def getSecondaryArtifacts() { - // Because noPublishedSources from the beginning of the script is somehow not visible here... - boolean noPublishedSources = project.hasProperty("noPublishedSources") ? project.noPublishedSources.toBoolean() : false - def secondaryArtifacts = [devJar] - if (!noPublishedSources) secondaryArtifacts += [sourcesJar] - if (apiPackage) secondaryArtifacts += [apiJar] - return secondaryArtifacts +// Because noPublishedSources from the beginning of the script is somehow not visible here... +boolean noPublishedSources = project.hasProperty("noPublishedSources") ? project.noPublishedSources.toBoolean() : false +def secondaryArtifacts = [devJar] +if (!noPublishedSources) secondaryArtifacts += [sourcesJar] +if (apiPackage) secondaryArtifacts += [apiJar] +return secondaryArtifacts } -- cgit From 3259a923050ddaaf55471db4eb4ba8654ce88a20 Mon Sep 17 00:00:00 2001 From: miozune Date: Sat, 26 Nov 2022 01:50:50 +0900 Subject: Update GT --- dependencies.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies.gradle b/dependencies.gradle index 059c1f5b4a..ed0e79560b 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,7 +2,7 @@ dependencies { shadowImplementation('com.github.GTNewHorizons:AVRcore:master-SNAPSHOT') - compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.138-pre:dev') + compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.145:dev') compile("com.github.GTNewHorizons:ModularUI:1.0.16:dev") {transitive=false} compile('com.github.GTNewHorizons:Yamcl:0.5.84:dev') compile('com.github.GTNewHorizons:NotEnoughItems:2.3.7-GTNH:dev') -- cgit From aaa3489401990049b367ac6d1b89aa3157ce1aec Mon Sep 17 00:00:00 2001 From: miozune Date: Wed, 30 Nov 2022 14:26:44 +0900 Subject: Make AL recipes always visible --- src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java b/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java index 739896749b..8cd1b49ddd 100644 --- a/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java +++ b/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java @@ -75,7 +75,7 @@ public class TT_recipeAdder extends GT_RecipeAdder { assDuration, assEUt, 0, - true); + false); GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(new GT_Recipe.GT_Recipe_AssemblyLine( CustomItemList.UnusedStuff.get(1), totalComputationRequired / computationRequiredPerSec, @@ -211,7 +211,7 @@ public class TT_recipeAdder extends GT_RecipeAdder { assEUt, 0, tAlts, - true); + false); GT_Recipe_AssemblyLine recipeGT = new GT_Recipe_AssemblyLine( CustomItemList.UnusedStuff.get(1), totalComputationRequired / computationRequiredPerSec, -- cgit From 9cbf0f09838a901e73882f3ba7e8cecbc679143d Mon Sep 17 00:00:00 2001 From: miozune Date: Fri, 9 Dec 2022 21:41:50 +0900 Subject: Add no-inventory GUI for multiblock --- .../tectech/thing/gui/TecTechUITextures.java | 2 + .../base/GT_MetaTileEntity_MultiblockBase_EM.java | 129 +++++++++++---------- .../gui/background/screen_blue_no_inventory.png | Bin 0 -> 1418 bytes 3 files changed, 72 insertions(+), 59 deletions(-) create mode 100644 src/main/resources/assets/tectech/textures/gui/background/screen_blue_no_inventory.png diff --git a/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java b/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java index 14ef35b317..781bee68c4 100644 --- a/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java +++ b/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java @@ -13,6 +13,8 @@ public class TecTechUITextures { AdaptableUITexture.of(MODID, "gui/background/screen_blue", 90, 72, 2); public static final UITexture BACKGROUND_SCREEN_BLUE_PARAMETRIZER_TXT = UITexture.fullImage(MODID, "gui/background/screen_blue_parametrizer_txt"); + public static final UITexture BACKGROUND_SCREEN_BLUE_NO_INVENTORY = + UITexture.fullImage(MODID, "gui/background/screen_blue_no_inventory"); public static final UITexture BUTTON_STANDARD_16x16 = UITexture.fullImage(MODID, "gui/button/standard_16x16"); public static final UITexture BUTTON_STANDARD_LIGHT_16x16 = diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java index 69f1515d4a..73e20d8c0f 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java @@ -2934,18 +2934,27 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt @Override public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - builder.widget(new DrawableWidget() - .setDrawable(TecTechUITextures.BACKGROUND_SCREEN_BLUE) - .setPos(4, 4) - .setSize(190, 91)); + if (doesBindPlayerInventory()) { + builder.widget(new DrawableWidget() + .setDrawable(TecTechUITextures.BACKGROUND_SCREEN_BLUE) + .setPos(4, 4) + .setSize(190, 91)); + } else { + builder.widget(new DrawableWidget() + .setDrawable(TecTechUITextures.BACKGROUND_SCREEN_BLUE_NO_INVENTORY) + .setPos(4, 4) + .setSize(190, 171)); + } final SlotWidget inventorySlot = new SlotWidget(inventoryHandler, 1); - builder.widget(inventorySlot - .setBackground(getGUITextureSet().getItemSlot(), TecTechUITextures.OVERLAY_SLOT_MESH) - .setPos(173, 167)) - .widget(new DrawableWidget() - .setDrawable(TecTechUITextures.PICTURE_HEAT_SINK_SMALL) - .setPos(173, 185) - .setSize(18, 6)); + if (doesBindPlayerInventory()) { + builder.widget(inventorySlot + .setBackground(getGUITextureSet().getItemSlot(), TecTechUITextures.OVERLAY_SLOT_MESH) + .setPos(173, 167)) + .widget(new DrawableWidget() + .setDrawable(TecTechUITextures.PICTURE_HEAT_SINK_SMALL) + .setPos(173, 185) + .setSize(18, 6)); + } final DynamicPositionedColumn screenElements = new DynamicPositionedColumn(); drawTexts(screenElements, inventorySlot); @@ -2980,7 +2989,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } return ret.toArray(new IDrawable[0]); }) - .setPos(174, 116) + .setPos(174, doesBindPlayerInventory() ? 116 : 140) .setSize(16, 16); if (isPowerPassButtonEnabled()) { powerPassButton.addTooltip("Power Pass").setTooltipShowUpDelay(TOOLTIP_DELAY); @@ -3010,7 +3019,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } return ret.toArray(new IDrawable[0]); }) - .setPos(174, 132) + .setPos(174, doesBindPlayerInventory() ? 132 : 156) .setSize(16, 16); if (isSafeVoidButtonEnabled()) { safeVoidButton.addTooltip("Safe Void").setTooltipShowUpDelay(TOOLTIP_DELAY); @@ -3043,7 +3052,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } return ret.toArray(new IDrawable[0]); }) - .setPos(174, 148) + .setPos(174, doesBindPlayerInventory() ? 148 : 172) .setSize(16, 16); if (isAllowedToWorkButtonEnabled()) { powerSwitchButton.addTooltip("Power Switch").setTooltipShowUpDelay(TOOLTIP_DELAY); @@ -3063,7 +3072,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt LEDCounter = (byte) ((1 + LEDCounter) % 6); } }.setDrawable(TecTechUITextures.PICTURE_PARAMETER_BLANK) - .setPos(5, 96) + .setPos(5, doesBindPlayerInventory() ? 96 : 176) .setSize(166, 12)); for (int hatch = 0; hatch < 10; hatch++) { for (int param = 0; param < 2; param++) { @@ -3072,51 +3081,53 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } - builder.widget(new DrawableWidget() - .setDrawable(TecTechUITextures.PICTURE_UNCERTAINTY_MONITOR_MULTIMACHINE) - .setPos(173, 96) - .setSize(18, 18)); - for (int i = 0; i < 9; i++) { - final int index = i; + if (doesBindPlayerInventory()) { builder.widget(new DrawableWidget() - .setDrawable(() -> { - UITexture valid = TecTechUITextures.PICTURE_UNCERTAINTY_VALID[index]; - UITexture invalid = TecTechUITextures.PICTURE_UNCERTAINTY_INVALID[index]; - switch (eCertainMode) { - case 1: // ooo oxo ooo - if (index == 4) return eCertainStatus == 0 ? valid : invalid; - break; - case 2: // ooo xox ooo - if (index == 3) return (eCertainStatus & 1) == 0 ? valid : invalid; - if (index == 5) return (eCertainStatus & 2) == 0 ? valid : invalid; - break; - case 3: // oxo xox oxo - if (index == 1) return (eCertainStatus & 1) == 0 ? valid : invalid; - if (index == 3) return (eCertainStatus & 2) == 0 ? valid : invalid; - if (index == 5) return (eCertainStatus & 4) == 0 ? valid : invalid; - if (index == 7) return (eCertainStatus & 8) == 0 ? valid : invalid; - break; - case 4: // xox ooo xox - if (index == 0) return (eCertainStatus & 1) == 0 ? valid : invalid; - if (index == 2) return (eCertainStatus & 2) == 0 ? valid : invalid; - if (index == 6) return (eCertainStatus & 4) == 0 ? valid : invalid; - if (index == 8) return (eCertainStatus & 8) == 0 ? valid : invalid; - break; - case 5: // xox oxo xox - if (index == 0) return (eCertainStatus & 1) == 0 ? valid : invalid; - if (index == 2) return (eCertainStatus & 2) == 0 ? valid : invalid; - if (index == 4) return (eCertainStatus & 4) == 0 ? valid : invalid; - if (index == 6) return (eCertainStatus & 8) == 0 ? valid : invalid; - if (index == 8) return (eCertainStatus & 16) == 0 ? valid : invalid; - break; - } - return null; - }) - .setPos(174 + (index % 3) * 6, 97 + (index / 3) * 6) - .setSize(4, 4)); + .setDrawable(TecTechUITextures.PICTURE_UNCERTAINTY_MONITOR_MULTIMACHINE) + .setPos(173, 96) + .setSize(18, 18)); + for (int i = 0; i < 9; i++) { + final int index = i; + builder.widget(new DrawableWidget() + .setDrawable(() -> { + UITexture valid = TecTechUITextures.PICTURE_UNCERTAINTY_VALID[index]; + UITexture invalid = TecTechUITextures.PICTURE_UNCERTAINTY_INVALID[index]; + switch (eCertainMode) { + case 1: // ooo oxo ooo + if (index == 4) return eCertainStatus == 0 ? valid : invalid; + break; + case 2: // ooo xox ooo + if (index == 3) return (eCertainStatus & 1) == 0 ? valid : invalid; + if (index == 5) return (eCertainStatus & 2) == 0 ? valid : invalid; + break; + case 3: // oxo xox oxo + if (index == 1) return (eCertainStatus & 1) == 0 ? valid : invalid; + if (index == 3) return (eCertainStatus & 2) == 0 ? valid : invalid; + if (index == 5) return (eCertainStatus & 4) == 0 ? valid : invalid; + if (index == 7) return (eCertainStatus & 8) == 0 ? valid : invalid; + break; + case 4: // xox ooo xox + if (index == 0) return (eCertainStatus & 1) == 0 ? valid : invalid; + if (index == 2) return (eCertainStatus & 2) == 0 ? valid : invalid; + if (index == 6) return (eCertainStatus & 4) == 0 ? valid : invalid; + if (index == 8) return (eCertainStatus & 8) == 0 ? valid : invalid; + break; + case 5: // xox oxo xox + if (index == 0) return (eCertainStatus & 1) == 0 ? valid : invalid; + if (index == 2) return (eCertainStatus & 2) == 0 ? valid : invalid; + if (index == 4) return (eCertainStatus & 4) == 0 ? valid : invalid; + if (index == 6) return (eCertainStatus & 8) == 0 ? valid : invalid; + if (index == 8) return (eCertainStatus & 16) == 0 ? valid : invalid; + break; + } + return null; + }) + .setPos(174 + (index % 3) * 6, 97 + (index / 3) * 6) + .setSize(4, 4)); + } + builder.widget(new FakeSyncWidget.ByteSyncer(() -> eCertainMode, val -> eCertainMode = val)) + .widget(new FakeSyncWidget.ByteSyncer(() -> eCertainStatus, val -> eCertainStatus = val)); } - builder.widget(new FakeSyncWidget.ByteSyncer(() -> eCertainMode, val -> eCertainMode = val)) - .widget(new FakeSyncWidget.ByteSyncer(() -> eCertainStatus, val -> eCertainStatus = val)); } private void addParameterLED(ModularWindow.Builder builder, int hatch, int param, boolean input) { @@ -3224,7 +3235,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return getFullLedDescriptionOut(hatch, param); } }) - .setPos(12 + posIndex * 8, 97 + (input ? 0 : 1) * 6) + .setPos(12 + posIndex * 8, (doesBindPlayerInventory() ? 97 : 177) + (input ? 0 : 1) * 6) .setSize(6, 4)); if (input) { builder.widget(new FakeSyncWidget.ByteSyncer( diff --git a/src/main/resources/assets/tectech/textures/gui/background/screen_blue_no_inventory.png b/src/main/resources/assets/tectech/textures/gui/background/screen_blue_no_inventory.png new file mode 100644 index 0000000000..f1afff2b70 Binary files /dev/null and b/src/main/resources/assets/tectech/textures/gui/background/screen_blue_no_inventory.png differ -- cgit From 1fe8aa5ef903c3d52972a7c6e41e4e2b45a7fbce Mon Sep 17 00:00:00 2001 From: minecraft7771 Date: Sat, 10 Dec 2022 22:12:08 +0100 Subject: Removed unnecessary hatches from QC and RS --- .../multi/GT_MetaTileEntity_EM_computer.java | 18 ++++++++++++++---- .../multi/GT_MetaTileEntity_EM_research.java | 11 ++++++++++- 2 files changed, 24 insertions(+), 5 deletions(-) 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 ad0fe07447..1a66eaf46d 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 @@ -6,9 +6,9 @@ import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBloc import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; import static com.github.technus.tectech.util.CommonValues.MULTI_CHECK_AT; import static com.github.technus.tectech.util.CommonValues.V; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; +import static gregtech.api.enums.GT_HatchElement.*; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; import static net.minecraft.util.StatCollector.translateToLocal; import com.github.technus.tectech.mechanics.dataTransport.QuantumDataPacket; @@ -74,7 +74,17 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB .addElement('B', ofBlock(sBlockCasingsTT, 1)) .addElement('C', ofBlock(sBlockCasingsTT, 2)) .addElement('D', ofBlock(sBlockCasingsTT, 3)) - .addElement('A', classicHatches(textureOffset + 1, 1, sBlockCasingsTT, 1)) + .addElement( + 'A', + buildHatchAdder(GT_MetaTileEntity_EM_computer.class) + .atLeast( + Energy.or(HatchElement.EnergyMulti), + Maintenance, + HatchElement.Uncertainty, + HatchElement.OutputData) + .casingIndex(textureOffset + 1) + .dot(1) + .buildAndChain(ofBlock(sBlockCasingsTT, 1))) .addElement( 'E', ofChain( diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java index 3fc01b02a9..0508a24889 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java @@ -10,6 +10,9 @@ import static com.github.technus.tectech.util.CommonValues.V; import static com.github.technus.tectech.util.CommonValues.VN; import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.enums.GT_HatchElement.Energy; +import static gregtech.api.enums.GT_HatchElement.Maintenance; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; import static mcp.mobius.waila.api.SpecialChars.*; import static mcp.mobius.waila.api.SpecialChars.RESET; import static net.minecraft.util.StatCollector.translateToLocal; @@ -94,7 +97,13 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB .addElement('A', ofBlock(sBlockCasingsTT, 1)) .addElement('B', ofBlock(sBlockCasingsTT, 2)) .addElement('C', ofBlock(sBlockCasingsTT, 3)) - .addElement('D', classicHatches(textureOffset + 1, 1, sBlockCasingsTT, 1)) + .addElement( + 'D', + buildHatchAdder(GT_MetaTileEntity_EM_research.class) + .atLeast(Energy.or(HatchElement.EnergyMulti), Maintenance, HatchElement.InputData) + .casingIndex(textureOffset + 1) + .dot(1) + .buildAndChain(ofBlock(sBlockCasingsTT, 1))) .addElement('E', HolderHatchElement.INSTANCE.newAny(textureOffset + 3, 2)) .build(); // endregion -- cgit From f9da595046b1fe6e940948601e4cf1e6c1fc239a Mon Sep 17 00:00:00 2001 From: miozune Date: Thu, 15 Dec 2022 01:41:39 +0900 Subject: Fix tooltip for LED on multiblock GUI not being updated dynamically --- .../base/GT_MetaTileEntity_MultiblockBase_EM.java | 213 +++++++++++---------- 1 file changed, 109 insertions(+), 104 deletions(-) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java index 73e20d8c0f..deea74da30 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java @@ -3133,124 +3133,129 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt private void addParameterLED(ModularWindow.Builder builder, int hatch, int param, boolean input) { final int parameterIndex = hatch + param * 10; final int posIndex = hatch * 2 + param; - builder.widget( - new DrawableWidget() { - @Override - public void draw(float partialTicks) { - IDrawable texture = null; - final LedStatus status = input - ? parametrization.eParamsInStatus[parameterIndex] - : parametrization.eParamsOutStatus[parameterIndex]; - switch (status) { - case STATUS_WTF: { - int c = LEDCounter; - if (c > 4) { - c = TecTech.RANDOM.nextInt(5); - } - switch (c) { - case 0: - texture = TecTechUITextures.PICTURE_PARAMETER_BLUE[posIndex]; - break; - case 1: - texture = TecTechUITextures.PICTURE_PARAMETER_CYAN[posIndex]; - break; - case 2: - texture = TecTechUITextures.PICTURE_PARAMETER_GREEN[posIndex]; - break; - case 3: - texture = TecTechUITextures.PICTURE_PARAMETER_ORANGE[posIndex]; - break; - case 4: - texture = TecTechUITextures.PICTURE_PARAMETER_RED[posIndex]; - break; - } - break; - } - case STATUS_WRONG: // fallthrough - if (LEDCounter < 2) { - texture = TecTechUITextures.PICTURE_PARAMETER_BLUE[posIndex]; - break; - } else if (LEDCounter < 4) { - texture = TecTechUITextures.PICTURE_PARAMETER_RED[posIndex]; - break; - } - case STATUS_OK: // ok - texture = TecTechUITextures.PICTURE_PARAMETER_GREEN[posIndex]; + DrawableWidget ledWidget = new DrawableWidget() { + @Override + public void draw(float partialTicks) { + IDrawable texture = null; + final LedStatus status = input + ? parametrization.eParamsInStatus[parameterIndex] + : parametrization.eParamsOutStatus[parameterIndex]; + switch (status) { + case STATUS_WTF: { + int c = LEDCounter; + if (c > 4) { + c = TecTech.RANDOM.nextInt(5); + } + switch (c) { + case 0: + texture = TecTechUITextures.PICTURE_PARAMETER_BLUE[posIndex]; break; - case STATUS_TOO_LOW: // too low blink - if (LEDCounter < 3) { - texture = TecTechUITextures.PICTURE_PARAMETER_BLUE[posIndex]; - break; - } - case STATUS_LOW: // too low + case 1: texture = TecTechUITextures.PICTURE_PARAMETER_CYAN[posIndex]; break; - case STATUS_TOO_HIGH: // too high blink - if (LEDCounter < 3) { - texture = TecTechUITextures.PICTURE_PARAMETER_RED[posIndex]; - break; - } - case STATUS_HIGH: // too high - texture = TecTechUITextures.PICTURE_PARAMETER_ORANGE[posIndex]; + case 2: + texture = TecTechUITextures.PICTURE_PARAMETER_GREEN[posIndex]; break; - case STATUS_NEUTRAL: - if (LEDCounter < 3) { - GL11.glColor4f(.85f, .9f, .95f, .5F); - } else { - GL11.glColor4f(.8f, .9f, 1f, .5F); - } - texture = TecTechUITextures.PICTURE_PARAMETER_GRAY; + case 3: + texture = TecTechUITextures.PICTURE_PARAMETER_ORANGE[posIndex]; break; - case STATUS_UNDEFINED: - if (LEDCounter < 3) { - GL11.glColor4f(.5f, .1f, .15f, .5F); - } else { - GL11.glColor4f(0f, .1f, .2f, .5F); - } - texture = TecTechUITextures.PICTURE_PARAMETER_GRAY; + case 4: + texture = TecTechUITextures.PICTURE_PARAMETER_RED[posIndex]; break; - case STATUS_UNUSED: - default: - // if (GregTech_API.sColoredGUI && this.mContainer.mTileEntity != null) { - // int tColor = this.mContainer.mTileEntity.getColorization() & 15; - // if (tColor < ItemDye.field_150922_c.length) { - // tColor = ItemDye.field_150922_c[tColor]; - // GL11.glColor4f((float)(tColor >> 16 & 255) / 255.0F, (float)(tColor >> 8 & - // 255) / 255.0F, - // (float)(tColor & 255) / 255.0F, 1F); - // } - // } - // drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2); - // GL11.glColor4f(1f, 1f, 1f, 1f); - // break; } - setDrawable(texture); - super.draw(partialTicks); - GL11.glColor4f(1f, 1f, 1f, 1f); + break; } - }.dynamicTooltip(() -> { - if (input) { - return getFullLedDescriptionIn(hatch, param); - } else { - return getFullLedDescriptionOut(hatch, param); - } - }) - .setPos(12 + posIndex * 8, (doesBindPlayerInventory() ? 97 : 177) + (input ? 0 : 1) * 6) - .setSize(6, 4)); + case STATUS_WRONG: // fallthrough + if (LEDCounter < 2) { + texture = TecTechUITextures.PICTURE_PARAMETER_BLUE[posIndex]; + break; + } else if (LEDCounter < 4) { + texture = TecTechUITextures.PICTURE_PARAMETER_RED[posIndex]; + break; + } + case STATUS_OK: // ok + texture = TecTechUITextures.PICTURE_PARAMETER_GREEN[posIndex]; + break; + case STATUS_TOO_LOW: // too low blink + if (LEDCounter < 3) { + texture = TecTechUITextures.PICTURE_PARAMETER_BLUE[posIndex]; + break; + } + case STATUS_LOW: // too low + texture = TecTechUITextures.PICTURE_PARAMETER_CYAN[posIndex]; + break; + case STATUS_TOO_HIGH: // too high blink + if (LEDCounter < 3) { + texture = TecTechUITextures.PICTURE_PARAMETER_RED[posIndex]; + break; + } + case STATUS_HIGH: // too high + texture = TecTechUITextures.PICTURE_PARAMETER_ORANGE[posIndex]; + break; + case STATUS_NEUTRAL: + if (LEDCounter < 3) { + GL11.glColor4f(.85f, .9f, .95f, .5F); + } else { + GL11.glColor4f(.8f, .9f, 1f, .5F); + } + texture = TecTechUITextures.PICTURE_PARAMETER_GRAY; + break; + case STATUS_UNDEFINED: + if (LEDCounter < 3) { + GL11.glColor4f(.5f, .1f, .15f, .5F); + } else { + GL11.glColor4f(0f, .1f, .2f, .5F); + } + texture = TecTechUITextures.PICTURE_PARAMETER_GRAY; + break; + case STATUS_UNUSED: + default: + // if (GregTech_API.sColoredGUI && this.mContainer.mTileEntity != null) { + // int tColor = this.mContainer.mTileEntity.getColorization() & 15; + // if (tColor < ItemDye.field_150922_c.length) { + // tColor = ItemDye.field_150922_c[tColor]; + // GL11.glColor4f((float)(tColor >> 16 & 255) / 255.0F, (float)(tColor >> 8 & + // 255) / 255.0F, + // (float)(tColor & 255) / 255.0F, 1F); + // } + // } + // drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2); + // GL11.glColor4f(1f, 1f, 1f, 1f); + // break; + } + setDrawable(texture); + super.draw(partialTicks); + GL11.glColor4f(1f, 1f, 1f, 1f); + } + }; + builder.widget(ledWidget + .dynamicTooltip(() -> { + if (input) { + return getFullLedDescriptionIn(hatch, param); + } else { + return getFullLedDescriptionOut(hatch, param); + } + }) + .setPos(12 + posIndex * 8, (doesBindPlayerInventory() ? 97 : 177) + (input ? 0 : 1) * 6) + .setSize(6, 4)); if (input) { builder.widget(new FakeSyncWidget.ByteSyncer( - () -> parametrization.eParamsInStatus[parameterIndex].getOrdinalByte(), - val -> parametrization.eParamsInStatus[parameterIndex] = LedStatus.getStatus(val))) + () -> parametrization.eParamsInStatus[parameterIndex].getOrdinalByte(), + val -> parametrization.eParamsInStatus[parameterIndex] = LedStatus.getStatus(val)) + .setOnClientUpdate(val -> ledWidget.notifyTooltipChange())) .widget(new FakeSyncWidget.DoubleSyncer( - () -> parametrization.iParamsIn[parameterIndex], - val -> parametrization.iParamsIn[parameterIndex] = val)); + () -> parametrization.iParamsIn[parameterIndex], + val -> parametrization.iParamsIn[parameterIndex] = val) + .setOnClientUpdate(val -> ledWidget.notifyTooltipChange())); } else { builder.widget(new FakeSyncWidget.ByteSyncer( - () -> parametrization.eParamsOutStatus[parameterIndex].getOrdinalByte(), - val -> parametrization.eParamsOutStatus[parameterIndex] = LedStatus.getStatus(val))) + () -> parametrization.eParamsOutStatus[parameterIndex].getOrdinalByte(), + val -> parametrization.eParamsOutStatus[parameterIndex] = LedStatus.getStatus(val)) + .setOnClientUpdate(val -> ledWidget.notifyTooltipChange())) .widget(new FakeSyncWidget.DoubleSyncer( - () -> parametrization.iParamsOut[parameterIndex], - val -> parametrization.iParamsOut[parameterIndex] = val)); + () -> parametrization.iParamsOut[parameterIndex], + val -> parametrization.iParamsOut[parameterIndex] = val) + .setOnClientUpdate(val -> ledWidget.notifyTooltipChange())); } } -- cgit From 1dc1845df93e262cadf192fe588a395303c0d87a Mon Sep 17 00:00:00 2001 From: miozune Date: Thu, 15 Dec 2022 01:56:46 +0900 Subject: remove comment --- .../multi/base/GT_MetaTileEntity_MultiblockBase_EM.java | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java index deea74da30..c5f25f6aa8 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java @@ -3210,18 +3210,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt break; case STATUS_UNUSED: default: - // if (GregTech_API.sColoredGUI && this.mContainer.mTileEntity != null) { - // int tColor = this.mContainer.mTileEntity.getColorization() & 15; - // if (tColor < ItemDye.field_150922_c.length) { - // tColor = ItemDye.field_150922_c[tColor]; - // GL11.glColor4f((float)(tColor >> 16 & 255) / 255.0F, (float)(tColor >> 8 & - // 255) / 255.0F, - // (float)(tColor & 255) / 255.0F, 1F); - // } - // } - // drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2); - // GL11.glColor4f(1f, 1f, 1f, 1f); - // break; + // no-op + break; } setDrawable(texture); super.draw(partialTicks); -- cgit