From 95ab68887758d74383701c736f998eb7421c7826 Mon Sep 17 00:00:00 2001 From: fullwall Date: Sun, 1 Mar 2020 15:29:47 +0800 Subject: [PATCH] Fix shulker color setting --- .../net/citizensnpcs/npc/CitizensNPC.java | 8 +--- .../citizensnpcs/npc/skin/TabListRemover.java | 3 +- .../citizensnpcs/trait/ScoreboardTrait.java | 4 +- .../trait/versioned/ShulkerTrait.java | 2 +- .../main/java/net/citizensnpcs/util/NMS.java | 5 -- .../java/net/citizensnpcs/util/NMSBridge.java | 3 -- .../nms/v1_10_R1/util/NMSImpl.java | 4 -- .../nms/v1_11_R1/util/NMSImpl.java | 4 -- .../nms/v1_12_R1/util/NMSImpl.java | 4 -- .../nms/v1_13_R2/util/NMSImpl.java | 4 -- .../nms/v1_14_R1/util/NMSImpl.java | 4 -- .../nms/v1_15_R1/entity/EntityHumanNPC.java | 46 +++++++++---------- .../nms/v1_15_R1/util/NMSImpl.java | 4 -- .../nms/v1_8_R3/util/NMSImpl.java | 5 -- 14 files changed, 29 insertions(+), 71 deletions(-) diff --git a/main/src/main/java/net/citizensnpcs/npc/CitizensNPC.java b/main/src/main/java/net/citizensnpcs/npc/CitizensNPC.java index f90a528a1..9a23b806c 100644 --- a/main/src/main/java/net/citizensnpcs/npc/CitizensNPC.java +++ b/main/src/main/java/net/citizensnpcs/npc/CitizensNPC.java @@ -346,11 +346,8 @@ public class CitizensNPC extends AbstractNPC { updateCustomName(); } String nameplateVisible = data(). get(NPC.NAMEPLATE_VISIBLE_METADATA, true).toString(); - if (nameplateVisible.equals("hover")) { - ((LivingEntity) getEntity()).setCustomNameVisible(false); - } else { - ((LivingEntity) getEntity()).setCustomNameVisible(Boolean.parseBoolean(nameplateVisible)); - } + ((LivingEntity) getEntity()).setCustomNameVisible(Boolean.parseBoolean(nameplateVisible)); + if (data().get(NPC.DEFAULT_PROTECTED_METADATA, true)) { NMS.setKnockbackResistance((LivingEntity) getEntity(), 1D); } else { @@ -408,7 +405,6 @@ public class CitizensNPC extends AbstractNPC { } private static final SetMultimap CHUNK_LOADERS = HashMultimap.create(); - private static final String NPC_METADATA_MARKER = "NPC"; private static boolean SUPPORT_GLOWING = true; private static boolean SUPPORT_SILENT = true; diff --git a/main/src/main/java/net/citizensnpcs/npc/skin/TabListRemover.java b/main/src/main/java/net/citizensnpcs/npc/skin/TabListRemover.java index 77a661ab8..277110392 100644 --- a/main/src/main/java/net/citizensnpcs/npc/skin/TabListRemover.java +++ b/main/src/main/java/net/citizensnpcs/npc/skin/TabListRemover.java @@ -150,8 +150,9 @@ public class TabListRemover { entity.getSkinTracker().notifyRemovePacketSent(entry.player.getUniqueId()); } - if (sendAll) + if (sendAll) { entryIterator.remove(); + } } } } diff --git a/main/src/main/java/net/citizensnpcs/trait/ScoreboardTrait.java b/main/src/main/java/net/citizensnpcs/trait/ScoreboardTrait.java index 1d6ccc237..590e01507 100644 --- a/main/src/main/java/net/citizensnpcs/trait/ScoreboardTrait.java +++ b/main/src/main/java/net/citizensnpcs/trait/ScoreboardTrait.java @@ -48,9 +48,7 @@ public class ScoreboardTrait extends Trait { } } - if (SUPPORT_TEAM_SETOPTION) - - { + if (SUPPORT_TEAM_SETOPTION) { try { team.setOption(Option.NAME_TAG_VISIBILITY, nameVisibility ? OptionStatus.ALWAYS : OptionStatus.NEVER); } catch (NoSuchMethodError e) { diff --git a/main/src/main/java/net/citizensnpcs/trait/versioned/ShulkerTrait.java b/main/src/main/java/net/citizensnpcs/trait/versioned/ShulkerTrait.java index 9077d1366..eeb7a4eed 100644 --- a/main/src/main/java/net/citizensnpcs/trait/versioned/ShulkerTrait.java +++ b/main/src/main/java/net/citizensnpcs/trait/versioned/ShulkerTrait.java @@ -35,7 +35,7 @@ public class ShulkerTrait extends Trait { NMS.setPeekShulker(npc.getEntity(), peek); lastPeekSet = peek; } - NMS.setShulkerColor((Shulker) npc.getEntity(), color); + ((Shulker) npc.getEntity()).setColor(color); } } diff --git a/main/src/main/java/net/citizensnpcs/util/NMS.java b/main/src/main/java/net/citizensnpcs/util/NMS.java index e155a5acb..1703747b2 100644 --- a/main/src/main/java/net/citizensnpcs/util/NMS.java +++ b/main/src/main/java/net/citizensnpcs/util/NMS.java @@ -8,7 +8,6 @@ import java.lang.reflect.Modifier; import java.util.Collection; import java.util.List; -import org.bukkit.DyeColor; import org.bukkit.Location; import org.bukkit.block.Block; import org.bukkit.entity.Entity; @@ -402,10 +401,6 @@ public class NMS { BRIDGE.setShouldJump(entity); } - public static void setShulkerColor(Entity entity, DyeColor color) { - BRIDGE.setShulkerColor(entity, color); - } - public static void setSitting(Ocelot ocelot, boolean sitting) { BRIDGE.setSitting(ocelot, sitting); } diff --git a/main/src/main/java/net/citizensnpcs/util/NMSBridge.java b/main/src/main/java/net/citizensnpcs/util/NMSBridge.java index 6508a3564..0f3559b81 100644 --- a/main/src/main/java/net/citizensnpcs/util/NMSBridge.java +++ b/main/src/main/java/net/citizensnpcs/util/NMSBridge.java @@ -3,7 +3,6 @@ package net.citizensnpcs.util; import java.util.Collection; import java.util.List; -import org.bukkit.DyeColor; import org.bukkit.Location; import org.bukkit.World; import org.bukkit.block.Block; @@ -135,8 +134,6 @@ public interface NMSBridge { public void setShouldJump(Entity entity); - public void setShulkerColor(Entity entity, DyeColor color); - public void setSitting(Ocelot ocelot, boolean sitting); public void setSitting(Tameable tameable, boolean sitting); diff --git a/v1_10_R1/src/main/java/net/citizensnpcs/nms/v1_10_R1/util/NMSImpl.java b/v1_10_R1/src/main/java/net/citizensnpcs/nms/v1_10_R1/util/NMSImpl.java index a290961a9..0c2304c64 100644 --- a/v1_10_R1/src/main/java/net/citizensnpcs/nms/v1_10_R1/util/NMSImpl.java +++ b/v1_10_R1/src/main/java/net/citizensnpcs/nms/v1_10_R1/util/NMSImpl.java @@ -920,10 +920,6 @@ public class NMSImpl implements NMSBridge { } } - @Override - public void setShulkerColor(org.bukkit.entity.Entity entity, DyeColor color) { - } - @Override public void setSitting(Ocelot ocelot, boolean sitting) { setSitting((Tameable) ocelot, sitting); diff --git a/v1_11_R1/src/main/java/net/citizensnpcs/nms/v1_11_R1/util/NMSImpl.java b/v1_11_R1/src/main/java/net/citizensnpcs/nms/v1_11_R1/util/NMSImpl.java index f08bd2097..486c83dc8 100644 --- a/v1_11_R1/src/main/java/net/citizensnpcs/nms/v1_11_R1/util/NMSImpl.java +++ b/v1_11_R1/src/main/java/net/citizensnpcs/nms/v1_11_R1/util/NMSImpl.java @@ -979,10 +979,6 @@ public class NMSImpl implements NMSBridge { } } - @Override - public void setShulkerColor(org.bukkit.entity.Entity entity, DyeColor color) { - } - @Override public void setSitting(Ocelot ocelot, boolean sitting) { setSitting((Tameable) ocelot, sitting); diff --git a/v1_12_R1/src/main/java/net/citizensnpcs/nms/v1_12_R1/util/NMSImpl.java b/v1_12_R1/src/main/java/net/citizensnpcs/nms/v1_12_R1/util/NMSImpl.java index 972649d27..4efc4d686 100644 --- a/v1_12_R1/src/main/java/net/citizensnpcs/nms/v1_12_R1/util/NMSImpl.java +++ b/v1_12_R1/src/main/java/net/citizensnpcs/nms/v1_12_R1/util/NMSImpl.java @@ -991,10 +991,6 @@ public class NMSImpl implements NMSBridge { } } - @Override - public void setShulkerColor(org.bukkit.entity.Entity entity, DyeColor color) { - } - @Override public void setSitting(Ocelot ocelot, boolean sitting) { setSitting((Tameable) ocelot, sitting); diff --git a/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/util/NMSImpl.java b/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/util/NMSImpl.java index d2407156d..03b698a69 100644 --- a/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/util/NMSImpl.java +++ b/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/util/NMSImpl.java @@ -1026,10 +1026,6 @@ public class NMSImpl implements NMSBridge { } } - @Override - public void setShulkerColor(org.bukkit.entity.Entity entity, DyeColor color) { - } - @Override public void setSitting(Ocelot ocelot, boolean sitting) { setSitting((Tameable) ocelot, sitting); diff --git a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/NMSImpl.java b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/NMSImpl.java index d40286d02..56835953b 100644 --- a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/NMSImpl.java +++ b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/NMSImpl.java @@ -1073,10 +1073,6 @@ public class NMSImpl implements NMSBridge { } } - @Override - public void setShulkerColor(org.bukkit.entity.Entity entity, DyeColor color) { - } - @Override public void setSitting(Ocelot ocelot, boolean sitting) { // sitting removed diff --git a/v1_15_R1/src/main/java/net/citizensnpcs/nms/v1_15_R1/entity/EntityHumanNPC.java b/v1_15_R1/src/main/java/net/citizensnpcs/nms/v1_15_R1/entity/EntityHumanNPC.java index 688bfefd3..f99c1250a 100644 --- a/v1_15_R1/src/main/java/net/citizensnpcs/nms/v1_15_R1/entity/EntityHumanNPC.java +++ b/v1_15_R1/src/main/java/net/citizensnpcs/nms/v1_15_R1/entity/EntityHumanNPC.java @@ -197,29 +197,6 @@ public class EntityHumanNPC extends EntityPlayer implements NPCHolder, Skinnable } } - @Override - public void h(double x, double y, double z) { - if (npc == null) { - super.h(x, y, z); - return; - } - if (NPCPushEvent.getHandlerList().getRegisteredListeners().length == 0) { - if (!npc.data().get(NPC.DEFAULT_PROTECTED_METADATA, true)) { - super.h(x, y, z); - } - return; - } - Vector vector = new Vector(x, y, z); - NPCPushEvent event = Util.callPushEvent(npc, vector); - if (!event.isCancelled()) { - vector = event.getCollisionVector(); - super.h(vector.getX(), vector.getY(), vector.getZ()); - } - // when another entity collides, this method is called to push the - // NPC so we prevent it from doing anything if the event is - // cancelled. - } - @Override public CraftPlayer getBukkitEntity() { if (npc != null && !(super.getBukkitEntity() instanceof NPCHolder)) { @@ -269,6 +246,29 @@ public class EntityHumanNPC extends EntityPlayer implements NPCHolder, Skinnable return skinTracker; } + @Override + public void h(double x, double y, double z) { + if (npc == null) { + super.h(x, y, z); + return; + } + if (NPCPushEvent.getHandlerList().getRegisteredListeners().length == 0) { + if (!npc.data().get(NPC.DEFAULT_PROTECTED_METADATA, true)) { + super.h(x, y, z); + } + return; + } + Vector vector = new Vector(x, y, z); + NPCPushEvent event = Util.callPushEvent(npc, vector); + if (!event.isCancelled()) { + vector = event.getCollisionVector(); + super.h(vector.getX(), vector.getY(), vector.getZ()); + } + // when another entity collides, this method is called to push the + // NPC so we prevent it from doing anything if the event is + // cancelled. + } + private void initialise(MinecraftServer minecraftServer) { Socket socket = new EmptySocket(); NetworkManager conn = null; diff --git a/v1_15_R1/src/main/java/net/citizensnpcs/nms/v1_15_R1/util/NMSImpl.java b/v1_15_R1/src/main/java/net/citizensnpcs/nms/v1_15_R1/util/NMSImpl.java index b17f454c9..a3f26b074 100644 --- a/v1_15_R1/src/main/java/net/citizensnpcs/nms/v1_15_R1/util/NMSImpl.java +++ b/v1_15_R1/src/main/java/net/citizensnpcs/nms/v1_15_R1/util/NMSImpl.java @@ -1079,10 +1079,6 @@ public class NMSImpl implements NMSBridge { } } - @Override - public void setShulkerColor(org.bukkit.entity.Entity entity, DyeColor color) { - } - @Override public void setSitting(Ocelot ocelot, boolean sitting) { // sitting removed diff --git a/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/util/NMSImpl.java b/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/util/NMSImpl.java index 3f642be88..8295c9e82 100644 --- a/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/util/NMSImpl.java +++ b/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/util/NMSImpl.java @@ -16,7 +16,6 @@ import java.util.Random; import java.util.Set; import org.bukkit.Bukkit; -import org.bukkit.DyeColor; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.Sound; @@ -858,10 +857,6 @@ public class NMSImpl implements NMSBridge { } } - @Override - public void setShulkerColor(org.bukkit.entity.Entity entity, DyeColor color) { - } - @Override public void setSitting(Ocelot ocelot, boolean sitting) { setSitting((Tameable) ocelot, sitting);