Косметика, как рендерить свою?

Версия Minecraft
1.8.8
36
2
1
Имею 4 файла - 3 файла, помошники для работы косметики и 1 файл сама косметика, в данном случае шляпа.

Помошники:

CosmeticController.java:
package net.minecraft.client;

import net.minecraft.client.entity.AbstractClientPlayer;

public class CosmeticController {

    public static boolean shouldRenderTopHat(AbstractClientPlayer player) {
        return true;
    }
   
    public static float[] getTopHatColor(AbstractClientPlayer player) {
        return new float[] {1, 1, 1};
    }
}
CosmeticBase.java:
package net.minecraft.client;

import net.minecraft.client.entity.AbstractClientPlayer;
import net.minecraft.client.renderer.entity.RenderPlayer;
import net.minecraft.client.renderer.entity.layers.LayerRenderer;

public abstract class CosmeticBase implements LayerRenderer<AbstractClientPlayer>{

    protected final RenderPlayer playerRenderer;
   
    public CosmeticBase(RenderPlayer playerRenderer) {
        this.playerRenderer = playerRenderer;
    }
   
    @Override
    public void doRenderLayer(AbstractClientPlayer player, float limbSwing, float limbSwingAmount,
            float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, float scale) {
        // TODO Auto-generated method stub
        if(player.hasPlayerInfo() && !player.isInvisible()) {
            render(player, limbSwing, limbSwingAmount,
                     partialTicks, ageInTicks, netHeadYaw, headPitch, scale);
        }
    }
   
    public abstract void render(AbstractClientPlayer player, float limbSwing, float limbSwingAmount,
            float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, float scale);

    @Override
    public boolean shouldCombineTextures() {
        // TODO Auto-generated method stub
        return false;
    }

}
CosmeticModelBase.java:
package net.minecraft.client;

import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.entity.RenderPlayer;

public class CosmeticModelBase extends ModelBase{
   
    protected final ModelBiped playerModel;

    public CosmeticModelBase(RenderPlayer player) {
        this.playerModel = player.getMainModel();
    }
   
}

Сама шляпа:

CosmeticTopHat.java:
package net.minecraft.client;

import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.entity.RenderPlayer;

public class CosmeticModelBase extends ModelBase{
   
    protected final ModelBiped playerModel;

    public CosmeticModelBase(RenderPlayer player) {
        this.playerModel = player.getMainModel();
    }
   
}

Хочу рендерить свои модельки косметики. Но не знаю как правильно.
 
Сверху