辛的转生史莱姆种族模型

辛的转生史莱姆种族模型

一个为《关于我转生变成史莱姆这档事 转生》添加的库扩展,允许其他人为其种族添加模型。

基础库

Shin 的 Tensura 种族模型允许其他人为 Tensura: Reincarnated 的种族添加自己的自定义模型。

目前基于 T:R 1.0.2.5,Forge 版本 43.5.0

使用方法

使用起来很简单。首先,通过 CurseMaven 或任何其他方法将它作为依赖项添加到你的附加模组中。 接下来,你希望为其提供模型的种族需要实现 IModeledRaces 类。这样做会添加几个新函数,需要在种族中填充这些函数,例如该种族将使用的模型的类名、其阴影的大小以及眼睛高度。

此外,还需要创建 2 个函数。第一个在客户端事件总线上,如下所示:

@SubscribeEvent public static void registerLayerDefinitions(EntityRenderersEvent.RegisterLayerDefinitions event) { event.registerLayerDefinition(ExampleModel.LAYER_LOCATION, ExampleModel::createBodyLayer); }

将 ExampleModel 替换为你正在使用的模型。第二个是你需要 mixin 到 TensuraRacesRenderer 文件的 init 函数中,并将你的种族添加到列表中,如下例所示:

@Mixin(TensuraRacesRenderer.class) public abstract class AddRaceMixin<T extends LivingEntity, M extends EntityModel> {

@Shadow
@Final
@Mutable
private List<HierarchicalModel<T>> models;

@Inject(method = "<init>", at = @At("TAIL"))
private void onInit(RenderLayerParent parent, CallbackInfo ci) {
    List<HierarchicalModel<T>> newModels = new ArrayList<>(this.models);

    EntityModelSet modelSet = Minecraft.getInstance().getEntityModels();
    newModels.add(new ExampleModel<>(modelSet.bakeLayer(ExampleModel.LAYER_LOCATION)));

    this.models = List.copyOf(newModels);
}

}

模型文件本身也需要进行几处编辑,不过模组内包含了一个可用的示例模型,你可以自由查看它,以编辑你的实体代码使其与之匹配。

这应该就是你需要做的全部内容,唯一需要注意的其他事项是,尽管该模型使用的是 Hierarchical 格式,但我还没有完成让你能够正确使用 hierarchical 动画的功能。目前有一个部分实现的蹲下和奔跑关键帧起始,但我不确定它是否已经完全可用。

附加信息

启发了它的 Tensura 附加模组:

Tensura: KumoDesu Tensura: Bleach

只要使用了该附加模组,并且代码不是被直接原样复制并拿来用在你自己的模组中,那么将本模组用于制作附加模组是可以的。