mirror of
https://github.com/GeyserMC/Floodgate.git
synced 2026-01-06 15:42:03 +00:00
Add option to replace spaces in names, to allow for better handling in java plugins (#15)
This commit is contained in:
@@ -27,6 +27,8 @@ public class FloodgateConfig {
|
||||
private DisconnectMessages messages;
|
||||
@JsonProperty(value = "username-prefix")
|
||||
private String usernamePrefix;
|
||||
@JsonProperty(value = "replace-spaces")
|
||||
private boolean replaceSpaces;
|
||||
|
||||
@JsonProperty
|
||||
private boolean debug;
|
||||
|
||||
@@ -37,10 +37,13 @@ public class FloodgatePlayer {
|
||||
*/
|
||||
private UUID javaUniqueId;
|
||||
|
||||
FloodgatePlayer(BedrockData data, String prefix) {
|
||||
FloodgatePlayer(BedrockData data, String prefix, boolean replaceSpaces) {
|
||||
version = data.getVersion();
|
||||
username = data.getUsername();
|
||||
javaUsername = prefix + data.getUsername().substring(0, Math.min(data.getUsername().length(), 16 - prefix.length()));
|
||||
if (replaceSpaces) {
|
||||
javaUsername = javaUsername.replaceAll(" ", "_");
|
||||
}
|
||||
xuid = data.getXuid();
|
||||
deviceOS = DeviceOS.getById(data.getDeviceId());
|
||||
languageCode = data.getLanguageCode();
|
||||
|
||||
@@ -18,11 +18,13 @@ public class HandshakeHandler {
|
||||
private PrivateKey privateKey;
|
||||
private boolean bungee;
|
||||
private String usernamePrefix;
|
||||
private boolean replaceSpaces;
|
||||
|
||||
public HandshakeHandler(@NonNull PrivateKey privateKey, boolean bungee, String usernamePrefix) {
|
||||
public HandshakeHandler(@NonNull PrivateKey privateKey, boolean bungee, String usernamePrefix, boolean replaceSpaces) {
|
||||
this.privateKey = privateKey;
|
||||
this.bungee = bungee;
|
||||
this.usernamePrefix = usernamePrefix;
|
||||
this.replaceSpaces = replaceSpaces;
|
||||
}
|
||||
|
||||
public HandshakeResult handle(@NonNull String handshakeData) {
|
||||
@@ -42,7 +44,7 @@ public class HandshakeHandler {
|
||||
return ResultType.INVALID_DATA_LENGTH.getCachedResult();
|
||||
}
|
||||
|
||||
FloodgatePlayer player = new FloodgatePlayer(bedrockData, usernamePrefix);
|
||||
FloodgatePlayer player = new FloodgatePlayer(bedrockData, usernamePrefix, replaceSpaces);
|
||||
AbstractFloodgateAPI.players.put(player.getJavaUniqueId(), player);
|
||||
return new HandshakeResult(ResultType.SUCCESS, data, bedrockData, player);
|
||||
} catch (NoSuchPaddingException | NoSuchAlgorithmException | InvalidKeyException | IllegalBlockSizeException | BadPaddingException e) {
|
||||
|
||||
Reference in New Issue
Block a user