Skip to content

Commit 455b00b

Browse files
committed
feat: finish spigot-chat-arguments.md
1 parent 7b543b0 commit 455b00b

File tree

3 files changed

+131
-6
lines changed

3 files changed

+131
-6
lines changed

docs/en/create-commands/arguments/types/chat/spigot-chat-arguments.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -116,11 +116,11 @@ Now we can create our book command. We use the player as the main target by usin
116116

117117
:::tabs
118118
===Java
119-
119+
<<< @/../reference-code/src/main/java/createcommands/arguments/types/chat/SpigotChatArguments.java#setPagesExample
120120
===Kotlin
121-
121+
<<< @/../reference-code/src/main/kotlin/createcommands/arguments/types/chat/SpigotChatArguments.kt#setPagesExample
122122
===Kotlin DSL
123-
123+
<<< @/../reference-code/src/main/kotlin/createcommands/arguments/types/chat/SpigotChatArguments.kt#setPagesExampleDSL
124124
:::
125125

126126
::::
@@ -153,11 +153,11 @@ _Bob_ would receive the message "Hello Bob", whereas _Michael_ would receive the
153153

154154
:::tabs
155155
===Java
156-
156+
<<< @/../reference-code/src/main/java/createcommands/arguments/types/chat/SpigotChatArguments.java#chatArgumentExample
157157
===Kotlin
158-
158+
<<< @/../reference-code/src/main/kotlin/createcommands/arguments/types/chat/SpigotChatArguments.kt#chatArgumentExample
159159
===kotlin,Kotlin DSL
160-
160+
<<< @/../reference-code/src/main/kotlin/createcommands/arguments/types/chat/SpigotChatArguments.kt#chatArgumentExampleDSL
161161
:::
162162

163163
::::

reference-code/src/main/java/createcommands/arguments/types/chat/SpigotChatArguments.java

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
11
package createcommands.arguments.types.chat;
22

33
import dev.jorel.commandapi.CommandAPICommand;
4+
import dev.jorel.commandapi.arguments.ChatArgument;
45
import dev.jorel.commandapi.arguments.ChatColorArgument;
6+
import dev.jorel.commandapi.arguments.ChatComponentArgument;
7+
import dev.jorel.commandapi.arguments.PlayerArgument;
8+
import net.md_5.bungee.api.chat.BaseComponent;
9+
import org.bukkit.Bukkit;
510
import org.bukkit.ChatColor;
11+
import org.bukkit.Material;
12+
import org.bukkit.entity.Player;
13+
import org.bukkit.inventory.ItemStack;
14+
import org.bukkit.inventory.meta.BookMeta;
615

716
class SpigotChatArguments {
817
{
@@ -15,5 +24,39 @@ class SpigotChatArguments {
1524
})
1625
.register();
1726
// #endregion chatColorArgumentExample
27+
28+
// #region setPagesExample
29+
new CommandAPICommand("makebook")
30+
.withArguments(new PlayerArgument("player"))
31+
.withArguments(new ChatComponentArgument("contents"))
32+
.executes((sender, args) -> {
33+
Player player = (Player) args.get("player");
34+
BaseComponent[] arr = (BaseComponent[]) args.get("contents");
35+
36+
// Create book
37+
ItemStack is = new ItemStack(Material.WRITTEN_BOOK);
38+
BookMeta meta = (BookMeta) is.getItemMeta();
39+
meta.setTitle("Custom Book");
40+
meta.setAuthor(player.getName());
41+
meta.spigot().setPages(arr);
42+
is.setItemMeta(meta);
43+
44+
// Give player the book
45+
player.getInventory().addItem(is);
46+
})
47+
.register();
48+
// #endregion setPagesExample
49+
50+
// #region chatArgumentExample
51+
new CommandAPICommand("pbroadcast")
52+
.withArguments(new ChatArgument("message"))
53+
.executes((sender, args) -> {
54+
BaseComponent[] message = (BaseComponent[]) args.get("message");
55+
56+
// Broadcast the message to everyone on the server
57+
Bukkit.getServer().spigot().broadcast(message);
58+
})
59+
.register();
60+
// #endregion chatArgumentExample
1861
}
1962
}

reference-code/src/main/kotlin/createcommands/arguments/types/chat/SpigotChatArguments.kt

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,26 @@
11
package createcommands.arguments.types.chat
22

33
import dev.jorel.commandapi.CommandAPICommand
4+
import dev.jorel.commandapi.arguments.ChatArgument
45
import 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
59
import dev.jorel.commandapi.executors.PlayerCommandExecutor
10+
import dev.jorel.commandapi.kotlindsl.anyExecutor
11+
import dev.jorel.commandapi.kotlindsl.chatArgument
612
import dev.jorel.commandapi.kotlindsl.chatColorArgument
13+
import dev.jorel.commandapi.kotlindsl.chatComponentArgument
714
import dev.jorel.commandapi.kotlindsl.commandAPICommand
15+
import dev.jorel.commandapi.kotlindsl.playerArgument
816
import dev.jorel.commandapi.kotlindsl.playerExecutor
17+
import net.md_5.bungee.api.chat.BaseComponent
18+
import org.bukkit.Bukkit
919
import 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

1125
fun 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

2371
fun 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

Comments
 (0)