Advertisement
Guest User

Entity Model

a guest
Nov 20th, 2020
316
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.96 KB | None | 0 0
  1. package mod.blackoutrpg.client.model;
  2.  
  3. import mod.blackoutrpg.entities.OrcWandererEntity;
  4. import com.mojang.blaze3d.matrix.MatrixStack;
  5. import com.mojang.blaze3d.vertex.IVertexBuilder;
  6. import net.minecraft.client.renderer.entity.model.EntityModel;
  7. import net.minecraft.client.renderer.model.ModelRenderer;
  8. import net.minecraft.util.math.MathHelper;
  9.  
  10. public class OrcWandererModel<T extends OrcWandererEntity> extends EntityModel<T> {
  11.  
  12. private final ModelRenderer head;
  13. private final ModelRenderer mouth;
  14. private final ModelRenderer earLeft;
  15. private final ModelRenderer earRight;
  16. private final ModelRenderer body;
  17. private final ModelRenderer rightArm;
  18. private final ModelRenderer leftArm;
  19. private final ModelRenderer rightLeg;
  20. private final ModelRenderer leftLeg;
  21.  
  22. public OrcWandererModel() {
  23. textureWidth = 64;
  24. textureHeight = 64;
  25.  
  26. head = new ModelRenderer(this);
  27. head.setRotationPoint(0.0F, -2.0F, 0.0F);
  28. head.setTextureOffset(0, 18).addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F, 0.0F, false);
  29.  
  30. mouth = new ModelRenderer(this);
  31. mouth.setRotationPoint(0.0F, 26.0F, 0.0F);
  32. head.addChild(mouth);
  33. mouth.setTextureOffset(3, 18).addBox(-2.0F, -29.0F, -5.0F, 1.0F, 1.0F, 0.0F, 0.0F, false);
  34. mouth.setTextureOffset(32, 25).addBox(-4.0F, -28.0F, -5.0F, 8.0F, 2.0F, 1.0F, 0.0F, false);
  35. mouth.setTextureOffset(2, 4).addBox(-4.0F, -29.0F, -5.0F, 1.0F, 1.0F, 0.0F, 0.0F, false);
  36. mouth.setTextureOffset(0, 4).addBox(1.0F, -29.0F, -5.0F, 1.0F, 1.0F, 0.0F, 0.0F, false);
  37. mouth.setTextureOffset(3, 0).addBox(3.0F, -29.0F, -5.0F, 1.0F, 1.0F, 0.0F, 0.0F, false);
  38.  
  39. earLeft = new ModelRenderer(this);
  40. earLeft.setRotationPoint(3.5F, -2.0F, -0.5F);
  41. head.addChild(earLeft);
  42. setRotationAngle(earLeft, 0.0F, 0.4363F, 0.0F);
  43. earLeft.setTextureOffset(18, 45).addBox(-0.5F, -3.0F, -1.5F, 1.0F, 2.0F, 4.0F, 0.0F, false);
  44.  
  45. earRight = new ModelRenderer(this);
  46. earRight.setRotationPoint(-3.5F, -2.0F, -0.5F);
  47. head.addChild(earRight);
  48. setRotationAngle(earRight, 0.0F, -0.4363F, 0.0F);
  49. earRight.setTextureOffset(42, 28).addBox(-0.5F, -3.0F, -1.5F, 1.0F, 2.0F, 4.0F, 0.0F, false);
  50.  
  51. body = new ModelRenderer(this);
  52. body.setRotationPoint(0.0F, 3.0F, 0.0F);
  53. body.setTextureOffset(0, 0).addBox(-5.0F, -5.0F, -2.0F, 10.0F, 13.0F, 5.0F, 0.0F, false);
  54. body.setTextureOffset(24, 18).addBox(-5.0F, -5.0F, -3.0F, 10.0F, 6.0F, 1.0F, 0.0F, false);
  55.  
  56. rightArm = new ModelRenderer(this);
  57. rightArm.setRotationPoint(-5.0F, 0.0F, 1.0F);
  58. rightArm.setTextureOffset(42, 42).addBox(-4.0F, -2.0F, -3.0F, 4.0F, 12.0F, 5.0F, 0.0F, false);
  59.  
  60. leftArm = new ModelRenderer(this);
  61. leftArm.setRotationPoint(5.0F, 0.0F, 1.0F);
  62. leftArm.setTextureOffset(0, 34).addBox(0.0F, -2.0F, -3.0F, 4.0F, 13.0F, 5.0F, 0.0F, false);
  63.  
  64. rightLeg = new ModelRenderer(this);
  65. rightLeg.setRotationPoint(-2.5F, 12.0F, 0.5F);
  66. rightLeg.setTextureOffset(30, 0).addBox(-2.5F, -1.0F, -2.5F, 5.0F, 13.0F, 5.0F, 0.0F, false);
  67.  
  68. leftLeg = new ModelRenderer(this);
  69. leftLeg.setRotationPoint(2.5F, 12.0F, 0.5F);
  70. leftLeg.setTextureOffset(27, 29).addBox(-2.5F, -1.0F, -2.5F, 5.0F, 13.0F, 5.0F, 0.0F, false);
  71. }
  72.  
  73. @Override
  74. public void setRotationAngles(T entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
  75. this.head.rotateAngleX = headPitch * ((float)Math.PI / 180F);
  76. this.head.rotateAngleY = netHeadYaw * ((float)Math.PI / 180F);
  77. this.body.rotateAngleX = ((float)Math.PI / 180F);
  78. this.rightLeg.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount;
  79. this.leftLeg.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F + (float)Math.PI) * 1.4F * limbSwingAmount;
  80. this.rightArm.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F + (float)Math.PI) * 1.4F * limbSwingAmount;
  81. this.leftArm.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount;
  82. }
  83.  
  84. @Override
  85. public void render(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha){
  86. head.render(matrixStack, buffer, packedLight, packedOverlay);
  87. body.render(matrixStack, buffer, packedLight, packedOverlay);
  88. rightArm.render(matrixStack, buffer, packedLight, packedOverlay);
  89. leftArm.render(matrixStack, buffer, packedLight, packedOverlay);
  90. rightLeg.render(matrixStack, buffer, packedLight, packedOverlay);
  91. leftLeg.render(matrixStack, buffer, packedLight, packedOverlay);
  92. }
  93.  
  94. public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) {
  95. modelRenderer.rotateAngleX = x;
  96. modelRenderer.rotateAngleY = y;
  97. modelRenderer.rotateAngleZ = z;
  98. }
  99. }
  100.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement