Problème avec les events.
-
Il me met une erreur à getEntityWorld()
désolé j’ai rien dit. En faisant cast sur le getEntityWorld() tout marche correctement ou presque cela affiche bien: “Mana de Player961= 1” mais il le ré-affiche a chaque fois et ne mais pas a jour la valeur de mana.
-
Non gugu, avec ça tu créer a chaque fois une nouvelle instance, le premier code était bon.
Tu as quoi à la ligne 29 de AddCustomPlayerProperties.java ? -
Voila ce que j’ai à la ligne 29 :
int mana = ((CustomPlayer)prop).getMana()+1; -
Si tu a suivi le tutoriel sur MinecraftForums.net, je l’ai suivi aussi, et il marche a la perfection.
-
Je n’est pas suivit celui là. Je vais regarder ce tutoriel la.
-
Renvoie tout tes codes, il y a un npe sur la ligne que tu a envoyé, donc je pense que le custom player prop est null. Il me faut tout tes codes actuels pour savoir pourquoi.
-
Voila le code de AddCustomPlayerProperties:
package noob.common; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraftforge.common.IExtendedEntityProperties; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.EntityEvent.EntityConstructing; import net.minecraftforge.event.entity.living.LivingDeathEvent; public class AddCustomPlayerProperties { @ForgeSubscribe public void init(EntityConstructing event) { if (event.entity instanceof EntityPlayer) { event.entity.registerExtendedProperties("Player", new CustomPlayer(event.entity.worldObj)); } } @ForgeSubscribe public void death(LivingDeathEvent event) { Entity source = event.source.getEntity(); if (source != null && source instanceof EntityPlayer) { IExtendedEntityProperties prop = event.entity.getExtendedProperties("Custom Player"); int mana = ((CustomPlayer)prop).getMana()+1; System.out.println("Mana de "+source.getEntityName()+"= "+mana); ((CustomPlayer)prop).setMana(mana); } } } -
Je te conseille le tutoriel ici :
Car celui que tu utilise est fait de manière bizarre, il utilise l’interface pour appeler ton Custom Player.
-
Ok merci je vais regarder.
Merci beaucoup sa marche!
Je pense que je vais pouvoir avancé maintenant. -
Juste pour information, le NPE d’avant été causé car tu n’avais pas le bon nom :
IExtendedEntityProperties prop = event.entity.getExtendedProperties("Custom Player");La où tu l’as utilisé et :
event.entity.registerExtendedProperties("Player", new CustomPlayer(event.entity.worldObj));La où tu l’as enregistré, si les noms sont pas les mêmes, normal que ça fonctionne pas x).