improve returning output of commands

This commit is contained in:
Chayapak 2023-04-24 15:20:50 +07:00
parent 287b02256e
commit 82f95139b0
40 changed files with 243 additions and 340 deletions

View file

@ -4,9 +4,47 @@
<option name="autoReloadType" value="SELECTIVE" /> <option name="autoReloadType" value="SELECTIVE" />
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="50f184fa-7bed-4956-baf5-7586ff26ea08" name="Changes" comment="fix test?"> <list default="true" id="50f184fa-7bed-4956-baf5-7586ff26ea08" name="Changes" comment="actually improve the systemMessageReceived thing">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/ChatPlugin.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/ChatPlugin.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/command/DiscordCommandContext.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/command/DiscordCommandContext.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/BotUserCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/BotUserCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/BotVisibilityCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/BotVisibilityCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/BruhifyCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/BruhifyCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/ClearChatCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/ClearChatCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/ClearChatQueueCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/ClearChatQueueCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/CloopCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/CloopCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/CommandBlockCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/CommandBlockCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/CowsayCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/CowsayCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/CreatorCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/CreatorCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/DiscordCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/DiscordCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/EchoCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/EchoCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/EndCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/EndCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/FilterCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/FilterCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/GenerateMazeCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/GenerateMazeCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/GrepLogCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/GrepLogCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/HelpCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/HelpCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/KickCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/KickCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/ListCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/ListCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/MusicCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/MusicCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/NetMessageCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/NetMessageCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/RandomTeleportCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/RandomTeleportCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/RefillCoreCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/RefillCoreCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/ServerEvalCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/ServerEvalCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/ServerInfoCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/ServerInfoCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/SudoAllCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/SudoAllCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/TPSBarCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/TPSBarCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/TestCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/TestCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/TimeCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/TimeCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/TranslateCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/TranslateCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/UUIDCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/UUIDCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/UrbanCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/UrbanCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/ValidateCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/ValidateCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/WeatherCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/WeatherCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/WikipediaCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/WikipediaCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/ChatCommandHandlerPlugin.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/ChatCommandHandlerPlugin.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/ConsolePlugin.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/ConsolePlugin.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/DiscordPlugin.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/DiscordPlugin.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/FilterPlugin.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/FilterPlugin.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -98,20 +136,6 @@
<option name="presentableId" value="Default" /> <option name="presentableId" value="Default" />
<updated>1680245437032</updated> <updated>1680245437032</updated>
</task> </task>
<task id="LOCAL-00064" summary="hopefully fix the core problem?">
<created>1681607369880</created>
<option name="number" value="00064" />
<option name="presentableId" value="LOCAL-00064" />
<option name="project" value="LOCAL" />
<updated>1681607369882</updated>
</task>
<task id="LOCAL-00065" summary="maybe patch the sus">
<created>1681613674861</created>
<option name="number" value="00065" />
<option name="presentableId" value="LOCAL-00065" />
<option name="project" value="LOCAL" />
<updated>1681613674862</updated>
</task>
<task id="LOCAL-00066" summary="fix music list&#10;it took me ages to figure this out that i need to just &#10;CLONE THE LIST"> <task id="LOCAL-00066" summary="fix music list&#10;it took me ages to figure this out that i need to just &#10;CLONE THE LIST">
<created>1681617940254</created> <created>1681617940254</created>
<option name="number" value="00066" /> <option name="number" value="00066" />
@ -441,7 +465,21 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1682321509974</updated> <updated>1682321509974</updated>
</task> </task>
<option name="localTasksCounter" value="113" /> <task id="LOCAL-00113" summary="fix extras chat">
<created>1682322013136</created>
<option name="number" value="00113" />
<option name="presentableId" value="LOCAL-00113" />
<option name="project" value="LOCAL" />
<updated>1682322013139</updated>
</task>
<task id="LOCAL-00114" summary="actually improve the systemMessageReceived thing">
<created>1682322237090</created>
<option name="number" value="00114" />
<option name="presentableId" value="LOCAL-00114" />
<option name="project" value="LOCAL" />
<updated>1682322237090</updated>
</task>
<option name="localTasksCounter" value="115" />
<servers /> <servers />
</component> </component>
<component name="Vcs.Log.Tabs.Properties"> <component name="Vcs.Log.Tabs.Properties">
@ -456,8 +494,6 @@
</option> </option>
</component> </component>
<component name="VcsManagerConfiguration"> <component name="VcsManagerConfiguration">
<MESSAGE value="ig fix music filename mabe mabe" />
<MESSAGE value="probally fix bossbar plugin with actionbar mabe" />
<MESSAGE value="hopefully fix the broken players plugin" /> <MESSAGE value="hopefully fix the broken players plugin" />
<MESSAGE value="f" /> <MESSAGE value="f" />
<MESSAGE value="fard" /> <MESSAGE value="fard" />
@ -481,7 +517,9 @@
<MESSAGE value="fix chat (/say and /me) i guess" /> <MESSAGE value="fix chat (/say and /me) i guess" />
<MESSAGE value="actually fix the fix&#10;the first &quot;fix&quot; is just fix like just fix,..,&#10;then the second one is the last commit, &quot;fix chat (/say and /me) i guess&quot;" /> <MESSAGE value="actually fix the fix&#10;the first &quot;fix&quot; is just fix like just fix,..,&#10;then the second one is the last commit, &quot;fix chat (/say and /me) i guess&quot;" />
<MESSAGE value="fix test?" /> <MESSAGE value="fix test?" />
<option name="LAST_COMMIT_MESSAGE" value="fix test?" /> <MESSAGE value="fix extras chat" />
<MESSAGE value="actually improve the systemMessageReceived thing" />
<option name="LAST_COMMIT_MESSAGE" value="actually improve the systemMessageReceived thing" />
</component> </component>
<component name="XSLT-Support.FileAssociations.UIState"> <component name="XSLT-Support.FileAssociations.UIState">
<expand /> <expand />

View file

