提供: Minecraft Modding Wiki
移動先: 案内検索
(用例)
(用例)
22行目: 22行目:
 
         // 1.7以前版
 
         // 1.7以前版
 
         WorldGenerator generator = new WorldGenMinable(Blocks.bedrock, 9);
 
         WorldGenerator generator = new WorldGenMinable(Blocks.bedrock, 9);
         if(generateOre(event.world, event.rand, WorldGenerator generator, event.worldX, event.worldZ, OreGenEvent.GenerateMinable.EventType.CUSTOM)) {
+
         if(generateOre(event.world, event.rand, generator, event.worldX, event.worldZ, OreGenEvent.GenerateMinable.EventType.CUSTOM)) {
 
             // 生成処理
 
             // 生成処理
 
         }
 
         }

2015年1月21日 (水) 21:41時点における版

鉱石生成イベント

地中に生成する、あらゆるブロックの生成イベントの事。 主にフックを掛けて、形状等を生成できるよう、イベントとして使用する。 @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, generator, event.worldX, event.worldZ, OreGenEvent.GenerateMinable.EventType.CUSTOM)) {
            // 生成処理
        }
        // 1.8以降版
        WorldGenerator generator = new WorldGenMinable(Blocks.bedrock.getDefaultState(), 9);
	if(TerrainGen.generateOre(event.world, event.rand, generator, event.pos, OreGenEvent.GenerateMinable.EventType.CUSTOM)) {
	    // 生成処理
        }
    }
}