Posted May 16, 201312 yr Hi, I would like to render a entity (not a LivingEntity), but i don't know how. Also google couldn't really help and Minecraft src is with par1, func_8843_a, etc just bad. So can sou find some documentation about this? Turakar (I'm using techne)
May 17, 201312 yr Author It would also be ok, if i can turn off the default moving of an EntityLiving.
May 17, 201312 yr Research Tile-entities my friend. They are the entities of the non living I am Mew. The Legendary Psychic. I behave oddly and am always playing practical jokes. I have also found that I really love making extremely long and extremely but sometimes not so descriptive variables. Sort of like what I just did there
May 17, 201312 yr Author Thats not exact. TileEntities aren't living, but they are still not a real Entity (look at EntityMinecart). TileEntities are bound to a block. What I want is a moving thing, which is in Minecraft a Entity. I also want knockback and health, so a EntizyLiving comes in mind. The problem is, that they're spinning their head randomly, ehat i don't want.
May 17, 201312 yr Can you post the entire model file? http://s13.postimg.org/z9mlly2av/siglogo.png[/img] My mods (Links coming soon) Cities | Roads | Remula | SilvaniaMod | MoreStats
May 17, 201312 yr Author The model works definetly, because i've got a TileEntity rendering with it for testing(some util classes i made).
May 18, 201312 yr Ok, but the animation code is done in the model file. So, if its head is moving, it's the model file that does that http://s13.postimg.org/z9mlly2av/siglogo.png[/img] My mods (Links coming soon) Cities | Roads | Remula | SilvaniaMod | MoreStats
May 19, 201312 yr Author Here's my model file: package mods.DroneMod.src.turakar.render.models; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class DroneModel extends ModelBase { //fields ModelRenderer droneBase; ModelRenderer droneLeftWing; ModelRenderer droneRightWing; public DroneModel() { textureWidth = 64; textureHeight = 32; droneBase = new ModelRenderer(this, 0, 0); droneBase.addBox(-3F, 0F, 0F, 6, 1, 1); droneBase.setRotationPoint(0F, 16F, 0F); droneBase.setTextureSize(64, 32); droneBase.mirror = true; setRotation(droneBase, 0F, 0F, 0F); droneLeftWing = new ModelRenderer(this, 20, 0); droneLeftWing.addBox(-2F, 0F, 0F, 4, 1, 1); droneLeftWing.setRotationPoint(0F, 16F, 1F); droneLeftWing.setTextureSize(64, 32); droneLeftWing.mirror = true; setRotation(droneLeftWing, 0F, 0F, 0F); droneRightWing = new ModelRenderer(this, 20, 0); droneRightWing.addBox(-2F, 0F, 0F, 4, 1, 1); droneRightWing.setRotationPoint(0F, 16F, -1F); droneRightWing.setTextureSize(64, 32); droneRightWing.mirror = true; setRotation(droneRightWing, 0F, 0F, 0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5); droneBase.render(f5); droneLeftWing.render(f5); droneRightWing.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) { super.setRotationAngles(f, f1, f2, f3, f4, f5, null); } }
May 19, 201312 yr Here's my model file: package mods.DroneMod.src.turakar.render.models; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class DroneModel extends ModelBase { //fields ModelRenderer droneBase; ModelRenderer droneLeftWing; ModelRenderer droneRightWing; public DroneModel() { textureWidth = 64; textureHeight = 32; droneBase = new ModelRenderer(this, 0, 0); droneBase.addBox(-3F, 0F, 0F, 6, 1, 1); droneBase.setRotationPoint(0F, 16F, 0F); droneBase.setTextureSize(64, 32); droneBase.mirror = true; setRotation(droneBase, 0F, 0F, 0F); droneLeftWing = new ModelRenderer(this, 20, 0); droneLeftWing.addBox(-2F, 0F, 0F, 4, 1, 1); droneLeftWing.setRotationPoint(0F, 16F, 1F); droneLeftWing.setTextureSize(64, 32); droneLeftWing.mirror = true; setRotation(droneLeftWing, 0F, 0F, 0F); droneRightWing = new ModelRenderer(this, 20, 0); droneRightWing.addBox(-2F, 0F, 0F, 4, 1, 1); droneRightWing.setRotationPoint(0F, 16F, -1F); droneRightWing.setTextureSize(64, 32); droneRightWing.mirror = true; setRotation(droneRightWing, 0F, 0F, 0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, -entity); droneBase.render(f5); droneLeftWing.render(f5); droneRightWing.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); } } Hmm, I was expecting rotation code, but tehre wasn't any. However, there is one bug in Techne, it misses a few Entity references that you need to add. 4 in total, I added them in the code above with a - infront of them. That may fix it- give it a try. http://s13.postimg.org/z9mlly2av/siglogo.png[/img] My mods (Links coming soon) Cities | Roads | Remula | SilvaniaMod | MoreStats
May 19, 201312 yr Author Added - no improve I think this part is done in EntityLiving. If you want, you may give it a look.
May 20, 201312 yr Author Finally, i got it. The trick is, that minecrafft is using two types of AI (an old one and a new one). The old one has at default a random "wander around" feature which you cant really turn off. The new AI does by default nothing, and that's exactly what i wanted. In order to enable the new AI, you have to add the following lines to your Entity class: @Override public boolean isAIEnabled() { return true; }
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.