From 02d225a269aefdb206050b5b2b83c432191b46cf Mon Sep 17 00:00:00 2001 From: "Luis C.M" Date: Wed, 11 May 2022 22:55:26 -0500 Subject: [PATCH] Fix for the "npc" field in npc events/scripts. --- src/main/java/noppes/npcs/DataScript.java | 6 +++++- src/main/java/noppes/npcs/entity/EntityNPCInterface.java | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/noppes/npcs/DataScript.java b/src/main/java/noppes/npcs/DataScript.java index bd790f8c2..883550e11 100644 --- a/src/main/java/noppes/npcs/DataScript.java +++ b/src/main/java/noppes/npcs/DataScript.java @@ -15,6 +15,7 @@ import noppes.npcs.controllers.ScriptContainer; import noppes.npcs.controllers.IScriptHandler; import noppes.npcs.controllers.ScriptController; import noppes.npcs.entity.EntityNPCInterface; +import noppes.npcs.scripted.entity.ScriptNpc; import noppes.npcs.scripted.event.ScriptEvent; import noppes.npcs.scripted.ScriptWorld; import noppes.npcs.scripted.constants.EntityType; @@ -46,7 +47,10 @@ public class DataScript implements IScriptHandler { } this.npc = npc; - dummyNpc = (ICustomNpc) NpcAPI.Instance().getIEntity(npc); + if (npc.wrappedNPC == null) { + npc.wrappedNPC = new ScriptNpc(this.npc); + } + dummyNpc = npc.wrappedNPC; if(npc.worldObj instanceof WorldServer) dummyWorld = NpcAPI.Instance().getIWorld((WorldServer) npc.worldObj);//new ScriptWorld((WorldServer) npc.worldObj); diff --git a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java index d01fd270a..d576c5e8e 100644 --- a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java +++ b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java @@ -165,7 +165,7 @@ public abstract class EntityNPCInterface extends EntityCreature implements IEnti setSize(1, 1); this.updateTasks(); - if (!this.isRemote()) { + if (!this.isRemote() && this.wrappedNPC == null) { this.wrappedNPC = new ScriptNpc<>(this); } }