[1.14.4]Génération de minerais
-
Sommaire du tutoriel
- Introduction
- Pré-requis
- Préparation du code nécessaire a la génération des minerais
- La génération de minerais dans l’Overworld
- La génération de minerais dans le Nether
- La génération de minerais dans l’End
- Licence et attribution
Introduction
Bonjour, Dans ce petit tutoriel on vas voir comment faire de la génération de minerais sur la forge 1.14.4.
Si vous avais vue le tuto de DailyCraft vous devais être à l’aise avec ce qui vas être montré ici.
Pré-requis
- Avoir la base d’un mod
- Avoir des block a générés dans le monde
Préparation du code nécessaire a la génération des minerais
Commencé d’abord par créer un class avec le nom que vous souhait (dans mon cas
ModSetup
).Dès que vous avais votre class ajouté ce code si-dessous
public class ModSetup { public void init() { //OreGenerator for(Biome biome : ForgeRegistries.BIOMES) { } } }
ce bout de code a pour but de donnée l’un après l’autre tout les biomes de Minecraft dans la variable
biome
.Note
Vous pouvais utiliser
Biomes
au dehors du for pour cible un biome précis, ex:Biomes.JUNGLE
En suis vous aller dans la class principal de votre mod et dans setup pour appelés la fonction qui mes en place la génération des minerais (dans mon cas
init()
), ce qui donne:[...] public static ModSetup setup = new ModSetup(); [...] private void setup(final FMLCommonSetupEvent event) { [...] setup.init(); [...] } [...]
La génération de minerais dans l’Overworld
pour l’overworld vous utiliserais la majorité du temps cette ‘fonction’
biome.addFeature( GenerationStage.Decoration.UNDERGROUND_ORES, Biome.createDecoratedFeature(Feature.ORE, new OreFeatureConfig( FillerBlockType.NATURAL_STONE, MesBlocks.MON_BLOCK.getDefaultState(), 12/* *1 */), Placement.COUNT_RANGE, new CountRangeConfig( 34/* *2 */, 20/* *3 */, 0, 128/* *4 */ ) ) );
Donc cette fonction a pour but d’ajout en premier temps une
GenerationStage
au biome qui et dans notre casGenerationStage.Decoration.UNDERGROUND_ORES
(ceci correspond à la generation des sous-sol), après avoir donnée le type deGenerationStage
nous lui donnons laFeature
qu’il doit appliquer dans notre casDecoratedFeature
avec le typeFeature.ORE
après avoir donnée ceci on lui donnée les configs de cetteFeature
, dans notre cas on veut remplacer la stone(FillerBlockType.NATURAL_STONE
) par notre block(MesBlocks.MON_BLOCK.getDefaultState()
), et pour finaliser la generation il faut le paramettre de propabilité de placé laFeature
dans votre monde,*1
c’est la taille maximale du group de minerais qu’il vas placer,*2
c’est le nombre de group de minerais dans un chunck,*3
c’est l’hauteur ninimium par rapport a y = 0 et enfin*4
c’est l’hauteur maximium par rapport a y = 0.La génération de minerais dans le Nether
Alors pour le Nether ce là vas être rapide car c’est la même chose qu’audessu sauf que long doit changer
FillerBlockType.NATURAL_STONE
parFillerBlockType.NETHERRACK
ce qui donne:biome.addFeature( GenerationStage.Decoration.UNDERGROUND_ORES, Biome.createDecoratedFeature(Feature.ORE, new OreFeatureConfig( FillerBlockType.NETHERRACK, MesBlocks.MON_BLOCK.getDefaultState(), 12/* *1 */), Placement.COUNT_RANGE, new CountRangeConfig( 34/* *2 */, 20/* *3 */, 0, 128/* *4 */ ) ) );
Au niveau explication c’est la même chose que pour l’overworld, sauf que
FillerBlockType.NETHERRACK
a pour but de replacé la netherrack au lieu de la stone.La génération de minerais dans l’End
Et pour terminer ce petit tutoriel on fini par l’end qui et différent des autres dimension car ‘FillerBlockType’ prend en conte que la stone et la netherrack, voici le code:
biome.addFeature( GenerationStage.Decoration.UNDERGROUND_DECORATION, Biome.createDecoratedFeature(Feature.EMERALD_ORE, new ReplaceBlockConfig( Blocks.END_STONE.getDefaultState(), MesBlocks.MON_BLOCK.getDefaultState() ), Placement.COUNT_RANGE, new CountRangeConfig( 32/* *2 */, 20/* *3 */, 0, 70/* *4 */) ) );
Ici nous utilisons
ReplaceBlockConfig
au lieu duOreFeatureConfig
c’est pour cela que l’on a unFeature.EMERALD_ORE
et non unFeature.ORE
carFeature.ORE
ne prend pas en charge leReplaceBlockConfig
,
donc avec cela on replacer un block d’end stone(Blocks.END_STONE.getDefaultState()
) par notre block, et pour le reste c’est la même chose sauf que l’on ne peut faire des groupes de minerais.Licence et attribution
Ce tutoriel rédigé par AlasDiablo 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
-
Merci pour cette contribution
-
-