Guest User

EntityModel

a guest
Apr 18th, 2020
722
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.53 KB | None | 0 0
  1. package com.lordloss.tutorial.client.entity.model;
  2.  
  3. import com.google.common.collect.ImmutableList;
  4. import com.lordloss.tutorial.entities.ExampleEntity;
  5. import com.mojang.blaze3d.matrix.MatrixStack;
  6. import com.mojang.blaze3d.vertex.IVertexBuilder;
  7. import net.minecraft.client.renderer.entity.model.AgeableModel;
  8. import net.minecraft.client.renderer.model.ModelRenderer;
  9.  
  10. public class ExampleEntityModel<T extends ExampleEntity> extends AgeableModel<T> {
  11.     private final ModelRenderer Body;
  12.     private final ModelRenderer Legs;
  13.     private final ModelRenderer LeftLeg;
  14.     private final ModelRenderer RightLeg;
  15.     private final ModelRenderer Torso;
  16.     private final ModelRenderer Head;
  17.     private final ModelRenderer Bill;
  18.  
  19.     public ExampleEntityModel() {
  20.         textureWidth = 32;
  21.         textureHeight = 32;
  22.  
  23.         Body = new ModelRenderer(this);
  24.         Body.setRotationPoint(0.0F, 24.0F, 0.0F);
  25.  
  26.         Legs = new ModelRenderer(this);
  27.         Legs.setRotationPoint(0.0F, 0.0F, 0.0F);
  28.         Body.addChild(Legs);
  29.  
  30.         LeftLeg = new ModelRenderer(this);
  31.         LeftLeg.setRotationPoint(2.4333F, -3.6167F, 2.1833F);
  32.         Legs.addChild(LeftLeg);
  33.         LeftLeg.setTextureOffset(10, 10).addBox(-0.4333F,-0.9083F,-0.9333F,1,2,2,0.0F,false);
  34.         LeftLeg.setTextureOffset(0, 17).addBox(-0.6833F,1.0917F,-0.4333F,1,2,1,0.0F,false);
  35.         LeftLeg.setTextureOffset(14, 18).addBox(-0.6833F,2.8417F,-1.4333F,1,0.5f,2,0.0F,false);
  36.         // old LeftLeg.setTextureOffset(14, 18).addBox(-0.6833F,3.3417F,-1.4333F,1,0,2,0.0F,false);
  37.  
  38.         RightLeg = new ModelRenderer(this);
  39.         RightLeg.setRotationPoint(-2.3333F, -3.5167F, 2.2833F);
  40.         Legs.addChild(RightLeg);
  41.         RightLeg.setTextureOffset( 14, 14).addBox( -0.6667F, -1.0083F, -1.0333F, 1, 2, 2, 0.0F, false);
  42.         RightLeg.setTextureOffset( 0, 10).addBox( -0.4167F, 0.9917F, -0.5333F, 1, 2, 1, 0.0F, false);
  43.         RightLeg.setTextureOffset( 4, 17).addBox( -0.4167F, 2.7417F, -1.5333F, 1, 0.5f, 2, 0.0F, false);
  44.         // old RightLeg.setTextureOffset( 4, 17).addBox( -0.4167F, 3.2417F, -1.5333F, 1, 0, 2, 0.0F, false);
  45.  
  46.         Torso = new ModelRenderer(this);
  47.         Torso.setRotationPoint(0.0F, 0.0F, 0.0F);
  48.         Body.addChild(Torso);
  49.         Torso.setTextureOffset( 0, 0).addBox( -2.5F, -7.525F, -1.75F, 5, 5, 5, 0.0F, false);
  50.  
  51.         Head = new ModelRenderer(this);
  52.         Head.setRotationPoint(0.0F, -7.0F, 0.0F);
  53.         Body.addChild(Head);
  54.         Head.setTextureOffset( 0, 10).addBox( -1.5F, -2.525F, -3.75F, 3, 3, 4, 0.0F, false);
  55.  
  56.         Bill = new ModelRenderer(this);
  57.         Bill.setRotationPoint(0.0F, -1.0F, -3.9F);
  58.         setRotationAngle(Bill, 0.0873F, 0.0F, 0.0F);
  59.         Head.addChild(Bill);
  60.         Bill.setTextureOffset( 16, 10).addBox( -0.5F, -0.525F, -1.75F, 1, 1, 2, 0.0F, false);
  61.         Bill.setTextureOffset( 15, 0).addBox( -0.5F, -0.525F, -3.75F, 1, 1, 2, 0.0F, false);
  62.  
  63.     }
  64.  
  65.     @Override
  66.     public void render(MatrixStack matrixStackIn, IVertexBuilder bufferIn, int packedLightIn, int packedOverlayIn, float red, float green, float blue, float alpha) {
  67.         Body.render(matrixStackIn, bufferIn, packedLightIn, packedOverlayIn, red, green, blue, alpha);
  68.     }
  69.  
  70.     @Override
  71.     protected Iterable<ModelRenderer> getHeadParts() {
  72.         return ImmutableList.of(this.getHead());
  73.     }
  74.  
  75.     @Override
  76.     protected Iterable<ModelRenderer> getBodyParts() {
  77.         return ImmutableList.of(this.getBody());
  78.     }
  79.  
  80.     @Override
  81.     public void setRotationAngles(T entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
  82.  
  83.     }
  84.  
  85.     public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) {
  86.         modelRenderer.rotateAngleX = x;
  87.         modelRenderer.rotateAngleY = y;
  88.         modelRenderer.rotateAngleZ = z;
  89.     }
  90.  
  91.     @Override
  92.     public void setLivingAnimations(T entityIn, float limbSwing, float limbSwingAmount, float partialTick) {
  93.         super.setLivingAnimations(entityIn, limbSwing, limbSwingAmount, partialTick);
  94.     }
  95.  
  96.     public ModelRenderer getBill() {
  97.         return Bill;
  98.     }
  99.  
  100.     public ModelRenderer getBody() {
  101.         return Body;
  102.     }
  103.  
  104.     public ModelRenderer getHead() {
  105.         return Head;
  106.     }
  107.  
  108.     public ModelRenderer getLeftLeg() {
  109.         return LeftLeg;
  110.     }
  111.  
  112.     public ModelRenderer getRightLeg() {
  113.         return RightLeg;
  114.     }
  115.  
  116.     public ModelRenderer getLegs() {
  117.         return Legs;
  118.     }
  119.  
  120.     public ModelRenderer getTorso() {
  121.         return Torso;
  122.     }
  123. }
Advertisement
Add Comment
Please, Sign In to add comment