@ -56,18 +56,6 @@ public class DiscordCommandContext extends CommandContext {
event.getMessage().replyEmbeds(embed).queue(); event.getMessage().replyEmbeds(embed).queue();
} }
public void sendError (Component component) {
final String output = ComponentUtilities.stringifyAnsi(component);
final EmbedBuilder builder = new EmbedBuilder();
builder.setTitle("Error");
builder.setColor(Color.decode(bot.config().discord().embedColors().error()));
builder.setDescription("```ansi\n" + output + "\n```");
final MessageEmbed embed = builder.build();
event.getMessage().replyEmbeds(embed).queue();
}
@Override @Override
public Component displayName () { public Component displayName () {
return Component.text(event.getAuthor().getName()); return Component.text(event.getAuthor().getName());

View file

@ -42,38 +42,34 @@ public class BotUserCommand implements Command {
final String username = bot.username(); final String username = bot.username();
final String uuid = bot.players().getBotEntry().profile().getIdAsString(); final String uuid = bot.players().getBotEntry().profile().getIdAsString();
context.sendOutput( return Component.translatable(
Component.translatable( "The bot's username is: %s and the UUID is: %s",
"The bot's username is: %s and the UUID is: %s", Component
Component .text(username)
.text(username) .hoverEvent(
.hoverEvent( HoverEvent.showText(
HoverEvent.showText( Component
Component .text("Click here to copy the username to your clipboard")
.text("Click here to copy the username to your clipboard") .color(NamedTextColor.GREEN)
.color(NamedTextColor.GREEN)
)
) )
.clickEvent( )
ClickEvent.copyToClipboard(username) .clickEvent(
ClickEvent.copyToClipboard(username)
)
.color(NamedTextColor.GOLD),
Component
.text(uuid)
.hoverEvent(
HoverEvent.showText(
Component
.text("Click here to copy the UUID to your clipboard")
.color(NamedTextColor.GREEN)
) )
.color(NamedTextColor.GOLD), )
Component .clickEvent(
.text(uuid) ClickEvent.copyToClipboard(uuid)
.hoverEvent( )
HoverEvent.showText( .color(NamedTextColor.AQUA)
Component
.text("Click here to copy the UUID to your clipboard")
.color(NamedTextColor.GREEN)
)
)
.clickEvent(
ClickEvent.copyToClipboard(uuid)
)
.color(NamedTextColor.AQUA)
)
); );
return Component.text("success");
} }
} }

View file

@ -49,37 +49,29 @@ public class BotVisibilityCommand implements Command {
final String visibleOrInvisible = bot.selfCare().visibility() ? "visible" : "invisible"; final String visibleOrInvisible = bot.selfCare().visibility() ? "visible" : "invisible";
final String disableOrEnable = bot.selfCare().visibility() ? "disable" : "enable"; final String disableOrEnable = bot.selfCare().visibility() ? "disable" : "enable";
bot.chat().send("/essentials:vanish " + disableOrEnable); bot.chat().send("/essentials:vanish " + disableOrEnable);
context.sendOutput( return Component.empty()
Component.empty() .append(Component.text("The bot's visibility is now "))
.append(Component.text("The bot's visibility is now ")) .append(Component.text(visibleOrInvisible).color(greenOrGold));
.append(Component.text(visibleOrInvisible).color(greenOrGold))
);
} else { } else {
switch (args[0]) { switch (args[0]) {
case "on", "true" -> { case "on", "true" -> {
bot.selfCare().visibility(true); bot.selfCare().visibility(true);
bot.chat().send("/essentials:vanish disable"); bot.chat().send("/essentials:vanish disable");
context.sendOutput( return Component.empty()
Component.empty() .append(Component.text("The bot's visibility is now "))
.append(Component.text("The bot's visibility is now ")) .append(Component.text("visible").color(NamedTextColor.GREEN));
.append(Component.text("visible").color(NamedTextColor.GREEN))
);
} }
case "off", "false" -> { case "off", "false" -> {
bot.selfCare().visibility(false); bot.selfCare().visibility(false);
bot.chat().send("/essentials:vanish enable"); bot.chat().send("/essentials:vanish enable");
context.sendOutput( return Component.empty()
Component.empty() .append(Component.text("The bot's visibility is now "))
.append(Component.text("The bot's visibility is now ")) .append(Component.text("invisible").color(NamedTextColor.GOLD));
.append(Component.text("invisible").color(NamedTextColor.GOLD))
);
} }
default -> { default -> {
return Component.text("Invalid argument").color(NamedTextColor.RED);
} }
} }
} }
return Component.text("success");
} }
} }

View file

@ -42,6 +42,6 @@ public class BruhifyCommand implements Command {
bot.bruhify().bruhifyText(String.join(" ", args)); bot.bruhify().bruhifyText(String.join(" ", args));
} }
return Component.text("success"); return null;
} }
} }

View file

@ -65,6 +65,6 @@ public class ClearChatCommand implements Command {
); );
} }
return Component.text("success"); return null;
} }
} }

View file

@ -38,6 +38,6 @@ public class ClearChatQueueCommand implements Command {
bot.chat().queue().clear(); bot.chat().queue().clear();
return Component.text("success"); return null;
} }
} }

View file

@ -58,12 +58,10 @@ public class CloopCommand implements Command {
bot.cloop().add(interval, command); bot.cloop().add(interval, command);
context.sendOutput( return Component.translatable(
Component.translatable( "Added %s with interval %s to the cloops",
"Added %s with interval %s to the cloops", Component.text(command).color(NamedTextColor.AQUA),
Component.text(command).color(NamedTextColor.AQUA), Component.text(interval).color(NamedTextColor.GOLD)
Component.text(interval).color(NamedTextColor.GOLD)
)
); );
} }
case "remove" -> { case "remove" -> {
@ -71,11 +69,9 @@ public class CloopCommand implements Command {
final int index = Integer.parseInt(args[1]); final int index = Integer.parseInt(args[1]);
bot.cloop().remove(index); bot.cloop().remove(index);
context.sendOutput( return Component.translatable(
Component.translatable( "Removed cloop %s",
"Removed cloop %s", Component.text(index).color(NamedTextColor.GOLD)
Component.text(index).color(NamedTextColor.GOLD)
)
); );
} catch (IndexOutOfBoundsException | IllegalArgumentException | NullPointerException ignored) { } catch (IndexOutOfBoundsException | IllegalArgumentException | NullPointerException ignored) {
return Component.text("Invalid index").color(NamedTextColor.RED); return Component.text("Invalid index").color(NamedTextColor.RED);
@ -83,9 +79,7 @@ public class CloopCommand implements Command {
} }
case "clear" -> { case "clear" -> {
bot.cloop().clear(); bot.cloop().clear();
context.sendOutput( return Component.text("Cleared all cloops");
Component.text("Cleared all cloops")
);
} }
case "list" -> { case "list" -> {
final List<Component> cloopsComponent = new ArrayList<>(); final List<Component> cloopsComponent = new ArrayList<>();
@ -103,7 +97,7 @@ public class CloopCommand implements Command {
index++; index++;
} }
final Component component = Component.empty() return Component.empty()
.append(Component.text("Cloops ").color(NamedTextColor.GREEN)) .append(Component.text("Cloops ").color(NamedTextColor.GREEN))
.append(Component.text("(").color(NamedTextColor.DARK_GRAY)) .append(Component.text("(").color(NamedTextColor.DARK_GRAY))
.append(Component.text(bot.cloop().loops().size()).color(NamedTextColor.GRAY)) .append(Component.text(bot.cloop().loops().size()).color(NamedTextColor.GRAY))
@ -112,14 +106,10 @@ public class CloopCommand implements Command {
.append( .append(
Component.join(JoinConfiguration.newlines(), cloopsComponent) Component.join(JoinConfiguration.newlines(), cloopsComponent)
); );
context.sendOutput(component);
} }
default -> { default -> {
return Component.text("Invalid argument").color(NamedTextColor.RED); return Component.text("Invalid argument").color(NamedTextColor.RED);
} }
} }
return Component.text("success");
} }
} }

View file

@ -60,6 +60,6 @@ public class CommandBlockCommand implements Command {
return tags; return tags;
}); });
return Component.text("success"); return null;
} }
} }

View file

@ -44,8 +44,6 @@ public class CowsayCommand implements Command {
final String result = cowExecutor.execute(); final String result = cowExecutor.execute();
context.sendOutput(Component.text(result)); return Component.text(result);
return Component.text("success");
} }
} }

View file

@ -37,13 +37,9 @@ public class CreatorCommand implements Command {
public Component execute(CommandContext context, String[] args, String[] fullArgs) { public Component execute(CommandContext context, String[] args, String[] fullArgs) {
final Bot bot = context.bot(); final Bot bot = context.bot();
context.sendOutput( return Component.empty()
Component.empty() .append(Component.text("ChomeNS Bot ").color(NamedTextColor.YELLOW))
.append(Component.text("ChomeNS Bot ").color(NamedTextColor.YELLOW)) .append(Component.text("was created by ").color(NamedTextColor.WHITE))
.append(Component.text("was created by ").color(NamedTextColor.WHITE)) .append(Component.text(bot.config().ownerName()).color(NamedTextColor.GREEN));
.append(Component.text(bot.config().ownerName()).color(NamedTextColor.GREEN))
);
return Component.text("success");
} }
} }

View file

@ -36,17 +36,13 @@ public class DiscordCommand implements Command {
public Component execute(CommandContext context, String[] args, String[] fullArgs) { public Component execute(CommandContext context, String[] args, String[] fullArgs) {
final String link = "https://discord.gg/xdgCkUyaA4"; final String link = "https://discord.gg/xdgCkUyaA4";
context.sendOutput( return Component.empty()
Component.empty() .append(Component.text("The Discord invite is ").color(NamedTextColor.WHITE))
.append(Component.text("The Discord invite is ").color(NamedTextColor.WHITE)) .append(
.append( Component
Component .text(link)
.text(link) .clickEvent(ClickEvent.openUrl(link))
.clickEvent(ClickEvent.openUrl(link)) .color(NamedTextColor.BLUE)
.color(NamedTextColor.BLUE) );
)
);
return Component.text("success");
} }
} }

View file

@ -38,6 +38,6 @@ public class EchoCommand implements Command {
bot.chat().send(String.join(" ", args)); bot.chat().send(String.join(" ", args));
return Component.text("success"); return null;
} }
} }

View file

@ -38,6 +38,6 @@ public class EndCommand implements Command {
bot.session().disconnect("End command"); bot.session().disconnect("End command");
return Component.text("success"); return null;
} }
} }

View file

@ -74,34 +74,28 @@ public class FilterCommand implements Command {
final String player = String.join(" ", Arrays.copyOfRange(args, 1, args.length)); final String player = String.join(" ", Arrays.copyOfRange(args, 1, args.length));
bot.filter().add(player, regex, ignoreCase); bot.filter().add(player, regex, ignoreCase);
context.sendOutput( return Component.translatable(
Component.translatable( "Added %s to the filters",
"Added %s to the filters", Component.text(player).color(NamedTextColor.AQUA)
Component.text(player).color(NamedTextColor.AQUA)
)
); );
} }
case "remove" -> { case "remove" -> {
try { try {
final int index = Integer.parseInt(args[1]); final int index = Integer.parseInt(args[1]);
context.sendOutput( final FilteredPlayer removed = bot.filter().remove(index);
Component.translatable(
"Removed %s from the filters",
Component.text(bot.filter().filteredPlayers().get(index).playerName).color(NamedTextColor.AQUA)
)
);
bot.filter().remove(index); return Component.translatable(
"Removed %s from the filters",
Component.text(removed.playerName).color(NamedTextColor.AQUA)
);
} catch (IndexOutOfBoundsException | IllegalArgumentException | NullPointerException ignored) { } catch (IndexOutOfBoundsException | IllegalArgumentException | NullPointerException ignored) {
return Component.text("Invalid index").color(NamedTextColor.RED); return Component.text("Invalid index").color(NamedTextColor.RED);
} }
} }
case "clear" -> { case "clear" -> {
bot.filter().clear(); bot.filter().clear();
context.sendOutput( return Component.text("Cleared the filter");
Component.text("Cleared the filter")
);
} }
case "list" -> { case "list" -> {
final List<Component> filtersComponents = new ArrayList<>(); final List<Component> filtersComponents = new ArrayList<>();
@ -119,7 +113,7 @@ public class FilterCommand implements Command {
index++; index++;
} }
final Component component = Component.empty() return Component.empty()
.append(Component.text("Filtered players ").color(NamedTextColor.GREEN)) .append(Component.text("Filtered players ").color(NamedTextColor.GREEN))
.append(Component.text("(").color(NamedTextColor.DARK_GRAY)) .append(Component.text("(").color(NamedTextColor.DARK_GRAY))
.append(Component.text(bot.filter().filteredPlayers().size()).color(NamedTextColor.GRAY)) .append(Component.text(bot.filter().filteredPlayers().size()).color(NamedTextColor.GRAY))
@ -128,14 +122,10 @@ public class FilterCommand implements Command {
.append( .append(
Component.join(JoinConfiguration.newlines(), filtersComponents) Component.join(JoinConfiguration.newlines(), filtersComponents)
); );
context.sendOutput(component);
} }
default -> { default -> {
return Component.text("Invalid argument").color(NamedTextColor.RED); return Component.text("Invalid argument").color(NamedTextColor.RED);
} }
} }
return Component.text("success");
} }
} }

