diff --git a/main/src/main/java/net/citizensnpcs/trait/CommandTrait.java b/main/src/main/java/net/citizensnpcs/trait/CommandTrait.java index 58184c76a..70699c65a 100644 --- a/main/src/main/java/net/citizensnpcs/trait/CommandTrait.java +++ b/main/src/main/java/net/citizensnpcs/trait/CommandTrait.java @@ -704,8 +704,8 @@ public class CommandTrait extends Trait { for (DataKey key : root.getRelative("itemCost").getIntegerSubKeys()) { items.add(ItemStorage.loadItemStack(key)); } - double cost = root.keyExists("cost") ? root.getDouble("cost") : -1; - int exp = root.keyExists("experienceCost") ? root.getInt("experienceCost") : -1; + double cost = root.getDouble("cost", -1); + int exp = root.getInt("experienceCost", -1); return new NPCCommand(Integer.parseInt(root.name()), root.getString("command"), Hand.valueOf(root.getString("hand")), Boolean.parseBoolean(root.getString("player")), Boolean.parseBoolean(root.getString("op")), root.getInt("cooldown"), perms, root.getInt("n"), diff --git a/main/src/main/java/net/citizensnpcs/trait/HologramTrait.java b/main/src/main/java/net/citizensnpcs/trait/HologramTrait.java index a0c6bd872..c39e732d3 100644 --- a/main/src/main/java/net/citizensnpcs/trait/HologramTrait.java +++ b/main/src/main/java/net/citizensnpcs/trait/HologramTrait.java @@ -637,7 +637,7 @@ public class HologramTrait extends Trait { public static class TabCompletions implements CompletionsProvider { @Override public Collection getCompletions(CommandContext args, CommandSender sender, NPC npc) { - if (npc != null && LINE_ARGS.contains(args.getString(1).toLowerCase())) { + if (args.length() > 1 && npc != null && LINE_ARGS.contains(args.getString(1).toLowerCase())) { HologramTrait ht = npc.getOrAddTrait(HologramTrait.class); return IntStream.range(0, ht.getLines().size()).mapToObj(Integer::toString) .collect(Collectors.toList()); diff --git a/main/src/main/java/net/citizensnpcs/trait/LookClose.java b/main/src/main/java/net/citizensnpcs/trait/LookClose.java index b1f6c262c..c89ed93e4 100644 --- a/main/src/main/java/net/citizensnpcs/trait/LookClose.java +++ b/main/src/main/java/net/citizensnpcs/trait/LookClose.java @@ -147,9 +147,9 @@ public class LookClose extends Trait implements Toggleable { Location npcLoc = npc.getStoredLocation(); for (Player player : getNearbyPlayers()) { double dist = player.getLocation().distance(npcLoc); - if (dist > min) { + if (dist > min) continue; - } + min = dist; lookingAt = player; } @@ -172,7 +172,10 @@ public class LookClose extends Trait implements Toggleable { .map(e -> (Player) e).collect(Collectors.toList()) : CitizensAPI.getLocationLookup().getNearbyPlayers(npcLoc, range); for (Player player : nearby) { - if (player == lookingAt || !targetNPCs && CitizensAPI.getNPCRegistry().getNPC(player) != null) + if (player == lookingAt || player.getWorld() != npc.getEntity().getWorld()) + continue; + + if (!targetNPCs && CitizensAPI.getNPCRegistry().getNPC(player) != null) continue; if (isInvisible(player))