aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2018-08-23 15:12:23 +1000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2018-08-23 15:12:23 +1000
commitd040d1987ab47a5bee9b5e3a79f1abb2748a8287 (patch)
tree26f0a3ebc8c982c11e3ceca93ce1bddd4df55560 /src/Java/gtPlusPlus/xmod
parenta70d8f7cdd331c437c429f9d7fcc8900134f6c9d (diff)
downloadGT5-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.java65
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;
+ }
}