11package createcommands.arguments.types.chat
22
33import dev.jorel.commandapi.CommandAPICommand
4+ import dev.jorel.commandapi.arguments.ChatArgument
45import dev.jorel.commandapi.arguments.ChatColorArgument
6+ import dev.jorel.commandapi.arguments.ChatComponentArgument
7+ import dev.jorel.commandapi.arguments.PlayerArgument
8+ import dev.jorel.commandapi.executors.CommandExecutor
59import dev.jorel.commandapi.executors.PlayerCommandExecutor
10+ import dev.jorel.commandapi.kotlindsl.anyExecutor
11+ import dev.jorel.commandapi.kotlindsl.chatArgument
612import dev.jorel.commandapi.kotlindsl.chatColorArgument
13+ import dev.jorel.commandapi.kotlindsl.chatComponentArgument
714import dev.jorel.commandapi.kotlindsl.commandAPICommand
15+ import dev.jorel.commandapi.kotlindsl.playerArgument
816import dev.jorel.commandapi.kotlindsl.playerExecutor
17+ import net.md_5.bungee.api.chat.BaseComponent
18+ import org.bukkit.Bukkit
919import org.bukkit.ChatColor
20+ import org.bukkit.Material
21+ import org.bukkit.entity.Player
22+ import org.bukkit.inventory.ItemStack
23+ import org.bukkit.inventory.meta.BookMeta
1024
1125fun spigotChatArguments () {
1226 // #region chatColorArgumentExample
@@ -18,6 +32,40 @@ fun spigotChatArguments() {
1832 })
1933 .register()
2034 // #endregion chatColorArgumentExample
35+
36+ // #region setPagesExample
37+ CommandAPICommand (" makebook" )
38+ .withArguments(PlayerArgument (" player" ))
39+ .withArguments(ChatComponentArgument (" contents" ))
40+ .executes(CommandExecutor { _, args ->
41+ val player = args[" player" ] as Player
42+ val arr = args[" contents" ] as Array <BaseComponent >
43+
44+ // Create book
45+ val item = ItemStack (Material .WRITTEN_BOOK )
46+ val meta = item.itemMeta as BookMeta
47+ meta.title = " Custom Book"
48+ meta.author = player.name
49+ meta.spigot().setPages(arr)
50+ item.itemMeta = meta
51+
52+ // Give player the book
53+ player.inventory.addItem(item)
54+ })
55+ .register()
56+ // #endregion setPagesExample
57+
58+ // #region chatArgumentExample
59+ CommandAPICommand (" pbroadcast" )
60+ .withArguments(ChatArgument (" message" ))
61+ .executes(CommandExecutor { _, args ->
62+ val message = args[" message" ] as Array <BaseComponent >
63+
64+ // Broadcast the message to everyone on the server
65+ Bukkit .getServer().spigot().broadcast(* message)
66+ })
67+ .register()
68+ // #endregion chatArgumentExample
2169}
2270
2371fun spigotChatArgumentsDSL () {
@@ -30,4 +78,38 @@ fun spigotChatArgumentsDSL() {
3078 }
3179 }
3280 // #endregion chatColorArgumentExampleDSL
81+
82+ // #region setPagesExampleDSL
83+ commandAPICommand(" makebook" ) {
84+ playerArgument(" player" )
85+ chatComponentArgument(" contents" )
86+ anyExecutor { _, args ->
87+ val player = args[" player" ] as Player
88+ val array = args[" contents" ] as Array <BaseComponent >
89+
90+ // Create book
91+ val item = ItemStack (Material .WRITTEN_BOOK )
92+ val meta = item.itemMeta as BookMeta
93+ meta.title = " Custom Book"
94+ meta.author = player.name
95+ meta.spigot().setPages(array)
96+ item.itemMeta = meta
97+
98+ // Give player the book
99+ player.inventory.addItem(item)
100+ }
101+ }
102+ // #endregion setPagesExampleDSL
103+
104+ // #region chatArgumentExampleDSL
105+ commandAPICommand(" pbroadcast" ) {
106+ chatArgument(" message" )
107+ anyExecutor { _, args ->
108+ val message = args[" message" ] as Array <BaseComponent >
109+
110+ // Broadcast the message to everyone on the server
111+ Bukkit .getServer().spigot().broadcast(* message)
112+ }
113+ }
114+ // #endregion chatArgumentExampleDSL
33115}
0 commit comments