- 627
- 72
- 178
Делаю броню с моделью формата .java по гайду Oldestkon. При установке трёх методов setRotationAngleY(), setRotationAngleX(), setRotationPointY модель перестает рендериться, а консоль спамит ошибкой в краш-логе.
Java:
public class ModelGoggles extends ModelBiped {
// fields
ModelRenderer Shape1;
ModelRenderer Shape2;
ModelRenderer Shape3;
ModelRenderer Shape4;
ModelRenderer Shape5;
ModelRenderer Shape6;
ModelRenderer Shape7;
ModelRenderer Shape8;
ModelRenderer Shape9;
ModelRenderer Shape10;
ModelRenderer Shape11;
ModelRenderer Shape12;
ModelRenderer Shape13;
ModelRenderer Shape14;
ModelRenderer Shape15;
ModelRenderer Shape16;
ModelRenderer Shape17;
ModelRenderer Shape18;
ModelRenderer Shape19;
ModelRenderer Shape20;
ArrayList<ModelRenderer> modelList = new ArrayList<ModelRenderer>();
public ModelGoggles() {
textureWidth = 64;
textureHeight = 32;
modelList.add(Shape1);
modelList.add(Shape2);
modelList.add(Shape3);
modelList.add(Shape4);
modelList.add(Shape5);
modelList.add(Shape6);
modelList.add(Shape7);
modelList.add(Shape8);
modelList.add(Shape9);
modelList.add(Shape10);
modelList.add(Shape11);
modelList.add(Shape12);
modelList.add(Shape13);
modelList.add(Shape14);
modelList.add(Shape15);
modelList.add(Shape16);
modelList.add(Shape17);
modelList.add(Shape18);
modelList.add(Shape19);
modelList.add(Shape20);
Shape1 = new ModelRenderer(this, 0, 0);
Shape1.addBox(-3.8F, -5.5F, 3.15F, 8, 1, 1);
Shape1.setRotationPoint(0F, 0F, 0F);
Shape1.setTextureSize(64, 32);
Shape1.mirror = true;
setRotation(Shape1, 0F, 0F, 0F);
Shape2 = new ModelRenderer(this, 0, 0);
Shape2.addBox(-3.3F, -4F, -4.5F, 2, 1, 1);
Shape2.setRotationPoint(0F, 0F, 0F);
Shape2.setTextureSize(64, 32);
Shape2.mirror = true;
setRotation(Shape2, 0F, 0F, 0F);
Shape3 = new ModelRenderer(this, 0, 0);
Shape3.addBox(-1.3F, -6F, -4.5F, 1, 2, 1);
Shape3.setRotationPoint(0F, 0F, 0F);
Shape3.setTextureSize(64, 32);
Shape3.mirror = true;
setRotation(Shape3, 0F, 0F, 0F);
Shape4 = new ModelRenderer(this, 0, 0);
Shape4.addBox(-3.3F, -7F, -4.5F, 2, 1, 1);
Shape4.setRotationPoint(0F, 0F, 0F);
Shape4.setTextureSize(64, 32);
Shape4.mirror = true;
setRotation(Shape4, 0F, 0F, 0F);
Shape5 = new ModelRenderer(this, 0, 0);
Shape5.addBox(-0.5F, -5.5F, -4.45F, 1, 1, 1);
Shape5.setRotationPoint(0F, 0F, 0F);
Shape5.setTextureSize(64, 32);
Shape5.mirror = true;
setRotation(Shape5, 0F, 0F, 0F);
Shape6 = new ModelRenderer(this, 0, 0);
Shape6.addBox(1.25F, -7F, -4.5F, 2, 1, 1);
Shape6.setRotationPoint(0F, 0F, 0F);
Shape6.setTextureSize(64, 32);
Shape6.mirror = true;
setRotation(Shape6, 0F, 0F, 0F);
Shape7 = new ModelRenderer(this, 0, 0);
Shape7.addBox(3.25F, -6F, -4.5F, 1, 2, 1);
Shape7.setRotationPoint(0F, 0F, 0F);
Shape7.setTextureSize(64, 32);
Shape7.mirror = true;
setRotation(Shape7, 0F, 0F, 0F);
Shape8 = new ModelRenderer(this, 0, 0);
Shape8.addBox(1.25F, -4F, -4.5F, 2, 1, 1);
Shape8.setRotationPoint(0F, 0F, 0F);
Shape8.setTextureSize(64, 32);
Shape8.mirror = true;
setRotation(Shape8, 0F, 0F, 0F);
Shape9 = new ModelRenderer(this, 0, 0);
Shape9.addBox(0.32F, -6F, -4.5F, 1, 2, 1);
Shape9.setRotationPoint(0F, 0F, 0F);
Shape9.setTextureSize(64, 32);
Shape9.mirror = true;
setRotation(Shape9, 0F, 0F, 0F);
Shape10 = new ModelRenderer(this, 0, 0);
Shape10.addBox(-3.3F, -6F, -4.3F, 2, 2, 1);
Shape10.setRotationPoint(0F, 0F, 0F);
Shape10.setTextureSize(64, 32);
Shape10.mirror = true;
setRotation(Shape10, 0F, 0F, 0F);
Shape11 = new ModelRenderer(this, 0, 0);
Shape11.addBox(1.3F, -6F, -4.3F, 2, 2, 1);
Shape11.setRotationPoint(0F, 0F, 0F);
Shape11.setTextureSize(64, 32);
Shape11.mirror = true;
setRotation(Shape11, 0F, 0F, 0F);
Shape12 = new ModelRenderer(this, 0, 0);
Shape12.addBox(-4.28F, -6F, -4.5F, 1, 2, 1);
Shape12.setRotationPoint(0F, 0F, 0F);
Shape12.setTextureSize(64, 32);
Shape12.mirror = true;
setRotation(Shape12, 0F, 0F, 0F);
Shape13 = new ModelRenderer(this, 0, 0);
Shape13.addBox(3.2F, -5.5F, -3.85F, 1, 1, 8);
Shape13.setRotationPoint(0F, 0F, 0F);
Shape13.setTextureSize(64, 32);
Shape13.mirror = true;
setRotation(Shape13, 0F, 0F, 0F);
Shape14 = new ModelRenderer(this, 0, 0);
Shape14.addBox(-4.2F, -5.5F, -3.85F, 1, 1, 8);
Shape14.setRotationPoint(0F, 0F, 0F);
Shape14.setTextureSize(64, 32);
Shape14.mirror = true;
setRotation(Shape14, 0F, 0F, 0F);
Shape15 = new ModelRenderer(this, 0, 0);
Shape15.addBox(4.1F, -4.55F, 5.8F, 1, 1, 2);
Shape15.setRotationPoint(0F, 0F, 0F);
Shape15.setTextureSize(64, 32);
Shape15.mirror = true;
setRotation(Shape15, 1.015293F, 0.2850646F, 0.0174533F);
Shape16 = new ModelRenderer(this, 0, 0);
Shape16.addBox(4.09F, -6.31F, 0.15F, 1, 1, 2);
Shape16.setRotationPoint(0F, 0F, 0F);
Shape16.setTextureSize(64, 32);
Shape16.mirror = true;
setRotation(Shape16, 0.544054F, 0.2850646F, 0.0174533F);
Shape17 = new ModelRenderer(this, 0, 0);
Shape17.addBox(4.1F, -5.26F, 3.8F, 1, 1, 2);
Shape17.setRotationPoint(0F, 0F, 0F);
Shape17.setTextureSize(64, 32);
Shape17.mirror = true;
setRotation(Shape17, 0.8931199F, 0.2850646F, 0.0174533F);
Shape18 = new ModelRenderer(this, 0, 0);
Shape18.addBox(-5.06F, -6.31F, 0.15F, 1, 1, 2);
Shape18.setRotationPoint(0F, 0F, 0F);
Shape18.setTextureSize(64, 32);
Shape18.mirror = true;
setRotation(Shape18, 0.544047F, -0.2792527F, -0.0174533F);
Shape19 = new ModelRenderer(this, 0, 0);
Shape19.addBox(-5.05F, -5.26F, 3.8F, 1, 1, 2);
Shape19.setRotationPoint(0F, 0F, 0F);
Shape19.setTextureSize(64, 32);
Shape19.mirror = true;
setRotation(Shape19, 0.8931129F, -0.2792527F, -0.0174533F);
Shape20 = new ModelRenderer(this, 0, 0);
Shape20.addBox(-5.05F, -4.55F, 5.8F, 1, 1, 2);
Shape20.setRotationPoint(0F, 0F, 0F);
Shape20.setTextureSize(64, 32);
Shape20.mirror = true;
setRotation(Shape20, 1.015286F, -0.2792527F, -0.0174533F);
}
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
if (entity != null) {
super.render(entity, f, f1, f2, f3, f4, f5);
setRotationAngles(f, f1, f2, f3, f4, f5, entity);
Shape1.render(f5);
Shape2.render(f5);
Shape3.render(f5);
Shape4.render(f5);
Shape5.render(f5);
Shape6.render(f5);
Shape7.render(f5);
Shape8.render(f5);
Shape9.render(f5);
Shape10.render(f5);
Shape11.render(f5);
Shape12.render(f5);
Shape13.render(f5);
Shape14.render(f5);
Shape15.render(f5);
Shape16.render(f5);
Shape17.render(f5);
Shape18.render(f5);
Shape19.render(f5);
Shape20.render(f5);
} else {
return;
}
}
private void setRotation(ModelRenderer model, float x, float y, float z) {
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
@Override
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) {
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
setRotationAngleY(f3 / (180F / (float) Math.PI));
setRotationAngleX(f4 / (180F / (float) Math.PI));
if (isSneak)
setRotationPointY(1.0F);
else
setRotationPointY(0.0F);
}
private void setRotationAngleX(float angle) {
for (ModelRenderer modelRenderer : modelList) {
modelRenderer.rotateAngleX = angle;
}
}
private void setRotationAngleY(float angle) {
for (ModelRenderer modelRenderer : modelList) {
modelRenderer.rotateAngleY = angle;
}
}
private void setRotationPointY(float par) {
for (ModelRenderer modelRenderer : modelList) {
modelRenderer.rotationPointY = par;
}
}
}
- Краш-лог
-
[20:06:56] [Client thread/ERROR]: Couldn't render entity
java.lang.NullPointerException
at stflowerg.elvenmagic.client.ModelGoggles.setRotationAngleY(ModelGoggles.java:235) ~[ModelGoggles.class:?]
at stflowerg.elvenmagic.client.ModelGoggles.setRotationAngles(ModelGoggles.java:218) ~[ModelGoggles.class:?]
at net.minecraft.client.model.ModelBiped.render(ModelBiped.java:78) ~[ModelBiped.class:?]
at stflowerg.elvenmagic.client.ModelGoggles.render(ModelGoggles.java:182) ~[ModelGoggles.class:?]
at net.minecraft.client.renderer.entity.RendererLivingEntity.doRender(RendererLivingEntity.java:178) [RendererLivingEntity.class:?]
at net.minecraft.client.renderer.entity.RenderPlayer.doRender(RenderPlayer.java:167) [RenderPlayer.class:?]
at net.minecraft.client.renderer.entity.RenderPlayer.doRender(RenderPlayer.java:565) [RenderPlayer.class:?]
at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:300) [RenderManager.class:?]
at net.minecraft.client.renderer.entity.RenderManager.renderEntityWithPosYaw(RenderManager.java:283) [RenderManager.class:?]
at net.minecraft.client.gui.inventory.GuiInventory.func_147046_a(GuiInventory.java:112) [GuiInventory.class:?]
at net.minecraft.client.gui.inventory.GuiContainerCreative.drawGuiContainerBackgroundLayer(GuiContainerCreative.java:839) [GuiContainerCreative.class:?]
at net.minecraft.client.gui.inventory.GuiContainer.drawScreen(GuiContainer.java:93) [GuiContainer.class:?]
at net.minecraft.client.renderer.InventoryEffectRenderer.drawScreen(InventoryEffectRenderer.java:44) [InventoryEffectRenderer.class:?]
at net.minecraft.client.gui.inventory.GuiContainerCreative.drawScreen(GuiContainerCreative.java:673) [GuiContainerCreative.class:?]
at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1137) [EntityRenderer.class:?]
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1067) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:962) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_201]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
at GradleStart.main(Unknown Source) [start/:?]
Краш-лог:
[20:06:56] [Client thread/ERROR]: Couldn't render entity
java.lang.NullPointerException
at stflowerg.elvenmagic.client.ModelGoggles.setRotationAngleY(ModelGoggles.java:235) ~[ModelGoggles.class:?]
at stflowerg.elvenmagic.client.ModelGoggles.setRotationAngles(ModelGoggles.java:218) ~[ModelGoggles.class:?]
at net.minecraft.client.model.ModelBiped.render(ModelBiped.java:78) ~[ModelBiped.class:?]
at stflowerg.elvenmagic.client.ModelGoggles.render(ModelGoggles.java:182) ~[ModelGoggles.class:?]
at net.minecraft.client.renderer.entity.RendererLivingEntity.doRender(RendererLivingEntity.java:178) [RendererLivingEntity.class:?]
at net.minecraft.client.renderer.entity.RenderPlayer.doRender(RenderPlayer.java:167) [RenderPlayer.class:?]
at net.minecraft.client.renderer.entity.RenderPlayer.doRender(RenderPlayer.java:565) [RenderPlayer.class:?]
at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:300) [RenderManager.class:?]
at net.minecraft.client.renderer.entity.RenderManager.renderEntityWithPosYaw(RenderManager.java:283) [RenderManager.class:?]
at net.minecraft.client.gui.inventory.GuiInventory.func_147046_a(GuiInventory.java:112) [GuiInventory.class:?]
at net.minecraft.client.gui.inventory.GuiContainerCreative.drawGuiContainerBackgroundLayer(GuiContainerCreative.java:839) [GuiContainerCreative.class:?]
at net.minecraft.client.gui.inventory.GuiContainer.drawScreen(GuiContainer.java:93) [GuiContainer.class:?]
at net.minecraft.client.renderer.InventoryEffectRenderer.drawScreen(InventoryEffectRenderer.java:44) [InventoryEffectRenderer.class:?]
at net.minecraft.client.gui.inventory.GuiContainerCreative.drawScreen(GuiContainerCreative.java:673) [GuiContainerCreative.class:?]
at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1137) [EntityRenderer.class:?]
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1067) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:962) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_201]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
at GradleStart.main(Unknown Source) [start/:?]