提供: 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, | + | if(generateOre(event.world, event.rand, WorldGenerator 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, WorldGenerator 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)) { // 生成処理 } } }