1.12.2 getCurrentArmor en 1.12.2



  • hey ! Je veux faire en sorte que mon armure me permette de fly mais pour cela ! Il faut que j'utilise la fonction getCurrentarmor(slotD'armure). malheureusment, je ne la trouve pas.
    Quelqu'un pourrait me dire si elle a été enlevée ou remplacée par un équivalent ? merci !



  • Bonsoir, en effet cela n'éxiste pas, par contre tu pourra récupérer l'armure en récupérant d'abord l'inventaire du joueur, puis les slots en question !

    ItemStack helmet = player.inventory.armorItemInSlot( 3 );
    ItemStack chest = player.inventory.armorItemInSlot( 2 );
    ItemStack leggings = player.inventory.armorItemInSlot( 1 );
    ItemStack boots = player.inventory.armorItemInSlot( 0 );
    

  • Moddeurs confirmés Rédacteurs Administrateurs

    Bonsoir
    player.inventory.armorInventory.get(index)



  • Bonsoir, en effet cela n'éxiste pas, par contre tu pourra récupérer l'armure en récupérant d'abord l'inventaire du joueur, puis les slots en question !

    ItemStack helmet = player.inventory.armorItemInSlot( 3 );
    ItemStack chest = player.inventory.armorItemInSlot( 2 );
    ItemStack leggings = player.inventory.armorItemInSlot( 1 );
    ItemStack boots = player.inventory.armorItemInSlot( 0 );
    


  • Bonjour,
    j'ai un problème, j'arrive à voler avec mon armure mais impossible de désactiver le fly quand elle n'est plus équipé, et je n'arrive pas à activer le fly seulement quand toute les pièces sont équipés. Voila mon code.

    package fr.arca.arcadia.items.armor;
    
    public class ArmorBase extends ItemArmor implements IHasModel 
    {
    
       private int ticksExisted;
    
       public ArmorBase(String name, ArmorMaterial materialIn, int renderIndexIn, EntityEquipmentSlot equipmentSlotIn) 
       {
       	super(materialIn, renderIndexIn, equipmentSlotIn);
       	setUnlocalizedName(name);
       	setRegistryName(name);
       	setCreativeTab(Arcadia.ArcadiaTab);
       	ItemsMod.ITEMS.add(this);
       }
    
       @Override
       public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) 
       {
       	super.onArmorTick(world, player, itemStack);
       	
       	if(this.ticksExisted % 60 == 0)
       	{
       		ItemStack helmet = player.inventory.armorItemInSlot( 3 );
       		ItemStack chestplate = player.inventory.armorItemInSlot( 2 );
       		ItemStack leggings = player.inventory.armorItemInSlot( 1 );
       		ItemStack boots = player.inventory.armorItemInSlot( 0 );
       		
       		if(boots != null && leggings != null && chestplate != null && helmet != null)
       		{
       			player.capabilities.allowFlying = true;
       		}
       	}
       }
       
       @Override
       public void registerModels() 
       {
       	Arcadia.proxy.registerItemRenderer(this, 0, "inventory");
       }
       public void onUpdateEntity(PlayerCapabilities capabilities)
       {
       		 capabilities.allowFlying = true;
       }
    }
    

    Merci de prendre le temps de me lire et de me répondre.


Log in to reply