62 lines
2.1 KiB
Java
62 lines
2.1 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.SpectateManager;
|
|
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()) {
|
|
new Spectator(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.getDatabasePlayer().getRank().getColor() + p.getDisplayName() + " §6ist dem Spiel beigetreten");
|
|
p.setGameMode(GameMode.ADVENTURE);
|
|
|
|
|
|
}else {
|
|
e.setJoinMessage(null);
|
|
new Spectator(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(SpectateManager.contains(p)) {
|
|
Spectator spectator = SpectateManager.get(p);
|
|
assert spectator != null;
|
|
spectator.remove();
|
|
}
|
|
if(Maya.getPlayers().contains(p)) {
|
|
Maya.getPlayers().remove(p);
|
|
e.setQuitMessage("§6Maya: " + p.getDatabasePlayer().getRank().getColor() + p.getDisplayName() + " §6hat das Spiel verlassen");
|
|
}
|
|
|
|
}
|
|
|
|
} |