View file

@ -56,6 +56,6 @@ public class GenerateMazeCommand implements Command {
return Component.text("Invalid position/size").color(NamedTextColor.RED); return Component.text("Invalid position/size").color(NamedTextColor.RED);
} }
return Component.text("success"); return null;
} }
} }

View file

@ -54,8 +54,7 @@ public class GrepLogCommand implements Command {
bot.grepLog().thread().interrupt(); bot.grepLog().thread().interrupt();
bot.grepLog().thread(null); bot.grepLog().thread(null);
context.sendOutput(Component.text("Log query stopped")); return Component.text("Log query stopped");
return Component.text("success");
} }
if (bot.grepLog().thread() != null) return Component.text("Another query is already running").color(NamedTextColor.RED); if (bot.grepLog().thread() != null) return Component.text("Another query is already running").color(NamedTextColor.RED);
@ -79,6 +78,6 @@ public class GrepLogCommand implements Command {
bot.grepLog().query(String.join(" ", args), regex, ignoreCase); bot.grepLog().query(String.join(" ", args), regex, ignoreCase);
return Component.text("success"); return null;
} }
} }

View file

@ -43,20 +43,19 @@ public class HelpCommand implements Command {
public Component execute(CommandContext context, String[] args, String[] fullArgs) { public Component execute(CommandContext context, String[] args, String[] fullArgs) {
this.bot = context.bot(); this.bot = context.bot();
if (args.length == 0) { if (args.length == 0) {
sendCommandList(context); return sendCommandList();
return Component.text("success");
} else { } else {
return sendUsages(context, args); return sendUsages(context, args);
} }
} }
public void sendCommandList(CommandContext context) { public Component sendCommandList () {
final List<Component> list = new ArrayList<>(); final List<Component> list = new ArrayList<>();
list.addAll(getCommandListByTrustLevel(0)); list.addAll(getCommandListByTrustLevel(0));
list.addAll(getCommandListByTrustLevel(1)); list.addAll(getCommandListByTrustLevel(1));
list.addAll(getCommandListByTrustLevel(2)); list.addAll(getCommandListByTrustLevel(2));
final Component component = Component.empty() return Component.empty()
.append(Component.text("Commands ").color(NamedTextColor.GRAY)) .append(Component.text("Commands ").color(NamedTextColor.GRAY))
.append(Component.text("(").color(NamedTextColor.DARK_GRAY)) .append(Component.text("(").color(NamedTextColor.DARK_GRAY))
.append(Component.text("Length: ").color(NamedTextColor.GRAY)) .append(Component.text("Length: ").color(NamedTextColor.GRAY))
@ -68,8 +67,6 @@ public class HelpCommand implements Command {
.append(Component.text("Owner").color(NamedTextColor.DARK_RED)) .append(Component.text("Owner").color(NamedTextColor.DARK_RED))
.append(Component.text(") - ").color(NamedTextColor.DARK_GRAY)) .append(Component.text(") - ").color(NamedTextColor.DARK_GRAY))
.append(Component.join(JoinConfiguration.separator(Component.space()), list)); .append(Component.join(JoinConfiguration.separator(Component.space()), list));
context.sendOutput(component);
} }
public List<Component> getCommandListByTrustLevel(int trustLevel) { public List<Component> getCommandListByTrustLevel(int trustLevel) {
@ -138,9 +135,7 @@ public class HelpCommand implements Command {
); );
} }
context.sendOutput(Component.join(JoinConfiguration.separator(Component.newline()), usages)); return Component.join(JoinConfiguration.separator(Component.newline()), usages);
return Component.text("success");
} }
return Component.text("Unknown command").color(NamedTextColor.RED); return Component.text("Unknown command").color(NamedTextColor.RED);

View file

@ -46,14 +46,10 @@ public class KickCommand implements Command {
final String name = entry.profile().getName(); final String name = entry.profile().getName();
final UUID uuid = entry.profile().getId(); final UUID uuid = entry.profile().getId();
context.sendOutput(
Component.empty()
.append(Component.text("Kicking player "))
.append(Component.text(name).color(NamedTextColor.GOLD))
);
bot.exploits().kick(uuid); bot.exploits().kick(uuid);
return Component.text("success"); return Component.empty()
.append(Component.text("Kicking player "))
.append(Component.text(name).color(NamedTextColor.GOLD));
} }
} }

View file

@ -75,7 +75,7 @@ public class ListCommand implements Command {
); );
} }
final Component component = Component.empty() return Component.empty()
.append(Component.text("Players ").color(NamedTextColor.GREEN)) .append(Component.text("Players ").color(NamedTextColor.GREEN))
.append(Component.text("(").color(NamedTextColor.DARK_GRAY)) .append(Component.text("(").color(NamedTextColor.DARK_GRAY))
.append(Component.text(list.size()).color(NamedTextColor.GRAY)) .append(Component.text(list.size()).color(NamedTextColor.GRAY))
@ -84,9 +84,5 @@ public class ListCommand implements Command {
.append( .append(
Component.join(JoinConfiguration.newlines(), playersComponent) Component.join(JoinConfiguration.newlines(), playersComponent)
); );
context.sendOutput(component);
return Component.text("success");
} }
} }

View file

