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

2019年9月30日 (月) 22:11時点における最新版

この記事は"Minecraft Forge4.3x"を前提MODとしています。

Iron pickaxe.png
Minecraft Forgeのチュートリアルです。

概要[編集]

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[編集]

インタフェース[編集]