60 lines
1.9 KiB
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");
|
|
}
|
|
|
|
}
|
|
|
|
} |