aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-06-17 16:55:21 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-06-17 16:55:21 +1000
commit92b359cbee7aeca68bf4fa2a1c9530e777f6ed11 (patch)
tree9a8b43617b2bbfb71b96ff240491d83ace1b5b0b
parentb96d8f61d1550d61f432290431ebf8a96da252f2 (diff)
downloadGT5-Unofficial-92b359cbee7aeca68bf4fa2a1c9530e777f6ed11.tar.gz
GT5-Unofficial-92b359cbee7aeca68bf4fa2a1c9530e777f6ed11.tar.bz2
GT5-Unofficial-92b359cbee7aeca68bf4fa2a1c9530e777f6ed11.zip
~Changed the way compatability is handled.
~Recipe Handler now works in two segments, loading recipes as normal during Init and then from a queue during postInit. ~Queue should be populated throughout the mods init/preInit phases, so that they're not removed during recipe removal. ~Made more changes to the NFHG, not sure if I broke it more or not.. but it works, kinda.
-rw-r--r--src/Java/miscutil/MiscUtils.java37
-rw-r--r--src/Java/miscutil/core/common/CommonProxy.java90
-rw-r--r--src/Java/miscutil/core/common/compat/COMPAT_CompactWindmills.java161
-rw-r--r--src/Java/miscutil/core/common/compat/COMPAT_HANDLER.java61
-rw-r--r--src/Java/miscutil/core/common/compat/COMPAT_IC2.java35
-rw-r--r--src/Java/miscutil/core/gui/machine/GUI_NHG.java1
-rw-r--r--src/Java/miscutil/core/handler/registration/LateRegistrationHandler.java28
-rw-r--r--src/Java/miscutil/core/handler/registration/RegistrationHandler.java14
-rw-r--r--src/Java/miscutil/core/item/general/fuelrods/FuelRod_Base.java4
-rw-r--r--src/Java/miscutil/core/lib/LoadedMods.java10
-rw-r--r--src/Java/miscutil/core/tileentities/TileEntityNHG.java352
-rw-r--r--src/Java/miscutil/core/util/Utils.java16
-rw-r--r--src/Java/miscutil/core/util/UtilsItems.java40
-rw-r--r--src/Java/miscutil/core/util/recipe/RECIPES_GREGTECH.java (renamed from src/Java/miscutil/core/handler/registration/RECIPES_GREGTECH.java)2
-rw-r--r--src/Java/miscutil/core/util/recipe/RECIPES_MTWRAPPER.java (renamed from src/Java/miscutil/core/handler/registration/RECIPES_MTWRAPPER.java)2
-rw-r--r--src/Java/miscutil/core/util/recipe/RECIPES_Machines.java (renamed from src/Java/miscutil/core/handler/registration/RECIPES_Machines.java)2
-rw-r--r--src/Java/miscutil/core/util/recipe/RECIPES_Shapeless.java (renamed from src/Java/miscutil/core/handler/registration/RECIPES_Shapeless.java)2
-rw-r--r--src/Java/miscutil/core/util/recipe/RECIPES_Tools.java (renamed from src/Java/miscutil/core/handler/registration/RECIPES_Tools.java)2
-rw-r--r--src/Java/miscutil/core/util/recipe/ShapedRecipeObject.java43
19 files changed, 608 insertions, 294 deletions
diff --git a/src/Java/miscutil/MiscUtils.java b/src/Java/miscutil/MiscUtils.java
index 2ddd6bf8cb..46ed16be36 100644
--- a/src/Java/miscutil/MiscUtils.java
+++ b/src/Java/miscutil/MiscUtils.java
@@ -5,15 +5,7 @@ import java.awt.event.ActionListener;
import miscutil.core.commands.CommandMath;
import miscutil.core.common.CommonProxy;
-import miscutil.core.common.compat.COMPAT_HANDLER;
-import miscutil.core.creative.AddToCreativeTab;
-import miscutil.core.handler.events.PickaxeBlockBreakEventHandler;
import miscutil.core.lib.CORE;
-import miscutil.core.lib.LoadedMods;
-import miscutil.core.util.PlayerCache;
-import miscutil.core.util.Utils;
-import miscutil.core.util.debug.DEBUG_INIT;
-import miscutil.gregtech.common.GregtechRecipeAdder;
import net.minecraftforge.common.MinecraftForge;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Mod;
@@ -25,7 +17,7 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.event.FMLServerStoppingEvent;
-@Mod(modid=CORE.MODID, name="Misc. Utils", version=CORE.VERSION, dependencies="required-after:gregtech;")
+@Mod(modid=CORE.MODID, name="Misc. Utils", version=CORE.VERSION, dependencies="required-after:Forge; after:IC2; after:gregtech; after:Railcraft; after:CompactWindmills; after:ForbiddenMagic; after:MorePlanet; after:PneumaticCraft; after:ExtraUtilities; after:Thaumcraft; after:rftools; after:simplyjetpacks; after:BigReactors; after:EnderIO;")
public class MiscUtils
implements ActionListener
{
@@ -41,18 +33,6 @@ implements ActionListener
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event)
{
- LoadedMods.checkLoaded();
- Utils.LOG_INFO("Doing some house cleaning.");
-
- if (LoadedMods.Gregtech){
- try {
- CORE.sRecipeAdder = CORE.RA = new GregtechRecipeAdder();
- } catch (NullPointerException e){
-
- }
- }
-
- AddToCreativeTab.initialiseTabs();
proxy.registerTileEntities();
proxy.registerRenderThings();
proxy.preInit(event);
@@ -62,13 +42,8 @@ implements ActionListener
@Mod.EventHandler
public void init(FMLInitializationEvent event)
{
- proxy.init(event);
+ proxy.init(event);
MinecraftForge.EVENT_BUS.register(this);
- MinecraftForge.EVENT_BUS.register(new PickaxeBlockBreakEventHandler());
- //Debug Loading
- if (CORE.DEBUG){
- DEBUG_INIT.registerHandlers();
- }
FMLCommonHandler.instance().bus().register(this);
proxy.registerNetworkStuff();
}
@@ -76,13 +51,9 @@ implements ActionListener
//Post-Init
@Mod.EventHandler
public void postInit(FMLPostInitializationEvent event) {
- Utils.LOG_INFO("Cleaning up, doing postInit.");
- COMPAT_HANDLER.ServerStartedEvent();
- PlayerCache.initCache();
- proxy.postInit(event);
-
+ proxy.postInit(event);
}
-
+
@EventHandler
public void serverStarting(FMLServerStartingEvent event)
{
diff --git a/src/Java/miscutil/core/common/CommonProxy.java b/src/Java/miscutil/core/common/CommonProxy.java
index 26c5775290..3ef3f87f77 100644
--- a/src/Java/miscutil/core/common/CommonProxy.java
+++ b/src/Java/miscutil/core/common/CommonProxy.java
@@ -2,20 +2,20 @@ package miscutil.core.common;
import static miscutil.core.lib.CORE.DEBUG;
import static miscutil.core.lib.LoadedMods.Gregtech;
-import gregtech.api.util.GT_OreDictUnificator;
import miscutil.core.block.ModBlocks;
import miscutil.core.common.compat.COMPAT_HANDLER;
+import miscutil.core.creative.AddToCreativeTab;
import miscutil.core.gui.ModGUI;
-import miscutil.core.handler.registration.RegistrationHandler;
+import miscutil.core.handler.events.PickaxeBlockBreakEventHandler;
import miscutil.core.item.ModItems;
import miscutil.core.lib.CORE;
+import miscutil.core.lib.LoadedMods;
import miscutil.core.tileentities.ModTileEntities;
+import miscutil.core.util.PlayerCache;
import miscutil.core.util.Utils;
-import miscutil.core.util.UtilsItems;
+import miscutil.core.util.debug.DEBUG_INIT;
import miscutil.gregtech.api.init.InitGregtech;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.oredict.OreDictionary;
+import net.minecraftforge.common.MinecraftForge;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
@@ -23,12 +23,8 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent;
public class CommonProxy {
public void preInit(FMLPreInitializationEvent e) {
- /*
- *
- * CORE.DEBUG Parameters area
- *
- */
- //Logs
+ Utils.LOG_INFO("Doing some house cleaning.");
+ Utils.LOG_INFO("Making sure we're ready to party!");
if (!DEBUG){
Utils.LOG_WARNING("Development mode not enabled.");
}
@@ -38,48 +34,44 @@ public class CommonProxy {
else {
Utils.LOG_WARNING("Development mode not set.");
}
- /*
- * End CORE.DEBUG
- */
+
ModItems.init();
ModBlocks.init();
-
- /**
- * Enable Dev mode related content
- */
- if (CORE.DEBUG){
- //InitEnderIO.run();
- }
-
- //Register Gregtech related items
if (Gregtech) {
Utils.LOG_INFO("Gregtech Found - Loading Resources.");
- //Utils.LOG_INFO("Begining initialization of Gregtech related content.");
- // Init Gregtech
InitGregtech.run();
-
}
else {
Utils.LOG_WARNING("Gregtech not Found - Skipping Resources.");
}
-
+ LoadedMods.checkLoaded();
+ AddToCreativeTab.initialiseTabs();
}
public void init(FMLInitializationEvent e) {
-
- RegistrationHandler.run();
-
+ //Debug Loading
+ if (CORE.DEBUG){
+ DEBUG_INIT.registerHandlers();
+ }
+ MinecraftForge.EVENT_BUS.register(new PickaxeBlockBreakEventHandler());
+
+ //Compat Handling
+ COMPAT_HANDLER.InitialiseHandlerThenAddRecipes();
+ COMPAT_HANDLER.registerMyModsOreDictEntries();
+ COMPAT_HANDLER.intermodOreDictionarySupport();
}
public void postInit(FMLPostInitializationEvent e) {
- registerOreDict();
- COMPAT_HANDLER.loadGregAPIRecipes();
+ Utils.LOG_INFO("Cleaning up, doing postInit.");
+ PlayerCache.initCache();
+ //Compat Handling
+ COMPAT_HANDLER.RemoveRecipesFromOtherMods();
+ COMPAT_HANDLER.InitialiseLateHandlerThenAddRecipes();
+ COMPAT_HANDLER.startLoadingGregAPIBasedRecipes();
}
public void registerNetworkStuff(){
ModGUI.init();
- //NetworkRegistry.INSTANCE.registerGuiHandler(MiscUtils.instance, new BloodSteelFurnaceGuiHandler());
-
}
public void registerTileEntities(){
@@ -91,34 +83,6 @@ public class CommonProxy {
}
@SuppressWarnings("static-method")
- private void registerOreDict(){
-
- Utils.LOG_INFO("Registering Materials with OreDict.");
- //In-house
-
- //tools
- GT_OreDictUnificator.registerOre("craftingToolSandHammer", new ItemStack(ModItems.itemSandstoneHammer));
- GT_OreDictUnificator.registerOre("ingotBloodSteel", new ItemStack(ModItems.itemIngotBloodSteel));
- GT_OreDictUnificator.registerOre("ingotStaballoy", new ItemStack(ModItems.itemIngotStaballoy));
-
- //Plates
- GT_OreDictUnificator.registerOre("plateBloodSteel", new ItemStack(ModItems.itemPlateBloodSteel));
- GT_OreDictUnificator.registerOre("plateStaballoy", new ItemStack(ModItems.itemPlateStaballoy));
-
- //Blocks
- GT_OreDictUnificator.registerOre("blockStaballoy", new ItemStack(Item.getItemFromBlock(ModBlocks.blockStaballoy)));
- OreDictionary.registerOre("blockBloodSteel", new ItemStack(ModBlocks.blockBloodSteel));
-
-
- for(int i=1; i<=10; i++){
- GT_OreDictUnificator.registerOre("bufferCore_"+CORE.VOLTAGES[i-1], new ItemStack(UtilsItems.getItem("miscutils:item.itemBufferCore"+i)));
- }
-
- //Do Inter-Mod Compatibility
- COMPAT_HANDLER.run();
- }
-
- @SuppressWarnings("static-method")
public int addArmor(String armor) {
return 0;
}
diff --git a/src/Java/miscutil/core/common/compat/COMPAT_CompactWindmills.java b/src/Java/miscutil/core/common/compat/COMPAT_CompactWindmills.java
index 98988f25c0..bf4de21aca 100644
--- a/src/Java/miscutil/core/common/compat/COMPAT_CompactWindmills.java
+++ b/src/Java/miscutil/core/common/compat/COMPAT_CompactWindmills.java
@@ -1,20 +1,171 @@
package miscutil.core.common.compat;
+import static miscutil.core.common.compat.COMPAT_HANDLER.AddRecipeQueue;
import static miscutil.core.common.compat.COMPAT_HANDLER.RemoveRecipeQueue;
+import miscutil.core.util.UtilsItems;
+import miscutil.core.util.recipe.ShapedRecipeObject;
+import net.minecraft.item.ItemStack;
public class COMPAT_CompactWindmills {
+ //Change IC2 Upgrades
+ public static ItemStack kineticWind = UtilsItems.getItemStack("IC2:blockKineticGenerator", 1);
+ public static ItemStack shaftIron = UtilsItems.getItemStack("IC2:itemRecipePart:11", 1);
+ public static ItemStack cableCopper = UtilsItems.getItemStack("gregtech:gt.blockmachines:1367", 1);
+ public static String plateRubber ="ore:plateRubber";
+
+ //Machine Casings
+ public static ItemStack elvCasing = UtilsItems.getItemStack("gregtech:gt.blockcasings", 1);
+ public static ItemStack lvCasing = UtilsItems.getItemStack("gregtech:gt.blockcasings:1", 1);
+ public static ItemStack mvCasing = UtilsItems.getItemStack("gregtech:gt.blockcasings:2", 1);
+ public static ItemStack hvCasing = UtilsItems.getItemStack("gregtech:gt.blockcasings:3", 1);
+ public static ItemStack evCasing = UtilsItems.getItemStack("gregtech:gt.blockcasings:4", 1);
+ public static ItemStack ivCasing = UtilsItems.getItemStack("gregtech:gt.blockcasings:5", 1);
+
+ //GT Transformers
+ public static ItemStack elvTransformer = UtilsItems.getItemStack("gregtech:gt.blockmachines:20", 1);
+ public static ItemStack lvTransformer = UtilsItems.getItemStack("gregtech:gt.blockmachines:21", 1);
+ public static ItemStack mvTransformer = UtilsItems.getItemStack("gregtech:gt.blockmachines:22", 1);
+ public static ItemStack hvTransformer = UtilsItems.getItemStack("gregtech:gt.blockmachines:23", 1);
+ public static ItemStack evTransformer = UtilsItems.getItemStack("gregtech:gt.blockmachines:24", 1);
+
+ //Compact Windmills
+ public static ItemStack elvWindmill = UtilsItems.getItemStack("CompactWindmills:blockCompactWindmill", 1);
+ public static ItemStack lvWindmill = UtilsItems.getItemStack("CompactWindmills:blockCompactWindmill:1", 1);
+ public static ItemStack mvWindmill = UtilsItems.getItemStack("CompactWindmills:blockCompactWindmill:2", 1);
+ public static ItemStack hvWindmill = UtilsItems.getItemStack("CompactWindmills:blockCompactWindmill:3", 1);
+ public static ItemStack evWindmill = UtilsItems.getItemStack("CompactWindmills:blockCompactWindmill:4", 1);
+
+ //Compact Rotors
+ public static ItemStack rotor2 = UtilsItems.getItemStack("CompactWindmills:WOOL", 1);
+ public static ItemStack rotor1 = UtilsItems.getItemStack("CompactWindmills:WOOD", 1);
+ public static ItemStack rotor3 = UtilsItems.getItemStack("CompactWindmills:ALLOY", 1);
+ public static ItemStack rotor4 = UtilsItems.getItemStack("CompactWindmills:CARBON", 1);
+ public static ItemStack rotor5 = UtilsItems.getItemStack("CompactWindmills:IRIDIUM", 1);
+
+ //IC2 Rotors
+ public static ItemStack rotorIC1 = UtilsItems.getItemStack("IC2:itemwoodrotor", 1);
+ public static ItemStack rotorIC2 = UtilsItems.getItemStack("IC2:itemironrotor", 1);
+ public static ItemStack rotorIC3 = UtilsItems.getItemStack("IC2:itemsteelrotor", 1);
+ public static ItemStack rotorIC4 = UtilsItems.getItemStack("IC2:itemwcarbonrotor", 1);
+ public static ItemStack rotorBlade1 = UtilsItems.getItemStack("IC2:itemRecipePart:7", 1);
+ public static ItemStack rotorBlade2 = UtilsItems.getItemStack("IC2:itemRecipePart:8", 1);
+ public static ItemStack rotorBlade3 = UtilsItems.getItemStack("IC2:itemRecipePart:10", 1);
+ public static ItemStack rotorBlade4 = UtilsItems.getItemStack("IC2:itemRecipePart:9", 1);
+
+ //Plates
+ public static String plateTier1 = "ore:plateMagnalium";
+ public static String plateTier2 = "ore:plateStainlessSteel";
+ public static String plateTier3 = "ore:plateTitanium";
+ public static String plateTier4 = "ore:plateTungstenSteel";
+ public static String plateTier5 = "ore:plateNichrome";
+ public static String plateCarbon = "ore:plateAlloyCarbon";
+ public static String plateAlloy = "ore:plateAlloyAdvanced";
+
+ //Circuits
+ public static String circuitTier1 = "ore:circuitGood";
+ public static String circuitTier2 = "ore:circuitAdvanced";
+ public static String circuitTier3 = "ore:circuitData";
+ public static String circuitTier4 = "ore:circuitElite";
+ public static String circuitTier5 = "ore:circuitMaster";
+
+ //Wooden Rotor
+ public static ShapedRecipeObject Wooden_Rotor = new ShapedRecipeObject(
+ rotorBlade1, "ore:plateAnyIron", "ore:plateAnyIron",
+ "ore:screwAluminium", rotorIC1, "ore:screwAluminium",
+ rotorBlade1, "plateAnyIron", rotorBlade1,
+ rotor1);
+ //Alloy Rotor
+ public static ShapedRecipeObject Alloy_Rotor = new ShapedRecipeObject(
+ plateAlloy, plateAlloy, plateAlloy,
+ plateAlloy, rotorIC3, plateAlloy,
+ plateAlloy,plateAlloy, plateAlloy,
+ rotor3);
+ //Carbon Rotor
+ public static ShapedRecipeObject Carbon_Rotor = new ShapedRecipeObject(
+ plateCarbon, rotorBlade4, plateCarbon,
+ rotorBlade4, rotor3, rotorBlade4,
+ plateCarbon, rotorBlade4, plateCarbon,
+ rotor4);
+
+ //Kinetic Wind Turbine
+ public static ShapedRecipeObject KWT = new ShapedRecipeObject(
+ plateCarbon, shaftIron, plateCarbon,
+ cableCopper, mvCasing, cableCopper,
+ plateRubber, plateCarbon, plateRubber,
+ kineticWind);
+
+ //ELV Windmill
+ public static ShapedRecipeObject WM_ELV = new ShapedRecipeObject(
+
+ circuitTier1, elvTransformer, circuitTier1,
+ plateTier1, lvCasing, plateTier1,
+ plateTier1, rotor1, plateTier1,
+ elvWindmill);
+
+
+ //LV Windmill
+ public static ShapedRecipeObject WM_LV = new ShapedRecipeObject(
+ circuitTier2, lvTransformer, circuitTier2,
+ plateTier2, mvCasing, plateTier2,
+ plateTier2, rotor2, plateTier2,
+ lvWindmill);
+
+ //MV Windmill
+ public static ShapedRecipeObject WM_MV = new ShapedRecipeObject(
+ circuitTier3, mvTransformer, circuitTier3,
+ plateTier3, hvCasing, plateTier3,
+ plateTier3, rotor3, plateTier3,
+ mvWindmill);
+
+ //HV Windmill
+ public static ShapedRecipeObject WM_HV = new ShapedRecipeObject(
+ circuitTier4, hvTransformer, circuitTier4,
+ plateTier4, evCasing, plateTier4,
+ plateTier4, rotor4, plateTier4,
+ hvWindmill);
+
+ //EV Windmill
+ public static ShapedRecipeObject WM_EV = new ShapedRecipeObject(
+ circuitTier5, evTransformer, circuitTier5,
+ plateTier5, ivCasing, plateTier5,
+ plateTier5, rotor5, plateTier5,
+ evWindmill);
+
public static void OreDict(){
run();
}
private static final void run(){
- RemoveRecipeQueue.add("CompactWindmills:WOOL");
- RemoveRecipeQueue.add("CompactWindmills:WOOD");
- RemoveRecipeQueue.add("CompactWindmills:ALLOY");
- RemoveRecipeQueue.add("CompactWindmills:CARBON");
- RemoveRecipeQueue.add("CompactWindmills:IRIDIUM");
+ //RemoveRecipeQueue.add("CompactWindmills:WOOL");
+ //RemoveRecipeQueue.add("CompactWindmills:WOOD");
+ //RemoveRecipeQueue.add("CompactWindmills:ALLOY");
+ //RemoveRecipeQueue.add("CompactWindmills:CARBON");
+ //RemoveRecipeQueue.add("CompactWindmills:IRIDIUM");
+
+ //Remove Recipes
+ RemoveRecipeQueue.add(kineticWind);
+ RemoveRecipeQueue.add(elvWindmill);
+ RemoveRecipeQueue.add(lvWindmill);
+ RemoveRecipeQueue.add(mvWindmill);
+ RemoveRecipeQueue.add(hvWindmill);
+ RemoveRecipeQueue.add(evWindmill);
+ RemoveRecipeQueue.add(rotor1);
+ RemoveRecipeQueue.add(rotor3);
+ RemoveRecipeQueue.add(rotor4);
+
+ //Add Recipes
+ AddRecipeQueue.add(Wooden_Rotor);
+ AddRecipeQueue.add(Alloy_Rotor);
+ AddRecipeQueue.add(Carbon_Rotor);
+ AddRecipeQueue.add(KWT);
+ AddRecipeQueue.add(WM_ELV);
+ AddRecipeQueue.add(WM_LV);
+ AddRecipeQueue.add(WM_MV);
+ AddRecipeQueue.add(WM_HV);
+ AddRecipeQueue.add(WM_EV);
+
}
}
diff --git a/src/Java/miscutil/core/common/compat/COMPAT_HANDLER.java b/src/Java/miscutil/core/common/compat/COMPAT_HANDLER.java
index ee2ba9e230..7cac0bcef2 100644
--- a/src/Java/miscutil/core/common/compat/COMPAT_HANDLER.java
+++ b/src/Java/miscutil/core/common/compat/COMPAT_HANDLER.java
@@ -1,20 +1,59 @@
package miscutil.core.common.compat;
import static miscutil.core.util.UtilsItems.removeCraftingRecipe;
+import gregtech.api.util.GT_OreDictUnificator;
import java.util.LinkedList;
import java.util.Queue;
-import miscutil.core.handler.registration.RECIPES_GREGTECH;
+import miscutil.core.block.ModBlocks;
+import miscutil.core.handler.registration.LateRegistrationHandler;
+import miscutil.core.handler.registration.RegistrationHandler;
+import miscutil.core.item.ModItems;
+import miscutil.core.lib.CORE;
import miscutil.core.lib.LoadedMods;
+import miscutil.core.util.Utils;
+import miscutil.core.util.UtilsItems;
+import miscutil.core.util.recipe.RECIPES_GREGTECH;
+import miscutil.core.util.recipe.ShapedRecipeObject;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.oredict.OreDictionary;
public class COMPAT_HANDLER {
public static Queue<Object> RemoveRecipeQueue = new LinkedList<Object>();
- public static Queue<Object> AddRecipeQueue = new LinkedList<Object>();
+ public static Queue<ShapedRecipeObject> AddRecipeQueue = new LinkedList<ShapedRecipeObject>();
+ public static Boolean areInitItemsLoaded = false;
+
+
+ public static void registerMyModsOreDictEntries(){
+
+ Utils.LOG_INFO("Registering Materials with OreDict.");
+ //In-house
+
+ //tools
+ GT_OreDictUnificator.registerOre("craftingToolSandHammer", new ItemStack(ModItems.itemSandstoneHammer));
+ GT_OreDictUnificator.registerOre("ingotBloodSteel", new ItemStack(ModItems.itemIngotBloodSteel));
+ GT_OreDictUnificator.registerOre("ingotStaballoy", new ItemStack(ModItems.itemIngotStaballoy));
+
+ //Plates
+ GT_OreDictUnificator.registerOre("plateBloodSteel", new ItemStack(ModItems.itemPlateBloodSteel));
+ GT_OreDictUnificator.registerOre("plateStaballoy", new ItemStack(ModItems.itemPlateStaballoy));
+
+ //Blocks
+ GT_OreDictUnificator.registerOre("blockStaballoy", new ItemStack(Item.getItemFromBlock(ModBlocks.blockStaballoy)));
+ OreDictionary.registerOre("blockBloodSteel", new ItemStack(ModBlocks.blockBloodSteel));
+
+
+ for(int i=1; i<=10; i++){
+ GT_OreDictUnificator.registerOre("bufferCore_"+CORE.VOLTAGES[i-1], new ItemStack(UtilsItems.getItem("miscutils:item.itemBufferCore"+i)));
+ }
+ }
+
//InterMod
- public static void run(){
+ public static void intermodOreDictionarySupport(){
if (LoadedMods.Big_Reactors){
COMPAT_BigReactors.OreDict();
@@ -48,21 +87,21 @@ public class COMPAT_HANDLER {
}
}
- public static void ServerStartedEvent(){
+ public static void RemoveRecipesFromOtherMods(){
//Removal of Recipes
for(Object item : RemoveRecipeQueue){
removeCraftingRecipe(item);
- }
+ }
}
- public static void ServerStartedEvent_RECIPES(){
- //Remoal Recipes
- for(Object item : AddRecipeQueue){
- removeCraftingRecipe(item);
- }
+ public static void InitialiseHandlerThenAddRecipes(){
+ RegistrationHandler.run();
+ }
+ public static void InitialiseLateHandlerThenAddRecipes(){
+ LateRegistrationHandler.run();
}
- public static void loadGregAPIRecipes(){
+ public static void startLoadingGregAPIBasedRecipes(){
RECIPES_GREGTECH.run();
}
}
diff --git a/src/Java/miscutil/core/common/compat/COMPAT_IC2.java b/src/Java/miscutil/core/common/compat/COMPAT_IC2.java
index 50daca16ce..fe6d516fb2 100644
--- a/src/Java/miscutil/core/common/compat/COMPAT_IC2.java
+++ b/src/Java/miscutil/core/common/compat/COMPAT_IC2.java
@@ -1,24 +1,37 @@
package miscutil.core.common.compat;
+
+import static miscutil.core.common.compat.COMPAT_HANDLER.AddRecipeQueue;
import static miscutil.core.common.compat.COMPAT_HANDLER.RemoveRecipeQueue;
import miscutil.core.util.UtilsItems;
+import miscutil.core.util.recipe.ShapedRecipeObject;
import net.minecraft.item.ItemStack;
public class COMPAT_IC2 {
- private static ItemStack temp_1;
- private static ItemStack temp_2;
+ private static ItemStack itemCropnalyzer = UtilsItems.getItemStack("IC2:itemCropnalyzer", 1);
+ private static ItemStack itemSolarHelmet = UtilsItems.getItemStack("IC2:itemSolarHelmet", 1);
private static ItemStack temp_3;
private static ItemStack temp_4;
private static ItemStack temp_5;
+ public static ShapedRecipeObject Cropnalyzer = new ShapedRecipeObject(
+ "ore:cableGt02Copper", "ore:cableGt02Copper", null,
+ "minecraft:redstone", "ore:blockGlass", "minecraft:redstone",
+ "minecraft:redstone", "ore:circuitBasic", "minecraft:redstone",
+ itemCropnalyzer);
+ public static ShapedRecipeObject SolarHelmet = new ShapedRecipeObject(
+ "ore:plateIron", "ore:plateIron", "ore:plateIron",
+ "ore:plateIron", "gregtech:gt.metaitem.01:32750", "ore:plateIron",
+ "ore:craftingWireCopper", "ore:craftingWireCopper", "ore:craftingWireCopper",
+ itemSolarHelmet);
public static void OreDict(){
//Get ItemStacks for results
- temp_1 = UtilsItems.getItemStack("IC2:itemCropnalyzer", 1);
- temp_2 = UtilsItems.getItemStack("IC2:itemSolarHelmet", 1);
+ /*itemCropnalyzer = UtilsItems.getItemStack("IC2:itemCropnalyzer", 1);
+ itemSolarHelmet = UtilsItems.getItemStack("IC2:itemSolarHelmet", 1); */
run();
}
@@ -32,17 +45,11 @@ public class COMPAT_IC2 {
RemoveRecipeQueue.add("IC2:itemCable:6");
RemoveRecipeQueue.add("IC2:itemCable:10");
RemoveRecipeQueue.add("IC2:itemCable:13");
+ RemoveRecipeQueue.add(itemCropnalyzer);
+ RemoveRecipeQueue.add(itemSolarHelmet);
- RemoveRecipeQueue.add(temp_1);
- UtilsItems.recipeBuilder("ore:craftingWireCopper", "ore:craftingWireCopper", null,
- "minecraft:redstone", "minecraft:glass", "minecraft:redstone",
- "minecraft:redstone", "ore:circuitBasic", "minecraft:redstone",
- temp_1);
- RemoveRecipeQueue.add(temp_2);
- UtilsItems.recipeBuilder("ore:plateIron", "ore:plateIron", "ore:plateIron",
- "ore:plateIron", "gregtech:gt.metaitem.01:32750", "ore:plateIron",
- "ore:craftingWireCopper", "ore:craftingWireCopper", "ore:craftingWireCopper",
- temp_2);
+ AddRecipeQueue.add(Cropnalyzer);
+ AddRecipeQueue.add(SolarHelmet);
}
}
diff --git a/src/Java/miscutil/core/gui/machine/GUI_NHG.java b/src/Java/miscutil/core/gui/machine/GUI_NHG.java
index 632e9e29ac..b536157a49 100644
--- a/src/Java/miscutil/core/gui/machine/GUI_NHG.java
+++ b/src/Java/miscutil/core/gui/machine/GUI_NHG.java
@@ -45,5 +45,6 @@ public class GUI_NHG extends GuiContainer
fontRendererObj.drawString(I18n.format(te.getInventoryName()), (xSize / 2) - (fontRendererObj.getStringWidth(I18n.format(te.getInventoryName())) / 2), 6, 4210752, false);
//fontRendererObj.drawString(I18n.format(inventory.getInventoryName()), 8, ySize - 96 + 2, 4210752);
fontRendererObj.drawString(I18n.format("CoreTemp:"+te.getCoreTemp()+"K"), 8, ySize - 96 + 2, 4210752);
+ fontRendererObj.drawString(I18n.format("Progress:"+te.getProgress()+"ticks"), 80, ySize - 96 + 2, 4210752);
}
} \ No newline at end of file
diff --git a/src/Java/miscutil/core/handler/registration/LateRegistrationHandler.java b/src/Java/miscutil/core/handler/registration/LateRegistrationHandler.java
new file mode 100644
index 0000000000..7c6396b338
--- /dev/null
+++ b/src/Java/miscutil/core/handler/registration/LateRegistrationHandler.java
@@ -0,0 +1,28 @@
+package miscutil.core.handler.registration;
+
+import miscutil.core.common.compat.COMPAT_HANDLER;
+import miscutil.core.util.Utils;
+import miscutil.core.util.recipe.ShapedRecipeObject;
+
+public class LateRegistrationHandler {
+
+ public static int recipesSuccess = 0;
+ public static int recipesFailed = 0;
+
+ public static void run(){
+ init();
+ }
+
+ private final static void init(){
+ for(ShapedRecipeObject item : COMPAT_HANDLER.AddRecipeQueue){
+ item.buildRecipe();
+ }
+ try {
+ Thread.sleep(10);
+ } catch (InterruptedException e) {
+ Utils.LOG_INFO(e.toString());
+ }
+ Utils.LOG_INFO("Loaded: "+recipesSuccess+" Failed: "+recipesFailed);
+ }
+
+}
diff --git a/src/Java/miscutil/core/handler/registration/RegistrationHandler.java b/src/Java/miscutil/core/handler/registration/RegistrationHandler.java
index 9f100117fc..7bb3d33f84 100644
--- a/src/Java/miscutil/core/handler/registration/RegistrationHandler.java
+++ b/src/Java/miscutil/core/handler/registration/RegistrationHandler.java
@@ -1,6 +1,10 @@
package miscutil.core.handler.registration;
+import miscutil.core.common.compat.COMPAT_HANDLER;
import miscutil.core.util.Utils;
+import miscutil.core.util.recipe.RECIPES_Machines;
+import miscutil.core.util.recipe.RECIPES_Shapeless;
+import miscutil.core.util.recipe.RECIPES_Tools;
public class RegistrationHandler {
@@ -15,14 +19,10 @@ public class RegistrationHandler {
RECIPES_Tools.RECIPES_LOAD();
RECIPES_Machines.RECIPES_LOAD();
RECIPES_Shapeless.RECIPES_LOAD();
- //RECIPES_MTWRAPPER.run();
- try {
- Thread.sleep(10);
- } catch (InterruptedException e) {
- Utils.LOG_INFO(e.toString());
- }
+ //RECIPES_MTWRAPPER.run();
Utils.LOG_INFO("Loaded: "+recipesSuccess+" Failed: "+recipesFailed);
- Utils.LOG_INFO("MT Loaded: "+RECIPES_MTWRAPPER.MT_RECIPES_LOADED+" MT Failed: "+RECIPES_MTWRAPPER.MT_RECIPES_FAILED);
+ COMPAT_HANDLER.areInitItemsLoaded = true;
+ //Utils.LOG_INFO("MT Loaded: "+RECIPES_MTWRAPPER.MT_RECIPES_LOADED+" MT Failed: "+RECIPES_MTWRAPPER.MT_RECIPES_FAILED);
}
}
diff --git a/src/Java/miscutil/core/item/general/fuelrods/FuelRod_Base.java b/src/Java/miscutil/core/item/general/fuelrods/FuelRod_Base.java
index 9a3de2c08f..56fe598a3b 100644
--- a/src/Java/miscutil/core/item/general/fuelrods/FuelRod_Base.java
+++ b/src/Java/miscutil/core/item/general/fuelrods/FuelRod_Base.java
@@ -196,9 +196,11 @@ public class FuelRod_Base extends Item{
itemStack.stackTagCompound.setInteger("fuelRemaining", fuelRemaining);
itemStack.stackTagCompound.setInteger("maximumFuel", maximumFuel);
itemStack.stackTagCompound.setFloat("heat", heat);
- itemStack.stackTagCompound.setFloat("maxHeat", maxHeat);
+ itemStack.stackTagCompound.setFloat("maxHeat", getMaxHeat());
itemStack.stackTagCompound.setString("fuelType", fuelType);
}
+
+
}
diff --git a/src/Java/miscutil/core/lib/LoadedMods.java b/src/Java/miscutil/core/lib/LoadedMods.java
index 896108052c..efce85b11a 100644
--- a/src/Java/miscutil/core/lib/LoadedMods.java
+++ b/src/Java/miscutil/core/lib/LoadedMods.java
@@ -1,6 +1,7 @@
package miscutil.core.lib;
import miscutil.core.util.Utils;
+import miscutil.gregtech.common.GregtechRecipeAdder;
import cpw.mods.fml.common.Loader;
public class LoadedMods {
@@ -24,10 +25,19 @@ public class LoadedMods {
private static int totalMods;
+ @SuppressWarnings("deprecation")
public static void checkLoaded(){
Utils.LOG_INFO("Looking for optional mod prereqs.");
if (Loader.isModLoaded("gregtech") == true ){
Gregtech = true;
+ if (Gregtech){
+ try {
+ CORE.sRecipeAdder = CORE.RA = new GregtechRecipeAdder();
+ } catch (NullPointerException e){
+
+ }
+ }
+
totalMods++;
}
if (Loader.isModLoaded("EnderIO") == true){
diff --git a/src/Java/miscutil/core/tileentities/TileEntityNHG.java b/src/Java/miscutil/core/tileentities/TileEntityNHG.java
index b145bd2742..6775fe515b 100644
--- a/src/Java/miscutil/core/tileentities/TileEntityNHG.java
+++ b/src/Java/miscutil/core/tileentities/TileEntityNHG.java
@@ -15,7 +15,8 @@ public class TileEntityNHG extends TileEntity implements IInventory
{
private ItemStack[] items = new ItemStack[19]; //18
private int progress = 1;
- private int maxProgress = 100;
+ private int maxProgress = 1800;
+ private int heatCycleProgress = 120;
public float coreTemp;
public float maxTemp = 10000;
private boolean fuelrod_1 = false;
@@ -41,44 +42,67 @@ public class TileEntityNHG extends TileEntity implements IInventory
return coreTemp;
}
+ public int getProgress(){
+ return progress;
+ }
+
public boolean isValidFuelRod(ItemStack input){
- if (input != null){
- if (input.getItem() instanceof FuelRod_Base){
- int fuelRodFuelLevel = getRodFuelValue(input);
- float fuelRodHeatLevel = getRodHeatValue(input);
- if((fuelRodHeatLevel <= 0 || fuelRodHeatLevel == 0) && fuelRodFuelLevel > 0){
-
- if(fuelRodFuelLevel <= 0 || fuelRodFuelLevel == 0){
- return false;
+ if(!this.worldObj.isRemote){
+ if (input != null){
+ if (input.getItem() instanceof FuelRod_Base){
+ int fuelRodFuelLevel = getRodFuelValue(input);
+ float fuelRodHeatLevel = getRodHeatValue(input);
+ Utils.LOG_WARNING("Fuel Left: "+fuelRodFuelLevel+" Current Temp: "+fuelRodHeatLevel);
+ return true;
+ //return input.stackTagCompound.getInteger("code");
+ }
+ }
+
+ }
+ return false;
+ }
+
+ public ItemStack doFuelRodHeatDamage(ItemStack input){
+ if(!this.worldObj.isRemote){
+ if (input != null){
+ if (isValidFuelRod(input)){
+ int fuelRodFuelLevel = getRodFuelValue(input);
+ float fuelRodHeatLevel = getRodHeatValue(input);
+ if((fuelRodHeatLevel <= 0 || fuelRodHeatLevel == 0) && fuelRodFuelLevel > 0){
+
+ if(fuelRodFuelLevel <= 0 || fuelRodFuelLevel == 0){
+ return null;
+ }
+ else if(fuelRodFuelLevel >= 5){
+ int tempInt=fuelRodFuelLevel;
+ float tempFloat=fuelRodHeatLevel;
+ ItemStack output = input.copy();
+ output.stackTagCompound.setInteger("fuelRemaining", tempInt-5);
+ output.stackTagCompound.setFloat("heat", tempFloat+5);
+
+ return output;
+ }
+ else {
+ return null;
+ }
}
- else if(fuelRodFuelLevel >= 5){
- input.stackTagCompound.setInteger("fuelRemaining", fuelRodFuelLevel-5);
- input.stackTagCompound.setFloat("heat", fuelRodHeatLevel+5);
- return true;
+ else if(fuelRodHeatLevel >= 5 && fuelRodFuelLevel == 0){
+ input.stackTagCompound.setInteger("heat", -5);
+ return input;
}
else {
- return false;
+ return null;
}
}
- else if(fuelRodHeatLevel >= 5 && fuelRodFuelLevel == 0){
- input.stackTagCompound.setInteger("heat", -5);
- return true;
- }
- else {
- return false;
- }
- //return input.stackTagCompound.getInteger("code");
}
}
-
-
- return false;
+ return null;
}
public float getRodHeatValue(ItemStack value){
if (value != null){
if (value.stackTagCompound.getFloat("heat") != 0){
- return value.stackTagCompound.getFloat("heat");
+ return value.stackTagCompound.getFloat("heat");
}
return 0f;
}
@@ -88,7 +112,7 @@ public class TileEntityNHG extends TileEntity implements IInventory
public int getRodFuelValue(ItemStack value){
if (value != null){
if (value.stackTagCompound.getInteger("fuelRemaining") != 0){
- return value.stackTagCompound.getInteger("fuelRemaining");
+ return value.stackTagCompound.getInteger("fuelRemaining");
}
return 0;
}
@@ -96,100 +120,118 @@ public class TileEntityNHG extends TileEntity implements IInventory
}
public void checkFuelRods(){
- for (int i = 0; i < getSizeInventory(); i++){
- if (items[i] != null){
- if (items[i].getItem() instanceof FuelRod_Base){
-
-
- ItemStack fuelRodStack = getStackInSlot(i);
- isValidFuelRod(fuelRodStack);
-
-
- if (i == 0){
- fuelrod_1 = true;
- isValidFuelRod(fuelRodStack);
- }
- else if (i == 1){
- fuelrod_2 = true;
- isValidFuelRod(fuelRodStack);
- }
- else if (i == 2){
- fuelrod_3 = true;
- isValidFuelRod(fuelRodStack);
- }
- else if (i == 3){
- fuelrod_4 = true;
- isValidFuelRod(fuelRodStack);
- }
- else if (i == 4){
- fuelrod_5 = true;
- isValidFuelRod(fuelRodStack);
- }
- else if (i == 5){
- fuelrod_6 = true;
- isValidFuelRod(fuelRodStack);
- }
- else if (i == 6){
- fuelrod_7 = true;
- isValidFuelRod(fuelRodStack);
- }
- else if (i == 7){
- fuelrod_8 = true;
- isValidFuelRod(fuelRodStack);
- }
- else if (i == 8){
- fuelrod_9 = true;
- isValidFuelRod(fuelRodStack);
- }
- else if (i == 9){
- fuelrod_10 = true;
- isValidFuelRod(fuelRodStack);
- }
- else if (i == 10){
- fuelrod_11 = true;
- isValidFuelRod(fuelRodStack);
- }
- else if (i == 11){
- fuelrod_12 = true;
- isValidFuelRod(fuelRodStack);
- }
- else if (i == 12){
- fuelrod_13 = true;
- isValidFuelRod(fuelRodStack);
- }
- else if (i == 13){
- fuelrod_14 = true;
- isValidFuelRod(fuelRodStack);
- }
- else if (i == 14){
- fuelrod_15 = true;
- isValidFuelRod(fuelRodStack);
- }
- else if (i == 15){
- fuelrod_16 = true;
- isValidFuelRod(fuelRodStack);
- }
- else if (i == 16){
- fuelrod_17 = true;
- isValidFuelRod(fuelRodStack);
- }
- else if (i == 17){
- fuelrod_18 = true;
- isValidFuelRod(fuelRodStack);
+
+ if(!this.worldObj.isRemote){
+ for (int i = 0; i < getSizeInventory(); i++){
+ if (items[i] != null){
+ if (items[i].getItem() instanceof FuelRod_Base){
+ ItemStack fuelRodStack = getStackInSlot(i);
+ //setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
+ if (i == 0){
+ fuelrod_1 = true;
+ FuelRod_Base x = (FuelRod_Base) fuelRodStack.getItem();
+ x.addHeat(5);
+ x.addFuel(-5);
+ setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
+ }
+ else if (i == 1){
+ fuelrod_2 = true;
+ setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
+ }
+ else if (i == 2){
+ fuelrod_3 = true;
+ setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
+ }
+ else if (i == 3){
+ fuelrod_4 = true;
+ setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
+ }
+ else if (i == 4){
+ fuelrod_5 = true;
+ setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
+ }
+ else if (i == 5){
+ fuelrod_6 = true;
+ setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
+ }
+ else if (i == 6){
+ fuelrod_7 = true;
+ setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
+ }
+ else if (i == 7){
+ fuelrod_8 = true;
+ setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
+ }
+ else if (i == 8){
+ fuelrod_9 = true;
+ setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
+ }
+ else if (i == 9){
+ fuelrod_10 = true;
+ setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
+ }
+ else if (i == 10){
+ fuelrod_11 = true;
+ setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
+ }
+ else if (i == 11){
+ fuelrod_12 = true;
+ setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
+ }
+ else if (i == 12){
+ fuelrod_13 = true;
+ setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
+ }
+ else if (i == 13){
+ fuelrod_14 = true;
+ setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
+ }
+ else if (i == 14){
+ fuelrod_15 = true;
+ setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
+ }
+ else if (i == 15){
+ fuelrod_16 = true;
+ setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
+ }
+ else if (i == 16){
+ fuelrod_17 = true;
+ setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
+ }
+ else if (i == 17){
+ fuelrod_18 = true;
+ setInventorySlotContents(i, doFuelRodHeatDamage(fuelRodStack));
+ }
+
+
}
-
-
}
}
- }
+ }
}
public boolean calculateHeat(){
- if (!fuelrod_1 || !fuelrod_2 || !fuelrod_3 || !fuelrod_4 || !fuelrod_5 || !fuelrod_6 || !fuelrod_7 || !fuelrod_8 || !fuelrod_9 || !fuelrod_10 || !fuelrod_11 || !fuelrod_12 || !fuelrod_13 || !fuelrod_14 || !fuelrod_15 || !fuelrod_16 || !fuelrod_17 || !fuelrod_18){
+ /*if (!fuelrod_1 || !fuelrod_2 || !fuelrod_3 || !fuelrod_4 || !fuelrod_5 || !fuelrod_6 || !fuelrod_7 || !fuelrod_8 || !fuelrod_9 || !fuelrod_10 || !fuelrod_11 || !fuelrod_12 || !fuelrod_13 || !fuelrod_14 || !fuelrod_15 || !fuelrod_16 || !fuelrod_17 || !fuelrod_18){
coreTemp = 0;
}
+ else {*/
+ if(!this.worldObj.isRemote){
+ for (int i = 0; i < getSizeInventory(); i++){
+ if (items[i] != null){
+ if (items[i].getItem() instanceof FuelRod_Base){
+ ItemStack fuelRodStack = getStackInSlot(i);
+ //if (fuelRodStack.stackTagCompound.getFloat("heat") != 0){
+ doFuelRodHeatDamage(fuelRodStack);
+ coreTemp = coreTemp+fuelRodStack.stackTagCompound.getFloat("heat");
+ return true;
+ //}
+ }
+ }
+ }
+ }
+ //}
@@ -333,47 +375,73 @@ public class TileEntityNHG extends TileEntity implements IInventory
private ItemStack neutrons;
@Override
- public void updateEntity() {
- if(++progress >= maxProgress){
- Utils.LOG_WARNING("Updating Entity "+this.getInventoryName());
- if (items[18] != null){
- if(neutrons == null){
+ public void updateEntity() {
+
+ if(!this.worldObj.isRemote){
+
+ if(progress >= heatCycleProgress){
+ //Utils.LOG_SPECIFIC_WARNING("NFHG", "Updating Entity "+this.getBlockType().getUnlocalizedName(), 376);
+ if (Utils.divideXintoY(heatCycleProgress, maxProgress)){
+ Utils.LOG_SPECIFIC_WARNING("NFHG", "Updating Entity "+this.getBlockType().getUnlocalizedName(), 378);
+ calculateHeat();
+ heatCycleProgress=0;
+ }
+ }
+
+ if(++progress >= maxProgress){
+
+
+ Utils.LOG_SPECIFIC_WARNING("NFHG", "Updating Entity "+this.getBlockType().getUnlocalizedName(), 338);
+ if (items[18] != null){
+ ItemStack checkOutput = getStackInSlot(18);
+ if(neutrons == null){
+ neutrons = new ItemStack(ModItems.itemHeliumBlob, 1);
+ if (checkOutput == null){
+ Utils.LOG_WARNING("ItemStack in Output slot is definitely null, making a new ItemStack.");
+ setInventorySlotContents(18, neutrons);
+ progress = 0;
+ markDirty();
+ }
+ else {
+ checkOutput.stackSize++;
+ Utils.LOG_WARNING("Found an ItemStack to increase the size of. Current size is "+neutrons.stackSize);
+
+ progress = 0;
+ markDirty();
+ }
+ }
+ else if(checkOutput.getItem() == ModItems.itemHeliumBlob && checkOutput.stackSize < 64){
+ checkOutput.stackSize++;
+ Utils.LOG_WARNING("Found an ItemStack to increase size of. Current size is "+checkOutput.stackSize);
+ progress = 0;
+ markDirty();
+ }
+ else if(checkOutput.getItem() == ModItems.itemHeliumBlob && checkOutput.stackSize == 64){
+ Utils.LOG_WARNING("Output stack is full.");
+ progress = 0;
+ markDirty();
+ }
+ }
+ else if (items[18] == null){
+ Utils.LOG_WARNING("ItemStack in Output slot is null");
neutrons = new ItemStack(ModItems.itemHeliumBlob, 1);
ItemStack checkOutput = getStackInSlot(18);
if (checkOutput == null){
Utils.LOG_WARNING("ItemStack in Output slot is definitely null, making a new ItemStack.");
setInventorySlotContents(18, neutrons);
- checkFuelRods();
+ progress = 0;
+ markDirty();
}
else {
Utils.LOG_WARNING("Found an ItemStack to increase the size of.");
- checkOutput.stackSize++;
- checkFuelRods();
+ checkOutput.stackSize++;
+ progress = 0;
+ markDirty();
}
}
- else if(neutrons.getItem() == ModItems.itemHeliumBlob && neutrons.stackSize < 64){
- Utils.LOG_WARNING("Found an ItemStack to increase size of.");
- neutrons.stackSize++;
- checkFuelRods();
- progress = 0;
- }
+ checkFuelRods();
}
- else if (items[18] == null){
- Utils.LOG_WARNING("ItemStack in Output slot is null");
- neutrons = new ItemStack(ModItems.itemHeliumBlob, 1);
- ItemStack checkOutput = getStackInSlot(18);
- if (checkOutput == null){
- Utils.LOG_WARNING("ItemStack in Output slot is definitely null, making a new ItemStack.");
- setInventorySlotContents(18, neutrons);
- checkFuelRods();
- }
- else {
- Utils.LOG_WARNING("Found an ItemStack to increase the size of.");
- checkOutput.stackSize++;
- checkFuelRods();
- }
- }
- markDirty();
+ progress++;
}
}
@@ -381,11 +449,13 @@ public class TileEntityNHG extends TileEntity implements IInventory
{
this.neutrons = ItemStack.loadItemStackFromNBT(tag.getCompoundTag("Neutrons"));
this.progress = tag.getInteger("Progress");
+ this.coreTemp = tag.getFloat("coreTemp");
}
public void writeCustomNBT(NBTTagCompound tag)
{
tag.setInteger("Progress", this.progress);
+ tag.setFloat("coreTemp", this.coreTemp);
if(neutrons != null) {
NBTTagCompound produce = new NBTTagCompound();
neutrons.writeToNBT(produce);
diff --git a/src/Java/miscutil/core/util/Utils.java b/src/Java/miscutil/core/util/Utils.java
index 37a4b5bb56..78ea160bac 100644
--- a/src/Java/miscutil/core/util/Utils.java
+++ b/src/Java/miscutil/core/util/Utils.java
@@ -115,6 +115,13 @@ public class Utils {
FMLLog.severe("MiscUtils: "+s);
}
}
+
+ //Developer Logger
+ public static void LOG_SPECIFIC_WARNING(String whatToLog, String msg, int line){
+ if (CORE.DEBUG){
+ FMLLog.warning("MiscUtils |"+line+"| "+whatToLog+" | "+msg);
+ }
+ }
public static void paintBox(Graphics g, int MinA, int MinB, int MaxA, int MaxB){
g.drawRect (MinA, MinB, MaxA, MaxB);
@@ -196,6 +203,15 @@ public class Utils {
public static double decimalRoundingToWholes(double d) {
return 5*(Math.round(d/5));
}
+
+ //Can be divided by
+ public static boolean divideXintoY(int x, int y){
+ if ((x % y) == 0)
+ {
+ return true;
+ }
+ return false;
+ }
//Converts temps for GT machines, then rounds for ease of use.
public static float celsiusToKelvin(int i){
diff --git a/src/Java/miscutil/core/util/UtilsItems.java b/src/Java/miscutil/core/util/UtilsItems.java
index d939f2a9bc..8587deabd0 100644
--- a/src/Java/miscutil/core/util/UtilsItems.java
+++ b/src/Java/miscutil/core/util/UtilsItems.java
@@ -6,6 +6,8 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import miscutil.core.common.compat.COMPAT_HANDLER;
+import miscutil.core.handler.registration.LateRegistrationHandler;
import miscutil.core.handler.registration.RegistrationHandler;
import miscutil.core.lib.CORE;
import miscutil.core.lib.LoadedMods;
@@ -30,11 +32,7 @@ public class UtilsItems {
Utils.LOG_WARNING("Found: "+em1.toString());
if (em1 != null){
em = em1;
- }
- else {
- em = null;
- return null;
- }
+ }
if (em != null ){
ItemStack returnStack = new ItemStack(em,1);
return returnStack;
@@ -211,7 +209,12 @@ public class UtilsItems {
try {
GameRegistry.addRecipe(new ShapedOreRecipe(resultItem.copy(), (Object[]) validSlots.toArray()));
Utils.LOG_INFO("Success! Added a recipe for "+resultItem.toString());
- RegistrationHandler.recipesSuccess++;
+ if (!COMPAT_HANDLER.areInitItemsLoaded){
+ RegistrationHandler.recipesSuccess++;
+ }
+ else {
+ LateRegistrationHandler.recipesSuccess++;
+ }
}
catch(NullPointerException | ClassCastException k){
k.getMessage();
@@ -219,7 +222,12 @@ public class UtilsItems {
k.printStackTrace();
k.getLocalizedMessage();
Utils.LOG_WARNING("@@@: Invalid Recipe detected for: "+resultItem.getUnlocalizedName());
- RegistrationHandler.recipesFailed++;
+ if (!COMPAT_HANDLER.areInitItemsLoaded){
+ RegistrationHandler.recipesFailed++;
+ }
+ else {
+ LateRegistrationHandler.recipesFailed++;
+ }
}
}
@@ -251,19 +259,22 @@ public class UtilsItems {
Utils.LOG_ERROR("_______");
- String lineOne = a+b+c;
Utils.LOG_ERROR("|"+a+"|"+b+"|"+c+"|");
Utils.LOG_ERROR("_______");
- String lineTwo = d+e+f;
Utils.LOG_ERROR("|"+d+"|"+e+"|"+f+"|");
Utils.LOG_ERROR("_______");
- String lineThree = g+h+i;
Utils.LOG_ERROR("|"+g+"|"+h+"|"+i+"|");
Utils.LOG_ERROR("_______");
- validSlots.add(0, lineOne);
- validSlots.add(1, lineTwo);
- validSlots.add(2, lineThree);
+ validSlots.add(0, a);
+ validSlots.add(1, b);
+ validSlots.add(2, c);
+ validSlots.add(3, d);
+ validSlots.add(4, e);
+ validSlots.add(5, f);
+ validSlots.add(6, g);
+ validSlots.add(7, h);
+ validSlots.add(8, i);
try {
//GameRegistry.addRecipe(new ShapelessOreRecipe(Output, outputAmount), (Object[]) validSlots.toArray());
@@ -393,6 +404,7 @@ public class UtilsItems {
}
public static void recipeBuilder(Object[] array, ItemStack outPut) {
+ Utils.LOG_SPECIFIC_WARNING("object Array - recipeBuilder", "Attempting to build a recipe using an object array as an input, splitting it, then running the normal recipeBuilder() method.", 396);
Object a=null;
Object b=null;
Object c=null;
@@ -402,7 +414,7 @@ public class UtilsItems {
Object g=null;
Object h=null;
Object i=null;
- for(int z =0; z < array.length; z++){
+ for(int z =0; z <= array.length; z++){
array[z].toString();
switch(z)
{
diff --git a/src/Java/miscutil/core/handler/registration/RECIPES_GREGTECH.java b/src/Java/miscutil/core/util/recipe/RECIPES_GREGTECH.java
index 75ea04e1e6..b6f6e778de 100644
--- a/src/Java/miscutil/core/handler/registration/RECIPES_GREGTECH.java
+++ b/src/Java/miscutil/core/util/recipe/RECIPES_GREGTECH.java
@@ -1,4 +1,4 @@
-package miscutil.core.handler.registration;
+package miscutil.core.util.recipe;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
diff --git a/src/Java/miscutil/core/handler/registration/RECIPES_MTWRAPPER.java b/src/Java/miscutil/core/util/recipe/RECIPES_MTWRAPPER.java
index 16ba377b07..e30b3f1c04 100644
--- a/src/Java/miscutil/core/handler/registration/RECIPES_MTWRAPPER.java
+++ b/src/Java/miscutil/core/util/recipe/RECIPES_MTWRAPPER.java
@@ -1,4 +1,4 @@
-package miscutil.core.handler.registration;
+package miscutil.core.util.recipe;
import java.util.ArrayList;
diff --git a/src/Java/miscutil/core/handler/registration/RECIPES_Machines.java b/src/Java/miscutil/core/util/recipe/RECIPES_Machines.java
index b51e41b5ab..9d324e69f0 100644
--- a/src/Java/miscutil/core/handler/registration/RECIPES_Machines.java
+++ b/src/Java/miscutil/core/util/recipe/RECIPES_Machines.java
@@ -1,4 +1,4 @@
-package miscutil.core.handler.registration;
+package miscutil.core.util.recipe;
import gregtech.api.enums.ItemList;
import miscutil.core.lib.LoadedMods;
diff --git a/src/Java/miscutil/core/handler/registration/RECIPES_Shapeless.java b/src/Java/miscutil/core/util/recipe/RECIPES_Shapeless.java
index 34eefffea3..5b09f9a3a0 100644
--- a/src/Java/miscutil/core/handler/registration/RECIPES_Shapeless.java
+++ b/src/Java/miscutil/core/util/recipe/RECIPES_Shapeless.java
@@ -1,4 +1,4 @@
-package miscutil.core.handler.registration;
+package miscutil.core.util.recipe;
import gregtech.api.enums.ItemList;
import miscutil.core.lib.LoadedMods;
diff --git a/src/Java/miscutil/core/handler/registration/RECIPES_Tools.java b/src/Java/miscutil/core/util/recipe/RECIPES_Tools.java
index 3e9d36c0ab..c4db32fc3f 100644
--- a/src/Java/miscutil/core/handler/registration/RECIPES_Tools.java
+++ b/src/Java/miscutil/core/util/recipe/RECIPES_Tools.java
@@ -1,4 +1,4 @@
-package miscutil.core.handler.registration;
+package miscutil.core.util.recipe;
import miscutil.core.item.ModItems;
import miscutil.core.util.UtilsItems;
diff --git a/src/Java/miscutil/core/util/recipe/ShapedRecipeObject.java b/src/Java/miscutil/core/util/recipe/ShapedRecipeObject.java
new file mode 100644
index 0000000000..5a7bd9719f
--- /dev/null
+++ b/src/Java/miscutil/core/util/recipe/ShapedRecipeObject.java
@@ -0,0 +1,43 @@
+package miscutil.core.util.recipe;
+
+import miscutil.core.util.Utils;
+import miscutil.core.util.UtilsItems;
+import net.minecraft.item.ItemStack;
+
+public class ShapedRecipeObject {
+
+ public Object object_A;
+ public Object object_B;
+ public Object object_C;
+ public Object object_D;
+ public Object object_E;
+ public Object object_F;
+ public Object object_G;
+ public Object object_H;
+ public Object object_I;
+ public ItemStack object_OUTPUT;
+
+ public ShapedRecipeObject(
+ Object input_A,Object input_B,Object input_C,
+ Object input_D,Object input_E,Object input_F,
+ Object input_G,Object input_H,Object input_I,
+ Object input_Output){
+ this.object_A = input_A;
+ this.object_B = input_B;
+ this.object_C = input_C;
+ this.object_D = input_D;
+ this.object_E = input_E;
+ this.object_F = input_F;
+ this.object_G = input_G;
+ this.object_H = input_H;
+ this.object_I = input_I;
+ ItemStack output_A = (ItemStack) input_Output;
+ this.object_OUTPUT = output_A;
+ Utils.LOG_SPECIFIC_WARNING("ShapedRecipeObject", "New object created.", 36);
+ }
+
+ public void buildRecipe(){
+ UtilsItems.recipeBuilder(object_A, object_B, object_C, object_D, object_E, object_F, object_G, object_H, object_I, object_OUTPUT);
+ }
+
+}