Génération de minerais



  • Sommaire du tutoriel

    Introduction

    Bonjour,

    Ici vous retrouverais comment créer la génération de minerais.

    Pré-requis

    La Génération

    Pour commencer créons la class OreGeneration dans le dossier world que vous devez créer.

    Ensuite vous devrez mettre dans cette class :

    public static void setupOreGeneration() {}
    

    Ajoutez-y dedans :

    for(Biome biome : ForgeRegistries.BIOMES) {}
    

    Et c'est dans le for, vous allez faire toutes vos générations de minerais.

    Ajoutez-y dedans donc :

    CountRangeConfig super_ore_setup = new CountRangeConfig(5, 0, 0, 10);
    

    Donc expliqu'on ce que c'est : le super_ore_setup est le nom de notre génération, le "5" est le nombre de filon maximal par chunk, les "0" sont la hauteur minimal de la génération et le "10" est la hauteur maximal de génération.

    Ajoutez à la suite :

    biome.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, new CompositeFeature<>(Feature.MINABLE, new MinableConfig(MinableConfig.IS_ROCK, ModBlocks.SUPER_ORE.getDefaultState(), 8), new CountRange(), super_ore_setup));
    

    A la place de ModBlocks.SUPER_ORE appeler votre bloc de minerais, le "8" juste après est le nombre de minerais par filon au maximum et à la place de super_ore_setup mettez le nom mis juste avant.

    Dans la class principal ajoutez :

    private void setup(final FMLCommonSetupEvent event) {}
    

    et dedans metez-y :

    OreGeneration.setupOreGeneration();
    

    et pour finir, dans le constructeur de la class, ajouez :

    FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
    

    Donc au final ça devrez vous donnez quelque chose comme ça :

    public class OreGeneration
    {
        public static void setupOreGeneration()
        {
            for (Biome biome : ForgeRegistries.BIOMES)
            {
                CountRangeConfig super_ore_setup = new CountRangeConfig(5, 0, 0, 10);
                biome.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, new CompositeFeature<>(Feature.MINABLE, new MinableConfig(MinableConfig.IS_ROCK, ModBlocks.SUPER_ORE.getDefaultState(), 8), new CountRange(), super_ore_setup));
            }
        }
    }
    

    Bonus

    Si vous voulez que le minerais se génere que dans des biomes spécifique, mettez le CountRangeConfig ... et le addFeature(...) dans :

    if(biome == Biomes.LE_BIOME_DE_VOTRE_CHOIX) {}
    

    Licence et attribution

    Creative Commons

    Ce tutoriel rédigé par DailyCraft et 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



  • J'ai dû changer un peu le code pour que ça fonctionne:

    A la ligne 8, "Feature.ORE" j'ai remplacé "ORE" par "MINABLE", parce qu'Eclipse était pas content.

    Je ne sais pas si c'est normal, mais maintenant ça marche 🙂



  • En effet c'est un bug, je corrige ça dans 2 secondes


  • Moddeurs confirmés Rédacteurs Administrateurs

    Merci pour cette contribution, même si court le tutoriel contient tout ce qu'il faut 🙂



  • This post is deleted!


  • De rien 😉



  • Ca aidera !


Log in to reply