Skip to content

Add throws CommandSyntaxException to BasicCommand - #14339

Merged
NonSwag merged 1 commit into
PaperMC:mainfrom
Strokkur424:feat/basic-command-throws
Oct 3, 2026
Merged

NonSwag merged 1 commit into
PaperMC:mainfrom
Strokkur424:feat/basic-command-throws

Conversation

@Strokkur424

Copy link
Copy Markdown
Member

This PR quite literally just adds the throws semantic to the #execute method on BasicCommand's #execute method. That method is only called inside a regular Brigadier .executes block, where CommandSyntaxException can be thrown regularly, meaning no additional try/catch logic is needed.

This change allows you to throw exceptions when implement BasicCommands, including when implementing it with lambdas. This makes the following code valid:

this.registerCommand("test", (_, _) -> {
    throw new SimpleCommandExceptionType(new LiteralMessage("hey")).create();
});

@NonSwag
NonSwag merged commit 6bc56ab into PaperMC:main Oct 3, 2026
7 checks passed
@github-project-automation github-project-automation Bot moved this from Full approval to Merged in Paper PR Queue Oct 3, 2026
@Strokkur424
Strokkur424 deleted the feat/basic-command-throws branch October 3, 2026 18:55
WinPlay02 added a commit to WoMa-Entertainment/Icicle that referenced this pull request Oct 5, 2026
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@288d43e1 Add getInstrument method to BlockType PaperMC/Paper#14251
PaperMC/Paper@6bc56abc Add `throws CommandSyntaxException` to BasicCommand PaperMC/Paper#14339
PaperMC/Paper@a9d03827 Fix startup crash using autoEnableOnServerStart in plugin-provided datapacks PaperMC/Paper#14238
PaperMC/Paper@ddb45eb4 Fix incorrect container setChanged() called in optimized hopper patch PaperMC/Paper#14269
PaperMC/Paper@60c8e563 Force absolute positions for item frames
PaperMC/Paper@1d254ec4 Fix adding entities with api with already valid passengers PaperMC/Paper#14336
PaperMC/Paper@371c96aa Fix username duplication in chat when defaultRenderer is explicitly set PaperMC/Paper#13868
PaperMC/Paper@6e88e469 Fix possible CME race conditions for post effects PaperMC/Paper#14335
PaperMC/Paper@1a7b6265 Bump JLine to 4.4.6, drop JNI backend as Paper compiles to Java 25 PaperMC/Paper#14323
PaperMC/Paper@1dbde610 Make test block codec conditional
PaperMC/Paper@780818ff  Clear bucket empty event result when fluid placement fails PaperMC/Paper#14345
PaperMC/Paper@2de3a930 Fix silent ignore of Block#getState(boolean) parameter PaperMC/Paper#14341
PaperMC/Paper@65c408ad Don't remove player twice when disconnected during config switch PaperMC/Paper#14346
PaperMC/Paper@4728a906 Fix bundle contents corruption with item obfuscation and shelves PaperMC/Paper#14352
granny added a commit to PurpurMC/Purpur that referenced this pull request Oct 6, 2026
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@288d43e1 Add getInstrument method to BlockType PaperMC/Paper#14251
PaperMC/Paper@6bc56abc Add `throws CommandSyntaxException` to BasicCommand PaperMC/Paper#14339
PaperMC/Paper@a9d03827 Fix startup crash using autoEnableOnServerStart in plugin-provided datapacks PaperMC/Paper#14238
PaperMC/Paper@ddb45eb4 Fix incorrect container setChanged() called in optimized hopper patch PaperMC/Paper#14269
PaperMC/Paper@60c8e563 Force absolute positions for item frames
PaperMC/Paper@1d254ec4 Fix adding entities with api with already valid passengers PaperMC/Paper#14336
PaperMC/Paper@371c96aa Fix username duplication in chat when defaultRenderer is explicitly set PaperMC/Paper#13868
PaperMC/Paper@6e88e469 Fix possible CME race conditions for post effects PaperMC/Paper#14335
PaperMC/Paper@1a7b6265 Bump JLine to 4.4.6, drop JNI backend as Paper compiles to Java 25 PaperMC/Paper#14323
PaperMC/Paper@1dbde610 Make test block codec conditional
PaperMC/Paper@780818ff  Clear bucket empty event result when fluid placement fails PaperMC/Paper#14345
PaperMC/Paper@2de3a930 Fix silent ignore of Block#getState(boolean) parameter PaperMC/Paper#14341
PaperMC/Paper@65c408ad Don't remove player twice when disconnected during config switch PaperMC/Paper#14346
PaperMC/Paper@4728a906 Fix bundle contents corruption with item obfuscation and shelves PaperMC/Paper#14352
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Merged

Development

Successfully merging this pull request may close these issues.

3 participants