package com.r3944realms.leashedplayer.client.models; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.EntityModel; import net.minecraft.client.renderer.RenderType; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; import java.util.function.Function; public abstract class BasicEntityModel extends EntityModel { public int textureWidth = 64; public int textureHeight = 32; protected BasicEntityModel() { this(RenderType::entityCutoutNoCull); } protected BasicEntityModel(Function pRenderType) { super(pRenderType); } @Override public void renderToBuffer(PoseStack p_103013_, VertexConsumer p_103014_, int p_103015_, int p_103016_, float p_103017_, float p_103018_, float p_103019_, float p_103020_) { this.parts().forEach((p_103030_) -> { p_103030_.render(p_103013_, p_103014_, p_103015_, p_103016_, p_103017_, p_103018_, p_103019_, p_103020_); }); } public abstract Iterable parts(); @Override public abstract void setupAnim(T p_102618_, float p_102619_, float p_102620_, float p_102621_, float p_102622_, float p_102623_); @Override public void prepareMobModel(T p_102614_, float p_102615_, float p_102616_, float p_102617_) { } }