Creating Static (No Animations) Armor

Creating your Renderer

This renderer is responsible for how your armor is displayed in the game.

It connects the armor with the following:

  1. Geometry file (geo.json): Defines the 3D model of the armor.
  2. Texture file (.png): The visual appearance of the armor (applies over the geometry).
public class ExampleArmorRenderer extends AzArmorRenderer {
private static final ResourceLocation GEO = ResourceLocation.fromNamespaceAndPath(
YOUR_MOD_ID,
"geo/item/examplearmor.geo.json"
);
private static final ResourceLocation TEX = ResourceLocation.fromNamespaceAndPath(
YOUR_MOD_ID,
"textures/item/examplearmor.png"
);
public ExampleArmorRenderer() {
super(AzArmorRendererConfig.builder(GEO, TEX).build());
}
}

Registering your Renderer

Call AzArmorRendererRegistry#register() in your onInitializeClient for Fabric, or inside event.enqueueWork(...) in your FMLClientSetupEvent handler for NeoForge.

Fabric:

@Override
public void onInitializeClient() {
AzArmorRendererRegistry.register(ExampleArmorRenderer::new, YourItemRegistry.YOUR_ARMOR_HELMET,
YourItemRegistry.YOUR_ARMOR_CHESTPLATE,
YourItemRegistry.YOUR_ARMOR_LEGGINGS,
YourItemRegistry.YOUR_ARMOR_BOOTS);
}

NeoForge:

private void onClientSetup(FMLClientSetupEvent event) {
event.enqueueWork(() -> {
AzArmorRendererRegistry.register(ExampleArmorRenderer::new, YourItemRegistry.YOUR_ARMOR_HELMET,
YourItemRegistry.YOUR_ARMOR_CHESTPLATE,
YourItemRegistry.YOUR_ARMOR_LEGGINGS,
YourItemRegistry.YOUR_ARMOR_BOOTS);
});
}