Skip to content

Commit ca26e9a

Browse files
committed
Added config (doesn't work yet- seems to be a recurring theme with me)
1 parent 949fa36 commit ca26e9a

13 files changed

Lines changed: 163 additions & 104 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>adhdmc</groupId>
88
<artifactId>SimpleNicks</artifactId>
9-
<version>0.0.2</version>
9+
<version>0.0.3</version>
1010
<packaging>jar</packaging>
1111

1212
<name>SimpleNicks</name>

src/main/java/adhdmc/simplenicks/SimpleNicks.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,17 @@
33
import adhdmc.simplenicks.commands.CommandHandler;
44
import adhdmc.simplenicks.commands.SubCommand;
55
import adhdmc.simplenicks.commands.subcommands.*;
6+
import adhdmc.simplenicks.config.ConfigUtils;
67
import adhdmc.simplenicks.config.Locale;
78
import net.kyori.adventure.text.minimessage.MiniMessage;
9+
import org.bukkit.configuration.file.FileConfiguration;
810
import org.bukkit.plugin.Plugin;
911
import org.bukkit.plugin.java.JavaPlugin;
1012

1113
import java.util.Collections;
1214
import java.util.HashMap;
1315
import java.util.Map;
16+
import java.util.logging.Logger;
1417

1518
/*command based
1619
[/nick [nickname] or /nick <player> [nickname]]
@@ -34,6 +37,7 @@ public void onEnable() {
3437
instance = this;
3538
registerSubCommands();
3639
locale = Locale.getInstance();
40+
ConfigUtils.loadConfigValues();
3741
this.getCommand("nick").setExecutor(new CommandHandler());
3842
instance.getServer().getPluginManager().registerEvents(new LoginListener(), this);
3943
}
@@ -50,8 +54,8 @@ public static Map<String, SubCommand> getSubCommands() {
5054
return Collections.unmodifiableMap(subCommands);
5155
}
5256

53-
public static Locale getLocale() {
54-
return locale;
57+
public static Logger getSimpleNicksLogger(){
58+
return instance.getLogger();
5559
}
5660

5761
private void registerSubCommands() {

src/main/java/adhdmc/simplenicks/commands/CommandHandler.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
package adhdmc.simplenicks.commands;
22

33
import adhdmc.simplenicks.SimpleNicks;
4-
import adhdmc.simplenicks.config.Locale.Message;
4+
import adhdmc.simplenicks.util.Message;
55
import net.kyori.adventure.text.minimessage.MiniMessage;
66
import org.bukkit.command.*;
7-
import org.bukkit.entity.Player;
87
import org.jetbrains.annotations.NotNull;
9-
import org.jetbrains.annotations.Nullable;
108

119
import java.util.*;
1210

src/main/java/adhdmc/simplenicks/commands/subcommands/Help.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import adhdmc.simplenicks.SimpleNicks;
44
import adhdmc.simplenicks.commands.SubCommand;
5-
import adhdmc.simplenicks.config.Locale;
5+
import adhdmc.simplenicks.util.Message;
66
import adhdmc.simplenicks.util.SimpleNickPermission;
77
import net.kyori.adventure.text.minimessage.MiniMessage;
88
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
@@ -18,10 +18,10 @@ public Help() {
1818

1919
@Override
2020
public void execute(CommandSender sender, String[] args) {
21-
sender.sendMessage(miniMessage.deserialize(Locale.Message.HELP_BASE.getMessage(), Placeholder.parsed("prefix", Locale.Message.PREFIX.getMessage())));
22-
sender.sendMessage(miniMessage.deserialize(Locale.Message.HELP_SET.getMessage()));
23-
sender.sendMessage(miniMessage.deserialize(Locale.Message.HELP_RESET.getMessage()));
24-
sender.sendMessage(miniMessage.deserialize(Locale.Message.HELP_MINIMESSAGE.getMessage()));
21+
sender.sendMessage(miniMessage.deserialize(Message.HELP_BASE.getMessage(), Placeholder.parsed("prefix", Message.PREFIX.getMessage())));
22+
sender.sendMessage(miniMessage.deserialize(Message.HELP_SET.getMessage()));
23+
sender.sendMessage(miniMessage.deserialize(Message.HELP_RESET.getMessage()));
24+
sender.sendMessage(miniMessage.deserialize(Message.HELP_MINIMESSAGE.getMessage()));
2525
}
2626

2727
@Override

src/main/java/adhdmc/simplenicks/commands/subcommands/Reload.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
import adhdmc.simplenicks.SimpleNicks;
44
import adhdmc.simplenicks.commands.SubCommand;
5+
import adhdmc.simplenicks.config.ConfigUtils;
56
import adhdmc.simplenicks.config.Locale;
7+
import adhdmc.simplenicks.util.Message;
68
import adhdmc.simplenicks.util.SimpleNickPermission;
79
import net.kyori.adventure.text.minimessage.MiniMessage;
810
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
@@ -19,11 +21,13 @@ public Reload() {
1921
@Override
2022
public void execute(CommandSender sender, String[] args) {
2123
if (!sender.hasPermission(SimpleNickPermission.NICK_RELOAD.getPermission())){
22-
sender.sendMessage(miniMessage.deserialize(Locale.Message.NO_PERMISSION.getMessage(), Placeholder.parsed("prefix", Locale.Message.PREFIX.getMessage())));
24+
sender.sendMessage(miniMessage.deserialize(Message.NO_PERMISSION.getMessage(), Placeholder.parsed("prefix", Message.PREFIX.getMessage())));
2325
return;
2426
}
2527
Locale.getInstance().reloadConfig();
26-
sender.sendMessage(miniMessage.deserialize(Locale.Message.CONFIG_RELOADED.getMessage(), Placeholder.parsed("prefix", Locale.Message.PREFIX.getMessage())));
28+
Locale.getInstance().loadLocaleMessages();
29+
ConfigUtils.reloadConfigValues();
30+
sender.sendMessage(miniMessage.deserialize(Message.CONFIG_RELOADED.getMessage(), Placeholder.parsed("prefix", Message.PREFIX.getMessage())));
2731

2832

2933
}

src/main/java/adhdmc/simplenicks/commands/subcommands/Reset.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22

33
import adhdmc.simplenicks.SimpleNicks;
44
import adhdmc.simplenicks.commands.SubCommand;
5-
import adhdmc.simplenicks.config.Locale;
6-
import adhdmc.simplenicks.config.Locale.Message;
5+
import adhdmc.simplenicks.util.Message;
76
import adhdmc.simplenicks.util.SimpleNickPermission;
87
import net.kyori.adventure.text.minimessage.MiniMessage;
98
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
@@ -24,27 +23,27 @@ public void execute(CommandSender sender, String[] args) {
2423

2524
// Player Check
2625
if (!(sender instanceof Player)) {
27-
sender.sendMessage(miniMessage.deserialize(Message.CONSOLE_CANNOT_RUN.getMessage(), Placeholder.parsed("prefix", Locale.Message.PREFIX.getMessage()))); // Invalid Usage (Not a Player)
26+
sender.sendMessage(miniMessage.deserialize(Message.CONSOLE_CANNOT_RUN.getMessage(), Placeholder.parsed("prefix", Message.PREFIX.getMessage()))); // Invalid Usage (Not a Player)
2827
return;
2928
}
3029
// Arguments Check
3130
if (args.length > 1) {
32-
sender.sendMessage(miniMessage.deserialize(Message.TOO_MANY_ARGUMENTS.getMessage(), Placeholder.parsed("prefix", Locale.Message.PREFIX.getMessage()))); // Too Many Arguments
31+
sender.sendMessage(miniMessage.deserialize(Message.TOO_MANY_ARGUMENTS.getMessage(), Placeholder.parsed("prefix", Message.PREFIX.getMessage()))); // Too Many Arguments
3332
return;
3433
}
3534
// Admin Check
3635
if (args.length == 1 && !sender.hasPermission(SimpleNickPermission.NICK_ADMIN.getPermission())) {
37-
sender.sendMessage(miniMessage.deserialize(Message.NO_PERMISSION.getMessage(), Placeholder.parsed("prefix", Locale.Message.PREFIX.getMessage()))); // No Permission
36+
sender.sendMessage(miniMessage.deserialize(Message.NO_PERMISSION.getMessage(), Placeholder.parsed("prefix", Message.PREFIX.getMessage()))); // No Permission
3837
return;
3938
}
4039
// Valid Player Check
4140
Player player = (args.length == 0) ? (Player) sender : SimpleNicks.getInstance().getServer().getPlayer(args[0]);
4241
if (player == null) {
43-
sender.sendMessage(miniMessage.deserialize(Message.INVALID_PLAYER.getMessage(), Placeholder.parsed("prefix", Locale.Message.PREFIX.getMessage()))); // Invalid Player
42+
sender.sendMessage(miniMessage.deserialize(Message.INVALID_PLAYER.getMessage(), Placeholder.parsed("prefix", Message.PREFIX.getMessage()))); // Invalid Player
4443
return;
4544
}
4645
if (sender == player && !sender.hasPermission(SimpleNickPermission.NICK_RESET.getPermission())) {
47-
sender.sendMessage(miniMessage.deserialize(Message.TOO_MANY_ARGUMENTS.getMessage(), Placeholder.parsed("prefix", Locale.Message.PREFIX.getMessage()))); // No Permission
46+
sender.sendMessage(miniMessage.deserialize(Message.TOO_MANY_ARGUMENTS.getMessage(), Placeholder.parsed("prefix", Message.PREFIX.getMessage()))); // No Permission
4847
return;
4948
}
5049
// Set Nickname
@@ -53,7 +52,7 @@ public void execute(CommandSender sender, String[] args) {
5352
if (playerPDCString != null)
5453
player.getPersistentDataContainer().remove(Set.nickNameSave); //held name for temp saving option
5554
player.displayName(miniMessage.deserialize(player.getName()));
56-
player.sendMessage(miniMessage.deserialize(Message.NICK_RESET_SELF.getMessage(), Placeholder.parsed("prefix", Locale.Message.PREFIX.getMessage())));
55+
player.sendMessage(miniMessage.deserialize(Message.NICK_RESET_SELF.getMessage(), Placeholder.parsed("prefix", Message.PREFIX.getMessage())));
5756
}
5857

5958
@Override

src/main/java/adhdmc/simplenicks/commands/subcommands/Set.java

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import adhdmc.simplenicks.SimpleNicks;
44
import adhdmc.simplenicks.commands.SubCommand;
5-
import adhdmc.simplenicks.config.Locale;
6-
import adhdmc.simplenicks.config.Locale.Message;
5+
import adhdmc.simplenicks.config.ConfigUtils;
6+
import adhdmc.simplenicks.util.Message;
77
import adhdmc.simplenicks.util.SimpleNickPermission;
88
import net.kyori.adventure.text.Component;
99
import net.kyori.adventure.text.minimessage.MiniMessage;
@@ -12,19 +12,17 @@
1212
import org.bukkit.NamespacedKey;
1313
import org.bukkit.command.CommandSender;
1414
import org.bukkit.entity.Player;
15-
import org.bukkit.permissions.Permission;
1615
import org.bukkit.persistence.PersistentDataType;
1716

1817
import java.util.ArrayList;
19-
import java.util.Collections;
2018
import java.util.List;
2119

2220
public class Set extends SubCommand {
2321

2422
public static final NamespacedKey nickNameSave = new NamespacedKey(SimpleNicks.getInstance(), "nickname");
2523

26-
public static final int MAX_NICKNAME_LENGTH = 30; // TODO: Change this temporary constant into a config option.
27-
public static final String NICKNAME_REGEX = "[A-Za-z0-9_]+"; // TODO: Change this temporary constant into a config option.
24+
private final int MAX_NICKNAME_LENGTH = ConfigUtils.getMaxNicknameLength();// TODO: Change this temporary constant into a config option.
25+
private final String NICKNAME_REGEX = ConfigUtils.getNicknameRegex(); // TODO: Change this temporary constant into a config option.
2826

2927
public Set() {
3028
super("set", "sets a nickname", "/nick set", SimpleNickPermission.NICK_COMMAND);
@@ -63,22 +61,22 @@ public void execute(CommandSender sender, String[] args) {
6361
// TODO: Allow regex to be modifiable by config.
6462
// TODO: Check if the person has permissions to use the tags, perms & their connected tags are in ConfigDefaults - RhythmicSys
6563
if (!nicknameStripped.matches(NICKNAME_REGEX)) {
66-
sender.sendMessage(miniMessage.deserialize(Message.INVALID_NICK_REGEX.getMessage(), Placeholder.parsed("prefix", Locale.Message.PREFIX.getMessage()))); // Non-Alphanumeric Nickname
64+
sender.sendMessage(miniMessage.deserialize(Message.INVALID_NICK_REGEX.getMessage(), Placeholder.parsed("prefix", Message.PREFIX.getMessage()))); // Non-Alphanumeric Nickname
6765
return;
6866
}
6967
if (nicknameStripped.length() > MAX_NICKNAME_LENGTH) {
70-
sender.sendMessage(miniMessage.deserialize(Message.INVALID_NICK_TOO_LONG.getMessage(), Placeholder.parsed("prefix", Locale.Message.PREFIX.getMessage()))); // Nickname Too Long
68+
sender.sendMessage(miniMessage.deserialize(Message.INVALID_NICK_TOO_LONG.getMessage(), Placeholder.parsed("prefix", Message.PREFIX.getMessage()))); // Nickname Too Long
7169
return;
7270
}
7371
// Valid Player Check
7472
Player player = (args.length == 1) ? (Player) sender : SimpleNicks.getInstance().getServer().getPlayer(args[1]);
7573
if (player == null) {
76-
sender.sendMessage(miniMessage.deserialize(Message.INVALID_PLAYER.getMessage(), Placeholder.parsed("prefix", Locale.Message.PREFIX.getMessage()))); // Invalid Player
74+
sender.sendMessage(miniMessage.deserialize(Message.INVALID_PLAYER.getMessage(), Placeholder.parsed("prefix", Message.PREFIX.getMessage()))); // Invalid Player
7775
return;
7876
}
7977
// Check against cached usernames
8078
if (!player.hasPermission(SimpleNickPermission.NICK_USERNAME_BYPASS.getPermission()) && (SimpleNicks.getInstance().getServer().getOfflinePlayerIfCached(nicknameStripped) != null) && !(nicknameStripped.equals(player.getName()))){
81-
sender.sendMessage(miniMessage.deserialize(Message.CANNOT_NICK_USERNAME.getMessage(), Placeholder.parsed("name", nicknameStripped), Placeholder.parsed("prefix", Locale.Message.PREFIX.getMessage())));
79+
sender.sendMessage(miniMessage.deserialize(Message.CANNOT_NICK_USERNAME.getMessage(), Placeholder.parsed("name", nicknameStripped), Placeholder.parsed("prefix", Message.PREFIX.getMessage())));
8280
return;
8381
}
8482

@@ -87,7 +85,7 @@ public void execute(CommandSender sender, String[] args) {
8785
//temporary saving option
8886
String nickToSave = args[0];
8987
//TODO: config option for admin settings to be restricted to their own permissions
90-
Component nickname = null;
88+
Component nickname;
9189
if (sender.hasPermission(SimpleNickPermission.NICK_ADMIN.getPermission())) {
9290
nickname = miniMessage.deserialize(args[0]);
9391
} else {
@@ -103,7 +101,7 @@ public void execute(CommandSender sender, String[] args) {
103101
player.getPersistentDataContainer().set(nickNameSave, PersistentDataType.STRING, nickToSave);
104102
//---
105103
player.displayName(nickname);
106-
player.sendMessage(miniMessage.deserialize(Message.NICK_CHANGED_SELF.getMessage(), Placeholder.component("nickname", nickname), Placeholder.parsed("prefix", Locale.Message.PREFIX.getMessage())));
104+
player.sendMessage(miniMessage.deserialize(Message.NICK_CHANGED_SELF.getMessage(), Placeholder.component("nickname", nickname), Placeholder.parsed("prefix", Message.PREFIX.getMessage())));
107105
}
108106

109107
@Override

src/main/java/adhdmc/simplenicks/config/Config.java

Lines changed: 0 additions & 6 deletions
This file was deleted.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package adhdmc.simplenicks.config;
2+
3+
import adhdmc.simplenicks.SimpleNicks;
4+
import org.bukkit.configuration.file.FileConfiguration;
5+
6+
public class ConfigUtils {
7+
private static int MAX_NICKNAME_LENGTH = 30;
8+
private static String NICKNAME_REGEX = "[A-Za-z0-9_]+";
9+
10+
public static void reloadConfigValues(){
11+
MAX_NICKNAME_LENGTH = 30;
12+
NICKNAME_REGEX = "[A-Za-z0-9_]+";
13+
int configuredLength = SimpleNicks.getInstance().getConfig().getInt("max-nickname-length");
14+
String configuredREGEX = SimpleNicks.getInstance().getConfig().getString("nickname-regex");
15+
try{
16+
MAX_NICKNAME_LENGTH = configuredLength;
17+
}catch (IllegalArgumentException | NullPointerException e){
18+
SimpleNicks.getSimpleNicksLogger().warning("Configured max-nickname-length is invalid. Please check your config.");
19+
MAX_NICKNAME_LENGTH = 30;
20+
}
21+
NICKNAME_REGEX = configuredREGEX;
22+
}
23+
24+
public static void loadConfigValues(){
25+
SimpleNicks.getInstance().getConfig();
26+
Defaults.setConfigDefaults();
27+
SimpleNicks.getInstance().saveDefaultConfig();
28+
reloadConfigValues();
29+
}
30+
31+
public static String getNicknameRegex() {
32+
return NICKNAME_REGEX;
33+
}
34+
35+
public static int getMaxNicknameLength() {
36+
return MAX_NICKNAME_LENGTH;
37+
}
38+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package adhdmc.simplenicks.config;
2+
3+
import adhdmc.simplenicks.SimpleNicks;
4+
import org.bukkit.configuration.file.FileConfiguration;
5+
6+
public class Defaults {
7+
public static void setLocaleDefaults() {
8+
FileConfiguration locale = Locale.getInstance().getLocaleConfig();
9+
locale.addDefault("invalid-command", "<prefix><red>Invalid command.");
10+
locale.addDefault("no-arguments", "<prefix><red>No arguments provided.");
11+
locale.addDefault("too-many-arguments", "<prefix><red>Too many arguments provided.");
12+
locale.addDefault("cant-nick-username", "<prefix><red>You cannot name yourself <name>, as that is the username of another player on this server. Pick another name");
13+
locale.addDefault("no-permission", "<prefix><red>You do not have permission to run this command");
14+
locale.addDefault("console-cannot-run", "<prefix><red>This command cannot be run on the Console.");
15+
locale.addDefault("invalid-player", "<prefix><red>Invalid player specified");
16+
locale.addDefault("invalid-nick-regex", "<prefix><red>Not a valid nickname, must follow regex: ");
17+
locale.addDefault("invalid-nick-too-long", "<prefix><red>Nickname is too long, must be <=");
18+
locale.addDefault("invalid-tags", "<prefix><red>You have used a color or formatting tag you do not have permission to use. Please try again");
19+
locale.addDefault("prefix", "<aqua>SimpleNicks <white>» ");
20+
locale.addDefault("help-base", "<prefix><green>--------");
21+
locale.addDefault("help-set","<aqua>· <yellow>Setting a nickname: \n <gray>/nick set <nickname>");
22+
locale.addDefault("help-reset","<aqua>· <yellow>removing a nickname: \n <gray>/nick reset");
23+
locale.addDefault("help-minimessage", "<aqua>· <yellow>Formatting: \n <gray>This plugin uses minimessage formatting. You can find a format viewer <aqua><u><click:open_url:'https://webui.adventure.kyori.net/'>here</click></u></aqua>");
24+
locale.addDefault("config-reload", "<prefix><gold>SimpleNicks config and locale reloaded");
25+
locale.addDefault("nick-changed-self", "<prefix><green>Changed your own nickname to <nickname>!");
26+
locale.addDefault("nick-changed-other", "<prefix><green>Changed <username>'s nickname to <nickname>");
27+
locale.addDefault("nick-reset-self", "<prefix><green>Reset your own nickname!");
28+
locale.addDefault("nick-reset-other", "<prefix><green>Reset <username>'s nickname.");
29+
}
30+
31+
public static void setConfigDefaults() {
32+
FileConfiguration config = SimpleNicks.getInstance().getConfig();
33+
config.addDefault("max-nickname-length", 30);
34+
config.addDefault("nickname-regex","[A-Za-z0-9_]+");
35+
}
36+
}

0 commit comments

Comments
 (0)