Récupérer le type d'un item



  • Bonjour,

    Merci pour vos tutoriels très bien faits. Ils permettent rapidement de s'initier à l'api forge.

    Toutefois, je butte sur un problème relativement simple. Lors de l'utilisation de l'event onHarvest, il est possible de récupérer l'outil utilisé par le joueur pour casser le bloc :

    ItemStack heldItem = event.harvester.getCurrentEquippedItem();
    

    Toutefois, je n'arrive pas à récupérer le "type" de l'objet (est-ce une pelle, une pioche, une épée ?…).

    J'ai cherché à récupérer la classe spécifique de l'objet utilisé lors de sa création (ItemSword dans l'exemple de ce tutoriel) :

    package fr.minecraftforgefrance.tutoriel.common;
    
    import net.minecraft.item.ItemSword;
    
    public class ItemTutoSword extends ItemSword
    {
    public ItemTutoSword(ToolMaterial material)
    {
    super(material);
    }
    }
    

    Mais sans succès. Mes connaissances en java sont un peu limitées pour explorer l'architecture d'un objet.

    Merci d'avance pour votre aide !


  • Administrateurs

    if(heldItem != null && heldItem.getItem() instanceof ItemSword)
    {
        // c'est une épée
    }
    

    if(heldItem != null && heldItem.getItem() instanceof ItemTutoSword)
    {
        // c'est l'épée tutoriel
    }
    

    Et oui il faut connaitre le Java pour pouvoir coder …



  • C'est parfait. Merci beaucoup Robin pour la réponse très rapide !

    Me reste plus qu'à apprendre le java 😛