MFF

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

    Créer Un Multi Tool

    Planifier Épinglé Verrouillé Déplacé Tutoriels des membres
    1.11.x
    1 Messages 1 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.
    • Z Hors-ligne
      ZomDev Moddeurs confirmés
      dernière édition par robin4002

      Ce tutoriel est également disponible en vidéo.

      Sommaire

      • Introduction
      • Pré-requis
      • Code
        • Création de l’outil
        • Propriétés de l’outil
      • Bonus
      • Résultat
      • En vidéo
      • Crédits

      Introduction

      Bonjour à tous !
      Ce tutoriel va vous montrer comment créer un multi-tool
      En gros un outil qui fais à la fois pioche, épée et hache

      Pré-requis

      • Créer un kit d’outils

      Code

      Création de l’outil:

      Tout d’abord, créez une classe qui servira pour votre outil.

      public class MultiTool {
      
      }
      

      Vous ferez hériter votre classe de ItemTool et mettrez le constructeur

      public class MultiTool extends ItemTool {
          public MultiTool(ToolMaterial material, Set<Block> effectives){
              super(material, effectives);
          }
      }
      

      Le premier paramètre est un ToolMaterial qui servira comme pour un outil, puis vous aurez un Set a créer qui dira à Minecraft quels blocks l’outil peut casser.

      private static Set <block> effectives = Sets.newHashSet(blocs que vous souhaitez);
      

      Propriétés de l’outil

      Par exemple dans mon cas je veux que l’outil puisse casser à peu près tout les blocks.Nous allons déjà créer une fonction pour dire à Minecraft que l’outil est une pioche, une hache et une pelle.

      @Override
      public Set<String> getToolClasses(ItemStack stack) { return ImmutableSet.of("pickaxe", "spade", "axe");}]
      

      Nous allons ensuite définir les matériaux de bloc qui pourront être cassés.

      @Override
      public boolean canHarvestBlock(IBlockState state) {
          return (state.getMaterial() == Material.WOOD || state.getMaterial() == Material.IRON || state.getMaterial() == Material.ROCK || state.getMaterial() == Material.ANVIL) ? true : false;
      }
      

      Dans ce cas, tous les blocs avec le matériau WOOD, IRON, ROCK et ANVIL seront cassables.

      (Cette méthode sert si vous voulez vraiment “tous les blocks” de ces types, si c’est juste un outil pour certains blocs autant utiliser le Set<block>)

      Pour finir, vous devrez définir la force de “cassage” des blocs.

      @Override
      public float getStrVsBlock(ItemStack stack, IBlockState state) {
          if(this.canHarvestBlock(state)) {
              return this.efficiencyOnProperMaterial;
          }
          return 1F;
      }
      

      Ici j’ai fais en sorte que si la méthode canHarvestBlock vaut true alors on renvoie la valeur du ToolMaterial sinon la valeur vaut 1.

      Bonus

      Comme pour un outil normal vous pouvez rajouter la méthode getIsRepairable pour définir un Item pour réparer dans l’enclume ou pour que l’outil ne soit pas repairable.

      @Override
      public boolean getIsRepairable(ItemStack toRepair, ItemStack repair) {
          return repair.getItem() == Items.DIAMOND;
      }
      

      Résultat

      Voir la vidéo

      En vidéo

      Youtube Video

      Crédits

      Rédaction :

      • ZomDev

      Correction :


      Ce tutoriel de ZomDev publié sur Minecraft Forge France est mis à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International

      Retour vers le sommaire des tutoriels

      Youtuber pendant mes heures libres sur le modding
      Aime les pâtes et le code en Java.

      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