提供: Minecraft Modding Wiki
移動先: 案内検索
(基礎: IIPickupNotifier->IPickupNotifier)
(液体APIのクラス名変更、一部記述を現状に合わせた)
1行目: 1行目:
<!--
 
Minecraft Forgeとは、MOD作成において要求頻度の高い様々な拡張機能を総合的に補助する前提MOD。<br />
 
SpriteIDの消費抑制や、ModLoaderだけでは出来ないような複雑で細かなシステムの作成ができる。 <br />
 
使用するには、先にModloaderを導入する必要があったが、version 3.3.7より不必要となり、ModLoaderの機能をMinecraft Forgeが代替するようになった。 <br />
 
 
[http://minecraftforge.net/wiki/Main_Page Minecraft Forge公式wiki]
 
 
[[Minecraft Forge公式wiki翻訳]]
 
 
== ソースコードの例 ==
 
 
 
'''以降の情報は、古いバージョンのForgeに対しての物である可能性があります。'''
 
 
 
以下にもっとも単純な自作Modクラスを示します。
 
 
このソースコードは、Forgeの無限スプライト機能を利用した新規鉱石とインゴットを追加するサンプルになります。<br />
 
1部の機能はModLoaderの使い方と似ているので、ModLoaderの使い方を知っているとある程度楽に利用できる。<br />
 
 
<source lang="java">
 
package net.minecraft.src;
 
 
/**
 
* 自作Modクラス
 
* BaseModクラスを継承している
 
*/
 
 
public class mod_CamelOre extends BaseMod
 
{
 
      /*
 
        *自作の追加鉱石の設定を行う。
 
        *ここで鉱石の名前と、画像ファイルの位置、鉱石の硬さ、鉱石の抵抗?、鉱石の上を歩いた時の音、鉱石の名前を設定している。
 
        */
 
        public static final Block oreTitanium =
 
              new CamelOreBlockOre(123, ModLoader.addOverride("/terrain.png", "/CamelMod/CamelOre/terrain/titaniumore.png")).
 
              setHardness(3F).setResistance(5F).setStepSound(Block.soundStoneFootstep).setBlockName("oreTitanium");
 
 
        public static final Item ingotTitanium =
 
              (new CamelOreItem(127)).setIconIndex(ModLoader.addOverride("/gui/items.png", "/CamelMod/CamelOre/gui/items/titaniumingot.png"))
 
              .setItemName("ingotTitanium");
 
 
        /*
 
        *自作MODのコンストラクタ
 
        *Modで使う変数の初期化はここで行われる
 
        */
 
        public mod_CamelOre()
 
        {
 
 
        }
 
       
 
        /**
 
        * 自作ModがModLoaderによって読み込まれる際に呼ばれる
 
        * ここでアイテムやブロックの定義、レシピの追加などを行う
 
        */
 
        public void load()
 
        {
 
                ModLoader.RegisterBlock(oreTitanium);
 
                ModLoader.AddName(oreTitanium, "Titanium Ore");
 
                ModLoader.AddName(ingotTitanium, "Titanium Ingot");
 
        }
 
       
 
        /**
 
        * 自作Modのバージョンを定義する
 
        * MinecraftやModLoaderのバージョンと同じである必要はないが、わかりやすいものがよい
 
        */
 
        public String getVersion()
 
        {
 
                return "1.0.0";
 
        }
 
}
 
 
</source>
 
 
== メソッド一覧 ==
 
 
 
<table class="wikitable">
 
    <tr>
 
        <th>メソッド名</th><th>説明</th>
 
    </tr>
 
 
 
</table>
 
-->
 
  
 
==概要==
 
==概要==
 
<p>
 
<p>
 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が大きく異なるためである.
+
 Minecraft ForgeとはMod作成に作成において要求頻度の高い様々な拡張機能を総合的に補助する前提Mod(拡張API)である。
 
</p>
 
</p>
 +
 
===開発環境でのインストール方法===
 
===開発環境でのインストール方法===
 
<p>
 
<p>
 [[MinecraftForge導入手順(MCP)]]にある通り, Forge ForumないしForge Downloadsからrecommended(推奨版)またはlatest(最新版)をダウンロードし, 解凍後任意のディレクトリで同梱の'''install.bat'''または'''install.sh'''を実行すれば開発環境が構築される.
+
 [[MinecraftForge導入手順]]を参照。
 
</p>
 
</p>
  
101行目: 18行目:
 
===ForgeModLoaderについて===
 
===ForgeModLoaderについて===
 
<p>
 
<p>
 ForgeModLoader(以下FML)はForge用に作られた新しいModLoaderである. ModLoaderとは互換性があり, ModLoaderで作られたModでもFMLで動作することがある. 1.3以降時にForgeが担っていたネットワーク関連のAPIがFMLに委譲されており, Forge前提でもFMLのAPIを利用することが多いためこのページではまとめて扱う.
+
 ForgeModLoader(以下FML)はForge用に作られたModLoaderである。Forgeからネットワーク関連のAPIが委譲されており、Forge前提でもFMLのAPIを利用することが多いためこのページではまとめて扱う。
 
</p>
 
</p>
  
148行目: 65行目:
 
:*[[IGuiHandler]]
 
:*[[IGuiHandler]]
 
:*IPacketHandler
 
:*IPacketHandler
 
===coremods向け===
 
*API
 
*インタフェース
 
  
 
==Minecraft Forge API==
 
==Minecraft Forge API==
197行目: 110行目:
  
 
===液体API===
 
===液体API===
*;[[LiquidContainerRegistry]]
+
*;[[FluidContainerRegistry]]
 
:液体の登録API
 
:液体の登録API
*;[[LiquidDictionary]]
+
*;[[FluidDictionary]]
 
:液体辞書
 
:液体辞書
  

2014年9月19日 (金) 01:39時点における版

概要

 Minecraft ForgeとはMod作成に作成において要求頻度の高い様々な拡張機能を総合的に補助する前提Mod(拡張API)である。

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

 MinecraftForge導入手順を参照。

関連リンク

ForgeModLoaderについて

 ForgeModLoader(以下FML)はForge用に作られたModLoaderである。Forgeからネットワーク関連のAPIが委譲されており、Forge前提でもFMLのAPIを利用することが多いためこのページではまとめて扱う。

ForgeModLoader API

基礎

ブロックの登録やレシピの追加などを行うAPI
関連インタフェース
表示名やローカライズを行うAPI
Entityの登録を行うAPI
関連インタフェース
  • IEntityAdditonalSpawnData
  • IThorwableEntity
Tick処理の登録を行うAPI
関連インタフェース
  • ISceduledTickHandler
  • ITickHandler
村, 村人に関連した処理を担うAPI
TileEntitySpecialRendererの登録を行うAPI, クライアント側のみ
キーバインドの登録を行うAPI, クライアント側のみ
描画関連の登録を行うAPI, クライアント側のみ
ネットワーク関連の登録を行うAPI
関連インタフェース

Minecraft Forge API

追加メソッド

基礎

実績の追加を担うAPI
村や遺跡などが生成されるバイオームを管理するAPI
ダンジョンや遺跡, 廃坑などに生成されるチェストの中身へのフックを担うAPI
Forge式コンフィグファイルの生成を担うAPI
Dimension関連のAPI
動的にEnum定数を追加するAPI
イベントの登録や様々なフックを担うAPI
植物に関するEnum定数
方向に関するEnum定数
Minecartの衝突に関するインタフェース
植物インタフェース
大挟インタフェース
特殊な防具用のインタフェース

イベント

イベント概略
EVENT_BUSに登録するイベント
TERRAIN_GEN_BUSに登録するイベント
ORE_GEN_BUSに登録するイベント

液体API

液体の登録API
液体辞書

鉱石辞書

鉱石辞書本体, 鉱石辞書への登録, 参照を担うAPI
鉱石辞書を利用した定形レシピを追加するためのクラス
鉱石辞書を利用した不定形レシピを追加するためのクラス