diff options
| author | bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> | 2019-09-07 13:23:58 +0200 |
|---|---|---|
| committer | bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> | 2019-09-07 13:23:58 +0200 |
| commit | 1c73a9a064874d64684f300cbd786fd1cbef23ca (patch) | |
| tree | 6dcc9e14884cdd15b2d41268e3458dcdb6e69a0e /src/main/java/com | |
| parent | c6b938f6c98156b1b452032a98cf1214c3656a17 (diff) | |
| download | GT5-Unofficial-1c73a9a064874d64684f300cbd786fd1cbef23ca.tar.gz GT5-Unofficial-1c73a9a064874d64684f300cbd786fd1cbef23ca.tar.bz2 GT5-Unofficial-1c73a9a064874d64684f300cbd786fd1cbef23ca.zip | |
lot of fixes
+fixed translation for asembly line machines
+fixed UnificationEnforcer
+made diode recipes use new LuV Material
+use my own prefixLogic
+fixed my prefixLogic
+added plate, stick and stickLong to my Werkstoffs
+made LuV Hulls/LuV Casings use my LuV Material
+fixed wrong outputs of nerfed dusts
+fixed crop recipes give out pure metal
+fixed crafting recipes give out pure metal
+added Sodiumformate recipe
Signed-off-by: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>
Former-commit-id: 88e0e27dc697559c7ea2b455a557f3dfa5f807b8
Diffstat (limited to 'src/main/java/com')
7 files changed, 483 insertions, 240 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java b/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java index b3cd4aca0c..832b37716c 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java @@ -150,7 +150,6 @@ public final class MainMod { MinecraftForge.EVENT_BUS.register(serverEventHandler); // FMLCommonHandler.instance().bus().register(serverEventHandler); } - new LoaderRegistry().run(); if (ConfigHandler.BioLab) new BioLabLoader().run(); if (ConfigHandler.newStuff) { @@ -159,6 +158,7 @@ public final class MainMod { else INSTANCE.runInit(); } + new LoaderRegistry().run(); } @Mod.EventHandler @@ -179,10 +179,10 @@ public final class MainMod { INSTANCE.run(); GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.electricimplosioncompressor","Electric Implosions?"); GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.electricimplosioncompressor.desc","Basically a giant Hammer that presses Stuff - No more TNT!"); - GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.DEHP","Heat from below!"); - GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.DEHP.desc","Get ALL the thermal energy!"); - GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.CircuitAssemblyLine","Cheaper Circuits?"); - GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.CircuitAssemblyLine.desc","Well, yes, but actually no..."); + GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.dehp","Heat from below!"); + GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.dehp.desc","Get ALL the thermal energy!"); + GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.circuitassemblyline","Cheaper Circuits?"); + GT_LanguageManager.addStringLocalization("achievement.gt.blockmachines.circuitassemblyline.desc","Well, yes, but actually no..."); } } @Mod.EventHandler @@ -251,24 +251,30 @@ public final class MainMod { if (GT_Utility.areStacksEqual(recipe.mInputs[i], toReplace)) { if (removal) toRem.add(recipe); - else - recipe.mInputs[i] = replacement; + else { + int amount = recipe.mInputs[i].stackSize; + recipe.mInputs[i] = replacement.splitStack(amount); + } } } for (int i = 0; i < recipe.mOutputs.length; i++) { if (GT_Utility.areStacksEqual(recipe.mOutputs[i], toReplace)) { if (removal) toRem.add(recipe); - else - recipe.mOutputs[i] = replacement; + else { + int amount = recipe.mOutputs[i].stackSize; + recipe.mOutputs[i] = replacement.splitStack(amount); + } } } if (recipe.mSpecialItems instanceof ItemStack) { if (GT_Utility.areStacksEqual((ItemStack) recipe.mSpecialItems, toReplace)) { if (removal) toRem.add(recipe); - else - recipe.mSpecialItems = replacement; + else { + int amount = ((ItemStack) recipe.mSpecialItems).stackSize; + recipe.mSpecialItems = replacement.splitStack(amount); + } } } } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java index 5426e20a99..9519d67aee 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java @@ -27,10 +27,13 @@ import com.github.bartimaeusnek.bartworks.common.tileentities.multis.GT_TileEnti import com.github.bartimaeusnek.bartworks.common.tileentities.multis.GT_TileEntity_ManualTrafo; import com.github.bartimaeusnek.bartworks.common.tileentities.multis.GT_TileEntity_THTR; import com.github.bartimaeusnek.bartworks.common.tileentities.multis.GT_TileEntity_Windmill; +import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; +import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; import com.github.bartimaeusnek.bartworks.util.BWRecipes; import com.github.bartimaeusnek.bartworks.util.BW_Util; import gregtech.api.GregTech_API; import gregtech.api.enums.*; +import gregtech.api.interfaces.ISubTagContainer; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; @@ -293,7 +296,7 @@ public class RecipeLoader implements Runnable { ); Materials[] cables = {Materials.Lead, Materials.Tin, Materials.AnnealedCopper, Materials.Gold, Materials.Aluminium, Materials.Tungsten, Materials.VanadiumGallium, Materials.Naquadah, Materials.NaquadahAlloy, Materials.Superconductor}; - Materials[] hulls = {Materials.WroughtIron, Materials.Steel, Materials.Aluminium, Materials.StainlessSteel, Materials.Titanium, Materials.TungstenSteel, Materials.Chrome, Materials.Iridium, Materials.Osmium, Materials.Naquadah}; + ISubTagContainer[] hulls = {Materials.WroughtIron, Materials.Steel, Materials.Aluminium, Materials.StainlessSteel, Materials.Titanium, Materials.TungstenSteel, WerkstoffLoader.LuVTierMaterial, Materials.Iridium, Materials.Osmium, Materials.Naquadah}; ItemStack[] bats = {ItemList.Battery_Hull_LV.get(1L), ItemList.Battery_Hull_MV.get(1L), ItemList.Battery_Hull_HV.get(1L)}; ItemStack[] chreac = {ItemList.Machine_MV_ChemicalReactor.get(1L), ItemList.Machine_HV_ChemicalReactor.get(1L), ItemList.Machine_EV_ChemicalReactor.get(1L)}; @@ -318,7 +321,7 @@ public class RecipeLoader implements Runnable { for (int i = 0; i < GT_Values.VN.length; i++) { try { Materials cable = cables[i]; - Materials hull = hulls[i]; + ItemStack hull = hulls[i] instanceof Materials ? GT_OreDictUnificator.get(OrePrefixes.plate, hulls[i], 1L) : ((Werkstoff) hulls[i]).get(OrePrefixes.plate); ItemStack machinehull = ItemList.MACHINE_HULLS[i].get(1L); GT_ModHandler.addCraftingRecipe( @@ -329,7 +332,7 @@ public class RecipeLoader implements Runnable { "WCW", "PWP", 'W', GT_OreDictUnificator.get(OrePrefixes.wireGt16, cable, 1L), - 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L), + 'P', hull, 'C', machinehull }); GT_ModHandler.addCraftingRecipe( @@ -341,7 +344,7 @@ public class RecipeLoader implements Runnable { "PDP", 'D', ItemList.Circuit_Parts_Diode.get(1L, ItemList.Circuit_Parts_DiodeSMD.get(1L)), 'W', GT_OreDictUnificator.get(OrePrefixes.cableGt12, cable, 1L), - 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L), + 'P', hull, 'C', machinehull } ); @@ -354,7 +357,7 @@ public class RecipeLoader implements Runnable { "PDP", 'D', ItemList.Circuit_Parts_DiodeSMD.get(1L, ItemList.Circuit_Parts_Diode.get(1L)), 'W', GT_OreDictUnificator.get(OrePrefixes.cableGt12, cable, 1L), - 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L), + 'P', hull, 'C', machinehull } ); @@ -367,7 +370,7 @@ public class RecipeLoader implements Runnable { "PDP", 'D', ItemList.Circuit_Parts_Diode.get(1L, ItemList.Circuit_Parts_DiodeSMD.get(1L)), 'W', GT_OreDictUnificator.get(OrePrefixes.cableGt08, cable, 1L), - 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L), + 'P', hull, 'C', machinehull } ); @@ -380,7 +383,7 @@ public class RecipeLoader implements Runnable { "PDP", 'D', ItemList.Circuit_Parts_DiodeSMD.get(1L, ItemList.Circuit_Parts_Diode.get(1L)), 'W', GT_OreDictUnificator.get(OrePrefixes.cableGt08, cable, 1L), - 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L), + 'P', hull, 'C', machinehull } ); @@ -393,7 +396,7 @@ public class RecipeLoader implements Runnable { "PDP", 'D', ItemList.Circuit_Parts_Diode.get(1L, ItemList.Circuit_Parts_DiodeSMD.get(1L)), 'W', GT_OreDictUnificator.get(OrePrefixes.cableGt04, cable, 1L), - 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L), + 'P', hull, 'C', machinehull } ); @@ -406,7 +409,7 @@ public class RecipeLoader implements Runnable { "PDP", 'D', ItemList.Circuit_Parts_DiodeSMD.get(1L, ItemList.Circuit_Parts_Diode.get(1L)), 'W', GT_OreDictUnificator.get(OrePrefixes.cableGt04, cable, 1L), - 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L), + 'P', hull, 'C', machinehull } ); @@ -419,7 +422,7 @@ public class RecipeLoader implements Runnable { "PDP", 'D', ItemList.Circuit_Parts_Diode.get(1L, ItemList.Circuit_Parts_DiodeSMD.get(1L)), 'W', GT_OreDictUnificator.get(OrePrefixes.cableGt02, cable, 1L), - 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L), + 'P', hull, 'C', machinehull } ); @@ -432,7 +435,7 @@ public class RecipeLoader implements Runnable { "PDP", 'D', ItemList.Circuit_Parts_DiodeSMD.get(1L, ItemList.Circuit_Parts_Diode.get(1L)), 'W', GT_OreDictUnificator.get(OrePrefixes.cableGt02, cable, 1L), - 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L), + 'P', hull, 'C', machinehull } ); @@ -446,7 +449,7 @@ public class RecipeLoader implements Runnable { 'H', ItemList.Circuit_Parts_Coil.get(1L), 'D', ItemList.Circuit_Parts_Diode.get(1L, ItemList.Circuit_Parts_DiodeSMD.get(1L)), 'W', GT_OreDictUnificator.get(OrePrefixes.wireGt16, cable, 1L), - 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L), + 'P', hull, 'C', machinehull } ); @@ -460,7 +463,7 @@ public class RecipeLoader implements Runnable { 'H', ItemList.Circuit_Parts_Coil.get(1L), 'D', ItemList.Circuit_Parts_DiodeSMD.get(1L, ItemList.Circuit_Parts_Diode.get(1L)), 'W', GT_OreDictUnificator.get(OrePrefixes.wireGt16, cable, 1L), - 'P', GT_OreDictUnificator.get(OrePrefixes.plate, hull, 1L), + 'P', hull, 'C', machinehull } ); 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 d3bd73964b..5da4d63e25 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 @@ -24,6 +24,7 @@ package com.github.bartimaeusnek.bartworks.system.material; import com.github.bartimaeusnek.bartworks.API.IRadMaterial; import com.github.bartimaeusnek.bartworks.common.configs.ConfigHandler; +import com.github.bartimaeusnek.bartworks.system.log.DebugLog; import com.github.bartimaeusnek.bartworks.system.oredict.OreDictAdder; import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; import com.github.bartimaeusnek.bartworks.util.Pair; @@ -76,9 +77,9 @@ public class BW_MetaGenerated_Items extends GT_MetaGenerated_Item implements IRa for (int i = 0; i < this.aNumToGen; i++) { ItemStack tStack = new ItemStack(this, 1, i); Werkstoff w = werkstoffHashMap.get((short) i); - if (w == null || ((w.getGenerationFeatures().blacklist & orePrefixes.mMaterialGenerationBits) != 0) ) + if (w == null || ((w.getGenerationFeatures().blacklist & Werkstoff.GenerationFeatures.prefixLogic.get(this.orePrefixes)) != 0) ) continue; - if ((w.getGenerationFeatures().toGenerate & orePrefixes.mMaterialGenerationBits) == 0 && orePrefixes.mMaterialGenerationBits != 0) + if ((w.getGenerationFeatures().toGenerate & Werkstoff.GenerationFeatures.prefixLogic.get(this.orePrefixes)) == 0 && Werkstoff.GenerationFeatures.prefixLogic.get(this.orePrefixes) != 0) continue; GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".name", this.getDefaultLocalization(w)); GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".tooltip", w.getToolTip()); @@ -153,12 +154,12 @@ public class BW_MetaGenerated_Items extends GT_MetaGenerated_Item implements IRa public final 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 & this.orePrefixes.mMaterialGenerationBits) != 0) && ((werkstoff.getGenerationFeatures().blacklist & this.orePrefixes.mMaterialGenerationBits) == 0)) { + if (werkstoff != null && ((werkstoff.getGenerationFeatures().toGenerate & Werkstoff.GenerationFeatures.prefixLogic.get(this.orePrefixes)) != 0) && ((werkstoff.getGenerationFeatures().blacklist & Werkstoff.GenerationFeatures.prefixLogic.get(this.orePrefixes)) == 0)) { ItemStack tStack = new ItemStack(this, 1, i); aList.add(tStack); } } - super.getSubItems(var1, aCreativeTab, aList); + //super.getSubItems(var1, aCreativeTab, aList); } @Override 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 83aeae3afc..3ece0e03d3 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 @@ -58,6 +58,15 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { private final Werkstoff.GenerationFeatures generationFeatures; private final short mID; private final TextureSet texSet; + private Materials bridgeMaterial; + + public Materials getBridgeMaterial() { + return this.bridgeMaterial; + } + + public void setBridgeMaterial(Materials bridgeMaterial) { + this.bridgeMaterial = bridgeMaterial; + } public static void init(){ 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); @@ -354,7 +363,7 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { molten 1000000 crafting metal 10000000 (sticks, plates) meta crafting metal 100000000 (gears, screws, bolts, springs) - multiple ingotWorth stuff 1000000000 (double, triple, quadrupe, ingot/plates) + multiple ingotWorth stuff 1000000000 (double, triple, quadruple, ingot/plates) */ public short toGenerate = 0b0001001; public static final HashMap<OrePrefixes,Integer> prefixLogic = new HashMap<>(); @@ -363,30 +372,30 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { for (OrePrefixes p : OrePrefixes.values()){ Werkstoff.GenerationFeatures.prefixLogic.put(p,0); } - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dust,1); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustTiny,1); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustSmall,1); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ingot,10); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ingotHot,10); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.nugget,10); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gem,100); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemFlawed,100); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemExquisite,100); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemChipped,100); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemFlawless,100); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ore,1000); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustImpure,1000); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustPure,1000); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.crushed,1000); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.crushedPurified,1000); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.crushedCentrifuged,1000); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.cell,10000); - Werkstoff.GenerationFeatures.prefixLogic.put(WerkstoffLoader.cellMolten,1000000); - Werkstoff.GenerationFeatures.prefixLogic.put(WerkstoffLoader.cellMolten,1000000); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plate,10000000); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.stick,10000000); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.rod,10000000); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.stickLong,10000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dust,0b1); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustTiny,0b1); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustSmall,0b1); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ingot,0b10); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ingotHot,0b10); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.nugget,0b10); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gem,0b100); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemFlawed,0b100); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemExquisite,0b100); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemChipped,0b100); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemFlawless,0b100); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ore,0b1000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustImpure,0b1000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustPure,0b1000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.crushed,0b1000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.crushedPurified,0b1000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.crushedCentrifuged,0b1000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.cell,0b10000); + Werkstoff.GenerationFeatures.prefixLogic.put(WerkstoffLoader.cellMolten,0b1000000); + Werkstoff.GenerationFeatures.prefixLogic.put(WerkstoffLoader.cellMolten,0b1000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plate,0b10000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.stick,0b10000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.rod,0b10000000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.stickLong,0b10000000); } //public byte toGenerateSecondary = 0b0000000; @@ -504,6 +513,13 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { this.toGenerate = (byte) (this.toGenerate | 0x4); return this; } + public Werkstoff.GenerationFeatures addSimpleMetalWorkingItems() { + this.toGenerate = (byte) (this.toGenerate | 0b10000000); + return this; + } + public boolean hasSimpleMetalWorkingItems() { + return (this.toGenerate & 0b10000000) != 0; + } } 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 26f4783a0f..157b5ca643 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 @@ -33,7 +33,6 @@ import com.github.bartimaeusnek.bartworks.system.oredict.OreDictAdder; import com.github.bartimaeusnek.bartworks.system.oredict.OreDictHandler; import com.github.bartimaeusnek.bartworks.util.BWRecipes; import com.github.bartimaeusnek.bartworks.util.BW_ColorUtil; -import com.github.bartimaeusnek.bartworks.util.BW_Util; import com.github.bartimaeusnek.bartworks.util.Pair; import com.github.bartimaeusnek.crossmod.thaumcraft.util.ThaumcraftHandler; import cpw.mods.fml.client.registry.RenderingRegistry; @@ -49,6 +48,7 @@ import gregtech.api.objects.GT_Fluid; import gregtech.api.objects.GT_MultiTexture; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.*; +import gregtech.common.GT_Proxy; import gregtech.common.items.behaviors.Behaviour_DataOrb; import ic2.api.recipe.IRecipeInput; import ic2.api.recipe.RecipeInputOreDict; @@ -1168,11 +1168,11 @@ public class WerkstoffLoader implements Runnable { TextureSet.SET_QUARTZ ); public static final Werkstoff LuVTierMaterial = new Werkstoff( - new short[]{0xff, 0xee, 0xee}, + Materials.Chrome.getRGBA(), "Rhodium-Plated Palladium", new Werkstoff.Stats().setCentrifuge(true).setBlastFurnace(true).setMeltingPoint(4500), Werkstoff.Types.COMPOUND, - new Werkstoff.GenerationFeatures().disable().onlyDust().addMetalItems().addMixerRecipes(), + new Werkstoff.GenerationFeatures().disable().onlyDust().addMolten().addMetalItems().addMixerRecipes().addSimpleMetalWorkingItems(), 88, TextureSet.SET_METALLIC, new Pair<>(Materials.Palladium,3), @@ -1257,6 +1257,8 @@ public class WerkstoffLoader implements Runnable { this.addCellRecipes(werkstoff); DebugLog.log("Loading Meltdown Recipes"+" " +(System.nanoTime()-timepreone)); this.addMoltenRecipes(werkstoff); + DebugLog.log("Loading Simple MetalWorking Recipes"+" " +(System.nanoTime()-timepreone)); + this.addSimpleMetalRecipes(werkstoff); if (Loader.isModLoaded("Thaumcraft")) { DebugLog.log("Loading Aspects"+" " +(System.nanoTime()-timepreone)); ThaumcraftHandler.AspectAdder.addAspectToAll(werkstoff); @@ -1358,10 +1360,8 @@ public class WerkstoffLoader implements Runnable { WerkstoffLoader.items.put(ingotHot, new BW_MetaGenerated_Items(ingotHot)); //1750 WerkstoffLoader.items.put(nugget, new BW_MetaGenerated_Items(nugget)); -// WerkstoffLoader.items.put(plate, new BW_MetaGenerated_Items(plate)); -// WerkstoffLoader.items.put(rod, new BW_MetaGenerated_Items(rod)); -// WerkstoffLoader.items.put(stickLong, new BW_MetaGenerated_Items(stickLong)); -// + + // WerkstoffLoader.items.put(gearGt, new BW_MetaGenerated_Items(gearGt)); // WerkstoffLoader.items.put(gearGtSmall, new BW_MetaGenerated_Items(gearGtSmall)); // WerkstoffLoader.items.put(bolt, new BW_MetaGenerated_Items(bolt)); @@ -1408,6 +1408,13 @@ public class WerkstoffLoader implements Runnable { if ((WerkstoffLoader.toGenerateGlobal & 0b1000000) != 0) { WerkstoffLoader.items.put(cellMolten, new BW_MetaGenerated_Items(cellMolten)); } + if ((WerkstoffLoader.toGenerateGlobal & 0b10000000) != 0) { + WerkstoffLoader.items.put(plate, new BW_MetaGenerated_Items(plate)); + WerkstoffLoader.items.put(stick, new BW_MetaGenerated_Items(stick)); + WerkstoffLoader.items.put(stickLong, new BW_MetaGenerated_Items(stickLong)); + } + + } @@ -1439,9 +1446,10 @@ public class WerkstoffLoader implements Runnable { } if (werkstoff.getGenerationFeatures().hasMolten()) { werkstoffBridgeMaterial.mStandardMoltenFluid = werkstoff.getMolten(1).getFluid(); - } + werkstoffBridgeMaterial.mName = werkstoff.getDefaultName(); toRem.add(werkstoffBridgeMaterial); + werkstoff.setBridgeMaterial(werkstoffBridgeMaterial); } try { Field f = Materials.class.getDeclaredField("MATERIALS_MAP"); @@ -1556,6 +1564,31 @@ public class WerkstoffLoader implements Runnable { } } + private void addSimpleMetalRecipes(Werkstoff werkstoff) { + if ((werkstoff.getGenerationFeatures().toGenerate & 0b10000000) != 0) { + if (werkstoff.getGenerationFeatures().hasGems()) { + GT_Values.RA.addLatheRecipe(werkstoff.get(gem), werkstoff.get(stick), werkstoff.get(dustSmall), (int) Math.max(werkstoff.getStats().getMass() * 5L, 1L), 16); + GT_ModHandler.addCraftingRecipe(werkstoff.get(stick, 2), GT_Proxy.tBits, new Object[]{"s", "X", 'X', werkstoff.get(stickLong)}); + GT_ModHandler.addCraftingRecipe(werkstoff.get(stick), GT_Proxy.tBits, new Object[]{"f ", " X", 'X', werkstoff.get(gem)}); + GT_Values.RA.addForgeHammerRecipe(werkstoff.get(stick, 2), werkstoff.get(stickLong), (int) Math.max(werkstoff.getStats().getMass(), 1L), 16); + return; + } + + GT_ModHandler.addCraftingRecipe(werkstoff.get(stick, 2), GT_Proxy.tBits, new Object[]{"s", "X", 'X', werkstoff.get(stickLong)}); + GT_ModHandler.addCraftingRecipe(werkstoff.get(stick), GT_Proxy.tBits, new Object[]{"f ", " X", 'X', werkstoff.get(ingot)}); + + GT_Recipe.GT_Recipe_Map.sBenderRecipes.add(new BWRecipes.DynamicGTRecipe(true,new ItemStack[]{werkstoff.get(ingot),GT_Utility.getIntegratedCircuit(1)},new ItemStack[]{werkstoff.get(plate)},null,null,null,null, (int) Math.max(werkstoff.getStats().getMass(), 1L), 24,0)); + GT_Values.RA.addForgeHammerRecipe(werkstoff.get(ingot,3), werkstoff.get(plate,2), (int) Math.max(werkstoff.getStats().getMass(), 1L), 16); + + GT_Values.RA.addLatheRecipe(werkstoff.get(ingot), werkstoff.get(stick), werkstoff.get(dustSmall), (int) Math.max(werkstoff.getStats().getMass() * 5L, 1L), 16); + + GT_Values.RA.addForgeHammerRecipe(werkstoff.get(stick, 2), werkstoff.get(stickLong), (int) Math.max(werkstoff.getStats().getMass(), 1L), 16); + + GT_Values.RA.addExtruderRecipe(werkstoff.get(ingot),ItemList.Shape_Extruder_Plate.get(0),werkstoff.get(plate),(int) Math.max(werkstoff.getStats().getMass() * 2L, 1L), 45); + GT_Values.RA.addExtruderRecipe(werkstoff.get(ingot),ItemList.Shape_Extruder_Rod.get(0),werkstoff.get(stick,2),(int) Math.max(werkstoff.getStats().getMass() * 2L, 1L), 45); + } + } + private void addDustRecipes(Werkstoff werkstoff) { if ((werkstoff.getGenerationFeatures().toGenerate & 0b1) != 0) { List<FluidStack> flOutputs = new ArrayList<>(); @@ -1918,9 +1951,11 @@ public class WerkstoffLoader implements Runnable { 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); - //GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(stickLong),null,werkstoff.getMolten(144),0,werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass); - //GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(plate),null,werkstoff.getMolten(144),0,werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass); - //GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(stick),null,werkstoff.getMolten(72),0,werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass); + if ((werkstoff.getGenerationFeatures().toGenerate & 0b10000000) != 0) { + GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(stickLong), null, werkstoff.getMolten(144), 0, werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass); + GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(plate), null, werkstoff.getMolten(144), 0, werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass); + GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(stick), null, werkstoff.getMolten(72), 0, werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass); + } GT_Values.RA.addFluidExtractionRecipe(werkstoff.get(nugget),null,werkstoff.getMolten(16),0,werkstoff.getStats().getMass() > 128 ? 64 : 30, (int) werkstoff.getStats().mass); GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Ingot.get(0), werkstoff.getMolten(144), werkstoff.get(ingot), 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 f829306575..0dfd487d20 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 @@ -29,14 +29,22 @@ import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; import com.github.bartimaeusnek.bartworks.util.BWRecipes; import com.github.bartimaeusnek.bartworks.util.BW_Util; import gregtech.api.enums.*; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; +import gregtech.api.objects.GT_ItemStack; +import gregtech.api.objects.ItemData; +import gregtech.api.util.*; import gregtech.common.items.behaviors.Behaviour_DataOrb; import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.CraftingManager; +import net.minecraft.item.crafting.IRecipe; +import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.oredict.OreDictionary; +import org.apache.commons.lang3.reflect.FieldUtils; +import sun.reflect.FieldInfo; import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import static com.github.bartimaeusnek.bartworks.util.BW_Util.CLEANROOM; @@ -47,7 +55,7 @@ public class AdditionalRecipes implements Runnable { @Override public void run() { //Thorium/Yttrium Glas - GT_Values.RA.addBlastRecipe(WerkstoffLoader.YttriumOxide.get(dustSmall,2),WerkstoffLoader.Thorianit.get(dustSmall,2),Materials.Glass.getMolten(144),null,new ItemStack(ItemRegistry.bw_glasses[0],1,12),null,800, BW_Util.getMachineVoltageFromTier(5),3663); + GT_Values.RA.addBlastRecipe(WerkstoffLoader.YttriumOxide.get(dustSmall, 2), WerkstoffLoader.Thorianit.get(dustSmall, 2), Materials.Glass.getMolten(144), null, new ItemStack(ItemRegistry.bw_glasses[0], 1, 12), null, 800, BW_Util.getMachineVoltageFromTier(5), 3663); //Thorianit recipes GT_Values.RA.addSifterRecipe(WerkstoffLoader.Thorianit.get(crushedPurified), new ItemStack[]{ @@ -57,66 +65,196 @@ public class AdditionalRecipes implements Runnable { Materials.Thorium.getDust(1), Materials.Thorium.getDust(1), WerkstoffLoader.Thorium232.get(dust), - }, new int[]{7000,1300,700,600,300,100}, + }, new int[]{7000, 1300, 700, 600, 300, 100}, 400, BW_Util.getMachineVoltageFromTier(5) - ); - GT_Values.RA.addChemicalRecipe(WerkstoffLoader.Thorianit.get(dust),Materials.Aluminium.getDust(1),Materials.Thorium.getDust(1),1000); - GT_Values.RA.addChemicalRecipe(WerkstoffLoader.Thorianit.get(dust),Materials.Magnesium.getDust(1),Materials.Thorium.getDust(1),1000); - GT_Values.RA.addChemicalRecipe(WerkstoffLoader.Thorianit.get(crushed), ItemList.Crop_Drop_Thorium.get(9),Materials.Water.getFluid(1000),Materials.Thorium.getMolten(144),WerkstoffLoader.Thorianit.get(crushedPurified,4),96,24); + ); + GT_Values.RA.addChemicalRecipe(WerkstoffLoader.Thorianit.get(dust), Materials.Aluminium.getDust(1), Materials.Thorium.getDust(1), 1000); + GT_Values.RA.addChemicalRecipe(WerkstoffLoader.Thorianit.get(dust), Materials.Magnesium.getDust(1), Materials.Thorium.getDust(1), 1000); + GT_Values.RA.addChemicalRecipe(WerkstoffLoader.Thorianit.get(crushed), ItemList.Crop_Drop_Thorium.get(9), Materials.Water.getFluid(1000), Materials.Thorium.getMolten(144), WerkstoffLoader.Thorianit.get(crushedPurified, 4), 96, 24); //Prasiolite - GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(dust,Materials.Quartzite,40L),Materials.Amethyst.getDust(10),GT_Values.NF,GT_Values.NF,WerkstoffLoader.Prasiolite.get(OrePrefixes.gemFlawed,20),GT_Values.NI,800, BW_Util.getMachineVoltageFromTier(2),500); - GT_Values.RA.addPrimitiveBlastRecipe(GT_OreDictUnificator.get(dust,Materials.Quartzite,40L),Materials.Amethyst.getDust(10),6,WerkstoffLoader.Prasiolite.get(OrePrefixes.gemFlawed,20),GT_Values.NI,800); + GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(dust, Materials.Quartzite, 40L), Materials.Amethyst.getDust(10), GT_Values.NF, GT_Values.NF, WerkstoffLoader.Prasiolite.get(OrePrefixes.gemFlawed, 20), GT_Values.NI, 800, BW_Util.getMachineVoltageFromTier(2), 500); + GT_Values.RA.addPrimitiveBlastRecipe(GT_OreDictUnificator.get(dust, Materials.Quartzite, 40L), Materials.Amethyst.getDust(10), 6, WerkstoffLoader.Prasiolite.get(OrePrefixes.gemFlawed, 20), GT_Values.NI, 800); //Cubic Circonia - GT_Values.RA.addChemicalRecipe(Materials.Yttrium.getDust(2), GT_Utility.getIntegratedCircuit(11),Materials.Oxygen.getGas(3000),null, WerkstoffLoader.YttriumOxide.get(dust,5),64, BW_Util.getMachineVoltageFromTier(4)); - GT_Recipe.GT_Recipe_Map.sBlastRecipes.addRecipe(false, new ItemStack[]{WerkstoffLoader.Zirconium.get(dust,10), WerkstoffLoader.YttriumOxide.get(dust)}, new ItemStack[]{WerkstoffLoader.YttriumOxide.get(dust), WerkstoffLoader.CubicZirconia.get(gemFlawed, 40)}, null, null, new FluidStack[]{Materials.Oxygen.getGas(20000)}, null, 14400, BW_Util.getMachineVoltageFromTier(4), 2953); + GT_Values.RA.addChemicalRecipe(Materials.Yttrium.getDust(2), GT_Utility.getIntegratedCircuit(11), Materials.Oxygen.getGas(3000), null, WerkstoffLoader.YttriumOxide.get(dust, 5), 64, BW_Util.getMachineVoltageFromTier(4)); + GT_Recipe.GT_Recipe_Map.sBlastRecipes.addRecipe(false, new ItemStack[]{WerkstoffLoader.Zirconium.get(dust, 10), WerkstoffLoader.YttriumOxide.get(dust)}, new ItemStack[]{WerkstoffLoader.YttriumOxide.get(dust), WerkstoffLoader.CubicZirconia.get(gemFlawed, 40)}, null, null, new FluidStack[]{Materials.Oxygen.getGas(20000)}, null, 14400, BW_Util.getMachineVoltageFromTier(4), 2953); //Tellurium - GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(crushed,Materials.Lead,10L),GT_Utility.getIntegratedCircuit(17),GT_Values.NF,GT_Values.NF,Materials.Lead.getIngots(10),Materials.Tellurium.getNuggets(20),800, BW_Util.getMachineVoltageFromTier(2),722); - GT_Values.RA.addFusionReactorRecipe(Materials.Plutonium.getMolten(16), Materials.Beryllium.getMolten(16), WerkstoffLoader.Californium.getMolten(16), 25 |
