mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Configurable valid characters for usernames
This commit is contained in:
@@ -1,34 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: BillyGalbreath <blake.galbreath@gmail.com>
|
|
||||||
Date: Sat, 1 Jan 2022 18:38:58 -0600
|
|
||||||
Subject: [PATCH] Configurable valid characters for usernames
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/util/StringUtil.java b/net/minecraft/util/StringUtil.java
|
|
||||||
index 6c33002dc8bbb3759c3156302ab7d1f26ce5e8ee..c89fc375aff548a2b03eaf4da3b6a075012df012 100644
|
|
||||||
--- a/net/minecraft/util/StringUtil.java
|
|
||||||
+++ b/net/minecraft/util/StringUtil.java
|
|
||||||
@@ -69,6 +69,7 @@ public class StringUtil {
|
|
||||||
|
|
||||||
// Paper start - Username validation
|
|
||||||
public static boolean isReasonablePlayerName(final String name) {
|
|
||||||
+ if (true) return org.purpurmc.purpur.PurpurConfig.usernameValidCharactersPattern.matcher(name).matches(); // Purpur
|
|
||||||
if (name.isEmpty() || name.length() > 16) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
||||||
index 80647bd8a776fea7cfedf3a991e9da73ce6c5ac1..00f02ad5f248120ce031048e02fe1bacda5567b7 100644
|
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
||||||
@@ -455,4 +455,11 @@ public class PurpurConfig {
|
|
||||||
private static void networkSettings() {
|
|
||||||
useUPnP = getBoolean("settings.network.upnp-port-forwarding", useUPnP);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ public static java.util.regex.Pattern usernameValidCharactersPattern;
|
|
||||||
+ private static void usernameValidationSettings() {
|
|
||||||
+ String defaultPattern = "^[a-zA-Z0-9_.]*$";
|
|
||||||
+ String setPattern = getString("settings.username-valid-characters", defaultPattern);
|
|
||||||
+ usernameValidCharactersPattern = java.util.regex.Pattern.compile(setPattern == null || setPattern.isBlank() ? defaultPattern : setPattern);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
--- a/net/minecraft/util/StringUtil.java
|
||||||
|
+++ b/net/minecraft/util/StringUtil.java
|
||||||
|
@@ -87,6 +_,7 @@
|
||||||
|
|
||||||
|
// Paper start - Username validation
|
||||||
|
public static boolean isReasonablePlayerName(final String name) {
|
||||||
|
+ if (true) return org.purpurmc.purpur.PurpurConfig.usernameValidCharactersPattern.matcher(name).matches(); // Purpur - Configurable valid characters for usernames
|
||||||
|
if (name.isEmpty() || name.length() > 16) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
@@ -5,6 +5,7 @@ import com.google.common.collect.ImmutableMap;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
import net.kyori.adventure.bossbar.BossBar;
|
import net.kyori.adventure.bossbar.BossBar;
|
||||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||||
import net.minecraft.core.Registry;
|
import net.minecraft.core.Registry;
|
||||||
@@ -447,4 +448,11 @@ public class PurpurConfig {
|
|||||||
private static void networkSettings() {
|
private static void networkSettings() {
|
||||||
useUPnP = getBoolean("settings.network.upnp-port-forwarding", useUPnP);
|
useUPnP = getBoolean("settings.network.upnp-port-forwarding", useUPnP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Pattern usernameValidCharactersPattern;
|
||||||
|
private static void usernameValidationSettings() {
|
||||||
|
String defaultPattern = "^[a-zA-Z0-9_.]*$";
|
||||||
|
String setPattern = getString("settings.username-valid-characters", defaultPattern);
|
||||||
|
usernameValidCharactersPattern = Pattern.compile(setPattern == null || setPattern.isBlank() ? defaultPattern : setPattern);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user