minecraft-src/net/minecraft/client/model/PigModel.java
2025-07-04 03:45:38 +03:00

42 lines
1.6 KiB
Java

package net.minecraft.client.model;
import java.util.Set;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.builders.CubeDeformation;
import net.minecraft.client.model.geom.builders.CubeListBuilder;
import net.minecraft.client.model.geom.builders.LayerDefinition;
import net.minecraft.client.model.geom.builders.MeshDefinition;
import net.minecraft.client.model.geom.builders.MeshTransformer;
import net.minecraft.client.model.geom.builders.PartDefinition;
import net.minecraft.client.renderer.entity.state.LivingEntityRenderState;
@Environment(EnvType.CLIENT)
public class PigModel extends QuadrupedModel<LivingEntityRenderState> {
public static final MeshTransformer BABY_TRANSFORMER = new BabyModelTransform(false, 4.0F, 4.0F, Set.of("head"));
public PigModel(ModelPart root) {
super(root);
}
public static LayerDefinition createBodyLayer(CubeDeformation cubeDeformation) {
return LayerDefinition.create(createBasePigModel(cubeDeformation), 64, 64);
}
protected static MeshDefinition createBasePigModel(CubeDeformation cubeDeformation) {
MeshDefinition meshDefinition = QuadrupedModel.createBodyMesh(6, cubeDeformation);
PartDefinition partDefinition = meshDefinition.getRoot();
partDefinition.addOrReplaceChild(
"head",
CubeListBuilder.create()
.texOffs(0, 0)
.addBox(-4.0F, -4.0F, -8.0F, 8.0F, 8.0F, 8.0F, cubeDeformation)
.texOffs(16, 16)
.addBox(-2.0F, 0.0F, -9.0F, 4.0F, 3.0F, 1.0F, cubeDeformation),
PartPose.offset(0.0F, 12.0F, -6.0F)
);
return meshDefinition;
}
}