@ -66,7 +66,9 @@ public class MusicCommand implements Command {
case "play", "playurl", "playnbs", "playnbsurl" -> { case "play", "playurl", "playnbs", "playnbsurl" -> {
return play(context, args); return play(context, args);
} }
case "stop" -> stop(context); case "stop" -> {
return stop(context);
}
case "loop" -> { case "loop" -> {
return loop(context, args); return loop(context, args);
} }
@ -79,7 +81,9 @@ public class MusicCommand implements Command {
case "nowplaying" -> { case "nowplaying" -> {
return nowplaying(context); return nowplaying(context);
} }
case "queue" -> queue(context); case "queue" -> {
return queue(context);
}
case "goto" -> { case "goto" -> {
return goTo(context, args); return goTo(context, args);
} }
@ -99,8 +103,6 @@ public class MusicCommand implements Command {
return Component.text("Invalid argument").color(NamedTextColor.RED); return Component.text("Invalid argument").color(NamedTextColor.RED);
} }
} }
return Component.text("success");
} }
public Component play (CommandContext context, String[] args) { public Component play (CommandContext context, String[] args) {
@ -157,15 +159,15 @@ public class MusicCommand implements Command {
return Component.text(e.toString()).color(NamedTextColor.RED); return Component.text(e.toString()).color(NamedTextColor.RED);
} }
return Component.text("success"); return null;
} }
public void stop (CommandContext context) { public Component stop (CommandContext context) {
final Bot bot = context.bot(); final Bot bot = context.bot();
bot.music().stopPlaying(); bot.music().stopPlaying();
bot.music().songQueue().clear(); bot.music().songQueue().clear();
context.sendOutput(Component.text("Cleared the song queue")); return Component.text("Cleared the song queue");
} }
public Component loop (CommandContext context, String[] args) { public Component loop (CommandContext context, String[] args) {
@ -202,7 +204,7 @@ public class MusicCommand implements Command {
bot.music().loop(loop); bot.music().loop(loop);
return Component.text("success"); return null;
} }
public Component list (CommandContext context, String[] args) { public Component list (CommandContext context, String[] args) {
@ -266,49 +268,40 @@ public class MusicCommand implements Command {
list.clear(); list.clear();
} }
return Component.text("success"); return null;
} }
public Component skip (CommandContext context) { public Component skip (CommandContext context) {
final MusicPlayerPlugin music = context.bot().music(); final MusicPlayerPlugin music = context.bot().music();
if (music.currentSong() == null) return Component.text("No song is currently playing").color(NamedTextColor.RED); if (music.currentSong() == null) return Component.text("No song is currently playing").color(NamedTextColor.RED);
context.sendOutput(
Component.empty()
.append(Component.text("Skipping "))
.append(music.currentSong().name.color(NamedTextColor.GOLD))
);
music.skip(); music.skip();
return Component.text("success"); return Component.empty()
.append(Component.text("Skipping "))
.append(music.currentSong().name.color(NamedTextColor.GOLD));
} }
public Component nowplaying (CommandContext context) { public Component nowplaying (CommandContext context) {
final Bot bot = context.bot(); final Bot bot = context.bot();
final Song song = bot.music().currentSong(); final Song song = bot.music().currentSong();
if (song == null) return Component.text("No song is currently playing").color(NamedTextColor.RED); if (song == null) return Component.text("No song is currently playing").color(NamedTextColor.RED);
context.sendOutput(
Component.empty()
.append(Component.text("Now playing "))
.append(song.name.color(NamedTextColor.GOLD))
);
return Component.text("success"); return Component.empty()
.append(Component.text("Now playing "))
.append(song.name.color(NamedTextColor.GOLD));
} }
public void queue (CommandContext context) { public Component queue (CommandContext context) {
final Bot bot = context.bot(); final Bot bot = context.bot();
final LinkedList<Song> queue = bot.music().songQueue(); final LinkedList<Song> queue = bot.music().songQueue();
final List<Component> queueWithNames = new ArrayList<>(); final List<Component> queueWithNames = new ArrayList<>();
for (Song song : queue) queueWithNames.add(song.name); for (Song song : queue) queueWithNames.add(song.name);
context.sendOutput( return Component.empty()
Component.empty() .append(Component.text("Queue: ").color(NamedTextColor.GREEN))
.append(Component.text("Queue: ").color(NamedTextColor.GREEN)) .append(Component.join(JoinConfiguration.separator(Component.text(", ")), queueWithNames).color(NamedTextColor.AQUA));
.append(Component.join(JoinConfiguration.separator(Component.text(", ")), queueWithNames).color(NamedTextColor.AQUA))
);
} }
// lazy fix for java using "goto" as keyword real // lazy fix for java using "goto" as keyword real
@ -328,7 +321,7 @@ public class MusicCommand implements Command {
currentSong.setTime(milliseconds); currentSong.setTime(milliseconds);
return Component.text("success"); return null;
} }
public Component pitch (CommandContext context, String[] args) { public Component pitch (CommandContext context, String[] args) {
@ -343,13 +336,9 @@ public class MusicCommand implements Command {
bot.music().pitch(pitch); bot.music().pitch(pitch);
context.sendOutput( return Component.empty()
Component.empty() .append(Component.text("Set the pitch to "))
.append(Component.text("Set the pitch to ")) .append(Component.text(pitch).color(NamedTextColor.GOLD));
.append(Component.text(pitch).color(NamedTextColor.GOLD))
);
return Component.text("success");
} }
public Component speed (CommandContext context, String[] args) { public Component speed (CommandContext context, String[] args) {
@ -364,13 +353,9 @@ public class MusicCommand implements Command {
bot.music().speed(speed); bot.music().speed(speed);
context.sendOutput( return Component.empty()
Component.empty() .append(Component.text("Set the speed to "))
.append(Component.text("Set the speed to ")) .append(Component.text(speed).color(NamedTextColor.GOLD));
.append(Component.text(speed).color(NamedTextColor.GOLD))
);
return Component.text("success");
} }
public Component pause (CommandContext context) { public Component pause (CommandContext context) {
@ -381,13 +366,11 @@ public class MusicCommand implements Command {
if (currentSong.paused) { if (currentSong.paused) {
currentSong.play(); currentSong.play();
context.sendOutput(Component.text("Resumed the current song")); return Component.text("Resumed the current song");
} else { } else {
currentSong.pause(); currentSong.pause();
context.sendOutput(Component.text("Paused the current song")); return Component.text("Paused the current song");
} }
return Component.text("success");
} }
public Component info (CommandContext context) { public Component info (CommandContext context) {
@ -402,7 +385,7 @@ public class MusicCommand implements Command {
final String songOriginalAuthor = currentSong.songOriginalAuthor == null || currentSong.songOriginalAuthor.equals("") ? "N/A" : currentSong.songOriginalAuthor; final String songOriginalAuthor = currentSong.songOriginalAuthor == null || currentSong.songOriginalAuthor.equals("") ? "N/A" : currentSong.songOriginalAuthor;
final String songDescription = currentSong.songDescription == null || currentSong.songDescription.equals("") ? "N/A" : currentSong.songDescription; final String songDescription = currentSong.songDescription == null || currentSong.songDescription.equals("") ? "N/A" : currentSong.songDescription;
final Component component = Component.translatable( return Component.translatable(
""" """
Title/Filename: %s Title/Filename: %s
Author: %s Author: %s
@ -413,9 +396,5 @@ public class MusicCommand implements Command {
Component.text(songOriginalAuthor).color(NamedTextColor.AQUA), Component.text(songOriginalAuthor).color(NamedTextColor.AQUA),
Component.text(songDescription).color(NamedTextColor.AQUA) Component.text(songDescription).color(NamedTextColor.AQUA)
).color(NamedTextColor.GOLD); ).color(NamedTextColor.GOLD);
context.sendOutput(component);
return Component.text("success");
} }
} }

View file

@ -65,6 +65,6 @@ public class NetMessageCommand implements Command {
allBot.chat().tellraw(component); allBot.chat().tellraw(component);
} }
return Component.text("success"); return null;
} }
} }

