From 8a43b08671fb13945e3c0802aca97bbf1460b07c Mon Sep 17 00:00:00 2001 From: Timo Ley Date: Sat, 3 Apr 2021 22:44:08 +0200 Subject: [PATCH] Add EventHandler --- .../java/ley/modding/dartcraft/Dartcraft.java | 4 +++- .../modding/dartcraft/event/EventHandler.java | 24 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 src/main/java/ley/modding/dartcraft/event/EventHandler.java diff --git a/src/main/java/ley/modding/dartcraft/Dartcraft.java b/src/main/java/ley/modding/dartcraft/Dartcraft.java index e4f17e1..f9f8328 100644 --- a/src/main/java/ley/modding/dartcraft/Dartcraft.java +++ b/src/main/java/ley/modding/dartcraft/Dartcraft.java @@ -7,6 +7,7 @@ import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import ley.modding.dartcraft.block.BlockPowerOre; import ley.modding.dartcraft.block.Blocks; +import ley.modding.dartcraft.event.EventHandler; import ley.modding.dartcraft.internal.Registry; import ley.modding.dartcraft.item.BaseItem; import ley.modding.dartcraft.item.Items; @@ -15,6 +16,7 @@ import ley.modding.dartcraft.proxy.CommonProxy; import ley.modding.dartcraft.tab.DartcraftTab; import ley.modding.tileralib.api.IRegistry; import net.minecraft.creativetab.CreativeTabs; +import net.minecraftforge.common.MinecraftForge; @Mod(modid = Dartcraft.MODID, name = Dartcraft.MODNAME, version = Dartcraft.VERSION) public class Dartcraft { @@ -33,7 +35,7 @@ public class Dartcraft { @Mod.EventHandler public void preInit(FMLPreInitializationEvent e) { - + MinecraftForge.EVENT_BUS.register(new EventHandler()); } @Mod.EventHandler diff --git a/src/main/java/ley/modding/dartcraft/event/EventHandler.java b/src/main/java/ley/modding/dartcraft/event/EventHandler.java new file mode 100644 index 0000000..f0475d4 --- /dev/null +++ b/src/main/java/ley/modding/dartcraft/event/EventHandler.java @@ -0,0 +1,24 @@ +package ley.modding.dartcraft.event; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import ley.modding.dartcraft.Dartcraft; +import ley.modding.dartcraft.api.IBreakable; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent; + +public class EventHandler { + + @SubscribeEvent + public void onItemDestroyed(PlayerDestroyItemEvent event) { + ItemStack stack = event.original; + EntityPlayer player = event.entityPlayer; + if (stack != null && stack.getItem() instanceof IBreakable) { + ItemStack ret = ((IBreakable)stack.getItem()).itemReturned(); + if (Dartcraft.proxy.isSimulating(player.worldObj)) { + player.inventory.addItemStackToInventory(ret); + } + } + } + +}