diff options
Diffstat (limited to 'src/Java/gtPlusPlus/core')
6 files changed, 138 insertions, 50 deletions
diff --git a/src/Java/gtPlusPlus/core/common/CommonProxy.java b/src/Java/gtPlusPlus/core/common/CommonProxy.java index 78e42d0ac7..10602c613e 100644 --- a/src/Java/gtPlusPlus/core/common/CommonProxy.java +++ b/src/Java/gtPlusPlus/core/common/CommonProxy.java @@ -10,8 +10,10 @@ import gtPlusPlus.core.entity.InternalEntityRegistry; import gtPlusPlus.core.handler.*; import gtPlusPlus.core.handler.events.BlockEventHandler; import gtPlusPlus.core.handler.events.PickaxeBlockBreakEventHandler; +import gtPlusPlus.core.handler.events.ZombieBackupSpawnEventHandler; import gtPlusPlus.core.item.ModItems; import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.lib.CORE.configSwitches; import gtPlusPlus.core.lib.LoadedMods; import gtPlusPlus.core.recipe.RECIPES_Old_Circuits; import gtPlusPlus.core.recipe.common.CI; @@ -68,8 +70,8 @@ public class CommonProxy { registerEntities(); Utils.LOG_INFO("[Proxy] Calling Tile Entity registrator."); registerTileEntities(); - - + + } public void init(final FMLInitializationEvent e) { @@ -80,25 +82,30 @@ public class CommonProxy { ModItems.init(); ModBlocks.init(); CI.Init(); - + /** * Register the Event Handlers. */ - + //Prevents my Safes being destroyed. Utils.registerEvent(new PickaxeBlockBreakEventHandler()); //Block Handler for all events. Utils.registerEvent(new BlockEventHandler()); //Handles Custom tooltips for EIO. Utils.registerEvent(new HandlerTooltip_EIO()); - + + if (configSwitches.disableZombieReinforcement){ + //Make Zombie reinforcements fuck off. + Utils.registerEvent(new ZombieBackupSpawnEventHandler()); + } + /** * End of Subscribe Event registration. */ Utils.LOG_INFO("[Proxy] Calling Render registrator."); registerRenderThings(); - + //Compat Handling COMPAT_HANDLER.registerMyModsOreDictEntries(); COMPAT_HANDLER.intermodOreDictionarySupport(); @@ -121,7 +128,7 @@ public class CommonProxy { GameRegistry.registerFuelHandler(fuelHandler); Utils.LOG_INFO("[Fuel Handler] Registering "+fuelHandler.getClass().getName()); } - + //Compat Handling COMPAT_HANDLER.InitialiseHandlerThenAddRecipes(); COMPAT_HANDLER.RemoveRecipesFromOtherMods(); @@ -138,7 +145,7 @@ public class CommonProxy { public void registerNetworkStuff(){ GuiHandler.init(); } - + public void registerEntities(){ InternalEntityRegistry.registerEntities(); } diff --git a/src/Java/gtPlusPlus/core/handler/events/ZombieBackupSpawnEventHandler.java b/src/Java/gtPlusPlus/core/handler/events/ZombieBackupSpawnEventHandler.java new file mode 100644 index 0000000000..ec078509a2 --- /dev/null +++ b/src/Java/gtPlusPlus/core/handler/events/ZombieBackupSpawnEventHandler.java @@ -0,0 +1,16 @@ +package gtPlusPlus.core.handler.events; + +import cpw.mods.fml.common.eventhandler.Event.Result; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.event.entity.living.ZombieEvent; + +public class ZombieBackupSpawnEventHandler { + + @SubscribeEvent + public void onZombieReinforcement(final ZombieEvent.SummonAidEvent event) { + if (event.summonChance > 0){ + event.setResult(Result.DENY); + } + } + +} diff --git a/src/Java/gtPlusPlus/core/lib/CORE.java b/src/Java/gtPlusPlus/core/lib/CORE.java index 91bb519973..cd6aacd3a8 100644 --- a/src/Java/gtPlusPlus/core/lib/CORE.java +++ b/src/Java/gtPlusPlus/core/lib/CORE.java @@ -54,7 +54,6 @@ public class CORE { public static final int GREGTECH_API_VERSION = GregTech_API.VERSION; public static IGregtech_RecipeAdder RA; - public static boolean mEnableCape = false; public static GameProfile gameProfile = new GameProfile(UUID.nameUUIDFromBytes("gtplusplus.core".getBytes()), "[GT++]"); @@ -131,8 +130,10 @@ public class CORE { public static boolean enableAlternativeDivisionSigilRecipe = false; //Feature Related + public static boolean enableCustomCapes = false; public static boolean enableCustomCircuits = true; public static boolean enableOldGTcircuits = false; + public static boolean disableZombieReinforcement = false; //GT Fixes public static boolean enableNitroFix = false; diff --git a/src/Java/gtPlusPlus/core/recipe/common/CI.java b/src/Java/gtPlusPlus/core/recipe/common/CI.java index ad5e4c634c..1ac0f61c84 100644 --- a/src/Java/gtPlusPlus/core/recipe/common/CI.java +++ b/src/Java/gtPlusPlus/core/recipe/common/CI.java @@ -291,50 +291,53 @@ public class CI { } } else { - if (tier == 0){ - //return ItemList.Circuit_Primitive.get(1); - return "circuitPrimitive"; - } - else if (tier == 1){ - //return ItemList.Circuit_Basic.get(1); - return "circuitBasic"; - } - else if (tier == 2){ - //return ItemList.Circuit_Good.get(1); - return "circuitGood"; - } - else if (tier == 3){ - //return ItemList.Circuit_Advanced.get(1); - return "circuitAdvanced"; - } - else if (tier == 4){ - //return ItemList.Circuit_Elite.get(1); - return "circuitData"; - } - else if (tier == 5){ - //return ItemList.Circuit_Elite.get(1); - return "circuitElite"; - } - else if (tier == 6){ - //return ItemList.Circuit_Master.get(1); - return "circuitMaster"; - } - else if (tier == 7){ - //return ItemList.Circuit_Ultimate.get(1); - return "circuitUltimate"; - } - else if (tier == 8){ - return "circuitSuperconductor"; - } - else if (tier == 9){ - return "circuitInfinite"; - } - else if (tier == 10){ - return "circuitQuantum"; - } + return getTieredCircuitOreDictName(tier); } return _NULL; } + + public static ItemStack[] getAllCircuitsOfTier(int tier){ + return ItemUtils.getStackOfAllOreDictGroup(getTieredCircuitOreDictName(tier)); + } + + public static String getTieredCircuitOreDictName(int tier){ + if (tier == 0){ + return "circuitPrimitive"; + } + else if (tier == 1){ + return "circuitBasic"; + } + else if (tier == 2){ + return "circuitGood"; + } + else if (tier == 3){ + return "circuitAdvanced"; + } + else if (tier == 4){ + return "circuitData"; + } + else if (tier == 5){ + return "circuitElite"; + } + else if (tier == 6){ + return "circuitMaster"; + } + else if (tier == 7){ + return "circuitUltimate"; + } + else if (tier == 8){ + return "circuitSuperconductor"; + } + else if (tier == 9){ + return "circuitInfinite"; + } + else if (tier == 10){ + return "circuitQuantum"; + } + else { + return "circuitPrimitive"; + } + } public static ItemStack getNumberedCircuit(int Meta){ return ItemUtils.getGregtechCircuit(Meta); diff --git a/src/Java/gtPlusPlus/core/util/item/ItemUtils.java b/src/Java/gtPlusPlus/core/util/item/ItemUtils.java index 852dde6a4b..71b37ebf48 100644 --- a/src/Java/gtPlusPlus/core/util/item/ItemUtils.java +++ b/src/Java/gtPlusPlus/core/util/item/ItemUtils.java @@ -684,6 +684,22 @@ public class ItemUtils { Utils.LOG_INFO("[Component Maker] Found "+mItemName+"."); return (gregstack); } + + public static ItemStack[] getStackOfAllOreDictGroup(String oredictname){ + final ArrayList<ItemStack> oreDictList = OreDictionary.getOres(oredictname); + if (!oreDictList.isEmpty()){ + final ItemStack[] returnValues = new ItemStack[oreDictList.size()]; + for (int i=0;i<oreDictList.size();i++){ + if (oreDictList.get(i) != null){ + returnValues[i] = oreDictList.get(i); + } + } + return returnValues.length>0 ? returnValues : null; + } + else { + return null; + } + } } diff --git a/src/Java/gtPlusPlus/core/util/recipe/RecipeUtils.java b/src/Java/gtPlusPlus/core/util/recipe/RecipeUtils.java index 8a138366ba..7d094b7a43 100644 --- a/src/Java/gtPlusPlus/core/util/recipe/RecipeUtils.java +++ b/src/Java/gtPlusPlus/core/util/recipe/RecipeUtils.java @@ -322,6 +322,51 @@ public class RecipeUtils { + public static boolean addShapedGregtechRecipeForTypes( + final Object InputItem1, final Object InputItem2, final Object InputItem3, + final Object InputItem4, final Object InputItem5, final Object InputItem6, + final Object InputItem7, final Object InputItem8, final Object InputItem9, + final ItemStack OutputItem){ + + int using = 0, recipeSlotCurrent = 0; + boolean[] hasMultiStack = new boolean[9]; + boolean inUse[] = {false, false, false}; + ItemStack array[][] = new ItemStack[3][9]; + + Object[] inputs = { + InputItem1, InputItem2, InputItem3, + InputItem4, InputItem5, InputItem6, + InputItem7, InputItem8, InputItem9}; + + for (Object o : inputs){ + if (o.getClass().isArray()){ + if (inUse[using] == false){ + inUse[using] = true; + array[using] = (ItemStack[]) o; + hasMultiStack[recipeSlotCurrent] = true; + using++; + } + } + else { + hasMultiStack[recipeSlotCurrent] = false; + } + recipeSlotCurrent++; + } + + int using2 = 0; + for (boolean t : inUse){ + + if (t){ + if (array[using2] != null){ + //addShapedGregtechRecipe + } + } + using2++; + } + + + return false; + } |