From a29058d696c610945dbbc4dc3b86330a32e9e0d0 Mon Sep 17 00:00:00 2001 From: luisc Date: Fri, 22 Oct 2021 02:22:45 -0500 Subject: [PATCH] Fixed timers on the server-side. --- .../noppes/npcs/ScriptPlayerEventHandler.java | 7 ++++--- .../noppes/npcs/entity/data/DataTimers.java | 17 ----------------- .../npcs/scripted/entity/ScriptPlayer.java | 10 +--------- 3 files changed, 5 insertions(+), 29 deletions(-) diff --git a/src/main/java/noppes/npcs/ScriptPlayerEventHandler.java b/src/main/java/noppes/npcs/ScriptPlayerEventHandler.java index 50789cf1c..ce0e59c35 100644 --- a/src/main/java/noppes/npcs/ScriptPlayerEventHandler.java +++ b/src/main/java/noppes/npcs/ScriptPlayerEventHandler.java @@ -63,11 +63,12 @@ public class ScriptPlayerEventHandler { if(event.side == Side.SERVER && event.phase == TickEvent.Phase.START) { EntityPlayer player = event.player; PlayerData data = PlayerData.get(player); - //if(player.ticksExisted % 10 == 0) { EventHooks.onPlayerTick(data.scriptData); - //} - data.timers.update(); + if(PlayerDataController.instance != null) { + PlayerDataController.instance.getPlayerData(player).scriptData = data.scriptData; + PlayerDataController.instance.getPlayerData(player).timers.update(); + } } } diff --git a/src/main/java/noppes/npcs/entity/data/DataTimers.java b/src/main/java/noppes/npcs/entity/data/DataTimers.java index d51012961..42b05f298 100644 --- a/src/main/java/noppes/npcs/entity/data/DataTimers.java +++ b/src/main/java/noppes/npcs/entity/data/DataTimers.java @@ -25,29 +25,16 @@ public class DataTimers implements ITimers { this.parent = parent; } - private void saveNbt() { - if(parent instanceof PlayerData) { - PlayerData playerData = (PlayerData) parent; - playerData.saveNBTData(null); - } - else if(parent instanceof PlayerData) { - PlayerData playerData = (PlayerData) parent; - playerData.saveNBTData(null); - } - } - public void start(int id, int ticks, boolean repeat) { if(this.timers.containsKey(Integer.valueOf(id))) { throw new CustomNPCsException("There is already a timer with id: " + id, new Object[0]); } else { this.timers.put(Integer.valueOf(id), new DataTimers.Timer(id, ticks, repeat)); - saveNbt(); } } public void forceStart(int id, int ticks, boolean repeat) { this.timers.put(Integer.valueOf(id), new DataTimers.Timer(id, ticks, repeat)); - saveNbt(); } public boolean has(int id) { @@ -56,7 +43,6 @@ public class DataTimers implements ITimers { public boolean stop(int id) { boolean remove = this.timers.remove(Integer.valueOf(id)) != null; - saveNbt(); return remove; } @@ -66,7 +52,6 @@ public class DataTimers implements ITimers { throw new CustomNPCsException("There is no timer with id: " + id, new Object[0]); } else { timer.ticks = 0; - saveNbt(); } } @@ -108,12 +93,10 @@ public class DataTimers implements ITimers { DataTimers.Timer timer = (DataTimers.Timer)var1.next(); timer.update(); } - saveNbt(); } public void clear() { this.timers = new HashMap(); - saveNbt(); } class Timer { diff --git a/src/main/java/noppes/npcs/scripted/entity/ScriptPlayer.java b/src/main/java/noppes/npcs/scripted/entity/ScriptPlayer.java index 08934d55d..7c73b9c55 100644 --- a/src/main/java/noppes/npcs/scripted/entity/ScriptPlayer.java +++ b/src/main/java/noppes/npcs/scripted/entity/ScriptPlayer.java @@ -354,15 +354,7 @@ public class ScriptPlayer extends ScriptLivingBase return new ScriptPixelmonPlayerData(player); } - private PlayerData getData() { - if (this.data == null) { - this.data = PlayerData.get(player); - } - - return this.data; - } - public ITimers getTimers() { - return this.getData().timers; + return PlayerDataController.instance.getPlayerData(player).timers; } }