Fixed maven config
This commit is contained in:
122
src/main/java/de/web/basman93/KickPlayerOnJoin.java
Executable file
122
src/main/java/de/web/basman93/KickPlayerOnJoin.java
Executable file
@@ -0,0 +1,122 @@
|
||||
package de.web.basman93;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerLoginEvent;
|
||||
import org.bukkit.event.player.PlayerLoginEvent.Result;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class KickPlayerOnJoin extends JavaPlugin implements Listener {
|
||||
|
||||
private boolean active = true;
|
||||
private FileConfiguration config = getConfig();
|
||||
private List<String> playerlist = new ArrayList<String>();
|
||||
private final String prefix = Color.SILVER + "[K" + Color.GRAY + "P" + Color.SILVER + "OJ] ";
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if(command.getName().equalsIgnoreCase("kickplayeronjoin")) {
|
||||
|
||||
if(args.length > 0 && args[0].equalsIgnoreCase("on") && cop(sender, "kpoj.mode")) {
|
||||
sender.sendMessage(prefix + "activated");
|
||||
active = true;
|
||||
save();
|
||||
|
||||
} else if(args.length > 0 && args[0].equalsIgnoreCase("off") && cop(sender, "kpoj.mode")) {
|
||||
sender.sendMessage(prefix + "deactivated");
|
||||
active = false;
|
||||
save();
|
||||
|
||||
} else if(args.length > 0 && args[0].equalsIgnoreCase("help") && cop(sender, "kpoj.help")) {
|
||||
sender.sendMessage(prefix + "--------------- HELP ---------------");
|
||||
sender.sendMessage(prefix + "/kpoj - shows version & status");
|
||||
sender.sendMessage(prefix + "/kpoj help - shows this help info");
|
||||
sender.sendMessage(prefix + "/kpoj off - deactivate this plugin");
|
||||
sender.sendMessage(prefix + "/kpoj on - activate this plugin");
|
||||
sender.sendMessage(prefix + "------------------------------------");
|
||||
|
||||
} else if(args.length > 1 && args[0].equalsIgnoreCase("add") && cop(sender, "kpoj.add")) {
|
||||
for(int i = 1; i < args.length; i++) {
|
||||
if(playerlist.contains(args[i])) {
|
||||
sender.sendMessage(prefix + args[i] + " is already in the whitelist!");
|
||||
} else {
|
||||
playerlist.add(args[i]);
|
||||
sender.sendMessage(prefix + args[i] + " add to whitelist!");
|
||||
}
|
||||
}
|
||||
save();
|
||||
|
||||
} else if(args.length > 1 && args[0].equalsIgnoreCase("del") && cop(sender, "kpoj.del")) {
|
||||
for(int i = 1; i < args.length; i++) {
|
||||
if(playerlist.contains(args[i])) {
|
||||
playerlist.remove(args[i]);
|
||||
sender.sendMessage(prefix + args[i] + " removed from the whitelist!");
|
||||
} else {
|
||||
sender.sendMessage(prefix + args[i] + " is not in the whitelist!");
|
||||
}
|
||||
}
|
||||
save();
|
||||
|
||||
} else if(args.length > 0 && args[0].equalsIgnoreCase("reload") && cop(sender, "kpoj.reload")) {
|
||||
reloadConfig();
|
||||
|
||||
config = getConfig();
|
||||
|
||||
playerlist = config.getStringList("Player");
|
||||
active = config.getBoolean("Check");
|
||||
|
||||
} else if(args.length > 0 && args[0].equalsIgnoreCase("list") && cop(sender, "kpoj.list")) {
|
||||
String buffer = playerlist.isEmpty() ? "" : playerlist.get(0);
|
||||
for(int i = 1; i < playerlist.size(); i++) {
|
||||
buffer += ", " + playerlist.get(i);
|
||||
}
|
||||
sender.sendMessage(prefix + "Players: " + buffer);
|
||||
|
||||
} else {
|
||||
sender.sendMessage(prefix + "Version: " + getDescription().getVersion());
|
||||
if(cop(sender, "kpoj.info"))
|
||||
sender.sendMessage(prefix + "Active: " + (active ? Color.GREEN + "yes" : Color.RED + "no"));
|
||||
if(sender.hasPermission("kpoj.info") && sender instanceof Player)
|
||||
sender.sendMessage(prefix + "Status: " + (playerlist.contains(sender.getName()) ? Color.GREEN + "Allowed" : Color.RED + "Disallowed"));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
saveDefaultConfig();
|
||||
|
||||
playerlist = config.getStringList("Player");
|
||||
active = config.getBoolean("Check");
|
||||
|
||||
getServer().getPluginManager().registerEvents(this, this);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerLogin(PlayerLoginEvent event) {
|
||||
if(!playerlist.contains(event.getPlayer().getName()) && active) {
|
||||
event.disallow(Result.KICK_WHITELIST, "You are not whitelisted on this server!");
|
||||
getServer().broadcastMessage(event.getPlayer().getName());
|
||||
}
|
||||
}
|
||||
|
||||
private boolean cop(CommandSender sender, String perm) {
|
||||
return sender.hasPermission(perm) || !(sender instanceof Player);
|
||||
}
|
||||
|
||||
private void save() {
|
||||
config.set("Check", active);
|
||||
config.set("Player", playerlist);
|
||||
saveConfig();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user