提供: Minecraft Modding Wiki
(ページの作成:「 {{前提MOD|reqmod="Minecraft Forge Universal 10.13.0.1207"}} {{ チュートリアル難易度 | difficulty=0 }} オーバーワールドに独自のバイオーム...」) |
(→MODのエントリーポイントを作成) |
||
(2人の利用者による、間の4版が非表示) | |||
1行目: | 1行目: | ||
{{前提MOD|reqmod="Minecraft Forge Universal 10.13.0.1207"}} | {{前提MOD|reqmod="Minecraft Forge Universal 10.13.0.1207"}} | ||
− | {{ チュートリアル難易度 | difficulty= | + | {{ チュートリアル難易度 | difficulty=1|clear=none}} |
+ | {{チュートリアルカテゴリー|type=World}} | ||
オーバーワールドに独自のバイオームを追加するサンプルです。 | オーバーワールドに独自のバイオームを追加するサンプルです。 | ||
32行目: | 33行目: | ||
public static int biome4ID = 43; | public static int biome4ID = 43; | ||
− | + | ||
− | + | ||
− | |||
− | |||
− | |||
@EventHandler | @EventHandler | ||
46行目: | 44行目: | ||
// 各種バイオームリストにバイオームを追加 | // 各種バイオームリストにバイオームを追加 | ||
// 2つ目の引数はバイオーム発生頻度の重み付け。大きいほど頻繁 | // 2つ目の引数はバイオーム発生頻度の重み付け。大きいほど頻繁 | ||
− | BiomeManager.desertBiomes.add(new BiomeManager.BiomeEntry(biome1, 10)); | + | // 独自のバイオーム。地表ブロックと地中ブロックがバニラとは異なる |
− | + | BiomeGenBase biome1 = (new BiomeGenSample1(biome1ID)) | |
− | + | .setColor(0xff0000) | |
− | + | .setBiomeName("Sample1"); | |
+ | BiomeManager.desertBiomes.add(new BiomeManager.BiomeEntry(biome1, 10)); | ||
+ | |||
+ | BiomeGenBase biome2 = (new BiomeGenSample2(biome2ID)) | ||
+ | .setColor(0x00ff00) | ||
+ | .setBiomeName("Sample2"); | ||
+ | BiomeManager.desertBiomes.add(new BiomeManager.BiomeEntry(biome2, 10)); | ||
+ | |||
+ | BiomeGenBase biome3 = (new BiomeGenSample3(biome3ID)) | ||
+ | .setColor(0x00ff00) | ||
+ | .setBiomeName("Sample3"); | ||
+ | BiomeManager.warmBiomes.add(new BiomeManager.BiomeEntry(biome3, 10)); | ||
+ | |||
+ | BiomeGenBase biome4 = (new BiomeGenSample4(biome4ID)) | ||
+ | .setColor(0xffff00) | ||
+ | .setBiomeName("Sample4"); | ||
+ | BiomeManager.coolBiomes.add(new BiomeManager.BiomeEntry(biome4, 10)); | ||
+ | |||
+ | |||
+ | |||
} | } | ||
72行目: | 89行目: | ||
public BiomeGenSample1(int p_i1986_1_) { | public BiomeGenSample1(int p_i1986_1_) { | ||
super(p_i1986_1_); | super(p_i1986_1_); | ||
− | this.topBlock = Blocks.glass; | + | this.topBlock = Blocks.glass;//自作ブロックも可 |
this.fillerBlock = Blocks.crafting_table; | this.fillerBlock = Blocks.crafting_table; | ||
} | } |
2019年12月24日 (火) 19:51時点における最新版
この記事は"Minecraft Forge Universal 10.13.0.1207"を前提MODとしています。 |
オーバーワールドに独自のバイオームを追加するサンプルです。
MODのエントリーポイントを作成[編集]
- AddBiome.java
package sample; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.BiomeManager; @Mod(modid = AddBiome.MODID, name = AddBiome.MODNAME, version = AddBiome.VERSION) public class AddBiome { public static final String MODID = "AddBiome"; public static final String MODNAME = "AddBiome"; public static final String VERSION = "1.0.0"; // バイオームIDを指定 // ここでは決め打ちにしているが、他MODが追加するバイオームとIDが重複する可能性があるので、 // 設定ファイルで変更できるようにするか、自動的に割り振るようにするとよい public static int biome1ID = 40; public static int biome2ID = 41; public static int biome3ID = 42; public static int biome4ID = 43; @EventHandler public void preInit(FMLPreInitializationEvent event) { } @EventHandler public void init(FMLInitializationEvent event) { // 各種バイオームリストにバイオームを追加 // 2つ目の引数はバイオーム発生頻度の重み付け。大きいほど頻繁 // 独自のバイオーム。地表ブロックと地中ブロックがバニラとは異なる BiomeGenBase biome1 = (new BiomeGenSample1(biome1ID)) .setColor(0xff0000) .setBiomeName("Sample1"); BiomeManager.desertBiomes.add(new BiomeManager.BiomeEntry(biome1, 10)); BiomeGenBase biome2 = (new BiomeGenSample2(biome2ID)) .setColor(0x00ff00) .setBiomeName("Sample2"); BiomeManager.desertBiomes.add(new BiomeManager.BiomeEntry(biome2, 10)); BiomeGenBase biome3 = (new BiomeGenSample3(biome3ID)) .setColor(0x00ff00) .setBiomeName("Sample3"); BiomeManager.warmBiomes.add(new BiomeManager.BiomeEntry(biome3, 10)); BiomeGenBase biome4 = (new BiomeGenSample4(biome4ID)) .setColor(0xffff00) .setBiomeName("Sample4"); BiomeManager.coolBiomes.add(new BiomeManager.BiomeEntry(biome4, 10)); } @EventHandler public void postInit(FMLPostInitializationEvent event) { } }
独自のバイオームを追加[編集]
- BiomeGenSample1 .java
地表ブロックがガラス、地中ブロックが作業台のバイオームです。
package sample; import net.minecraft.init.Blocks; import net.minecraft.world.biome.BiomeGenDesert; public class BiomeGenSample1 extends BiomeGenDesert { public BiomeGenSample1(int p_i1986_1_) { super(p_i1986_1_); this.topBlock = Blocks.glass;//自作ブロックも可 this.fillerBlock = Blocks.crafting_table; } }
- BiomeGenSample2 .java
地表ブロックがかぼちゃ、地中ブロックが砂利のバイオームです。
package sample; import net.minecraft.init.Blocks; import net.minecraft.world.biome.BiomeGenDesert; public class BiomeGenSample2 extends BiomeGenDesert { public BiomeGenSample2(int p_i1986_1_) { super(p_i1986_1_); this.topBlock = Blocks.pumpkin; this.fillerBlock = Blocks.dirt; } }
- BiomeGenSample3 .java
地表ブロックがネザーレンガ、地中ブロックがネザーラックのバイオームです。
package sample; import net.minecraft.init.Blocks; import net.minecraft.world.biome.BiomeGenDesert; public class BiomeGenSample3 extends BiomeGenDesert { public BiomeGenSample3(int p_i1986_1_) { super(p_i1986_1_); this.topBlock = Blocks.nether_brick; this.fillerBlock = Blocks.netherrack; } }
- BiomeGenSample4 .java
地表ブロックがメロン、地中ブロックが粘土のバイオームです。
package sample; import net.minecraft.init.Blocks; import net.minecraft.world.biome.BiomeGenDesert; public class BiomeGenSample4 extends BiomeGenDesert { public BiomeGenSample4(int p_i1986_1_) { super(p_i1986_1_); this.topBlock = Blocks.melon_block; this.fillerBlock = Blocks.clay; } }