forked from SteamWar/SteamWar
Bugfix after testing
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user