diff options
Diffstat (limited to 'src/main/java')
55 files changed, 2345 insertions, 181 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/ASM/ASMUtils.java b/src/main/java/com/github/bartimaeusnek/ASM/ASMUtils.java index 4d9fe89836..9055909567 100644 --- a/src/main/java/com/github/bartimaeusnek/ASM/ASMUtils.java +++ b/src/main/java/com/github/bartimaeusnek/ASM/ASMUtils.java @@ -52,7 +52,9 @@ public class ASMUtils { public static boolean writeClassToDisk(byte[] towrite, String Classname, String Path) { try { - OutputStream os = new FileOutputStream(new File(Path + Classname + ".class")); + if (Path.charAt(Path.length()-1) == '/' || Path.charAt(Path.length()-1) == '\\') + Path = Path.substring(0,Path.length()-1); + OutputStream os = new FileOutputStream(new File(Path + '/' + Classname + ".class")); os.write(towrite); } catch (IOException e) { e.printStackTrace(); diff --git a/src/main/java/com/github/bartimaeusnek/ASM/BWCoreStaticReplacementMethodes.java b/src/main/java/com/github/bartimaeusnek/ASM/BWCoreStaticReplacementMethodes.java index 72a9477e59..6399a5119b 100644 --- a/src/main/java/com/github/bartimaeusnek/ASM/BWCoreStaticReplacementMethodes.java +++ b/src/main/java/com/github/bartimaeusnek/ASM/BWCoreStaticReplacementMethodes.java @@ -24,6 +24,7 @@ package com.github.bartimaeusnek.ASM; import com.github.bartimaeusnek.bartworks.util.NonNullWrappedHashSet; import com.github.bartimaeusnek.bartworks.util.accessprioritylist.AccessPriorityList; +import com.github.bartimaeusnek.bartworks.util.accessprioritylist.AccessPriorityListNode; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -31,6 +32,7 @@ import net.minecraft.item.crafting.CraftingManager; import net.minecraft.item.crafting.IRecipe; import net.minecraft.world.World; +import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.List; @@ -53,21 +55,16 @@ public class BWCoreStaticReplacementMethodes { if (itemstack2 != null) { if (i == 0) - { itemstack = itemstack2; - } if (i == 1) - { itemstack1 = itemstack2; - } ++i; } } - if (i == 2 && itemstack.getItem() == itemstack1.getItem() && itemstack.stackSize == 1 && itemstack1.stackSize == 1 && itemstack.getItem().isRepairable()) - { + if (i == 2 && itemstack.getItem() == itemstack1.getItem() && itemstack.stackSize == 1 && itemstack1.stackSize == 1 && itemstack.getItem().isRepairable()) { Item item = itemstack.getItem(); int j1 = item.getMaxDamage() - itemstack.getItemDamageForDisplay(); int k = item.getMaxDamage() - itemstack1.getItemDamageForDisplay(); @@ -75,24 +72,23 @@ public class BWCoreStaticReplacementMethodes { int i1 = item.getMaxDamage() - l; if (i1 < 0) - { i1 = 0; - } return new ItemStack(itemstack.getItem(), 1, i1); + } else { + IRecipe iPossibleRecipe = null; - int index = 0; - for (Iterator<IRecipe> it = RECENTLYUSEDRECIPES.iterator(); it.hasNext(); ++index) { - IRecipe RECENTLYUSEDRECIPE = it.next(); - if (RECENTLYUSEDRECIPE.matches(inventoryCrafting, world)) { - iPossibleRecipe = RECENTLYUSEDRECIPE; - break; - } - } + Iterator<AccessPriorityListNode<IRecipe>> it = RECENTLYUSEDRECIPES.nodeIterator(); + + while (it.hasNext()) { + AccessPriorityListNode<IRecipe> recipeNode = it.next(); + iPossibleRecipe = recipeNode.getELEMENT(); + + if (!iPossibleRecipe.matches(inventoryCrafting, world)) + continue; - if (iPossibleRecipe != null) { - RECENTLYUSEDRECIPES.addPrioToNode(index); + RECENTLYUSEDRECIPES.addPrioToNode(recipeNode); return iPossibleRecipe.getCraftingResult(inventoryCrafting); } @@ -102,10 +98,12 @@ public class BWCoreStaticReplacementMethodes { List recipeList = CraftingManager.getInstance().getRecipeList(); for (int k = 0; k < recipeList.size(); k++) { - recipeSet.add((IRecipe) recipeList.get(k)); + IRecipe r = (IRecipe) recipeList.get(k); + if (r.matches(inventoryCrafting, world)) + recipeSet.add(r); } - Object[] arr = recipeSet.parallelStream().filter(r -> r.matches(inventoryCrafting, world)).toArray(); + Object[] arr = recipeSet.toArray(); if (arr.length == 0) return null; diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/BW_ItemBlocks.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/BW_ItemBlocks.java index a3a9fc26e0..e0c172f1cd 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/BW_ItemBlocks.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/BW_ItemBlocks.java @@ -26,8 +26,8 @@ import com.github.bartimaeusnek.bartworks.API.ITileAddsInformation; import com.github.bartimaeusnek.bartworks.MainMod; import com.github.bartimaeusnek.bartworks.common.blocks.BW_GlasBlocks; import com.github.bartimaeusnek.bartworks.util.BW_ColorUtil; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import com.github.bartimaeusnek.bartworks.util.BW_Util; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.GT_Values; @@ -78,7 +78,7 @@ public class BW_ItemBlocks extends ItemBlock { if (!(this.field_150939_a instanceof ITileEntityProvider)) aList.add(this.mNoTileEntityToolTip); - aList.add(StatCollector.translateToLocal("tooltip.bw.0.name") + ChatColorHelper.DARKGREEN + " BartWorks"); + aList.add(BW_Tooltip_Reference.ADDED_BY_BARTWORKS.get()); } @Override diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/BW_SimpleWindMeter.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/BW_SimpleWindMeter.java index c5a6efd711..ff9f43cdbf 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/BW_SimpleWindMeter.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/BW_SimpleWindMeter.java @@ -23,7 +23,7 @@ package com.github.bartimaeusnek.bartworks.common.items; import com.github.bartimaeusnek.bartworks.MainMod; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ic2.core.WorldData; @@ -59,7 +59,7 @@ public class BW_SimpleWindMeter extends Item { super.addInformation(itemStack, entityPlayer, list, p_77624_4_); list.add(StatCollector.translateToLocal("tooltip.windmeter.0.name")); list.add(StatCollector.translateToLocal("tooltip.windmeter.1.name") + " " + (this.getMaxDamage() - this.getDamage(itemStack)) + "/" + this.getMaxDamage()); - list.add(StatCollector.translateToLocal("tooltip.bw.0.name") + ChatColorHelper.DARKGREEN + " BartWorks"); + list.add(BW_Tooltip_Reference.ADDED_BY_BARTWORKS.get()); } @Override diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/BW_Stonage_Rotors.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/BW_Stonage_Rotors.java index efe7f5c6ca..9731b4da3b 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/BW_Stonage_Rotors.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/BW_Stonage_Rotors.java @@ -23,7 +23,7 @@ package com.github.bartimaeusnek.bartworks.common.items; import com.github.bartimaeusnek.bartworks.MainMod; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ic2.api.item.IKineticRotor; @@ -83,7 +83,7 @@ public class BW_Stonage_Rotors extends Item implements IKineticRotor { if (type != null) { info.add(StatCollector.translateToLocal(("ic2.itemrotor.fitsin." + this.isAcceptedType(itemStack, type)))); } - info.add(StatCollector.translateToLocal("tooltip.bw.0.name") + ChatColorHelper.DARKGREEN + " BartWorks"); + info.add(BW_Tooltip_Reference.ADDED_BY_BARTWORKS.get()); } @Override diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/Circuit_Programmer.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/Circuit_Programmer.java index 29c14101a6..b2f633c105 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/Circuit_Programmer.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/Circuit_Programmer.java @@ -23,7 +23,7 @@ package com.github.bartimaeusnek.bartworks.common.items; import com.github.bartimaeusnek.bartworks.MainMod; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.GT_Values; @@ -56,7 +56,7 @@ public class Circuit_Programmer extends GT_Generic_Item implements IElectricItem super.addInformation(aStack, aPlayer, aList, aF3_H); if (aStack != null && aStack.getTagCompound() != null) aList.add(StatCollector.translateToLocal("tooltip.cp.0.name") + " " + (aStack.getTagCompound().getBoolean("HasChip") ? StatCollector.translateToLocal("tooltip.bw.yes.name") : StatCollector.translateToLocal("tooltip.bw.no.name"))); - aList.add(StatCollector.translateToLocal("tooltip.bw.0.name") + ChatColorHelper.DARKGREEN + " BartWorks"); + aList.add(BW_Tooltip_Reference.ADDED_BY_BARTWORKS.get()); } @Override diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Destructopack_Item.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Destructopack_Item.java index c6a6782e34..15e16008ad 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Destructopack_Item.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Destructopack_Item.java @@ -23,14 +23,13 @@ package com.github.bartimaeusnek.bartworks.common.items; import com.github.bartimaeusnek.bartworks.MainMod; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.items.GT_Generic_Item; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import net.minecraft.util.StatCollector; import net.minecraft.world.World; import java.util.List; @@ -49,7 +48,7 @@ public class GT_Destructopack_Item extends GT_Generic_Item { @SuppressWarnings("unchecked") public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { super.addInformation(aStack, aPlayer, aList, aF3_H); - aList.add(StatCollector.translateToLocal("tooltip.bw.0.name") + ChatColorHelper.DARKGREEN + " BartWorks"); + aList.add(BW_Tooltip_Reference.ADDED_BY_BARTWORKS.get()); } @Override diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Rockcutter_Item.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Rockcutter_Item.java index 3c132cef88..a1b222f7c3 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Rockcutter_Item.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Rockcutter_Item.java @@ -23,7 +23,7 @@ package com.github.bartimaeusnek.bartworks.common.items; import com.github.bartimaeusnek.bartworks.MainMod; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import com.google.common.collect.Sets; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -76,7 +76,7 @@ public class GT_Rockcutter_Item extends ItemTool implements IElectricItem { @SuppressWarnings("unchecked") public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { aList.add(StatCollector.translateToLocal("tooltip.bw.tier.name") + " " + GT_Values.VN[this.mTier]); - aList.add(StatCollector.translateToLocal("tooltip.bw.0.name") + ChatColorHelper.DARKGREEN + " BartWorks"); + aList.add(BW_Tooltip_Reference.ADDED_BY_BARTWORKS.get()); } public void onUpdate(ItemStack aStack, World p_77663_2_, Entity p_77663_3_, int p_77663_4_, boolean p_77663_5_) { diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Teslastaff_Item.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Teslastaff_Item.java index ba46ded1b2..9b4c1ba51c 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Teslastaff_Item.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Teslastaff_Item.java @@ -23,7 +23,7 @@ package com.github.bartimaeusnek.bartworks.common.items; import com.github.bartimaeusnek.bartworks.MainMod; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import com.google.common.collect.Sets; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -69,7 +69,7 @@ public class GT_Teslastaff_Item extends ItemTool implements IElectricItem { @SuppressWarnings("unchecked") public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { aList.add(StatCollector.translateToLocal("tooltip.teslastaff.0.name")); - aList.add(StatCollector.translateToLocal("tooltip.bw.0.name") + ChatColorHelper.DARKGREEN + " BartWorks"); + aList.add(BW_Tooltip_Reference.ADDED_BY_BARTWORKS.get()); } public boolean hitEntity(ItemStack aStack, EntityLivingBase aTarget, EntityLivingBase aPlayer) { diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/SimpleSubItemClass.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/SimpleSubItemClass.java index 34bf243c1b..a363ab6811 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/SimpleSubItemClass.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/SimpleSubItemClass.java @@ -23,7 +23,7 @@ package com.github.bartimaeusnek.bartworks.common.items; import com.github.bartimaeusnek.bartworks.MainMod; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; @@ -32,7 +32,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import net.minecraft.util.StatCollector; import java.util.List; @@ -60,7 +59,7 @@ public class SimpleSubItemClass extends Item { @SuppressWarnings("unchecked") public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_, List aList, boolean p_77624_4_) { super.addInformation(p_77624_1_, p_77624_2_, aList, p_77624_4_); - aList.add(StatCollector.translateToLocal("tooltip.bw.0.name") + ChatColorHelper.DARKGREEN + " BartWorks"); + aList.add(BW_Tooltip_Reference.ADDED_BY_BARTWORKS.get()); } @Override diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_BioVat.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_BioVat.java index 90b0c4ff7d..f13f11607c 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_BioVat.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_BioVat.java @@ -572,7 +572,7 @@ public class GT_TileEntity_BioVat extends GT_MetaTileEntity_MultiBlockBase { String[] fdsc = new String[dsc.length + 1]; for (int i = 0; i < dsc.length; i++) { fdsc[i] = dsc[i]; - fdsc[dsc.length] = StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks"; + fdsc[dsc.length] = BW_Tooltip_Reference.ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS.get(); } return fdsc; } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_CircuitAssemblyLine.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_CircuitAssemblyLine.java index 45bcd28218..9de9f736cb 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_CircuitAssemblyLine.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_CircuitAssemblyLine.java @@ -26,7 +26,6 @@ import com.github.bartimaeusnek.bartworks.system.material.CircuitGeneration.BW_M import com.github.bartimaeusnek.bartworks.system.material.CircuitGeneration.CircuitImprintLoader; import com.github.bartimaeusnek.bartworks.util.BWRecipes; import com.github.bartimaeusnek.bartworks.util.BW_Util; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; import gregtech.api.GregTech_API; import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; @@ -40,12 +39,13 @@ import gregtech.api.util.GT_Utility; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.StatCollector; import net.minecraftforge.common.util.ForgeDirection; import java.util.Collection; import java.util.HashSet; +import static com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference.ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS; + public class GT_TileEntity_CircuitAssemblyLine extends GT_MetaTileEntity_MultiBlockBase { public String getTypeForDisplay() { @@ -129,6 +129,7 @@ public class GT_TileEntity_CircuitAssemblyLine extends GT_MetaTileEntity_MultiBl this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime); this.mOutputItems = this.bufferedRecipe.mOutputs; this.mOutputFluids = this.bufferedRecipe.mFluidOutputs; + sendLoopStart((byte) 20); this.updateSlots(); return true; } @@ -217,9 +218,8 @@ public class GT_TileEntity_CircuitAssemblyLine extends GT_MetaTileEntity_MultiBl --length; - if (length < -7){ + if (length < -7) return false; - } } @@ -361,7 +361,7 @@ public class GT_TileEntity_CircuitAssemblyLine extends GT_MetaTileEntity_MultiBl "Imprint this machine with a Circuit Imprint,", "by putting the imprint in the controller.", "Every Circuit Assembly Line can only be imprinted ONCE.", - StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks" + ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS.get() }; } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java index bd45fe554a..18e6a43ebc 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java @@ -22,7 +22,7 @@ package com.github.bartimaeusnek.bartworks.common.tileentities.multis; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import gregtech.api.GregTech_API; import gregtech.api.enums.Materials; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; @@ -33,7 +33,6 @@ import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_ImplosionCo import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.StatCollector; import net.minecraftforge.common.util.ForgeDirection; import java.util.ArrayList; @@ -249,12 +248,6 @@ public class GT_TileEntity_ElectricImplosionCompressor extends GT_MetaTileEntity @Override public String[] getDescription() { - String[] dsc = StatCollector.translateToLocal("tooltip.tile.eic.0.name").split(";"); - String[] mDescription = new String[dsc.length + 1]; - for (int i = 0; i < dsc.length; i++) { - mDescription[i] = dsc[i]; - mDescription[dsc.length] = StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks"; - } - return mDescription; + return BW_Tooltip_Reference.getTranslatedBrandedTooltip("tooltip.tile.eic.0.name"); } } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_LESU.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_LESU.java index 5f6dde9c7f..533cf24d70 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_LESU.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_LESU.java @@ -27,6 +27,7 @@ import com.github.bartimaeusnek.bartworks.client.gui.GT_GUIContainer_LESU; import com.github.bartimaeusnek.bartworks.common.configs.ConfigHandler; import com.github.bartimaeusnek.bartworks.common.loaders.ItemRegistry; import com.github.bartimaeusnek.bartworks.server.container.GT_Container_LESU; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; import com.github.bartimaeusnek.bartworks.util.ConnectedBlocksChecker; import cpw.mods.fml.common.FMLCommonHandler; @@ -163,7 +164,7 @@ public class GT_TileEntity_LESU extends GT_MetaTileEntity_MultiBlockBase { dsc = StatCollector.translateToLocal("tooltip.tile.lesu.2.name").split(";"); Collections.addAll(e, dsc); e.add(ChatColorHelper.RED + StatCollector.translateToLocal("tooltip.tile.lesu.3.name")); - e.add(StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks"); + e.add(BW_Tooltip_Reference.ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS.get()); return e.toArray(new String[0]); } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ManualTrafo.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ManualTrafo.java index 06c8324457..9c43cff7de 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ManualTrafo.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ManualTrafo.java @@ -23,7 +23,7 @@ package com.github.bartimaeusnek.bartworks.common.tileentities.multis; import com.github.bartimaeusnek.bartworks.common.loaders.ItemRegistry; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import gregtech.api.GregTech_API; import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; @@ -37,7 +37,6 @@ import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Utility; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.StatCollector; import net.minecraftforge.common.util.ForgeDirection; import static gregtech.api.enums.GT_Values.V; @@ -374,13 +373,7 @@ public class GT_TileEntity_ManualTrafo extends GT_MetaTileEntity_MultiBlockBase @Override public String[] getDescription() { - String[] dsc = StatCollector.translateToLocal("tooltip.tile.manualtravo.0.name").split(";"); - String[] fdsc = new String[dsc.length + 1]; - for (int i = 0; i < dsc.length; i++) { - fdsc[i] = dsc[i]; - fdsc[dsc.length] = StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks"; - } - return fdsc; + return BW_Tooltip_Reference.getTranslatedBrandedTooltip("tooltip.tile.manualtravo.0.name"); } @Override diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_THTR.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_THTR.java index dc85f9476d..d46754840d 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_THTR.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_THTR.java @@ -24,8 +24,8 @@ package com.github.bartimaeusnek.bartworks.common.tileentities.multis; import com.github.bartimaeusnek.bartworks.common.items.SimpleSubItemClass; import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import com.github.bartimaeusnek.bartworks.util.BW_Util; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; import com.github.bartimaeusnek.bartworks.util.MathUtils; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.GregTech_API; @@ -45,7 +45,6 @@ import gregtech.api.util.GT_Utility; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.StatCollector; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; @@ -319,13 +318,7 @@ public class GT_TileEntity_THTR extends GT_MetaTileEntity_MultiBlockBase { @Override public String[] getDescription() { - String[] dsc = StatCollector.translateToLocal("tooltip.tile.htr.0.name").split(";"); - String[] mDescription = new String[dsc.length + 1]; - for (int i = 0; i < dsc.length; i++) { - mDescription[i] = dsc[i]; - mDescription[dsc.length] = StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks"; - } - return mDescription; + return BW_Tooltip_Reference.getTranslatedBrandedTooltip("tooltip.tile.htr.0.name"); } @Override diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_Windmill.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_Windmill.java index 69a20db22c..2bea093f2a 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_Windmill.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_Windmill.java @@ -26,8 +26,8 @@ import com.github.bartimaeusnek.bartworks.MainMod; import com.github.bartimaeusnek.bartworks.client.gui.BW_GUIContainer_Windmill; import com.github.bartimaeusnek.bartworks.common.tileentities.classic.BW_RotorBlock; import com.github.bartimaeusnek.bartworks.server.container.BW_Container_Windmill; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import com.github.bartimaeusnek.bartworks.util.BW_Util; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -55,7 +55,6 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityDispenser; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; -import net.minecraft.util.StatCollector; import net.minecraftforge.common.util.ForgeDirection; import java.util.Arrays; @@ -588,13 +587,7 @@ public class GT_TileEntity_Windmill extends GT_MetaTileEntity_MultiBlockBase { @Override public String[] getDescription() { - String[] dsc = StatCollector.translateToLocal("tooltip.tile.windmill.0.name").split(";"); - String[] fdsc = new String[dsc.length + 1]; - for (int i = 0; i < dsc.length; i++) { - fdsc[i] = dsc[i]; - fdsc[dsc.length] = StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks"; - } - return fdsc; + return BW_Tooltip_Reference.getTranslatedBrandedTooltip("tooltip.tile.windmill.0.name"); } @Override diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaBlastFurnace.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaBlastFurnace.java index 86ac7fc73d..233810028f 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaBlastFurnace.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaBlastFurnace.java @@ -26,11 +26,11 @@ import com.github.bartimaeusnek.bartworks.API.LoaderReference; import com.github.bartimaeusnek.bartworks.MainMod; import com.github.bartimaeusnek.bartworks.common.configs.ConfigHandler; import com.github.bartimaeusnek.bartworks.common.loaders.ItemRegistry; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import com.github.bartimaeusnek.bartworks.util.BW_Util; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; import com.github.bartimaeusnek.bartworks.util.MegaUtils; import com.github.bartimaeusnek.crossmod.tectech.TecTechEnabledMulti; -import com.github.bartimaeusnek.crossmod.tectech.TecTechUtils; +import com.github.bartimaeusnek.crossmod.tectech.helper.TecTechUtils; import com.github.bartimaeusnek.crossmod.tectech.tileentites.tiered.LowPowerLaser; import cpw.mods.fml.common.Optional; import gregtech.api.GregTech_API; @@ -91,7 +91,7 @@ public class GT_TileEntity_MegaBlastFurnace extends GT_MetaTileEntity_ElectricBl String[] fdsc = new String[dsc.length + 1]; for (int i = 0; i < dsc.length; i++) { fdsc[i] = dsc[i]; - fdsc[dsc.length] = StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks"; + fdsc[dsc.length] = BW_Tooltip_Reference.ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS.get(); } return fdsc; } @@ -448,7 +448,7 @@ public class GT_TileEntity_MegaBlastFurnace extends GT_MetaTileEntity_ElectricBl return false; if (LoaderReference.tectech && this.glasTier != 8) - if (!areLazorsLowPowa() || !areThingsProperlyTiered(this.getTecTechEnergyTunnels()) || !areThingsProperlyTiered(this.getTecTechEnergyMultis())) + if (!areLazorsLowPowa() || areThingsNotProperlyTiered(this.getTecTechEnergyTunnels()) || areThingsNotProperlyTiered(this.getTecTechEnergyMultis())) return false; if (this.glasTier != 8 && !this.mEnergyHatches.isEmpty()) @@ -461,12 +461,12 @@ public class GT_TileEntity_MegaBlastFurnace extends GT_MetaTileEntity_ElectricBl @SuppressWarnings("rawtypes") @Optional.Method(modid = "tectech") - private boolean areThingsProperlyTiered(Collection collection) { + private boolean areThingsNotProperlyTiered(Collection collection) { if (!collection.isEmpty()) for (Object tecTechEnergyMulti : collection) if (((GT_MetaTileEntity_TieredMachineBlock) tecTechEnergyMulti).mTier > this.glasTier) - return false; - return true; + return true; + return false; } @SuppressWarnings("rawtypes") diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaDistillTower.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaDistillTower.java index 33434bb9d6..1d565567a5 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaDistillTower.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaDistillTower.java @@ -23,10 +23,7 @@ package com.github.bartimaeusnek.bartworks.common.tileentities.multis.mega; import com.github.bartimaeusnek.bartworks.common.configs.ConfigHandler; -import com.github.bartimaeusnek.bartworks.util.BW_Util; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; -import com.github.bartimaeusnek.bartworks.util.MathUtils; -import com.github.bartimaeusnek.bartworks.util.MegaUtils; +import com.github.bartimaeusnek.bartworks.util.*; import com.google.common.collect.ArrayListMultimap; import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; @@ -38,7 +35,6 @@ import gregtech.api.util.GT_Utility; import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_DistillationTower; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; -import net.minecraft.util.StatCollector; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidStack; @@ -76,7 +72,7 @@ public class GT_TileEntity_MegaDistillTower extends GT_MetaTileEntity_Distillati "Fluids are only put out at the correct height", "The correct height equals the slot number in the NEI recipe", "Clean Stainless Steel Machine Casings for the rest (15 x h - 5 at least!)", - StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks" + BW_Tooltip_Reference.ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS.get() }; } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaVacuumFreezer.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaVacuumFreezer.java index 2d553a506e..6a3c6ae7ae 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaVacuumFreezer.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaVacuumFreezer.java @@ -24,11 +24,11 @@ package com.github.bartimaeusnek.bartworks.common.tileentities.multis.mega; import com.github.bartimaeusnek.bartworks.API.LoaderReference; import com.github.bartimaeusnek.bartworks.common.configs.ConfigHandler; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import com.github.bartimaeusnek.bartworks.util.BW_Util; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; import com.github.bartimaeusnek.bartworks.util.MegaUtils; import com.github.bartimaeusnek.crossmod.tectech.TecTechEnabledMulti; -import com.github.bartimaeusnek.crossmod.tectech.TecTechUtils; +import com.github.bartimaeusnek.crossmod.tectech.helper.TecTechUtils; import cpw.mods.fml.common.Optional; import gregtech.api.GregTech_API; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; @@ -39,7 +39,6 @@ import gregtech.api.util.GT_Utility; import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_VacuumFreezer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; -import net.minecraft.util.StatCollector; import java.util.ArrayList; import java.util.List; @@ -58,13 +57,7 @@ public class GT_TileEntity_MegaVacuumFreezer extends GT_MetaTileEntity_VacuumFre } public String[] getDescription() { - String[] dsc = StatCollector.translateToLocal("tooltip.tile.mvf.0.name").split(";"); - String[] fdsc = new String[dsc.length + 1]; - for (int i = 0; i < dsc.length; i++) { - fdsc[i] = dsc[i]; - fdsc[dsc.length] = StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks"; - } - return fdsc; + return BW_Tooltip_Reference.getTranslatedBrandedTooltip("tooltip.tile.mvf.0.name"); } @Override diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_AcidGenerator.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_AcidGenerator.java index 9d17accb06..3188ce4aa1 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_AcidGenerator.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_AcidGenerator.java @@ -23,6 +23,7 @@ package com.github.bartimaeusnek.bartworks.common.tileentities.tiered; import com.github.bartimaeusnek.bartworks.util.BWRecipes; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Textures; @@ -109,6 +110,6 @@ public class GT_MetaTileEntity_AcidGenerator extends GT_MetaTileEntity_BasicGene } public String[] getDescription() { - return new String[]{StatCollector.translateToLocal("tooltip.tile.acidgen.0.name"), StatCollector.translateToLocal("tooltip.tile.acidgen.1.name"), StatCollector.translateToLocal("tooltip.tile.tiereddsc.0.name") + " " + ChatColorHelper.YELLOW + GT_Values.V[this.mTier], StatCollector.translateToLocal("tooltip.rotor.2.name") + " " + ChatColorHelper.YELLOW + this.getEfficiency(), StatCollector.translateToLocal("tooltip.tile.tiereddsc.2.name") + " " + ChatColorHelper.YELLOW + this.maxAmperesOut(), StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks"}; + return new String[]{StatCollector.translateToLocal("tooltip.tile.acidgen.0.name"), StatCollector.translateToLocal("tooltip.tile.acidgen.1.name"), StatCollector.translateToLocal("tooltip.tile.tiereddsc.0.name") + " " + ChatColorHelper.YELLOW + GT_Values.V[this.mTier], StatCollector.translateToLocal("tooltip.rotor.2.name") + " " + ChatColorHelper.YELLOW + this.getEfficiency(), StatCollector.translateToLocal("tooltip.tile.tiereddsc.2.name") + " " + ChatColorHelper.YELLOW + this.maxAmperesOut(), BW_Tooltip_Reference.ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS.get()}; } } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_BioLab.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_BioLab.java index fccba2ae65..149c9e09fd 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_BioLab.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_BioLab.java @@ -268,6 +268,6 @@ public class GT_MetaTileEntity_BioLab extends GT_MetaTileEntity_BasicMachine { @Override public String[] getDescription() { - return new String[]{StatCollector.translateToLocal("tooltip.tile.biolab.0.name"), StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks"}; + return new String[]{StatCollector.translateToLocal("tooltip.tile.biolab.0.name"), BW_Tooltip_Reference.ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS.get()}; } } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_Diode.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_Diode.java index 3d82290fac..28e4bd2d7f 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_Diode.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_Diode.java @@ -23,6 +23,7 @@ package com.github.bartimaeusnek.bartworks.common.tileentities.tiered; import com.github.bartimaeusnek.bartworks.common.configs.ConfigHandler; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; import gregtech.api.enums.GT_Values; import gregtech.api.interfaces.ITexture; @@ -123,6 +124,6 @@ public class GT_MetaTileEntity_Diode extends GT_MetaTileEntity_BasicHull { @SuppressWarnings("deprecation") public String[] getDescription() { - return new String[]{this.mDescription, StatCollector.translateToLocal("tooltip.tile.tiereddsc.0.name") + " " + ChatColorHelper.YELLOW + GT_Values.V[this.mTier], StatCollector.translateToLocal("tooltip.tile.tiereddsc.1.name") + " " + ChatColorHelper.YELLOW + this.maxAmperesIn(), StatCollector.translateToLocal("tooltip.tile.tiereddsc.2.name") + " " + ChatColorHelper.YELLOW + this.maxAmperesOut(), StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks"}; + return new String[]{this.mDescription, StatCollector.translateToLocal("tooltip.tile.tiereddsc.0.name") + " " + ChatColorHelper.YELLOW + GT_Values.V[this.mTier], StatCollector.translateToLocal("tooltip.tile.tiereddsc.1.name") + " " + ChatColorHelper.YELLOW + this.maxAmperesIn(), StatCollector.translateToLocal("tooltip.tile.tiereddsc.2.name") + " " + ChatColorHelper.YELLOW + this.maxAmperesOut(), BW_Tooltip_Reference.ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS.get()}; } } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_EnergyDistributor.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_EnergyDistributor.java index eb19af2040..e011d08609 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_EnergyDistributor.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_EnergyDistributor.java @@ -22,6 +22,7 @@ package com.github.bartimaeusnek.bartworks.common.tileentities.tiered; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; import gregtech.api.enums.GT_Values; import gregtech.api.interfaces.ITexture; @@ -70,7 +71,7 @@ public class GT_MetaTileEntity_EnergyDistributor extends GT_MetaTileEntity_Trans } public String[] getDescription() { - return new String[]{StatCollector.translateToLocal("tooltip.tile.energydistributor.0.name"), StatCollector.translateToLocal("tooltip.tile.tiereddsc.0.name") + " " + ChatColorHelper.YELLOW + GT_Values.V[this.mTier], StatCollector.translateToLocal("tooltip.tile.tiereddsc.1.name") + " " + ChatColorHelper.YELLOW + this.maxAmperesIn(), StatCollector.translateToLocal("tooltip.tile.tiereddsc.2.name") + " " + ChatColorHelper.YELLOW + this.maxAmperesOut(), StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks"}; + return new String[]{StatCollector.translateToLocal("tooltip.tile.energydistributor.0.name"), StatCollector.translateToLocal("tooltip.tile.tiereddsc.0.name") + " " + ChatColorHelper.YELLOW + GT_Values.V[this.mTier], StatCollector.translateToLocal("tooltip.tile.tiereddsc.1.name") + " " + ChatColorHelper.YELLOW + this.maxAmperesIn(), StatCollector.translateToLocal("tooltip.tile.tiereddsc.2.name") + " " + ChatColorHelper.YELLOW + this.maxAmperesOut(), BW_Tooltip_Reference.ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS.get()}; } } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_RadioHatch.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_RadioHatch.java index 9b6154b4aa..40b6904c02 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_RadioHatch.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_RadioHatch.java @@ -29,10 +29,9 @@ import com.github.bartimaeusnek.bartworks.MainMod; import com.github.bartimaeusnek.bartworks.client.gui.GT_GUIContainer_RadioHatch; import com.github.bartimaeusnek.bartworks.server.container.GT_Container_RadioHatch; import com.github.bartimaeusnek.bartworks.util.BW_ColorUtil; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import com.github.bartimaeusnek.bartworks.util.MathUtils; import com.github.bartimaeusnek.crossmod.GTpp.loader.RadioHatchCompat; -import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.Textures; @@ -62,7 +61,7 @@ public class GT_MetaTileEntity_RadioHatch extends GT_MetaTileEntity_Hatch { private byte coverage; public GT_MetaTileEntity_RadioHatch(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier, 1, new String[]{StatCollector.translateToLocal("tooltip.tile.radhatch.0.name"), StatCollector.translateToLocal("tooltip.tile.tiereddsc.3.name") + " " + (aTier - 2) + " " + ((aTier - 2) >= 2 ? StatCollector.translateToLocal("tooltip.bw.kg.1.name") : StatCollector.translateToLocal("tooltip.bw.kg.0.name")), StatCollector.translateToLocal("tooltip.tile.radhatch.1.name"), StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks"}); + super(aID, aName, aNameRegional, aTier, 1, new String[]{StatCollector.translateToLocal("tooltip.tile.radhatch.0.name"), StatCollector.translateToLocal("tooltip.tile.tiereddsc.3.name") + " " + (aTier - 2) + " " + ((aTier - 2) >= 2 ? StatCollector.translateToLocal("tooltip.bw.kg.1.name") : StatCollector.translateToLocal("tooltip.bw.kg.0.name")), StatCollector.translateToLocal("tooltip.tile.radhatch.1.name"), BW_Tooltip_Reference.ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS.get()}); this.cap = aTier - 2; } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/neiHandler/BW_NEI_OreHandler.java b/src/main/java/com/github/bartimaeusnek/bartworks/neiHandler/BW_NEI_OreHandler.java index 677a9af5f7..c54667c431 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/neiHandler/BW_NEI_OreHandler.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/neiHandler/BW_NEI_OreHandler.java @@ -74,10 +74,10 @@ public class BW_NEI_OreHandler extends TemplateRecipeHandler { public void loadCraftingRecipes(String outputId, Object... results) { if (outputId.equalsIgnoreCase("quickanddirtyneihandler")) { HashSet<ItemStack> result = new HashSet<>(); - Werkstoff.werkstoffHashSet.stream().filter(w -> w.getGenerationFeatures().hasOres()).forEach(w -> result.add(w.get(OrePrefixes.ore))); + Werkstoff.werkstoffHashSet.stream().filter(w -> w.hasGenerationFeature(OrePrefixes.ore)).forEach(w -> result.add(w.get(OrePrefixes.ore))); result.forEach(this::loadCraftingRecipes); result.clear(); - Werkstoff.werkstoffHashSet.stream().filter(w -> w.getGenerationFeatures().hasOres()).forEach(w -> result.add(w.get(OrePrefixes.oreSmall))); + Werkstoff.werkstoffHashSet.stream().filter(w -> w.hasGenerationFeature(OrePrefixes.ore)).forEach(w -> result.add(w.get(OrePrefixes.oreSmall))); result.forEach(this::loadCraftingRecipes); result.clear(); HashSet<TemplateRecipeHandler.CachedRecipe> hashSet = new HashSet<>(this.arecipes); diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_GT_MaterialReference.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_GT_MaterialReference.java new file mode 100644 index 0000000000..f22d9ac470 --- /dev/null +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_GT_MaterialReference.java @@ -0,0 +1,644 @@ +/* + * Copyright (c) 2018-2020 bartimaeusnek + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +package com.github.bartimaeusnek.bartworks.system.material; + +import com.github.bartimaeusnek.bartworks.MainMod; +import gregtech.api.enums.Materials; +import static com.github.bartimaeusnek.bartworks.system.material.Werkstoff.Types.*; + +public class BW_GT_MaterialReference { + private static final Werkstoff.GenerationFeatures ADD_CASINGS_ONLY = new Werkstoff.GenerationFeatures().disable().addCasings(); + + public static Werkstoff Aluminium = new Werkstoff(Materials.Aluminium, ADD_CASINGS_ONLY, ELEMENT,31_766+19); + public static Werkstoff Americium = new Werkstoff(Materials.Americium, ADD_CASINGS_ONLY, ELEMENT,31_766+103); + public static Werkstoff Antimony = new Werkstoff(Materials.Antimony, ADD_CASINGS_ONLY, ELEMENT, 31_766+58); +// public static Werkstoff Argon = new Werkstoff(Materials.Argon, ADD_CASINGS_ONLY, ELEMENT, 31_766+24); + public static Werkstoff Arsenic = new Werkstoff(Materials.Arsenic, ADD_CASINGS_ONLY, ELEMENT, 31_766+39); + public static Werkstoff Barium = new Werkstoff(Materials.Barium, ADD_CASINGS_ONLY, ELEMENT, 31_766+63); + public static Werkstoff Beryllium = new Werkstoff(Materials.Beryllium, ADD_CASINGS_ONLY, ELEMENT, 31_766+8); + public static Werkstoff Bismuth = new Werkstoff(Materials.Bismuth, ADD_CASINGS_ONLY, ELEMENT, 31_766+90); + public static Werkstoff Boron = new Werkstoff(Materials.Boron, ADD_CASINGS_ONLY, ELEMENT, 31_766+9); + public static Werkstoff Caesium = new Werkstoff(Materials.Caesium, ADD_CASINGS_ONLY, ELEMENT, 31_766+62); +// public static Werkstoff Calcium = new Werkstoff(Materials.Calcium, ADD_CASINGS_ONLY, ELEMENT, 31_766+26); + public static Werkstoff Carbon = new Werkstoff(Materials.Carbon, ADD_CASINGS_ONLY, ELEMENT, 31_766+10); + public static Werkstoff Cadmium = new Werkstoff(Materials.Cadmium, ADD_CASINGS_ONLY, ELEMENT, 31_766+55); + public static Werkstoff Cerium = new Werkstoff(Materials.Cerium, ADD_CASINGS_ONLY, ELEMENT, 31_766+65); +// public static Werkstoff Chlorine = new Werkstoff(Materials.Chlorine, ADD_CASINGS_ONLY, ELEMENT, 31_766+23); + public static Werkstoff Chrome = new Werkstoff(Materials.Chrome, ADD_CASINGS_ONLY, ELEMENT, 31_766+30); + public static Werkstoff Cobalt = new Werkstoff(Materials.Cobalt, ADD_CASINGS_ONLY, ELEMENT, 31_766+33); + public static Werkstoff Copper = new Werkstoff(Materials.Copper, ADD_CASINGS_ONLY, ELEMENT, 31_766+35); +// public static Werkstoff Deuterium = new Werkstoff(Materials.Deuterium, ADD_CASINGS_ONLY, ELEMENT, 31_766+2); + public static Werkstoff Dysprosium = new Werkstoff(Materials.Dysprosium, ADD_CASINGS_ONLY, ELEMENT, 31_766+73); +// public static Werkstoff Empty = new Werkstoff(Materials.Empty, ADD_CASINGS_ONLY, ELEMENT, 31_766+0); + public static Werkstoff Erbium = new Werkstoff(Materials.Erbium, ADD_CASINGS_ONLY, ELEMENT, 31_766+75); + public static Werkstoff Europium = new Werkstoff(Materials.Europium, ADD_CASINGS_ONLY, ELEMENT, 31_766+70); +// public static Werkstoff Fluorine = new Werkstoff(Materials.Fluorine, ADD_CASINGS_ONLY, ELEMENT, 31_766+14); + public static Werkstoff Gadolinium = new Werkstoff(Materials.Gadolinium, ADD_CASINGS_ONLY, ELEMENT, 31_766+71); + public static Werkstoff Gallium = new Werkstoff(Materials.Gallium, ADD_CASINGS_ONLY, ELEMENT, 31_766+37); + public static Werkstoff Gold = new Werkstoff(Materials.Gold, ADD_CASINGS_ONLY, ELEMENT, 31_766+86); + public static Werkstoff Holmium = new Werkstoff(Materials.Holmium, ADD_CASINGS_ONLY, ELEMENT, 31_766+74); +// public static Werkstoff Hydrogen = new Werkstoff(Materials.Hydrogen, ADD_CASINGS_ONLY, ELEMENT, 31_766+1); +// public static Werkstoff Helium = new Werkstoff(Materials.Helium, ADD_CASINGS_ONLY, ELEMENT, 31_766+4); +// public static Werkstoff Helium_3 = new Werkstoff(Materials.Helium_3, ADD_CASINGS_ONLY, ELEMENT, 31_766+5); + public static Werkstoff Indium = new Werkstoff(Materials.Indium, ADD_CASINGS_ONLY, ELEMENT, 31_766+56); + public static Werkstoff Iridium = new Werkstoff(Materials.Iridium, ADD_CASINGS_ONLY, ELEMENT, 31_766+84); + public static Werkstoff Iron = new Werkstoff(Materials.Iron, ADD_CASINGS_ONLY, ELEMENT, 31_766+32); + public static Werkstoff Lanthanum = new Werkstoff(Materials.Lanthanum, ADD_CASINGS_ONLY, ELEMENT, 31_766+64); + public static Werkstoff Lead = new Werkstoff(Materials.Lead, ADD_CASINGS_ONLY, ELEMENT, 31_766+89); + public static Werkstoff Lithium = new Werkstoff(Materials.Lithium, ADD_CASINGS_ONLY, ELEMENT, 31_766+6); + public static Werkstoff Lutetium = new Werkstoff(Materials.Lutetium, ADD_CASINGS_ONLY, ELEMENT, 31_766+78); + public static Werkstoff Magnesium = new Werkstoff(Materials.Magnesium, ADD_CASINGS_ONLY, ELEMENT, 31_766+18); + public static Werkstoff Manganese = new Werkstoff(Materials.Manganese, ADD_CASINGS_ONLY, ELEMENT, 31_766+31); +// public static Werkstoff Mercury = new Werkstoff(Materials.Mercury, ADD_CASINGS_ONLY, ELEMENT, 31_766+87); + public static Werkstoff Molybdenum = new Werkstoff(Materials.Molybdenum, ADD_CASINGS_ONLY, ELEMENT, 31_766+48); + public static Werkstoff Neodymium = new Werkstoff(Materials.Neodymium, ADD_CASINGS_ONLY, ELEMENT, 31_766+67); + public static Werkstoff Neutronium = new Werkstoff(Materials.Neutronium, ADD_CASINGS_ONLY, ELEMENT,31_766+129); + public static Werkstoff Nickel = new Werkstoff(Materials.Nickel, ADD_CASINGS_ONLY, ELEMENT, 31_766+34); + public static Werkstoff Niobium = new Werkstoff(Materials.Niobium, ADD_CASINGS_ONLY, ELEMENT, 31_766+47); +// public static Werkstoff Nitrogen = new Werkstoff(Materials.Nitrogen, ADD_CASINGS_ONLY, ELEMENT, 31_766+12); + public static Werkstoff Osmium = new Werkstoff(Materials.Osmium, ADD_CASINGS_ONLY, ELEMENT, 31_766+83); +// public static Werkstoff Oxygen = new Werkstoff(Materials.Oxygen, ADD_CASINGS_ONLY, ELEMENT, 31_766+13); + public static Werkstoff Palladium = new Werkstoff(Materials.Palladium, ADD_CASINGS_ONLY, ELEMENT, 31_766+52); + public static Werkstoff Phosphorus = new Werkstoff(Materials.Phosphorus, ADD_CASINGS_ONLY, ELEMENT, 31_766+21); + public static Werkstoff Platinum = new Werkstoff(Materials.Platinum, ADD_CASINGS_ONLY, ELEMENT, 31_766+85); + public static Werkstoff Plutonium = new Werkstoff(Materials.Plutonium, ADD_CASINGS_ONLY, ELEMENT,31_766+100); + public static Werkstoff Plutonium241 = new Werkstoff(Materials.Plutonium241, ADD_CASINGS_ONLY, ISOTOPE,31_766+101); + public static Werkstoff Potassium = new Werkstoff(Materials.Potassium, ADD_CASINGS_ONLY, ELEMENT, 31_766+25); + public static Werkstoff Praseodymium = new Werkstoff(Materials.Praseodymium, ADD_CASINGS_ONLY, ELEMENT, 31_766+66); + public static Werkstoff Promethium = new Werkstoff(Materials.Promethium, ADD_CASINGS_ONLY, ELEMENT, 31_766+68); +// public static Werkstoff Radon = new Werkstoff(Materials.Radon, ADD_CASINGS_ONLY, ELEMENT, 31_766+93); + public static Werkstoff Rubidium = new Werkstoff(Materials.Rubidium, ADD_CASINGS_ONLY, ELEMENT, 31_766+43); + public static Werkstoff Samarium = new Werkstoff(Materials.Samarium, ADD_CASINGS_ONLY, ELEMENT, 31_766+69); + public static Werkstoff Scandium = new Werkstoff(Materials.Scandium, ADD_CASINGS_ONLY, ELEMENT, 31_766+27); + public static Werkstoff Silicon = new Werkstoff(Materials.Silicon, ADD_CASINGS_ONLY, ELEMENT, 31_766+20); + public static Werkstoff Silver = new Werkstoff(Materials.Silver, ADD_CASINGS_ONLY, ELEMENT, 31_766+54); + public static Werkstoff Sodium = new Werkstoff(Materials.Sodium, ADD_CASINGS_ONLY, ELEMENT, 31_766+17); + public static Werkstoff Strontium = new Werkstoff(Materials.Strontium, ADD_CASINGS_ONLY, ELEMENT, 31_766+44); + public static Werkstoff Sulfur = new Werkstoff(Materials.Sulfur, ADD_CASINGS_ONLY, ELEMENT, 31_766+22); + public static Werkstoff Tantalum = new Werkstoff(Materials.Tantalum, ADD_CASINGS_ONLY, ELEMENT, 31_766+80); +// public static Werkstoff Tellurium = new Werkstoff(Materials.Tellurium, ADD_CASINGS_ONLY, ELEMENT, 31_766+59); + public static Werkstoff Terbium = new Werkstoff(Materials.Terbium, ADD_CASINGS_ONLY, ELEMENT, 31_766+72); + public static Werkstoff Thorium = new Werkstoff(Materials.Thorium, ADD_CASINGS_ONLY, ELEMENT, 31_766+96); + public static Werkstoff Thulium = new Werkstoff(Materials.Thulium, ADD_CASINGS_ONLY, ELEMENT, 31_766+76); + public static Werkstoff Tin = new Werkstoff(Materials.Tin, ADD_CASINGS_ONLY, ELEMENT, 31_766+57); + public static Werkstoff Titanium = new Werkstoff(Materials.Titanium, ADD_CASINGS_ONLY, ELEMENT, 31_766+28); + public static Werkstoff Tritanium = new Werkstoff(Materials.Tritanium, ADD_CASINGS_ONLY, ELEMENT,31_766+329); + public static Werkstoff Tritium = new Werkstoff(Materials.Tritium, ADD_CASINGS_ONLY, ELEMENT, 31_766+3); + public static Werkstoff Tungsten = new Werkstoff(Materials.Tungsten, ADD_CASINGS_ONLY, ELEMENT, 31_766+81); + public static Werkstoff Uranium = new Werkstoff(Materials.Uranium, ADD_CASINGS_ONLY, ELEMENT, 31_766+98); + public static Werkstoff Uranium235 = new Werkstoff(Materials.Uranium235, ADD_CASINGS_ONLY, ISOTOPE, 31_766+97); + public static Werkstoff Vanadium = new Werkstoff(Materials.Vanadium, ADD_CASINGS_ONLY, ELEMENT, 31_766+29); + public static Werkstoff Ytterbium = new Werkstoff(Materials.Ytterbium, ADD_CASINGS_ONLY, ELEMENT, 31_766+77); + public static Werkstoff Yttrium = new Werkstoff(Materials.Yttrium, ADD_CASINGS_ONLY, ELEMENT, 31_766+45); + public static Werkstoff Zinc = new Werkstoff(Materials.Zinc, ADD_CASINGS_ONLY, ELEMENT, 31_766+36); + public static Werkstoff Ardite = new Werkstoff(Materials.Ardite, ADD_CASINGS_ONLY, ELEMENT,31_766+382); + public static Werkstoff Naquadah = new Werkstoff(Materials.Naquadah, ADD_CASINGS_ONLY, ELEMENT,31_766+324); + public static Werkstoff NaquadahAlloy = new Werkstoff(Materials.NaquadahAlloy, ADD_CASINGS_ONLY, COMPOUND,31_766+325); + public static Werkstoff NaquadahEnriched = new Werkstoff(Materials.NaquadahEnriched, ADD_CASINGS_ONLY, ISOTOPE,31_766+326); + public static Werkstoff Naquadria = new Werkstoff(Materials.Naquadria, ADD_CASINGS_ONLY, ELEMENT,31_766+327); + public static Werkstoff WroughtIron = new Werkstoff(Materials.WroughtIron, ADD_CASINGS_ONLY, ISOTOPE,31_766+304); + public static Werkstoff AnnealedCopper = new Werkstoff(Materials.AnnealedCopper, ADD_CASINGS_ONLY, ISOTOPE,31_766+345); + + public static Werkstoff Osmiridium = new Werkstoff(Materials.Osmiridium, ADD_CASINGS_ONLY, MIXTURE,31_766+317); + public static Werkstoff SterlingSilver = new Werkstoff(Materials.SterlingSilver, ADD_CASINGS_ONLY, MIXTURE,31_766+350); + public static Werkstoff RoseGold = new Werkstoff(Materials.RoseGold, ADD_CASINGS_ONLY, MIXTURE,31_766+351); + public static Werkstoff BlackBronze = new Werkstoff(Materials.BlackBronze, ADD_CASINGS_ONLY, MIXTURE,31_766+352); + public static Werkstoff BismuthBronze = new Werkstoff(Materials.BismuthBronze, ADD_CASINGS_ONLY, MIXTURE,31_766+353); + public static Werkstoff BlackSteel = new Werkstoff(Materials.BlackSteel, ADD_CASINGS_ONLY, MIXTURE,31_766+334); + public static Werkstoff RedSteel = new Werkstoff(Materials.RedSteel, ADD_CASINGS_ONLY, MIXTURE,31_766+348); + public static Werkstoff BlueSteel = new Werkstoff(Materials.BlueSteel, ADD_CASINGS_ONLY, MIXTURE,31_766+349); + public static Werkstoff DamascusSteel = new Werkstoff(Materials.DamascusSteel, ADD_CASINGS_ONLY, MIXTURE,31_766+335); + public static Werkstoff TungstenSteel = new Werkstoff(Materials.TungstenSteel, ADD_CASINGS_ONLY, MIXTURE,31_766+316); + public static Werkstoff Ultimet = new Werkstoff(Materials.Ultimet, ADD_CASINGS_ONLY, MIXTURE,31_766+344); + public static Werkstoff TungstenCarbide = new Werkstoff(Materials.TungstenCarbide, ADD_CASINGS_ONLY, MIXTURE,31_766+370); + public static Werkstoff VanadiumSteel = new Werkstoff(Materials.VanadiumSteel, ADD_CASINGS_ONLY, MIXTURE,31_766+371); + public static Werkstoff HSSG = new Werkstoff(Materials.HSSG, ADD_CASINGS_ONLY, MIXTURE,31_766+372); + public static Werkstoff HSSE = new Werkstoff(Materials.HSSE, ADD_CASINGS_ONLY, MIXTURE,31_766+373); + public static Werkstoff HSSS = new Werkstoff(Materials.HSSS, ADD_CASINGS_ONLY, MIXTURE,31_766+374); + public static Werkstoff StainlessSteel = new Werkstoff(Materials.StainlessSteel, ADD_CASINGS_ONLY, MIXTURE,31_766+306); + public static Werkstoff Brass = new Werkstoff(Materials.Brass, ADD_CASINGS_ONLY, MIXTURE,31_766+301); + public static Werkstoff Bronze = new Werkstoff(Materials.Bronze, ADD_CASINGS_ONLY, MIXTURE,31_766+300); + + public static Werkstoff Wood = new Werkstoff(Materials.Wood, ADD_CASINGS_ONLY, BIOLOGICAL,31_766+809); + // public static Werkstoff WoodSealed = new Werkstoff(Materials.WoodSealed, ADD_CASINGS_ONLY, BIOLOGICAL,31_766+889); + public static Werkstoff Cheese = new Werkstoff(Materials.Cheese, new Werkstoff.GenerationFeatures().addCasings().addMetalItems().addMultipleIngotMetalWorkingItems().enforceUnification(), BIOLOGICAL,31_766+894); + + public static Werkstoff Steel = new Werkstoff(Materials.Steel, ADD_CASINGS_ONLY, COMPOUND,31_766+305); + public static Werkstoff Polytetrafluoroethylene = new Werkstoff(Materials.Polytetrafluoroethylene, ADD_CASINGS_ONLY, COMPOUND,31_766+473); + public static Werkstoff Plastic = new Werkstoff(Materials.Plastic, ADD_CASINGS_ONLY, COMPOUND,31_766+874); + public static Werkstoff Epoxid = new Werkstoff(Materials.Epoxid, ADD_CASINGS_ONLY, COMPOUND,31_766+470); + + public static void init() { + MainMod.LOGGER.info("Load Elements from GT"); + } + +// TODO: GT++ only? + +// public static Werkstoff Flerovium = new Werkstoff(Materials.Flerovium, <GenerationFeatures>, <TypeRef>,31_766+984); + +// public static Werkstoff HeeEndium = new Werkstoff(Materials.HeeEndium, <GenerationFeatures>, <TypeRef>,31_766+770); +// public static Werkstoff PlatinumGroupSludge = new Werkstoff(Materials.PlatinumGroupSludge, <GenerationFeatures>, <TypeRef>,31_766+241); +// public static Werkstoff Draconium = new Werkstoff(Materials.Draconium, <GenerationFeatures>, <TypeRef>,31_766+975); +// public static Werkstoff DraconiumAwakened = new Werkstoff(Materials.DraconiumAwakened, <GenerationFeatures>, <TypeRef>,31_766+976); +// public static Werkstoff Adamantium = new Werkstoff(Materials.Adamantium, <GenerationFeatures>, <TypeRef>,31_766+319); +// public static Werkstoff Alduorite = new Werkstoff(Materials.Alduorite, <GenerationFeatures>, <TypeRef>,31_766+485); +// public static Werkstoff Amber = new Werkstoff(Materials.Amber, <GenerationFeatures>, <TypeRef>,31_766+514); +// public static Werkstoff Angmallen = new Werkstoff(Materials.Angmallen, <GenerationFeatures>, <TypeRef>,31_766+958); + +// public static Werkstoff Atlarus = new Werkstoff(Materials.Atlarus, <GenerationFeatures>, <TypeRef>,31_766+965); +// public static Werkstoff Blizz = new Werkstoff(Materials.Blizz, <GenerationFeatures>, <TypeRef>,31_766+851); +// public static Werkstoff Blueschist = new Werkstoff(Materials.Blueschist, <GenerationFeatures>, <TypeRef>,31_766+852); +// public static Werkstoff Bluestone = new Werkstoff(Materials.Bluestone, <GenerationFeatures>, <TypeRef>,31_766+813); +// public static Werkstoff Carmot = new Werkstoff(Materials.Carmot, <GenerationFeatures>, <TypeRef>,31_766+962); +// public static Werkstoff Celenegil = new Werkstoff(Materials.Celenegil, <GenerationFeatures>, <TypeRef>,31_766+964); +// public static Werkstoff CertusQuartz = new Werkstoff(Materials.CertusQuartz, <GenerationFeatures>, <TypeRef>,31_766+516); +// public static Werkstoff Ceruclase = new Werkstoff(Materials.Ceruclase, <GenerationFeatures>, <TypeRef>,31_766+952); +// public static Werkstoff CobaltHexahydrate = new Werkstoff(Materials.CobaltHexahydrate, <GenerationFeatures>, <TypeRef>,31_766+853); +// public static Werkstoff ConstructionFoam = new Werkstoff(Materials.ConstructionFoam, <GenerationFeatures>, <TypeRef>,31_766+854); +// public static Werkstoff Chert = new Werkstoff(Materials.Chert, <GenerationFeatures>, <TypeRef>,31_766+857); +// public static Werkstoff CrudeOil = new Werkstoff(Materials.CrudeOil, <GenerationFeatures>, <TypeRef>,31_766+858); +// public static Werkstoff Dacite = new Werkstoff(Materials.Dacite, <GenerationFeatures>, <TypeRef>,31_766+859); +// public static Werkstoff DarkIron = new Werkstoff(Materials.DarkIron, <GenerationFeatures>, <TypeRef>,31_766+342); +// public static Werkstoff Desh = new Werkstoff(Materials.Desh, <GenerationFeatures>, <TypeRef>,31_766+884); +// public static Werkstoff Dilithium = new Werkstoff(Materials.Dilithium, <GenerationFeatures>, <TypeRef>,31_766+515); +// public static Werkstoff Duranium = new Werkstoff(Materials.Duranium, <GenerationFeatures>, <TypeRef>,31_766+328); +// public static Werkstoff Eclogite = new Werkstoff(Materials.Eclogite, <GenerationFeatures>, <TypeRef>,31_766+860); +// public static Werkstoff ElectrumFlux = new Werkstoff(Materials.ElectrumFlux, <GenerationFeatures>, <TypeRef>,31_766+320); +// public static Werkstoff Emery = new Werkstoff(Materials.Emery, <GenerationFeatures>, <TypeRef>,31_766+861); +// public static Werkstoff EnderiumBase = new Werkstoff(Materials.EnderiumBase, <GenerationFeatures>, <TypeRef>,31_766+380); +// public static Werkstoff Epidote = new Werkstoff(Materials.Epidote, <GenerationFeatures>, <TypeRef>,31_766+862); +// public static Werkstoff Eximite = new Werkstoff(Materials.Eximite, <GenerationFeatures>, <TypeRef>,31_766+959); +// public static Werkstoff FierySteel = new Werkstoff(Materials.FierySteel, <GenerationFeatures>, <TypeRef>,31_766+346); +// public static Werkstoff Firestone = new Werkstoff(Materials.Firestone, <GenerationFeatures>, <TypeRef>,31_766+347); +// public static Werkstoff FoolsRuby = new Werkstoff(Materials.FoolsRuby, <GenerationFeatures>, <TypeRef>,31_766+512); +// public static Werkstoff Force = new Werkstoff(Materials.Force, <GenerationFeatures>, <TypeRef>,31_766+521); +// public static Werkstoff Forcicium = new Werkstoff(Materials.Forcicium, <GenerationFeatures>, <TypeRef>,31_766+518); +// public static Werkstoff Forcillium = new Werkstoff(Materials.Forcillium, <GenerationFeatures>, <TypeRef>,31_766+519); +// public static Werkstoff Gabbro = new Werkstoff(Materials.Gabbro, <GenerationFeatures>, <TypeRef>,31_766+863); +// public static Werkstoff Glowstone = new Werkstoff(Materials.Glowstone, <GenerationFeatures>, <TypeRef>,31_766+811); +// public static Werkstoff Gneiss = new Werkstoff(Materials.Gneiss, <GenerationFeatures>, <TypeRef>,31_766+864); +// public static Werkstoff Graphite = new Werkstoff(Materials.Graphite, <GenerationFeatures>, <TypeRef>,31_766+865); +// public static Werkstoff Graphene = new Werkstoff(Materials.Graphene, <GenerationFeatures>, <TypeRef>,31_766+819); +// public static Werkstoff Greenschist = new Werkstoff(Materials.Greenschist, <GenerationFeatures>, <TypeRef>,31_766+866); +// public static Werkstoff Greenstone = new Werkstoff(Materials.Greenstone, <GenerationFeatures>, <TypeRef>,31_766+867); +// public static Werkstoff Greywacke = new Werkstoff(Materials.Greywacke, <GenerationFeatures>, <TypeRef>,31_766+897); +// public static Werkstoff Haderoth = new Werkstoff(Materials.Haderoth, <GenerationFeatures>, <TypeRef>,31_766+963); +// public static Werkstoff Hepatizon = new Werkstoff(Materials.Hepatizon, <GenerationFeatures>, <TypeRef>,31_766+957); +// public static Werkstoff HSLA = new Werkstoff(Materials.HSLA, <GenerationFeatures>, <TypeRef>,31_766+322); +// public static Werkstoff Ignatius = new Werkstoff(Materials.Ignatius, <GenerationFeatures>, <TypeRef>,31_766+950); +// public static Werkstoff Infuscolium = new Werkstoff(Materials.Infuscolium, <GenerationFeatures>, <TypeRef>,31_766+490); +// public static Werkstoff InfusedGold = new Werkstoff(Materials.InfusedGold, <GenerationFeatures>, <TypeRef>,31_766+323); +// public static Werkstoff InfusedAir = new Werkstoff(Materials.InfusedAir, <GenerationFeatures>, <TypeRef>,31_766+540); +// public static Werkstoff InfusedFire = new Werkstoff(Materials.InfusedFire, <GenerationFeatures>, <TypeRef>,31_766+541); +// public static Werkstoff InfusedEarth = new Werkstoff(Materials.InfusedEarth, <GenerationFeatures>, <TypeRef>,31_766+542); +// public static Werkstoff InfusedWater = new Werkstoff(Materials.InfusedWater, <GenerationFeatures>, <TypeRef>,31_766+543); +// public static Werkstoff InfusedEntropy = new Werkstoff(Materials.InfusedEntropy, <GenerationFeatures>, <TypeRef>,31_766+544); +// public static Werkstoff InfusedOrder = new Werkstoff(Materials.InfusedOrder, <GenerationFeatures>, <TypeRef>,31_766+545); +// public static Werkstoff Inolashite = new Werkstoff(Materials.Inolashite, <GenerationFeatures>, <TypeRef>,31_766+954); +// public static Werkstoff Jade = new Werkstoff(Materials.Jade, <GenerationFeatures>, <TypeRef>,31_766+537); +// public static Werkstoff Jasper = new Werkstoff(Materials.Jasper, <GenerationFeatures>, <TypeRef>,31_766+511); +// public static Werkstoff Kalendrite = new Werkstoff(Materials.Kalendrite, <GenerationFeatures>, <TypeRef>,31_766+953); +// public static Werkstoff Komatiite = new Werkstoff(Materials.Komatiite, <GenerationFeatures>, <TypeRef>,31_766+869); +// public static Werkstoff Lava = new Werkstoff(Materials.Lava, <GenerationFeatures>, <TypeRef>,31_766+700); +// public static Werkstoff Lemurite = new Werkstoff(Materials.Lemurite, <GenerationFeatures>, <TypeRef>,31_766+486); +// public static Werkstoff MeteoricIron = new Werkstoff(Materials.MeteoricIron, <GenerationFeatures>, <TypeRef>,31_766+340); +// public static Werkstoff MeteoricSteel = new Werkstoff(Materials.MeteoricSteel, <GenerationFeatures>, <TypeRef>,31_766+341); +// public static Werkstoff Meutoite = new Werkstoff(Materials.Meutoite, <GenerationFeatures>, <TypeRef>,31_766+487); +// public static Werkstoff Migmatite = new Werkstoff(Materials.Migmatite, <GenerationFeatures>, <TypeRef>,31_766+872); + +// public static Werkstoff NetherBrick = new Werkstoff(Materials.NetherBrick, <GenerationFeatures>, <TypeRef>,31_766+814); +// public static Werkstoff NetherQuartz = new Werkstoff(Materials.NetherQuartz, <GenerationFeatures>, <TypeRef>,31_766+522); +// public static Werkstoff NetherStar = new Werkstoff(Materials.NetherStar, <GenerationFeatures>, <TypeRef>,31_766+506); +// public static Werkstoff Oilsands = new Werkstoff(Materials.Oilsands, <GenerationFeatures>, <TypeRef>,31_766+878); +// public static Werkstoff Orichalcum = new Werkstoff(Materials.Orichalcum, <GenerationFeatures>, <TypeRef>,31_766+966); +// public static Werkstoff Oureclase = new Werkstoff(Materials.Oureclase, <GenerationFeatures>, <TypeRef>,31_766+961); +// public static Werkstoff Prometheum = new Werkstoff(Materials.Prometheum, <GenerationFeatures>, <TypeRef>,31_766+960); +// public static Werkstoff Quartzite = new Werkstoff(Materials.Quartzite, <GenerationFeatures>, <TypeRef>,31_766+523); +// public static Werkstoff Rhyolite = new Werkstoff(Materials.Rhyolite, <GenerationFeatures>, <TypeRef>,31_766+875); +// public static Werkstoff Rubracium = new Werkstoff(Materials.Rubracium, <GenerationFeatures>, <TypeRef>,31_766+488); +// public static Werkstoff Sanguinite = new Werkstoff(Materials.Sanguinite, <GenerationFeatures>, <TypeRef>,31_766+955); +// public static Werkstoff Siltstone = new Werkstoff(Materials.Siltstone, <GenerationFeatures>, <TypeRef>,31_766+876); +// public static Werkstoff Tartarite = new Werkstoff(Materials.Tartarite, <GenerationFeatures>, <TypeRef>,31_766+956); +// public static Werkstoff UUAmplifier = new Werkstoff(Materials.UUAmplifier, <GenerationFeatures>, <TypeRef>,31_766+721); +// public static Werkstoff UUMatter = new Werkstoff(Materials.UUMatter, <GenerationFeatures>, <TypeRef>,31_766+703); +// public static Werkstoff Void = new Werkstoff(Materials.Void, <GenerationFeatures>, <TypeRef>,31_766+970); +// public static Werkstoff Vulcanite = new Werkstoff(Materials.Vulcanite, <GenerationFeatures>, <TypeRef>,31_766+489); +// public static Werkstoff Vyroxeres = new Werkstoff(Materials.Vyroxeres, <GenerationFeatures>, <TypeRef>,31_766+951); +// public static Werkstoff BioFuel = new Werkstoff(Materials.BioFuel, <GenerationFeatures>, <TypeRef>,31_766+705); +// public static Werkstoff Biomass = new Werkstoff(Materials.Biomass, <GenerationFeatures>, <TypeRef>,31_766+704); +// public static CharcoalByproducts = new MaterialBuilder + +// public static Werkstoff Chili = new Werkstoff(Materials.Chili, <GenerationFeatures>, <TypeRef>,31_766+895); +// public static Werkstoff Chocolate = new Werkstoff(Materials.Chocolate, <GenerationFeatures>, <TypeRef>,31_766+886); +// public static Werkstoff CoalFuel = new Werkstoff(Materials.CoalFuel, <GenerationFeatures>, <TypeRef>,31_766+710); +// public static Werkstoff Cocoa = new Werkstoff(Materials.Cocoa, <GenerationFeatures>, <TypeRef>,31_766+887); +// public static Werkstoff Coffee = new Werkstoff(Materials.Coffee, <GenerationFeatures>, <TypeRef>,31_766+888); +// public static Werkstoff Creosote = new Werkstoff(Materials.Creosote, <GenerationFeatures>, <TypeRef>,31_766+712); +// public static Werkstoff Ethanol = new Werkstoff(Materials.Ethanol, <GenerationFeatures>, <TypeRef>,31_766+706); +// public static FermentedBiomass = new MaterialBuilder +// public static Werkstoff Fuel = new Werkstoff(Materials.Fuel, <GenerationFeatures>, <TypeRef>,31_766+708); +// public static Werkstoff Glue = new Werkstoff(Materials.Glue, <GenerationFeatures>, <TypeRef>,31_766+726); +// public static Werkstoff Gunpowder = new Werkstoff(Materials.Gunpowder, <GenerationFeatures>, <TypeRef>,31_766+800); +// public static Werkstoff FryingOilHot = new Werkstoff(Materials.FryingOilHot, <GenerationFeatures>, <TypeRef>,31_766+727); +// public static Werkstoff Honey = new Werkstoff(Materials.Honey, <GenerationFeatures>, <TypeRef>,31_766+725); +// public static Werkstoff Lubricant = new Werkstoff(Materials.Lubricant, <GenerationFeatures>, <TypeRef>,31_766+724); +// public static Werkstoff McGuffium239 = new Werkstoff(Materials.McGuffium239, <GenerationFeatures>, <TypeRef>,31_766+999); +// public static Werkstoff MeatRaw = new Werkstoff(Materials.MeatRaw, <GenerationFeatures>, <TypeRef>,31_766+892); +// public static Werkstoff MeatCooked = new Werkstoff(Materials.MeatCooked, <GenerationFeatures>, <TypeRef>,31_766+893); +// public static Werkstoff Milk = new Werkstoff(Materials.Milk, <GenerationFeatures>, <TypeRef>,31_766+885); +// public static Werkstoff Oil = new Werkstoff(Materials.Oil, <GenerationFeatures>, <TypeRef>,31_766+707); +// public static Werkstoff Paper = new Werkstoff(Materials.Paper, <GenerationFeatures>, <TypeRef>,31_766+879); +// public static Werkstoff RareEarth = new Werkstoff(Materials.RareEarth, <GenerationFeatures>, <TypeRef>,31_766+891); +// public static Werkstoff Reinforced = new Werkstoff(Materials.Reinforced, <GenerationFeatures>, <TypeRef>,31_766+383); +// public static Werkstoff SeedOil = new Werkstoff(Materials.SeedOil, <GenerationFeatures>, <TypeRef>,31_766+713); +// public static Werkstoff SeedOilHemp = new Werkstoff(Materials.SeedOilHemp, <GenerationFeatures>, <TypeRef>,31_766+722); +// public static Werkstoff SeedOilLin = new Werkstoff(Materials.SeedOilLin, <GenerationFeatures>, <TypeRef>,31_766+723); +// public static Werkstoff Stone = new Werkstoff(Materials.Stone, <GenerationFeatures>, <TypeRef>,31_766+299); +// public static Werkstoff Unstable = new Werkstoff(Materials.Unstable, <GenerationFeatures>, <TypeRef>,31_766+396); +// public static Vinegar = new MaterialBuilder +// public static Werkstoff Wheat = new Werkstoff(Materials.Wheat, <GenerationFeatures>, <TypeRef>,31_766+881); +// public static WoodGas = new MaterialBuilder +// public static WoodTar = new MaterialBuilder +// public static WoodVinegar = new MaterialBuilder + +// public static Werkstoff Sunnarium = new Werkstoff(Materials.Sunnarium, <GenerationFeatures>, <TypeRef>,31_766+318); +// public static Werkstoff Endstone = new Werkstoff(Materials.Endstone, <GenerationFeatures>, <TypeRef>,31_766+808); +// public static Werkstoff Netherrack = new Werkstoff(Materials.Netherrack, <GenerationFeatures>, <TypeRef>,31_766+807); +// public static Werkstoff Methane = new Werkstoff(Materials.Methane, <GenerationFeatures>, <TypeRef>,31_766+715); +// public static Werkstoff CarbonDioxide = new Werkstoff(Materials.CarbonDioxide, <GenerationFeatures>, <TypeRef>,31_766+497); +// public static Werkstoff NobleGases = new Werkstoff(Materials.NobleGases, <GenerationFeatures>, <TypeRef>,31_766+496); +// public static Werkstoff LiquidAir = new Werkstoff(Materials.LiquidAir, <GenerationFeatures>, <TypeRef>,31_766+495); +// public static Werkstoff LiquidNitrogen = new Werkstoff(Materials.LiquidNitrogen, <GenerationFeatures>, <TypeRef>,31_766+494); +// public static Werkstoff LiquidOxygen = new Werkstoff(Materials.LiquidOxygen, <GenerationFeatures>, <TypeRef>,31_766+493); +// public static Werkstoff Almandine = new Werkstoff(Materials.Almandine, <GenerationFeatures>, <TypeRef>,31_766+820); +// public static Werkstoff Andradite = new Werkstoff(Materials.Andradite, <GenerationFeatures>, <TypeRef>,31_766+821); + +// public static Werkstoff Asbestos = new Werkstoff(Materials.Asbestos, <GenerationFeatures>, <TypeRef>,31_766+946); +// public static Werkstoff Ash = new Werkstoff(Materials.Ash, <GenerationFeatures>, <TypeRef>,31_766+815); +// public static Werkstoff BandedIron = new Werkstoff(Materials.BandedIron, <GenerationFeatures>, <TypeRef>,31_766+917); +// public static Werkstoff BatteryAlloy = new Werkstoff(Materials.BatteryAlloy, <GenerationFeatures>, <TypeRef>,31_766+315); +// public static Werkstoff BlueTopaz = new Werkstoff(Materials.BlueTopaz, <GenerationFeatures>, <TypeRef>,31_766+513); +// public static Werkstoff Bone = new Werkstoff(Materials.Bone, <GenerationFeatures>, <TypeRef>,31_766+806); + +// public static Werkstoff BrownLimonite = new Werkstoff(Materials.BrownLimonite, <GenerationFeatures>, <TypeRef>,31_766+930); +// public static Werkstoff Calcite = new Werkstoff(Materials.Calcite, <GenerationFeatures>, <TypeRef>,31_766+823); +// public static Werkstoff Cassiterite = new Werkstoff(Materials.Cassiterite, <GenerationFeatures>, <TypeRef>,31_766+824); +// public static Werkstoff CassiteriteSand = new Werkstoff(Materials.CassiteriteSand, <GenerationFeatures>, <TypeRef>,31_766+937); +// public static Werkstoff Chalcopyrite = new Werkstoff(Materials.Chalcopyrite, <GenerationFeatures>, <TypeRef>,31_766+855); +// public static Werkstoff Charcoal = new Werkstoff(Materials.Charcoal, <GenerationFeatures>, <TypeRef>,31_766+536); +// public static Werkstoff Chromite = new Werkstoff(Materials.Chromite, <GenerationFeatures>, <TypeRef>,31_766+825); +// public static Werkstoff ChromiumDioxide = new Werkstoff(Materials.ChromiumDioxide, <GenerationFeatures>, <TypeRef>,31_766+361); +// public static Werkstoff Cinnabar = new Werkstoff(Materials.Cinnabar, <GenerationFeatures>, <TypeRef>,31_766+826); +// public static Werkstoff Water = new Werkstoff(Materials.Water, <GenerationFeatures>, <TypeRef>,31_766+701); +// public static Werkstoff Clay = new Werkstoff(Materials.Clay, <GenerationFeatures>, <TypeRef>,31_766+805); +// public static Werkstoff Coal = new Werkstoff(Materials.Coal, <GenerationFeatures>, <TypeRef>,31_766+535); +// public static Werkstoff Cobaltite = new Werkstoff(Materials.Cobaltite, <GenerationFeatures>, <TypeRef>,31_766+827); +// public static Werkstoff Cooperite = new Werkstoff(Materials.Cooperite, <GenerationFeatures>, <TypeRef>,31_766+828); +// public static Werkstoff Cupronickel = new Werkstoff(Materials.Cupronickel, <GenerationFeatures>, <TypeRef>,31_766+310); +// public static Werkstoff DarkAsh = new Werkstoff(Materials.DarkAsh, <GenerationFeatures>, <TypeRef>,31_766+816); +// public static Werkstoff DeepIron = new Werkstoff(Materials.DeepIron, <GenerationFeatures>, <TypeRef>,31_766+829); +// public static Werkstoff Diamond = new Werkstoff(Materials.Diamond, <GenerationFeatures>, <TypeRef>,31_766+500); +// public static Werkstoff Electrum = new Werkstoff(Materials.Electrum, <GenerationFeatures>, <TypeRef>,31_766+303); +// public static Werkstoff Emerald = new Werkstoff(Materials.Emerald, <GenerationFeatures>, <TypeRef>,31_766+501); +// public static Werkstoff Galena = new Werkstoff(Materials.Galena, <GenerationFeatures>, <TypeRef>,31_766+830); +// public static Werkstoff Garnierite = new Werkstoff(Materials.Garnierite, <GenerationFeatures>, <TypeRef>,31_766+906); +// public static Werkstoff Glyceryl = new Werkstoff(Materials.Glyceryl, <GenerationFeatures>, <TypeRef>,31_766+714); +// public static Werkstoff GreenSapphire = new Werkstoff(Materials.GreenSapphire, <GenerationFeatures>, <TypeRef>,31_766+504); +// public static Werkstoff Grossular = new Werkstoff(Materials.Grossular, <GenerationFeatures>, <TypeRef>,31_766+831); +// public static Werkstoff HolyWater = new Werkstoff(Materials.HolyWater, <GenerationFeatures>, <TypeRef>,31_766+729); +// public static Werkstoff Ice = new Werkstoff(Materials.Ice, <GenerationFeatures>, <TypeRef>,31_766+702); +// public static Werkstoff Ilmenite = new Werkstoff(Materials.Ilmenite, <GenerationFeatures>, <TypeRef>,31_766+918); +// public static Werkstoff Rutile = new Werkstoff(Materials.Rutile, <GenerationFeatures>, <TypeRef>,31_766+375); +// public static Werkstoff Bauxite = new Werkstoff(Materials.Bauxite, <GenerationFeatures>, <TypeRef>,31_766+822); +// public static Werkstoff Titaniumtetrachloride = new Werkstoff(Materials.Titaniumtetrachloride, <GenerationFeatures>, <TypeRef>,31_766+376); +// public static Werkstoff Magnesiumchloride = new Werkstoff(Materials.Magnesiumchloride, <GenerationFeatures>, <TypeRef>,31_766+377); +// public static Werkstoff Invar = new Werkstoff(Materials.Invar, <GenerationFeatures>, <TypeRef>,31_766+302); +// public static Werkstoff Kanthal = new Werkstoff(Materials.Kanthal, <GenerationFeatures>, <TypeRef>,31_766+312); +// public static Werkstoff Lazurite = new Werkstoff(Materials.Lazurite, <GenerationFeatures>, <TypeRef>,31_766+524); +// public static Werkstoff Magnalium = new Werkstoff(Materials.Magnalium, <GenerationFeatures>, <TypeRef>,31_766+313); +// public static Werkstoff Magnesite = new Werkstoff(Materials.Magnesite, <GenerationFeatures>, <TypeRef>,31_766+908); +// public static Werkstoff Magnetite = new Werkstoff(Materials.Magnetite, <GenerationFeatures>, <TypeRef>,31_766+870); +// public static Werkstoff Molybdenite = new Werkstoff(Materials.Molybdenite, <GenerationFeatures>, <TypeRef>,31_766+942); +// public static Werkstoff Nichrome = new Werkstoff(Materials.Nichrome, <GenerationFeatures>, <TypeRef>,31_766+311); +// public static Werkstoff NiobiumNitride = new Werkstoff(Materials.NiobiumNitride, <GenerationFeatures>, <TypeRef>,31_766+359); +// public static Werkstoff NiobiumTitanium = new Werkstoff(Materials.NiobiumTitanium, <GenerationFeatures>, <TypeRef>,31_766+360); +// public static Werkstoff NitroCarbon = new Werkstoff(Materials.NitroCarbon, <GenerationFeatures>, <TypeRef>,31_766+716); +// public static Werkstoff NitrogenDioxide = new Werkstoff(Materials.NitrogenDioxide, <GenerationFeatures>, <TypeRef>,31_766+717); +// public static Werkstoff Obsidian = new Werkstoff(Materials.Obsidian, <GenerationFeatures>, <TypeRef>,31_766+804); +// public static Werkstoff Phosphate = new Werkstoff(Materials.Phosphate, <GenerationFeatures>, <TypeRef>,31_766+833); +// public static Werkstoff PigIron = new Werkstoff(Materials.PigIron, <GenerationFeatures>, <TypeRef>,31_766+307); + +// public static Polydimethylsiloxane = new MaterialBuilder +// public static Werkstoff Silicone = new Werkstoff(Materials.Silicone, <GenerationFeatures>, <TypeRef>,31_766+471); +// public static Werkstoff Polycaprolactam = new Werkstoff(Materials.Polycaprolactam, <GenerationFeatures>, <TypeRef>,31_766+472); + +// public static Werkstoff Powellite = new Werkstoff(Materials.Powellite, <GenerationFeatures>, <TypeRef>,31_766+883); +// public static Werkstoff Pumice = new Werkstoff(Materials.Pumice, <GenerationFeatures>, <TypeRef>,31_766+926); +// public static Werkstoff Pyrite = new Werkstoff(Materials.Pyrite, <GenerationFeatures>, <TypeRef>,31_766+834); +// public static Werkstoff Pyrolusite = new Werkstoff(Materials.Pyrolusite, <GenerationFeatures>, <TypeRef>,31_766+943); +// public static Werkstoff Pyrope = new Werkstoff(Materials.Pyrope, <GenerationFeatures>, <TypeRef>,31_766+835); +// public static Werkstoff RockSalt = new Werkstoff(Materials.RockSalt, <GenerationFeatures>, <TypeRef>,31_766+944); +// public static Werkstoff Rubber = new Werkstoff(Materials.Rubber, <GenerationFeatures>, <TypeRef>,31_766+880); +// public static Werkstoff RawRubber = new Werkstoff(Materials.RawRubber, <GenerationFeatures>, <TypeRef>,31_766+896); +// public static Werkstoff Ruby = new Werkstoff(Materials.Ruby, <GenerationFeatures>, <TypeRef>,31_766+502); +// public static Werkstoff Salt = new Werkstoff(Materials.Salt, <GenerationFeatures>, <TypeRef>,31_766+817); +// public static Werkstoff Saltpeter = new Werkstoff(Materials.Saltpeter, <GenerationFeatures>, <TypeRef>,31_766+836); +// public static Werkstoff Sapphire = new Werkstoff(Materials.Sapphire, <GenerationFeatures>, <TypeRef>,31_766+503); +// public static Werkstoff Scheelite = new Werkstoff(Materials.Scheelite, <GenerationFeatures>, <TypeRef>,31_766+910); +// public static Werkstoff SiliconDioxide = new Werkstoff(Materials.SiliconDioxide, <GenerationFeatures>, <TypeRef>,31_766+837); +// public static Werkstoff Snow = new Werkstoff(Materials.Snow, <GenerationFeatures>, <TypeRef>,31_766+728); +// public static Werkstoff Sodalite = new Werkstoff(Materials.Sodalite, <GenerationFeatures>, <TypeRef>,31_766+525); +// public static Werkstoff SodiumPersulfate = new Werkstoff(Materials.SodiumPersulfate, <GenerationFeatures>, <TypeRef>,31_766+718); +// public static Werkstoff SodiumSulfide = new Werkstoff(Materials.SodiumSulfide, <GenerationFeatures>, <TypeRef>,31_766+719); +// public static Werkstoff HydricSulfide = new Werkstoff(Materials.HydricSulfide, <GenerationFeatures>, <TypeRef>,31_766+460); +// public static Werkstoff OilHeavy = new Werkstoff(Materials.OilHeavy, <GenerationFeatures>, <TypeRef>,31_766+730); +// public static Werkstoff OilMedium = new Werkstoff(Materials.OilMedium, <GenerationFeatures>, <TypeRef>,31_766+731); +// public static Werkstoff OilLight = new Werkstoff(Materials.OilLight, <GenerationFeatures>, <TypeRef>,31_766+732); +// public static Werkstoff NatruralGas = new Werkstoff(Materials.NatruralGas, <GenerationFeatures>, <TypeRef>,31_766+733); +// public static Werkstoff SulfuricGas = new Werkstoff(Materials.SulfuricGas, <GenerationFeatures>, <TypeRef>,31_766+734); +// public static Werkstoff Gas = new Werkstoff(Materials.Gas, <GenerationFeatures>, <TypeRef>,31_766+735); +// public static Werkstoff SulfuricNaphtha = new Werkstoff(Materials.SulfuricNaphtha, <GenerationFeatures>, <TypeRef>,31_766+736); +// public static Werkstoff SulfuricLightFuel = new Werkstoff(Materials.SulfuricLightFuel, <GenerationFeatures>, <TypeRef>,31_766+737); +// public static Werkstoff SulfuricHeavyFuel = new Werkstoff(Materials.SulfuricHeavyFuel, <GenerationFeatures>, <TypeRef>,31_766+738); +// public static Werkstoff Naphtha = new Werkstoff(Materials.Naphtha, <GenerationFeatures>, <TypeRef>,31_766+739); +// public static Werkstoff LightFuel = new Werkstoff(Materials.LightFuel, <GenerationFeatures>, <TypeRef>,31_766+740); +// public static Werkstoff HeavyFuel = new Werkstoff(Materials.HeavyFuel, <GenerationFeatures>, <TypeRef>,31_766+741); +// public static Werkstoff LPG = new Werkstoff(Materials.LPG, <GenerationFeatures>, <TypeRef>,31_766+742); +// public static FluidNaquadahFuel = new MaterialBuilder +// public static EnrichedNaquadria = new MaterialBuilder +// public static ReinforceGlass = new MaterialBuilder +// public static BioMediumRaw = new MaterialBuilder +// public static BioMediumSterilized = new MaterialBuilder +// public static Chlorobenzene = new MaterialBuild +// public static DilutedHydrochloricAcid = new MaterialBuild +// public static Pyrochlore = new MaterialBuild +// public static GrowthMediumRaw = new MaterialBuild +// public static GrowthMediumSterilized = new MaterialBuild +// public static FerriteMixture = new MaterialBuild +// public static NickelZincFerrite = new MaterialBuild +// public static Massicot = new MaterialBuild +// public static ArsenicTrioxide = new MaterialBuild +// public static CobaltOxide = new MaterialBuild +// public static Zincite = new MaterialBuild +// public static AntimonyTrioxide = new MaterialBuild +// public static CupricOxide = new MaterialBuild +// public static Ferrosilite = new MaterialBuild +// public static Magnesia = new MaterialBuild +// public static Quicklime = new MaterialBuild +// public static Potash = new MaterialBuild +// public static SodaAsh = new MaterialBuild +// public static Brick = new MaterialBuild +// public static Fireclay = new MaterialBuild +// public static BioDiesel = new MaterialBuild +// public static NitrationMixture = new MaterialBuild +// public static Glycerol = new MaterialBuild +// public static SodiumBisulfate = new MaterialBuild +// public static PolyphenyleneSulfide = new MaterialBuild +// public static Dichlorobenzene = new MaterialBuild +// public static Polystyrene = new MaterialBuild +// public static Styrene = new MaterialBuild +// public static Isoprene = new MaterialBuild +// public static Tetranitromethane = new MaterialBuild +// public static Ethenone = new MaterialBuild +// public static Ethane = new MaterialBuild +// public static Propane = new MaterialBuild +// public static Butane = new MaterialBuild +// public static Butene = new MaterialBuild +// public static Butadiene = new MaterialBuild +// public static RawStyreneButadieneRubber = new MaterialBuild +// public static StyreneButadieneRubber = new MaterialBuild +// public static Toluene = new MaterialBuild +// public static Epichlorohydrin = new MaterialBuild +// public static PolyvinylChloride = new MaterialBuild +// public static VinylChloride = new MaterialBuild +// public static SulfurDioxide = new MaterialBuild +// public static SulfurTrioxide = new MaterialBuild +// public static NitricAcid = new MaterialBuild +// public static Dimethylhydrazine = new MaterialBuild +// public static Chloramine = new MaterialBuild +// public static Dimethylamine = new MaterialBuild +// public static DinitrogenTetroxide = new MaterialBuild +// public static NitricOxide = new MaterialBuild +// public static Ammonia = new MaterialBuild +// public static Dimethyldichlorosilane = new MaterialBuild +// public static Chloromethane = new MaterialBuild +// public static PhosphorousPentoxide = new MaterialBuild +// public static Tetrafluoroethylene = new MaterialBuild +// public static HydrofluoricAcid = new MaterialBuild +// public static Chloroform = new MaterialBuild +// public static BisphenolA = new MaterialBuild +// public static AceticAcid = new MaterialBuild +// public static CalciumAcetateSolution = new MaterialBuild +// public static Acetone = new MaterialBuild +// public static Methanol = new MaterialBuild +// public static CarbonMonoxide = new MaterialBuild +// public static MetalMixture = new MaterialBuild +// public static Ethylene = new MaterialBuild +// public static Propene = new MaterialBuild +// public static VinylAcetate = new MaterialBuild +// public static PolyvinylAcetate = new MaterialBuild +// public static MethylAcetate = new MaterialBuild +// public static AllylChloride = new MaterialBuild +// public static HydrochloricAcid = new MaterialBuild +// public static HypochlorousAcid = new MaterialBuild +// public static SodiumHydroxide = new MaterialBuild +// public static Benzene = new MaterialBuild +// public static Phenol = new MaterialBuild +// public static Cumene = new MaterialBuild +// public static PhosphoricAcid = new MaterialBuild +// public static SaltWater = new MaterialBuild +// public static IronIIIChloride = new MaterialBuild +// public static LifeEssence = new MaterialBuild +// public static Werkstoff SolderingAlloy = new Werkstoff(Materials.SolderingAlloy, <GenerationFeatures>, <TypeRef>,31_766+314); +// public static Werkstoff GalliumArsenide = new Werkstoff(Materials.GalliumArsenide, <GenerationFeatures>, <TypeRef>,31_766+980); +// public static Werkstoff IndiumGalliumPhosphide = new Werkstoff(Materials.IndiumGalliumPhosphide, <GenerationFeatures>, <TypeRef>,31_766+981); +// public static Werkstoff Spessartine = new Werkstoff(Materials.Spessartine, <GenerationFeatures>, <TypeRef>,31_766+838); +// public static Werkstoff Sphalerite = new Werkstoff(Materials.Sphalerite, <GenerationFeatures>, <TypeRef>,31_766+839); + +// public static Werkstoff Stibnite = new Werkstoff(Materials.Stibnite, <GenerationFeatures>, <TypeRef>,31_766+945); +// public static Werkstoff SulfuricAcid = new Werkstoff(Materials.SulfuricAcid, <GenerationFeatures>, <TypeRef>,31_766+720); +// public static Werkstoff Tanzanite = new Werkstoff(Materials.Tanzanite, <GenerationFeatures>, <TypeRef>,31_766+508); +// public static Werkstoff Tetrahedrite = new Werkstoff(Materials.Tetrahedrite, <GenerationFeatures>, <TypeRef>,31_766+840); +// public static Werkstoff TinAlloy = new Werkstoff(Materials.TinAlloy, <GenerationFeatures>, <TypeRef>,31_766+363); +// public static Werkstoff Topaz = new Werkstoff(Materials.Topaz, <GenerationFeatures>, <TypeRef>,31_766+507); +// public static Werkstoff Tungstate = new Werkstoff(Materials.Tungstate, <GenerationFeatures>, <TypeRef>,31_766+841); + +// public static Werkstoff Uraninite = new Werkstoff(Materials.Uraninite, <GenerationFeatures>, <TypeRef>,31_766+922); +// public static Werkstoff Uvarovite = new Werkstoff(Materials.Uvarovite, <GenerationFeatures>, <TypeRef>,31_766+842); +// public static Werkstoff VanadiumGallium = new Werkstoff(Materials.VanadiumGallium, <GenerationFeatures>, <TypeRef>,31_766+357); + +// public static Werkstoff Wulfenite = new Werkstoff(Materials.Wulfenite, <GenerationFeatures>, <TypeRef>,31_766+882); +// public static Werkstoff YellowLimonite = new Werkstoff(Materials.YellowLimonite, <GenerationFeatures>, <TypeRef>,31_766+931); +// public static Werkstoff YttriumBariumCuprate = new Werkstoff(Materials.YttriumBariumCuprate, <GenerationFeatures>, <TypeRef>,31_766+358); + +// public static Werkstoff LiveRoot = new Werkstoff(Materials.LiveRoot, <GenerationFeatures>, <TypeRef>,31_766+832); +// public static Werkstoff IronWood = new Werkstoff(Materials.IronWood, <GenerationFeatures>, <TypeRef>,31_766+338); +// public static Werkstoff Glass = new Werkstoff(Materials.Glass, <GenerationFeatures>, <TypeRef>,31_766+890); +// public static Werkstoff BorosilicateGlass = new Werkstoff(Materials.BorosilicateGlass, Werkstoff.GenerationFeatures.DISABLED, Werkstoff.Types.COMPOUND, 31_766+611); +// public static Werkstoff Perlite = new Werkstoff(Materials.Perlite, <GenerationFeatures>, <TypeRef>,31_766+925); +// public static Werkstoff Borax = new Werkstoff(Materials.Borax, <GenerationFeatures>, <TypeRef>,31_766+941); +// public static Werkstoff Lignite = new Werkstoff(Materials.Lignite, <GenerationFeatures>, <TypeRef>,31_766+538); +// public static Werkstoff Olivine = new Werkstoff(Materials.Olivine, <GenerationFeatures>, <TypeRef>,31_766+505); +// public static Werkstoff Opal = new Werkstoff(Materials.Opal, <GenerationFeatures>, <TypeRef>,31_766+510); +// public static Werkstoff Amethyst = new Werkstoff(Materials.Amethyst, <GenerationFeatures>, <TypeRef>,31_766+509); +// public static Werkstoff Redstone = new Werkstoff(Materials.Redstone, <GenerationFeatures>, <TypeRef>,31_766+810); +// public static Werkstoff Lapis = new Werkstoff(Materials.Lapis, <GenerationFeatures>, <TypeRef>,31_766+526); +// public static Werkstoff Blaze = new Werkstoff(Materials.Blaze, <GenerationFeatures>, <TypeRef>,31_766+801); +// public static Werkstoff EnderPearl = new Werkstoff(Materials.EnderPearl, <GenerationFeatures>, <TypeRef>,31_766+532); +// public static Werkstoff EnderEye = new Werkstoff(Materials.EnderEye, <GenerationFeatures>, <TypeRef>,31_766+533); +// public static Werkstoff Flint = new Werkstoff(Materials.Flint, <GenerationFeatures>, <TypeRef>,31_766+802); +// public static Werkstoff Diatomite = new Werkstoff(Materials.Diatomite, <GenerationFeatures>, <TypeRef>,31_766+948); +// public static Werkstoff VolcanicAsh = new Werkstoff(Materials.VolcanicAsh, <GenerationFeatures>, <TypeRef>,31_766+940); +// public static Werkstoff Niter = new Werkstoff(Materials.Niter, <GenerationFeatures>, <TypeRef>,31_766+531); +// public static Werkstoff Pyrotheum = new Werkstoff(Materials.Pyrotheum, <GenerationFeatures>, <TypeRef>,31_766+843); +// public static Werkstoff Cryotheum = new Werkstoff(Materials.Cryotheum, <GenerationFeatures>, <TypeRef>,31_766+898); +// public static Werkstoff HydratedCoal = new Werkstoff(Materials.HydratedCoal, <GenerationFeatures>, <TypeRef>,31_766+818); +// public static Werkstoff Apatite = new Werkstoff(Materials.Apatite, <GenerationFeatures>, <TypeRef>,31_766+530); +// public static Werkstoff Alumite = new Werkstoff(Materials.Alumite, <GenerationFeatures>, <TypeRef>,31_766+400); +// public static Werkstoff Manyullyn = new Werkstoff(Materials.Manyullyn, <GenerationFeatures>, <TypeRef>,31_766+386); +// public static Werkstoff Steeleaf = new Werkstoff(Materials.Steeleaf, <GenerationFeatures>, <TypeRef>,31_766+339); +// public static Werkstoff Knightmetal = new Werkstoff(Materials.Knightmetal, <GenerationFeatures>, <TypeRef>,31_766+362); + +// public static Werkstoff NitroFuel = new Werkstoff(Materials.NitroFuel, <GenerationFeatures>, <TypeRef>,31_766+709); +// public static Werkstoff RedAlloy = new Werkstoff(Materials.RedAlloy, <GenerationFeatures>, <TypeRef>,31_766+308); +// public static Werkstoff CobaltBrass = new Werkstoff(Materials.CobaltBrass, <GenerationFeatures>, <TypeRef>,31_766+343); +// public static Werkstoff TricalciumPhosphate = new Werkstoff(Materials.TricalciumPhosphate, <GenerationFeatures>, <TypeRef>,31_766+534); +// public static Werkstoff Basalt = new Werkstoff(Materials.Basalt, <GenerationFeatures>, <TypeRef>,31_766+844); +// public static Werkstoff GarnetRed = new Werkstoff(Materials.GarnetRed, <GenerationFeatures>, <TypeRef>,31_766+527); +// public static Werkstoff GarnetYellow = new Werkstoff(Materials.GarnetYellow, <GenerationFeatures>, <TypeRef>,31_766+528); +// public static Werkstoff Marble = new Werkstoff(Materials.Marble, <GenerationFeatures>, <TypeRef>,31_766+845); +// public static Werkstoff Sugar = new Werkstoff(Materials.Sugar, <GenerationFeatures>, <TypeRef>,31_766+803); +// public static Werkstoff Thaumium = new Werkstoff(Materials.Thaumium, <GenerationFeatures>, <TypeRef>,31_766+330); +// public static Werkstoff Vinteum = new Werkstoff(Materials.Vinteum, <GenerationFeatures>, <TypeRef>,31_766+529); +// public static Werkstoff Redrock = new Werkstoff(Materials.Redrock, <GenerationFeatures>, <TypeRef>,31_766+846); +// public static Werkstoff PotassiumFeldspar = new Werkstoff(Materials.PotassiumFeldspar, <GenerationFeatures>, <TypeRef>,31_766+847); +// public static Werkstoff Biotite = new Werkstoff(Materials.Biotite, <GenerationFeatures>, <TypeRef>,31_766+848); +// public static Werkstoff GraniteBlack = new Werkstoff(Materials.GraniteBlack, <GenerationFeatures>, <TypeRef>,31_766+849); +// public static Werkstoff GraniteRed = new Werkstoff(Materials.GraniteRed, <GenerationFeatures>, <TypeRef>,31_766+850); +// public static Werkstoff Chrysotile = new Werkstoff(Materials.Chrysotile, <GenerationFeatures>, <TypeRef>,31_766+912); +// public static Werkstoff Realgar = new Werkstoff(Materials.Realgar, <GenerationFeatures>, <TypeRef>,31_766+913); +// public static Werkstoff VanadiumMagnetite = new Werkstoff(Materials.VanadiumMagnetite, <GenerationFeatures>, <TypeRef>,31_766+923); +// public static Werkstoff BasalticMineralSand = new Werkstoff(Materials.BasalticMineralSand, <GenerationFeatures>, <TypeRef>,31_766+935); +// public static Werkstoff GraniticMineralSand = new Werkstoff(Materials.GraniticMineralSand, <GenerationFeatures>, <TypeRef>,31_766+936); +// public static Werkstoff GarnetSand = new Werkstoff(Materials.GarnetSand, <GenerationFeatures>, <TypeRef>,31_766+938); +// public static Werkstoff QuartzSand = new Werkstoff(Materials.QuartzSand, <GenerationFeatures>, <TypeRef>,31_766+939); +// public static Werkstoff Bastnasite = new Werkstoff(Materials.Bastnasite, <GenerationFeatures>, <TypeRef>,31_766+905); +// public static Werkstoff Pentlandite = new Werkstoff(Materials.Pentlandite, <GenerationFeatures>, <TypeRef>,31_766+909); +// public static Werkstoff Spodumene = new Werkstoff(Materials.Spodumene, <GenerationFeatures>, <TypeRef>,31_766+920); +// public static Werkstoff Pollucite = new Werkstoff(Materials.Pollucite, <GenerationFeatures>, <TypeRef>,31_766+919); +// public static Werkstoff Tantalite = new Werkstoff(Materials.Tantalite, <GenerationFeatures>, <TypeRef>,31_766+921); +// public static Werkstoff Lepidolite = new Werkstoff(Materials.Lepidolite, <GenerationFeatures>, <TypeRef>,31_766+907); +// public static Werkstoff Glauconite = new Werkstoff(Materials.Glauconite, <GenerationFeatures>, <TypeRef>,31_766+933); +// public static Werkstoff GlauconiteSand = new Werkstoff(Materials.GlauconiteSand, <GenerationFeatures>, <TypeRef>,31_766+949); +// public static Werkstoff Vermiculite = new Werkstoff(Materials.Vermiculite, <GenerationFeatures>, <TypeRef>,31_766+932); +// public static Werkstoff Bentonite = new Werkstoff(Materials.Bentonite, <GenerationFeatures>, <TypeRef>,31_766+927); +// public static Werkstoff FullersEarth = new Werkstoff(Materials.FullersEarth, <GenerationFeatures>, <TypeRef>,31_766+928); +// public static Werkstoff Pitchblende = new Werkstoff(Materials.Pitchblende, <GenerationFeatures>, <TypeRef>,31_766+873); +// public static Werkstoff Monazite = new Werkstoff(Materials.Monazite, <GenerationFeatures>, <TypeRef>,31_766+520); +// public static Werkstoff Malachite = new Werkstoff(Materials.Malachite, <GenerationFeatures>, <TypeRef>,31_766+871); +// public static Werkstoff Mirabilite = new Werkstoff(Materials.Mirabilite, <GenerationFeatures>, <TypeRef>,31_766+900); +// public static Werkstoff Mica = new Werkstoff(Materials.Mica, <GenerationFeatures>, <TypeRef>,31_766+901); +// public static Werkstoff Trona = new Werkstoff(Materials.Trona, <GenerationFeatures>, <TypeRef>,31_766+903); +// public static Werkstoff Barite = new Werkstoff(Materials.Barite, <GenerationFeatures>, <TypeRef>,31_766+904); +// public static Werkstoff Gypsum = new Werkstoff(Materials.Gypsum, <GenerationFeatures>, <TypeRef>,31_766+934); +// public static Werkstoff Alunite = new Werkstoff(Materials.Alunite, <GenerationFeatures>, <TypeRef>,31_766+911); +// public static Werkstoff Dolomite = new Werkstoff(Materials.Dolomite, <GenerationFeatures>, <TypeRef>,31_766+914); +// public static Werkstoff Wollastonite = new Werkstoff(Materials.Wollastonite, <GenerationFeatures>, <TypeRef>,31_766+915); +// public static Werkstoff Zeolite = new Werkstoff(Materials.Zeolite, <GenerationFeatures>, <TypeRef>,31_766+916); +// public static Werkstoff Kyanite = new Werkstoff(Materials.Kyanite, <GenerationFeatures>, <TypeRef>,31_766+924); +// public static Werkstoff Kaolinite = new Werkstoff(Materials.Kaolinite, <GenerationFeatures>, <TypeRef>,31_766+929); +// public static Werkstoff Talc = new Werkstoff(Materials.Talc, <GenerationFeatures>, <TypeRef>,31_766+902); +// public static Werkstoff Soapstone = new Werkstoff(Materials.Soapstone, <GenerationFeatures>, <TypeRef>,31_766+877); +// public static Werkstoff Concrete = new Werkstoff(Materials.Concrete, <GenerationFeatures>, <TypeRef>,31_766+947); +// public static Werkstoff IronMagnetic = new Werkstoff(Materials.IronMagnetic, <GenerationFeatures>, <TypeRef>,31_766+354); +// public static Werkstoff SteelMagnetic = new Werkstoff(Materials.SteelMagnetic, <GenerationFeatures>, <TypeRef>,31_766+355); +// public static Werkstoff NeodymiumMagnetic = new Werkstoff(Materials.NeodymiumMagnetic, <GenerationFeatures>, <TypeRef>,31_766+356); +// public static Werkstoff SamariumMagnetic = new Werkstoff(Materials.SamariumMagnetic, <GenerationFeatures>, <TypeRef>,31_766+399); + +// public static DilutedSulfuricAcid = new MaterialBuilder(31_766+640) +// public static Werkstoff EpoxidFiberReinforced = new Werkstoff(Materials.EpoxidFiberReinforced, <GenerationFeatures>, <TypeRef>,31_766+610); +// public static PotassiumNitrade = new MaterialBuilder(59 +// public static ChromiumTrioxide = new MaterialBuilder(31_766+591) +// public static Nitrochlorobenzene = new MaterialBuilder(31_766+592) +// public static Dimethylbenzene = new MaterialBuilder(31_766+593) +// public static Potassiumdichromate = new MaterialBuilder(594 +// public static PhthalicAcid = new MaterialBuilder(31_766+595) +// public static Dichlorobenzidine = new MaterialBuilder(31_766+596) +// public static Diaminobenzidin = new MaterialBuilder(31_766+597) +// public static Diphenylisophthalate = new MaterialBuilder(59 +// public static Werkstoff Polybenzimidazole = new Werkstoff(Materials.Polybenzimidazole, <GenerationFeatures>, <TypeRef>, 31_766+599); +// public static NitrousOxide = new MaterialBuilder(31_766+993) +// public static AntiKnock = new MaterialBuilder(31_766+994) +// public static Octane = new MaterialBuilder(31_766+995) +// public static GasolineRaw = new MaterialBuilder(31_766+996) +// public static GasolineRegular = new MaterialBuilder(31_766+997) +// public static GasolinePremium = new MaterialBuilder(31_766+998) +// public static Werkstoff Electrotine = new Werkstoff(Materials.Electrotine, <GenerationFeatures>, <TypeRef>,31_766+812); +// public static Galgadorian = new Werkstoff(Materials.Galgadorian, <GenerationFeatures>, <TypeRef>,31_766+384); +// public static Werkstoff EnhancedGalgadorian = new Werkstoff(Materials.EnhancedGalgadorian, <GenerationFeatures>, <TypeRef>,31_766+385); +// public static Werkstoff BloodInfusedIron = new Werkstoff(Materials.BloodInfusedIron, <GenerationFeatures>, <TypeRef>,31_766+977); +// public static Werkstoff Shadow = new Werkstoff(Materials.Shadow, <GenerationFeatures>, <TypeRef>,31_766+368); +// public static Werkstoff Ledox = new Werkstoff(Materials.Ledox, <GenerationFeatures>, <TypeRef>,31_766+390); +// public static Werkstoff Quantium = new Werkstoff(Materials.Quantium, <GenerationFeatures>, <TypeRef>,31_766+391); +// public static Werkstoff Mytryl = new Werkstoff(Materials.Mytryl, <GenerationFeatures>, <TypeRef>,31_766+387); +// public static Werkstoff BlackPlutonium = new Werkstoff(Materials.BlackPlutonium, <GenerationFeatures>, <TypeRef>,31_766+388); +// public static Werkstoff CallistoIce = new Werkstoff(Materials.CallistoIce, <GenerationFeatures>, <TypeRef>,31_766+389); +// public static Werkstoff Duralumin = new Werkstoff(Materials.Duralumin, <GenerationFeatures>, <TypeRef>,31_766+392); +// public static Werkstoff Oriharukon = new Werkstoff(Materials.Oriharukon, <GenerationFeatures>, <TypeRef>,31_766+393); +// public static Werkstoff MysteriousCrystal = new Werkstoff(Materials.MysteriousCrystal, <GenerationFeatures>, <TypeRef>,31_766+398); +// public static Werkstoff RedstoneAlloy = new Werkstoff(Materials.RedstoneAlloy, <GenerationFeatures>, <TypeRef>,31_766+381); +// public static Werkstoff Soularium = new Werkstoff(Materials.Soularium, <GenerationFeatures>, <TypeRef>,31_766+379); +// public static Werkstoff ConductiveIron = new Werkstoff(Materials.ConductiveIron, <GenerationFeatures>, <TypeRef>,31_766+369); +// public static Werkstoff ElectricalSteel = new Werkstoff(Materials.ElectricalSteel, <GenerationFeatures>, <TypeRef>,31_766+365); +// public static Werkstoff EnergeticAlloy = new Werkstoff(Materials.EnergeticAlloy, <GenerationFeatures>, <TypeRef>,31_766+366); +// public static Werkstoff VibrantAlloy = new Werkstoff(Materials.VibrantAlloy, <GenerationFeatures>, <TypeRef>,31_766+367); +// public static Werkstoff PulsatingIron = new Werkstoff(Materials.PulsatingIron, <GenerationFeatures>, <TypeRef>,31_766+378); +// public static Werkstoff DarkSteel = new Werkstoff(Materials.DarkSteel, <GenerationFeatures>, <TypeRef>,31_766+364); +// public static Werkstoff EndSteel = new Werkstoff(Materials.EndSteel, <GenerationFeatures>, <TypeRef>,31_766+401); +// public static Werkstoff CrudeSteel = new Werkstoff(Materials.CrudeSteel, <GenerationFeatures>, <TypeRef>,31_766+402); +// public static Werkstoff CrystallineAlloy = new Werkstoff(Materials.CrystallineAlloy, <GenerationFeatures>, <TypeRef>,31_766+403); +// public static Werkstoff MelodicAlloy = new Werkstoff(Materials.MelodicAlloy, <GenerationFeatures>, <TypeRef>,31_766+404); +// public static Werkstoff StellarAlloy = new Werkstoff(Materials.StellarAlloy, <GenerationFeatures>, <TypeRef>,31_766+405); +// public static Werkstoff CrystallinePinkSlime = new Werkstoff(Materials.CrystallinePinkSlime, <GenerationFeatures>, <TypeRef>,31_766+406); +// public static Werkstoff EnergeticSilver = new Werkstoff(Materials.EnergeticSilver, <GenerationFeatures>, <TypeRef>,31_766+407); +// public static Werkstoff VividAlloy = new Werkstoff(Materials.VividAlloy, <GenerationFeatures>, <TypeRef>,31_766+408); +// public static Werkstoff Enderium = new Werkstoff(Materials.Enderium, <GenerationFeatures>, <TypeRef>,31_766+321); +// public static Werkstoff Mithril = new Werkstoff(Materials.Mithril, <GenerationFeatures>, <TypeRef>,31_766+331); +// public static Werkstoff BlueAlloy = new Werkstoff(Materials.BlueAlloy, <GenerationFeatures>, <TypeRef>,31_766+309); +// public static Werkstoff ShadowIron = new Werkstoff(Materials.ShadowIron, <GenerationFeatures>, <TypeRef>,31_766+336); +// public static Werkstoff ShadowSteel = new Werkstoff(Materials.ShadowSteel, <GenerationFeatures>, <TypeRef>,31_766+337); +// public static Werkstoff AstralSilver = new Werkstoff(Materials.AstralSilver, <GenerationFeatures>, <TypeRef>,31_766+333); +// public static Werkstoff InfinityCatalyst = new Werkstoff(Materials.InfinityCatalyst, <GenerationFeatures>, <TypeRef>, 31_766 + 394); +// public static Werkstoff Infinity = new Werkstoff(Materials.Infinity, <GenerationFeatures>, <TypeRef>, 31_766 + 397); +// public static Werkstoff Bedrockium = new Werkstoff(Materials.Bedrockium, <GenerationFeatures>, <TypeRef>, 31_766 + 395); +// public static Werkstoff Trinium = new Werkstoff(Materials.Trinium, <GenerationFeatures>, <TypeRef>, 31_766 + 868); +// public static Werkstoff Ichorium = new Werkstoff(Materials.Ichorium, <GenerationFeatures>, <TypeRef>, 31_766 + 978); +// public static Werkstoff CosmicNeutronium = new Werkstoff(Materials.CosmicNeutronium, <GenerationFeatures>, <TypeRef>, 31_766 + 982); +// public static Werkstoff Pentacadmiummagnesiumhexaoxid = new Werkstoff(Materials.Pentacadmiummagnesiumhexaoxid, <GenerationFeatures>, <TypeRef>, 31_766 + 987); +// public static Werkstoff Titaniumonabariumdecacoppereikosaoxid = new Werkstoff(Materials.Titaniumonabariumdecacoppereikosaoxid, <GenerationFeatures>, <TypeRef>, 31_766 + 988); +// public static Werkstoff Uraniumtriplatinid = new Werkstoff(Materials.Uraniumtriplatinid, <GenerationFeatures>, <TypeRef>, 31_766 + 989); +// public static Werkstoff Vanadiumtriindinid = new Werkstoff(Materials.Vanadiumtriindinid, <GenerationFeatures>, <TypeRef>, 31_766 + 990); +// public static Werkstoff Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid = new Werkstoff(Materials.Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid, <GenerationFeatures>, <TypeRef>, 31_766 + 991); +// public static Werkstoff Tetranaquadahdiindiumhexaplatiumosminid = new Werkstoff(Materials.Tetranaquadahdiindiumhexaplatiumosminid, <GenerationFeatures>, <TypeRef>, 31_766 + 992); +// public static Werkstoff Longasssuperconductornameforuvwire = new Werkstoff(Materials.Longasssuperconductornameforuvwire, <GenerationFeatures>, <TypeRef>, 31_766 + 986); +// public static Werkstoff Longasssuperconductornameforuhvwire = new Werkstoff(Materials.Longasssuperconductornameforuhvwire, <GenerationFeatures>, <TypeRef>, 31_766 + 985); +}
\ No newline at end of file diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGeneratedBlock_Item.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGeneratedBlock_Item.java index 18748c8e5c..d612fa211a 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGeneratedBlock_Item.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGeneratedBlock_Item.java @@ -23,6 +23,7 @@ package com.github.bartimaeusnek.bartworks.system.material; import com.github.bartimaeusnek.bartworks.common.items.BW_ItemBlocks; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.util.GT_LanguageManager; @@ -62,6 +63,7 @@ public class BW_MetaGeneratedBlock_Item extends BW_ItemBlocks { if (aList == null) aList = new ArrayList<String>(); aList.add(Werkstoff.werkstoffHashMap.get((short) aStack.getItemDamage()).getToolTip()); + aList.add(BW_Tooltip_Reference.ADDED_BY_BARTWORKS.get()); } public boolean placeBlockAt(ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int side, float hitX, float hitY, float hitZ, int aMeta) { diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGeneratedBlocks_Casing.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGeneratedBlocks_Casing.java index adeeea4928..af87faf775 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGeneratedBlocks_Casing.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGeneratedBlocks_Casing.java @@ -23,6 +23,8 @@ package com.github.bartimaeusnek.bartworks.system.material; import com.github.technus.tectech.mechanics.structure.ICustomBlockSetting; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.GregTech_API; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_LanguageManager; @@ -78,6 +80,7 @@ public class BW_MetaGeneratedBlocks_Casing extends BW_MetaGenerated_Blocks imple @Override public void onBlockAdded(World aWorld, int aX, int aY, int aZ) { + super.onBlockAdded(aWorld,aX,aY,aZ); GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ); } @@ -85,7 +88,6 @@ public class BW_MetaGeneratedBlocks_Casing extends BW_MetaGenerated_Blocks imple protected void doRegistrationStuff(Werkstoff tMaterial) { GregTech_API.registerMachineBlock(this, -1); Optional.ofNullable(tMaterial) - .filter(pMaterial -> pMaterial.hasItemType(OrePrefixes.plate) && pMaterial.hasItemType(OrePrefixes.screw) && pMaterial.hasItemType(OrePrefixes.plateDouble) ) .ifPresent(pMaterial -> GT_LanguageManager.addStringLocalization( this.getUnlocalizedName() + "." + pMaterial.getmID() + ".name", @@ -104,13 +106,19 @@ public class BW_MetaGeneratedBlocks_Casing extends BW_MetaGenerated_Blocks imple } @Override + @SideOnly(Side.CLIENT) @SuppressWarnings("unchecked") public void getSubBlocks(Item aItem, CreativeTabs aTab, List aList) { Werkstoff.werkstoffHashSet.stream() .filter(pMaterial -> - pMaterial.hasItemType(OrePrefixes.plate) - && pMaterial.hasItemType(OrePrefixes.screw) - && pMaterial.hasItemType(OrePrefixes.plateDouble) + pMaterial.getType().equals(Werkstoff.Types.BIOLOGICAL) + && pMaterial.hasGenerationFeature(WerkstoffLoader.blockCasing) + || + pMaterial.doesOreDictedItemExists(OrePrefixes.plate) + && pMaterial.doesOreDictedItemExists(OrePrefixes.screw) + && pMaterial.doesOreDictedItemExists(OrePrefixes.plateDouble) + && pMaterial.doesOreDictedItemExists(OrePrefixes.gearGt) + && pMaterial.doesOreDictedItemExists(OrePrefixes.gearGtSmall) ) .map(pMaterial -> new ItemStack(aItem, 1, pMaterial.getmID())) .forEach(aList::add); @@ -131,4 +139,4 @@ public class BW_MetaGeneratedBlocks_Casing extends BW_MetaGenerated_Blocks imple .map(te -> (BW_MetaGeneratedBlocks_Casing_TE) te) .ifPresent(te -> te.mMetaData = (short) meta); } -} +}
\ No newline at end of file diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Blocks.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Blocks.java index 87eaf7038d..0d6bfbc9d3 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Blocks.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Blocks.java @@ -22,6 +22,7 @@ package com.github.bartimaeusnek.bartworks.system.material; +import com.github.bartimaeusnek.bartworks.MainMod; import com.github.bartimaeusnek.bartworks.client.renderer.BW_Renderer_Block_Ores; import com.github.bartimaeusnek.bartworks.common.blocks.BW_TileEntityContainer; import cpw.mods.fml.relauncher.Side; @@ -57,6 +58,17 @@ public abstract class BW_MetaGenerated_Blocks extends BW_TileEntityContainer { Werkstoff.werkstoffHashSet.forEach(this::doRegistrationStuff); } + @Override + public void onBlockAdded(World aWorld, int aX, int aY, int aZ) { + super.onBlockAdded(aWorld, aX, aY, aZ); + try { + //TODO: Unsleep this, is here because TE isnt set yet. + Thread.sleep(1); + } catch (InterruptedException e) { + MainMod.LOGGER.catching(e); + } + } + @SideOnly(Side.CLIENT) public final BW_MetaGenerated_Block_TE getProperTileEntityForRendering() { return (BW_MetaGenerated_Block_TE) createNewTileEntity(null,0); diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Items.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Items.java index ab84e7fd0b..ab38546756 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Items.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_MetaGenerated_Items.java @@ -25,7 +25,7 @@ package com.github.bartimaeusnek.bartworks.system.material; import com.github.bartimaeusnek.bartworks.API.IRadMaterial; import com.github.bartimaeusnek.bartworks.API.SideReference; import com.github.bartimaeusnek.bartworks.client.textures.PrefixTextureLinker; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Materials; @@ -49,7 +49,6 @@ import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; -import net.minecraft.util.StatCollector; import net.minecraft.world.World; import java.util.List; @@ -134,7 +133,7 @@ public class BW_MetaGenerated_Items extends GT_MetaGenerated_Item implements IRa if (aStack != null && aStack.getItem() instanceof BW_MetaGenerated_Items && aStack.getItemDamage() == WerkstoffLoader.Tiberium.getmID()) aList.add(GT_LanguageManager.getTranslation("metaitem.01.tooltip.nqgen")); - aList.add(StatCollector.translateToLocal("tooltip.bw.0.name") + ChatColorHelper.DARKGREEN + " BartWorks"); + aList.add(BW_Tooltip_Reference.ADDED_BY_BARTWORKS.get()); } public String getDefaultLocalization(Werkstoff werkstoff) { diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/CircuitGeneration/BW_Meta_Items.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/CircuitGeneration/BW_Meta_Items.java index 7870b820e8..1747471adf 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/CircuitGeneration/BW_Meta_Items.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/CircuitGeneration/BW_Meta_Items.java @@ -26,8 +26,8 @@ import com.github.bartimaeusnek.bartworks.MainMod; import com.github.bartimaeusnek.bartworks.common.loaders.ItemRegistry; import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; import com.github.bartimaeusnek.bartworks.util.BWRecipes; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import com.github.bartimaeusnek.bartworks.util.BW_Util; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.GregTech_API; @@ -44,7 +44,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.IIcon; -import net.minecraft.util.StatCollector; import net.minecraftforge.fluids.FluidStack; import java.util.*; @@ -289,7 +288,7 @@ public class BW_Meta_Items { @SuppressWarnings("unchecked") protected void addAdditionalToolTips(List aList, ItemStack aStack, EntityPlayer aPlayer) { super.addAdditionalToolTips(aList, aStack, aPlayer); - aList.add(StatCollector.translateToLocal("tooltip.bw.0.name") + ChatColorHelper.DARKGREEN + " BartWorks"); + aList.add(BW_Tooltip_Reference.ADDED_BY_BARTWORKS.get()); } @Override diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/BWGTMetaItems.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/BWGTMetaItems.java index 8838d9dc3d..efc29dc129 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/BWGTMetaItems.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/BWGTMetaItems.java @@ -55,36 +55,36 @@ public class BWGTMetaItems extends BW_MetaGenerated_Items { public BWGTMetaItems(OrePrefixes orePrefixes, List<Materials> noSubIDMaterials) { super(orePrefixes,null); - materialloop: + //materialloop: for (int i = 0; i < Materials.values().length; i++) { ItemStack tStack = new ItemStack(this, 1, i); - Materials w = Materials.values()[i]; - if (((w.getMolten(1) == null && orePrefixes == WerkstoffLoader.capsuleMolten) || ((w.getFluid(1) == null && w.getGas(1) == null) && (orePrefixes == OrePrefixes.capsule || orePrefixes == OrePrefixes.bottle)))) + Materials material = Materials.values()[i]; + if (((material.getMolten(1) == null && orePrefixes == WerkstoffLoader.capsuleMolten) || ((material.getFluid(1) == null && material.getGas(1) == null) && (orePrefixes == OrePrefixes.capsule || orePrefixes == OrePrefixes.bottle)))) continue; - for (Werkstoff werkstoff : Werkstoff.werkstoffHashSet) - if (w.mDefaultLocalName.equalsIgnoreCase(werkstoff.getDefaultName())) - continue materialloop; - if (OreDictionary.doesOreNameExist(this.orePrefixes.name() + w.mDefaultLocalName.replaceAll(" ",""))){ + //for (Werkstoff werkstoff : Werkstoff.werkstoffHashSet) + // if (material.mDefaultLocalName.equalsIgnoreCase(werkstoff.getDefaultName())) + // continue materialloop; + if (OreDictionary.doesOreNameExist(this.orePrefixes.name() + material.mDefaultLocalName.replaceAll(" ",""))){ hiddenThings.add(i); continue; } - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".name", getDefaultLocalization(w)); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".tooltip", w.getToolTip()); - GT_OreDictUnificator.registerOre(this.orePrefixes.name() + w.mDefaultLocalName.replaceAll(" ",""), tStack); + GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".name", getDefaultLocalization(material)); + GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".tooltip", material.getToolTip()); + GT_OreDictUnificator.registerOre(this.orePrefixes.name() + material.mDefaultLocalName.replaceAll(" ",""), tStack); } - if (noSubIDMaterials != null){ + if (noSubIDMaterials != null) { hasList = true; - materialloop: + //materialloop: for (int i = 0; i < noSubIDMaterials.size(); i++) { ItemStack tStack = new ItemStack(this, 1, i+1001); Materials w = noSubIDMaterials.get(i); if (((w.getMolten(1) == null && orePrefixes == WerkstoffLoader.capsuleMolten) || ((w.getFluid(1) == null && w.getGas(1) == null) && (orePrefixes == OrePrefixes.capsule || orePrefixes == OrePrefixes.bottle)))) continue; - for (Werkstoff werkstoff : Werkstoff.werkstoffHashSet) - if (w.mDefaultLocalName.equalsIgnoreCase(werkstoff.getDefaultName())) - continue materialloop; + //for (Werkstoff werkstoff : Werkstoff.werkstoffHashSet) + // if (w.mDefaultLocalName.equalsIgnoreCase(werkstoff.getDefaultName())) + // continue materialloop; if (OreDictionary.doesOreNameExist(this.orePrefixes.name() + w.mDefaultLocalName.replaceAll(" ",""))){ hiddenThings.add(i); continue; diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java index 0713ddf102..e99c32d110 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java @@ -22,8 +22,10 @@ package com.github.bartimaeusnek.bartworks.system.material; +import com.github.bartimaeusnek.bartworks.system.oredict.OreDictHandler; import com.github.bartimaeusnek.bartworks.util.*; import com.github.bartimaeusnek.crossmod.thaumcraft.util.ThaumcraftHandler; +import com.google.common.base.Verify; import gregtech.api.enums.*; import gregtech.api.interfaces.IColorModulationContainer; import gregtech.api.interfaces.ISubTagContainer; @@ -34,7 +36,6 @@ import net.minecraftforge.fluids.FluidStack; import java.lang.reflect.InvocationTargetException; import java.nio.ByteBuffer; import java.util.*; -import java.util.stream.Collectors; @SuppressWarnings("ALL") public class Werkstoff implements IColorModulationContainer, ISubTagContainer { @@ -76,21 +77,25 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { Werkstoff.default_null_Werkstoff = new Werkstoff(new short[3], "_NULL", "Default null Werkstoff", Werkstoff.DEFAULT_NULL_STATS, Werkstoff.Types.UNDEFINED, Werkstoff.DEFAULT_NULL_GENERATION_FEATURES, -1, TextureSet.SET_NONE); } + /** + * GT Materials Bridge Constructor + * @param materials a GT Materials + * @param generationFeatures the new Types you want to add + * @param type - self explainatory + * @param mID > 31_766 && <= 32_767 + */ public Werkstoff(Materials materials, Werkstoff.GenerationFeatures generationFeatures, Types type, int mID){ this( materials.mRGBa, - materials.getToolTip(), materials.mDefaultLocalName, + materials.getToolTip(), type == null ? materials.mElement != null ? Types.ELEMENT : Types.UNDEFINED : type, generationFeatures, mID, materials.mIconSet, (List) materials.mOreByProducts, - materials.mMaterialList - .stream() - .map(ml -> new Pair<ISubTagContainer, Integer>(ml.mMaterial, (int) ml.mAmount)) - .collect(Collectors.toList()) - .<Pair<ISubTagContainer, Integer>>toArray(new Pair[0]) + new Pair<>(materials, 1) ); + Verify.verify(mID > 31_766 && mID <= 32_767); this.stats.mass = materials.getMass(); this.stats.protons = materials.getProtons(); this.stats.meltingPoint = materials.mMeltingPoint; @@ -102,11 +107,11 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { this.stats.setRadioactive(materials.isRadioactive()); this.stats.setBlastFurnace(materials.mBlastFurnaceRequired); if (type == Types.COMPOUND){ - this.stats.setElektrolysis(type == Types.COMPOUND); + this.stats.setElektrolysis(true); this.generationFeatures.addChemicalRecipes(); } else if (type == Types.MIXTURE) { - this.stats.setCentrifuge(type == Types.MIXTURE); + this.stats.setCentrifuge(true); this.generationFeatures.addMixerRecipes(); } } @@ -452,11 +457,29 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { return this.stats.getDurOverride() > 0 ? this.stats.getDurOverride() : (int) (this.stats.durMod * ((0.01f * (float) this.getStats().getMeltingPoint() * (float) this.getStats().getMass()) / (float) this.getContents().getKey())); } + /** + * Checks if the generation feature is enabled and if its not in the blacklist + */ public boolean hasItemType(OrePrefixes prefixes) { int unpacked = Werkstoff.GenerationFeatures.getPrefixDataRaw(prefixes); return (this.getGenerationFeatures().toGenerate & unpacked) != 0 && (this.getGenerationFeatures().blacklist & unpacked) == 0; } + /** + * DOES NOT CHECK BLACKLIST! + */ + public boolean hasGenerationFeature(OrePrefixes prefixes){ + int unpacked = Werkstoff.GenerationFeatures.getPrefixDataRaw(prefixes); + return (this.getGenerationFeatures().toGenerate & unpacked) != 0; + } + + /** + * Checks if the Actual Stack exists in the OreDict + */ + public boolean doesOreDictedItemExists(OrePrefixes prefixes) { + return OreDictHandler.getItemStack(this.getDefaultName(), prefixes,1) != null; + } + public enum Types { MATERIAL, COMPOUND, MIXTURE, BIOLOGICAL, ELEMENT, ISOTOPE, UNDEFINED; @@ -474,6 +497,7 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { } public static class GenerationFeatures { + public static final GenerationFeatures DISABLED = new GenerationFeatures().disable(); long toGenerate = 0b0001001; //logic gate shit /* @@ -712,7 +736,7 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { } public Werkstoff.GenerationFeatures addCasings() { - this.toGenerate = (long) (this.toGenerate | 0x380); + this.toGenerate = (long) (this.toGenerate | 0x382); return this; } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java index 5e12e2e7a9..ccc8966bcf 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java @@ -187,6 +187,7 @@ public class WerkstoffLoader { bottle.mDefaultStackSize = 1; Werkstoff.GenerationFeatures.initPrefixLogic(); + BW_GT_MaterialReference.init(); } //TODO: @@ -474,6 +475,8 @@ public class WerkstoffLoader { Arrays.asList(Materials.RockSalt, Materials.Borax), new Pair<>(Materials.RockSalt, 1) ); + + //More NonGT Stuff public static final Werkstoff Fayalit = new Werkstoff( new short[]{50, 50, 50, 0}, "Fayalite", @@ -1426,7 +1429,10 @@ public class WerkstoffLoader { public static ItemStack getCorrespondingItemStackUnsafe(OrePrefixes orePrefixes, Werkstoff werkstoff, int amount) { if (!werkstoff.getGenerationFeatures().enforceUnification) { - ItemStack ret = OreDictHandler.getItemStack(werkstoff.getVarName(), orePrefixes, amount); + ItemStack ret = GT_OreDictUnificator.get(orePrefixes, werkstoff.getBridgeMaterial(), 1); + if (ret != null) + return ret; + ret = OreDictHandler.getItemStack(werkstoff.getVarName(), orePrefixes, amount); if (ret != null) return ret; } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CasingLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CasingLoader.java index cc1f7650a3..a1db413dca 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CasingLoader.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CasingLoader.java @@ -22,9 +22,11 @@ package com.github.bartimaeusnek.bartworks.system.material.werkstoff_loaders.recipe; +import com.github.bartimaeusnek.bartworks.system.material.BW_GT_MaterialReference; import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; import com.github.bartimaeusnek.bartworks.system.material.werkstoff_loaders.IWerkstoffRunnable; import gregtech.api.enums.GT_Values; +import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_ModHandler; import net.minecraft.item.ItemStack; @@ -35,10 +37,27 @@ import static gregtech.api.enums.OrePrefixes.*; public class CasingLoader implements IWerkstoffRunnable { @Override public void run(Werkstoff werkstoff) { - if (!(werkstoff.hasItemType(blockCasing) || werkstoff.hasItemType(plate) || werkstoff.hasItemType(screw) || werkstoff.hasItemType(gearGt) )) - return; + if (werkstoff == BW_GT_MaterialReference.Wood /*|| werkstoff == BW_GT_MaterialReference.WoodSealed*/) { + addCasingRecipes(werkstoff, plank); + } else { + if (! + ( + werkstoff.hasGenerationFeature(blockCasing) && + werkstoff.doesOreDictedItemExists(plate) && + werkstoff.doesOreDictedItemExists(screw) && + werkstoff.doesOreDictedItemExists(gearGtSmall) && + werkstoff.doesOreDictedItemExists(gearGt) && + werkstoff.doesOreDictedItemExists(plateDouble) + ) + ) + return; - GT_ModHandler.addCraftingRecipe(werkstoff.get(blockCasing),new Object[]{ + addCasingRecipes(werkstoff, plateDouble); + } + } + + private static void addCasingRecipes(Werkstoff werkstoff, OrePrefixes reboltedCasingsOuterStuff){ + GT_ModHandler.addCraftingRecipe(werkstoff.get(blockCasing), new Object[]{ "PSP", "PGP", "PSP", @@ -47,23 +66,23 @@ public class CasingLoader implements IWerkstoffRunnable { 'G', werkstoff.get(gearGtSmall) }); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - werkstoff.get(plate,6), - werkstoff.get(screw,2), + werkstoff.get(plate, 6), + werkstoff.get(screw, 2), werkstoff.get(gearGtSmall) - }, GT_Values.NF,werkstoff.get(blockCasing), 200, 30); + }, GT_Values.NF, werkstoff.get(blockCasing), 200, 30); - GT_ModHandler.addCraftingRecipe(werkstoff.get(blockCasingAdvanced),new Object[]{ + GT_ModHandler.addCraftingRecipe(werkstoff.get(blockCasingAdvanced), new Object[]{ "PSP", "PGP", "PSP", - 'P', werkstoff.get(plateDouble), + 'P', werkstoff.get(reboltedCasingsOuterStuff), 'S', werkstoff.get(screw), 'G', werkstoff.get(gearGt) }); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - werkstoff.get(plateDouble,6), - werkstoff.get(screw,2), + werkstoff.get(reboltedCasingsOuterStuff, 6), + werkstoff.get(screw, 2), werkstoff.get(gearGt) - }, GT_Values.NF,werkstoff.get(blockCasingAdvanced), 200, 30); + }, GT_Values.NF, werkstoff.get(blockCasingAdvanced), 200, 30); } }
\ No newline at end of file diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/oredict/OreDictHandler.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/oredict/OreDictHandler.java index bf077f47e1..3e5984df6d 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/oredict/OreDictHandler.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/oredict/OreDictHandler.java @@ -27,6 +27,7 @@ import com.github.bartimaeusnek.bartworks.util.Pair; import com.github.bartimaeusnek.crossmod.BartWorksCrossmod; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_OreDictUnificator; import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -76,7 +77,7 @@ public class OreDictHandler { Pair<Integer,Short> p = OreDictHandler.cache.get(prefixes+elementName.replaceAll(" ","")); return new ItemStack(Item.getItemById(p.getKey()),amount,p.getValue()); } else if (!OreDictionary.getOres(prefixes+elementName.replaceAll(" ","")).isEmpty()){ - ItemStack tmp = OreDictionary.getOres(prefixes+elementName.replaceAll(" ","")).get(0).copy(); + ItemStack tmp = GT_OreDictUnificator.get(OreDictionary.getOres(prefixes+elementName.replaceAll(" ","")).get(0).copy()).copy(); OreDictHandler.cache.put(prefixes+elementName.replaceAll(" ",""),new Pair<>(Item.getIdFromItem(tmp.getItem()), (short) tmp.getItemDamage())); tmp.stackSize=amount; return tmp; diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Tooltip_Reference.java b/src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Tooltip_Reference.java new file mode 100644 index 0000000000..9eb8e70d77 --- /dev/null +++ b/src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Tooltip_Reference.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2018-2020 bartimaeusnek + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package com.github.bartimaeusnek.bartworks.util; + +import static net.minecraft.util.EnumChatFormatting.*; +import net.minecraft.util.StatCollector; + +import java.util.function.Supplier; + +public class BW_Tooltip_Reference { + public static final String BW_NO_RESET = ChatColorHelper.DARKGREEN + "BartWorks"; + public static final String TT_NO_RESET = BLUE + "Tec" + DARK_BLUE + "Tech"; + public static final String BW = BW_NO_RESET + GRAY; + public static final String TT = TT_NO_RESET + GRAY; + public static final Supplier<String> ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS = () -> StatCollector.translateToLocal("tooltip.bw.1.name") + " " + BW; + public static final Supplier<String> ADDED_BY_BARTWORKS = () -> StatCollector.translateToLocal("tooltip.bw.0.name") + " " + BW; + public static final String ADV_STR_CHECK = "Uses an advanced "+ TT +" structure check, due to "+ BW; + + public static String[] getTranslatedBrandedTooltip(String key){ + String[] dsc = StatCollector.translateToLocal(key).split(";"); + String[] fdsc = new String[dsc.length + 1]; + System.arraycopy(dsc, 0, fdsc, 0, dsc.length); + fdsc[dsc.length] = ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS.get(); + return fdsc; + } +} diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/util/accessprioritylist/AccessPriorityList.java b/src/main/java/com/github/bartimaeusnek/bartworks/util/accessprioritylist/AccessPriorityList.java index 4cbb55c278..4529aa5202 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/util/accessprioritylist/AccessPriorityList.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/util/accessprioritylist/AccessPriorityList.java @@ -158,6 +158,11 @@ public class AccessPriorityList<E> implements List<E>, Deque<E>, Set<E> { return new AccessPriorityListIterators.AccessPriorityListIterator<>(head); } + public Iterator<AccessPriorityListNode<E>> nodeIterator() { + return new AccessPriorityListIterators.AccessPriorityListNodeIterator<>(head); + } + + @Override public Iterator<E> descendingIterator() { return new AccessPriorityListIterators.AccessPriorityListReverseIterator<>(tail); @@ -329,10 +334,11 @@ public class AccessPriorityList<E> implements List<E>, Deque<E>, Set<E> { } } - public void addPrioToNode(int index, long prio) { - if (!isValidIndex(index)) - return; - AccessPriorityListNode<E> node = getNode(index); + public void addPrioToNode(AccessPriorityListNode<E> node) { + addPrioToNode(node, 1L); + } + + public void addPrioToNode(AccessPriorityListNode<E> node, long prio){ long current = node.getPriority(); if (current == Long.MAX_VALUE || (current > 0 && prio > 0 && prio + current < 0)) node.setPriority(Long.MAX_VALUE); @@ -343,6 +349,13 @@ public class AccessPriorityList<E> implements List<E>, Deque<E>, Set<E> { } } + public void addPrioToNode(int index, long prio) { + if (!isValidIndex(index)) + return; + AccessPriorityListNode<E> node = getNode(index); + addPrioToNode(node, prio); + } + public void addPrioToNode(int index) { addPrioToNode(index, 1L); } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/util/accessprioritylist/AccessPriorityListIterators.java b/src/main/java/com/github/bartimaeusnek/bartworks/util/accessprioritylist/AccessPriorityListIterators.java index 3b85030d1e..ec842ede30 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/util/accessprioritylist/AccessPriorityListIterators.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/util/accessprioritylist/AccessPriorityListIterators.java @@ -143,4 +143,24 @@ public class AccessPriorityListIterators { } } + public static class AccessPriorityListNodeIterator<E> implements Iterator<AccessPriorityListNode<E>> { + final AccessPriorityListNode<E> head; + AccessPriorityListNode<E> current; + public AccessPriorityListNodeIterator(AccessPriorityListNode<E> head) { + this.head = this.current = head; + } + + @Override + public boolean hasNext() { + return current != null; + } + + @Override + public AccessPriorityListNode<E> next() { + AccessPriorityListNode<E> ret = current; + current = current.getNext(); + return ret; + } + } + } diff --git a/src/main/java/com/github/bartimaeusnek/crossmod/BartWorksCrossmod.java b/src/main/java/com/github/bartimaeusnek/crossmod/BartWorksCrossmod.java index 526a9f6be7..d20f191dd7 100644 --- a/src/main/java/com/github/bartimaeusnek/crossmod/BartWorksCrossmod.java +++ b/src/main/java/com/github/bartimaeusnek/crossmod/BartWorksCrossmod.java @@ -27,6 +27,10 @@ import com.github.bartimaeusnek.bartworks.MainMod; import com.github.bartimaeusnek.crossmod.GTpp.loader.RadioHatchCompat; import com.github.bartimaeusnek.crossmod.galacticraft.GalacticraftProxy; import com.github.bartimaeusnek.crossmod.tectech.TecTechResearchLoader; +import com.github.bartimaeusnek.crossmod.tectech.tileentites.multi.GT_Replacement.TT_ElectronicBlastFurnace; +import com.github.bartimaeusnek.crossmod.tectech.tileentites.multi.GT_Replacement.TT_ImplosionCompressor; +import com.github.bartimaeusnek.crossmod.tectech.tileentites.multi.GT_Replacement.TT_OilCrackingUnit; +import com.github.bartimaeusnek.crossmod.tectech.tileentites.multi.GT_Replacement.TT_VaccuumFreezer; import com.github.bartimaeusnek.crossmod.thaumcraft.CustomAspects; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.event.FMLInitializationEvent; @@ -75,6 +79,13 @@ public class BartWorksCrossmod { public void init(FMLInitializationEvent init) { if (LoaderReference.GalacticraftCore) GalacticraftProxy.init(init); + //Base GT -> TT Replacement + //if (LoaderReference.tectech) { + // new TT_VaccuumFreezer(null); + // new TT_OilCrackingUnit(null); + // new TT_ImplosionCompressor(null); + // new TT_ElectronicBlastFurnace(null); + //} } @Mod.EventHandler diff --git a/src/main/java/com/github/bartimaeusnek/crossmod/galacticgreg/GT_TileEntity_VoidMiner_Base.java b/src/main/java/com/github/bartimaeusnek/crossmod/galacticgreg/GT_TileEntity_VoidMiner_Base.java index bc81b2026c..f4400fab11 100644 --- a/src/main/java/com/github/bartimaeusnek/crossmod/galacticgreg/GT_TileEntity_VoidMiner_Base.java +++ b/src/main/java/com/github/bartimaeusnek/crossmod/galacticgreg/GT_TileEntity_VoidMiner_Base.java @@ -34,7 +34,7 @@ import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; import com.github.bartimaeusnek.bartworks.system.oregen.BW_OreLayer; import com.github.bartimaeusnek.bartworks.system.oregen.BW_WorldGenRoss128b; import com.github.bartimaeusnek.bartworks.system.oregen.BW_WorldGenRoss128ba; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import com.github.bartimaeusnek.bartworks.util.Pair; import com.google.common.collect.ArrayListMultimap; import gregtech.api.GregTech_API; @@ -48,7 +48,6 @@ import gregtech.common.GT_Worldgen_GT_Ore_SmallPieces; import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_DrillerBase; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.StatCollector; import net.minecraft.world.gen.ChunkProviderServer; import net.minecraftforge.fluids.FluidStack; @@ -160,7 +159,7 @@ public abstract class GT_TileEntity_VoidMiner_Base extends GT_MetaTileEntity_Dri "Can be supplied with 2L/s of Neon(x4), Krypton(x8), Xenon(x16) or Oganesson(x64)", "for higher outputs.", "Will output "+(2*TIER_MULTIPLIER)+" Ores per Second depending on the Dimension it is build in", - StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks" + BW_Tooltip_Reference.ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS.get() }; } diff --git a/src/main/java/com/github/bartimaeusnek/crossmod/tectech/TecTechEnabledMulti.java b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/TecTechEnabledMulti.java index 9f78d02d5a..bda1ae72ca 100644 --- a/src/main/java/com/github/bartimaeusnek/crossmod/tectech/TecTechEnabledMulti.java +++ b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/TecTechEnabledMulti.java @@ -22,7 +22,7 @@ package com.github.bartimaeusnek.crossmod.tectech; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyTunnel; import gregtech.api.enums.GT_Values; @@ -83,7 +83,7 @@ public interface TecTechEnabledMulti { return new String[]{ StatCollector.translateToLocal("GT5U.multiblock.Progress") + ": " - + EnumChatFormatting.GREEN + multiBlockBase.mProgresstime / 20 + EnumChatFormatting.RESET + " s / " + EnumChatFormatting.YELLOW + multiBlockBase.mMaxProgresstime / 20 + EnumChatFormatting.RESET + " s", StatCollector.translateToLocal("GT5U.multiblock.energy") + ": " + EnumChatFormatting.GREEN + storedEnergy + EnumChatFormatting.RESET + " EU / " + EnumChatFormatting.YELLOW + maxEnergy + EnumChatFormatting.RESET + " EU", StatCollector.translateToLocal("GT5U.multiblock.usage") + ": " + EnumChatFormatting.RED + -multiBlockBase.mEUt + EnumChatFormatting.RESET + " EU/t", StatCollector.translateToLocal("GT5U.multiblock.mei") + ": " + EnumChatFormatting.YELLOW + multiBlockBase.getMaxInputVoltage() + EnumChatFormatting.RESET + " EU/t(*2A) " + StatCollector.translateToLocal("GT5U.machines.tier") + ": " + EnumChatFormatting.YELLOW + GT_Values.VN[GT_Utility.getTier(multiBlockBase.getMaxInputVoltage())] + EnumChatFormatting.RESET, StatCollector.translateToLocal("GT5U.multiblock.problems") + ": " + EnumChatFormatting.RED + (multiBlockBase.getIdealStatus() - multiBlockBase.getRepairStatus()) + EnumChatFormatting.RESET + " " + StatCollector.translateToLocal("GT5U.multiblock.efficiency") + ": " + EnumChatFormatting.YELLOW + (float) multiBlockBase.mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", StatCollector.translateToLocal("GT5U.multiblock.pollution") + ": " + EnumChatFormatting.GREEN + mPollutionReduction + EnumChatFormatting.RESET + " %", StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks"}; + + EnumChatFormatting.GREEN + multiBlockBase.mProgresstime / 20 + EnumChatFormatting.RESET + " s / " + EnumChatFormatting.YELLOW + multiBlockBase.mMaxProgresstime / 20 + EnumChatFormatting.RESET + " s", StatCollector.translateToLocal("GT5U.multiblock.energy") + ": " + EnumChatFormatting.GREEN + storedEnergy + EnumChatFormatting.RESET + " EU / " + EnumChatFormatting.YELLOW + maxEnergy + EnumChatFormatting.RESET + " EU", StatCollector.translateToLocal("GT5U.multiblock.usage") + ": " + EnumChatFormatting.RED + -multiBlockBase.mEUt + EnumChatFormatting.RESET + " EU/t", StatCollector.translateToLocal("GT5U.multiblock.mei") + ": " + EnumChatFormatting.YELLOW + multiBlockBase.getMaxInputVoltage() + EnumChatFormatting.RESET + " EU/t(*2A) " + StatCollector.translateToLocal("GT5U.machines.tier") + ": " + EnumChatFormatting.YELLOW + GT_Values.VN[GT_Utility.getTier(multiBlockBase.getMaxInputVoltage())] + EnumChatFormatting.RESET, StatCollector.translateToLocal("GT5U.multiblock.problems") + ": " + EnumChatFormatting.RED + (multiBlockBase.getIdealStatus() - multiBlockBase.getRepairStatus()) + EnumChatFormatting.RESET + " " + StatCollector.translateToLocal("GT5U.multiblock.efficiency") + ": " + EnumChatFormatting.YELLOW + (float) multiBlockBase.mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", StatCollector.translateToLocal("GT5U.multiblock.pollution") + ": " + EnumChatFormatting.GREEN + mPollutionReduction + EnumChatFormatting.RESET + " %", BW_Tooltip_Reference.ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS.get()}; } } diff --git a/src/main/java/com/github/bartimaeusnek/crossmod/tectech/helper/CoilAdder.java b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/helper/CoilAdder.java new file mode 100644 index 0000000000..8cec3450a7 --- /dev/null +++ b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/helper/CoilAdder.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2018-2020 bartimaeusnek + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package com.github.bartimaeusnek.crossmod.tectech.helper; + +import com.github.technus.tectech.TecTech; +import com.github.technus.tectech.mechanics.structure.IStructureElement; +import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; +import gregtech.api.GregTech_API; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class CoilAdder<MultiBlock extends GT_MetaTileEntity_MultiblockBase_EM & IHasCoils> implements IStructureElement<MultiBlock> { + + private CoilAdder(){} + + @SuppressWarnings("rawtypes") + private static final CoilAdder INSTANCE = new CoilAdder(); + + @SuppressWarnings("unchecked") + public static <MultiBlock extends GT_MetaTileEntity_MultiblockBase_EM & IHasCoils> CoilAdder<MultiBlock> getINSTANCE() { + return INSTANCE; + } + + @Override + public boolean check(MultiBlock multiBlock, World world, int x, int y, int z) { + if (multiBlock.getCoilMeta() == -1) + multiBlock.setCoilMeta((short) world.getBlockMetadata(x, y, z)); + return multiBlock.getCoilMeta() == (short) world.getBlockMetadata(x, y, z) + && GregTech_API.sBlockCasings5 == world.getBlock(x, y, z); + } + + @Override + public boolean placeBlock(MultiBlock MultiBlock, World world, int x, int y, int z, ItemStack trigger) { + world.setBlock(x, y, z, GregTech_API.sBlockCasings5, 0, 2); + return true; + } + + @Override + public boolean spawnHint(MultiBlock MultiBlock, World world, int x, int y, int z, ItemStack trigger) { + TecTech.proxy.hint_particle(world, x, y, z, GregTech_API.sBlockCasings5, 0); + return true; + } +}
\ No newline at end of file diff --git a/src/main/java/com/github/bartimaeusnek/crossmod/tectech/helper/IHasCoils.java b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/helper/IHasCoils.java new file mode 100644 index 0000000000..ea987e2426 --- /dev/null +++ b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/helper/IHasCoils.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2018-2020 bartimaeusnek + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package com.github.bartimaeusnek.crossmod.tectech.helper; + +public interface IHasCoils { + void setCoilMeta(short coilMeta); + short getCoilMeta(); +} diff --git a/src/main/java/com/github/bartimaeusnek/crossmod/tectech/helper/StructureDefinitions.java b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/helper/StructureDefinitions.java new file mode 100644 index 0000000000..7e1b225a2a --- /dev/null +++ b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/helper/StructureDefinitions.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2018-2020 bartimaeusnek + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package com.github.bartimaeusnek.crossmod.tectech.helper; + +import static com.github.technus.tectech.mechanics.structure.StructureUtility.transpose; + +public enum StructureDefinitions { + CUBE_NO_MUFFLER(transpose( + new String[][]{ + {"VVV", "VVV", "VVV"}, + {"V~V", "V-V", "VVV"}, + {"VVV", "VVV", "VVV"} + })) + , + CUBE_MUFFLER(transpose( + new String[][]{ + {"VVV", "VMV", "VVV"}, + {"V~V", "V-V", "VVV"}, + {"VVV", "VVV", "VVV"} + })) + ; + + private final String[][] definition; + + public String[][] getDefinition() { + return definition; + } + + StructureDefinitions(String[][] definition) { + this.definition = definition; + } +} diff --git a/src/main/java/com/github/bartimaeusnek/crossmod/tectech/TecTechUtils.java b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/helper/TecTechUtils.java index 7759eddfd5..bc28090155 100644 --- a/src/main/java/com/github/bartimaeusnek/crossmod/tectech/TecTechUtils.java +++ b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/helper/TecTechUtils.java @@ -20,8 +20,9 @@ * SOFTWARE. */ -package com.github.bartimaeusnek.crossmod.tectech; +package com.github.bartimaeusnek.crossmod.tectech.helper; +import com.github.bartimaeusnek.crossmod.tectech.TecTechEnabledMulti; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyTunnel; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; diff --git a/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/multi/GT_Replacement/TT_ElectronicBlastFurnace.java b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/multi/GT_Replacement/TT_ElectronicBlastFurnace.java new file mode 100644 index 0000000000..ab6eaca7a0 --- /dev/null +++ b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/multi/GT_Replacement/TT_ElectronicBlastFurnace.java @@ -0,0 +1,442 @@ +/* + * Copyright (c) 2018-2020 bartimaeusnek + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package com.github.bartimaeusnek.crossmod.tectech.tileentites.multi.GT_Replacement; + +import com.github.bartimaeusnek.crossmod.tectech.helper.CoilAdder; +import com.github.bartimaeusnek.crossmod.tectech.helper.IHasCoils; +import com.github.technus.tectech.mechanics.constructable.IConstructable; +import com.github.technus.tectech.mechanics.structure.IStructureDefinition; +import com.github.technus.tectech.mechanics.structure.StructureDefinition; +import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DynamoMulti; +import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti; +import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; +import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; +import com.google.common.collect.ImmutableSet; +import gregtech.api.GregTech_API; +import gregtech.api.enums.Materials; +import gregtech.api.enums.Textures; +import gregtech.api.gui.GT_Container_MultiMachine; +import gregtech.api.gui.GT_GUIContainer_MultiMachine; +import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.interfaces.tileentity.ITurnable; +import gregtech.api.metatileentity.MetaTileEntity; +import gregtech.api.metatileentity.implementations.*; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_Utility; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; + +import java.util.ArrayList; +import java.util.Set; + +import static com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference.ADV_STR_CHECK; +import static com.github.technus.tectech.mechanics.structure.StructureUtility.*; +import static gregtech.api.enums.GT_Values.V; + +public class TT_ElectronicBlastFurnace extends GT_MetaTileEntity_MultiblockBase_EM implements IHasCoils, IConstructable { + + public TT_ElectronicBlastFurnace(Object unused) { + super(32765, "multimachine.blastfurnace", "Electric Blast Furnace"); + GregTech_API.METATILEENTITIES[32765] = null; + GregTech_API.METATILEENTITIES[1000] = this; + } + + private TT_ElectronicBlastFurnace(String aName) { + super(aName); + } + + private short coilMeta = -1; + private static final byte TEXTURE_INDEX = 11; + private static final IStructureDefinition<TT_ElectronicBlastFurnace> STRUCTURE_DEFINITION = StructureDefinition + .<TT_ElectronicBlastFurnace>builder() + .addShape("main", + transpose(new String[][]{ + {"AAA", "AMA", "AAA"}, + {"CCC", "C-C", "CCC"}, + {"CCC", "C-C", "CCC"}, + {"B~B", "BBB", "BBB"} + }) + ).addElement( + 'C', + CoilAdder.getINSTANCE() + ).addElement( + 'M', + ofHatchAdder( + GT_MetaTileEntity_MultiblockBase_EM::addClassicMufflerToMachineList, TEXTURE_INDEX, + 1 + ) + ).addElement( + 'A', + ofHatchAdderOptional( + TT_ElectronicBlastFurnace::addEBFInputsTop, TEXTURE_INDEX, + GregTech_API.sBlockCasings1, TEXTURE_INDEX, + GregTech_API.sBlockCasings1, TEXTURE_INDEX + ) + ).addElement( + 'B', + ofHatchAdderOptional( + TT_ElectronicBlastFurnace::addEBFInputsBottom, TEXTURE_INDEX, + GregTech_API.sBlockCasings1, TEXTURE_INDEX, + GregTech_API.sBlockCasings1, TEXTURE_INDEX + ) + ) + .build(); + + @Override + public IStructureDefinition<TT_ElectronicBlastFurnace> getStructure_EM() { + return STRUCTURE_DEFINITION; + } + + @Override + protected boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { + this.setCoilMeta((short) -1); + boolean ret = this.structureCheck_EM("main", 1, 3, 0) && this.getHeatingCapacity() > -1; + if (this.mMufflerHatches.stream() + .map(MetaTileEntity::getBaseMetaTileEntity) + .mapToInt(ITurnable::getFrontFacing) + .noneMatch(x -> x == this.getExtendedFacing().getRelativeUpInWorld().ordinal())) + return false; + return ret; + } + + @Override + public void construct(ItemStack itemStack, boolean b) { + this.structureBuild_EM("main", 1,3,0, b, itemStack); + } + + @Override + protected boolean cyclicUpdate_EM() { + return false; + } + + public final boolean addEBFInputsTop(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { + if (aTileEntity == null) + return false; + IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Output) + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); + else + return false; + + return this.mOutputHatches.add((GT_MetaTileEntity_Hatch_Output) aMetaTileEntity); + } + + private static final Set<FluidStack> POLLUTION_FLUID_STACKS = ImmutableSet.of( + Materials.CarbonDioxide.getGas(1000), + Materials.CarbonMonoxide.getGas(1000), + Materials.SulfurDioxide.getGas(1000) + ); + + @Override + public boolean addOutput(FluidStack aLiquid) { + if (aLiquid == null) + return false; + FluidStack tLiquid = aLiquid.copy(); + + if (POLLUTION_FLUID_STACKS.stream().anyMatch(tLiquid::isFluidEqual)) { + tLiquid.amount = tLiquid.amount * (mMufflerHatches.stream() + .filter(GT_MetaTileEntity_MultiBlockBase::isValidMetaTileEntity) + .findFirst() + .map(tHatch -> 100 - tHatch.calculatePollutionReduction(100)) + .orElse(0) + 5) / 100; + } + + for (GT_MetaTileEntity_Hatch_Output tHatch : mOutputHatches) { + if ( + (isValidMetaTileEntity(tHatch) && GT_ModHandler.isSteam(aLiquid) + ? !tHatch.outputsSteam() + : !tHatch.outputsLiquids()) + || tHatch.getBaseMetaTileEntity().getYCoord() <= this.getBaseMetaTileEntity().getYCoord()) + continue; + int tAmount = tHatch.fill(tLiquid, false); + if (tAmount >= tLiquid.amount) + return tHatch.fill(tLiquid, true) >= tLiquid.amount; + else if (tAmount > 0) + tLiquid.amount = tLiquid.amount - tHatch.fill(tLiquid, true); + } + return false; + } + + public final boolean addEBFInputsBottom(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { + if (aTileEntity == null) + return false; + IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch) + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); + else + return false; + + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus) + return this.mInputBusses.add((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity); + else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_OutputBus) + return this.mOutputBusses.add((GT_MetaTileEntity_Hatch_OutputBus) aMetaTileEntity); + else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Output) + return this.mOutputHatches.add((GT_MetaTileEntity_Hatch_Output) aMetaTileEntity); + else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) + return this.mInputHatches.add((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity); + else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Energy) + return this.mEnergyHatches.add((GT_MetaTileEntity_Hatch_Energy) aMetaTileEntity); + else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Maintenance) + return this.mMaintenanceHatches.add((GT_MetaTileEntity_Hatch_Maintenance) aMetaTileEntity); + else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyMulti) + return this.eEnergyMulti.add((GT_MetaTileEntity_Hatch_EnergyMulti) aMetaTileEntity); + else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_DynamoMulti) + return this.eDynamoMulti.add((GT_MetaTileEntity_Hatch_DynamoMulti) aMetaTileEntity); + return false; + } + + public String[] getDescription() { + return new String[]{ + "Controller Block for the Blast Furnace", + "Size(WxHxD): 3x4x3 (Hollow), Controller (Front middle bottom)", + "16x Heating Coils (Two middle Layers, hollow)", + "1x Input Hatch/Bus (Any bottom layer casing)", + "1x Output Hatch/Bus (Any bottom layer casing)", + "1x Energy Hatch (Any bottom layer casing)", + "1x Maintenance Hatch (Any bottom layer casing)", + "1x Muffler Hatch (Top middle)", + "1x Output Hatch to recover CO2/CO/SO2 (optional, any top layer casing),", + " Recovery scales with Muffler Hatch tier", + "Heat Proof Machine Casings for the rest", + "Each 900K over the min. Heat Capacity multiplies eu/t by 0.95", + "Each 1800K over the min. Heat Capacity allows for one upgraded overclock", + "Upgraded overclocks reduce recipe time to 25% and increase EU/t to 400%", + "Causes " + 20 * getPollutionPerTick(null) + " Pollution per second", + ADV_STR_CHECK + }; + } + + 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][11], 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][11]}; + } + + public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "ElectricBlastFurnace.png"); + } + + @Override + public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_Container_MultiMachine(aPlayerInventory, aBaseMetaTileEntity); + } + + @Override + public void setCoilMeta(short coilMeta) { + this.coilMeta = coilMeta; + } + + @Override + public short getCoilMeta() { + return coilMeta; + } + + private int getHeatingCapacity() { + switch (coilMeta) { + case 0: + return 1801; + case 1: + return 2701; + case 2: + return 3601; + case 3: + return 4501; + case 4: + return 5401; + case 5: + return 7201; + case 6: + return 9001; + case 7: + return 9901; + case 8: + return 10801; + default: + return -1; + } + } + + @Override + public String[] getStructureDescription(ItemStack itemStack) { + return new String[0]; + } + + @Override + public IMetaTileEntity newMetaEntity(IGregTechTileEntity iGregTechTileEntity) { + return new TT_ElectronicBlastFurnace(this.mName); + } + + public boolean checkRecipe_EM(ItemStack aStack) { + ArrayList<ItemStack> tInputList = getStoredInputs(); + int tInputList_sS = tInputList.size(); + for (int i = 0; i < tInputList_sS - 1; i++) { + for (int j = i + 1; j < tInputList_sS; j++) { + if (GT_Utility.areStacksEqual(tInputList.get(i), tInputList.get(j))) { + if (tInputList.get(i).stackSize >= tInputList.get(j).stackSize) { + tInputList.remove(j--); + tInputList_sS = tInputList.size(); + } else { + tInputList.remove(i--); + tInputList_sS = tInputList.size(); + break; + } + } + } + } + ItemStack[] tInputs = tInputList.toArray(new ItemStack[0]); + + ArrayList<FluidStack> tFluidList = getStoredFluids(); + int tFluidList_sS = tFluidList.size(); + for (int i = 0; i < tFluidList_sS - 1; i++) { + for (int j = i + 1; j < tFluidList_sS; j++) { + if (GT_Utility.areFluidsEqual(tFluidList.get(i), tFluidList.get(j))) { + if (tFluidList.get(i).amount >= tFluidList.get(j).amount) { + tFluidList.remove(j--); + tFluidList_sS = tFluidList.size(); + } else { + tFluidList.remove(i--); + tFluidList_sS = tFluidList.size(); + break; + } + } + } + } + FluidStack[] tFluids = tFluidList.toArray(new FluidStack[0]); + if (tInputList.size() > 0) { + long tVoltage = getMaxInputVoltage(); + byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); + GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sBlastRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], tFluids, tInputs); + if (tRecipe == null + || (this.getHeatingCapacity() < tRecipe.mSpecialValue) + || (!tRecipe.isRecipeInputEqual(true, tFluids, tInputs))) { + return false; + } + this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000); + this.mEfficiencyIncrease = 10000; + int tHeatCapacityDivTiers = (this.getHeatingCapacity() - tRecipe.mSpecialValue) / 900; + byte overclockCount = calculateOverclockednessEBF(tRecipe.mEUt, tRecipe.mDuration, tVoltage); + //In case recipe is too OP for that machine + if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1) + return false; + if (this.mEUt > 0) + this.mEUt = (-this.mEUt); + + if (tHeatCapacityDivTiers > 0) { + this.mEUt = (int) (this.mEUt * (Math.pow(0.95, tHeatCapacityDivTiers))); + this.mMaxProgresstime >>= Math.min(tHeatCapacityDivTiers / 2, overclockCount);//extra free overclocking if possible + if (this.mMaxProgresstime < 1) + this.mMaxProgresstime = 1;//no eu efficiency correction + } + this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime); + this.mOutputItems = new ItemStack[]{tRecipe.getOutput(0), tRecipe.getOutput(1)}; + this.mOutputFluids = new FluidStack[]{tRecipe.getFluidOutput(0)}; + updateSlots(); + return true; + } + return false; + } + + /** + * Calcualtes overclocked ness using long integers + * + * @param aEUt - recipe EUt + * @param aDuration - recipe Duration + */ + protected byte calculateOverclockednessEBF(int aEUt, int aDuration, long maxInputVoltage) { + byte mTier = (byte) Math.max(0, GT_Utility.getTier(maxInputVoltage)), timesOverclocked = 0; + if (mTier == 0) { + //Long time calculation + long xMaxProgresstime = ((long) aDuration) << 1; + if (xMaxProgresstime > Integer.MAX_VALUE - 1) { + //make impossible if too long + mEUt = Integer.MAX_VALUE - 1; + mMaxProgresstime = Integer.MAX_VALUE - 1; + } else { + mEUt = aEUt >> 2; + mMaxProgresstime = (int) xMaxProgresstime; + } + //return 0; + } else { + //Long EUt calculation + long xEUt = aEUt; + //Isnt too low EUt check? + long tempEUt = Math.max(xEUt, V[1]); + + mMaxProgresstime = aDuration; + + while (tempEUt <= V[mTier - 1]) { + tempEUt <<= 2;//this actually controls overclocking + //xEUt *= 4;//this is effect of everclocking + mMaxProgresstime >>= 1;//this is effect of overclocking + xEUt = mMaxProgresstime == 0 ? xEUt >> 1 : xEUt << 2;//U know, if the time is less than 1 tick make the machine use less power + timesOverclocked++; + } + if (xEUt > Integer.MAX_VALUE - 1) { + mEUt = Integer.MAX_VALUE - 1; + mMaxProgresstime = Integer.MAX_VALUE - 1; + } else { + mEUt = (int) xEUt; + if (mEUt == 0) + mEUt = 1; + if (mMaxProgresstime == 0) + mMaxProgresstime = 1;//set time to 1 tick + } + } + return timesOverclocked; + } + + @Override + public boolean isMachineBlockUpdateRecursive() { + return true; + } + + @Override + public boolean isCorrectMachinePart(ItemStack aStack) { + return true; + } + + @Override + public int getMaxEfficiency(ItemStack aStack) { + return 10000; + } + + @Override + public int getPollutionPerTick(ItemStack aStack) { + return 20; + } + + @Override + public int getDamageToComponent(ItemStack aStack) { + return 0; + } + + @Override + public boolean explodesOnComponentBreak(ItemStack aStack) { + return false; + } +} diff --git a/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/multi/GT_Replacement/TT_ImplosionCompressor.java b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/multi/GT_Replacement/TT_ImplosionCompressor.java new file mode 100644 index 0000000000..387540cfb1 --- /dev/null +++ b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/multi/GT_Replacement/TT_ImplosionCompressor.java @@ -0,0 +1,261 @@ +/* + * Copyright (c) 2018-2020 bartimaeusnek + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package com.github.bartimaeusnek.crossmod.tectech.tileentites.multi.GT_Replacement; + +import com.github.bartimaeusnek.crossmod.tectech.helper.StructureDefinitions; +import com.github.technus.tectech.mechanics.constructable.IConstructable; +import com.github.technus.tectech.mechanics.structure.IStructureDefinition; +import com.github.technus.tectech.mechanics.structure.StructureDefinition; +import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DynamoMulti; +import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti; +import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; +import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; +import com.google.common.collect.ArrayListMultimap; +import gregtech.api.GregTech_API; +import gregtech.api.enums.Textures; +import gregtech.api.gui.GT_Container_MultiMachine; +import gregtech.api.gui.GT_GUIContainer_MultiMachine; +import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.implementations.*; +import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_Utility; +import net.minecraft.block.Block; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.item.ItemStack; + +import java.util.List; + +import static com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference.*; +import static com.github.technus.tectech.mechanics.structure.StructureUtility.*; + +public class TT_ImplosionCompressor extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { + + public TT_ImplosionCompressor(Object unused) { + super(32765, "multimachine.implosioncompressor", "Implosion Compressor"); + GregTech_API.METATILEENTITIES[32765] = null; + GregTech_API.METATILEENTITIES[1001] = this; + } + + private TT_ImplosionCompressor(String aName) { + super(aName); + } + + @Override + protected boolean cyclicUpdate_EM() { + return false; + } + + private byte blocks = 0; + + private static final byte TEXTURE_INDEX = 16; + private static final byte SOUND_INDEX = 20; + + private static final ArrayListMultimap<Block, Integer> BLOCKS = ArrayListMultimap.create(); + + static { + BLOCKS.put(GregTech_API.sBlockCasings2,0); + BLOCKS.put(GregTech_API.sBlockCasings3,4); + } + + private static final IStructureDefinition<TT_ImplosionCompressor> STRUCTURE_DEFINITION = + StructureDefinition.<TT_ImplosionCompressor>builder().addShape("main", + StructureDefinitions.CUBE_NO_MUFFLER.getDefinition() + ).addElement( + 'V', + ofChain( + ofHatchAdder( + TT_ImplosionCompressor::addImplosionHatches, + TEXTURE_INDEX, + 1 + ), + onElementPass( + x -> ++x.blocks, + ofBlocksMap( + BLOCKS.asMap(),GregTech_API.sBlockCasings2, + 0 + ) + ) + ) + ).build(); + + public final boolean addImplosionHatches(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { + if (aTileEntity != null) { + IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch) + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); + else + return false; + + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus) + return this.mInputBusses.add((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity); + else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_OutputBus) + return this.mOutputBusses.add((GT_MetaTileEntity_Hatch_OutputBus) aMetaTileEntity); + else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Energy) + return this.mEnergyHatches.add((GT_MetaTileEntity_Hatch_Energy) aMetaTileEntity); + else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Maintenance) + return this.mMaintenanceHatches.add((GT_MetaTileEntity_Hatch_Maintenance) aMetaTileEntity); + else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyMulti) + return this.eEnergyMulti.add((GT_MetaTileEntity_Hatch_EnergyMulti) aMetaTileEntity); + else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_DynamoMulti) + return this.eDynamoMulti.add((GT_MetaTileEntity_Hatch_DynamoMulti) aMetaTileEntity); + else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Muffler) + return this.mMufflerHatches.add((GT_MetaTileEntity_Hatch_Muffler) aMetaTileEntity); + } + return false; + } + + @Override + protected boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { + this.blocks = 0; + return this.structureCheck_EM("main", 1,1,0) + && this.blocks >= 16; + } + + @Override + public void construct(ItemStack itemStack, boolean b) { + this.structureBuild_EM("main", 1,1,0, b, itemStack); + } + + @Override + public String[] getStructureDescription(ItemStack itemStack) { + return new String[0]; + } + + @Override + public IMetaTileEntity newMetaEntity(IGregTechTileEntity iGregTechTileEntity) { + return new TT_ImplosionCompressor(this.mName); + } + + @Override + public String[] getDescription() { + return new String[]{ + "Controller Block for the Implosion Compressor", + "Size(WxHxD): 3x3x3 (Hollow), Controller (Front centered)", + "1x Input Bus (Any casing)", + "1x Output Bus (Any casing)", + "1x Maintenance Hatch (Any casing)", + "1x Muffler Hatch (Any casing)", + "1x Energy Hatch (Any casing)", + "Solid Steel Machine Casings for the rest (16 at least!)", + "Casings can be replaced with Explosion Warning Signs", + "Causes " + 20 * getPollutionPerTick(null) + " Pollution per second", + ADV_STR_CHECK + }; + } + + @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][TEXTURE_INDEX], new TT_RenderedExtendedFacingTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_IMPLOSION_COMPRESSOR_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_IMPLOSION_COMPRESSOR)}; + } + return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][TEXTURE_INDEX]}; + } + + @Override + public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_Container_MultiMachine(aPlayerInventory, aBaseMetaTileEntity); + } + + @Override + public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "ImplosionCompressor.png"); + } + + @Override + public IStructureDefinition<TT_ImplosionCompressor> getStructure_EM() { + return STRUCTURE_DEFINITION; + } + + @Override + public boolean checkRecipe_EM(ItemStack aStack) { + List<ItemStack> tInputList = getStoredInputs(); + int tInputList_sS=tInputList.size(); + for (int i = 0; i < tInputList_sS - 1; i++) { + for (int j = i + 1; j < tInputList_sS; j++) { + if (GT_Utility.areStacksEqual(tInputList.get(i), tInputList.get(j))) { + if (tInputList.get(i).stackSize >= tInputList.get(j).stackSize) { + tInputList.remove(j--); + tInputList_sS=tInputList.size(); + } else { + tInputList.remove(i--); + tInputList_sS=tInputList.size(); + break; + } + } + } + } + ItemStack[] tInputs = tInputList.toArray(new ItemStack[0]); + if (tInputList.size() > 0) { + GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sImplosionRecipes.findRecipe(getBaseMetaTileEntity(), false, 9223372036854775807L, null, tInputs); + if ((tRecipe != null) && (tRecipe.isRecipeInputEqual(true, null, tInputs))) { + this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000); + this.mEfficiencyIncrease = 10000; + //OC THAT EXPLOSIVE SHIT!!! + calculateOverclockedNessMulti(tRecipe.mEUt, tRecipe.mDuration, 1, getMaxInputVoltage()); + //In case recipe is too OP for that machine + if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1) + return false; + if (this.mEUt > 0) { + this.mEUt = (-this.mEUt); + } + this.mOutputItems = new ItemStack[]{tRecipe.getOutput(0), tRecipe.getOutput(1)}; + sendLoopStart(SOUND_INDEX); + updateSlots(); + return true; + } + } + return false; + } + + @Override + public void startSoundLoop(byte aIndex, double aX, double aY, double aZ) { + super.startSoundLoop(aIndex, aX, aY, aZ); + if (aIndex == SOUND_INDEX) { + GT_Utility.doSoundAtClient(GregTech_API.sSoundList.get(5), 10, 1.0F, aX, aY, aZ); + } + } + + + + @Override + public int getMaxEfficiency(ItemStack aStack) { + return 10000; + } + + @Override + public int getPollutionPerTick(ItemStack aStack) { + return 500; + } + + @Override + public int getDamageToComponent(ItemStack aStack) { + return 0; + } + + @Override + public boolean explodesOnComponentBreak(ItemStack aStack) { + return false; + } +} diff --git a/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/multi/GT_Replacement/TT_OilCrackingUnit.java b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/multi/GT_Replacement/TT_OilCrackingUnit.java new file mode 100644 index 0000000000..e35782eaf0 --- /dev/null +++ b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/multi/GT_Replacement/TT_OilCrackingUnit.java @@ -0,0 +1,325 @@ +/* + * Copyright (c) 2018-2020 bartimaeusnek + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package com.github.bartimaeusnek.crossmod.tectech.tileentites.multi.GT_Replacement; + +import com.github.bartimaeusnek.crossmod.tectech.helper.CoilAdder; +import com.github.bartimaeusnek.crossmod.tectech.helper.IHasCoils; +import com.github.technus.tectech.mechanics.constructable.IConstructable; +import com.github.technus.tectech.mechanics.structure.IStructureDefinition; +import com.github.technus.tectech.mechanics.structure.StructureDefinition; +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 gregtech.api.GregTech_API; +import gregtech.api.enums.Materials; +import gregtech.api.enums.Textures; +import gregtech.api.gui.GT_Container_MultiMachine; +import gregtech.api.gui.GT_GUIContainer_MultiMachine; +import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_Utility; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; + +import java.util.ArrayList; + +import static com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference.ADV_STR_CHECK; +import static com.github.technus.tectech.mechanics.structure.StructureUtility.*; + +public class TT_OilCrackingUnit extends GT_MetaTileEntity_MultiblockBase_EM implements IHasCoils, IConstructable { + + public TT_OilCrackingUnit(Object unused) { + super(32765, "multimachine.cracker", "Oil Cracking Unit"); + GregTech_API.METATILEENTITIES[32765] = null; + GregTech_API.METATILEENTITIES[1160] = this; + } + + private TT_OilCrackingUnit(String aName) { + super(aName); + } + + private short coilMeta = -1; + + @Override + public void setCoilMeta(short coilMeta) { + this.coilMeta = coilMeta; + } + + @Override + public short getCoilMeta() { + return coilMeta; + } + + private byte blocks = 0; + + private static final byte TEXTURE_INDEX = 49; + + @Override + protected boolean cyclicUpdate_EM() { + return false; + } + + private static final IStructureDefinition<TT_OilCrackingUnit> STRUCTURE_DEFINITION = StructureDefinition.<TT_OilCrackingUnit>builder().addShape("main", + transpose(new String[][]{ + {"ABABA","ABGBA","ABABA"}, + {"AB~BA","E---F","ABABA"}, + {"ABCBA","ABABA","ABABA"} + }) + ).addElement( + 'A', + onElementPass( + x -> ++x.blocks,ofBlock( + GregTech_API.sBlockCasings4, + 1 + ) + ) + ).addElement( + 'B', + CoilAdder.getINSTANCE() + ).addElement( + 'C', + ofHatchAdder( + GT_MetaTileEntity_MultiblockBase_EM::addClassicMaintenanceToMachineList, + TEXTURE_INDEX, + 1 + ) + ).addElement( + 'E', + ofHatchAdder( + TT_OilCrackingUnit::addInputFluidHatch, + TEXTURE_INDEX, + 2 + ) + ).addElement( + 'F', + ofHatchAdder( + TT_OilCrackingUnit::addOutputFluidHatch, + TEXTURE_INDEX, + 3 + ) + ).addElement( + 'G', + ofHatchAdder( + TT_OilCrackingUnit::addMiddleFluidHatch, + TEXTURE_INDEX, + 4 + ) + ).build(); + + GT_MetaTileEntity_Hatch_Input middleFluidHatch; + + public final boolean addMiddleFluidHatch(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { + if (aTileEntity == null) + return false; + else { + IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { + ((GT_MetaTileEntity_Hatch)aMetaTileEntity).updateTexture(aBaseCasingIndex); + ((GT_MetaTileEntity_Hatch_Input)aMetaTileEntity).mRecipeMap = this.getRecipeMap(); + this.middleFluidHatch = (GT_MetaTileEntity_Hatch_Input)aMetaTileEntity; + return true; + } else + return false; + } + } + + @Override + protected boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { + this.coilMeta = -1; + this.blocks = 0; + return this.structureCheck_EM("main", 2,1,0) + && this.blocks >= 18; + } + + public final boolean addOutputFluidHatch(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { + if (aTileEntity == null) + return false; + else { + IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Output) { + ((GT_MetaTileEntity_Hatch)aMetaTileEntity).updateTexture(aBaseCasingIndex); + return this.mOutputHatches.add((GT_MetaTileEntity_Hatch_Output)aMetaTileEntity); + } else + return false; + } + } + + public final boolean addInputFluidHatch(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { + if (aTileEntity == null) + return false; + else { + IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { + ((GT_MetaTileEntity_Hatch)aMetaTileEntity).updateTexture(aBaseCasingIndex); + ((GT_MetaTileEntity_Hatch_Input)aMetaTileEntity).mRecipeMap = this.getRecipeMap(); + return this.mInputHatches.add((GT_MetaTileEntity_Hatch_Input)aMetaTileEntity); + } else + return false; + } + } + + @Override + public IStructureDefinition<TT_OilCrackingUnit> getStructure_EM() { + return STRUCTURE_DEFINITION; + } + + @Override + public IMetaTileEntity newMetaEntity(IGregTechTileEntity iGregTechTileEntity) { + return new TT_OilCrackingUnit(this.mName); + } + + @Override + public String[] getDescription() { + return new String[]{ + "Controller Block for the Oil Cracking Unit", + "Thermally cracks heavy hydrocarbons into lighter fractions", + "Size(WxHxD): 5x3x3 (Hollow), Controller (Front center)", + "Ring of 8 Coils (Each side of Controller)", + "Gets 5% energy cost reduction per coil tier", + "1x Hydrocarbon Input Bus/Hatch (Any left/right side casing)", + "1x Steam/Hydrogen Input Hatch (Any middle ring casing)", + "1x Cracked Hydrocarbon Output Hatch (Any left/right side casing)", + "1x Maintenance Hatch (Any casing)", + "1x Energy Hatch (Any casing)", + "Clean Stainless Steel Machine Casings for the rest (18 at least!)", + "Input/Output Hatches must be on opposite sides", + ADV_STR_CHECK + }; + } + + @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][TEXTURE_INDEX], + new TT_RenderedExtendedFacingTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_OIL_CRACKER_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_OIL_CRACKER)}; + } + return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][TEXTURE_INDEX]}; + } + + @Override + public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "OilCrackingUnit.png"); + } + + @Override + public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_Container_MultiMachine(aPlayerInventory, aBaseMetaTileEntity); + } + + @Override + public boolean checkRecipe_EM(ItemStack aStack) { + ArrayList<FluidStack> tInputList = getStoredFluids(); + FluidStack[] tFluidInputs = tInputList.toArray(new FluidStack[0]); + long tVoltage = getMaxInputVoltage(); + byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); + + GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sCrakingRecipes.findRecipe( + getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], tFluidInputs , mInventory[1]); + if (tRecipe != null && tRecipe.isRecipeInputEqual(true, tFluidInputs, mInventory[1])) { + this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000); + this.mEfficiencyIncrease = 10000; + calculateOverclockedNessMulti(tRecipe.mEUt, tRecipe.mDuration, 1, getMaxInputVoltage()); + if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1) + return false; + this.mEUt *= Math.pow(0.95D, this.coilMeta); + + if (this.mEUt > 0) { + this.mEUt = (-this.mEUt); + } + + this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime); + this.mOutputFluids = new FluidStack[]{tRecipe.getFluidOutput(0)}; + return true; + } + return false; + } + + @Override + public boolean isMachineBlockUpdateRecursive() { + return true; + } + + @Override + public boolean isCorrectMachinePart(ItemStack aStack) { + return true; + } + + @Override + public int getMaxEfficiency(ItemStack aStack) { + return 10000; + } + + @Override + public int getPollutionPerTick(ItemStack aStack) { + return 0; + } + + @Override + public int getDamageToComponent(ItemStack aStack) { + return 0; + } + + @Override + public boolean explodesOnComponentBreak(ItemStack aStack) { + return false; + } + + @Override + public ArrayList<FluidStack> getStoredFluids() { + ArrayList<FluidStack> rList = new ArrayList<>(); + + for (GT_MetaTileEntity_Hatch_Input tHatch : mInputHatches) { + tHatch.mRecipeMap = getRecipeMap(); + if (isValidMetaTileEntity(tHatch) && tHatch.getFillableStack() != null) { + FluidStack tStack = tHatch.getFillableStack(); + if (!tStack.isFluidEqual(GT_ModHandler.getSteam(1000)) && !tStack.isFluidEqual(Materials.Hydrogen.getGas(1000))) + rList.add(tStack); + } + } + + if (this.middleFluidHatch != null && isValidMetaTileEntity(this.middleFluidHatch) && this.middleFluidHatch.getFillableStack() != null) { + this.middleFluidHatch.mRecipeMap = getRecipeMap(); + FluidStack tStack = this.middleFluidHatch.getFillableStack(); + if (tStack.isFluidEqual(GT_ModHandler.getSteam(1000)) || tStack.isFluidEqual(Materials.Hydrogen.getGas(1000))) + rList.add(tStack); + } + + return rList; + } + + @Override + public void construct(ItemStack itemStack, boolean b) { + this.structureBuild_EM("main", 2,1,0, b, itemStack); + } + + @Override + public String[] getStructureDescription(ItemStack itemStack) { + return new String[0]; + } +} diff --git a/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/multi/GT_Replacement/TT_VaccuumFreezer.java b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/multi/GT_Replacement/TT_VaccuumFreezer.java new file mode 100644 index 0000000000..4e07db5605 --- /dev/null +++ b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/multi/GT_Replacement/TT_VaccuumFreezer.java @@ -0,0 +1,227 @@ +/* + * Copyright (c) 2018-2020 bartimaeusnek + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package com.github.bartimaeusnek.crossmod.tectech.tileentites.multi.GT_Replacement; + +import com.github.bartimaeusnek.crossmod.tectech.helper.StructureDefinitions; +import com.github.technus.tectech.mechanics.constructable.IConstructable; +import com.github.technus.tectech.mechanics.structure.IStructureDefinition; +import com.github.technus.tectech.mechanics.structure.StructureDefinition; +import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DynamoMulti; +import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti; +import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; +import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.GregTech_API; +import gregtech.api.enums.Textures; +import gregtech.api.gui.GT_Container_MultiMachine; +import gregtech.api.gui.GT_GUIContainer_MultiMachine; +import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.implementations.*; +import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_Utility; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.item.ItemStack; + +import java.util.ArrayList; + +import static com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference.ADV_STR_CHECK; +import static com.github.technus.tectech.mechanics.structure.StructureUtility.*; + +public class TT_VaccuumFreezer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { + public TT_VaccuumFreezer(Object unused) { + super(32765, "multimachine.vacuumfreezer", "Vacuum Freezer"); + GregTech_API.METATILEENTITIES[32765] = null; + GregTech_API.METATILEENTITIES[1002] = this; + } + + @Override + protected boolean cyclicUpdate_EM() { + return false; + } + + private TT_VaccuumFreezer(String aName) { + super(aName); + } + + private static final byte TEXTURE_INDEX = 17; + + private byte blocks = 0; + + private static final IStructureDefinition<TT_VaccuumFreezer> STRUCTURE_DEFINITION = + StructureDefinition.<TT_VaccuumFreezer>builder().addShape("main", + StructureDefinitions.CUBE_NO_MUFFLER.getDefinition() + ).addElement( + 'V', + ofChain( + ofHatchAdder( + TT_VaccuumFreezer::addVaccumFreezerHatches, + TEXTURE_INDEX, + 1 + ), + onElementPass( + x -> ++x.blocks, + ofBlock( + GregTech_API.sBlockCasings2, + 1 + ) + ) + ) + ).build(); + + @Override + public IStructureDefinition<TT_VaccuumFreezer> getStructure_EM() { + return STRUCTURE_DEFINITION; + } + + public String[] getDescription() { + return new String[]{ + "Controller Block for the Vacuum Freezer", + "Super cools hot ingots and cells", + "Size(WxHxD): 3x3x3 (Hollow), Controller (Front centered)", + "1x Input Bus (Any casing)", + "1x Output Bus (Any casing)", + "1x Maintenance Hatch (Any casing)", + "1x Energy Hatch (Any casing)", + "Frost Proof Machine Casings for the rest (16 at least!)", + ADV_STR_CHECK + }; + } + + @Override + protected boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { + this.blocks = 0; + return this.structureCheck_EM("main", 1,1,0) + && this.blocks >= 16; + } + + @SideOnly(Side.CLIENT) + 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][TEXTURE_INDEX], new TT_RenderedExtendedFacingTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_VACUUM_FREEZER_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_VACUUM_FREEZER)}; + } + return new ITexture[]{Textures.BlockIcons.casingTexturePages[0][TEXTURE_INDEX]}; + } + + @Override + public boolean checkRecipe_EM(ItemStack itemStack) { + ArrayList<ItemStack> tInputList = getStoredInputs(); + for (ItemStack tInput : tInputList) { + long tVoltage = getMaxInputVoltage(); + byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); + + GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sVacuumRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], null, tInput); + if (tRecipe != null) { + if (tRecipe.isRecipeInputEqual(true, null, tInput)) { + this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000); + this.mEfficiencyIncrease = 10000; + + calculateOverclockedNessMulti(tRecipe.mEUt, tRecipe.mDuration, 1, tVoltage); + //In case recipe is too OP for that machine + if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1) + return false; + if (this.mEUt > 0) { + this.mEUt = (-this.mEUt); + } + this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime); + this.mOutputItems = new ItemStack[]{tRecipe.getOutput(0)}; + updateSlots(); + return true; + } + } + } + return false; + } + + @Override + public IMetaTileEntity newMetaEntity(IGregTechTileEntity iGregTechTileEntity) { + return new TT_VaccuumFreezer(this.mName); + } + + @Override + public boolean isMachineBlockUpdateRecursive() { + return true; + } + + public int getMaxEfficiency(ItemStack aStack) { + return 10000; + } + + public int getPollutionPerTick(ItemStack aStack) { + return 0; + } + + public int getDamageToComponent(ItemStack aStack) { + return 0; + } + + public boolean explodesOnComponentBreak(ItemStack aStack) { + return false; + } + + @Override + public void construct(ItemStack itemStack, boolean b) { + this.structureBuild_EM("main", 1,1,0, b, itemStack); + } + + @Override + public String[] getStructureDescription(ItemStack itemStack) { + return new String[0]; + } + + @Override + public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_Container_MultiMachine(aPlayerInventory, aBaseMetaTileEntity); + } + + @Override + public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "VacuumFreezer.png"); + } + + public final boolean addVaccumFreezerHatches(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { + if (aTileEntity != null) { + IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch) + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); + else + return false; + + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus) + return this.mInputBusses.add((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity); + else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_OutputBus) + return this.mOutputBusses.add((GT_MetaTileEntity_Hatch_OutputBus) aMetaTileEntity); + else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Energy) + return this.mEnergyHatches.add((GT_MetaTileEntity_Hatch_Energy) aMetaTileEntity); + else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Maintenance) + return this.mMaintenanceHatches.add((GT_MetaTileEntity_Hatch_Maintenance) aMetaTileEntity); + else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyMulti) + return this.eEnergyMulti.add((GT_MetaTileEntity_Hatch_EnergyMulti) aMetaTileEntity); + else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_DynamoMulti) + return this.eDynamoMulti.add((GT_MetaTileEntity_Hatch_DynamoMulti) aMetaTileEntity); + } + return false; + } +} diff --git a/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/tiered/TT_MetaTileEntity_LowPowerLaserBox.java b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/tiered/TT_MetaTileEntity_LowPowerLaserBox.java index aa88094922..7fe4d93a29 100644 --- a/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/tiered/TT_MetaTileEntity_LowPowerLaserBox.java +++ b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/tiered/TT_MetaTileEntity_LowPowerLaserBox.java @@ -22,12 +22,12 @@ package com.github.bartimaeusnek.crossmod.tectech.tileentites.tiered; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.util.StatCollector; public class TT_MetaTileEntity_LowPowerLaserBox extends TT_Abstract_LowPowerLaserThingy { @@ -139,6 +139,6 @@ public class TT_MetaTileEntity_LowPowerLaserBox extends TT_Abstract_LowPowerLase @Override public String[] getDescription() { - return new String[]{"Like a Tranformer... but for LAZORZ", "Transferrate: " + ChatColorHelper.YELLOW + this.getTotalPower() + ChatColorHelper.WHITE + " EU/t", StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks"}; + return new String[]{"Like a Tranformer... but for LAZORZ", "Transferrate: " + ChatColorHelper.YELLOW + this.getTotalPower() + ChatColorHelper.WHITE + " EU/t", BW_Tooltip_Reference.ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS.get()}; } } diff --git a/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/tiered/TT_MetaTileEntity_LowPowerLaserDynamo.java b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/tiered/TT_MetaTileEntity_LowPowerLaserDynamo.java index df3cd12773..307e9307cb 100644 --- a/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/tiered/TT_MetaTileEntity_LowPowerLaserDynamo.java +++ b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/tiered/TT_MetaTileEntity_LowPowerLaserDynamo.java @@ -22,7 +22,7 @@ package com.github.bartimaeusnek.crossmod.tectech.tileentites.tiered; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DynamoTunnel; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -71,7 +71,7 @@ public class TT_MetaTileEntity_LowPowerLaserDynamo extends GT_MetaTileEntity_Hat return new String[]{ this.mDescription, StatCollector.translateToLocal("gt.blockmachines.hatch.dynamotunnel.desc.1") + ": " + EnumChatFormatting.YELLOW + this.getTotalPower() + EnumChatFormatting.RESET + " EU/t", - StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks" + BW_Tooltip_Reference.ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS.get() }; } diff --git a/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/tiered/TT_MetaTileEntity_LowPowerLaserHatch.java b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/tiered/TT_MetaTileEntity_LowPowerLaserHatch.java index 1774fc0966..922dea51a8 100644 --- a/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/tiered/TT_MetaTileEntity_LowPowerLaserHatch.java +++ b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/tiered/TT_MetaTileEntity_LowPowerLaserHatch.java @@ -22,7 +22,7 @@ package com.github.bartimaeusnek.crossmod.tectech.tileentites.tiered; -import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyTunnel; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -46,7 +46,7 @@ public class TT_MetaTileEntity_LowPowerLaserHatch extends GT_MetaTileEntity_Hatc return new String[]{ this.mDescription, StatCollector.translateToLocal("gt.blockmachines.hatch.energytunnel.desc.1") + ": " + EnumChatFormatting.YELLOW + this.getTotalPower() + EnumChatFormatting.RESET + " EU/t", - StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks" + BW_Tooltip_Reference.ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS.get() }; } diff --git a/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/tiered/TT_MetaTileEntity_Pipe_Energy_LowPower.java b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/tiered/TT_MetaTileEntity_Pipe_Energy_LowPower.java index 12f4c6d2cd..26ba1039d0 100644 --- a/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/tiered/TT_MetaTileEntity_Pipe_Energy_LowPower.java +++ b/src/main/java/com/github/bartimaeusnek/crossmod/tectech/tileentites/tiered/TT_MetaTileEntity_Pipe_Energy_LowPower.java @@ -22,6 +22,7 @@ package com.github.bartimaeusnek.crossmod.tectech.tileentites.tiered; +import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference; import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; import gregtech.api.enums.Dyes; import gregtech.api.enums.Materials; @@ -37,7 +38,6 @@ import gregtech.common.GT_Client; import ic2.core.Ic2Items; import net.minecraft.block.Block; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.StatCollector; import java.util.ArrayList; import java.util.HashSet; @@ -83,7 +83,7 @@ public class TT_MetaTileEntity_Pipe_Energy_LowPower extends GT_MetaPipeEntity_Ca "Does not auto-connect", "Does not turn or bend", ChatColorHelper.WHITE + "Must be " + ChatColorHelper.YELLOW + "c" + ChatColorHelper.RED + "o" + ChatColorHelper.BLUE + "l" + ChatColorHelper.DARKPURPLE + "o" + ChatColorHelper.GOLD + "r" + ChatColorHelper.DARKRED + "e" + ChatColorHelper.DARKGREEN + "d" + ChatColorHelper.WHITE + " in order to work", - StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks" + BW_Tooltip_Reference.ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS.get() }; } |