Skip to content

Commit 343fa2e

Browse files
committed
bruh momento
1 parent f7f4540 commit 343fa2e

4 files changed

Lines changed: 53 additions & 24 deletions

File tree

‎build.gradle.kts‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
plugins {
22
java
3+
checkstyle
34
`maven-publish`
45
}
56

@@ -35,6 +36,11 @@ java {
3536
toolchain.languageVersion.set(JavaLanguageVersion.of(25))
3637
}
3738

39+
checkstyle {
40+
toolVersion = "14.1.0"
41+
configFile = rootProject.file("config/checkstyle/checkstyle.xml")
42+
}
43+
3844
publishing {
3945
publications {
4046
create<MavenPublication>("maven") {

‎config/checkstyle/checkstyle.xml‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0"?>
2+
<!DOCTYPE module PUBLIC
3+
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
4+
"https://checkstyle.org/dtds/configuration_1_3.dtd">
5+
6+
<module name="Checker">
7+
<module name="SuppressWarningsFilter"/>
8+
<module name="TreeWalker">
9+
<module name="SuppressWarningsHolder"/>
10+
<module name="CyclomaticComplexity">
11+
<property name="max" value="15"/>
12+
<property name="switchBlockAsSingleDecisionPoint" value="true"/>
13+
</module>
14+
</module>
15+
</module>

‎src/main/java/dev/plex/module/nickmm/NickMiniMessageModule.java‎

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,31 @@
77

88
public class NickMiniMessageModule extends PlexModule
99
{
10+
private Essentials essentials;
11+
1012
@Override
1113
public void load()
1214
{
13-
registerCommand(new NickMMCommand());
15+
registerCommand(new NickMMCommand(this));
1416
}
1517

1618
@Override
1719
public void enable()
1820
{
19-
if (!Bukkit.getPluginManager().isPluginEnabled("Essentials"))
21+
if (!Bukkit.getPluginManager().isPluginEnabled("Essentials")
22+
|| !(Bukkit.getPluginManager().getPlugin("Essentials") instanceof Essentials essentialsPlugin))
2023
{
2124
throw new IllegalStateException("EssentialsX is required for this module to work!");
2225
}
23-
26+
essentials = essentialsPlugin;
2427
}
2528

26-
public static Essentials getEssentials()
29+
public Essentials getEssentials()
2730
{
28-
return (Essentials) Bukkit.getPluginManager().getPlugin("Essentials");
31+
if (essentials == null)
32+
{
33+
throw new IllegalStateException("EssentialsX is not available before the module is enabled");
34+
}
35+
return essentials;
2936
}
3037
}

‎src/main/java/dev/plex/module/nickmm/command/NickMMCommand.java‎

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

33
import com.earth2me.essentials.I18n;
44
import com.earth2me.essentials.User;
5+
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
56
import dev.plex.command.SimplePlexCommand;
67
import dev.plex.command.source.RequiredCommandSource;
78
import dev.plex.module.nickmm.NickMiniMessageModule;
@@ -11,7 +12,6 @@
1112
import java.util.List;
1213

1314
import net.kyori.adventure.text.Component;
14-
import net.kyori.adventure.text.format.NamedTextColor;
1515
import net.kyori.adventure.text.minimessage.Context;
1616
import net.kyori.adventure.text.minimessage.MiniMessage;
1717
import net.kyori.adventure.text.minimessage.ParsingException;
@@ -20,19 +20,20 @@
2020
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;
2121
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
2222
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
23-
import org.bukkit.Bukkit;
2423
import org.bukkit.command.CommandSender;
2524
import org.bukkit.entity.Player;
25+
import io.papermc.paper.command.brigadier.CommandSourceStack;
2626
import org.jetbrains.annotations.NotNull;
2727
import org.jetbrains.annotations.Nullable;
2828

2929
public class NickMMCommand extends SimplePlexCommand
3030
{
31+
private final NickMiniMessageModule module;
3132
private final PlainTextComponentSerializer plainText = PlainTextComponentSerializer.plainText();
3233
private final LegacyComponentSerializer legacyComponent = LegacyComponentSerializer.legacySection();
3334
private final MiniMessage miniMessage = MiniMessage.builder().tags(new NicknameTagResolver()).build();
3435

35-
public NickMMCommand()
36+
public NickMMCommand(NickMiniMessageModule module)
3637
{
3738
super(command("nickmm")
3839
.description("Change your nickname using MiniMessage formatting!")
@@ -41,33 +42,39 @@ public NickMMCommand()
4142
.permission("plex.nickmm")
4243
.source(RequiredCommandSource.IN_GAME)
4344
.build());
45+
this.module = module;
4446
}
4547

4648
@Override
47-
protected Component execute(@NotNull CommandSender commandSender, @Nullable Player player, @NotNull String[] args)
49+
protected void configureCommand(LiteralArgumentBuilder<CommandSourceStack> command)
4850
{
49-
if (!Bukkit.getPluginManager().isPluginEnabled("Essentials"))
50-
{
51-
return Component.text("Essentials is not enabled!", NamedTextColor.RED);
52-
}
51+
command.executes(context -> executeCommand(context, (sender, player) -> executeTyped(sender, player, null)));
52+
command.then(word("nick")
53+
.executes(context -> executeCommand(context,
54+
(sender, player) -> executeTyped(sender, player, string(context, "nick"))))
55+
.then(greedyString("ignored").executes(context -> executeCommand(context,
56+
(sender, player) -> executeTyped(sender, player, string(context, "nick"))))));
57+
}
5358

54-
if (args.length == 0)
59+
private Component executeTyped(CommandSender commandSender, Player player, @Nullable String input)
60+
{
61+
if (input == null)
5562
{
5663
return usage();
5764
}
5865

59-
final Component nick = miniMessage.deserialize(args[0]).clickEvent(null).hoverEvent(null);
66+
final Component nick = miniMessage.deserialize(input).clickEvent(null).hoverEvent(null);
6067
final String plain = plainText.serialize(nick);
6168

62-
if (plain.length() > NickMiniMessageModule.getEssentials().getSettings().getMaxNickLength()
69+
if (plain.length() > module.getEssentials().getSettings().getMaxNickLength()
6370
&& !commandSender.hasPermission("plex.nickmm.ignore_length_limit"))
6471
{
6572
return mmString(I18n.tlLiteral("nickTooLong"));
6673
}
6774

6875
if (!commandSender.hasPermission("plex.nickmm.ignore_matching"))
6976
{
70-
for (final User user : NickMiniMessageModule.getEssentials().getOnlineUsers())
77+
for (final User user : module.getEssentials().getOnlineUsers())
7178
{
7279
final String name = user.getNickname() != null ? plainText.serialize(legacyComponent.deserialize(user.getNickname())) : user.getName();
7380

@@ -79,19 +86,13 @@ protected Component execute(@NotNull CommandSender commandSender, @Nullable Play
7986
}
8087

8188
final String legacy = legacyComponent.serialize(nick);
82-
User essentialsUser = NickMiniMessageModule.getEssentials().getUser(player);
89+
User essentialsUser = module.getEssentials().getUser(player);
8390
essentialsUser.setNickname(legacy);
8491
essentialsUser.setDisplayNick();
8592

8693
return mmString(I18n.tlLiteral("nickSet", legacy));
8794
}
8895

89-
@Override
90-
protected @NotNull List<String> suggestions(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args)
91-
{
92-
return Collections.emptyList();
93-
}
94-
9596
private static class NicknameTagResolver implements TagResolver
9697
{
9798
private static final TagResolver STANDARD_RESOLVER = TagResolver.standard();

0 commit comments

Comments
 (0)