提供: Minecraft Modding Wiki
移動先: 案内検索
2行目: 2行目:
  
 
==概要==
 
==概要==
FML/forgeではModLoaderが担っていたAPIも提供されている. 各インタフェースは各レジストリにあるregisterメソッドで登録することで機能するようになる.
+
<p>
 +
 FML/forgeではModLoaderが担っていたAPIも提供されている. 各インタフェースは各レジストリにあるregisterメソッドで登録することで機能するようになる.
 +
</p>
  
==FML API==
+
==基本API群==
*GameRegistry
+
<p>
:ModLoader APIのうち, registerBlockやregisterTileEntityなどの基本的なAPIを提供するクラス.  
+
 FMLではModLoaderとの互換性/移植の容易さのために, ModLoaderAPIも提供している(ただし内容はFMLのAPIをラッパーしたもの). そのため基本的には今までどおりのコーディングでも多くの場合は動作する. ここでは比較のために列挙可能なものを列挙する. 引数は省略.
 +
</p>
  
*LanguageRegistry
+
===API===
:ModLoader APIのうち, addNameなどの名前付けに関するAPIを提供するクラス.
+
{|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()
 +
|}
  
*EntityRegistry
 
:ModLoader APIのうち, registerEntityなどのEntityに関するAPIと, 拡張されたEntity管理を提供するクラス.
 
  
*TickRegistry
+
===インタフェース===
:ModLoader APIのうち, onTickInGameなどのticking処理に関わるAPIを提供するクラス.
+
<p>
 +
 ModLoaderAPIのうち, BaseModクラスのメソッドをオーバーライドして実装するタイプの機能は, 個別のインタフェースを実装したクラスをregisterメソッドで登録する形式になった.
 +
</p>
  
*NetworkRegistry
+
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; "
:Minecraft Forge 3xの機能のうち, カスタムパケットやGUIの追加などのネットワークに関するAPIを提供するクラス.
+
|+ 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()
 +
|}
  
*RenderingRegistry
+
==追加API群==
:ModLoader APIのうち, addRendererなどのレンダリングに関わるAPIを提供するクラス.
 
  
*VillagerRegistry
+
===API===
:FMLで追加された新しいAPI, 村に新しい構造物を追加, 村人の追加, 村人の扱うアイテムの変更など, 村人に関するAPIを提供するクラス.
 
  
*FMLCommonHandler
+
===インタフェース===
:クライアント, サーバーに共通するAPIを提供するクラス.
 
 
 
*FMLClientHandler
 
:クライアント側のみのAPIを提供するクラス.
 
 
 
*FMLServerHandler
 
:サーバー側のみのAPIを提供するクラス.
 
 
 
==FML インタフェース==
 
*IDispenserHandler
 
:ディスペンサーで射出するためのインタフェース
 
 
 
*IFuelHander
 
:かまどに使える燃料を登録するインタフェース
 
 
 
*ITickHandler
 
:tick処理を実装するインタフェース
 
 
 
*IWorldGenerator
 
:generateSurfaceに相当するインタフェース
 
 
 
==Forge API==
 
*Configuration
 
forge式のコンフィグを提供するAPI.
 
 
 
*Property
 
Configurationで使われるクラス.
 
 
 
EnumHelper
 
既存のEnumに新しい定数を追加するAPI.
 
 
 
==Forge インタフェース==
 

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()

追加API群

API

インタフェース