Technical Changes
- The Data Pack version is now 107.1
- The Resource Pack version is now 88.0
- Profiling the game with Tracy (launching with --tracy) now includes GPU timings
- Rendering now uses a reversed depth buffer, which helps with Z-fighting on most hardware
- The fps F3 screen entry will now report which type of present mode is used (e.g. mailbox or fifo relaxed), as opposed to just vsync
- The particle_render_stats now includes the counts of different particle groups (SQ for single quads, NR for no render, EG for elder guardians and IP for item pickup), as well as the total
- A player's score will no longer be displayed in the player tab overlay if the player doesn't have the objective
- Updates to telemetry
Server Properties
- Added chat-spam-threshold-seconds and command-spam-threshold-seconds properties, separating the spam thresholds for chat vs commands
- Both thresholds are set to 10 by default, which was the existing threshold for combined command+chat spam
- These thresholds configure the mechanism that automatically kicks players for sending too many chat messages or commands
- The value describes how many seconds worth of spamming a player must do to get kicked, where each message a player sends increases the counter by 1 second
- The counter is decremented once per tick (equivalent to 1/20th of a second), and a player is kicked if their counter reaches the configured threshold
- Either threshold can be set to 0 to disable kicks for the associated type of spam
- Examples of message rates that would cause a kick, given the default threshold of 10:
- Sending 11 messages in 1 second
- Sending 14 messages in 2 seconds
- Sending 21 messages in 10 seconds
Minecraft Server Management Protocol 3.0.0
- The management server now starts before the Minecraft server starts
- Most notably, this means the heartbeat will be sent while the world is loading and potentially upgrading
- The rpc.discover and notification/server/status methods are now accessible before the dedicated server spins up
- The server will return an error when other methods are called during this time
Telemetry
New Property in World Events
- server_session_id a unique identifier for a multiplayer session, shared across all players in that session
- A "session" is defined as a continuous period where at least one player was in the server
- This property is required and not affected by the opt-in setting
New Required Events
- graphics_capabilities
- This is a new event that posts on startup, and informs us of the capabilities of the graphics device used to play the game
- Added new property: backend_name
- This will be Vulkan or OpenGL, and will help us understand which Graphics API players are using
- Added new property: backend_failure_reason
- This will be a list of short error codes, for example vulkan_device_version_too_low, which will help us identify any issues with our targeted Vulkan requirements
- Added new property: backend_failure_message
- This will be short and vague messages, such as Failed to find the GLFW platform surface extensions, which will help us narrow down issues if players are experiencing issues running with Vulkan
- Added new property: backend_failure_missing_capabilities
- This will be a list of missing capabilities from Vulkan, for example VULKAN_CORE_1_2, VK_KHR_dynamic_rendering, which will help us know which capabilities players would need in order to use Vulkan
Data Pack Version 107.1
Sulfur Cube Archetype Registry
Added data-driven minecraft:sulfur_cube_archetype registry. Elements are loaded from data/<namespace>/sulfur_cube_archetype/<path>.json.
Entry format: Object with fields:
- items - item tag that contains all items that can be fed to Sulfur Cubes of this archetype
- buoyant - boolean indicating if the Sulfur Cube of this archetype floats in liquids
- explosion - an optional field, if present, the Sulfur Cube of this archetype will explode:
- fuse - positive integer, the fuse time when ignited
- power - non-negative integer, the explosion power
- causes_fire - boolean, whether the explosion causes fire
- contact_damage - an optional field, if present, the Sulfur Cube of this archetype will deal damage to entities when they come in contact with it
- amount - non-negative float, amount of damage dealt
- damage_type - damage type
- attribute_to_source - boolean indicating if the damage is attributed to the Sulfur Cube
- attribute_modifiers - a list of objects with fields:
- attribute - entity attribute, the attribute to modify
- id - namespaced ID, unique identifier for the modifier
- amount - double, the amount to modify the attribute by
- operation - string, how to modify the attribute, one of add_value, add_multiplied_base, and add_multiplied_total
- knockback_modifiers - a field that contains various modifier fields for the Sulfur Cube's knockback magnitude and direction
- horizontal_power - float that represents the horizontal power of the knockback
- vertical_power - float that represents the vertical power of the knockback
- sound_settings - a field that contains various sound settings for the Sulfur Cube
- hit_sound - sound event that is played when the Sulfur Cube is hit while it has a block inside
- push_sound - sound event that is played when the Sulfur Cube is pushed while it has a block inside
- push_sound_impulse_threshold - float that specifies the smallest impulse required to trigger the push sound effect on the Sulfur Cube
- push_sound_cooldown - float that specifies the cooldown in seconds for the push sound effect
Commands
- When granting or revoking several advancements, the command output will now report how many advancements changed state across all players
- When granting or revoking advancements or a criterion on several players, the command output will now report the number of players that any change applied to
- Team color arguments (used in team modify [name] color and waypoint modify [name] color) now accept only lowercase names with underscores
- e.g. only dark_purple is accepted and not darkpurple or DarkPurple
- Values now match the color names in text components
- The execute on owner command will now consider Vexes as owned by their Evoker
Added unpublish
- Allows to unpublish the integrated server if there is one present
Attributes
Added minecraft:bounciness
- Determines what portion of the velocity is restituted after the entity collides with blocks and collidable entities
- When landing on bouncy blocks, like Beds and Slime Blocks, the higher bounciness (of the block or the entity) is applied
- Accepts values between 0.0 and 1.0
- Default value: 0.0 - no velocity is restituted
- Maximum value: 1.0 - full velocity is restituted, collisions with blocks and collidable entities will have no effect on lowering the velocity
Added minecraft:friction_modifier
- Determines how much ground friction is applied to the entity in regard to the block it is on
- Accepts values between 0.0 and 2048.0
- Default value: 1.0 - friction of blocks is not modified
- Minimum value: 0.0 - friction of blocks is reduced to zero
- Values higher than 1.0 increase the friction applied to the entity from the blocks it is on
Added minecraft:air_drag_modifier
- Determines how much drag is applied to an entity while in the air
- Accepts values between 0.0 and 2048.0
- Default value: 1.0 - the entity uses existing drag when moving in the air
- Minimum value: 0.0 - no drag is applied to the entity
- Values higher than 1.0 increase the drag applied to the entity when moving through the air
Added minecraft:name_tag_distance
- Controls how far away in blocks the name tag of an entity is visible
- The name cannot be visible if the entity is not visible
- Accepts values between 0.0 and 512.0
- Default value: 64.0
Added minecraft:below_name_distance
- Controls how far away in blocks the below_name scoreboard display is visible
- The display cannot be visible if the entity is not visible
- Accepts values between 0.0 and 512.0
- Default value: 10.0
Changes to minecraft:knockback_resistance
- The minimum value was changed from 0.0 to -2.0
Data Components
Added minecraft:sulfur_cube_content
- Represents the item that is absorbed by the Sulfur Cube
- Format: item that is absorbed by the Sulfur Cube
- e.g. minecraft:sulfur_cube_content=green_wool
Entity Data
- Removed the HurtByTimestamp tag from Living Entities, ticks_since_last_hurt_by_mob should be used instead
Block Entity Data
- The minecraft:bed block entity has been removed
Damage Types
- Added a new minecraft:sulfur_cube_hot damage type
Predicates
Entity Predicates
Entity predicate format has changed from a structure with multiple optional fields to one similar to data component maps.
For example: previously, effects was an optional field:
{
"effects": {...}
}
In this version it has become a component-like sub-predicate entry:
{
"minecraft:effects": {...}
}
The main functional changes are:
- All keys in entity predicates are now namespaced IDs
- Since namespaced IDs can be written without a namespace (defaulting to the minecraft namespace), existing field names are still valid
- Exception: the field type has been renamed to minecraft:entity_type
- Unrecognized sub-predicate components are now rejected (previously, unknown fields were ignored)
Existing type-specific sub-predicates have been renamed and moved to top-level.
- minecraft:lightning to minecraft:type_specific/lightning
- minecraft:fishing_hook to minecraft:type_specific/fishing_hook
- minecraft:player to minecraft:type_specific/player
- minecraft:raider to minecraft:type_specific/raider
- minecraft:sheep to minecraft:type_specific/sheep
- minecraft:slime to minecraft:type_specific/cube_mob as it now includes Sulfur Cubes in addition to Slimes and Magma Cubes
For example:
{
"type_specific": {
"type": "minecraft:player",
"looking_at": {
"type": "minecraft:ender_dragon"
}
}
}
becomes
{
"minecraft:type_specific/player": {
"looking_at": {
"minecraft:type": "minecraft:ender_dragon"
}
}
}
Added minecraft:entity_tags entity sub-predicate
This predicate matches entity tags (i.e. ones set with the /tag command).
Fields:
- any_of - optional list of strings, if present the matched entity must have at least one of the listed tags
- all_of - optional list of strings, if present the matched entity must have all the listed tags
- none_of - optional list of strings, if present the matched entity must have none of the listed tags
World Generation
- Added matching_biomes world generation-type block predicate type which checks if the block position matches one of the specified biomes
- Format: object with fields:
- biomes - biome ID, list of biome IDs, or hash-prefixed biome tag: the biomes to match
- tree feature configuration's below_trunk_provider block state provider no longer has a default value
Surface Rules
Changes to noise_threshold Condition
- Added new is_3d field - boolean, true if the noise should be evaluated in 3D
- If not specified, defaults to false
Dimension Types
- The field infiniburn now also accepts an ID and a list of IDs in addition to a tag
Configured Features
Added minecraft:sequence Feature Type
Generates a list of Placed Features in order. If any feature in the list is not placed, the following features will also be skipped.
Format: object with fields:
- features - list of Placed Features or hash-prefixed Placed Feature tag, the features to generate
Added minecraft:template Feature Type
Places one template randomly chosen from the given weighted list of namespaced IDs. By default, the template will be spawned randomly rotated, centered around the origin.
Format: object with fields:
- templates - weighted list of structure template entries. Each structure template entry is composed of a namespaced ID and a list of rotations to randomly choose from
- id - The template's namespaced ID
- rotations - Optional list of rotations to choose from and apply to this template if it is picked
- Allowed values: none, clockwise_90, 180, counterclockwise_90
- If not specified, defaults to all allowed values
Added minecraft:weighted_random_selector Feature Type
Randomly selects one of the given features to generate based on their weights.
Format: object with fields:
- features - list of Placed Features and their weights
Changes to minecraft:pointed_dripstone
- Renamed Feature Type pointed_dripstone to speleothem
- Added field base_block - block state, describes the block forming the base of the speleothem
- Added field pointed_block - block state, describes the block creating the columns of the speleothem
- Added field replaceable_blocks - block ID, list of block IDs, or hash-prefixed block tag describing which blocks this feature can generate on
- Renamed field chance_of_taller_dripstone to chance_of_taller_generation
Changes to minecraft:dripstone_cluster
- Renamed Feature Type dripstone_cluster to speleothem_cluster
- Added field base_block - block state, describes the block forming the base of the speleothem
- Added field pointed_block - block state, describes the block creating the columns of the speleothem
- Added field replaceable_blocks - block ID, list of block IDs, or hash-prefixed block tag describing which blocks this feature can generate on
- Renamed field dripstone_block_layer_thickness to speleothem_block_layer_thickness
- Renamed field chance_of_dripstone_column_at_max_distance_from_center to chance_of_speleothem_at_max_distance_from_center
- Renamed field max_distance_from_edge_affecting_chance_of_dripstone_column to max_distance_from_edge_affecting_chance_of_speleothem
Changes to minecraft:large_dripstone
- Added field replaceable_blocks - block ID, list of block IDs, or hash-prefixed block tag describing which blocks this feature can generate on
- The maximum allowed value for column_radius has been reduced from 19 to 16 to prevent features from reaching beyond neighboring chunks
- Wind offset is now clamped to ensure the full dripstone (radius + wind) stays within neighboring chunk bounds
Changes to minecraft:lake
- Added field can_place_feature - block predicate, describes which blocks this feature can be placed on
- Added field can_replace_with_air_or_fluid - block predicate, describes which blocks this feature can replace with air or the provided fluid block
- Added field can_replace_with_barrier - block predicate, describes which blocks this feature can replace with the provided barrier block
Changes to minecraft:geode
- The fields cannot_replace and invalid_blocks in the blocks section of the feature configuration now also accept an ID and a list of IDs in addition to a tag
Changes to minecraft:root_system
- The field root_replaceable in the feature configuration now also accepts an ID or a list of IDs in addition to a tag
- New field level_test_distance indicating how far away from the origin the root system will check the existing terrain
- New field max_level_deviation indicating how far the ground level can deviate from the original ground level at these test positions
Changes to minecraft:vegetation_patch
- The field replaceable in the feature configuration now also accepts an ID and a list of IDs in addition to a tag
Changes to minecraft:waterlogged_vegetation_patch
- The field replaceable in the feature configuration now also accepts an ID and a list of IDs in addition to a tag
Changes to minecraft:multiface_growth
- Field block is now mandatory (defaulted to minecraft:grow_lichen)
Structure Processors
Changes to minecraft:block_rot
- Now evaluates the block state produced by previous block processors in the chain, instead of always using the original block defined in the structure
- The first processor in the chain still always evaluates against the original structure-defined block
minecraft:protected_blocks
- The field value now also accepts an ID or a list of IDs in addition to a tag
Density Functions
Added minecraft:interval_select
Selects between a number of Density Functions based on an input Density Function and a set of threshold values.
Format: object with fields:
- input - Density Function, the value to be compared with any given thresholds
- thresholds - non-empty list of floats, the threshold values to compare input with
- If input < thresholds[i], the result of functions[i] will be selected
- If the input is greater than the last threshold value, the last function will be selected
- Must be one fewer element in thresholds than in functions
- functions - list of at least 2 Density Functions, the resulting functions to be selected from
- Must be one more element in functions than in thresholds
Removed minecraft:weird_scaled_sampler
- This Density Function has been removed, with its functionality replaced by interval_select
- When rarity_value_mapper was type_1, equivalent to:
- interval_select with thresholds -0.75, -0.5, 0.5, 0.75
- Selected functions follow: abs(rarity * noise(x/rarity, y/rarity, z/rarity))
- Corresponding rarity values: 0.5, 0.75, 1.0, 2.0, 3.0
- When rarity_value_mapper was type_2, equivalent to:
- interval_select with thresholds -0.5, 0.0, 0.5
- Selected functions follow: abs(rarity * noise(x/rarity, y/rarity, z/rarity))
- Corresponding rarity values: 0.75, 1.0, 1.5, 2.0
Tags
Block Tags
- Added #suppresses_bounce - all blocks that suppress the bounciness of entities when colliding with them
- Added #causes_periodic_geyser_eruptions - all blocks that cause periodic eruptions of Potent Sulfur blocks
- Added #causes_continuous_geyser_eruptions - all blocks that cause continuous eruptions of Potent Sulfur blocks
- Added #glazed_terracotta and #concrete collection tags
- Renamed #concrete_powder collection tag to #concrete_powders
- Added #shears_extreme_breaking_speed for blocks that can be broken with shears with speed 15
- Added #shears_major_breaking_speed for blocks that can be broken with shears with speed 5
- Added #shears_minor_breaking_speed for blocks that can be broken with shears with speed 2
- Added #speleothems for blocks which are speleothems like Pointed Dripstone and Sulfur Spike
- Added the following tags for blocks which some mobs are immune to. These have an effect on dismounting and valid surroundings of spawn placements for some mobs, but do not have an effect on pathfinding
- #fox_immune_to
- #polar_bear_immune_to
- #snow_golem_immune_to
- #stray_immune_to
- #wither_immune_to
- #wither_skeleton_immune_to
- #default_immune_to - this tag is intentionally left empty
Item Tags
- Added #glazed_terracotta, #concrete, and #concrete_powders collection tags
- Added #sulfur_cube_food - all items that can be fed to a small Sulfur Cube
- Added #sulfur_cube_swallowable - all items that can be placed inside a large Sulfur Cube
- Added the following tags for items that can be placed inside a Sulfur Cube to determine its archetype:
- #sulfur_cube_archetype/regular
- #sulfur_cube_archetype/bouncy
- #sulfur_cube_archetype/slow_flat
- #sulfur_cube_archetype/fast_flat
- #sulfur_cube_archetype/light
- #sulfur_cube_archetype/fast_sliding
- #sulfur_cube_archetype/slow_sliding
- #sulfur_cube_archetype/high_resistance
- #sulfur_cube_archetype/sticky
- #sulfur_cube_archetype/hot
- #sulfur_cube_archetype/slow_bouncy
Damage Type Tags
- Added minecraft:sulfur_cube_with_block_immune_to - all damage types that Sulfur Cubes are immune to when having a block absorbed
Entity Tags
- Added #not_affected_by_geysers - entities that are not affected by the upward impulse applied by geyser eruptions
Game Events
Added minecraft:bounce
- Emitted when an entity collides with a block or a collidable entity with non-zero bounciness
- Has a vibration frequency of 2
Particles
Added minecraft:sulfur_cube_goo
- This particle is showing on a Sulfur Cube mob when hopping around
- Has no fields
Added minecraft:geyser_base
- Spawns as a cloud on the base of an erupting Potent Sulfur block
- Format: object with fields:
- water_blocks - positive integer, scales the particle size and its burst impulse
- burst_impulse_base - float, scales the initial burst impulse
Added minecraft:geyser_poof
- Spawns as a cloud on the base of an erupting Potent Sulfur block
- Format: object with fields:
- water_blocks - positive integer, scales the particle size and its burst impulse
- burst_impulse_base - float, scales the initial burst impulse
Added minecraft:geyser_plume
- Spawns as an upwards stream above an erupting Potent Sulfur block
- Format: object with fields:
- water_blocks - positive integer, scales the particle size and its burst impulse
Added minecraft:geyser
- An emitter particle that spawns the geyser_base, geyser_poof, and geyser_plume particles above an erupting Potent Sulfur block
- Format: object with fields:
- water_blocks - positive integer, scales the particle size and its burst impulse
Game Test Environments
Added minecraft:difficulty
- Sets the difficulty of the game test environment
- Format: object with fields:
- difficulty - the difficulty ID to set, one of peaceful, easy, normal, hard
World Presets
- Added a new minecraft:flat_all_dimensions world preset
- This preset does not show up by default in the Create New World screen
この記事を共有する