Jump to content

Nero90

Members
  • Posts

    4
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • Personal Text
    I am new!

Nero90's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. I found the "entity undersized" error and solfed it by myself! I had to change the public class ModelMyEntity extends ModelBase to public class ModelMyEntity extends ModelBiped and add the variables ModelRenderer Armleft, Armright and init them like the legs. For everyone with the same problem, the corrected ModelMyEntity class: import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelMyEntity extends ModelBiped{ //fields ModelRenderer Legleft; ModelRenderer Legright; ModelRenderer Armleft; ModelRenderer Armright; ModelRenderer Body; ModelRenderer Head; public ModelNpc(){ textureWidth = 64; textureHeight = 32; //Legleft Legleft = new ModelRenderer(this, 11, 21); Legleft.addBox(-1F, 0F, -1F, 2, 6, 2); Legleft.setRotationPoint(2F, 18F, 0F); Legleft.setTextureSize(64, 32); Legleft.mirror = true; setRotation(Legleft, 0F, 0F, 0F); //Legright Legright = new ModelRenderer(this, 29, 21); Legright.addBox(-1F, 0F, -1F, 2, 6, 2); Legright.setRotationPoint(-2F, 18F, 0F); Legright.setTextureSize(64, 32); Legright.mirror = true; setRotation(Legright, 0F, 0F, 0F); //Armleft Armleft = new ModelRenderer(this, 11, 21); Armleft.addBox(-1F, 0F, -1F, 2, 6, 2); Armleft.setRotationPoint(2F, 18F, 0F); Armleft.setTextureSize(64, 32); Armleft.mirror = true; setRotation(Armleft, 0F, 0F, 0F); //Armright Armright = new ModelRenderer(this, 29, 21); Armright.addBox(-1F, 0F, -1F, 2, 6, 2); Armright.setRotationPoint(-2F, 18F, 0F); Armright.setTextureSize(64, 32); Armright.mirror = true; setRotation(Armright, 0F, 0F, 0F); //Body Body = new ModelRenderer(this, 14, 10); Body.addBox(-3.5F, -3F, -2F, 7, 6, 4); Body.setRotationPoint(0F, 15.16667F, 0F); Body.setTextureSize(64, 32); Body.mirror = true; setRotation(Body, 0F, 0F, 0F); //Head Head = new ModelRenderer(this, 17, 3); Head.addBox(-1.5F, -3F, -1.5F, 3, 3, 3); Head.setRotationPoint(0F, 12F, 0F); Head.setTextureSize(64, 32); Head.mirror = true; setRotation(Head, 0F, 0F, 0F); } @Override public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7){ super.render(par1Entity, par2, par3, par4, par5, par6, par7); setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); Legleft.render(par7); Legright.render(par7); Armleft.render(par7); Armright.render(par7); Body.render(par7); Head.render(par7); } 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 par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity){ super.setRotationAngles(par1, par2, par3, par4, par5, par6, par7Entity); } } Topic can be closed.
  2. I found the solution for the "entity-spawn-bug". I added a /mymod spawn command and it worked. Spawned at the players position. So I thigured out, that the entity was spawned with the hoe, but stuck inside the block I klicked on (the entity is still 1 block high -.-). So I set y-pos to event.y+1. But now I get another bug: If I spawn an entity with the hoe, It spawned two. I tried to cancel the event (event.setCanceled(true)) but it still spawn two entitys. No problem with the spawn command anyway.
  3. Hello everyone! I'm trying to spawn a custom npc, but it's not working as expected.^^ Look at this: This should be a normal player-sized entity. But for any reason its...well...undersized. Do somebody hava an idea why this happens? Java Code: Class RenderNpc import net.minecraft.client.model.ModelBase; import net.minecraft.client.renderer.entity.RenderLiving; import net.minecraft.entity.Entity; import net.minecraft.util.ResourceLocation; public class RenderNpc extends RenderLiving{ private static final ResourceLocation Npc_Texture = new ResourceLocation("mymod:textures/entity/skin_smith.png"); public RenderNpc(ModelBase par1ModelBase, float par2) { super(par1ModelBase, par2); } @Override protected ResourceLocation getEntityTexture(Entity par1Entity) { return Npc_Texture; } } Class ModelNpc (Copy&Paste from a tutorial) import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelNpc extends ModelBase{ //fields ModelRenderer Legleft; ModelRenderer Legright; ModelRenderer Body; ModelRenderer Head; public ModelNpc(){ textureWidth = 64; textureHeight = 32; Legleft = new ModelRenderer(this, 11, 21); Legleft.addBox(-1F, 0F, -1F, 2, 6, 2); Legleft.setRotationPoint(2F, 18F, 0F); Legleft.setTextureSize(64, 32); Legleft.mirror = true; setRotation(Legleft, 0F, 0F, 0F); Legright = new ModelRenderer(this, 29, 21); Legright.addBox(-1F, 0F, -1F, 2, 6, 2); Legright.setRotationPoint(-2F, 18F, 0F); Legright.setTextureSize(64, 32); Legright.mirror = true; setRotation(Legright, 0F, 0F, 0F); Body = new ModelRenderer(this, 14, 10); Body.addBox(-3.5F, -3F, -2F, 7, 6, 4); Body.setRotationPoint(0F, 15.16667F, 0F); Body.setTextureSize(64, 32); Body.mirror = true; setRotation(Body, 0F, 0F, 0F); Head = new ModelRenderer(this, 17, 3); Head.addBox(-1.5F, -3F, -1.5F, 3, 3, 3); Head.setRotationPoint(0F, 12F, 0F); Head.setTextureSize(64, 32); Head.mirror = true; setRotation(Head, 0F, 0F, 0F); } public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7){ super.render(par1Entity, par2, par3, par4, par5, par6, par7); setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); Legleft.render(par7); Legright.render(par7); Body.render(par7); Head.render(par7); } private void setRotation(ModelRenderer model, float x, float y, float z){ model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity){ super.setRotationAngles(par1, par2, par3, par4, par5, par6, par7Entity); } } Class ClientProxy import com.npctowns.entity.EntityNpc; import com.npctowns.entity.ModelNpc; import com.npctowns.entity.RenderNpc; import cpw.mods.fml.client.registry.RenderingRegistry; public class ClientProxy extends NpcTownsProxy{ @Override public void registerRenderers(){ RenderingRegistry.registerEntityRenderingHandler(EntityNpc.class, new RenderNpc(new ModelNpc(), 0F)); } } Class Main - loadInit() function @EventHandler public void loadInit(FMLPreInitializationEvent event){ MinecraftForge.EVENT_BUS.register(new ChatMessageHandler()); MinecraftForge.EVENT_BUS.register(new BasicEventHandler()); MinecraftForge.EVENT_BUS.register(new NpcEventHandler()); int id=0; EntityRegistry.registerModEntity(EntityNpc.class, "Basic Npc", id, this, 80, 1, true); id++; EntityRegistry.addSpawn(EntityNpc.class, 2, 0, 1, EnumCreatureType.creature, BiomeGenBase.plains); proxy.registerRenderers(); } Hopefully you can help me, thanks. Oh before I forgot: One more Question! I tried to spawn an entity manually with a wooden hoe inside my eventHandler. The process itself seems to be working, but the entity is invisible. Code-snippet from my EventHandler-Class: @Override @SubscribeEvent public void onUseHoe(UseHoeEvent event) { if(event.current.getItem().equals(Items.wooden_hoe)){ System.out.println("[ToDev]: Spawning entity!"); Entity entity; entity = new EntityNpc(event.world); entity.setPosition(event.x,event.y,event.z); event.world.spawnEntityInWorld(entity); } }
  4. Hello everybody. It's my first time, that I develop a mod for Forge. I watched several tutorials, but there is one big question: How do I "catch" the player's chat input? I want to react on commands. Example: The player types "/myMod help" into the chat. And I want to send the player a message like "[myMod]: Here you got the help!" or do some other stuff depending what the player is typing. Some sourcecode examples would be nice. Thanks for the help. Nero90
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.