Bugfix after testing

This commit is contained in:
Lixfel
2025-04-09 21:04:28 +02:00
parent f2d8c9c02b
commit cf4ac95c2f
@@ -26,8 +26,10 @@ import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerGameModeChangeEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import com.comphenix.tinyprotocol.TinyProtocol;
@@ -52,20 +54,30 @@ public class Spectator implements Listener {
new StateDependentTask(ArenaMode.AntiTest, FightState.All, this::pseudoSpectatorCheck, 1, 1);
}
@EventHandler
@SuppressWarnings("deprecation")
public void onGameModeChange(PlayerGameModeChangeEvent e) {
@EventHandler(priority = EventPriority.MONITOR)
public void handlePlayerJoin(PlayerJoinEvent e) {
Player player = e.getPlayer();
if (e.getNewGameMode() == GameMode.SPECTATOR) {
for(Player currentPlayer : Bukkit.getServer().getOnlinePlayers()) {
if(currentPlayer.getUniqueId() != player.getUniqueId())
currentPlayer.hidePlayer(player);
if(player.getGameMode() == GameMode.SPECTATOR)
gameModeChange(player, GameMode.SPECTATOR);
}
@EventHandler
public void onGameModeChange(PlayerGameModeChangeEvent e) {
gameModeChange(e.getPlayer(), e.getNewGameMode());
}
@SuppressWarnings("deprecation")
private void gameModeChange(Player player, GameMode gameMode) {
if (gameMode == GameMode.SPECTATOR) {
for(Player p : Bukkit.getServer().getOnlinePlayers()) {
if(p.getUniqueId() != player.getUniqueId())
p.hidePlayer(player);
}
} else {
for(Player currentPlayer : Bukkit.getServer().getOnlinePlayers()) {
if(currentPlayer.getUniqueId() != player.getUniqueId())
currentPlayer.showPlayer(player);
for(Player p : Bukkit.getServer().getOnlinePlayers()) {
if(p.getUniqueId() != player.getUniqueId())
p.showPlayer(player);
}
}
}