Skip to content

Commit 467b7fe

Browse files
committed
fancynpcs: remove the Player UUID from the Npc maps instead setting it to default value
also don't set the default value on Join remove code comments in favor of JDoc for method
1 parent 6f4ad03 commit 467b7fe

File tree

2 files changed

+11
-17
lines changed

2 files changed

+11
-17
lines changed

plugins/fancynpcs/src/main/java/de/oliver/fancynpcs/listeners/PlayerJoinListener.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import com.destroystokyo.paper.profile.ProfileProperty;
44
import de.oliver.fancynpcs.FancyNpcs;
5-
import de.oliver.fancynpcs.api.Npc;
65
import de.oliver.fancynpcs.api.skins.SkinData;
76
import de.oliver.fancynpcs.v1_20.PacketReader_1_20;
87
import org.bukkit.Bukkit;
@@ -19,13 +18,6 @@ public void onPlayerJoin(PlayerJoinEvent event) {
1918
PacketReader_1_20.inject(event.getPlayer());
2019
}
2120

22-
for (Npc npc : FancyNpcs.getInstance().getNpcManagerImpl().getAllNpcs()) {
23-
npc.getIsVisibleForPlayer().put(event.getPlayer().getUniqueId(), false);
24-
npc.getIsForcedHidden().put(event.getPlayer().getUniqueId(), false);
25-
npc.getIsLookingAtPlayer().put(event.getPlayer().getUniqueId(), false);
26-
npc.getIsTeamCreated().put(event.getPlayer().getUniqueId(), false);
27-
}
28-
2921
// don't spawn the npc for player if he just joined
3022
FancyNpcs.getInstance().getVisibilityTracker().addJoinDelayPlayer(event.getPlayer().getUniqueId());
3123
FancyNpcs.getInstance().getScheduler().runTaskLater(null, 20L * 2, () -> FancyNpcs.getInstance().getVisibilityTracker().removeJoinDelayPlayer(event.getPlayer().getUniqueId()));

plugins/fancynpcs/src/main/java/de/oliver/fancynpcs/listeners/PlayerQuitListener.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,26 @@
33
import de.oliver.fancynpcs.FancyNpcs;
44
import de.oliver.fancynpcs.api.Npc;
55
import de.oliver.fancynpcs.api.events.NpcStopLookingEvent;
6-
import org.bukkit.Bukkit;
76
import org.bukkit.event.EventHandler;
87
import org.bukkit.event.Listener;
98
import org.bukkit.event.player.PlayerQuitEvent;
109

10+
import java.util.UUID;
11+
1112
public class PlayerQuitListener implements Listener {
1213

14+
/**
15+
* Removes the player UUID from the Npcs states, except last interaction.
16+
*/
1317
@EventHandler
1418
public void onPlayerQuit(PlayerQuitEvent event) {
19+
UUID uuid = event.getPlayer().getUniqueId();
1520
for (Npc npc : FancyNpcs.getInstance().getNpcManagerImpl().getAllNpcs()) {
16-
// Changing isLookingAtPlayer state (of event player) to false.
17-
// This allows the NpcStartLookingEvent to be called when player joins back. (Because otherwise, state would remain true and no change would be detected)
18-
npc.getIsVisibleForPlayer().put(event.getPlayer().getUniqueId(), false);
19-
npc.getIsForcedHidden().put(event.getPlayer().getUniqueId(), false);
20-
npc.getIsLookingAtPlayer().put(event.getPlayer().getUniqueId(), false);
21-
npc.getIsTeamCreated().put(event.getPlayer().getUniqueId(), false);
22-
// Calling NpcStopLookingEvent.
23-
Bukkit.getPluginManager().callEvent(new NpcStopLookingEvent(npc, event.getPlayer()));
21+
npc.getIsVisibleForPlayer().remove(uuid);
22+
npc.getIsForcedHidden().remove(uuid);
23+
npc.getIsLookingAtPlayer().remove(uuid);
24+
npc.getIsTeamCreated().remove(uuid);
25+
new NpcStopLookingEvent(npc, event.getPlayer()).callEvent();
2426
}
2527
}
2628
}

0 commit comments

Comments
 (0)