截图
介绍

Pommel – 手持物品模型

Blade – 资源包
—手持物品模型资源包—
什么是 Pommel?
Pommel 是一个 Fabric 模组,允许资源包替换物品手持版本的模型—就像望远镜和三叉戟那样—让你自定义物品在你手中的外观。想要在手中显示一个 3D 的锤子模型、一把燃烧的巨剑,或是一根古老的法杖,同时保留原始物品?有了 Pommel,这一切都能实现!
同样适用于模组物品!
如果你使用 Pommel 制作了资源包,欢迎与我分享你的作品!我很想看看你能做出什么!
致资源包创作者
添加以下物品谓词:
pommel:is_held— 当物品被拿在手中(第三人称或第一人称)pommel:first_third_person— 物品在第一人称与第三人称之间切换- 值为 0.5 时在第一人称下切换指定模型,值为 1.0 时在第三人称下切换模型。
pommel:is_offhand— 物品位于使用者的副手槽位pommel:is_fixed— 当物品放在物品展示框中pommel:is_head— 当物品戴在头盔槽位中pommel:is_ground— 当物品被丢在地上pommel:is_thrown— 可投掷物品被投掷时(鸡蛋、雪球、末影珍珠等)pommel:is_used— 当物品正在被使用(即按住使用/右键键);如果模组安装在服务端且玩家也安装了该模组,则会在多人游戏中同步pommel:item_use— 物品被使用/消耗的持续时间,例如进食pommel:is_submerged— 物品浸没在minecraft:water中(不适用于其他液体)- 当物品实体被丢入水中但之后不再处于水中(例如你移除了水),物品仍会保持其“浸没”状态
pommel:is_enchanted— 物品是否被附魔pommel:is_misc_entity_holding— 村民、女巫、熊猫和狐狸手持的物品。- 请注意,这三种实体仍会同时采用该模型的地面显示设置。如有需要,你可以调整地面显示的旋转、平移、缩放,使物品在这些实体手中看起来更好。
- is_using 和 is_submerged 也会改变 GUI 中的物品模型
例如,通过修改模型 iron_pickaxe.json,你可以告诉模组在使用 pommel:is_held 时应显示哪个模型。
所提供的手持模型及其纹理可以放在任何位置,只要由物品模型 json 文件指定即可。
JSON 示例:
{
"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" },
]
}
苹果食用示例:
{
"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/held_items/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/held_items/apple_eat_2_3d" }
]
}
在这个示例中,随着你食用苹果,苹果物品会从 apple_eat_0 变为 apple_eat_2。苹果物品在手持时也会变为对应的 3D 版本,食用时手中的模型也会随之变化。
你还可以为手持模型指定文件目录以便整理,也可以将父模型更改为其他模型。
其他示例
- 额外提示:如果你使用模组 Arsenal (仅限 1.20.1),该模组的背部/收纳槽使用展示框渲染类型。你可以使用 pommel:is_fixed 替换背上的物品(如下所示),让模型显示出来,而不是显示物品。注意,展示框中的物品也会使用同一个模型。
将头上的雕刻南瓜替换为绿宝石。就像 Sim 一样。使用 Arsenal(1.20.1)和
pommel:is_fixed谓词,让剑显示在背上。
常见问题
问:这与 CIT [自定义物品纹理] 兼容吗?
- 答:只要让 CIT 将物品替换为物品模型(而不是纹理),CIT Resewn 和 Optifine 就可以使用。CIT 可以替换物品的模型,因此 Pommel 仍然支持自定义手持模型。
问:这与原版 Minecraft 的物品谓词(例如 Custom Model Data 或弓的拉弓状态)兼容吗?
- 答:兼容,但请确保为
custom_model_data模型也指定pommel:is_held。 - 以下是使用原版物品谓词和手持物品模型的示例:
-
{ "parent": "item/handheld", "textures": { "layer0": "item/base_item" }, "overrides": [ { "predicate": { "pommel:is_held": 1.0 }, "model": "minecraft:item/base_item_held" }, { "predicate": { "custom_model_data": 1 }, "model": "minecraft:item/custom_item" }, { "predicate": { "custom_model_data": 1, "pommel:is_held": 1.0 }, "model": "minecraft:item/custom_item_held" } ] }
问:这与Eating Animation模组兼容吗?
- 答:兼容。Eating Animation 可以让你在食用物品时,用 Pommel 替换为你选择的模型。
该模组有两个谓词:
eating和eat(前面不带模组 ID),因此你可以将它们与 Pommel 的谓词组合使用。代码与上面的 custom_model_data 示例类似,只需使用 Eating Animation 的谓词即可。此外,这里还有一个关于 Eating Animation 的视频教程(模组页面上也有链接),会演示如何进行设置!欢迎了解这个模组! - 答:补充一点,你也可以用完全相同的方式使用
pommel:item_use,效果一致,而且无需使用 Eating Animation 模组。我并不想“取代”Eating Animation。之所以添加item_use谓词,是因为 Eating Animation 模组与 CIT 存在一些兼容性问题,因此可以将它作为替代方案。使用 Eating Animation 时,物品模型可能无法正确更改或渲染 CIT 模型,而 Pommel 没有这个问题。
问:如何替换模组物品的手持模型?
- 答:JSON 层级结构与JSON 示例中的相同,但需要将
minecraft放在 ID 前面的位置替换为<mod_id>。
问:我的手持模型无法正常工作,该去哪里寻求故障排查帮助?
- 答:首先检查 JSON 代码是否有错误,因为 JSON 代码很容易不小心写错。大多数 IDE 都会检查错误,也有一些其他网站可以进行检查。如果问题仍然存在,说实话,获得支持的最好方式是通过 Discord 联系我(用户名是 timmychips),或者在 Github 上提交 Issue!
常见问题
Pommel – Held Item Models 支持哪些 Minecraft 版本?
Pommel – Held Item Models 支持 Minecraft Java 版 1.20.1–1.21.1,共 3 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。
Pommel – Held Item Models 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端 / 服务端。
TimmyChips 的其他作品
查看全部 →
Modefite – Item Definition Backport
为资源包移植了 1.21.4 中引入的物品模型定义系统
Modefite – Item Definition Backport
Backports the Items Model Definition system introduced in 1.21.4 for resource packs
Dynamic Rain Shader
Uses vanilla resource pack core shaders to tilt the rain, giving it a more dynamic look. No mods needed!
Create: Colored Packages
Adds several colored packages from applying dye to Create's "Packager" and "Re-Packager" blocks
评论
登录后评论和评分