diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-08-23 15:12:23 +1000 |
---|---|---|
committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-08-23 15:12:23 +1000 |
commit | d040d1987ab47a5bee9b5e3a79f1abb2748a8287 (patch) | |
tree | 26f0a3ebc8c982c11e3ceca93ce1bddd4df55560 /src/Java/gtPlusPlus/xmod | |
parent | a70d8f7cdd331c437c429f9d7fcc8900134f6c9d (diff) | |
download | GT5-Unofficial-d040d1987ab47a5bee9b5e3a79f1abb2748a8287.tar.gz GT5-Unofficial-d040d1987ab47a5bee9b5e3a79f1abb2748a8287.tar.bz2 GT5-Unofficial-d040d1987ab47a5bee9b5e3a79f1abb2748a8287.zip |
+ Added a cut-off point for all sizes of Turbines, so all useless ones are now removed entirely. Closes #344 via implementation.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod')
-rw-r--r-- | src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java | 65 |
1 files changed, 64 insertions, 1 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java b/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java index ad5609a299..0142934186 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java @@ -1,24 +1,34 @@ package gtPlusPlus.xmod.gregtech; +import static gtPlusPlus.core.util.minecraft.MaterialUtils.getMaterialName; + import java.util.ArrayList; +import java.util.Collection; import java.util.List; +import gregtech.api.enums.Materials; +import gregtech.api.interfaces.IToolStats; +import gregtech.api.items.GT_MetaGenerated_Tool; import gregtech.api.util.GT_Config; +import gregtech.api.util.GT_Recipe; +import gregtech.common.items.GT_MetaGenerated_Tool_01; +import gtPlusPlus.api.objects.Logger; import gtPlusPlus.australia.gen.gt.WorldGen_GT_Australia; import gtPlusPlus.core.handler.COMPAT_HANDLER; import gtPlusPlus.core.handler.OldCircuitHandler; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.CORE.ConfigSwitches; +import gtPlusPlus.core.util.minecraft.MaterialUtils; import gtPlusPlus.everglades.gen.gt.WorldGen_GT; import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; import gtPlusPlus.xmod.gregtech.api.util.GTPP_Config; import gtPlusPlus.xmod.gregtech.api.world.GTPP_Worldgen; import gtPlusPlus.xmod.gregtech.common.blocks.fluid.GregtechFluidHandler; -import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechItems; import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools; import gtPlusPlus.xmod.gregtech.loaders.*; import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechConduits; import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechNitroDieselFix; +import net.minecraft.item.ItemStack; public class HANDLER_GT { @@ -80,8 +90,61 @@ public class HANDLER_GT { OldCircuitHandler.postInit(); } + removeCrudeTurbineRotors(); + //Register some custom recipe maps for any enabled multiblocks. //MultiblockRecipeMapHandler.run(); } + + private static int removeCrudeTurbineRotors() { + int aRemoved = 0; + + Collection<GT_Recipe> aAssRecipes = GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.mRecipeList; + //170, 172, 174, 176 + if (aAssRecipes.size() > 0) { + recipe: for (GT_Recipe aG : aAssRecipes) { + if (aG.mOutputs != null && aG.mOutputs.length > 0) { + outputs: for (ItemStack aI : aG.mOutputs) { + if (aI.getItem() instanceof GT_MetaGenerated_Tool_01) { + int aMeta = aI.getItemDamage(); + if (aMeta >= 170 && aMeta <= 176) { + //Found a Turbine + int aCutoff = aMeta == 170 ? 75000 : (aMeta == 172 ? 150000 : (aMeta == 174 ? 225000 : 300000)); + String aType = aMeta == 170 ? "Small " : (aMeta == 172 ? "" : (aMeta == 174 ? "Large " : "Huge ")); + Materials aMainMaterial = GT_MetaGenerated_Tool.getPrimaryMaterial(aI); + Materials aSecondaryMaterial = GT_MetaGenerated_Tool.getSecondaryMaterial(aI); + long rotorDurabilityMax = GT_MetaGenerated_Tool.getToolMaxDamage(aI); + Logger.INFO("Found "+aType+"Turbine made out of "+getMaterialName(aMainMaterial)+", using "+getMaterialName(aSecondaryMaterial)); + if (rotorDurabilityMax < aCutoff) { + Logger.INFO("Disabled this recipe as "+rotorDurabilityMax+" is below the cutoff durability of "+aCutoff+" for "+aType+"Turbines."); + aG.mEnabled = false; + aG.mHidden = true; + aG.mCanBeBuffered = false; + aRemoved++; + } + else { + break outputs; + } + + } + else { + continue outputs; + } + } + else { + continue outputs; + } + } + } + else { + continue recipe; + } + } + } + + Logger.INFO("Removed "+aRemoved+" useless Turbines."); + + return aRemoved; + } } |