Skip to content

Commit 10f8b04

Browse files
authored
Make our commands async (#15)
2 parents 2fe9b6c + 7d21afc commit 10f8b04

File tree

6 files changed

+17
-5
lines changed

6 files changed

+17
-5
lines changed

src/main/java/pro/cloudnode/smp/cloudnodemsg/command/Command.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,24 @@
33
import net.kyori.adventure.audience.Audience;
44
import net.kyori.adventure.text.Component;
55
import org.bukkit.command.CommandExecutor;
6+
import org.bukkit.command.CommandSender;
67
import org.bukkit.command.TabCompleter;
78
import org.jetbrains.annotations.NotNull;
9+
import pro.cloudnode.smp.cloudnodemsg.CloudnodeMSG;
810

911
public abstract class Command implements TabCompleter, CommandExecutor {
1012
public static boolean sendMessage(final @NotNull Audience recipient, final @NotNull Component message) {
1113
recipient.sendMessage(message);
1214
return true;
1315
}
16+
17+
public abstract boolean run(final @NotNull CommandSender sender, final @NotNull String label, final @NotNull String[] args);
18+
19+
@Override
20+
public final boolean onCommand(final @NotNull CommandSender sender, final @NotNull org.bukkit.command.Command command, final @NotNull String label, @NotNull String @NotNull [] args) {
21+
CloudnodeMSG.getInstance().getServer().getScheduler().runTaskAsynchronously(CloudnodeMSG.getInstance(), () -> {
22+
final boolean ignored = run(sender, label, args);
23+
});
24+
return true;
25+
}
1426
}

src/main/java/pro/cloudnode/smp/cloudnodemsg/command/IgnoreCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public final class IgnoreCommand extends Command {
2222
public static final @NotNull String usage = "<player>";
2323

2424
@Override
25-
public boolean onCommand(final @NotNull CommandSender sender, final @NotNull org.bukkit.command.Command command, final @NotNull String label, @NotNull String @NotNull [] args) {
25+
public boolean run(final @NotNull CommandSender sender, final @NotNull String label, @NotNull String @NotNull [] args) {
2626
if (!sender.hasPermission(Permission.IGNORE)) return new NoPermissionError().send(sender);
2727
if (!(sender instanceof final @NotNull Player player)) return new NotPlayerError().send(sender);
2828
if (args.length == 0) return sendMessage(player, CloudnodeMSG.getInstance().config().usage(label, usage));

src/main/java/pro/cloudnode/smp/cloudnodemsg/command/MainCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
public final class MainCommand extends Command {
1616

1717
@Override
18-
public boolean onCommand(final @NotNull CommandSender sender, final @NotNull org.bukkit.command.Command command, final @NotNull String label, @NotNull String @NotNull [] args) {
18+
public boolean run(final @NotNull CommandSender sender, final @NotNull String label, @NotNull String @NotNull [] args) {
1919
if (args.length == 1) switch (args[0]) {
2020
case "reload", "rl" -> {
2121
return reload(sender);

src/main/java/pro/cloudnode/smp/cloudnodemsg/command/MessageCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public final class MessageCommand extends Command {
2121
public static final @NotNull String usage = "<player> <message>";
2222

2323
@Override
24-
public boolean onCommand(final @NotNull CommandSender sender, final @NotNull org.bukkit.command.Command command, final @NotNull String label, @NotNull String @NotNull [] args) {
24+
public boolean run(final @NotNull CommandSender sender, final @NotNull String label, @NotNull String @NotNull [] args) {
2525
if (!sender.hasPermission(Permission.USE)) return new NoPermissionError().send(sender);
2626
if (args.length == 0) return sendMessage(sender, CloudnodeMSG.getInstance().config().usage(label, usage));
2727
if (args.length == 1) return sendMessage(sender, CloudnodeMSG.getInstance().config()

src/main/java/pro/cloudnode/smp/cloudnodemsg/command/ReplyCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public final class ReplyCommand extends Command {
2020
public static final @NotNull String usage = "<message>";
2121

2222
@Override
23-
public boolean onCommand(final @NotNull CommandSender sender, final @NotNull org.bukkit.command.Command command, final @NotNull String label, @NotNull String @NotNull [] args) {
23+
public boolean run(final @NotNull CommandSender sender, final @NotNull String label, @NotNull String @NotNull [] args) {
2424
if (!sender.hasPermission(Permission.USE)) return new NoPermissionError().send(sender);
2525
if (args.length == 0) return sendMessage(sender, CloudnodeMSG.getInstance().config().usage(label, usage));
2626

src/main/java/pro/cloudnode/smp/cloudnodemsg/command/UnIgnoreCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public final class UnIgnoreCommand extends Command {
2323
public static final @NotNull String usage = "<player>";
2424

2525
@Override
26-
public boolean onCommand(final @NotNull CommandSender sender, final @NotNull org.bukkit.command.Command command, final @NotNull String label, @NotNull String @NotNull [] args) {
26+
public boolean run(final @NotNull CommandSender sender, final @NotNull String label, @NotNull String @NotNull [] args) {
2727
if (!sender.hasPermission(Permission.IGNORE)) return new NoPermissionError().send(sender);
2828
if (!(sender instanceof final @NotNull Player player)) return new NotPlayerError().send(sender);
2929
if (args.length == 0) return sendMessage(sender, CloudnodeMSG.getInstance().config().usage(label, usage));

0 commit comments

Comments
 (0)