Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package mod.blackoutrpg.client.model;
- import mod.blackoutrpg.entities.OrcWandererEntity;
- import com.mojang.blaze3d.matrix.MatrixStack;
- import com.mojang.blaze3d.vertex.IVertexBuilder;
- import net.minecraft.client.renderer.entity.model.EntityModel;
- import net.minecraft.client.renderer.model.ModelRenderer;
- import net.minecraft.util.math.MathHelper;
- public class OrcWandererModel<T extends OrcWandererEntity> extends EntityModel<T> {
- private final ModelRenderer head;
- private final ModelRenderer mouth;
- private final ModelRenderer earLeft;
- private final ModelRenderer earRight;
- private final ModelRenderer body;
- private final ModelRenderer rightArm;
- private final ModelRenderer leftArm;
- private final ModelRenderer rightLeg;
- private final ModelRenderer leftLeg;
- public OrcWandererModel() {
- textureWidth = 64;
- textureHeight = 64;
- head = new ModelRenderer(this);
- head.setRotationPoint(0.0F, -2.0F, 0.0F);
- head.setTextureOffset(0, 18).addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F, 0.0F, false);
- mouth = new ModelRenderer(this);
- mouth.setRotationPoint(0.0F, 26.0F, 0.0F);
- head.addChild(mouth);
- mouth.setTextureOffset(3, 18).addBox(-2.0F, -29.0F, -5.0F, 1.0F, 1.0F, 0.0F, 0.0F, false);
- mouth.setTextureOffset(32, 25).addBox(-4.0F, -28.0F, -5.0F, 8.0F, 2.0F, 1.0F, 0.0F, false);
- mouth.setTextureOffset(2, 4).addBox(-4.0F, -29.0F, -5.0F, 1.0F, 1.0F, 0.0F, 0.0F, false);
- mouth.setTextureOffset(0, 4).addBox(1.0F, -29.0F, -5.0F, 1.0F, 1.0F, 0.0F, 0.0F, false);
- mouth.setTextureOffset(3, 0).addBox(3.0F, -29.0F, -5.0F, 1.0F, 1.0F, 0.0F, 0.0F, false);
- earLeft = new ModelRenderer(this);
- earLeft.setRotationPoint(3.5F, -2.0F, -0.5F);
- head.addChild(earLeft);
- setRotationAngle(earLeft, 0.0F, 0.4363F, 0.0F);
- earLeft.setTextureOffset(18, 45).addBox(-0.5F, -3.0F, -1.5F, 1.0F, 2.0F, 4.0F, 0.0F, false);
- earRight = new ModelRenderer(this);
- earRight.setRotationPoint(-3.5F, -2.0F, -0.5F);
- head.addChild(earRight);
- setRotationAngle(earRight, 0.0F, -0.4363F, 0.0F);
- earRight.setTextureOffset(42, 28).addBox(-0.5F, -3.0F, -1.5F, 1.0F, 2.0F, 4.0F, 0.0F, false);
- body = new ModelRenderer(this);
- body.setRotationPoint(0.0F, 3.0F, 0.0F);
- body.setTextureOffset(0, 0).addBox(-5.0F, -5.0F, -2.0F, 10.0F, 13.0F, 5.0F, 0.0F, false);
- body.setTextureOffset(24, 18).addBox(-5.0F, -5.0F, -3.0F, 10.0F, 6.0F, 1.0F, 0.0F, false);
- rightArm = new ModelRenderer(this);
- rightArm.setRotationPoint(-5.0F, 0.0F, 1.0F);
- rightArm.setTextureOffset(42, 42).addBox(-4.0F, -2.0F, -3.0F, 4.0F, 12.0F, 5.0F, 0.0F, false);
- leftArm = new ModelRenderer(this);
- leftArm.setRotationPoint(5.0F, 0.0F, 1.0F);
- leftArm.setTextureOffset(0, 34).addBox(0.0F, -2.0F, -3.0F, 4.0F, 13.0F, 5.0F, 0.0F, false);
- rightLeg = new ModelRenderer(this);
- rightLeg.setRotationPoint(-2.5F, 12.0F, 0.5F);
- rightLeg.setTextureOffset(30, 0).addBox(-2.5F, -1.0F, -2.5F, 5.0F, 13.0F, 5.0F, 0.0F, false);
- leftLeg = new ModelRenderer(this);
- leftLeg.setRotationPoint(2.5F, 12.0F, 0.5F);
- leftLeg.setTextureOffset(27, 29).addBox(-2.5F, -1.0F, -2.5F, 5.0F, 13.0F, 5.0F, 0.0F, false);
- }
- @Override
- public void setRotationAngles(T entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
- this.head.rotateAngleX = headPitch * ((float)Math.PI / 180F);
- this.head.rotateAngleY = netHeadYaw * ((float)Math.PI / 180F);
- this.body.rotateAngleX = ((float)Math.PI / 180F);
- this.rightLeg.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount;
- this.leftLeg.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F + (float)Math.PI) * 1.4F * limbSwingAmount;
- this.rightArm.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F + (float)Math.PI) * 1.4F * limbSwingAmount;
- this.leftArm.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount;
- }
- @Override
- public void render(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha){
- head.render(matrixStack, buffer, packedLight, packedOverlay);
- body.render(matrixStack, buffer, packedLight, packedOverlay);
- rightArm.render(matrixStack, buffer, packedLight, packedOverlay);
- leftArm.render(matrixStack, buffer, packedLight, packedOverlay);
- rightLeg.render(matrixStack, buffer, packedLight, packedOverlay);
- leftLeg.render(matrixStack, buffer, packedLight, packedOverlay);
- }
- public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) {
- modelRenderer.rotateAngleX = x;
- modelRenderer.rotateAngleY = y;
- modelRenderer.rotateAngleZ = z;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement