MrScautHD

Untitled

Jun 11th, 2021
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.84 KB | None | 0 0
  1. package net.mrscauthd.boss_tools.entity.renderer;
  2.  
  3. import org.objectweb.asm.tree.analysis.Frame;
  4.  
  5. import net.mrscauthd.boss_tools.entity.RoverEntity;
  6.  
  7. import net.minecraftforge.fml.client.registry.RenderingRegistry;
  8. import net.minecraftforge.eventbus.api.SubscribeEvent;
  9. import net.minecraftforge.client.event.ModelRegistryEvent;
  10. import net.minecraftforge.api.distmarker.OnlyIn;
  11. import net.minecraftforge.api.distmarker.Dist;
  12.  
  13. import net.minecraft.util.ResourceLocation;
  14. import net.minecraft.entity.LivingEntity;
  15. import net.minecraft.entity.Entity;
  16. import net.minecraft.client.renderer.model.ModelRenderer;
  17. import net.minecraft.client.renderer.entity.model.EntityModel;
  18. import net.minecraft.client.renderer.entity.MobRenderer;
  19.  
  20. import com.mojang.blaze3d.vertex.IVertexBuilder;
  21. import com.mojang.blaze3d.matrix.MatrixStack;
  22.  
  23. @OnlyIn(Dist.CLIENT)
  24. public class RoverRenderer {
  25. public static class ModelRegisterHandler {
  26. @SubscribeEvent
  27. @OnlyIn(Dist.CLIENT)
  28. public void registerModels(ModelRegistryEvent event) {
  29. RenderingRegistry.registerEntityRenderingHandler(RoverEntity.entity, renderManager -> {
  30. return new MobRenderer(renderManager, new Modelrover(), 0f) {
  31. @Override
  32. public ResourceLocation getEntityTexture(Entity entity) {
  33. return new ResourceLocation("boss_tools:textures/rover.png");
  34. }
  35. };
  36. });
  37. }
  38. }
  39.  
  40. // Made with Blockbench 3.8.2
  41. // Exported for Minecraft version 1.15
  42. // Paste this class into your mod and generate all required imports
  43. public static class Modelrover extends EntityModel<Entity> {
  44. private final ModelRenderer Frame;
  45. private final ModelRenderer cube_r1;
  46. private final ModelRenderer cube_r2;
  47. private final ModelRenderer cube_r3;
  48. private final ModelRenderer Wheel1;
  49. private final ModelRenderer Wheel2;
  50. private final ModelRenderer Wheel3;
  51. private final ModelRenderer Wheel4;
  52. private final ModelRenderer sat;
  53. private final ModelRenderer cube_r4;
  54. private final ModelRenderer cube_r5;
  55. public Modelrover() {
  56. textureWidth = 128;
  57. textureHeight = 128;
  58. Frame = new ModelRenderer(this);
  59. Frame.setRotationPoint(0.0F, 24.0F, 0.0F);
  60. Frame.setTextureOffset(0, 0).addBox(-7.0F, -4.0F, -21.0F, 14.0F, 1.0F, 29.0F, 0.0F, false);
  61. Frame.setTextureOffset(22, 32).addBox(5.0F, -6.0F, -15.0F, 0.0F, 2.0F, 10.0F, 0.0F, false);
  62. Frame.setTextureOffset(22, 30).addBox(-5.0F, -6.0F, -15.0F, 0.0F, 2.0F, 10.0F, 0.0F, false);
  63. Frame.setTextureOffset(33, 32).addBox(-7.0F, -3.0F, 5.0F, 14.0F, 1.0F, 1.0F, 0.0F, false);
  64. Frame.setTextureOffset(33, 30).addBox(-7.0F, -3.0F, -19.0F, 14.0F, 1.0F, 1.0F, 0.0F, false);
  65. Frame.setTextureOffset(31, 49).addBox(-5.0F, -5.0F, -22.0F, 4.0F, 1.0F, 5.0F, 0.0F, false);
  66. Frame.setTextureOffset(33, 36).addBox(-3.0F, -5.0F, -23.0F, 6.0F, 1.0F, 1.0F, 0.0F, false);
  67. Frame.setTextureOffset(0, 5).addBox(-1.0F, -5.0F, -22.0F, 3.0F, 1.0F, 1.0F, 0.0F, false);
  68. Frame.setTextureOffset(4, 7).addBox(-4.0F, -6.0F, -21.0F, 1.0F, 1.0F, 1.0F, 0.0F, false);
  69. Frame.setTextureOffset(0, 7).addBox(-4.0F, -9.0F, -21.0F, 1.0F, 1.0F, 1.0F, 0.0F, false);
  70. Frame.setTextureOffset(0, 51).addBox(3.0F, -20.0F, -22.0F, 1.0F, 17.0F, 1.0F, 0.0F, false);
  71. Frame.setTextureOffset(46, 54).addBox(-5.0F, -8.0F, -22.0F, 3.0F, 2.0F, 3.0F, 0.0F, false);
  72. Frame.setTextureOffset(13, 54).addBox(-5.0F, -11.0F, -22.0F, 3.0F, 2.0F, 3.0F, 0.0F, false);
  73. Frame.setTextureOffset(0, 40).addBox(-5.0F, -14.0F, 7.0F, 10.0F, 10.0F, 1.0F, 0.0F, false);
  74. Frame.setTextureOffset(0, 30).addBox(-6.0F, -5.0F, -5.0F, 12.0F, 1.0F, 9.0F, 0.0F, false);
  75. Frame.setTextureOffset(0, 20).addBox(-4.0F, -8.0F, -17.0F, 8.0F, 4.0F, 5.0F, 0.0F, false);
  76. Frame.setTextureOffset(0, 30).addBox(7.0F, -6.25F, -19.75F, 2.0F, 0.0F, 5.0F, 0.0F, false);
  77. Frame.setTextureOffset(0, 0).addBox(-9.0F, -6.25F, -19.75F, 2.0F, 0.0F, 5.0F, 0.0F, false);
  78. Frame.setTextureOffset(20, 20).addBox(7.0F, -6.25F, 4.25F, 2.0F, 0.0F, 5.0F, 0.0F, false);
  79. Frame.setTextureOffset(16, 20).addBox(-9.0F, -6.25F, 4.25F, 2.0F, 0.0F, 5.0F, 0.0F, false);
  80. Frame.setTextureOffset(22, 44).addBox(7.0F, -6.25F, -14.75F, 2.0F, 5.0F, 0.0F, 0.0F, false);
  81. Frame.setTextureOffset(0, 0).addBox(-9.0F, -6.25F, -14.75F, 2.0F, 5.0F, 0.0F, 0.0F, false);
  82. Frame.setTextureOffset(0, 30).addBox(7.0F, -6.25F, 9.25F, 2.0F, 5.0F, 0.0F, 0.0F, false);
  83. Frame.setTextureOffset(0, 20).addBox(-9.0F, -6.25F, 9.25F, 2.0F, 5.0F, 0.0F, 0.0F, false);
  84. cube_r1 = new ModelRenderer(this);
  85. cube_r1.setRotationPoint(0.0F, -4.8695F, 4.9914F);
  86. Frame.addChild(cube_r1);
  87. setRotationAngle(cube_r1, -0.1309F, 0.0F, 0.0F);
  88. cube_r1.setTextureOffset(0, 9).addBox(-6.0F, -9.0F, -1.0F, 12.0F, 10.0F, 1.0F, 0.0F, false);
  89. cube_r2 = new ModelRenderer(this);
  90. cube_r2.setRotationPoint(0.0F, -4.0F, -21.0F);
  91. Frame.addChild(cube_r2);
  92. setRotationAngle(cube_r2, -0.2182F, 0.0F, 0.0F);
  93. cube_r2.setTextureOffset(4, 51).addBox(-1.0F, -6.0F, 0.0F, 6.0F, 6.0F, 0.0F, 0.0F, false);
  94. cube_r3 = new ModelRenderer(this);
  95. cube_r3.setRotationPoint(0.0F, -4.9992F, -22.9995F);
  96. Frame.addChild(cube_r3);
  97. setRotationAngle(cube_r3, 0.5672F, 0.0F, 0.0F);
  98. cube_r3.setTextureOffset(31, 34).addBox(-3.0F, 0.0F, -2.0F, 6.0F, 0.0F, 2.0F, 0.0F, false);
  99. Wheel1 = new ModelRenderer(this);
  100. Wheel1.setRotationPoint(7.0F, 21.5F, -18.5F);
  101. Wheel1.setTextureOffset(46, 44).addBox(0.0F, -2.5F, -2.5F, 2.0F, 5.0F, 5.0F, 0.0F, false);
  102. Wheel2 = new ModelRenderer(this);
  103. Wheel2.setRotationPoint(8.0F, 21.5F, 5.5F);
  104. Wheel2.setTextureOffset(46, 34).addBox(-1.0F, -2.5F, -2.5F, 2.0F, 5.0F, 5.0F, 0.0F, false);
  105. Wheel3 = new ModelRenderer(this);
  106. Wheel3.setRotationPoint(-8.0F, 21.5F, -18.5F);
  107. Wheel3.setTextureOffset(37, 39).addBox(-1.0F, -2.5F, -2.5F, 2.0F, 5.0F, 5.0F, 0.0F, false);
  108. Wheel4 = new ModelRenderer(this);
  109. Wheel4.setRotationPoint(-8.0F, 21.5F, 5.5F);
  110. Wheel4.setTextureOffset(22, 44).addBox(-1.0F, -2.5F, -2.5F, 2.0F, 5.0F, 5.0F, 0.0F, false);
  111. sat = new ModelRenderer(this);
  112. sat.setRotationPoint(3.458F, 4.2756F, -21.5F);
  113. cube_r4 = new ModelRenderer(this);
  114. cube_r4.setRotationPoint(0.042F, -0.2756F, 0.0F);
  115. sat.addChild(cube_r4);
  116. setRotationAngle(cube_r4, 0.2618F, 0.0F, 0.0F);
  117. cube_r4.setTextureOffset(0, 0).addBox(-4.5F, 0.15F, -4.5F, 9.0F, 0.0F, 9.0F, 0.0F, false);
  118. cube_r5 = new ModelRenderer(this);
  119. cube_r5.setRotationPoint(-0.042F, -1.7244F, -0.379F);
  120. sat.addChild(cube_r5);
  121. setRotationAngle(cube_r5, 0.2618F, 0.0F, 0.0F);
  122. cube_r5.setTextureOffset(0, 35).addBox(-0.416F, -1.3511F, -0.531F, 1.0F, 3.0F, 1.0F, 0.0F, false);
  123. }
  124.  
  125. @Override
  126. public void render(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red, float green, float blue,
  127. float alpha) {
  128. matrixStack.scale(2.0f, 2.0f, 2.0f);
  129. matrixStack.translate(0.0D, -0.75D, 0.0D);
  130. Frame.render(matrixStack, buffer, packedLight, packedOverlay);
  131. Wheel1.render(matrixStack, buffer, packedLight, packedOverlay);
  132. Wheel2.render(matrixStack, buffer, packedLight, packedOverlay);
  133. Wheel3.render(matrixStack, buffer, packedLight, packedOverlay);
  134. Wheel4.render(matrixStack, buffer, packedLight, packedOverlay);
  135. sat.render(matrixStack, buffer, packedLight, packedOverlay);
  136. }
  137.  
  138. public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) {
  139. modelRenderer.rotateAngleX = x;
  140. modelRenderer.rotateAngleY = y;
  141. modelRenderer.rotateAngleZ = z;
  142. }
  143.  
  144. public void setRotationAngles(Entity e, float f, float f1, float f2, float f3, float f4) {
  145. // Animation1
  146. this.Wheel1.rotateAngleX = f2 / (180F / (float) Math.PI);
  147. this.Wheel2.rotateAngleX = f2 / (180F / (float) Math.PI);
  148. this.Wheel3.rotateAngleX = f2 / (180F / (float) Math.PI);
  149. this.Wheel4.rotateAngleX = f2 / (180F / (float) Math.PI);
  150. if (e instanceof LivingEntity) {
  151. if (e.getPersistentData().getDouble("Wheel") == 1) {
  152. this.Wheel1.rotateAngleX = (float) (f / 3);
  153. this.Wheel2.rotateAngleX = (float) (f / 3);
  154. this.Wheel3.rotateAngleX = (float) (f / 3);
  155. this.Wheel4.rotateAngleX = (float) (f / 3);
  156. }
  157. if (e.getPersistentData().getDouble("Wheel") == 0) {
  158. this.Wheel1.rotateAngleX = (float) - (f / 4);
  159. this.Wheel2.rotateAngleX = (float) - (f / 4);
  160. this.Wheel3.rotateAngleX = (float) - (f / 4);
  161. this.Wheel4.rotateAngleX = (float) - (f / 4);
  162. }
  163. System.out.println(this.Wheel1.rotateAngleX + " "+ f);
  164. }
  165. // sat
  166. this.sat.rotateAngleY = (float) f2 / 20f;
  167. // this.wellfront1.rotateAngleY = f2 / (180F / (float) Math.PI);
  168. // this.wellfront2.rotateAngleY = f2 / (180F / (float) Math.PI);
  169. if (e instanceof LivingEntity) {
  170. // this.wellfront1.rotateAngleY = (float) 0.3 /*((LivingEntity)
  171. // e).getPersistentData().getDouble("Wheel")*/;
  172. // this.wellfront2.rotateAngleY = (float) 0.3 /*((LivingEntity)
  173. // e).getPersistentData().getDouble("Wheel")*/;
  174. }
  175. }
  176. }
  177. }
  178.  
Advertisement
Add Comment
Please, Sign In to add comment