Skip to content

Latest commit

 

History

History
66 lines (52 loc) · 2.96 KB

File metadata and controls

66 lines (52 loc) · 2.96 KB

How Do Command Success, Result, and Missing Contexts Compose?

Status: Measured on the official Java 26.2 dedicated server on 2026-07-18.

Minecraft exposes command success and result as distinct channels. Neither is equivalent to function continuation, and a store destination is not guaranteed to be written merely because an execute store modifier was parsed.

Measured matrix

The PS-1 fixture initialized selected destinations to 99, ran this shape, and queried the scores from later console roots:

execute store success score #success mdl.ps1.out \
        store result score #result mdl.ps1.out \
        run <subject>
scoreboard players set #continued mdl.ps1.out 1

On Java 26.2:

Subject Success destination Result destination Outer function continues
Function completes without producing a command result unchanged (99) unchanged (99) yes
Failing data get for a missing path 0 0 yes
Successful data get whose numeric value is zero 1 0 yes
Function executes return 0 1 0 yes
Function executes return 7 1 7 yes
execute as selects zero child contexts unchanged (99) unchanged (99) yes

The unchanged sentinels matter. A zero-context redirect does not synthesize a failed result and does not invoke its attached store callbacks. Likewise, an ordinary function that produces no command result leaves both destinations alone. Both cases differ observably from a command that runs and fails, which writes zero to both destinations.

return 0 is successful command completion with numeric result zero. It must not be modeled as failure merely because its result is false-like.

Compiler consequences

  • Model success availability, success value, result availability, result value, and outer continuation independently.
  • Do not use an integer sentinel as the semantic representation of an unavailable channel; every scoreboard integer is a valid value. The sentinel above is only a black-box experiment proving whether vanilla performed a write.
  • Do not collapse no child contexts, ordinary command failure, successful zero, explicit return 0, and abnormal sequence interruption.
  • A language block does not acquire a native result merely because lowering outlines it into a function.

Evidence

The run used the official 26.2 server bundle SHA-256 cdacdfb25898de5e4b4b0e5ddcc2722f77067e46605709c2d886c000ebb63ec5 and OpenJDK 25.0.3 without a connected client.