I have done a video on how to store a list of player names so use that for the text file bit.
Then for the other bit you need to store a field that will be either true or false depending on if the server is maintenance mode, I have something similar for my server so these should give you a few pointers.
[syntax=java] public boolean onCommand(CommandSender sender, Command command, String label, String[] args){
if (SomethingCraftRank.ADMIN.isPlayer(sender) == false){
sender.sendMessage(ChatColor.RED + "you do not have permission to use this command.");
return true;
}
if (args.length != 1){
sender.sendMessage(ChatColor.RED + "Usage: /lockout [on/off]");
return true;
}
if (args[0].equalsIgnoreCase("on")){
plugin.lockout = true;
for (Player player : plugin.server.getOnlinePlayers()){
if (player.hasPermission("somethingcraft.guest")){
player.kickPlayer("The whitelist has been enabled, sorry
![Sad :(](./images/smilies/icon_e_sad.gif)
");
}
}
sender.sendMessage(ChatColor.GREEN + "LockOut Mode Enabled !");
}else{
plugin.lockout = false;
sender.sendMessage(ChatColor.GREEN + "LockOut Mode Disabled !");
}
return true;
}[/syntax]
[syntax=php] @EventHandler(priority = EventPriority.NORMAL)
public void onPlayerLogin(PlayerLoginEvent event){
if (event.getResult() != Result.ALLOWED) return;
if (plugin.lockout && SomethingCraftRank.GUEST.isPlayer(event.getPlayer())){
event.disallow(Result.KICK_WHITELIST, "Server temporarly whitelisted
![Sad :(](./images/smilies/icon_e_sad.gif)
");
}
}[/syntax]
Instead of checking the player rank like I do here you would probably want to check the player list.