Java Edition 24w45a

Minecraft Wiki article. Categories: Java_Edition_versions, Java_Edition_1.21.4_snapshots, Java_Edition_snapshots_released_in_2024, Java_Edition_snapshots, Pages_with_YouTube_videos, Java_Edition_1.21.4_development_versions

📌 Mirrored from Minecraft Wiki

This article is reproduced from Java Edition 24w45a on the Minecraft Wiki. Mirrored from revision 3712824. It is licensed CC BY-NC-SA 3.0 by the Minecraft Wiki contributors — not under the Codex’s CC BY-SA 4.0, and it may not be used commercially. Edits belong upstream, not here.

Minecraft 24w45a
24w45a.jpg: Infobox image for Minecraft version 'Minecraft 24w45a'
Java Edition 24w45a.png: Infobox image for Minecraft version 'Minecraft 24w45a'

24w45a is the second snapshot for Java Edition 1.21.4, released on November 6, 2024,[1] which revamps the item model system, changes various items and mobs, and fixes bugs and crashes from 24w44a.

Additions

General

Items model definitions

  • 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:
      • 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.
    • 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.
          • <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.
    • Renders a 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.
      • <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.
      • <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.
      • fallback - item model to render if none of the cases matched the value.
        • If not present, placeholder "missing" model is 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.
    • Selects last entry with threshold less or equal to property value.
    • Fields:
      • property: type of property.
      • <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 is 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 is 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 oscillates for some time around target before settling.
        • Default: true
      • natural_only - if true, value is 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 is 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 oscillates 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 is 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.

Tags

  • Added the #bee_attractive block tag.
    • Denotes all blocks that bees may pollinate.
  • Added #skeleton_preferred_weapon, #piglin_preferred_weapon, #pillager_preferred_weapon and #drowned_preferred_weapon item tags.
    • For specifying preferred weapons types for these mobs when picking up items.

Changes

Blocks

Creaking heart

  • A naturally spawned creaking heart no longer drops experience when broken in Creative mode.
  • Its hurt subtitle has been changed.

Sculk sensors

  • Are now activated from resin clumps being placed by a creaking heart, with a frequency of 13.

Items

Eyeblossoms

  • Are now found at the end of the flowers in the Creative inventory.

Resin brick

Suspicious stew

Mobs

General

  • The way mobs decide to replace their equipped items with items on the ground was changed.
    • 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.

Bees

  • Are no longer attracted to closed eyeblossoms.
  • Can no longer interact with closed eyeblossoms.

Baby cats and wolves

  • Now get a collar with the color that is a mix between the parents collar color if possible.

Creaking

  • An activated creaking doesn't move if a player in Survival or Adventure mode is looking at it.
    • Creakings also have full knockback resistance in that state.
  • Their eyes are now visible when they have the Invisibility effect.
  • Its activate, deactivate, death, spawn & sway subtitles have been changed.

Drowned

  • Prefer to pick tridents from the ground as opposed to other items.

Pillagers and piglins

  • Prefer to pick crossbows from the ground as opposed to other items.

Skeletons, wither skeletons, strays and bogged

  • Prefer to pick bows from the ground as opposed to other items.

Non-mob entities

Experience orb

  • Physics were changed. They are now bouncy when falling from a height.[4]

World generation

Woodland mansions

  • Loot chests can now contain resin clumps, not resin bricks.

Gameplay

Damage

  • Players no longer receive 3 seconds of damage immunity when spawning, respawning, or joining a world or server.

General

Client.jar

  • 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.

Data component format

  • minecraft:custom_model_data
    • Now has more fields to accommodate 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.

Data pack

  • The pack format version is now 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).

Item models

  • New format has been introduced for describing item models. See Items model definition.
  • 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>
      } 
    }
    
  • overrides section has been removed from existing block models.
  • There are no longer any hardcoded paths in models directory - models are 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 refers to the models/block model directly.

Item modifiers

  • minecraft:set_custom_model_data
    • Now has more fields to accommodate 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.

Missing textures and models

  • If a model which the game uses directly (as opposed to template models) fails to specify a texture to use for particles, an error is now printed to the game log[5].
  • If a model does not attempt to route a texture reference to an actual texture file, an error is logged once again[6].

Protocol

  • Client now sends 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.

Resource pack

  • The pack format version is now 44.
  • Invalid minecraft:filled_map items in an Item Frame (map item without the map_id component) no longer change the size of the frame.
  • The 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.

Server.jar

  • 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.

Tags

  • Removed the #tall_flowers block and item tags.
  • Removed the #flowers item tag.
  • Put the contents of the removed #tall_flowers block tag into the #flowers block tag.
  • Put the contents of the removed #flowers item tag, except closed_eyeblossom into the #bee_food item tag.
  • Added resin_clump to the #replaceable block tag.
  • Added resin_brick_slab, and resin_brick_stairs into the #slabs, and #stairs block and item tags respectively.
  • Removed the #small_flowers block tag from the #sword_efficient block tag.

Fixes

78 issues fixed

From released versions before 1.21

  • MC-212 – Fall damage is ignored for a couple of seconds when reloading into LAN or singleplayer worlds.
  • MC-21650 – Player is immune to damage for a few seconds after saving the world and returning.
  • 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 – ⎈ Control + Pick block on beehives and nests does not copy their honey levels.
  • MC-160051 – Players can prevent fire damage by reloading world/re-joining server.
  • 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-193313 – Mob item pick up behavior is not distinct resulting in mobs constantly dropping and picking up items.
  • 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-202250 – Sprinting particles appear when sprinting inside of boats in shallow water.
  • MC-206684 – Spyglass particles have no associated texture.
  • MC-229142 – Spyglass texture doesn't allow override through resource pack.
  • MC-236295 – The game does not report absent particle texture references in models to the output log.
  • 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-269749 – Report Player scroll bar does not have a background.
  • MC-270136 – Thrown projectiles with custom_model_data do not maintain proper particles when breaking.
  • MC-270529 – Air's model does not define a particle texture, causing issues.
  • MC-271786 – Empty block states in noise_provider does not cause validation to fail, causing crash.

From 1.21

  • MC-272994 – Allays assigned to a player can be set on fire with sweeping and fire aspect.
  • MC-273407 – Block entity items with custom block states keep them as components when placed.
  • 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.

From 1.21.1

  • MC-275338 – Sprint particles can be seen if you mount a minecart (with no rail below it) while running.

From 1.21.2

  • 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-276764 – Eggs with custom models use the particles from that model, but snowballs do not.
  • MC-276769 – Missing texture when throwing eggs with certain template models.
  • 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.

From 1.21.3

  • MC-277961 – Experience orbs incorrectly bounce up.
  • MC-278071 – "minecraft.used:minecraft.trident" doesn't increase when throwing a trident.

From the previous development version

  • 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-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-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.

Videos

Videos made by slicedlime:

References

  1. ↑ "Minecraft Snapshot 24w45a" – Minecraft.net, November 6, 2024.
  2. ↑ MC-278130 – Known Issue: Resin bricks cannot be placed or used inside smithing tables
  3. ↑ MC-278131 – Known Issue: Resin clumps can be placed inside smithing tables
  4. ↑ This was added alongside a fix for a bug which unintentionally made them bouncy several versions earlier. MC-277961
  5. ↑ MC-236295
  6. ↑ MC-276828

Sources