diff --git a/Plugins/Mineplex.Core/src/mineplex/core/CustomTagFix.java b/Plugins/Mineplex.Core/src/mineplex/core/CustomTagFix.java index fa22e5487..91a9e1600 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/CustomTagFix.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/CustomTagFix.java @@ -67,7 +67,12 @@ public class CustomTagFix extends MiniPlugin final String entityName = spawnPacket.l.getString(10); if (spawnPacket.l.getByte(11) == 1 || spawnPacket.l.getByte(3) == 1) - { + { + if (_entityMap.containsKey(spawnPacket.a)) + { + verifier.bypassProcess(new PacketPlayOutEntityDestroy(_entityMap.get(spawnPacket.a))); + } + int newId = _fakeIdCounter++; sendProtocolPackets(owner, spawnPacket.a, newId, entityName, verifier); _entityMap.put(spawnPacket.a, newId); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java index e8b51bb50..a58e95b06 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java @@ -1172,7 +1172,7 @@ public abstract class Game implements Listener } } } - } + } public Collection> getStatTrackers() { @@ -1199,4 +1199,12 @@ public abstract class Game implements Listener event.setCancelled(true); } } + + public void deRegisterStats() + { + for (StatTracker tracker : _statTrackers) + HandlerList.unregisterAll(tracker); + + _statTrackers.clear(); + } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java index 2b553928e..e1c8f95b8 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java @@ -269,6 +269,7 @@ public class GameManager implements Listener return; event.GetGame().DeregisterKits(); + event.GetGame().deRegisterStats(); } @EventHandler