|
5 | 5 | import de.pascalpex.pexnpc.PexNPC; |
6 | 6 | import de.pascalpex.pexnpc.util.MessageHandler; |
7 | 7 | 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; |
8 | 11 | import org.bukkit.command.CommandSender; |
9 | 12 |
|
10 | 13 | public class HelpSubcommand implements Command<CommandSourceStack> { |
11 | 14 | @Override |
12 | 15 | public int run(CommandContext<CommandSourceStack> context) { |
13 | 16 | CommandSender sender = context.getSource().getSender(); |
| 17 | + HoverEvent<Component> hoverEvent = HoverEvent.showText(MessageHandler.parse("<aqua>Click to execute")); |
14 | 18 |
|
15 | | - sender.sendMessage(MessageHandler.prefixedMini("PexNPC " + PexNPC.getPluginVersion() + " von Pascalpex")); |
| 19 | + sender.sendMessage(MessageHandler.prefixedMini("PexNPC " + PexNPC.getPluginVersion() + " by Pascalpex")); |
16 | 20 | 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"))); |
30 | 34 | return SINGLE_SUCCESS; |
31 | 35 | } |
32 | 36 | } |
0 commit comments