MFF

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

    Enchantement d'armure

    Planifier Épinglé Verrouillé Déplacé Résolu 1.13.x
    1.13.2
    20 Messages 4 Publieurs 1.1k Vues 3 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.
    • K Hors-ligne
      kraniax
      dernière édition par kraniax

      @DailyCraft a dit dans Enchantement d'armure :

      player.addPotionEffect(new PotionEffect(Potion.getPotionById(16), 220)); }

      Bonjour,

      Il faut écrire dans la méthode :

      
      if(this.armorType == 0){  //0 = casque, 1 = plastron, 2 = jambières, 3 = bottes
      //code
      }
      

      ♦ Développeur Java ♦

      DailyCraftD 1 réponse Dernière réponse Répondre Citer 0
      • DailyCraftD Hors-ligne
        DailyCraft @kraniax
        dernière édition par

        Je viens d’essayer et ça me dit : Operator ‘==’ cannot be applied to ‘net.minecraft.inventory.EntityEquipementSlot’, ‘int’

        Mes créations :

        Mod en cours de développement : Personal Robot (1.15.2)

        Datapacks : DailyCraft's Craft (beta)

        Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

          if (armorType == EntityEquipmentSlot.HEAD) { // CHEST, LEGS, FEET
                      
          }
          

          Par contre cela le fonctionnera pas de faire des && entre chaque élement, car la pièce d’armure actuellement tické ne sera jamais les 4 en même temps.
          Donc il faut plutôt faire quelque chose comme ça :

                  if (armorType == EntityEquipmentSlot.HEAD && player.inventory.armorInventory.get(2).getItem() == ModItem.CHEST_PLATE && player.inventory.armorInventory.get(1).getItem() == ModItem.LEGS && player.inventory.armorInventory.get(0).getItem() == ModItem.FEET) {
                      
                  }
          

          En remplaçant ModItem par la classe où se trouve des items et le nom de la variable par ceux de chaque pièce d’armure.

          DailyCraftD 1 réponse Dernière réponse Répondre Citer 0
          • DailyCraftD Hors-ligne
            DailyCraft @robin4002
            dernière édition par

            Ok merci ça marche par contre tu as mis deux fois ModItem.FEET 😕 mais c’est pas grave

            Mes créations :

            Mod en cours de développement : Personal Robot (1.15.2)

            Datapacks : DailyCraft's Craft (beta)

            Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

              corrigé 😉

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

                C’est quoi en 1.14.3 ?

                Mes créations :

                Mod en cours de développement : Personal Robot (1.15.2)

                Datapacks : DailyCraft's Craft (beta)

                Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

                  1.13 = 1.14+rename

                  s

                  DailyCraftD 1 réponse Dernière réponse Répondre Citer 0
                  • DailyCraftD Hors-ligne
                    DailyCraft @JustAnDev
                    dernière édition par

                    Comment tu fais pour que se soit rose ?

                    Mes créations :

                    Mod en cours de développement : Personal Robot (1.15.2)

                    Datapacks : DailyCraft's Craft (beta)

                    Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

                      ```Ceci est un texte parlant du JS,ce language qui plagie le Java```
                      

                      s

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

                        test

                        ah ouai

                        Mes créations :

                        Mod en cours de développement : Personal Robot (1.15.2)

                        Datapacks : DailyCraft's Craft (beta)

                        Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

                          Je ne trouve pas re rename de armorType

                          Mes créations :

                          Mod en cours de développement : Personal Robot (1.15.2)

                          Datapacks : DailyCraft's Craft (beta)

                          Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

                            La variable a surement été renommé, regardes le code de la classe ItemArmor pour trouver le nouveau nom.

                            DailyCraftD 1 réponse Dernière réponse Répondre Citer 0
                            • DailyCraftD Hors-ligne
                              DailyCraft @robin4002
                              dernière édition par

                              Maintenant elle s’appelle ArmorItem comme ItemPickaxe qui devient PickaxeItem ou ItemGroup qui devient GroupItem …

                              Mes créations :

                              Mod en cours de développement : Personal Robot (1.15.2)

                              Datapacks : DailyCraft's Craft (beta)

                              Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

                                En effet, donc regardes dans le code de la classe ArmorItem.

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

                                  Mais il y a rien qui y ressemble 😢 , sinon voila la class ArmorItem :

                                  public class ArmorItem extends Item {
                                      private static final UUID[] ARMOR_MODIFIERS = new UUID[]{UUID.fromString("845DB27C-C624-495F-8C9F-6020A9A58B6B"), UUID.fromString("D8499B04-0E66-4726-AB29-64469D734E0D"), UUID.fromString("9F3D476D-C118-4544-8365-64846904B48E"), UUID.fromString("2AD3F246-FEE1-4E67-B886-69FD380BB150")};
                                      public static final IDispenseItemBehavior DISPENSER_BEHAVIOR = new DefaultDispenseItemBehavior() {
                                          protected ItemStack dispenseStack(IBlockSource p_82487_1_, ItemStack p_82487_2_) {
                                              ItemStack itemstack = ArmorItem.dispenseArmor(p_82487_1_, p_82487_2_);
                                              return itemstack.isEmpty() ? super.dispenseStack(p_82487_1_, p_82487_2_) : itemstack;
                                          }
                                      };
                                      protected final EquipmentSlotType slot;
                                      protected final int damageReduceAmount;
                                      protected final float toughness;
                                      protected final IArmorMaterial material;
                                  
                                      public static ItemStack dispenseArmor(IBlockSource p_185082_0_, ItemStack p_185082_1_) {
                                          BlockPos blockpos = p_185082_0_.getBlockPos().offset((Direction)p_185082_0_.getBlockState().get(DispenserBlock.FACING));
                                          List<LivingEntity> list = p_185082_0_.getWorld().getEntitiesWithinAABB(LivingEntity.class, new AxisAlignedBB(blockpos), EntityPredicates.NOT_SPECTATING.and(new ArmoredMob(p_185082_1_)));
                                          if (list.isEmpty()) {
                                              return ItemStack.EMPTY;
                                          } else {
                                              LivingEntity livingentity = (LivingEntity)list.get(0);
                                              EquipmentSlotType equipmentslottype = MobEntity.getSlotForItemStack(p_185082_1_);
                                              ItemStack itemstack = p_185082_1_.split(1);
                                              livingentity.setItemStackToSlot(equipmentslottype, itemstack);
                                              if (livingentity instanceof MobEntity) {
                                                  ((MobEntity)livingentity).setDropChance(equipmentslottype, 2.0F);
                                                  ((MobEntity)livingentity).enablePersistence();
                                              }
                                  
                                              return p_185082_1_;
                                          }
                                      }
                                  
                                      public ArmorItem(IArmorMaterial p_i48534_1_, EquipmentSlotType p_i48534_2_, Properties p_i48534_3_) {
                                          super(p_i48534_3_.defaultMaxDamage(p_i48534_1_.getDurability(p_i48534_2_)));
                                          this.material = p_i48534_1_;
                                          this.slot = p_i48534_2_;
                                          this.damageReduceAmount = p_i48534_1_.getDamageReductionAmount(p_i48534_2_);
                                          this.toughness = p_i48534_1_.getToughness();
                                          DispenserBlock.registerDispenseBehavior(this, DISPENSER_BEHAVIOR);
                                      }
                                  
                                      public EquipmentSlotType getEquipmentSlot() {
                                          return this.slot;
                                      }
                                  
                                      public int getItemEnchantability() {
                                          return this.material.getEnchantability();
                                      }
                                  
                                      public IArmorMaterial getArmorMaterial() {
                                          return this.material;
                                      }
                                  
                                      public boolean getIsRepairable(ItemStack p_82789_1_, ItemStack p_82789_2_) {
                                          return this.material.getRepairMaterial().test(p_82789_2_) || super.getIsRepairable(p_82789_1_, p_82789_2_);
                                      }
                                  
                                      public ActionResult<ItemStack> onItemRightClick(World p_77659_1_, PlayerEntity p_77659_2_, Hand p_77659_3_) {
                                          ItemStack itemstack = p_77659_2_.getHeldItem(p_77659_3_);
                                          EquipmentSlotType equipmentslottype = MobEntity.getSlotForItemStack(itemstack);
                                          ItemStack itemstack1 = p_77659_2_.getItemStackFromSlot(equipmentslottype);
                                          if (itemstack1.isEmpty()) {
                                              p_77659_2_.setItemStackToSlot(equipmentslottype, itemstack.copy());
                                              itemstack.setCount(0);
                                              return new ActionResult(ActionResultType.SUCCESS, itemstack);
                                          } else {
                                              return new ActionResult(ActionResultType.FAIL, itemstack);
                                          }
                                      }
                                  
                                      public Multimap<String, AttributeModifier> getAttributeModifiers(EquipmentSlotType p_111205_1_) {
                                          Multimap<String, AttributeModifier> multimap = super.getAttributeModifiers(p_111205_1_);
                                          if (p_111205_1_ == this.slot) {
                                              multimap.put(SharedMonsterAttributes.ARMOR.getName(), new AttributeModifier(ARMOR_MODIFIERS[p_111205_1_.getIndex()], "Armor modifier", (double)this.damageReduceAmount, Operation.ADDITION));
                                              multimap.put(SharedMonsterAttributes.ARMOR_TOUGHNESS.getName(), new AttributeModifier(ARMOR_MODIFIERS[p_111205_1_.getIndex()], "Armor toughness", (double)this.toughness, Operation.ADDITION));
                                          }
                                  
                                          return multimap;
                                      }
                                  
                                      public int getDamageReduceAmount() {
                                          return this.damageReduceAmount;
                                      }
                                  
                                      public float getToughness() {
                                          return this.toughness;
                                      }
                                  }
                                  

                                  Mes créations :

                                  Mod en cours de développement : Personal Robot (1.15.2)

                                  Datapacks : DailyCraft's Craft (beta)

                                  Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

                                    Regarde la sourcedu code 1.13 et compare le avec la variable que tu cherche

                                    s

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

                                      Ok beh c’est slot

                                      Mes créations :

                                      Mod en cours de développement : Personal Robot (1.15.2)

                                      Datapacks : DailyCraft's Craft (beta)

                                      Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

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

                                        Voila, comme quoi en cherchant un peu. Bravo ! ^^

                                        DailyCraftD 1 réponse Dernière réponse Répondre Citer 0
                                        • DailyCraftD Hors-ligne
                                          DailyCraft @robin4002
                                          dernière édition par

                                          Beh grace à @Daich_20, sinon c’étais une variantes qui rester la même donc fiile, même position en plus

                                          Mes créations :

                                          Mod en cours de développement : Personal Robot (1.15.2)

                                          Datapacks : DailyCraft's Craft (beta)

                                          Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

                                          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