Skip to content

Commit 47de2dd

Browse files
committed
Working again
1 parent c77f63d commit 47de2dd

File tree

16 files changed

+241
-48
lines changed

16 files changed

+241
-48
lines changed

pom.xml

Lines changed: 9 additions & 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>1.0.1</version>
9+
<version>2.0.0</version>
1010
<packaging>jar</packaging>
1111

1212
<name>SimpleNicks</name>
@@ -39,6 +39,14 @@
3939
</goals>
4040
<configuration>
4141
<createDependencyReducedPom>false</createDependencyReducedPom>
42+
<transformers>
43+
<transformer
44+
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
45+
<manifestEntries>
46+
<paperweight-mappings-namespace>mojang</paperweight-mappings-namespace>
47+
</manifestEntries>
48+
</transformer>
49+
</transformers>
4250
</configuration>
4351
</execution>
4452
</executions>

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@
44
import org.bukkit.plugin.Plugin;
55
import org.bukkit.plugin.java.JavaPlugin;
66
import simplexity.simplenicks.commands.CommandHandler;
7+
import simplexity.simplenicks.commands.Delete;
8+
import simplexity.simplenicks.commands.Help;
79
import simplexity.simplenicks.commands.Reset;
810
import simplexity.simplenicks.commands.Save;
911
import simplexity.simplenicks.commands.Set;
12+
import simplexity.simplenicks.commands.SNReload;
1013
import simplexity.simplenicks.commands.SubCommand;
1114
import simplexity.simplenicks.config.ConfigHandler;
1215
import simplexity.simplenicks.config.LocaleHandler;
@@ -43,6 +46,7 @@ public void onEnable() {
4346
this.saveDefaultConfig();
4447
ConfigHandler.getInstance().setConfigDefaults();
4548
this.getCommand("nick").setExecutor(new CommandHandler());
49+
this.getCommand("snreload").setExecutor(new SNReload());
4650
if (this.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
4751
new SNExpansion().register();
4852
}
@@ -68,10 +72,10 @@ public static Logger getSimpleNicksLogger() {
6872

6973
private void registerSubCommands() {
7074
subCommands.put("reset", new Reset("reset", Constants.NICK_RESET, Constants.NICK_RESET_OTHERS, false));
71-
//subCommands.put("help", new Help());
75+
subCommands.put("help", new Help("help", Constants.NICK_COMMAND, Constants.NICK_OTHERS_COMMAND, true));
7276
subCommands.put("set", new Set("set", Constants.NICK_COMMAND, Constants.NICK_OTHERS_RESTRICTIVE, false));
7377
subCommands.put("save", new Save("save", Constants.NICK_SAVE, Constants.NICK_OTHERS_SAVE, false));
74-
//subCommands.put("delete", new Delete());
78+
subCommands.put("delete", new Delete("delete", Constants.NICK_DELETE, Constants.NICK_OTHERS_DELETE, false));
7579
}
7680

7781
public static void configReload() {

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

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
2727
}
2828
if (args.length >= 2) {
2929
Player player = getPlayerFromArgs(args);
30-
if (player != null) {
30+
String subCommandString = args[0].toLowerCase();
31+
SubCommand subCommand = SimpleNicks.getSubCommands().get(subCommandString);
32+
if (subCommand != null && sender.hasPermission(subCommand.adminPermission) && (player != null)) {
3133
commandOnOther(sender, args, player);
3234
return true;
3335
}
@@ -83,9 +85,7 @@ private void commandOnSelf(CommandSender sender, String[] args) {
8385
tabComplete.clear();
8486
Player player = getPlayerForTabComplete(sender, args);
8587
switch (args.length) {
86-
case 0, 1 -> {
87-
addSubCommandsToTabComplete(sender);
88-
}
88+
case 0, 1 -> addSubCommandsToTabComplete(sender);
8989
case 2 -> {
9090
SubCommand subCommand = SimpleNicks.getSubCommands().get(args[0].toLowerCase());
9191
if (SimpleNicks.getSubCommands().containsKey(args[0].toLowerCase())) {
@@ -132,7 +132,6 @@ private void addSubCommandsToTabComplete(CommandSender sender) {
132132
}
133133

134134
private void sendMessage(CommandSender sender, String message) {
135-
sender.sendMessage(miniMessage.deserialize(message,
136-
Placeholder.parsed("prefix", LocaleHandler.getInstance().getPluginPrefix())));
135+
sender.sendMessage(miniMessage.deserialize(message, Placeholder.parsed("prefix", LocaleHandler.getInstance().getPluginPrefix())));
137136
}
138137
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
package simplexity.simplenicks.commands;
2+
3+
import org.bukkit.command.CommandSender;
4+
import org.bukkit.entity.Player;
5+
import org.bukkit.permissions.Permission;
6+
import simplexity.simplenicks.config.LocaleHandler;
7+
import simplexity.simplenicks.util.NickHandler;
8+
9+
import java.util.ArrayList;
10+
import java.util.List;
11+
12+
public class Delete extends SubCommand{
13+
public Delete(String commandName, Permission basicPermission, Permission adminPermission, boolean consoleRunNoPlayer) {
14+
super(commandName, basicPermission, adminPermission, consoleRunNoPlayer);
15+
}
16+
17+
@Override
18+
public void executeOnOther(CommandSender sender, Player player, String[] args) {
19+
if (!isValidArgsLength(sender, player, args, 3)) {
20+
return;
21+
}
22+
String nickname = args[2];
23+
if (removeSavedNick(sender, player, nickname)) {
24+
sender.sendMessage(parsedMessage(sender, player, LocaleHandler.getInstance().getDeleteNick(), nickname));
25+
}
26+
27+
}
28+
29+
@Override
30+
public void executeOnSelf(CommandSender sender, Player player, String[] args) {
31+
if (!isValidArgsLength(sender, player, args, 2)) {
32+
return;
33+
}
34+
String nickname = args[1];
35+
if (removeSavedNick(sender, player, nickname)) {
36+
sender.sendMessage(parsedMessage(sender, player, LocaleHandler.getInstance().getDeleteNick(), nickname));
37+
}
38+
}
39+
40+
private boolean removeSavedNick(CommandSender sender, Player player, String nickname) {
41+
List<String> savedNicks = NickHandler.getInstance().getSavedNicknames(player);
42+
if (!savedNicks.contains(nickname)) {
43+
sender.sendMessage(parsedMessage(sender, player, LocaleHandler.getInstance().getNameNonexistent(), nickname));
44+
return false;
45+
}
46+
NickHandler.getInstance().deleteNickname(player, nickname);
47+
NickHandler.getInstance().refreshNickname(player);
48+
return true;
49+
}
50+
51+
@Override
52+
public ArrayList<String> tabComplete(CommandSender sender, String[] args, Player player) {
53+
if (player == null) {
54+
return null;
55+
}
56+
List<String> savedNickNames = NickHandler.getInstance().getSavedNicknames(player);
57+
return (ArrayList<String>) savedNickNames;
58+
}
59+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package simplexity.simplenicks.commands;
2+
3+
import org.bukkit.command.CommandSender;
4+
import org.bukkit.entity.Player;
5+
import org.bukkit.permissions.Permission;
6+
import simplexity.simplenicks.config.LocaleHandler;
7+
8+
import java.util.ArrayList;
9+
10+
public class Help extends SubCommand {
11+
12+
public Help(String commandName, Permission basicPermission, Permission adminPermission, boolean consoleRunNoPlayer) {
13+
super(commandName, basicPermission, adminPermission, consoleRunNoPlayer);
14+
}
15+
16+
@Override
17+
public void executeOnOther(CommandSender sender, Player player, String[] args) {
18+
sender.sendMessage(parsedMessage(sender, player, LocaleHandler.getInstance().getShownHelp(), player.getName()));
19+
player.sendMessage(parsedMessage(sender, player, LocaleHandler.getInstance().getHelpMessage(), ""));
20+
}
21+
22+
@Override
23+
public void executeOnSelf(CommandSender sender, Player player, String[] args) {
24+
sender.sendMessage(parsedMessage(sender, player, LocaleHandler.getInstance().getHelpMessage(), ""));
25+
}
26+
27+
@Override
28+
public ArrayList<String> tabComplete(CommandSender sender, String[] args, Player player) {
29+
return null;
30+
}
31+
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public void resetName(Player player) {
3535
}
3636

3737
@Override
38-
public ArrayList<String> tabComplete(CommandSender sender, String[] args, Player playerPlaceholder) {
38+
public ArrayList<String> tabComplete(CommandSender sender, String[] args, Player player) {
3939
return null;
4040
}
4141
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package simplexity.simplenicks.commands;
2+
3+
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
4+
import org.bukkit.command.Command;
5+
import org.bukkit.command.CommandExecutor;
6+
import org.bukkit.command.CommandSender;
7+
import org.jetbrains.annotations.NotNull;
8+
import simplexity.simplenicks.SimpleNicks;
9+
import simplexity.simplenicks.config.ConfigHandler;
10+
import simplexity.simplenicks.config.LocaleHandler;
11+
12+
public class SNReload implements CommandExecutor {
13+
@Override
14+
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String s, @NotNull String[] args) {
15+
ConfigHandler.getInstance().reloadConfig();
16+
LocaleHandler.getInstance().loadLocale();
17+
sender.sendMessage(SimpleNicks.getMiniMessage().deserialize(LocaleHandler.getInstance().getConfigReloaded(),
18+
Placeholder.parsed("prefix", LocaleHandler.getInstance().getPluginPrefix())));
19+
return false;
20+
}
21+
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public boolean savePlayerNick(Player player) {
4848
}
4949

5050
@Override
51-
public ArrayList<String> tabComplete(CommandSender sender, String[] args, Player playerPlaceholder) {
51+
public ArrayList<String> tabComplete(CommandSender sender, String[] args, Player player) {
5252
return null;
5353
}
5454
}

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

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public Set(String commandName, Permission basicPermission, Permission adminPermi
2828

2929
@Override
3030
public void executeOnOther(CommandSender sender, Player player, String[] args) {
31-
if (!validateArgsLength(sender, player, args, 3)) {
31+
if (!isValidArgsLength(sender, player, args, 3)) {
3232
return;
3333
}
3434
String nickname = args[2];
@@ -53,7 +53,7 @@ public void executeOnOther(CommandSender sender, Player player, String[] args) {
5353

5454
@Override
5555
public void executeOnSelf(CommandSender sender, Player player, String[] args) {
56-
if (!validateArgsLength(sender, player, args, 2)) return;
56+
if (!isValidArgsLength(sender, player, args, 2)) return;
5757
String nickname = args[1];
5858
if (!passesChecks(sender, nickname, player)) {
5959
return;
@@ -75,21 +75,15 @@ private boolean setPlayerNick(Player player, Component nickComponent) {
7575
return true;
7676
}
7777

78-
private boolean validateArgsLength(CommandSender sender, Player player, String[] args, int minArgsLength) {
79-
if (args.length < minArgsLength) {
80-
parsedMessage(sender, player, LocaleHandler.getInstance().getNotEnoughArgs(), "");
81-
return false;
82-
}
83-
return true;
84-
}
78+
8579

8680

8781
@Override
88-
public ArrayList<String> tabComplete(CommandSender sender, String[] args, Player playerPlaceholder) {
89-
if (playerPlaceholder == null) {
82+
public ArrayList<String> tabComplete(CommandSender sender, String[] args, Player player) {
83+
if (player == null) {
9084
return null;
9185
}
92-
List<String> savedNickNames = NickHandler.getInstance().getSavedNicknames(playerPlaceholder);
86+
List<String> savedNickNames = NickHandler.getInstance().getSavedNicknames(player);
9387
return (ArrayList<String>) savedNickNames;
9488
}
9589

@@ -133,6 +127,7 @@ private boolean passesChecks(CommandSender sender, String nickname, Player playe
133127
}
134128
if (playerToCheck.getPlayer() == player) {
135129
return true;
130+
136131
}
137132
if (!sender.hasPermission(Constants.NICK_USERNAME_BYPASS)) {
138133
long lastSeen = playerToCheck.getLastSeen();

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public SubCommand(String commandName, Permission basicPermission, Permission adm
2929

3030
public abstract void executeOnSelf(CommandSender sender, Player player, String[] args);
3131

32-
public abstract ArrayList<String> tabComplete(CommandSender sender, String[] args, Player playerPlaceholder);
32+
public abstract ArrayList<String> tabComplete(CommandSender sender, String[] args, Player player);
3333

3434
public String getCommandName() {
3535
return commandName;
@@ -66,4 +66,12 @@ public Component parsedMessage(CommandSender sender, Player player, String messa
6666
Placeholder.component("target", playerName),
6767
Placeholder.parsed("value", value));
6868
}
69+
70+
public boolean isValidArgsLength(CommandSender sender, Player player, String[] args, int minArgsLength) {
71+
if (args.length < minArgsLength) {
72+
sender.sendMessage(parsedMessage(sender, player, LocaleHandler.getInstance().getNotEnoughArgs(), ""));
73+
return false;
74+
}
75+
return true;
76+
}
6977
}

0 commit comments

Comments
 (0)