Minecraft:Commands/compute: Difference between revisions
More actions
Sync: updated from Minecraft |
Sync: updated from Minecraft |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{wip}} | {{wip}} | ||
{{Infobox command | {{Infobox command | ||
|name = compute | |name = compute | ||
| Line 6: | Line 5: | ||
}} | }} | ||
Evaluates [[Minecraft:number provider]]s in various | Evaluates [[Minecraft:number provider]]s in various [[Minecraft:loot context]]s. | ||
== Syntax == | == Syntax == | ||
: {{cmd|compute <CONTEXT> < | : {{cmd|compute <CONTEXT> float <floatProvider> [<scale>]}} | ||
: {{cmd|compute <CONTEXT> integer <intProvider>}} | |||
: Where {{cd|CONTEXT}} is one of: | : Where {{cd|CONTEXT}} is one of: | ||
:: {{cd|default}} | :: {{cd|default}} | ||
::: | ::: Runs the provider with the [[Minecraft:Loot context#minecraft:command_compute_default|{{cd|minecraft:command_compute_default}}]] context, which provides common parameters such as the execution position and {{cd|this}} entity. | ||
:: {{cd|block <pos>}} | :: {{cd|block <pos>}} | ||
::: | ::: Runs the provider with the [[Minecraft:Loot context#minecraft:command_compute_position|{{cd|minecraft:command_compute_position}}]] context, providing the block state and block entity found at {{cd|<pos>}} alongside the common parameters. | ||
:: {{cd|entity <target>}} | :: {{cd|entity <target>}} | ||
::: | ::: Runs the provider with the [[Minecraft:Loot context#minecraft:command_compute_entity|{{cd|minecraft:command_compute_entity}}]] context, providing the selected entity as {{cd|target_entity}} alongside the common parameters. | ||
Float providers are evaluated to produce a floating-point value, but a command's {{cd|result}} value can only be an integer, so the actual result is rounded down to the nearest integer before being returned. If {{cd|<scale>}} is specified, the result is multiplied by that before being rounded down, allowing more precision to be returned. Integer providers already produce an integer value, so no scaling is needed. | |||
To store a float without losing any precision, see {{cmd|data modify ... compute ...}} instead, which avoids passing the value through {{cd|result}}. | |||
== Arguments == | == Arguments == | ||
{{argument|pos|block_pos}} | {{argument|pos|block_pos}} | ||
: Specifies | : Specifies the block whose state and block entity are made available to the number provider. | ||
: {{arg desc|je=block_pos}} | : {{arg desc|je=block_pos}} | ||
{{argument|target|entity}} | {{argument|target|entity}} | ||
: Specifies | : Specifies the entity whose data is made available to the number provider as {{cd|target_entity}}. | ||
: {{arg desc|je=entity|amount=single|type=entities}} | : {{arg desc|je=entity|amount=single|type=entities}} | ||
{{argument|provider| | {{argument|floatProvider|context_float_provider}} | ||
: Specifies the [[Minecraft: | : Specifies the [[Minecraft:context float provider]] to evaluate. Can be an [[Minecraft:identifier]] or an inline definition. | ||
: {{arg desc|je= | : {{arg desc|je=context_float_provider}} | ||
{{argument|intProvider|context_int_provider}} | |||
: Specifies the [[Minecraft:context int provider]] to evaluate. Can be an [[Minecraft:identifier]] or an inline definition. | |||
: {{arg desc|je=context_int_provider}} | |||
{{argument|scale|float}} | {{argument|scale|float}} | ||
: | : Specifies the value by which the float provider's result is multiplied. | ||
: If omitted, {{cd|1.0}} is used. | |||
: The resulting value is rounded down to the nearest integer after scaling. | |||
: {{arg desc|je=float}} | : {{arg desc|je=float}} | ||
== Result == | == Result == | ||
{{ | {{Result table|onlyje=1}} | ||
{{Result table|The command is incomplete, or any argument is not specified correctly.|unparseable}} | |||
{{Result table|The number provider cannot be evaluated in the specified context.|fail}} | |||
{{Result table|The number provider is successfully evaluated.|succeed}} | |||
{{Result table}} | |||
== Output == | == Output == | ||
{{ | {{Output table}} | ||
{{Output table|edition=je|On fail|0|0}} | |||
{{Output table|cmd=/compute ... float ...|On success|1|1|the computed result, scaled and then rounded down}} | |||
{{Output table|cmd=/compute ... integer ...|On success|1|1|the computed result}} | |||
{{Output table}} | |||
When the provider has a registered identifier, a successful command also displays its identifier and the computed result. In float mode, if scaling and rounding change the provider's original value, the output also displays the original floating-point value. | |||
== History == | == History == | ||
{{HistoryTable | {{HistoryTable | ||
|{{HistoryLine| | |{{HistoryLine|java}} | ||
|{{HistoryLine||26.3|dev=snap10|Added {{cmd|link=none|compute}}.}} | |{{HistoryLine||26.3|dev=snap10|Added {{cmd|link=none|compute}}.}} | ||
|{{HistoryLine||26.3|dev=pre1|Adjusted command syntax to match the separation of number providers into int and float providers.}} | |||
}} | }} | ||
Latest revision as of 11:06, 16 October 2026
Template:Wip Template:Infobox command
Evaluates Minecraft:number providers in various Minecraft:loot contexts.
Syntax
- Template:Cmd
- Template:Cmd
- Where Template:Cd is one of:
- Template:Cd
- Runs the provider with the [[Minecraft:Loot context#minecraft:command_compute_default|Template:Cd]] context, which provides common parameters such as the execution position and Template:Cd entity.
- Template:Cd
- Runs the provider with the [[Minecraft:Loot context#minecraft:command_compute_position|Template:Cd]] context, providing the block state and block entity found at Template:Cd alongside the common parameters.
- Template:Cd
- Runs the provider with the [[Minecraft:Loot context#minecraft:command_compute_entity|Template:Cd]] context, providing the selected entity as Template:Cd alongside the common parameters.
- Template:Cd
Float providers are evaluated to produce a floating-point value, but a command's Template:Cd value can only be an integer, so the actual result is rounded down to the nearest integer before being returned. If Template:Cd is specified, the result is multiplied by that before being rounded down, allowing more precision to be returned. Integer providers already produce an integer value, so no scaling is needed.
To store a float without losing any precision, see Template:Cmd instead, which avoids passing the value through Template:Cd.
Arguments
- Specifies the block whose state and block entity are made available to the number provider.
- Template:Arg desc
- Specifies the entity whose data is made available to the number provider as Template:Cd.
- Template:Arg desc
- Specifies the Minecraft:context float provider to evaluate. Can be an Minecraft:identifier or an inline definition.
- Template:Arg desc
- Specifies the Minecraft:context int provider to evaluate. Can be an Minecraft:identifier or an inline definition.
- Template:Arg desc
- Specifies the value by which the float provider's result is multiplied.
- If omitted, Template:Cd is used.
- The resulting value is rounded down to the nearest integer after scaling.
- Template:Arg desc
Result
Template:Result table Template:Result table Template:Result table Template:Result table Template:Result table
Output
Template:Output table Template:Output table Template:Output table Template:Output table Template:Output table
When the provider has a registered identifier, a successful command also displays its identifier and the computed result. In float mode, if scaling and rounding change the provider's original value, the output also displays the original floating-point value.
History
Template:Navbox new content Template:Navbox commands
Minecraft:de:Befehl/compute Minecraft:ja:コマンド/compute Minecraft:zh:命令/compute