跳到正文

Pommel – Held Item Models

作者:TimmyChips

一款 Fabric 模组,让资源包作者可以像望远镜和三叉戟那样替换手持物品的模型。

收藏

截图

介绍

介绍由机器翻译自 Modrinth 原页面,仅供参考。
Pommel 图标

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&gt。

问:我的手持模型无法正常工作,该去哪里寻求故障排查帮助?

答:首先检查 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 的其他作品

查看全部 →