View file

@ -45,17 +45,13 @@ public class RandomTeleportCommand implements Command {
final int positionZ = NumberUtilities.between(1_000, 1_000_000); final int positionZ = NumberUtilities.between(1_000, 1_000_000);
final String stringPosition = positionX + " 100 " + positionZ; // very 100 y final String stringPosition = positionX + " 100 " + positionZ; // very 100 y
context.sendOutput(
Component.empty()
.append(Component.text("Teleporting "))
.append(Component.text(sender.profile().getName()).color(NamedTextColor.AQUA))
.append(Component.text(" to ").color(NamedTextColor.WHITE))
.append(Component.text(stringPosition).color(NamedTextColor.GREEN))
.append(Component.text("...").color(NamedTextColor.WHITE))
);
bot.core().run("essentials:teleport " + sender.profile().getIdAsString() + " " + stringPosition); bot.core().run("essentials:teleport " + sender.profile().getIdAsString() + " " + stringPosition);
return Component.text("success"); return Component.empty()
.append(Component.text("Teleporting "))
.append(Component.text(sender.profile().getName()).color(NamedTextColor.AQUA))
.append(Component.text(" to ").color(NamedTextColor.WHITE))
.append(Component.text(stringPosition).color(NamedTextColor.GREEN))
.append(Component.text("...").color(NamedTextColor.WHITE));
} }
} }

View file

@ -39,6 +39,6 @@ public class RefillCoreCommand implements Command {
bot.core().reset(); bot.core().reset();
bot.core().refill(); bot.core().refill();
return Component.text("success"); return null;
} }
} }

View file

@ -44,11 +44,9 @@ public class ServerEvalCommand implements Command {
final LuaValue output = context.bot().eval().run(String.join(" ", args)); final LuaValue output = context.bot().eval().run(String.join(" ", args));
context.sendOutput(Component.text(output.toString()).color(NamedTextColor.GREEN)); return Component.text(output.toString()).color(NamedTextColor.GREEN);
} catch (Exception e) { } catch (Exception e) {
return Component.text(e.toString()).color(NamedTextColor.RED); return Component.text(e.toString()).color(NamedTextColor.RED);
} }
return Component.text("success");
} }
} }

View file

@ -109,9 +109,9 @@ public class ServerInfoCommand implements Command {
).color(NamedTextColor.AQUA) ).color(NamedTextColor.AQUA)
).color(NamedTextColor.GOLD); ).color(NamedTextColor.GOLD);
context.sendOutput(component); return component;
} catch (UnknownHostException ignored) {} } catch (UnknownHostException ignored) {}
return Component.text("success"); return null;
} }
} }

View file

@ -42,6 +42,6 @@ public class SudoAllCommand implements Command {
bot.core().run("essentials:sudo " + entry.profile().getName() + " " + String.join(" ", args)); bot.core().run("essentials:sudo " + entry.profile().getName() + " " + String.join(" ", args));
} }
return Component.text("success"); return null;
} }
} }

View file

@ -40,25 +40,19 @@ public class TPSBarCommand implements Command {
switch (args[0]) { switch (args[0]) {
case "on" -> { case "on" -> {
bot.tps().on(); bot.tps().on();
context.sendOutput( return Component.empty()
Component.empty() .append(Component.text("TPSBar is now "))
.append(Component.text("TPSBar is now ")) .append(Component.text("enabled").color(NamedTextColor.GREEN));
.append(Component.text("enabled").color(NamedTextColor.GREEN))
);
} }
case "off" -> { case "off" -> {
bot.tps().off(); bot.tps().off();
context.sendOutput( return Component.empty()
Component.empty() .append(Component.text("TPSBar is now "))
.append(Component.text("TPSBar is now ")) .append(Component.text("disabled").color(NamedTextColor.RED));
.append(Component.text("disabled").color(NamedTextColor.RED))
);
} }
default -> { default -> {
return Component.text("Invalid argument").color(NamedTextColor.RED); return Component.text("Invalid argument").color(NamedTextColor.RED);
} }
} }
return Component.text("success");
} }
} }

View file

@ -34,16 +34,12 @@ public class TestCommand implements Command {
} }
public Component execute(CommandContext context, String[] args, String[] fullArgs) { public Component execute(CommandContext context, String[] args, String[] fullArgs) {
final Component component = Component.translatable( return Component.translatable(
"Hello, World! Username: %s, Sender UUID: %s, Prefix: %s, Args: %s", "Hello, World! Username: %s, Sender UUID: %s, Prefix: %s, Args: %s",
Component.text(context.sender().profile().getName()), Component.text(context.sender().profile().getName()),
Component.text(context.sender().profile().getIdAsString()), Component.text(context.sender().profile().getIdAsString()),
Component.text(context.prefix()), Component.text(context.prefix()),
Component.text(String.join(", ", args)) Component.text(String.join(", ", args))
).color(NamedTextColor.GREEN); ).color(NamedTextColor.GREEN);
context.sendOutput(component);
return Component.text("success");
} }
} }

