
护甲渲染库
为Fabric API的ArmorRenderer提供的小型扩展库,具有更针对性和具体的实现,以动态更改盔甲纹理和颜色。
Armor Render Lib 是 Fabric API 的 fabric-rendering-v1 ArmorRenderer 的一个轻量级扩展库。由于 Fabric API 的实现相当抽象,某些特定用例需要更有针对性的实现。这些用例出现在我的多个模组中,因此本着代码复用的精神创建了这个库。它非常健壮,仅使用少量非常有针对性的 mixin,并且与 Cosmetic Armor 和 GeckoLib 完全兼容。
构建
要将此库包含到你的项目中,请将以下内容复制到你的 build.gradle 中:
repositories {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
content {
includeGroup "maven.modrinth"
}
}
}
dependencies {
modImplementation "maven.modrinth:armor-render-lib:<version>"
include "maven.modrinth:armor-render-lib:<version>"
}
使用
Armor Render Lib 添加了盔甲渲染层。这些对象包含动态纹理位置、颜色以及闪烁布尔值,用于为某个(或某些)物品渲染盔甲。它们大致相当于 Fabric API 的 ArmorRenderer#renderPart,但纹理、颜色和闪烁可以根据 ItemStack、LivingEntity 和 EquipmentSlot 动态指定。
它们应该这样注册:
public class ExampleMod implements ClientModInitializer {
private static ArmorRenderProvider render(ItemStack stack, LivingEntity entity, EquipmentSlot slot) {
// Dynamic texture path
String texture = "examplemod:textures/model/armor/example_chestplate.png";
// Dynamic color
int color = 0xFF00FF;
return data -> data.accept(texture, color, stack.hasGlint());
}
@Override
public void onInitializeClient() {
ArmorRenderLib.register(ExampleMod::render, Items.IRON_CHESTPLATE);
}
}
注意事项
- 一个物品可以注册多个不同的盔甲渲染层。
- 多个物品可以注册同一个盔甲渲染层。
- 将渲染层注册到原版物品(或其他盔甲物品)会覆盖默认的盔甲渲染。
- 这意味着原版盔甲的纹理、颜色和/或附魔闪烁可以被修改。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。