From 29c3c4b22bb5b8103ec173f281a071509599b2bf Mon Sep 17 00:00:00 2001 From: D3v1s0m <49519439+D3v1s0m@users.noreply.github.com> Date: Mon, 10 Jul 2023 18:56:57 +0530 Subject: [PATCH] fixed null properties when adding, fixes tab complete --- .../lol/pyr/znpcsplus/npc/NpcTypeImpl.java | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeImpl.java b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeImpl.java index dec2956..96e71bf 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeImpl.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeImpl.java @@ -67,7 +67,10 @@ public class NpcTypeImpl implements NpcType { } public Builder addProperties(String... names) { - for (String name : names) allowedProperties.add(propertyRegistry.getByName(name)); + for (String name : names) { + if (propertyRegistry.getByName(name) != null) continue; + allowedProperties.add(propertyRegistry.getByName(name)); + } return this; } @@ -77,21 +80,14 @@ public class NpcTypeImpl implements NpcType { } public NpcTypeImpl build() { - allowedProperties.add(propertyRegistry.getByName("fire")); - allowedProperties.add(propertyRegistry.getByName("invisible")); - allowedProperties.add(propertyRegistry.getByName("silent")); - allowedProperties.add(propertyRegistry.getByName("look")); - allowedProperties.add(propertyRegistry.getByName("skin_cape")); - allowedProperties.add(propertyRegistry.getByName("using_item")); - allowedProperties.add(propertyRegistry.getByName("potion_color")); - allowedProperties.add(propertyRegistry.getByName("potion_ambient")); - allowedProperties.add(propertyRegistry.getByName("dinnerbone")); + addProperties("fire", "invisible", "silent", "look", "skin_cape", + "using_item", "potion_color", "potion_ambient", "dinnerbone"); if (PacketEvents.getAPI().getServerManager().getVersion().isNewerThanOrEquals(ServerVersion.V_1_9)) - allowedProperties.add(propertyRegistry.getByName("glow")); + addProperties("glow"); if (PacketEvents.getAPI().getServerManager().getVersion().isNewerThanOrEquals(ServerVersion.V_1_14)) - allowedProperties.add(propertyRegistry.getByName("pose")); + addProperties("pose"); if (PacketEvents.getAPI().getServerManager().getVersion().isNewerThanOrEquals(ServerVersion.V_1_17)) - allowedProperties.add(propertyRegistry.getByName("shaking")); + addProperties("shaking"); return new NpcTypeImpl(name, type, hologramOffset, new HashSet<>(allowedProperties)); } }