Skip to content

Commit 19a08a7

Browse files
committed
Adds the ability to add a prefix to nicknamed players, fixes /snreload and adjusts confighandler to not have redundant default setting
1 parent 138714b commit 19a08a7

7 files changed

Lines changed: 33 additions & 26 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>simplexity</groupId>
88
<artifactId>SimpleNicks</artifactId>
9-
<version>2.0.2</version>
9+
<version>2.1.0</version>
1010
<packaging>jar</packaging>
1111

1212
<name>SimpleNicks</name>

src/main/java/simplexity/simplenicks/SimpleNicks.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ public void onEnable() {
4444
instance = this;
4545
registerSubCommands();
4646
this.saveDefaultConfig();
47-
ConfigHandler.getInstance().setConfigDefaults();
47+
getConfig().options().copyDefaults(true);
48+
saveConfig();
4849
this.getCommand("nick").setExecutor(new CommandHandler());
4950
this.getCommand("snreload").setExecutor(new SNReload());
5051
if (this.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {

src/main/java/simplexity/simplenicks/commands/SNReload.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
package simplexity.simplenicks.commands;
22

33
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
4+
import org.bukkit.Bukkit;
45
import org.bukkit.command.Command;
56
import org.bukkit.command.CommandExecutor;
67
import org.bukkit.command.CommandSender;
8+
import org.bukkit.entity.Player;
79
import org.jetbrains.annotations.NotNull;
810
import simplexity.simplenicks.SimpleNicks;
911
import simplexity.simplenicks.config.ConfigHandler;
1012
import simplexity.simplenicks.config.LocaleHandler;
13+
import simplexity.simplenicks.util.NickHandler;
1114

1215
public class SNReload implements CommandExecutor {
1316
@Override
@@ -16,6 +19,9 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
1619
LocaleHandler.getInstance().loadLocale();
1720
sender.sendMessage(SimpleNicks.getMiniMessage().deserialize(LocaleHandler.getInstance().getConfigReloaded(),
1821
Placeholder.parsed("prefix", LocaleHandler.getInstance().getPluginPrefix())));
22+
for (Player player : Bukkit.getServer().getOnlinePlayers()) {
23+
NickHandler.getInstance().refreshNickname(player);
24+
}
1925
return false;
2026
}
2127
}

src/main/java/simplexity/simplenicks/config/ConfigHandler.java

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import org.bukkit.configuration.file.FileConfiguration;
44
import simplexity.simplenicks.SimpleNicks;
55

6+
import java.util.logging.Logger;
67
import java.util.regex.Pattern;
78
import java.util.regex.PatternSyntaxException;
89

@@ -12,16 +13,22 @@ public String getRegexString() {
1213
return regexString;
1314
}
1415

16+
public String getNickPrefix() {
17+
return nickPrefix;
18+
}
19+
1520
public enum SAVING_TYPE {PDC, FILE}
1621

1722
private static ConfigHandler instance;
1823

24+
private final Logger logger = SimpleNicks.getSimpleNicksLogger();
1925
private Pattern regex = Pattern.compile("[A-Za-z0-9_]+");
2026
private SAVING_TYPE savingType = SAVING_TYPE.FILE;
2127
private int maxLength = 25;
2228
private int maxSaves = 5;
2329
private boolean tablistNick = false;
2430
private String regexString = "[A-Za-z0-9_]+";
31+
private String nickPrefix;
2532
private long usernameProtectionTime = 0;
2633

2734
private ConfigHandler() {
@@ -36,39 +43,30 @@ public static ConfigHandler getInstance() {
3643
public void reloadConfig() {
3744
SimpleNicks.getInstance().reloadConfig();
3845
LocaleHandler.getInstance().loadLocale();
46+
FileConfiguration config = SimpleNicks.getInstance().getConfig();
3947
// Check the validity of the regex.
4048
try {
41-
String regexSetting = SimpleNicks.getInstance().getConfig().getString("nickname-regex");
49+
String regexSetting = config.getString("nickname-regex", "[A-Za-z0-9_]+");
4250
regexString = regexSetting;
43-
assert regexSetting != null;
4451
assert !regexSetting.isBlank();
4552
regex = Pattern.compile(regexSetting);
46-
} catch (AssertionError | PatternSyntaxException e) {
47-
SimpleNicks.getSimpleNicksLogger().severe(LocaleHandler.getInstance().getInvalidConfigRegex());
53+
} catch (PatternSyntaxException e) {
54+
logger.severe(LocaleHandler.getInstance().getInvalidConfigRegex());
4855
}
4956
// Check validity of saving-type.
5057
try {
51-
String savingTypeSetting = SimpleNicks.getInstance().getConfig().getString("saving-type");
52-
assert savingTypeSetting != null;
58+
String savingTypeSetting = config.getString("saving-type", "file");
5359
savingType = SAVING_TYPE.valueOf(savingTypeSetting.toUpperCase());
54-
} catch (AssertionError | IllegalArgumentException e) {
55-
SimpleNicks.getInstance().getLogger().severe("INVALID SAVING TYPE");
60+
} catch (IllegalArgumentException e) {
61+
logger.severe("INVALID SAVING TYPE");
5662
}
57-
maxLength = SimpleNicks.getInstance().getConfig().getInt("max-nickname-length");
58-
maxSaves = SimpleNicks.getInstance().getConfig().getInt("max-saves");
59-
tablistNick = SimpleNicks.getInstance().getConfig().getBoolean("tablist-nick");
60-
usernameProtectionTime = SimpleNicks.getInstance().getConfig().getLong("username-protection") * 86400000;
63+
maxLength = config.getInt("max-nickname-length", 25);
64+
maxSaves = config.getInt("max-saves", 5);
65+
tablistNick = config.getBoolean("tablist-nick", false);
66+
usernameProtectionTime = config.getLong("username-protection", 30) * 86400000;
67+
nickPrefix = config.getString("nickname-prefix", "");
6168
}
6269

63-
public void setConfigDefaults() {
64-
FileConfiguration config = SimpleNicks.getInstance().getConfig();
65-
config.addDefault("saving-type", "file");
66-
config.addDefault("max-nickname-length", 25);
67-
config.addDefault("max-saves", 5);
68-
config.addDefault("nickname-regex", "[A-Za-z0-9_]+");
69-
config.addDefault("tablist-nick", false);
70-
config.addDefault("username-protection", 30);
71-
}
7270

7371
public Pattern getRegex() {
7472
return regex;

src/main/java/simplexity/simplenicks/util/NickHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public boolean refreshNickname(OfflinePlayer p) {
5151
if (nicknameRaw == null || nicknameRaw.isBlank()) {
5252
player.displayName(null);
5353
} else {
54-
player.displayName(miniMessage.deserialize(nicknameRaw));
54+
player.displayName(miniMessage.deserialize(ConfigHandler.getInstance().getNickPrefix() + nicknameRaw));
5555
if (ConfigHandler.getInstance().shouldNickTablist()) {
5656
player.playerListName(miniMessage.deserialize(nicknameRaw));
5757
}

src/main/resources/config.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,7 @@ tablist-nick: false
2222
# How long should people be offline before their username is available to use as a nickname?
2323
# In days, -1 to disable username protection altogether
2424

25-
username-protection: 30
25+
username-protection: 30
26+
27+
# What prefix should be given for players who have a nickname? put "" if you want no prefix
28+
nickname-prefix: ""

src/main/resources/plugin.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ commands:
1515
snreload:
1616
description: "Reloads the config and locale of SimpleNicks."
1717
aliases: [simplenicksreload, simplenickreload, snreload]
18-
usage: "Usage: /snreload"
1918
permission: simplenick.reload
2019
permissions:
2120
simplenick.admin:

0 commit comments

Comments
 (0)