aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core')
-rw-r--r--src/Java/gtPlusPlus/core/common/CommonProxy.java23
-rw-r--r--src/Java/gtPlusPlus/core/handler/events/ZombieBackupSpawnEventHandler.java16
-rw-r--r--src/Java/gtPlusPlus/core/lib/CORE.java3
-rw-r--r--src/Java/gtPlusPlus/core/recipe/common/CI.java85
-rw-r--r--src/Java/gtPlusPlus/core/util/item/ItemUtils.java16
-rw-r--r--src/Java/gtPlusPlus/core/util/recipe/RecipeUtils.java45
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;
+ }