From 213e7a0e08a10176832d27a2147f208ba878e681 Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Tue, 25 Jun 2024 20:52:22 +0200 Subject: [PATCH 01/29] Added note that the docs are incomplete --- docs/paper/dev/api/commands.mdx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/paper/dev/api/commands.mdx b/docs/paper/dev/api/commands.mdx index 842da0c73..949042d12 100644 --- a/docs/paper/dev/api/commands.mdx +++ b/docs/paper/dev/api/commands.mdx @@ -8,6 +8,14 @@ description: A guide to Paper's Brigadier command API. Paper's command system is built on top of Minecraft's Brigadier command system. This system is a powerful and flexible way to define commands and arguments. +:::note + +As this documentation is incomplete at the moment, see [the test Paper plugin](https://github.com/PaperMC/Paper/tree/master/test-plugin) +in the project's main repository for information on how to use Paper Brigadier commands. +And don't worry, this page is currently being worked on. + +::: + :::danger[Experimental] Paper's command system is still experimental and may change in the future. From aa91be2c0b599b0a3cf3adaecf51e86e59481fa6 Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Wed, 26 Jun 2024 16:49:30 +0200 Subject: [PATCH 02/29] added more documentation for brigadier arguments --- config/sidebar.paper.ts | 10 +- docs/paper/dev/api/commands-api/README.mdx | 20 ++++ docs/paper/dev/api/commands-api/arguments.mdx | 97 +++++++++++++++++++ .../dev/api/{ => commands-api}/commands.mdx | 25 +---- docs/versioned/paper/sidebars/1.20.json | 1 + 5 files changed, 128 insertions(+), 25 deletions(-) create mode 100644 docs/paper/dev/api/commands-api/README.mdx create mode 100644 docs/paper/dev/api/commands-api/arguments.mdx rename docs/paper/dev/api/{ => commands-api}/commands.mdx (79%) diff --git a/config/sidebar.paper.ts b/config/sidebar.paper.ts index 4fe862f95..9e104b2d5 100644 --- a/config/sidebar.paper.ts +++ b/config/sidebar.paper.ts @@ -125,6 +125,15 @@ const paper: SidebarsConfig = { "dev/api/event-api/chat-event", ], }, + { + type: "category", + label: "Command API (Brigadier)", + collapsed: true, + items: [ + "dev/api/commands-api/commands", + "dev/api/commands-api/arguments" + ] + }, { type: "category", label: "Entity API", @@ -143,7 +152,6 @@ const paper: SidebarsConfig = { }, "dev/api/pdc", "dev/api/custom-inventory-holder", - "dev/api/commands", "dev/api/scheduler", "dev/api/plugin-messaging", "dev/api/plugin-configs", diff --git a/docs/paper/dev/api/commands-api/README.mdx b/docs/paper/dev/api/commands-api/README.mdx new file mode 100644 index 000000000..e5c93ecab --- /dev/null +++ b/docs/paper/dev/api/commands-api/README.mdx @@ -0,0 +1,20 @@ +import DocCardList from "@theme/DocCardList"; +import { useCurrentSidebarCategory } from "@docusaurus/theme-common"; + +# Paper API + +Welcome to the Paper API guide! +This guide includes information for developers about how to use the Paper Command API + +--- + +:::danger[Experimental] + +Paper's command system is still experimental and may change in the future. + +::: + + + + + diff --git a/docs/paper/dev/api/commands-api/arguments.mdx b/docs/paper/dev/api/commands-api/arguments.mdx new file mode 100644 index 000000000..c05e6ba43 --- /dev/null +++ b/docs/paper/dev/api/commands-api/arguments.mdx @@ -0,0 +1,97 @@ +--- +slug: /dev/commands-api/arguments +description: A guide to Paper's Brigadier command API. +--- + +# Arguments + +Arguments are suggestions for the execution of a command. They are passed when +registering a Paper Brigadier command. + +:::danger[Experimental] + +Paper's command system is still experimental and may change in the future. + +::: + +## Basic usage of arguments + +You can add arguments to a command by doing the following: +```java + public class YourPluginClass extends JavaPlugin { + + @Override + public void onEnable() { + LifecycleEventManager manager = this.getLifecycleManager(); + manager.registerEventHandler(LifecycleEvents.COMMANDS, event -> { + final Commands commands = event.registrar(); + commands.register( + Commands.literal("enchantmentargumentcommand") + .then( + Commands.argument("enchantmentargument", ArgumentTypes.resource(RegistryKey.ENCHANTMENT)) + .executes(ctx -> { + ctx.getSource().getSender().sendPlainMessage( + ctx.getArgument("enchantmentargument", Enchantment.class).getKey().asString() + ); + return Command.SINGLE_SUCCESS; + }) + ).build() + ); + }); + } +} + +``` +This command has one argument of the Enchantment datatype. The advantage of using +Brigadier over the `TabExecutor` interface is that you don't have to convert the +string that is passed to the `CommandExecutor#onCommand` function as an argument to +an enchantment in this case because `ctx.getArgument("enchantmentargument", Enchantment.class)` +returns a value of the `Enchantment` datatype. Additionally, you don't have to write +error handling functionality yourself as the client checks whether the argument the +user wrote in the chat is one of the `minecraft:enchantment` type and if it isn't, +the user will get an error. + +## Enchantment types + +By default, many argument types are already available through the [Registry](../registries). +In the example above, we used the Enchantment Argument type but there are many others: + +### Predefined types (Registry) + +| Registry key name | Return datatype class | Description | +|---------------------|-----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| GAME_EVENT | GameEvent | Events in the game (eating, flying with an elytra etc.) | +| STRUCTURE_TYPE | StructureType | [Structures](https://minecraft.wiki/w/Structure) Beware that as of Paper 1.20.6-147, there is also a Registry key named `STRUCTURE` that is not recognized by the client and makes it unable to connect. This has been reported to Paper developers and will be fixed in a future release. | +| INSTRUMENT | CraftMusicInstrument | [Note block instrument](https://minecraft.wiki/w/Note_Block) | +| ENCHANTMENT | Enchantment | [Enchantment type](https://minecraft.wiki/w/Enchantment) | +| MOB_EFFECT | PotionEffectType | [Potion effect](https://minecraft.wiki/w/Effect) | +| BLOCK | BlockType | Internal! Block type | +| ITEM | ItemType | Internal! Item type | +| BIOME | Biome | [Biome type](https://minecraft.wiki/w/Biome#Biome_types) | +| TRIM_MATERIAL | TrimMaterial | [Materials used to trim armor](https://minecraft.wiki/w/Smithing#Material) | +| TRIM_PATTERN | TrimPattern | [Trim patterns](https://minecraft.wiki/w/Smithing#Trimming) | +| DAMAGE_TYPE | DamageType | [All types of damage dealt to an entity](https://minecraft.wiki/w/Damage_type) | +| WOLF_VARIANT | Wolf.Variant | [Wolf variants since 1.20.5](https://minecraft.wiki/w/Wolf#Variants) | +| PAINTING_VARIANT | Art | [All paintings](https://minecraft.wiki/w/Painting#Canvases) | +| ATTRIBUTE | Attribute | [Entity attribute](https://minecraft.wiki/w/Attribute) | +| BANNER_PATTERN | PatternType | [Armor Pattern type](https://minecraft.wiki/w/Banner_Pattern#Variants) | +| CAT_VARIANT | Cat.Type | [Cat variants](https://minecraft.wiki/w/Cat#Appearance) | +| ENTITY_TYPE | EntityType | [Every entity type](https://minecraft.wiki/w/Entity) | +| PARTICLE_TYPE | Particle | [Every particle type](https://minecraft.wiki/w/Particles_(Java_Edition)) | +| POTION | PotionType | [Every potion type](https://minecraft.wiki/w/Potion#Effect_potions) | +| SOUND_EVENT | Sound | [Events that trigger sound effects](https://minecraft.wiki/w/Sounds.json#Sound_events) | +| VILLAGER_PROFESSION | Villager.Profession | [Villager professions](https://minecraft.wiki/w/Villager#Professions) | +| VILLAGER_TYPE | Villager.Type | [Villager biome specific type](https://minecraft.wiki/w/Villager#Professions) | +| MEMORY_MODULE_TYPE | MemoryKey | Keys for saving per-entity data | +| FROG_VARIANT | Frog.Variant | [Frog variants](https://minecraft.wiki/w/Frog) | +| MAP_DECORATION_TYPE | MapCursor.Type | [Types of sprites displayed on a map](https://minecraft.wiki/w/Map#Map_icons) | +| FLUID | Fluid | [Fluid types](https://minecraft.wiki/w/Fluid) + +### Predefined types (in Brigadier itself) + +Brigadier itself also specifies many argument types. For more information on them, see LifecycleEventManager + +### Custom types + +Custom arguments can be created by implementing the CustomArgumentType +interface. \ No newline at end of file diff --git a/docs/paper/dev/api/commands.mdx b/docs/paper/dev/api/commands-api/commands.mdx similarity index 79% rename from docs/paper/dev/api/commands.mdx rename to docs/paper/dev/api/commands-api/commands.mdx index 949042d12..37b561c3e 100644 --- a/docs/paper/dev/api/commands.mdx +++ b/docs/paper/dev/api/commands-api/commands.mdx @@ -3,19 +3,11 @@ slug: /dev/commands description: A guide to Paper's Brigadier command API. --- -# Command API +# Commands Paper's command system is built on top of Minecraft's Brigadier command system. This system is a powerful and flexible way to define commands and arguments. -:::note - -As this documentation is incomplete at the moment, see [the test Paper plugin](https://github.com/PaperMC/Paper/tree/master/test-plugin) -in the project's main repository for information on how to use Paper Brigadier commands. -And don't worry, this page is currently being worked on. - -::: - :::danger[Experimental] Paper's command system is still experimental and may change in the future. @@ -117,21 +109,6 @@ class FunCommand implements BasicCommand { } ``` -## Arguments - -### Built-in arguments - -Vanilla has lots of built-in arguments that the client also supports. These can provide better -syntax and error-checking before even executing the commands. ArgumentTypes -has all the argument types available to the API. - -For now, you can find specific examples of arguments, among other things, on the [Fabric Wiki](https://fabricmc.net/wiki/tutorial:commands). - -### Custom arguments - -Custom arguments can be created by implementing the CustomArgumentType -interface. See the Javadocs for more information on how they work. - ## Lifecycle Commands are not just registered once at the start, but anytime a reload happens. This can be diff --git a/docs/versioned/paper/sidebars/1.20.json b/docs/versioned/paper/sidebars/1.20.json index c9e50d37f..0bae4562c 100644 --- a/docs/versioned/paper/sidebars/1.20.json +++ b/docs/versioned/paper/sidebars/1.20.json @@ -145,6 +145,7 @@ "dev/api/component-api/audiences" ] }, + "dev/api/pdc", "dev/api/custom-inventory-holder", "dev/api/commands", From 38e6065856e6bad45f4eb2982382c2d7d7ae42d9 Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Wed, 26 Jun 2024 19:48:20 +0200 Subject: [PATCH 03/29] further explaination about arguments --- docs/paper/dev/api/commands-api/arguments.mdx | 119 ++++++++++++++++-- .../commands-api/assets/icecreamargument.gif | Bin 0 -> 56864 bytes 2 files changed, 106 insertions(+), 13 deletions(-) create mode 100644 docs/paper/dev/api/commands-api/assets/icecreamargument.gif diff --git a/docs/paper/dev/api/commands-api/arguments.mdx b/docs/paper/dev/api/commands-api/arguments.mdx index c05e6ba43..68894f1eb 100644 --- a/docs/paper/dev/api/commands-api/arguments.mdx +++ b/docs/paper/dev/api/commands-api/arguments.mdx @@ -18,8 +18,7 @@ Paper's command system is still experimental and may change in the future. You can add arguments to a command by doing the following: ```java - public class YourPluginClass extends JavaPlugin { - +public class YourPluginClass extends JavaPlugin { @Override public void onEnable() { LifecycleEventManager manager = this.getLifecycleManager(); @@ -40,7 +39,6 @@ You can add arguments to a command by doing the following: }); } } - ``` This command has one argument of the Enchantment datatype. The advantage of using Brigadier over the `TabExecutor` interface is that you don't have to convert the @@ -53,20 +51,21 @@ the user will get an error. ## Enchantment types -By default, many argument types are already available through the [Registry](../registries). -In the example above, we used the Enchantment Argument type but there are many others: +By default, you can use [registries](../registries) to get simple argument types like +blocks, items, potions and many more. In the example above, we used the Enchantment +Argument type but there are many others: ### Predefined types (Registry) | Registry key name | Return datatype class | Description | |---------------------|-----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | GAME_EVENT | GameEvent | Events in the game (eating, flying with an elytra etc.) | -| STRUCTURE_TYPE | StructureType | [Structures](https://minecraft.wiki/w/Structure) Beware that as of Paper 1.20.6-147, there is also a Registry key named `STRUCTURE` that is not recognized by the client and makes it unable to connect. This has been reported to Paper developers and will be fixed in a future release. | +| STRUCTURE_TYPE | StructureType | [Structures](https://minecraft.wiki/w/Structure#Overworld) - Beware that, as of Paper 1.20.6-147, there is also a Registry named `STRUCTURE` that is not recognized by the client and makes it unable to connect. This has been reported to Paper developers and will be fixed in a future release. | | INSTRUMENT | CraftMusicInstrument | [Note block instrument](https://minecraft.wiki/w/Note_Block) | -| ENCHANTMENT | Enchantment | [Enchantment type](https://minecraft.wiki/w/Enchantment) | -| MOB_EFFECT | PotionEffectType | [Potion effect](https://minecraft.wiki/w/Effect) | -| BLOCK | BlockType | Internal! Block type | -| ITEM | ItemType | Internal! Item type | +| ENCHANTMENT | Enchantment | [Enchantment type](https://minecraft.wiki/w/Enchanting#Summary_of_enchantments) | +| MOB_EFFECT | PotionEffectType | [Potion effect](https://minecraft.wiki/w/Effect#List) | +| BLOCK | BlockType | [Block type - not modifyable](https://minecraft.wiki/w/Block#List_of_blocks) | +| ITEM | ItemType | [Item type - not modifyable](https://minecraft.wiki/w/Item#List_of_items) | | BIOME | Biome | [Biome type](https://minecraft.wiki/w/Biome#Biome_types) | | TRIM_MATERIAL | TrimMaterial | [Materials used to trim armor](https://minecraft.wiki/w/Smithing#Material) | | TRIM_PATTERN | TrimPattern | [Trim patterns](https://minecraft.wiki/w/Smithing#Trimming) | @@ -76,8 +75,8 @@ In the example above, we used the Enchantment Argument type but there are many o | ATTRIBUTE | Attribute | [Entity attribute](https://minecraft.wiki/w/Attribute) | | BANNER_PATTERN | PatternType | [Armor Pattern type](https://minecraft.wiki/w/Banner_Pattern#Variants) | | CAT_VARIANT | Cat.Type | [Cat variants](https://minecraft.wiki/w/Cat#Appearance) | -| ENTITY_TYPE | EntityType | [Every entity type](https://minecraft.wiki/w/Entity) | -| PARTICLE_TYPE | Particle | [Every particle type](https://minecraft.wiki/w/Particles_(Java_Edition)) | +| ENTITY_TYPE | EntityType | [Every entity type](https://minecraft.wiki/w/Entity#Types_of_entities) | +| PARTICLE_TYPE | Particle | [Every particle type](https://minecraft.wiki/w/Particles_(Java_Edition)#Types_of_particles) | | POTION | PotionType | [Every potion type](https://minecraft.wiki/w/Potion#Effect_potions) | | SOUND_EVENT | Sound | [Events that trigger sound effects](https://minecraft.wiki/w/Sounds.json#Sound_events) | | VILLAGER_PROFESSION | Villager.Profession | [Villager professions](https://minecraft.wiki/w/Villager#Professions) | @@ -94,4 +93,98 @@ Brigadier itself also specifies many argument types. For more information on the ### Custom types Custom arguments can be created by implementing the CustomArgumentType -interface. \ No newline at end of file +interface. The advantage custom types have over string-based argument systems like +Bukkit's `TabExecutor` is that we can work with our own types and the completions list +is not sorted alphanumerically. This may sound insignificant but when you want an input +of the type integer and suggest the number 0-10, for example, your list will look like this: +`0, 1, 10, 2, 3, ...`. Looks awful, right? + +Now, lets say that we want to implement a command which lets you order ice cream. For that, +we add a + +```java +public enum IceCreamType { + VANILLA, + CHOCOLATE, + STRAWBERRY, + MINT, + COOKIES +} +``` +Now, we have to define the argument itself. We do this by implementing the CustomArgumentType.Converted interface: + +```java +public class IceCreamTypeArgument implements CustomArgumentType.Converted { + + @Override + public @NotNull IceCreamType convert(String nativeType) throws CommandSyntaxException { + try { + return IceCreamType.valueOf(nativeType.toUpperCase()); + } catch (Exception e) { + Message message = MessageComponentSerializer.message().serialize(Component.text("Invalid flavor %s!".formatted(nativeType), NamedTextColor.RED)); + + throw new CommandSyntaxException(new SimpleCommandExceptionType(message), message); + } + } + + @Override + public @NotNull ArgumentType getNativeType() { + return StringArgumentType.word(); + } + + @Override + public CompletableFuture listSuggestions(CommandContext context, SuggestionsBuilder builder) { + for (IceCreamType flavor : IceCreamType.values()) { + builder.suggest(flavor.name(), MessageComponentSerializer.message().serialize(Component.text("look at this cool green tooltip!", NamedTextColor.GREEN))); + } + + return CompletableFuture.completedFuture( + builder.build() + ); + } +} +``` + +That's a lot of code, so let's start from the top. We implemented the `CustomArgumentType.Converted` +interface. This interface takes two type arguments: our custom enum, T, and a type that is native to +Minecraft, such as String, Integer, etc., called N. The native Type exists so that the client can use +the input data, as it doesn't know what our custom `IceCreamType` is. + +The first method called `convert()` converts the native type (in this case `String`) +into our own custom type called `IceCreamType`, as the name suggests. This is so we +can keep using our custom type internally. If we wouldn't do that, there would be no point in using a +custom type. If the specified input isn't found in our enum of available flavors, we +output an error. + +The second method called `getNativeType()` returns the type of string that our command argument uses. +In our case, we're using a single word, so we return `StringArgumentType.word()`. + +In the last method, `listSuggestions()`, we return `CompletableFuture` so that the client +can suggest all available options. We can even add tooltips to the suggestions to explain them in greater +detail. + +As a last step, we need to register the Command: + +```java +public void onEnable() { + LifecycleEventManager manager = this.getLifecycleManager(); + manager.registerEventHandler(LifecycleEvents.COMMANDS, event -> { + final Commands commands = event.registrar(); + commands.register(Commands.literal("ordericecream") + .then( + Commands.argument("flavor", new IceCreamTypeArgument()).executes((commandContext -> { + IceCreamType argumentResponse = commandContext.getArgument("flavor", IceCreamType.class); // Gets the raw argument + commandContext.getSource().getSender().sendMessage(Component.text("You ordered: " + argumentResponse)); + return 1; + })) + ).build() + ); + }); +} +``` + +Now that we have registered the command, we can execute it ingame: + +![command argument example](./assets/icecreamargument.gif) + +Look, we can even see our tooltip! \ No newline at end of file diff --git a/docs/paper/dev/api/commands-api/assets/icecreamargument.gif b/docs/paper/dev/api/commands-api/assets/icecreamargument.gif new file mode 100644 index 0000000000000000000000000000000000000000..533e6beee5d374c933b4c1b9c7b6f4ffa95fed68 GIT binary patch literal 56864 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 Date: Wed, 26 Jun 2024 19:48:20 +0200 Subject: [PATCH 04/29] further explaination about arguments --- docs/paper/dev/api/commands-api/README.mdx | 20 --- docs/paper/dev/api/commands-api/arguments.mdx | 131 +++++++++++++++--- .../commands-api/assets/command-executed.gif | Bin 0 -> 118849 bytes .../commands-api/assets/icecreamargument.gif | Bin 0 -> 56864 bytes 4 files changed, 112 insertions(+), 39 deletions(-) delete mode 100644 docs/paper/dev/api/commands-api/README.mdx create mode 100644 docs/paper/dev/api/commands-api/assets/command-executed.gif create mode 100644 docs/paper/dev/api/commands-api/assets/icecreamargument.gif diff --git a/docs/paper/dev/api/commands-api/README.mdx b/docs/paper/dev/api/commands-api/README.mdx deleted file mode 100644 index e5c93ecab..000000000 --- a/docs/paper/dev/api/commands-api/README.mdx +++ /dev/null @@ -1,20 +0,0 @@ -import DocCardList from "@theme/DocCardList"; -import { useCurrentSidebarCategory } from "@docusaurus/theme-common"; - -# Paper API - -Welcome to the Paper API guide! -This guide includes information for developers about how to use the Paper Command API - ---- - -:::danger[Experimental] - -Paper's command system is still experimental and may change in the future. - -::: - - - - - diff --git a/docs/paper/dev/api/commands-api/arguments.mdx b/docs/paper/dev/api/commands-api/arguments.mdx index c05e6ba43..4f5e1bc18 100644 --- a/docs/paper/dev/api/commands-api/arguments.mdx +++ b/docs/paper/dev/api/commands-api/arguments.mdx @@ -5,8 +5,7 @@ description: A guide to Paper's Brigadier command API. # Arguments -Arguments are suggestions for the execution of a command. They are passed when -registering a Paper Brigadier command. +Argumenttypes are datatypes that we can use instead of strings. :::danger[Experimental] @@ -17,9 +16,8 @@ Paper's command system is still experimental and may change in the future. ## Basic usage of arguments You can add arguments to a command by doing the following: -```java - public class YourPluginClass extends JavaPlugin { - +```java title="YourPluginClass.java" +public class YourPluginClass extends JavaPlugin { @Override public void onEnable() { LifecycleEventManager manager = this.getLifecycleManager(); @@ -40,33 +38,37 @@ You can add arguments to a command by doing the following: }); } } - ``` -This command has one argument of the Enchantment datatype. The advantage of using +This command has one argument of the `Enchantment` datatype. The advantage of using Brigadier over the `TabExecutor` interface is that you don't have to convert the -string that is passed to the `CommandExecutor#onCommand` function as an argument to +string that is passed to the `CommandExecutor#onCommand()` function as an argument to an enchantment in this case because `ctx.getArgument("enchantmentargument", Enchantment.class)` returns a value of the `Enchantment` datatype. Additionally, you don't have to write error handling functionality yourself as the client checks whether the argument the user wrote in the chat is one of the `minecraft:enchantment` type and if it isn't, -the user will get an error. +the user will get an error. Another advantage `ArgumentTypes` have over string-based argument systems like +Bukkit's `TabExecutor` is that we can work with our own types and the completions list +is not always sorted alphanumerically. This may sound insignificant but when you want an input +of the type integer and suggest the numbers 0-10, for example, your list will look like this because +it needs to be converted to strings:`0, 1, 10, 2, 3, ...`. Looks awful, right? ## Enchantment types -By default, many argument types are already available through the [Registry](../registries). -In the example above, we used the Enchantment Argument type but there are many others: +By default, you can use [registries](../registries) to get simple argument types like +blocks, items, potions and many more. In the example above, we used the Enchantment +Argument type but there are many others: ### Predefined types (Registry) | Registry key name | Return datatype class | Description | |---------------------|-----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | GAME_EVENT | GameEvent | Events in the game (eating, flying with an elytra etc.) | -| STRUCTURE_TYPE | StructureType | [Structures](https://minecraft.wiki/w/Structure) Beware that as of Paper 1.20.6-147, there is also a Registry key named `STRUCTURE` that is not recognized by the client and makes it unable to connect. This has been reported to Paper developers and will be fixed in a future release. | +| STRUCTURE_TYPE | StructureType | [Structures](https://minecraft.wiki/w/Structure#Overworld) - Beware that, as of Paper 1.20.6-147, there is also a Registry named `STRUCTURE` that is not recognized by the client and makes it unable to connect. This has been reported to Paper developers and will be fixed in a future release. | | INSTRUMENT | CraftMusicInstrument | [Note block instrument](https://minecraft.wiki/w/Note_Block) | -| ENCHANTMENT | Enchantment | [Enchantment type](https://minecraft.wiki/w/Enchantment) | -| MOB_EFFECT | PotionEffectType | [Potion effect](https://minecraft.wiki/w/Effect) | -| BLOCK | BlockType | Internal! Block type | -| ITEM | ItemType | Internal! Item type | +| ENCHANTMENT | Enchantment | [Enchantment type](https://minecraft.wiki/w/Enchanting#Summary_of_enchantments) | +| MOB_EFFECT | PotionEffectType | [Potion effect](https://minecraft.wiki/w/Effect#List) | +| BLOCK | BlockType | [Block type - not modifyable](https://minecraft.wiki/w/Block#List_of_blocks) | +| ITEM | ItemType | [Item type - not modifyable](https://minecraft.wiki/w/Item#List_of_items) | | BIOME | Biome | [Biome type](https://minecraft.wiki/w/Biome#Biome_types) | | TRIM_MATERIAL | TrimMaterial | [Materials used to trim armor](https://minecraft.wiki/w/Smithing#Material) | | TRIM_PATTERN | TrimPattern | [Trim patterns](https://minecraft.wiki/w/Smithing#Trimming) | @@ -76,8 +78,8 @@ In the example above, we used the Enchantment Argument type but there are many o | ATTRIBUTE | Attribute | [Entity attribute](https://minecraft.wiki/w/Attribute) | | BANNER_PATTERN | PatternType | [Armor Pattern type](https://minecraft.wiki/w/Banner_Pattern#Variants) | | CAT_VARIANT | Cat.Type | [Cat variants](https://minecraft.wiki/w/Cat#Appearance) | -| ENTITY_TYPE | EntityType | [Every entity type](https://minecraft.wiki/w/Entity) | -| PARTICLE_TYPE | Particle | [Every particle type](https://minecraft.wiki/w/Particles_(Java_Edition)) | +| ENTITY_TYPE | EntityType | [Every entity type](https://minecraft.wiki/w/Entity#Types_of_entities) | +| PARTICLE_TYPE | Particle | [Every particle type](https://minecraft.wiki/w/Particles_(Java_Edition)#Types_of_particles) | | POTION | PotionType | [Every potion type](https://minecraft.wiki/w/Potion#Effect_potions) | | SOUND_EVENT | Sound | [Events that trigger sound effects](https://minecraft.wiki/w/Sounds.json#Sound_events) | | VILLAGER_PROFESSION | Villager.Profession | [Villager professions](https://minecraft.wiki/w/Villager#Professions) | @@ -94,4 +96,95 @@ Brigadier itself also specifies many argument types. For more information on the ### Custom types Custom arguments can be created by implementing the CustomArgumentType -interface. \ No newline at end of file +interface. + +Now, lets say that we want to implement a command which lets you order ice cream. For that, +we add a + +```java +public enum IceCreamType { + VANILLA, + CHOCOLATE, + STRAWBERRY, + MINT, + COOKIES +} +``` +Now, we have to define the argument itself. We do this by implementing the CustomArgumentType.Converted interface: + +```java +public class IceCreamTypeArgument implements CustomArgumentType.Converted { + + @Override + public @NotNull IceCreamType convert(String nativeType) throws CommandSyntaxException { + try { + return IceCreamType.valueOf(nativeType.toUpperCase()); + } catch (Exception e) { + Message message = MessageComponentSerializer.message().serialize(Component.text("Invalid flavor %s!".formatted(nativeType), NamedTextColor.RED)); + + throw new CommandSyntaxException(new SimpleCommandExceptionType(message), message); + } + } + + @Override + public @NotNull ArgumentType getNativeType() { + return StringArgumentType.word(); + } + + @Override + public CompletableFuture listSuggestions(CommandContext context, SuggestionsBuilder builder) { + for (IceCreamType flavor : IceCreamType.values()) { + builder.suggest(flavor.name(), MessageComponentSerializer.message().serialize(Component.text("look at this cool green tooltip!", NamedTextColor.GREEN))); + } + + return CompletableFuture.completedFuture( + builder.build() + ); + } +} +``` + +That's a lot of code, so let's start from the top. We implemented the `CustomArgumentType.Converted` +interface. This interface takes two type arguments: our custom enum, T, and a type that is native to +Minecraft, such as String, Integer, etc., called N. The native type exists so that the client can use +the input data, as it doesn't know what our custom `IceCreamType` is. + +The first method called `convert()` converts the native type (in this case `String`) +into our own custom type called `IceCreamType`, as the name suggests. This is so we +can keep using our custom type internally. If we wouldn't do that, there would be no point in using a +custom type. If the specified input isn't found in our enum of available flavors, we +output an error. + +The second method called `getNativeType()` returns the type of string that our command argument uses. +In our case, we're using a single word, so we return `StringArgumentType.word()`. + +In the last method, `listSuggestions()`, we return `CompletableFuture` so that the client +can suggest all available options. We can even add tooltips to the suggestions to explain them in greater +detail. + +As a last step, we need to register the Command: + +```java +public void onEnable() { + LifecycleEventManager manager = this.getLifecycleManager(); + manager.registerEventHandler(LifecycleEvents.COMMANDS, event -> { + final Commands commands = event.registrar(); + commands.register(Commands.literal("ordericecream") + .then( + Commands.argument("flavor", new IceCreamTypeArgument()).executes((commandContext -> { + IceCreamType argumentResponse = commandContext.getArgument("flavor", IceCreamType.class); // Gets the raw argument + commandContext.getSource().getSender().sendMessage(Component.text("You ordered: " + argumentResponse)); + return 1; + })) + ).build() + ); + }); +} +``` + +Now that we have registered the command, we can execute it ingame: + +![command with suggestions](./assets/icecreamargument.gif) +Look, we can even see our tooltip and if we execute the command, we get the message we specified + +![executed command](./assets/command-executed.gif) \ No newline at end of file diff --git a/docs/paper/dev/api/commands-api/assets/command-executed.gif b/docs/paper/dev/api/commands-api/assets/command-executed.gif new file mode 100644 index 0000000000000000000000000000000000000000..bddfd95d19197200155d37d219f8a411a06940ba GIT binary patch literal 118849 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 literal 0 HcmV?d00001 diff --git a/docs/paper/dev/api/commands-api/assets/icecreamargument.gif b/docs/paper/dev/api/commands-api/assets/icecreamargument.gif new file mode 100644 index 0000000000000000000000000000000000000000..533e6beee5d374c933b4c1b9c7b6f4ffa95fed68 GIT binary patch literal 56864 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 Date: Wed, 26 Jun 2024 20:34:13 +0200 Subject: [PATCH 05/29] remove empty line Co-authored-by: powercas_gamer --- docs/versioned/paper/sidebars/1.20.json | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/versioned/paper/sidebars/1.20.json b/docs/versioned/paper/sidebars/1.20.json index 0bae4562c..c9e50d37f 100644 --- a/docs/versioned/paper/sidebars/1.20.json +++ b/docs/versioned/paper/sidebars/1.20.json @@ -145,7 +145,6 @@ "dev/api/component-api/audiences" ] }, - "dev/api/pdc", "dev/api/custom-inventory-holder", "dev/api/commands", From 9e1d02ce9f558850fa7118f4c663c9936bc653fa Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Wed, 26 Jun 2024 20:36:47 +0200 Subject: [PATCH 06/29] fixed typo --- docs/versioned/paper/sidebars/1.20.json | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/versioned/paper/sidebars/1.20.json b/docs/versioned/paper/sidebars/1.20.json index 0bae4562c..c9e50d37f 100644 --- a/docs/versioned/paper/sidebars/1.20.json +++ b/docs/versioned/paper/sidebars/1.20.json @@ -145,7 +145,6 @@ "dev/api/component-api/audiences" ] }, - "dev/api/pdc", "dev/api/custom-inventory-holder", "dev/api/commands", From 154bc14aa77c32ed4346b2187250a38e8ec29d0e Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Wed, 26 Jun 2024 20:42:33 +0200 Subject: [PATCH 07/29] fixed typo + slug --- docs/paper/dev/api/commands-api/arguments.mdx | 4 ++-- docs/paper/dev/api/commands-api/commands.mdx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/paper/dev/api/commands-api/arguments.mdx b/docs/paper/dev/api/commands-api/arguments.mdx index 405d1b5ce..d9ec8ecc9 100644 --- a/docs/paper/dev/api/commands-api/arguments.mdx +++ b/docs/paper/dev/api/commands-api/arguments.mdx @@ -67,8 +67,8 @@ Argument type but there are many others: | INSTRUMENT | CraftMusicInstrument | [Note block instrument](https://minecraft.wiki/w/Note_Block) | | ENCHANTMENT | Enchantment | [Enchantment type](https://minecraft.wiki/w/Enchanting#Summary_of_enchantments) | | MOB_EFFECT | PotionEffectType | [Potion effect](https://minecraft.wiki/w/Effect#List) | -| BLOCK | BlockType | [Block type - not modifyable](https://minecraft.wiki/w/Block#List_of_blocks) | -| ITEM | ItemType | [Item type - not modifyable](https://minecraft.wiki/w/Item#List_of_items) | +| BLOCK | BlockType | [Block type - not modifiable](https://minecraft.wiki/w/Block#List_of_blocks) | +| ITEM | ItemType | [Item type - not modifiable](https://minecraft.wiki/w/Item#List_of_items) | | BIOME | Biome | [Biome type](https://minecraft.wiki/w/Biome#Biome_types) | | TRIM_MATERIAL | TrimMaterial | [Materials used to trim armor](https://minecraft.wiki/w/Smithing#Material) | | TRIM_PATTERN | TrimPattern | [Trim patterns](https://minecraft.wiki/w/Smithing#Trimming) | diff --git a/docs/paper/dev/api/commands-api/commands.mdx b/docs/paper/dev/api/commands-api/commands.mdx index 37b561c3e..b7f320220 100644 --- a/docs/paper/dev/api/commands-api/commands.mdx +++ b/docs/paper/dev/api/commands-api/commands.mdx @@ -1,5 +1,5 @@ --- -slug: /dev/commands +slug: /dev/commands-api/commands description: A guide to Paper's Brigadier command API. --- From d45921f10af1ba0968b06a10b2b910f928ec7a99 Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Wed, 26 Jun 2024 20:45:34 +0200 Subject: [PATCH 08/29] added redirect --- docusaurus.config.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docusaurus.config.ts b/docusaurus.config.ts index e3e9e5501..2ab6b543f 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -279,4 +279,20 @@ const config: Config = { }, }; +module.exports = { + plugins: [ + [ + '@docusaurus/plugin-client-redirects', + { + redirects: [ + { + to: '/dev/commands-api/commands', + from: '/dev/api/commands', + }, + ], + }, + ], + ], +}; + export = config; From 1a3eb6130914e7427612f9d725e19d9ce82b32f4 Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Wed, 26 Jun 2024 20:51:24 +0200 Subject: [PATCH 09/29] fixed links --- docs/paper/dev/api/commands-api/commands.mdx | 2 +- docs/paper/dev/getting-started/paper-plugins.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/paper/dev/api/commands-api/commands.mdx b/docs/paper/dev/api/commands-api/commands.mdx index b7f320220..334b0a8ff 100644 --- a/docs/paper/dev/api/commands-api/commands.mdx +++ b/docs/paper/dev/api/commands-api/commands.mdx @@ -19,7 +19,7 @@ Paper's command system is still experimental and may change in the future. :::note This uses the LifecycleEventManager -to register the command. See the [Lifecycle Events](./lifecycle.mdx) page for more information. +to register the command. See the [Lifecycle Events](../lifecycle.mdx) page for more information. ::: diff --git a/docs/paper/dev/getting-started/paper-plugins.mdx b/docs/paper/dev/getting-started/paper-plugins.mdx index 08a561b68..a515f894b 100644 --- a/docs/paper/dev/getting-started/paper-plugins.mdx +++ b/docs/paper/dev/getting-started/paper-plugins.mdx @@ -187,7 +187,7 @@ See [declaring dependencies](#dependency-declaration) for more information on ho ### Commands Paper plugins do not use the `commands` field to register commands. This means that you do not need to include all of your commands in the `paper-plugin.yml` file. Instead, you can register commands using the -[Brigadier Command API](../api/commands.mdx). +[Brigadier Command API](../api/commands-api/commands.mdx). ### Cyclic plugin loading From a27d760eac296f19d14b3cf90e72348fa65451df Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Wed, 26 Jun 2024 21:01:32 +0200 Subject: [PATCH 10/29] added redirect + fixed formatting --- .gitignore | 3 ++- _redirects | 1 + config/sidebar.paper.ts | 5 +---- docusaurus.config.ts | 16 ---------------- 4 files changed, 4 insertions(+), 21 deletions(-) diff --git a/.gitignore b/.gitignore index 03fbd9605..7aaf318e2 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ .DS_Store npm-debug.log* .pnp.* -/.meta \ No newline at end of file +/.meta +.prettierrc \ No newline at end of file diff --git a/_redirects b/_redirects index 1f18faced..9c12be446 100644 --- a/_redirects +++ b/_redirects @@ -7,3 +7,4 @@ /paper/per-world-configuration /paper/configuration /paper/configuration /paper/reference/configuration /paper/reference/vanilla-command-permissions /paper/reference/permissions +/paper/dev/commands /paper/dev/commands-api/commands diff --git a/config/sidebar.paper.ts b/config/sidebar.paper.ts index 9e104b2d5..2e7754088 100644 --- a/config/sidebar.paper.ts +++ b/config/sidebar.paper.ts @@ -129,10 +129,7 @@ const paper: SidebarsConfig = { type: "category", label: "Command API (Brigadier)", collapsed: true, - items: [ - "dev/api/commands-api/commands", - "dev/api/commands-api/arguments" - ] + items: ["dev/api/commands-api/commands", "dev/api/commands-api/arguments"], }, { type: "category", diff --git a/docusaurus.config.ts b/docusaurus.config.ts index 2ab6b543f..e3e9e5501 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -279,20 +279,4 @@ const config: Config = { }, }; -module.exports = { - plugins: [ - [ - '@docusaurus/plugin-client-redirects', - { - redirects: [ - { - to: '/dev/commands-api/commands', - from: '/dev/api/commands', - }, - ], - }, - ], - ], -}; - export = config; From da186611d79e25fb115549b203538a6d46a39a69 Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Wed, 26 Jun 2024 22:40:32 +0200 Subject: [PATCH 11/29] name change + gitignore fix --- .gitignore | 3 +-- .prettierrc | 1 + config/sidebar.paper.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 .prettierrc diff --git a/.gitignore b/.gitignore index 7aaf318e2..03fbd9605 100644 --- a/.gitignore +++ b/.gitignore @@ -7,5 +7,4 @@ .DS_Store npm-debug.log* .pnp.* -/.meta -.prettierrc \ No newline at end of file +/.meta \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/.prettierrc @@ -0,0 +1 @@ +{} diff --git a/config/sidebar.paper.ts b/config/sidebar.paper.ts index 2e7754088..652453942 100644 --- a/config/sidebar.paper.ts +++ b/config/sidebar.paper.ts @@ -127,7 +127,7 @@ const paper: SidebarsConfig = { }, { type: "category", - label: "Command API (Brigadier)", + label: "Brigadier Command API", collapsed: true, items: ["dev/api/commands-api/commands", "dev/api/commands-api/arguments"], }, From 9dd908f025cef4b214aba6cf400b5cd1f3e2066b Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Thu, 27 Jun 2024 12:06:50 +0200 Subject: [PATCH 12/29] fixed formatting --- .prettierrc | 1 - src/components/ItemCommandConverter.tsx | 4 ++-- src/components/StartScriptGenerator.tsx | 10 +++++----- src/components/config/ConfigDocBlock.tsx | 16 ++++++++-------- .../config/ConfigurationStructureDiagram.tsx | 4 ++-- src/components/ui/AutoComplete.tsx | 4 ++-- src/components/ui/Select.tsx | 4 ++-- src/components/versioning/Javadoc.tsx | 4 ++-- .../versioning/VersionFormattedCode.tsx | 6 +++--- src/theme/DocCard/index.tsx | 2 +- src/theme/DocVersionBanner/index.tsx | 2 +- src/theme/NavbarItem/DropdownNavbarItem.tsx | 2 +- src/util/versionUtils.ts | 6 +++--- 13 files changed, 32 insertions(+), 33 deletions(-) delete mode 100644 .prettierrc diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 0967ef424..000000000 --- a/.prettierrc +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/src/components/ItemCommandConverter.tsx b/src/components/ItemCommandConverter.tsx index b5b48c26e..46744f669 100644 --- a/src/components/ItemCommandConverter.tsx +++ b/src/components/ItemCommandConverter.tsx @@ -122,14 +122,14 @@ const ItemCommandConverter: React.FC = () => { { method: "POST", body: input, - } + }, ); if (response.status === 200) { setOutput(await response.text()); toggleState(setConvertSuccess); } else { console.warn( - "Failed to convert command: " + response.status + ": " + (await response.text()) + "Failed to convert command: " + response.status + ": " + (await response.text()), ); toggleState(setConvertError); } diff --git a/src/components/StartScriptGenerator.tsx b/src/components/StartScriptGenerator.tsx index 302cb0169..8d88746ef 100644 --- a/src/components/StartScriptGenerator.tsx +++ b/src/components/StartScriptGenerator.tsx @@ -75,7 +75,7 @@ const generateStartCommand = ( filename: string, guiEnabled: boolean, autoRestartEnabled: boolean, - platform: Option + platform: Option, ) => { setTimeout(resizeOutput, 0); let content = ""; @@ -84,7 +84,7 @@ const generateStartCommand = ( if (autoRestartEnabled) content = (platform === WINDOWS ? WINDOWS_AUTO_RESTART : LINUX_AUTO_RESTART).replace( "%%CONTENT%%", - command + command, ); else content = platform === WINDOWS ? command + "\n\npause" : command; @@ -125,7 +125,7 @@ const StartScriptGenerator: React.FC = () => { const handleCopyToClipboard = () => { navigator.clipboard.writeText( - generateStartCommand(memory, selectedFlag, filename, guiEnabled, autoRestart, platform) + generateStartCommand(memory, selectedFlag, filename, guiEnabled, autoRestart, platform), ); handleGreenButtonHighlight(setCopySuccess); }; @@ -136,7 +136,7 @@ const StartScriptGenerator: React.FC = () => { [generateStartCommand(memory, selectedFlag, filename, guiEnabled, autoRestart, platform)], { type: "text/plain", - } + }, ); const link = document.createElement("a"); link.href = URL.createObjectURL(blob); @@ -232,7 +232,7 @@ const StartScriptGenerator: React.FC = () => { filename, guiEnabled, autoRestart, - platform + platform, )} id={"output-command-text"} readOnly diff --git a/src/components/config/ConfigDocBlock.tsx b/src/components/config/ConfigDocBlock.tsx index 0ea7fd306..d5fe64f46 100644 --- a/src/components/config/ConfigDocBlock.tsx +++ b/src/components/config/ConfigDocBlock.tsx @@ -37,7 +37,7 @@ const scrollIntoView = (id: string): void => { behavior: "smooth", }); }, - navigator.userAgent.includes("Chrome") && navigator.vendor.includes("Google Inc") ? 0 : 1 + navigator.userAgent.includes("Chrome") && navigator.vendor.includes("Google Inc") ? 0 : 1, ); }; @@ -56,7 +56,7 @@ const parseDefault = ( parentKey: string, name: string, handleHashLinkClick, - separator: string + separator: string, ): ReactNode => { const hash = createUrlHash(parentKey, name); useBrokenLinks().collectAnchor(hash); @@ -184,7 +184,7 @@ const YamlNodeWithDescription = ({ className={clsx( "config-node clean-btn button--link notranslate", showDescription && "with-value-active", - !showDescription && "with-value" + !showDescription && "with-value", )} translate={"no"} > @@ -195,7 +195,7 @@ const YamlNodeWithDescription = ({ parentKey, name, handleHashLinkClick, - separator + separator, )}
@@ -274,7 +274,7 @@ const YamlTreeNode = ({ false, separator, showAllDescriptions, - defaultValue + defaultValue, )}
); @@ -286,7 +286,7 @@ const renderYamlData = ( root = false, separator: string, showAllDescriptions: boolean, - defaultValue: string + defaultValue: string, ): ReactNode => { const renderedNodes: JSX.Element[] = []; @@ -306,7 +306,7 @@ const renderYamlData = ( separator={separator} showAllDescriptions={showAllDescriptions} defaultValue={defaultValue} - /> + />, ); } else { renderedNodes.push( @@ -320,7 +320,7 @@ const renderYamlData = ( showAllDescriptions={showAllDescriptions} defaultValue={defaultValue} warning={"inline-docs-warning" in value ? value["inline-docs-warning"] : null} - /> + />, ); } } diff --git a/src/components/config/ConfigurationStructureDiagram.tsx b/src/components/config/ConfigurationStructureDiagram.tsx index 473c43e29..f0e4f7408 100644 --- a/src/components/config/ConfigurationStructureDiagram.tsx +++ b/src/components/config/ConfigurationStructureDiagram.tsx @@ -142,7 +142,7 @@ export default function ConfigurationStructureDiagram(): JSX.Element { className={clsx( !isFolder && "config-explorer-file-node", isFolder && "config-explorer-file-folder-node", - hasUrl && "config-explorer-file-node-with-link" + hasUrl && "config-explorer-file-node-with-link", )} to={node.url} > @@ -168,7 +168,7 @@ export default function ConfigurationStructureDiagram(): JSX.Element {
Description: diff --git a/src/components/ui/AutoComplete.tsx b/src/components/ui/AutoComplete.tsx index a3d1ded59..9433ea3e3 100644 --- a/src/components/ui/AutoComplete.tsx +++ b/src/components/ui/AutoComplete.tsx @@ -74,7 +74,7 @@ export default function AutoComplete({ options, value, onSelect, placeholder }: const items = options.filter( (item) => item.value.toLowerCase().startsWith(inputValue?.toLowerCase()) || - item.label?.toLowerCase()?.startsWith?.(inputValue?.toLowerCase()) + item.label?.toLowerCase()?.startsWith?.(inputValue?.toLowerCase()), ); return ( @@ -115,7 +115,7 @@ export default function AutoComplete({ options, value, onSelect, placeholder }: {...getItemProps({ className: clsx( "autocomplete-portal__item", - activeIndex === index && "autocomplete-portal__item--selected" + activeIndex === index && "autocomplete-portal__item--selected", ), key: item.value, ref(node) { diff --git a/src/components/ui/Select.tsx b/src/components/ui/Select.tsx index c47e34455..a50ea45b0 100644 --- a/src/components/ui/Select.tsx +++ b/src/components/ui/Select.tsx @@ -19,7 +19,7 @@ export default function Button({ options, value, onSelect }: SelectProps) { const [open, setOpen] = useState(false); const [activeIndex, setActiveIndex] = useState(null); const [selectedIndex, setSelectedIndex] = useState( - value && options.indexOf(value) + value && options.indexOf(value), ); useEffect(() => { @@ -115,7 +115,7 @@ export default function Button({ options, value, onSelect }: SelectProps) { {...getItemProps({ className: clsx( "custom-dropdown__item", - activeIndex === index && "custom-dropdown__item--selected" + activeIndex === index && "custom-dropdown__item--selected", ), key: option.value, ref(node) { diff --git a/src/components/versioning/Javadoc.tsx b/src/components/versioning/Javadoc.tsx index b7b8a12df..fa284c433 100644 --- a/src/components/versioning/Javadoc.tsx +++ b/src/components/versioning/Javadoc.tsx @@ -10,12 +10,12 @@ import { useDocsVersion } from "@docusaurus/theme-common/internal"; type TargetResolver = ( currentVersion: DocusaurusVersion | null, - module?: string + module?: string, ) => Promise; const createProjectTarget = ( project: Project, - versionType: VersionType = VersionType.MajorMinorPatch + versionType: VersionType = VersionType.MajorMinorPatch, ): TargetResolver => { return async (currentVersion) => { const version = await getProjectVersion(project, currentVersion, versionType); diff --git a/src/components/versioning/VersionFormattedCode.tsx b/src/components/versioning/VersionFormattedCode.tsx index c2aaed032..4564952ab 100644 --- a/src/components/versioning/VersionFormattedCode.tsx +++ b/src/components/versioning/VersionFormattedCode.tsx @@ -35,16 +35,16 @@ export default function VersionFormattedCode({ .toString() .replace( /%%_MAJ_MIN_MC_%%/g, - await getProjectVersion("paper", versionMeta, VersionType.MajorMinor) + await getProjectVersion("paper", versionMeta, VersionType.MajorMinor), ); code = code.replace(/%%_MAJ_MIN_PAT_MC_%%/g, await getProjectVersion("paper", versionMeta)); code = code.replace( /%%_MAJ_MIN_VEL_%%/g, - await getProjectVersion("velocity", versionMeta, VersionType.MajorMinorZeroed) + await getProjectVersion("velocity", versionMeta, VersionType.MajorMinorZeroed), ); code = code.replace( /%%_MAJ_MIN_PAT_VEL_%%/g, - await getProjectVersion("velocity", versionMeta) + await getProjectVersion("velocity", versionMeta), ); if (mounted.current) { diff --git a/src/theme/DocCard/index.tsx b/src/theme/DocCard/index.tsx index 2330bca58..7e2b19e96 100644 --- a/src/theme/DocCard/index.tsx +++ b/src/theme/DocCard/index.tsx @@ -67,7 +67,7 @@ function CardCategory({ item }: { item: PropSidebarItemCategory }): JSX.Element description: "The default description for a category card in the generated index about how many items this category includes", }, - { count: item.items.length } + { count: item.items.length }, ) } /> diff --git a/src/theme/DocVersionBanner/index.tsx b/src/theme/DocVersionBanner/index.tsx index 441def319..baec6e110 100644 --- a/src/theme/DocVersionBanner/index.tsx +++ b/src/theme/DocVersionBanner/index.tsx @@ -126,7 +126,7 @@ function DocVersionBannerEnabled({ className={clsx( className, ThemeClassNames.docs.docVersionBanner, - "alert alert--warning margin-bottom--md" + "alert alert--warning margin-bottom--md", )} role="alert" > diff --git a/src/theme/NavbarItem/DropdownNavbarItem.tsx b/src/theme/NavbarItem/DropdownNavbarItem.tsx index 145f737e1..9e3a2f4a8 100644 --- a/src/theme/NavbarItem/DropdownNavbarItem.tsx +++ b/src/theme/NavbarItem/DropdownNavbarItem.tsx @@ -26,7 +26,7 @@ function isItemActive(item: LinkLikeNavbarItemProps, localPathname: string): boo function containsActiveItems( items: readonly LinkLikeNavbarItemProps[], - localPathname: string + localPathname: string, ): boolean { return items.some((item) => isItemActive(item, localPathname)); } diff --git a/src/util/versionUtils.ts b/src/util/versionUtils.ts index ff8029178..c3ededf8c 100644 --- a/src/util/versionUtils.ts +++ b/src/util/versionUtils.ts @@ -24,11 +24,11 @@ class ExpiringValue { const createProjectVersionsValue = ( project: string, - ttl: number = 5 * 60 * 1000 + ttl: number = 5 * 60 * 1000, ): ExpiringValue => { return new ExpiringValue(ttl, async () => { const result = await fetch(`https://api.papermc.io/v2/projects/${project}`).then((r) => - r.json() + r.json(), ); return result.versions; @@ -59,7 +59,7 @@ export interface DocusaurusVersion { export const getProjectVersion = async ( project: Project, currentVersion: DocusaurusVersion | null, - versionType: VersionType = VersionType.MajorMinorPatch + versionType: VersionType = VersionType.MajorMinorPatch, ): Promise => { const versionsValue = projects[project]; if (!versionsValue) { From a6e0d149a6db5c81aadd929deab490bd1f04eb3f Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Thu, 27 Jun 2024 12:06:50 +0200 Subject: [PATCH 13/29] fixed formatting --- .prettierrc | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .prettierrc diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 0967ef424..000000000 --- a/.prettierrc +++ /dev/null @@ -1 +0,0 @@ -{} From 99bb90195e6d6086f3fd744774da48d0c7faa291 Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Thu, 27 Jun 2024 12:17:21 +0200 Subject: [PATCH 14/29] Fixed nested interface reference --- docs/paper/dev/api/commands-api/arguments.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/paper/dev/api/commands-api/arguments.mdx b/docs/paper/dev/api/commands-api/arguments.mdx index d9ec8ecc9..b31185a51 100644 --- a/docs/paper/dev/api/commands-api/arguments.mdx +++ b/docs/paper/dev/api/commands-api/arguments.mdx @@ -110,7 +110,7 @@ public enum IceCreamType { COOKIES } ``` -Now, we have to define the argument itself. We do this by implementing the CustomArgumentType.Converted interface: +Now, we have to define the argument itself. We do this by implementing the CustomArgumentType.Converted interface: ```java public class IceCreamTypeArgument implements CustomArgumentType.Converted { From 57136e1fa6c8da56093095a8b471d418e549e11d Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Thu, 27 Jun 2024 13:08:56 +0200 Subject: [PATCH 15/29] Fixed cut off sentence --- docs/paper/dev/api/commands-api/arguments.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/paper/dev/api/commands-api/arguments.mdx b/docs/paper/dev/api/commands-api/arguments.mdx index b31185a51..358cf1c11 100644 --- a/docs/paper/dev/api/commands-api/arguments.mdx +++ b/docs/paper/dev/api/commands-api/arguments.mdx @@ -99,7 +99,7 @@ Custom arguments can be created by implementing the Date: Sat, 29 Jun 2024 19:09:35 +0200 Subject: [PATCH 16/29] Simplified advantages paragraph --- docs/paper/dev/api/commands-api/arguments.mdx | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/docs/paper/dev/api/commands-api/arguments.mdx b/docs/paper/dev/api/commands-api/arguments.mdx index 358cf1c11..710913a5b 100644 --- a/docs/paper/dev/api/commands-api/arguments.mdx +++ b/docs/paper/dev/api/commands-api/arguments.mdx @@ -39,18 +39,16 @@ public class YourPluginClass extends JavaPlugin { } } ``` -This command has one argument of the `Enchantment` datatype. The advantage of using -Brigadier over the `TabExecutor` interface is that you don't have to convert the -string that is passed to the `CommandExecutor#onCommand()` function as an argument to -an enchantment in this case because `ctx.getArgument("enchantmentargument", Enchantment.class)` -returns a value of the `Enchantment` datatype. Additionally, you don't have to write -error handling functionality yourself as the client checks whether the argument the -user wrote in the chat is one of the `minecraft:enchantment` type and if it isn't, -the user will get an error. Another advantage `ArgumentTypes` have over string-based argument systems like -Bukkit's `TabExecutor` is that we can work with our own types and the completions list -is not always sorted alphanumerically. This may sound insignificant but when you want an input -of the type integer and suggest the numbers 0-10, for example, your list will look like this because -it needs to be converted to strings:`0, 1, 10, 2, 3, ...`. Looks awful, right? + +This command has one argument of the `Enchantment` datatype. When the command is executed, the command +sender will get a message containing the key of the enchantment they selected. + +## Advantage over string-based arguments + +- Direct conversion to usable type +- Client-side error handling +- Custom types +- Non alphanumerical sorting ## Enchantment types From e19aac36415a9e75626fc0a8116c1ba386e496be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hinterh=C3=A4ltiger?= <76826310+Hinterhaeltiger@users.noreply.github.com> Date: Sat, 29 Jun 2024 19:12:32 +0200 Subject: [PATCH 17/29] Apply suggestions from code review (mostly typos) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Matouš Kučera --- docs/paper/dev/api/commands-api/arguments.mdx | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/paper/dev/api/commands-api/arguments.mdx b/docs/paper/dev/api/commands-api/arguments.mdx index 710913a5b..c5cb0df24 100644 --- a/docs/paper/dev/api/commands-api/arguments.mdx +++ b/docs/paper/dev/api/commands-api/arguments.mdx @@ -13,7 +13,7 @@ Paper's command system is still experimental and may change in the future. ::: -## Basic usage of arguments +## Basic usage You can add arguments to a command by doing the following: ```java title="YourPluginClass.java" @@ -50,11 +50,11 @@ sender will get a message containing the key of the enchantment they selected. - Custom types - Non alphanumerical sorting -## Enchantment types +## Types -By default, you can use [registries](../registries) to get simple argument types like -blocks, items, potions and many more. In the example above, we used the Enchantment -Argument type but there are many others: +By default, you can use [the registry API](../registries.mdx) to get simple argument types like +blocks, items, potions and many more. In the example above, we used the `Enchantment` +argument type, but there are many others: ### Predefined types (Registry) @@ -89,14 +89,14 @@ Argument type but there are many others: ### Predefined types (in Brigadier itself) -Brigadier itself also specifies many argument types. For more information on them, see LifecycleEventManager +Brigadier itself also specifies many argument types. For more information on them, see ArgumentTypes. ### Custom types Custom arguments can be created by implementing the CustomArgumentType interface. -Now, lets say that we want to implement a command which lets you order ice cream. For that, +Now, let's say that we want to implement a command which lets you order ice cream. For that, we add an enum that specifies all available values for our custom type. ```java @@ -160,7 +160,7 @@ In the last method, `listSuggestions()`, we return `CompletableFuture Date: Mon, 1 Jul 2024 13:22:36 +0200 Subject: [PATCH 18/29] added javadoc reference + deleted code comment --- docs/paper/dev/api/commands-api/arguments.mdx | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/docs/paper/dev/api/commands-api/arguments.mdx b/docs/paper/dev/api/commands-api/arguments.mdx index c5cb0df24..322751767 100644 --- a/docs/paper/dev/api/commands-api/arguments.mdx +++ b/docs/paper/dev/api/commands-api/arguments.mdx @@ -13,7 +13,7 @@ Paper's command system is still experimental and may change in the future. ::: -## Basic usage +## Basic usage of arguments You can add arguments to a command by doing the following: ```java title="YourPluginClass.java" @@ -50,18 +50,18 @@ sender will get a message containing the key of the enchantment they selected. - Custom types - Non alphanumerical sorting -## Types +## Enchantment types -By default, you can use [the registry API](../registries.mdx) to get simple argument types like -blocks, items, potions and many more. In the example above, we used the `Enchantment` -argument type, but there are many others: +By default, you can use [registries](../registries) to get simple argument types like +blocks, items, potions and many more. In the example above, we used the Enchantment +Argument type but there are many others: ### Predefined types (Registry) | Registry key name | Return datatype class | Description | |---------------------|-----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | GAME_EVENT | GameEvent | Events in the game (eating, flying with an elytra etc.) | -| STRUCTURE_TYPE | StructureType | [Structures](https://minecraft.wiki/w/Structure#Overworld) - Beware that, as of Paper 1.20.6-147, there is also a Registry named `STRUCTURE` that is not recognized by the client and makes it unable to connect. This has been reported to Paper developers and will be fixed in a future release. | +| STRUCTURE_TYPE | StructureType | [Structures](https://minecraft.wiki/w/Structure#Overworld) | INSTRUMENT | CraftMusicInstrument | [Note block instrument](https://minecraft.wiki/w/Note_Block) | | ENCHANTMENT | Enchantment | [Enchantment type](https://minecraft.wiki/w/Enchanting#Summary_of_enchantments) | | MOB_EFFECT | PotionEffectType | [Potion effect](https://minecraft.wiki/w/Effect#List) | @@ -87,16 +87,14 @@ argument type, but there are many others: | MAP_DECORATION_TYPE | MapCursor.Type | [Types of sprites displayed on a map](https://minecraft.wiki/w/Map#Map_icons) | | FLUID | Fluid | [Fluid types](https://minecraft.wiki/w/Fluid) -### Predefined types (in Brigadier itself) - -Brigadier itself also specifies many argument types. For more information on them, see ArgumentTypes. +Brigadier itself also specifies many argument types. For more information on them, see LifecycleEventManager ### Custom types Custom arguments can be created by implementing the CustomArgumentType interface. -Now, let's say that we want to implement a command which lets you order ice cream. For that, +Now, lets say that we want to implement a command which lets you order ice cream. For that, we add an enum that specifies all available values for our custom type. ```java @@ -142,7 +140,7 @@ public class IceCreamTypeArgument implements CustomArgumentType.ConvertedCustomArgumentType.Converted interface. This interface takes two type arguments: our custom enum, T, and a type that is native to Minecraft, such as String, Integer, etc., called N. The native type exists so that the client can use the input data, as it doesn't know what our custom `IceCreamType` is. @@ -160,7 +158,7 @@ In the last method, `listSuggestions()`, we return `CompletableFuture { - IceCreamType argumentResponse = commandContext.getArgument("flavor", IceCreamType.class); // Gets the raw argument + IceCreamType argumentResponse = commandContext.getArgument("flavor", IceCreamType.class); commandContext.getSource().getSender().sendMessage(Component.text("You ordered: " + argumentResponse)); return 1; })) @@ -180,9 +178,9 @@ public void onEnable() { } ``` -Now that we have registered the command, we can execute it in-game: +Now that we have registered the command, we can execute it ingame: ![command with suggestions](./assets/icecreamargument.gif) -Look, we can even see our tooltip and if we execute the command, we get the message we specified: +Look, we can even see our tooltip and if we execute the command, we get the message we specified ![executed command](./assets/command-executed.gif) From baaed290d37519a15f326169478491bbd628e0d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hinterh=C3=A4ltiger?= <76826310+Hinterhaeltiger@users.noreply.github.com> Date: Tue, 2 Jul 2024 22:47:52 +0200 Subject: [PATCH 19/29] fixed typo Co-authored-by: Ollie <69084614+olijeffers0n@users.noreply.github.com> --- docs/paper/dev/api/commands-api/arguments.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/paper/dev/api/commands-api/arguments.mdx b/docs/paper/dev/api/commands-api/arguments.mdx index 322751767..b5bec8256 100644 --- a/docs/paper/dev/api/commands-api/arguments.mdx +++ b/docs/paper/dev/api/commands-api/arguments.mdx @@ -5,7 +5,7 @@ description: A guide to Paper's Brigadier command API. # Arguments -Argumenttypes are datatypes that we can use instead of strings. +Argument types are datatypes that we can use instead of strings. :::danger[Experimental] From b8372ad14e8e3cc69df662da70f216350eb15991 Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Wed, 3 Jul 2024 15:57:04 +0200 Subject: [PATCH 20/29] Fixed slugs + page descriptions --- config/sidebar.paper.ts | 2 +- docs/paper/dev/api/commands-api/arguments.mdx | 4 ++-- docs/paper/dev/api/commands-api/commands.mdx | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/config/sidebar.paper.ts b/config/sidebar.paper.ts index 652453942..6cb7c8e9d 100644 --- a/config/sidebar.paper.ts +++ b/config/sidebar.paper.ts @@ -129,7 +129,7 @@ const paper: SidebarsConfig = { type: "category", label: "Brigadier Command API", collapsed: true, - items: ["dev/api/commands-api/commands", "dev/api/commands-api/arguments"], + items: ["dev/api/command-api/commands", "dev/api/command-api/arguments"], }, { type: "category", diff --git a/docs/paper/dev/api/commands-api/arguments.mdx b/docs/paper/dev/api/commands-api/arguments.mdx index 322751767..93e15ddd7 100644 --- a/docs/paper/dev/api/commands-api/arguments.mdx +++ b/docs/paper/dev/api/commands-api/arguments.mdx @@ -1,6 +1,6 @@ --- -slug: /dev/commands-api/arguments -description: A guide to Paper's Brigadier command API. +slug: /dev/command-api/arguments +description: A guide to arguments in Paper's Brigadier command API. --- # Arguments diff --git a/docs/paper/dev/api/commands-api/commands.mdx b/docs/paper/dev/api/commands-api/commands.mdx index 334b0a8ff..6a21b2b6a 100644 --- a/docs/paper/dev/api/commands-api/commands.mdx +++ b/docs/paper/dev/api/commands-api/commands.mdx @@ -1,5 +1,5 @@ --- -slug: /dev/commands-api/commands +slug: /dev/command-api/commands description: A guide to Paper's Brigadier command API. --- From 3de56768946d580cf46a317d1cb6f32048ab20c0 Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Wed, 3 Jul 2024 17:39:55 +0200 Subject: [PATCH 21/29] fixed command api folder name --- .../api/{commands-api => command-api}/arguments.mdx | 0 .../assets/command-executed.gif | Bin .../assets/icecreamargument.gif | Bin .../api/{commands-api => command-api}/commands.mdx | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename docs/paper/dev/api/{commands-api => command-api}/arguments.mdx (100%) rename docs/paper/dev/api/{commands-api => command-api}/assets/command-executed.gif (100%) rename docs/paper/dev/api/{commands-api => command-api}/assets/icecreamargument.gif (100%) rename docs/paper/dev/api/{commands-api => command-api}/commands.mdx (100%) diff --git a/docs/paper/dev/api/commands-api/arguments.mdx b/docs/paper/dev/api/command-api/arguments.mdx similarity index 100% rename from docs/paper/dev/api/commands-api/arguments.mdx rename to docs/paper/dev/api/command-api/arguments.mdx diff --git a/docs/paper/dev/api/commands-api/assets/command-executed.gif b/docs/paper/dev/api/command-api/assets/command-executed.gif similarity index 100% rename from docs/paper/dev/api/commands-api/assets/command-executed.gif rename to docs/paper/dev/api/command-api/assets/command-executed.gif diff --git a/docs/paper/dev/api/commands-api/assets/icecreamargument.gif b/docs/paper/dev/api/command-api/assets/icecreamargument.gif similarity index 100% rename from docs/paper/dev/api/commands-api/assets/icecreamargument.gif rename to docs/paper/dev/api/command-api/assets/icecreamargument.gif diff --git a/docs/paper/dev/api/commands-api/commands.mdx b/docs/paper/dev/api/command-api/commands.mdx similarity index 100% rename from docs/paper/dev/api/commands-api/commands.mdx rename to docs/paper/dev/api/command-api/commands.mdx From 498a59294c31af2230852a2c82fc328c0cd6c966 Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Thu, 4 Jul 2024 21:05:56 +0200 Subject: [PATCH 22/29] renamed link --- docs/paper/dev/api/command-api/arguments.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/paper/dev/api/command-api/arguments.mdx b/docs/paper/dev/api/command-api/arguments.mdx index 4f3e84bee..7cf30e29d 100644 --- a/docs/paper/dev/api/command-api/arguments.mdx +++ b/docs/paper/dev/api/command-api/arguments.mdx @@ -52,7 +52,7 @@ sender will get a message containing the key of the enchantment they selected. ## Enchantment types -By default, you can use [registries](../registries) to get simple argument types like +By default, you can use [the registry API](../registries) to get simple argument types like blocks, items, potions and many more. In the example above, we used the Enchantment Argument type but there are many others: From 1497b539fce30aed3159485e395bd65c9222c07b Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Thu, 4 Jul 2024 21:09:18 +0200 Subject: [PATCH 23/29] fixed typo --- docs/paper/dev/api/command-api/arguments.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/paper/dev/api/command-api/arguments.mdx b/docs/paper/dev/api/command-api/arguments.mdx index 7cf30e29d..806d5101d 100644 --- a/docs/paper/dev/api/command-api/arguments.mdx +++ b/docs/paper/dev/api/command-api/arguments.mdx @@ -54,7 +54,7 @@ sender will get a message containing the key of the enchantment they selected. By default, you can use [the registry API](../registries) to get simple argument types like blocks, items, potions and many more. In the example above, we used the Enchantment -Argument type but there are many others: +Argument type, but there are many others: ### Predefined types (Registry) From b205c1e7126e82fea7b1ff8542ac96710742a9e2 Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Thu, 4 Jul 2024 21:10:59 +0200 Subject: [PATCH 24/29] fixed wrong reference name --- docs/paper/dev/api/command-api/arguments.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/paper/dev/api/command-api/arguments.mdx b/docs/paper/dev/api/command-api/arguments.mdx index 806d5101d..0bca57698 100644 --- a/docs/paper/dev/api/command-api/arguments.mdx +++ b/docs/paper/dev/api/command-api/arguments.mdx @@ -87,7 +87,7 @@ Argument type, but there are many others: | MAP_DECORATION_TYPE | MapCursor.Type | [Types of sprites displayed on a map](https://minecraft.wiki/w/Map#Map_icons) | | FLUID | Fluid | [Fluid types](https://minecraft.wiki/w/Fluid) -Brigadier itself also specifies many argument types. For more information on them, see LifecycleEventManager +Brigadier itself also specifies many argument types. For more information on them, see ArgumentTypes ### Custom types From 2807e1a6b136197324e3949b17d3057584aa2929 Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Thu, 4 Jul 2024 21:11:17 +0200 Subject: [PATCH 25/29] fixed typo --- docs/paper/dev/api/command-api/arguments.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/paper/dev/api/command-api/arguments.mdx b/docs/paper/dev/api/command-api/arguments.mdx index 0bca57698..0042a5fcd 100644 --- a/docs/paper/dev/api/command-api/arguments.mdx +++ b/docs/paper/dev/api/command-api/arguments.mdx @@ -94,7 +94,7 @@ Brigadier itself also specifies many argument types. For more information on the Custom arguments can be created by implementing the CustomArgumentType interface. -Now, lets say that we want to implement a command which lets you order ice cream. For that, +Now, let's say that we want to implement a command which lets you order ice cream. For that, we add an enum that specifies all available values for our custom type. ```java From 1fbbefb77dfbe8d0a173f1cb2cbefc78f7c57a9f Mon Sep 17 00:00:00 2001 From: Hinterhaeltiger Date: Thu, 4 Jul 2024 21:15:44 +0200 Subject: [PATCH 26/29] fixed reference --- docs/paper/dev/getting-started/paper-plugins.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/paper/dev/getting-started/paper-plugins.mdx b/docs/paper/dev/getting-started/paper-plugins.mdx index a515f894b..88623672f 100644 --- a/docs/paper/dev/getting-started/paper-plugins.mdx +++ b/docs/paper/dev/getting-started/paper-plugins.mdx @@ -187,7 +187,7 @@ See [declaring dependencies](#dependency-declaration) for more information on ho ### Commands Paper plugins do not use the `commands` field to register commands. This means that you do not need to include all of your commands in the `paper-plugin.yml` file. Instead, you can register commands using the -[Brigadier Command API](../api/commands-api/commands.mdx). +[Brigadier Command API](../api/command-api/commands.mdx). ### Cyclic plugin loading From 6c04f35ac75e7fbf9f1962867f07d69074bbae31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hinterh=C3=A4ltiger?= <76826310+Hinterhaeltiger@users.noreply.github.com> Date: Mon, 15 Jul 2024 19:21:02 +0200 Subject: [PATCH 27/29] committed suggestion Co-authored-by: DerEchtePilz <81232921+DerEchtePilz@users.noreply.github.com> --- docs/paper/dev/api/command-api/arguments.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/paper/dev/api/command-api/arguments.mdx b/docs/paper/dev/api/command-api/arguments.mdx index 0042a5fcd..0aacd42eb 100644 --- a/docs/paper/dev/api/command-api/arguments.mdx +++ b/docs/paper/dev/api/command-api/arguments.mdx @@ -87,7 +87,7 @@ Argument type, but there are many others: | MAP_DECORATION_TYPE | MapCursor.Type | [Types of sprites displayed on a map](https://minecraft.wiki/w/Map#Map_icons) | | FLUID | Fluid | [Fluid types](https://minecraft.wiki/w/Fluid) -Brigadier itself also specifies many argument types. For more information on them, see ArgumentTypes +Minecraft itself also specifies many argument types. For more information on them, see ArgumentTypes ### Custom types From 5c21bfcec910ec65a353ac2d6d1840b4465b1b8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hinterh=C3=A4ltiger?= <76826310+Hinterhaeltiger@users.noreply.github.com> Date: Sun, 21 Jul 2024 17:43:12 +0200 Subject: [PATCH 28/29] Update docs/paper/dev/api/command-api/arguments.mdx Co-authored-by: Ollie <69084614+olijeffers0n@users.noreply.github.com> --- docs/paper/dev/api/command-api/arguments.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/paper/dev/api/command-api/arguments.mdx b/docs/paper/dev/api/command-api/arguments.mdx index 0aacd42eb..0144aa8cb 100644 --- a/docs/paper/dev/api/command-api/arguments.mdx +++ b/docs/paper/dev/api/command-api/arguments.mdx @@ -43,7 +43,7 @@ public class YourPluginClass extends JavaPlugin { This command has one argument of the `Enchantment` datatype. When the command is executed, the command sender will get a message containing the key of the enchantment they selected. -## Advantage over string-based arguments +## Advantages over string-based arguments - Direct conversion to usable type - Client-side error handling From 2fcb85094a2743c9c6f46d4a5227111b6c258177 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hinterh=C3=A4ltiger?= <76826310+Hinterhaeltiger@users.noreply.github.com> Date: Sun, 21 Jul 2024 17:44:32 +0200 Subject: [PATCH 29/29] Shorter code explaination Co-authored-by: Ollie <69084614+olijeffers0n@users.noreply.github.com> --- docs/paper/dev/api/command-api/arguments.mdx | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/docs/paper/dev/api/command-api/arguments.mdx b/docs/paper/dev/api/command-api/arguments.mdx index 0144aa8cb..15860c2cb 100644 --- a/docs/paper/dev/api/command-api/arguments.mdx +++ b/docs/paper/dev/api/command-api/arguments.mdx @@ -140,25 +140,18 @@ public class IceCreamTypeArgument implements CustomArgumentType.ConvertedCustomArgumentType.Converted -interface. This interface takes two type arguments: our custom enum, T, and a type that is native to -Minecraft, such as String, Integer, etc., called N. The native type exists so that the client can use -the input data, as it doesn't know what our custom `IceCreamType` is. +We implemented the CustomArgumentType.Converted +interface. This interface takes two type arguments: our custom enum, T, and a native Java type called N. -The first method called `convert()` converts the native type (in this case `String`) -into our own custom type called `IceCreamType`, as the name suggests. This is so we -can keep using our custom type internally. If we wouldn't do that, there would be no point in using a -custom type. If the specified input isn't found in our enum of available flavors, we -output an error. +- `convert()` converts the native type (in this case `String`) into our custom type. -The second method called `getNativeType()` returns the type of string that our command argument uses. -In our case, we're using a single word, so we return `StringArgumentType.word()`. +- `getNativeType()` returns the type of string that our command argument uses. This uses a single word, so we return `StringArgumentType.word()`. -In the last method, `listSuggestions()`, we return `CompletableFuture` so that the client +- `listSuggestions()` returns `CompletableFuture` so that the client can suggest all available options. We can even add tooltips to the suggestions to explain them in greater detail. -As a last step, we need to register the Command: +We then need to register the command: ```java public void onEnable() {