From fc9e85c35afbf68ddb8c8bce860c3a6a83dff336 Mon Sep 17 00:00:00 2001 From: "Luis C.M" <42545778+c0508383@users.noreply.github.com> Date: Wed, 29 Mar 2023 21:23:09 -0500 Subject: [PATCH] Changed implementation of custom items' tick event to be more similar to 1.12's. --- .../java/noppes/npcs/ScriptPlayerEventHandler.java | 10 ++++++++++ src/main/java/noppes/npcs/items/ItemScripted.java | 6 ------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/noppes/npcs/ScriptPlayerEventHandler.java b/src/main/java/noppes/npcs/ScriptPlayerEventHandler.java index 45066d94f..53ea44087 100644 --- a/src/main/java/noppes/npcs/ScriptPlayerEventHandler.java +++ b/src/main/java/noppes/npcs/ScriptPlayerEventHandler.java @@ -14,6 +14,7 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.inventory.ContainerPlayer; +import net.minecraft.item.ItemStack; import net.minecraft.util.ChatComponentTranslation; import net.minecraft.world.WorldServer; import net.minecraftforge.common.ForgeHooks; @@ -32,6 +33,7 @@ import noppes.npcs.controllers.data.PlayerDataScript; import noppes.npcs.controllers.data.Quest; import noppes.npcs.entity.EntityNPCInterface; import noppes.npcs.scripted.NpcAPI; +import noppes.npcs.scripted.item.ScriptCustomItem; public class ScriptPlayerEventHandler { public ScriptPlayerEventHandler() { @@ -48,6 +50,14 @@ public class ScriptPlayerEventHandler { PlayerDataScript handler = ScriptController.Instance.playerScripts; IPlayer scriptPlayer = (IPlayer) NpcAPI.Instance().getIEntity(player); EventHooks.onPlayerTick(handler, scriptPlayer); + + for(int i = 0; i < player.inventory.getSizeInventory(); i++){ + ItemStack item = player.inventory.getStackInSlot(i); + if(item != null && item.getItem() == CustomItems.scripted_item){ + ScriptCustomItem isw = (ScriptCustomItem) NpcAPI.Instance().getIItemStack(item); + EventHooks.onScriptItemUpdate(isw, player); + } + } } if (PlayerDataController.instance != null) { diff --git a/src/main/java/noppes/npcs/items/ItemScripted.java b/src/main/java/noppes/npcs/items/ItemScripted.java index 919e53b3e..11615b804 100644 --- a/src/main/java/noppes/npcs/items/ItemScripted.java +++ b/src/main/java/noppes/npcs/items/ItemScripted.java @@ -34,12 +34,6 @@ public class ItemScripted extends Item implements ItemRenderInterface { setHasSubtypes(true); } - @Override - public void onUpdate(ItemStack stack, World world, Entity player, int p_77663_4_, boolean p_77663_5_) { - IItemStack istack = NpcAPI.Instance().getIItemStack(stack); - EventHooks.onScriptItemUpdate((ScriptCustomItem) istack, (EntityPlayer) player); - } - @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister par1IconRegister){ this.itemIcon = Items.iron_pickaxe.getIconFromDamage(0);