
客户端绘制变体
使用资源包添加自定义画作变体,而不覆盖现有画作
查看大图客户端画作变体
使用资源包添加新类型的画作,而无需移除任何现有画作,完全在客户端实现!

此模组需要 Fabric API,所以请确保与此模组一起安装它。
等等,这与 1.21 的画作变体有什么不同?
Minecraft 1.21 添加了依赖数据包来指定新变体的画作变体。不幸的是,这意味着这些画作必须按世界定义,或由服务器管理员设置。此模组所做的是进一步扩展这一想法,允许资源包为在客户端使用此模组的任何玩家定义更多画作变体。没有安装此模组的客户端只会看到普通的画作。
这确实导致了此模组的一个限制:它无法添加新尺寸的画作,只能为现有尺寸添加更多变体(无论它们是由 Minecraft 还是数据包定义的)。
这在多人游戏中如何运作?
- 没有安装此模组的玩家将看到服务器发送的原始画作。
- 安装了此模组的玩家将在原始画作之外看到自定义画作。
- 如果两个安装了此模组的玩家安装了相同的资源包,那么他们将看到相同的画作。
- 此模组永远不会用原版画作覆盖另一个原版画作,所以如果你看到一幅原版画作,那么没有安装此模组的玩家也会看到那幅相同的画作。

致资源/数据包开发者
安装了此模组的玩家可以在任何地方将你的画作加入可用画作池中,而不仅仅是在带有数据包的服务器上。由于此模组不会移除 Minecraft 的任何默认画作,因此这是一种很好的非破坏性方式,可以将你的艺术作品整合到游戏中。
此模组要正常工作只有两个要求。
- 确保你的画作纹理位于资源包的
assets/<namespace>/textures/painting/文件夹中(游戏默认画作所在的位置,所以希望这也是你放置画作纹理的位置)。 - 将画作变体 JSON 文件添加到资源包的
assets/<namespace>/painting_variant/(注意:没有末尾的s)文件夹中。- 这些与在数据包中添加画作变体的格式相同。
width:画作的宽度(以方块为单位)。必须在 1-16 的范围内。height:画作的高度(以方块为单位)。必须在 1-16 的范围内。asset_id:paintings图集中纹理的标识符。<namespace>/<filename-without-ext>
- 参考:24w18a 更新日志。
- 这些与在数据包中添加画作变体的格式相同。
示例资源包结构
resourcepack.zip
├─pack.mcmeta
├─pack.png
└─assets/
└─<namespace>/
├─painting_variant/
│ ├─<id1>.json
│ └─<id2>.json
└ textures/
└─painting/
├─<id1>.png
└─<id2>.png
这与 1.21 由数据包驱动的画作变体系统尽可能相似。此模组从两种不同类型的包中取出两个文件夹并将它们放在一起。
原版中等效的数据包和资源包
datapack.zip
├─pack.mcmeta
└─data/
└─<namespace>/
└─painting_variant/
├─<id1>.json
└─<id2>.json
resourcepack.zip
├─pack.mcmeta
├─pack.png
└─assets/
└─<namespace>/
└ textures/
└─painting/
├─<id1>.png
└─<id2>.png
我很想为包开发者做到毫不费力(这也会带来开箱即用的好处),但不幸的是,资源/数据包的分离使得此项目的理想版本不可能实现。相反,我认为这已经是次优选择了。我希望这是你可以直接完成而无需过多思考的小事。
许可证
此模组根据 Mozilla Public License 2.0 授权。你可以在你的模组包中使用此模组。源代码包含在每个版本附带的单独 sources.jar 文件中。
正在加载版本记录…


正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。