View file

@ -53,14 +53,10 @@ public class TimeCommand implements Command {
final DateTimeFormatter formatter = DateTimeFormat.forPattern("EEEE, MMMM d, YYYY, hh:mm:ss a"); final DateTimeFormatter formatter = DateTimeFormat.forPattern("EEEE, MMMM d, YYYY, hh:mm:ss a");
final String formattedTime = formatter.print(dateTime); final String formattedTime = formatter.print(dateTime);
context.sendOutput( return Component.translatable(
Component.translatable( "The current date and time for the timezone %s is: %s",
"The current date and time for the timezone %s is: %s", Component.text(timezone).color(NamedTextColor.AQUA),
Component.text(timezone).color(NamedTextColor.AQUA), Component.text(formattedTime).color(NamedTextColor.GREEN)
Component.text(formattedTime).color(NamedTextColor.GREEN)
)
); );
return Component.text("success");
} }
} }

View file

@ -74,18 +74,14 @@ public class TranslateCommand implements Command {
final String output = translation.get("trans").getAsString(); final String output = translation.get("trans").getAsString();
context.sendOutput( return Component
Component .translatable(
.translatable( "Result: %s",
"Result: %s", Component.text(output).color(NamedTextColor.GREEN)
Component.text(output).color(NamedTextColor.GREEN) )
) .color(NamedTextColor.GOLD);
.color(NamedTextColor.GOLD)
);
} catch (Exception e) { } catch (Exception e) {
return Component.text(e.toString()).color(NamedTextColor.RED); return Component.text(e.toString()).color(NamedTextColor.RED);
} }
return Component.text("success");
} }
} }

View file

@ -48,46 +48,40 @@ public class UUIDCommand implements Command {
final String name = entry.profile().getName(); final String name = entry.profile().getName();
final String uuid = entry.profile().getIdAsString(); final String uuid = entry.profile().getIdAsString();
context.sendOutput( return Component.translatable(
Component.translatable( "%s's UUID: %s",
"%s's UUID: %s", Component.text(name),
Component.text(name), Component
Component .text(uuid)
.text(uuid) .hoverEvent(
.hoverEvent( HoverEvent.showText(
HoverEvent.showText( Component.text("Click here to copy the UUID to your clipboard").color(NamedTextColor.GREEN)
Component.text("Click here to copy the UUID to your clipboard").color(NamedTextColor.GREEN)
)
) )
.clickEvent( )
ClickEvent.copyToClipboard(uuid) .clickEvent(
) ClickEvent.copyToClipboard(uuid)
.color(NamedTextColor.AQUA) )
).color(NamedTextColor.GREEN) .color(NamedTextColor.AQUA)
); ).color(NamedTextColor.GREEN);
} else { } else {
final MutablePlayerListEntry entry = context.sender(); final MutablePlayerListEntry entry = context.sender();
final String uuid = entry.profile().getIdAsString(); final String uuid = entry.profile().getIdAsString();
context.sendOutput( return Component.translatable(
Component.translatable( "Your UUID: %s",
"Your UUID: %s", Component
Component .text(uuid)
.text(uuid) .hoverEvent(
.hoverEvent( HoverEvent.showText(
HoverEvent.showText( Component.text("Click here to copy the UUID to your clipboard").color(NamedTextColor.GREEN)
Component.text("Click here to copy the UUID to your clipboard").color(NamedTextColor.GREEN)
)
) )
.clickEvent( )
ClickEvent.copyToClipboard(uuid) .clickEvent(
) ClickEvent.copyToClipboard(uuid)
.color(NamedTextColor.AQUA) )
).color(NamedTextColor.GREEN) .color(NamedTextColor.AQUA)
); ).color(NamedTextColor.GREEN);
} }
return Component.text("success");
} }
} }

View file

@ -79,6 +79,6 @@ public class UrbanCommand implements Command {
return Component.text(e.toString()).color(NamedTextColor.RED); return Component.text(e.toString()).color(NamedTextColor.RED);
} }
return Component.text("success"); return null;
} }
} }

View file

@ -1,6 +1,5 @@
package land.chipmunk.chayapak.chomens_bot.commands; package land.chipmunk.chayapak.chomens_bot.commands;
import land.chipmunk.chayapak.chomens_bot.Bot;
import land.chipmunk.chayapak.chomens_bot.command.Command; import land.chipmunk.chayapak.chomens_bot.command.Command;
import land.chipmunk.chayapak.chomens_bot.command.CommandContext; import land.chipmunk.chayapak.chomens_bot.command.CommandContext;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
@ -35,12 +34,11 @@ public class ValidateCommand implements Command {
} }
public Component execute(CommandContext context, String[] args, String[] fullArgs) { public Component execute(CommandContext context, String[] args, String[] fullArgs) {
final Bot bot = context.bot();
final String hash = fullArgs[0]; final String hash = fullArgs[0];
if (hash.equals(context.hash())) context.sendOutput(Component.text("Valid hash").color(NamedTextColor.GREEN)); if (hash.equals(context.hash())) return Component.text("Valid hash").color(NamedTextColor.GREEN);
else if (hash.equals(context.ownerHash())) context.sendOutput(Component.text("Valid OwnerHash").color(NamedTextColor.GREEN)); else if (hash.equals(context.ownerHash())) return Component.text("Valid OwnerHash").color(NamedTextColor.GREEN);
return Component.text("success"); return null;
} }
} }

View file

