Créer une armure



  • Évite les null-check, c'est inutile sur NonNullList comme t'indique eclipse.



  • @'Plaigon':

    Évite les null-check, c'est inutile sur NonNullList comme t'indique eclipse.

    Désolé de te déranger mais je ne comprend pas la marche à suivre pour que cette fonction marche j'ai essayé de ne pas mettre le selecteur et je n'ai plus d'erreur c même eclipse qui me propose via l'ampoule d'ajouter un nulle check puis ensuite ça me dit de l'enlever je ne comprend pas le fonctionnement de cette fonction



  • En fait, en 1.11, les ItemStack[] ont été remplacé par des NonNullList<itemstack>, qui ont plusieurs différences : on ne peut pas utiliser les crochets pour sélectionner un objet, mais on doit utiliser la fonction get. De plus, comme son nom l'indique, les ItemStack ne peuvent plus être null. Il faut donc remplacer

    if(player.inventory.armorInventory[0] != null)
    

    par

    if(!player.inventory.armorInventory.get(0).isEmpty())
    ```</itemstack>


  • Un grand merci à toi @Plaigon pour ta patience et à toi @LeBossMax2 pour ta réponse je n'étais pas au courant de ce changement !
    EDIT: l'erreur persiste je vais essayer de voir si je trouve une solution c'est le .get(0) qui cause le problème



  • @'LeBossMax2':

    En fait, en 1.11, les ItemStack[] ont été remplacé par des NonNullList<itemstack>, qui ont plusieurs différences : on ne peut pas utiliser les crochets pour sélectionner un objet, mais on doit utiliser la fonction get. De plus, comme son nom l'indique, les ItemStack ne peuvent plus être null. Il faut donc remplacer

    if(player.inventory.armorInventory[0] != null)
    

    par

    if(!player.inventory.armorInventory.get(0).isEmpty())
    ```</itemstack>
    

    Je viens d'essayer ta méthode mais elle ne fonctionne pas non plus j'ai toujours des erreurs… je vais essayer d'autre chose pour essayer de faire marcher cette fonction 😉



  • Salut
        Sur mon mod 1.7.10 j'ai essayer de mettre les models plusieurs fois mais ça ne marche pas y pas d'erreur mais dans le jeu ça ma affiche pas les models et il y la texture du cuir blanc voila le code de la class

    
    package com.Project.Iriduim.Items;
    
    import com.Project.Iriduim.Reference;
    import com.Project.Iriduim.init.ItemMod;
    import com.sun.xml.internal.stream.Entity;
    
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.item.ItemArmor;
    import net.minecraft.item.ItemStack;
    import net.minecraft.potion.Potion;
    import net.minecraft.potion.PotionEffect;
    import net.minecraft.world.World;
    
    public class IriduimArmor extends ItemArmor
    {
    
       public IriduimArmor(ArmorMaterial Material,  int type)
       {
           super(Material, 0, type);    }
    
       public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type)
       {
           if(stack.getItem() == ItemMod.IriduimLeggings)
           {
           return Reference.MOD_ID + ":textures/models/Armor/test_layer_2.png";
           }
           return Reference.MOD_ID + ":textures/models/Armor/test_layer_1.png";
       }
    public boolean getIsRepairable(ItemStack input, ItemStack repair)
    {
        if(repair.getItem() == ItemMod.IriduimIngot_)
        {
            return true;
        }
        return false;
    
    }
       public void onArmorTick(World world, EntityPlayer player, ItemStack stack)
       {
    
           player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 220, 0));
           player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 220, 0));
      }
    
    }
    
    

    merci de me répondre


  • Administrateurs

    Salut,
    Retires la ligne "import com.sun.xml.internal.stream.Entity;" et importes le bon Entity (celui dans net.minecraft.entity).