From 1e507a1d571240cf4418e5b1b577f8c419adda7f Mon Sep 17 00:00:00 2001 From: fullwall Date: Sat, 21 Mar 2020 15:19:46 +0800 Subject: [PATCH] Use old logic for glowing colour in 1.12, remove unnecessary respawn in /npc rename for non-Player NPCs --- .../net/citizensnpcs/commands/NPCCommands.java | 5 ----- .../java/net/citizensnpcs/npc/CitizensNPC.java | 14 +++++++------- .../net/citizensnpcs/trait/ScoreboardTrait.java | 4 ++++ 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java b/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java index 4ac6196dc..631abb36c 100644 --- a/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java +++ b/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java @@ -1472,12 +1472,7 @@ public class NPCCommands { Messaging.sendErrorTr(sender, Messages.NPC_NAME_TOO_LONG); newName = newName.substring(0, nameLength); } - Location prev = npc.isSpawned() ? npc.getEntity().getLocation() : null; - npc.despawn(DespawnReason.PENDING_RESPAWN); npc.setName(newName); - if (prev != null) { - npc.spawn(prev, SpawnReason.RESPAWN); - } Messaging.sendTr(sender, Messages.NPC_RENAMED, oldName, newName); } diff --git a/main/src/main/java/net/citizensnpcs/npc/CitizensNPC.java b/main/src/main/java/net/citizensnpcs/npc/CitizensNPC.java index 73bdd8ab3..e91909b82 100644 --- a/main/src/main/java/net/citizensnpcs/npc/CitizensNPC.java +++ b/main/src/main/java/net/citizensnpcs/npc/CitizensNPC.java @@ -402,13 +402,13 @@ public class CitizensNPC extends AbstractNPC { EntityType type = isSpawned() ? getEntity().getType() : getTrait(MobType.class).getType(); if (type == null) return; - if (Util.isAlwaysFlyable(type)) { - if (!data().has(NPC.FLYABLE_METADATA)) { - data().setPersistent(NPC.FLYABLE_METADATA, true); - } - if (!hasTrait(Gravity.class)) { - getTrait(Gravity.class).setEnabled(true); - } + if (!Util.isAlwaysFlyable(type)) + return; + if (!data().has(NPC.FLYABLE_METADATA)) { + data().setPersistent(NPC.FLYABLE_METADATA, true); + } + if (!hasTrait(Gravity.class)) { + getTrait(Gravity.class).setEnabled(true); } } diff --git a/main/src/main/java/net/citizensnpcs/trait/ScoreboardTrait.java b/main/src/main/java/net/citizensnpcs/trait/ScoreboardTrait.java index 3cd611b13..d365e220b 100644 --- a/main/src/main/java/net/citizensnpcs/trait/ScoreboardTrait.java +++ b/main/src/main/java/net/citizensnpcs/trait/ScoreboardTrait.java @@ -14,6 +14,7 @@ import net.citizensnpcs.api.persistence.Persist; import net.citizensnpcs.api.trait.Trait; import net.citizensnpcs.api.trait.TraitName; import net.citizensnpcs.util.NMS; +import net.citizensnpcs.util.Util; @TraitName("scoreboardtrait") public class ScoreboardTrait extends Trait { @@ -67,6 +68,9 @@ public class ScoreboardTrait extends Trait { npc.data().remove(NPC.GLOWING_COLOR_METADATA); } if (color != null) { + if (SUPPORT_GLOWING_COLOR && Util.getMinecraftRevision().contains("1_12_R1")) { + SUPPORT_GLOWING_COLOR = false; + } if (SUPPORT_GLOWING_COLOR) { try { if (team.getColor() == null || previousGlowingColor == null