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 cas GenerationStage.Decoration.UNDERGROUND_ORES
(ceci correspond à la generation des sous-sol), après avoir donnée le type de GenerationStage
nous lui donnons la Feature
qu’il doit appliquer dans notre cas DecoratedFeature
avec le type Feature.ORE
après avoir donnée ceci on lui donnée les configs de cette Feature
, 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é la Feature
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
par FillerBlockType.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 du OreFeatureConfig
c’est pour cela que l’on a un Feature.EMERALD_ORE
et non un Feature.ORE
car Feature.ORE
ne prend pas en charge le ReplaceBlockConfig
,
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