aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexdoru <57050655+Alexdoru@users.noreply.github.com>2024-10-04 02:55:32 +0200
committerAlexdoru <57050655+Alexdoru@users.noreply.github.com>2024-10-04 03:20:21 +0200
commitcfef58d806c72214c3331410de4862853bbe19b5 (patch)
tree2e506b8ac475d0b4299e1acc61fa8fa0ed210167
parented1a293c56f3fcfe2c4bf8e336aaa8871cd385f8 (diff)
downloadGT5-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
-rw-r--r--src/main/java/gtPlusPlus/core/common/CommonProxy.java38
-rw-r--r--src/main/java/gtPlusPlus/core/handler/BurnableFuelHandler.java35
-rw-r--r--src/main/java/gtPlusPlus/core/item/base/BaseItemBurnable.java8
-rw-r--r--src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java2
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;
}