A new Minecraft snapshot has arrived! Snapshot 24w45a introduces a small change to how baby cats and wolves inherit their collar color from their parents. Mojang has also adjusted the way mobs pick up items from the ground; some mobs will now prefer certain items over others.
Minecraft snapshot 24w45a snapshot also includes changes to eyeblossoms, creaking, and resin brick. Here are the complete patch notes:
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
- The new item is a preferred weapon while the old one isn’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
Tags
Block Tags
- Added #bee_attractive – denotes all blocks that Bees may pollinate
- Removed #tall_flowers
Item Tags
- 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 floats
- flags – list of booleans
- strings – list of strings
- colors – 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 providers
- flags – optional list operation of boolean values
- strings – optional list operation of string values
- colors – 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
- Format:
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:
- default – RGB value
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) range
- downfall – 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:
- default: RGB value
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
- if component is present:
- Fields:
- default: RGB value
minecraft:map_color tint source type
- Return value from minecraft:map_color component or default color if component is not present
- Fields:
- default: RGB value
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
- Format:
- base: namespaced ID of model in models, providing transformations, particle texture and GUI light
- model: special model instance
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
- Renders conduit
- No fields
minecraft:chest special model type
- Renders a single chest
- Fields:
- texture – namespaced ID for texture, without textures/entity/chest/ prefix and .png suffix
- openness – 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 suffix
- openness – float, 0.0 (default) – fully closed, 1.0 – fully open
- orientation – 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 inline
- on_true – item model to render when property is true
- on_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 inline
- cases – 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
- when – value to match against property, type depends on property
- 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 present
- rocket – if there is at least one firework rocket
- arrow – 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 type
- scale – factor to multiply property value with, default: 1.0
- entries – list of entries in format:
- threshold – float value
- model – 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
- normalize: boolean, default: true
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
- normalize: boolean, default: true
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 spawn
- lodestone – points at location stored in lodestone_tracker component
- recovery – points at last player death location
- wobble – if true, value will oscillate for some time around target before settling, default: true
- target – one of:
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
Source: Minecraft.net