diff options
author | Alexdoru <57050655+Alexdoru@users.noreply.github.com> | 2024-10-04 02:55:32 +0200 |
---|---|---|
committer | Alexdoru <57050655+Alexdoru@users.noreply.github.com> | 2024-10-04 03:20:21 +0200 |
commit | cfef58d806c72214c3331410de4862853bbe19b5 (patch) | |
tree | 2e506b8ac475d0b4299e1acc61fa8fa0ed210167 | |
parent | ed1a293c56f3fcfe2c4bf8e336aaa8871cd385f8 (diff) | |
download | GT5-Unofficial-cfef58d806c72214c3331410de4862853bbe19b5.tar.gz GT5-Unofficial-cfef58d806c72214c3331410de4862853bbe19b5.tar.bz2 GT5-Unofficial-cfef58d806c72214c3331410de4862853bbe19b5.zip |
make GT++ CommonProxy implement IFuelHandler directly instead of using a separate class
4 files changed, 27 insertions, 56 deletions
diff --git a/src/main/java/gtPlusPlus/core/common/CommonProxy.java b/src/main/java/gtPlusPlus/core/common/CommonProxy.java index 4346fb9e31..a53e088afc 100644 --- a/src/main/java/gtPlusPlus/core/common/CommonProxy.java +++ b/src/main/java/gtPlusPlus/core/common/CommonProxy.java @@ -2,6 +2,7 @@ package gtPlusPlus.core.common; import net.minecraft.entity.monster.EntityBlaze; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; @@ -10,6 +11,7 @@ import net.minecraftforge.event.entity.living.LivingAttackEvent; import baubles.common.container.InventoryBaubles; import baubles.common.lib.PlayerHandler; import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.IFuelHandler; import cpw.mods.fml.common.Optional; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLLoadCompleteEvent; @@ -22,12 +24,12 @@ import cpw.mods.fml.common.registry.GameRegistry; import galaxyspace.core.entity.mob.EntityEvolvedColdBlaze; import gregtech.api.enums.Mods; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.config.ASMConfiguration; import gtPlusPlus.core.creative.AddToCreativeTab; import gtPlusPlus.core.entity.InternalEntityRegistry; import gtPlusPlus.core.handler.BookHandler; -import gtPlusPlus.core.handler.BurnableFuelHandler; import gtPlusPlus.core.handler.CompatHandler; import gtPlusPlus.core.handler.CompatIntermodStaging; import gtPlusPlus.core.handler.GuiHandler; @@ -44,7 +46,7 @@ import gtPlusPlus.core.util.minecraft.EntityUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.xmod.ic2.CustomInternalName; -public class CommonProxy { +public class CommonProxy implements IFuelHandler { public CommonProxy() { // Should Register Gregtech Materials I've Made @@ -100,16 +102,7 @@ public class CommonProxy { } public void postInit(final FMLPostInitializationEvent e) { - - // Make Burnables burnable - if (!GTPPCore.burnables.isEmpty()) { - BurnableFuelHandler fuelHandler = new BurnableFuelHandler(); - GameRegistry.registerFuelHandler(fuelHandler); - Logger.INFO( - "[Fuel Handler] Registering " + fuelHandler.getClass() - .getName()); - } - + GameRegistry.registerFuelHandler(this); // Compat Handling Logger.INFO("Removing recipes from other mods."); CompatHandler.RemoveRecipesFromOtherMods(); @@ -121,7 +114,6 @@ public class CommonProxy { CompatHandler.runQueuedRecipes(); Logger.INFO("Registering custom mob drops."); registerCustomMobDrops(); - // Moved last, to prevent recipes being generated post initialisation. Logger.INFO("Loading Gregtech API recipes."); CompatHandler.startLoadingGregAPIBasedRecipes(); @@ -207,6 +199,26 @@ public class CommonProxy { return ctx.getServerHandler().playerEntity; } + @Override + public int getBurnTime(ItemStack aStack) { + for (Pair<Integer, ItemStack> temp : GTPPCore.burnables) { + int aStackID = Item.getIdFromItem(aStack.getItem()); + int burnID = Item.getIdFromItem( + temp.getValue() + .getItem()); + if (aStackID == burnID) { + int burn = temp.getKey(); + ItemStack fuel = temp.getValue(); + ItemStack testItem = ItemUtils.getSimpleStack(fuel, aStack.stackSize); + + if (aStack.isItemEqual(testItem)) { + return burn; + } + } + } + return 0; + } + @Optional.Method(modid = Mods.Names.BAUBLES) @SubscribeEvent public void onPlayerAttacked(LivingAttackEvent event) { diff --git a/src/main/java/gtPlusPlus/core/handler/BurnableFuelHandler.java b/src/main/java/gtPlusPlus/core/handler/BurnableFuelHandler.java deleted file mode 100644 index 9228643bfc..0000000000 --- a/src/main/java/gtPlusPlus/core/handler/BurnableFuelHandler.java +++ /dev/null @@ -1,35 +0,0 @@ -package gtPlusPlus.core.handler; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -import cpw.mods.fml.common.IFuelHandler; -import gtPlusPlus.api.objects.data.Pair; -import gtPlusPlus.core.lib.GTPPCore; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class BurnableFuelHandler implements IFuelHandler { - - @Override - public int getBurnTime(ItemStack aStack) { - // Iterate over my burnables. - for (Pair<Integer, ItemStack> temp : GTPPCore.burnables) { - int aStackID = Item.getIdFromItem(aStack.getItem()); - int burnID = Item.getIdFromItem( - temp.getValue() - .getItem()); - if (aStackID == burnID) { - int burn = temp.getKey(); - ItemStack fuel = temp.getValue(); - ItemStack testItem = ItemUtils.getSimpleStack(fuel, aStack.stackSize); - - if (aStack.isItemEqual(testItem)) { - return burn; - } - } - } - - // If it's not my fuel, return 0. - return 0; - } -} diff --git a/src/main/java/gtPlusPlus/core/item/base/BaseItemBurnable.java b/src/main/java/gtPlusPlus/core/item/base/BaseItemBurnable.java index f79b20ccb9..846ef3cb63 100644 --- a/src/main/java/gtPlusPlus/core/item/base/BaseItemBurnable.java +++ b/src/main/java/gtPlusPlus/core/item/base/BaseItemBurnable.java @@ -3,8 +3,6 @@ package gtPlusPlus.core.item.base; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemStack; -import gtPlusPlus.api.objects.data.Pair; -import gtPlusPlus.core.lib.GTPPCore; import gtPlusPlus.core.util.minecraft.ItemUtils; public class BaseItemBurnable extends CoreItem { @@ -19,11 +17,7 @@ public class BaseItemBurnable extends CoreItem { if (oredictName != null && !oredictName.isEmpty()) { registerOrdictionary(oredictName); } - registerFuel(burnTime); - } - - public void registerFuel(int burn) { - GTPPCore.burnables.add(new Pair<>(burn, ItemUtils.getSimpleStack(this, 1))); + ItemUtils.registerFuel(ItemUtils.getSimpleStack(this, 1), burnTime); } public final void registerOrdictionary(String name) { diff --git a/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java b/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java index 5b2065558d..83e3b991a0 100644 --- a/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java +++ b/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java @@ -649,7 +649,7 @@ public class ItemUtils { returnValues[i] = oreDictList.get(i); } } - return returnValues.length > 0 ? returnValues : null; + return returnValues; } else { return null; } |