Shin's Tensura Race Models

Quick rating

Community listing page, reviews may not be monitored by the author.

Shin's Tensura Race Models

By shinnoshinigamiOwner

No reviews yet

A library mod for Tensura Reincarnated, designed to allow others to add their own custom models to races.

Mod Loaders
Minecraft

About

Description

Shin's Tensura Race Models allows others to add their own custom models to Tensura: Reincarnated races.

Currently built for T:R 1.0.2.5, Forge version 43.5.0


HOW TO USE

 

The following is a link to a github workspace which has an example created: https://github.com/ShinNoShinigami/ExampleTensuraModeledRace
The example here adds a race with a custom model alongside giving the Lizardmen race a model. Its a very basic mod to give people an idea of how the code for it looks and to see it in action.

 

Using it is simple. First, add it to your addon as a dependency using CurseMaven or any other method
Following that, the race you wish to give a model to needs to implement the IModeledRaces class. Doing so will add several new functions which need to be filled in within the race, such as the class name of the model the race will use, the size of its shadow, and the eye height. 

Additionally, 2 functions need to be created. They are as follows:

@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, value = {Dist.CLIENT})
public class LayerEvents {
@SubscribeEvent
public static void registerLayerDefinitions(EntityRenderersEvent.RegisterLayerDefinitions event) {
event.registerLayerDefinition(ExampleModel.LAYER_LOCATION, ExampleModel::createBodyLayer);
}
@SubscribeEvent
public static void construct(EntityRenderersEvent.AddLayers event) {

EntityModelSet modelSet = Minecraft.getInstance().getEntityModels();
TensuraModelsRegistry.register(new ExampleModel<>(modelSet.bakeLayer(ExampleModel.LAYER_LOCATION)));
}
}

The model file itself also needs several edits, however a working example model is included within the mod itself which you are free to look at to edit your entities code to match it. 

That should be all you need to do, only other things to note would be that, even though the model is using the Hierarchical format, i have not yet finished allowing you to use hierarchical animations properly. There is a partially implemented crouch and running keyframe start however i am unsure if it fully works yet. 


ADDITIONAL INFO

Tensura addons that started it:

This mod is fine to be used to utilise when making addons provided the addon is used and the code is not simply copied exactly and taken to be used within your mod itself.

Shin's Tensura Race Models allows others to add their own custom models to Tensura: Reincarnated races.

Currently built for T:R 1.0.2.5, Forge version 43.5.0

HOW TO USE

Using it is simple. First, add it to your addon as a dependency using CurseMaven or any other method Following that, the race you wish to give a model to needs to implement the IModeledRaces class. Doing so will add several new functions which need to be filled in within the race, such as the class name of the model the race will use, the size of its shadow, and the eye height. 

Additionally, 2 functions need to be created. The first is on the client event bus, and looks as follows:

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

replacing ExampleModel with the model you are using. And the second one is that you need to mixin into the TensuraRacesRenderer file's init function and add your race to the list, as is done in the example below:

@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);
}

}

The model file itself also needs several edits, however a working example model is included within the mod itself which you are free to look at to edit your entities code to match it. 

That should be all you need to do, only other things to note would be that, even though the model is using the Hierarchical format, i have not yet finished allowing you to use hierarchical animations properly. There is a partially implemented crouch and running keyframe start however i am unsure if it fully works yet. 

ADDITIONAL INFO

Tensura addons that started it:

Tensura: KumoDesu Tensura: Bleach

This mod is fine to be used to utilise when making addons provided the addon is used and the code is not simply copied exactly and taken to be used within your mod itself.