View changelog
Minecraft Snapshot 24w45a
A Minecraft Java SnapshotWith 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
- 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 generatesassets
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
- generatesassets
directory
- Available options:
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
inminecraft:equippable
component has been renamed toasset_id
- Field
item_model_index
intrim_material
registry has been removed (no longer needed for model rendering) - Component
minecraft:custom_model_data
has been expanded, together withminecraft: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
anddrowned_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 inset_fireworks
modifier - For example
{function:"set_custom_model_data",floats:{values:[2],mode:replace_all}}
sets replacesfloats
with value2
Resource Pack Version 44
- Invalid
minecaft:filled_map
items in an Item Frame (map item without themap_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/
becomesequipment/
broken_elytra
model and texture has been renamed toelytra_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
- Model for item with
- 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 initems
orblockstates
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
- In such cases, the item model will refer to the
minecraft:model
item model type
- Renders a plain model from
models
directory - Fields:
model
: namespaced ID of model inmodels
(likeminecraft:block/yellow_glazed_terracotta
)tints
: a list of tint sources to apply to elements of rendered model (first entry applies totintindex
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
andtemperature
in biome configuration - Fields:
temperature
- float in0..1
(inclusive) rangedownfall
- float in0..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 inminecraft:custom_model_data
component - Fields:
index
- index for field incolors
, 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 inmodels
, providing transformations, particle texture and GUI light
minecraft:bed
special model type
- Renders a whole bed
- Fields:
texture
- namespaced ID for texture, withouttextures/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, withouttextures/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 ofskeleton
,wither_skeleton
,player
,zombie
,creeper
,piglin
,dragon
minecraft:shulker_box
special model type
- Renders a shulker box
- Fields:
texture
- namespaced ID for texture, withouttextures/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 fromminecraft: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 inminecraft:custom_model_data
component - Fields:
index
- index for field inflags
, 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 fromminecraft: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 inminecraft:custom_model_data
component - Fields:
index
- index for field instrings
, 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 inminecraft:custom_model_data
component - Fields:
index
- index for field infloats
, 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 to0..1
- if false, returns value of damage, clamped to
0..max_damage
- if true, returns value of damage divided by
minecraft:count
numeric property
- Returns stack size
- Fields:
normalize
: boolean, default:true
- if true, returns count divided by
max_stack_size
component, clamped to0..1
- if false, returns count clamped to
0..max_stack_size
- if true, returns count divided by
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 withnatural=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 inlodestone_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
- iftrue
, returned value will be remaining use ticks, iffalse
- ticks so far, default:false
use_cycle
numeric property
- Returns remaining use ticks modulo
period
- Fields:
period
- positive float, default1.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