diff --git a/src/main/java/de/fanta/challengesjoinentities/listeners/EntityListener.java b/src/main/java/de/fanta/challengesjoinentities/listeners/EntityListener.java index b76dd7a..6e292df 100644 --- a/src/main/java/de/fanta/challengesjoinentities/listeners/EntityListener.java +++ b/src/main/java/de/fanta/challengesjoinentities/listeners/EntityListener.java @@ -59,25 +59,32 @@ return; } String serverName = plugin.getServerNameForEntity(clicked.getUniqueId()); - if (serverName != null) { - JoinEntityData data = plugin.getEntityData(serverName); - if (data != null) { - switch (data.getServerStatus()) { - case ONLINE: - if (data.getPlayerCount() < data.getMaxPlayers()) { - GlobalApi.portOnlinePlayerToLocation(player.getName(), data.getGlobalPortLocationName()); - } else { - ChatUtil.sendErrorMessage(player, "Der Server ist bereits voll!"); - } - break; - case OFFLINE: - ChatUtil.sendErrorMessage(player, "Der Server wird gerade resettet."); - break; - case RUNNING: - ChatUtil.sendWarningMessage(player, "Hier läuft bereits eine Challenge!"); - break; + if (serverName == null) { + return; + } + JoinEntityData data = plugin.getEntityData(serverName); + if (data == null) { + return; + } + switch (data.getServerStatus()) { + case ONLINE: + if (data.getPlayerCount() < data.getMaxPlayers()) { + if (data.getPlayerCount() == 0 && !player.hasPermission("Challenges.editor")) { + ChatUtil.sendWarningMessage(player, "Der erste Spieler muss VIP haben!"); + ChatUtil.sendWarningMessage(player, "Um VIP zu bekommen musst du im Freebuild (/tt) /voteshop eingeben!"); + } else { + GlobalApi.portOnlinePlayerToLocation(player.getName(), data.getGlobalPortLocationName()); + } + } else { + ChatUtil.sendErrorMessage(player, "Der Server ist bereits voll!"); } - } + break; + case OFFLINE: + ChatUtil.sendErrorMessage(player, "Der Server wird gerade resettet."); + break; + case RUNNING: + ChatUtil.sendWarningMessage(player, "Hier läuft bereits eine Challenge!"); + break; } } }