Don't reload locationlookup

This commit is contained in:
fullwall 2023-01-02 00:49:39 +08:00
parent b38a66dbfb
commit 402095c946
2 changed files with 10 additions and 6 deletions

View File

@ -484,9 +484,6 @@ public class Citizens extends JavaPlugin implements CitizensPlugin {
shops.loadFromDisk(); shops.loadFromDisk();
shops.load(); shops.load();
locationLookup.cancel();
locationLookup = new LocationLookup();
locationLookup.runTaskTimer(CitizensAPI.getPlugin(), 0, 5);
Template.shutdown(); Template.shutdown();
getServer().getPluginManager().callEvent(new CitizensReloadEvent()); getServer().getPluginManager().callEvent(new CitizensReloadEvent());

View File

@ -27,6 +27,7 @@ public class ScoreboardTrait extends Trait {
private boolean changed; private boolean changed;
@Persist @Persist
private ChatColor color; private ChatColor color;
private String lastName;
private final PerPlayerMetadata<Boolean> metadata; private final PerPlayerMetadata<Boolean> metadata;
private ChatColor previousGlowingColor; private ChatColor previousGlowingColor;
@Persist @Persist
@ -81,9 +82,7 @@ public class ScoreboardTrait extends Trait {
@Override @Override
public void onDespawn() { public void onDespawn() {
previousGlowingColor = null; previousGlowingColor = null;
if (npc.getEntity() == null) String name = lastName;
return;
String name = npc.getEntity() instanceof Player ? npc.getEntity().getName() : npc.getUniqueId().toString();
String teamName = npc.data().get(NPC.Metadata.SCOREBOARD_FAKE_TEAM_NAME, ""); String teamName = npc.data().get(NPC.Metadata.SCOREBOARD_FAKE_TEAM_NAME, "");
if (teamName.isEmpty()) if (teamName.isEmpty())
return; return;
@ -129,11 +128,19 @@ public class ScoreboardTrait extends Trait {
return; return;
if (!Setting.USE_SCOREBOARD_TEAMS.asBoolean()) { if (!Setting.USE_SCOREBOARD_TEAMS.asBoolean()) {
for (Player player : Bukkit.getOnlinePlayers()) {
metadata.remove(player.getUniqueId(), team.getName());
NMS.sendTeamPacket(player, team, 1);
}
team.unregister(); team.unregister();
npc.data().remove(NPC.Metadata.SCOREBOARD_FAKE_TEAM_NAME); npc.data().remove(NPC.Metadata.SCOREBOARD_FAKE_TEAM_NAME);
return; return;
} }
if (npc.isSpawned()) {
lastName = npc.getEntity() instanceof Player ? npc.getEntity().getName() : npc.getUniqueId().toString();
}
Set<String> newTags = new HashSet<String>(tags); Set<String> newTags = new HashSet<String>(tags);
if (SUPPORT_TAGS) { if (SUPPORT_TAGS) {
try { try {