run it in an executor service

This commit is contained in:
Chayapak 2023-07-01 10:02:23 +07:00
parent c2894c64d2
commit 69a64eae28

View file

@ -53,6 +53,7 @@ public class MailCommand extends Command {
// kinda messy ngl
bot.executorService().submit(() -> {
switch (args[0]) {
case "send" -> {
int senderMailsSentTotal = 0;
@ -65,7 +66,7 @@ public class MailCommand extends Command {
senderMailsSentTotal++;
}
if (senderMailsSentTotal > 256) return Component.text("You are sending too much mails!").color(NamedTextColor.RED);
if (senderMailsSentTotal > 256) context.sendOutput(Component.text("You are sending too much mails!").color(NamedTextColor.RED));
bot.mail().send(
new Mail(
@ -77,7 +78,7 @@ public class MailCommand extends Command {
)
);
return Component.text("Mail sent!").color(ColorUtilities.getColorByString(bot.config().colorPalette().defaultColor()));
context.sendOutput(Component.text("Mail sent!").color(ColorUtilities.getColorByString(bot.config().colorPalette().defaultColor())));
}
case "sendselecteditem" -> {
int senderMailsSentTotal = 0;
@ -88,7 +89,7 @@ public class MailCommand extends Command {
senderMailsSentTotal++;
}
if (senderMailsSentTotal > 256) return Component.text("You are sending too much mails!").color(NamedTextColor.RED);
if (senderMailsSentTotal > 256) context.sendOutput(Component.text("You are sending too much mails!").color(NamedTextColor.RED));
final CompletableFuture<CompoundTag> future = bot.core().runTracked(
"minecraft:data get entity " +
@ -96,7 +97,7 @@ public class MailCommand extends Command {
" SelectedItem.tag.message"
);
if (future == null) return Component.text("There was an error while sending your mail").color(NamedTextColor.RED);
if (future == null) context.sendOutput(Component.text("There was an error while sending your mail").color(NamedTextColor.RED));
future.thenApply(tags -> {
if (!tags.contains("LastOutput") || !(tags.get("LastOutput") instanceof StringTag)) return tags;
@ -138,8 +139,6 @@ public class MailCommand extends Command {
return tags;
});
return null;
}
case "read" -> {
// TODO: use less for loops?
@ -152,7 +151,7 @@ public class MailCommand extends Command {
senderMailSize++;
}
if (senderMailSize == 0) return Component.text("You have no new mails").color(NamedTextColor.RED);
if (senderMailSize == 0) context.sendOutput(Component.text("You have no new mails").color(NamedTextColor.RED));
final List<Component> mailsComponent = new ArrayList<>();
@ -220,12 +219,11 @@ public class MailCommand extends Command {
}
PersistentDataUtilities.put("mails", MailPlugin.mails());
}
default -> context.sendOutput(Component.text("Invalid argument").color(NamedTextColor.RED));
}
});
return null;
}
default -> {
return Component.text("Invalid argument").color(NamedTextColor.RED);
}
}
}
}