Génération de minerais
-
Sommaire du tutoriel
Introduction
Bonjour,
Ici vous retrouverez comment créer la génération de minerais.
Pré-requis
La Génération
Pour commencer créons la class
OreGeneration
dans le dossierworld
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 desuper_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 leaddFeature(...)
dans :if(biome == Biomes.LE_BIOME_DE_VOTRE_CHOIX) {}
Licence et attribution
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
-
Merci pour cette contribution, même si court le tutoriel contient tout ce qu’il faut
-
Ce message a été supprimé ! -
De rien
-
Ca aidera !
-