Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,9 @@ public HandshakeDataImpl(
if (bedrockData != null) {
String prefix = config.getUsernamePrefix();
int usernameLength = Math.min(bedrockData.getUsername().length(), 16 - prefix.length());
javaUsername = prefix + bedrockData.getUsername().substring(0, usernameLength);
String trimmedUsername = bedrockData.getUsername().substring(0, usernameLength);
if (!config.isPrefixAsSuffix()) javaUsername = prefix + trimmedUsername;
else javaUsername = trimmedUsername + prefix;
if (config.isReplaceSpaces()) {
javaUsername = javaUsername.replace(" ", "_");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,14 @@ public void performCommand(CommandContext<UserAudience> context, boolean add) {
return;
}

if (name.startsWith(config.getUsernamePrefix())) {
name = name.substring(config.getUsernamePrefix().length());
if (!config.isPrefixAsSuffix()) {
if (name.startsWith(config.getUsernamePrefix())) {
name = name.substring(config.getUsernamePrefix().length());
}
} else {
if (name.endsWith(config.getUsernamePrefix())) {
name = name.substring(name.length() - config.getUsernamePrefix().length());
}
}

if (name.isEmpty() || name.length() > 16) {
Expand All @@ -125,7 +131,9 @@ public void performCommand(CommandContext<UserAudience> context, boolean add) {
if (config.isReplaceSpaces()) {
tempName = tempName.replace(' ', '_');
}
final String correctName = config.getUsernamePrefix() + tempName;
String correctName;
if (!config.isPrefixAsSuffix()) correctName = config.getUsernamePrefix() + tempName;
else correctName = tempName + config.getUsernamePrefix();
final String strippedName = name;

// We need to get the UUID of the player if it's not manually specified
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
public class FloodgateConfig implements GenericPostInitializeCallback<ConfigLoader> {
private String keyFileName;
private String usernamePrefix = "";
private boolean prefixAsSuffix;
private boolean replaceSpaces;

private String defaultLocale;
Expand Down
5 changes: 4 additions & 1 deletion core/src/main/resources/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ key-file-name: key.pem
# It is recommended to use a prefix that does not contain alphanumerical to avoid the possibility of duplicate usernames.
username-prefix: "."

# Should Floodgate use the prefix and put it at the end of the username instead?
prefix-as-suffix: false

# Should spaces be replaced with '_' in bedrock usernames?
replace-spaces: true

Expand Down Expand Up @@ -63,4 +66,4 @@ metrics:
uuid: ${metrics.uuid}

# Do not change this
config-version: 3
config-version: 4
Loading