Core/src/eu/univento/core/api/player/Spectator.java

67 lines
1.4 KiB
Java
Raw Normal View History

package eu.univento.core.api.player;
2015-12-05 12:26:39 +01:00
2016-02-27 09:08:17 +01:00
import eu.univento.core.api.server.ServerSettings;
2015-12-05 12:26:39 +01:00
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.entity.Player;
2016-02-27 09:08:17 +01:00
import java.util.ArrayList;
/**
*
* @author joethei
* @version 1.0
*/
2015-12-05 12:26:39 +01:00
public class Spectator {
2016-02-27 09:08:17 +01:00
/**
* contains all spectators
*/
private static ArrayList<CustomPlayer> spectators = new ArrayList<>();
/**
* adds player to spectators
* @param p CustomPlayer
*/
public static void add(CustomPlayer p) {
for (Player on : Bukkit.getOnlinePlayers()) {
on.hidePlayer(p);
}
spectators.add(p);
p.setGameMode(GameMode.ADVENTURE);
p.setAllowFlight(true);
p.setFlying(true);
}
/**
* removes player from spectator
* @param p CustomPlayer
*/
public static void remove(CustomPlayer p) {
for (Player on : Bukkit.getOnlinePlayers()) {
on.showPlayer(p);
}
spectators.remove(p);
p.setGameMode(ServerSettings.getGameMode());
p.setAllowFlight(false);
p.setFlying(false);
}
/**
* gets all spectators
* @return ArrayList<CustomPlayer>
*/
public static ArrayList<CustomPlayer> getSpectators() {
return spectators;
}
2015-12-05 12:26:39 +01:00
2016-02-27 09:08:17 +01:00
/**
* checks if players is spectator
* @param p CustomPlayer
* @return true/false
*/
public static boolean is(CustomPlayer p) {
return spectators.contains(p);
}
2015-12-05 12:26:39 +01:00
}