MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Changer la texture et le model d'un item lors d'un clique droit

    Planifier Épinglé Verrouillé Déplacé Non résolu Sans suite
    1.12.2
    4 Messages 2 Publieurs 243 Vues 2 Watching
    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.
    • S Hors-ligne
      Silvex_
      dernière édition par

      Bonjour, je suis débutant et j’aimerais savoir comment faire en sorte que lorsque le joueur effectue un clique droit avec par exemple une épée présente dans mon mod, sa texture et son model changent s’il vous plaît.
      Merci.

      1 réponse Dernière réponse Répondre Citer 0
      • S Hors-ligne
        Silvex_
        dernière édition par

        j’ai réussi à trouver ça sur le forum forge anglophone :
        https://www.minecraftforge.net/forum/topic/44170-solved-111-changing-texturemodel-file-on-right-click/

        mais étant débutant je ne comprend pas ce qu’il se dit 😕

        Est-ce que quelqu’un pourrait m’expliquer ce qu’il faut faire s’il vous plaît ?

        1 réponse Dernière réponse Répondre Citer 0
        • En0ri4nE Hors-ligne
          En0ri4n
          dernière édition par

          Salut, pour changer la texture, tu a besoin de changer le UnlocalizedName, tu dois dans le constructeur ajouter this.setHasSubTypes(true); pour dire que tu as plusieur metadata pour l’item et aussi override la méthode getUnlocalizedName(ItemStack) comme cela :

          @Override
          public String getUnlocalizedName(ItemStack stack)
          {
          	String name = "";
               switch(stack.getMetadata())
               {
               	case 0:
               		name = "item1";
               	case 1:
               		name = "item2";
               }
          
               return name + ".name";    
          }
          

          Ici la texture va etre item1 si la meta est de 0 et si elle est de 1, ce sera item2.
          Tu dois aussi override la methode getSubItems(CreativeTabs, List) ou tu ajoutes les différents items avec des metas différentes.
          Et pour finir il faut aussi register un model custom avec :

          ModelLoader.setCustomModelResourceLocation(item, stack.getMetadata(), new ModelResourceLocation(getRegistryName(item.getUnlocalizedName(stack).substring(5)), "inventory"));
          

          Ici stack vient d’un for de la liste produite par getSubItems();

          Le java c'est comme une boîte de chocolat, on sait jamais sur quoi on va tomber !

          S 1 réponse Dernière réponse Répondre Citer 0
          • S Hors-ligne
            Silvex_ @En0ri4n
            dernière édition par

            @Eno_gamer10
            D’accord merci beaucoup pour ta réponse je prendrais le temps d’assimiler tout ça et de tester pour voir si ça fonctionne je te tiendrai au courant, merci encore !

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

            MINECRAFT FORGE FRANCE © 2024

            Powered by NodeBB