1.7.x Problème avec hasEffect



  • Forge 10.12.1.1117, Minecraft 1.7.2

    Salut à tous, dans mon mod, j'ai une classe appelée Gem qui est la base de toutes les gemmes de minerais de mon mod.
    J'aimerais appliquer l'effet d'enchantement (hasEffect) seulement sur 2 gemmes : la divineGem et la sataniteGem (il y en a 4 gemmes en tout).

    J'ai donc ajouté ce code dans la classe Gem :

    // Particule enchantées
    @Override
    public boolean hasEffect(ItemStack par1ItemStack)
    {
        if (ItemStack == MorePowerCraft.divineGem || ItemStack == MorePowerCraft.sataniteGem)
            return true;
         return false;
    }
    

    Le problème c'est que les 2 ItemStack de mon if sont sous-ligné en rouge : ""ItemStack" cannot be resolved to a variable".
    J'ai pas vraiment compris comment utiliser ItemStack et ce qu'il représente…

    Que dois-je faire pour appliquer uniquement les particules d'enchantements sur la sataniteGem et la divineGem ?

    Merci d'avance
    Vayper


  • Moddeurs confirmés Rédacteurs Administrateurs

    public boolean hasEffect(ItemStack par1ItemStack)
    Ton paramètre s'appelle par1ItemStack, donc :
    if (par1ItemStack== MorePowerCraft.divineGem …
    Mais ça ne fonctionnera pas non plus, car tu peux pas comparer un Item avec un ItemStack.
    Il faut donc faire :
    if (par1ItemStack.getItem() == MorePowerCraft.divineGem || par1ItemStack.getItem() == MorePowerCraft.sataniteGem)

    Sinon -> go apprendre la base de java.



  • @'robin4002':

    public boolean hasEffect(ItemStack par1ItemStack)
    Ton paramètre s'appelle par1ItemStack, donc :
    if (par1ItemStack== MorePowerCraft.divineGem …
    Mais ça ne fonctionnera pas non plus, car tu peux pas comparer un Item avec un ItemStack.
    Il faut donc faire :
    if (par1ItemStack.getItem() == MorePowerCraft.divineGem || par1ItemStack.getItem() == MorePowerCraft.sataniteGem)

    Sinon -> go apprendre la base de java.

    Ca fonctionne merci !

    Les bases en Java je les ai, ce qui me manque c'est connaitre les méthodes de base dans le modding Minecraft, ItemStack, et tout un tas d'autres méthodes ou paramètres, c'est expliqué nulle part a quoi elles servent ni ou on peut les trouver. C'est quelque fois expliqué en commentaires dans Forge mais je trouve que c'est pas suffisant.



  • Sauf que si tu connaissais les bases du Java tu aurais sû qu'il faut utiliser les noms des paramètres et non leur type.
    Openclassrooms à la rescousse!



  • @'utybo':

    Sauf que si tu connaissais les bases du Java tu aurais sû qu'il faut utiliser les noms des paramètres et non leur type.
    Openclassrooms à la rescousse!

    T'as raison 🙂 j'avais fais une pause au milieu du chapitre 2 de la POO pour me lancer dans le modding parce que je pensais que ca serait suffisant pour le début mais ca m'a fait oublier quelques notions ^^ J'y retourne


Log in to reply