From 3d3427e5720aca81d4559290b077bc6b33dff4ec Mon Sep 17 00:00:00 2001 From: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> Date: Sat, 21 Sep 2019 13:09:08 +0200 Subject: security patches +moved some commands, +fixed a typo +removed null items +rebalanced TheCore +added forestry compat (possible due to their LGPL license!) +fixed langfiles Signed-off-by: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> Former-commit-id: cf1373fd88ba341662144023f989bc45fef3c48d --- .../github/bartimaeusnek/bartworks/MainMod.java | 14 +- .../client/textures/PrefixTextureLinker.java | 39 ++++ .../bartworks/common/loaders/BeforeGTPreload.java | 4 + .../tiered/GT_MetaTileEntity_BioLab.java | 2 +- .../system/material/BW_MetaGenerated_Items.java | 30 +++- .../material/GT_Enhancement/BWGTMetaItems.java | 144 +++++++++++++++ .../GT_Enhancement/GTMetaItemEnhancer.java | 63 +++++++ .../bartworks/system/material/Werkstoff.java | 4 + .../bartworks/system/material/WerkstoffLoader.java | 51 ++++-- .../processingLoaders/AdditionalRecipes.java | 9 +- .../processingLoaders/AfterLuVTierEnhacement.java | 6 +- .../processingLoaders/LoadItemContainers.java | 2 +- .../processingLoaders/LuVTierEnhancer.java | 9 +- .../processingLoaders/PlatinumSludgeOverHaul.java | 6 +- .../bartworks/system/worldgen/MapGenRuins.java | 4 +- .../solarsystems/Ross128SolarSystem.java | 2 +- .../thaumcraft/util/ThaumcraftHandler.java | 7 +- .../resources/assets/bartworks/lang/de_DE.lang | 199 +++++++++++---------- .../resources/assets/bartworks/lang/fr_FR.lang | 22 ++- .../resources/assets/bartworks/lang/zh_CN.lang | 2 +- .../items/materialicons/DIAMOND/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/DIAMOND/capsuleMolten.png | Bin 0 -> 135 bytes .../DIAMOND/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../materialicons/DIAMOND/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../textures/items/materialicons/DULL/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/DULL/capsuleMolten.png | Bin 0 -> 135 bytes .../materialicons/DULL/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../items/materialicons/DULL/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../items/materialicons/EMERALD/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/EMERALD/capsuleMolten.png | Bin 0 -> 135 bytes .../EMERALD/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../materialicons/EMERALD/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../textures/items/materialicons/FIERY/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/FIERY/capsuleMolten.png | Bin 0 -> 135 bytes .../materialicons/FIERY/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../items/materialicons/FIERY/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../textures/items/materialicons/FINE/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/FINE/capsuleMolten.png | Bin 0 -> 135 bytes .../materialicons/FINE/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../items/materialicons/FINE/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../textures/items/materialicons/FLINT/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/FLINT/capsuleMolten.png | Bin 0 -> 135 bytes .../materialicons/FLINT/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../items/materialicons/FLINT/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../textures/items/materialicons/FLUID/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/FLUID/capsuleMolten.png | Bin 0 -> 135 bytes .../materialicons/FLUID/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../items/materialicons/FLUID/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../items/materialicons/GEM_HORIZONTAL/capsule.png | Bin 0 -> 211 bytes .../materialicons/GEM_HORIZONTAL/capsuleMolten.png | Bin 0 -> 135 bytes .../GEM_HORIZONTAL/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../GEM_HORIZONTAL/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../items/materialicons/GEM_VERTICAL/capsule.png | Bin 0 -> 211 bytes .../materialicons/GEM_VERTICAL/capsuleMolten.png | Bin 0 -> 135 bytes .../GEM_VERTICAL/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../materialicons/GEM_VERTICAL/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../textures/items/materialicons/GLASS/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/GLASS/capsuleMolten.png | Bin 0 -> 135 bytes .../materialicons/GLASS/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../items/materialicons/GLASS/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../textures/items/materialicons/LAPIS/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/LAPIS/capsuleMolten.png | Bin 0 -> 135 bytes .../materialicons/LAPIS/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../items/materialicons/LAPIS/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../textures/items/materialicons/LEAF/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/LEAF/capsuleMolten.png | Bin 0 -> 135 bytes .../materialicons/LEAF/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../items/materialicons/LEAF/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../items/materialicons/LIGNITE/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/LIGNITE/capsuleMolten.png | Bin 0 -> 135 bytes .../LIGNITE/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../materialicons/LIGNITE/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../items/materialicons/MAGNETIC/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/MAGNETIC/capsuleMolten.png | Bin 0 -> 135 bytes .../MAGNETIC/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../materialicons/MAGNETIC/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../items/materialicons/METALLIC/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/METALLIC/capsuleMolten.png | Bin 0 -> 135 bytes .../METALLIC/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../materialicons/METALLIC/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../items/materialicons/NETHERSTAR/capsule.png | Bin 0 -> 211 bytes .../materialicons/NETHERSTAR/capsuleMolten.png | Bin 0 -> 135 bytes .../NETHERSTAR/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../materialicons/NETHERSTAR/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../textures/items/materialicons/NONE/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/NONE/capsuleMolten.png | Bin 0 -> 135 bytes .../materialicons/NONE/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../items/materialicons/NONE/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../textures/items/materialicons/OPAL/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/OPAL/capsuleMolten.png | Bin 0 -> 135 bytes .../materialicons/OPAL/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../items/materialicons/OPAL/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../textures/items/materialicons/PAPER/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/PAPER/capsuleMolten.png | Bin 0 -> 135 bytes .../materialicons/PAPER/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../items/materialicons/PAPER/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../items/materialicons/POWDER/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/POWDER/capsuleMolten.png | Bin 0 -> 135 bytes .../materialicons/POWDER/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../items/materialicons/POWDER/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../items/materialicons/QUARTZ/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/QUARTZ/capsuleMolten.png | Bin 0 -> 135 bytes .../materialicons/QUARTZ/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../items/materialicons/QUARTZ/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../textures/items/materialicons/ROUGH/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/ROUGH/capsuleMolten.png | Bin 0 -> 135 bytes .../materialicons/ROUGH/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../items/materialicons/ROUGH/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../textures/items/materialicons/RUBY/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/RUBY/capsuleMolten.png | Bin 0 -> 135 bytes .../materialicons/RUBY/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../items/materialicons/RUBY/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../textures/items/materialicons/SAND/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/SAND/capsuleMolten.png | Bin 0 -> 135 bytes .../materialicons/SAND/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../items/materialicons/SAND/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../items/materialicons/SHARDS/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/SHARDS/capsuleMolten.png | Bin 0 -> 135 bytes .../materialicons/SHARDS/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../items/materialicons/SHARDS/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../textures/items/materialicons/SHINY/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/SHINY/capsuleMolten.png | Bin 0 -> 135 bytes .../materialicons/SHINY/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../items/materialicons/SHINY/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../textures/items/materialicons/WOOD/capsule.png | Bin 0 -> 211 bytes .../items/materialicons/WOOD/capsuleMolten.png | Bin 0 -> 135 bytes .../materialicons/WOOD/capsuleMolten_OVERLAY.png | Bin 0 -> 168 bytes .../items/materialicons/WOOD/capsule_OVERLAY.png | Bin 0 -> 308 bytes .../gregtech/textures/items/materialicons/copy.bat | 1 + 129 files changed, 485 insertions(+), 135 deletions(-) create mode 100644 src/main/java/com/github/bartimaeusnek/bartworks/client/textures/PrefixTextureLinker.java create mode 100644 src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/BWGTMetaItems.java create mode 100644 src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/GTMetaItemEnhancer.java create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/DULL/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/DULL/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/DULL/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/DULL/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/FINE/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/FINE/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/FINE/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/FINE/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/NONE/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/NONE/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/NONE/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/NONE/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/SAND/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/SAND/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/SAND/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/SAND/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/capsule.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/capsuleMolten.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/capsuleMolten_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/capsule_OVERLAY.png create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/copy.bat (limited to 'src') diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java b/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java index 1d452f0505..6182738f04 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java @@ -30,6 +30,7 @@ import com.github.bartimaeusnek.bartworks.client.ClientEventHandler.TooltipEvent import com.github.bartimaeusnek.bartworks.client.creativetabs.BioTab; import com.github.bartimaeusnek.bartworks.client.creativetabs.GT2Tab; import com.github.bartimaeusnek.bartworks.client.creativetabs.bartworksTab; +import com.github.bartimaeusnek.bartworks.client.textures.PrefixTextureLinker; import com.github.bartimaeusnek.bartworks.common.configs.ConfigHandler; import com.github.bartimaeusnek.bartworks.common.loaders.BioCultureLoader; import com.github.bartimaeusnek.bartworks.common.loaders.BioLabLoader; @@ -48,6 +49,7 @@ import com.github.bartimaeusnek.bartworks.system.material.processingLoaders.Plat import com.github.bartimaeusnek.bartworks.system.oredict.OreDictHandler; import com.github.bartimaeusnek.bartworks.util.BWRecipes; import com.github.bartimaeusnek.bartworks.util.BW_Util; +import com.github.bartimaeusnek.crossmod.BartWorksCrossmod; import com.google.common.collect.ArrayListMultimap; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Loader; @@ -58,6 +60,7 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.event.FMLServerStartedEvent; import cpw.mods.fml.common.network.IGuiHandler; import cpw.mods.fml.common.network.NetworkRegistry; +import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.GregTech_API; import gregtech.api.enums.*; import gregtech.api.objects.GT_ItemStack; @@ -89,6 +92,7 @@ import static gregtech.api.enums.GT_Values.VN; + "after:berriespp; " + "after:GalacticraftMars; " + "after:GalacticraftCore; " + + "after:Forestry; " ) public final class MainMod { public static final String NAME = "BartWorks"; @@ -122,9 +126,6 @@ public final class MainMod { } } - //fixing BorosilicateGlass... -_-' - Materials.BorosilicateGlass.add(SubTag.CRYSTAL, SubTag.NO_SMASHING, SubTag.NO_RECYCLING, SubTag.SMELTING_TO_FLUID); - if (Loader.isModLoaded("dreamcraft")) { ConfigHandler.GTNH = true; } @@ -147,6 +148,8 @@ public final class MainMod { INSTANCE.init(); Werkstoff.init(); GregTech_API.sAfterGTPostload.add(new CircuitPartLoader()); + if (FMLCommonHandler.instance().getSide().isClient()) + new PrefixTextureLinker(); } } @@ -219,7 +222,7 @@ public final class MainMod { } private static void unificationEnforcer() { - for (Werkstoff werkstoff : Werkstoff.werkstoffHashMap.values()) { + for (Werkstoff werkstoff : Werkstoff.werkstoffHashSet) { if (werkstoff.getGenerationFeatures().enforceUnification) { if (werkstoff.contains(NOBLE_GAS)){ String name = werkstoff.getFluidOrGas(1).getFluid().getName(); @@ -310,6 +313,9 @@ public final class MainMod { HashSet torem = new HashSet<>(); ItemStack toReplace = null; for (Map.Entry entry : sFilledContainerToData.entrySet()) { + final String MODID = GameRegistry.findUniqueIdentifierFor(data.filledContainer.getItem()).modId; + if (MODID.equals(MainMod.MOD_ID) || MODID.equals(BartWorksCrossmod.MOD_ID)) + continue; if (entry.getValue().fluid.equals(data.fluid) && !entry.getValue().filledContainer.equals(data.filledContainer)) { toReplace = entry.getValue().filledContainer; torem.add(entry); diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/client/textures/PrefixTextureLinker.java b/src/main/java/com/github/bartimaeusnek/bartworks/client/textures/PrefixTextureLinker.java new file mode 100644 index 0000000000..96e69f4cf3 --- /dev/null +++ b/src/main/java/com/github/bartimaeusnek/bartworks/client/textures/PrefixTextureLinker.java @@ -0,0 +1,39 @@ +package com.github.bartimaeusnek.bartworks.client.textures; + +import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; +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.enums.TextureSet; +import gregtech.api.enums.Textures; + +import java.util.Arrays; +import java.util.HashMap; + +@SideOnly(Side.CLIENT) +public class PrefixTextureLinker implements Runnable { + public static HashMap> texMap = new HashMap<>(); + + { + GregTech_API.sBeforeGTLoad.add(this); + } + + @Override + public void run() { + + for (OrePrefixes prefixes : OrePrefixes.values()) { + HashMap curr = new HashMap<>(); + if (prefixes.mTextureIndex == -1 && Werkstoff.GenerationFeatures.prefixLogic.get(prefixes) != 0) { + Arrays.stream(TextureSet.class.getFields()).filter(field -> field.getName().contains("SET")).forEach(SET -> { + try { + curr.put(SET.get(null), new Textures.ItemIcons.CustomIcon("materialicons/" + SET.getName().substring(4) + "/" + prefixes)); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + }); + texMap.put(prefixes, curr); + } + } + } +} diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/BeforeGTPreload.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/BeforeGTPreload.java index 2164330a96..ed84c5a98f 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/BeforeGTPreload.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/BeforeGTPreload.java @@ -28,6 +28,8 @@ import cpw.mods.fml.common.LoadController; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.ModContainer; import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.api.enums.Materials; +import gregtech.api.enums.SubTag; import ic2.core.Ic2Items; import net.minecraft.block.Block; import net.minecraft.init.Blocks; @@ -45,6 +47,8 @@ public class BeforeGTPreload implements Runnable { public void run() { if (didrun) return; + //fixing BorosilicateGlass... -_-' + Materials.BorosilicateGlass.add(SubTag.CRYSTAL, SubTag.NO_SMASHING, SubTag.NO_RECYCLING, SubTag.SMELTING_TO_FLUID); Field activeContainer = FieldUtils.getDeclaredField(LoadController.class, "activeContainer", true); ModContainer bartworks = null; 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 5ca5d59a19..154b2a1355 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 @@ -54,7 +54,7 @@ public class GT_MetaTileEntity_BioLab extends GT_MetaTileEntity_BasicMachine { private static final String MGUINAME = "BW.GUI.BioLab.png"; public GT_MetaTileEntity_BioLab(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier, 1, null, 6, 2, GT_MetaTileEntity_BioLab.MGUINAME, null, new GT_RenderedTexture(new Textures.BlockIcons.CustomIcon("basicmachines/fluid_extractor/OVERLAY_SIDE_ACTIVE")), new GT_RenderedTexture(new Textures.BlockIcons.CustomIcon("basicmachines/fluid_extractor/OVERLAY_SIDE")), new GT_RenderedTexture(new Textures.BlockIcons.CustomIcon("basicmachines/microwave/OVERLAY_FRONT_ACTIVE")), new GT_RenderedTexture(new Textures.BlockIcons.CustomIcon("basicmachines/microwave/OVERLAY_FRONT")), new GT_RenderedTexture(new Textures.BlockIcons.CustomIcon("basicmachines/chemical_reactor/OVERLAY_FRONT_ACTIVE")/*this is topactive*/), new GT_RenderedTexture(new Textures.BlockIcons.CustomIcon("basicmachines/chemical_reactor/OVERLAY_FRONT")/*this is top*/), new GT_RenderedTexture(new Textures.BlockIcons.CustomIcon("basicmachines/polarizer/OVERLAY_BOTTOM_ACTIVE")), new GT_RenderedTexture(new Textures.BlockIcons.CustomIcon("basicmachines/polarizer/OVERLAY_BOTTOM"))); + super(aID, aName, aNameRegional, aTier, 1, (String) null, 6, 2, GT_MetaTileEntity_BioLab.MGUINAME, null, new GT_RenderedTexture(new Textures.BlockIcons.CustomIcon("basicmachines/fluid_extractor/OVERLAY_SIDE_ACTIVE")), new GT_RenderedTexture(new Textures.BlockIcons.CustomIcon("basicmachines/fluid_extractor/OVERLAY_SIDE")), new GT_RenderedTexture(new Textures.BlockIcons.CustomIcon("basicmachines/microwave/OVERLAY_FRONT_ACTIVE")), new GT_RenderedTexture(new Textures.BlockIcons.CustomIcon("basicmachines/microwave/OVERLAY_FRONT")), new GT_RenderedTexture(new Textures.BlockIcons.CustomIcon("basicmachines/chemical_reactor/OVERLAY_FRONT_ACTIVE")/*this is topactive*/), new GT_RenderedTexture(new Textures.BlockIcons.CustomIcon("basicmachines/chemical_reactor/OVERLAY_FRONT")/*this is top*/), new GT_RenderedTexture(new Textures.BlockIcons.CustomIcon("basicmachines/polarizer/OVERLAY_BOTTOM_ACTIVE")), new GT_RenderedTexture(new Textures.BlockIcons.CustomIcon("basicmachines/polarizer/OVERLAY_BOTTOM"))); } public GT_MetaTileEntity_BioLab(String aName, int aTier, int aAmperage, String aDescription, ITexture[][][] aTextures, String aNEIName) { 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 e7a4c3aa02..c25dbd6bf1 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 @@ -23,14 +23,18 @@ package com.github.bartimaeusnek.bartworks.system.material; import com.github.bartimaeusnek.bartworks.API.IRadMaterial; +import com.github.bartimaeusnek.bartworks.client.textures.PrefixTextureLinker; import com.github.bartimaeusnek.bartworks.common.configs.ConfigHandler; import com.github.bartimaeusnek.bartworks.system.oredict.OreDictAdder; import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; import com.github.bartimaeusnek.bartworks.util.Pair; +import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TextureSet; +import gregtech.api.enums.Textures; import gregtech.api.interfaces.IIconContainer; import gregtech.api.items.GT_MetaGenerated_Item; import gregtech.api.util.GT_LanguageManager; @@ -53,6 +57,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.util.StatCollector; import net.minecraft.world.World; +import java.util.HashMap; import java.util.List; import static com.github.bartimaeusnek.bartworks.system.material.Werkstoff.werkstoffHashMap; @@ -69,6 +74,11 @@ public class BW_MetaGenerated_Items extends GT_MetaGenerated_Item implements IRa protected final OrePrefixes orePrefixes; private final short aNumToGen = (short) werkstoffHashMap.size(); + public BW_MetaGenerated_Items(OrePrefixes orePrefixes, Object unused){ + super("bwMetaGeneratedGTEnhancement" + orePrefixes.name(), (short) 32766, (short) 0); + this.orePrefixes = orePrefixes; + } + public BW_MetaGenerated_Items(OrePrefixes orePrefixes) { super("bwMetaGenerated" + orePrefixes.name(), (short) 32766, (short) 0); this.orePrefixes = orePrefixes; @@ -148,13 +158,23 @@ public class BW_MetaGenerated_Items extends GT_MetaGenerated_Item implements IRa } @Override - public final IIconContainer getIconContainer(int aMetaData) { - return werkstoffHashMap.get((short) aMetaData) == null ? null : this.orePrefixes.mTextureIndex == -1 ? null : werkstoffHashMap.get((short) aMetaData).getTexSet().mTextures[this.orePrefixes.mTextureIndex]; + public IIconContainer getIconContainer(int aMetaData) { + if (werkstoffHashMap.get((short) aMetaData) == null) + return null; + if (this.orePrefixes.mTextureIndex == -1) + return getIconContainerBartWorks(aMetaData); + return werkstoffHashMap.get((short) aMetaData).getTexSet().mTextures[this.orePrefixes.mTextureIndex]; + } + + protected IIconContainer getIconContainerBartWorks(int aMetaData) { + if (FMLCommonHandler.instance().getSide().isClient()) + return PrefixTextureLinker.texMap.get(this.orePrefixes).get(werkstoffHashMap.get((short) aMetaData).getTexSet()); + return null; } @Override @SideOnly(Side.CLIENT) - public final void getSubItems(Item var1, CreativeTabs aCreativeTab, List aList) { + public void getSubItems(Item var1, CreativeTabs aCreativeTab, List aList) { for (int i = 0; i < this.aNumToGen; i++) { Werkstoff werkstoff = werkstoffHashMap.get((short) i); if (werkstoff != null && ((werkstoff.getGenerationFeatures().toGenerate & Werkstoff.GenerationFeatures.prefixLogic.get(this.orePrefixes)) != 0) && ((werkstoff.getGenerationFeatures().blacklist & Werkstoff.GenerationFeatures.prefixLogic.get(this.orePrefixes)) == 0)) { @@ -207,7 +227,7 @@ public class BW_MetaGenerated_Items extends GT_MetaGenerated_Item implements IRa @Override public int getItemStackLimit(ItemStack aStack) { - return 64; + return this.orePrefixes.mDefaultStackSize; } @Override @@ -235,6 +255,6 @@ public class BW_MetaGenerated_Items extends GT_MetaGenerated_Item implements IRa @Override public int getCapacity(ItemStack aStack) { - return this.orePrefixes == OrePrefixes.cell || this.orePrefixes == OrePrefixes.cellPlasma ? 1000 : this.orePrefixes == WerkstoffLoader.cellMolten ? 144 : 0; + return this.orePrefixes == OrePrefixes.capsule || this.orePrefixes == OrePrefixes.cell || this.orePrefixes == OrePrefixes.cellPlasma ? 1000 : this.orePrefixes == WerkstoffLoader.cellMolten || this.orePrefixes == WerkstoffLoader.capsuleMolten ? 144 : 0; } } 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 new file mode 100644 index 0000000000..8cd06481d3 --- /dev/null +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/BWGTMetaItems.java @@ -0,0 +1,144 @@ +package com.github.bartimaeusnek.bartworks.system.material.GT_Enhancement; + +import com.github.bartimaeusnek.bartworks.client.textures.PrefixTextureLinker; +import com.github.bartimaeusnek.bartworks.common.configs.ConfigHandler; +import com.github.bartimaeusnek.bartworks.system.material.BW_MetaGenerated_Items; +import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; +import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; +import com.github.bartimaeusnek.bartworks.system.oredict.OreDictAdder; +import com.github.bartimaeusnek.bartworks.util.Pair; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.IIconContainer; +import gregtech.api.util.GT_LanguageManager; +import gregtech.api.util.GT_OreDictUnificator; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +import java.util.List; + +import static com.github.bartimaeusnek.bartworks.system.material.GT_Enhancement.GTMetaItemEnhancer.NoMetaValue; + +public class BWGTMetaItems extends BW_MetaGenerated_Items { + + boolean hasList; + + public BWGTMetaItems(OrePrefixes orePrefixes, List noSubIDMaterials) { + super(orePrefixes,null); + 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))) + continue; + for (Werkstoff werkstoff : Werkstoff.werkstoffHashSet) + if (w.mDefaultLocalName.equalsIgnoreCase(werkstoff.getDefaultName())) + continue materialloop; + GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".name", getDefaultLocalization(w)); + GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".tooltip", w.getToolTip()); + if (ConfigHandler.experimentalThreadedLoader) + OreDictAdder.addToMap(new Pair<>(this.orePrefixes.name() + w.mDefaultLocalName.replaceAll(" ",""), tStack)); + else + GT_OreDictUnificator.registerOre(this.orePrefixes.name() + w.mDefaultLocalName.replaceAll(" ",""), tStack); + } + if (noSubIDMaterials != null){ + hasList = true; + materialloop: + for (int i = 0; i < noSubIDMaterials.size(); i++) { + ItemStack tStack = new ItemStack(this, 1, i+1001); + Materials w = (Materials) noSubIDMaterials.get(i); + if (!((w.getMolten(1) != null && orePrefixes == WerkstoffLoader.capsuleMolten) || ((w.getFluid(1) != null || w.getGas(1) != null) && orePrefixes == OrePrefixes.capsule))) + continue; + for (Werkstoff werkstoff : Werkstoff.werkstoffHashSet) + if (w.mDefaultLocalName.equalsIgnoreCase(werkstoff.getDefaultName())) + continue materialloop; + GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".name", getDefaultLocalization(w)); + GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".tooltip", w.getToolTip()); + if (ConfigHandler.experimentalThreadedLoader) + OreDictAdder.addToMap(new Pair<>(this.orePrefixes.name() + w.mDefaultLocalName.replaceAll(" ",""), tStack)); + else + GT_OreDictUnificator.registerOre(this.orePrefixes.name() + w.mDefaultLocalName.replaceAll(" ",""), tStack); + } + } + } + + @Override + public IIconContainer getIconContainer(int aMetaData) { + if (this.orePrefixes.mTextureIndex == -1) + return getIconContainerBartWorks(aMetaData); + if (aMetaData > 1000 && hasList) + return NoMetaValue.get(aMetaData-1001).mIconSet.mTextures[this.orePrefixes.mTextureIndex]; + if (aMetaData < 0 || aMetaData > Materials.values().length || Materials.values()[(short) aMetaData] == null) + return null; + return Materials.values()[(short) aMetaData].mIconSet.mTextures[this.orePrefixes.mTextureIndex]; + } + + public String getDefaultLocalization(Materials werkstoff) { + return werkstoff != null ? this.orePrefixes.mLocalizedMaterialPre + werkstoff.mDefaultLocalName + this.orePrefixes.mLocalizedMaterialPost : Materials._NULL.mDefaultLocalName; + } + + protected IIconContainer getIconContainerBartWorks(int aMetaData) { + if (FMLCommonHandler.instance().getSide().isClient()) { + if (aMetaData > 1000 && hasList) + return PrefixTextureLinker.texMap.get(this.orePrefixes).get(NoMetaValue.get(aMetaData-1001).mIconSet); + return PrefixTextureLinker.texMap.get(this.orePrefixes).get(Materials.values()[(short) aMetaData].mIconSet); + } + return null; + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item var1, CreativeTabs aCreativeTab, List aList) { + for (int i = 0; i < Materials.values().length; i++) { + Materials w = Materials.values()[i]; + if ((w == null) || (w.mTypes & Werkstoff.GenerationFeatures.prefixLogic.get(this.orePrefixes)) == 0 && Werkstoff.GenerationFeatures.prefixLogic.get(this.orePrefixes) != 0) + continue; + if ((w.getMolten(1) != null && orePrefixes == WerkstoffLoader.capsuleMolten) || ((w.getFluid(1) != null || w.getGas(1) != null) && orePrefixes == OrePrefixes.capsule)) + aList.add(new ItemStack(this, 1, i)); + } + for (int i = 0; i < NoMetaValue.size(); i++) { + Materials w = NoMetaValue.get(i); + if ((w == null) || (w.mTypes & Werkstoff.GenerationFeatures.prefixLogic.get(this.orePrefixes)) == 0 && Werkstoff.GenerationFeatures.prefixLogic.get(this.orePrefixes) != 0) + continue; + if (hasList && ((w.getMolten(1) != null && orePrefixes == WerkstoffLoader.capsuleMolten) || ((w.getFluid(1) != null || w.getGas(1) != null) && orePrefixes == OrePrefixes.capsule))) + aList.add(new ItemStack(this, 1, i+1001)); + } + } + + @Override + public short[] getColorForGUI(ItemStack aStack) { + if (aStack.getItemDamage() > 1000 && hasList) + return NoMetaValue.get(aStack.getItemDamage()-1001).mRGBa; + return Materials.values()[aStack.getItemDamage()].mRGBa; + } + + @Override + public String getNameForGUI(ItemStack aStack) { + if (aStack.getItemDamage() > 1000 && hasList) + return NoMetaValue.get(aStack.getItemDamage()-1001).mDefaultLocalName; + return Materials.values()[aStack.getItemDamage()].mDefaultLocalName; + } + + @Override + public void onUpdate(ItemStack aStack, World aWorld, Entity aPlayer, int aTimer, boolean aIsInHand) { + + } + + @Override + public short[] getRGBa(ItemStack aStack) { + if (aStack.getItemDamage() > 1000 && hasList) + return NoMetaValue.get(aStack.getItemDamage()-1001).mRGBa; + return Materials.values()[aStack.getItemDamage()].mRGBa; + } + + public boolean onEntityItemUpdate(EntityItem aItemEntity) { + return false; + } +} diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/GTMetaItemEnhancer.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/GTMetaItemEnhancer.java new file mode 100644 index 0000000000..35214f636c --- /dev/null +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/GTMetaItemEnhancer.java @@ -0,0 +1,63 @@ +package com.github.bartimaeusnek.bartworks.system.material.GT_Enhancement; + +import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; +import cpw.mods.fml.common.Loader; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidContainerRegistry; +import net.minecraftforge.fluids.FluidStack; + +import java.util.List; +import java.util.stream.Collectors; + +public class GTMetaItemEnhancer { + static List NoMetaValue; + + + static{ + if (Loader.isModLoaded("Forestry")) { + NoMetaValue = Materials.getMaterialsMap().values().stream().filter(m -> m.mMetaItemSubID == -1).collect(Collectors.toList()); + Item moltenCapsuls = new BWGTMetaItems(WerkstoffLoader.capsuleMolten, null); + Item capsuls = new BWGTMetaItems(OrePrefixes.capsule, NoMetaValue); + + Materials[] values = Materials.values(); + for (int i = 0, valuesLength = values.length; i < valuesLength; i++) { + Materials m = values[i]; + if (m.mStandardMoltenFluid != null && GT_OreDictUnificator.get(WerkstoffLoader.cellMolten, m, 1) != null) { + final FluidContainerRegistry.FluidContainerData emptyData = new FluidContainerRegistry.FluidContainerData(m.getMolten(144), new ItemStack(moltenCapsuls, 1, i), GT_ModHandler.getModItem("Forestry", "refractoryEmpty", 1)); + FluidContainerRegistry.registerFluidContainer(emptyData); + GT_Utility.addFluidContainerData(emptyData); + GT_Values.RA.addFluidCannerRecipe(GT_ModHandler.getModItem("Forestry", "refractoryEmpty", 1), new ItemStack(moltenCapsuls, 1, i), m.getMolten(144), GT_Values.NF); + GT_Values.RA.addFluidCannerRecipe(new ItemStack(moltenCapsuls, 1, i), GT_Values.NI, GT_Values.NF, m.getMolten(144)); + } + if (m.hasCorrespondingFluid() || m.hasCorrespondingGas()) { + Fluid f = m.hasCorrespondingFluid() ? m.getFluid(1).getFluid() : m.getGas(1).getFluid(); + final FluidContainerRegistry.FluidContainerData emptyData = new FluidContainerRegistry.FluidContainerData(new FluidStack(f, 1000), new ItemStack(capsuls, 1, i), GT_ModHandler.getModItem("Forestry", "waxCapsule", 1)); + FluidContainerRegistry.registerFluidContainer(emptyData); + GT_Utility.addFluidContainerData(emptyData); + GT_Values.RA.addFluidCannerRecipe(GT_ModHandler.getModItem("Forestry", "waxCapsule", 1), new ItemStack(capsuls, 1, i), new FluidStack(f, 1000), GT_Values.NF); + GT_Values.RA.addFluidCannerRecipe(new ItemStack(capsuls, 1, i), GT_Values.NI, GT_Values.NF, new FluidStack(f, 1000)); + } + } + for (int i = 0, valuesLength = NoMetaValue.size(); i < valuesLength; i++) { + Materials m = NoMetaValue.get(i); + if (m.getFluid(1) != null || m.getGas(1) != null) { + Fluid f = m.hasCorrespondingFluid() ? m.getFluid(1).getFluid() : m.getGas(1).getFluid(); + final FluidContainerRegistry.FluidContainerData emptyData = new FluidContainerRegistry.FluidContainerData(new FluidStack(f, 1000), new ItemStack(capsuls, 1, i + 1001), GT_ModHandler.getModItem("Forestry", "waxCapsule", 1)); + FluidContainerRegistry.registerFluidContainer(emptyData); + GT_Utility.addFluidContainerData(emptyData); + GT_Values.RA.addFluidCannerRecipe(GT_ModHandler.getModItem("Forestry", "waxCapsule", 1), new ItemStack(capsuls, 1, i + 1001), new FluidStack(f, 1000), GT_Values.NF); + GT_Values.RA.addFluidCannerRecipe(new ItemStack(capsuls, 1, i + 1001), GT_Values.NI, GT_Values.NF, new FluidStack(f, 1000)); + } + } + } + } + +} 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 0cfc13e342..7be1117d4c 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 @@ -36,6 +36,8 @@ import net.minecraftforge.fluids.FluidStack; import java.nio.ByteBuffer; import java.util.*; +import static gregtech.api.enums.OrePrefixes.capsule; + public class Werkstoff implements IColorModulationContainer, ISubTagContainer { public static final LinkedHashSet werkstoffHashSet = new LinkedHashSet<>(); @@ -402,7 +404,9 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.crushedCentrifuged,0b1000); Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.cell,0b10000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.capsule,0b10000); + Werkstoff.GenerationFeatures.prefixLogic.put(WerkstoffLoader.capsuleMolten,0b1000000); Werkstoff.GenerationFeatures.prefixLogic.put(WerkstoffLoader.cellMolten,0b1000000); Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plate,0b10000000); 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 95337e0a7b..4e1011eb29 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 @@ -28,6 +28,7 @@ import com.github.bartimaeusnek.bartworks.client.renderer.BW_Renderer_Block_Ores import com.github.bartimaeusnek.bartworks.common.configs.ConfigHandler; import com.github.bartimaeusnek.bartworks.system.log.DebugLog; import com.github.bartimaeusnek.bartworks.system.material.CircuitGeneration.BW_CircuitsLoader; +import com.github.bartimaeusnek.bartworks.system.material.GT_Enhancement.GTMetaItemEnhancer; import com.github.bartimaeusnek.bartworks.system.material.processingLoaders.AdditionalRecipes; import com.github.bartimaeusnek.bartworks.system.oredict.OreDictAdder; import com.github.bartimaeusnek.bartworks.system.oredict.OreDictHandler; @@ -83,13 +84,13 @@ public class WerkstoffLoader implements Runnable { public static final SubTag NOBLE_GAS_SMELTING = SubTag.getNewSubTag("NobleGasSmelting"); public static final SubTag NO_BLAST = SubTag.getNewSubTag("NoBlast"); public static OrePrefixes cellMolten; + public static OrePrefixes capsuleMolten; public static ItemList rotorMold; public static ItemList rotorShape; public static ItemList smallGearShape; public static ItemList ringMold; public static ItemList boltMold; - static { for (OrePrefixes prefix : OrePrefixes.values()){ if (prefix.toString().equals("cellMolten")) @@ -108,7 +109,14 @@ public class WerkstoffLoader implements Runnable { WerkstoffLoader.ringMold = Enum.valueOf(ItemList.class, "Shape_Mold_Ring"); WerkstoffLoader.boltMold = Enum.valueOf(ItemList.class, "Shape_Mold_Bolt"); } catch (NullPointerException | IllegalArgumentException e){} + //add tiberium Element t = EnumHelper.addEnum(Element.class,"Tr",new Class[]{long.class, long.class, long.class, long.class, String.class, String.class, boolean.class}, new Object[]{123L, 203L, 0L, -1L, (String) null, "Tiberium", false}); + //add molten & regular capsuls + if (Loader.isModLoaded("Forestry")) { + capsuleMolten = EnumHelper.addEnum(OrePrefixes.class, "capsuleMolten", new Class[]{String.class, String.class, String.class, boolean.class, boolean.class, boolean.class, boolean.class, boolean.class, boolean.class, boolean.class, boolean.class, boolean.class, boolean.class, int.class, long.class, int.class, int.class}, new Object[]{"Capsule of Molten stuff", "Molten ", " Capsule", true, true, true, true, false, false, false, true, false, false, 0b1000000, 3628800L, 64, -1}); + capsule.mMaterialGenerationBits = 0b100000; + capsule.mDefaultStackSize = 64; + } } //TODO: FREE ID RANGE: 91-32766 @@ -1272,6 +1280,8 @@ public class WerkstoffLoader implements Runnable { } if (orePrefixes == ore) return new ItemStack(WerkstoffLoader.BWOres, amount, werkstoff.getmID()); + if (WerkstoffLoader.items.get(orePrefixes) == null) + new Exception("NO SUCH ITEM!"+orePrefixes+werkstoff.getDefaultName()).printStackTrace(); return new ItemStack(WerkstoffLoader.items.get(orePrefixes), amount, werkstoff.getmID()).copy(); } @@ -1358,6 +1368,7 @@ public class WerkstoffLoader implements Runnable { WerkstoffLoader.Calcium.add(WerkstoffLoader.ANAEROBE_SMELTING); WerkstoffLoader.LuVTierMaterial.add(WerkstoffLoader.NOBLE_GAS_SMELTING); + WerkstoffLoader.LuVFineWireMaterial.add(WerkstoffLoader.NOBLE_GAS_SMELTING); WerkstoffLoader.MagnetoResonaticDust.add(WerkstoffLoader.NO_BLAST); @@ -1451,13 +1462,16 @@ public class WerkstoffLoader implements Runnable { if ((WerkstoffLoader.toGenerateGlobal & 0b10000) != 0) { WerkstoffLoader.items.put(cell, new BW_MetaGenerated_Items(cell)); //WerkstoffLoader.items.put(bottle, new BW_MetaGenerated_Items(bottle)); - //WerkstoffLoader.items.put(capsule, new BW_MetaGenerated_Items(capsule)); + if (Loader.isModLoaded("Forestry")) + WerkstoffLoader.items.put(capsule, new BW_MetaGenerated_Items(capsule)); } if ((WerkstoffLoader.toGenerateGlobal & 0b100000) != 0) { WerkstoffLoader.items.put(cellPlasma, new BW_MetaGenerated_Items(cellPlasma)); } if ((WerkstoffLoader.toGenerateGlobal & 0b1000000) != 0) { WerkstoffLoader.items.put(WerkstoffLoader.cellMolten, new BW_MetaGenerated_Items(WerkstoffLoader.cellMolten)); + if (Loader.isModLoaded("Forestry")) + WerkstoffLoader.items.put(capsuleMolten, new BW_MetaGenerated_Items(capsuleMolten)); } if ((WerkstoffLoader.toGenerateGlobal & 0b10000000) != 0) { WerkstoffLoader.items.put(plate, new BW_MetaGenerated_Items(plate)); @@ -1486,19 +1500,19 @@ public class WerkstoffLoader implements Runnable { WerkstoffLoader.items.put(ingotQuadruple, new BW_MetaGenerated_Items(ingotQuadruple)); WerkstoffLoader.items.put(ingotQuintuple, new BW_MetaGenerated_Items(ingotQuintuple)); } - + WerkstoffLoader.runGTItemDataRegistrator(); } - public void gameRegistryHandler(){ + void gameRegistryHandler(){ if (FMLCommonHandler.instance().getSide().isClient()) RenderingRegistry.registerBlockHandler(BW_Renderer_Block_Ores.INSTANCE); GameRegistry.registerTileEntity(BW_MetaGeneratedOreTE.class, "bw.blockoresTE"); WerkstoffLoader.BWOres = new BW_MetaGenerated_Ores(Material.rock, BW_MetaGeneratedOreTE.class, "bw.blockores"); GameRegistry.registerBlock(WerkstoffLoader.BWOres, BW_MetaGeneratedOre_Item.class, "bw.blockores.01"); - WerkstoffLoader.runGTItemDataRegistrator(); + new GTMetaItemEnhancer(); } - public static void runGTItemDataRegistrator(){ + private static void runGTItemDataRegistrator() { HashSet toRem = new HashSet<>(); for (Werkstoff werkstoff : Werkstoff.werkstoffHashSet) { Materials werkstoffBridgeMaterial = werkstoff.getBridgeMaterial() != null ? werkstoff.getBridgeMaterial() : Materials.get(werkstoff.getDefaultName()) != Materials._NULL ? Materials.get(werkstoff.getDefaultName()) : new Materials(-1, werkstoff.getTexSet(), 0, 0, 0, false, werkstoff.getDefaultName().replaceAll(" ", ""), werkstoff.getDefaultName()); @@ -1555,8 +1569,9 @@ public class WerkstoffLoader implements Runnable { werkstoffBridgeMaterial.mName = werkstoff.getDefaultName(); toRem.add(werkstoffBridgeMaterial); werkstoff.setBridgeMaterial(werkstoffBridgeMaterial); - if ((werkstoff.getGenerationFeatures().toGenerate & Werkstoff.GenerationFeatures.prefixLogic.get(prefixes)) != 0 && (werkstoff.getGenerationFeatures().blacklist & Werkstoff.GenerationFeatures.prefixLogic.get(prefixes)) == 0 && werkstoff.get(prefixes) != null && werkstoff.get(prefixes).getItem() != null) - GT_OreDictUnificator.addAssociation(prefixes, werkstoffBridgeMaterial, werkstoff.get(prefixes), false); + if (WerkstoffLoader.items.get(prefixes) != null) + if ((werkstoff.getGenerationFeatures().toGenerate & Werkstoff.GenerationFeatures.prefixLogic.get(prefixes)) != 0 && (werkstoff.getGenerationFeatures().blacklist & Werkstoff.GenerationFeatures.prefixLogic.get(prefixes)) == 0 && werkstoff.get(prefixes) != null && werkstoff.get(prefixes).getItem() != null) + GT_OreDictUnificator.addAssociation(prefixes, werkstoffBridgeMaterial, werkstoff.get(prefixes), false); } } } @@ -2090,6 +2105,13 @@ public class WerkstoffLoader implements Runnable { GT_Values.RA.addFluidCannerRecipe(Materials.Empty.getCells(1), werkstoff.get(cell), new FluidStack(fluids.get(werkstoff),1000), GT_Values.NF); GT_Values.RA.addFluidCannerRecipe(werkstoff.get(cell), Materials.Empty.getCells(1), GT_Values.NF, new FluidStack(fluids.get(werkstoff),1000)); + if (Loader.isModLoaded("Forestry")) { + FluidContainerRegistry.FluidContainerData emptyData = new FluidContainerRegistry.FluidContainerData(new FluidStack(WerkstoffLoader.fluids.get(werkstoff), 1000), werkstoff.get(capsule), GT_ModHandler.getModItem("Forestry", "waxCapsule", 1), true); + GT_Utility.addFluidContainerData(emptyData); + FluidContainerRegistry.registerFluidContainer(emptyData); + GT_Values.RA.addFluidCannerRecipe(werkstoff.get(capsule), GT_Values.NI, GT_Values.NF, new FluidStack(fluids.get(werkstoff), 1000)); + } + if ((werkstoff.getGenerationFeatures().toGenerate & 0b1) != 0){ GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(dust),null,werkstoff.getFluidOrGas(1000),0,werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass); GT_Values.RA.addFluidSolidifierRecipe(GT_Utility.getIntegratedCircuit(1), werkstoff.getFluidOrGas(1000), werkstoff.get(dust), werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass); @@ -2131,11 +2153,18 @@ public class WerkstoffLoader implements Runnable { return; //Tank "Recipe" - FluidContainerRegistry.FluidContainerData data = new FluidContainerRegistry.FluidContainerData(new FluidStack(WerkstoffLoader.molten.get(werkstoff), 144),werkstoff.get(cellMolten),Materials.Empty.getCells(1)); + final FluidContainerRegistry.FluidContainerData data = new FluidContainerRegistry.FluidContainerData(new FluidStack(Objects.requireNonNull(WerkstoffLoader.molten.get(werkstoff)), 144),werkstoff.get(cellMolten),Materials.Empty.getCells(1)); FluidContainerRegistry.registerFluidContainer(werkstoff.getMolten(144),werkstoff.get(cell),Materials.Empty.getCells(1)); GT_Utility.addFluidContainerData(data); - GT_Values.RA.addFluidCannerRecipe(Materials.Empty.getCells(1), werkstoff.get(cellMolten), new FluidStack(molten.get(werkstoff),144), GT_Values.NF); - GT_Values.RA.addFluidCannerRecipe(werkstoff.get(cellMolten), Materials.Empty.getCells(1), GT_Values.NF, new FluidStack(molten.get(werkstoff),144)); + GT_Values.RA.addFluidCannerRecipe(Materials.Empty.getCells(1), werkstoff.get(cellMolten), new FluidStack(Objects.requireNonNull(molten.get(werkstoff)),144), GT_Values.NF); + GT_Values.RA.addFluidCannerRecipe(werkstoff.get(cellMolten), Materials.Empty.getCells(1), GT_Values.NF, new FluidStack(Objects.requireNonNull(molten.get(werkstoff)),144)); + + if (Loader.isModLoaded("Forestry")) { + final FluidContainerRegistry.FluidContainerData emptyData = new FluidContainerRegistry.FluidContainerData(new FluidStack(Objects.requireNonNull(WerkstoffLoader.molten.get(werkstoff)), 144), werkstoff.get(capsuleMolten), GT_ModHandler.getModItem("Forestry", "refractoryEmpty", 1)); + FluidContainerRegistry.registerFluidContainer(werkstoff.getMolten(144), werkstoff.get(capsuleMolten), GT_ModHandler.getModItem("Forestry", "refractoryEmpty", 1)); + GT_Utility.addFluidContainerData(emptyData); + GT_Values.RA.addFluidCannerRecipe(werkstoff.get(capsuleMolten), GT_Values.NI, GT_Values.NF, new FluidStack(Objects.requireNonNull(molten.get(werkstoff)), 144)); + } if ((werkstoff.getGenerationFeatures().toGenerate & 0b10) != 0) { GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(ingot),null,werkstoff.getMolten(144),0,werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass); diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java index 8071b9b423..353493bb70 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java @@ -142,7 +142,14 @@ public class AdditionalRecipes implements Runnable { GT_Values.RA.addAssemblerRecipe(BW_NonMeta_MaterialItems.TiberiumCell_1.get(4L), GT_OreDictUnificator.get(stickLong, Materials.TungstenSteel, 6L), BW_NonMeta_MaterialItems.TiberiumCell_4.get(1L), 150, 400); GT_Values.RA.addAssemblerRecipe(BW_NonMeta_MaterialItems.TiberiumCell_2.get(2L), GT_OreDictUnificator.get(stick, Materials.TungstenSteel, 4L), BW_NonMeta_MaterialItems.TiberiumCell_4.get(1L), 100, 400); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.NaquadahCell_1.get(32L), GT_OreDictUnificator.get(stickLong, Materials.TungstenSteel,64L), GT_OreDictUnificator.get(stickLong, Materials.TungstenSteel,64L), GT_OreDictUnificator.get(stickLong, Materials.TungstenSteel,64L)},null, BW_NonMeta_MaterialItems.TheCoreCell.get(1L), 100, BW_Util.getMachineVoltageFromTier(6)); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[]{ItemList.NaquadahCell_1.get(32L), + GT_OreDictUnificator.get(stickLong, Materials.TungstenSteel,64L), + GT_OreDictUnificator.get(stickLong, Materials.TungstenSteel,64L), + GT_OreDictUnificator.get(stickLong, Materials.TungstenSteel,64L), + WerkstoffLoader.Tiberium.get(dust,64), + WerkstoffLoader.Tiberium.get(dust,64) + },null, BW_NonMeta_MaterialItems.TheCoreCell.get(1L), 100, BW_Util.getMachineVoltageFromTier(6)); GregTech_API.sAfterGTPostload.add(new LuVTierEnhancer()); AdditionalRecipes.oldGThelperMethod(); diff --git a/src/main/java/c