提供: Minecraft Modding Wiki
2013年3月30日 (土) 18:33時点におけるReginn666 (トーク | 投稿記録)による版 (ModLoaderAPI解説と同様に表で概要を作成)
移動先: 案内検索


概要

 Minecraft ForgeとはMod作成に作成において要求頻度の高い様々な拡張機能を総合的に補助する前提Mod(拡張API)である. ver1.2.5まではModLoader, ModLoaderMP, Forgeと3つ導入する必要があったが, 1.3以降はForge用に調整されたForgeModLoaderが同梱されたので, Forgeのみ導入すればよくなった. なお, 1.2.5用の解説はここに記載しないので注意. 1.2.5と1.3ではForgeでもAPIが大きく異なるためである.

開発環境でのインストール方法

 MinecraftForge導入手順(MCP)にある通り, Forge ForumないしForge Downloadsからrecommended(推奨版)またはlatest(最新版)をダウンロードし, 解凍後任意のディレクトリで同梱のinstall.batまたはinstall.shを実行すれば開発環境が構築される.

関連リンク

ForgeModLoaderについて

 ForgeModLoader(以下FML)はForge用に作られた新しいModLoaderである. ModLoaderとは互換性があり, ModLoaderで作られたModでもFMLで動作することがある. 1.3以降時にForgeが担っていたネットワーク関連のAPIがFMLに委譲されており, Forge前提でもFMLのAPIを利用することが多いためこのページではまとめて扱う.

ForgeModLoader API

基礎

GameRegistry
メソッド名 概要 補足
public static void registerBlock(Block block) Blockの登録, ModLoader.registerBlockと同等 非推奨
public static void registerBlock(Block block, String name) Blockの登録 nameは後述のfindBlockを利用するときに使われる
public static void registerBlock(Block block, Class<? extends ItemBlock> itemclass) ItemBlockの登録, ModLoader.registerBlockと同等 非推奨
public static void registerBlock(Block block, Class<? extends ItemBlock> itemclass, String name) ItemBlockの登録 nameは後述のfindBlockを利用するときに使われる
public static void registerBlock(Block block, Class<? extends ItemBlock> itemclass, String name, String modId) Block, ItemBlockの登録. 上記のメソッドでこのメソッドを呼んでいるので直接叩く機会はほぼない 上記のメソッドを利用した場合, modIdはnullとして登録される
public static void registerItem(net.minecraft.item.Item item, String name) Itemの登録 後述のfindItemを利用する場合登録する
public static void registerItem(net.minecraft.item.Item item, String name, String modId) Itemの登録 後述のfindItemを利用する場合登録する
public static Block findBlock(String modId, String name) modIdとnameからBlockを取得 modIdとnameが適切に登録されている必要がある
public static Item findItem(String modId, String name) modIdとnameからItemを取得 modIdとnameを適切に登録されている必要がある
public static void addRecipe(ItemStack output, Object... params) レシピの追加, ModLoader.addRecipeと同等
public static void addShapelessRecipe(ItemStack output, Object... params) 非定形レシピの追加, ModLoader.addShapelessRecipeと同等
public static void addRecipe(IRecipe recipe) レシピの追加, IRecipeを実装したクラスを渡すタイプ 鉱石辞書を利用したレシピ追加で利用
public static void addSmelting(int input, ItemStack output, float xp) 精錬レシピの追加 メタデータを利用したアイテムの精錬レシピはこれではできないことに注意
public static void registerTileEntity(Class<? extends TileEntity> tileEntityClass, String id) TileEntityの登録, idは固有の文字列
public static void addBiome(BiomeGenBase biome) バイオームの追加
public static void removeBiome(BiomeGenBase biome) バイオームの削除
public static void registerFuelHandler(IFuelHandler handler) IFuelHandlerインタフェースの登録
public static void registerCraftingHandler(ICraftingHandler handler) ICraftingHandlerインタフェースの登録
public static void registerPickupHandler(IPickupNotifier handler) IPickupNotifierインタフェースの登録
public static void registerPlayerTracker(IPlayerTracker tracker) IPlayerTrackerインタフェースの登録
public static void registerWorldGenerator(IWorldGenerator generator) IWorldGeneratorインタフェースの登録
  • LanguageRegistry

表示名やローカライズを登録するAPI

  • EntityRegistry

Entityを登録するAPI

  • RenderingRegistry

描画関連のクラスを登録するAPI

  • インタフェース
    • ICraftingHandler
    • IFuelHandler
    • ITickHandler
    • IWorldGeneretor
    • IEntityAdditonalSpawnData
    • IThorwableEntity
    • IConnectionHandler
    • IGuiHandler
    • IPacketHandler

coremods向け

  • API
  • インタフェース

Minecraft Forge API

追加メソッド

基礎

イベント

液体API

  • API
  • インタフェース

鉱石辞書

  • API