Navigation

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Un bloc basique

    Les blocs
    1.5.2
    7
    11
    5745
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • robin4002
      robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by 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 Reply Last reply Reply Quote 0
      • J
        justin7130 last edited by

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

        1 Reply Last reply Reply Quote 0
        • Rems19
          Rems19 last edited by

          @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 Reply Last reply Reply Quote 0
          • robin4002
            robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by 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 Reply Last reply Reply Quote 0
            • Rems19
              Rems19 last edited by

              De rien ! 😉

              1 Reply Last reply Reply Quote 0
              • S
                sevenno07 last edited by

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

                1 Reply Last reply Reply Quote 0
                • S
                  Sholla last edited by

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

                  1 Reply Last reply Reply Quote 0
                  • robin4002
                    robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

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

                    1 Reply Last reply Reply Quote 0
                    • U
                      ulysse1976 last edited by

                      @‘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 ?

                      1 Reply Last reply Reply Quote 0
                      • kevin_68
                        kevin_68 Moddeurs confirmés last edited by

                        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.

                        1 Reply Last reply Reply Quote 0
                        • U
                          ulysse1976 last edited by

                          Merci pour cette réponse rapide

                          1 Reply Last reply Reply Quote 0
                          • 1 / 1
                          • First post
                            Last post
                          Design by Woryk
                          Contact / Mentions Légales / Faire un don

                          MINECRAFT FORGE FRANCE © 2018

                          Powered by NodeBB