MFF

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

    Un bloc basique

    Planifier Épinglé Verrouillé Déplacé Les blocs
    1.5.2
    11 Messages 7 Publieurs 6.3k 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.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par robin4002

      Nous allons maintenant commencer notre premier bloc.

      Dans la classe principale

      À la suite de la déclaration de votre instance, déclarez votre bloc comme ceci :

          public static Block BlockTutoriel;
      

      Pensez à importer `net.minecraft.block.Block.
      Si vous voulez créer plusieurs blocs, vous pouvez les déclarer à la suite de cette façon :

          public static Block BlockTutoriel, DeuximeBlock, TroixiemeBlock;
      

      Ensuite dans la partie @PreInit (oui, dans mes anciens tutoriels j’avais dit dans Init, c’est ce que j’avais appris dans les tutoriels anglais, mais en regardant les sources de buildcraft, ironchest, ic2, et compact solar, j’ai vu qu’il faut les preinit, d’ailleurs les achievements ne peuvent pas fonctionner si vous ne les mettez pas dans le PreInit), vous allez ajouter ceci :

          BlockTutoriel = new BlockTutoriel(2000).setHardness(2.0F).setResistance(4.0F).setUnlocalizedName("BlockTutoriel");
      

      2000 est l’id du bloc, setHardness correspond à la résistance du bloc par rapport à la pioche (ou à la main) et setResistance est la résistance aux explosions
      Ensuite, enregistrez votre bloc dans la partie @Init :

          GameRegistry.registerBlock(BlockTutoriel, "BlockTutoriel");
      

      Et pour finir, enregistrez le nom en jeu dans la partie @PostInit avec ce code :

          LanguageRegistry.addName(BlockTutoriel, "Block Tutoriel");
      

      Il vous restera une erreur sur “new BlockTutoriel”, créez cette classe.

      La classe du bloc

      Vous allez avoir une classe qui ressemble à ça :

      package tutoriel.common;
      
      public class BlockTutoriel
      {
      
      }
      

      Ajoutez extends Block après “public class BlockTutoriel”. Importez “net.minecraft.block.Block”. Maintenant vous allez avoir une erreur sur “BlockTutoriel”, passez la souris dessus et faites "add constructor ‘BlockTutoriel(int, Material)’
      Vous allez obtenir un contructeur comme ceci :

          public BlockTutoriel(int par1, Material par2Material)
          {
              super(par1, par2Material);
          }
      

      Nous allons le modifier de cette façon-là :

          public BlockTutoriel(int id)
          {
              super(id, Material.rock);
              this.setCreativeTab(CreativeTabs.tabBlock);
          }
      

      Pensez à changer les paramètres du type par1, par2, par3, etc. par ce qui correspond, on s’y retrouve beaucoup mieux avec des noms corrects.

      Maintenant ajoutez cette fonction :

          public void registerIcons(IconRegister iconregister)
          {
              blockIcon = iconregister.registerIcon("ModTutoriel:BlockTutoriel");
          }
      

      C’est cette fonction qui gère l’enregistrement de l’icône de votre bloc. ModTutoriel est mon modid, vous pouvez mettre autre chose, mais il est recommandé de mettre votre modid (je vais vous expliquer plus bas où vous allez le retrouver), et BlockTutoriel est le nom de mon fichier de texture.

      La texture du bloc

      Nous avons enregistré juste au-dessus l’icône du bloc, mais maintenant il faut savoir où placer la texture du bloc.
      Allez dans votre dossier forge/mcp/src/minecraft.
      Dans ce dossier se trouvent les sources du jeu. Vous devrez normalement y voir un dossier du même nom que votre package, tutoriel dans mon cas. Créez un nouveau dossier et nommez-le mods. À l’intérieur de ce dossier, créez un autre dossier et nommez-le avec votre modid, enfin plus exactement avec le nom que vous avez mit avant le “:”, ModTutoriel dans mon cas. À nouveau, dans ce dossier créez un autre dossier nommé textures. Dans le dossier textures, créez le dossier blocks
      Nous avons donc 4 dossiers : mods/ModTutoriel/textures/blocks/
      Maintenant dans le dossier blocks, créez votre fichier .png de 16x16 nommé BlockTutoriel, ce qui correspond à la partie après le “:”. (vous pouvez aussi faire des textures plus grandes, mais elles seront plus lourdes à charger).
      Par ailleurs, lorsque vous compilerez votre mod, pensez à placer le dossier mods qui se trouve dans /forge/mcp/src/minecraft dans l’archive de votre mod, sinon les textures seront manquantes.

      Rendu final

      Maintenant votre bloc est terminé, si vous avez eu des problèmes, regardez le résultat final de toutes les classes :
      Bloc Minecraft Forge France

      Classe prinicipale :

      package tutoriel.common;
      
      import net.minecraft.block.Block;
      
      import tutoriel.proxy.TutoCommonProxy;
      
      import cpw.mods.fml.common.Mod;
      import cpw.mods.fml.common.Mod.Init;
      import cpw.mods.fml.common.Mod.Instance;
      import cpw.mods.fml.common.Mod.PostInit;
      import cpw.mods.fml.common.Mod.PreInit;
      import cpw.mods.fml.common.SidedProxy;
      import cpw.mods.fml.common.event.FMLInitializationEvent;
      import cpw.mods.fml.common.event.FMLPostInitializationEvent;
      import cpw.mods.fml.common.event.FMLPreInitializationEvent;
      import cpw.mods.fml.common.network.NetworkMod;
      import cpw.mods.fml.common.registry.GameRegistry;
      import cpw.mods.fml.common.registry.LanguageRegistry;
      
      @Mod(modid = "ModTutoriel", name = "Mod Tutoriel", version = "1.0.0", acceptedMinecraftVersions = "[1.5.2,)")
      @NetworkMod(clientSideRequired = true, serverSideRequired = false)
      
      public class ModTutoriel
      {
          @SidedProxy(clientSide = "tutoriel.proxy.TutoClientProxy", serverSide = "tutoriel.proxy.TutoCommonProxy")
          public static TutoCommonProxy proxy;
          @Instance("ModTutoriel")
          public static ModTutoriel instance;
      
          //Blocks
          public static Block BlockTutoriel, DeuximeBlock, TroixiemeBlock;
      
          @PreInit
          public void preload(FMLPreInitializationEvent event)
          {
              //Configuration
      
              //Blocks
              BlockTutoriel = new BlockTutoriel(2000).setHardness(2.0F).setResistance(4.0F).setUnlocalizedName("BlockTutoriel");
      
              //Items
      
              //Achievements
          }
      
          @Init
          public void load(FMLInitializationEvent event)
          {
              //Registry
              GameRegistry.registerBlock(BlockTutoriel, "BlockTutoriel");
      
              //Mobs
      
              //Render
              proxy.registerRender();
              //NetWork
          }
      
          @PostInit
          public void modloaded(FMLPostInitializationEvent event)
          {
              //Language
              LanguageRegistry.addName(BlockTutoriel, "Block Tutoriel");
      
              //Recipe
          }
      }
      

      Classe du bloc :

      package tutoriel.common;
      
      import net.minecraft.block.Block;
      import net.minecraft.block.material.Material;
      import net.minecraft.client.renderer.texture.IconRegister;
      import net.minecraft.creativetab.CreativeTabs;
      
      public class BlockTutoriel extends Block
      {
          public BlockTutoriel(int id)
          {
              super(id, Material.rock);
              this.setCreativeTab(CreativeTabs.tabBlock);
          }
      
          public void registerIcons(IconRegister iconregister)
          {
              blockIcon = iconregister.registerIcon("ModTutoriel:BlockTutoriel");
          }
      }
      
      1 réponse Dernière réponse Répondre Citer 0
      • J Hors-ligne
        justin7130
        dernière édition par

        Super tutoriel. 😛
        J’attends la suite avec grand plaisir. 🙂

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

          @robin4002:

          Vous devrez normalement y voir un dossier du même que votre package, tutoriel dans mon cas.

          Tu as oublié le mot “nom” ;)___
          @robin4002:

          Créez un nous dossier et nommez-le mods.

          Et tu as écrit “nous” au lieu de “nouveau”.

          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

            Et mince, le pire c’est que je me suis relus, je sais pas comment j’ai fais pour le pas le voir, merci

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

              De rien ! 😉

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

                Sa doit être la fatigue ^^', sa peu arrivai, la perfection n’existe pas en soit :).
                Et merci pour le petit tuto ^^.

                Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

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

                  Merci beaucoup pour ces premiers tuto. J’attend la suite avec impatience car j’ai pas trouvé mieux ailleurs !

                  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

                    Tutoriel obsolète, à refaire. Il est valable pour minecraft 1.5.1 et 1.5.2

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

                      @‘robin4002’:

                      Par ailleurs, lorsque vous compilerez votre mods, pensez à placer le dossier mods qui se trouve dans /forge/mcp/src/minecraft dans l’archive de votre mods, sinon les textures seront manquantes.

                      Comment compile-t-on notre source ? on met le contenue de notre dossier mods “ModTutoriel” dans une archive ? on le compile avec éclipse ?

                      ma vie de minecraftien: Ulyssecraft

                      1 réponse Dernière réponse Répondre Citer 0
                      • kevin_68K Hors-ligne
                        kevin_68 Moddeurs confirmés
                        dernière édition par

                        Quand tu as finit, tu vas dans ton dossier mcp et tu lance le bat recompile.bat puis reobfuscate.bat, ensuite dans le dossier reobf tu as tes sources recompiler et comme a dit rob, n’oublie pas de mettre des textures/sons car le recompile ne prend que en compte les .java.


                        Mettez à jours vers la dernière version stable (1.8.9 voir même…

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

                          Merci pour cette réponse rapide

                          ma vie de minecraftien: Ulyssecraft

                          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