Mach mal bei über der render-mthode ein @Override um zu schauen ob die auch wirklich überladen wird.
Ansonsten bei nen Absturz ohne Fehlermeldung kann ich dir nicht weiterhelfen.
Ja, es hat mich sehr viel weitergebracht!
Ja, es ist in Ordnung.
Jedes Tutorial ist gut!
Nein, ich mag keine Tutorials.
Ich weiß nicht, ob ich das jetz richtig gemacht hab, aber hier ist mein neuer Model Code:
Ich hab die Entitys vom Wolf kopiert und bei mir eingefügt.
Jetzt hab ich zwar keine Fehlermeldungen mehr, aber Minecraft stürzt trotzdem noch ab.
btw: Ich hab mir auch das Tut von @Sebgoehr (/LetheOfBavaria) angeschaut - das neueste, das ich finden konnte (2 Monate alt) - und versucht alles auf den "neuesten" Stand zu bringen.
Mach mal bei über der render-mthode ein @Override um zu schauen ob die auch wirklich überladen wird.
Ansonsten bei nen Absturz ohne Fehlermeldung kann ich dir nicht weiterhelfen.
Watson610 mag diesen Beitrag
achja, Fehlermeldungen...
und das @Override hab ich hinzugefügt. Ist aber alles beim Alten.Code:Skipping Entity with id -105 net.minecraft.src.ReportedException: Exception in world tick at net.minecraft.client.Minecraft.runTick(Minecraft.java:1877) at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:843) at net.minecraft.client.Minecraft.run(Minecraft.java:768) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NullPointerException at net.minecraft.src.NetClientHandler.handleMobSpawn(NetClientHandler.java:753) at net.minecraft.src.Packet24MobSpawn.processPacket(Packet24MobSpawn.java:137) at net.minecraft.src.MemoryConnection.processReadPackets(MemoryConnection.java:73) at net.minecraft.src.NetClientHandler.processReadPackets(NetClientHandler.java:91) at net.minecraft.src.WorldClient.tick(WorldClient.java:64) at net.minecraft.client.Minecraft.runTick(Minecraft.java:1861) ... 3 more
Geändert von Watson610 (02.01.2013 um 19:51 Uhr)
Du hast die Entity falsch registriert, die ID darf keine negative Zahl sein.
Watson610 mag diesen Beitrag
Ok danke, hab das jetzt korrigiert (zusammen mit ein paar anderen Fehlern, die ich erst jetzt bemerkt habe...)
Jetzt stürzt Minecraft zwar nicht mehr ab, aber die Textur wird falsch angezeigt. (Wie bei den Usern vor ca. 5 Seiten, allerdings habe ich das eingefügt:) Also hier nochmal meine überarbeiteten Codes:
mod_whale:
ModelWhale:
RenderWhale
EntityWhale:
Wobei ich auch vermerken sollte, dass das Ding Kuhgeräusche macht und Beef droppt, wie es in der Entity steht.
(Falls jemand ein gutes aktuelles (!) Tutorial kennt... immer nur her damit!)
public void AddRenderer(Map map)
wird geändert zu
@Override
public void addRenderer(Map map)
Watson610 mag diesen Beitrag
Hallo ich habe da ein kleines problem:
mein Mob spawnt einfach nicht.
Hier der Code:
mod_EmeraldTools:
EntityEmeraldGolem:Code:package net.minecraft.src; import java.util.ArrayList[]; import net.minecraft.client.Minecraft; public class mod_EmeraldTools extends BaseMod { public mod_EmeraldTools() { ModLoader.setInGameHook(this, true, true); ModLoader.registerEntityID(EntityEmeraldGolem.class, "Emerald Golem", ModLoader.getUniqueEntityId()); ModLoader.addSpawn("Emerald Golem", 12, 4, 4, EnumCreatureType.ambient, new BiomeGenBase[]{BiomeGenBase.plains}); } public void AddRenderer(Map map) { map.put(EntityEmeraldGolem.class, new RenderEmeraldGolem(new ModelEmeraldGolem(), 0.7F)); //0.7F = Shadow } @Override public String getVersion() { return "1.0"; } }
RenderEmeraldGolemCode:package net.minecraft.src; public class EntityEmeraldGolem extends EntityAnimal{ public EntityEmeraldGolem(World world){ super(world); texture = "EmeraldTools/mob/EmeraldGolem.png"; setSize(1.625F, 2.25F); } public void writeEntityToNBT(NBTTagCompound nbttagcompound){ super.readEntityFromNBT(nbttagcompound); } public void readEntityFromNBT(NBTTagCompound nbttagcompound){ super.readEntityFromNBT(nbttagcompound); } protected String getLivingSound(){ return null; } protected String getHurtSound() { return "mob.irongolem.hit"; } protected String getDeathSound() { return "mob.irongolem.death"; } protected void playStepSound(int par1, int par2, int par3, int par4) { this.func_85030_a("mob.irongolem.walk", 1.0F, 1.0F); } protected float getSoundVolume(){ return 0.4F; } protected int getgetDropItemId(){ return Item.emerald.shiftedIndex; } public EntityAgeable func_90011_a(EntityAgeable var1) { return null; } public int getMaxHealth() { return 100; } }
ModelEmeraldGolemCode:package net.minecraft.src; public class RenderEmeraldGolem extends RenderLiving { public RenderEmeraldGolem(ModelBase modelbase, float f) { super(modelbase, f); } public void renderEmeraldGolem(EntityEmeraldGolem entitydeer, double d, double d1, double d2, float f, float f1) { super.doRenderLiving(entitydeer, d, d1, d2, f, f1); } public void doRenderLiving(EntityLiving entityliving, double d, double d1, double d2, float f, float f1) { renderEmeraldGolem((EntityEmeraldGolem)entityliving, d, d1, d2, f, f1); } public void doRender(Entity entity, double d, double d1, double d2, float f, float f1) { renderEmeraldGolem((EntityEmeraldGolem)entity, d, d1, d2, f, f1); } }
Code:package net.minecraft.src; public class ModelEmeraldGolem extends ModelBase { //fields ModelRenderer Head; ModelRenderer BodyTop; ModelRenderer BodyBot; ModelRenderer ArmRightTop; ModelRenderer ArmRightBot; ModelRenderer ArmLeftTop; ModelRenderer ArmLeftBot; ModelRenderer LegRightTop; ModelRenderer LegRightBot; ModelRenderer LegLeftTop; ModelRenderer LegLeftBot; public ModelEmeraldGolem() { textureWidth = 256; textureHeight = 128; Head = new ModelRenderer(this, 19, 0); Head.addBox(0F, 0F, 0F, 6, 6, 6); Head.setRotationPoint(-3F, -12F, -8F); Head.setTextureSize(256, 128); Head.mirror = true; setRotation(Head, 0.3665191F, 0F, 0F); BodyTop = new ModelRenderer(this, 19, 13); BodyTop.addBox(0F, 0F, 0F, 18, 14, 9); BodyTop.setRotationPoint(-9F, -6F, -7F); BodyTop.setTextureSize(256, 128); BodyTop.mirror = true; setRotation(BodyTop, 0.3490659F, 0F, 0F); BodyBot = new ModelRenderer(this, 19, 37); BodyBot.addBox(0F, 0F, 0F, 16, 6, 7); BodyBot.setRotationPoint(-8F, 4F, -1F); BodyBot.setTextureSize(256, 128); BodyBot.mirror = true; setRotation(BodyBot, 0F, 0F, 0F); ArmRightTop = new ModelRenderer(this, 0, 13); ArmRightTop.addBox(0F, 0F, 0F, 4, 10, 5); ArmRightTop.setRotationPoint(-13F, -5F, -5F); ArmRightTop.setTextureSize(256, 128); ArmRightTop.mirror = true; setRotation(ArmRightTop, 0.3316126F, 0F, 0F); ArmRightBot = new ModelRenderer(this, 0, 29); ArmRightBot.addBox(0F, 0F, 0F, 4, 9, 5); ArmRightBot.setRotationPoint(-13F, 2F, -2F); ArmRightBot.setTextureSize(256, 128); ArmRightBot.mirror = true; setRotation(ArmRightBot, -0.1396263F, 0F, 0F); ArmLeftTop = new ModelRenderer(this, 74, 13); ArmLeftTop.addBox(0F, 0F, 0F, 4, 10, 5); ArmLeftTop.setRotationPoint(9F, -5F, -5F); ArmLeftTop.setTextureSize(256, 128); ArmLeftTop.mirror = true; setRotation(ArmLeftTop, 0.3316126F, 0F, 0F); ArmLeftBot = new ModelRenderer(this, 74, 29); ArmLeftBot.addBox(0F, 0F, 0F, 4, 9, 5); ArmLeftBot.setRotationPoint(9F, 2F, -2F); ArmLeftBot.setTextureSize(256, 128); ArmLeftBot.mirror = true; setRotation(ArmLeftBot, -0.1396263F, 0F, 0F); LegRightTop = new ModelRenderer(this, 19, 51); LegRightTop.addBox(0F, 0F, 0F, 4, 9, 5); LegRightTop.setRotationPoint(-7F, 8F, 0F); LegRightTop.setTextureSize(256, 128); LegRightTop.mirror = true; setRotation(LegRightTop, -0.3665191F, 0F, 0F); LegRightBot = new ModelRenderer(this, 19, 66); LegRightBot.addBox(0F, 0F, 0F, 4, 8, 5); LegRightBot.setRotationPoint(-7F, 16.4F, -3.2F); LegRightBot.setTextureSize(256, 128); LegRightBot.mirror = true; setRotation(LegRightBot, 0.1396263F, 0F, 0F); LegLeftTop = new ModelRenderer(this, 38, 51); LegLeftTop.addBox(0F, 0F, 0F, 4, 9, 5); LegLeftTop.setRotationPoint(3F, 8F, 0F); LegLeftTop.setTextureSize(256, 128); LegLeftTop.mirror = true; setRotation(LegLeftTop, -0.3665191F, 0F, 0F); LegLeftBot = new ModelRenderer(this, 38, 66); LegLeftBot.addBox(0F, 0F, 0F, 4, 8, 5); LegLeftBot.setRotationPoint(3F, 16.4F, -3.2F); LegLeftBot.setTextureSize(256, 128); LegLeftBot.mirror = true; setRotation(LegLeftBot, 0.1396263F, 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); Head.render(f5); BodyTop.render(f5); BodyBot.render(f5); ArmRightTop.render(f5); ArmRightBot.render(f5); ArmLeftTop.render(f5); ArmLeftBot.render(f5); LegRightTop.render(f5); LegRightBot.render(f5); LegLeftTop.render(f5); LegLeftBot.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) { ACHTUNG ! Kann es vllt an der null liegen ? super.setRotationAngles(f, f1, f2, f3, f4, f5, null); } }
steig auf forge um ist besser