Posted November 9, 201212 yr Hello, Today I started modding, and I tried around with models and rendering, and I discovered something strange: So here is what I want to have (I made this in "Techne" and just copied the right values in my Model): And this is my code for the model: package net.minecraft.src.Rictas; import net.minecraft.src.Entity; import net.minecraft.src.ModelBase; import net.minecraft.src.ModelRenderer; public class ModelEnergyCable extends ModelBase { /* * [0] = front * [1] = back * [2] = left * [3] = right * [4] = top * [5] = down * [6] center */ ModelRenderer[] models = new ModelRenderer[7]; private float[][] modelOff = new float[][] { { -1F, -1F, 0F}/*front*/, { -1F, -1F, 0F}/*back*/, {-1F, -1F, 0F}/*left*/, {-1F, -1F, 0F}/*right*/, {-1F, -1F, 0F}/*top*/, {-1F, -1F, 0F}/*down*/, {-1.5F, -1.5F, -1.5F}/*center*/ }; private int[][] modelDim = new int[][] { {2, 2, 8 }/*front*/, {2, 2, 8 }/*back*/, {2, 2, 8}/*left*/, {2, 2, 8}/*right*/, {2, 2, 8}/*top*/, {2, 2, 8}/*down*/, { 3, 3, 3}/*center*/ }; private float[][] modelRotations = new float[][] { {0F, 3.141593F, 0.7853982F}/*front*/, { 0F, 0F, 0.7853982F}/*back*/, { 0F, 1.570796F, 0.7853982F}/*left*/, {0F, -1.570796F, 0.7853982F}/*right*/, {1.570796F, 0.7853982F, 0F}/*top*/, {-1.570796F, 0.7853982F, 0F}/*down*/, {0F, 0F, 0F}/*center*/ }; public ModelEnergyCable() { textureWidth = 32; textureHeight = 32; for(int i=0; i<7; i++) { models = new ModelRenderer(this, 0, 0); models.addBox(modelOff[0],modelOff[1],modelOff[2],modelDim[0],modelDim[1],modelDim[2]); models.setRotationPoint(0F, 0F, 0F); models.setTextureSize(32, 32); setRotation(models, modelRotations[0], modelRotations[1], modelRotations[2]); } } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5,boolean[] conSides) { super.render(entity, f, f1, f2, f3, f4, f5); //setRotationAngles(f, f1, f2, f3, f4, f5, entity); models[6].render(f5); for(int i=0;i<6;i++) { if(conSides) { models.render(f5); } } } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } 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); } } And this is how it looks like in minecraft: The right and left box aren't rotated properly... So I changed the rotation-angles of the left and right arm. When I change the y-angle the box move forward/backward like its supposed to do. BUT when I change the x AND/OR z angle, my box is always going down/up... thats weird. My rotation point is in the middle of the block. I hope you know what I mean, and if it helps I can upload the code for that and/or add more screenshot which show you what I mean. I use ForgeVerion: 4.2.6:422 Rictas
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.