Add argument for FinePosition to brig API (#11094)

This commit is contained in:
Jake Potrebic 2024-07-28 11:23:18 -07:00 committed by GitHub
parent dcbd99de4a
commit f82bea6940
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 82 additions and 11 deletions

View file

@ -7,6 +7,8 @@ import io.papermc.paper.command.brigadier.Commands;
import io.papermc.paper.command.brigadier.argument.ArgumentTypes;
import io.papermc.paper.command.brigadier.argument.RegistryArgumentExtractor;
import io.papermc.paper.command.brigadier.argument.range.DoubleRangeProvider;
import io.papermc.paper.command.brigadier.argument.resolvers.FinePositionResolver;
import io.papermc.paper.math.FinePosition;
import io.papermc.paper.plugin.bootstrap.BootstrapContext;
import io.papermc.paper.plugin.lifecycle.event.LifecycleEventManager;
import io.papermc.paper.plugin.lifecycle.event.types.LifecycleEvents;
@ -59,6 +61,16 @@ public final class Registration {
})
).build()
);
commands.register(Commands.literal("fine-pos")
.then(
Commands.argument("pos", ArgumentTypes.finePosition(false))
.executes(ctx -> {
final FinePositionResolver position = ctx.getArgument("pos", FinePositionResolver.class);
ctx.getSource().getSender().sendPlainMessage("Position: " + position.resolve(ctx.getSource()));
return Command.SINGLE_SUCCESS;
})
).build()
);
// ensure plugin commands override
commands.register(Commands.literal("tag")
.executes(ctx -> {