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:
nonethirdperson_lefthandthirdperson_righthandfirstperson_lefthandfirstperson_righthandheadguigroundfixed
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.0entries - 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: truenatural_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