1. Le forum de Minecraft-France va définitivement fermer ses portes. Celui-ci restera en lecture seule mais vous ne pourrez plus y apporter de nouveaux topics. Nous vous invitons à nous rejoindre sur le Discord de Minecraft-France qui permet de présenter vos projets, discuter avec la communauté etc.. Merci à tous d'avoir fait vivre ce forum de nombreuses années. Pour nous rejoindre sur Discord, Cliquez ici

[1.4.7] Un bloc simple

Discussion dans 'Tutoriels' créé par robin4002, 20 Fev 2013.

  1. robin4002

    robin4002 Support Technique
    Staff

    Inscrit:
    17 Août 2012
    Messages:
    5 478
    Points:
    229
    Sexe:
    Homme
    Un bloc simple

    Dans ce tutoriel nous allons apprendre à faire un bloc simple comme de la pierre.

    Prérequis:
    - Une classe principale

    1. Déclaration dans la classe principale

    Pour commencer notre bloc, il faut déclarer le bloc dans la class principale avec :

    Code (java):
    public static Block Nom_du_bloc;
    Explication: cette fonction sert à définir "Nom_du_bloc" en "Block"

    Nous allons aussi ajouter cela, mais cette fois-ci dans la fonction "Init(FMLInitializationEvent event)"
    Code (java):
    Nom_du_bloc = new Nom_du_bloc(ID_du_bloc, Numéro_de_la_texture, Material.matériel_du_bloc).setStepSound(Block.Son_du_bloc).setBlockName("Nom_du_bloc");
    Ici, on définit le bloc : on commence par dire de quel bloc on parle, puis on dit qu'il est égal à une classe, on donne une valeur aux variables que l'on va définir dans la classe et enfin on ajoute un ".setBlockName("")" pour définir le nom du bloc (pas en jeu, on verra ça plus tard). Normalement vous avez une erreur, elle sera corrigée plus tard.
    Pour l'ID, avec forge vous pouvez choisir un ID entre 500 et 4095 grâce au 4096 fix de forge
    Si vous compter utiliser votre bloc dans la génération de biome, il faut choisir un ID inférieur à 255

    Maintenant, nous allons enregistrer le bloc dans le jeu, pour cela il suffit d'ajouter ceci dans la fonction "Init(FMLInitializationEvent event)"
    Code (java):
    GameRegistry.registerBlock(Nom_du_bloc,"Nom_du_bloc");
    Infos: "GameRegistry" sert à enregistrer quelque chose dans le jeu, on précise que c'est un bloc avec ".registerBlock(Nom_du_bloc,"Nom_du_bloc")"

    On termine cette partie avec l'ajout du nom en jeu du bloc :
    Code (java):
    LanguageRegistry.addName(Nom_du_bloc, "Nom du bloc en jeu");
    Infos: "LanguageRegistry" sert à enregistrer un "langage" et on précise que c'est un nom avec ".addName(Nom_du_bloc, "Nom du bloc en jeu");"
    Ce qui donne par exemple :
    Code (java):

      public static Block Bloc_tutoriel;
      @Init
      public void load(FMLInitializationEvent event)
      {
          proxy.registerTextures();
          Bloc_tutoriel = new Bloc_tutoriel(1750, 0, Material.rock).setStepSound(Block.soundStoneFootstep).setBlockName("Bloc_tutoriel");
          GameRegistry.registerBlock(Bloc_tutoriel,"Bloc_tutoriel");
          LanguageRegistry.addName(Bloc_tutoriel, "Bloc tutoriel");
      }

    2. La classe du bloc

    Ici nous allons créer la classe du bloc, cela va corriger les erreurs de la classe principale.

    Pour commencer il vous faut créer une classe et normalement vous avez ça :
    Code (cpp):
    package nomdupackage;
     
    public class Nom_du_bloc
    {
     
    }
     
    Il suffit d'ajouter "extends Block", une erreur apparaît, il vous suffit de faire ctrl+shift+o, puis de passer la souris sur Nom_du_bloc qui est souligné en rouge et de cliquer sur "add constructor"
    Normalement vous obtenez cela :
    Code (java):
    package nomdupackage;
     
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
     
    public class Nom_du_bloc extends Block
    {
        public Nom_du_bloc(int par1, int par2, Material par3Material)
        {
            super(par1, par2, par3Material);
        }
     
    }
    Et voilà, vous avez créé un bloc le plus simple possible, d'autres tutoriels seront disponibles pour l'améliorer.
     
    • Utile Utile x 1
  2. Morgoth

    Morgoth Résident de l'End

    Inscrit:
    1 Mai 2012
    Messages:
    6 351
    Points:
    229
    Sexe:
    Homme
    Personnellement je n'ai pas ça, voilà ce que j'obtiens en faisant CTRL+SHIFT+o :
    [​IMG]
     
  3. robin4002

    robin4002 Support Technique
    Staff

    Inscrit:
    17 Août 2012
    Messages:
    5 478
    Points:
    229
    Sexe:
    Homme
    Il faut choisir la classe block de minecraft, donc net.minecraft.block.Block
     
  4. Morgoth

    Morgoth Résident de l'End

    Inscrit:
    1 Mai 2012
    Messages:
    6 351
    Points:
    229
    Sexe:
    Homme
    D'accord merci bien maintenant j'obtiens la même chose que toi.
     

Partager cette page