Add VIP Slots method
This commit is contained in:
@@ -21,6 +21,7 @@ import java.io.IOException;
|
||||
import java.sql.SQLException;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Random;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
@@ -255,7 +256,6 @@ public class AuthMe extends JavaPlugin {
|
||||
if (permissionProvider != null)
|
||||
permission = permissionProvider.getProvider();
|
||||
else {
|
||||
|
||||
ConsoleLogger.showError("Vault and Permissions plugins is needed for enable AuthMe Reloaded!");
|
||||
this.getServer().getPluginManager().disablePlugin(this);
|
||||
}
|
||||
@@ -498,4 +498,18 @@ public class AuthMe extends JavaPlugin {
|
||||
return m;
|
||||
}
|
||||
|
||||
public Player generateKickPlayer(Player[] players) {
|
||||
Player player = null;
|
||||
int i;
|
||||
for (i = 0 ; i <= players.length ; i++) {
|
||||
Random rdm = new Random();
|
||||
int a = rdm.nextInt(players.length);
|
||||
if (!players[a].hasPermission("authme.vip")) {
|
||||
player = players[a];
|
||||
break;
|
||||
}
|
||||
}
|
||||
return player;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -566,7 +566,7 @@ public class AuthMePlayerListener implements Listener {
|
||||
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOWEST)
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void onPlayerLogin(PlayerLoginEvent event) {
|
||||
|
||||
final Player player = event.getPlayer();
|
||||
@@ -652,6 +652,26 @@ public class AuthMePlayerListener implements Listener {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (event.getResult() != Result.KICK_FULL) return;
|
||||
if (player.isBanned()) return;
|
||||
if (!player.hasPermission("authme.vip")) {
|
||||
event.disallow(Result.KICK_FULL, m._("kick_fullserver"));
|
||||
return;
|
||||
}
|
||||
if (plugin.getServer().getOnlinePlayers().length > plugin.getServer().getMaxPlayers()) {
|
||||
event.allow();
|
||||
return;
|
||||
} else {
|
||||
final Player pl = plugin.generateKickPlayer(plugin.getServer().getOnlinePlayers());
|
||||
if (pl != null) {
|
||||
pl.kickPlayer(m._("kick_forvip"));
|
||||
event.allow();
|
||||
return;
|
||||
} else {
|
||||
ConsoleLogger.info("The player " + player.getName() + " wants to join, but the server is full");
|
||||
event.disallow(Result.KICK_FULL, m._("kick_fullserver"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -73,6 +73,8 @@ public class Messages extends CustomConfiguration {
|
||||
this.set("usage_captcha", "&cUsage: /captcha <theCaptcha>");
|
||||
this.set("wrong_captcha", "&cWrong Captcha, please use : /captcha THE_CAPTCHA");
|
||||
this.set("valid_captcha", "&cYour captcha is valid !");
|
||||
this.set("kick_forvip", "&cA VIP Player join the full server!");
|
||||
this.set("kick_fullserver", "&cThe server is actually full, Sorry!");
|
||||
}
|
||||
|
||||
private void loadFile() {
|
||||
|
||||
Reference in New Issue
Block a user