Vai al contenuto
Il server del mese è
Visita la nostra nuova lista server!

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

  • 0
daviyo5

Problema Crash Client Post-Mod

Domanda

Salve simpaticoni, tornando a lavorare sulla mod di Minecraft Tribes ho avuto questo piccolo problema di crash del gioco:

Minecraft has stopped running because it encountered a problem; Unexpected error

This error has been saved to blablablabla...

--- BEGIN ERROR REPORT f602334b --------

Generated 08/09/12 2.23

- Minecraft Version: 1.3.2

- Operating System: Windows Vista (x86) version 6.0

- Java Version: 1.7.0, Oracle Corporation

- Java VM Version: Java HotSpot Client VM (mixed mode), Oracle Corporation

- Memory: 954569032 bytes (910 MB) / 1060372480 bytes (1011 MB) up to 1060372480 bytes (1011 MB)

- JVM Flags: 3 total; -Xincgc -Xms1024M -Xmx1024M

- LWJGL: 2.4.2

- OpenGL: GeForce 9200M GE/PCI/SSE2 GL version 3.3.0, NVIDIA Corporation

- Is Modded: Very likely

- Type: Client

- Texture Pack: Default

- Profiler Position: N/A (disabled)

- World MpServer Entities: 1 total; [EntityClientPlayerMP['Player809'/504, l='MpServer', x=256,25, y=76,62, z=249,51]]

- World MpServer Players: 1 total; [EntityClientPlayerMP['Player809'/504, l='MpServer', x=256,25, y=76,62, z=249,51]]

- World MpServer Chunk Stats: MultiplayerChunkCache: 5

- Forced Entities: 1 total; [EntityClientPlayerMP['Player809'/504, l='MpServer', x=256,25, y=76,62, z=249,51]]

- Retry Entities: 0 total; []

java.lang.NullPointerException

at net.minecraft.src.NetClientHandler.handleMobSpawn(NetClientHandler.java:725)

at net.minecraft.src.Packet24MobSpawn.processPacket(Packet24MobSpawn.java:137)

at net.minecraft.src.MemoryConnection.processReadPackets(MemoryConnection.java:70)

at net.minecraft.client.Minecraft.runTick(Minecraft.java:1780)

at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:821)

at net.minecraft.client.Minecraft.run(Minecraft.java:751)

at java.lang.Thread.run(Thread.java:722)

--- END ERROR REPORT 77a4dff7 ----------

Ora faccio il quadro della situazione, avevo lasciato minecraft che era già modificato, avevo aggiunto solo uno strumento e lo startclient di MCP non dava alcun problema, poi di recente ci ho rimesso le mani e....questo problema si è presentato dopo che avevo cercato di creare nuovi mob.... qualcuno sa come posso finire una volta per tutte la mod???

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

10 risposte a questa domanda

Recommended Posts

Posta il codice dove aggiungi i mob.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

ok ecco il codice dell'entità:

package net.minecraft.src;

public class EntityConsumedSkeleton extends EntityMob

{

/** The ItemStack that any Skeleton holds (a bow). */

private static final ItemStack defaultHeldItem = new ItemStack(Item.bone, 1);

public EntityConsumedSkeleton(World par1World)

{

super(par1World);

this.texture = "/mob/ConsumedSkeleton.png";

this.moveSpeed = 0.25F;

this.tasks.addTask(0, new EntityAISwimming(this));

this.tasks.addTask(1, new EntityAIBreakDoor(this));

this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPlayer.class, this.moveSpeed, false));

this.tasks.addTask(3, new EntityAIAttackOnCollide(this, EntityVillager.class, this.moveSpeed, true));

this.tasks.addTask(4, new EntityAIMoveTwardsRestriction(this, this.moveSpeed));

this.tasks.addTask(5, new EntityAIMoveThroughVillage(this, this.moveSpeed, false));

this.tasks.addTask(6, new EntityAIWander(this, this.moveSpeed));

this.tasks.addTask(7, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F));

this.tasks.addTask(7, new EntityAILookIdle(this));

this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false));

this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 16.0F, 0, true));

this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityVillager.class, 16.0F, 0, false));

}

/**

* Returns true if the newer Entity AI code should be run

*/

public boolean isAIEnabled()

{

return true;

}

public int getMaxHealth()

{

return 25;

}

/**

* Returns the sound this mob makes while it's alive.

*/

protected String getLivingSound()

{

return "mob.skeleton";

}

/**

* Returns the sound this mob makes when it is hurt.

*/

protected String getHurtSound()

{

return "mob.skeletonhurt";

}

/**

* Returns the sound this mob makes on death.

*/

protected String getDeathSound()

{

return "mob.skeletonhurt";

}

