• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Problème avec hasEffect

    1.7.x
    1.7.x
    3
    5
    2291
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • Vayper
      Vayper dernière édition par robin4002

      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

      1 réponse Dernière réponse Répondre Citer 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

        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.

        1 réponse Dernière réponse Répondre Citer 1
        • Vayper
          Vayper dernière édition par

          @‘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.

          1 réponse Dernière réponse Répondre Citer 0
          • utybo
            utybo dernière édition par

            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!

            Moddeur à la retraite et développeur de trucs en Java.

            J'aide les gens comme je peux, alors si mon message v…

            1 réponse Dernière réponse Répondre Citer 1
            • Vayper
              Vayper dernière édition par

              @‘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

              1 réponse Dernière réponse Répondre Citer 0
              • 1 / 1
              • Premier message
                Dernier message
              Design by Woryk
              Contact / Mentions Légales

              MINECRAFT FORGE FRANCE © 2018

              Powered by NodeBB