Skip to content

Port to 1.21.5#87

Merged
ErrorCraft merged 12 commits into0.6.0-preview.1+1.21.5from
port/mc-1.21.5
Apr 12, 2026
Merged

Port to 1.21.5#87
ErrorCraft merged 12 commits into0.6.0-preview.1+1.21.5from
port/mc-1.21.5

Conversation

@ErrorCraft
Copy link
Copy Markdown
Owner

@ErrorCraft ErrorCraft commented Apr 8, 2026

Changes

  • Removed smithing templates.
    • This only provided the tooltip and textures, of which the former has been extracted from the behaviour entirely.

Items

  • Removed #minecraft:prevent_mining_in_creative
    • Its functionality is now part of minecraft:tool.

Item Behaviour Components

  • Removed minecraft:saddle.
    • This has been replaced entirely by minecraft:equipment.
  • Renamed minecraft:smithing_template to minecraft:smithing_template_provider.
    • Only references the type, which was previously present in smithing templates.

So if you had this:

{
  "minecraft:smithing_template": {
    "template": "minecraft:bolt_pattern"
  }
}

You now have to use this:

{
  "minecraft:smithing_template_provider": "minecraft:trim_pattern"
}
- Now only determines the textures used in a Smithing Table
- The tooltip is also no longer provided by the behaviour and must be placed in the item display instead.
  • Added minecraft:trim_material_provider.
    • Its value is an id pointing to a trim material.

Example:

{
  "minecraft:trim_material_provider": "minecraft:diamond"
}
  • Added minecraft:attack_blocking.
    • Blocks attacks when used.
    • The fields are the same as the minecraft:blocks_attacks data component.

Example:

{
  "minecraft:attack_blocking": {
    "block_delay_seconds": 0.25,
    "block_sound": "minecraft:item.shield.block",
    "bypassed_by": "#minecraft:bypasses_shield",
    "disabled_sound": "minecraft:item.shield.break",
    "item_damage": {
      "base": 1.0,
      "factor": 1.0,
      "threshold": 3.0
    }
  }
}
  • Modified minecraft:playable.
    Renamed instruments to default_instrument and now only accepts one instrument.
  • Modified minecraft:text_holder.
    • Now opens a book on use directly instead of needing an action.
  • Modified minecraft:weapon.
    • Renamed the damage_per_attack field to item_damage_per_attack.
    • Added the disable_blocking_for_seconds field.
      • Disables blocking when used on a target wielding an item that is attack blocking.
      • Its value is a non-negative float.
  • Removed minecraft:pointable.
    • Setting the item pointer location should now be replicated with actions instead.
  • Expanded minecraft:projectile.
    • Added an optional components field, which is a set of components to apply to the spawned entity.

Actions

  • Expanded minecraft:modify_item
    • Added the stack field, which is an item stack target to use a specific item stack from the context.
  • Removed minecraft:open_book_from_item.
    • Is now part of the minecraft:text_holder item behaviour component.
  • Modified minecraft:prime_tnt
    • Does not prime tnt when the tntExplodes game rule is disabled.
  • Removed minecraft:saddle_entity_at_position.
    • Replaced by equipment and minecraft:equip_entity_at_position should be used instead.
  • Expanded minecraft:set_item_pointer_location
    • Added the stack field, which is an item stack target to use a specific item stack from the context.

Item Modifiers

  • Added minecraft:split, which splits the passed item stack and
    • Fields:
      • count, which is a number provider to split the item stack into one with the provided new count.

Predicates

  • Added a minecraft:villager entity sub-predicate, which is a temporary solution that will be removed once a component predicate for a Villager's type has been added (alongside data-driven trades as those will be part of vanilla by then)
    • Fields:
      • variant, which is a Villager variant, list of Villager variants or hash-prefixed Villager variant tag and the Villager's variant must match in order to pass.

Example:

{
  "type": "minecraft:villager",
  "variant": [
    "minecraft:swamp",
    "minecraft:snow",
    "minecraft:plains"
  ]
}

Item Stack Targets

  • Targets an item stack from a specific context.

Parameters:

Parameter Context Parameter
"tool" minecraft:tool
"result" None, uses the result stack from action context instead.

Trades

  • Added an optional merchant_predicate field, which is a predicate that must pass in order for the trade to be considered of a merchant's trade set.

Fixes

  • The minecraft:charge_type property now works correctly again on item assets.

@ErrorCraft ErrorCraft merged commit ca2f8f2 into 0.6.0-preview.1+1.21.5 Apr 12, 2026
2 checks passed
@ErrorCraft ErrorCraft deleted the port/mc-1.21.5 branch April 12, 2026 16:27
ErrorCraft added a commit that referenced this pull request Apr 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant