Snapshot Datapack: Download
Minecraft 26.3 Pre-Release 1 #
The first pre-release for 26.3 is here! There are technical changes, but we are now mainly fixing bugs, making improvements and putting on the final touches ahead of release.
Happy mining!
Changes #
UI #
- On macOS, Exclusive Fullscreen is now available again
- On macOS, added a “Menu/Dock Visibility” option in Video Settings, which controls whether the macOS Menu bar and Dock can be revealed by moving the mouse to the edge of the screen while in fullscreen
- The cursor is now confined to the window while Exclusive Fullscreen is active
Technical Changes #
- The Data Pack version is now 119.0
- The Resource Pack version is now 97.1
Data Pack Version 119.0 #
- The
minecraft:number_providerandminecraft:number_provider_typeregistries have been split into separate registries for integer calculations (minecraft:context_int_provider,minecraft:context_int_provider_type) and float calculations (minecraft:context_float_provider,minecraft:context_float_provider_type)
Number Providers #
Number provider types and values have been split into two separate registries: minecraft:context_int_provider and minecraft:context_float_provider to avoid accidental loss of precision and range due to mixing of float and integer operations
Note: those new types should not be confused with already existing minecraft:int_provider_type and minecraft:float_provider_type, which are context-free providers, used mostly for world generation
Following number provider types have been split into integer and float variants:
minecraft:constantminecraft:uniformminecraft:storageminecraft:sum(renamed tominecraft:add)minecraft:product(renamed tominecraft:mul)minecraft:minimum(renamed tominecraft:min)minecraft:maximum(renamed tominecraft:max)minecraft:average(renamed tominecraft:avg)minecraft:weighted_listminecraft:conditionalminecraft:number_dispatcherminecraft:environment_attribute
Following number providers types are now only available in integer variant:
minecraft:binomialminecraft:score
Following number providers types are now only available in float variant:
minecraft:enchantment_level
Following vanilla number providers have been migrated to minecraft:context_int_provider registry:
minecraft:compostable/lowminecraft:compostable/low_mediumminecraft:compostable/mediumminecraft:compostable/medium_highminecraft:compostable/always_add_oneminecraft:cooking/time_bamboominecraft:cooking/time_wool_slabsminecraft:cooking/time_wool_carpetsminecraft:cooking/time_dry_plantsminecraft:cooking/time_wood_items_extra_smallminecraft:cooking/time_woolminecraft:cooking/time_wood_slabsminecraft:cooking/time_wood_items_largeminecraft:cooking/time_wood_items_smallminecraft:cooking/time_rootsminecraft:cooking/time_wood_blocksminecraft:cooking/time_hanging_signsminecraft:cooking/time_boatsminecraft:cooking/time_coalminecraft:cooking/time_blaze_rodminecraft:cooking/time_dried_kelp_blockminecraft:cooking/time_coal_blockminecraft:cooking/time_lava_bucketminecraft:brewing/uses_default
Following vanilla number providers have been migrated to minecraft:context_float_provider registry:
minecraft:cooking/speed_defaultminecraft:cooking/normal_speed_multiplierminecraft:cooking/fast_speed_multiplierminecraft:brewing/speed_default
Following vanilla number providers have been removed:
minecraft:cooking/normal_burn_time_multiplier(replaced byminecraft:cooking/normal_burn_time_reduction_factor)minecraft:cooking/fast_burn_time_multiplier(replaced byminecraft:cooking/fast_burn_time_reduction_factor)
Integer Number Providers #
- Added the
minecraft:context_int_providerregistry - All calculations are performed using 32-bit integers
- Result of calculations that provide invalid values (like division by zero) is undefined
- Format:
type- a namespaced ID fromminecraft:context_int_provider_typeregistry<type-specific fields>
Added MINECRAFT:ABS
#
- Returns the absolute value of
input - If the final result does not fit inside 32-bit integer, calculation will be canceled
- Fields:
input- an inline value or a namespaced ID of aminecraft:context_int_providertype
Added MINECRAFT:AVG
#
- Evaluates multiple integer providers and returns arithmetic mean of results
- Division rounds towards
0 - Fields:
inputs- an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:context_int_providertype- Requires at least one value
Added MINECRAFT:BINOMIAL
#
- Makes
nrandom coin flips with probability of succeeding equal top, then returns number of successes - Fields:
n- number of coin flips, an inline value or a namespaced ID of aminecraft:context_int_providertypep- probability of a single coin flip succeeding ([0.0, 1.0]), an inline value or a namespaced ID of aminecraft:context_float_providertype
Added MINECRAFT:CONDITIONAL
#
- Returns the value from
on_trueif its condition is fulfilled oron_falseif not - Fields:
conditions- an inline value or a namespaced ID of aminecraft:predicatetypeon_true- an inline value or a namespaced ID of aminecraft:context_int_providertype which is executed if its condition is fulfilledon_false- an optional inline value or a namespaced ID of aminecraft:context_int_providertype- Defaults to a constant
0if omitted
- Defaults to a constant
Added MINECRAFT:CONSTANT
#
- Returns a constant value
- Fields:
value- an integer
- Can be also written inline as a plain number (
foo: 1is equivalent tofoo: {type:"minecraft:constant",value:1})
Added MINECRAFT:SUB
#
- Returns
leftminusright - If the final result does not fit inside 32-bit integer, calculation will be canceled
- Fields:
left- an inline value or a namespaced ID of aminecraft:context_int_providertyperight- an inline value or a namespaced ID of aminecraft:context_int_providertype
Added MINECRAFT:FROM_FLOAT
#
- Evaluates a float provider and converts it to an integer value
- Noninteger values will be truncated (i.e. rounded towards zero)
- Values that don’t fit inside 32-bit integer (including
NaN) are treated as errors and will cancel calculation - Fields:
input- an inline value or a namespaced ID of aminecraft:context_float_providertype
Added MINECRAFT:MAX
#
- Evaluates multiple integer providers and returns the largest of results
- Fields:
inputs- an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:context_int_providertype- Requires at least one value
Added MINECRAFT:MIN
#
- Evaluates multiple integer providers and returns the smallest of results
- Fields:
inputs- an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:context_int_providertype- Requires at least one value
Added MINECRAFT:MOD
#
- Returns the modulus of
leftbyright - Uses truncated integer division (rounds towards zero)
- Division by zero is treated as an error and will cancel calculation
- Fields:
left- an inline value or a namespaced ID of aminecraft:context_int_providertyperight- an inline value or a namespaced ID of aminecraft:context_int_providertype
Added MINECRAFT:FLOOR_MOD
#
- Returns the modulus of
leftbyright - Uses floored integer division (rounds towards negative infinity)
- Division by zero is treated as an error and will cancel calculation
- Fields:
left- an inline value or a namespaced ID of aminecraft:context_int_providertyperight- an inline value or a namespaced ID of aminecraft:context_int_providertype
Added MINECRAFT:ENVIRONMENT_ATTRIBUTE
#
- Fetches and provides the value of an Environment Attribute (
minecraft:environment_attribute) - Fields
attribute- Environment Attribute ID to fetch (must be representable as an int)
Added minecraft:negate
#
- Returns the negation of input
- If the final result does not fit inside 32-bit integer, calculation will be canceled
- Fields:
input- an inline value or a namespaced ID of aminecraft:context_int_providertype
Added MINECRAFT:NUMBER_DISPATCHER
#
- Returns the first case which fulfills its condition or the
defaultif none do - Fields:
cases- a list of cases in the order that the dispatcher will try to execute them- Fields:
condition- an inline value or a namespaced ID of aminecraft:predicatetypevalue- an inline value or a namespaced ID of aminecraft:context_int_providertype which is executed if the condition is fulfilled
- Fields:
default- an optional inline value or a namespaced ID of aminecraft:context_int_providertype- Defaults to a constant
0if omitted
- Defaults to a constant
Added MINECRAFT:POW
#
- Returns
baseto the power ofexponent - If the exponent is negative, calculation will be canceled
- If both the base and the exponent are zero, calculation will be canceled
- If the final result does not fit inside 32-bit integer, calculation will be canceled
- Fields:
base- an inline value or a namespaced ID of aminecraft:context_int_providertypeexponent- an inline value or a namespaced ID of aminecraft:context_int_providertype
Added MINECRAFT:MUL
#
- Evaluates multiple integer providers and returns product of results
- If the final result does not fit inside 32-bit integer, calculation will be canceled
- Fields:
inputs- an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:context_int_providertype- Requires at least one value
Added MINECRAFT:DIV
#
- Returns left divided by right
- Uses truncated integer division (rounds towards zero)
- Division by zero is treated as an error and will cancel calculation
- Fields:
left- an inline value or a namespaced ID of aminecraft:context_int_providertyperight- an inline value or a namespaced ID of aminecraft:context_int_providertype
Added minecraft:floor_div
#
- Returns
leftdivided byright - Uses floored integer division (rounds towards negative infinity)
- Division by zero is treated as an error and will cancel calculation
- If the final result does not fit inside 32-bit integer, calculation will be canceled
- Fields:
left- an inline value or a namespaced ID of aminecraft:context_int_providertyperight- an inline value or a namespaced ID of aminecraft:context_int_providertype
Added MINECRAFT:SCORE
#
- Returns a score of the selected target
- If score is not present, provider returns value of
fallback - Fields:
score- objective nametarget- score holder (same format as in number provider version)fallback- an optional inline value or a namespaced ID of aminecraft:context_int_providertype, defaults to0
Added MINECRAFT:STORAGE
#
- Returns an integer value from a command storage
- If value is not present, is not a number or path returned multiple values, provider returns value of
fallback - Conversion of numeric NBT values that are not an integer is undefined
- Fields:
storage- a namespaced ID of a command storagepath- an NBT pathfallback- an optional inline value or a namespaced ID of aminecraft:context_int_providertype, defaults to 0
Added MINECRAFT:ADD
#
- Evaluates multiple integer providers and returns sum of results
- If the final result does not fit inside 32-bit integer, calculation will be canceled
- Fields:
inputs- an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:context_int_providertype- Requires at least one value
Added MINECRAFT:UNIFORM
#
- Picks a random integer from a closed range
- Fields:
min- minimum value (inclusive), an inline value or a namespaced ID of aminecraft:context_int_providertypemax- maximum value (inclusive), an inline value or a namespaced ID of aminecraft:context_int_providertype
Added MINECRAFT:WEIGHTED_LIST
#
- Returns a value from a distribution of weighted number providers
- Fields:
distribution- a list of objects with the following fields- Fields:
data- an inline value or a namespaced ID of aminecraft:context_int_providertypeweight- a positive integer
- Fields:
Float Number Providers #
- Added a
minecraft:context_float_providerregistry - All calculations are peformed using single-precision floating-point numbers (“floats”)
- Result of calculations that produce NaN and Infinity is undefined
- Format:
type- a namespaced ID fromminecraft:context_float_provider_typeregistry<type-specific fields>
Added vanilla float number providers #
minecraft:cooking/speed_default- Returns the default speed multiplier for cooking fuel
minecraft:cooking/normal_speed_multiplier- Returns the speed multiplier for cooking fuel when used in a normal furnace
minecraft:cooking/fast_speed_multiplier- Returns the speed multiplier for cooking fuel when used in a block matching the
block/fast_cookingpredicate
- Returns the speed multiplier for cooking fuel when used in a block matching the
minecraft:brewing/speed_default- Returns the default speed multiplier for brewing fuel
Added MINECRAFT:ABS
#
- Returns the absolute value of input
- Fields:
input- an inline value or a namespaced ID of aminecraft:context_float_providertype
Added MINECRAFT:AVG
#
- Evaluates multiple float providers and returns arithmetic mean of results
- Fields:
inputs- an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:context_float_providertype- Requires at least one value
Added MINECRAFT:CEIL
#
- Returns the ceiling (i.e. rounded towards positive infinity) value of
input - Fields:
input- an inline value or a namespaced ID of aminecraft:context_float_providertype
Added MINECRAFT:CONDITIONAL
#
- Returns the value from
on_trueif its condition is fulfilled oron_falseif not - Fields:
conditions- an inline value or a namespaced ID of aminecraft:predicatetypeon_true- an inline value or a namespaced ID of aminecraft:context_float_providertype which is executed if its condition is fulfilledon_false- an optional inline value or a namespaced ID of aminecraft:context_float_providertype- Defaults to a constant
0.0if omitted
- Defaults to a constant
Added MINECRAFT:CONSTANT
#
- Returns a constant value
- Fields:
value- a float
- Can be also written inline as a plain number (
foo: 1.0is equivalent tofoo: {type:"minecraft:constant",value:1.0})
Added MINECRAFT:COS
#
- Returns the cosine of
input - Fields:
input- argument in radians, an inline value or a namespaced ID of aminecraft:context_float_providertype
Added MINECRAFT:SUB
#
- Returns
leftminusright - Fields:
left- an inline value or a namespaced ID of aminecraft:context_float_providertyperight- an inline value or a namespaced ID of aminecraft:context_float_providertype
Added MINECRAFT:ENCHANTMENT_LEVEL
#
- Evaluates Enchantment Level-Based (
minecraft:enchantment_level_based_value_type) parameter - Fields:
amount: A Level-Based Value giving a value based on the level of the Enchantment
Added MINECRAFT:ENVIRONMENT_ATTRIBUTE
#
- Fetches and provides the value of an Environment Attribute (
minecraft:environment_attribute) - Fields
attribute- Environment Attribute ID to fetch (must be representable as a float)
Added MINECRAFT:FLOOR
#
- Returns the floored (i.e. rounded towards negative infinity) value of
input - Fields:
input- an inline value or a namespaced ID of aminecraft:context_float_providertype
Added MINECRAFT:FROM_INT
#
- Evaluates an integer provider and converts it to a float value
- Fields:
input- an inline value or a namespaced ID of aminecraft:context_int_providertype
Added MINECRAFT:LENGTH
#
- Evaluates multiple float providers and returns square root of the sum of squares
- Fields:
inputs- an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:context_float_providertype- Requires at least one value
Added MINECRAFT:MAX
#
- Evaluates multiple float providers and returns the largest of result
- Fields:
inputs- an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:context_float_providertype- Requires at least one value
Added MINECRAFT:MIN
#
- Evaluates multiple float providers and returns the smallest of results
- Fields:
inputs- an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:context_float_providertype- Requires at least one value
Added MINECRAFT:MOD
#
- Returns the modulus of
leftbyright - Fields:
left- an inline value or a namespaced ID of aminecraft:context_float_providertyperight- an inline value or a namespaced ID of aminecraft:context_float_providertype
Added MINECRAFT:NEGATE
#
- Returns the negation of
input - Fields:
input- an inline value or a namespaced ID of aminecraft:context_float_providertype
Added MINECRAFT:NUMBER_DISPATCHER
#
- Returns the first case which fulfills its condition or the
defaultif none do - Fields:
cases- a list of cases in the order that the dispatcher will try to execute them- Fields:
condition- an inline value or a namespaced ID of aminecraft:predicatetypevalue- an inline value or a namespaced ID of aminecraft:context_float_providertype which is executed if the condition is fulfilled
- Fields:
- default - an optional inline value or a namespaced ID of a
minecraft:context_float_providertype- Defaults to a constant
0.0if omitted
- Defaults to a constant
Added MINECRAFT:POW
#
- Returns
baseto the power ofexponent - Fields:
base- an inline value or a namespaced ID of aminecraft:context_float_providertypeexponent- an inline value or a namespaced ID of aminecraft:context_float_providertype
Added MINECRAFT:MUL
#
- Evaluates multiple float providers and returns product of results
- Fields:
inputs- an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:context_float_providertype- Requires at least one value
Added MINECRAFT:DIV
#
- Returns
leftdivided byright - Fields:
left- an inline value or a namespaced ID of aminecraft:context_float_providertyperight- an inline value or a namespaced ID of aminecraft:context_float_providertype
Added MINECRAFT:ROUND
#
- Returns the rounded (towards nearest integer, with ties rounding towards positive infinity) value of
input - Fields:
input- an inline value or a namespaced ID of aminecraft:context_float_providertype
Added MINECRAFT:SIN
#
- Returns the sine of
input - Fields:
input- argument in radians, an inline value or a namespaced ID of aminecraft:context_float_providertype
Added MINECRAFT:SQRT
#
- Returns the square root of
input - Fields:
input- an inline value or a namespaced ID of aminecraft:context_float_providertype
Added MINECRAFT:STORAGE
#
- Returns a float value from a command storage
- If value is not present, is not a number or path returned multiple values, provider returns value of
fallback - Conversion of numeric NBT values that are not a float is undefined
- Fields:
storage- a namespaced ID of a command storagepath- an NBT pathfallback- an optional inline value or a namespaced ID of aminecraft:context_float_providertype, defaults to0.0
Added MINECRAFT:ADD
#
- Evaluates multiple float providers and returns sum of results
- Fields:
inputs- an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:context_float_providertype- Requires at least one value
Added MINECRAFT:TRUNCATE
#
- Returns the truncated (rounded towards zero) value of
input - Fields:
input- an inline value or a namespaced ID of aminecraft:context_float_providertype
Added MINECRAFT:UNIFORM
#
- Picks a random number from a range
- Fields:
min- minimum value, an inline value or a namespaced ID of aminecraft:context_float_providertypemax- maximum value, an inline value or a namespaced ID of aminecraft:context_float_providertype
Added MINECRAFT:WEIGHTED_LIST
#
- Returns a value from a distribution of weighted number providers
- Fields:
distribution- a list of objects with the following fields- Fields:
data- an inline value or a namespaced ID of aminecraft:context_float_providertypeweight- a positive integer
- Fields:
Villager Trades #
- The
max_usesandxpfields now require an inline value of aminecraft:context_int_providertype - The
countfield inwantsandadditional_wantsstructures now require an inline value of aminecraft:context_int_providertype - The
reputation_discountfield now requires an inline value of aminecraft:context_float_providertype
Commands #
Modified /compute
#
-
Command syntax has been modified to take into account number provider split:
/compute <target> integer <int_provider>- where
<int_provider>either an element ofminecraft:context_int_providerregistry or an inline value
- where
/compute <target> float <float_provider> [<scale>]- where
<float_provider>either an element ofminecraft:context_float_providerregistry or an inline value
- where
-
If evaluation of a number provider fails (for example due to division by zero), command will now fail
Modified /DATA
#
- Command syntax has been modified to take into account number provider split:
compute <target> integer <int_provider>compute <target> float <float_provider>
Data Components #
Changed MINECRAFT:COOKING_FUEL
#
burn_timefield is nowminecraft:context_int_providerspeed_multiplierfield is nowminecraft:context_float_provider- Cooking fuel items with remainders will be handled as follows
- If there is fuel remaining in the fuel slot, the remainder item will be dropped on the ground
- If the fuel has run out, the remainder item will remain in the fuel slot
Changed MINECRAFT:BREWING_FUEL
#
usesfield is nowminecraft:context_int_providerspeed_multiplierfield is nowminecraft:context_float_provider- Brewing fuel items with remainders will be handled as follows
- If there is fuel remaining in the fuel slot, the remainder item will be dropped on the ground
- If the fuel has run out, the remainder item will remain in the fuel slot
- This behavior matches items placed in the input and reagent slots of the brewing stand
Changed MINECRAFT:COMPOSTABLE
#
layersfield is nowminecraft:context_int_provider
Loot tables #
rollsfield is nowminecraft:context_int_providerbonus_rollsfield is nowminecraft:context_float_provider
Functions #
Changed MINECRAFT:SET_ATTRIBUTES
#
- Number providers in
amountsub-fields ofmodifierslist now accept an inline value or a namespaced ID of aminecraft:context_float_providertype
Changed MINECRAFT:ENCHANTED_COUNT_INCREASE
#
- The
countfield now accepts an inline value or a namespaced ID of aminecraft:context_float_providertype
Changed MINECRAFT:ENCHANT_WITH_LEVELS
#
- The
levelsfield now accepts an inline value or a namespaced ID of aminecraft:context_int_providertype
Changed MINECRAFT:SET_CUSTOM_MODEL_DATA
#
- Elements in the
floatslist can now be an inline value or a namespaced ID of aminecraft:context_float_providertype - Elements in the
colorslists can now be an inline value or a namespaced ID of aminecraft:context_int_providertype
Changed MINECRAFT:SET_ENCHANTMENTS
#
- Values in
enchantmentsmap can now be an inline value or a namespaced ID of aminecraft:context_int_providertype
Changed MINECRAFT:SET_COUNT
#
- The
countfield now accepts an inline value or a namespaced ID of aminecraft:context_int_providertype
Changed MINECRAFT:LIMIT_COUNT
#
- The
minandmaxfields insidelimitstructure now accept an inline value or a namespaced ID of aminecraft:context_int_providertype limitfield no longer accepts a single number
Changed MINECRAFT:SET_DAMAGE
#
- The
damagefield now accepts an inline value or a namespaced ID of aminecraft:context_float_providertype
Changed MINECRAFT:SET_OMINOUS_BOTTLE_AMPLIFIER
#
- The
amplifierfield now accepts an inline value or a namespaced ID of aminecraft:context_int_providertype
Changed MINECRAFT:SET_RANDOM_DYES
#
- The
number_of_dyesfield now accepts an inline value or a namespaced ID of aminecraft:context_int_providertype
Changed MINECRAFT:SET_STEW_EFFECT
#
- The
durationfield inelementsof effects list now accepts an inline value or a namespaced ID of aminecraft:context_int_providertype
Predicates #
Changed MINECRAFT:RANDOM_CHANCE
#
- The
chancefield now accepts an inline value or a namespaced ID of aminecraft:context_float_providertype
Removed MINECRAFT:VALUE_CHECK
#
- This condition has been split into integer and float variants
Added MINECRAFT:INT_VALUE_CHECK
#
- Checks value against some range
Fields:
value- an inline value or a namespaced ID of aminecraft:context_int_providertypetest- one of:- an inline value (including a single integer) or a namespaced ID of a
minecraft:context_int_providertype- Will test if result of
valueis equal to providedtestvalue
- Will test if result of
- an object with fields:
min- an optional inline value (including a single integer) or a namespaced ID of aminecraft:context_int_providertypemax- an optional inline value (including a single integer) or a namespaced ID of aminecraft:context_int_providertype- Will test if result of
valueis betweenminandmax(inclusive)
- an inline value (including a single integer) or a namespaced ID of a
Added MINECRAFT:FLOAT_VALUE_CHECK
#
- Checks value against some range
Fields:
value- an inline value or a namespaced ID of aminecraft:context_float_providertypetest- one of:- an inline value (including a single float) or a namespaced ID of a
minecraft:context_float_providertype- Will test if result of
valueis equal to providedtestvalue
- Will test if result of
- an object with fields:
min- an optional inline value (including a single float) or a namespaced ID of aminecraft:context_float_providertypemax- an optional inline value (including a single float) or a namespaced ID of aminecraft:context_float_providertype- Will test if result of
valueis betweenminandmax(inclusive)
- an inline value (including a single float) or a namespaced ID of a
Changed MINECRAFT:TIME_CHECK
#
- The
minandmaxfields insidevaluestructure now accept an inline value or a namespaced ID of aminecraft:context_int_providertype valuefield itself now accepts an inline value or a namespaced ID of aminecraft:context_int_providertype (previously only integers were allowed)
Changed MINECRAFT:ENTITY_SCORES
#
- The
minandmaxfields insidevaluesof scores map now accept an inline value or a namespaced ID of aminecraft:context_int_providertype scoresfield itself now accepts an inline value or a namespaced ID of aminecraft:context_int_providertype (previously only integers were allowed)
Recipes #
Cooking Recipes #
-
The
cookingtimefield of all cooking recipes is no longer optional -
Custom Smoker and Blast Furnace recipes should be updated accordingly, by setting
cookingtimeto twice the previous value -
If a custom cooking recipe was previously relying on the default
cookingtimevalue, 200 can be used to maintain the same timing
World Generation #
Block State Providers #
Block State Providers can now be defined as standalone types in a registry - worldgen/block_state_provider - and referenced by using a namespaced string for a field that expects a Block State Provider.
An inline Block State definition is now an accepted shorthand form for a minecraft:simple block state provider providing that state. The Block State has to be in the form of an object with fields, a shorthand Block ID is not allowed.
Renamed Provider Types #
The following providers types have been renamed:
minecraft:dual_noise_providerrenamed tominecraft:dual_noiseminecraft:noise_providerrenamed tominecraft:noiseminecraft:noise_threshold_providerrenamed tominecraft:noise_thresholdminecraft:randomized_int_state_providerrenamed tominecraft:randomized_intminecraft:rule_based_state_providerrenamed tominecraft:rule_basedminecraft:simple_state_providerrenamed tominecraft:simpleminecraft:weighted_state_providerrenamed tominecraft:weightedminecraft:random_block_providerrenamed tominecraft:random_blockminecraft:rotated_block_providerrenamed tominecraft:rotated
Changed MINECRAFT:RULE_BASED
#
- If a rule yields no result, the following rules will be evaluated
- If no rule or
fallbackyields a result, will now also yield no result
Villager Trades #
- The
max_usesandxpfields now require an inline value of aminecraft:context_int_providertype - The
countfield inwantsandadditional_wantsstructures now require an inline value of aminecraft:context_int_providertype - The
reputation_discountfield now requires an inline value of aminecraft:context_float_providertype
Tags #
Item Tags #
- Added
#furnace_fuel_bottom_takeable- Items that can be taken out of furnace by a hopper attached to the bottom face
Resource Pack Version 97.1 #
Order-independent Transparency (OIT)-related Shader Changes #
core/blit_depth.fshadded as a way to copy contents of depth textures as an alternative to the rendering backend-based copying methods that do not work on some devices
Fixed bugs in 26.3 Pre-Release 1 #
- MC-154881 - Dropping an item from your hotbar at the same time as switching to another hotbar slot desyncs the second item
- MC-254370 - The
entity_scorespredicate type cannot check all possible scores - MC-270970 - The player’s camera shakes when attempting to step up blocks with a boat above them
- MC-277906 - Ender pearls land incorrectly at high speeds
- MC-309768 - Persistent targets in
post_effectsare not cleared when removing the effect with/posteffect - MC-309855 - The entity texture of black cushions has one extra color compared to all other cushions
- MC-309870 - Drowned holding spears can use both the jab and charge attacks at the same time
- MC-310289 - Entity collisions fully above an entity’s hitbox are ignored when stepping up blocks
- MC-310331 - The game crashes on Wayland with the OpenGL rendering backend
- MC-310332 - The mouse cursor’s position isn’t updated after closing a singleplayer world and entering the title screen
- MC-310522 - Pressing Right Shift in textboxes toggles fullscreen under specific conditions
- MC-310646 - The textures of shelf mushrooms contain several unused pixels
- MC-310710 - A few maps’ item textures have inconsistent details compared to the others
- MC-310712 - Using a Nether portal in Spectator mode while spectating an entity now causes the player to stop spectating when the other side is not generated
- MC-310830 - The scissor bounds check ignores the render area’s Y offset
- MC-310957 - The player is unable to perform a sweep attack for a brief moment after blocking an attack with their shield
- MC-310990 - The “Join Realm” button can extend out of the screen
- MC-311037 - The same “Join Realm” string is used for two buttons with different meanings
- MC-311129 - Dappled forests use the
music.overworld.flower_forestsound event instead ofmusic.overworld.forest - MC-311183 - Fuel in blast furnaces and smokers smelts double the items
- MC-311222 - NBT to SNBT data generators crash when attempting to convert old NBT files
- MC-311236 - The
block_transformercomponent ignores theuse_cooldowncomponent - MC-311274 - The default value of the
cookingtimefield for blasting and smoking recipes is still 100 - MC-311297 - Keyboard input is picked up by input methods even when no text input box is selected
- MC-311298 - On certain locales, pressing Right Shift while the “Toggle Cinematic Camera” key bind is unbound will toggle it
- MC-311364 - Category headers in some screens still can’t be selected
- MC-311369 - The World Options screen is not centered
- MC-311372 - Endermen can now teleport onto waterlogged blocks
- MC-311384 - Empty buried treasure maps from previous updates are called “filled_map.buried_treasure”
- MC-311390 - The swimming animation of drowned is incorrect
- MC-311391 - Leaving the Enter Join Code screen always brings you to the main Realms screen
- MC-311399 - Enabling commands in the World Options screen and clicking “Edit Game Rules” shows an infinite loading screen
- MC-311400 - Arrows now bounce off endermen even when they teleport
- MC-311414 - Players can teleport arbitrary distances by using a desynced carrot on a stick on a pig
- MC-311423 - Moving then opening the inventory does not allow input from IME, and switching the input method immediately inserts previous inputs
- MC-311428 - Number providers lose precision when reading the initial values in integer mode
- MC-311431 - Abandoned camps located on biome edges can generate explorer maps leading to themselves
- MC-311472 - Turning off commands on the World Options screen doesn’t properly reset the personal game mode
- MC-311478 - Copper veins generate ores with stone variants on the deepslate layer
- MC-311486 - Veins of deepslate iron ore and tuff now generate above y=0
- MC-311546 - Locking the difficulty of a world doesn’t immediately disable the difficulty button