Wednesday, November 6, 2024 at 2:59 PM
Minecraft Snapshot 24w45a
With the spooky season behind us, we are entering November with the release of Snapshot 24w45a. This update comes with a bunch of bug fixes, changes to how mobs interact with equipable items on the ground, improvements to item models by adding more functionality and much more. It's a hefty update for resource packs! Enjoy!
Changes#
- Baby Cats and Wolves now get a collar with the color that is a mix between the parents collar color if possible
- Aligned durations of the Suspicious Stew effects with Bedrock Edition:
- Saturation: 0.35 seconds (unchanged)
- Night Vision: 5 seconds (unchanged)
- Fire Resistance: 3 seconds
- Blindness: 11 seconds
- Weakness: 7 seconds
- Regeneration: 7 seconds
- Jump Boost: 5 seconds
- Wither: 7 seconds
- Poison: 11 seconds
Developer's Note: Yay! They are all now prime numbers! (not really)
Mobs picking up items#
Some changes have been made to how mobs decide to replace their equipped items with items on the ground
- If the item belongs in an armor slot, replace the item if any of the following conditions apply
- The new item has a higher base armor value
- The new item has a higher base armor toughness value
- The new item has more enchantments
- The new item is less damaged
- The new item has a custom name while the old one doesn't
- If the item belongs in the main hand slot, replace the item if any of the following conditions apply
- The new item is a preferred weapon while the old one isn't
- If the old item is a preferred weapon while the new item isn't, do not replace the item
- The new item has a higher base damage value
- The new item has more enchantments
- The new item is less damaged
- The new item has a custom name while the old one doesn't
Preferred weapons#
The following mobs now have a preferred weapon type to pick up:
- Skeleton variants all prefer Bows
- Piglins and Pillagers prefer Crossbows
- Drowned prefer Tridents
Eyeblossoms#
- Bees don't interact at all with Closed Eyeblossoms
- Bees don't get poisoned when they touch Closed Eyeblossoms
- Bees will not be tempted by Closed Eyeblossoms
Creaking mob#
- An activated Creaking will not move if a survival or adventure player is looking at it
- Creaking will also have full knockback resistance in that state
Resin Brick#
- Resin Brick is now used as the material for armor trimming instead of Resin Clump
Technical Changes#
- The Data Pack Version is now 59
- The Resource Pack version is now 44
- Data generator in server jar (
net.minecraft.data.Main
) no longer generates assets
directory--client
option has been removed from command line for this entry point
- New entry point
net.minecraft.client.data.Main
is present in client jar, with similar command line structure as data generator in server jar- Available options:
--client
- generates assets
directory
Network Protocol#
- Client will now send the
minecraft:player_loaded
packet once the loading terrain screen has closed after initially loading into the world, and after closing the loading screen when respawning
Data Pack Version 59#
- The tooltip warning on item blocks with the
minecraft:block_entity_data
component can no longer be hidden by any other component - Field
model
in minecraft:equippable
component has been renamed to asset_id
- Field
item_model_index
in trim_material
registry has been removed (no longer needed for model rendering) - Component
minecraft:custom_model_data
has been expanded, together with minecraft:set_custom_model_data
modifier
- Added
#bee_attractive
- denotes all blocks that Bees may pollinate - Removed
#tall_flowers
- Removed
#flowers
and #tall_flowers
- Added
skeleton_preferred_weapon
, piglin_preferred_weapon
, pillager_preferred_weapon
and drowned_preferred_weapon
tags for specifying preferred weapons types for these mobs when picking up items
Components#
minecraft:custom_model_data
#
- Component has now more fields to accomodate new uses by various model property getters
- Fields:
floats
- list of floatsflags
- list of booleansstrings
- list of stringscolors
- list of RGB color values
Item Modifiers#
minecraft:set_custom_model_data
#
- Component has now more fields to accomodate more complex component structure
- Fields:
floats
- optional list operation of number providersflags
- optional list operation of boolean valuesstrings
- optional list operation of string valuescolors
- optional list operation of RGB values or number providers
- List operation uses same format as
explosions
field in set_fireworks
modifier - For example
{function:"set_custom_model_data",floats:{values:[2],mode:replace_all}}
sets replaces floats
with value 2
Resource Pack Version 44#
- Invalid
minecaft:filled_map
items in an Item Frame (map item without the map_id
component) no longer change the size of the frame - New format for data-driving item models
Renames#
equipment
directory has been moved one level up, i.e. models/equipment/
becomes equipment/
broken_elytra
model and texture has been renamed to elytra_broken
Item models#
- New format has been introduced for describing item models
- Item models are selected based on
minecraft:item_model
component- Model for item with
item_model=foo:bar
is stored in /assets/foo/items/bar.json
- Format of file is
{ "model": {"type": <item model type>, <item model type specific fields> } }
(see below for exact types) overrides
section has been removed from existing block models- There are no longer any hardcoded paths in
models
directory - models will be now only used if referenced by definitions in items
or blockstates
directories - Models in
models/item
that only redirect to a block model have been removed- In such cases, the item model will refer to the
models/block
model directly
minecraft:model
item model type#
- Renders a plain model from
models
directory - Fields:
model
: namespaced ID of model in models
(like minecraft:block/yellow_glazed_terracotta
)tints
: a list of tint sources to apply to elements of rendered model (first entry applies to tintindex
0, second one - 1, etc.)- Format:
type
: type of tint source (see below)<type-specific>
- additional fields depending on tint source type
minecraft:constant
tint source type#
- Returns a constant RGB color
- Fields:
value
- A packed integer RGB value (e.g. -1
) or an array of RGB values (e.g. [ 1, 1, 1 ]
)
minecraft:dye
tint source type#
- Returns value from
minecraft:dyed_color
component or default if not present - Fields:
minecraft:grass
tint source type#
- Returns grass color at specific climate parameters, based on
textures/colormap/grass.png
- Same colors as ones selected by
downfall
and temperature
in biome configuration - Fields:
temperature
- float in 0..1
(inclusive) rangedownfall
- float in 0..1
(inclusive) range
minecraft:firework
tint source type#
- Returns average of colors from
minecraft:firework_explosion
component or default color if there are none - Fields:
minecraft:potion
tint source type#
- Returns color from
minecraft:potion_contents
component:- if component is present:
- custom color, if there is one present in component
- default color, if effect list is empty
- average of effect colors, otherwise
- default color, otherwise
- Fields:
minecraft:map_color
tint source type#
- Return value from
minecraft:map_color
component or default color if component is not present - Fields:
minecraft:custom_model_data
tint source type#
- Returns value from
colors
list in minecraft:custom_model_data
component - Fields:
index
- index for field in colors
, default: 0
minecraft:special
item model type#
- Renders a special (not data-driven) model
- Fields:
model
: special model instance- Format:
type
- type of special model (see below)<type-specific>
- additional fields depending on tint source type
base
: namespaced ID of model in models
, providing transformations, particle texture and GUI light
minecraft:bed
special model type#
- Renders a whole bed
- Fields:
texture
- namespaced ID for texture, without textures/entity/bed/
prefix and .png
suffix
minecraft:banner
special model type#
- Renders a banner with patterns from
minecraft:banner_patterns
component - Fields:
color
- color of banner base, one of 16 predefined colors
minecraft:conduit
special model type#
minecraft:chest
special model type#
- Renders a single chest
- Fields:
texture
- namespaced ID for texture, without textures/entity/chest/
prefix and .png
suffixopenness
- float, 0.0
(default) - fully closed, 1.0
- fully open
minecraft:head
special model type#
- Renders a head
- Uses profile from
minecraft:profile
component when applicable - Fields:
kind
- one of skeleton
, wither_skeleton
, player
, zombie
, creeper
, piglin
, dragon
minecraft:shulker_box
special model type#
- Renders a shulker box
- Fields:
texture
- namespaced ID for texture, without textures/entity/shulker/
prefix and .png
suffixopenness
- float, 0.0
(default) - fully closed, 1.0
- fully openorientation
- orientation for rendering, default: up
minecraft:shield
special model type#
- Renders a shield
- Uses patterns from
minecraft:banner_patterns
component and color from minecraft:base_color
component - No fields
minecraft:trident
special model type#
- Renders a trident
- No fields
minecraft:decorated_pot
special model type#
- Renders a decorated pot
- Uses values from
minecraft:pot_decorations
component - No fields
minecraft:composite
item model type#
- Renders multiple sub-models
- All models are rendered in the same space
- Fields:
models
: a list of item models to render
minecraft:condition
item model type#
- Renders an item model depending on boolean property
- Fields:
property
: type of property (see below)<property-specific>
- additional fields depending on property type, added inlineon_true
- item model to render when property is trueon_false
- item model to render when property is false
minecraft:using_item
boolean property#
- Returns true if player is currently using this item
- No fields
minecraft:broken
boolean property#
- Returns true if the item is damageable and has only one use remaining before breaking
- No fields
minecraft:damaged
boolean property#
- Returns true if the item is damageable and has been used at least once
- No fields
minecraft:has_component
boolean property#
- Returns true if the given component is present on the item
- Fields:
component
- component type
minecraft:fishing_rod/cast
boolean property#
- Returns true if there is a fishing bobber attached to currently used fishing rod
- No fields
minecraft:bundle/has_selected_item
boolean property#
- Returns true if bundle is "open", i.e. it has selected item visible in GUI
- No fields
minecraft:xmas
boolean property#
- Returns true if current date is between December 24th and December 26th (inclusive)
- No fields
minecraft:selected
boolean property#
- Returns true if item is selected on a hotbar
- No fields
minecraft:carried
boolean property#
- Returns true if item is carried between slots in GUI
- No fields
minecraft:shift_down
boolean property#
- Returns true if player currently holding shift key down
- No fields
minecraft:custom_model_data
boolean property#
- Returns value from
flags
list in minecraft:custom_model_data
component - Fields:
index
- index for field in flags
, default: 0
minecraft:select
item model type#
- Renders an item model based on discrete property
- Fields:
property
: type of property (see below)<property-specific>
- additional fields depending on property type, added inlinecases
- list of cases to match in format:when
- value to match against property, type depends on property- could be a single value or a list of values
model
- item model to render when case is selected
fallback
- item model to render if none of the cases matched the value- if not present, placeholder "missing" model will be rendered instead
minecraft:main_hand
property#
- Returns main hand of holding player
- No fields
- Values:
left
, right
minecraft:charge_type
property#
- Returns charge type stored in
minecraft:charged_projectiles
component - No fields
- Values:
none
- if there are no projectiles or component is not presentrocket
- if there is at least one firework rocketarrow
- any other case
minecraft:trim_material
property#
- Returns value of
material
field from minecraft:trim
component, if present - No fields
- Values: namespaced ID
minecraft:block_state
property#
- Returns value for some property from
minecraft:block_state
component - Fields:
block_state_property
- string key to select from component
- Values: any string
minecraft:display_context
property#
- Returns context this item is rendered in
- No fields
- Values:
none
thirdperson_lefthand
thirdperson_righthand
firstperson_lefthand
firstperson_righthand
head
gui
ground
fixed
minecraft:custom_model_data
property#
- Returns value from
strings
list in minecraft:custom_model_data
component - Fields:
index
- index for field in strings
, default: 0
- Values: any string
minecraft:range_dispatch
item model type#
- Renders an item model based on numeric property
- Replacement for old
overrides
section from block models - Will select last entry with threshold less or equal to property value
- Fields:
property
: type of property (see below)<property-specific>
- additional fields depending on property typescale
- factor to multiply property value with, default: 1.0
entries
- list of entries in format:threshold
- float valuemodel
- item model to render when entry is selected- Note: order of fields does not matter, list will be sorted by threshold in ascending order before use
fallback
- item model to render if no entries were less or equal to property value- if not present, placeholder "missing" model will be rendered instead
minecraft:custom_model_data
numeric property#
- Returns value from
floats
list in minecraft:custom_model_data
component - Fields:
index
- index for field in floats
, default: 0
minecraft:bundle/fullness
numeric property#
- Returns weight of
bundle_contents
component or 0 if not present - No fields
minecraft:damage
numeric property#
- Returns value for
damage
component - Fields:
normalize
: boolean, default: true
- if true, returns value of damage divided by
max_damage
component, clamped to 0..1
- if false, returns value of damage, clamped to
0..max_damage
minecraft:count
numeric property#
- Returns stack size
- Fields:
normalize
: boolean, default: true
- if true, returns count divided by
max_stack_size
component, clamped to 0..1
- if false, returns count clamped to
0..max_stack_size
minecraft:cooldown
numeric property#
- Returns remaining cooldown for item, scaled to
0..1
- No fields
minecraft:time
numeric property#
- Returns value of day time (used for clock), scaled to
0..1
- Fields:
wobble
- if true, value will oscillate for some time around target before settling, default: true
natural_only
- if true, value will be random in dimensions with natural=false
, default: true
minecraft:compass
numeric property#
- Returns angle, scaled to
0..1
in x-z plane between holder position and target - If target is not valid (not present, in other dimension or to close to holder position) random value will be returned
- Fields:
target
- one of:spawn
- points at world spawnlodestone
- points at location stored in lodestone_tracker
componentrecovery
- points at last player death location
wobble
- if true, value will oscillate for some time around target before settling, default: true
crossbow/pull
numeric property#
- Returns crossbow-specific use time
- No fields
use_duration
numeric property#
- Returns item use ticks
- Fields:
remaining
- if true
, returned value will be remaining use ticks, if false
- ticks so far, default: false
use_cycle
numeric property#
- Returns remaining use ticks modulo
period
- Fields:
period
- positive float, default 1.0
minecraft:bundle/selected_item
item model type#
- Renders selected stack in
minecraft:bundle_contents
component, if present, otherwise does nothing
Fixed bugs in 24w45a#
- MC-212 Fall damage is ignored for a couple of seconds when reloading into LAN or singleplayer worlds
- MC-99848 Sprinting isn't canceled upon receiving the blindness effect
- MC-158872 Models use model of last matched predicate, not closest match
- MC-159508 Ctrl + Pick block on beehives and nests does not copy their honey levels
- MC-166072 Custom Trident model ignores "layer0" and "elements" section
- MC-186341 Command autocomplete doesn't consider parts after a slash
- MC-193176 Most mobs with CanPickUpLoot prefer swords over axes and will downgrade their weapon
- MC-193336 Heads/skulls don't render when held by an enderman or as block display entities
- MC-201940 After dying, Ender Dragon body part hitboxes do not move upwards with the main hitbox
- MC-206684 Spyglass particles have no associated texture
- MC-229142 Spyglass texture doesn't allow override through resource pack
- MC-249079 Sculk veins are not mirrored correctly from behind
- MC-260216 Decorated pots aren't rendered when held by endermen or as block display entities
- MC-267343 Sprinting isn't canceled upon riding entities
- MC-269616 Telemetry Data scroll bar does not have a background
- MC-270136 Thrown projectiles with custom_model_data do not maintain proper particles when breaking
- MC-271786 Empty block states in noise_provider does not cause validation to fail, causing crash
- MC-272994 Allays assigned to a player can be set on fire with sweeping and fire aspect
- MC-273450 Mobs with CanPickUpLoot:1b behave inconsistently with the mace / trident
- MC-273522 Mobs with CanPickUpLoot no longer pick up enchanted items after picking up an unenchanted item
- MC-273635 Trial spawners forget their designated mob when placed by player out of creative mode, assigned by spawn eggs
- MC-274268 Trial Spawner keeps flashing after cooldown ends
- MC-275011 Instant mine does not work when standing inside of cobwebs
- MC-275215 Experiments warning goes off the screen if viewed at low window size
- MC-276110 honey_level model predicate range is 1 for level 5 and 0 for levels 1-4
- MC-276115 New Bee Nest and Beehive item models don't use the block parent
- MC-276412 Custom item models set to a shield and various other items all create invisible items
- MC-276654 item_model item component breaks on trident
- MC-276728 Tridents and spyglasses appear dark in the inventory if given a custom item model for a block
- MC-276730 Bundles appear dark in the inventory if given a custom item model for a block and then scrolled through
- MC-276731 Items which use entity models will not render another entity model if specified via item model component
- MC-276732 Colors will carry over from item ID to target model
- MC-276771 Missing texture when a damageable item with one of several template models is destroyed
- MC-276828 Minecraft no longer prints an error to the game log when a model fails to define a texture
- MC-276847 Bundles given the model of a different bundle will not preserve their color when scrolled through
- MC-277082 Creakings take knockback from wind charges
- MC-277092 The eyes of creakings aren't visible when creakings have the invisibility effect
- MC-277149 Creakings are affected by knockback from mace smash attacks
- MC-277243 Creakings take knockback from Punch bows
- MC-277264 The Creaking can be knocked back by zoglins
- MC-277916 Containers are locked when upgrading a world from certain versions
- MC-277925 Resin Brick Stairs are not part of the #stairs block and item tags
- MC-277926 Resin Brick Slab is not part of the #slab block and item tags
- MC-277929 The game crashes when attempting to use the void preset
- MC-277930 Eyeblossom subtitles are inverted
- MC-277931 Incorrect display on the map of the flower Closed and Open Eyeblossom
- MC-277932 Resin Clump is not part of the #replaceable block tag
- MC-277933 Smithing Table doesn't show a Clump icon for ingredient slot
- MC-277939 Programmer Art's empty slot icons may not have been correctly updated for 24w44a
- MC-277941 resin_clump is not mirrored correctly from behind
- MC-277945 Incorrect verb form in "Elytra swooshes" subtitle
- MC-277948 Suspicious stew gives different durations of Blindness for Eyeblossom and Azure Bluet
- MC-277950 Open potted eyeblossom is shaded (flower_pot_cross_emissive)
- MC-277951 Eyeblossom is placed in an unexpected position in the Creative inventory
- MC-277952 Sprinting isn't canceled upon flying with elytra
- MC-277954 Creaking Heart underwater plays spawning sounds in a loop
- MC-277955 Using a loom crashes the game
- MC-277961 Experience orbs incorrectly bounce up
- MC-277964 Resin is not generated when a creaking is attacked by a wolf owned by a player
- MC-277966 Creaking does not generate resin from player-caused explosions
- MC-277967 The game crashes when certain explosions occur near a creaking in its death animation
- MC-277970 Hanging signs don't display chains when attached to the side of a block
- MC-277972 You can no longer swim when crouched under a slab
- MC-277983 Naturally-spawned creaking hearts drop experience when broken in Creative mode
- MC-277994 Picking a decorated pot or a shulker box always keeps its container data
- MC-278002 Sculk sensors are not activated upon resin clumps spawning from creaking hearts
- MC-278004 Hitting a creaking heart with a wind charge kills the creaking
- MC-278028 Using items underwater can force you to exit swimming mode
- MC-278071 "minecraft.used:minecraft.trident" doesn't increase when throwing a trident