提供: Minecraft Modding Wiki
2015年1月21日 (水) 21:39時点におけるRkEclair (トーク | 投稿記録)による版 (ページの作成:「=鉱石生成イベント= 地中に生成する、あらゆるブロックの生成イベントの事。 主にフックを掛けて、形状等を生成できるよ...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

鉱石生成イベント

地中に生成する、あらゆるブロックの生成イベントの事。 主にフックを掛けて、形状等を生成できるよう、イベントとして使用する。 @SubscribeEventアノテーションが付いた、 OreGenEvent.Preを引数とする関数を実装したクラスのインスタンスを、 このイベントバスに登録する。

用例

※importは省略しています。

  • SampleOreGen.java
@Mod(modid = "sampleoregen", name = "SampleOreGen", version = "1.0")
public class SampleOreGen {
    @EventHandler
    public void init(FMLInitializationEvent event) {
        // 別途クラスを用意し、そのインスタンスでも可。
        MinecraftForge.EVENT_BUS(this);
    }

    @SubscribeEvent
    public void generateOrePre(OreGenEvent.Pre event) {
        // 1.7以前版
        WorldGenerator generator = new WorldGenMinable(Blocks.bedrock, 9);
        if(generateOre(event.world, event.rand, WorldGenerator generator, int worldX, int worldZ, GenerateMinable.EventType type)) {
            // 生成処理
        }
        // 1.8以降版
        WorldGenerator generator = new WorldGenMinable(Blocks.bedrock.getDefaultState(), 9);
	if(TerrainGen.generateOre(event.world, event.rand, generator, event.pos, OreGenEvent.GenerateMinable.EventType.CUSTOM)) {
	    // 生成処理
        }
    }
}