提供: Minecraft Modding Wiki
移動先: 案内検索
 
(他の1人の利用者による、間の2版が非表示)
1行目: 1行目:
 
{{前提MOD|reqmod="Minecraft Forge4.3x"}}
 
{{前提MOD|reqmod="Minecraft Forge4.3x"}}
 
+
{{forge}}
 
==概要==
 
==概要==
 
FML/forgeではModLoaderが担っていたAPIも提供されている. 各インタフェースは各レジストリにあるregisterメソッドで登録することで機能するようになる.
 
FML/forgeではModLoaderが担っていたAPIも提供されている. 各インタフェースは各レジストリにあるregisterメソッドで登録することで機能するようになる.
  
==FML 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===
 
;パッケージ
 
:cpw.mods.fml.client.registry
 
ModLoader APIのうち, addRendererなどのレンダリングに関わるAPIを提供するクラス.
 
 
 
===VillagerRegistry===
 
;パッケージ
 
:cpw.mods.fml.common.registry
 
FMLで追加された新しいAPI, 村に新しい構造物を追加, 村人の追加, 村人の扱うアイテムの変更など, 村人に関するAPIを提供するクラス.
 
 
 
===FMLCommonHandler===
 
;パッケージ
 
:cpw.mods.fml.common
 
クライアント, サーバーに共通するAPIを提供するクラス.
 
 
 
===FMLClientHandler===
 
;パッケージ
 
:cpw.mods.fml.client
 
クライアント側のみのAPIを提供するクラス.
 
  
===FMLServerHandler===
+
===API===
;パッケージ
+
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; "
:cpw.mods.fml.server
+
|+ style="background:#ddd;text-align:left;padding:0 0 0 2px;"|
サーバー側のみの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()
 +
|}
  
==FML インタフェース==
 
;パッケージ
 
:cpw.mods.fml.common
 
  
;*IDispenserHandler
+
===インタフェース===
:ディスペンサーで射出するためのインタフェース
+
<p>
;*IFuelHander
+
 ModLoaderAPIのうち, BaseModクラスのメソッドをオーバーライドして実装するタイプの機能は, 個別のインタフェースを実装したクラスをregisterメソッドで登録する形式になった.
:かまどに使える燃料を登録するインタフェース
+
</p>
;*ITickHandler
 
:tick処理を実装するインタフェース
 
;*IWorldGenerator
 
:generateSurfaceに相当するインタフェース
 
  
==Forge API==
+
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; "
===Configuration===
+
|+ style="background:#ddd;text-align:left;padding:0 0 0 2px;"|
;パッケージ
+
|機能
:net.minecraftforge.common
+
|ModLoader API
forge式のコンフィグを提供するAPI.
+
|FML API
 +
|-
 +
|ワールド生成時にブロックなどを追加生成
 +
|BaseMod.generateSurface()/generateNether
 +
|IWorldGenerator, GameRegistry.registerWorldGenerator()
 +
|-
 +
|燃料の追加
 +
|BaseMod.addFuel()
 +
|IFuelHandler, GameRegistry.registerFuelHandler()
 +
|-
 +
|ディスペンサーの投擲物追加
 +
|BaseMod.dispenseEntity()
 +
|IDispenseHandler, GameRegistry.registerDispenserHandler()
 +
|}
  
===Property===
+
==追加API群==
;パッケージ
 
:net.minecraftforge.common
 
Configurationで使われるクラス.
 
  
===EnumHelper===
+
===API===
;パッケージ
 
:net.minecraftforge.common
 
既存のEnumに新しい定数を追加するAPI.
 
  
==Forge インタフェース==
+
===インタフェース===

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

インタフェース[編集]