From 3640df8e50312ebe7b3633d3b5f217a635f57b1d Mon Sep 17 00:00:00 2001 From: stonar96 Date: Thu, 20 Sep 2018 18:01:37 +0200 Subject: [PATCH] Add the project --- .gitignore | 6 ++ pom.xml | 19 ++++ .../validusername/ValidUsername.java | 17 ++++ .../ValidUsernamePlayerLoggedInListener.java | 93 +++++++++++++++++++ 4 files changed, 135 insertions(+) create mode 100644 pom.xml create mode 100644 src/main/java/com/vanillage/validusername/ValidUsername.java create mode 100644 src/main/java/com/vanillage/validusername/ValidUsernamePlayerLoggedInListener.java diff --git a/.gitignore b/.gitignore index 5f2dbe1..db6b2b3 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,9 @@ buildNumber.properties # Avoid ignoring Maven wrapper jar file (.jar files are usually ignored) !/.mvn/wrapper/maven-wrapper.jar + +# IDE +/.settings/ +/lib/ +/.classpath +/.project diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..15d9ffd --- /dev/null +++ b/pom.xml @@ -0,0 +1,19 @@ + + 4.0.0 + com.vanillage.validusername + validusername + 1.0 + ValidUsername + + + com.vanillage.minecraftalphaserver + minecraftalphaserver + 1.0 + system + ${project.basedir}/lib/minecraft_server_unobfuscated.jar + + + + ValidUsername + + diff --git a/src/main/java/com/vanillage/validusername/ValidUsername.java b/src/main/java/com/vanillage/validusername/ValidUsername.java new file mode 100644 index 0000000..6af218b --- /dev/null +++ b/src/main/java/com/vanillage/validusername/ValidUsername.java @@ -0,0 +1,17 @@ +package com.vanillage.validusername; + +import com.vanillage.minecraftalphaserver.event.PlayerLoggedInListener; +import com.vanillage.minecraftalphaserver.plugin.Plugin; + +public final class ValidUsername extends Plugin { + @Override + public void onEnable() { + getMinecraftServer().getPluginManager().getEventManager().registerListener((PlayerLoggedInListener) new ValidUsernamePlayerLoggedInListener(this)); + getMinecraftServer().log(getName() + " enabled"); + } + + @Override + public void onDisable() { + getMinecraftServer().log(getName() + " disabled"); + } +} diff --git a/src/main/java/com/vanillage/validusername/ValidUsernamePlayerLoggedInListener.java b/src/main/java/com/vanillage/validusername/ValidUsernamePlayerLoggedInListener.java new file mode 100644 index 0000000..86024ef --- /dev/null +++ b/src/main/java/com/vanillage/validusername/ValidUsernamePlayerLoggedInListener.java @@ -0,0 +1,93 @@ +package com.vanillage.validusername; + +import java.util.regex.Pattern; + +import com.vanillage.minecraftalphaserver.event.PlayerLoggedInEvent; +import com.vanillage.minecraftalphaserver.event.PlayerLoggedInListener; + +public final class ValidUsernamePlayerLoggedInListener extends PlayerLoggedInListener { + private final ValidUsername plugin; + private final int priority; + private Pattern userNamePattern; + private String kickReason; + + public ValidUsernamePlayerLoggedInListener(ValidUsername plugin) { + this(plugin, -10, null, null); + } + + public ValidUsernamePlayerLoggedInListener(ValidUsername plugin, int priority) { + this(plugin, priority, null, null); + } + + public ValidUsernamePlayerLoggedInListener(ValidUsername plugin, Pattern userNamePattern) { + this(plugin, -10, userNamePattern, null); + } + + public ValidUsernamePlayerLoggedInListener(ValidUsername plugin, String kickReason) { + this(plugin, -10, null, kickReason); + } + + public ValidUsernamePlayerLoggedInListener(ValidUsername plugin, int priority, Pattern userNamePattern) { + this(plugin, priority, userNamePattern, null); + } + + public ValidUsernamePlayerLoggedInListener(ValidUsername plugin, int priority, String kickReason) { + this(plugin, priority, null, kickReason); + } + + public ValidUsernamePlayerLoggedInListener(ValidUsername plugin, Pattern userNamePattern, String kickReason) { + this(plugin, -10, userNamePattern, kickReason); + } + + public ValidUsernamePlayerLoggedInListener(ValidUsername plugin, int priority, Pattern userNamePattern, String kickReason) { + if (plugin == null) { + throw new IllegalArgumentException("plugin cannot be null"); + } + + this.plugin = plugin; + this.priority = priority; + this.userNamePattern = userNamePattern == null ? Pattern.compile("[A-Za-z0-9_]{2,16}") : userNamePattern; + this.kickReason = kickReason == null ? "Invalid username , try: " + this.userNamePattern.pattern() : kickReason; + } + + public ValidUsername getPlugin() { + return plugin; + } + + public Pattern getUserNamePattern() { + return userNamePattern; + } + + public void setUserNamePattern(Pattern userNamePattern) { + if (userNamePattern == null) { + throw new IllegalArgumentException("userNamePattern cannot be null"); + } + + this.userNamePattern = userNamePattern; + } + + public String getKickReason() { + return kickReason; + } + + public void setKickReason(String kickReason) { + if (kickReason == null) { + throw new IllegalArgumentException("kickReason cannot be null"); + } + + this.kickReason = kickReason; + } + + @Override + public void onEvent(PlayerLoggedInEvent event) { + if (!userNamePattern.matcher(event.getPacket().username).matches()) { + event.setKickReason(kickReason.replace("", event.getPacket().username)); + event.deny(); + } + } + + @Override + public int getPriority() { + return priority; + } +}