Skip to content

Commit 8559121

Browse files
committed
Petit clean up du /is chat
1 parent 1224816 commit 8559121

File tree

3 files changed

+23
-9
lines changed

3 files changed

+23
-9
lines changed

addons/SkylliaChat/src/main/java/fr/euphyllia/skylliachat/ChatListeners.java

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
import org.bukkit.event.EventHandler;
1313
import org.bukkit.event.Listener;
1414
import org.bukkit.event.player.AsyncPlayerChatEvent;
15+
import org.bukkit.event.player.PlayerQuitEvent;
16+
17+
import java.util.UUID;
1518

1619
public class ChatListeners implements Listener {
1720

@@ -22,23 +25,32 @@ public ChatListeners(SkylliaChat plugin) {
2225
this.plugin = plugin;
2326
}
2427

28+
@EventHandler
29+
public void onPlayerQuit(final PlayerQuitEvent event) {
30+
final Player player = event.getPlayer();
31+
final UUID uuid = player.getUniqueId();
32+
plugin.getIslandChatEnabled().remove(uuid);
33+
}
34+
2535
@EventHandler
2636
public void onPlayerChat(final AsyncPlayerChatEvent event) {
27-
Player player = event.getPlayer();
37+
final Player player = event.getPlayer();
38+
final UUID uuid = player.getUniqueId();
39+
final String playerName = player.getName();
2840

29-
if (plugin.getIslandChatEnabled().getOrDefault(player, false)) {
41+
if (plugin.getIslandChatEnabled().getOrDefault(uuid, false)) {
3042
event.setCancelled(true);
3143

3244
Bukkit.getAsyncScheduler().runNow(plugin, scheduledTask -> {
33-
Island island = SkylliaAPI.getIslandByPlayerId(player.getUniqueId());
45+
Island island = SkylliaAPI.getIslandByPlayerId(uuid);
3446
if (island == null) {
3547
ConfigLoader.language.sendMessage(player, "island.player.no-island");
3648
return;
3749
}
3850

3951
String message = event.getMessage();
4052
String format = this.plugin.getConfig().getString("chat.format", "<red>[Messaging Island] %player_name%: <gray>%message%")
41-
.replace("%player_name%", player.getName())
53+
.replace("%player_name%", playerName)
4254
.replace("%message%", message);
4355

4456
// MiniMessage doesn't like legacy formatting codes...

addons/SkylliaChat/src/main/java/fr/euphyllia/skylliachat/SkylliaChat.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
import fr.euphyllia.skyllia.api.SkylliaAPI;
44
import fr.euphyllia.skylliachat.commands.IslandChatCommand;
55
import org.bukkit.Bukkit;
6-
import org.bukkit.entity.Player;
76
import org.bukkit.plugin.java.JavaPlugin;
87

8+
import java.util.UUID;
99
import java.util.concurrent.ConcurrentHashMap;
1010

1111
public final class SkylliaChat extends JavaPlugin {
1212

13-
private final ConcurrentHashMap<Player, Boolean> islandChatEnabled = new ConcurrentHashMap<>();
13+
private final ConcurrentHashMap<UUID, Boolean> islandChatEnabled = new ConcurrentHashMap<>();
1414

1515
@Override
1616
public void onEnable() {
@@ -25,7 +25,7 @@ public void onDisable() {
2525
Bukkit.getGlobalRegionScheduler().cancelTasks(this);
2626
}
2727

28-
public ConcurrentHashMap<Player, Boolean> getIslandChatEnabled() {
28+
public ConcurrentHashMap<UUID, Boolean> getIslandChatEnabled() {
2929
return islandChatEnabled;
3030
}
3131
}

addons/SkylliaChat/src/main/java/fr/euphyllia/skylliachat/commands/IslandChatCommand.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import java.util.Collections;
1212
import java.util.List;
13+
import java.util.UUID;
1314

1415
public class IslandChatCommand implements SubCommandInterface {
1516

@@ -29,10 +30,11 @@ public boolean onCommand(@NotNull Plugin plugin, @NotNull CommandSender sender,
2930
ConfigLoader.language.sendMessage(player, "addons.chat.no-permission");
3031
return true;
3132
}
33+
final UUID uuid = player.getUniqueId();
3234

3335
// Toggle island chat mode
34-
boolean isEnabled = this.plugin.getIslandChatEnabled().getOrDefault(player, false);
35-
this.plugin.getIslandChatEnabled().put(player, !isEnabled);
36+
boolean isEnabled = this.plugin.getIslandChatEnabled().getOrDefault(uuid, false);
37+
this.plugin.getIslandChatEnabled().put(uuid, !isEnabled);
3638

3739
if (isEnabled) {
3840
ConfigLoader.language.sendMessage(player, "addons.chat.disabled");

0 commit comments

Comments
 (0)