提供: Minecraft Modding Wiki
移動先: 案内検索
(ここは用例を書くところではないはずなので修正。間違っていたら巻き戻し願います。)
(一応、用例を復活させときます。)
40行目: 40行目:
 
|鉱石を生成させるか否かを返すことができる。
 
|鉱石を生成させるか否かを返すことができる。
 
|}
 
|}
 +
==用例==
 +
※importは省略しています。
 +
*SampleOreGen.java
 +
<source lang="java">
 +
 +
@Mod(modid = "sampleoregen", name = "SampleOreGen", version = "1.0")
 +
public class SampleOreGen {
 +
    @EventHandler
 +
    public void init(FMLInitializationEvent event) {
 +
        // 別途クラスを用意し、そのインスタンスでも可。
 +
        MinecraftForge.ORE_GEN_BUS.register(this);
 +
    }
 +
 +
    @SubscribeEvent
 +
    public void generateOrePre(OreGenEvent.Pre event) {
 +
        // 1.7以前版
 +
        WorldGenerator generator = new WorldGenMinable(Blocks.bedrock, 9);
 +
        if(TerrainGen.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)) {
 +
    // 生成処理
 +
        }
 +
    }
 +
}
 +
 +
</source>

2015年1月24日 (土) 09:58時点における版

鉱石生成イベント

 ORE_GEN_BUSに登録するイベント. 鉱石生成へのフックが中心.
 具体的な使い方は1.8のOreGenEvent利用による鉱石生成を参照のこと。

生成に関するイベント

イベント名 OreGenEvent.Pre
OreGenEvent.Post
フックのタイミング バニラ鉱石を生成する前(Pre)と、した後(Post)
Cancelable ×
HasResult ×
補足
イベント名 OreGenEvent.GenerateMinable
フックのタイミング 鉱石が生成されるタイミング。
Cancelable ×
HasResult
補足 鉱石を生成させるか否かを返すことができる。

用例

※importは省略しています。

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

    @SubscribeEvent
    public void generateOrePre(OreGenEvent.Pre event) {
        // 1.7以前版
        WorldGenerator generator = new WorldGenMinable(Blocks.bedrock, 9);
        if(TerrainGen.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)) {
	    // 生成処理
        }
    }
}