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



  • 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.



  • 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 ?



  • 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();



  • @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 !


Log in to reply