From 993127ed85e22bc297aa34bdae51b48abdb2d50d Mon Sep 17 00:00:00 2001 From: Pyrbu Date: Thu, 14 Dec 2023 12:00:14 +0100 Subject: [PATCH] make npc move command work across worlds --- .../main/java/lol/pyr/znpcsplus/commands/MoveCommand.java | 1 + plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcImpl.java | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/commands/MoveCommand.java b/plugin/src/main/java/lol/pyr/znpcsplus/commands/MoveCommand.java index 3376801..dc87abb 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/commands/MoveCommand.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/commands/MoveCommand.java @@ -27,6 +27,7 @@ public class MoveCommand implements CommandHandler { Player player = context.ensureSenderIsPlayer(); NpcImpl npc = context.parse(NpcEntryImpl.class).getNpc(); npc.setLocation(new NpcLocation(player.getLocation())); + if (!npc.getWorld().equals(player.getWorld())) npc.setWorld(player.getWorld()); context.send(Component.text("NPC moved to your current location.", NamedTextColor.GREEN)); } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcImpl.java b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcImpl.java index 93672e7..445fc1f 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcImpl.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcImpl.java @@ -24,7 +24,7 @@ import java.util.stream.Collectors; public class NpcImpl extends Viewable implements Npc { private final PacketFactory packetFactory; - private final String worldName; + private String worldName; private PacketEntity entity; private NpcLocation location; private NpcTypeImpl type; @@ -196,4 +196,9 @@ public class NpcImpl extends Viewable implements Npc { public int getPacketEntityId() { return entity.getEntityId(); } + + public void setWorld(World world) { + delete(); + this.worldName = world.getName(); + } }