Skip to content

Commit 227c4b4

Browse files
committed
Made help commands clickable
1 parent 0b3665e commit 227c4b4

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

src/main/java/de/pascalpex/pexnpc/commands/subcommands/HelpSubcommand.java

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,32 @@
55
import de.pascalpex.pexnpc.PexNPC;
66
import de.pascalpex.pexnpc.util.MessageHandler;
77
import io.papermc.paper.command.brigadier.CommandSourceStack;
8+
import net.kyori.adventure.text.Component;
9+
import net.kyori.adventure.text.event.ClickEvent;
10+
import net.kyori.adventure.text.event.HoverEvent;
811
import org.bukkit.command.CommandSender;
912

1013
public class HelpSubcommand implements Command<CommandSourceStack> {
1114
@Override
1215
public int run(CommandContext<CommandSourceStack> context) {
1316
CommandSender sender = context.getSource().getSender();
17+
HoverEvent<Component> hoverEvent = HoverEvent.showText(MessageHandler.parse("<aqua>Click to execute"));
1418

15-
sender.sendMessage(MessageHandler.prefixedMini("PexNPC " + PexNPC.getPluginVersion() + " von Pascalpex"));
19+
sender.sendMessage(MessageHandler.prefixedMini("PexNPC " + PexNPC.getPluginVersion() + " by Pascalpex"));
1620
sender.sendMessage(MessageHandler.prefixedMini("Available commands:"));
17-
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc help <dark_gray>| <gold>Shows this page"));
18-
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc reload <dark_gray>| <gold>Reloads the files and NPCs"));
19-
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc create [NAME] <dark_gray>| <gold>Creates a new NPC"));
20-
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc list <dark_gray>| <gold>Shows all NPCs and their IDs"));
21-
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc delete [ID] <dark_gray>| <gold>Deletes a NPC"));
22-
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc name [ID] [NAME] <dark_gray>| <gold>Changes a name"));
23-
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc movehere [ID] <dark_gray>| <gold>Moves a NPC to you"));
24-
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc skin [ID] [NAME] <dark_gray>| <gold>Changes a skin"));
25-
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc cmd [ID] [CMD] <dark_gray>| <gold>Gives a command to a NPC"));
26-
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc msg [ID] [MSG] <dark_gray>| <gold>Gives a message to a NPC"));
27-
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc item [ID] [SLOT] <dark_gray>| <gold>Gives an item to a NPC"));
28-
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc clear [ID] <dark_gray>| <gold>Clears the command, message and items of a NPC"));
29-
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc tp [ID] <dark_gray>| <gold>Teleports to a NPC"));
21+
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc help <dark_gray>| <gold>Shows this page").hoverEvent(hoverEvent).clickEvent(ClickEvent.suggestCommand("/pexnpc help")));
22+
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc reload <dark_gray>| <gold>Reloads the files and NPCs").hoverEvent(hoverEvent).clickEvent(ClickEvent.suggestCommand("/pexnpc reload")));
23+
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc create [NAME] <dark_gray>| <gold>Creates a new NPC").hoverEvent(hoverEvent).clickEvent(ClickEvent.suggestCommand("/pexnpc create")));
24+
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc list <dark_gray>| <gold>Shows all NPCs and their IDs").hoverEvent(hoverEvent).clickEvent(ClickEvent.suggestCommand("/pexnpc list")));
25+
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc delete [ID] <dark_gray>| <gold>Deletes a NPC").hoverEvent(hoverEvent).clickEvent(ClickEvent.suggestCommand("/pexnpc delete")));
26+
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc name [ID] [NAME] <dark_gray>| <gold>Changes a name").hoverEvent(hoverEvent).clickEvent(ClickEvent.suggestCommand("/pexnpc name")));
27+
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc movehere [ID] <dark_gray>| <gold>Moves a NPC to you").hoverEvent(hoverEvent).clickEvent(ClickEvent.suggestCommand("/pexnpc movehere")));
28+
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc skin [ID] [NAME] <dark_gray>| <gold>Changes a skin").hoverEvent(hoverEvent).clickEvent(ClickEvent.suggestCommand("/pexnpc skin")));
29+
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc cmd [ID] [CMD] <dark_gray>| <gold>Gives a command to a NPC").hoverEvent(hoverEvent).clickEvent(ClickEvent.suggestCommand("/pexnpc cmd")));
30+
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc msg [ID] [MSG] <dark_gray>| <gold>Gives a message to a NPC").hoverEvent(hoverEvent).clickEvent(ClickEvent.suggestCommand("/pexnpc msg")));
31+
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc item [ID] [SLOT] <dark_gray>| <gold>Gives an item to a NPC").hoverEvent(hoverEvent).clickEvent(ClickEvent.suggestCommand("/pexnpc item")));
32+
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc clear [ID] <dark_gray>| <gold>Clears the command, message and items of a NPC").hoverEvent(hoverEvent).clickEvent(ClickEvent.suggestCommand("/pexnpc clear")));
33+
sender.sendMessage(MessageHandler.prefixedMini("/pexnpc tp [ID] <dark_gray>| <gold>Teleports to a NPC").hoverEvent(hoverEvent).clickEvent(ClickEvent.suggestCommand("/pexnpc tp")));
3034
return SINGLE_SUCCESS;
3135
}
3236
}

0 commit comments

Comments
 (0)