提供: Minecraft Modding Wiki
2行目: | 2行目: | ||
==概要== | ==概要== | ||
− | + | <p> | |
+ | FML/forgeではModLoaderが担っていたAPIも提供されている. 各インタフェースは各レジストリにあるregisterメソッドで登録することで機能するようになる. | ||
+ | </p> | ||
− | == | + | ==基本API群== |
− | + | <p> | |
− | + | FMLではModLoaderとの互換性/移植の容易さのために, ModLoaderAPIも提供している(ただし内容はFMLのAPIをラッパーしたもの). そのため基本的には今までどおりのコーディングでも多くの場合は動作する. ここでは比較のために列挙可能なものを列挙する. 引数は省略. | |
+ | </p> | ||
− | + | ===API=== | |
− | :ModLoader | + | {|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " |
+ | |+ style="background:#ddd;text-align:left;padding:0 0 0 2px;"| | ||
+ | |機能 | ||
+ | |ModLoader API | ||
+ | |FML API | ||
+ | |- | ||
+ | |レシピの追加 | ||
+ | |ModLoader.addRecipe()/addShapelessRecipe() | ||
+ | |GameRegistry.addRecipe()/addShapelessRecipe() | ||
+ | |- | ||
+ | |精錬レシピの追加 | ||
+ | |ModLoader.addSmelting() | ||
+ | |GameRegistry.addSmelting() | ||
+ | |- | ||
+ | |ブロックの追加 | ||
+ | |ModLoader.registerBlock() | ||
+ | |GameRegistry.registerBlock() | ||
+ | |- | ||
+ | |TileEntityの追加 | ||
+ | |ModLoader.registerTileEntity() | ||
+ | |GameRegistry.registerTileEntity() | ||
+ | |- | ||
+ | |TileEntitySpecialRendererの追加 | ||
+ | |ModLoader.registerTileEntity() | ||
+ | |ClientRegistry.bindTileEntitySpecialRenderer() | ||
+ | |- | ||
+ | |バイオームの追加 | ||
+ | |ModLoader.addBiome() | ||
+ | |GameRegistry.addBiome() | ||
+ | |- | ||
+ | |バイオームの削除 | ||
+ | |ModLoader.removeBiome() | ||
+ | |GameRegistry.removeBiome() | ||
+ | |} | ||
− | |||
− | |||
− | + | ===インタフェース=== | |
− | + | <p> | |
+ | ModLoaderAPIのうち, BaseModクラスのメソッドをオーバーライドして実装するタイプの機能は, 個別のインタフェースを実装したクラスをregisterメソッドで登録する形式になった. | ||
+ | </p> | ||
− | + | {|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " | |
− | : | + | |+ style="background:#ddd;text-align:left;padding:0 0 0 2px;"| |
+ | |機能 | ||
+ | |ModLoader API | ||
+ | |FML API | ||
+ | |- | ||
+ | |ワールド生成時にブロックなどを追加生成 | ||
+ | |BaseMod.generateSurface()/generateNether | ||
+ | |IWorldGenerator, GameRegistry.registerWorldGenerator() | ||
+ | |- | ||
+ | |燃料の追加 | ||
+ | |BaseMod.addFuel() | ||
+ | |IFuelHandler, GameRegistry.registerFuelHandler() | ||
+ | |- | ||
+ | |ディスペンサーの投擲物追加 | ||
+ | |BaseMod.dispenseEntity() | ||
+ | |IDispenseHandler, GameRegistry.registerDispenserHandler() | ||
+ | |} | ||
− | + | ==追加API群== | |
− | |||
− | + | ===API=== | |
− | |||
− | + | ===インタフェース=== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
2012年12月9日 (日) 00:28時点における版
この記事は"Minecraft Forge4.3x"を前提MODとしています。 |
概要
FML/forgeではModLoaderが担っていたAPIも提供されている. 各インタフェースは各レジストリにあるregisterメソッドで登録することで機能するようになる.
基本API群
FMLではModLoaderとの互換性/移植の容易さのために, ModLoaderAPIも提供している(ただし内容はFMLのAPIをラッパーしたもの). そのため基本的には今までどおりのコーディングでも多くの場合は動作する. ここでは比較のために列挙可能なものを列挙する. 引数は省略.
API
機能 | ModLoader API | FML API |
レシピの追加 | ModLoader.addRecipe()/addShapelessRecipe() | GameRegistry.addRecipe()/addShapelessRecipe() |
精錬レシピの追加 | ModLoader.addSmelting() | GameRegistry.addSmelting() |
ブロックの追加 | ModLoader.registerBlock() | GameRegistry.registerBlock() |
TileEntityの追加 | ModLoader.registerTileEntity() | GameRegistry.registerTileEntity() |
TileEntitySpecialRendererの追加 | ModLoader.registerTileEntity() | ClientRegistry.bindTileEntitySpecialRenderer() |
バイオームの追加 | ModLoader.addBiome() | GameRegistry.addBiome() |
バイオームの削除 | ModLoader.removeBiome() | GameRegistry.removeBiome() |
インタフェース
ModLoaderAPIのうち, BaseModクラスのメソッドをオーバーライドして実装するタイプの機能は, 個別のインタフェースを実装したクラスをregisterメソッドで登録する形式になった.
機能 | ModLoader API | FML API |
ワールド生成時にブロックなどを追加生成 | BaseMod.generateSurface()/generateNether | IWorldGenerator, GameRegistry.registerWorldGenerator() |
燃料の追加 | BaseMod.addFuel() | IFuelHandler, GameRegistry.registerFuelHandler() |
ディスペンサーの投擲物追加 | BaseMod.dispenseEntity() | IDispenseHandler, GameRegistry.registerDispenserHandler() |