/**

* Returns the item that this EntityLiving is holding, if any.

*/

public ItemStack getHeldItem()

{

return defaultHeldItem;

}

/**

* Get this Entity's EnumCreatureAttribute

*/

public EnumCreatureAttribute getCreatureAttribute()

{

return EnumCreatureAttribute.UNDEAD;

}

/**

* Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons

* use this to react to sunlight and start to burn.

*/

public void onLivingUpdate()

{

if (this.worldObj.isDaytime() && !this.worldObj.isRemote)

{

float var1 = this.getBrightness(1.0F);

if (var1 > 0.5F && this.worldObj.canBlockSeeTheSky(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ)) && this.rand.nextFloat() * 30.0F < (var1 - 0.4F) * 2.0F)

{

this.setFire(8);

}

}

super.onLivingUpdate();

}

/**

* Called when the mob's health reaches 0.

*/

public void onDeath(DamageSource par1DamageSource)

{

super.onDeath(par1DamageSource);

if (par1DamageSource.getSourceOfDamage() instanceof EntityArrow && par1DamageSource.getEntity() instanceof EntityPlayer)

{

EntityPlayer var2 = (EntityPlayer)par1DamageSource.getEntity();

double var3 = var2.posX - this.posX;

double var5 = var2.posZ - this.posZ;

if (var3 * var3 + var5 * var5 >= 2500.0D)

{

var2.triggerAchievement(AchievementList.snipeSkeleton);

}

}

}

/**

* Returns the item ID for the item the mob drops on death.

*/

protected int getDropItemId()

{

return Item.arrow.shiftedIndex;

}

/**

* Drop 0-2 items of this living's type

*/

protected void dropFewItems(boolean par1, int par2)

{

int var3 = this.rand.nextInt(3 + par2);

int var4;

for (var4 = 0; var4 < var3; ++var4)

{

this.dropItem(Item.bone.shiftedIndex, 1);

}

}

protected void dropRareDrop(int par1)

{

if (par1 > 0)

{

ItemStack var2 = new ItemStack(Item.bow);

EnchantmentHelper.addRandomEnchantment(this.rand, var2, 5);

this.entityDropItem(var2, 0.0F);

}

else

{

this.dropItem(Item.bow.shiftedIndex, 1);

}

}

}

poi la EntityList:

package net.minecraft.src;

import java.util.HashMap;

import java.util.LinkedHashMap;

import java.util.Map;

public class EntityList

{

/** Provides a mapping between entity classes and a string */

private static Map stringToClassMapping = new HashMap();

/** Provides a mapping between a string and an entity classes */

private static Map classToStringMapping = new HashMap();

/** provides a mapping between an entityID and an Entity Class */

private static Map IDtoClassMapping = new HashMap();

/** provides a mapping between an Entity Class and an entity ID */

private static Map classToIDMapping = new HashMap();

/** Maps entity names to their numeric identifiers */

private static Map stringToIDMapping = new HashMap();

/** This is a HashMap of the Creative Entity Eggs/Spawners. */

public static HashMap entityEggs = new LinkedHashMap();

/**

* adds a mapping between Entity classes and both a string representation and an ID

*/

private static void addMapping(Class par0Class, String par1Str, int par2)

{

stringToClassMapping.put(par1Str, par0Class);

classToStringMapping.put(par0Class, par1Str);

IDtoClassMapping.put(Integer.valueOf(par2), par0Class);

classToIDMapping.put(par0Class, Integer.valueOf(par2));

stringToIDMapping.put(par1Str, Integer.valueOf(par2));

}

/**

* Adds a entity mapping with egg info.

*/

private static void addMapping(Class par0Class, String par1Str, int par2, int par3, int par4)

{

addMapping(par0Class, par1Str, par2);

entityEggs.put(Integer.valueOf(par2), new EntityEggInfo(par2, par3, par4));

}

/**

* Create a new instance of an entity in the world by using the entity name.

*/

public static Entity createEntityByName(String par0Str, World par1World)

{

Entity var2 = null;

try

{

Class var3 = (Class)stringToClassMapping.get(par0Str);

if (var3 != null)

{

var2 = (Entity)var3.getConstructor(new Class[] {World.class}).newInstance(new Object[] {par1World});

}

}

catch (Exception var4)

{

var4.printStackTrace();

}

return var2;

}

/**

* create a new instance of an entity from NBT store

*/

public static Entity createEntityFromNBT(NBTTagCompound par0NBTTagCompound, World par1World)

{

Entity var2 = null;

try

{

Class var3 = (Class)stringToClassMapping.get(par0NBTTagCompound.getString("id"));

if (var3 != null)

{

var2 = (Entity)var3.getConstructor(new Class[] {World.class}).newInstance(new Object[] {par1World});

}

}

catch (Exception var4)

{

var4.printStackTrace();

}

if (var2 != null)

{

var2.readFromNBT(par0NBTTagCompound);

}

else

{

System.out.println("Skipping Entity with id " + par0NBTTagCompound.getString("id"));

}

return var2;

}

/**

* Create a new instance of an entity in the world by using an entity ID.

*/

public static Entity createEntityByID(int par0, World par1World)

{

Entity var2 = null;

try

{

Class var3 = (Class)IDtoClassMapping.get(Integer.valueOf(par0));

if (var3 != null)

{

var2 = (Entity)var3.getConstructor(new Class[] {World.class}).newInstance(new Object[] {par1World});

}

}

catch (Exception var4)

{

var4.printStackTrace();

}

if (var2 == null)

{

System.out.println("Skipping Entity with id " + par0);

}

return var2;

}

/**

* gets the entityID of a specific entity

*/

public static int getEntityID(Entity par0Entity)

{

Class var1 = par0Entity.getClass();

return classToIDMapping.containsKey(var1) ? ((Integer)classToIDMapping.get(var1)).intValue() : 0;

}

/**

* Gets the string representation of a specific entity.

*/

public static String getEntityString(Entity par0Entity)

{

return (String)classToStringMapping.get(par0Entity.getClass());

}

/**

* Finds the class using IDtoClassMapping and classToStringMapping

*/

public static String getStringFromID(int par0)

{

Class var1 = (Class)IDtoClassMapping.get(Integer.valueOf(par0));

return var1 != null ? (String)classToStringMapping.get(var1) : null;

}

static

{

addMapping(EntityItem.class, "Item", 1);

addMapping(EntityXPOrb.class, "XPOrb", 2);

addMapping(EntityPainting.class, "Painting", 9);

addMapping(EntityArrow.class, "Arrow", 10);

addMapping(EntitySnowball.class, "Snowball", 11);

addMapping(EntityFireball.class, "Fireball", 12);

addMapping(EntitySmallFireball.class, "SmallFireball", 13);

addMapping(EntityEnderPearl.class, "ThrownEnderpearl", 14);

addMapping(EntityEnderEye.class, "EyeOfEnderSignal", 15);

addMapping(EntityPotion.class, "ThrownPotion", 16);

addMapping(EntityExpBottle.class, "ThrownExpBottle", 17);

addMapping(EntityTNTPrimed.class, "PrimedTnt", 20);

addMapping(EntityFallingSand.class, "FallingSand", 21);

addMapping(EntityMinecart.class, "Minecart", 40);

addMapping(EntityBoat.class, "Boat", 41);

addMapping(EntityLiving.class, "Mob", 48);

addMapping(EntityMob.class, "Monster", 49);

addMapping(EntityCreeper.class, "Creeper", 50, 894731, 0);

addMapping(EntitySkeleton.class, "Skeleton", 51, 12698049, 4802889);

addMapping(EntityConsumedSkeleton.class, "Consumed Skeleton", 201);

addMapping(EntityBillythebone.class, "Billy", 202);

addMapping(EntityGhastLord.class, "Ghast Lord", 203);

addMapping(EntitySpider.class, "Spider", 52, 3419431, 11013646);

addMapping(EntityGiantZombie.class, "Giant", 53);

addMapping(EntityZombie.class, "Zombie", 54, 44975, 7969893);

addMapping(EntitySlime.class, "Slime", 55, 5349438, 8306542);

addMapping(EntityGhast.class, "Ghast", 56, 16382457, 12369084);

addMapping(EntityPigZombie.class, "PigZombie", 57, 15373203, 5009705);

addMapping(EntityEnderman.class, "Enderman", 58, 1447446, 0);

addMapping(EntityCaveSpider.class, "CaveSpider", 59, 803406, 11013646);

addMapping(EntitySilverfish.class, "Silverfish", 60, 7237230, 3158064);

addMapping(EntityBlaze.class, "Blaze", 61, 16167425, 16775294);

addMapping(EntityMagmaCube.class, "LavaSlime", 62, 3407872, 16579584);

addMapping(EntityDragon.class, "EnderDragon", 63);

addMapping(EntityPig.class, "Pig", 90, 15771042, 14377823);

addMapping(EntitySheep.class, "Sheep", 91, 15198183, 16758197);

addMapping(EntityCow.class, "Cow", 92, 4470310, 10592673);

addMapping(EntityChicken.class, "Chicken", 93, 10592673, 16711680);

addMapping(EntitySquid.class, "Squid", 94, 2243405, 7375001);

addMapping(EntityWolf.class, "Wolf", 95, 14144467, 13545366);

addMapping(EntityMooshroom.class, "MushroomCow", 96, 10489616, 12040119);

addMapping(EntitySnowman.class, "SnowMan", 97);

addMapping(EntityOcelot.class, "Ozelot", 98, 15720061, 5653556);

addMapping(EntityIronGolem.class, "VillagerGolem", 99);

addMapping(EntityVillager.class, "Villager", 120, 5651507, 12422002);

addMapping(EntityEnderCrystal.class, "EnderCrystal", 200);

}

}

Questo è il codice dello spawn sul bioma base(solo la parte dello spawn dei mobs

protected BiomeGenBase(int par1)

{

this.topBlock = (byte)Block.grass.blockID;

this.fillerBlock = (byte)Block.dirt.blockID;

this.field_76754_C = 5169201;

this.minHeight = 0.1F;

this.maxHeight = 0.3F;

this.temperature = 0.5F;

this.rainfall = 0.5F;

this.waterColorMultiplier = 16777215;

this.spawnableMonsterList = new ArrayList();

this.spawnableCreatureList = new ArrayList();

this.spawnableWaterCreatureList = new ArrayList();

this.enableRain = true;

this.worldGeneratorTrees = new WorldGenTrees(false);

this.worldGeneratorBigTree = new WorldGenBigTree(false);

this.worldGeneratorForest = new WorldGenForest(false);

this.worldGeneratorSwamp = new WorldGenSwamp();

this.biomeID = par1;

biomeList[par1] = this;

this.theBiomeDecorator = this.createBiomeDecorator();

this.spawnableCreatureList.add(new SpawnListEntry(EntitySheep.class, 12, 4, 4));

this.spawnableCreatureList.add(new SpawnListEntry(EntityPig.class, 10, 4, 4));

this.spawnableCreatureList.add(new SpawnListEntry(EntityChicken.class, 10, 4, 4));

this.spawnableCreatureList.add(new SpawnListEntry(EntityCow.class, 8, 4, 4));

this.spawnableMonsterList.add(new SpawnListEntry(EntitySpider.class, 10, 4, 4));

this.spawnableMonsterList.add(new SpawnListEntry(EntityZombie.class, 10, 4, 4));

this.spawnableMonsterList.add(new SpawnListEntry(EntitySkeleton.class, 10, 4, 4));

this.spawnableMonsterList.add(new SpawnListEntry(EntityConsumedSkeleton.class, 10, 4, 4));

this.spawnableMonsterList.add(new SpawnListEntry(EntityCreeper.class, 10, 4, 4));

this.spawnableMonsterList.add(new SpawnListEntry(EntitySlime.class, 10, 4, 4));

this.spawnableMonsterList.add(new SpawnListEntry(EntityEnderman.class, 1, 1, 4));

this.spawnableWaterCreatureList.add(new SpawnListEntry(EntitySquid.class, 10, 4, 4));

}

Finora non ho mai usato Modloader e fino alla versione 1.7.3 i mobs funzionavano...erano strani ma funzionavano...adesso ho appena cominciato a moddare in usando Modloader ma da ciò che ho letto poco fa fra Modloader e i mob non corre buon sangue

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Passare a Forge? :P

Comunque forse non hai registrato l'entity.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Passare a Forge? :P

Comunque forse non hai registrato l'entity.

perdona l'ignoranza ma devo chiedere...Forge???

e che intendi con registrare l'entità?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

perdona l'ignoranza ma devo chiedere...Forge???

e che intendi con registrare l'entità?

Non conosci forge?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

come ho già spiegato, tutte le modficihe che ho fatto le ho sempre effettuate senza Modloader o altro perchè non ho mai capito come funzionassero, e ancora adesso non riesco a trovare un tutorial per uno o per l'altro degno di questo nome

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

come ho già spiegato, tutte le modficihe che ho fatto le ho sempre effettuate senza Modloader o altro perchè non ho mai capito come funzionassero, e ancora adesso non riesco a trovare un tutorial per uno o per l'altro degno di questo nome

Di tutorial non ce ne sono penso..

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Di tutorial non ce ne sono penso..

magnifico..beh lo ammetto sto diventando un tantino nervoso perchè ho provato senza API e non funziona, Modloader nemmeno, Forge non so come funziona. è decisamente seccante quindi mi scuso se sembro un po' rude...è pensare che l'avevo quasi finita per la 1.7.3...

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

magnifico..beh lo ammetto sto diventando un tantino nervoso perchè ho provato senza API e non funziona, Modloader nemmeno, Forge non so come funziona. è decisamente seccante quindi mi scuso se sembro un po' rude...è pensare che l'avevo quasi finita per la 1.7.3...

Guarda la mia introduzione su Forge, poi cerca una guida per i mob.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

×
×
  • Crea Nuovo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.