@ -73,7 +73,7 @@ public class WeatherCommand implements Command {
final String time = formatter.print(dateTime); final String time = formatter.print(dateTime);
final Component component = Component.translatable( return Component.translatable(
"Weather forecast for %s, %s:\n%s, feels like %s\nTime: %s", "Weather forecast for %s, %s:\n%s, feels like %s\nTime: %s",
Component.text(jsonObject.get("location").getAsJsonObject().get("name").getAsString()).color(NamedTextColor.AQUA), Component.text(jsonObject.get("location").getAsJsonObject().get("name").getAsString()).color(NamedTextColor.AQUA),
Component.text(jsonObject.get("location").getAsJsonObject().get("country").getAsString()).color(NamedTextColor.AQUA), Component.text(jsonObject.get("location").getAsJsonObject().get("country").getAsString()).color(NamedTextColor.AQUA),
@ -82,12 +82,8 @@ public class WeatherCommand implements Command {
Component.text(time).color(NamedTextColor.AQUA) Component.text(time).color(NamedTextColor.AQUA)
); );
context.sendOutput(component);
} catch (Exception e) { } catch (Exception e) {
return Component.text("Location \"" + location + "\" not found").color(NamedTextColor.RED); return Component.text("Location \"" + location + "\" not found").color(NamedTextColor.RED);
} }
return Component.text("success");
} }
} }

View file

@ -58,15 +58,11 @@ public class WikipediaCommand implements Command {
final JsonObject jsonObject = gson.fromJson(jsonOutput, JsonObject.class); final JsonObject jsonObject = gson.fromJson(jsonOutput, JsonObject.class);
context.sendOutput( return Component.text(jsonObject.get("extract").getAsString()).color(NamedTextColor.GREEN);
Component.text(jsonObject.get("extract").getAsString()).color(NamedTextColor.GREEN)
);
} catch (FileNotFoundException ignored) { } catch (FileNotFoundException ignored) {
return Component.text("Cannot find page: " + page).color(NamedTextColor.RED); return Component.text("Cannot find page: " + page).color(NamedTextColor.RED);
} catch (Exception e) { } catch (Exception e) {
return Component.text(e.toString()).color(NamedTextColor.RED); return Component.text(e.toString()).color(NamedTextColor.RED);
} }
return Component.text("success");
} }
} }

View file

@ -1,13 +1,12 @@
package land.chipmunk.chayapak.chomens_bot.plugins; package land.chipmunk.chayapak.chomens_bot.plugins;
import lombok.Getter;
import land.chipmunk.chayapak.chomens_bot.Bot; import land.chipmunk.chayapak.chomens_bot.Bot;
import land.chipmunk.chayapak.chomens_bot.chatParsers.data.PlayerMessage; import land.chipmunk.chayapak.chomens_bot.chatParsers.data.PlayerMessage;
import land.chipmunk.chayapak.chomens_bot.command.PlayerCommandContext; import land.chipmunk.chayapak.chomens_bot.command.PlayerCommandContext;
import land.chipmunk.chayapak.chomens_bot.util.ComponentUtilities; import land.chipmunk.chayapak.chomens_bot.util.ComponentUtilities;
import land.chipmunk.chayapak.chomens_bot.util.UUIDUtilities; import land.chipmunk.chayapak.chomens_bot.util.UUIDUtilities;
import lombok.Getter;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent;
import java.util.List; import java.util.List;
@ -56,9 +55,8 @@ public class ChatCommandHandlerPlugin extends ChatPlugin.ChatListener {
final PlayerCommandContext context = new PlayerCommandContext(bot, displayName, prefix, selector, message.sender(), bot.hashing().hash(), bot.hashing().ownerHash()); final PlayerCommandContext context = new PlayerCommandContext(bot, displayName, prefix, selector, message.sender(), bot.hashing().hash(), bot.hashing().ownerHash());
final Component output = bot.commandHandler().executeCommand(commandString, context, true, false, false, bot.hashing().hash(), bot.hashing().ownerHash(), null); final Component output = bot.commandHandler().executeCommand(commandString, context, true, false, false, bot.hashing().hash(), bot.hashing().ownerHash(), null);
final String textOutput = ((TextComponent) output).content();
if (!textOutput.equals("success")) { if (output != null) {
context.sendOutput(output); context.sendOutput(output);
} }
} }

View file

@ -6,7 +6,6 @@ import land.chipmunk.chayapak.chomens_bot.command.ConsoleCommandContext;
import lombok.Getter; import lombok.Getter;
import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.JDA;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.format.NamedTextColor;
import org.jline.reader.LineReader; import org.jline.reader.LineReader;
import org.jline.reader.LineReaderBuilder; import org.jline.reader.LineReaderBuilder;
@ -90,9 +89,8 @@ public class ConsolePlugin {
final ConsoleCommandContext context = new ConsoleCommandContext(bot, prefix); final ConsoleCommandContext context = new ConsoleCommandContext(bot, prefix);
final Component output = bot.commandHandler().executeCommand(line.substring(prefix.length()), context, false, false, true, null, null, null); final Component output = bot.commandHandler().executeCommand(line.substring(prefix.length()), context, false, false, true, null, null, null);
final String textOutput = ((TextComponent) output).content();
if (!textOutput.equals("success")) { if (output != null) {
context.sendOutput(output); context.sendOutput(output);
} }

View file

@ -16,7 +16,6 @@ import net.dv8tion.jda.api.entities.TextChannel;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter; import net.dv8tion.jda.api.hooks.ListenerAdapter;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.event.ClickEvent; import net.kyori.adventure.text.event.ClickEvent;
import net.kyori.adventure.text.event.HoverEvent; import net.kyori.adventure.text.event.HoverEvent;
import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.format.NamedTextColor;
@ -79,10 +78,9 @@ public class DiscordPlugin {
final DiscordCommandContext context = new DiscordCommandContext(bot, prefix, event, null, null); final DiscordCommandContext context = new DiscordCommandContext(bot, prefix, event, null, null);
final Component output = bot.commandHandler().executeCommand(message.substring(prefix.length()), context, false, true, false, null, null, event); final Component output = bot.commandHandler().executeCommand(message.substring(prefix.length()), context, false, true, false, null, null, event);
final String textOutput = ((TextComponent) output).content();
if (!textOutput.equals("success")) { if (output != null) {
context.sendError(output); context.sendOutput(output);
} }
return; return;

View file

@ -93,8 +93,8 @@ public class FilterPlugin extends PlayersPlugin.PlayerListener {
filteredPlayers.add(new FilteredPlayer(playerName, regex, ignoreCase)); filteredPlayers.add(new FilteredPlayer(playerName, regex, ignoreCase));
} }
public void remove (int index) { public FilteredPlayer remove (int index) {
filteredPlayers.remove(index); return filteredPlayers.remove(index);
} }
public void clear () { public void clear () {