Download Pommel - Held Item Models — Minecraft Mods — MetaMods
Pommel - Held Item Models

Pommel - Held Item Models

Active

Downloads

4

Last update

4 weeks ago

Versions

1.20.1 — 1.21.1
Client
Fabric
Decor
Weapons and armor
Utils

Pommel - Held Item Models

Pommel is a Fabric mod that empowers resource pack creators to replace the models of items when held in a character's hand. Similar to how the spyglass and trident are displayed in the base game, you can now customize the appearance of any item in the player's hands.

Dreaming of a 3D mace, a flaming greatsword, or an ancient magical staff while keeping the original item in the inventory? With Pommel, all this becomes reality! The mod is also fully compatible with items from other modifications.

For Resource Pack Developers

The mod adds the following item predicates:

  • pommel:is_held — activates when the item is held in first or third person
  • pommel:first_third_person — distinguishes display in first and third person (0.5 — first person, 1.0 — third person)
  • pommel:is_offhand — item is in the left hand
  • pommel:is_fixed — item is placed in a frame
  • pommel:is_head — item is worn on the head in the helmet slot
  • pommel:is_ground — item is lying on the ground
  • pommel:is_thrown — throwable items in flight (eggs, snowballs, ender pearls, and others)
  • pommel:is_used — item is being used (holding right mouse button)
  • pommel:item_use — tracks the duration of item use, such as when consuming food
  • pommel:is_submerged — item is submerged in water (works only with minecraft:water)
  • pommel:is_enchanted — item is enchanted
  • pommel:is_misc_entity_holding — items in the hands of villagers, witches, pandas, and foxes

The is_using and is_submerged predicates also change the item model in the interface.

JSON Example

{
  "parent": "item/handheld",
  "textures": {
    "layer0": "minecraft:item/2d_model_texture"
  },
  "overrides": [
    { "predicate": { "pommel:is_held": 1.0 }, "model": "minecraft:item/my_held_item" },
    { "predicate": { "pommel:is_fixed": 1.0 }, "model": "minecraft:item/my_framed_item" },
    { "predicate": { "pommel:is_head": 1.0 }, "model": "minecraft:item/my_worn_item" },
    { "predicate": { "pommel:is_ground": 1.0 }, "model": "minecraft:item/my_ground_item" }
  ]
}

Apple Eating Example

{
  "parent": "minecraft:item/generated",
  "textures": {
    "layer0": "minecraft:item/apple"
  },
  "overrides": [
    { "predicate": { "pommel:is_held": 1 }, "model": "minecraft:item/held_items/apple_3d" },
    { "predicate": { "pommel:item_use": 0.25 }, "model": "minecraft:item/apple_eat_0" },
    { "predicate": { "pommel:is_held": 1, "pommel:item_use": 0.25 }, "model": "minecraft:item/held_items/apple_eat_0_3d" },
    { "predicate": { "pommel:item_use": 0.50 }, "model": "minecraft:item/apple_eat_1" },
    { "predicate": { "pommel:is_held": 1, "pommel:item_use": 0.50 }, "model": "minecraft:item/apple_eat_1_3d" },
    { "predicate": { "pommel:item_use": 0.75 }, "model": "minecraft:item/apple_eat_2" },
    { "predicate": { "pommel:is_held": 1, "pommel:item_use": 0.75 }, "model": "minecraft:item/apple_eat_2_3d" }
  ]
}

In this example, the apple will sequentially change models from apple_eat_0 to apple_eat_2 during consumption. When held in hand, the 3D version activates with unique models for each stage of eating.

Additional Features

You can organize models in separate folders and change parent models for better structuring.

Frequently Asked Questions

Compatibility with CIT

CIT Resewn and Optifine work correctly provided that CIT replaces the item model, not just the texture.

Compatibility with Vanilla Predicates

Pommel is fully compatible with vanilla predicates such as Custom Model Data and bow Pulling. Remember to specify pommel:is_held for models with custom_model_data.

Compatibility with Eating Animation Mod

Eating Animation allows replacing models when consuming items using Pommel predicates. You can also use pommel:item_use for a similar effect without installing additional mods.

Working with Items from Other Mods

Use the same JSON structure, replacing minecraft with the identifier of the corresponding mod.

Troubleshooting

Check the JSON code for errors. Most development environments automatically detect syntax errors. For complex cases, consult the developer community.

Project members
TimmyChips

TimmyChips

Developer

Created: 20 Jul 2024

ID: 36347