Résolu Crash
-
Pourquoi je crash quand j’utilise la class onItemRightClick ?
public class StrenghtStick extends Item { public StrenghtStick() { super(new Properties().group(ModGroups.MYGROUP)); setRegistryName("strengt_stick"); } @Override public ActionResult<ItemStack> onItemRightClick(World world, PlayerEntity player, Hand hand) { player.addPotionEffect(new EffectInstance(Effect.get(5), 40)); return null; } @Override public int getUseDuration(ItemStack stack) { return 20; } }
-
return super.onItemRightClick(world, player, hand)
ou alors simplement aller voir dans la fonction de la classe mère comment c’est géré … -
alerte aux LOGS!!!
-
Les voila :
crash-2019-06-28_17.09.49-client.txt -
@DailyCraft a dit dans Crash :
return null;
La magie des NPE aident a comprendre d’où vient l’erreur…
public ItemStack stack; return stack;
-
Pourquoi en public ?
-
@DailyCraft a dit dans Crash :
Pourquoi en public ?
a oui ca sert a rien ca entraine meme des erreurs.Retire le.
-
Ca me mets que la variable n’est pas initialiser
-
= new ItemStack()
-
Quand je mets rien dans les parenthese il me dit
Cannot resolve constructor
et au return, il me dit qu’il requirenet.minecraft.util.ActionResult<net.minecraft.item.ItemStack>
-
ah oui il faut ajouter apres le
stack<ActionResult>
et il y a quoi au niveau de stack comme soluce? -
Au
ActionResult
il me ditExpression Expected
et a la variable je sais pas si je suis un boulet mais quand je mets unfinal
et que je vire le= new ItemStack()
, il n’y a plus d’erreur -
return super.onItemRightClick(world, player, hand)
ou alors simplement aller voir dans la fonction de la classe mère comment c’est géré … -
Merci, ça as marcher mais maintenant comment je peux faire pour que je puisse enlever un de dura à chaque fois ?
-
player.damageItem
-
ça existe pas
-
Ah oui, cela a changé avec la 1.14 :
stack.damageItem(1, player, (living) -> { living.sendBreakAnimation(EquipmentSlotType.MAINHAND); });
-
Il n’y a pas de stack dans onItemRightClick
-
il faut utiliser
ItemStack stack = player.getHeldItem(hand);
ou quelque chose comme ça. -
Merci ça a marché