提供: Minecraft Modding Wiki
この記事は"Minecraft Forge 1.15-31.0.x~"を前提MODとしています。 |
ここでは、1.15.xの鉱石の生成方法を解説します。
ソース[編集]
SampleMod.java
/*パッケージ・インポートは省略*/ @Mod(SampleMod.MOD_ID) public class SampleMod { public static final String MOD_ID = "sample"; public SampleMod() { IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus(); bus.addListener(this::setup); } public static final Block sample_ore = new Block(Block.Properties.create(Material.ROCK) ) .setRegistryName(new ResourceLocation(SampleMod.MOD_ID, "sample_ore")); private void setup(final FMLCommonSetupEvent event) { for (Biome biome : ForgeRegistries.BIOMES) { biome.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, Feature.ORE.withConfiguration( new OreFeatureConfig(OreFeatureConfig.FillerBlockType.NATURAL_STONE, SampleMod.sample_ore.getDefaultState(), 10)).withPlacement( Placement.COUNT_RANGE.configure( new CountRangeConfig(10, 0, 0, 30)))); } } /*ブロックの登録等省略*/ }
解説[編集]
1.13から、@ModにはMOD_IDだけ記述するようになったので注意です。
ブロックの追加・登録方法は、1.14のブロック追加をご覧ください。
Modメインクラスに引数なしのコンストラクタを追加してあのように書くと、setupメソッドがModロード時に動きます。
そこでBiome一つ一つにaddFeatureをして鉱石を追加します。
OreFeatureConfigのコンストラクタは、(置き換え元ブロック, 置き換え先ブロック状態, 1回に生成される最大の数)です。
CountRangeConfigのコンストラクタは、(1チャンクでの生成回数, 謎(0にする), 謎(0にする), 生成最大高度)です。