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

La génération de blocs(minerais)

Discussion dans 'Tutoriels' créé par ATE47, 21 Juin 2013.

  1. ATE47

    ATE47 Bûcheron

    Inscrit:
    3 Juil 2012
    Messages:
    227
    Points:
    121
    Sexe:
    Homme
    Pour faire ce tuto il vous faut avoir fait cette page.
    pour ce tutoriel je vais faire une sorte de suite à celui-ci avec comme minerai le Titane
    [Forge]Les outils
    Sommaire:
    I. Situer ce qu'il faut ajouter
    II.Configurer

    I : Situer ce qu'il faut ajouter
    Bonjour, aujourd'hui je vais vous montrez comment faire pour générer des blocs dans votre monde Minecraft(compris Ender|nether\autres(Votre propre dimension)).
    Vous allez commencer par créer un bloc(j'ai ajouté le bloc de titane avec celui du minerai) en plaçant ce code avant public void load(... :
    Code (java):
    public static Block TitaneMinerai, TitaneBloc;
    Là rien à changer sauf le nom du minerai
    puis dans load(... ajoutez :
    Code (java):
    TitaneMinerai = new Block(1500, Material.iron).setCreativeTab(CreativeTabs.tabBlock).setUnlocalizedName("MonMod:TitaneMinerai");
    TitaneBloc = new Block(1501, Material.iron).setCreativeTab(CreativeTabs.tabBlock).setUnlocalizedName("MonMod:TitaneBloc");
       
    là changer juste les noms du minerai et les liens vers les textures MonMod:Titane..
    Ajoutez les noms et les registres (dans public void postload(... ):
    Code (java):
    LanguageRegistry.addName(TitaneMinerai, "Minerai de titane");
    LanguageRegistry.addName(TitaneBloc, "Bloc de titane");
    GameRegistry.registerBlock(TitaneMinerai, "TitaneMinerai");
    GameRegistry.registerBlock(TitaneBloc, "TitaneBloc");
    Encore le nom à changer
    Ceci est pour les crafts entre les tutos(toujours dans postload) :
    Code (java):
    GameRegistry.addRecipe(new ItemStack (TitaneBloc), new Object [] { "111", "111", "111", Character.valueOf('1'), TitaneLingo});
    GameRegistry.addRecipe(new ItemStack (TitaneLingo, 9), new Object [] { "1", Character.valueOf('1'), TitaneBloc});
    GameRegistry.addSmelting(TitaneMinerai.blockID, new ItemStack(TitaneLingo), 0.5F);
    Et pour finir avant la fin du postload ajoutez ceci :
    Code (java):
    GameRegistry.registerWorldGenerator(new Worldgen());
    Si il y a une erreur c'est normal, créer une classe nommé Worldgen et ajoutez dedans ceci :
    Code (java):
    package modColorFun.common;
     
    import java.util.Random;
     
    import net.minecraft.world.World;
    import net.minecraft.world.chunk.IChunkProvider;
    import net.minecraft.world.gen.feature.WorldGenMinable;
    import cpw.mods.fml.common.IWorldGenerator;
    import net.minecraft.block.Block;
     
     
     
    public class Worldgen implements IWorldGenerator{
     
    @Override
    public void generate(Random random, int chunkX, int chunkZ, World world,
    IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
     
    switch(world.provider.dimensionId){
    case -1 : genNether(world, random, chunkX*16, chunkZ*16);
    break;
    case 0  : genWorld(world, random, chunkX*16, chunkZ*16);
    break;
    case 1  : genEnd(world, random, chunkX*16, chunkZ*16);
    break;
     
     
    }
     
    }
    private void genEnd(World world, Random rand, int chunkX, int chunkZ)
    {
    //Pour les limbes(ender)
    //code \/
     
    //code /\
    }
     
    }
     
    private void genNether(World world, Random rand, int chunkX, int chunkZ)
    {
    //Pour l'enfer(Nether)
    //code \/
     
    //code /\
    }
     
    }
     
    private void genWorld(World world, Random rand, int chunkX, int chunkZ) {
     
    for(int i = 0;i < 10; i++){
    //code \/
     
    //code /\
    }
    }
    public void addWorldGenMinable(int BlocID, int MaxMinerai, int MaxY, World world, Random rand, int chunkX, int chunkZ)
    {
    int randPosX = chunkX + rand.nextInt(16);
    int randPosY = rand.nextInt(MaxY);
    int randPosZ = chunkZ + rand.nextInt(16);
    new WorldGenMinable(BlocID, MaxMinerai).generate(world, rand, randPosX, randPosY, randPosZ);
    }
     
     
    }
     
    II : Configurer
    Dans le void genWorld

    Dans le void genNether

    Dans le void genEnd

    Dans le void generate après ceci :
    Code (java):
    case 1  : genEnd(world, random, chunkX*16, chunkZ*16);
    break;
    ajoutez ceci :
    Code (java):
    case 10  : genMaDimension(world, random, chunkX*16, chunkZ*16);
    break;
    10 = Id de la dimension
    genMaDimension = ce void là \/
    et avant la fin de la classe ajoutez ceci :
    Code (java):
    private void genMaDimension(World world, Random rand, int chunkX, int chunkZ) {
     
    for(int i = 0;i < 10; i++){
    //code \/
     
    //code /\
    }
    }

    Ajouter ceci dans le grand espace(entre les partie //code) :
    Code (java):
    addWorldGenMinable(modColorFun.TitaneMinerai.blockID, 9,64,world, rand, chunkX, chunkZ);
    Grâce à ce code vous allez ajoutez votre minerai
    modColorFun.TitaneMinerai.blockID : id du bloc générer
    9 : maximum de minerai dans un filon
    64 : hauteur maximum où l'on peut trouver les filons
    la suite vous n'y touchez pas.

    Voilà, votre minerai est fait

    Si vous voulez faire une armure pour votre mod allez ici, c'est un tutoriel de robin4002.

     
  2. pulganr

    pulganr Nouveau

    Inscrit:
    23 Juin 2013
    Messages:
    5
    Points:
    32
    Sexe:
    Homme
    Merci du tuto sa marche mais il serait possible d'avoir un tuto sur comment créer une dimension ou créer le rendu d'une entité?​
     
  3. ATE47

    ATE47 Bûcheron

    Inscrit:
    3 Juil 2012
    Messages:
    227
    Points:
    121
    Sexe:
    Homme
    Dimension : En cour,
    Rendu : Je n'ai pas la moindre idée de comment faire
     

Partager cette page