Minecraft 26.3 adds exactly two new commands, both aimed at the same reader: datapack authors, map makers, and server operators who build logic out of loot tables, functions, and resource packs rather than mods. /compute evaluates a number provider on demand. /posteffect puts post-processing screen shaders under command control. Neither touches survival gameplay directly. This page covers both together because neither has enough depth alone to justify a separate guide, and the same reader searching one almost certainly wants the other.
Sourcing note. Minecraft 26.3 reached Pre-Release 1 on 1 September 2026, which means the feature set is frozen: Mojang is fixing bugs now, not adding or changing content. That matters here because Pre-Release 1 itself changed /compute and /data compute. Everything below is sourced from the /compute and /posteffect command pages, the Pre-Release 1 changelog, and the 26.3 version page as of that date. Where the wiki doesn't yet document an exact form, this page says so instead of guessing.
Why these two commands matter
Number providers already existed before 26.3: a uniform roll in a loot table, a randomized count in a worldgen feature. What you could not do is ask the game "what does this number provider currently evaluate to, right now, in this context" from a command. /compute does exactly that. It takes a number provider (as of Pre-Release 1, an integer or float provider from one of two split registries), evaluates it in a chosen context, and hands the result back through the command's success value so a function can act on it.
That sounds small until you think about what it replaces: scoreboard operations chained across multiple commands just to average two values, roll a weighted list, or apply a curve to a stat. Pre-Release 1's integer/float split adds real math operations, abs, add, multiply, divide, modulo, power, and more, directly inside the provider definition, so a datapack can express that logic as data instead of a wall of scoreboard players operation commands.
/posteffect solves a different problem: screen-space shaders (blur, invert, the creeper vignette, entity outlines) used to be something a resource pack could ship but a command could not touch. Now they can be added, removed, cleared, or listed per player, which is cutscene and dream-sequence territory: a blur when a player is stunned, an invert effect for a horror beat, an outline shader to spotlight an objective, all triggered from a function instead of baked into a fixed moment.
If you have not set up a datapack before, start with how to install datapacks first. Both commands here are meant to be called from datapack functions, not typed by hand during normal play.
/compute: evaluating number providers from a command
What changed in Pre-Release 1, and why the syntax below is the current one
Through Snapshot 10, /compute used a single unified number provider type and this syntax:
/compute <CONTEXT> <provider> [<scale>]
/compute <CONTEXT> <provider> integer
Pre-Release 1 replaced the number provider system with two separate registries, minecraft:context_int_provider for integers and minecraft:context_float_provider for floats, and updated /compute to require you to say which one you mean:
/compute <CONTEXT> integer <int_provider>
/compute <CONTEXT> float <float_provider> [<scale>]
This page uses the Pre-Release 1 form: it is the current, frozen syntax as of 1 September 2026. Older tutorials or datapacks written against the Snapshot 10 form need updating, for the same reason /data compute does, below.
Pre-Release 1 also made evaluation failures fatal: if a provider fails to evaluate (division by zero is the wiki's example), the command now fails outright instead of silently returning an undefined result.
Context argument
<CONTEXT> is one of three forms, and it controls what data the provider can read:
defaultruns the provider with only the common, always-available arguments (originset to the command's position,thisset to@s).block <pos>additionally exposes the block state and any block entity at<pos>.entity <target>additionally exposes the selected entity's data astarget_entity.<target>must resolve to a single entity.
Integer vs. float mode
integer <int_provider>: evaluates an integer provider directly, no scale argument. Integer mode and float-mode-then-truncate are not the same thing, so pick the mode matching what you're calculating.float <float_provider> [<scale>]: evaluates a float provider, multiplies by<scale>(default1.0), then feeds the result back through the command.
The new math operations
Pre-Release 1's registry split ships real arithmetic operations you can nest inside a provider definition instead of building them out of scoreboard commands. Per the Pre-Release 1 changelog:
- Integer registry (
minecraft:context_int_provider):abs,add,sub,mul,div,floor_div,floor_mod,mod,pow,negate,min,max,avg, plus the existingconstant,uniform,binomial,weighted_list,conditional,score,storage,environment_attribute, andnumber_dispatchertypes. - Float registry (
minecraft:context_float_provider): the comparable arithmetic operations plusceil,floor,round,truncate,sqrt,sin,cos,length,from_int,enchantment_level.
The wiki does not currently publish a worked JSON example combining these operations, so rather than invent one: a provider like abs or add is a registry entry (or inline object) with its own fields, referenced the same way any other number provider is, either inline in the command or as a registry element by string. Test a specific nested shape (say, add wrapping two score providers) against Pre-Release 1 directly rather than trusting a guess, since a wrong nesting now fails the whole command per the fail-on-error behavior above.
/data compute got the same split
/data compute, the counterpart used to read a computed value into storage, received the identical integer/float treatment:
data compute <target> integer <int_provider>
data compute <target> float <float_provider>
Re-check any datapack calling either command with a pre-split provider. See what breaks in 26.3 for the wider format-bump picture (data pack format 119.0, resource pack format 97.1) this syntax change belongs to.
Block state providers, briefly
Pre-Release 1 also made block state providers standalone registry entries under worldgen/block_state_provider, referenced by string instead of always being written inline. An inline block state is now shorthand for a minecraft:simple provider, and type names were shortened (simple_state_provider became minecraft:simple). Not a /compute change, but it comes from the same registry cleanup and is worth knowing if you maintain custom worldgen features.
/posteffect: screen shaders from a command
/posteffect was added in Snapshot 3 and has not changed since, so this section's syntax is stable through Pre-Release 1.
posteffect add <players> <posteffect>
posteffect remove <players> <posteffect>
posteffect clear <players>
posteffect list <target>
add <players> <posteffect>: applies a post effect to the given players if it is not already applied.remove <players> <posteffect>: removes a specific post effect from the given players, if present.clear <players>: removes every post effect currently applied to the given players.list <target>: lists the post effects currently applied to a single player.<target>must resolve to exactly one player.
<players> accepts player names, target selectors, or UUIDs, and can match multiple players for add, remove, and clear. <target> for list is restricted to a single player.
<posteffect> is a resource location. Vanilla ships blur, creeper, entity_outline, invert, and spider under minecraft:. A custom post effect goes in a resource pack at assets/<namespace>/post_effect, so anything beyond the vanilla set only reaches players with the matching pack loaded.
Post effects are a client feature, not a server one. The command sets which effect should apply, but the shader itself lives in the resource pack on the player's machine. Per the wiki, the server cannot know whether the effect actually rendered. Building a cutscene around a custom post effect means shipping (or requiring) the resource pack, not assuming /posteffect add alone guarantees the visual landed.
What this is actually for
- A stun or disorient effect using
blurwhen a player is hit by a specific ability. - An
invertbeat for a horror map's jump-scare moment, cleared automatically with a scheduled function. entity_outlineto spotlight a boss or objective target during a scripted sequence.- A custom shader shipped with a map's resource pack, triggered on entering a trigger volume.
All four are function-driven: posteffect add on entry, posteffect remove or posteffect clear on exit or delay. None of it requires a mod or a fixed cutscene baked into a resource pack override; it is state you toggle at runtime the same way you'd toggle a scoreboard value.
| /compute | /posteffect | |
|---|---|---|
| What it does | Evaluates a number provider and returns the result | Adds, removes, or lists screen shader effects on players |
| Added | Snapshot 10 | Snapshot 3 |
| Changed in Pre-Release 1 | Yes: integer/float split, new math operations, fail-on-error | No |
| Runs on | Server (pure data/logic) | Server issues it, client renders it |
| Typical use | Loot table math, custom stat curves, worldgen values | Cutscenes, damage feedback, dream sequences |
| Permission level | 2 | 2 |
Should you build around these now?
Yes, with the usual pre-release caveat: the feature set is frozen, so /compute's integer/float syntax and /posteffect's four subcommands are unlikely to change again before release. What can still move is bug-fix behavior, not the command shape. Build against Pre-Release 1 today and re-test once the release build lands (see the 26.3 hub page), but don't expect another rewrite like the one between Snapshot 10 and Pre-Release 1.
If your datapack fakes computed values with chained scoreboard operations, /compute's new math operations are likely a smaller, more readable replacement. If your map wants a screen-space visual cue, /posteffect is the first vanilla way to trigger one without a mod.
FAQ
What does the /compute command do in Minecraft 26.3?
It evaluates a number provider (as of Pre-Release 1, an integer provider or a float provider from two split registries) in one of three contexts (default, a block position, or an entity) and returns the result through the command's success value. Added in Snapshot 10; syntax changed in Pre-Release 1.
Why did /compute's syntax change in Pre-Release 1?
Pre-Release 1 split the number provider system into separate integer and float registries. The command now requires integer <int_provider> or float <float_provider> [<scale>] instead of the older unpaired <provider> [<scale>] form used through Snapshot 10.
What does the /posteffect command do?
It manages post-processing screen shader effects (blur, invert, entity outline, and others, including custom ones from a resource pack) applied to a player, using add, remove, clear, and list subcommands. Added in Snapshot 3, unchanged through Pre-Release 1.
Does /posteffect work without a resource pack?
Yes for the vanilla effects (blur, creeper, entity_outline, invert, spider). A custom post effect must be defined in a resource pack under assets/<namespace>/post_effect, and only players with that pack loaded will see it, since post effects render client-side.
Are /compute and /posteffect final for the 26.3 release?
As final as anything can be at Pre-Release 1. Mojang is only fixing bugs now, so the shapes here are unlikely to change again before release. /compute already had one syntax change this cycle (Snapshot 10 to Pre-Release 1), which is exactly why this page cites its source date rather than treating snapshot-era documentation as current.
Where can I find real examples of nested math operations for /compute?
The wiki does not currently publish a worked JSON example combining the new integer or float math operations. This page intentionally does not invent one; test any nested provider against a Pre-Release 1 or release build directly, since a malformed provider now fails the entire command instead of silently producing a wrong result.
Sources & further reading:






