Maya/src/main/java/eu/univento/maya/listener/PlayerEvents.java

60 lines
1.9 KiB
Java

package eu.univento.maya.listener;
import eu.univento.core.api.Config;
import eu.univento.core.api.player.CustomPlayer;
import eu.univento.core.api.player.Spectator;
import eu.univento.maya.Maya;
import eu.univento.maya.game.GameStage;
import org.bukkit.GameMode;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
/**
* @author joethei
* @version 0.1
*/
public class PlayerEvents implements Listener{
@EventHandler
public void onJoin(PlayerJoinEvent e) {
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
if(Maya.getStage() == GameStage.Lobby) {
if(Maya.getPlayers().size() >= Maya.getMaxPlayers()) {
Spectator.add(p);
p.teleport(Config.readLocation("Maya.Spawn.Spectator"));
p.sendMessage("§cDu bist nun Zuschauer");
e.setJoinMessage(null);
return;
}
p.teleport(Config.readLocation("Maya.Spawn.Lobby"));
p.sendMessage("§cDu bist dem Spiel beigetreten");
e.setJoinMessage("§6Maya: " + p.getColor() + p.getDisplayName() + " §6ist dem Spiel beigetreten");
p.setGameMode(GameMode.ADVENTURE);
}else {
e.setJoinMessage(null);
Spectator.add(p);
p.teleport(Config.readLocation("Maya.Spawn.Spectator"));
p.sendMessage("§cDu bist nun Zuschauer");
}
}
@EventHandler
public void onQuit(PlayerQuitEvent e) {
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
if(Spectator.is(p)) {
Spectator.remove(p);
e.setQuitMessage(null);
}
if(Maya.getPlayers().contains(p)) {
Maya.getPlayers().remove(p);
e.setQuitMessage("§6Maya: " + p.getColor() + p.getDisplayName() + " §6hat das Spiel verlassen");
}
}
}