Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Minecraft:Number provider: Difference between revisions

From SAS Gaming Wiki
SyncBot (talk | contribs)
Sync: updated from Minecraft
SyncBot (talk | contribs)
Sync: updated from Minecraft
Line 29: Line 29:
{{in development|Java|section=1||26.3}}
{{in development|Java|section=1||26.3}}


There are 5 registry number providers used in vanilla data pack.
There are registry number providers used in vanilla data pack.


{{File|directory|compostable}}: Number providers used in the component {{DCL|compostable}} default:
{{File|directory|compostable}}: Number providers used in the component {{DCL|compostable}} default:
{{Collapse|title=  {{File|file|always_add_one.json}}|content=
{{JSON file|always_add_one|1.0}}
<syntaxhighlight lang=json>1.0
{{JSON file|low|{
</syntaxhighlight>
}}
{{Collapse|title=&nbsp;&nbsp;{{File|file|low.json}}|content=
<syntaxhighlight lang=json>{
   "type": "minecraft:number_dispatcher",
   "type": "minecraft:number_dispatcher",
   "cases": [
   "cases": [
Line 64: Line 60:
     ]
     ]
   }
   }
}</syntaxhighlight>
}
}}
}}
{{Collapse|title=&nbsp;&nbsp;{{File|file|low_medium.json}}|content=
{{JSON file|low_medium.json|{
<syntaxhighlight lang=json>{
   "type": "minecraft:number_dispatcher",
   "type": "minecraft:number_dispatcher",
   "cases": [
   "cases": [
Line 94: Line 89:
     ]
     ]
   }
   }
}</syntaxhighlight>
}
}}
}}
{{Collapse|title=&nbsp;&nbsp;{{File|file|medium.json}}|content=
{{JSON file|medium|{
<syntaxhighlight lang=json>{
   "type": "minecraft:number_dispatcher",
   "type": "minecraft:number_dispatcher",
   "cases": [
   "cases": [
Line 124: Line 118:
     ]
     ]
   }
   }
}</syntaxhighlight>
}
}}
}}
{{Collapse|title=&nbsp;&nbsp;{{File|file|medium_high.json}}|content=
{{JSON file|medium_high.json|{
<syntaxhighlight lang=json>{
   "type": "minecraft:number_dispatcher",
   "type": "minecraft:number_dispatcher",
   "cases": [
   "cases": [
Line 154: Line 147:
     ]
     ]
   }
   }
}</syntaxhighlight>
}
}}
}}
{{File|directory|cooking}}:  Number providers used in the component {{DCL|cooking_fuel.burn_time}} default:
{{JSON file/cooking|speed_default|1.0|2.0}}
{{JSON file/cooking|time_bamboo|50.0|25.0}}
{{JSON file/cooking|time_blaze|2400.0|1200.0}}
{{JSON file/cooking|boats|1200.0|600.0}}
{{JSON file/cooking|coal|1600.0|8000.0}}
{{JSON file/cooking|time_coal_block|16000.0|8000}}
{{JSON file/cooking|time_dried_kelp_block|4001.0|2000.5}}
{{JSON file/cooking|time_dry_plants|100.0|50.0}}
{{JSON file/cooking|time_hanging_signs|800.0|400.0}}
{{JSON file/cooking|time_lava_bucket|20000.0|10000.0}}
{{JSON file/cooking|time_roots|300.0|150.0}}
{{JSON file/cooking|time_wood_blocks|300.0|150.0}}
{{JSON file/cooking|time_wood_items_extra_small|100.0|50.0}}
{{JSON file/cooking|time_wood_items_large|200.0|100.0}}
{{JSON file/cooking|time_wood_items_small|300.0|150.0}}
{{JSON file/cooking|time_wood_slabs|150.0|75.0}}
{{JSON file/cooking|time_wool|100.0|50.0}}
{{JSON file/cooking|time_wool_carpets|67.0|33.5}}
{{JSON file/cooking|time_wool_slabs|50.0|25.0}}
{{File|directory|brewing}}:
{{JSON file|speed_default|1.0}}
{{JSON file|uses_default|20.0}}


See {{Slink|Composter|Composting}} for a list of items that use such number providers in the component {{cd|compostable}} by default.
See {{Slink|Composter|Composting}} for a list of items that use such number providers in the component {{cd|compostable}} by default.

Revision as of 11:12, 17 July 2026

Template:For Template:Exclusive Template:Wip A number provider is a data structure used to provide a number, which can be simply a constant, a random number within a certain distribution, a number under a certain condition, etc. Number providers are used in Minecraft:loot tables, Minecraft:predicates, Minecraft:item modifiers, villager trade, Minecraft:trade sets, and the data component Template:DCLTemplate:Upcoming.

JSON definition

Template:In development

Number providers can be defined in Minecraft:data packs, as part of the directory structure below.

Use

In most uses of number provider, it is used as an Minecraft:NBT object, within a larger structure, and cannot be used as a registry . This includes all uses in Minecraft:loot tables, Minecraft:predicates, Minecraft:item modifiers, villager trade, and Minecraft:trade sets.

In Java 26.3, number provider Minecraft:registry can be used in the component Template:DCL to define how many layers are added when using Minecraft:composter. In this case, only number providers are accepted, not line definitions.

Vanila registries

Template:In development

There are registry number providers used in vanilla data pack.

Template:File: Number providers used in the component Template:DCL default: Template:JSON file Template:JSON file Template:JSON file Template:JSON file Template:JSON file

Template:File: Number providers used in the component Template:DCL default: Template:JSON file/cooking Template:JSON file/cooking Template:JSON file/cooking Template:JSON file/cooking Template:JSON file/cooking Template:JSON file/cooking Template:JSON file/cooking Template:JSON file/cooking Template:JSON file/cooking Template:JSON file/cooking Template:JSON file/cooking Template:JSON file/cooking Template:JSON file/cooking Template:JSON file/cooking Template:JSON file/cooking Template:JSON file/cooking Template:JSON file/cooking Template:JSON file/cooking Template:JSON file/cooking Template:File: Template:JSON file Template:JSON file

See Template:Slink for a list of items that use such number providers in the component Template:Cd by default.

Format

A a number provider can be an Template:Nbt or Template:Nbt. They can either be defined as a constant value or as an object.

Or:

Or:

Number providers types

The possible values for Template:Nbt and associated extra contents:

  • sum — The sum of multiple value providers
  • environment_attribute — Fetches and provides the value of an environment attribute (that can be represented as a number).

This provider requires a context with an origin position set as long as the environment attribute can vary positionally.

  • weighted_listTemplate:Upcoming — Returns a value from a distribution of weighted number providers.
    • Template:Nbt: Returns a value from a distribution of weighted number providers.
      • Template:Nbt: A single weighted number provider:
        • Template:NbtTemplate:NbtTemplate:Nbt: A number provider, which is executed if the weighted number provider is chosen.
        • Template:Nbt: A positive integer. Determines how often this weighted number provider is chosen out of all data in the distribution. Weighted number provider with higher weights are used more often. The chance of an weighted number provider being chosen is [this weighted number provider's weight ÷ total weight of all weighted number provider in the distribution].

History

Template:Section needed

Navigation

Template:Navbox Java Edition technical