diff --git a/src/main/java/noppes/npcs/EventHooks.java b/src/main/java/noppes/npcs/EventHooks.java index 899ed8380..abf0a84a8 100644 --- a/src/main/java/noppes/npcs/EventHooks.java +++ b/src/main/java/noppes/npcs/EventHooks.java @@ -76,7 +76,10 @@ public class EventHooks { NpcEvent.DialogEvent event = new NpcEvent.DialogEvent(npc.wrappedNPC, player, dialogId, optionId, dialog); ScriptController.Instance.npcScripts.callScript(EnumScriptType.DIALOG, event); - npc.script.callScript(EnumScriptType.DIALOG, "event", new ScriptEventDialog(player,dialogId,optionId,dialog)); + + ScriptEventDialog npcEvent = new ScriptEventDialog(player,dialogId,optionId,dialog); + npc.script.callScript(EnumScriptType.DIALOG, "event", npcEvent, "player", npcEvent.getPlayer(), "dialog", npcEvent.getDialogId(), "option", npcEvent.getOptionId(), "dialogObj", npcEvent.getDialog()); + WrapperNpcAPI.EVENT_BUS.post(event); } @@ -86,7 +89,10 @@ public class EventHooks { NpcEvent.DialogClosedEvent event = new NpcEvent.DialogClosedEvent(npc.wrappedNPC, player, dialogId, optionId, dialog); ScriptController.Instance.npcScripts.callScript(EnumScriptType.DIALOG_CLOSE, event); - npc.script.callScript(EnumScriptType.DIALOG_CLOSE, "event", new ScriptEventDialog(player,dialogId,optionId,dialog)); + + ScriptEventDialog npcEvent = new ScriptEventDialog(player,dialogId,optionId,dialog); + npc.script.callScript(EnumScriptType.DIALOG_CLOSE, "event", npcEvent, "player", npcEvent.getPlayer(), "dialog", npcEvent.getDialogId(), "option", npcEvent.getOptionId(), "dialogObj", npcEvent.getDialog()); + WrapperNpcAPI.EVENT_BUS.post(event); } diff --git a/src/main/java/noppes/npcs/scripted/event/ScriptEventDialog.java b/src/main/java/noppes/npcs/scripted/event/ScriptEventDialog.java index 8e13699de..3e8d3bc2f 100644 --- a/src/main/java/noppes/npcs/scripted/event/ScriptEventDialog.java +++ b/src/main/java/noppes/npcs/scripted/event/ScriptEventDialog.java @@ -6,19 +6,19 @@ import noppes.npcs.scripted.NpcAPI; import noppes.npcs.scripted.interfaces.IPlayer; public class ScriptEventDialog extends ScriptEvent{ - public EntityPlayer player; + public IPlayer player; public int dialog; public int option; public Dialog dialogObj; public ScriptEventDialog(EntityPlayer player, int dialog, int option, Dialog dialogObj){ - this.player = player; + this.player = (IPlayer)NpcAPI.Instance().getIEntity(player); this.dialog = dialog; this.option = option; this.dialogObj = dialogObj; } - public EntityPlayer getPlayer() { + public IPlayer getPlayer() { return player; }