Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5107ec0796 | |||
| d73ff75c04 | |||
| 9f50a45f8c | |||
| b894afafa7 | |||
| 454ea4b8d6 |
110
pom.xml
110
pom.xml
@@ -1,56 +1,56 @@
|
|||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>de.web.basman93</groupId>
|
<groupId>de.web.basman93</groupId>
|
||||||
<artifactId>KickPlayerOnKick</artifactId>
|
<artifactId>KickPlayerOnJoin</artifactId>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<version>1.0.0</version>
|
<version>1.0.4</version>
|
||||||
<name>KickPlayerOnKick</name>
|
<name>KickPlayerOnJoin</name>
|
||||||
<url></url>
|
<url></url>
|
||||||
<build>
|
<build>
|
||||||
<sourceDirectory>${basedir}/src/main/java</sourceDirectory>
|
<sourceDirectory>${basedir}/src/main/java</sourceDirectory>
|
||||||
<resources>
|
<resources>
|
||||||
<resource>
|
<resource>
|
||||||
<targetPath>.</targetPath>
|
<targetPath>.</targetPath>
|
||||||
<filtering>true</filtering>
|
<filtering>true</filtering>
|
||||||
<directory>${basedir}/src/main/resources/</directory>
|
<directory>${basedir}/src/main/resources/</directory>
|
||||||
<includes>
|
<includes>
|
||||||
<include>plugin.yml</include>
|
<include>plugin.yml</include>
|
||||||
</includes>
|
</includes>
|
||||||
</resource>
|
</resource>
|
||||||
<resource>
|
<resource>
|
||||||
<targetPath>.</targetPath>
|
<targetPath>.</targetPath>
|
||||||
<filtering>false</filtering>
|
<filtering>false</filtering>
|
||||||
<directory>${basedir}/src/main/resources/</directory>
|
<directory>${basedir}/src/main/resources/</directory>
|
||||||
<excludes>
|
<excludes>
|
||||||
<exclude>plugin.yml</exclude>
|
<exclude>plugin.yml</exclude>
|
||||||
</excludes>
|
</excludes>
|
||||||
</resource>
|
</resource>
|
||||||
</resources>
|
</resources>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>2.3.2</version>
|
<version>2.3.2</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>1.8</source>
|
<source>1.8</source>
|
||||||
<target>1.8</target>
|
<target>1.8</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
<repositories>
|
<repositories>
|
||||||
<repository>
|
<repository>
|
||||||
<id>spigot-repo</id>
|
<id>spigot-repo</id>
|
||||||
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
|
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
|
||||||
</repository>
|
</repository>
|
||||||
</repositories>
|
</repositories>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.spigotmc</groupId>
|
<groupId>org.spigotmc</groupId>
|
||||||
<artifactId>spigot-api</artifactId>
|
<artifactId>spigot-api</artifactId>
|
||||||
<version>1.16.4-R0.1-SNAPSHOT</version><!--change this value depending on the version or use LATEST-->
|
<version>1.18.1-R0.1-SNAPSHOT</version><!--change this value depending on the version or use LATEST-->
|
||||||
<type>jar</type>
|
<type>jar</type>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</project>
|
</project>
|
||||||
@@ -1,122 +1,181 @@
|
|||||||
package de.web.basman93;
|
package de.web.basman93;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.logging.Level;
|
||||||
import org.bukkit.Color;
|
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.player.PlayerLoginEvent;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.player.PlayerLoginEvent.Result;
|
import org.bukkit.event.player.PlayerLoginEvent;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.event.player.PlayerLoginEvent.Result;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
public class KickPlayerOnJoin extends JavaPlugin implements Listener {
|
|
||||||
|
public class KickPlayerOnJoin extends JavaPlugin implements Listener {
|
||||||
private boolean active = true;
|
|
||||||
private FileConfiguration config = getConfig();
|
private boolean active = true;
|
||||||
private List<String> playerlist = new ArrayList<String>();
|
private boolean blacklist = false;
|
||||||
private final String prefix = Color.SILVER + "[K" + Color.GRAY + "P" + Color.SILVER + "OJ] ";
|
private int config_version = 0;
|
||||||
|
private FileConfiguration config = getConfig();
|
||||||
@Override
|
private List<String> playerlist = new ArrayList<String>();
|
||||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
private final String prefix = ChatColor.GRAY + "[K" + ChatColor.DARK_GRAY + "P" + ChatColor.GRAY + "OJ] ";
|
||||||
if(command.getName().equalsIgnoreCase("kickplayeronjoin")) {
|
|
||||||
|
@Override
|
||||||
if(args.length > 0 && args[0].equalsIgnoreCase("on") && cop(sender, "kpoj.mode")) {
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||||
sender.sendMessage(prefix + "activated");
|
if(command.getName().equalsIgnoreCase("kickplayeronjoin")) {
|
||||||
active = true;
|
|
||||||
save();
|
if(args.length > 0 && args[0].equalsIgnoreCase("on") && cop(sender, "kpoj.mode")) {
|
||||||
|
sender.sendMessage(prefix + "activated");
|
||||||
} else if(args.length > 0 && args[0].equalsIgnoreCase("off") && cop(sender, "kpoj.mode")) {
|
active = true;
|
||||||
sender.sendMessage(prefix + "deactivated");
|
save();
|
||||||
active = false;
|
|
||||||
save();
|
} else if(args.length > 0 && args[0].equalsIgnoreCase("off") && cop(sender, "kpoj.mode")) {
|
||||||
|
sender.sendMessage(prefix + "deactivated");
|
||||||
} else if(args.length > 0 && args[0].equalsIgnoreCase("help") && cop(sender, "kpoj.help")) {
|
active = false;
|
||||||
sender.sendMessage(prefix + "--------------- HELP ---------------");
|
save();
|
||||||
sender.sendMessage(prefix + "/kpoj - shows version & status");
|
|
||||||
sender.sendMessage(prefix + "/kpoj help - shows this help info");
|
} else if(args.length > 0 && args[0].equalsIgnoreCase("help") && cop(sender, "kpoj.help")) {
|
||||||
sender.sendMessage(prefix + "/kpoj off - deactivate this plugin");
|
sender.sendMessage(prefix + "---------------------- HELP ----------------------");
|
||||||
sender.sendMessage(prefix + "/kpoj on - activate this plugin");
|
sender.sendMessage(prefix + "/kpoj - shows version & status");
|
||||||
sender.sendMessage(prefix + "------------------------------------");
|
sender.sendMessage(prefix + "/kpoj version - shows version");
|
||||||
|
sender.sendMessage(prefix + "/kpoj help - shows this help info");
|
||||||
} else if(args.length > 1 && args[0].equalsIgnoreCase("add") && cop(sender, "kpoj.add")) {
|
sender.sendMessage(prefix + "/kpoj off - deactivate this plugin");
|
||||||
for(int i = 1; i < args.length; i++) {
|
sender.sendMessage(prefix + "/kpoj on - activate this plugin");
|
||||||
if(playerlist.contains(args[i])) {
|
sender.sendMessage(prefix + "/kpoj add <player> - add player to whitelist");
|
||||||
sender.sendMessage(prefix + args[i] + " is already in the whitelist!");
|
sender.sendMessage(prefix + "/kpoj del <player> - removes player from whitelist");
|
||||||
} else {
|
sender.sendMessage(prefix + "/kpoj reload - reload plugin");
|
||||||
playerlist.add(args[i]);
|
sender.sendMessage(prefix + "/kpoj list - list players on whitelist");
|
||||||
sender.sendMessage(prefix + args[i] + " add to whitelist!");
|
sender.sendMessage(prefix + "/kpoj mode <mode> - Change the mode of the plugin (whitelist|blacklist)");
|
||||||
}
|
sender.sendMessage(prefix + "--------------------------------------------------");
|
||||||
}
|
|
||||||
save();
|
} else if(args.length > 0 && args[0].equalsIgnoreCase("version")) {
|
||||||
|
sender.sendMessage(prefix + "Version: " + getDescription().getVersion());
|
||||||
} else if(args.length > 1 && args[0].equalsIgnoreCase("del") && cop(sender, "kpoj.del")) {
|
|
||||||
for(int i = 1; i < args.length; i++) {
|
} else if(args.length > 1 && args[0].equalsIgnoreCase("add") && cop(sender, "kpoj.add")) {
|
||||||
if(playerlist.contains(args[i])) {
|
for(int i = 1; i < args.length; i++) {
|
||||||
playerlist.remove(args[i]);
|
if(playerlist.contains(args[i])) {
|
||||||
sender.sendMessage(prefix + args[i] + " removed from the whitelist!");
|
sender.sendMessage(prefix + args[i] + " is already in the " + (blacklist ? "blacklist" : "whitelist") + "!");
|
||||||
} else {
|
} else {
|
||||||
sender.sendMessage(prefix + args[i] + " is not in the whitelist!");
|
playerlist.add(args[i]);
|
||||||
}
|
sender.sendMessage(prefix + args[i] + " add to " + (blacklist ? "blacklist" : "whitelist") + "!");
|
||||||
}
|
save();
|
||||||
save();
|
}
|
||||||
|
}
|
||||||
} else if(args.length > 0 && args[0].equalsIgnoreCase("reload") && cop(sender, "kpoj.reload")) {
|
|
||||||
reloadConfig();
|
} else if(args.length > 1 && args[0].equalsIgnoreCase("del") && cop(sender, "kpoj.del")) {
|
||||||
|
for(int i = 1; i < args.length; i++) {
|
||||||
config = getConfig();
|
if(playerlist.contains(args[i])) {
|
||||||
|
playerlist.remove(args[i]);
|
||||||
playerlist = config.getStringList("Player");
|
sender.sendMessage(prefix + args[i] + " removed from the " + (blacklist ? "blacklist" : "whitelist") + "!");
|
||||||
active = config.getBoolean("Check");
|
save();
|
||||||
|
} else {
|
||||||
} else if(args.length > 0 && args[0].equalsIgnoreCase("list") && cop(sender, "kpoj.list")) {
|
sender.sendMessage(prefix + args[i] + " is not in the " + (blacklist ? "blacklist" : "whitelist") + "!");
|
||||||
String buffer = playerlist.isEmpty() ? "" : playerlist.get(0);
|
}
|
||||||
for(int i = 1; i < playerlist.size(); i++) {
|
}
|
||||||
buffer += ", " + playerlist.get(i);
|
|
||||||
}
|
} else if(args.length > 0 && args[0].equalsIgnoreCase("reload") && cop(sender, "kpoj.reload")) {
|
||||||
sender.sendMessage(prefix + "Players: " + buffer);
|
reloadConfig();
|
||||||
|
config = getConfig();
|
||||||
} else {
|
playerlist = config.getStringList("Player");
|
||||||
sender.sendMessage(prefix + "Version: " + getDescription().getVersion());
|
active = config.getBoolean("Check");
|
||||||
if(cop(sender, "kpoj.info"))
|
blacklist = config.getBoolean("Blacklist");
|
||||||
sender.sendMessage(prefix + "Active: " + (active ? Color.GREEN + "yes" : Color.RED + "no"));
|
config_version = config.getInt("Version");
|
||||||
if(sender.hasPermission("kpoj.info") && sender instanceof Player)
|
sender.sendMessage(prefix + "Config reloaded!");
|
||||||
sender.sendMessage(prefix + "Status: " + (playerlist.contains(sender.getName()) ? Color.GREEN + "Allowed" : Color.RED + "Disallowed"));
|
|
||||||
}
|
} else if(args.length > 0 && args[0].equalsIgnoreCase("list") && cop(sender, "kpoj.list")) {
|
||||||
return true;
|
sender.sendMessage(prefix + "Players: " + String.join(", ", playerlist));
|
||||||
}
|
|
||||||
return false;
|
} else if(args.length > 1 && args[0].equalsIgnoreCase("mode") && cop(sender, "kpoj.listmode")) {
|
||||||
}
|
if(args[1].matches("w|white|whitelist")) {
|
||||||
|
if(blacklist) {
|
||||||
@Override
|
blacklist = false;
|
||||||
public void onEnable() {
|
sender.sendMessage(prefix + "Changed to mode: whitelist");
|
||||||
saveDefaultConfig();
|
save();
|
||||||
|
}
|
||||||
playerlist = config.getStringList("Player");
|
else
|
||||||
active = config.getBoolean("Check");
|
sender.sendMessage(prefix + "Mode already whitelist");
|
||||||
|
|
||||||
getServer().getPluginManager().registerEvents(this, this);
|
} else if(args[1].matches("b|black|blacklist")) {
|
||||||
}
|
if(!blacklist) {
|
||||||
|
blacklist = true;
|
||||||
@EventHandler
|
sender.sendMessage(prefix + "Changed to mode: blacklist");
|
||||||
public void onPlayerLogin(PlayerLoginEvent event) {
|
save();
|
||||||
if(!playerlist.contains(event.getPlayer().getName()) && active) {
|
}
|
||||||
event.disallow(Result.KICK_WHITELIST, "You are not whitelisted on this server!");
|
else
|
||||||
getServer().broadcastMessage(event.getPlayer().getName());
|
sender.sendMessage(prefix + "Mode already blacklist");
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean cop(CommandSender sender, String perm) {
|
} else {
|
||||||
return sender.hasPermission(perm) || !(sender instanceof Player);
|
sender.sendMessage(prefix + "Version: " + getDescription().getVersion());
|
||||||
}
|
if(cop(sender, "kpoj.info")) {
|
||||||
|
sender.sendMessage(prefix + "Active: " + (active ? ChatColor.GREEN + "yes" : ChatColor.RED + "no"));
|
||||||
private void save() {
|
sender.sendMessage(prefix + "Mode: " + (blacklist ? ChatColor.GRAY + "blacklist" : ChatColor.WHITE + "whitelist"));
|
||||||
config.set("Check", active);
|
}
|
||||||
config.set("Player", playerlist);
|
|
||||||
saveConfig();
|
if(sender.hasPermission("kpoj.info") && sender instanceof Player) {
|
||||||
}
|
if(blacklist)
|
||||||
}
|
sender.sendMessage(prefix + "Status: " + (playerlist.contains(sender.getName()) ? ChatColor.RED + "Disallowed" : ChatColor.GREEN + "Allowed"));
|
||||||
|
else
|
||||||
|
sender.sendMessage(prefix + "Status: " + (playerlist.contains(sender.getName()) ? ChatColor.GREEN + "Allowed" : ChatColor.RED + "Disallowed"));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEnable() {
|
||||||
|
saveDefaultConfig();
|
||||||
|
|
||||||
|
playerlist = config.getStringList("Player");
|
||||||
|
active = config.getBoolean("Check");
|
||||||
|
blacklist = config.getBoolean("Blacklist", false);
|
||||||
|
config_version = config.getInt("Version", 1);
|
||||||
|
|
||||||
|
if(config_version == 1) {
|
||||||
|
getLogger().log(Level.INFO, "Update config from version " + config_version + " to version 2");
|
||||||
|
config_version = 2;
|
||||||
|
save();
|
||||||
|
}
|
||||||
|
|
||||||
|
getServer().getPluginManager().registerEvents(this, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerLogin(PlayerLoginEvent event) {
|
||||||
|
if(active && !event.getPlayer().isOp()) {
|
||||||
|
if(blacklist && playerlist.contains(event.getPlayer().getName())) {
|
||||||
|
event.disallow(Result.KICK_WHITELIST, "You are black-listed on this server!");
|
||||||
|
getServer().broadcastMessage(event.getPlayer().getName() + " tried to join.");
|
||||||
|
getLogger().log(Level.INFO, event.getPlayer().getName() + " tried to join but is on the blacklist");
|
||||||
|
getLogger().log(Level.INFO, "Stopped player " + event.getPlayer().getName() + " from joining");
|
||||||
|
|
||||||
|
} else if(!blacklist && !playerlist.contains(event.getPlayer().getName())) {
|
||||||
|
event.disallow(Result.KICK_WHITELIST, "You are not white-listed on this server!");
|
||||||
|
getServer().broadcastMessage(event.getPlayer().getName() + " tried to join.");
|
||||||
|
getLogger().log(Level.INFO, event.getPlayer().getName() + " tried to join but is not on the whitelist");
|
||||||
|
getLogger().log(Level.INFO, "Stopped player " + event.getPlayer().getName() + " from joining");
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
|
config.set("Blacklist", blacklist);
|
||||||
|
config.set("Version", config_version);
|
||||||
|
saveConfig();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,2 +1,4 @@
|
|||||||
Check: true
|
Version: 2
|
||||||
|
Check: true
|
||||||
|
Blacklist: false
|
||||||
Player: []
|
Player: []
|
||||||
@@ -1,45 +1,52 @@
|
|||||||
name: KickPlayerOnJoin
|
name: KickPlayerOnJoin
|
||||||
main: de.web.basman93.KickPlayerOnJoin
|
main: de.web.basman93.KickPlayerOnJoin
|
||||||
version: "${project.version}"
|
version: "${project.version}"
|
||||||
description: A plugin to kick not whitelisted player
|
description: A plugin to kick not whitelisted player
|
||||||
author: basman93
|
author: basman93
|
||||||
|
api-version: 1.18
|
||||||
commands:
|
website: https://gitlab.com/basman93/KickPlayerOnJoin
|
||||||
kickplayeronjoin:
|
prefix: KPOJ
|
||||||
description: Main Command
|
|
||||||
usage: /<command> <args>
|
commands:
|
||||||
aliases: [kpoj]
|
kickplayeronjoin:
|
||||||
|
description: Main Command
|
||||||
permissions:
|
usage: /<command> <args>
|
||||||
kpoj.*:
|
aliases: [kpoj]
|
||||||
default: false
|
|
||||||
description: Gives access to all KickPlayerOnJoin commands
|
permissions:
|
||||||
children:
|
kpoj.*:
|
||||||
kpoj.mode: true
|
default: op
|
||||||
kpoj.help: true
|
description: Gives access to all KickPlayerOnJoin commands
|
||||||
kpoj.info: true
|
children:
|
||||||
kpoj.add: true
|
kpoj.mode: true
|
||||||
kpoj.del: true
|
kpoj.help: true
|
||||||
kpoj.reload: true
|
kpoj.info: true
|
||||||
kpoj.list: true
|
kpoj.add: true
|
||||||
kpoj.mode:
|
kpoj.del: true
|
||||||
default: false
|
kpoj.reload: true
|
||||||
description: Allows to activate or deactivate this plugin
|
kpoj.list: true
|
||||||
kpoj.help:
|
kpoj.listmode: true
|
||||||
default: false
|
kpoj.mode:
|
||||||
description: Shows help information
|
default: false
|
||||||
kpoj.info:
|
description: Allows to activate or deactivate this plugin
|
||||||
default: false
|
kpoj.help:
|
||||||
description: Shows extra information
|
default: false
|
||||||
kpoj.add:
|
description: Shows help information
|
||||||
default: false
|
kpoj.info:
|
||||||
description: Adds player to the whitelist
|
default: false
|
||||||
kpoj.del:
|
description: Shows extra information
|
||||||
default: false
|
kpoj.add:
|
||||||
description: Remove player from the whitelist
|
default: false
|
||||||
kpoj.reload:
|
description: Adds player to the whitelist
|
||||||
default: false
|
kpoj.del:
|
||||||
description: reload the config file
|
default: false
|
||||||
kpoj.list:
|
description: Remove player from the whitelist
|
||||||
default: false
|
kpoj.reload:
|
||||||
description: list all added player
|
default: false
|
||||||
|
description: reload the config file
|
||||||
|
kpoj.list:
|
||||||
|
default: false
|
||||||
|
description: list all added player
|
||||||
|
kpoj.listmode:
|
||||||
|
default: false
|
||||||
|
description: Change mode of the plugin (blacklist/whitelist)
|
||||||
|
|||||||
Reference in New Issue
Block a user