MFF

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

    Crée des blocks avancé déstructible que par certains item

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    7 Messages 3 Publieurs 1.6k Vues 1 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.
    • OrkalsO Hors-ligne
      Orkals
      dernière édition par

      Bonjour la compagnie c’est re moi aujourd’hui dans la finalisation de mon premier mod je me heurt a un soucie après quelques recherches infructueuses je me tourne vers vous ! Je souhaiterais définir qu’un block soit destructible par un certain type de pickaxe et que si il n’est utilisé le bon outils le block ne drop pas  mais sans sucé

      
      classe du block
      
      **public class BlockOreCopper extends Block {
      
      public BlockOreCopper(Material Material) {
      super(Material);
      this.setHarvestLevel("ironToolMaterial", 4);
      this.setHardness(4.0F);
      
      classe de la tools materials
      
      public static final Item.ToolMaterial ToolFlintMaterial = EnumHelper
      .addToolMaterial("ToolFlintMaterial", 0, 125, 1F, 1F, 2);
      
      }
      **
      
      
      1 réponse Dernière réponse Répondre Citer 0
      • DeletedD Hors-ligne
        Deleted
        dernière édition par

        @‘Orkals’:

        Bonjour la compagnie c’est re moi aujourd’hui dans la finalisation de mon premier mod je me heurt a un soucie après quelques recherches infructueuses je me tourne vers vous ! Je souhaiterais définir qu’un block soit destructible par un certain type de pickaxe et que si il n’est utilisé le bon outils le block ne drop pas  mais sans sucé

        
        classe du block
        
        **public class BlockOreCopper extends Block {
        
        public BlockOreCopper(Material Material) {
        super(Material);
        this.setHarvestLevel("ironToolMaterial", 4);
        this.setHardness(4.0F);
        
        classe de la tools materials
        
        public static final Item.ToolMaterial ToolFlintMaterial = EnumHelper
        .addToolMaterial("ToolFlintMaterial", 0, 125, 1F, 1F, 2);
        
        }
        **
        
        

        Tu peux te servir de l’event BreakEvent et que si 'item tenu par le joueur ayant détruit le block correspond à tel ou tel type de pickaxe et bien tu te sers de la méthode dropItem(Item i, float f) (je ne suis pas très sûr des arguments tu regarderas), sinon tu cancel l’event et le block ne sera pas détruit

        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

          @‘Orkals’:

          Je souhaiterais définir qu’un block soit destructible par un certain type de pickaxe et que si il n’est utilisé le bon outils le block ne drop pas  mais sans sucé

          ?!?
          J’ai rien compris à la fin.

          Si tu veux qu’il ne soit que destructible avec un item en particulier, tu peux utiliser ça :

          ​ public float getPlayerRelativeBlockHardness(EntityPlayer player, World world, int x, int y, int z)
          ​ {
          ​ ​ if(player.inventory.getCurrentItem() == null || player.inventory.getCurrentItem().getItem() != ClassePrincipale.TaPioche)
          ​ ​ {
          ​ ​ ​ return -1;
          ​ ​ }
          ​ return ForgeHooks.blockStrength(this, player, world, x, y, z);
          ​ }
          
          1 réponse Dernière réponse Répondre Citer 0
          • OrkalsO Hors-ligne
            Orkals
            dernière édition par

            j’ai pas réussi a faire que mon item ne drop pas,  je vais testé merci les gars

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

              Je te prépare l’event vite fait comme tu veux tu feras tes modifications par-dessus

              @SubscribeEvent
              
              public void onBlockDestroyed(BreakEvent event)
              {
              if (event.block instanceof MainClass.tonBlock && event.getPlayer != null)
              {
              EntityPlayer player = event.getPlayer();
              ItemStack currentItem = player.inventory.getCurrentItem();
              if(currentItem != null)
              {
              Item heldItem = currentItem.getItem();
              if(heldItem != null && heldItem instanceof MainClass.TonItem)
              {
              player.dropItem(MainClass.ItemSouhaiteDroppe, 1);
              }
              }
              }
              
              }
              

              Voilà je t’ai fait ça vite fait ça devrait correspondre à tes attentes

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

                Merci les gars

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

                  @‘Orkals’:

                  Merci les gars

                  Si le code que je t’ai filé marche comme tu le souhaitais tu peux passer le sujet en résolu.

                  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