https://mcmodding.jp/modding/api.php?action=feedcontributions&user=ModderKina&feedformat=atom
Minecraft Modding Wiki - 利用者の投稿記録 [ja]
2024-03-28T11:07:42Z
利用者の投稿記録
MediaWiki 1.31.0
https://mcmodding.jp/modding/index.php?title=1.12%E3%81%8B%E3%82%891.13%E3%81%B8%E3%81%AE%E5%A4%89%E6%9B%B4%E7%82%B9&diff=3747
1.12から1.13への変更点
2019-03-27T15:58:51Z
<p>ModderKina: </p>
<hr />
<div>英語が読めるのであれば、[https://gist.github.com/williewillus/353c872bcf1a6ace9921189f6100d09a williewillus氏による1.13指南書]が参考になるだろう。<br />
<br />
== Minecraft本体 ==<br />
=== [https://minecraft-ja.gamepedia.com/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%91%E3%83%83%E3%82%AF データパック] ===<br />
ついにデータパックが正式実装。<br><br />
1.12では不完全だったが、いよいよ使えるものになった。<br><br />
ディレクトリ階層もすこし変更されているので注意が必要。<br />
<br />
=== BlockID、ItemIDの平坦化 ===<br />
要は、metaだとかdamageだとか言われていたものが削除された。<br><br />
羊毛は色それぞれが別ブロックとなり、ツールのダメージはNBTに保存されるようになった。<br><br />
Stateの16上限もなくなっているので、ある程度自由になったと言えるかも。<br><br />
<s>IDの無限化はまだ[https://github.com/MinecraftForge/MinecraftForge/issues/5135 夢幻]。</s> <u>無事1.13.2で解決</u><br />
<br />
=== 水、溶岩の挙動に手が入った ===<br />
水源を特定のブロックが保持できるようになった。<br><br />
インターフェースによる処理なので、Modであっても実装は容易だろう。<br><br />
水の流れに関する複雑な処理は<code>Block</code>ではなく<code>Fluid</code>(1.13にて追加)が担うようだ。<br><br />
実装だけ読んだ限りだと、溶岩を保持するのも可能……[https://twitter.com/Dinnerbone/status/988386661661925377 かもしれない?]<br />
<br />
=== タグの概念 ===<br />
バニラでは、<code>Block</code>と<code>Item</code>と<code>Fluid</code>に用いられている模様。<br><br />
レシピの材料判定などの幅広い部分で要素を包括的に扱うための仕組み。<br><br />
Jsonで自由にいじることができる。要はJson版鉱石辞書。<br />
<br />
=== 精錬レシピがJson化された ===<br />
同時に精錬レシピが<code>IRecipe</code>傘下入り。<br><br />
まぁある意味では扱いやすくなったとも言えるかも……?<br />
<br />
=== <code>Item</code>、<code>Block</code>のコンストラクタの変更 ===<br />
ビルダーパターンが採用され、setHardnessとか言ったプロパティ的なものは初期化時に全部指定して固定化されるようになった。<br />
<br />
=== <code>IItemProvider</code> ===<br />
<code>Block</code>と<code>Item</code>を一緒くたに扱えるようになった。<br><br />
色んな所でいちいち<code>ItemStack</code>にしなきゃいけなくてめんどくさかったのが解消する。<br />
<br />
=== コマンドの実装が一新された ===<br />
構文解析のためにいろいろやっている。<br><br />
コードの見通しも良くなったため、複雑な構文も比較的容易に追加できるようになった。<br />
<br />
=== ツールのTierがインターフェースで管理されるようになった ===<br />
前まではいろいろ分散したりしていたのが、インターフェースにまとめられた。<br />
<br />
=== BlockstateのPropertyが共通化された ===<br />
これまでは同じ内容を表すものであっても個別に宣言されていたが、統一された。<br><br />
ある程度包括的にブロックを扱えるようになった。<br />
<br />
=== <code>VoxelShape</code> ===<br />
当たり判定は前まで<code>AxisAlignedBB</code>のリストで扱われていたが、<code>VoxelShape</code>を使うようになった。<br />
<br />
=== リソースパック ver.4 ===<br />
==== Jsonモデル ====<br />
パスの省略部分が変更された。<br><br />
ある程度一括で置換できる部分なのでそう影響はないはず……。<br />
<br />
==== 言語ファイル ====<br />
これまでJavaのproperties形式であったが、Json形式に変更された。<br><br />
コメント機能が無いのが大きな違いといえば違いだが、未割り当てキーの使用等で対処可能。<br />
<br />
== MinecraftForge ==<br />
2019/02/24現在。<br><br />
大体方向性ははっきりしているだろうというところに絞っているが、まだまだ変更が見込まれる部分なので実際のコードを見てほしい。<br><br />
闇深でレガシーなコードを整理するために大規模な改修が行われ、多くの部分が影響を受けることになる。<br />
<br />
=== Modの認識方法の変更 ===<br />
これまでModアノテーションで指定してきたことはMETA-INF/mods.tomlに移動した。<br><br />
ModアノテーションはエントリクラスをFMLに示すための純粋なマーカーとなるようだ。<br><br />
CoremodもJSから認識するようになるとか。<br />
<br />
=== Config ===<br />
刷新され、独自フォーマットではなくtoml形式が用いられるようになった。<br><br />
ロードセーブまわりの仕様も変わり、よりConfigGUIなどのオンゲームでの変更に強いものとなった。<br><br />
書き方の作法も当然様変わりしている。<br><br />
ファイル形式を自由にしようとしている形跡があるが、どうなるかは不明。<br />
<br />
=== LifecycleEvent ===<br />
これまで<code>EventHandler</code>アノテーションを用いていたEvent群が再編された。<br><br />
それに伴い<code>EventHandler</code>アノテーションは削除された。<br><br />
代わりにコンストラクタで、FMLJavaModLoadingContextを通じて取得したEventBusにメソッドを登録していく。<br />
# <code>FMLCommonSetupEvent</code><br />
# <code>FML(Client|DedicatedServer)SetupEvent</code><br />
# <code>InterModEnqueueEvent</code> <br />
# <code>InterModProcessEvent</code><br />
<br />
の順で呼び出される。アイテムやブロックの登録イベントはこれらより前に発火される。<br><br />
並列に処理されるようになったため、Modのロード順などの概念はなくなった。<br><br />
SetupEvent時点でブロック等は登録されている '''はず''' なため、連携する上では問題ない。<br />
<br />
=== <code>GameRegistry</code> ===<br />
findRegistryというメソッド以外は削除された。<br><br />
登録処理は主にイベントを通じてアクセスすることになる。<br />
<br />
=== Forge Service Provider Interfaces ===<br />
<code>Side</code>が<code>Dist</code>というものに変わった。<br />
<br />
==== <code>OnlyIn</code>アノテーション ====<br />
<code>SideOnly</code>アノテーションの代わり。<br />
<br />
==== <code>DistExecutor</code> ====<br />
<code>SidedProxy</code>の代替。<br><br />
ラムダ式等を用いてよりモダンに蔵鯖の分岐処理をかけるようになる。<br />
<br />
=== <code>OreDictionary</code> ===<br />
タグに機能が移行した。<br><br />
クラスは削除され、もはや使用することはできない。<br />
<br />
== ForgeGradle ==<br />
version3.xとなり、環境構築手順が変わった。</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=DataPack%E6%A6%82%E8%A6%81&diff=3746
DataPack概要
2019-03-02T14:43:08Z
<p>ModderKina: /* データパックの配置・構造 */</p>
<hr />
<div>== DataPack ==<br />
DataPack(以下データパック)とは、1.9から実装が進み1.13で正式に搭載されたMinecraftの広義のModificationエントリポイントである。<br><br />
リソースパックをクライアント側の改造パックとするなら、データパックはサーバー側の改造パックということができる。<br><br />
ワールドごとに設定する形で、パックの配置位置も若干特殊である。<br />
<br />
== データパックの配置・構造 ==<br />
データパックは<code>./saves/<ワールド名>/datapacks/</code>下に配置する。<br><br />
リソースパックと同様に、フォルダ形式かZipファイル形式のものを読み込むことができる。<br><br />
データパック内のファイル階層は以下の通り。<br />
<br />
*<データパック名>(.zip)/<br />
**pack.mcmeta<br />
**data/<br />
***<ネームスペース>/<br />
****advancements/<br />
*****<アドバンスメント名>.json<br />
****functions/<br />
*****<関数名>.mcfunction<br />
****loot_tables/<br />
*****<ルートテーブル名>.json<br />
****recipes/<br />
*****<レシピ名>.json (→[[DataPackによるレシピ追加]])<br />
****structures/<br />
*****<構造物名>nbt<br />
****tags/<br />
*****blocks/<br />
******<タグ名>.json<br />
*****items/<br />
******<タグ名>.json<br />
*****fluids/<br />
******<タグ名>.json<br />
*****functions/<br />
******<タグ名>.json<br />
<br />
ネームスペースがForgeModでいうところのMod IDにあたる。<br><br />
Minecraftのものを上書きしたい場合は<code>minecraft</code>とする。<br />
<br />
=== pack.mcmeta ===<br />
<source lang="json"><br />
{<br />
"pack": {<br />
"description": "データパックの説明",<br />
"pack_format": 4<br />
}<br />
}<br />
</source><br />
リソースパックとおんなじ。<br><br />
Pack formatはあまり参照されてないっぽいけど、1.13現在では4以外だとincompatible扱いなので4にしておくのが吉。<br />
{| class="wikitable"<br />
|-<br />
! MCバージョン !! Pack Format<br />
|-<br />
| 1.13 || 4<br />
|}<br />
<br />
== データパックの読み込み ==<br />
GUIなどから読み込む手段は提供されておらず、コマンドを用いる。<br><br />
関係するコマンドとしては<br />
* <code>/datapack</code><br />
**; <code>/datapack enable <name></code><br />
*:: データパックを有効化する<br />
**; <code>/datapack disable <name></code><br />
*:: データパックを無効化する<br />
* <code>/reload</code><br />
*: データパックをリロードする<br />
がある。<br><br />
これらのコマンドを用いて読み込み順などを操作することもできるが、細かい記法は公式pediaやゲーム内ヘルプに譲りたい。</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E4%B8%80%E8%A6%A7&diff=3745
チュートリアル一覧
2019-03-02T14:39:38Z
<p>ModderKina: /* Minecraft Forge */</p>
<hr />
<div>※Moddingに関する質問は、[//forum.minecraftuser.jp/viewforum.php?f=39 非公式日本ユーザーフォーラム 質問:開発・制作関連]へ。<br />
<br />
{{TOC|limit=1}}<br />
==基礎知識・Tips==<br />
Moddingの基礎や、前提modに関わらないチュートリアルなど<br><br />
====外部参考サイト====<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=9494 ◆総合◆Modderのための雑談所]<br />
*[//forum.minecraftuser.jp/viewforum.php?f=21 MOD,プラグイン,その他ツール 開発関連]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3811 【技術共有】トピックを立てるまでもないライブラリとかコードとかの公開所]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3558 MOD制作小技紹介]<br />
<br />
*[//minecraft.gamepedia.com/Model Model.json]<br />
*[//minecraft.gamepedia.com/Sounds.json Sounds.json]<br />
*[//minecraft.gamepedia.com/Loot_table Loot_table.json]<br />
<br />
====Modding Tips====<br />
*[[Jarファイルへの署名方法]]<br />
*[[ローカライズについて]]<br />
*[[NBTについて]]<br />
*[[1.8のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
**[[1.7のサウンド追加]]<br />
*[[1.6のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7でjar形式のAPIを利用する方法]]<br />
*[[1.7でjar形式でないAPIを利用する方法]]<br />
<br />
====ライブラリの知識====<br />
*[[Gradle利用]]<br />
*[[Guava概要]]<br />
*[[ASM利用]]<br />
<br />
== Minecraft ==<br />
=== Data Pack ===<br />
* [[DataPack概要]]<br />
* [[DataPackによるレシピ追加]]<br />
* [[DataPackによるアドバンスメント追加]]<br />
=== Resource Pack ===<br />
* [[ResourcePack概要]]<br />
<br />
==Minecraft Forge==<br />
===はじめに===<br />
※より詳しいことが知りたい人は、[[Minecraft Forge API]]へ。<br />
*[[MinecraftForge導入手順]]<br />
*[[mcmod.infoの設定]]<br />
*[[プロキシシステムについて]]<br />
*[[鉱石辞書の利用]]<br />
*[[Minecraft Forge Eventシステム概要|Eventシステム概要]]<br />
*[[Forge式Config利用]]<br />
*[[Capabilityシステム概要]]<br />
*[[Access Transformer利用]]<br />
{| class="wikitable" style="text-align: center;"<br />
|+ チュートリアルの対応状況<br />
|-<br />
| colspan="10" style="text-align: left;"|<br />
{| class="wikitable"<br />
!colspan="2"|凡例<br />
|-<br />
|style="background-color: lightgreen;"| ✓<br />
| 記事作成済み<br />
|-<br />
|style="background-color: lightgreen;"| ○<br />
| 他のバージョンのものが利用可能である<br />
|-<br />
|style="background-color: mediumaquamarine;"| △<br />
| 他のバージョンのものが参考にできる(パッケージ、ネームテーブル等の変更で対応可能)<br />
|-<br />
|style="background-color: orangered;"| ☓<br />
| APIなどの変更があり他のものが参考にしがたい、もしくは他のバージョンのチュートリアルが存在しない<br />
|-<br />
|style="background-color: gray;"| &lowast;<br />
| Forgeの機能の範疇ではない<br />
|-<br />
|style="background-color: sandybrown;"| ?<br />
| 未調査<br />
|}<br />
|-<br />
! scope="col"| 内容<br />
! scope="col"| [[#~1.5Modding|~1.5]]<br />
! scope="col"| [[#1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965|1.6.x]]<br />
! scope="col"| [[#1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)|1.7.x]]<br />
! scope="col"| [[#1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~|1.8.x]]<br />
! scope="col"| [[#1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~|1.9.x]]<br />
! scope="col"| [[#1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~|1.10.x]]<br />
! scope="col"| [[#1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~|1.11.x]]<br />
! scope="col"| [[#1.12Modding MinecraftForgeUniversal 14.21.0.2320~|1.12.x]]<br />
! scope="col"| [[#1.13-25.0.x~|1.13.x]]<br />
|-<br />
! scope="row"| レシピの追加<br />
|style="background-color: lightgreen;"| [[レシピの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のレシピ追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のレシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.12のレシピ追加|✓]]<br />
|style="background-color: gray;"| [[DataPackによるレシピ追加|*]]<br />
|-<br />
! scope="row"| 精錬レシピの追加<br />
|style="background-color: lightgreen;"| [[精錬レシピの追加|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7の精錬レシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: gray;"| [[DataPackによるレシピ追加|*]]<br />
|-<br />
! scope="row"| 醸造レシピの追加<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| クリエイティブタブの追加<br />
|style="background-color: lightgreen;"| [[CreativeTabの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のクリエイティブタブの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| アイテムの追加<br />
|style="background-color: lightgreen;"| [[無機能アイテムの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| ブロックの追加<br />
|style="background-color: lightgreen;"| [[無機能ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.10.2のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.11のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| ポーションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[PotionEffectのチュートリアル|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のポーション追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のポーション追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| エンチャントの追加<br />
|style="background-color: lightgreen;"| [[Enchantmentの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のエンチャント追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のエンチャント追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| バイオームの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| サウンドの追加<br />
|style="background-color: lightgreen;"| [[音の追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のサウンドの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 村人の追加<br />
|style="background-color: lightgreen;"| [[村人取引の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7の村人取引の追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.9の村人職業追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| コンフィグの作成<br />
|style="background-color: lightgreen;"| [[Forge式コンフィグファイルの利用|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のForge式Config追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| 実績(進捗)の追加<br />
|style="background-color: lightgreen;"| [[実績の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11の実績追加|✓]]<br />
|style="background-color: gray;"| [https://minecraft.gamepedia.com/Advancements#JSON_Format]<br />
|style="background-color: gray;"| *<br />
|-<br />
! scope="row"| 鉱石の生成<br />
|style="background-color: lightgreen;"| [[追加鉱物をワールドに生成させる|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.8のOreGenEvent利用による鉱石生成|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| TileEntityの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.6のTileEntityの追加|✓]]<br />
|style="background-color: lightgreen;"| [[シンプルなTileEntityの追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| GUIの追加<br />
|style="background-color: lightgreen;"| [[GUIの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のGUI追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 流体の追加<br />
|style="background-color: lightgreen;"| [[液体を追加する|✓]]<br />
|style="background-color: lightgreen;"| [[1.6の流体追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.8の液体ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| エンティティの追加<br />
|style="background-color: lightgreen;"| [[MOBを追加する|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.9のMOB追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| ディメンションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のディメンション追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.11のディメンション追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| WorldTypeの追加<br />
|style="background-color: lightgreen;"| [[WorldTypeの追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のWorldType追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|}<br />
=== 1.13-25.0.x~ ===<br />
*[[1.12から1.13への変更点]]<br />
<br />
===1.12Modding MinecraftForgeUniversal 14.21.0.2320~===<br />
====チュートリアル基礎====<br />
*[[1.11から1.12への変更点]]<br />
*[[1.12の基本コーディング]]<br />
*[[1.12のレシピ追加]]<br />
*[[1.12のアイテム追加]]<br />
*[[1.12のアイテム追加(旧式)]]<br />
*[[1.12のブロック追加(旧式)]]<br />
<br />
===1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~===<br />
====チュートリアル基礎====<br />
*[[1.10から1.11への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//minecraft.gamepedia.com/index.php?title=Model&oldid=1040633 1.11のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.11のレシピ追加]]<br />
*[[1.11の精錬レシピ追加]]<br />
*[[1.11の醸造レシピ追加]]<br />
*[[1.11のアイテム追加]]<br />
*[[1.11のブロック追加]]<br />
*[[1.11のクリエイティブタブ追加]]<br />
*[[1.11のサウンド追加]]<br />
*[[1.11のポーション追加]]<br />
*[[1.11のエンチャント追加]]<br />
*[[1.11の統計追加]]<br />
*[[1.11の実績追加]]<br />
*[[1.11のLootTable利用]]<br />
*[[1.11のWorldType追加]]<br />
*[[1.11のキー入力受け取り]]<br />
<br />
====チュートリアル中級====<br />
*[[1.11のEntity追加]]<br />
*[[1.11のTileEntity追加]]<br />
*[[1.11のディメンション追加]]<br />
*[[1.11のバイオーム追加]]<br />
*[[1.11の地形生成]]<br />
*[[1.11の構造物追加]]<br />
*[[1.11のパケット送受信]]<br />
*[[1.11のHUD追加]]<br />
*[[1.11のGUI追加]]<br />
**[[1.11のインベントリ付きGUI追加]]<br />
<br />
===1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~===<br />
<br />
====チュートリアル初級====<br />
*[[1.10.2のブロック追加]]<br />
<br />
===1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~===<br />
*[[1.8から1.9への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//goo.gl/FCIlNJ 1.9のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.9のブロック追加]]<br />
**[[1.9のForge式Json利用]]([//mcforge.readthedocs.org/en/latest/blockstates/forgeBlockstates/ ForgeDoc])<br />
*[[1.9のアイテム追加]]<br />
*[[1.9のポーション追加]]<br />
*[[1.9のエンチャント追加]]<br />
*[[1.9のバイオーム追加]]<br />
*[[1.9の村人職業追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.9のMOB追加]]<br />
====チュートリアル上級====<br />
<br />
===1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~===<br />
*[[1.7から1.8への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[[1.8のバニラJsonの仕様]]<br />
*[[1.8のブロック追加]]<br />
**[[1.8のブロックで部分的に色を変える方法]]<br />
**[[1.8のB3Dモデル利用ブロック追加]]<br />
**[[1.8のOBJモデル利用ブロック追加]]<br />
*[[1.8のアイテム追加]]<br />
**[[1.8のアイテムで部分的に色を変える方法]]<br />
*[[1.8のOreGenEvent利用による鉱石生成]]<br />
*[[1.8のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.8のプレイヤーカスタムデータの追加]]<br />
*[[1.8のIRecipe利用によるレシピ追加]]<br />
*[[1.8の液体ブロックの追加]]<br />
*[[1.8のICustomModelLoader利用]]<br />
<br />
====チュートリアル上級====<br />
<br />
====他サイトリンク====<br />
*[http://www.nicovideo.jp/mylist/49688372 reine氏による1.8の開発記録動画]<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=9220 【Forgeチュートリアル】クラフトで耐久値が減るアイテムの作り方1.2.5~1.8 ソース付属 ]<br />
<br />
===1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)===<br />
*[[1.6から1.7への変更点]]<br />
*[[1.7の基本コーディング]]<br />
*[[1.7のInterModComms利用]]<br />
<br />
====チュートリアル初級====<br />
*[[1.7のレシピ追加]]<br />
*[[1.7の精錬レシピ追加]]<br />
*[[1.7のブロック追加]]<br />
*[[1.7のアイテム追加]]<br />
**[[1.7のアイテムに初期状態でエンチャント等NBTデータを付ける方法]]<br />
**[[1.7の武器追加(剣)]]<br />
**[[1.7の防具追加]]<br />
**[[1.7のアイテムで部分的に色を変える方法]]<br />
**[[1.7のアイテムのツールチップに情報を表示させる方法]]<br />
**[[1.7のアイテムの表示名を変更する方法]]<br />
*[[1.7のGUI追加]]<br />
*[[1.7のディスペンサーModding]]<br />
*[[1.7のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[DataWatcherを用いたエンティティの同期]]<br />
*[[1.7のパケットについて]]<br />
**[[1.7のキーボードイベント追加]]<br />
*[[1.7のプレイヤーカスタムデータの追加]]<br />
*[[Forge 10.12.1.1074以降でのクライアント/サーバMOD]]<br />
*[[逆さまの木の追加]]<br />
*[[シンプルなTileEntityの追加]]<br />
**[[1.7の液体タンクを持つTileEntityの追加]]<br />
*[[シフトクリック時の処理]]<br />
*[[1.7の村人取引の追加]]<br />
*[[1.7のディメンション追加]]<br />
*[[MOBの追加]]<br />
*[[独自のスポーンエッグの追加]]<br />
*[[1.7以降のIResourcePackの利用]]<br />
*[[1.7の独自レシピシステムの追加]]<br />
*[[1.7の属性値を動的変更できるアイテムの追加]]<br />
*[[1.7の独自Renderの追加]]<br />
*[[1.7でのインベントリ操作]]<br />
*[[1.7のForge式Config追加]]<br />
*[[1.7のサウンド追加]]<br />
<br />
====チュートリアル上級====<br />
*[[前提MODの自動DLの仕方]]<br />
*[[インベントリを持つアイテムの追加]]<br />
<br />
;他サイトリンク<br />
*[https://goo.gl/5QbDjE defeatedcrow氏による1.7.10のMODの制作過程]<br />
<br />
===1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965===<br />
1.6からリソースパック方式の導入により、いくつかの項目で画像、音声、言語ファイル等の扱いが変更されました。<br><br />
また、MCP作者が1.6Modding環境としてForgeを推奨しています。<br><br />
<br />
====基本のチュートリアル====<br />
*[[1.6の開発環境の作り方]]<br />
*[[1.6の基本コーティング]]<br />
*[[1.6のテクスチャの指定]]<br />
*[[PotionEffectのチュートリアル]]<br />
<br />
====チュートリアル初級====<br />
*[[1.6のレシピ追加]]<br />
*[[1.6のブロック追加]]<br />
*[[1.6のアイテム追加]]<br />
**[[1.6のツール類追加]]<br />
***[[1.6のカスタムツール追加]]<br />
**[[1.6の食料追加]]<br />
**[[1.6の武器追加(剣)]]<br />
**[[1.6の防具追加]]<br />
*[[1.6のクリエイティブタブの追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.6のメタデータを持つアイテム・ブロック]]<br />
*[[1.6の骨粉処理]]<br />
*[[1.6の植物追加]]<br />
*[[1.6の流体追加]]<br />
**[[1.6の流体をバケツで扱う]]<br />
*[[鉱石辞書の利用|1.6の鉱石辞書の利用]]<br />
**[[1.6の鉱石辞書利用の実例]]<br />
*[[1.6のアニメーションアイテムの追加]]<br />
*[[カスタムレンダーを使用するブロックの追加]]<br />
*[[1.6のモデル付きカスタムツール追加]]<br />
*[[1.6のサウンドの追加]]<br />
*[[1.6のプレイヤーカスタムデータの追加]]<br />
<br />
====チュートリアル上級====<br />
*[[1.6のTileEntityの追加]]<br />
*[[パーティクルの追加]]<br />
*[[モンスタードロップの追加]]<br />
*[[構造物の追加]]<br />
*[[防具の特殊な処理]]<br />
*[[1.6の発射体Entityの追加]]<br />
<br />
====外部サイト====<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=12186 レシピの追加]<br />
<br />
===~1.5Modding===<br />
{{Warning}}サポートが打ち切られている、もしくは非常に古い情報を含みます<br />
→[[1.5以前のチュートリアル]]<br />
<br />
==Bukkit Pluginの作り方==<br />
Bukkitを前提としたサーバー用Moddingです。<br><br />
<!-- *[[Bukkit用MODの作成方法]] --><br />
*[[Plugin Tutorial]]<br />
*[[新しいEventSystemの使い方]]<br />
*[[新しいConfigurationの使い方]]<br />
*[[スケジューラのプログラミング]]<br />
*[[天候操作]]<br />
*[[スコアボードシステムの使い方]]<br />
*[[plugin.ymlの設定一覧]]<br />
<br />
==その他の前提mod==<br />
上記以外のmodを前提としたmodding。<br><br />
===Not Enough Items(NEI)===<br />
*[[NEIにて独自レシピを表示させる]]<br />
===LiteLoader rev317===<br />
*[[LiteLoader導入手順]]<br />
*[[LiteLoader/1.8のデバッグ画面へ情報を追加]]</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=DataPack%E3%81%AB%E3%82%88%E3%82%8B%E3%83%AC%E3%82%B7%E3%83%94%E8%BF%BD%E5%8A%A0&diff=3744
DataPackによるレシピ追加
2019-03-02T14:30:58Z
<p>ModderKina: </p>
<hr />
<div>== 概要 ==<br />
1.13以降、データパックによってレシピの追加・改変ができるようになった。<br><br />
精錬レシピもクラフトレシピも同じシステムの上で扱われる。<br><br />
書式はtype要素の値によって左右され、主要なものには<br />
* crafting_shaped<br />
* crafting_shapeless<br />
* smelting<br />
<br />
の3つがある。<br><br />
一部の特殊なレシピは、コード上でほとんどが管理される特別のtypeが割り当てられている。<br />
<br />
== typeごとの違い ==<br />
レシピを作るにあたって、まず重要なことはそのレシピがどのtypeに当たるかということだ。<br><br />
書式がtypeによって大きく異なるので、先にその用途の違いについて理解する必要がある。<br />
; crafting_shaped<br />
: [[#定形レシピの記述|定形レシピ]]<br />
: クラフトグリッドの決まった位置に決まったアイテムを置くことによって、完成品が得られるレシピ<br />
: ex) 各種ツール類、ベッド、エンチャント台、など<br />
; crafting_shapeless<br />
: [[#不定形レシピの記述|不定形レシピ]]<br />
: 位置を問わず決まったアイテムをクラフトグリッドに置くことによって、完成品が得られるレシピ<br />
: ex) 本、ファイヤーチャージ、など<br />
; smelting<br />
: [[#精錬レシピの記述|精錬レシピ]]<br />
: かまどの材料スロットに決まったアイテムを置いて精錬することによって、完成品が得られるレシピ<br />
: ex) 各種金属インゴット、各種焼き肉、など<br />
; その他<br />
: Jsonでは表現することができないため、コードでそのほとんどが記述されているレシピ<br />
: ex) 革防具染色、アイテム修繕、旗、など<br />
<br />
自分の追加したいレシピが、どの種類に当たるかを判断できたらそれぞれの段に進もう。<br />
<br />
== 定形レシピの記述 ==<br />
=== 概形 ===<br />
<source lang="json"><br />
{<br />
"type": "crafting_shaped",<br />
"group": "",<br />
"pattern": [],<br />
"key": {},<br />
"result": {}<br />
}<br />
</source><br />
; <source lang="json" inline>"type": "crafting_shaped"</source><br />
: "crafting_shaped"<br />
: '''必須'''<br />
: 定形レシピであることを示している<br />
; <source lang="json" inline>"group": ""</source><br />
: 文字列<br />
: 任意:レシピをグループ化したい場合に指定する<br />
: ここに指定された文字列が等しいレシピ同士はレシピ本でグループ化される<br />
: 他のデータパックとの被りを避けたいのであれば、ネームスペースをプレフィックスに用いるなどの工夫が必要だろう<br />
; <source lang="json" inline>"pattern": []</source><br />
: 配列<文字列 (最大文字列長3、文字列長は統一)> (最大配列長3)<br />
: '''必須'''<br />
: レシピの"形"を定める<br />
: 文字列の配列でレシピグリッドを表現し、各文字列がグリッドの各行に対応している<br />
: スペースで空欄を、その他記号一文字で一つの素材を示す<br />
: 3*3、つまり文字列の長さが3で文字列の個数が3が表現できる最大のレシピで、それ以上は弾かれる<br />
; <source lang="json" inline>"key": {}</source><br />
: オブジェクト<文字列 (文字列長1),[[#ItemList|ItemList]]><br />
: '''必須'''<br />
: レシピの"素材"を定める<br />
: patternで用いた記号をキーに、素材を値に定めることで対応付ける<br />
: 値の詳しい書式は[[#ItemList|ItemList]]の項で解説する<br />
; <source lang="json" inline>"result": {}</source><br />
: [[#ItemStack|ItemStack]]<br />
: '''必須'''<br />
: 完成品を定める<br />
: 値の詳しい書式は[[#ItemStack|ItemStack]]の項で解説する<br />
<br />
=== 全体図例1 ===<br />
dirt_pickaxe.json<br />
<source lang="json"><br />
{<br />
"type": "crafting_shaped",<br />
"pattern": [<br />
"XXX",<br />
" # ",<br />
" # "<br />
],<br />
"key": {<br />
"#": {<br />
"item": "minecraft:stick"<br />
},<br />
"X": {<br />
"item": "minecraft:dirt"<br />
}<br />
},<br />
"result": {<br />
"item": "minecraft:diamond_pickaxe"<br />
}<br />
}<br />
</source><br />
<br />
土と棒からダイアモンドピッケルを作るレシピである。<br><br />
典型的な3*3の定形レシピであり、素材の指定も最も単純なものにしてある。<br><br />
Xと#を用いてレシピの形を定め、#には<source lang="json" inline>"item": "minecraft:stick"</source>すなわち棒を、Xには<source lang="json" inline>"item": "minecraft:dirt"</source>すなわち土を対応付けている。<br />
<br />
=== 全体図例2 ===<br />
dirt_axe.json<br />
<source lang="json"><br />
{<br />
"type": "crafting_shaped",<br />
"pattern": [<br />
"XX",<br />
"X#",<br />
" #"<br />
],<br />
"key": {<br />
"#": {<br />
"item": "minecraft:stick"<br />
},<br />
"X": {<br />
"item": "minecraft:dirt"<br />
}<br />
},<br />
"result": {<br />
"item": "minecraft:diamond_axe"<br />
}<br />
}<br />
</source><br />
<br />
土と棒からダイアモンドの斧を作るレシピである。<br><br />
3*2の縦長定形レシピの例として用意した。<br><br />
その他は例1で上げたものとほぼ同様だろう。<br><br />
注意すべきなのは、ミラーレシピが有効であることと、3*3グリッドにおいて左寄せ、右寄せの両方でレシピが認識されるという点だ。<br><br />
あえて左寄せか右寄せかを固定したいのであれば適切にスペースを入れる必要がある。<br><br />
ミラーレシピを無効にするすべはない。<br />
<br />
=== 全体図例3 ===<br />
hay_bed.json<br />
<source lang="json"><br />
{<br />
"type": "crafting_shaped",<br />
"group": "bed",<br />
"pattern": [<br />
"###",<br />
"XXX"<br />
],<br />
"key": {<br />
"#": {<br />
"item": "minecraft:hay_block"<br />
},<br />
"X": {<br />
"tag": "minecraft:planks"<br />
}<br />
},<br />
"result": {<br />
"item": "minecraft:yellow_bed"<br />
}<br />
}<br />
</source><br />
<br />
藁と木材から黄色のベッドを作るレシピである。<br><br />
このように2*3のレシピを記述することも可能。<br><br />
3*3のグリッドでは上段と中段、あるいは中段と下段を用いて作成することができるようになる。<br><br />
あえて固定したいのであれば、スペース3つの文字列を適切な場所に挿入する必要がある。<br />
<br />
"group"に"bed"を指定することで、他に"bed"が指定されているレシピと共にグループ化されるようになる。<br><br />
今回はバニラに既にあるgroupに割り当てたが、そうでないgroupにも割り当てることができる。<br />
<br />
== 不定形レシピの記述 ==<br />
=== 概形 ===<br />
<source lang="json"><br />
{<br />
"type": "crafting_shapeless",<br />
"group": "",<br />
"ingredients": [],<br />
"result": {}<br />
}<br />
</source><br />
; <source lang="json" inline>"type": "crafting_shapeless"</source><br />
: "crafting_shapeless"<br />
: '''必須'''<br />
: 不定形レシピであることを示している<br />
; <source lang="json" inline>"group": ""</source><br />
: 文字列<br />
: 任意:レシピをグループ化したい場合に指定する<br />
: ここに指定された文字列が等しいレシピ同士はレシピ本でグループ化される<br />
: 他のデータパックとの被りを避けたいのであれば、ネームスペースをプレフィックスに用いるなどの工夫が必要だろう<br />
; <source lang="json" inline>"ingredients": []</source><br />
: 配列<[[#ItemList|ItemList]]><br />
: '''必須'''<br />
: レシピの"素材"を定める<br />
: 配列の一要素がグリッドの一マスを表現している<br />
: 配列内のオブジェクトの詳しい書式は[[#ItemList|ItemList]]の項で解説する<br />
; <source lang="json" inline>"result": {}</source><br />
: [[#ItemStack|ItemStack]]<br />
: '''必須'''<br />
: 完成品を定める<br />
: 値の詳しい書式は[[#ItemStack|ItemStack]]の項で解説する<br />
<br />
== 精錬レシピの記述 ==<br />
<source lang="json"><br />
{<br />
"type": "smelting",<br />
"group": "",<br />
"ingredient": {},<br />
"result": "",<br />
"experience": 0.0,<br />
"cookingtime": 200<br />
}<br />
</source><br />
; <source lang="json" inline>"type": "smelting"</source><br />
: "smelting"<br />
: '''必須'''<br />
: 精錬レシピであることを示している<br />
; <source lang="json" inline>"group": ""</source><br />
: 文字列<br />
: 任意:レシピをグループ化したい場合に指定する<br />
: ここに指定された文字列が等しいレシピ同士はレシピ本でグループ化される<br />
: 他のデータパックとの被りを避けたいのであれば、ネームスペースをプレフィックスに用いるなどの工夫が必要だろう<br />
; <source lang="json" inline>"ingredient": {}</source><br />
: [[#ItemList|ItemList]]<br />
: '''必須'''<br />
: 素材を定める<br />
: 値の詳しい書式は[[#ItemList|ItemList]]の項で解説する<br />
; <source lang="json" inline>"result": ""</source><br />
: [[#Item|Item]]<br />
: '''必須'''<br />
: 完成品を定める<br />
; <source lang="json" inline>"experience": 0.0</source><br />
: 浮動小数点数 (0 ~ 1)<br />
: 任意:設定しなかった場合、0となる<br />
: 精錬時の経験値を定める<br />
: 1より上の数はすべて1に丸められる<br />
: 経験値は整数であるため、小数は確率として扱われる<br />
: 0.1の精錬を1回で取り出せば、10%の確率で1ポイントの経験値が得られる<br />
: 0.1の精錬を5回で取り出せば、50%の確率で1ポイントの経験値が得られる<br />
: 0.1の精錬を15回で取り出せば、1ポイントと50%の確率で更に1ポイントの経験値が得られる<br />
: というように取り出すまでの精錬回数が加算されていき計算される<br />
; <source lang="json" inline>"cookingtime": 200</source><br />
: 整数<br />
: 任意:設定しなかった場合、200となる<br />
: 精錬時間を定める<br />
: バニラではこの値は常に一定(200)である<br />
: 石炭の燃焼時間が1600という点が調整上で手がかりになるかもしれない<br />
<br />
== レシピにおけるアイテムの表現 ==<br />
レシピに登場するアイテムの表現について説明する。<br><br />
それぞれの名称は識別のために便宜的に付けたものであるため、公式のものではなくこのページ外では通用しないことに注意してほしい。<br />
<br />
=== Item ===<br />
単の文字列であって、その文字列は内部名やIDとも呼称される。<br><br />
内部名とはアイテムの識別子であって、アイテムを参照するための文字列である。<br><br />
ゲーム内ではF3+Hを押すことによって表示される拡張ツールチップで確認することができる。<br />
<br />
=== ItemList ===<br />
Itemを複数種類保持するオブジェクト。<br><br />
<br />
==== itemオブジェクト ====<br />
<source lang="json"><br />
{<br />
"item": ""<br />
}<br />
</source><br />
; <source lang="json" inline>"item": ""</source><br />
: [[#Item|Item]]<br />
: '''必須'''<br />
==== tagオブジェクト ====<br />
<source lang="json"><br />
{<br />
"tag": ""<br />
}<br />
</source><br />
; <source lang="json" inline>"tag": ""</source><br />
: 文字列<br />
: '''必須'''<br />
: タグを指定する。<br />
: <ネームスペース>:<タグ名>の形式で指定することができる<br />
: 適用できるタグは (当然) アイテムのもののみ<br />
: タグについては別記事で詳解する<br />
==== 配列 ====<br />
配列にitemオブジェクトやtagオブジェクトをもたせることによって、それらを一括したItemListとして扱う。<br><br />
Jsonとしては特別な記法ではないため、概略例だけ示す。<br><br />
Jsonの仕様からして、入れ子にはできず、する必要もない。<br />
<source lang="json"><br />
[<br />
{<br />
"item": ""<br />
},<br />
{<br />
"tag": ""<br />
}<br />
]<br />
</source><br />
<br />
=== ItemStack ===<br />
[[#Item|Item]]とその個数を保持するオブジェクト。<br />
<source lang="json"><br />
{<br />
"item": "",<br />
"count": 1<br />
}<br />
</source><br />
; <source lang="json" inline>"item": ""</source><br />
: Item<br />
: '''必須'''<br />
; <source lang="json" inline>"count": 1</source><br />
: 整数<br />
: 任意<br />
: アイテムの個数を定める</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=DataPack%E3%81%AB%E3%82%88%E3%82%8B%E3%83%AC%E3%82%B7%E3%83%94%E8%BF%BD%E5%8A%A0&diff=3743
DataPackによるレシピ追加
2019-03-02T14:22:25Z
<p>ModderKina: 例や解説が不足しているが、ひとまず作成</p>
<hr />
<div>== 概要 ==<br />
1.13以降、データパックによってレシピの追加・改変ができるようになった。<br><br />
精錬レシピもクラフトレシピも同じシステムの上で扱われる。<br><br />
書式はtype要素の値によって左右され、主要なものには<br />
* crafting_shaped<br />
* crafting_shapeless<br />
* smelting<br />
<br />
の3つがある。<br><br />
一部の特殊なレシピは、コード上でほとんどが管理される特別のtypeが割り当てられている。<br />
<br />
== typeごとの違い ==<br />
レシピを作るにあたって、まず重要なことはそのレシピがどのtypeに当たるかということだ。<br><br />
書式がtypeによって大きく異なるので、先にその用途の違いについて理解する必要がある。<br />
; crafting_shaped<br />
: 定形レシピ<br />
: クラフトグリッドの決まった位置に決まったアイテムを置くことによって、完成品が得られるレシピ<br />
: ex) 各種ツール類、ベッド、エンチャント台、など<br />
; crafting_shapeless<br />
: 不定形レシピ<br />
: 位置を問わず決まったアイテムをクラフトグリッドに置くことによって、完成品が得られるレシピ<br />
: ex) 本、ファイヤーチャージ、など<br />
; smelting<br />
: 精錬レシピ<br />
: かまどの材料スロットに決まったアイテムを置いて精錬することによって、完成品が得られるレシピ<br />
: ex) 各種金属インゴット、各種焼き肉、など<br />
; その他<br />
: Jsonでは表現することができないため、コードでそのほとんどが記述されているレシピ<br />
: ex) 革防具染色、アイテム修繕、旗、など<br />
<br />
自分の追加したいレシピが、どの種類に当たるかを判断できたらそれぞれの段に進もう。<br />
<br />
== 定形レシピの記述 ==<br />
=== 概形 ===<br />
<source lang="json"><br />
{<br />
"type": "crafting_shaped",<br />
"group": "",<br />
"pattern": [],<br />
"key": {},<br />
"result": {}<br />
}<br />
</source><br />
; <source lang="json" inline>"type": "crafting_shaped"</source><br />
: "crafting_shaped"<br />
: '''必須'''<br />
: 定形レシピであることを示している<br />
; <source lang="json" inline>"group": ""</source><br />
: 文字列<br />
: 任意:レシピをグループ化したい場合に指定する<br />
: ここに指定された文字列が等しいレシピ同士はレシピ本でグループ化される<br />
: 他のデータパックとの被りを避けたいのであれば、ネームスペースをプレフィックスに用いるなどの工夫が必要だろう<br />
; <source lang="json" inline>"pattern": []</source><br />
: 配列<文字列 (最大文字列長3、文字列長は統一)> (最大配列長3)<br />
: '''必須'''<br />
: レシピの"形"を定める<br />
: 文字列の配列でレシピグリッドを表現し、各文字列がグリッドの各行に対応している<br />
: スペースで空欄を、その他記号一文字で一つの素材を示す<br />
: 3*3、つまり文字列の長さが3で文字列の個数が3が表現できる最大のレシピで、それ以上は弾かれる<br />
; <source lang="json" inline>"key": {}</source><br />
: オブジェクト<文字列 (文字列長1),[[#ItemList|ItemList]]><br />
: '''必須'''<br />
: レシピの"素材"を定める<br />
: patternで用いた記号をキーに、素材を値に定めることで対応付ける<br />
: 値の詳しい書式は[[#ItemList|ItemList]]の項で解説する<br />
; <source lang="json" inline>"result": {}</source><br />
: [[#ItemStack|ItemStack]]<br />
: '''必須'''<br />
: 完成品を定める<br />
: 値の詳しい書式は[[#ItemStack|ItemStack]]の項で解説する<br />
<br />
=== 全体図例1 ===<br />
dirt_pickaxe.json<br />
<source lang="json"><br />
{<br />
"type": "crafting_shaped",<br />
"pattern": [<br />
"XXX",<br />
" # ",<br />
" # "<br />
],<br />
"key": {<br />
"#": {<br />
"item": "minecraft:stick"<br />
},<br />
"X": {<br />
"item": "minecraft:dirt"<br />
}<br />
},<br />
"result": {<br />
"item": "minecraft:diamond_pickaxe"<br />
}<br />
}<br />
</source><br />
<br />
土と棒からダイアモンドピッケルを作るレシピである。<br><br />
典型的な3*3の定形レシピであり、素材の指定も最も単純なものにしてある。<br><br />
Xと#を用いてレシピの形を定め、#には<source lang="json" inline>"item": "minecraft:stick"</source>すなわち棒を、Xには<source lang="json" inline>"item": "minecraft:dirt"</source>すなわち土を対応付けている。<br />
<br />
=== 全体図例2 ===<br />
dirt_axe.json<br />
<source lang="json"><br />
{<br />
"type": "crafting_shaped",<br />
"pattern": [<br />
"XX",<br />
"X#",<br />
" #"<br />
],<br />
"key": {<br />
"#": {<br />
"item": "minecraft:stick"<br />
},<br />
"X": {<br />
"item": "minecraft:dirt"<br />
}<br />
},<br />
"result": {<br />
"item": "minecraft:diamond_axe"<br />
}<br />
}<br />
</source><br />
<br />
土と棒からダイアモンドの斧を作るレシピである。<br><br />
3*2の縦長定形レシピの例として用意した。<br><br />
その他は例1で上げたものとほぼ同様だろう。<br><br />
注意すべきなのは、ミラーレシピが有効であることと、3*3グリッドにおいて左寄せ、右寄せの両方でレシピが認識されるという点だ。<br><br />
あえて左寄せか右寄せかを固定したいのであれば適切にスペースを入れる必要がある。<br><br />
ミラーレシピを無効にするすべはない。<br />
<br />
=== 全体図例3 ===<br />
hay_bed.json<br />
<source lang="json"><br />
{<br />
"type": "crafting_shaped",<br />
"group": "bed",<br />
"pattern": [<br />
"###",<br />
"XXX"<br />
],<br />
"key": {<br />
"#": {<br />
"item": "minecraft:hay_block"<br />
},<br />
"X": {<br />
"tag": "minecraft:planks"<br />
}<br />
},<br />
"result": {<br />
"item": "minecraft:yellow_bed"<br />
}<br />
}<br />
</source><br />
<br />
藁と木材から黄色のベッドを作るレシピである。<br><br />
このように2*3のレシピを記述することも可能。<br><br />
3*3のグリッドでは上段と中段、あるいは中段と下段を用いて作成することができるようになる。<br><br />
あえて固定したいのであれば、スペース3つの文字列を適切な場所に挿入する必要がある。<br />
<br />
"group"に"bed"を指定することで、他に"bed"が指定されているレシピと共にグループ化されるようになる。<br><br />
今回はバニラに既にあるgroupに割り当てたが、そうでないgroupにも割り当てることができる。<br />
<br />
== 不定形レシピの記述 ==<br />
=== 概形 ===<br />
<source lang="json"><br />
{<br />
"type": "crafting_shapeless",<br />
"group": "",<br />
"ingredients": [],<br />
"result": {}<br />
}<br />
</source><br />
; <source lang="json" inline>"type": "crafting_shapeless"</source><br />
: "crafting_shapeless"<br />
: '''必須'''<br />
: 不定形レシピであることを示している<br />
; <source lang="json" inline>"group": ""</source><br />
: 文字列<br />
: 任意:レシピをグループ化したい場合に指定する<br />
: ここに指定された文字列が等しいレシピ同士はレシピ本でグループ化される<br />
: 他のデータパックとの被りを避けたいのであれば、ネームスペースをプレフィックスに用いるなどの工夫が必要だろう<br />
; <source lang="json" inline>"ingredients": []</source><br />
: 配列<[[#ItemList|ItemList]]><br />
: '''必須'''<br />
: レシピの"素材"を定める<br />
: 配列の一要素がグリッドの一マスを表現している<br />
: 配列内のオブジェクトの詳しい書式は[[#ItemList|ItemList]]の項で解説する<br />
; <source lang="json" inline>"result": {}</source><br />
: [[#ItemStack|ItemStack]]<br />
: '''必須'''<br />
: 完成品を定める<br />
: 値の詳しい書式は[[#ItemStack|ItemStack]]の項で解説する<br />
<br />
== 精錬レシピの記述 ==<br />
<source lang="json"><br />
{<br />
"type": "smelting",<br />
"group": "",<br />
"ingredient": {},<br />
"result": "",<br />
"experience": 0.0,<br />
"cookingtime": 200<br />
}<br />
</source><br />
; <source lang="json" inline>"type": "smelting"</source><br />
: "smelting"<br />
: '''必須'''<br />
: 精錬レシピであることを示している<br />
; <source lang="json" inline>"group": ""</source><br />
: 文字列<br />
: 任意:レシピをグループ化したい場合に指定する<br />
: ここに指定された文字列が等しいレシピ同士はレシピ本でグループ化される<br />
: 他のデータパックとの被りを避けたいのであれば、ネームスペースをプレフィックスに用いるなどの工夫が必要だろう<br />
; <source lang="json" inline>"ingredient": {}</source><br />
: [[#ItemList|ItemList]]<br />
: '''必須'''<br />
: 素材を定める<br />
: 値の詳しい書式は[[#ItemList|ItemList]]の項で解説する<br />
; <source lang="json" inline>"result": ""</source><br />
: [[#Item|Item]]<br />
: '''必須'''<br />
: 完成品を定める<br />
; <source lang="json" inline>"experience": 0.0</source><br />
: 浮動小数点数 (0 ~ 1)<br />
: 任意:設定しなかった場合、0となる<br />
: 精錬時の経験値を定める<br />
: 1より上の数はすべて1に丸められる<br />
: 経験値は整数であるため、小数は確率として扱われる<br />
: 0.1の精錬を1回で取り出せば、10%の確率で1ポイントの経験値が得られる<br />
: 0.1の精錬を5回で取り出せば、50%の確率で1ポイントの経験値が得られる<br />
: 0.1の精錬を15回で取り出せば、1ポイントと50%の確率で更に1ポイントの経験値が得られる<br />
: というように取り出すまでの精錬回数が加算されていき計算される<br />
; <source lang="json" inline>"cookingtime": 200</source><br />
: 整数<br />
: 任意:設定しなかった場合、200となる<br />
: 精錬時間を定める<br />
: バニラではこの値は常に一定(200)である<br />
: 石炭の燃焼時間が1600という点が調整上で手がかりになるかもしれない<br />
<br />
== レシピにおけるアイテムの表現 ==<br />
レシピに登場するアイテムの表現について説明する。<br><br />
それぞれの名称は識別のために便宜的に付けたものであるため、公式のものではなくこのページ外では通用しないことに注意してほしい。<br />
<br />
=== Item ===<br />
単の文字列であって、その文字列は内部名やIDとも呼称される。<br><br />
内部名とはアイテムの識別子であって、アイテムを参照するための文字列である。<br><br />
ゲーム内ではF3+Hを押すことによって表示される拡張ツールチップで確認することができる。<br />
<br />
=== ItemList ===<br />
Itemを複数種類保持するオブジェクト。<br><br />
<br />
==== itemオブジェクト ====<br />
<source lang="json"><br />
{<br />
"item": ""<br />
}<br />
</source><br />
; <source lang="json" inline>"item": ""</source><br />
: [[#Item|Item]]<br />
: '''必須'''<br />
==== tagオブジェクト ====<br />
<source lang="json"><br />
{<br />
"tag": ""<br />
}<br />
</source><br />
; <source lang="json" inline>"tag": ""</source><br />
: 文字列<br />
: '''必須'''<br />
: タグを指定する。<br />
: <ネームスペース>:<タグ名>の形式で指定することができる<br />
: 適用できるタグは (当然) アイテムのもののみ<br />
: タグについては別記事で詳解する<br />
==== 配列 ====<br />
配列にitemオブジェクトやtagオブジェクトをもたせることによって、それらを一括したItemListとして扱う。<br><br />
Jsonとしては特別な記法ではないため、概略例だけ示す。<br><br />
Jsonの仕様からして、入れ子にはできず、する必要もない。<br />
<source lang="json"><br />
[<br />
{<br />
"item": ""<br />
},<br />
{<br />
"tag": ""<br />
}<br />
]<br />
</source><br />
<br />
=== ItemStack ===<br />
[[#Item|Item]]とその個数を保持するオブジェクト。<br />
<source lang="json"><br />
{<br />
"item": "",<br />
"count": 1<br />
}<br />
</source><br />
; <source lang="json" inline>"item": ""</source><br />
: Item<br />
: '''必須'''<br />
; <source lang="json" inline>"count": 1</source><br />
: 整数<br />
: 任意<br />
: アイテムの個数を定める</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E4%B8%80%E8%A6%A7&diff=3739
チュートリアル一覧
2019-02-26T11:43:40Z
<p>ModderKina: /* Minecraft Forge */</p>
<hr />
<div>※Moddingに関する質問は、[//forum.minecraftuser.jp/viewforum.php?f=39 非公式日本ユーザーフォーラム 質問:開発・制作関連]へ。<br />
<br />
{{TOC|limit=1}}<br />
==基礎知識・Tips==<br />
Moddingの基礎や、前提modに関わらないチュートリアルなど<br><br />
====外部参考サイト====<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=9494 ◆総合◆Modderのための雑談所]<br />
*[//forum.minecraftuser.jp/viewforum.php?f=21 MOD,プラグイン,その他ツール 開発関連]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3811 【技術共有】トピックを立てるまでもないライブラリとかコードとかの公開所]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3558 MOD制作小技紹介]<br />
<br />
*[//minecraft.gamepedia.com/Model Model.json]<br />
*[//minecraft.gamepedia.com/Sounds.json Sounds.json]<br />
*[//minecraft.gamepedia.com/Loot_table Loot_table.json]<br />
<br />
====Modding Tips====<br />
*[[Jarファイルへの署名方法]]<br />
*[[ローカライズについて]]<br />
*[[NBTについて]]<br />
*[[1.8のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
**[[1.7のサウンド追加]]<br />
*[[1.6のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7でjar形式のAPIを利用する方法]]<br />
*[[1.7でjar形式でないAPIを利用する方法]]<br />
<br />
====ライブラリの知識====<br />
*[[Gradle利用]]<br />
*[[Guava概要]]<br />
*[[ASM利用]]<br />
<br />
== Minecraft ==<br />
=== Data Pack ===<br />
* [[DataPack概要]]<br />
* [[DataPackによるレシピ追加]]<br />
* [[DataPackによるアドバンスメント追加]]<br />
=== Resource Pack ===<br />
* [[ResourcePack概要]]<br />
<br />
==Minecraft Forge==<br />
===はじめに===<br />
※より詳しいことが知りたい人は、[[Minecraft Forge API]]へ。<br />
*[[MinecraftForge導入手順]]<br />
*[[mcmod.infoの設定]]<br />
*[[プロキシシステムについて]]<br />
*[[鉱石辞書の利用]]<br />
*[[Minecraft Forge Eventシステム概要|Eventシステム概要]]<br />
*[[Forge式Config利用]]<br />
*[[Capabilityシステム概要]]<br />
*[[Access Transformer利用]]<br />
{| class="wikitable" style="text-align: center;"<br />
|+ チュートリアルの対応状況<br />
|-<br />
| colspan="10" style="text-align: left;"|<br />
{| class="wikitable"<br />
!colspan="2"|凡例<br />
|-<br />
|style="background-color: lightgreen;"| ✓<br />
| 記事作成済み<br />
|-<br />
|style="background-color: lightgreen;"| ○<br />
| 他のバージョンのものが利用可能である<br />
|-<br />
|style="background-color: mediumaquamarine;"| △<br />
| 他のバージョンのものが参考にできる(パッケージ、ネームテーブル等の変更で対応可能)<br />
|-<br />
|style="background-color: orangered;"| ☓<br />
| APIなどの変更があり他のものが参考にしがたい、もしくは他のバージョンのチュートリアルが存在しない<br />
|-<br />
|style="background-color: gray;"| &lowast;<br />
| Forgeの機能の範疇ではない<br />
|-<br />
|style="background-color: sandybrown;"| ?<br />
| 未調査<br />
|}<br />
|-<br />
! scope="col"| 内容<br />
! scope="col"| [[#~1.5Modding|~1.5]]<br />
! scope="col"| [[#1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965|1.6.x]]<br />
! scope="col"| [[#1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)|1.7.x]]<br />
! scope="col"| [[#1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~|1.8.x]]<br />
! scope="col"| [[#1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~|1.9.x]]<br />
! scope="col"| [[#1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~|1.10.x]]<br />
! scope="col"| [[#1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~|1.11.x]]<br />
! scope="col"| [[#1.12Modding MinecraftForgeUniversal 14.21.0.2320~|1.12.x]]<br />
! scope="col"| [[#1.13-25.0.x~|1.13.x]]<br />
|-<br />
! scope="row"| レシピの追加<br />
|style="background-color: lightgreen;"| [[レシピの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のレシピ追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のレシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.12のレシピ追加|✓]]<br />
|style="background-color: gray;"| *<br />
|-<br />
! scope="row"| 精錬レシピの追加<br />
|style="background-color: lightgreen;"| [[精錬レシピの追加|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7の精錬レシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: gray;"| *<br />
|-<br />
! scope="row"| 醸造レシピの追加<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| クリエイティブタブの追加<br />
|style="background-color: lightgreen;"| [[CreativeTabの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のクリエイティブタブの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| アイテムの追加<br />
|style="background-color: lightgreen;"| [[無機能アイテムの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| ブロックの追加<br />
|style="background-color: lightgreen;"| [[無機能ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.10.2のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.11のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| ポーションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[PotionEffectのチュートリアル|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のポーション追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のポーション追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| エンチャントの追加<br />
|style="background-color: lightgreen;"| [[Enchantmentの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のエンチャント追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のエンチャント追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| バイオームの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| サウンドの追加<br />
|style="background-color: lightgreen;"| [[音の追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のサウンドの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 村人の追加<br />
|style="background-color: lightgreen;"| [[村人取引の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7の村人取引の追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.9の村人職業追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| コンフィグの作成<br />
|style="background-color: lightgreen;"| [[Forge式コンフィグファイルの利用|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のForge式Config追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| 実績(進捗)の追加<br />
|style="background-color: lightgreen;"| [[実績の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11の実績追加|✓]]<br />
|style="background-color: gray;"| [https://minecraft.gamepedia.com/Advancements#JSON_Format]<br />
|style="background-color: gray;"| *<br />
|-<br />
! scope="row"| 鉱石の生成<br />
|style="background-color: lightgreen;"| [[追加鉱物をワールドに生成させる|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.8のOreGenEvent利用による鉱石生成|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| TileEntityの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.6のTileEntityの追加|✓]]<br />
|style="background-color: lightgreen;"| [[シンプルなTileEntityの追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| GUIの追加<br />
|style="background-color: lightgreen;"| [[GUIの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のGUI追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 流体の追加<br />
|style="background-color: lightgreen;"| [[液体を追加する|✓]]<br />
|style="background-color: lightgreen;"| [[1.6の流体追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.8の液体ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| エンティティの追加<br />
|style="background-color: lightgreen;"| [[MOBを追加する|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.9のMOB追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| ディメンションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のディメンション追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.11のディメンション追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| WorldTypeの追加<br />
|style="background-color: lightgreen;"| [[WorldTypeの追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のWorldType追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|}<br />
=== 1.13-25.0.x~ ===<br />
*[[1.12から1.13への変更点]]<br />
<br />
===1.12Modding MinecraftForgeUniversal 14.21.0.2320~===<br />
====チュートリアル基礎====<br />
*[[1.11から1.12への変更点]]<br />
*[[1.12の基本コーディング]]<br />
*[[1.12のレシピ追加]]<br />
*[[1.12のアイテム追加]]<br />
*[[1.12のアイテム追加(旧式)]]<br />
*[[1.12のブロック追加(旧式)]]<br />
<br />
===1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~===<br />
====チュートリアル基礎====<br />
*[[1.10から1.11への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//minecraft.gamepedia.com/index.php?title=Model&oldid=1040633 1.11のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.11のレシピ追加]]<br />
*[[1.11の精錬レシピ追加]]<br />
*[[1.11の醸造レシピ追加]]<br />
*[[1.11のアイテム追加]]<br />
*[[1.11のブロック追加]]<br />
*[[1.11のクリエイティブタブ追加]]<br />
*[[1.11のサウンド追加]]<br />
*[[1.11のポーション追加]]<br />
*[[1.11のエンチャント追加]]<br />
*[[1.11の統計追加]]<br />
*[[1.11の実績追加]]<br />
*[[1.11のLootTable利用]]<br />
*[[1.11のWorldType追加]]<br />
*[[1.11のキー入力受け取り]]<br />
<br />
====チュートリアル中級====<br />
*[[1.11のEntity追加]]<br />
*[[1.11のTileEntity追加]]<br />
*[[1.11のディメンション追加]]<br />
*[[1.11のバイオーム追加]]<br />
*[[1.11の地形生成]]<br />
*[[1.11の構造物追加]]<br />
*[[1.11のパケット送受信]]<br />
*[[1.11のHUD追加]]<br />
*[[1.11のGUI追加]]<br />
**[[1.11のインベントリ付きGUI追加]]<br />
<br />
===1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~===<br />
<br />
====チュートリアル初級====<br />
*[[1.10.2のブロック追加]]<br />
<br />
===1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~===<br />
*[[1.8から1.9への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//goo.gl/FCIlNJ 1.9のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.9のブロック追加]]<br />
**[[1.9のForge式Json利用]]([//mcforge.readthedocs.org/en/latest/blockstates/forgeBlockstates/ ForgeDoc])<br />
*[[1.9のアイテム追加]]<br />
*[[1.9のポーション追加]]<br />
*[[1.9のエンチャント追加]]<br />
*[[1.9のバイオーム追加]]<br />
*[[1.9の村人職業追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.9のMOB追加]]<br />
====チュートリアル上級====<br />
<br />
===1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~===<br />
*[[1.7から1.8への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[[1.8のバニラJsonの仕様]]<br />
*[[1.8のブロック追加]]<br />
**[[1.8のブロックで部分的に色を変える方法]]<br />
**[[1.8のB3Dモデル利用ブロック追加]]<br />
**[[1.8のOBJモデル利用ブロック追加]]<br />
*[[1.8のアイテム追加]]<br />
**[[1.8のアイテムで部分的に色を変える方法]]<br />
*[[1.8のOreGenEvent利用による鉱石生成]]<br />
*[[1.8のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.8のプレイヤーカスタムデータの追加]]<br />
*[[1.8のIRecipe利用によるレシピ追加]]<br />
*[[1.8の液体ブロックの追加]]<br />
*[[1.8のICustomModelLoader利用]]<br />
<br />
====チュートリアル上級====<br />
<br />
====他サイトリンク====<br />
*[http://www.nicovideo.jp/mylist/49688372 reine氏による1.8の開発記録動画]<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=9220 【Forgeチュートリアル】クラフトで耐久値が減るアイテムの作り方1.2.5~1.8 ソース付属 ]<br />
<br />
===1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)===<br />
*[[1.6から1.7への変更点]]<br />
*[[1.7の基本コーディング]]<br />
*[[1.7のInterModComms利用]]<br />
<br />
====チュートリアル初級====<br />
*[[1.7のレシピ追加]]<br />
*[[1.7の精錬レシピ追加]]<br />
*[[1.7のブロック追加]]<br />
*[[1.7のアイテム追加]]<br />
**[[1.7のアイテムに初期状態でエンチャント等NBTデータを付ける方法]]<br />
**[[1.7の武器追加(剣)]]<br />
**[[1.7の防具追加]]<br />
**[[1.7のアイテムで部分的に色を変える方法]]<br />
**[[1.7のアイテムのツールチップに情報を表示させる方法]]<br />
**[[1.7のアイテムの表示名を変更する方法]]<br />
*[[1.7のGUI追加]]<br />
*[[1.7のディスペンサーModding]]<br />
*[[1.7のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[DataWatcherを用いたエンティティの同期]]<br />
*[[1.7のパケットについて]]<br />
**[[1.7のキーボードイベント追加]]<br />
*[[1.7のプレイヤーカスタムデータの追加]]<br />
*[[Forge 10.12.1.1074以降でのクライアント/サーバMOD]]<br />
*[[逆さまの木の追加]]<br />
*[[シンプルなTileEntityの追加]]<br />
**[[1.7の液体タンクを持つTileEntityの追加]]<br />
*[[シフトクリック時の処理]]<br />
*[[1.7の村人取引の追加]]<br />
*[[1.7のディメンション追加]]<br />
*[[MOBの追加]]<br />
*[[独自のスポーンエッグの追加]]<br />
*[[1.7以降のIResourcePackの利用]]<br />
*[[1.7の独自レシピシステムの追加]]<br />
*[[1.7の属性値を動的変更できるアイテムの追加]]<br />
*[[1.7の独自Renderの追加]]<br />
*[[1.7でのインベントリ操作]]<br />
*[[1.7のForge式Config追加]]<br />
*[[1.7のサウンド追加]]<br />
<br />
====チュートリアル上級====<br />
*[[前提MODの自動DLの仕方]]<br />
*[[インベントリを持つアイテムの追加]]<br />
<br />
;他サイトリンク<br />
*[https://goo.gl/5QbDjE defeatedcrow氏による1.7.10のMODの制作過程]<br />
<br />
===1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965===<br />
1.6からリソースパック方式の導入により、いくつかの項目で画像、音声、言語ファイル等の扱いが変更されました。<br><br />
また、MCP作者が1.6Modding環境としてForgeを推奨しています。<br><br />
<br />
====基本のチュートリアル====<br />
*[[1.6の開発環境の作り方]]<br />
*[[1.6の基本コーティング]]<br />
*[[1.6のテクスチャの指定]]<br />
*[[PotionEffectのチュートリアル]]<br />
<br />
====チュートリアル初級====<br />
*[[1.6のレシピ追加]]<br />
*[[1.6のブロック追加]]<br />
*[[1.6のアイテム追加]]<br />
**[[1.6のツール類追加]]<br />
***[[1.6のカスタムツール追加]]<br />
**[[1.6の食料追加]]<br />
**[[1.6の武器追加(剣)]]<br />
**[[1.6の防具追加]]<br />
*[[1.6のクリエイティブタブの追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.6のメタデータを持つアイテム・ブロック]]<br />
*[[1.6の骨粉処理]]<br />
*[[1.6の植物追加]]<br />
*[[1.6の流体追加]]<br />
**[[1.6の流体をバケツで扱う]]<br />
*[[鉱石辞書の利用|1.6の鉱石辞書の利用]]<br />
**[[1.6の鉱石辞書利用の実例]]<br />
*[[1.6のアニメーションアイテムの追加]]<br />
*[[カスタムレンダーを使用するブロックの追加]]<br />
*[[1.6のモデル付きカスタムツール追加]]<br />
*[[1.6のサウンドの追加]]<br />
*[[1.6のプレイヤーカスタムデータの追加]]<br />
<br />
====チュートリアル上級====<br />
*[[1.6のTileEntityの追加]]<br />
*[[パーティクルの追加]]<br />
*[[モンスタードロップの追加]]<br />
*[[構造物の追加]]<br />
*[[防具の特殊な処理]]<br />
*[[1.6の発射体Entityの追加]]<br />
<br />
====外部サイト====<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=12186 レシピの追加]<br />
<br />
===~1.5Modding===<br />
{{Warning}}サポートが打ち切られている、もしくは非常に古い情報を含みます<br />
→[[1.5以前のチュートリアル]]<br />
<br />
==Bukkit Pluginの作り方==<br />
Bukkitを前提としたサーバー用Moddingです。<br><br />
<!-- *[[Bukkit用MODの作成方法]] --><br />
*[[Plugin Tutorial]]<br />
*[[新しいEventSystemの使い方]]<br />
*[[新しいConfigurationの使い方]]<br />
*[[スケジューラのプログラミング]]<br />
*[[天候操作]]<br />
*[[スコアボードシステムの使い方]]<br />
*[[plugin.ymlの設定一覧]]<br />
<br />
==その他の前提mod==<br />
上記以外のmodを前提としたmodding。<br><br />
===Not Enough Items(NEI)===<br />
*[[NEIにて独自レシピを表示させる]]<br />
===LiteLoader rev317===<br />
*[[LiteLoader導入手順]]<br />
*[[LiteLoader/1.8のデバッグ画面へ情報を追加]]</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=1.12%E3%81%8B%E3%82%891.13%E3%81%B8%E3%81%AE%E5%A4%89%E6%9B%B4%E7%82%B9&diff=3738
1.12から1.13への変更点
2019-02-26T11:21:33Z
<p>ModderKina: ModderKina がページ「利用者:ModderKina/1.12から1.13への変更点」を「1.12から1.13への変更点」に、リダイレクトを残さずに移動しました</p>
<hr />
<div>== Minecraft本体 ==<br />
=== [https://minecraft-ja.gamepedia.com/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%91%E3%83%83%E3%82%AF データパック] ===<br />
ついにデータパックが正式実装。<br><br />
1.12では不完全だったが、いよいよ使えるものになった。<br><br />
ディレクトリ階層もすこし変更されているので注意が必要。<br />
<br />
=== BlockID、ItemIDの平坦化 ===<br />
要は、metaだとかdamageだとか言われていたものが削除された。<br><br />
羊毛は色それぞれが別ブロックとなり、ツールのダメージはNBTに保存されるようになった。<br><br />
Stateの16上限もなくなっているので、ある程度自由になったと言えるかも。<br><br />
<s>IDの無限化はまだ[https://github.com/MinecraftForge/MinecraftForge/issues/5135 夢幻]。</s> <u>無事1.13.2で解決</u><br />
<br />
=== 水、溶岩の挙動に手が入った ===<br />
水源を特定のブロックが保持できるようになった。<br><br />
インターフェースによる処理なので、Modであっても実装は容易だろう。<br><br />
水の流れに関する複雑な処理は<code>Block</code>ではなく<code>Fluid</code>(1.13にて追加)が担うようだ。<br><br />
実装だけ読んだ限りだと、溶岩を保持するのも可能……[https://twitter.com/Dinnerbone/status/988386661661925377 かもしれない?]<br />
<br />
=== タグの概念 ===<br />
バニラでは、<code>Block</code>と<code>Item</code>と<code>Fluid</code>に用いられている模様。<br><br />
レシピの材料判定などの幅広い部分で要素を包括的に扱うための仕組み。<br><br />
Jsonで自由にいじることができる。要はJson版鉱石辞書。<br />
<br />
=== 精錬レシピがJson化された ===<br />
同時に精錬レシピが<code>IRecipe</code>傘下入り。<br><br />
まぁある意味では扱いやすくなったとも言えるかも……?<br />
<br />
=== <code>Item</code>、<code>Block</code>のコンストラクタの変更 ===<br />
ビルダーパターンが採用され、setHardnessとか言ったプロパティ的なものは初期化時に全部指定して固定化されるようになった。<br />
<br />
=== <code>IItemProvider</code> ===<br />
<code>Block</code>と<code>Item</code>を一緒くたに扱えるようになった。<br><br />
色んな所でいちいち<code>ItemStack</code>にしなきゃいけなくてめんどくさかったのが解消する。<br />
<br />
=== コマンドの実装が一新された ===<br />
構文解析のためにいろいろやっている。<br><br />
コードの見通しも良くなったため、複雑な構文も比較的容易に追加できるようになった。<br />
<br />
=== ツールのTierがインターフェースで管理されるようになった ===<br />
前まではいろいろ分散したりしていたのが、インターフェースにまとめられた。<br />
<br />
=== BlockstateのPropertyが共通化された ===<br />
これまでは同じ内容を表すものであっても個別に宣言されていたが、統一された。<br><br />
ある程度包括的にブロックを扱えるようになった。<br />
<br />
=== <code>VoxelShape</code> ===<br />
当たり判定は前まで<code>AxisAlignedBB</code>のリストで扱われていたが、<code>VoxelShape</code>を使うようになった。<br />
<br />
=== リソースパック ver.4 ===<br />
==== Jsonモデル ====<br />
パスの省略部分が変更された。<br><br />
ある程度一括で置換できる部分なのでそう影響はないはず……。<br />
<br />
==== 言語ファイル ====<br />
これまでJavaのproperties形式であったが、Json形式に変更された。<br><br />
コメント機能が無いのが大きな違いといえば違いだが、未割り当てキーの使用等で対処可能。<br />
<br />
== MinecraftForge ==<br />
2019/02/24現在。<br><br />
大体方向性ははっきりしているだろうというところに絞っているが、まだまだ変更が見込まれる部分なので実際のコードを見てほしい。<br><br />
闇深でレガシーなコードを整理するために大規模な改修が行われ、多くの部分が影響を受けることになる。<br />
<br />
=== Modの認識方法の変更 ===<br />
これまでModアノテーションで指定してきたことはMETA-INF/mods.tomlに移動した。<br><br />
ModアノテーションはエントリクラスをFMLに示すための純粋なマーカーとなるようだ。<br><br />
CoremodもJSから認識するようになるとか。<br />
<br />
=== Config ===<br />
刷新され、独自フォーマットではなくtoml形式が用いられるようになった。<br><br />
ロードセーブまわりの仕様も変わり、よりConfigGUIなどのオンゲームでの変更に強いものとなった。<br><br />
書き方の作法も当然様変わりしている。<br><br />
ファイル形式を自由にしようとしている形跡があるが、どうなるかは不明。<br />
<br />
=== LifecycleEvent ===<br />
これまで<code>EventHandler</code>アノテーションを用いていたEvent群が再編された。<br><br />
それに伴い<code>EventHandler</code>アノテーションは削除された。<br><br />
代わりにコンストラクタで、FMLJavaModLoadingContextを通じて取得したEventBusにメソッドを登録していく。<br />
# <code>FMLCommonSetupEvent</code><br />
# <code>FML(Client|DedicatedServer)SetupEvent</code><br />
# <code>InterModEnqueueEvent</code> <br />
# <code>InterModProcessEvent</code><br />
<br />
の順で呼び出される。アイテムやブロックの登録イベントはこれらより前に発火される。<br><br />
並列に処理されるようになったため、Modのロード順などの概念はなくなった。<br><br />
SetupEvent時点でブロック等は登録されている '''はず''' なため、連携する上では問題ない。<br />
<br />
=== <code>GameRegistry</code> ===<br />
findRegistryというメソッド以外は削除された。<br><br />
登録処理は主にイベントを通じてアクセスすることになる。<br />
<br />
=== Forge Service Provider Interfaces ===<br />
<code>Side</code>が<code>Dist</code>というものに変わった。<br />
<br />
==== <code>OnlyIn</code>アノテーション ====<br />
<code>SideOnly</code>アノテーションの代わり。<br />
<br />
==== <code>DistExecutor</code> ====<br />
<code>SidedProxy</code>の代替。<br><br />
ラムダ式等を用いてよりモダンに蔵鯖の分岐処理をかけるようになる。<br />
<br />
=== <code>OreDictionary</code> ===<br />
タグに機能が移行した。<br><br />
クラスは削除され、もはや使用することはできない。<br />
<br />
== ForgeGradle ==<br />
version3.xとなり、環境構築手順が変わった。</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=1.12%E3%81%8B%E3%82%891.13%E3%81%B8%E3%81%AE%E5%A4%89%E6%9B%B4%E7%82%B9&diff=3737
1.12から1.13への変更点
2019-02-26T11:20:20Z
<p>ModderKina: 2月時点に更新</p>
<hr />
<div>== Minecraft本体 ==<br />
=== [https://minecraft-ja.gamepedia.com/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%91%E3%83%83%E3%82%AF データパック] ===<br />
ついにデータパックが正式実装。<br><br />
1.12では不完全だったが、いよいよ使えるものになった。<br><br />
ディレクトリ階層もすこし変更されているので注意が必要。<br />
<br />
=== BlockID、ItemIDの平坦化 ===<br />
要は、metaだとかdamageだとか言われていたものが削除された。<br><br />
羊毛は色それぞれが別ブロックとなり、ツールのダメージはNBTに保存されるようになった。<br><br />
Stateの16上限もなくなっているので、ある程度自由になったと言えるかも。<br><br />
<s>IDの無限化はまだ[https://github.com/MinecraftForge/MinecraftForge/issues/5135 夢幻]。</s> <u>無事1.13.2で解決</u><br />
<br />
=== 水、溶岩の挙動に手が入った ===<br />
水源を特定のブロックが保持できるようになった。<br><br />
インターフェースによる処理なので、Modであっても実装は容易だろう。<br><br />
水の流れに関する複雑な処理は<code>Block</code>ではなく<code>Fluid</code>(1.13にて追加)が担うようだ。<br><br />
実装だけ読んだ限りだと、溶岩を保持するのも可能……[https://twitter.com/Dinnerbone/status/988386661661925377 かもしれない?]<br />
<br />
=== タグの概念 ===<br />
バニラでは、<code>Block</code>と<code>Item</code>と<code>Fluid</code>に用いられている模様。<br><br />
レシピの材料判定などの幅広い部分で要素を包括的に扱うための仕組み。<br><br />
Jsonで自由にいじることができる。要はJson版鉱石辞書。<br />
<br />
=== 精錬レシピがJson化された ===<br />
同時に精錬レシピが<code>IRecipe</code>傘下入り。<br><br />
まぁある意味では扱いやすくなったとも言えるかも……?<br />
<br />
=== <code>Item</code>、<code>Block</code>のコンストラクタの変更 ===<br />
ビルダーパターンが採用され、setHardnessとか言ったプロパティ的なものは初期化時に全部指定して固定化されるようになった。<br />
<br />
=== <code>IItemProvider</code> ===<br />
<code>Block</code>と<code>Item</code>を一緒くたに扱えるようになった。<br><br />
色んな所でいちいち<code>ItemStack</code>にしなきゃいけなくてめんどくさかったのが解消する。<br />
<br />
=== コマンドの実装が一新された ===<br />
構文解析のためにいろいろやっている。<br><br />
コードの見通しも良くなったため、複雑な構文も比較的容易に追加できるようになった。<br />
<br />
=== ツールのTierがインターフェースで管理されるようになった ===<br />
前まではいろいろ分散したりしていたのが、インターフェースにまとめられた。<br />
<br />
=== BlockstateのPropertyが共通化された ===<br />
これまでは同じ内容を表すものであっても個別に宣言されていたが、統一された。<br><br />
ある程度包括的にブロックを扱えるようになった。<br />
<br />
=== <code>VoxelShape</code> ===<br />
当たり判定は前まで<code>AxisAlignedBB</code>のリストで扱われていたが、<code>VoxelShape</code>を使うようになった。<br />
<br />
=== リソースパック ver.4 ===<br />
==== Jsonモデル ====<br />
パスの省略部分が変更された。<br><br />
ある程度一括で置換できる部分なのでそう影響はないはず……。<br />
<br />
==== 言語ファイル ====<br />
これまでJavaのproperties形式であったが、Json形式に変更された。<br><br />
コメント機能が無いのが大きな違いといえば違いだが、未割り当てキーの使用等で対処可能。<br />
<br />
== MinecraftForge ==<br />
2019/02/24現在。<br><br />
大体方向性ははっきりしているだろうというところに絞っているが、まだまだ変更が見込まれる部分なので実際のコードを見てほしい。<br><br />
闇深でレガシーなコードを整理するために大規模な改修が行われ、多くの部分が影響を受けることになる。<br />
<br />
=== Modの認識方法の変更 ===<br />
これまでModアノテーションで指定してきたことはMETA-INF/mods.tomlに移動した。<br><br />
ModアノテーションはエントリクラスをFMLに示すための純粋なマーカーとなるようだ。<br><br />
CoremodもJSから認識するようになるとか。<br />
<br />
=== Config ===<br />
刷新され、独自フォーマットではなくtoml形式が用いられるようになった。<br><br />
ロードセーブまわりの仕様も変わり、よりConfigGUIなどのオンゲームでの変更に強いものとなった。<br><br />
書き方の作法も当然様変わりしている。<br><br />
ファイル形式を自由にしようとしている形跡があるが、どうなるかは不明。<br />
<br />
=== LifecycleEvent ===<br />
これまで<code>EventHandler</code>アノテーションを用いていたEvent群が再編された。<br><br />
それに伴い<code>EventHandler</code>アノテーションは削除された。<br><br />
代わりにコンストラクタで、FMLJavaModLoadingContextを通じて取得したEventBusにメソッドを登録していく。<br />
# <code>FMLCommonSetupEvent</code><br />
# <code>FML(Client|DedicatedServer)SetupEvent</code><br />
# <code>InterModEnqueueEvent</code> <br />
# <code>InterModProcessEvent</code><br />
<br />
の順で呼び出される。アイテムやブロックの登録イベントはこれらより前に発火される。<br><br />
並列に処理されるようになったため、Modのロード順などの概念はなくなった。<br><br />
SetupEvent時点でブロック等は登録されている '''はず''' なため、連携する上では問題ない。<br />
<br />
=== <code>GameRegistry</code> ===<br />
findRegistryというメソッド以外は削除された。<br><br />
登録処理は主にイベントを通じてアクセスすることになる。<br />
<br />
=== Forge Service Provider Interfaces ===<br />
<code>Side</code>が<code>Dist</code>というものに変わった。<br />
<br />
==== <code>OnlyIn</code>アノテーション ====<br />
<code>SideOnly</code>アノテーションの代わり。<br />
<br />
==== <code>DistExecutor</code> ====<br />
<code>SidedProxy</code>の代替。<br><br />
ラムダ式等を用いてよりモダンに蔵鯖の分岐処理をかけるようになる。<br />
<br />
=== <code>OreDictionary</code> ===<br />
タグに機能が移行した。<br><br />
クラスは削除され、もはや使用することはできない。<br />
<br />
== ForgeGradle ==<br />
version3.xとなり、環境構築手順が変わった。</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=DataPack%E6%A6%82%E8%A6%81&diff=3730
DataPack概要
2018-11-23T17:14:10Z
<p>ModderKina: </p>
<hr />
<div>== DataPack ==<br />
DataPack(以下データパック)とは、1.9から実装が進み1.13で正式に搭載されたMinecraftの広義のModificationエントリポイントである。<br><br />
リソースパックをクライアント側の改造パックとするなら、データパックはサーバー側の改造パックということができる。<br><br />
ワールドごとに設定する形で、パックの配置位置も若干特殊である。<br />
<br />
== データパックの配置・構造 ==<br />
データパックは<code>./saves/<ワールド名>/datapacks/</code>下に配置する。<br><br />
リソースパックと同様に、フォルダ形式かZipファイル形式のものを読み込むことができる。<br><br />
データパック内のファイル階層は以下の通り。<br />
<br />
*<データパック名>(.zip)/<br />
**pack.mcmeta<br />
**data/<br />
***<ネームスペース>/<br />
****advancements/<br />
*****<アドバンスメント名>.json<br />
****functions/<br />
*****<関数名>.mcfunction<br />
****loot_tables/<br />
*****<ルートテーブル名>.json<br />
****recipes/<br />
*****<レシピ名>.json<br />
****structures/<br />
*****<構造物名>nbt<br />
****tags/<br />
*****blocks/<br />
******<タグ名>.json<br />
*****items/<br />
******<タグ名>.json<br />
*****fluids/<br />
******<タグ名>.json<br />
*****functions/<br />
******<タグ名>.json<br />
<br />
ネームスペースがForgeModでいうところのMod IDにあたる。<br><br />
Minecraftのものを上書きしたい場合は<code>minecraft</code>とする。<br />
<br />
=== pack.mcmeta ===<br />
<source lang="json"><br />
{<br />
"pack": {<br />
"description": "データパックの説明",<br />
"pack_format": 4<br />
}<br />
}<br />
</source><br />
リソースパックとおんなじ。<br><br />
Pack formatはあまり参照されてないっぽいけど、1.13現在では4以外だとincompatible扱いなので4にしておくのが吉。<br />
{| class="wikitable"<br />
|-<br />
! MCバージョン !! Pack Format<br />
|-<br />
| 1.13 || 4<br />
|}<br />
<br />
== データパックの読み込み ==<br />
GUIなどから読み込む手段は提供されておらず、コマンドを用いる。<br><br />
関係するコマンドとしては<br />
* <code>/datapack</code><br />
**; <code>/datapack enable <name></code><br />
*:: データパックを有効化する<br />
**; <code>/datapack disable <name></code><br />
*:: データパックを無効化する<br />
* <code>/reload</code><br />
*: データパックをリロードする<br />
がある。<br><br />
これらのコマンドを用いて読み込み順などを操作することもできるが、細かい記法は公式pediaやゲーム内ヘルプに譲りたい。</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=DataPack%E6%A6%82%E8%A6%81&diff=3729
DataPack概要
2018-11-23T17:03:04Z
<p>ModderKina: </p>
<hr />
<div>== DataPack ==<br />
DataPack(以下データパック)とは、1.9から実装が進み1.13で正式に搭載されたMinecraftの広義のModificationエントリポイントである。<br><br />
リソースパックをクライアント側の改造パックとするなら、データパックはサーバー側の改造パックということができる。<br><br />
ワールドごとに設定する形で、パックの配置位置も若干特殊である。<br />
<br />
== データパックの配置・構造 ==<br />
データパックは<code>./saves/<ワールド名>/datapacks/</code>下に配置する。<br><br />
リソースパックと同様に、フォルダ形式かZipファイル形式のものを読み込むことができる。<br><br />
データパック内のファイル階層は以下の通り。<br />
<br />
*<データパック名>(.zip)/<br />
**pack.mcmeta<br />
**data/<br />
***<ネームスペース>/<br />
****advancements/<br />
*****<アドバンスメント名>.json<br />
****functions/<br />
*****<関数名>.mcfunction<br />
****loot_tables/<br />
*****<ルートテーブル名>.json<br />
****recipes/<br />
*****<レシピ名>.json<br />
****structures/<br />
*****<構造物名>nbt<br />
****tags/<br />
*****blocks/<br />
******<タグ名>.json<br />
*****items/<br />
******<タグ名>.json<br />
*****fluids/<br />
******<タグ名>.json<br />
*****functions/<br />
******<タグ名>.json<br />
<br />
ネームスペースがForgeModでいうところのMod IDにあたる。<br><br />
Minecraftのものを上書きしたい場合は<code>minecraft</code>とする。<br />
<br />
=== pack.mcmeta ===<br />
<source lang="json"><br />
{<br />
"pack": {<br />
"description": "データパックの説明",<br />
"pack_format": 4<br />
}<br />
}<br />
</source><br />
リソースパックとおんなじ。<br><br />
Pack formatはあまり参照されてないっぽいけど、1.13現在では4以外だとincompatible扱いなので4にしておくのが吉。<br />
{| class="wikitable"<br />
|-<br />
! MCバージョン !! Pack Format<br />
|-<br />
| 1.13 || 4<br />
|}<br />
<br />
== データパックの読み込み ==<br />
GUIなどから読み込む手段は提供されておらず、コマンドを用いる。<br><br />
関係するコマンドとしては<br />
* <code>/datapack</code><br />
**; <code>/datapack enable <namespace></code><br />
*:: データパックを有効化する<br />
**; <code>/datapack disable <namespace></code><br />
*:: データパックを無効化する<br />
* <code>/reload</code><br />
*: データパックをリロードする<br />
がある。<br><br />
これらのコマンドを用いて読み込み順などを操作することもできるが、細かい記法は公式pediaやゲーム内ヘルプに譲りたい。</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=DataPack%E6%A6%82%E8%A6%81&diff=3728
DataPack概要
2018-10-28T11:28:00Z
<p>ModderKina: 作った。もうちょっと加筆したい。</p>
<hr />
<div>== DataPack ==<br />
DataPack(以下データパック)とは、1.9から実装が進み1.13で正式に搭載されたMinecraftの広義のModificationエントリポイントである。<br><br />
リソースパックをクライアント側の改造パックとするなら、データパックはサーバー側の改造パックということができる。<br><br />
ワールドごとに設定する形で、パックの配置位置も若干特殊である。<br />
<br />
== データパックの配置・構造 ==<br />
データパックは<code>./saves/<ワールド名>/datapacks/</code>下に配置する。<br><br />
リソースパックと同様に、フォルダ形式かZipファイル形式のものを読み込むことができる。<br><br />
データパック内のファイル階層は以下の通り。<br />
<br />
*<データパック名>(.zip)/<br />
**pack.mcmeta<br />
**data/<br />
***<ネームスペース>/<br />
****advancements/<br />
*****<アドバンスメント名>.json<br />
****functions/<br />
*****<関数名>.mcfunction<br />
****loot_tables/<br />
*****<ルートテーブル名>.json<br />
****recipes/<br />
*****<レシピ名>.json<br />
****structures/<br />
*****<構造物名>nbt<br />
****tags/<br />
*****blocks/<br />
******<タグ名>.json<br />
*****items/<br />
******<タグ名>.json<br />
*****fluids/<br />
******<タグ名>.json<br />
*****functions/<br />
******<タグ名>.json<br />
<br />
ネームスペースがForgeModでいうところのMod IDにあたる。<br><br />
Minecraftのものを上書きしたい場合は<code>minecraft</code>とする。<br />
<br />
== pack.mcmeta ==<br />
<source lang="json"><br />
{<br />
"pack": {<br />
"description": "データパックの説明",<br />
"pack_format": 4<br />
}<br />
}<br />
</source><br />
リソースパックとおんなじ。<br><br />
Pack formatはあまり参照されてないっぽいけど、1.13現在では4以外だとincompatible扱いなので4にしておくのが吉。<br />
{| class="wikitable"<br />
|-<br />
! MCバージョン !! Pack Format<br />
|-<br />
| 1.13 || 4<br />
|}</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E4%B8%80%E8%A6%A7&diff=3727
チュートリアル一覧
2018-10-28T11:25:58Z
<p>ModderKina: </p>
<hr />
<div>※Moddingに関する質問は、[//forum.minecraftuser.jp/viewforum.php?f=39 非公式日本ユーザーフォーラム 質問:開発・制作関連]へ。<br />
<br />
{{TOC|limit=1}}<br />
==基礎知識・Tips==<br />
Moddingの基礎や、前提modに関わらないチュートリアルなど<br><br />
====外部参考サイト====<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=9494 ◆総合◆Modderのための雑談所]<br />
*[//forum.minecraftuser.jp/viewforum.php?f=21 MOD,プラグイン,その他ツール 開発関連]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3811 【技術共有】トピックを立てるまでもないライブラリとかコードとかの公開所]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3558 MOD制作小技紹介]<br />
<br />
*[//minecraft.gamepedia.com/Model Model.json]<br />
*[//minecraft.gamepedia.com/Sounds.json Sounds.json]<br />
*[//minecraft.gamepedia.com/Loot_table Loot_table.json]<br />
<br />
====Modding Tips====<br />
*[[Jarファイルへの署名方法]]<br />
*[[ローカライズについて]]<br />
*[[NBTについて]]<br />
*[[1.8のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
**[[1.7のサウンド追加]]<br />
*[[1.6のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7でjar形式のAPIを利用する方法]]<br />
*[[1.7でjar形式でないAPIを利用する方法]]<br />
<br />
====ライブラリの知識====<br />
*[[Gradle利用]]<br />
*[[Guava概要]]<br />
*[[ASM利用]]<br />
<br />
== Minecraft ==<br />
=== Data Pack ===<br />
* [[DataPack概要]]<br />
* [[DataPackによるレシピ追加]]<br />
* [[DataPackによるアドバンスメント追加]]<br />
=== Resource Pack ===<br />
* [[ResourcePack概要]]<br />
<br />
==Minecraft Forge==<br />
===はじめに===<br />
※より詳しいことが知りたい人は、[[Minecraft Forge API]]へ。<br />
*[[MinecraftForge導入手順]]<br />
*[[mcmod.infoの設定]]<br />
*[[プロキシシステムについて]]<br />
*[[鉱石辞書の利用]]<br />
*[[Minecraft Forge Eventシステム概要|Eventシステム概要]]<br />
*[[Forge式Config利用]]<br />
*[[Capabilityシステム概要]]<br />
*[[Access Transformer利用]]<br />
*[[アノテーション一覧]]<br />
{| class="wikitable" style="text-align: center;"<br />
|+ チュートリアルの対応状況<br />
|-<br />
| colspan="9" style="text-align: left;"|<br />
{| class="wikitable"<br />
!colspan="2"|凡例<br />
|-<br />
|style="background-color: lightgreen;"| ✓<br />
| 記事作成済み<br />
|-<br />
|style="background-color: lightgreen;"| ○<br />
| 他のバージョンのものが利用可能である<br />
|-<br />
|style="background-color: mediumaquamarine;"| △<br />
| 他のバージョンのものが参考にできる(パッケージ、ネームテーブル等の変更で対応可能)<br />
|-<br />
|style="background-color: orangered;"| ☓<br />
| APIなどの変更があり他のものが参考にしがたい、もしくは他のバージョンのチュートリアルが存在しない<br />
|-<br />
|style="background-color: gray;"| &lowast;<br />
| 不可能である<br />
|-<br />
|style="background-color: sandybrown;"| ?<br />
| 未調査<br />
|}<br />
|-<br />
! scope="col"| 内容<br />
! scope="col"| [[#~1.5Modding|~1.5]]<br />
! scope="col"| [[#1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965|1.6.x]]<br />
! scope="col"| [[#1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)|1.7.x]]<br />
! scope="col"| [[#1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~|1.8.x]]<br />
! scope="col"| [[#1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~|1.9.x]]<br />
! scope="col"| [[#1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~|1.10.x]]<br />
! scope="col"| [[#1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~|1.11.x]]<br />
! scope="col"| [[#1.12Modding MinecraftForgeUniversal 14.21.0.2320~|1.12.x]]<br />
|-<br />
! scope="row"| レシピの追加<br />
|style="background-color: lightgreen;"| [[レシピの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のレシピ追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のレシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.12のレシピ追加|✓]]<br />
|-<br />
! scope="row"| 精錬レシピの追加<br />
|style="background-color: lightgreen;"| [[精錬レシピの追加|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7の精錬レシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| 醸造レシピの追加<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| クリエイティブタブの追加<br />
|style="background-color: lightgreen;"| [[CreativeTabの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のクリエイティブタブの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| アイテムの追加<br />
|style="background-color: lightgreen;"| [[無機能アイテムの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| ブロックの追加<br />
|style="background-color: lightgreen;"| [[無機能ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.10.2のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.11のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| ポーションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[PotionEffectのチュートリアル|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のポーション追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のポーション追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| エンチャントの追加<br />
|style="background-color: lightgreen;"| [[Enchantmentの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のエンチャント追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のエンチャント追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| バイオームの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| サウンドの追加<br />
|style="background-color: lightgreen;"| [[音の追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のサウンドの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 村人の追加<br />
|style="background-color: lightgreen;"| [[村人取引の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7の村人取引の追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.9の村人職業追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| コンフィグの作成<br />
|style="background-color: lightgreen;"| [[Forge式コンフィグファイルの利用|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のForge式Config追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| 実績(進捗)の追加<br />
|style="background-color: lightgreen;"| [[実績の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11の実績追加|✓]]<br />
|style="background-color: gray;"| [https://minecraft.gamepedia.com/Advancements#JSON_Format]<br />
|-<br />
! scope="row"| 鉱石の生成<br />
|style="background-color: lightgreen;"| [[追加鉱物をワールドに生成させる|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.8のOreGenEvent利用による鉱石生成|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| TileEntityの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.6のTileEntityの追加|✓]]<br />
|style="background-color: lightgreen;"| [[シンプルなTileEntityの追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| GUIの追加<br />
|style="background-color: lightgreen;"| [[GUIの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のGUI追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| 流体の追加<br />
|style="background-color: lightgreen;"| [[液体を追加する|✓]]<br />
|style="background-color: lightgreen;"| [[1.6の流体追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.8の液体ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| エンティティの追加<br />
|style="background-color: lightgreen;"| [[MOBを追加する|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.9のMOB追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| ディメンションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のディメンション追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.11のディメンション追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| WorldTypeの追加<br />
|style="background-color: lightgreen;"| [[WorldTypeの追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のWorldType追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|}<br />
===1.12Modding MinecraftForgeUniversal 14.21.0.2320~===<br />
====チュートリアル基礎====<br />
*[[1.11から1.12への変更点]]<br />
*[[1.12の基本コーディング]]<br />
*[[1.12のレシピ追加]]<br />
*[[1.12のアイテム追加]]<br />
*[[1.12のアイテム追加(旧式)]]<br />
*[[1.12のブロック追加(旧式)]]<br />
<br />
===1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~===<br />
====チュートリアル基礎====<br />
*[[1.10から1.11への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//minecraft.gamepedia.com/index.php?title=Model&oldid=1040633 1.11のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.11のレシピ追加]]<br />
*[[1.11の精錬レシピ追加]]<br />
*[[1.11の醸造レシピ追加]]<br />
*[[1.11のアイテム追加]]<br />
*[[1.11のブロック追加]]<br />
*[[1.11のクリエイティブタブ追加]]<br />
*[[1.11のサウンド追加]]<br />
*[[1.11のポーション追加]]<br />
*[[1.11のエンチャント追加]]<br />
*[[1.11の統計追加]]<br />
*[[1.11の実績追加]]<br />
*[[1.11のLootTable利用]]<br />
*[[1.11のWorldType追加]]<br />
*[[1.11のキー入力受け取り]]<br />
<br />
====チュートリアル中級====<br />
*[[1.11のEntity追加]]<br />
*[[1.11のTileEntity追加]]<br />
*[[1.11のディメンション追加]]<br />
*[[1.11のバイオーム追加]]<br />
*[[1.11の地形生成]]<br />
*[[1.11の構造物追加]]<br />
*[[1.11のパケット送受信]]<br />
*[[1.11のHUD追加]]<br />
*[[1.11のGUI追加]]<br />
**[[1.11のインベントリ付きGUI追加]]<br />
<br />
===1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~===<br />
<br />
====チュートリアル初級====<br />
*[[1.10.2のブロック追加]]<br />
<br />
===1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~===<br />
*[[1.8から1.9への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//goo.gl/FCIlNJ 1.9のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.9のブロック追加]]<br />
**[[1.9のForge式Json利用]]([//mcforge.readthedocs.org/en/latest/blockstates/forgeBlockstates/ ForgeDoc])<br />
*[[1.9のアイテム追加]]<br />
*[[1.9のポーション追加]]<br />
*[[1.9のエンチャント追加]]<br />
*[[1.9のバイオーム追加]]<br />
*[[1.9の村人職業追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.9のMOB追加]]<br />
====チュートリアル上級====<br />
<br />
===1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~===<br />
*[[1.7から1.8への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[[1.8のバニラJsonの仕様]]<br />
*[[1.8のブロック追加]]<br />
**[[1.8のブロックで部分的に色を変える方法]]<br />
**[[1.8のB3Dモデル利用ブロック追加]]<br />
**[[1.8のOBJモデル利用ブロック追加]]<br />
*[[1.8のアイテム追加]]<br />
**[[1.8のアイテムで部分的に色を変える方法]]<br />
*[[1.8のOreGenEvent利用による鉱石生成]]<br />
*[[1.8のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.8のプレイヤーカスタムデータの追加]]<br />
*[[1.8のIRecipe利用によるレシピ追加]]<br />
*[[1.8の液体ブロックの追加]]<br />
*[[1.8のICustomModelLoader利用]]<br />
<br />
====チュートリアル上級====<br />
<br />
====他サイトリンク====<br />
*[http://www.nicovideo.jp/mylist/49688372 reine氏による1.8の開発記録動画]<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=9220 【Forgeチュートリアル】クラフトで耐久値が減るアイテムの作り方1.2.5~1.8 ソース付属 ]<br />
<br />
===1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)===<br />
*[[1.6から1.7への変更点]]<br />
*[[1.7の基本コーディング]]<br />
*[[1.7のInterModComms利用]]<br />
<br />
====チュートリアル初級====<br />
*[[1.7のレシピ追加]]<br />
*[[1.7の精錬レシピ追加]]<br />
*[[1.7のブロック追加]]<br />
*[[1.7のアイテム追加]]<br />
**[[1.7のアイテムに初期状態でエンチャント等NBTデータを付ける方法]]<br />
**[[1.7の武器追加(剣)]]<br />
**[[1.7の防具追加]]<br />
**[[1.7のアイテムで部分的に色を変える方法]]<br />
**[[1.7のアイテムのツールチップに情報を表示させる方法]]<br />
**[[1.7のアイテムの表示名を変更する方法]]<br />
*[[1.7のGUI追加]]<br />
*[[1.7のディスペンサーModding]]<br />
*[[1.7のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[DataWatcherを用いたエンティティの同期]]<br />
*[[1.7のパケットについて]]<br />
**[[1.7のキーボードイベント追加]]<br />
*[[1.7のプレイヤーカスタムデータの追加]]<br />
*[[Forge 10.12.1.1074以降でのクライアント/サーバMOD]]<br />
*[[逆さまの木の追加]]<br />
*[[シンプルなTileEntityの追加]]<br />
**[[1.7の液体タンクを持つTileEntityの追加]]<br />
*[[シフトクリック時の処理]]<br />
*[[1.7の村人取引の追加]]<br />
*[[1.7のディメンション追加]]<br />
*[[MOBの追加]]<br />
*[[独自のスポーンエッグの追加]]<br />
*[[1.7以降のIResourcePackの利用]]<br />
*[[1.7の独自レシピシステムの追加]]<br />
*[[1.7の属性値を動的変更できるアイテムの追加]]<br />
*[[1.7の独自Renderの追加]]<br />
*[[1.7でのインベントリ操作]]<br />
*[[1.7のForge式Config追加]]<br />
<br />
====チュートリアル上級====<br />
*[[前提MODの自動DLの仕方]]<br />
*[[インベントリを持つアイテムの追加]]<br />
<br />
;他サイトリンク<br />
*[https://goo.gl/5QbDjE defeatedcrow氏による1.7.10のMODの制作過程]<br />
<br />
===1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965===<br />
1.6からリソースパック方式の導入により、いくつかの項目で画像、音声、言語ファイル等の扱いが変更されました。<br><br />
また、MCP作者が1.6Modding環境としてForgeを推奨しています。<br><br />
<br />
====基本のチュートリアル====<br />
*[[1.6の開発環境の作り方]]<br />
*[[1.6の基本コーティング]]<br />
*[[1.6のテクスチャの指定]]<br />
*[[PotionEffectのチュートリアル]]<br />
<br />
====チュートリアル初級====<br />
*[[1.6のレシピ追加]]<br />
*[[1.6のブロック追加]]<br />
*[[1.6のアイテム追加]]<br />
**[[1.6のツール類追加]]<br />
***[[1.6のカスタムツール追加]]<br />
**[[1.6の食料追加]]<br />
**[[1.6の武器追加(剣)]]<br />
**[[1.6の防具追加]]<br />
*[[1.6のクリエイティブタブの追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.6のメタデータを持つアイテム・ブロック]]<br />
*[[1.6の骨粉処理]]<br />
*[[1.6の植物追加]]<br />
*[[1.6の流体追加]]<br />
**[[1.6の流体をバケツで扱う]]<br />
*[[鉱石辞書の利用|1.6の鉱石辞書の利用]]<br />
**[[1.6の鉱石辞書利用の実例]]<br />
*[[1.6のアニメーションアイテムの追加]]<br />
*[[カスタムレンダーを使用するブロックの追加]]<br />
*[[1.6のモデル付きカスタムツール追加]]<br />
*[[1.6のサウンドの追加]]<br />
*[[1.6のプレイヤーカスタムデータの追加]]<br />
<br />
====チュートリアル上級====<br />
*[[1.6のTileEntityの追加]]<br />
*[[パーティクルの追加]]<br />
*[[モンスタードロップの追加]]<br />
*[[構造物の追加]]<br />
*[[防具の特殊な処理]]<br />
*[[1.6の発射体Entityの追加]]<br />
<br />
====外部サイト====<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=12186 レシピの追加]<br />
<br />
===~1.5Modding===<br />
{{Warning}}サポートが打ち切られている、もしくは非常に古い情報を含みます<br />
→[[1.5以前のチュートリアル]]<br />
<br />
==Bukkit Pluginの作り方==<br />
Bukkitを前提としたサーバー用Moddingです。<br><br />
<!-- *[[Bukkit用MODの作成方法]] --><br />
*[[Plugin Tutorial]]<br />
*[[新しいEventSystemの使い方]]<br />
*[[新しいConfigurationの使い方]]<br />
*[[スケジューラのプログラミング]]<br />
*[[天候操作]]<br />
*[[スコアボードシステムの使い方]]<br />
*[[plugin.ymlの設定一覧]]<br />
<br />
==その他の前提mod==<br />
上記以外のmodを前提としたmodding。<br><br />
===Not Enough Items(NEI)===<br />
*[[NEIにて独自レシピを表示させる]]<br />
===LiteLoader rev317===<br />
*[[LiteLoader導入手順]]<br />
*[[LiteLoader/1.8のデバッグ画面へ情報を追加]]</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E4%B8%80%E8%A6%A7&diff=3726
チュートリアル一覧
2018-10-28T11:24:42Z
<p>ModderKina: </p>
<hr />
<div>※Moddingに関する質問は、[//forum.minecraftuser.jp/viewforum.php?f=39 非公式日本ユーザーフォーラム 質問:開発・制作関連]へ。<br />
<br />
{{TOC|limit=1}}<br />
==基礎知識・Tips==<br />
Moddingの基礎や、前提modに関わらないチュートリアルなど<br><br />
====外部参考サイト====<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=9494 ◆総合◆Modderのための雑談所]<br />
*[//forum.minecraftuser.jp/viewforum.php?f=21 MOD,プラグイン,その他ツール 開発関連]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3811 【技術共有】トピックを立てるまでもないライブラリとかコードとかの公開所]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3558 MOD制作小技紹介]<br />
<br />
*[//minecraft.gamepedia.com/Model Model.json]<br />
*[//minecraft.gamepedia.com/Sounds.json Sounds.json]<br />
*[//minecraft.gamepedia.com/Loot_table Loot_table.json]<br />
<br />
====Modding Tips====<br />
*[[Jarファイルへの署名方法]]<br />
*[[ローカライズについて]]<br />
*[[NBTについて]]<br />
*[[1.8のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
**[[1.7のサウンド追加]]<br />
*[[1.6のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7でjar形式のAPIを利用する方法]]<br />
*[[1.7でjar形式でないAPIを利用する方法]]<br />
<br />
====ライブラリの知識====<br />
*[[Gradle利用]]<br />
*[[Guava概要]]<br />
*[[ASM利用]]<br />
<br />
== Minecraft ==<br />
=== Data Pack ===<br />
[[DataPack概要]]<br />
[[DataPackによるレシピ追加]]<br />
=== Resource Pack ===<br />
[[ResourcePack概要]]<br />
<br />
==Minecraft Forge==<br />
===はじめに===<br />
※より詳しいことが知りたい人は、[[Minecraft Forge API]]へ。<br />
*[[MinecraftForge導入手順]]<br />
*[[mcmod.infoの設定]]<br />
*[[プロキシシステムについて]]<br />
*[[鉱石辞書の利用]]<br />
*[[Minecraft Forge Eventシステム概要|Eventシステム概要]]<br />
*[[Forge式Config利用]]<br />
*[[Capabilityシステム概要]]<br />
*[[Access Transformer利用]]<br />
*[[アノテーション一覧]]<br />
{| class="wikitable" style="text-align: center;"<br />
|+ チュートリアルの対応状況<br />
|-<br />
| colspan="9" style="text-align: left;"|<br />
{| class="wikitable"<br />
!colspan="2"|凡例<br />
|-<br />
|style="background-color: lightgreen;"| ✓<br />
| 記事作成済み<br />
|-<br />
|style="background-color: lightgreen;"| ○<br />
| 他のバージョンのものが利用可能である<br />
|-<br />
|style="background-color: mediumaquamarine;"| △<br />
| 他のバージョンのものが参考にできる(パッケージ、ネームテーブル等の変更で対応可能)<br />
|-<br />
|style="background-color: orangered;"| ☓<br />
| APIなどの変更があり他のものが参考にしがたい、もしくは他のバージョンのチュートリアルが存在しない<br />
|-<br />
|style="background-color: gray;"| &lowast;<br />
| 不可能である<br />
|-<br />
|style="background-color: sandybrown;"| ?<br />
| 未調査<br />
|}<br />
|-<br />
! scope="col"| 内容<br />
! scope="col"| [[#~1.5Modding|~1.5]]<br />
! scope="col"| [[#1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965|1.6.x]]<br />
! scope="col"| [[#1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)|1.7.x]]<br />
! scope="col"| [[#1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~|1.8.x]]<br />
! scope="col"| [[#1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~|1.9.x]]<br />
! scope="col"| [[#1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~|1.10.x]]<br />
! scope="col"| [[#1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~|1.11.x]]<br />
! scope="col"| [[#1.12Modding MinecraftForgeUniversal 14.21.0.2320~|1.12.x]]<br />
|-<br />
! scope="row"| レシピの追加<br />
|style="background-color: lightgreen;"| [[レシピの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のレシピ追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のレシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.12のレシピ追加|✓]]<br />
|-<br />
! scope="row"| 精錬レシピの追加<br />
|style="background-color: lightgreen;"| [[精錬レシピの追加|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7の精錬レシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| 醸造レシピの追加<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| クリエイティブタブの追加<br />
|style="background-color: lightgreen;"| [[CreativeTabの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のクリエイティブタブの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| アイテムの追加<br />
|style="background-color: lightgreen;"| [[無機能アイテムの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| ブロックの追加<br />
|style="background-color: lightgreen;"| [[無機能ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.10.2のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.11のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| ポーションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[PotionEffectのチュートリアル|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のポーション追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のポーション追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| エンチャントの追加<br />
|style="background-color: lightgreen;"| [[Enchantmentの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のエンチャント追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のエンチャント追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| バイオームの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| サウンドの追加<br />
|style="background-color: lightgreen;"| [[音の追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のサウンドの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 村人の追加<br />
|style="background-color: lightgreen;"| [[村人取引の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7の村人取引の追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.9の村人職業追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| コンフィグの作成<br />
|style="background-color: lightgreen;"| [[Forge式コンフィグファイルの利用|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のForge式Config追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| 実績(進捗)の追加<br />
|style="background-color: lightgreen;"| [[実績の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11の実績追加|✓]]<br />
|style="background-color: gray;"| [https://minecraft.gamepedia.com/Advancements#JSON_Format]<br />
|-<br />
! scope="row"| 鉱石の生成<br />
|style="background-color: lightgreen;"| [[追加鉱物をワールドに生成させる|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.8のOreGenEvent利用による鉱石生成|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| TileEntityの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.6のTileEntityの追加|✓]]<br />
|style="background-color: lightgreen;"| [[シンプルなTileEntityの追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| GUIの追加<br />
|style="background-color: lightgreen;"| [[GUIの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のGUI追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| 流体の追加<br />
|style="background-color: lightgreen;"| [[液体を追加する|✓]]<br />
|style="background-color: lightgreen;"| [[1.6の流体追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.8の液体ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| エンティティの追加<br />
|style="background-color: lightgreen;"| [[MOBを追加する|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.9のMOB追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| ディメンションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のディメンション追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.11のディメンション追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| WorldTypeの追加<br />
|style="background-color: lightgreen;"| [[WorldTypeの追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のWorldType追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|}<br />
===1.12Modding MinecraftForgeUniversal 14.21.0.2320~===<br />
====チュートリアル基礎====<br />
*[[1.11から1.12への変更点]]<br />
*[[1.12の基本コーディング]]<br />
*[[1.12のレシピ追加]]<br />
*[[1.12のアイテム追加]]<br />
*[[1.12のアイテム追加(旧式)]]<br />
*[[1.12のブロック追加(旧式)]]<br />
<br />
===1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~===<br />
====チュートリアル基礎====<br />
*[[1.10から1.11への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//minecraft.gamepedia.com/index.php?title=Model&oldid=1040633 1.11のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.11のレシピ追加]]<br />
*[[1.11の精錬レシピ追加]]<br />
*[[1.11の醸造レシピ追加]]<br />
*[[1.11のアイテム追加]]<br />
*[[1.11のブロック追加]]<br />
*[[1.11のクリエイティブタブ追加]]<br />
*[[1.11のサウンド追加]]<br />
*[[1.11のポーション追加]]<br />
*[[1.11のエンチャント追加]]<br />
*[[1.11の統計追加]]<br />
*[[1.11の実績追加]]<br />
*[[1.11のLootTable利用]]<br />
*[[1.11のWorldType追加]]<br />
*[[1.11のキー入力受け取り]]<br />
<br />
====チュートリアル中級====<br />
*[[1.11のEntity追加]]<br />
*[[1.11のTileEntity追加]]<br />
*[[1.11のディメンション追加]]<br />
*[[1.11のバイオーム追加]]<br />
*[[1.11の地形生成]]<br />
*[[1.11の構造物追加]]<br />
*[[1.11のパケット送受信]]<br />
*[[1.11のHUD追加]]<br />
*[[1.11のGUI追加]]<br />
**[[1.11のインベントリ付きGUI追加]]<br />
<br />
===1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~===<br />
<br />
====チュートリアル初級====<br />
*[[1.10.2のブロック追加]]<br />
<br />
===1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~===<br />
*[[1.8から1.9への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//goo.gl/FCIlNJ 1.9のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.9のブロック追加]]<br />
**[[1.9のForge式Json利用]]([//mcforge.readthedocs.org/en/latest/blockstates/forgeBlockstates/ ForgeDoc])<br />
*[[1.9のアイテム追加]]<br />
*[[1.9のポーション追加]]<br />
*[[1.9のエンチャント追加]]<br />
*[[1.9のバイオーム追加]]<br />
*[[1.9の村人職業追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.9のMOB追加]]<br />
====チュートリアル上級====<br />
<br />
===1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~===<br />
*[[1.7から1.8への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[[1.8のバニラJsonの仕様]]<br />
*[[1.8のブロック追加]]<br />
**[[1.8のブロックで部分的に色を変える方法]]<br />
**[[1.8のB3Dモデル利用ブロック追加]]<br />
**[[1.8のOBJモデル利用ブロック追加]]<br />
*[[1.8のアイテム追加]]<br />
**[[1.8のアイテムで部分的に色を変える方法]]<br />
*[[1.8のOreGenEvent利用による鉱石生成]]<br />
*[[1.8のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.8のプレイヤーカスタムデータの追加]]<br />
*[[1.8のIRecipe利用によるレシピ追加]]<br />
*[[1.8の液体ブロックの追加]]<br />
*[[1.8のICustomModelLoader利用]]<br />
<br />
====チュートリアル上級====<br />
<br />
====他サイトリンク====<br />
*[http://www.nicovideo.jp/mylist/49688372 reine氏による1.8の開発記録動画]<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=9220 【Forgeチュートリアル】クラフトで耐久値が減るアイテムの作り方1.2.5~1.8 ソース付属 ]<br />
<br />
===1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)===<br />
*[[1.6から1.7への変更点]]<br />
*[[1.7の基本コーディング]]<br />
*[[1.7のInterModComms利用]]<br />
<br />
====チュートリアル初級====<br />
*[[1.7のレシピ追加]]<br />
*[[1.7の精錬レシピ追加]]<br />
*[[1.7のブロック追加]]<br />
*[[1.7のアイテム追加]]<br />
**[[1.7のアイテムに初期状態でエンチャント等NBTデータを付ける方法]]<br />
**[[1.7の武器追加(剣)]]<br />
**[[1.7の防具追加]]<br />
**[[1.7のアイテムで部分的に色を変える方法]]<br />
**[[1.7のアイテムのツールチップに情報を表示させる方法]]<br />
**[[1.7のアイテムの表示名を変更する方法]]<br />
*[[1.7のGUI追加]]<br />
*[[1.7のディスペンサーModding]]<br />
*[[1.7のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[DataWatcherを用いたエンティティの同期]]<br />
*[[1.7のパケットについて]]<br />
**[[1.7のキーボードイベント追加]]<br />
*[[1.7のプレイヤーカスタムデータの追加]]<br />
*[[Forge 10.12.1.1074以降でのクライアント/サーバMOD]]<br />
*[[逆さまの木の追加]]<br />
*[[シンプルなTileEntityの追加]]<br />
**[[1.7の液体タンクを持つTileEntityの追加]]<br />
*[[シフトクリック時の処理]]<br />
*[[1.7の村人取引の追加]]<br />
*[[1.7のディメンション追加]]<br />
*[[MOBの追加]]<br />
*[[独自のスポーンエッグの追加]]<br />
*[[1.7以降のIResourcePackの利用]]<br />
*[[1.7の独自レシピシステムの追加]]<br />
*[[1.7の属性値を動的変更できるアイテムの追加]]<br />
*[[1.7の独自Renderの追加]]<br />
*[[1.7でのインベントリ操作]]<br />
*[[1.7のForge式Config追加]]<br />
<br />
====チュートリアル上級====<br />
*[[前提MODの自動DLの仕方]]<br />
*[[インベントリを持つアイテムの追加]]<br />
<br />
;他サイトリンク<br />
*[https://goo.gl/5QbDjE defeatedcrow氏による1.7.10のMODの制作過程]<br />
<br />
===1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965===<br />
1.6からリソースパック方式の導入により、いくつかの項目で画像、音声、言語ファイル等の扱いが変更されました。<br><br />
また、MCP作者が1.6Modding環境としてForgeを推奨しています。<br><br />
<br />
====基本のチュートリアル====<br />
*[[1.6の開発環境の作り方]]<br />
*[[1.6の基本コーティング]]<br />
*[[1.6のテクスチャの指定]]<br />
*[[PotionEffectのチュートリアル]]<br />
<br />
====チュートリアル初級====<br />
*[[1.6のレシピ追加]]<br />
*[[1.6のブロック追加]]<br />
*[[1.6のアイテム追加]]<br />
**[[1.6のツール類追加]]<br />
***[[1.6のカスタムツール追加]]<br />
**[[1.6の食料追加]]<br />
**[[1.6の武器追加(剣)]]<br />
**[[1.6の防具追加]]<br />
*[[1.6のクリエイティブタブの追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.6のメタデータを持つアイテム・ブロック]]<br />
*[[1.6の骨粉処理]]<br />
*[[1.6の植物追加]]<br />
*[[1.6の流体追加]]<br />
**[[1.6の流体をバケツで扱う]]<br />
*[[鉱石辞書の利用|1.6の鉱石辞書の利用]]<br />
**[[1.6の鉱石辞書利用の実例]]<br />
*[[1.6のアニメーションアイテムの追加]]<br />
*[[カスタムレンダーを使用するブロックの追加]]<br />
*[[1.6のモデル付きカスタムツール追加]]<br />
*[[1.6のサウンドの追加]]<br />
*[[1.6のプレイヤーカスタムデータの追加]]<br />
<br />
====チュートリアル上級====<br />
*[[1.6のTileEntityの追加]]<br />
*[[パーティクルの追加]]<br />
*[[モンスタードロップの追加]]<br />
*[[構造物の追加]]<br />
*[[防具の特殊な処理]]<br />
*[[1.6の発射体Entityの追加]]<br />
<br />
====外部サイト====<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=12186 レシピの追加]<br />
<br />
===~1.5Modding===<br />
{{Warning}}サポートが打ち切られている、もしくは非常に古い情報を含みます<br />
→[[1.5以前のチュートリアル]]<br />
<br />
==Bukkit Pluginの作り方==<br />
Bukkitを前提としたサーバー用Moddingです。<br><br />
<!-- *[[Bukkit用MODの作成方法]] --><br />
*[[Plugin Tutorial]]<br />
*[[新しいEventSystemの使い方]]<br />
*[[新しいConfigurationの使い方]]<br />
*[[スケジューラのプログラミング]]<br />
*[[天候操作]]<br />
*[[スコアボードシステムの使い方]]<br />
*[[plugin.ymlの設定一覧]]<br />
<br />
==その他の前提mod==<br />
上記以外のmodを前提としたmodding。<br><br />
===Not Enough Items(NEI)===<br />
*[[NEIにて独自レシピを表示させる]]<br />
===LiteLoader rev317===<br />
*[[LiteLoader導入手順]]<br />
*[[LiteLoader/1.8のデバッグ画面へ情報を追加]]</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=1.12%E3%81%8B%E3%82%891.13%E3%81%B8%E3%81%AE%E5%A4%89%E6%9B%B4%E7%82%B9&diff=3725
1.12から1.13への変更点
2018-10-16T18:49:11Z
<p>ModderKina: </p>
<hr />
<div>== Minecraft本体 ==<br />
=== [https://minecraft-ja.gamepedia.com/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%91%E3%83%83%E3%82%AF データパック] ===<br />
ついにデータパックが正式実装。<br><br />
1.12では不完全でまともに機能してなかったはずだが、いよいよ使えるものになったぞ。<br><br />
ただ、ディレクトリ階層とかそのへんはちょっと変更されたので注意。<br />
<br />
=== BlockID、ItemIDの平坦化 ===<br />
要は、metaだとかdamageだとか言われていたものが削除された。<br><br />
羊毛は色それぞれが別ブロックとなり、ツールのダメージはNBTに保存されるようになった。<br><br />
Stateの上限もなくなっているので、ある程度自由になったと言えるかも。<br><br />
<s>IDの無限化はまだ[https://github.com/MinecraftForge/MinecraftForge/issues/5135 夢幻]。</s> <u>無事1.13.2で解決</u><br />
<br />
=== 水、溶岩の挙動に手が入った ===<br />
水源を特定のブロックが保持できるようになった。<br><br />
インターフェースによる処理なので、Modであっても実装は容易だろう。<br><br />
水の流れに関する複雑な処理は<code>Block</code>ではなく<code>Fluid</code>(1.13にて追加)が担うようだ。<br><br />
実装だけ読んだ限りだと、溶岩を保持するのも可能……っぽい[https://twitter.com/Dinnerbone/status/988386661661925377 ?]<br />
<br />
=== タグの概念 ===<br />
バニラでは、<code>Block</code>と<code>Item</code>と<code>Fluid</code>に用いられている模様。<br><br />
レシピの材料判定とかそういう感じのところで包括的に扱うための仕組みっぽい。<br><br />
Jsonで自由にいじることができる。要はJson版鉱石辞書。<br><br />
空気を水扱いにして泳げるようにした実験的データパックとか見た気がする。<br />
<br />
=== 精錬レシピがJson化された ===<br />
同時に精錬レシピが<code>IRecipe</code>傘下入り。<br><br />
まぁある意味では扱いやすくなったとも言えるかも……?<br />
<br />
=== <code>Item</code>、<code>Block</code>のコンストラクタの変更 ===<br />
ビルダーパターンが採用され、setHardnessとか言ったプロパティ的なものは初期化時に全部指定して固定化されるようになった。<br />
<br />
=== <code>IItemProvider</code> ===<br />
<code>Block</code>と<code>Item</code>を一緒くたに扱えるようになった。<br><br />
色んな所でいちいち<code>ItemStack</code>にしなきゃいけなくてめんどくさかったのが解消する。<br />
<br />
=== コマンドの実装が一新された ===<br />
構文解析のためにいろいろやってる。<br />
<br />
=== ツールのTierがインターフェースで管理されるようになった ===<br />
前まではいろいろ分散したりしていたのが、インターフェースにまとめられた。<br />
<br />
=== BlockstateのPropertyが共通化された ===<br />
これまでは同じ内容を表すものであっても個別に宣言されていたが、統一された。<br><br />
ある程度包括的にブロックを扱えるようになった。<br />
<br />
=== <code>VoxelShape</code> ===<br />
当たり判定は前まで<code>AxisAlignedBB</code>のリストで扱われていたが、<code>VoxelShape</code>を使うようになった。<br />
<br />
=== リソースパック ver.4 ===<br />
==== Jsonモデル ====<br />
パスの省略部分が変更された。<br><br />
ある程度一括で置換できる部分なのでそう影響はないはず……。<br />
<br />
== MinecraftForge ==<br />
9/30現在。<br><br />
大体方向性ははっきりしているだろうというところに絞っているが、まだまだ変更が見込まれる部分なので実際のコードを見てほしい。<br />
<br />
=== Modの認識方法の変更 ===<br />
META-INF/mods.tomlとかいうのでこれまでModアノテーションでやってきたことの大半をやるっぽい。<br><br />
ModアノテーションはエントリクラスをFMLに示すための純粋なマーカーとなるようだ。<br><br />
CoremodもJSから認識するようになるらしい?<br />
<br />
=== GuiFactory ===<br />
Modアノテーションが変わったので当然こっちのやり方も変わった。<br />
<br />
=== EventHandlerアノテーションが非推奨に ===<br />
メソッド参照を使うなりして自分でFunctionを登録しろやって事っぽい。<br><br />
蔵鯖関係の配慮なのかな?多分そうだと思う。<br />
<br />
=== <code>GameRegistry</code> ===<br />
なんかスッキリしてる。(findRegistryというメソッド一つになってる)<br><br />
WIPなのか、もうEvent/Json使ってくれやってことなのかは不明。<br />
<br />
=== Forge Service Provider Interfaces ===<br />
<code>Side</code>が<code>Dist</code>というものに変わった。<br />
<br />
==== <code>OnlyIn</code>アノテーション ====<br />
<code>SideOnly</code>アノテーションの代わり。<br />
<br />
==== <code>DistExecutor</code> ====<br />
<code>SidedProxy</code>の代わり?<br><br />
まぁそうでなかったとしても、なんかいちいちロジカルサイド判定して三項演算子でバーンとかはする必要がなくなった。<br />
<br />
=== <code>OreDictionary</code> ===<br />
ほとんどの機能がタグに移行した。<br><br />
というか、現時点では全範囲がコメントアウトされている。</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=Coremods%E3%81%AE%E5%9F%BA%E7%A4%8E&diff=3724
Coremodsの基礎
2018-10-16T18:44:40Z
<p>ModderKina: </p>
<hr />
<div>{{前提MOD|reqmod="ForgeModLoader"}}<br />
<br />
ここでは、coremodsフォルダに入れるタイプのmod作成方法を紹介します。<br />
<br />
==概要==<br />
<br />
===Coremodとは===<br />
通常 Minecraft.jar 内に上書きが必要な変更を施すような 前提MOD(API系)や既存書き換え系MODなどを、coremods フォルダに入れるだけでインストールできるようにする、FMLの機能です。<br />
<br />
ただし、既存書き換えのMODをそのまま coremod にすることは出来ません。<br />
Mod作者自身が coremod として作成する必要があります。<br />
<br />
===仕組み===<br />
FMLでは、Minecraftが起動した直後に処理を割り込ませ、現在のスレッドの ContextClassLoader に、net.minecraft.launchwrapper.LaunchClassLoader を設定しています。このクラスローダーでは、クラスロード時にバイトコードのクラスを編集するポイントが設けられており、Minecraftが実行中に読み込む殆どのクラス(※)を、ロード時に動的に改変する事が可能となっています。<br />
<br />
※全てのクラスの変換が行えるわけではありません。IClassTransformer を通さないよう、変換対象から除外登録されている一部のパッケージ以下のクラスは、本来のクラスローダーであるシステムクラスローダーによりロードされてしまうため、動的な変換処理を行えません。またプラグイン側で TransformerExclusions アノテーションを用い除外設定されているパッケージやクラスも変換対象外となります。<br />
<br />
詳細は RelaunchClassLoader の実装を確認するか、実際に試してみて判断ください。また、クラスローダーそのものの仕組みについては、Web検索で多くの情報を得る事が出来ますのでここでは割愛します。<br />
<br />
当チュートリアルでは、主にこのクラス変換機能の実装方法を解説します。<br />
<br />
この機能を用いることで、Minecraftの実行中に、初めてクラスがロードされた際に、クラスのバイトコードを置換、または部分的に書き換える事ができるようになります。動的に書き換えるため、Minecraft.jar 内(※Coremod部分以外のFMLコードも含む)および、mods 内の zip 等のClassファイルを、直接上書きして変更することなく改変することを可能とします。<br />
<br />
====動的なクラス書き換えって、重くないの?====<br />
クラスのロードは、基本的に最初にクラスの参照が要求された際に、1回だけ行われます。一度ロードされたクラスは、通常どおりコンパイルされたclassファイルとなんら違いはありません。<br />
<br />
つまり、施した改変内容以上のパフォーマンスへの影響は、ほぼ無いと考えて差し支えありません。<br />
<br />
===ASMライブラリ===<br />
ASMライブラリとは、クラスのバイトコードに対し、動的に変更を施すことできるバイトコード操作ライブラリのことです。<br />
<br />
FMLにバンドルされているので、別途ライブラリを添付することなく、FMLをインストールするだけで利用が可能です。<br />
<br />
本チュートリアルでは、最低限の機能のみの実装のみを紹介するため、ASMライブラリ等の使い方については別途検索ください。<br />
<br />
==実装==<br />
<br />
今回作成するソースファイルは以下になります。<br />
<br />
;tutorial/asm/TutorialCorePlugin.java<br />
:coremods読み込みの基点となります。<br />
<br />
;tutorial/asm/TutorialModContainer.java<br />
:ModLoaderにおけるmod_XX.classのバージョン情報等のみを格納するものです。<br />
:FMLでは情報を格納するのにアノテーションや mcmod.info ファイルを使うこともできます<br />
:しかし、Coremodは読み込み方法が異なるので記載も別となっています。<br />
<br />
;tutorial/asm/TutorialTransformer.java<br />
:Classの改変機能を実装します。<br />
<br />
;META-INF/MANIFEST.MF<br />
:ソースファイルではありませんが、FMLがcoremodである事を認識するのに必要です。<br />
<br />
※改変を施す部分のコードは、仮実装でありそのままでは動きません。<br />
ソースコメントを参照し、必要な実装を施して書き換えましょう。<br />
<br />
===TutorialCorePluginクラス作成===<br />
<br />
# 任意の名前のクラス(ここではTutorialCorePlugin)を作成します。<br />
# IFMLLoadingPlugin、<strike>IFMLCallHook</strike> を実装します。<br />
<br />
net.minecraftforge.fml.relauncher.IFMLLoadingPlugin は、このクラス自体に実装する必要はありません。<br />
getSetupClass() メソッドで返される名前のクラスが、IFMLCallHookを実装している必要があります。<br />
なお、本チュートリアルでは、コールフックを使用していないため、getSetupClass()メソッドの戻り値は null としています。 <br />
<br />
<source lang="java"><br />
// パッケージは、クラス(ファイル名)の衝突を回避するために、汎用的ではないユニークなパッケージ名を使用しましょう。<br />
// 例) 作者名、ドメイン など (一意性のあるものが好ましい)<br />
// <br />
// ここでは便宜上 tutorial.asm パッケージとしています。<br />
// asm は ASM機能を使うクラスを配置する場合の慣例ですが、解りやすくする以外の意味はなく、必ずこうしないといけないわけではありません。<br />
package tutorial.asm;<br />
<br />
import java.io.File;<br />
import java.util.Map;<br />
<br />
import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin;<br />
import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin.TransformerExclusions;<br />
<br />
// TransformerExclusions: Transformerから除外するクラス名を設定するためのアノテーション<br />
// <br />
// 値は文字列の配列で、複数指定も可能です。<br />
// 指定した文字列と前方一致するクラス名は、後述のクラスの動的な変換処理から除外されます。<br />
// 例えば、自身のクラスが変換されないように、自身のパッケージ以下を除外指定する、などが出来ます。<br />
// 必須ではありません。必要に応じて設定してください。<br />
// 本チュートリアルでは、参考として自身のパッケージを変換処理から除外しています。<br />
// <br />
// IFMLLoadingPlugin: Coremods としてロードするために必要なインタフェース<br />
<br />
@TransformerExclusions({"tutorial.asm"})<br />
public class TutorialCorePlugin implements IFMLLoadingPlugin<br />
{<br />
// coremod の jar ファイルのパス抽象表現を保持します。<br />
// Transformer 以外から呼ばれることは考慮しないため、デフォルトのアクセス指定子としています。<br />
<br />
static File location;<br />
<br />
// このプラグインが動作するために必要となるライブラリセットのクラス名の配列です。<br />
// 本チュートリアルでは使用しないため説明は割愛します。<br />
// インターフェイスの javadocや、FMLCorePlugin クラスの実装を参照してみてください。<br />
<br />
@Override<br />
public String[] getLibraryRequestClass()<br />
{<br />
return null;<br />
}<br />
<br />
// Class の改変機能を実装したクラスの完全修飾名の配列を返します。<br />
// 本チュートリアルの変換処理クラスは TutorialTransformer のみなので、一つだけを配列に詰め返却しています。<br />
<br />
@Override<br />
public String[] getASMTransformerClass()<br />
{<br />
return new String[]{"tutorial.asm.TutorialTransformer"};<br />
}<br />
<br />
// coremod の名前やバージョン情報を格納しているクラスの完全修飾名を返します。<br />
<br />
@Override<br />
public String getModContainerClass()<br />
{<br />
return "tutorial.asm.TutorialModContainer";<br />
}<br />
<br />
// IFMLCallHook を実装しているクラス名を返す必要があります。<br />
// 本チュートリアルでは、コールフックを用いないため、こちらの説明も割愛します。<br />
<br />
@Override<br />
public String getSetupClass()<br />
{<br />
return null;<br />
}<br />
<br />
// IFMLLoadingPlugin のメソッドです。(IFMLCallHook にも同じシグネチャーのメソッドがありますが、違います)<br />
// 今回は coremod 自身の jar ファイルパスを取得しています。これは後述のトランスフォーマークラスで、<br />
// jarから置換用クラスを取得しているためで、そのような処理を行わないのであれば何も実装しなくても構いません。<br />
// <br />
// なお、IFMLLoadingPlugin のメソッドとして呼ばれた際は、"mcLocation"、"coremodList"、"coremodLocation" の3つ、<br />
// IFMLCallHook のメソッドとして呼ばれた際は、"classLoader" がマップに設定されています。(FML#511現在)<br />
// <br />
// 渡されるマップの中身は、net.minecraftforge.fml.relauncher.RelaunchLibraryManager の実装からも確認する事が出来ます。<br />
<br />
@Override<br />
public void injectData(Map<String, Object> data)<br />
{<br />
if (data.containsKey("coremodLocation"))<br />
{<br />
location = (File) data.get("coremodLocation");<br />
}<br />
}<br />
}<br />
</source><br />
<br />
===TutorialModContainerクラス作成===<br />
<br />
# 任意の名前のクラス(ここではTutorialModContainer)を作成します。<br />
# ModContainer を実装します。<br />
<br />
Coremod 用のModでは、通常の mod読み込み処理より前にModContainerが要求されるため、MetaDataアノテーションや、mcmod.infoなど、MODのメタデータ設定処理を利用できません。<br />
<br />
そのため、別の形式で記載することが必要になっています。<br />
<br />
ID、名前、バージョン情報を変更できれば良いため、ここでは DummyModContainer クラスを継承して作成しています。<br />
<br />
<source lang="java"><br />
package tutorial.asm;<br />
<br />
import java.util.Arrays;<br />
import java.util.List;<br />
<br />
import com.google.common.eventbus.EventBus;<br />
import com.google.common.eventbus.Subscribe;<br />
<br />
import net.minecraftforge.fml.common.DummyModContainer;<br />
import net.minecraftforge.fml.common.LoadController;<br />
import net.minecraftforge.fml.common.ModMetadata;<br />
import net.minecraftforge.fml.common.event.FMLInitializationEvent;<br />
import net.minecraftforge.fml.common.versioning.ArtifactVersion;<br />
<br />
// 必ずしも DummyModContainer を継承している必要はありません。<br />
// net.minecraftforge.fml.common.ModContainer さえ実装していれば、どんなクラスでも構いません。<br />
<br />
public class TutorialModContainer extends DummyModContainer<br />
{<br />
public TutorialModContainer()<br />
{<br />
super(new ModMetadata());<br />
<br />
// 他のModと区別するための一意なIDやmodの名前など、MODのメタデータを設定します。<br />
ModMetadata meta = getMetadata();<br />
<br />
meta.modId = "transformertutorial";<br />
meta.name = "TransformerTutorial";<br />
meta.version = "1.0.0";<br />
meta.authorList = Arrays.asList("Author");<br />
meta.description = "";<br />
meta.url = "";<br />
meta.credits = "";<br />
this.setEnabledState(true);<br />
}<br />
@Override<br />
public boolean registerBus(EventBus bus, LoadController controller)<br />
{<br />
bus.register(this);<br />
return true;<br />
}<br />
}<br />
</source><br />
<br />
===TutorialTransformerクラス作成===<br />
<br />
# 任意の名前のクラス(ここではTutorialTransformer)を作成します。<br />
# IClassTransformer インタフェースを実装します。<br />
<br />
<source lang="java"><br />
package tutorial.asm;<br />
<br />
import java.io.IOException;<br />
import java.io.InputStream;<br />
import java.util.List;<br />
import java.util.zip.ZipEntry;<br />
import java.util.zip.ZipFile;<br />
<br />
<br />
import net.minecraftforge.fml.relauncher.FMLRelauncher;<br />
import net.minecraftforge.fml.relauncher.IClassTransformer;<br />
<br />
public class TutorialTransformer implements IClassTransformer<br />
{<br />
// 改変対象のクラスの完全修飾名です。<br />
// 後述でMinecraft.jar内の難読化されるファイルを対象とする場合の簡易な取得方法を紹介します。<br />
private static final String TARGET_CLASS_NAME = "net.minecraft.src.TargetClass";<br />
<br />
// クラスがロードされる際に呼び出されるメソッドです。<br />
public byte[] transform(final String name, final String transformedName, byte[] baseClass) {<br />
<br />
// FMLRelauncher.side() : Client/Server どちらか一方のを対象とする場合や、<br />
// 一つのMODで Client/Sever 両方に対応したMODで、この値を判定して処理を変える事ができます。<br />
// 今回は"CLIENT"と比較し、Client側のファイルを対象としている例です。<br />
// Client側専用のMODとして公開するのであれば、判定は必須ではありません。<br />
<br />
// name : 現在ロードされようとしているクラス名が格納されています。<br />
if (/*!FMLRelauncher.side().equals("CLIENT") || */!transformedName.equals(TARGET_CLASS_NAME))<br />
{<br />
// 処理対象外なので何もしない<br />
return bytes;<br />
}<br />
<br />
try<br />
{<br />
// bytesに元のクラスの生情報が入っているので、ASMなどで処理し返す。<br />
return doSomething(bytes);<br />
}<br />
catch (Exception e)<br />
{<br />
throw new RuntimeException("failed : TutorialTransformer loading", e);<br />
}<br />
}<br />
}<br />
</source><br />
<br />
※1 詳しくは[http://asm.ow2.org/doc/faq.html#Q7 ここ]を参照<br />
<br />
===META-INF/MANIFEST.MFファイルの作成===<br />
<br />
# META-INF/MANIFEST.MFファイルを作成します。<br />
# FMLCorePlugin節にTutorialCorePlugin の完全修飾クラスの名(パッケージ名を含む名前)を指定します。<br />
<source lang="java"><br />
Manifest-Version: 1.0<br />
FMLCorePlugin: tutorial.asm.TutorialCorePlugin<br />
</source><br />
<br />
上記の場合、jarに通常のFML(@Mod)クラスやmcmod.infoを含めてもロードされません。<br />
通常のFMLクラスを含めたい場合はFMLCorePluginContainsFMLMod節を追加します。値はなんでもいいです。<br />
この場合、FMLでロードしたいクラス(@Modが付加されたクラス)はTransformerクラス(このチュートリアルではasm)等とpackageが異なる必要があります。<br />
<source lang="java"><br />
FMLCorePluginContainsFMLMod: *<br />
</source><br />
<br />
==jarパッケージへのまとめ方==<br />
前述で作成したclassをjar形式にまとめます。<br /><br />
coremods用のmodではjar形式でなければ読み込まれません。<br />
<br />
今回の例では下記のようなファイル構成となります。<br />
* tutorial.jar<br />
** META-INF<br />
*** MANIFEST.MF<br />
** tutorial<br />
*** asm<br />
**** TutorialCorePlugin.class<br />
**** TutorialModContainer.class<br />
**** TutorialTransformer.class<br />
** ModifiedTargetClass.class (丸ごと差し替える場合に用いるクラス(難読化済み))<br />
<br />
通常の mod のように、zip で圧縮し、拡張子を .zip から .jar に変更すれば完成です。<br />
<br />
※jarコマンドを用いて作成することも可能ですが、今回は割愛します。<br />
<br />
※1.8から<br />
*ワークスペース(Gradlew.batがあるフォルダ)<br />
** src<br />
*** main<br />
**** java<br />
***** tutorial<br />
******* asm<br />
******** TutorialCorePlugin.class<br />
******** TutorialModContainer.class<br />
******** TutorialTransformer.class<br />
**** resources<br />
***** ModifiedTargetClass.class (丸ごと差し替える場合に用いるクラス(難読化済み))<br />
ForgeGradleが勝手に1.7のようにやってくれます。<br />
<br />
==テスト、デバッグ方法について==<br />
<del>coremod 形式の mod は、Eclipse でのデバッグで動作させるのは手間がかかります。</del><br />
<del>機能の実装部分については、書き換え元のクラスを、直接改変して試したほうが簡単でしょう。</del><br />
<br />
<del>coremodとしての動作確認は、実際の動作環境へ放り込んで行ってください。</del><br />
<br />
通常 coremods フォルダーにある場合のみ coremod として読み込まれるため、作成した coremod にただクラスパスを通すだけでは読み込まれません。しかし、FMLには環境変数 fml.coreMods.load を用いた coremod の読み込み機能が用意されています。これを用いることで、任意のプラグインを coremod として読み込ませる事が可能です。<br />
<br />
なお、環境変数に指定するのは割と不便なので、JVM起動時の引数としてVMに環境変数を追加して指定するほうが便利です。<br />
<br />
やり方はとても簡単で、デバッグ実行する際のJVMの引数に、以下を追加します。<br />
<br />
<source lang="dos">-Dfml.coreMods.load=完全修飾クラス名CSV</source><br />
※-Dオプションについての詳細は検索してください。<br />
<br />
引数にはカンマ区切りで複数のクラス名を指定可能です。なお、両端トリムはされないため余計なスペースなどを含まないよう注意してください。(Ex: =com.example.mod.PluginAAA, com.example.mod.pluginBBB ; カンマの後にスペースを挟んでしまっている点が間違い。)<br />
<br />
またこの際、coremod のクラスのある場所へのクラスパスを追加するのも忘れないでください。<br />
<br />
* Eclipseでの設定手順(MCP付属のワークスペースを用いており、既にClientのデバッグ構成があるものとします)<br />
# デバッグの構成を開きます。<br />
# Clientのデバッグ構成を選択し、引数タブを選択します。<br />
# VM引数に、上記の引数を追加します。<br />
# 必要に応じてプラグインへのクラスパスを追加します。<br />
<br />
サーバーへのcoremod追加も手順は同じです。<br />
<br />
正しくcoremodとして読み込まれた場合、コンソールに<br />
<source lang="java">yyyy-MM-dd hh:mm:ss [INFO] [ForgeModLoader] Found a command line coremod : プラグインの完全修飾名</source><br />
が出力されます。(標準エラーを表示している場合)<br />
<br />
==難読化への対抗手段の解説==<br />
===Minecraft1.5.0以降===<br />
;改善された改変対象の比較検索方法<br />
:IClassTransformer.transformメソッドに引数"transformedName"が追加されました。<br />
:これは、易読化されたクラス名が渡されるため、開発時と同様のクラス名で比較することができるようになりました。<br />
<br />
:また、Method名やMethodDescについても同様に、易読化する手段が提供されています。<br />
:Method名の場合<br />
:FMLDeobfuscatingRemapper.INSTANCE.mapMethodName(class名,Method名,MethodDesc)<br />
:MethodDescの場合<br />
:FMLDeobfuscatingRemapper.INSTANCE.mapMethodDesc(MethodDesc)<br />
:※渡すのは、どちらも難読化されているもの 逆に難読化する方法については未調査です。<br />
<br />
;ASMライブラリを用いたクラスの部分改変への改善<br />
:開発環境と同様とまでは行きませんが、deobf済みのclass名、method名、methodDescを用いて追加しても動作するようになりました。<br />
:このため、Eclipse 等の ByteCodeOutline プラグインなどで得たコードをあるていどならば、ほぼそのまま利用できるようになりました。<br />
<br />
===Minecraft1.4.7まで===<br />
;準備<br />
: 改変したいClassを書き換える。<br />
: recompile > reobfuscate し、難読化後のクラスファイルを作成する。<br />
<br />
;クラスを丸ごと差し替える場合<br />
:reobfに出力されたクラスファイル名を見てTutorialTransformerを適宜書き換えましょう。<br />
<br />
:※置き変えてしまうので、同一のクラスを置き買えるものとは競合してしまいます。<br />
<br />
;ASMライブラリを用いたクラスの部分改変を行う場合<br />
:reobf/ に出力されたクラスファイルと、改変前のクラスファイルを、JBVD等の適当な ByteCodeViewer で開き、2つを比較して改変された部分を特定します。<br />
:それを元にASMのコードに置き変え、TutorialTransformer を適宜書き換えましょう。<br />
<br />
:サンプルのようなメソッドのフック処理程度であれば、Eclipse 等の ByteCodeOutline プラグインなどで、改変部分のコードを直接ASM形式のコードに変換し、:難読化される部分を書きかえる程度の修正で、そのまま使える場合もあります。<br />
<br />
:※ ByteCode操作の場合、同一クラスにに複数の改変を施すことができるため、競合させずにそれぞれの改変を施すこともできます。<br />
<br />
==雑記==<br />
メソッドコールの追加は今回の例のとおりですが<br /><br />
別な処理に置き変えるなど、Javaでできることはほぼなんでも出来ますが<br /><br />
ASMライブラリの使用方法を別途調べる必要があります。(記述時点で、日本語解説はあまり多くありません。)<br />
大まかな解説についてはこのWikiにも解説があります(→[[ASM利用]])。<br />
<br />
ASMライブラリの既知の不具合<br />
・関数外のstaticフィールドの初期化を行うコードがあるとClassWriterがNullPointerExceptionを引き起こします。<br />
<br />
こめ<br />
<br />
<comments /><br />
----<br />
* MANIFEST.MF 内の FMLCorePluginContainsFMLMod について追記しました。 --[[特別:投稿記録/118.22.179.98|118.22.179.98]] 2014年2月7日 (金) 08:58 (JST)<br />
----<br />
* 1.6 では FMLRelauncher.side() &gt;&gt; FMLLaunchHandler.side() と変更されているようです。パッケージもかなり移動しているようなので追記が必要かも知れません。 --[[特別:投稿記録/122.251.192.117|122.251.192.117]] 2013年7月8日 (月) 00:44 (JST)<br />
----<br />
* とてもいいチュートリアルなので、体裁などを修正させて頂きました。問題があるようでしたら差し戻してください。 --[[特別:投稿記録/219.125.180.254|219.125.180.254]] 2013年1月7日 (月) 22:24 (JST)<br />
[[Category:その他]]</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=Coremods%E3%81%AE%E5%9F%BA%E7%A4%8E&diff=3723
Coremodsの基礎
2018-10-16T18:42:42Z
<p>ModderKina: 不要な記述を削除、1.13でこの辺はガラッと変わるのでリファレンス用途に</p>
<hr />
<div>{{前提MOD|reqmod="ForgeModLoader"}}<br />
<br />
ここでは、coremodsフォルダに入れるタイプのmod作成方法を紹介します。<br />
<br />
==概要==<br />
<br />
===Coremodとは===<br />
通常 Minecraft.jar 内に上書きが必要な変更を施すような 前提MOD(API系)や既存書き換え系MODなどを、coremods フォルダに入れるだけでインストールできるようにする、FMLの機能です。<br />
<br />
ただし、既存書き換えのMODをそのまま coremod にすることは出来ません。<br />
Mod作者自身が coremod として作成する必要があります。<br />
<br />
===仕組み===<br />
FMLでは、Minecraftが起動した直後に処理を割り込ませ、現在のスレッドの ContextClassLoader に、net.minecraft.launchwrapper.LaunchClassLoader を設定しています。このクラスローダーでは、クラスロード時にバイトコードのクラスを編集するポイントが設けられており、Minecraftが実行中に読み込む殆どのクラス(※)を、ロード時に動的に改変する事が可能となっています。<br />
<br />
※全てのクラスの変換が行えるわけではありません。IClassTransformer を通さないよう、変換対象から除外登録されている一部のパッケージ以下のクラスは、本来のクラスローダーであるシステムクラスローダーによりロードされてしまうため、動的な変換処理を行えません。またプラグイン側で TransformerExclusions アノテーションを用い除外設定されているパッケージやクラスも変換対象外となります。<br />
<br />
詳細は RelaunchClassLoader の実装を確認するか、実際に試してみて判断ください。また、クラスローダーそのものの仕組みについては、Web検索で多くの情報を得る事が出来ますのでここでは割愛します。<br />
<br />
当チュートリアルでは、主にこのクラス変換機能の実装方法を解説します。<br />
<br />
この機能を用いることで、Minecraftの実行中に、初めてクラスがロードされた際に、クラスのバイトコードを置換、または部分的に書き換える事ができるようになります。動的に書き換えるため、Minecraft.jar 内(※Coremod部分以外のFMLコードも含む)および、mods 内の zip 等のClassファイルを、直接上書きして変更することなく改変することを可能とします。<br />
<br />
====動的なクラス書き換えって、重くないの?====<br />
クラスのロードは、基本的に最初にクラスの参照が要求された際に、1回だけ行われます。一度ロードされたクラスは、通常どおりコンパイルされたclassファイルとなんら違いはありません。<br />
<br />
つまり、施した改変内容以上のパフォーマンスへの影響は、ほぼ無いと考えて差し支えありません。<br />
<br />
===ASMライブラリ===<br />
ASMライブラリとは、クラスのバイトコードに対し、動的に変更を施すことできるバイトコード操作ライブラリのことです。<br />
<br />
FMLにバンドルされているので、別途ライブラリを添付することなく、FMLをインストールするだけで利用が可能です。<br />
<br />
本チュートリアルでは、最低限の機能のみの実装のみを紹介するため、ASMライブラリ等の使い方については別途検索ください。<br />
<br />
==実装==<br />
<br />
今回作成するソースファイルは以下になります。<br />
<br />
;tutorial/asm/TutorialCorePlugin.java<br />
:coremods読み込みの基点となります。<br />
<br />
;tutorial/asm/TutorialModContainer.java<br />
:ModLoaderにおけるmod_XX.classのバージョン情報等のみを格納するものです。<br />
:FMLでは情報を格納するのにアノテーションや mcmod.info ファイルを使うこともできます<br />
:しかし、Coremodは読み込み方法が異なるので記載も別となっています。<br />
<br />
;tutorial/asm/TutorialTransformer.java<br />
:Classの改変機能を実装します。<br />
<br />
;META-INF/MANIFEST.MF<br />
:ソースファイルではありませんが、FMLがcoremodである事を認識するのに必要です。<br />
<br />
※改変を施す部分のコードは、仮実装でありそのままでは動きません。<br />
ソースコメントを参照し、必要な実装を施して書き換えましょう。<br />
<br />
===TutorialCorePluginクラス作成===<br />
<br />
# 任意の名前のクラス(ここではTutorialCorePlugin)を作成します。<br />
# IFMLLoadingPlugin、<strike>IFMLCallHook</strike> を実装します。<br />
<br />
net.minecraftforge.fml.relauncher.IFMLLoadingPlugin は、このクラス自体に実装する必要はありません。<br />
getSetupClass() メソッドで返される名前のクラスが、IFMLCallHookを実装している必要があります。<br />
なお、本チュートリアルでは、コールフックを使用していないため、getSetupClass()メソッドの戻り値は null としています。 <br />
<br />
<source lang="java"><br />
// パッケージは、クラス(ファイル名)の衝突を回避するために、汎用的ではないユニークなパッケージ名を使用しましょう。<br />
// 例) 作者名、ドメイン など (一意性のあるものが好ましい)<br />
// <br />
// ここでは便宜上 tutorial.asm パッケージとしています。<br />
// asm は ASM機能を使うクラスを配置する場合の慣例ですが、解りやすくする以外の意味はなく、必ずこうしないといけないわけではありません。<br />
package tutorial.asm;<br />
<br />
import java.io.File;<br />
import java.util.Map;<br />
<br />
import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin;<br />
import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin.TransformerExclusions;<br />
<br />
// TransformerExclusions: Transformerから除外するクラス名を設定するためのアノテーション<br />
// <br />
// 値は文字列の配列で、複数指定も可能です。<br />
// 指定した文字列と前方一致するクラス名は、後述のクラスの動的な変換処理から除外されます。<br />
// 例えば、自身のクラスが変換されないように、自身のパッケージ以下を除外指定する、などが出来ます。<br />
// 必須ではありません。必要に応じて設定してください。<br />
// 本チュートリアルでは、参考として自身のパッケージを変換処理から除外しています。<br />
// <br />
// IFMLLoadingPlugin: Coremods としてロードするために必要なインタフェース<br />
<br />
@TransformerExclusions({"tutorial.asm"})<br />
public class TutorialCorePlugin implements IFMLLoadingPlugin<br />
{<br />
// coremod の jar ファイルのパス抽象表現を保持します。<br />
// Transformer 以外から呼ばれることは考慮しないため、デフォルトのアクセス指定子としています。<br />
<br />
static File location;<br />
<br />
// このプラグインが動作するために必要となるライブラリセットのクラス名の配列です。<br />
// 本チュートリアルでは使用しないため説明は割愛します。<br />
// インターフェイスの javadocや、FMLCorePlugin クラスの実装を参照してみてください。<br />
<br />
@Override<br />
public String[] getLibraryRequestClass()<br />
{<br />
return null;<br />
}<br />
<br />
// Class の改変機能を実装したクラスの完全修飾名の配列を返します。<br />
// 本チュートリアルの変換処理クラスは TutorialTransformer のみなので、一つだけを配列に詰め返却しています。<br />
<br />
@Override<br />
public String[] getASMTransformerClass()<br />
{<br />
return new String[]{"tutorial.asm.TutorialTransformer"};<br />
}<br />
<br />
// coremod の名前やバージョン情報を格納しているクラスの完全修飾名を返します。<br />
<br />
@Override<br />
public String getModContainerClass()<br />
{<br />
return "tutorial.asm.TutorialModContainer";<br />
}<br />
<br />
// IFMLCallHook を実装しているクラス名を返す必要があります。<br />
// 本チュートリアルでは、コールフックを用いないため、こちらの説明も割愛します。<br />
<br />
@Override<br />
public String getSetupClass()<br />
{<br />
return null;<br />
}<br />
<br />
// IFMLLoadingPlugin のメソッドです。(IFMLCallHook にも同じシグネチャーのメソッドがありますが、違います)<br />
// 今回は coremod 自身の jar ファイルパスを取得しています。これは後述のトランスフォーマークラスで、<br />
// jarから置換用クラスを取得しているためで、そのような処理を行わないのであれば何も実装しなくても構いません。<br />
// <br />
// なお、IFMLLoadingPlugin のメソッドとして呼ばれた際は、"mcLocation"、"coremodList"、"coremodLocation" の3つ、<br />
// IFMLCallHook のメソッドとして呼ばれた際は、"classLoader" がマップに設定されています。(FML#511現在)<br />
// <br />
// 渡されるマップの中身は、net.minecraftforge.fml.relauncher.RelaunchLibraryManager の実装からも確認する事が出来ます。<br />
<br />
@Override<br />
public void injectData(Map<String, Object> data)<br />
{<br />
if (data.containsKey("coremodLocation"))<br />
{<br />
location = (File) data.get("coremodLocation");<br />
}<br />
}<br />
}<br />
</source><br />
<br />
===TutorialModContainerクラス作成===<br />
<br />
# 任意の名前のクラス(ここではTutorialModContainer)を作成します。<br />
# ModContainer を実装します。<br />
<br />
Coremod 用のModでは、通常の mod読み込み処理より前にModContainerが要求されるため、MetaDataアノテーションや、mcmod.infoなど、MODのメタデータ設定処理を利用できません。<br />
<br />
そのため、別の形式で記載することが必要になっています。<br />
<br />
ID、名前、バージョン情報を変更できれば良いため、ここでは DummyModContainer クラスを継承して作成しています。<br />
<br />
'''1.12.2版'''<br />
<source lang="java"><br />
package tutorial.asm;<br />
<br />
import java.util.Arrays;<br />
import java.util.List;<br />
<br />
import com.google.common.eventbus.EventBus;<br />
import com.google.common.eventbus.Subscribe;<br />
<br />
import net.minecraftforge.fml.common.DummyModContainer;<br />
import net.minecraftforge.fml.common.LoadController;<br />
import net.minecraftforge.fml.common.ModMetadata;<br />
import net.minecraftforge.fml.common.event.FMLInitializationEvent;<br />
import net.minecraftforge.fml.common.versioning.ArtifactVersion;<br />
<br />
// 必ずしも DummyModContainer を継承している必要はありません。<br />
// net.minecraftforge.fml.common.ModContainer さえ実装していれば、どんなクラスでも構いません。<br />
<br />
public class TutorialModContainer extends DummyModContainer<br />
{<br />
public TutorialModContainer()<br />
{<br />
super(new ModMetadata());<br />
<br />
// 他のModと区別するための一意なIDやmodの名前など、MODのメタデータを設定します。<br />
ModMetadata meta = getMetadata();<br />
<br />
meta.modId = "transformertutorial";<br />
meta.name = "TransformerTutorial";<br />
meta.version = "1.0.0";<br />
meta.authorList = Arrays.asList("Author");<br />
meta.description = "";<br />
meta.url = "";<br />
meta.credits = "";<br />
this.setEnabledState(true);<br />
}<br />
@Override<br />
public boolean registerBus(EventBus bus, LoadController controller)<br />
{<br />
bus.register(this);<br />
return true;<br />
}<br />
}<br />
</source><br />
<br />
===TutorialTransformerクラス作成===<br />
<br />
# 任意の名前のクラス(ここではTutorialTransformer)を作成します。<br />
# IClassTransformer インタフェースを実装します。<br />
<br />
<source lang="java"><br />
package tutorial.asm;<br />
<br />
import java.io.IOException;<br />
import java.io.InputStream;<br />
import java.util.List;<br />
import java.util.zip.ZipEntry;<br />
import java.util.zip.ZipFile;<br />
<br />
<br />
import net.minecraftforge.fml.relauncher.FMLRelauncher;<br />
import net.minecraftforge.fml.relauncher.IClassTransformer;<br />
<br />
public class TutorialTransformer implements IClassTransformer<br />
{<br />
// 改変対象のクラスの完全修飾名です。<br />
// 後述でMinecraft.jar内の難読化されるファイルを対象とする場合の簡易な取得方法を紹介します。<br />
private static final String TARGET_CLASS_NAME = "net.minecraft.src.TargetClass";<br />
<br />
// クラスがロードされる際に呼び出されるメソッドです。<br />
public byte[] transform(final String name, final String transformedName, byte[] baseClass) {<br />
<br />
// FMLRelauncher.side() : Client/Server どちらか一方のを対象とする場合や、<br />
// 一つのMODで Client/Sever 両方に対応したMODで、この値を判定して処理を変える事ができます。<br />
// 今回は"CLIENT"と比較し、Client側のファイルを対象としている例です。<br />
// Client側専用のMODとして公開するのであれば、判定は必須ではありません。<br />
<br />
// name : 現在ロードされようとしているクラス名が格納されています。<br />
if (/*!FMLRelauncher.side().equals("CLIENT") || */!transformedName.equals(TARGET_CLASS_NAME))<br />
{<br />
// 処理対象外なので何もしない<br />
return bytes;<br />
}<br />
<br />
try<br />
{<br />
// bytesに元のクラスの生情報が入っているので、ASMなどで処理し返す。<br />
return doSomething(bytes);<br />
}<br />
catch (Exception e)<br />
{<br />
throw new RuntimeException("failed : TutorialTransformer loading", e);<br />
}<br />
}<br />
</source><br />
<br />
※1 詳しくは[http://asm.ow2.org/doc/faq.html#Q7 ここ]を参照<br />
<br />
===META-INF/MANIFEST.MFファイルの作成===<br />
<br />
# META-INF/MANIFEST.MFファイルを作成します。<br />
# FMLCorePlugin節にTutorialCorePlugin の完全修飾クラスの名(パッケージ名を含む名前)を指定します。<br />
<source lang="java"><br />
Manifest-Version: 1.0<br />
FMLCorePlugin: tutorial.asm.TutorialCorePlugin<br />
</source><br />
<br />
上記の場合、jarに通常のFML(@Mod)クラスやmcmod.infoを含めてもロードされません。<br />
通常のFMLクラスを含めたい場合はFMLCorePluginContainsFMLMod節を追加します。値はなんでもいいです。<br />
この場合、FMLでロードしたいクラス(@Modが付加されたクラス)はTransformerクラス(このチュートリアルではasm)等とpackageが異なる必要があります。<br />
<source lang="java"><br />
FMLCorePluginContainsFMLMod: *<br />
</source><br />
<br />
==jarパッケージへのまとめ方==<br />
前述で作成したclassをjar形式にまとめます。<br /><br />
coremods用のmodではjar形式でなければ読み込まれません。<br />
<br />
今回の例では下記のようなファイル構成となります。<br />
* tutorial.jar<br />
** META-INF<br />
*** MANIFEST.MF<br />
** tutorial<br />
*** asm<br />
**** TutorialCorePlugin.class<br />
**** TutorialModContainer.class<br />
**** TutorialTransformer.class<br />
** ModifiedTargetClass.class (丸ごと差し替える場合に用いるクラス(難読化済み))<br />
<br />
通常の mod のように、zip で圧縮し、拡張子を .zip から .jar に変更すれば完成です。<br />
<br />
※jarコマンドを用いて作成することも可能ですが、今回は割愛します。<br />
<br />
※1.8から<br />
*ワークスペース(Gradlew.batがあるフォルダ)<br />
** src<br />
*** main<br />
**** java<br />
***** tutorial<br />
******* asm<br />
******** TutorialCorePlugin.class<br />
******** TutorialModContainer.class<br />
******** TutorialTransformer.class<br />
**** resources<br />
***** ModifiedTargetClass.class (丸ごと差し替える場合に用いるクラス(難読化済み))<br />
ForgeGradleが勝手に1.7のようにやってくれます。<br />
<br />
==テスト、デバッグ方法について==<br />
<del>coremod 形式の mod は、Eclipse でのデバッグで動作させるのは手間がかかります。</del><br />
<del>機能の実装部分については、書き換え元のクラスを、直接改変して試したほうが簡単でしょう。</del><br />
<br />
<del>coremodとしての動作確認は、実際の動作環境へ放り込んで行ってください。</del><br />
<br />
通常 coremods フォルダーにある場合のみ coremod として読み込まれるため、作成した coremod にただクラスパスを通すだけでは読み込まれません。しかし、FMLには環境変数 fml.coreMods.load を用いた coremod の読み込み機能が用意されています。これを用いることで、任意のプラグインを coremod として読み込ませる事が可能です。<br />
<br />
なお、環境変数に指定するのは割と不便なので、JVM起動時の引数としてVMに環境変数を追加して指定するほうが便利です。<br />
<br />
やり方はとても簡単で、デバッグ実行する際のJVMの引数に、以下を追加します。<br />
<br />
<source lang="dos">-Dfml.coreMods.load=完全修飾クラス名CSV</source><br />
※-Dオプションについての詳細は検索してください。<br />
<br />
引数にはカンマ区切りで複数のクラス名を指定可能です。なお、両端トリムはされないため余計なスペースなどを含まないよう注意してください。(Ex: =com.example.mod.PluginAAA, com.example.mod.pluginBBB ; カンマの後にスペースを挟んでしまっている点が間違い。)<br />
<br />
またこの際、coremod のクラスのある場所へのクラスパスを追加するのも忘れないでください。<br />
<br />
* Eclipseでの設定手順(MCP付属のワークスペースを用いており、既にClientのデバッグ構成があるものとします)<br />
# デバッグの構成を開きます。<br />
# Clientのデバッグ構成を選択し、引数タブを選択します。<br />
# VM引数に、上記の引数を追加します。<br />
# 必要に応じてプラグインへのクラスパスを追加します。<br />
<br />
サーバーへのcoremod追加も手順は同じです。<br />
<br />
正しくcoremodとして読み込まれた場合、コンソールに<br />
<source lang="java">yyyy-MM-dd hh:mm:ss [INFO] [ForgeModLoader] Found a command line coremod : プラグインの完全修飾名</source><br />
が出力されます。(標準エラーを表示している場合)<br />
<br />
==難読化への対抗手段の解説==<br />
===Minecraft1.5.0以降===<br />
;改善された改変対象の比較検索方法<br />
:IClassTransformer.transformメソッドに引数"transformedName"が追加されました。<br />
:これは、易読化されたクラス名が渡されるため、開発時と同様のクラス名で比較することができるようになりました。<br />
<br />
:また、Method名やMethodDescについても同様に、易読化する手段が提供されています。<br />
:Method名の場合<br />
:FMLDeobfuscatingRemapper.INSTANCE.mapMethodName(class名,Method名,MethodDesc)<br />
:MethodDescの場合<br />
:FMLDeobfuscatingRemapper.INSTANCE.mapMethodDesc(MethodDesc)<br />
:※渡すのは、どちらも難読化されているもの 逆に難読化する方法については未調査です。<br />
<br />
;ASMライブラリを用いたクラスの部分改変への改善<br />
:開発環境と同様とまでは行きませんが、deobf済みのclass名、method名、methodDescを用いて追加しても動作するようになりました。<br />
:このため、Eclipse 等の ByteCodeOutline プラグインなどで得たコードをあるていどならば、ほぼそのまま利用できるようになりました。<br />
<br />
===Minecraft1.4.7まで===<br />
;準備<br />
: 改変したいClassを書き換える。<br />
: recompile > reobfuscate し、難読化後のクラスファイルを作成する。<br />
<br />
;クラスを丸ごと差し替える場合<br />
:reobfに出力されたクラスファイル名を見てTutorialTransformerを適宜書き換えましょう。<br />
<br />
:※置き変えてしまうので、同一のクラスを置き買えるものとは競合してしまいます。<br />
<br />
;ASMライブラリを用いたクラスの部分改変を行う場合<br />
:reobf/ に出力されたクラスファイルと、改変前のクラスファイルを、JBVD等の適当な ByteCodeViewer で開き、2つを比較して改変された部分を特定します。<br />
:それを元にASMのコードに置き変え、TutorialTransformer を適宜書き換えましょう。<br />
<br />
:サンプルのようなメソッドのフック処理程度であれば、Eclipse 等の ByteCodeOutline プラグインなどで、改変部分のコードを直接ASM形式のコードに変換し、:難読化される部分を書きかえる程度の修正で、そのまま使える場合もあります。<br />
<br />
:※ ByteCode操作の場合、同一クラスにに複数の改変を施すことができるため、競合させずにそれぞれの改変を施すこともできます。<br />
<br />
==雑記==<br />
メソッドコールの追加は今回の例のとおりですが<br /><br />
別な処理に置き変えるなど、Javaでできることはほぼなんでも出来ますが<br /><br />
ASMライブラリの使用方法を別途調べる必要があります。(記述時点で、日本語解説はあまり多くありません。)<br />
大まかな解説についてはこのWikiにも解説があります(→[[ASM利用]])。<br />
<br />
ASMライブラリの既知の不具合<br />
・関数外のstaticフィールドの初期化を行うコードがあるとClassWriterがNullPointerExceptionを引き起こします。<br />
<br />
こめ<br />
<br />
<comments /><br />
----<br />
* MANIFEST.MF 内の FMLCorePluginContainsFMLMod について追記しました。 --[[特別:投稿記録/118.22.179.98|118.22.179.98]] 2014年2月7日 (金) 08:58 (JST)<br />
----<br />
* 1.6 では FMLRelauncher.side() &gt;&gt; FMLLaunchHandler.side() と変更されているようです。パッケージもかなり移動しているようなので追記が必要かも知れません。 --[[特別:投稿記録/122.251.192.117|122.251.192.117]] 2013年7月8日 (月) 00:44 (JST)<br />
----<br />
* とてもいいチュートリアルなので、体裁などを修正させて頂きました。問題があるようでしたら差し戻してください。 --[[特別:投稿記録/219.125.180.254|219.125.180.254]] 2013年1月7日 (月) 22:24 (JST)<br />
[[Category:その他]]</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=1.12%E3%81%8B%E3%82%891.13%E3%81%B8%E3%81%AE%E5%A4%89%E6%9B%B4%E7%82%B9&diff=3711
1.12から1.13への変更点
2018-10-11T10:14:30Z
<p>ModderKina: </p>
<hr />
<div>== Minecraft本体 ==<br />
=== [https://minecraft-ja.gamepedia.com/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%91%E3%83%83%E3%82%AF データパック] ===<br />
ついにデータパックが正式実装。<br><br />
1.12では不完全でまともに機能してなかったはずだが、いよいよ使えるものになったぞ。<br><br />
ただ、ディレクトリ階層とかそのへんはちょっと変更されたので注意。<br />
<br />
=== BlockID、ItemIDの平坦化 ===<br />
要は、metaだとかdamageだとか言われていたものが削除された。<br><br />
羊毛は色それぞれが別ブロックとなり、ツールのダメージはNBTに保存されるようになった。<br><br />
Stateの上限もなくなっているので、ある程度自由になったと言えるかも。<br><br />
IDの無限化はまだ[https://github.com/MinecraftForge/MinecraftForge/issues/5135 夢幻]。<br />
<br />
=== 水、溶岩の挙動に手が入った ===<br />
水源を特定のブロックが保持できるようになった。<br><br />
インターフェースによる処理なので、Modであっても実装は容易だろう。<br><br />
水の流れに関する複雑な処理は<code>Block</code>ではなく<code>Fluid</code>(1.13にて追加)が担うようだ。<br><br />
実装だけ読んだ限りだと、溶岩を保持するのも可能……っぽい[https://twitter.com/Dinnerbone/status/988386661661925377 ?]<br />
<br />
=== タグの概念 ===<br />
バニラでは、<code>Block</code>と<code>Item</code>と<code>Fluid</code>に用いられている模様。<br><br />
レシピの材料判定とかそういう感じのところで包括的に扱うための仕組みっぽい。<br><br />
Jsonで自由にいじることができる。要はJson版鉱石辞書。<br><br />
空気を水扱いにして泳げるようにした実験的データパックとか見た気がする。<br />
<br />
=== 精錬レシピがJson化された ===<br />
同時に精錬レシピが<code>IRecipe</code>傘下入り。<br><br />
まぁある意味では扱いやすくなったとも言えるかも……?<br />
<br />
=== <code>Item</code>、<code>Block</code>のコンストラクタの変更 ===<br />
ビルダーパターンが採用され、setHardnessとか言ったプロパティ的なものは初期化時に全部指定して固定化されるようになった。<br />
<br />
=== <code>IItemProvider</code> ===<br />
<code>Block</code>と<code>Item</code>を一緒くたに扱えるようになった。<br><br />
色んな所でいちいち<code>ItemStack</code>にしなきゃいけなくてめんどくさかったのが解消する。<br />
<br />
=== コマンドの実装が一新された ===<br />
構文解析のためにいろいろやってる。<br />
<br />
=== ツールのTierがインターフェースで管理されるようになった ===<br />
前まではいろいろ分散したりしていたのが、インターフェースにまとめられた。<br />
<br />
=== BlockstateのPropertyが共通化された ===<br />
これまでは同じ内容を表すものであっても個別に宣言されていたが、統一された。<br><br />
ある程度包括的にブロックを扱えるようになった。<br />
<br />
=== <code>VoxelShape</code> ===<br />
当たり判定は前まで<code>AxisAlignedBB</code>のリストで扱われていたが、<code>VoxelShape</code>を使うようになった。<br />
<br />
=== リソースパック ver.4 ===<br />
==== Jsonモデル ====<br />
パスの省略部分が変更された。<br><br />
ある程度一括で置換できる部分なのでそう影響はないはず……。<br />
<br />
== MinecraftForge ==<br />
9/30現在。<br><br />
大体方向性ははっきりしているだろうというところに絞っているが、まだまだ変更が見込まれる部分なので実際のコードを見てほしい。<br />
<br />
=== Modの認識方法の変更 ===<br />
META-INF/mods.tomlとかいうのでこれまでModアノテーションでやってきたことの大半をやるっぽい。<br><br />
ModアノテーションはエントリクラスをFMLに示すための純粋なマーカーとなるようだ。<br><br />
CoremodもJSから認識するようになるらしい?<br />
<br />
=== GuiFactory ===<br />
Modアノテーションが変わったので当然こっちのやり方も変わった。<br />
<br />
=== EventHandlerアノテーションが非推奨に ===<br />
メソッド参照を使うなりして自分でFunctionを登録しろやって事っぽい。<br><br />
蔵鯖関係の配慮なのかな?多分そうだと思う。<br />
<br />
=== <code>GameRegistry</code> ===<br />
なんかスッキリしてる。(findRegistryというメソッド一つになってる)<br><br />
WIPなのか、もうEvent/Json使ってくれやってことなのかは不明。<br />
<br />
=== Forge Service Provider Interfaces ===<br />
<code>Side</code>が<code>Dist</code>というものに変わった。<br />
<br />
==== <code>OnlyIn</code>アノテーション ====<br />
<code>SideOnly</code>アノテーションの代わり。<br />
<br />
==== <code>DistExecutor</code> ====<br />
<code>SidedProxy</code>の代わり?<br><br />
まぁそうでなかったとしても、なんかいちいちロジカルサイド判定して三項演算子でバーンとかはする必要がなくなった。<br />
<br />
=== <code>OreDictionary</code> ===<br />
ほとんどの機能がタグに移行した。<br><br />
というか、現時点では全範囲がコメントアウトされている。</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=1.12%E3%81%8B%E3%82%891.13%E3%81%B8%E3%81%AE%E5%A4%89%E6%9B%B4%E7%82%B9&diff=3710
1.12から1.13への変更点
2018-10-10T21:59:32Z
<p>ModderKina: </p>
<hr />
<div>== Minecraft本体 ==<br />
=== [https://minecraft-ja.gamepedia.com/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%91%E3%83%83%E3%82%AF データパック] ===<br />
ついにデータパックが正式実装。<br><br />
1.12では不完全でまともに機能してなかったはずだが、いよいよ使えるものになったぞ。<br><br />
ただ、ディレクトリ階層とかそのへんはちょっと変更されたので注意。<br />
<br />
=== BlockID、ItemIDの平坦化 ===<br />
要は、metaだとかdamageだとか言われていたものが削除された。<br><br />
羊毛は色それぞれが別ブロックとなり、ツールのダメージはNBTに保存されるようになった。<br><br />
Stateの上限もなくなっているので、ある程度自由になったと言えるかも。<br><br />
IDの無限化はまだ[https://github.com/MinecraftForge/MinecraftForge/issues/5135 夢幻]。<br />
<br />
=== 水、溶岩の挙動に手が入った ===<br />
水源を特定のブロックが保持できるようになった。<br><br />
インターフェースによる処理なので、Modであっても実装は容易だろう。<br><br />
水の流れに関する複雑な処理は<code>Block</code>ではなく<code>Fluid</code>(1.13にて追加)が担うようだ。<br><br />
実装だけ読んだ限りだと、溶岩を保持するのも可能……っぽい?<br />
<br />
=== タグの概念 ===<br />
バニラでは、<code>Block</code>と<code>Item</code>と<code>Fluid</code>に用いられている模様。<br><br />
レシピの材料判定とかそういう感じのところで包括的に扱うための仕組みっぽい。<br><br />
Jsonで自由にいじることができる。要はJson版鉱石辞書。<br><br />
空気を水扱いにして泳げるようにした実験的データパックとか見た気がする。<br />
<br />
=== 精錬レシピがJson化された ===<br />
同時に精錬レシピが<code>IRecipe</code>傘下入り。<br><br />
まぁある意味では扱いやすくなったとも言えるかも……?<br />
<br />
=== <code>Item</code>、<code>Block</code>のコンストラクタの変更 ===<br />
ビルダーパターンが採用され、setHardnessとか言ったプロパティ的なものは初期化時に全部指定して固定化されるようになった。<br />
<br />
=== <code>IItemProvider</code> ===<br />
<code>Block</code>と<code>Item</code>を一緒くたに扱えるようになった。<br><br />
色んな所でいちいち<code>ItemStack</code>にしなきゃいけなくてめんどくさかったのが解消する。<br />
<br />
=== コマンドの実装が一新された ===<br />
構文解析のためにいろいろやってる。<br />
<br />
=== ツールのTierがインターフェースで管理されるようになった ===<br />
前まではいろいろ分散したりしていたのが、インターフェースにまとめられた。<br />
<br />
=== BlockstateのPropertyが共通化された ===<br />
これまでは同じ内容を表すものであっても個別に宣言されていたが、統一された。<br><br />
ある程度包括的にブロックを扱えるようになった。<br />
<br />
=== <code>VoxelShape</code> ===<br />
当たり判定は前まで<code>AxisAlignedBB</code>のリストで扱われていたが、<code>VoxelShape</code>を使うようになった。<br />
<br />
=== リソースパック ver.4 ===<br />
==== Jsonモデル ====<br />
パスの省略部分が変更された。<br><br />
ある程度一括で置換できる部分なのでそう影響はないはず……。<br />
<br />
== MinecraftForge ==<br />
9/30現在。<br><br />
大体方向性ははっきりしているだろうというところに絞っているが、まだまだ変更が見込まれる部分なので実際のコードを見てほしい。<br />
<br />
=== Modの認識方法の変更 ===<br />
META-INF/mods.tomlとかいうのでこれまでModアノテーションでやってきたことの大半をやるっぽい。<br><br />
ModアノテーションはエントリクラスをFMLに示すための純粋なマーカーとなるようだ。<br><br />
CoremodもJSから認識するようになるらしい?<br />
<br />
=== GuiFactory ===<br />
Modアノテーションが変わったので当然こっちのやり方も変わった。<br />
<br />
=== EventHandlerアノテーションが非推奨に ===<br />
メソッド参照を使うなりして自分でFunctionを登録しろやって事っぽい。<br><br />
蔵鯖関係の配慮なのかな?多分そうだと思う。<br />
<br />
=== <code>GameRegistry</code> ===<br />
なんかスッキリしてる。(findRegistryというメソッド一つになってる)<br><br />
WIPなのか、もうEvent/Json使ってくれやってことなのかは不明。<br />
<br />
=== Forge Service Provider Interfaces ===<br />
<code>Side</code>が<code>Dist</code>というものに変わった。<br />
<br />
==== <code>OnlyIn</code>アノテーション ====<br />
<code>SideOnly</code>アノテーションの代わり。<br />
<br />
==== <code>DistExecutor</code> ====<br />
<code>SidedProxy</code>の代わり?<br><br />
まぁそうでなかったとしても、なんかいちいちロジカルサイド判定して三項演算子でバーンとかはする必要がなくなった。<br />
<br />
=== <code>OreDictionary</code> ===<br />
ほとんどの機能がタグに移行した。<br><br />
というか、現時点では全範囲がコメントアウトされている。</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=1.12%E3%81%8B%E3%82%891.13%E3%81%B8%E3%81%AE%E5%A4%89%E6%9B%B4%E7%82%B9&diff=3709
1.12から1.13への変更点
2018-09-30T17:28:18Z
<p>ModderKina: 下書きとして。</p>
<hr />
<div>== Minecraft本体 ==<br />
=== BlockID、ItemIDの平坦化・無限化 ===<br />
要は、metaだとかdamageだとか言われていたものが削除された。<br><br />
羊毛は色それぞれが別ブロックとなり、ツールのダメージはNBTに保存されるようになった。<br><br />
Stateの上限もなくなっているので、ある程度自由になったと言えるかも。<br />
<br />
=== 水、溶岩の挙動に手が入った ===<br />
水源を特定のブロックが保持できるようになった。<br><br />
インターフェースによる処理なので、Modであっても実装は容易だろう。<br><br />
水の流れに関する複雑な処理は<code>Block</code>ではなく<code>Fluid</code>(1.13にて追加)が担うようだ。<br><br />
実装だけ読んだ限りだと、溶岩を保持するのも可能……っぽい?<br />
<br />
=== タグの概念 ===<br />
バニラでは、<code>Block</code>と<code>Item</code>と<code>Fluid</code>に用いられている模様。<br><br />
レシピの材料判定とかそういう感じのところで包括的に扱うための仕組みっぽい。<br><br />
Jsonで自由にいじることができる。<br><br />
空気を水扱いにして泳げるようにした実験的データパックとか見た気がする。<br><br />
もとからあるタグはラッパーを用いてコード内でもJsonでもいい感じに使えるようになってる。<br />
<br />
=== 精錬レシピがJson化された ===<br />
同時に精錬レシピが<code>IRecipe</code>傘下入り。<br><br />
まぁある意味では扱いやすくなったとも言えるかも……?<br />
<br />
=== <code>Item</code>、<code>Block</code>のコンストラクタの変更 ===<br />
ビルダーパターンが採用され、setHardnessとか言ったプロパティ的なものは初期化時に全部指定して固定化されるようになった。<br />
<br />
=== <code>IItemProvider</code> ===<br />
<code>Block</code>と<code>Item</code>を一緒くたに扱えるようになった。<br><br />
色んな所でいちいち<code>ItemStack</code>にしなきゃいけなくてめんどくさかったのが解消する。<br />
<br />
=== コマンドの実装が一新された ===<br />
構文解析のためにいろいろやってる。<br />
<br />
=== ツールのTierがインターフェースで管理されるようになった ===<br />
前まではいろいろ分散したりしていたのが、インターフェースにまとめられた。<br />
<br />
=== BlockstateのPropertyが共通化された ===<br />
これまでは同じ内容を表すものであっても個別に宣言されていたが、統一された。<br><br />
ある程度包括的にブロックを扱えるようになった。<br />
<br />
=== <code>VoxelShape</code> ===<br />
当たり判定は前まで<code>AxisAlignedBB</code>のリストで扱われていたが、<code>VoxelShape</code>を使うようになった。<br />
<br />
=== <code>IDataProvider</code> ===<br />
Mojangはこれであの大量のJsonを用意していたんですね。<br><br />
Mojangの開発環境で使われているだけなので無視してOK、それだけが言いたかった。<br />
<br />
=== Jsonモデル ===<br />
パスの省略部分が変更された。<br><br />
ある程度一括で置換できる部分なのでそう影響はないはず……。<br />
<br />
== MinecraftForge ==<br />
9/30現在。<br><br />
大体方向性ははっきりしているだろうというところに絞っているが、まだまだ変更が見込まれる部分なので実際のコードを見てほしい。<br />
<br />
=== Modの認識方法の変更 ===<br />
META-INF/mods.tomlとかいうのでこれまでModアノテーションでやってきたことの大半をやるっぽい。<br><br />
CoremodもJsonから認識するようになるらしい?<br />
<br />
=== EventHandlerアノテーションが非推奨に ===<br />
代替は不明。まだ作られてない?<br />
<br />
=== <code>GameRegistry</code> ===<br />
なんかスッキリしてる。(findRegistryというメソッド一つになってる)<br><br />
WIPなのか、もうEvent/Json使ってくれやってことなのかは不明。<br />
<br />
=== Forge Service Provider Interfaces ===<br />
<code>Side</code>が<code>Dist</code>というものに変わった。<br />
<br />
==== <code>OnlyIn</code>アノテーション ====<br />
<code>SideOnly</code>アノテーションの代わり。<br />
<br />
==== <code>DistExecutor</code> ====<br />
<code>SidedProxy</code>の代わり?<br />
<br />
=== <code>OreDictionary</code> ===<br />
ほとんどの機能がタグに移行した。<br><br />
というか、現時点では全範囲がコメントアウトされている。</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=1.12%E3%81%AE%E3%83%AC%E3%82%B7%E3%83%94%E8%BF%BD%E5%8A%A0&diff=3608
1.12のレシピ追加
2018-05-13T05:16:07Z
<p>ModderKina: ビルド2547の修正について追記</p>
<hr />
<div>{{前提MOD|reqmod="Minecraft Forge Universal 14.21.0.xxx~"}}<br />
{{チュートリアル難易度|difficulty=0}}<br />
このチュートリアルでは、基本的なレシピの追加方法について解説する。<br><br />
1.12からは以前の手法に加えて、Jsonによってレシピを記述できるようになった。<br><br />
また、その影響によって従来の方法にも少し変更が加えられている。<br><br />
バニラのクラスや書式を使う利点はないのでOreRecipeを用いる。<br />
== Jsonによる手法 ==<br />
1.12ではバニラのレシピカスタマイズ機能が不完全なため、Modのエントリクラス(@Modアノテーションがついたクラス)は不可欠。<br><br />
ここではエントリクラスが存在するという前提で、Jsonのみについて解説する。<br><br />
=== サンプル ===<br />
* dirt_to_diamond_vertical.json<br />
<source lang="javascript"><br />
{<br />
"type": "forge:ore_shaped",<br />
"group": "recipe_sample:dirt_to_diamond",<br />
"pattern": [<br />
" # ",<br />
" # ",<br />
" # "<br />
],<br />
"key": {<br />
"#": {<br />
"item": "minecraft:dirt",<br />
"data": 0<br />
}<br />
},<br />
"result": {<br />
"item": "minecraft:diamond"<br />
}<br />
}<br />
</source><br />
* dirt_to_diamond_horizontal.json<br />
<source lang="javascript"><br />
{<br />
"type": "forge:ore_shaped",<br />
"group": "recipe_sample:dirt_to_diamond",<br />
"pattern": [<br />
"###"<br />
],<br />
"key": {<br />
"#": {<br />
"item": "minecraft:dirt",<br />
"data": 0<br />
}<br />
},<br />
"result": {<br />
"item": "minecraft:diamond"<br />
}<br />
}<br />
</source><br />
* fluffy_diamond.json<br />
<source lang="javascript"><br />
{<br />
"type": "forge:ore_shapeless",<br />
"ingredients": [<br />
{<br />
"item": "minecraft:wool",<br />
"data": 3<br />
},<br />
{<br />
"item": "minecraft:feather"<br />
},<br />
{<br />
"item": "minecraft:web"<br />
}<br />
],<br />
"result": {<br />
"item": "minecraft:diamond"<br />
}<br />
}<br />
</source><br />
=== 解説 ===<br />
レシピのJsonは"assets/<modid>/recipes/"ディレクトリ下に配置すること。<br><br />
Jsonのファイル名はそのままレシピの内部名に用いられる。<br><br />
内部名はアドバンスメントによるレシピ解放などに用いる。<br><br />
groupに同一文字列を入れるとレシピ本において同じ括りで表示されるようになる。<br><br />
<del>現状Wildcardメタ32767を用いるとレシピ本においては正常に扱えない。</del><br />
<ins>ビルド2542で修正され、Wildcardメタが正常に動作するようになった。</ins><br />
<br />
== 従来の手法 ==<br />
Forgeにより以前から提供されていたレシピ登録機能も引き続き利用できる。将来廃止されるかどうかは不透明である。<br><br />
ちなみに、Forge側は「1.13ではServer-Client同期が実装されることが予期されるから、Jsonに移行すべきだ」としている。<br />
=== サンプル ===<br />
<source lang="java"><br />
import net.minecraft.init.Blocks;<br />
import net.minecraft.init.Items;<br />
import net.minecraft.item.ItemStack;<br />
import net.minecraft.item.crafting.IRecipe;<br />
import net.minecraft.util.ResourceLocation;<br />
import net.minecraftforge.event.RegistryEvent;<br />
import net.minecraftforge.fml.common.Mod;<br />
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;<br />
import net.minecraftforge.oredict.ShapedOreRecipe;<br />
import net.minecraftforge.oredict.ShapelessOreRecipe;<br />
<br />
@Mod.EventBusSubscriber<br />
@Mod(modid = RecipeSample.MOD_ID, version = RecipeSample.MOD_VERSION)<br />
public class RecipeSample{<br />
public static final String MOD_ID = "recipe_sample";<br />
public static final String MOD_VERSION = "1.0";<br />
<br />
@SubscribeEvent<br />
public static void registerRecipes(RegistryEvent.Register<IRecipe> event){<br />
event.getRegistry().registerAll(<br />
new ShapedOreRecipe(new ResourceLocation(MOD_ID, "dirt_to_diamond"), Items.DIAMOND,<br />
" # ",<br />
" # ",<br />
" # ",<br />
'#', new ItemStack(Blocks.DIRT)<br />
).setRegistryName(MOD_ID, "dirt_to_diamond_vertical"),<br />
<br />
new ShapedOreRecipe(new ResourceLocation(MOD_ID, "dirt_to_diamond"), Items.DIAMOND,<br />
"###",<br />
'#', new ItemStack(Blocks.DIRT)<br />
).setRegistryName(MOD_ID, "dirt_to_diamond_horizontal"),<br />
<br />
new ShapelessOreRecipe(null, Items.DIAMOND,<br />
new ItemStack(Blocks.WOOL, 1, 3),<br />
Items.FEATHER,<br />
Blocks.WEB<br />
).setRegistryName(MOD_ID, "fluffy_diamond")<br />
);<br />
}<br />
}<br />
</source><br />
=== 解説 ===<br />
第一引数のnameと第二引数のgroupが新たに追加された。<br><br />
<del>現状Wildcardを用いるとレシピ本においては正常に扱えないうえに、従来のように材料に生のItem/Blockインスタンスを入れるとWildcardメタ扱いになるため注意。</del><br><br />
<ins>ビルド2542で修正されWildcardメタが正常に動作するようになり、ItemStackでラップしてあげる必要はなくなった。</ins></div>
ModderKina
https://mcmodding.jp/modding/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Miyabi&diff=3584
利用者:Miyabi
2018-01-01T14:25:13Z
<p>ModderKina: 「利用者:Miyabi」を保護しました: メールアドレスを伏せ字無しに編集するという有害な行為がありました。 ([edit=sysop] (無期限) [move=sysop] (無期限))</p>
<hr />
<div>Minecraft Modding Wiki管理者のmiyabiです。<br /><br />
<br /><br />
以下のいずれかの方法で連絡を取ることが可能です。<br /><br />
メール:'''sasara(あっとまーく)leaf.email.ne.jp'''<br /><br />
Twitter:'''[https://twitter.com/#!/miyabi9821 miyabi9821]'''<br /><br />
<br />
以下のメッセンジャーでも連絡が取れますが、外出中などは反応が遅れます。<br /><br />
Liveメッセンジャー:'''philinarize@hotmail.com'''<br /><br />
'''※開発者では無いので、IRCへは参加しておりません。'''<br />
<br />
Wikiのデザイン、機能などについてのアドバイスも募集しております。<br /><br />
ご協力、宜しくお願いします。<br /><br />
<br />
----<br />
<br />
以下は管理者用のリンクです。一般のユーザーはアクセスしても編集することは出来ません。<br /><br />
[[MediaWiki:Sidebar|サイドバー]]<br /><br />
[[MediaWiki:Sitenotice|アナウンス]]<br /><br />
[[特別:チェックユーザー|チェックユーザー]]<br /></div>
ModderKina
https://mcmodding.jp/modding/index.php?title=%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E4%B8%80%E8%A6%A7&diff=3570
チュートリアル一覧
2017-09-03T05:25:25Z
<p>ModderKina: /* Minecraft Forge */ 表のアップデート</p>
<hr />
<div>※Moddingに関する質問は、[//forum.minecraftuser.jp/viewforum.php?f=39 非公式日本ユーザーフォーラム 質問:開発・制作関連]へ。<br />
<br />
{{TOC|limit=1}}<br />
==基礎知識・Tips==<br />
Moddingの基礎や、前提modに関わらないチュートリアルなど<br><br />
====外部参考サイト====<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=9494 ◆総合◆Modderのための雑談所]<br />
*[//forum.minecraftuser.jp/viewforum.php?f=21 MOD,プラグイン,その他ツール 開発関連]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3811 【技術共有】トピックを立てるまでもないライブラリとかコードとかの公開所]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3558 MOD制作小技紹介]<br />
<br />
*[//minecraft.gamepedia.com/Model Model.json]<br />
*[//minecraft.gamepedia.com/Sounds.json Sounds.json]<br />
*[//minecraft.gamepedia.com/Loot_table Loot_table.json]<br />
<br />
====Modding Tips====<br />
*[[ローカライズについて]]<br />
*[[NBTについて]]<br />
*[[1.8のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
**[[1.7のサウンド追加]]<br />
*[[1.6のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7でjar形式のAPIを利用する方法]]<br />
*[[1.7でjar形式でないAPIを利用する方法]]<br />
<br />
====ライブラリの知識====<br />
*[[Gradle利用]]<br />
*[[Guava概要]]<br />
*[[ASM利用]]<br />
<br />
==Minecraft Forge==<br />
===はじめに===<br />
※より詳しいことが知りたい人は、[[Minecraft Forge API]]へ。<br />
*[[MinecraftForge導入手順]]<br />
*[[mcmod.infoの設定]]<br />
*[[プロキシシステムについて]]<br />
*[[鉱石辞書の利用]]<br />
*[[Minecraft Forge Eventシステム概要|Eventシステム概要]]<br />
*[[Forge式Config利用]]<br />
*[[Capabilityシステム概要]]<br />
*[[Access Transformer利用]]<br />
*[[アノテーション一覧]]<br />
{| class="wikitable" style="text-align: center;"<br />
|+ チュートリアルの対応状況<br />
|-<br />
| colspan="9" style="text-align: left;"|<br />
{| class="wikitable"<br />
!colspan="2"|凡例<br />
|-<br />
|style="background-color: lightgreen;"| ✓<br />
| 記事作成済み<br />
|-<br />
|style="background-color: lightgreen;"| ○<br />
| 他のバージョンのものが利用可能である<br />
|-<br />
|style="background-color: mediumaquamarine;"| △<br />
| 他のバージョンのものが参考にできる(パッケージ、ネームテーブル等の変更で対応可能)<br />
|-<br />
|style="background-color: orangered;"| ☓<br />
| APIなどの変更があり他のものが参考にしがたい、もしくは他のバージョンのチュートリアルが存在しない<br />
|-<br />
|style="background-color: gray;"| &lowast;<br />
| 不可能である<br />
|-<br />
|style="background-color: sandybrown;"| ?<br />
| 未調査<br />
|}<br />
|-<br />
! scope="col"| 内容<br />
! scope="col"| [[#~1.5Modding|~1.5]]<br />
! scope="col"| [[#1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965|1.6.x]]<br />
! scope="col"| [[#1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)|1.7.x]]<br />
! scope="col"| [[#1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~|1.8.x]]<br />
! scope="col"| [[#1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~|1.9.x]]<br />
! scope="col"| [[#1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~|1.10.x]]<br />
! scope="col"| [[#1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~|1.11.x]]<br />
! scope="col"| [[#1.12Modding MinecraftForgeUniversal 14.21.0.2320~|1.12.x]]<br />
|-<br />
! scope="row"| レシピの追加<br />
|style="background-color: lightgreen;"| [[レシピの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のレシピ追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のレシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.12のレシピ追加|✓]]<br />
|-<br />
! scope="row"| 精錬レシピの追加<br />
|style="background-color: lightgreen;"| [[精錬レシピの追加|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7の精錬レシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| 醸造レシピの追加<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| クリエイティブタブの追加<br />
|style="background-color: lightgreen;"| [[CreativeTabの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のクリエイティブタブの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| アイテムの追加<br />
|style="background-color: lightgreen;"| [[無機能アイテムの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| ブロックの追加<br />
|style="background-color: lightgreen;"| [[無機能ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.10.2のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.11のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| ポーションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[PotionEffectのチュートリアル|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のポーション追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のポーション追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| エンチャントの追加<br />
|style="background-color: lightgreen;"| [[Enchantmentの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のエンチャント追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のエンチャント追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| バイオームの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| サウンドの追加<br />
|style="background-color: lightgreen;"| [[音の追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のサウンドの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 村人の追加<br />
|style="background-color: lightgreen;"| [[村人取引の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7の村人取引の追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.9の村人職業追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| コンフィグの作成<br />
|style="background-color: lightgreen;"| [[Forge式コンフィグファイルの利用|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のForge式Config追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| 実績(進捗)の追加<br />
|style="background-color: lightgreen;"| [[実績の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11の実績追加|✓]]<br />
|style="background-color: gray;"| [https://minecraft.gamepedia.com/Advancements#JSON_Format]<br />
|-<br />
! scope="row"| 鉱石の生成<br />
|style="background-color: lightgreen;"| [[追加鉱物をワールドに生成させる|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.8のOreGenEvent利用による鉱石生成|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| TileEntityの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.6のTileEntityの追加|✓]]<br />
|style="background-color: lightgreen;"| [[シンプルなTileEntityの追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| GUIの追加<br />
|style="background-color: lightgreen;"| [[GUIの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のGUI追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| 流体の追加<br />
|style="background-color: lightgreen;"| [[液体を追加する|✓]]<br />
|style="background-color: lightgreen;"| [[1.6の流体追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.8の液体ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| エンティティの追加<br />
|style="background-color: lightgreen;"| [[MOBを追加する|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.9のMOB追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| ディメンションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のディメンション追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.11のディメンション追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| WorldTypeの追加<br />
|style="background-color: lightgreen;"| [[WorldTypeの追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のWorldType追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|}<br />
===1.12Modding MinecraftForgeUniversal 14.21.0.2320~===<br />
====チュートリアル基礎====<br />
*[[1.11から1.12への変更点]]<br />
*[[1.12のレシピ追加]]<br />
*[[1.12のアイテム追加]]<br />
<br />
===1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~===<br />
====チュートリアル基礎====<br />
*[[1.10から1.11への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//minecraft.gamepedia.com/index.php?title=Model&oldid=1040633 1.11のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.11のレシピ追加]]<br />
*[[1.11の精錬レシピ追加]]<br />
*[[1.11の醸造レシピ追加]]<br />
*[[1.11のアイテム追加]]<br />
*[[1.11のブロック追加]]<br />
*[[1.11のクリエイティブタブ追加]]<br />
*[[1.11のサウンド追加]]<br />
*[[1.11のポーション追加]]<br />
*[[1.11のエンチャント追加]]<br />
*[[1.11の統計追加]]<br />
*[[1.11の実績追加]]<br />
*[[1.11のLootTable利用]]<br />
*[[1.11のWorldType追加]]<br />
*[[1.11のキー入力受け取り]]<br />
<br />
====チュートリアル中級====<br />
*[[1.11のEntity追加]]<br />
*[[1.11のTileEntity追加]]<br />
*[[1.11のディメンション追加]]<br />
*[[1.11のバイオーム追加]]<br />
*[[1.11の地形生成]]<br />
*[[1.11の構造物追加]]<br />
*[[1.11のパケット送受信]]<br />
*[[1.11のHUD追加]]<br />
*[[1.11のGUI追加]]<br />
**[[1.11のインベントリ付きGUI追加]]<br />
<br />
===1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~===<br />
<br />
====チュートリアル初級====<br />
*[[1.10.2のブロック追加]]<br />
<br />
===1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~===<br />
*[[1.8から1.9への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//goo.gl/FCIlNJ 1.9のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.9のブロック追加]]<br />
**[[1.9のForge式Json利用]]([//mcforge.readthedocs.org/en/latest/blockstates/forgeBlockstates/ ForgeDoc])<br />
*[[1.9のアイテム追加]]<br />
*[[1.9のポーション追加]]<br />
*[[1.9のエンチャント追加]]<br />
*[[1.9のバイオーム追加]]<br />
*[[1.9の村人職業追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.9のMOB追加]]<br />
====チュートリアル上級====<br />
<br />
===1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~===<br />
*[[1.7から1.8への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[[1.8のバニラJsonの仕様]]<br />
*[[1.8のブロック追加]]<br />
**[[1.8のブロックで部分的に色を変える方法]]<br />
**[[1.8のB3Dモデル利用ブロック追加]]<br />
*[[1.8のアイテム追加]]<br />
**[[1.8のアイテムで部分的に色を変える方法]]<br />
*[[1.8のOreGenEvent利用による鉱石生成]]<br />
*[[1.8のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.8のプレイヤーカスタムデータの追加]]<br />
*[[1.8のIRecipe利用によるレシピ追加]]<br />
*[[1.8の液体ブロックの追加]]<br />
*[[1.8のICustomModelLoader利用]]<br />
<br />
====チュートリアル上級====<br />
<br />
====他サイトリンク====<br />
*[http://www.nicovideo.jp/mylist/49688372 reine氏による1.8の開発記録動画]<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=9220 【Forgeチュートリアル】クラフトで耐久値が減るアイテムの作り方1.2.5~1.8 ソース付属 ]<br />
<br />
===1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)===<br />
*[[1.6から1.7への変更点]]<br />
*[[1.7の基本コーディング]]<br />
*[[1.7のInterModComms利用]]<br />
<br />
====チュートリアル初級====<br />
*[[1.7のレシピ追加]]<br />
*[[1.7の精錬レシピ追加]]<br />
*[[1.7のブロック追加]]<br />
*[[1.7のアイテム追加]]<br />
**[[1.7のアイテムに初期状態でエンチャント等NBTデータを付ける方法]]<br />
**[[1.7の武器追加(剣)]]<br />
**[[1.7の防具追加]]<br />
**[[1.7のアイテムで部分的に色を変える方法]]<br />
**[[1.7のアイテムのツールチップに情報を表示させる方法]]<br />
**[[1.7のアイテムの表示名を変更する方法]]<br />
*[[1.7のGUI追加]]<br />
*[[1.7のディスペンサーModding]]<br />
*[[1.7のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[DataWatcherを用いたエンティティの同期]]<br />
*[[1.7のパケットについて]]<br />
**[[1.7のキーボードイベント追加]]<br />
*[[1.7のプレイヤーカスタムデータの追加]]<br />
*[[Forge 10.12.1.1074以降でのクライアント/サーバMOD]]<br />
*[[逆さまの木の追加]]<br />
*[[シンプルなTileEntityの追加]]<br />
**[[1.7の液体タンクを持つTileEntityの追加]]<br />
*[[シフトクリック時の処理]]<br />
*[[1.7の村人取引の追加]]<br />
*[[1.7のディメンション追加]]<br />
*[[MOBの追加]]<br />
*[[独自のスポーンエッグの追加]]<br />
*[[1.7以降のIResourcePackの利用]]<br />
*[[1.7の独自レシピシステムの追加]]<br />
*[[1.7の属性値を動的変更できるアイテムの追加]]<br />
*[[1.7の独自Renderの追加]]<br />
*[[1.7でのインベントリ操作]]<br />
*[[1.7のForge式Config追加]]<br />
<br />
====チュートリアル上級====<br />
*[[前提MODの自動DLの仕方]]<br />
*[[インベントリを持つアイテムの追加]]<br />
<br />
;他サイトリンク<br />
*[https://goo.gl/5QbDjE defeatedcrow氏による1.7.10のMODの制作過程]<br />
<br />
===1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965===<br />
1.6からリソースパック方式の導入により、いくつかの項目で画像、音声、言語ファイル等の扱いが変更されました。<br><br />
また、MCP作者が1.6Modding環境としてForgeを推奨しています。<br><br />
<br />
====基本のチュートリアル====<br />
*[[1.6の開発環境の作り方]]<br />
*[[1.6の基本コーティング]]<br />
*[[1.6のテクスチャの指定]]<br />
*[[PotionEffectのチュートリアル]]<br />
<br />
====チュートリアル初級====<br />
*[[1.6のレシピ追加]]<br />
*[[1.6のブロック追加]]<br />
*[[1.6のアイテム追加]]<br />
**[[1.6のツール類追加]]<br />
***[[1.6のカスタムツール追加]]<br />
**[[1.6の食料追加]]<br />
**[[1.6の武器追加(剣)]]<br />
**[[1.6の防具追加]]<br />
*[[1.6のクリエイティブタブの追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.6のメタデータを持つアイテム・ブロック]]<br />
*[[1.6の骨粉処理]]<br />
*[[1.6の植物追加]]<br />
*[[1.6の流体追加]]<br />
**[[1.6の流体をバケツで扱う]]<br />
*[[鉱石辞書の利用|1.6の鉱石辞書の利用]]<br />
**[[1.6の鉱石辞書利用の実例]]<br />
*[[1.6のアニメーションアイテムの追加]]<br />
*[[カスタムレンダーを使用するブロックの追加]]<br />
*[[1.6のモデル付きカスタムツール追加]]<br />
*[[1.6のサウンドの追加]]<br />
*[[1.6のプレイヤーカスタムデータの追加]]<br />
<br />
====チュートリアル上級====<br />
*[[1.6のTileEntityの追加]]<br />
*[[パーティクルの追加]]<br />
*[[モンスタードロップの追加]]<br />
*[[構造物の追加]]<br />
*[[防具の特殊な処理]]<br />
*[[1.6の発射体Entityの追加]]<br />
<br />
====外部サイト====<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=12186 レシピの追加]<br />
<br />
===~1.5Modding===<br />
{{Warning}}サポートが打ち切られている、もしくは非常に古い情報を含みます<br />
→[[1.5以前のチュートリアル]]<br />
<br />
==Bukkit Pluginの作り方==<br />
Bukkitを前提としたサーバー用Moddingです。<br><br />
<!-- *[[Bukkit用MODの作成方法]] --><br />
*[[Plugin Tutorial]]<br />
*[[新しいEventSystemの使い方]]<br />
*[[新しいConfigurationの使い方]]<br />
*[[スケジューラのプログラミング]]<br />
*[[天候操作]]<br />
*[[スコアボードシステムの使い方]]<br />
*[[plugin.ymlの設定一覧]]<br />
<br />
==その他の前提mod==<br />
上記以外のmodを前提としたmodding。<br><br />
===Not Enough Items(NEI)===<br />
*[[NEIにて独自レシピを表示させる]]<br />
===LiteLoader rev317===<br />
*[[LiteLoader導入手順]]<br />
*[[LiteLoader/1.8のデバッグ画面へ情報を追加]]</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E4%B8%80%E8%A6%A7&diff=3569
チュートリアル一覧
2017-09-03T05:04:02Z
<p>ModderKina: ModderKina(トーク)による第3568版を取り消し</p>
<hr />
<div>※Moddingに関する質問は、[//forum.minecraftuser.jp/viewforum.php?f=39 非公式日本ユーザーフォーラム 質問:開発・制作関連]へ。<br />
<br />
{{TOC|limit=1}}<br />
==基礎知識・Tips==<br />
Moddingの基礎や、前提modに関わらないチュートリアルなど<br><br />
====外部参考サイト====<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=9494 ◆総合◆Modderのための雑談所]<br />
*[//forum.minecraftuser.jp/viewforum.php?f=21 MOD,プラグイン,その他ツール 開発関連]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3811 【技術共有】トピックを立てるまでもないライブラリとかコードとかの公開所]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3558 MOD制作小技紹介]<br />
<br />
*[//minecraft.gamepedia.com/Model Model.json]<br />
*[//minecraft.gamepedia.com/Sounds.json Sounds.json]<br />
*[//minecraft.gamepedia.com/Loot_table Loot_table.json]<br />
<br />
====Modding Tips====<br />
*[[ローカライズについて]]<br />
*[[NBTについて]]<br />
*[[1.8のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
**[[1.7のサウンド追加]]<br />
*[[1.6のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7でjar形式のAPIを利用する方法]]<br />
*[[1.7でjar形式でないAPIを利用する方法]]<br />
<br />
====ライブラリの知識====<br />
*[[Gradle利用]]<br />
*[[Guava概要]]<br />
*[[ASM利用]]<br />
<br />
==Minecraft Forge==<br />
===はじめに===<br />
※より詳しいことが知りたい人は、[[Minecraft Forge API]]へ。<br />
*[[MinecraftForge導入手順]]<br />
*[[mcmod.infoの設定]]<br />
*[[プロキシシステムについて]]<br />
*[[鉱石辞書の利用]]<br />
*[[Minecraft Forge Eventシステム概要|Eventシステム概要]]<br />
*[[Forge式Config利用]]<br />
*[[Capabilityシステム概要]]<br />
*[[Access Transformer利用]]<br />
*[[アノテーション一覧]]<br />
{| class="wikitable" style="text-align: center;"<br />
|+ チュートリアルの対応状況<br />
|-<br />
| colspan="9" style="text-align: left;"|<br />
{| class="wikitable"<br />
!colspan="2"|凡例<br />
|-<br />
|style="background-color: lightgreen;"| ✓<br />
| 記事作成済み<br />
|-<br />
|style="background-color: lightgreen;"| ○<br />
| 他のバージョンのものが利用可能である<br />
|-<br />
|style="background-color: mediumaquamarine;"| △<br />
| 他のバージョンのものが参考にできる(パッケージ、ネームテーブル等の変更で対応可能)<br />
|-<br />
|style="background-color: orangered;"| ☓<br />
| APIなどの変更があり他のものが参考にしがたい、もしくは他のバージョンのチュートリアルが存在しない<br />
|-<br />
|style="background-color: gray;"| &lowast;<br />
| 不可能である<br />
|-<br />
|style="background-color: sandybrown;"| ?<br />
| 未調査<br />
|}<br />
|-<br />
! scope="col"| 内容<br />
! scope="col"| [[#~1.5Modding|~1.5]]<br />
! scope="col"| [[#1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965|1.6.x]]<br />
! scope="col"| [[#1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)|1.7.x]]<br />
! scope="col"| [[#1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~|1.8.x]]<br />
! scope="col"| [[#1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~|1.9.x]]<br />
! scope="col"| [[#1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~|1.10.x]]<br />
! scope="col"| [[#1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~|1.11.x]]<br />
! scope="col"| [[#1.12Modding MinecraftForgeUniversal 14.21.0.2320~|1.12.x]]<br />
|-<br />
! scope="row"| レシピの追加<br />
|style="background-color: lightgreen;"| [[レシピの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のレシピ追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のレシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.12のレシピ追加|✓]]<br />
|-<br />
! scope="row"| 精錬レシピの追加<br />
|style="background-color: lightgreen;"| [[精錬レシピの追加|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7の精錬レシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 醸造レシピの追加<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| クリエイティブタブの追加<br />
|style="background-color: lightgreen;"| [[CreativeTabの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のクリエイティブタブの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| アイテムの追加<br />
|style="background-color: lightgreen;"| [[無機能アイテムの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| ブロックの追加<br />
|style="background-color: lightgreen;"| [[無機能ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.10.2のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.11のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| ポーションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[PotionEffectのチュートリアル|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のポーション追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のポーション追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| エンチャントの追加<br />
|style="background-color: lightgreen;"| [[Enchantmentの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のエンチャント追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のエンチャント追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| バイオームの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| サウンドの追加<br />
|style="background-color: lightgreen;"| [[音の追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のサウンドの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 村人の追加<br />
|style="background-color: lightgreen;"| [[村人取引の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7の村人取引の追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.9の村人職業追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| コンフィグの作成<br />
|style="background-color: lightgreen;"| [[Forge式コンフィグファイルの利用|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のForge式Config追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 実績(進捗)の追加<br />
|style="background-color: lightgreen;"| [[実績の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11の実績追加|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| 鉱石の生成<br />
|style="background-color: lightgreen;"| [[追加鉱物をワールドに生成させる|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.8のOreGenEvent利用による鉱石生成|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| TileEntityの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.6のTileEntityの追加|✓]]<br />
|style="background-color: lightgreen;"| [[シンプルなTileEntityの追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| GUIの追加<br />
|style="background-color: lightgreen;"| [[GUIの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のGUI追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 流体の追加<br />
|style="background-color: lightgreen;"| [[液体を追加する|✓]]<br />
|style="background-color: lightgreen;"| [[1.6の流体追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.8の液体ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| エンティティの追加<br />
|style="background-color: lightgreen;"| [[MOBを追加する|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.9のMOB追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| ディメンションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のディメンション追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.11のディメンション追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| WorldTypeの追加<br />
|style="background-color: lightgreen;"| [[WorldTypeの追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のWorldType追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|}<br />
===1.12Modding MinecraftForgeUniversal 14.21.0.2320~===<br />
====チュートリアル基礎====<br />
*[[1.11から1.12への変更点]]<br />
*[[1.12のレシピ追加]]<br />
*[[1.12のアイテム追加]]<br />
<br />
===1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~===<br />
====チュートリアル基礎====<br />
*[[1.10から1.11への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//minecraft.gamepedia.com/index.php?title=Model&oldid=1040633 1.11のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.11のレシピ追加]]<br />
*[[1.11の精錬レシピ追加]]<br />
*[[1.11の醸造レシピ追加]]<br />
*[[1.11のアイテム追加]]<br />
*[[1.11のブロック追加]]<br />
*[[1.11のクリエイティブタブ追加]]<br />
*[[1.11のサウンド追加]]<br />
*[[1.11のポーション追加]]<br />
*[[1.11のエンチャント追加]]<br />
*[[1.11の統計追加]]<br />
*[[1.11の実績追加]]<br />
*[[1.11のLootTable利用]]<br />
*[[1.11のWorldType追加]]<br />
*[[1.11のキー入力受け取り]]<br />
<br />
====チュートリアル中級====<br />
*[[1.11のEntity追加]]<br />
*[[1.11のTileEntity追加]]<br />
*[[1.11のディメンション追加]]<br />
*[[1.11のバイオーム追加]]<br />
*[[1.11の地形生成]]<br />
*[[1.11の構造物追加]]<br />
*[[1.11のパケット送受信]]<br />
*[[1.11のHUD追加]]<br />
*[[1.11のGUI追加]]<br />
**[[1.11のインベントリ付きGUI追加]]<br />
<br />
===1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~===<br />
<br />
====チュートリアル初級====<br />
*[[1.10.2のブロック追加]]<br />
<br />
===1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~===<br />
*[[1.8から1.9への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//goo.gl/FCIlNJ 1.9のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.9のブロック追加]]<br />
**[[1.9のForge式Json利用]]([//mcforge.readthedocs.org/en/latest/blockstates/forgeBlockstates/ ForgeDoc])<br />
*[[1.9のアイテム追加]]<br />
*[[1.9のポーション追加]]<br />
*[[1.9のエンチャント追加]]<br />
*[[1.9のバイオーム追加]]<br />
*[[1.9の村人職業追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.9のMOB追加]]<br />
====チュートリアル上級====<br />
<br />
===1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~===<br />
*[[1.7から1.8への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[[1.8のバニラJsonの仕様]]<br />
*[[1.8のブロック追加]]<br />
**[[1.8のブロックで部分的に色を変える方法]]<br />
**[[1.8のB3Dモデル利用ブロック追加]]<br />
*[[1.8のアイテム追加]]<br />
**[[1.8のアイテムで部分的に色を変える方法]]<br />
*[[1.8のOreGenEvent利用による鉱石生成]]<br />
*[[1.8のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.8のプレイヤーカスタムデータの追加]]<br />
*[[1.8のIRecipe利用によるレシピ追加]]<br />
*[[1.8の液体ブロックの追加]]<br />
*[[1.8のICustomModelLoader利用]]<br />
<br />
====チュートリアル上級====<br />
<br />
====他サイトリンク====<br />
*[http://www.nicovideo.jp/mylist/49688372 reine氏による1.8の開発記録動画]<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=9220 【Forgeチュートリアル】クラフトで耐久値が減るアイテムの作り方1.2.5~1.8 ソース付属 ]<br />
<br />
===1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)===<br />
*[[1.6から1.7への変更点]]<br />
*[[1.7の基本コーディング]]<br />
*[[1.7のInterModComms利用]]<br />
<br />
====チュートリアル初級====<br />
*[[1.7のレシピ追加]]<br />
*[[1.7の精錬レシピ追加]]<br />
*[[1.7のブロック追加]]<br />
*[[1.7のアイテム追加]]<br />
**[[1.7のアイテムに初期状態でエンチャント等NBTデータを付ける方法]]<br />
**[[1.7の武器追加(剣)]]<br />
**[[1.7の防具追加]]<br />
**[[1.7のアイテムで部分的に色を変える方法]]<br />
**[[1.7のアイテムのツールチップに情報を表示させる方法]]<br />
**[[1.7のアイテムの表示名を変更する方法]]<br />
*[[1.7のGUI追加]]<br />
*[[1.7のディスペンサーModding]]<br />
*[[1.7のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[DataWatcherを用いたエンティティの同期]]<br />
*[[1.7のパケットについて]]<br />
**[[1.7のキーボードイベント追加]]<br />
*[[1.7のプレイヤーカスタムデータの追加]]<br />
*[[Forge 10.12.1.1074以降でのクライアント/サーバMOD]]<br />
*[[逆さまの木の追加]]<br />
*[[シンプルなTileEntityの追加]]<br />
**[[1.7の液体タンクを持つTileEntityの追加]]<br />
*[[シフトクリック時の処理]]<br />
*[[1.7の村人取引の追加]]<br />
*[[1.7のディメンション追加]]<br />
*[[MOBの追加]]<br />
*[[独自のスポーンエッグの追加]]<br />
*[[1.7以降のIResourcePackの利用]]<br />
*[[1.7の独自レシピシステムの追加]]<br />
*[[1.7の属性値を動的変更できるアイテムの追加]]<br />
*[[1.7の独自Renderの追加]]<br />
*[[1.7でのインベントリ操作]]<br />
*[[1.7のForge式Config追加]]<br />
<br />
====チュートリアル上級====<br />
*[[前提MODの自動DLの仕方]]<br />
*[[インベントリを持つアイテムの追加]]<br />
<br />
;他サイトリンク<br />
*[https://goo.gl/5QbDjE defeatedcrow氏による1.7.10のMODの制作過程]<br />
<br />
===1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965===<br />
1.6からリソースパック方式の導入により、いくつかの項目で画像、音声、言語ファイル等の扱いが変更されました。<br><br />
また、MCP作者が1.6Modding環境としてForgeを推奨しています。<br><br />
<br />
====基本のチュートリアル====<br />
*[[1.6の開発環境の作り方]]<br />
*[[1.6の基本コーティング]]<br />
*[[1.6のテクスチャの指定]]<br />
*[[PotionEffectのチュートリアル]]<br />
<br />
====チュートリアル初級====<br />
*[[1.6のレシピ追加]]<br />
*[[1.6のブロック追加]]<br />
*[[1.6のアイテム追加]]<br />
**[[1.6のツール類追加]]<br />
***[[1.6のカスタムツール追加]]<br />
**[[1.6の食料追加]]<br />
**[[1.6の武器追加(剣)]]<br />
**[[1.6の防具追加]]<br />
*[[1.6のクリエイティブタブの追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.6のメタデータを持つアイテム・ブロック]]<br />
*[[1.6の骨粉処理]]<br />
*[[1.6の植物追加]]<br />
*[[1.6の流体追加]]<br />
**[[1.6の流体をバケツで扱う]]<br />
*[[鉱石辞書の利用|1.6の鉱石辞書の利用]]<br />
**[[1.6の鉱石辞書利用の実例]]<br />
*[[1.6のアニメーションアイテムの追加]]<br />
*[[カスタムレンダーを使用するブロックの追加]]<br />
*[[1.6のモデル付きカスタムツール追加]]<br />
*[[1.6のサウンドの追加]]<br />
*[[1.6のプレイヤーカスタムデータの追加]]<br />
<br />
====チュートリアル上級====<br />
*[[1.6のTileEntityの追加]]<br />
*[[パーティクルの追加]]<br />
*[[モンスタードロップの追加]]<br />
*[[構造物の追加]]<br />
*[[防具の特殊な処理]]<br />
*[[1.6の発射体Entityの追加]]<br />
<br />
====外部サイト====<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=12186 レシピの追加]<br />
<br />
===~1.5Modding===<br />
{{Warning}}サポートが打ち切られている、もしくは非常に古い情報を含みます<br />
→[[1.5以前のチュートリアル]]<br />
<br />
==Bukkit Pluginの作り方==<br />
Bukkitを前提としたサーバー用Moddingです。<br><br />
<!-- *[[Bukkit用MODの作成方法]] --><br />
*[[Plugin Tutorial]]<br />
*[[新しいEventSystemの使い方]]<br />
*[[新しいConfigurationの使い方]]<br />
*[[スケジューラのプログラミング]]<br />
*[[天候操作]]<br />
*[[スコアボードシステムの使い方]]<br />
*[[plugin.ymlの設定一覧]]<br />
<br />
==その他の前提mod==<br />
上記以外のmodを前提としたmodding。<br><br />
===Not Enough Items(NEI)===<br />
*[[NEIにて独自レシピを表示させる]]<br />
===LiteLoader rev317===<br />
*[[LiteLoader導入手順]]<br />
*[[LiteLoader/1.8のデバッグ画面へ情報を追加]]</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E4%B8%80%E8%A6%A7&diff=3568
チュートリアル一覧
2017-09-03T05:03:12Z
<p>ModderKina: /* Minecraft Forge */ テスト</p>
<hr />
<div>※Moddingに関する質問は、[//forum.minecraftuser.jp/viewforum.php?f=39 非公式日本ユーザーフォーラム 質問:開発・制作関連]へ。<br />
<br />
{{TOC|limit=1}}<br />
==基礎知識・Tips==<br />
Moddingの基礎や、前提modに関わらないチュートリアルなど<br><br />
====外部参考サイト====<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=9494 ◆総合◆Modderのための雑談所]<br />
*[//forum.minecraftuser.jp/viewforum.php?f=21 MOD,プラグイン,その他ツール 開発関連]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3811 【技術共有】トピックを立てるまでもないライブラリとかコードとかの公開所]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3558 MOD制作小技紹介]<br />
<br />
*[//minecraft.gamepedia.com/Model Model.json]<br />
*[//minecraft.gamepedia.com/Sounds.json Sounds.json]<br />
*[//minecraft.gamepedia.com/Loot_table Loot_table.json]<br />
<br />
====Modding Tips====<br />
*[[ローカライズについて]]<br />
*[[NBTについて]]<br />
*[[1.8のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
**[[1.7のサウンド追加]]<br />
*[[1.6のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7でjar形式のAPIを利用する方法]]<br />
*[[1.7でjar形式でないAPIを利用する方法]]<br />
<br />
====ライブラリの知識====<br />
*[[Gradle利用]]<br />
*[[Guava概要]]<br />
*[[ASM利用]]<br />
<br />
==Minecraft Forge==<br />
===はじめに===<br />
※より詳しいことが知りたい人は、[[Minecraft Forge API]]へ。<br />
*[[MinecraftForge導入手順]]<br />
*[[mcmod.infoの設定]]<br />
*[[プロキシシステムについて]]<br />
*[[鉱石辞書の利用]]<br />
*[[Minecraft Forge Eventシステム概要|Eventシステム概要]]<br />
*[[Forge式Config利用]]<br />
*[[Capabilityシステム概要]]<br />
*[[Access Transformer利用]]<br />
*[[アノテーション一覧]]<br />
{| class="wikitable" style="text-align: center;"<br />
|+ チュートリアルの対応状況<br />
|-<br />
| colspan="9" style="text-align: left;"|<br />
{| class="wikitable"<br />
!colspan="2"|凡例<br />
|-<br />
|style="background-color: lightgreen;"| ✓<br />
| 記事作成済み<br />
|-<br />
|style="background-color: lightgreen;"| ○<br />
| 他のバージョンのものが利用可能である<br />
|-<br />
|style="background-color: mediumaquamarine;"| △<br />
| 他のバージョンのものが参考にできる(パッケージ、ネームテーブル等の変更で対応可能)<br />
|-<br />
|style="background-color: orangered;"| ☓<br />
| APIなどの変更があり他のものが参考にしがたい、もしくは他のバージョンのチュートリアルが存在しない<br />
|-<br />
|style="background-color: gray;"| &lowast;<br />
| 不可能である<br />
|-<br />
|style="background-color: sandybrown;"| ?<br />
| 未調査<br />
|}<br />
|-<br />
! scope="col"| 内容<br />
! scope="col"| [[#~1.5Modding|~1.5]]<br />
! scope="col"| [[#1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965|1.6.x]]<br />
! scope="col"| [[#1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)|1.7.x]]<br />
! scope="col"| [[#1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~|1.8.x]]<br />
! scope="col"| [[#1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~|1.9.x]]<br />
! scope="col"| [[#1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~|1.10.x]]<br />
! scope="col"| [[#1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~|1.11.x]]<br />
! scope="col"| [[#1.12Modding MinecraftForgeUniversal 14.21.0.2320~|1.12.x]]<br />
|-<br />
! scope="row"| レシピの追加<br />
|style="background-color: lightgreen;"| [[レシピの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のレシピ追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のレシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.12のレシピ追加|✓]]<br />
|-<br />
! scope="row"| 精錬レシピの追加<br />
|style="background-color: lightgreen;"| [[精錬レシピの追加|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7の精錬レシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 醸造レシピの追加<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| クリエイティブタブの追加<br />
|style="background-color: lightgreen;"| [[CreativeTabの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のクリエイティブタブの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| アイテムの追加<br />
|style="background-color: lightgreen;"| [[無機能アイテムの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| ブロックの追加<br />
|style="background-color: lightgreen;"| [[無機能ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.10.2のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.11のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| ポーションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[PotionEffectのチュートリアル|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のポーション追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のポーション追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| エンチャントの追加<br />
|style="background-color: lightgreen;"| [[Enchantmentの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のエンチャント追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のエンチャント追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| バイオームの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| サウンドの追加<br />
|style="background-color: lightgreen;"| [[音の追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のサウンドの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 村人の追加<br />
|style="background-color: lightgreen;"| [[村人取引の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7の村人取引の追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.9の村人職業追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| コンフィグの作成<br />
|style="background-color: lightgreen;"| [[Forge式コンフィグファイルの利用|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のForge式Config追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 実績(進捗)の追加<br />
|style="background-color: lightgreen;"| [[実績の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11の実績追加|✓]]<br />
|style="background-color: gray;"| &lowast;<ref group="table">現在はバニラでカスタマイズ機能が用意されている。</ref><br />
|-<br />
! scope="row"| 鉱石の生成<br />
|style="background-color: lightgreen;"| [[追加鉱物をワールドに生成させる|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.8のOreGenEvent利用による鉱石生成|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| TileEntityの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.6のTileEntityの追加|✓]]<br />
|style="background-color: lightgreen;"| [[シンプルなTileEntityの追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| GUIの追加<br />
|style="background-color: lightgreen;"| [[GUIの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のGUI追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 流体の追加<br />
|style="background-color: lightgreen;"| [[液体を追加する|✓]]<br />
|style="background-color: lightgreen;"| [[1.6の流体追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.8の液体ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| エンティティの追加<br />
|style="background-color: lightgreen;"| [[MOBを追加する|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.9のMOB追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| ディメンションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のディメンション追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.11のディメンション追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| WorldTypeの追加<br />
|style="background-color: lightgreen;"| [[WorldTypeの追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のWorldType追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|}<br />
<references group="table"/><br />
===1.12Modding MinecraftForgeUniversal 14.21.0.2320~===<br />
====チュートリアル基礎====<br />
*[[1.11から1.12への変更点]]<br />
*[[1.12のレシピ追加]]<br />
*[[1.12のアイテム追加]]<br />
<br />
===1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~===<br />
====チュートリアル基礎====<br />
*[[1.10から1.11への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//minecraft.gamepedia.com/index.php?title=Model&oldid=1040633 1.11のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.11のレシピ追加]]<br />
*[[1.11の精錬レシピ追加]]<br />
*[[1.11の醸造レシピ追加]]<br />
*[[1.11のアイテム追加]]<br />
*[[1.11のブロック追加]]<br />
*[[1.11のクリエイティブタブ追加]]<br />
*[[1.11のサウンド追加]]<br />
*[[1.11のポーション追加]]<br />
*[[1.11のエンチャント追加]]<br />
*[[1.11の統計追加]]<br />
*[[1.11の実績追加]]<br />
*[[1.11のLootTable利用]]<br />
*[[1.11のWorldType追加]]<br />
*[[1.11のキー入力受け取り]]<br />
<br />
====チュートリアル中級====<br />
*[[1.11のEntity追加]]<br />
*[[1.11のTileEntity追加]]<br />
*[[1.11のディメンション追加]]<br />
*[[1.11のバイオーム追加]]<br />
*[[1.11の地形生成]]<br />
*[[1.11の構造物追加]]<br />
*[[1.11のパケット送受信]]<br />
*[[1.11のHUD追加]]<br />
*[[1.11のGUI追加]]<br />
**[[1.11のインベントリ付きGUI追加]]<br />
<br />
===1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~===<br />
<br />
====チュートリアル初級====<br />
*[[1.10.2のブロック追加]]<br />
<br />
===1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~===<br />
*[[1.8から1.9への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//goo.gl/FCIlNJ 1.9のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.9のブロック追加]]<br />
**[[1.9のForge式Json利用]]([//mcforge.readthedocs.org/en/latest/blockstates/forgeBlockstates/ ForgeDoc])<br />
*[[1.9のアイテム追加]]<br />
*[[1.9のポーション追加]]<br />
*[[1.9のエンチャント追加]]<br />
*[[1.9のバイオーム追加]]<br />
*[[1.9の村人職業追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.9のMOB追加]]<br />
====チュートリアル上級====<br />
<br />
===1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~===<br />
*[[1.7から1.8への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[[1.8のバニラJsonの仕様]]<br />
*[[1.8のブロック追加]]<br />
**[[1.8のブロックで部分的に色を変える方法]]<br />
**[[1.8のB3Dモデル利用ブロック追加]]<br />
*[[1.8のアイテム追加]]<br />
**[[1.8のアイテムで部分的に色を変える方法]]<br />
*[[1.8のOreGenEvent利用による鉱石生成]]<br />
*[[1.8のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.8のプレイヤーカスタムデータの追加]]<br />
*[[1.8のIRecipe利用によるレシピ追加]]<br />
*[[1.8の液体ブロックの追加]]<br />
*[[1.8のICustomModelLoader利用]]<br />
<br />
====チュートリアル上級====<br />
<br />
====他サイトリンク====<br />
*[http://www.nicovideo.jp/mylist/49688372 reine氏による1.8の開発記録動画]<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=9220 【Forgeチュートリアル】クラフトで耐久値が減るアイテムの作り方1.2.5~1.8 ソース付属 ]<br />
<br />
===1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)===<br />
*[[1.6から1.7への変更点]]<br />
*[[1.7の基本コーディング]]<br />
*[[1.7のInterModComms利用]]<br />
<br />
====チュートリアル初級====<br />
*[[1.7のレシピ追加]]<br />
*[[1.7の精錬レシピ追加]]<br />
*[[1.7のブロック追加]]<br />
*[[1.7のアイテム追加]]<br />
**[[1.7のアイテムに初期状態でエンチャント等NBTデータを付ける方法]]<br />
**[[1.7の武器追加(剣)]]<br />
**[[1.7の防具追加]]<br />
**[[1.7のアイテムで部分的に色を変える方法]]<br />
**[[1.7のアイテムのツールチップに情報を表示させる方法]]<br />
**[[1.7のアイテムの表示名を変更する方法]]<br />
*[[1.7のGUI追加]]<br />
*[[1.7のディスペンサーModding]]<br />
*[[1.7のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[DataWatcherを用いたエンティティの同期]]<br />
*[[1.7のパケットについて]]<br />
**[[1.7のキーボードイベント追加]]<br />
*[[1.7のプレイヤーカスタムデータの追加]]<br />
*[[Forge 10.12.1.1074以降でのクライアント/サーバMOD]]<br />
*[[逆さまの木の追加]]<br />
*[[シンプルなTileEntityの追加]]<br />
**[[1.7の液体タンクを持つTileEntityの追加]]<br />
*[[シフトクリック時の処理]]<br />
*[[1.7の村人取引の追加]]<br />
*[[1.7のディメンション追加]]<br />
*[[MOBの追加]]<br />
*[[独自のスポーンエッグの追加]]<br />
*[[1.7以降のIResourcePackの利用]]<br />
*[[1.7の独自レシピシステムの追加]]<br />
*[[1.7の属性値を動的変更できるアイテムの追加]]<br />
*[[1.7の独自Renderの追加]]<br />
*[[1.7でのインベントリ操作]]<br />
*[[1.7のForge式Config追加]]<br />
<br />
====チュートリアル上級====<br />
*[[前提MODの自動DLの仕方]]<br />
*[[インベントリを持つアイテムの追加]]<br />
<br />
;他サイトリンク<br />
*[https://goo.gl/5QbDjE defeatedcrow氏による1.7.10のMODの制作過程]<br />
<br />
===1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965===<br />
1.6からリソースパック方式の導入により、いくつかの項目で画像、音声、言語ファイル等の扱いが変更されました。<br><br />
また、MCP作者が1.6Modding環境としてForgeを推奨しています。<br><br />
<br />
====基本のチュートリアル====<br />
*[[1.6の開発環境の作り方]]<br />
*[[1.6の基本コーティング]]<br />
*[[1.6のテクスチャの指定]]<br />
*[[PotionEffectのチュートリアル]]<br />
<br />
====チュートリアル初級====<br />
*[[1.6のレシピ追加]]<br />
*[[1.6のブロック追加]]<br />
*[[1.6のアイテム追加]]<br />
**[[1.6のツール類追加]]<br />
***[[1.6のカスタムツール追加]]<br />
**[[1.6の食料追加]]<br />
**[[1.6の武器追加(剣)]]<br />
**[[1.6の防具追加]]<br />
*[[1.6のクリエイティブタブの追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.6のメタデータを持つアイテム・ブロック]]<br />
*[[1.6の骨粉処理]]<br />
*[[1.6の植物追加]]<br />
*[[1.6の流体追加]]<br />
**[[1.6の流体をバケツで扱う]]<br />
*[[鉱石辞書の利用|1.6の鉱石辞書の利用]]<br />
**[[1.6の鉱石辞書利用の実例]]<br />
*[[1.6のアニメーションアイテムの追加]]<br />
*[[カスタムレンダーを使用するブロックの追加]]<br />
*[[1.6のモデル付きカスタムツール追加]]<br />
*[[1.6のサウンドの追加]]<br />
*[[1.6のプレイヤーカスタムデータの追加]]<br />
<br />
====チュートリアル上級====<br />
*[[1.6のTileEntityの追加]]<br />
*[[パーティクルの追加]]<br />
*[[モンスタードロップの追加]]<br />
*[[構造物の追加]]<br />
*[[防具の特殊な処理]]<br />
*[[1.6の発射体Entityの追加]]<br />
<br />
====外部サイト====<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=12186 レシピの追加]<br />
<br />
===~1.5Modding===<br />
{{Warning}}サポートが打ち切られている、もしくは非常に古い情報を含みます<br />
→[[1.5以前のチュートリアル]]<br />
<br />
==Bukkit Pluginの作り方==<br />
Bukkitを前提としたサーバー用Moddingです。<br><br />
<!-- *[[Bukkit用MODの作成方法]] --><br />
*[[Plugin Tutorial]]<br />
*[[新しいEventSystemの使い方]]<br />
*[[新しいConfigurationの使い方]]<br />
*[[スケジューラのプログラミング]]<br />
*[[天候操作]]<br />
*[[スコアボードシステムの使い方]]<br />
*[[plugin.ymlの設定一覧]]<br />
<br />
==その他の前提mod==<br />
上記以外のmodを前提としたmodding。<br><br />
===Not Enough Items(NEI)===<br />
*[[NEIにて独自レシピを表示させる]]<br />
===LiteLoader rev317===<br />
*[[LiteLoader導入手順]]<br />
*[[LiteLoader/1.8のデバッグ画面へ情報を追加]]</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E4%B8%80%E8%A6%A7&diff=3567
チュートリアル一覧
2017-09-02T14:35:06Z
<p>ModderKina: </p>
<hr />
<div>※Moddingに関する質問は、[//forum.minecraftuser.jp/viewforum.php?f=39 非公式日本ユーザーフォーラム 質問:開発・制作関連]へ。<br />
<br />
{{TOC|limit=1}}<br />
==基礎知識・Tips==<br />
Moddingの基礎や、前提modに関わらないチュートリアルなど<br><br />
====外部参考サイト====<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=9494 ◆総合◆Modderのための雑談所]<br />
*[//forum.minecraftuser.jp/viewforum.php?f=21 MOD,プラグイン,その他ツール 開発関連]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3811 【技術共有】トピックを立てるまでもないライブラリとかコードとかの公開所]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3558 MOD制作小技紹介]<br />
<br />
*[//minecraft.gamepedia.com/Model Model.json]<br />
*[//minecraft.gamepedia.com/Sounds.json Sounds.json]<br />
*[//minecraft.gamepedia.com/Loot_table Loot_table.json]<br />
<br />
====Modding Tips====<br />
*[[ローカライズについて]]<br />
*[[NBTについて]]<br />
*[[1.8のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
**[[1.7のサウンド追加]]<br />
*[[1.6のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7でjar形式のAPIを利用する方法]]<br />
*[[1.7でjar形式でないAPIを利用する方法]]<br />
<br />
====ライブラリの知識====<br />
*[[Gradle利用]]<br />
*[[Guava概要]]<br />
*[[ASM利用]]<br />
<br />
==Minecraft Forge==<br />
===はじめに===<br />
※より詳しいことが知りたい人は、[[Minecraft Forge API]]へ。<br />
*[[MinecraftForge導入手順]]<br />
*[[mcmod.infoの設定]]<br />
*[[プロキシシステムについて]]<br />
*[[鉱石辞書の利用]]<br />
*[[Minecraft Forge Eventシステム概要|Eventシステム概要]]<br />
*[[Forge式Config利用]]<br />
*[[Capabilityシステム概要]]<br />
*[[Access Transformer利用]]<br />
*[[アノテーション一覧]]<br />
{| class="wikitable" style="text-align: center;"<br />
|+ チュートリアルの対応状況<br />
|-<br />
| colspan="9" style="text-align: left;"|<br />
{| class="wikitable"<br />
!colspan="2"|凡例<br />
|-<br />
|style="background-color: lightgreen;"| ✓<br />
| 記事作成済み<br />
|-<br />
|style="background-color: lightgreen;"| ○<br />
| 他のバージョンのものが利用可能である<br />
|-<br />
|style="background-color: mediumaquamarine;"| △<br />
| 他のバージョンのものが参考にできる(パッケージ、ネームテーブル等の変更で対応可能)<br />
|-<br />
|style="background-color: orangered;"| ☓<br />
| APIなどの変更があり他のものが参考にしがたい、もしくは他のバージョンのチュートリアルが存在しない<br />
|-<br />
|style="background-color: gray;"| &lowast;<br />
| 不可能である<br />
|-<br />
|style="background-color: sandybrown;"| ?<br />
| 未調査<br />
|}<br />
|-<br />
! scope="col"| 内容<br />
! scope="col"| [[#~1.5Modding|~1.5]]<br />
! scope="col"| [[#1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965|1.6.x]]<br />
! scope="col"| [[#1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)|1.7.x]]<br />
! scope="col"| [[#1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~|1.8.x]]<br />
! scope="col"| [[#1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~|1.9.x]]<br />
! scope="col"| [[#1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~|1.10.x]]<br />
! scope="col"| [[#1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~|1.11.x]]<br />
! scope="col"| [[#1.12Modding MinecraftForgeUniversal 14.21.0.2320~|1.12.x]]<br />
|-<br />
! scope="row"| レシピの追加<br />
|style="background-color: lightgreen;"| [[レシピの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のレシピ追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のレシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.12のレシピ追加|✓]]<br />
|-<br />
! scope="row"| 精錬レシピの追加<br />
|style="background-color: lightgreen;"| [[精錬レシピの追加|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7の精錬レシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 醸造レシピの追加<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| クリエイティブタブの追加<br />
|style="background-color: lightgreen;"| [[CreativeTabの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のクリエイティブタブの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| アイテムの追加<br />
|style="background-color: lightgreen;"| [[無機能アイテムの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| ブロックの追加<br />
|style="background-color: lightgreen;"| [[無機能ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.10.2のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.11のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| ポーションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[PotionEffectのチュートリアル|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のポーション追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のポーション追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| エンチャントの追加<br />
|style="background-color: lightgreen;"| [[Enchantmentの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のエンチャント追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のエンチャント追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| バイオームの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| サウンドの追加<br />
|style="background-color: lightgreen;"| [[音の追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のサウンドの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 村人の追加<br />
|style="background-color: lightgreen;"| [[村人取引の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7の村人取引の追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.9の村人職業追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| コンフィグの作成<br />
|style="background-color: lightgreen;"| [[Forge式コンフィグファイルの利用|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のForge式Config追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 実績(進捗)の追加<br />
|style="background-color: lightgreen;"| [[実績の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11の実績追加|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| 鉱石の生成<br />
|style="background-color: lightgreen;"| [[追加鉱物をワールドに生成させる|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.8のOreGenEvent利用による鉱石生成|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| TileEntityの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.6のTileEntityの追加|✓]]<br />
|style="background-color: lightgreen;"| [[シンプルなTileEntityの追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| GUIの追加<br />
|style="background-color: lightgreen;"| [[GUIの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のGUI追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 流体の追加<br />
|style="background-color: lightgreen;"| [[液体を追加する|✓]]<br />
|style="background-color: lightgreen;"| [[1.6の流体追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.8の液体ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| エンティティの追加<br />
|style="background-color: lightgreen;"| [[MOBを追加する|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.9のMOB追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| ディメンションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のディメンション追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.11のディメンション追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| WorldTypeの追加<br />
|style="background-color: lightgreen;"| [[WorldTypeの追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のWorldType追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|}<br />
===1.12Modding MinecraftForgeUniversal 14.21.0.2320~===<br />
====チュートリアル基礎====<br />
*[[1.11から1.12への変更点]]<br />
*[[1.12のレシピ追加]]<br />
*[[1.12のアイテム追加]]<br />
<br />
===1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~===<br />
====チュートリアル基礎====<br />
*[[1.10から1.11への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//minecraft.gamepedia.com/index.php?title=Model&oldid=1040633 1.11のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.11のレシピ追加]]<br />
*[[1.11の精錬レシピ追加]]<br />
*[[1.11の醸造レシピ追加]]<br />
*[[1.11のアイテム追加]]<br />
*[[1.11のブロック追加]]<br />
*[[1.11のクリエイティブタブ追加]]<br />
*[[1.11のサウンド追加]]<br />
*[[1.11のポーション追加]]<br />
*[[1.11のエンチャント追加]]<br />
*[[1.11の統計追加]]<br />
*[[1.11の実績追加]]<br />
*[[1.11のLootTable利用]]<br />
*[[1.11のWorldType追加]]<br />
*[[1.11のキー入力受け取り]]<br />
<br />
====チュートリアル中級====<br />
*[[1.11のEntity追加]]<br />
*[[1.11のTileEntity追加]]<br />
*[[1.11のディメンション追加]]<br />
*[[1.11のバイオーム追加]]<br />
*[[1.11の地形生成]]<br />
*[[1.11の構造物追加]]<br />
*[[1.11のパケット送受信]]<br />
*[[1.11のHUD追加]]<br />
*[[1.11のGUI追加]]<br />
**[[1.11のインベントリ付きGUI追加]]<br />
<br />
===1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~===<br />
<br />
====チュートリアル初級====<br />
*[[1.10.2のブロック追加]]<br />
<br />
===1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~===<br />
*[[1.8から1.9への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//goo.gl/FCIlNJ 1.9のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.9のブロック追加]]<br />
**[[1.9のForge式Json利用]]([//mcforge.readthedocs.org/en/latest/blockstates/forgeBlockstates/ ForgeDoc])<br />
*[[1.9のアイテム追加]]<br />
*[[1.9のポーション追加]]<br />
*[[1.9のエンチャント追加]]<br />
*[[1.9のバイオーム追加]]<br />
*[[1.9の村人職業追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.9のMOB追加]]<br />
====チュートリアル上級====<br />
<br />
===1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~===<br />
*[[1.7から1.8への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[[1.8のバニラJsonの仕様]]<br />
*[[1.8のブロック追加]]<br />
**[[1.8のブロックで部分的に色を変える方法]]<br />
**[[1.8のB3Dモデル利用ブロック追加]]<br />
*[[1.8のアイテム追加]]<br />
**[[1.8のアイテムで部分的に色を変える方法]]<br />
*[[1.8のOreGenEvent利用による鉱石生成]]<br />
*[[1.8のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.8のプレイヤーカスタムデータの追加]]<br />
*[[1.8のIRecipe利用によるレシピ追加]]<br />
*[[1.8の液体ブロックの追加]]<br />
*[[1.8のICustomModelLoader利用]]<br />
<br />
====チュートリアル上級====<br />
<br />
====他サイトリンク====<br />
*[http://www.nicovideo.jp/mylist/49688372 reine氏による1.8の開発記録動画]<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=9220 【Forgeチュートリアル】クラフトで耐久値が減るアイテムの作り方1.2.5~1.8 ソース付属 ]<br />
<br />
===1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)===<br />
*[[1.6から1.7への変更点]]<br />
*[[1.7の基本コーディング]]<br />
*[[1.7のInterModComms利用]]<br />
<br />
====チュートリアル初級====<br />
*[[1.7のレシピ追加]]<br />
*[[1.7の精錬レシピ追加]]<br />
*[[1.7のブロック追加]]<br />
*[[1.7のアイテム追加]]<br />
**[[1.7のアイテムに初期状態でエンチャント等NBTデータを付ける方法]]<br />
**[[1.7の武器追加(剣)]]<br />
**[[1.7の防具追加]]<br />
**[[1.7のアイテムで部分的に色を変える方法]]<br />
**[[1.7のアイテムのツールチップに情報を表示させる方法]]<br />
**[[1.7のアイテムの表示名を変更する方法]]<br />
*[[1.7のGUI追加]]<br />
*[[1.7のディスペンサーModding]]<br />
*[[1.7のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[DataWatcherを用いたエンティティの同期]]<br />
*[[1.7のパケットについて]]<br />
**[[1.7のキーボードイベント追加]]<br />
*[[1.7のプレイヤーカスタムデータの追加]]<br />
*[[Forge 10.12.1.1074以降でのクライアント/サーバMOD]]<br />
*[[逆さまの木の追加]]<br />
*[[シンプルなTileEntityの追加]]<br />
**[[1.7の液体タンクを持つTileEntityの追加]]<br />
*[[シフトクリック時の処理]]<br />
*[[1.7の村人取引の追加]]<br />
*[[1.7のディメンション追加]]<br />
*[[MOBの追加]]<br />
*[[独自のスポーンエッグの追加]]<br />
*[[1.7以降のIResourcePackの利用]]<br />
*[[1.7の独自レシピシステムの追加]]<br />
*[[1.7の属性値を動的変更できるアイテムの追加]]<br />
*[[1.7の独自Renderの追加]]<br />
*[[1.7でのインベントリ操作]]<br />
*[[1.7のForge式Config追加]]<br />
<br />
====チュートリアル上級====<br />
*[[前提MODの自動DLの仕方]]<br />
*[[インベントリを持つアイテムの追加]]<br />
<br />
;他サイトリンク<br />
*[https://goo.gl/5QbDjE defeatedcrow氏による1.7.10のMODの制作過程]<br />
<br />
===1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965===<br />
1.6からリソースパック方式の導入により、いくつかの項目で画像、音声、言語ファイル等の扱いが変更されました。<br><br />
また、MCP作者が1.6Modding環境としてForgeを推奨しています。<br><br />
<br />
====基本のチュートリアル====<br />
*[[1.6の開発環境の作り方]]<br />
*[[1.6の基本コーティング]]<br />
*[[1.6のテクスチャの指定]]<br />
*[[PotionEffectのチュートリアル]]<br />
<br />
====チュートリアル初級====<br />
*[[1.6のレシピ追加]]<br />
*[[1.6のブロック追加]]<br />
*[[1.6のアイテム追加]]<br />
**[[1.6のツール類追加]]<br />
***[[1.6のカスタムツール追加]]<br />
**[[1.6の食料追加]]<br />
**[[1.6の武器追加(剣)]]<br />
**[[1.6の防具追加]]<br />
*[[1.6のクリエイティブタブの追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.6のメタデータを持つアイテム・ブロック]]<br />
*[[1.6の骨粉処理]]<br />
*[[1.6の植物追加]]<br />
*[[1.6の流体追加]]<br />
**[[1.6の流体をバケツで扱う]]<br />
*[[鉱石辞書の利用|1.6の鉱石辞書の利用]]<br />
**[[1.6の鉱石辞書利用の実例]]<br />
*[[1.6のアニメーションアイテムの追加]]<br />
*[[カスタムレンダーを使用するブロックの追加]]<br />
*[[1.6のモデル付きカスタムツール追加]]<br />
*[[1.6のサウンドの追加]]<br />
*[[1.6のプレイヤーカスタムデータの追加]]<br />
<br />
====チュートリアル上級====<br />
*[[1.6のTileEntityの追加]]<br />
*[[パーティクルの追加]]<br />
*[[モンスタードロップの追加]]<br />
*[[構造物の追加]]<br />
*[[防具の特殊な処理]]<br />
*[[1.6の発射体Entityの追加]]<br />
<br />
====外部サイト====<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=12186 レシピの追加]<br />
<br />
===~1.5Modding===<br />
{{Warning}}サポートが打ち切られている、もしくは非常に古い情報を含みます<br />
→[[1.5以前のチュートリアル]]<br />
<br />
==Bukkit Pluginの作り方==<br />
Bukkitを前提としたサーバー用Moddingです。<br><br />
<!-- *[[Bukkit用MODの作成方法]] --><br />
*[[Plugin Tutorial]]<br />
*[[新しいEventSystemの使い方]]<br />
*[[新しいConfigurationの使い方]]<br />
*[[スケジューラのプログラミング]]<br />
*[[天候操作]]<br />
*[[スコアボードシステムの使い方]]<br />
*[[plugin.ymlの設定一覧]]<br />
<br />
==その他の前提mod==<br />
上記以外のmodを前提としたmodding。<br><br />
===Not Enough Items(NEI)===<br />
*[[NEIにて独自レシピを表示させる]]<br />
===LiteLoader rev317===<br />
*[[LiteLoader導入手順]]<br />
*[[LiteLoader/1.8のデバッグ画面へ情報を追加]]</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=1.12%E3%81%AE%E3%83%AC%E3%82%B7%E3%83%94%E8%BF%BD%E5%8A%A0&diff=3566
1.12のレシピ追加
2017-09-02T14:30:06Z
<p>ModderKina: Jsonについて追記</p>
<hr />
<div>{{前提MOD|reqmod="Minecraft Forge Universal 14.21.0.xxx~"}}<br />
{{チュートリアル難易度|difficulty=0}}<br />
このチュートリアルでは、基本的なレシピの追加方法について解説する。<br><br />
1.12からは以前の手法に加えて、Jsonによってレシピを記述できるようになった。<br><br />
また、その影響によって従来の方法にも少し変更が加えられている。<br><br />
バニラのクラスや書式を使う利点はないのでOreRecipeを用いる。<br />
== Jsonによる手法 ==<br />
1.12ではバニラのレシピカスタマイズ機能が不完全なため、Modのエントリクラス(@Modアノテーションがついたクラス)は不可欠。<br><br />
ここではエントリクラスが存在するという前提で、Jsonのみについて解説する。<br><br />
=== サンプル ===<br />
* dirt_to_diamond_vertical.json<br />
<source lang="javascript"><br />
{<br />
"type": "forge:ore_shaped",<br />
"group": "recipe_sample:dirt_to_diamond",<br />
"pattern": [<br />
" # ",<br />
" # ",<br />
" # "<br />
],<br />
"key": {<br />
"#": {<br />
"item": "minecraft:dirt",<br />
"data": 0<br />
}<br />
},<br />
"result": {<br />
"item": "minecraft:diamond"<br />
}<br />
}<br />
</source><br />
* dirt_to_diamond_horizontal.json<br />
<source lang="javascript"><br />
{<br />
"type": "forge:ore_shaped",<br />
"group": "recipe_sample:dirt_to_diamond",<br />
"pattern": [<br />
"###"<br />
],<br />
"key": {<br />
"#": {<br />
"item": "minecraft:dirt",<br />
"data": 0<br />
}<br />
},<br />
"result": {<br />
"item": "minecraft:diamond"<br />
}<br />
}<br />
</source><br />
* fluffy_diamond.json<br />
<source lang="javascript"><br />
{<br />
"type": "forge:ore_shapeless",<br />
"ingredients": [<br />
{<br />
"item": "minecraft:wool",<br />
"data": 3<br />
},<br />
{<br />
"item": "minecraft:feather"<br />
},<br />
{<br />
"item": "minecraft:web"<br />
}<br />
],<br />
"result": {<br />
"item": "minecraft:diamond"<br />
}<br />
}<br />
</source><br />
=== 解説 ===<br />
レシピのJsonは"assets/<modid>/recipes/"ディレクトリ下に配置すること。<br><br />
Jsonのファイル名はそのままレシピの内部名に用いられる。<br><br />
内部名はアドバンスメントによるレシピ解放などに用いる。<br><br />
groupに同一文字列を入れるとレシピ本において同じ括りで表示されるようになる。<br><br />
現状Wildcardメタ32767を用いるとレシピ本においては正常に扱えない。<br />
<br />
== 従来の手法 ==<br />
Forgeにより以前から提供されていたレシピ登録機能も引き続き利用できる。将来廃止されるかどうかは不透明である。<br><br />
ちなみに、Forge側は「1.13ではServer-Client同期が実装されることが予期されるから、Jsonに移行すべきだ」としている。<br />
=== サンプル ===<br />
<source lang="java"><br />
import net.minecraft.init.Blocks;<br />
import net.minecraft.init.Items;<br />
import net.minecraft.item.ItemStack;<br />
import net.minecraft.item.crafting.IRecipe;<br />
import net.minecraft.util.ResourceLocation;<br />
import net.minecraftforge.event.RegistryEvent;<br />
import net.minecraftforge.fml.common.Mod;<br />
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;<br />
import net.minecraftforge.oredict.ShapedOreRecipe;<br />
import net.minecraftforge.oredict.ShapelessOreRecipe;<br />
<br />
@Mod.EventBusSubscriber<br />
@Mod(modid = RecipeSample.MOD_ID, version = RecipeSample.MOD_VERSION)<br />
public class RecipeSample{<br />
public static final String MOD_ID = "recipe_sample";<br />
public static final String MOD_VERSION = "1.0";<br />
<br />
@SubscribeEvent<br />
public static void registerRecipes(RegistryEvent.Register<IRecipe> event){<br />
event.getRegistry().registerAll(<br />
new ShapedOreRecipe(new ResourceLocation(MOD_ID, "dirt_to_diamond"), Items.DIAMOND,<br />
" # ",<br />
" # ",<br />
" # ",<br />
'#', new ItemStack(Blocks.DIRT)<br />
).setRegistryName(MOD_ID, "dirt_to_diamond_vertical"),<br />
<br />
new ShapedOreRecipe(new ResourceLocation(MOD_ID, "dirt_to_diamond"), Items.DIAMOND,<br />
"###",<br />
'#', new ItemStack(Blocks.DIRT)<br />
).setRegistryName(MOD_ID, "dirt_to_diamond_horizontal"),<br />
<br />
new ShapelessOreRecipe(null, Items.DIAMOND,<br />
new ItemStack(Blocks.WOOL, 1, 3),<br />
new ItemStack(Items.FEATHER),<br />
new ItemStack(Blocks.WEB)<br />
).setRegistryName(MOD_ID, "fluffy_diamond")<br />
);<br />
}<br />
}<br />
</source><br />
=== 解説 ===<br />
第一引数のnameと第二引数のgroupが新たに追加された。<br><br />
現状Wildcardを用いるとレシピ本においては正常に扱えないうえに、従来のように材料に生のItem/Blockインスタンスを入れるとWildcardメタ扱いになるため注意。</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E4%B8%80%E8%A6%A7&diff=3551
チュートリアル一覧
2017-06-29T11:34:50Z
<p>ModderKina: 1.12の項目作った</p>
<hr />
<div>※Moddingに関する質問は、[//forum.minecraftuser.jp/viewforum.php?f=39 非公式日本ユーザーフォーラム 質問:開発・制作関連]へ。<br />
<br />
{{TOC|limit=1}}<br />
==基礎知識・Tips==<br />
Moddingの基礎や、前提modに関わらないチュートリアルなど<br><br />
====外部参考サイト====<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=9494 ◆総合◆Modderのための雑談所]<br />
*[//forum.minecraftuser.jp/viewforum.php?f=21 MOD,プラグイン,その他ツール 開発関連]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3811 【技術共有】トピックを立てるまでもないライブラリとかコードとかの公開所]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3558 MOD制作小技紹介]<br />
<br />
*[//minecraft.gamepedia.com/Model Model.json]<br />
*[//minecraft.gamepedia.com/Sounds.json Sounds.json]<br />
*[//minecraft.gamepedia.com/Loot_table Loot_table.json]<br />
<br />
====Modding Tips====<br />
*[[ローカライズについて]]<br />
*[[NBTについて]]<br />
*[[1.8のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
**[[1.7のサウンド追加]]<br />
*[[1.6のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7でjar形式のAPIを利用する方法]]<br />
*[[1.7でjar形式でないAPIを利用する方法]]<br />
<br />
====ライブラリの知識====<br />
*[[Gradle利用]]<br />
*[[Guava概要]]<br />
*[[ASM利用]]<br />
<br />
==Minecraft Forge==<br />
===はじめに===<br />
※より詳しいことが知りたい人は、[[Minecraft Forge API]]へ。<br />
*[[MinecraftForge導入手順]]<br />
*[[mcmod.infoの設定]]<br />
*[[プロキシシステムについて]]<br />
*[[鉱石辞書の利用]]<br />
*[[Minecraft Forge Eventシステム概要|Eventシステム概要]]<br />
*[[Forge式Config利用]]<br />
*[[Capabilityシステム概要]]<br />
*[[Access Transformer利用]]<br />
*[[アノテーション一覧]]<br />
{| class="wikitable" style="text-align: center;"<br />
|+ チュートリアルの対応状況<br />
|-<br />
| colspan="9" style="text-align: left;"|<br />
{| class="wikitable"<br />
!colspan="2"|凡例<br />
|-<br />
|style="background-color: lightgreen;"| ✓<br />
| 記事作成済み<br />
|-<br />
|style="background-color: lightgreen;"| ○<br />
| 他のバージョンのものが利用可能である<br />
|-<br />
|style="background-color: mediumaquamarine;"| △<br />
| 他のバージョンのものが参考にできる(パッケージ、ネームテーブル等の変更で対応可能)<br />
|-<br />
|style="background-color: orangered;"| ☓<br />
| APIなどの変更があり他のものが参考にしがたい、もしくは他のバージョンのチュートリアルが存在しない<br />
|-<br />
|style="background-color: gray;"| &lowast;<br />
| 不可能である<br />
|-<br />
|style="background-color: sandybrown;"| ?<br />
| 未調査<br />
|}<br />
|-<br />
! scope="col"| 内容<br />
! scope="col"| [[#~1.5Modding|~1.5]]<br />
! scope="col"| [[#1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965|1.6.x]]<br />
! scope="col"| [[#1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)|1.7.x]]<br />
! scope="col"| [[#1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~|1.8.x]]<br />
! scope="col"| [[#1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~|1.9.x]]<br />
! scope="col"| [[#1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~|1.10.x]]<br />
! scope="col"| [[#1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~|1.11.x]]<br />
! scope="col"| [[#1.12Modding MinecraftForgeUniversal 14.21.0.2320~|1.12.x]]<br />
|-<br />
! scope="row"| レシピの追加<br />
|style="background-color: lightgreen;"| [[レシピの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のレシピ追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のレシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| 精錬レシピの追加<br />
|style="background-color: lightgreen;"| [[精錬レシピの追加|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7の精錬レシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 醸造レシピの追加<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| クリエイティブタブの追加<br />
|style="background-color: lightgreen;"| [[CreativeTabの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のクリエイティブタブの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| アイテムの追加<br />
|style="background-color: lightgreen;"| [[無機能アイテムの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| ブロックの追加<br />
|style="background-color: lightgreen;"| [[無機能ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.10.2のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.11のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| ポーションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[PotionEffectのチュートリアル|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のポーション追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のポーション追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| エンチャントの追加<br />
|style="background-color: lightgreen;"| [[Enchantmentの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のエンチャント追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のエンチャント追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| バイオームの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| サウンドの追加<br />
|style="background-color: lightgreen;"| [[音の追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のサウンドの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 村人の追加<br />
|style="background-color: lightgreen;"| [[村人取引の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7の村人取引の追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.9の村人職業追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| コンフィグの作成<br />
|style="background-color: lightgreen;"| [[Forge式コンフィグファイルの利用|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のForge式Config追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 実績(進捗)の追加<br />
|style="background-color: lightgreen;"| [[実績の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11の実績追加|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| 鉱石の生成<br />
|style="background-color: lightgreen;"| [[追加鉱物をワールドに生成させる|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.8のOreGenEvent利用による鉱石生成|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| TileEntityの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.6のTileEntityの追加|✓]]<br />
|style="background-color: lightgreen;"| [[シンプルなTileEntityの追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| GUIの追加<br />
|style="background-color: lightgreen;"| [[GUIの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のGUI追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| 流体の追加<br />
|style="background-color: lightgreen;"| [[液体を追加する|✓]]<br />
|style="background-color: lightgreen;"| [[1.6の流体追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.8の液体ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| エンティティの追加<br />
|style="background-color: lightgreen;"| [[MOBを追加する|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.9のMOB追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| ディメンションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のディメンション追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.11のディメンション追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|-<br />
! scope="row"| WorldTypeの追加<br />
|style="background-color: lightgreen;"| [[WorldTypeの追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のWorldType追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|}<br />
===1.12Modding MinecraftForgeUniversal 14.21.0.2320~===<br />
====チュートリアル基礎====<br />
*[[1.11から1.12への変更点]]<br />
===1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~===<br />
====チュートリアル基礎====<br />
*[[1.10から1.11への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//minecraft.gamepedia.com/index.php?title=Model&oldid=1040633 1.11のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.11のレシピ追加]]<br />
*[[1.11の精錬レシピ追加]]<br />
*[[1.11の醸造レシピ追加]]<br />
*[[1.11のアイテム追加]]<br />
*[[1.11のブロック追加]]<br />
*[[1.11のクリエイティブタブ追加]]<br />
*[[1.11のサウンド追加]]<br />
*[[1.11のポーション追加]]<br />
*[[1.11のエンチャント追加]]<br />
*[[1.11の統計追加]]<br />
*[[1.11の実績追加]]<br />
*[[1.11のLootTable利用]]<br />
*[[1.11のWorldType追加]]<br />
*[[1.11のキー入力受け取り]]<br />
<br />
====チュートリアル中級====<br />
*[[1.11のEntity追加]]<br />
*[[1.11のTileEntity追加]]<br />
*[[1.11のディメンション追加]]<br />
*[[1.11のバイオーム追加]]<br />
*[[1.11の地形生成]]<br />
*[[1.11の構造物追加]]<br />
*[[1.11のパケット送受信]]<br />
*[[1.11のHUD追加]]<br />
*[[1.11のGUI追加]]<br />
**[[1.11のインベントリ付きGUI追加]]<br />
<br />
===1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~===<br />
<br />
====チュートリアル初級====<br />
*[[1.10.2のブロック追加]]<br />
<br />
===1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~===<br />
*[[1.8から1.9への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//goo.gl/FCIlNJ 1.9のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.9のブロック追加]]<br />
**[[1.9のForge式Json利用]]([//mcforge.readthedocs.org/en/latest/blockstates/forgeBlockstates/ ForgeDoc])<br />
*[[1.9のアイテム追加]]<br />
*[[1.9のポーション追加]]<br />
*[[1.9のエンチャント追加]]<br />
*[[1.9のバイオーム追加]]<br />
*[[1.9の村人職業追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.9のMOB追加]]<br />
====チュートリアル上級====<br />
<br />
===1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~===<br />
*[[1.7から1.8への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[[1.8のバニラJsonの仕様]]<br />
*[[1.8のブロック追加]]<br />
**[[1.8のブロックで部分的に色を変える方法]]<br />
**[[1.8のB3Dモデル利用ブロック追加]]<br />
*[[1.8のアイテム追加]]<br />
**[[1.8のアイテムで部分的に色を変える方法]]<br />
*[[1.8のOreGenEvent利用による鉱石生成]]<br />
*[[1.8のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.8のプレイヤーカスタムデータの追加]]<br />
*[[1.8のIRecipe利用によるレシピ追加]]<br />
*[[1.8の液体ブロックの追加]]<br />
*[[1.8のICustomModelLoader利用]]<br />
<br />
====チュートリアル上級====<br />
<br />
====他サイトリンク====<br />
*[http://www.nicovideo.jp/mylist/49688372 reine氏による1.8の開発記録動画]<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=9220 【Forgeチュートリアル】クラフトで耐久値が減るアイテムの作り方1.2.5~1.8 ソース付属 ]<br />
<br />
===1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)===<br />
*[[1.6から1.7への変更点]]<br />
*[[1.7の基本コーディング]]<br />
*[[1.7のInterModComms利用]]<br />
<br />
====チュートリアル初級====<br />
*[[1.7のレシピ追加]]<br />
*[[1.7の精錬レシピ追加]]<br />
*[[1.7のブロック追加]]<br />
*[[1.7のアイテム追加]]<br />
**[[1.7のアイテムに初期状態でエンチャント等NBTデータを付ける方法]]<br />
**[[1.7の武器追加(剣)]]<br />
**[[1.7の防具追加]]<br />
**[[1.7のアイテムで部分的に色を変える方法]]<br />
**[[1.7のアイテムのツールチップに情報を表示させる方法]]<br />
**[[1.7のアイテムの表示名を変更する方法]]<br />
*[[1.7のGUI追加]]<br />
*[[1.7のディスペンサーModding]]<br />
*[[1.7のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[DataWatcherを用いたエンティティの同期]]<br />
*[[1.7のパケットについて]]<br />
**[[1.7のキーボードイベント追加]]<br />
*[[1.7のプレイヤーカスタムデータの追加]]<br />
*[[Forge 10.12.1.1074以降でのクライアント/サーバMOD]]<br />
*[[逆さまの木の追加]]<br />
*[[シンプルなTileEntityの追加]]<br />
**[[1.7の液体タンクを持つTileEntityの追加]]<br />
*[[シフトクリック時の処理]]<br />
*[[1.7の村人取引の追加]]<br />
*[[1.7のディメンション追加]]<br />
*[[MOBの追加]]<br />
*[[独自のスポーンエッグの追加]]<br />
*[[1.7以降のIResourcePackの利用]]<br />
*[[1.7の独自レシピシステムの追加]]<br />
*[[1.7の属性値を動的変更できるアイテムの追加]]<br />
*[[1.7の独自Renderの追加]]<br />
*[[1.7でのインベントリ操作]]<br />
*[[1.7のForge式Config追加]]<br />
<br />
====チュートリアル上級====<br />
*[[前提MODの自動DLの仕方]]<br />
*[[インベントリを持つアイテムの追加]]<br />
<br />
;他サイトリンク<br />
*[https://goo.gl/5QbDjE defeatedcrow氏による1.7.10のMODの制作過程]<br />
<br />
===1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965===<br />
1.6からリソースパック方式の導入により、いくつかの項目で画像、音声、言語ファイル等の扱いが変更されました。<br><br />
また、MCP作者が1.6Modding環境としてForgeを推奨しています。<br><br />
<br />
====基本のチュートリアル====<br />
*[[1.6の開発環境の作り方]]<br />
*[[1.6の基本コーティング]]<br />
*[[1.6のテクスチャの指定]]<br />
*[[PotionEffectのチュートリアル]]<br />
<br />
====チュートリアル初級====<br />
*[[1.6のレシピ追加]]<br />
*[[1.6のブロック追加]]<br />
*[[1.6のアイテム追加]]<br />
**[[1.6のツール類追加]]<br />
***[[1.6のカスタムツール追加]]<br />
**[[1.6の食料追加]]<br />
**[[1.6の武器追加(剣)]]<br />
**[[1.6の防具追加]]<br />
*[[1.6のクリエイティブタブの追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.6のメタデータを持つアイテム・ブロック]]<br />
*[[1.6の骨粉処理]]<br />
*[[1.6の植物追加]]<br />
*[[1.6の流体追加]]<br />
**[[1.6の流体をバケツで扱う]]<br />
*[[鉱石辞書の利用|1.6の鉱石辞書の利用]]<br />
**[[1.6の鉱石辞書利用の実例]]<br />
*[[1.6のアニメーションアイテムの追加]]<br />
*[[カスタムレンダーを使用するブロックの追加]]<br />
*[[1.6のモデル付きカスタムツール追加]]<br />
*[[1.6のサウンドの追加]]<br />
*[[1.6のプレイヤーカスタムデータの追加]]<br />
<br />
====チュートリアル上級====<br />
*[[1.6のTileEntityの追加]]<br />
*[[パーティクルの追加]]<br />
*[[モンスタードロップの追加]]<br />
*[[構造物の追加]]<br />
*[[防具の特殊な処理]]<br />
*[[1.6の発射体Entityの追加]]<br />
<br />
====外部サイト====<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=12186 レシピの追加]<br />
<br />
===~1.5Modding===<br />
{{Warning}}サポートが打ち切られている、もしくは非常に古い情報を含みます<br />
→[[1.5以前のチュートリアル]]<br />
<br />
==Bukkit Pluginの作り方==<br />
Bukkitを前提としたサーバー用Moddingです。<br><br />
<!-- *[[Bukkit用MODの作成方法]] --><br />
*[[Plugin Tutorial]]<br />
*[[新しいEventSystemの使い方]]<br />
*[[新しいConfigurationの使い方]]<br />
*[[スケジューラのプログラミング]]<br />
*[[天候操作]]<br />
*[[スコアボードシステムの使い方]]<br />
*[[plugin.ymlの設定一覧]]<br />
<br />
==その他の前提mod==<br />
上記以外のmodを前提としたmodding。<br><br />
===Not Enough Items(NEI)===<br />
*[[NEIにて独自レシピを表示させる]]<br />
===LiteLoader rev317===<br />
*[[LiteLoader導入手順]]<br />
*[[LiteLoader/1.8のデバッグ画面へ情報を追加]]</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=Minecraft_Forge_Event%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E6%A6%82%E8%A6%81&diff=3440
Minecraft Forge Eventシステム概要
2017-04-03T16:57:15Z
<p>ModderKina: 加筆修正。</p>
<hr />
<div>==はじめに==<br />
Minecraft Forge Universalから新しいEventシステムが組み込まれた。ある処理にこちらの用意した処理を割り込ませる機能であり、介入しづらい処理にも介入できるようになりました。<br><br />
BukkitPluginのEventシステムと考え方は同じです。<br><br />
詳しく知りたい場合は、DI(依存性の注入)やAOP(アスペクト指向)などの概念、Struts2, SpringFrameworkなどの有名なフレームワークがキーワードとなるかもしれません。<br />
<br />
== 基礎 ==<br />
説明を抽象化するため、SampleEventという架空のイベントを仮定して説明します。<br><br />
<br />
メソッドにアノテーションと引数を指定すると、引数に指定したイベントの発火に合わせて呼び出されるようになります。<br><br />
引数でイベントを指定するため、メソッド名は自由に設定できます。<br />
<source lang = "java"><br />
@SubscribeEvent<br />
public void onSampleEvent(SampleEvent event) {<br />
}<br />
</source><br />
このメソッドの場合はSampleEventがEventBusを介してpostされる箇所で呼び出されます。メソッドを持つクラスまたはそのインスタンスは適切な箇所でEventBusに登録する必要があります。<br />
<br />
Minecraft Forgeの扱えるEventは[[Minecraft Forge API#イベント]]を参照すること。<br />
<br />
== 解説 ==<br />
<br />
=== イベントハンドラ ===<br />
処理を挟み込むには、イベントを待ち受けるメソッド(Event Handlerと呼ばれます)を作成します:<br />
<source lang="java"><br />
public void onSampleEvent(SampleEvent event) {<br />
// ここに処理を書きます...<br />
}<br />
</source><br />
このままではただのメソッドなので、SubscribeEventアノテーションをつけてイベントハンドラであることを明示しなければなりません。<br />
<br />
=== SubscribeEventアノテーション ===<br />
SubscribeEventアノテーションをメソッドにつけることでメソッドがハンドラであることを明示し、引数に取ったイベントを購読できるようになります。<br />
<br />
SubscribeEventアノテーションはメソッドを対象に取るアノテーションです。最も簡潔な記述は以下のとおりです:<br />
<source lang="java">@SubscribeEvent</source><br />
この場合は、メソッドは優先度NORMALのイベントハンドラであるという指定になります。<br />
<br />
以上をまとめると、次のようになります:<br />
<source lang="java">@SubscribeEvent<br />
public void onSampleEvent(SampleEvent event) {<br />
// ここに処理を書きます...<br />
}</source><br />
<br />
==== イベントハンドラの設定 ====<br />
SubscribeEventアノテーションでは、ハンドラについて設定できます。<br /><br />
現時点では次のような指定が行えます:<br />
{| class="wikitable"<br />
|型<br />
|項目名<br />
|デフォルト値<br />
|概要<br />
|指定できる値<br />
|-<br />
|EventPriority<br />
|priority<br />
|EventPriority.NORMAL<br />
|ハンドラの優先度。<br />
|<br />
* EventPriority.HIGHEST<br />
* EventPriority.HIGH<br />
* EventPriority.NORMAL<br />
* EventPriority.LOW<br />
* EventPriority.LOWEST<br />
|-<br />
|boolean<br />
|receiveCanceled<br />
|false<br />
|この値にtrueを指定した場合は、イベントがキャンセルされた際にイベントを購読しない。<br />
|<br />
* true<br />
* false<br />
|}<br />
<br />
===== イベントの優先度 =====<br />
<br />
上記の表にあるように、イベントの優先度は5種類ありますが、イベントが呼び出される順序は下記のようになっています。<br />
<br />
# EventPriority.HIGHEST <br />
# EventPriority.HIGH <br />
# EventPriority.NORMAL <br />
# EventPriority.LOW <br />
# EventPriority.LOWEST <br />
<br />
優先度が高いものから順繰りに実行されていきます。<br><br />
HIGHESTなど高い優先度のハンドラでイベントがキャンセルされると、それ以下の優先度かつreceiveCanceledがtrueの場合ハンドラの処理がスキップされるということです。<br />
<br />
=== イベントハンドラの登録 ===<br />
以上のようにメソッドを記述した上で、EventBusにそのメソッドを記述したクラスやそのインスタンスを登録しなければなりません。<br><br />
<br />
記述しているメソッドが購読するイベントに応じて、登録するEventBusは変わります。<br><br />
<br />
例えば、ForgeEventHookというクラスにMinecraftForge.EVENT_BUSで発火されるイベントのハンドラを記述した場合は<br />
<source lang = "java"><br />
MinecraftForge.EVENT_BUS.register(new ForgeEventHook())<br />
</source><br />
または<br />
<source lang = "java"><br />
MinecraftForge.EVENT_BUS.register(ForgeEventHook.class)<br />
</source><br />
というように登録します。<br />
<br />
インスタンスで登録した場合は、インスタンスメソッドでハンドラを記述します。<br><br />
クラスで登録した場合は、クラスメソッドでハンドラを記述します。<br><br />
MinecraftForge.EVENT_BUSに限っては、@EventBusSubscriberでクラスを注釈すれば自動的に登録されます。<br><br />
この場合は、クラスメソッドでハンドラを記述します。<br />
<br />
MinecraftForgeが提供するEventBusには三種類あります。<br />
; MinecraftForge.EVENT_BUS<br />
: 基本的なイベント群はここから発火される。以下のBusで発火されないイベントはここと覚えれば良い。<br />
; MinecraftForge.TERRAIN_GEN_BUS<br />
: 地形生成に関するイベントはここから発火される。<br />
; MinecraftForge.ORE_GEN_BUS<br />
: 鉱石生成に関するイベントはここから発火される。<br />
<br />
以前はFMLCommonHandler.instance().bus()という物もありましたが、MinecraftForge.EVENT_BUSに統合されました。<br />
<br />
=== 利用可能なメソッド解説 ===<br />
イベントによって様々あるが、ここではベースクラス[[Event]]について解説する。<br />
<br />
==== イベントのキャンセル ====<br />
イベントがCancelableな場合は、イベントをキャンセルできます。<br><br />
具体的にはsetCanceledでtrueを渡すとキャンセルすることになります。<br><br />
イベントがCancelableかどうかは、そのイベントにCancelableアノテーションがついているかによって判断できます。<br><br />
スキップできる処理はイベントによって異なりますが、バニラの処理と後述するreceiveCanceledがtrueのハンドラの処理が対象になります。<br><br />
詳しくはそれぞれのEventのドキュメントを参照しています。<br />
<br />
==== イベントの結果 ====<br />
イベントがHasResultな場合は、イベントに結果を持たせられます。<br><br />
具体的にはsetResultを呼び出すことで結果を決定できます。<br><br />
イベントがHasResultかどうかは、そのイベントにHasResultアノテーションがついているかによって判断できます。<br><br />
ResultはDENY,DEFAULT,ALLOWの三値をとります。<br><br />
各イベントで若干意味は異なりますが、基本的には<br />
それぞれ、<br />
; DENY<br />
: 強制不成功。イベントをキャンセルするのによく似る。<br />
; DEFAULT<br />
: 判定をバニラと同様にする。結果への不介入。処理は挟むが、その後の処理については別に干渉したくない場合に用いる。<br />
; ALLOW<br />
: 強制成功。DENYの全く逆。<br />
<br />
== イベントの自作 ==<br />
Minecraft Forgeの利用しているイベントの仕組みと全く同一の仕組みを利用して、イベントを自作できます。<br><br />
自作と言っても、Eventクラスを継承していればイベントとして機能しますので、好きに設計することができます。<br><br />
クラスを作成すれば、あとは任意のタイミングで任意のEventBusからpostを呼び出せば発火できます。<br />
<br />
CancelableやHasResultの指定も同様に行えますが、その場合スキップ判定等は自分で行わなければならないことに注意してください。</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=Minecraft_Forge_Event%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E6%A6%82%E8%A6%81&diff=3439
Minecraft Forge Eventシステム概要
2017-04-02T14:42:18Z
<p>ModderKina: 新しいEventSystemの使い方を参考にちょいと書き足した。</p>
<hr />
<div>==はじめに==<br />
Minecraft Forge Universalから新しいEventシステムが組み込まれた。ある処理にこちらの用意した処理を割り込ませる機能であり、介入しづらい処理にも介入できるようになりました。<br><br />
BukkitPluginのEventシステムと考え方は同じです。<br><br />
詳しく知りたい場合は、DI(依存性の注入)やAOP(アスペクト指向)などの概念、Struts2, SpringFrameworkなどの有名なフレームワークがキーワードとなるかもしれません。<br />
<br />
== 基礎 ==<br />
説明を抽象化するため、SampleEventという架空のイベントを仮定して説明します。<br><br />
<br />
メソッドにアノテーションと引数を指定すると、引数に指定したイベントの発火に合わせて呼び出されるようになります。<br><br />
引数でイベントを指定するため、メソッド名は自由に設定できます。<br />
<source lang = "java"><br />
@SubscribeEvent<br />
public void onSampleEvent(SampleEvent event) {<br />
}<br />
</source><br />
このメソッドの場合はSampleEventがEventBusを介してpostされる箇所で呼び出されます。メソッドを持つクラスまたはそのインスタンスは適切な箇所でEventBusに登録する必要があります。<br />
<br />
Minecraft Forgeの扱えるEventは[[Minecraft Forge API#イベント]]を参照すること。<br />
<br />
== 解説 ==<br />
<br />
=== イベントハンドラ ===<br />
処理を挟み込むには、イベントを待ち受けるメソッド(Event Handlerと呼ばれます)を作成します:<br />
<source lang="java"><br />
public void onSampleEvent(SampleEvent event) {<br />
// ここに処理を書きます...<br />
}<br />
</source><br />
このままではただのメソッドなので、SubscribeEventアノテーションをつけてイベントハンドラであることを明示しなければなりません。<br />
<br />
=== SubscribeEventアノテーション ===<br />
SubscribeEventアノテーションをメソッドにつけることでメソッドがハンドラであることを明示し、引数に取ったイベントを購読できるようになります。<br />
<br />
SubscribeEventアノテーションはメソッドを対象に取るアノテーションです。最も簡潔な記述は以下のとおりです:<br />
<source lang="java">@SubscribeEvent</source><br />
この場合は、メソッドは優先度NORMALのイベントハンドラであるという指定になります。<br />
<br />
以上をまとめると、次のようになります:<br />
<source lang="java">@SubscribeEvent<br />
public void onSampleEvent(SampleEvent event) {<br />
// ここに処理を書きます...<br />
}</source><br />
<br />
==== イベントのキャンセル ====<br />
イベントがCancelableな場合は、イベントをキャンセルできます。<br><br />
スキップできる処理はイベントによって異なりますが、バニラの処理と後述するreceiveCanceledがtrueのハンドラの処理が対象になります。<br><br />
詳しくはそれぞれのEventのドキュメントを参照しています。<br />
<br />
==== イベントの結果 ====<br />
イベントがHasResultな場合は、イベントに結果を持たせられます。<br><br />
ResultはDENY,DEFAULT,ALLOWの三値をとります。<br><br />
各イベントで若干意味は異なりますが、基本的には<br />
それぞれ、<br />
; DENY<br />
: 否定。不成功。イベントをキャンセルするのによく似る。<br />
; DEFAULT<br />
: 判定をバニラと同様にする。結果への不介入。処理は挟むが、その後の処理については別に干渉したくない場合に用いる。<br />
; ALLOW<br />
: 強制。成功。バニラがどんな判定をしようが、構いなくこちら側で動作を強制する。<br />
<br />
==== イベントハンドラの設定 ====<br />
SubscribeEventアノテーションでは、ハンドラについて設定できます。<br /><br />
現時点では次のような指定が行えます:<br />
{| class="wikitable"<br />
|型<br />
|項目名<br />
|デフォルト値<br />
|概要<br />
|指定できる値<br />
|-<br />
|EventPriority<br />
|priority<br />
|EventPriority.NORMAL<br />
|ハンドラの優先度。<br />
|<br />
* EventPriority.HIGHEST<br />
* EventPriority.HIGH<br />
* EventPriority.NORMAL<br />
* EventPriority.LOW<br />
* EventPriority.LOWEST<br />
|-<br />
|boolean<br />
|receiveCanceled<br />
|false<br />
|この値にtrueを指定した場合は、イベントがキャンセルされた際にイベントを購読しない。<br />
|<br />
* true<br />
* false<br />
|}<br />
<br />
===== イベントの優先度 =====<br />
<br />
上記の表にあるように、イベントの優先度は5種類ありますが、イベントが呼び出される順序は下記のようになっています。<br />
<br />
# EventPriority.HIGHEST <br />
# EventPriority.HIGH <br />
# EventPriority.NORMAL <br />
# EventPriority.LOW <br />
# EventPriority.LOWEST <br />
<br />
優先度が高いものから順繰りに実行されていきます。<br><br />
HIGHESTなど高い優先度のハンドラでイベントがキャンセルされると、それ以下の優先度かつreceiveCanceledがtrueの場合ハンドラの処理がスキップされるということです。<br />
<br />
== イベントハンドラの登録 ==<br />
以上のようにメソッドを記述した上で、EventBusにそのメソッドを記述したクラスやそのインスタンスを登録しなければなりません。<br><br />
<br />
記述しているメソッドが購読するイベントに応じて、登録するEventBusは変わります。<br><br />
<br />
例えば、ForgeEventHookというクラスにMinecraftForge.EVENT_BUSで発火されるイベントのハンドラを記述した場合は<br />
<source lang = "java"><br />
MinecraftForge.EVENT_BUS.register(new ForgeEventHook())<br />
</source><br />
または<br />
<source lang = "java"><br />
MinecraftForge.EVENT_BUS.register(ForgeEventHook.class)<br />
</source><br />
というように登録します。<br />
<br />
インスタンスで登録した場合は、インスタンスメソッドでハンドラを記述します。<br><br />
クラスで登録した場合は、クラスメソッドでハンドラを記述します。<br><br />
MinecraftForge.EVENT_BUSに限っては、@EventBusSubscriberでクラスを注釈すれば自動的に登録されます。<br><br />
この場合は、クラスメソッドでハンドラを記述します。<br />
<br />
MinecraftForgeが提供するEventBusには三種類あります。<br />
; MinecraftForge.EVENT_BUS<br />
: 基本的なイベント群はここから発火される。以下のBusで発火されないイベントはここと覚えれば良い。<br />
; MinecraftForge.TERRAIN_GEN_BUS<br />
: 地形生成に関するイベントはここから発火される。<br />
; MinecraftForge.ORE_GEN_BUS<br />
: 鉱石生成に関するイベントはここから発火される。<br />
<br />
以前はFMLCommonHandler.instance().bus()という物もありましたが、MinecraftForge.EVENT_BUSに統合されました。<br />
<br />
== イベントの自作 ==<br />
Minecraft Forgeの利用しているイベントの仕組みと全く同一の仕組みを利用して、イベントを自作できます。<br><br />
自作と言っても、Eventクラスを継承していればイベントとして機能しますので、好きに設計することができます。<br><br />
クラスを作成すれば、あとは任意のタイミングで任意のEventBusからpostを呼び出せば発火できます。<br />
<br />
CancelableやHasResultの指定も同様に行えますが、その場合スキップ判定等は自分で行わなければならないことに注意してください。</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=1.11%E3%81%AE%E7%B5%B1%E8%A8%88%E8%BF%BD%E5%8A%A0&diff=3432
1.11の統計追加
2017-03-28T12:59:36Z
<p>ModderKina: wikitable</p>
<hr />
<div>{{前提MOD|reqmod="Minecraft Forge Universal 13.19.0.xxx~"}}<br />
{{チュートリアル難易度|difficulty=0|clear=none}}<br />
{{チュートリアルカテゴリー|difficulty=0|type=Player}}<br />
<br />
== 統計の追加 ==<br />
=== StatBasic ===<br />
「net.minecraft.stats.StatBasic」は、「net.minecraft.stats.StatBase」のサブクラスで、統計の名称(例えば、「ゲームを終了した回数」)や表示書式(例えば、日を表す「d」や距離を表す「m」「cm」といった単位を付ける処理)を格納するクラスです。<br />
<br />
StatBasicのコンストラクタは2種類あり、一方には表示書式のインターフェース「net.minecraft.stats.IStatType」のインスタンスを渡すことができます。もう一方では、整数を扱うデフォルトの表示書式「StatBase#simpleStatType」が使用されます。<br />
<br />
StatBasicのコンストラクタの第一引数には、統計を特定する固有のIDをString型で渡します。第二引数には、インターフェース「net.minecraft.util.text.ITextComponent」を実装したクラスのインスタンスを渡します。ここには「net.minecraft.util.text.TextComponentTranslation」を使うことで、ローカライズしたテキストを表示できるでしょう。<br />
<br />
Modで追加するStatBasicのインスタンスは、「StatBasic#registerStat」を呼び出すことでゲーム内に統計として追加することができます。バニラの統計を扱うときは、「net.minecraft.stats.StatList」にあるStatBasicのstaticなインスタンスを使用します。<br />
<br />
統計の値を操作するときは、「net.minecraft.entity.player.EntityPlayer#addStat」を呼び出します。この関数の第一引数はStatBase型を取り、「StatBasic」を渡します。第二引数「amount」には、統計の値を操作する(増加させる)量を指定します。<br />
<br />
例<br />
<source lang="java" line><br />
player.addStat(STAT_SAMPLE); // player.addStat(STAT_SAMPLE, 1); が呼ばれる<br />
<br />
player.addStat(STAT_SAMPLE_2, 10);<br />
</source><br />
<br />
「EntityPlayer#addStat」は「実績」の獲得にも使用されます。「実績」は「StatBasic」と同じく「StatBase」のサブクラスである「net.minecraft.stats.Achievement」で表現します。こちらも扱ってみたい方は、[[1.11の実績追加]]を参照するとよいでしょう。<br />
<br />
'''''統計の操作は、一度ワールドに入り直さないと反映されないかもしれません(バニラの仕様かバグ?)。'''''<br />
<br />
{| class="wikitable"<br />
!メソッド名!!操作<br />
|-<br />
|initIndependentStat||不明。サーバーから「独立した」統計として設定するという意味?<br />
isIndependentがtrueになり、「net.minecraft.client.entity.EntityPlayerSP#addStat」を呼び出したとき、スーパークラスの「#addStat」呼び出しをスキップしなくなるが、「EntityPlayerSP」のスーパークラス「net.minecraft.client.entity.AbstractClientPlayer」では再実装されておらず、その上の「EntityPlayer」では空実装になっているので、未実装要素で意味はないと思われる。<br />
|-<br />
|registerStat||インスタンスを統計としてゲームに登録する。<br />
|}<br />
<br />
=== 弓矢で自分を攻撃した統計の追加 ===<br />
弓矢を使って自分で自分を攻撃するたびに1ずつ増える統計を追加します。<br />
<br />
SampleMod.java<br />
<source lang="java" line><br />
package samplemod;<br />
<br />
import net.minecraft.entity.Entity;<br />
import net.minecraft.entity.player.EntityPlayer;<br />
import net.minecraft.stats.StatBasic;<br />
import net.minecraft.util.DamageSource;<br />
import net.minecraft.util.EntityDamageSourceIndirect;<br />
import net.minecraft.util.text.TextComponentTranslation;<br />
import net.minecraftforge.event.entity.living.LivingHurtEvent;<br />
import net.minecraftforge.fml.common.Mod;<br />
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;<br />
<br />
@Mod(modid = SampleModStat.MOD_ID, name = SampleModStat.MOD_NAME, version = SampleModStat.VERSION)<br />
public class SampleModStat {<br />
public static final String MOD_ID = "samplemod";<br />
public static final String MOD_NAME = "Sample Mod";<br />
public static final String VERSION = "0.1.0";<br />
<br />
<br />
public static final StatBasic stat_self_injury_with_arrow = (StatBasic) new StatBasic(<br />
"stat." + MOD_ID + ".self_injury_with_arrow",<br />
new TextComponentTranslation("stat." + MOD_ID + ".self_injury_with_arrow")<br />
).registerStat();<br />
<br />
@Mod.EventBusSubscriber<br />
public static class Handler {<br />
@SubscribeEvent<br />
public static void onHurt(LivingHurtEvent event) {<br />
DamageSource source = event.getSource();<br />
<br />
if (source instanceof EntityDamageSourceIndirect) {<br />
EntityDamageSourceIndirect indirect = (EntityDamageSourceIndirect) source;<br />
Entity hurtEntity = event.getEntity();<br />
Entity indirectEntity = indirect.getEntity();<br />
<br />
if (hurtEntity == indirectEntity && hurtEntity instanceof EntityPlayer) {<br />
EntityPlayer player = (EntityPlayer) hurtEntity;<br />
<br />
player.addStat(stat_self_injury_with_arrow, 1); // player.addStat(stat_self_injury_with_arrow); でも同じ<br />
}<br />
<br />
}<br />
<br />
}<br />
}<br />
<br />
}<br />
<br />
</source><br />
<br />
<br />
=== バニラの統計 ===<br />
統計追加の参考用に、バニラの統計リストを引用します。これは、1.11.2時点のものです。<br />
<br />
==== General ====<br />
{| class="wikitable"<br />
!英語名!!日本語名!!対応フィールド<br />
|-<br />
|Games Quit||ゲームを終了した回数||<br />
|-<br />
|Times Played||ゲームプレイ時間||<br />
|-<br />
|Since Last Death||最後に死亡してからの経過時間||<br />
|-<br />
|Sneak Time||スニークした時間||<br />
|-<br />
|Distance Walked||歩いた距離||<br />
|-<br />
|Distance Crouched||スニークした距離||<br />
|-<br />
|Distance Sprinted||ダッシュした距離||<br />
|-<br />
|Distance Swum||泳いだ距離||<br />
|-<br />
|Distance Fallen||落下した距離||<br />
|-<br />
|Distance Climbed||登った距離||<br />
|-<br />
|Distance Flown||空中を移動した距離||<br />
|-<br />
|Distance Dove||水中歩行した距離||<br />
|-<br />
|Distance by Minecart||トロッコで移動した距離||<br />
|-<br />
|Distance by Boat||ボートで移動した距離||<br />
|-<br />
|Distance by Pig||ブタで移動した距離||<br />
|-<br />
|Distance by Horse||馬で移動した距離||<br />
|-<br />
|Distance by Elytra||エリトラで飛行した距離||<br />
|-<br />
|Jumps||ジャンプした回数||<br />
|-<br />
|Items Dropped||アイテムを落とした回数||<br />
|-<br />
|Damage Dealt||与えたダメージ||<br />
|-<br />
|Damage Taken||受けたダメージ||<br />
|-<br />
|Number of Deaths||死亡回数||<br />
|-<br />
|Mob Kills||Mobを倒した回数||<br />
|-<br />
|Animals Bred||動物を繁殖させた回数||<br />
|-<br />
|Player Kills||プレイヤーを倒した回数||<br />
|-<br />
|Fish Caught||魚を釣った回数||<br />
|-<br />
|Talked to Villagers||村人と会話した回数||<br />
|-<br />
|Traded with Villagers||村人と取引した回数||<br />
|-<br />
|Cake Slices Eaten||ケーキの一切れを食べた回数||<br />
|-<br />
|Cauldrons Filled||大釜を水で満たした回数||<br />
|-<br />
|Water Taken from Cauldron||大釜から水を取った回数||<br />
|-<br />
|Armor Pieces Cleaned||防具を脱色した回数||<br />
|-<br />
|Banners Cleaned||旗を脱色した回数||<br />
|-<br />
|Interactions with Brewing Stand||醸造台を使った回数||<br />
|-<br />
|Interactions with Beacon||ビーコンを使った回数||<br />
|-<br />
|Droppers Searched||ドロッパーの中身を見た回数||<br />
|-<br />
|Hoppers Searched||ホッパーの中身を見た回数||<br />
|-<br />
|Dispensers Searched||ディスペンサーの中身を見た回数||<br />
|-<br />
|Note Blocks Played||音符ブロックを鳴らした回数||<br />
|-<br />
|Note Blocks Tuned||音符ブロックの音階を変えた回数||<br />
|-<br />
|Plants Potted||植物を植木鉢に植えた回数||<br />
|-<br />
|Trapped Chests Triggered||トラップチェストを反応させた回数||<br />
|-<br />
|Ender Chests Opened||エンダーチェストを開いた回数||<br />
|-<br />
|Items Enchanted||アイテムをエンチャントした回数||<br />
|-<br />
|Records Played||レコードを再生した回数||<br />
|-<br />
|Interactions with Furnace||かまどを使用した回数||<br />
|-<br />
|Interactions with Crafting Table||作業台を使用した回数||<br />
|-<br />
|Chests Opened||チェストを開いた回数||<br />
|-<br />
|Times Slept in a Bed||ベッドで寝た回数||<br />
|-<br />
|Shulker Boxes Opened||シュルカーボックスを開いた回数||<br />
|}<br />
<br />
ゲーム内の「統計」に表示されない項目<br />
{| class="wikitable"<br />
!英語名!!対応フィールド<br />
|-<br />
|Minutes Played||<br />
|-<br />
|Worlds Created||<br />
|-<br />
|Saves Loaded||<br />
|-<br />
|Multiplayer Joins||<br />
|-<br />
|Dropped||<br />
|-<br />
|Picked Up||<br />
|-<br />
|Treasure Fished||<br />
|-<br />
|Junk Fished||<br />
|}</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=MediaWiki:Sidebar&diff=3431
MediaWiki:Sidebar
2017-03-28T12:42:56Z
<p>ModderKina: Wikiのリンク</p>
<hr />
<div>* navigation<br />
** mainpage|mainpage-description<br />
** Special:Recentchanges|最近の更新<br />
** 拡張タグ|拡張タグ<br />
** 井戸端|井戸端<br />
<br />
* SEARCH<br />
<br />
* 基本情報<br />
** MOD開発環境を作る|MOD開発環境を作る<br />
** 用語|用語<br />
<br />
* チュートリアル<br />
** チュートリアル一覧|チュートリアル一覧<br />
<br />
* 解説<br />
** Class解説|Minecraft Class解説<br />
<!--** 植物系ブロックの解説(1)サボテン|植物系ブロック解説1--><br />
<!--** API一覧|API一覧--><br />
** Minecraft Forge API|Minecraft Forge API<br />
** ModLoader API|ModLoader API<br />
** IndustrialCraft² API|IndustrialCraft² API<br />
** MineChem API|MineChem API<br />
** ComputerCraft API|ComputerCraft API<br />
<br />
* リンク<br />
** http://www.minecraft.net/|Minecraft 公式サイト<br />
** http://www.minecraftforum.net/|Minecraft Forum<br />
** http://minecraft.gamepedia.com/Minecraft_Wiki|Minecraft Wiki<br />
** http://www26.atwiki.jp/minecraft/|Minecraft Japan Wiki<br />
** http://minecraft-ja.gamepedia.com/Minecraft_Wiki|Minecraft Wiki(JA)<br />
** http://forum.minecraftuser.jp/|Minecraft 非公式日本ユーザーフォーラム<br />
<br />
* その他<br />
** 管理者との連絡ノート|管理者との連絡ノート<br />
** サンドボックス|サンドボックス(編集練習用)<br />
** http://www.mediawiki.org/wiki/Help:Contents/ja|Wikiのヘルプ<br />
** MediaWiki:Sidebar|サイドバー(管理者用)<br />
<br />
* TOOLBOX<br />
<br />
* LANGUAGES</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%A9%E3%82%A4%E3%82%BA%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&diff=3428
ローカライズについて
2017-03-28T12:20:43Z
<p>ModderKina: pack_format周り追記</p>
<hr />
<div>== ローカライズについて ==<br />
Minecraftが使用しているローカライズ・国際化(I18n=Intenationalization)機能について解説します。<br />
<br />
=== 言語ファイル ===<br />
Minecraftが対応している言語ファイルでは、「K=V」と「行コメント」が使用できます。ここでは、「K」はローカライズ前の文字列を表し、「V」はローカライズ後の文字列を表しています。<br />
<br />
また、「V」は実際にローカライズが行われるタイミングで「引数」を受け取ることができ、引数は「String#format」で解釈されます。詳しくは、[https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#format-java.lang.String-java.lang.Object...- String#formatのJavadoc]、[https://docs.oracle.com/javase/jp/8/docs/api/java/util/Formatter.html#syntax 書式文字列の構文のJavadoc]を参照するといいでしょう。<br />
<br />
「行コメント」の開始文字は、「#」です。<br />
<br />
例えば、以下のような書式です。<br />
<source lang="text" line><br />
# 「#」以降は「コメント」として無視される<br />
<br />
K=V # ここも無視される<br />
<br />
tile.sample_block.name=Sample Block<br />
item.sample_item.name=Sample Item<br />
<br />
this.is.unlocalized.key=This is localized value.<br />
sample.arg.int=I'll give you %1$d minutes.<br />
sample.arg.string=Hi. This is a %1$s Mod.<br />
<br />
</source><br />
<br />
バニラの言語ファイルは、「assets/minecraft/lang」直下に存在します。ファイル名は1.11以降「小文字_小文字.lang」が使われます。([http://minecraft.gamepedia.com/Language#Available_languages バニラで用意されているロケール一覧])例えば英語は、「en_us.lang」になります。<br />
<br />
Modでは「assets/<modid>/lang」直下に言語ファイルを配置します。<br><br />
pack.mcmetaで指定できるリソースパックのパックフォーマット("pack_format")が3の場合、バニラ1.11以降と同じく「小文字_小文字.lang」がファイル名になります。<br><br />
指定しなかった場合は1.10以前と同じく「小文字_大文字.lang」というファイル名になります。(1.11現在デフォルトのパックフォーマットが2であるため)<br />
<br />
=== I18n ===<br />
「net.minecraft.client.resources.I18n」は、Minecraftの言語設定に基づいて、適切に配置したMinecraftの言語ファイルによるローカライズ結果を取得するのに使われています。ただし、このローカライズはクライアント側でのみ可能です(Forge環境では@SideOnly(Side.CLIENT)が付与されています)。以前(未調査、1.9か1.8.9?)は「net.minecraft.util.text.translation.I18n」や「net.minecraft.util.StatCollector」が使われていました。<br />
<br />
ローカライズには、「I18n#format」を使用します。第一引数にローカライズ前の文字列を渡し、可変長引数となっている第二引数にローカライズで使用する「引数」を渡します。この「引数」は、言語ファイルの項で述べた「引数」と同一です。<br />
<br />
例(コメントは戻り値)<br />
<source lang="java"><br />
I18n.format("this.is.unlocalized.key"); // "This is localized value."<br />
<br />
I18n.format("sample.arg.int", 3); // "I'll give you 3 minutes."<br />
I18n.format("sample.arg.string", "Minecraft"); // This is a Minecraft Mod.<br />
</source><br />
<br />
=== StatCollector ===<br />
'''''この項は、Minecraft (未調査、1.8.x?)までを対象とした内容です。'''''<br />
<br />
(未調査)</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=Minecraft_Forge_API&diff=3384
Minecraft Forge API
2017-03-25T05:07:47Z
<p>ModderKina: /* 一覧 */ 表にしてみた</p>
<hr />
<div>{{Warning}}現在編集中であり、古い情報が多く含まれています。<br />
==概要==<br />
Minecraft Forgeとは、Mod間の互換性を保ちつつMinecraftを拡張するために作られたAPIである。<br><br />
1.8以前はForgeModLoaderが基本部分を担っていたが、統合された。<br />
<br />
===開発環境でのインストール方法===<br />
[[MinecraftForge導入手順]]を参照。<br />
<br />
===関連リンク===<br />
*[//mcforge.readthedocs.org MinecraftForge Documentation (English)]<br />
*[http://www.minecraftforge.net/forum/ Minecraft Forge Forum]<br />
*[http://files.minecraftforge.net/ Minecraft Forge Downloads]<br />
<div class="mw-collapsible mw-collapsed"><br />
====古いリンク====<br />
<div class="mw-collapsible-content"><br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=2558 【API解説】Minecraft Forge(1.3.0)]<br />
*[[Minecraft Forge公式wiki翻訳]]<br />
*[http://www4.atwiki.jp/reginn666/ reginn666@ウィキ]<br />
</div><br />
</div><br />
<br />
==ForgeModLoader API==<br />
1.8の統合後は<code>net.minecraftforge.fml</code>下、統合前は<code>cpw.mods.fml</code>下に存在するAPI群。<br><br />
ローダー部分や基本的なイベント、フックはこちらに含まれている。<br><br />
現在は統合されているため、特にMinecraft Forgeと区別する必要はない。<br />
*net.minecraftforge.fml<br />
**client<br />
**:クライアントサイドのAPI群<br />
**:*config<br />
**:*:コンフィグGUI向けのコンポーネント群<br />
**:*event<br />
**:*:クライアントサイド基本イベント<br />
**:*:*[[ConfigChangedEvent]]<br />
**:*registry<br />
**:*:クライアントサイドレジストリ<br />
**:*:*[[ClientRegistry]]<br />
**:*:*<s>[[KeyBindingRegistry]]</s> <u>[[ClientRegistry]]</u> (1.3のUniversal化に伴い移動された)<br />
**:*:*[[RenderingRegistry]]<br />
**:*[[FMLClientHandler]]<br />
**:*[[IModGuiFactory]]<br />
**common<br />
**:クライアント/サーバー共通のAPI群<br />
**:*asm<br />
**:*:FML内部のASM利用クラス<br />
**:*discovery<br />
**:*:Mod探知機能群<br />
**:*:*[[ASMDataTable]]<br />
**:*event<br />
**:*:EventHandlerアノテーションで購読できるイベント群<br />
**:*:*[[1.6の基本コーティング|FMLStateEvent]]<br />
**:*eventhandler<br />
**:*:Event関連の基本クラス<br />
**:*:*[[Event]]<br />
**:*:*[[Event|SubscribeEvent]]<br />
**:*functions<br />
**:*:UtilのFunction群<br />
**:*gameevent<br />
**:*:基本的なゲーム内イベント群<br />
**:*:*[[InputEvent]]<br />
**:*:*[[FMLPlayerEvent|PlayerEvent]]<br />
**:*:*[[TickEvent]]<br />
**:*launcher<br />
**:*:FML自体をMinecraftに仕込むためのクラス群<br />
**:*network<br />
**:*:サーバーとクライアントを橋渡しするためのクラス群<br />
**:*:*handshake<br />
**:*:*:橋渡しの内部処理<br />
**:*:*internal<br />
**:*:*:FML自体が用いているメッセージング処理<br />
**:*:*simpleimpl<br />
**:*:*:単純実装群<br />
**:*:*:関連チュートリアル: [[1.7のパケットについて]]<br />
**:*:*[[FMLNetworkEvent]]<br />
**:*:*[[IGuiHandler]]<br />
**:*:*[[NetworkCheckHandler]]<br />
**:*:*[[NetworkRegistry]]<br />
**:*patcher<br />
**:*:MinecraftにFML変更部分をパッチするためのクラス群<br />
**:*registry<br />
**:*:基本レジストリ群<br />
**:*:*[[EntityRegistry]]<br />
**:*:*[[GameRegistry]]<br />
**:*:**<s>[[ICraftingHandler]]</s> <u>[[FMLPlayerEvent|PlayerEvent]]</u> (1.3のUniversal化に伴いEventとなった)<br />
**:*:**[[IFuelHandler]]<br />
**:*:**<s>[[IPickupNotifier]]</s> <u>[[FMLPlayerEvent|PlayerEvent]]</u> (1.3のUniversal化に伴いEventとなった)<br />
**:*:**<s>[[IPlayerTracker]]</s> <u>[[FMLPlayerEvent|PlayerEvent]]</u> (1.3のUniversal化に伴いEventとなった)<br />
**:*:**[[IWorldGeneretor]]<br />
**:*:*[[IEntityAdditionalSpawnData]]<br />
**:*:*[[IThrowableEntity]]<br />
**:*:*<s>[[LanguageRegistry]]</s> <u>[[TickEvent]]</u> (1.3のUniversal化に伴いEventとなった)<br />
**:*:*[[RegistryBuilder]]<br />
**:*:*<s>[[TickRegistry]]</s> <u>[[ClientRegistry]]</u> (1.3のUniversal化に伴い移動された)<br />
**:*:*[[VillagerRegistry]]<br />
**:*toposort<br />
**:*:Modのソートに使用されるTopologicalSortの実装<br />
**:*versioning<br />
**:*:バージョン表記のパーサー群<br />
**relancher<br />
**:ローダー周りのUtil、API群<br />
**:*[[IFMLCallHook]]<br />
**:*[[Coremodsの基礎|IFMLLoadingPlugin]]<br />
**:*[[SideOnly]]<br />
**repackage<br />
**:FML内部で使われているサードパーティー製Util群<br />
**server<br />
**:サーバーサイドのAPI群<br />
**:*[[FMLServerHandler]]<br />
<br />
==Minecraft Forge API==<br />
===追加メソッド===<br />
<br />
===基礎===<br />
*;[[AchievementPage]]<br />
:実績ページの追加を担うAPI<br />
*;[[BiomeManager]]<br />
:村や遺跡などが生成されるバイオームを管理するAPI<br />
*;<s>[[ChestGenHooks]]</s><br />
:ダンジョンや遺跡, 廃坑などに生成されるチェストの中身へのフックを担うAPI<br />
:'''1.9でLootTableが実装されたため廃止された。'''<br />
*;[[Configuration]]<br />
:Forge式コンフィグファイルの生成を担うユーティリティ<br />
*;[[DimensionManager]]<br />
:Dimension関連のAPI<br />
*;[[EnumHelper]]<br />
:動的にEnum定数を追加するユーティリティ<br />
*;[[MinecraftForge]]<br />
:イベントの登録や様々なフックを担うAPI<br />
<br />
*;[[EnumPlantType]]<br />
:植物に関するEnum定数<br />
*;<s>[[ForgeDirection]]</s><br />
:方向に関するEnum定数<br />
:'''1.8以降バニラにEnumDirectionができたので廃止された。'''<br />
<br />
*;[[IPlantable]]<br />
:植物インタフェース<br />
*;[[IShearable]]<br />
:ハサミインタフェース<br />
*;[[ISpecialArmor]]<br />
:特殊な防具用のインタフェース<br />
:;関連クラス<br />
:*[[ArmorProperties]]<br />
<br />
===イベント===<br />
*;[[Event]]<br />
:イベント概略<br />
*;[[通常イベント]]<br />
:EVENT_BUSに登録するイベント<br />
*;[[地形生成イベント]]<br />
:TERRAIN_GEN_BUSに登録するイベント<br />
*;[[鉱石生成イベント]]<br />
:ORE_GEN_BUSに登録するイベント<br />
==== 一覧 ====<br />
整備中。<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
|+イベント一覧<br />
|-<br />
! colspan="5" | Event名<br />
|-<br />
| rowspan="272" | Event (net.minecraftforge.fml.common.eventhandler)<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AnvilUpdateEvent (net.minecraftforge.event)<br />
| <br />
| <br />
| <br />
|-<br />
| BabyEntitySpawnEvent (net.minecraftforge.event.entity.living)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="7" | BiomeEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="4" | BiomeColor in BiomeEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
|-<br />
| GetFoliageColor in BiomeEvent (net.minecraftforge.event.terraingen)<br />
| <br />
|-<br />
| GetGrassColor in BiomeEvent (net.minecraftforge.event.terraingen)<br />
| <br />
|-<br />
| GetWaterColor in BiomeEvent (net.minecraftforge.event.terraingen)<br />
| <br />
|-<br />
| CreateDecorator in BiomeEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
|-<br />
| GetVillageBlockID in BiomeEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
|-<br />
| rowspan="13" | BlockEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
| <br />
|-<br />
| BreakEvent in BlockEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
|-<br />
| CreateFluidSourceEvent in BlockEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
|-<br />
| rowspan="3" | CropGrowEvent in BlockEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
|-<br />
| Post in CropGrowEvent in BlockEvent (net.minecraftforge.event.world)<br />
| <br />
|-<br />
| Pre in CropGrowEvent in BlockEvent (net.minecraftforge.event.world)<br />
| <br />
|-<br />
| HarvestDropsEvent in BlockEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
|-<br />
| NeighborNotifyEvent in BlockEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
|-<br />
| rowspan="3" | NoteBlockEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
|-<br />
| Change in NoteBlockEvent (net.minecraftforge.event.world)<br />
| <br />
|-<br />
| Play in NoteBlockEvent (net.minecraftforge.event.world)<br />
| <br />
|-<br />
| rowspan="2" | PlaceEvent in BlockEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
|-<br />
| MultiPlaceEvent in BlockEvent (net.minecraftforge.event.world)<br />
| <br />
|-<br />
| rowspan="7" | ChunkGeneratorEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
| <br />
|-<br />
| InitNoiseField in ChunkGeneratorEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
|-<br />
| rowspan="4" | PopulateChunkEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
|-<br />
| Populate in PopulateChunkEvent (net.minecraftforge.event.terraingen)<br />
| <br />
|-<br />
| Post in PopulateChunkEvent (net.minecraftforge.event.terraingen)<br />
| <br />
|-<br />
| Pre in PopulateChunkEvent (net.minecraftforge.event.terraingen)<br />
| <br />
|-<br />
| ReplaceBiomeBlocks in ChunkGeneratorEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
|-<br />
| rowspan="3" | ChunkWatchEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
| <br />
|-<br />
| UnWatch in ChunkWatchEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
|-<br />
| Watch in ChunkWatchEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
|-<br />
| ClientChatReceivedEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| CommandEvent (net.minecraftforge.event)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="3" | ConfigChangedEvent (net.minecraftforge.fml.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| OnConfigChangedEvent in ConfigChangedEvent (net.minecraftforge.fml.client.event)<br />
| <br />
| <br />
|-<br />
| PostConfigChangedEvent in ConfigChangedEvent (net.minecraftforge.fml.client.event)<br />
| <br />
| <br />
|-<br />
| CustomNetworkEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="4" | DecorateBiomeEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
| <br />
|-<br />
| Decorate in DecorateBiomeEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
|-<br />
| Post in DecorateBiomeEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
|-<br />
| Pre in DecorateBiomeEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
|-<br />
| DrawBlockHighlightEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="90" | EntityEvent (net.minecraftforge.event.entity)<br />
| <br />
| <br />
| <br />
|-<br />
| CanUpdate in EntityEvent (net.minecraftforge.event.entity)<br />
| <br />
| <br />
|-<br />
| EnteringChunk in EntityEvent (net.minecraftforge.event.entity)<br />
| <br />
| <br />
|-<br />
| EntityConstructing in EntityEvent (net.minecraftforge.event.entity)<br />
| <br />
| <br />
|-<br />
| EntityJoinWorldEvent (net.minecraftforge.event.entity)<br />
| <br />
| <br />
|-<br />
| EntityMountEvent (net.minecraftforge.event.entity)<br />
| <br />
| <br />
|-<br />
| EntityStruckByLightningEvent (net.minecraftforge.event.entity)<br />
| <br />
| <br />
|-<br />
| EntityTravelToDimensionEvent (net.minecraftforge.event.entity)<br />
| <br />
| <br />
|-<br />
| rowspan="3" | ItemEvent (net.minecraftforge.event.entity.item)<br />
| <br />
| <br />
|-<br />
| ItemExpireEvent (net.minecraftforge.event.entity.item)<br />
| <br />
|-<br />
| ItemTossEvent (net.minecraftforge.event.entity.item)<br />
| <br />
|-<br />
| rowspan="71" | LivingEvent (net.minecraftforge.event.entity.living)<br />
| <br />
| <br />
|-<br />
| EnderTeleportEvent (net.minecraftforge.event.entity.living)<br />
| <br />
|-<br />
| LivingAttackEvent (net.minecraftforge.event.entity.living)<br />
| <br />
|-<br />
| LivingDeathEvent (net.minecraftforge.event.entity.living)<br />
| <br />
|-<br />
| rowspan="2" | LivingDropsEvent (net.minecraftforge.event.entity.living)<br />
| <br />
|-<br />
| PlayerDropsEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| rowspan="5" | LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
| <br />
|-<br />
| Finish in LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
|-<br />
| Start in LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
|-<br />
| Stop in LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
|-<br />
| Tick in LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
|-<br />
| LivingEquipmentChangeEvent (net.minecraftforge.event.entity.living)<br />
| <br />
|-<br />
| LivingExperienceDropEvent (net.minecraftforge.event.entity.living)<br />
| <br />
|-<br />
| LivingFallEvent (net.minecraftforge.event.entity.living)<br />
| <br />
|-<br />
| LivingHealEvent (net.minecraftforge.event.entity.living)<br />
| <br />
|-<br />
| LivingHurtEvent (net.minecraftforge.event.entity.living)<br />
| <br />
|-<br />
| LivingJumpEvent in LivingEvent (net.minecraftforge.event.entity.living)<br />
| <br />
|-<br />
| LivingPackSizeEvent (net.minecraftforge.event.entity.living)<br />
| <br />
|-<br />
| LivingSetAttackTargetEvent (net.minecraftforge.event.entity.living)<br />
| <br />
|-<br />
| rowspan="4" | LivingSpawnEvent (net.minecraftforge.event.entity.living)<br />
| <br />
|-<br />
| AllowDespawn in LivingSpawnEvent (net.minecraftforge.event.entity.living)<br />
|-<br />
| CheckSpawn in LivingSpawnEvent (net.minecraftforge.event.entity.living)<br />
|-<br />
| SpecialSpawn in LivingSpawnEvent (net.minecraftforge.event.entity.living)<br />
|-<br />
| LivingUpdateEvent in LivingEvent (net.minecraftforge.event.entity.living)<br />
| <br />
|-<br />
| LootingLevelEvent (net.minecraftforge.event.entity.living)<br />
| <br />
|-<br />
| rowspan="46" | PlayerEvent (net.minecraftforge.event.entity.player)<br />
| <br />
|-<br />
| AchievementEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| AnvilRepairEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| ArrowLooseEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| ArrowNockEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| AttackEntityEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| BonemealEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| BreakSpeed in PlayerEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| Clone in PlayerEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| EntityItemPickupEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| FillBucketEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| HarvestCheck in PlayerEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| ItemTooltipEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| LoadFromFile in PlayerEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| NameFormat in PlayerEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| PlayerBrewedPotionEvent (net.minecraftforge.event.brewing)<br />
|-<br />
| PlayerContainerEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| <br />
|-<br />
| <br />
|-<br />
| PlayerDestroyItemEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| PlayerFlyableFallEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| <br />
|-<br />
| <br />
|-<br />
| <br />
|-<br />
| <br />
|-<br />
| <br />
|-<br />
| <br />
|-<br />
| <br />
|-<br />
| PlayerPickupXpEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| PlayerSetSpawnEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| PlayerSleepInBedEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| PlayerWakeUpEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| RenderPlayerEvent (net.minecraftforge.client.event)<br />
|-<br />
| <br />
|-<br />
| <br />
|-<br />
| <br />
|-<br />
| <br />
|-<br />
| <br />
|-<br />
| <br />
|-<br />
| SaveToFile in PlayerEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| SleepingLocationCheckEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| StartTracking in PlayerEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| StopTracking in PlayerEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| UseHoeEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| Visibility in PlayerEvent (net.minecraftforge.event.entity.player)<br />
|-<br />
| rowspan="4" | MinecartEvent (net.minecraftforge.event.entity.minecart)<br />
| <br />
| <br />
|-<br />
| MinecartCollisionEvent (net.minecraftforge.event.entity.minecart)<br />
| <br />
|-<br />
| MinecartInteractEvent (net.minecraftforge.event.entity.minecart)<br />
| <br />
|-<br />
| MinecartUpdateEvent (net.minecraftforge.event.entity.minecart)<br />
| <br />
|-<br />
| PlaySoundAtEntityEvent (net.minecraftforge.event.entity)<br />
| <br />
| <br />
|-<br />
| ThrowableImpactEvent (net.minecraftforge.event.entity)<br />
| <br />
| <br />
|-<br />
| rowspan="2" | ZombieEvent (net.minecraftforge.event.entity.living)<br />
| <br />
| <br />
|-<br />
| SummonAidEvent in ZombieEvent (net.minecraftforge.event.entity.living)<br />
| <br />
|-<br />
| EntitySelectorEvent (net.minecraftforge.event)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="6" | EntityViewRenderEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| CameraSetup in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| FogColors in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| FogDensity in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| FOVModifier in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| RenderFogEvent in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| rowspan="3" | ExplosionEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
| <br />
|-<br />
| Detonate in ExplosionEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
|-<br />
| Start in ExplosionEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
|-<br />
| rowspan="5" | FluidEvent (net.minecraftforge.fluids)<br />
| <br />
| <br />
| <br />
|-<br />
| FluidDrainingEvent in FluidEvent (net.minecraftforge.fluids)<br />
| <br />
| <br />
|-<br />
| FluidFillingEvent in FluidEvent (net.minecraftforge.fluids)<br />
| <br />
| <br />
|-<br />
| FluidMotionEvent in FluidEvent (net.minecraftforge.fluids)<br />
| <br />
| <br />
|-<br />
| FluidSpilledEvent in FluidEvent (net.minecraftforge.fluids)<br />
| <br />
| <br />
|-<br />
| FluidRegisterEvent in FluidRegistry (net.minecraftforge.fluids)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="9" | FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
| <br />
| <br />
| <br />
|-<br />
| ClientConnectedToServerEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
| <br />
| <br />
|-<br />
| ClientDisconnectionFromServerEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
| <br />
| <br />
|-<br />
| rowspan="3" | CustomPacketEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
| <br />
| <br />
|-<br />
| ClientCustomPacketEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
| <br />
|-<br />
| ServerCustomPacketEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
| <br />
|-<br />
| CustomPacketRegistrationEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
| <br />
| <br />
|-<br />
| ServerConnectionFromClientEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
| <br />
| <br />
|-<br />
| ServerDisconnectionFromClientEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
| <br />
| <br />
|-<br />
| ForceChunkEvent in ForgeChunkManager (net.minecraftforge.common)<br />
| <br />
| <br />
| <br />
|-<br />
| FOVUpdateEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="8" | GenericEvent (net.minecraftforge.fml.common.eventhandler)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="5" | AttachCapabilitiesEvent (net.minecraftforge.event)<br />
| <br />
| <br />
|-<br />
| Entity in AttachCapabilitiesEvent (net.minecraftforge.event)<br />
| <br />
|-<br />
| Item in AttachCapabilitiesEvent (net.minecraftforge.event)<br />
| <br />
|-<br />
| TileEntity in AttachCapabilitiesEvent (net.minecraftforge.event)<br />
| <br />
|-<br />
| World in AttachCapabilitiesEvent (net.minecraftforge.event)<br />
| <br />
|-<br />
| rowspan="2" | RegistryEvent (net.minecraftforge.event)<br />
| <br />
| <br />
|-<br />
| Register in RegistryEvent (net.minecraftforge.event)<br />
| <br />
|-<br />
| GuiOpenEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="18" | GuiScreenEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="3" | ActionPerformedEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| Post in ActionPerformedEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
| <br />
|-<br />
| Pre in ActionPerformedEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
| <br />
|-<br />
| BackgroundDrawnEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| rowspan="3" | DrawScreenEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| Post in DrawScreenEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
| <br />
|-<br />
| Pre in DrawScreenEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
| <br />
|-<br />
| rowspan="3" | InitGuiEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| Post in InitGuiEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
| <br />
|-<br />
| Pre in InitGuiEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
| <br />
|-<br />
| rowspan="3" | KeyboardInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| Post in KeyboardInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
| <br />
|-<br />
| Pre in KeyboardInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
| <br />
|-<br />
| rowspan="3" | MouseInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| Post in MouseInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
| <br />
|-<br />
| Pre in MouseInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
| <br />
|-<br />
| PotionShiftEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| InitMapGenEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="3" | InputEvent (net.minecraftforge.fml.common.gameevent)<br />
| <br />
| <br />
| <br />
|-<br />
| KeyInputEvent in InputEvent (net.minecraftforge.fml.common.gameevent)<br />
| <br />
| <br />
|-<br />
| MouseInputEvent in InputEvent (net.minecraftforge.fml.common.gameevent)<br />
| <br />
| <br />
|-<br />
| LootTableLoadEvent (net.minecraftforge.event)<br />
| <br />
| <br />
| <br />
|-<br />
| ModelBakeEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| ModelRegistryEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| MouseEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| NewRegistry in RegistryEvent (net.minecraftforge.event)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="4" | OreGenEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
| <br />
|-<br />
| GenerateMinable in OreGenEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
|-<br />
| Post in OreGenEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
|-<br />
| Pre in OreGenEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
|-<br />
| OreRegisterEvent in OreDictionary (net.minecraftforge.oredict)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="8" | PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
| <br />
| <br />
| <br />
|-<br />
| ItemCraftedEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
| <br />
| <br />
|-<br />
| ItemPickupEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
| <br />
| <br />
|-<br />
| ItemSmeltedEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
| <br />
| <br />
|-<br />
| PlayerChangedDimensionEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
| <br />
| <br />
|-<br />
| PlayerLoggedInEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
| <br />
| <br />
|-<br />
| PlayerLoggedOutEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
| <br />
| <br />
|-<br />
| PlayerRespawnEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
| <br />
| <br />
|-<br />
| rowspan="3" | PotionBrewEvent (net.minecraftforge.event.brewing)<br />
| <br />
| <br />
| <br />
|-<br />
| Post in PotionBrewEvent (net.minecraftforge.event.brewing)<br />
| <br />
| <br />
|-<br />
| Pre in PotionBrewEvent (net.minecraftforge.event.brewing)<br />
| <br />
| <br />
|-<br />
| RenderBlockOverlayEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="6" | RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| Post in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| rowspan="4" | Pre in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| BossInfo in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
| <br />
|-<br />
| Chat in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
| <br />
|-<br />
| Text in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
| <br />
|-<br />
| RenderHandEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| RenderItemInFrameEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="6" | RenderLivingEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| Post in RenderLivingEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| Pre in RenderLivingEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| rowspan="3" | Specials in RenderLivingEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| Post in Specials in RenderLivingEvent (net.minecraftforge.client.event)<br />
| <br />
|-<br />
| Pre in Specials in RenderLivingEvent (net.minecraftforge.client.event)<br />
| <br />
|-<br />
| RenderSpecificHandEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="5" | RenderTooltipEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="3" | Post in RenderTooltipEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| PostBackground in RenderTooltipEvent (net.minecraftforge.client.event)<br />
| <br />
|-<br />
| PostText in RenderTooltipEvent (net.minecraftforge.client.event)<br />
| <br />
|-<br />
| Pre in RenderTooltipEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| RenderWorldLastEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| ScreenshotEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| ServerChatEvent (net.minecraftforge.event)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="7" | SoundEvent (net.minecraftforge.client.event.sound)<br />
| <br />
| <br />
| <br />
|-<br />
| PlaySoundEvent (net.minecraftforge.client.event.sound)<br />
| <br />
| <br />
|-<br />
| SoundLoadEvent (net.minecraftforge.client.event.sound)<br />
| <br />
| <br />
|-<br />
| SoundSetupEvent (net.minecraftforge.client.event.sound)<br />
| <br />
| <br />
|-<br />
| rowspan="3" | SoundSourceEvent in SoundEvent (net.minecraftforge.client.event.sound)<br />
| <br />
| <br />
|-<br />
| PlaySoundSourceEvent (net.minecraftforge.client.event.sound)<br />
| <br />
|-<br />
| PlayStreamingSourceEvent (net.minecraftforge.client.event.sound)<br />
| <br />
|-<br />
| rowspan="3" | TextureStitchEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
| <br />
|-<br />
| Post in TextureStitchEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| Pre in TextureStitchEvent (net.minecraftforge.client.event)<br />
| <br />
| <br />
|-<br />
| rowspan="6" | TickEvent (net.minecraftforge.fml.common.gameevent)<br />
| <br />
| <br />
| <br />
|-<br />
| ClientTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
| <br />
| <br />
|-<br />
| PlayerTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
| <br />
| <br />
|-<br />
| RenderTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
| <br />
| <br />
|-<br />
| ServerTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
| <br />
| <br />
|-<br />
| WorldTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
| <br />
| <br />
|-<br />
| UnforceChunkEvent in ForgeChunkManager (net.minecraftforge.common)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="15" | WorldEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
| <br />
|-<br />
| rowspan="6" | ChunkEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
|-<br />
| rowspan="3" | ChunkDataEvent (net.minecraftforge.event.world)<br />
| <br />
|-<br />
| Load in ChunkDataEvent (net.minecraftforge.event.world)<br />
|-<br />
| Save in ChunkDataEvent (net.minecraftforge.event.world)<br />
|-<br />
| Load in ChunkEvent (net.minecraftforge.event.world)<br />
| <br />
|-<br />
| Unload in ChunkEvent (net.minecraftforge.event.world)<br />
| <br />
|-<br />
| CreateSpawnPosition in WorldEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
|-<br />
| GetCollisionBoxesEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
|-<br />
| InitNoiseGensEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
|-<br />
| Load in WorldEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
|-<br />
| PotentialSpawns in WorldEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
|-<br />
| SaplingGrowTreeEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
|-<br />
| Save in WorldEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
|-<br />
| Unload in WorldEvent (net.minecraftforge.event.world)<br />
| <br />
| <br />
|-<br />
| rowspan="3" | WorldTypeEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
| <br />
|-<br />
| BiomeSize in WorldTypeEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
|-<br />
| InitBiomeGens in WorldTypeEvent (net.minecraftforge.event.terraingen)<br />
| <br />
| <br />
|}<br />
<br />
===流体API===<br />
*;<s>[[FluidContainerRegistry]]</s> <u>Capabilityシステムの導入に伴い廃止</u><br />
:流体の容器の登録API<br />
<br />
===鉱石辞書===<br />
*;[[OreDictionary]]<br />
:鉱石辞書本体, 鉱石辞書への登録, 参照を担うAPI<br />
*;[[ShapedOreRecipe]]<br />
:鉱石辞書を利用した定形レシピを追加するためのクラス<br />
*;[[ShapelessOreRecipe]]<br />
:鉱石辞書を利用した不定形レシピを追加するためのクラス</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=%E7%94%A8%E8%AA%9E&diff=3383
用語
2017-03-25T03:45:06Z
<p>ModderKina: リンクー</p>
<hr />
<div>;[[ModLoader API|ModLoader]]<br />
:ModLoaderとは、マインクラフトの大半のMODの作成、導入を補助する前提MOD。<br />
:レシピやアイテムの追加などを簡単に行うことができる。<br />
;ModLoaderMP<br />
:ModLoaderMPとは、マインクラフトのSMP(マルチプレイ)に対応させるためのMOD作成・導入補助用の前提MOD。<br />
;[[Minecraft Forge API|Minecraft Forge]]<br />
:Minecraft Forgeとは、MOD作成において要求頻度の高い様々な拡張機能を総合的に補助する前提MOD。<br />
:SpriteIDの消費抑制(実質無限化)や、ModLoaderだけでは出来ないような複雑で細かなシステムの作成ができる。<br />
:; SpriteID<br />
::テクスチャのオーバーライド等で使われていたID。<br />
::1.5以前はこれによってテクスチャ数に制限があった。<br />
::BlockIDの枯渇よりある意味深刻な問題であったため、無限化できるMinecraft Forgeは重宝された。</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=%E7%94%A8%E8%AA%9E&diff=3382
用語
2017-03-24T20:09:26Z
<p>ModderKina: 整理</p>
<hr />
<div>;ModLoader<br />
:ModLoaderとは、マインクラフトの大半のMODの作成、導入を補助する前提MOD。<br />
:レシピやアイテムの追加などを簡単に行うことができる。<br />
;ModLoaderMP<br />
:ModLoaderMPとは、マインクラフトのSMP(マルチプレイ)に対応させるためのMOD作成・導入補助用の前提MOD。<br />
;Minecraft Forge<br />
:Minecraft Forgeとは、MOD作成において要求頻度の高い様々な拡張機能を総合的に補助する前提MOD。<br />
:SpriteIDの消費抑制(実質無限化)や、ModLoaderだけでは出来ないような複雑で細かなシステムの作成ができる。<br />
:; SpriteID<br />
::テクスチャのオーバーライド等で使われていたID。<br />
::1.5以前はこれによってテクスチャ数に制限があった。<br />
::BlockIDの枯渇よりある意味深刻な問題であったため、無限化できるMinecraft Forgeは重宝された。</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=Minecraft_Forge_API&diff=3381
Minecraft Forge API
2017-03-24T19:52:30Z
<p>ModderKina: /* ForgeModLoader API */</p>
<hr />
<div>{{Warning}}現在編集中であり、古い情報が多く含まれています。<br />
==概要==<br />
Minecraft Forgeとは、Mod間の互換性を保ちつつMinecraftを拡張するために作られたAPIである。<br><br />
1.8以前はForgeModLoaderが基本部分を担っていたが、統合された。<br />
<br />
===開発環境でのインストール方法===<br />
[[MinecraftForge導入手順]]を参照。<br />
<br />
===関連リンク===<br />
*[//mcforge.readthedocs.org MinecraftForge Documentation (English)]<br />
*[http://www.minecraftforge.net/forum/ Minecraft Forge Forum]<br />
*[http://files.minecraftforge.net/ Minecraft Forge Downloads]<br />
<div class="mw-collapsible mw-collapsed"><br />
====古いリンク====<br />
<div class="mw-collapsible-content"><br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=2558 【API解説】Minecraft Forge(1.3.0)]<br />
*[[Minecraft Forge公式wiki翻訳]]<br />
*[http://www4.atwiki.jp/reginn666/ reginn666@ウィキ]<br />
</div><br />
</div><br />
<br />
==ForgeModLoader API==<br />
1.8の統合後は<code>net.minecraftforge.fml</code>下、統合前は<code>cpw.mods.fml</code>下に存在するAPI群。<br><br />
ローダー部分や基本的なイベント、フックはこちらに含まれている。<br><br />
現在は統合されているため、特にMinecraft Forgeと区別する必要はない。<br />
*net.minecraftforge.fml<br />
**client<br />
**:クライアントサイドのAPI群<br />
**:*config<br />
**:*:コンフィグGUI向けのコンポーネント群<br />
**:*event<br />
**:*:クライアントサイド基本イベント<br />
**:*:*[[ConfigChangedEvent]]<br />
**:*registry<br />
**:*:クライアントサイドレジストリ<br />
**:*:*[[ClientRegistry]]<br />
**:*:*<s>[[KeyBindingRegistry]]</s> <u>[[ClientRegistry]]</u> (1.3のUniversal化に伴い移動された)<br />
**:*:*[[RenderingRegistry]]<br />
**:*[[FMLClientHandler]]<br />
**:*[[IModGuiFactory]]<br />
**common<br />
**:クライアント/サーバー共通のAPI群<br />
**:*asm<br />
**:*:FML内部のASM利用クラス<br />
**:*discovery<br />
**:*:Mod探知機能群<br />
**:*:*[[ASMDataTable]]<br />
**:*event<br />
**:*:EventHandlerアノテーションで購読できるイベント群<br />
**:*:*[[1.6の基本コーティング|FMLStateEvent]]<br />
**:*eventhandler<br />
**:*:Event関連の基本クラス<br />
**:*:*[[Event]]<br />
**:*:*[[Event|SubscribeEvent]]<br />
**:*functions<br />
**:*:UtilのFunction群<br />
**:*gameevent<br />
**:*:基本的なゲーム内イベント群<br />
**:*:*[[InputEvent]]<br />
**:*:*[[FMLPlayerEvent|PlayerEvent]]<br />
**:*:*[[TickEvent]]<br />
**:*launcher<br />
**:*:FML自体をMinecraftに仕込むためのクラス群<br />
**:*network<br />
**:*:サーバーとクライアントを橋渡しするためのクラス群<br />
**:*:*handshake<br />
**:*:*:橋渡しの内部処理<br />
**:*:*internal<br />
**:*:*:FML自体が用いているメッセージング処理<br />
**:*:*simpleimpl<br />
**:*:*:単純実装群<br />
**:*:*:関連チュートリアル: [[1.7のパケットについて]]<br />
**:*:*[[FMLNetworkEvent]]<br />
**:*:*[[IGuiHandler]]<br />
**:*:*[[NetworkCheckHandler]]<br />
**:*:*[[NetworkRegistry]]<br />
**:*patcher<br />
**:*:MinecraftにFML変更部分をパッチするためのクラス群<br />
**:*registry<br />
**:*:基本レジストリ群<br />
**:*:*[[EntityRegistry]]<br />
**:*:*[[GameRegistry]]<br />
**:*:**<s>[[ICraftingHandler]]</s> <u>[[FMLPlayerEvent|PlayerEvent]]</u> (1.3のUniversal化に伴いEventとなった)<br />
**:*:**[[IFuelHandler]]<br />
**:*:**<s>[[IPickupNotifier]]</s> <u>[[FMLPlayerEvent|PlayerEvent]]</u> (1.3のUniversal化に伴いEventとなった)<br />
**:*:**<s>[[IPlayerTracker]]</s> <u>[[FMLPlayerEvent|PlayerEvent]]</u> (1.3のUniversal化に伴いEventとなった)<br />
**:*:**[[IWorldGeneretor]]<br />
**:*:*[[IEntityAdditionalSpawnData]]<br />
**:*:*[[IThrowableEntity]]<br />
**:*:*<s>[[LanguageRegistry]]</s> <u>[[TickEvent]]</u> (1.3のUniversal化に伴いEventとなった)<br />
**:*:*[[RegistryBuilder]]<br />
**:*:*<s>[[TickRegistry]]</s> <u>[[ClientRegistry]]</u> (1.3のUniversal化に伴い移動された)<br />
**:*:*[[VillagerRegistry]]<br />
**:*toposort<br />
**:*:Modのソートに使用されるTopologicalSortの実装<br />
**:*versioning<br />
**:*:バージョン表記のパーサー群<br />
**relancher<br />
**:ローダー周りのUtil、API群<br />
**:*[[IFMLCallHook]]<br />
**:*[[Coremodsの基礎|IFMLLoadingPlugin]]<br />
**:*[[SideOnly]]<br />
**repackage<br />
**:FML内部で使われているサードパーティー製Util群<br />
**server<br />
**:サーバーサイドのAPI群<br />
**:*[[FMLServerHandler]]<br />
<br />
==Minecraft Forge API==<br />
===追加メソッド===<br />
<br />
===基礎===<br />
*;[[AchievementPage]]<br />
:実績ページの追加を担うAPI<br />
*;[[BiomeManager]]<br />
:村や遺跡などが生成されるバイオームを管理するAPI<br />
*;<s>[[ChestGenHooks]]</s><br />
:ダンジョンや遺跡, 廃坑などに生成されるチェストの中身へのフックを担うAPI<br />
:'''1.9でLootTableが実装されたため廃止された。'''<br />
*;[[Configuration]]<br />
:Forge式コンフィグファイルの生成を担うユーティリティ<br />
*;[[DimensionManager]]<br />
:Dimension関連のAPI<br />
*;[[EnumHelper]]<br />
:動的にEnum定数を追加するユーティリティ<br />
*;[[MinecraftForge]]<br />
:イベントの登録や様々なフックを担うAPI<br />
<br />
*;[[EnumPlantType]]<br />
:植物に関するEnum定数<br />
*;<s>[[ForgeDirection]]</s><br />
:方向に関するEnum定数<br />
:'''1.8以降バニラにEnumDirectionができたので廃止された。'''<br />
<br />
*;[[IPlantable]]<br />
:植物インタフェース<br />
*;[[IShearable]]<br />
:ハサミインタフェース<br />
*;[[ISpecialArmor]]<br />
:特殊な防具用のインタフェース<br />
:;関連クラス<br />
:*[[ArmorProperties]]<br />
<br />
===イベント===<br />
*;[[Event]]<br />
:イベント概略<br />
*;[[通常イベント]]<br />
:EVENT_BUSに登録するイベント<br />
*;[[地形生成イベント]]<br />
:TERRAIN_GEN_BUSに登録するイベント<br />
*;[[鉱石生成イベント]]<br />
:ORE_GEN_BUSに登録するイベント<br />
==== 一覧 ====<br />
整備中。<br />
<!--*Event (net.minecraftforge.fml.common.eventhandler)<br />
**AnvilUpdateEvent (net.minecraftforge.event)<br />
**BabyEntitySpawnEvent (net.minecraftforge.event.entity.living)<br />
**BiomeEvent (net.minecraftforge.event.terraingen)<br />
***BiomeColor in BiomeEvent (net.minecraftforge.event.terraingen)<br />
****GetFoliageColor in BiomeEvent (net.minecraftforge.event.terraingen)<br />
****GetGrassColor in BiomeEvent (net.minecraftforge.event.terraingen)<br />
****GetWaterColor in BiomeEvent (net.minecraftforge.event.terraingen)<br />
***CreateDecorator in BiomeEvent (net.minecraftforge.event.terraingen)<br />
***GetVillageBlockID in BiomeEvent (net.minecraftforge.event.terraingen)<br />
**BlockEvent (net.minecraftforge.event.world)<br />
***BreakEvent in BlockEvent (net.minecraftforge.event.world)<br />
***CreateFluidSourceEvent in BlockEvent (net.minecraftforge.event.world)<br />
***CropGrowEvent in BlockEvent (net.minecraftforge.event.world)<br />
****Post in CropGrowEvent in BlockEvent (net.minecraftforge.event.world)<br />
****Pre in CropGrowEvent in BlockEvent (net.minecraftforge.event.world)<br />
***HarvestDropsEvent in BlockEvent (net.minecraftforge.event.world)<br />
***NeighborNotifyEvent in BlockEvent (net.minecraftforge.event.world)<br />
***NoteBlockEvent (net.minecraftforge.event.world)<br />
****Change in NoteBlockEvent (net.minecraftforge.event.world)<br />
****Play in NoteBlockEvent (net.minecraftforge.event.world)<br />
***PlaceEvent in BlockEvent (net.minecraftforge.event.world)<br />
****MultiPlaceEvent in BlockEvent (net.minecraftforge.event.world)<br />
**ChunkGeneratorEvent (net.minecraftforge.event.terraingen)<br />
***InitNoiseField in ChunkGeneratorEvent (net.minecraftforge.event.terraingen)<br />
***PopulateChunkEvent (net.minecraftforge.event.terraingen)<br />
****Populate in PopulateChunkEvent (net.minecraftforge.event.terraingen)<br />
****Post in PopulateChunkEvent (net.minecraftforge.event.terraingen)<br />
****Pre in PopulateChunkEvent (net.minecraftforge.event.terraingen)<br />
***ReplaceBiomeBlocks in ChunkGeneratorEvent (net.minecraftforge.event.terraingen)<br />
**ChunkWatchEvent (net.minecraftforge.event.world)<br />
***UnWatch in ChunkWatchEvent (net.minecraftforge.event.world)<br />
***Watch in ChunkWatchEvent (net.minecraftforge.event.world)<br />
**ClientChatReceivedEvent (net.minecraftforge.client.event)<br />
**CommandEvent (net.minecraftforge.event)<br />
**ConfigChangedEvent (net.minecraftforge.fml.client.event)<br />
***OnConfigChangedEvent in ConfigChangedEvent (net.minecraftforge.fml.client.event)<br />
***PostConfigChangedEvent in ConfigChangedEvent (net.minecraftforge.fml.client.event)<br />
**CustomNetworkEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
**DecorateBiomeEvent (net.minecraftforge.event.terraingen)<br />
***Decorate in DecorateBiomeEvent (net.minecraftforge.event.terraingen)<br />
***Post in DecorateBiomeEvent (net.minecraftforge.event.terraingen)<br />
***Pre in DecorateBiomeEvent (net.minecraftforge.event.terraingen)<br />
**DrawBlockHighlightEvent (net.minecraftforge.client.event)<br />
**EntityEvent (net.minecraftforge.event.entity)<br />
***CanUpdate in EntityEvent (net.minecraftforge.event.entity)<br />
***EnteringChunk in EntityEvent (net.minecraftforge.event.entity)<br />
***EntityConstructing in EntityEvent (net.minecraftforge.event.entity)<br />
***EntityJoinWorldEvent (net.minecraftforge.event.entity)<br />
***EntityMountEvent (net.minecraftforge.event.entity)<br />
***EntityStruckByLightningEvent (net.minecraftforge.event.entity)<br />
***EntityTravelToDimensionEvent (net.minecraftforge.event.entity)<br />
***ItemEvent (net.minecraftforge.event.entity.item)<br />
****ItemExpireEvent (net.minecraftforge.event.entity.item)<br />
****ItemTossEvent (net.minecraftforge.event.entity.item)<br />
***LivingEvent (net.minecraftforge.event.entity.living)<br />
****EnderTeleportEvent (net.minecraftforge.event.entity.living)<br />
****LivingAttackEvent (net.minecraftforge.event.entity.living)<br />
****LivingDeathEvent (net.minecraftforge.event.entity.living)<br />
****LivingDropsEvent (net.minecraftforge.event.entity.living)<br />
*****PlayerDropsEvent (net.minecraftforge.event.entity.player)<br />
****LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
*****Finish in LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
*****Start in LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
*****Stop in LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
*****Tick in LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
****LivingEquipmentChangeEvent (net.minecraftforge.event.entity.living)<br />
****LivingExperienceDropEvent (net.minecraftforge.event.entity.living)<br />
****LivingFallEvent (net.minecraftforge.event.entity.living)<br />
****LivingHealEvent (net.minecraftforge.event.entity.living)<br />
****LivingHurtEvent (net.minecraftforge.event.entity.living)<br />
****LivingJumpEvent in LivingEvent (net.minecraftforge.event.entity.living)<br />
****LivingPackSizeEvent (net.minecraftforge.event.entity.living)<br />
****LivingSetAttackTargetEvent (net.minecraftforge.event.entity.living)<br />
****LivingSpawnEvent (net.minecraftforge.event.entity.living)<br />
*****AllowDespawn in LivingSpawnEvent (net.minecraftforge.event.entity.living)<br />
*****CheckSpawn in LivingSpawnEvent (net.minecraftforge.event.entity.living)<br />
*****SpecialSpawn in LivingSpawnEvent (net.minecraftforge.event.entity.living)<br />
****LivingUpdateEvent in LivingEvent (net.minecraftforge.event.entity.living)<br />
****LootingLevelEvent (net.minecraftforge.event.entity.living)<br />
****PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****AchievementEvent (net.minecraftforge.event.entity.player)<br />
*****AnvilRepairEvent (net.minecraftforge.event.entity.player)<br />
*****ArrowLooseEvent (net.minecraftforge.event.entity.player)<br />
*****ArrowNockEvent (net.minecraftforge.event.entity.player)<br />
*****AttackEntityEvent (net.minecraftforge.event.entity.player)<br />
*****BonemealEvent (net.minecraftforge.event.entity.player)<br />
*****BreakSpeed in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****Clone in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****EntityItemPickupEvent (net.minecraftforge.event.entity.player)<br />
*****FillBucketEvent (net.minecraftforge.event.entity.player)<br />
*****HarvestCheck in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****ItemTooltipEvent (net.minecraftforge.event.entity.player)<br />
*****LoadFromFile in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****NameFormat in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerBrewedPotionEvent (net.minecraftforge.event.brewing)<br />
*****PlayerContainerEvent (net.minecraftforge.event.entity.player)<br />
******Close in PlayerContainerEvent (net.minecraftforge.event.entity.player)<br />
******Open in PlayerContainerEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerDestroyItemEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerFlyableFallEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******EntityInteract in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******EntityInteractSpecific in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******LeftClickBlock in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******LeftClickEmpty in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******RightClickBlock in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******RightClickEmpty in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******RightClickItem in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerPickupXpEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerSetSpawnEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerSleepInBedEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerWakeUpEvent (net.minecraftforge.event.entity.player)<br />
*****RenderPlayerEvent (net.minecraftforge.client.event)<br />
******Post in RenderPlayerEvent (net.minecraftforge.client.event)<br />
******Pre in RenderPlayerEvent (net.minecraftforge.client.event)<br />
******SetArmorModel in RenderPlayerEvent (net.minecraftforge.client.event)<br />
******Specials in RenderPlayerEvent (net.minecraftforge.client.event)<br />
*******Post in Specials in RenderPlayerEvent (net.minecraftforge.client.event)<br />
*******Pre in Specials in RenderPlayerEvent (net.minecraftforge.client.event)<br />
*****SaveToFile in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****SleepingLocationCheckEvent (net.minecraftforge.event.entity.player)<br />
*****StartTracking in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****StopTracking in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****UseHoeEvent (net.minecraftforge.event.entity.player)<br />
*****Visibility in PlayerEvent (net.minecraftforge.event.entity.player)<br />
***MinecartEvent (net.minecraftforge.event.entity.minecart)<br />
****MinecartCollisionEvent (net.minecraftforge.event.entity.minecart)<br />
****MinecartInteractEvent (net.minecraftforge.event.entity.minecart)<br />
****MinecartUpdateEvent (net.minecraftforge.event.entity.minecart)<br />
***PlaySoundAtEntityEvent (net.minecraftforge.event.entity)<br />
***ThrowableImpactEvent (net.minecraftforge.event.entity)<br />
***ZombieEvent (net.minecraftforge.event.entity.living)<br />
****SummonAidEvent in ZombieEvent (net.minecraftforge.event.entity.living)<br />
**EntitySelectorEvent (net.minecraftforge.event)<br />
**EntityViewRenderEvent (net.minecraftforge.client.event)<br />
***CameraSetup in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
***FogColors in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
***FogDensity in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
***FOVModifier in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
***RenderFogEvent in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
**ExplosionEvent (net.minecraftforge.event.world)<br />
***Detonate in ExplosionEvent (net.minecraftforge.event.world)<br />
***Start in ExplosionEvent (net.minecraftforge.event.world)<br />
**FluidEvent (net.minecraftforge.fluids)<br />
***FluidDrainingEvent in FluidEvent (net.minecraftforge.fluids)<br />
***FluidFillingEvent in FluidEvent (net.minecraftforge.fluids)<br />
***FluidMotionEvent in FluidEvent (net.minecraftforge.fluids)<br />
***FluidSpilledEvent in FluidEvent (net.minecraftforge.fluids)<br />
**FluidRegisterEvent in FluidRegistry (net.minecraftforge.fluids)<br />
**FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
***ClientConnectedToServerEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
***ClientDisconnectionFromServerEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
***CustomPacketEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
****ClientCustomPacketEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
****ServerCustomPacketEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
***CustomPacketRegistrationEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
***ServerConnectionFromClientEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
***ServerDisconnectionFromClientEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
**ForceChunkEvent in ForgeChunkManager (net.minecraftforge.common)<br />
**FOVUpdateEvent (net.minecraftforge.client.event)<br />
**GenericEvent (net.minecraftforge.fml.common.eventhandler)<br />
***AttachCapabilitiesEvent (net.minecraftforge.event)<br />
****Entity in AttachCapabilitiesEvent (net.minecraftforge.event)<br />
****Item in AttachCapabilitiesEvent (net.minecraftforge.event)<br />
****TileEntity in AttachCapabilitiesEvent (net.minecraftforge.event)<br />
****World in AttachCapabilitiesEvent (net.minecraftforge.event)<br />
***RegistryEvent (net.minecraftforge.event)<br />
****Register in RegistryEvent (net.minecraftforge.event)<br />
**GuiOpenEvent (net.minecraftforge.client.event)<br />
**GuiScreenEvent (net.minecraftforge.client.event)<br />
***ActionPerformedEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Post in ActionPerformedEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Pre in ActionPerformedEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
***BackgroundDrawnEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
***DrawScreenEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Post in DrawScreenEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Pre in DrawScreenEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
***InitGuiEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Post in InitGuiEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Pre in InitGuiEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
***KeyboardInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Post in KeyboardInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Pre in KeyboardInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
***MouseInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Post in MouseInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Pre in MouseInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
***PotionShiftEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
**InitMapGenEvent (net.minecraftforge.event.terraingen)<br />
**InputEvent (net.minecraftforge.fml.common.gameevent)<br />
***KeyInputEvent in InputEvent (net.minecraftforge.fml.common.gameevent)<br />
***MouseInputEvent in InputEvent (net.minecraftforge.fml.common.gameevent)<br />
**LootTableLoadEvent (net.minecraftforge.event)<br />
**ModelBakeEvent (net.minecraftforge.client.event)<br />
**ModelRegistryEvent (net.minecraftforge.client.event)<br />
**MouseEvent (net.minecraftforge.client.event)<br />
**NewRegistry in RegistryEvent (net.minecraftforge.event)<br />
**OreGenEvent (net.minecraftforge.event.terraingen)<br />
***GenerateMinable in OreGenEvent (net.minecraftforge.event.terraingen)<br />
***Post in OreGenEvent (net.minecraftforge.event.terraingen)<br />
***Pre in OreGenEvent (net.minecraftforge.event.terraingen)<br />
**OreRegisterEvent in OreDictionary (net.minecraftforge.oredict)<br />
**PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***ItemCraftedEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***ItemPickupEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***ItemSmeltedEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***PlayerChangedDimensionEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***PlayerLoggedInEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***PlayerLoggedOutEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***PlayerRespawnEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
**PotionBrewEvent (net.minecraftforge.event.brewing)<br />
***Post in PotionBrewEvent (net.minecraftforge.event.brewing)<br />
***Pre in PotionBrewEvent (net.minecraftforge.event.brewing)<br />
**RenderBlockOverlayEvent (net.minecraftforge.client.event)<br />
**RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
***Post in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
***Pre in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
****BossInfo in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
****Chat in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
****Text in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
**RenderHandEvent (net.minecraftforge.client.event)<br />
**RenderItemInFrameEvent (net.minecraftforge.client.event)<br />
**RenderLivingEvent (net.minecraftforge.client.event)<br />
***Post in RenderLivingEvent (net.minecraftforge.client.event)<br />
***Pre in RenderLivingEvent (net.minecraftforge.client.event)<br />
***Specials in RenderLivingEvent (net.minecraftforge.client.event)<br />
****Post in Specials in RenderLivingEvent (net.minecraftforge.client.event)<br />
****Pre in Specials in RenderLivingEvent (net.minecraftforge.client.event)<br />
**RenderSpecificHandEvent (net.minecraftforge.client.event)<br />
**RenderTooltipEvent (net.minecraftforge.client.event)<br />
***Post in RenderTooltipEvent (net.minecraftforge.client.event)<br />
****PostBackground in RenderTooltipEvent (net.minecraftforge.client.event)<br />
****PostText in RenderTooltipEvent (net.minecraftforge.client.event)<br />
***Pre in RenderTooltipEvent (net.minecraftforge.client.event)<br />
**RenderWorldLastEvent (net.minecraftforge.client.event)<br />
**ScreenshotEvent (net.minecraftforge.client.event)<br />
**ServerChatEvent (net.minecraftforge.event)<br />
**SoundEvent (net.minecraftforge.client.event.sound)<br />
***PlaySoundEvent (net.minecraftforge.client.event.sound)<br />
***SoundLoadEvent (net.minecraftforge.client.event.sound)<br />
***SoundSetupEvent (net.minecraftforge.client.event.sound)<br />
***SoundSourceEvent in SoundEvent (net.minecraftforge.client.event.sound)<br />
****PlaySoundSourceEvent (net.minecraftforge.client.event.sound)<br />
****PlayStreamingSourceEvent (net.minecraftforge.client.event.sound)<br />
**TextureStitchEvent (net.minecraftforge.client.event)<br />
***Post in TextureStitchEvent (net.minecraftforge.client.event)<br />
***Pre in TextureStitchEvent (net.minecraftforge.client.event)<br />
**TickEvent (net.minecraftforge.fml.common.gameevent)<br />
***ClientTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
***PlayerTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
***RenderTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
***ServerTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
***WorldTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
**UnforceChunkEvent in ForgeChunkManager (net.minecraftforge.common)<br />
**WorldEvent (net.minecraftforge.event.world)<br />
***ChunkEvent (net.minecraftforge.event.world)<br />
****ChunkDataEvent (net.minecraftforge.event.world)<br />
*****Load in ChunkDataEvent (net.minecraftforge.event.world)<br />
*****Save in ChunkDataEvent (net.minecraftforge.event.world)<br />
****Load in ChunkEvent (net.minecraftforge.event.world)<br />
****Unload in ChunkEvent (net.minecraftforge.event.world)<br />
***CreateSpawnPosition in WorldEvent (net.minecraftforge.event.world)<br />
***GetCollisionBoxesEvent (net.minecraftforge.event.world)<br />
***InitNoiseGensEvent (net.minecraftforge.event.terraingen)<br />
***Load in WorldEvent (net.minecraftforge.event.world)<br />
***PotentialSpawns in WorldEvent (net.minecraftforge.event.world)<br />
***SaplingGrowTreeEvent (net.minecraftforge.event.terraingen)<br />
***Save in WorldEvent (net.minecraftforge.event.world)<br />
***Unload in WorldEvent (net.minecraftforge.event.world)<br />
**WorldTypeEvent (net.minecraftforge.event.terraingen)<br />
***BiomeSize in WorldTypeEvent (net.minecraftforge.event.terraingen)<br />
***InitBiomeGens in WorldTypeEvent (net.minecraftforge.event.terraingen)--><br />
<br />
===流体API===<br />
*;<s>[[FluidContainerRegistry]]</s> <u>Capabilityシステムの導入に伴い廃止</u><br />
:流体の容器の登録API<br />
<br />
===鉱石辞書===<br />
*;[[OreDictionary]]<br />
:鉱石辞書本体, 鉱石辞書への登録, 参照を担うAPI<br />
*;[[ShapedOreRecipe]]<br />
:鉱石辞書を利用した定形レシピを追加するためのクラス<br />
*;[[ShapelessOreRecipe]]<br />
:鉱石辞書を利用した不定形レシピを追加するためのクラス</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=Minecraft_Forge_API&diff=3380
Minecraft Forge API
2017-03-24T19:43:46Z
<p>ModderKina: パッケージで整理してみた。とりまFML部分だけ。</p>
<hr />
<div>{{Warning}}現在編集中であり、古い情報が多く含まれています。<br />
==概要==<br />
Minecraft Forgeとは、Mod間の互換性を保ちつつMinecraftを拡張するために作られたAPIである。<br><br />
1.8以前はForgeModLoaderが基本部分を担っていたが、統合された。<br />
<br />
===開発環境でのインストール方法===<br />
[[MinecraftForge導入手順]]を参照。<br />
<br />
===関連リンク===<br />
*[//mcforge.readthedocs.org MinecraftForge Documentation (English)]<br />
*[http://www.minecraftforge.net/forum/ Minecraft Forge Forum]<br />
*[http://files.minecraftforge.net/ Minecraft Forge Downloads]<br />
<div class="mw-collapsible mw-collapsed"><br />
====古いリンク====<br />
<div class="mw-collapsible-content"><br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=2558 【API解説】Minecraft Forge(1.3.0)]<br />
*[[Minecraft Forge公式wiki翻訳]]<br />
*[http://www4.atwiki.jp/reginn666/ reginn666@ウィキ]<br />
</div><br />
</div><br />
<br />
==ForgeModLoader API==<br />
1.8の統合後は<code>net.minecraftforge.fml</code>下、統合前は<code>cpw.mods.fml</code>下に存在するAPI群。<br><br />
ローダー部分や基本的なイベント、フックはこちらに含まれている。<br><br />
現在は統合されているため、特にMinecraft Forgeと区別する必要はない。<br />
*net.minecraftforge.fml<br />
**client<br />
**:クライアントサイドのAPI群<br />
**:*config<br />
**:*:コンフィグGUI向けのコンポーネント群<br />
**:*event<br />
**:*:クライアントサイド基本イベント<br />
**:*:*[[ConfigChangedEvent]]<br />
**:*registry<br />
**:*:クライアントサイドレジストリ<br />
**:*:*[[ClientRegistry]]<br />
**:*:*<s>[[KeyBindingRegistry]]</s> <u>[[ClientRegistry]]</u> (1.3のUniversal化に伴い移動された)<br />
**:*:*[[RenderingRegistry]]<br />
**:*[[FMLClientHandler]]<br />
**:*[[IModGuiFactory]]<br />
**common<br />
**:クライアント/サーバー共通のAPI群<br />
**:*asm<br />
**:*:FML内部のASM利用クラス<br />
**:*discovery<br />
**:*:Mod探知機能群<br />
**:*:*[[ASMDataTable]]<br />
**:*event<br />
**:*:EventHandlerアノテーションで購読できるイベント群<br />
**:*:*[[1.6の基本コーティング|FMLStateEvent]]<br />
**:*eventhandler<br />
**:*:Event関連の基本クラス<br />
**:*:*[[Event]]<br />
**:*:*[[Event|SubscribeEvent]]<br />
**:*functions<br />
**:*:UtilのFunction群<br />
**:*gameevent<br />
**:*:基本的なゲーム内イベント群<br />
**:*:*[[InputEvent]]<br />
**:*:*[[PlayerEvent]]<br />
**:*:*[[TickEvent]]<br />
**:*launcher<br />
**:*:FML自体をMinecraftに仕込むためのクラス群<br />
**:*network<br />
**:*:サーバーとクライアントを橋渡しするためのクラス群<br />
**:*:*handshake<br />
**:*:*:橋渡しの内部処理<br />
**:*:*internal<br />
**:*:*:FML自体が用いているメッセージング処理<br />
**:*:*simpleimpl<br />
**:*:*:単純実装群<br />
**:*:*:関連チュートリアル: [[1.7のパケットについて]]<br />
**:*:*[[FMLNetworkEvent]]<br />
**:*:*[[IGuiHandler]]<br />
**:*:*[[NetworkCheckHandler]]<br />
**:*:*[[NetworkRegistry]]<br />
**:*patcher<br />
**:*:MinecraftにFML変更部分をパッチするためのクラス群<br />
**:*registry<br />
**:*:基本レジストリ群<br />
**:*:*[[EntityRegistry]]<br />
**:*:*[[GameRegistry]]<br />
**:*:**<s>[[ICraftingHandler]]</s> <u>[[FMLPlayerEvent|PlayerEvent]]</u> (1.3のUniversal化に伴いEventとなった)<br />
**:*:**[[IFuelHandler]]<br />
**:*:**<s>[[IPickupNotifier]]</s> <u>[[FMLPlayerEvent|PlayerEvent]]</u> (1.3のUniversal化に伴いEventとなった)<br />
**:*:**<s>[[IPlayerTracker]]</s> <u>[[FMLPlayerEvent|PlayerEvent]]</u> (1.3のUniversal化に伴いEventとなった)<br />
**:*:**[[IWorldGeneretor]]<br />
**:*:*[[IEntityAdditionalSpawnData]]<br />
**:*:*[[IThrowableEntity]]<br />
**:*:*<s>[[LanguageRegistry]]</s> <u>[[TickEvent]]</u> (1.3のUniversal化に伴いEventとなった)<br />
**:*:*[[RegistryBuilder]]<br />
**:*:*<s>[[TickRegistry]]</s> <u>[[ClientRegistry]]</u> (1.3のUniversal化に伴い移動された)<br />
**:*:*[[VillagerRegistry]]<br />
**:*toposort<br />
**:*:Modのソートに使用されるTopologicalSortの実装<br />
**:*versioning<br />
**:*:バージョン表記のパーサー群<br />
**relancher<br />
**:ローダー周りのUtil、API群<br />
**:*[[IFMLCallHook]]<br />
**:*[[Coremodsの基礎|IFMLLoadingPlugin]]<br />
**:*[[SideOnly]]<br />
**repackage<br />
**:FML内部で使われているサードパーティー製Util群<br />
**server<br />
**:サーバーサイドのAPI群<br />
**:*[[FMLServerHandler]]<br />
<br />
==Minecraft Forge API==<br />
===追加メソッド===<br />
<br />
===基礎===<br />
*;[[AchievementPage]]<br />
:実績ページの追加を担うAPI<br />
*;[[BiomeManager]]<br />
:村や遺跡などが生成されるバイオームを管理するAPI<br />
*;<s>[[ChestGenHooks]]</s><br />
:ダンジョンや遺跡, 廃坑などに生成されるチェストの中身へのフックを担うAPI<br />
:'''1.9でLootTableが実装されたため廃止された。'''<br />
*;[[Configuration]]<br />
:Forge式コンフィグファイルの生成を担うユーティリティ<br />
*;[[DimensionManager]]<br />
:Dimension関連のAPI<br />
*;[[EnumHelper]]<br />
:動的にEnum定数を追加するユーティリティ<br />
*;[[MinecraftForge]]<br />
:イベントの登録や様々なフックを担うAPI<br />
<br />
*;[[EnumPlantType]]<br />
:植物に関するEnum定数<br />
*;<s>[[ForgeDirection]]</s><br />
:方向に関するEnum定数<br />
:'''1.8以降バニラにEnumDirectionができたので廃止された。'''<br />
<br />
*;[[IPlantable]]<br />
:植物インタフェース<br />
*;[[IShearable]]<br />
:ハサミインタフェース<br />
*;[[ISpecialArmor]]<br />
:特殊な防具用のインタフェース<br />
:;関連クラス<br />
:*[[ArmorProperties]]<br />
<br />
===イベント===<br />
*;[[Event]]<br />
:イベント概略<br />
*;[[通常イベント]]<br />
:EVENT_BUSに登録するイベント<br />
*;[[地形生成イベント]]<br />
:TERRAIN_GEN_BUSに登録するイベント<br />
*;[[鉱石生成イベント]]<br />
:ORE_GEN_BUSに登録するイベント<br />
==== 一覧 ====<br />
整備中。<br />
<!--*Event (net.minecraftforge.fml.common.eventhandler)<br />
**AnvilUpdateEvent (net.minecraftforge.event)<br />
**BabyEntitySpawnEvent (net.minecraftforge.event.entity.living)<br />
**BiomeEvent (net.minecraftforge.event.terraingen)<br />
***BiomeColor in BiomeEvent (net.minecraftforge.event.terraingen)<br />
****GetFoliageColor in BiomeEvent (net.minecraftforge.event.terraingen)<br />
****GetGrassColor in BiomeEvent (net.minecraftforge.event.terraingen)<br />
****GetWaterColor in BiomeEvent (net.minecraftforge.event.terraingen)<br />
***CreateDecorator in BiomeEvent (net.minecraftforge.event.terraingen)<br />
***GetVillageBlockID in BiomeEvent (net.minecraftforge.event.terraingen)<br />
**BlockEvent (net.minecraftforge.event.world)<br />
***BreakEvent in BlockEvent (net.minecraftforge.event.world)<br />
***CreateFluidSourceEvent in BlockEvent (net.minecraftforge.event.world)<br />
***CropGrowEvent in BlockEvent (net.minecraftforge.event.world)<br />
****Post in CropGrowEvent in BlockEvent (net.minecraftforge.event.world)<br />
****Pre in CropGrowEvent in BlockEvent (net.minecraftforge.event.world)<br />
***HarvestDropsEvent in BlockEvent (net.minecraftforge.event.world)<br />
***NeighborNotifyEvent in BlockEvent (net.minecraftforge.event.world)<br />
***NoteBlockEvent (net.minecraftforge.event.world)<br />
****Change in NoteBlockEvent (net.minecraftforge.event.world)<br />
****Play in NoteBlockEvent (net.minecraftforge.event.world)<br />
***PlaceEvent in BlockEvent (net.minecraftforge.event.world)<br />
****MultiPlaceEvent in BlockEvent (net.minecraftforge.event.world)<br />
**ChunkGeneratorEvent (net.minecraftforge.event.terraingen)<br />
***InitNoiseField in ChunkGeneratorEvent (net.minecraftforge.event.terraingen)<br />
***PopulateChunkEvent (net.minecraftforge.event.terraingen)<br />
****Populate in PopulateChunkEvent (net.minecraftforge.event.terraingen)<br />
****Post in PopulateChunkEvent (net.minecraftforge.event.terraingen)<br />
****Pre in PopulateChunkEvent (net.minecraftforge.event.terraingen)<br />
***ReplaceBiomeBlocks in ChunkGeneratorEvent (net.minecraftforge.event.terraingen)<br />
**ChunkWatchEvent (net.minecraftforge.event.world)<br />
***UnWatch in ChunkWatchEvent (net.minecraftforge.event.world)<br />
***Watch in ChunkWatchEvent (net.minecraftforge.event.world)<br />
**ClientChatReceivedEvent (net.minecraftforge.client.event)<br />
**CommandEvent (net.minecraftforge.event)<br />
**ConfigChangedEvent (net.minecraftforge.fml.client.event)<br />
***OnConfigChangedEvent in ConfigChangedEvent (net.minecraftforge.fml.client.event)<br />
***PostConfigChangedEvent in ConfigChangedEvent (net.minecraftforge.fml.client.event)<br />
**CustomNetworkEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
**DecorateBiomeEvent (net.minecraftforge.event.terraingen)<br />
***Decorate in DecorateBiomeEvent (net.minecraftforge.event.terraingen)<br />
***Post in DecorateBiomeEvent (net.minecraftforge.event.terraingen)<br />
***Pre in DecorateBiomeEvent (net.minecraftforge.event.terraingen)<br />
**DrawBlockHighlightEvent (net.minecraftforge.client.event)<br />
**EntityEvent (net.minecraftforge.event.entity)<br />
***CanUpdate in EntityEvent (net.minecraftforge.event.entity)<br />
***EnteringChunk in EntityEvent (net.minecraftforge.event.entity)<br />
***EntityConstructing in EntityEvent (net.minecraftforge.event.entity)<br />
***EntityJoinWorldEvent (net.minecraftforge.event.entity)<br />
***EntityMountEvent (net.minecraftforge.event.entity)<br />
***EntityStruckByLightningEvent (net.minecraftforge.event.entity)<br />
***EntityTravelToDimensionEvent (net.minecraftforge.event.entity)<br />
***ItemEvent (net.minecraftforge.event.entity.item)<br />
****ItemExpireEvent (net.minecraftforge.event.entity.item)<br />
****ItemTossEvent (net.minecraftforge.event.entity.item)<br />
***LivingEvent (net.minecraftforge.event.entity.living)<br />
****EnderTeleportEvent (net.minecraftforge.event.entity.living)<br />
****LivingAttackEvent (net.minecraftforge.event.entity.living)<br />
****LivingDeathEvent (net.minecraftforge.event.entity.living)<br />
****LivingDropsEvent (net.minecraftforge.event.entity.living)<br />
*****PlayerDropsEvent (net.minecraftforge.event.entity.player)<br />
****LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
*****Finish in LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
*****Start in LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
*****Stop in LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
*****Tick in LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
****LivingEquipmentChangeEvent (net.minecraftforge.event.entity.living)<br />
****LivingExperienceDropEvent (net.minecraftforge.event.entity.living)<br />
****LivingFallEvent (net.minecraftforge.event.entity.living)<br />
****LivingHealEvent (net.minecraftforge.event.entity.living)<br />
****LivingHurtEvent (net.minecraftforge.event.entity.living)<br />
****LivingJumpEvent in LivingEvent (net.minecraftforge.event.entity.living)<br />
****LivingPackSizeEvent (net.minecraftforge.event.entity.living)<br />
****LivingSetAttackTargetEvent (net.minecraftforge.event.entity.living)<br />
****LivingSpawnEvent (net.minecraftforge.event.entity.living)<br />
*****AllowDespawn in LivingSpawnEvent (net.minecraftforge.event.entity.living)<br />
*****CheckSpawn in LivingSpawnEvent (net.minecraftforge.event.entity.living)<br />
*****SpecialSpawn in LivingSpawnEvent (net.minecraftforge.event.entity.living)<br />
****LivingUpdateEvent in LivingEvent (net.minecraftforge.event.entity.living)<br />
****LootingLevelEvent (net.minecraftforge.event.entity.living)<br />
****PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****AchievementEvent (net.minecraftforge.event.entity.player)<br />
*****AnvilRepairEvent (net.minecraftforge.event.entity.player)<br />
*****ArrowLooseEvent (net.minecraftforge.event.entity.player)<br />
*****ArrowNockEvent (net.minecraftforge.event.entity.player)<br />
*****AttackEntityEvent (net.minecraftforge.event.entity.player)<br />
*****BonemealEvent (net.minecraftforge.event.entity.player)<br />
*****BreakSpeed in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****Clone in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****EntityItemPickupEvent (net.minecraftforge.event.entity.player)<br />
*****FillBucketEvent (net.minecraftforge.event.entity.player)<br />
*****HarvestCheck in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****ItemTooltipEvent (net.minecraftforge.event.entity.player)<br />
*****LoadFromFile in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****NameFormat in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerBrewedPotionEvent (net.minecraftforge.event.brewing)<br />
*****PlayerContainerEvent (net.minecraftforge.event.entity.player)<br />
******Close in PlayerContainerEvent (net.minecraftforge.event.entity.player)<br />
******Open in PlayerContainerEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerDestroyItemEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerFlyableFallEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******EntityInteract in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******EntityInteractSpecific in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******LeftClickBlock in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******LeftClickEmpty in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******RightClickBlock in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******RightClickEmpty in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******RightClickItem in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerPickupXpEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerSetSpawnEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerSleepInBedEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerWakeUpEvent (net.minecraftforge.event.entity.player)<br />
*****RenderPlayerEvent (net.minecraftforge.client.event)<br />
******Post in RenderPlayerEvent (net.minecraftforge.client.event)<br />
******Pre in RenderPlayerEvent (net.minecraftforge.client.event)<br />
******SetArmorModel in RenderPlayerEvent (net.minecraftforge.client.event)<br />
******Specials in RenderPlayerEvent (net.minecraftforge.client.event)<br />
*******Post in Specials in RenderPlayerEvent (net.minecraftforge.client.event)<br />
*******Pre in Specials in RenderPlayerEvent (net.minecraftforge.client.event)<br />
*****SaveToFile in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****SleepingLocationCheckEvent (net.minecraftforge.event.entity.player)<br />
*****StartTracking in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****StopTracking in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****UseHoeEvent (net.minecraftforge.event.entity.player)<br />
*****Visibility in PlayerEvent (net.minecraftforge.event.entity.player)<br />
***MinecartEvent (net.minecraftforge.event.entity.minecart)<br />
****MinecartCollisionEvent (net.minecraftforge.event.entity.minecart)<br />
****MinecartInteractEvent (net.minecraftforge.event.entity.minecart)<br />
****MinecartUpdateEvent (net.minecraftforge.event.entity.minecart)<br />
***PlaySoundAtEntityEvent (net.minecraftforge.event.entity)<br />
***ThrowableImpactEvent (net.minecraftforge.event.entity)<br />
***ZombieEvent (net.minecraftforge.event.entity.living)<br />
****SummonAidEvent in ZombieEvent (net.minecraftforge.event.entity.living)<br />
**EntitySelectorEvent (net.minecraftforge.event)<br />
**EntityViewRenderEvent (net.minecraftforge.client.event)<br />
***CameraSetup in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
***FogColors in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
***FogDensity in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
***FOVModifier in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
***RenderFogEvent in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
**ExplosionEvent (net.minecraftforge.event.world)<br />
***Detonate in ExplosionEvent (net.minecraftforge.event.world)<br />
***Start in ExplosionEvent (net.minecraftforge.event.world)<br />
**FluidEvent (net.minecraftforge.fluids)<br />
***FluidDrainingEvent in FluidEvent (net.minecraftforge.fluids)<br />
***FluidFillingEvent in FluidEvent (net.minecraftforge.fluids)<br />
***FluidMotionEvent in FluidEvent (net.minecraftforge.fluids)<br />
***FluidSpilledEvent in FluidEvent (net.minecraftforge.fluids)<br />
**FluidRegisterEvent in FluidRegistry (net.minecraftforge.fluids)<br />
**FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
***ClientConnectedToServerEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
***ClientDisconnectionFromServerEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
***CustomPacketEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
****ClientCustomPacketEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
****ServerCustomPacketEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
***CustomPacketRegistrationEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
***ServerConnectionFromClientEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
***ServerDisconnectionFromClientEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
**ForceChunkEvent in ForgeChunkManager (net.minecraftforge.common)<br />
**FOVUpdateEvent (net.minecraftforge.client.event)<br />
**GenericEvent (net.minecraftforge.fml.common.eventhandler)<br />
***AttachCapabilitiesEvent (net.minecraftforge.event)<br />
****Entity in AttachCapabilitiesEvent (net.minecraftforge.event)<br />
****Item in AttachCapabilitiesEvent (net.minecraftforge.event)<br />
****TileEntity in AttachCapabilitiesEvent (net.minecraftforge.event)<br />
****World in AttachCapabilitiesEvent (net.minecraftforge.event)<br />
***RegistryEvent (net.minecraftforge.event)<br />
****Register in RegistryEvent (net.minecraftforge.event)<br />
**GuiOpenEvent (net.minecraftforge.client.event)<br />
**GuiScreenEvent (net.minecraftforge.client.event)<br />
***ActionPerformedEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Post in ActionPerformedEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Pre in ActionPerformedEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
***BackgroundDrawnEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
***DrawScreenEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Post in DrawScreenEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Pre in DrawScreenEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
***InitGuiEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Post in InitGuiEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Pre in InitGuiEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
***KeyboardInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Post in KeyboardInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Pre in KeyboardInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
***MouseInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Post in MouseInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Pre in MouseInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
***PotionShiftEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
**InitMapGenEvent (net.minecraftforge.event.terraingen)<br />
**InputEvent (net.minecraftforge.fml.common.gameevent)<br />
***KeyInputEvent in InputEvent (net.minecraftforge.fml.common.gameevent)<br />
***MouseInputEvent in InputEvent (net.minecraftforge.fml.common.gameevent)<br />
**LootTableLoadEvent (net.minecraftforge.event)<br />
**ModelBakeEvent (net.minecraftforge.client.event)<br />
**ModelRegistryEvent (net.minecraftforge.client.event)<br />
**MouseEvent (net.minecraftforge.client.event)<br />
**NewRegistry in RegistryEvent (net.minecraftforge.event)<br />
**OreGenEvent (net.minecraftforge.event.terraingen)<br />
***GenerateMinable in OreGenEvent (net.minecraftforge.event.terraingen)<br />
***Post in OreGenEvent (net.minecraftforge.event.terraingen)<br />
***Pre in OreGenEvent (net.minecraftforge.event.terraingen)<br />
**OreRegisterEvent in OreDictionary (net.minecraftforge.oredict)<br />
**PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***ItemCraftedEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***ItemPickupEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***ItemSmeltedEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***PlayerChangedDimensionEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***PlayerLoggedInEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***PlayerLoggedOutEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***PlayerRespawnEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
**PotionBrewEvent (net.minecraftforge.event.brewing)<br />
***Post in PotionBrewEvent (net.minecraftforge.event.brewing)<br />
***Pre in PotionBrewEvent (net.minecraftforge.event.brewing)<br />
**RenderBlockOverlayEvent (net.minecraftforge.client.event)<br />
**RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
***Post in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
***Pre in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
****BossInfo in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
****Chat in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
****Text in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
**RenderHandEvent (net.minecraftforge.client.event)<br />
**RenderItemInFrameEvent (net.minecraftforge.client.event)<br />
**RenderLivingEvent (net.minecraftforge.client.event)<br />
***Post in RenderLivingEvent (net.minecraftforge.client.event)<br />
***Pre in RenderLivingEvent (net.minecraftforge.client.event)<br />
***Specials in RenderLivingEvent (net.minecraftforge.client.event)<br />
****Post in Specials in RenderLivingEvent (net.minecraftforge.client.event)<br />
****Pre in Specials in RenderLivingEvent (net.minecraftforge.client.event)<br />
**RenderSpecificHandEvent (net.minecraftforge.client.event)<br />
**RenderTooltipEvent (net.minecraftforge.client.event)<br />
***Post in RenderTooltipEvent (net.minecraftforge.client.event)<br />
****PostBackground in RenderTooltipEvent (net.minecraftforge.client.event)<br />
****PostText in RenderTooltipEvent (net.minecraftforge.client.event)<br />
***Pre in RenderTooltipEvent (net.minecraftforge.client.event)<br />
**RenderWorldLastEvent (net.minecraftforge.client.event)<br />
**ScreenshotEvent (net.minecraftforge.client.event)<br />
**ServerChatEvent (net.minecraftforge.event)<br />
**SoundEvent (net.minecraftforge.client.event.sound)<br />
***PlaySoundEvent (net.minecraftforge.client.event.sound)<br />
***SoundLoadEvent (net.minecraftforge.client.event.sound)<br />
***SoundSetupEvent (net.minecraftforge.client.event.sound)<br />
***SoundSourceEvent in SoundEvent (net.minecraftforge.client.event.sound)<br />
****PlaySoundSourceEvent (net.minecraftforge.client.event.sound)<br />
****PlayStreamingSourceEvent (net.minecraftforge.client.event.sound)<br />
**TextureStitchEvent (net.minecraftforge.client.event)<br />
***Post in TextureStitchEvent (net.minecraftforge.client.event)<br />
***Pre in TextureStitchEvent (net.minecraftforge.client.event)<br />
**TickEvent (net.minecraftforge.fml.common.gameevent)<br />
***ClientTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
***PlayerTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
***RenderTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
***ServerTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
***WorldTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
**UnforceChunkEvent in ForgeChunkManager (net.minecraftforge.common)<br />
**WorldEvent (net.minecraftforge.event.world)<br />
***ChunkEvent (net.minecraftforge.event.world)<br />
****ChunkDataEvent (net.minecraftforge.event.world)<br />
*****Load in ChunkDataEvent (net.minecraftforge.event.world)<br />
*****Save in ChunkDataEvent (net.minecraftforge.event.world)<br />
****Load in ChunkEvent (net.minecraftforge.event.world)<br />
****Unload in ChunkEvent (net.minecraftforge.event.world)<br />
***CreateSpawnPosition in WorldEvent (net.minecraftforge.event.world)<br />
***GetCollisionBoxesEvent (net.minecraftforge.event.world)<br />
***InitNoiseGensEvent (net.minecraftforge.event.terraingen)<br />
***Load in WorldEvent (net.minecraftforge.event.world)<br />
***PotentialSpawns in WorldEvent (net.minecraftforge.event.world)<br />
***SaplingGrowTreeEvent (net.minecraftforge.event.terraingen)<br />
***Save in WorldEvent (net.minecraftforge.event.world)<br />
***Unload in WorldEvent (net.minecraftforge.event.world)<br />
**WorldTypeEvent (net.minecraftforge.event.terraingen)<br />
***BiomeSize in WorldTypeEvent (net.minecraftforge.event.terraingen)<br />
***InitBiomeGens in WorldTypeEvent (net.minecraftforge.event.terraingen)--><br />
<br />
===流体API===<br />
*;<s>[[FluidContainerRegistry]]</s> <u>Capabilityシステムの導入に伴い廃止</u><br />
:流体の容器の登録API<br />
<br />
===鉱石辞書===<br />
*;[[OreDictionary]]<br />
:鉱石辞書本体, 鉱石辞書への登録, 参照を担うAPI<br />
*;[[ShapedOreRecipe]]<br />
:鉱石辞書を利用した定形レシピを追加するためのクラス<br />
*;[[ShapelessOreRecipe]]<br />
:鉱石辞書を利用した不定形レシピを追加するためのクラス</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=%E8%A4%87%E6%95%B0%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%AE%E5%90%8C%E6%99%82%E9%96%8B%E7%99%BA&diff=3379
複数バージョンの同時開発
2017-03-24T17:38:36Z
<p>ModderKina: サイドバーから除去したのでWarnも除去</p>
<hr />
<div>※この記事は、WindowsXP を前提として書かれています。<br />
<br />
通常マインクラフトは C:\Documents and Settings\user\Application Data\.minecraft にインストールされます。<br><br />
別バージョンのMinecraft.jarへの切り替えは[http://forum.minecraftuser.jp/viewtopic.php?f=13&t=409 mcjarman]などを使えば簡単にできますが、Modsフォルダの中身は自分で入れ替えないといけません。<br><br />
Mod開発をする場合には、MOD構成なども変更しなければいけないため、いちいち切り替えるのは面倒です。<br><br />
そこでここでは複数のバージョン用のMODを同時に開発する際に役立つTipsを紹介していきます。<br />
*参考トピック:http://forum.minecraftuser.jp/viewtopic.php?p=65956#p65956<br />
<br />
例として、Minecraft1.2.5+Forge349_171 と 1.4.4+Forge630_372 の2パターンを同時開発していると仮定し、作業用にMドライブに各マイクラ用フォルダを作成していきます。<br />
==開発用のフォルダを作る==<br />
今回は M:\ 直下に各種作業用フォルダを作成していきます。<br />
;作成するフォルダ<br />
:M:\Minecraft1.2.5\ 1.2.5をインストールするフォルダ<br />
:M:\Minecraft1.4.4\ 1.4.4をインストールするフォルダ<br />
:M:\125_forge349_171\ 1.2.5のMod開発環境をインストールするフォルダ<br />
:M:\144_forge630_372\ 1.4.4のMod開発環境をインストールするフォルダ<br />
それぞれ各バージョンが一目で分かるように名前を付けておくと後で楽です。<br />
<br />
==プレイ環境を作る==<br />
===マイクラ1.2.5の環境を作る===<br />
#まずは普通にマイクラをインストール。(まあ普通はすでにインストールされてるはず)<br />
#*ここでは1.4.5がインストールされているものと仮定する。<br />
#C:\Documents and Settings\user\Application Data\ から M:\Minecraft1.2.5\ に、.minecraftフォルダを、フォルダごとコピーする。<br />
#*M:\Minecraft1.2.5\.minecraft になるように。<br />
#[[旧バージョンでの開発]]を参考に、1.2.5prereleaceのminecraft.jarをダウンロードする。<br />
#M:\Minecraft1.2.5\.minecraft\bin\minecraft.jar に、ダウンロードしたminecraft.jarを上書きコピーする。<br />
#M:\Minecraft1.2.5\ に テキストファイルを新規作成する。<br />
#*テキストファイルを開き、以下のように入力する<br />
#*:set APPDATA=%CD%\<br />
#*:.minecraft\minecraft.exe<br />
#テキストファイルのファイル名を、'''マインクラフト実行.bat''' などに変更する。<br />
#*名前は何でも良いが、最後は必ず .bat にする事。<br />
#M:\Minecraft1.2.5\ にModsフォルダなどのModで追加されるフォルダがある場合は削除する。<br />
#*バニラのフォルダは、bin、resource、saves、texturepacks、の4つのみ。<br />
#マインクラフト実行.bat を実行し、マイクラの起動を確認する。<br />
<br />
===MCPatcher HD Fixの1.2.5用の環境を作る===<br />
#[http://www.minecraftforum.net/topic/1496369-145-144-132-etcupdate-1110-mcpatcher-hd-fix-243-04/ MCPatcher HD Fix]の[https://github.com/pclewis/mcpatcher/downloads Older versions]ページから、1.2.5用の mcpatcher-2.3.5_01.exe をダウンロードする。<br />
#ダウンロードしたexeファイルを M:\Minecraft1.2.5\.minecraft\ にコピーする。<br />
#M:\Minecraft\ に テキストファイルを新規作成する。<br />
#*テキストファイルを開き、以下のように入力する<br />
#*:set APPDATA=%CD%\<br />
#*:.minecraft\mcpatcher-2.3.5_01.exe<br />
#テキストファイルのファイル名を、'''MCPatcher実行.bat''' などに変更する。<br />
#*名前は何でも良いが、最後は必ず .bat にする事。<br />
#*これで MCPatcher HD Fix の設定をバージョン別に保存できる。<br />
#*バージョンが合わないMCPatcherを使うとエラーメッセージが出るが、その対策にもなる。<br />
#*他のMODを導入した状態での競合テストなどに便利。<br />
<br />
===マイクラ1.4.4の環境を作る===<br />
#M:\Minecraft1.4.4\ に M:\Minecraft1.2.5\ のファイルフォルダを全てコピーする。<br />
#[[旧バージョンでの開発]]を参考に、1.4.4prereleaceのminecraft.jarをダウンロードする。<br />
#M:\Minecraft1.4.4\.minecraft\bin\minecraft.jar に、ダウンロードしたminecraft.jarを上書きコピーする。<br />
<br />
===MCPatcher HD Fixの1.4.4用の環境を作る===<br />
#[http://www.minecraftforum.net/topic/1496369-145-144-132-etcupdate-1110-mcpatcher-hd-fix-243-04/ MCPatcher HD Fix]の[https://github.com/pclewis/mcpatcher/downloads Older versions]ページから、1.4.4用の mcpatcher-2.4.3_04.exe をダウンロードする。<br />
#ダウンロードしたexeファイルを M:\Minecraft1.4.4\.minecraft\ にコピーする。<br />
#*MCPatcher実行.bat を開き、以下のように入力する<br />
#*:set APPDATA=%CD%\<br />
#*:.minecraft\mcpatcher-2.4.3_04.exe<br />
<br />
===プレイ環境を整える===<br />
#各バージョンのマイクラにMODなどを追加し、環境を整える。<br />
#それぞれテスト用に便利なMODを入れておくと良い。<br />
#*[http://files.minecraftforge.net/ MinecraftForge] 大型modの前提になる事が多い開発補助MOD。<br />
#*[http://www.minecraftforum.net/topic/94310- Single Player Commands] 各種コマンドが使えるようになる。検証に便利。<br />
#*[http://www.minecraftforum.net/topic/140684- TooManyItems] 各種アイテムを無尽蔵に取り出せる。検証に便利。<br />
#*[http://www.minecraftforum.net/topic/249637- OptiFine] 軽量化mod。導入者が多いので競合テストに。<br />
<br />
==開発環境を作る==<br />
#[[MinecraftForge導入手順(MCP)]]を参考に、M:\125_forge349_171\ M:\144_forge630_372\ それぞれに、mcp、ForgeSourceをインストールする。<br />
<br />
==対応バージョンが増えた場合==<br />
*それぞれのバージョン用のフォルダを新しく作り、同様の手順でいくらでも開発環境を増やせます。<br />
*また上記の環境は一度構築してしまえばフォルダを移動させても問題ないので、USBメモリなどに入れて持ち歩くことも可能です。<br />
*動画を作成している人は、プレイ用の環境と動画撮影用の環境を別々に作っておくという手もあります。</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=MediaWiki:Sidebar&diff=3378
MediaWiki:Sidebar
2017-03-24T17:37:49Z
<p>ModderKina: 移動</p>
<hr />
<div>* navigation<br />
** mainpage|mainpage-description<br />
** Special:Recentchanges|最近の更新<br />
** 拡張タグ|拡張タグ<br />
** 井戸端|井戸端<br />
<br />
* SEARCH<br />
<br />
* 基本情報<br />
** MOD開発環境を作る|MOD開発環境を作る<br />
** 用語|用語<br />
<br />
* チュートリアル<br />
** チュートリアル一覧|チュートリアル一覧<br />
<br />
* 解説<br />
** Class解説|Minecraft Class解説<br />
<!--** 植物系ブロックの解説(1)サボテン|植物系ブロック解説1--><br />
<!--** API一覧|API一覧--><br />
** Minecraft Forge API|Minecraft Forge API<br />
** ModLoader API|ModLoader API<br />
** IndustrialCraft² API|IndustrialCraft² API<br />
** MineChem API|MineChem API<br />
** ComputerCraft API|ComputerCraft API<br />
<br />
* リンク<br />
** http://www.minecraft.net/|Minecraft 公式サイト<br />
** http://www.minecraftforum.net/|Minecraft Forum<br />
** http://www26.atwiki.jp/minecraft/|Minecraft Japan Wiki<br />
** http://ja.minecraftwiki.net/Minecraft_Wiki|Minecraft Wiki(JA)<br />
** http://forum.minecraftuser.jp/|Minecraft 非公式日本ユーザーフォーラム<br />
<br />
* その他<br />
** 管理者との連絡ノート|管理者との連絡ノート<br />
** サンドボックス|サンドボックス(編集練習用)<br />
** http://www.mediawiki.org/wiki/Help:Contents/ja|Wikiのヘルプ<br />
** MediaWiki:Sidebar|サイドバー(管理者用)<br />
<br />
* TOOLBOX<br />
<br />
* LANGUAGES</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=MOD%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%82%92%E4%BD%9C%E3%82%8B&diff=3377
MOD開発環境を作る
2017-03-24T17:35:04Z
<p>ModderKina: /* Minecraft のMod開発環境を構築する */ プラグインを追記</p>
<hr />
<div>== Minecraft のMod開発環境を構築する ==<br />
前提MODを利用する環境<br />
*[[MinecraftForge導入手順]]<br />
*[[LiteLoader導入手順]]<br />
*[[MCPの環境構築手順]]<br />
**ModLoader利用の場合<br />
**:ModLoaderを使用する場合は、<br />
**:[[MCPの環境構築手順]]のSetup3の minecraft.jar(Modloader導入済)と minecraft_server.jar(ModLoaderを入れてない状態)の両方を用意して下さい。<br />
<br />
===JDK(Java SE Development Kit)をダウンロードする===<br />
<br />
JDK(Java SE Development Kit)をダウンロードするには、<br /><br />
http://www.oracle.com/technetwork/java/javase/downloads/index.html をクリックして下さい。<br /><br />
ダウンロードするバージョンは、JDKの最新版で問題ありません。<br /><br />
<br />
JDK DOWNLOADというボタンがあるのでそのリンクを押します。<br /><br />
そして Oracle Binary Code License Agreement for Java SE に同意するために、<br /><br />
Accept License Agreement(訳: ライセンスに同意する)のラジオボタンを選択(クリック)して、<br /><br />
その後、自分のプラットフォームに合わせたJDKのダウンロードリンクをクリックしましょう。 <br /><br />
<br />
windows x86 = 32bit/windwos x64 = 64bit<br /><br />
<br />
JDKのインストール後、環境変数の設定が必要なことがあります(ほぼ必ず)<br /><br />
<br />
== Minecraft のPluginを開発する ==<br />
[[Plugin Tutorial]]を参照してください。<br />
<br />
==IDE(統合開発環境)の利用(任意)==<br />
MOD作成はテキストエディタでも可能ですが、コンパイルエラーやデバッグのしやすさ等の理由からでIDEが利用されることがほとんどです。<br />
*Java統合開発環境(IDE)<br />
**[[IDEAを入手する]]<br />
**[[Eclipseを入手する]]</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=MinecraftForge%E5%B0%8E%E5%85%A5%E6%89%8B%E9%A0%86(MCP)&diff=3376
MinecraftForge導入手順(MCP)
2017-03-24T17:34:25Z
<p>ModderKina: サイドバーから</p>
<hr />
<div>{{stb}}<br />
Minecraft1.6.1以降で、MinecraftForge8.9.0.749以降を導入する場合の手順です。<br /><br />
;動作確認<br />
:Minecraft1.6.1 Forge8.9.0.???<br />
<br />
*動作の確認は基本的にRecommended[推奨版]のみ。Latest[最新版]はForge自体の動作が保証されていません。<br />
*Forgeのダウンロードは[http://files.minecraftforge.net/ こちら]から。<br />
<br />
<br />
;以前のバージョンでの手順<br />
*[[MinecraftForge導入手順(MCP)旧版|Minecraft1.2.5 Forge3.2.3.108以前]]<br />
*[[MinecraftForge導入手順3.3.7 |Minecraft1.2.5 Forge3.3.7.135~Minecraft1.4.2 Forge6.0.1.341]]<br />
*[[MinecraftForge導入手順6.3.0 |Minecraft1.4.4 Forge6.3.0.372~]]<br />
*[[MinecraftForge導入手順6.5.0 |Minecraft1.4.6 Forge6.5.0.471~]]<br />
<br />
==必要なもの==<br />
<br />
<br />
==前準備==<br />
基本は、「[[MOD開発環境を作る|事前準備・MOD開発環境を作る]]」に準じています。<br /><br />
初めて導入する場合、上記ページで詳しく解説しているのでそちらへ。ここでは簡単に手順だけ書きます。<br /><br />
<br />
#[http://www.oracle.com/technetwork/java/javase/downloads/index.html JDKをダウンロード]し、インストールする。環境変数設定を忘れずに。<br />
<br />
==環境構築手順==<br />
<br />
#Forge の src を展開し install.cmd を実行する。<br />
#*mcp も .minecraft ディレクトリからのコピーも server の jar も何もかも必要なし。<br />
#暫く待つと mcp ディレクトリ内に必要なファイルが生成される。<br />
#*rsync(Windows なら cygwin)などで既存環境へ mcp/src, mcp/jars をコピーすると楽。<br />
#*lib ディレクトリは空っぽになってしまった(jars/libraries に移動した)ので中身を削除。<br />
#*Eclipse で開発する場合は、mcp/eclipse/Minecraft/.classpath の中身に従って、リンクするライブラリを指定(プロジェクトのプロパティ→Javaのビルド・パス→ライブラリー)する。ファイル数が多い(1.6.1 の時点で 20 個)ので注意。<br />
#*jinput と lwjgl, lwjgl_util は ネイティブの DLL が必要なので、jars/versions/1.6.1/1.6.1-natives を「ネイティブ・ライブラリーのロケーション」に指定すること。<br />
#Eclipse からのゲーム起動は今までの Start クラスから net.minecraft.launchwrapper.Launch に変更されたので注意。<br />
#*起動クラスを net.minecraft.launchwrapper.Launch、プログラムの引数として「--version 1.6 --tweakClass cpw.mods.fml.common.launcher.FMLTweaker」を指定。<br />
#*VM への引数として「-Xincgc -Xmx1024M -Xms1024M」を指定。<br />
#*作業ディレクトリに「${workspace_loc:(プロジェクト名)/jars}」を指定。GUI からワークスペースの jars ディレクトリを指定しても良い。<br />
#*ワールド情報は jars/save の中に生成されるので、既存ワールドは適宜このディレクトリにコピーすること。一度ゲームを起動すれば jars ディレクトリ内に必要ディレクトリが作成される。<br />
#サーバ起動時のクラスは net.minecraft.server.MinecraftServer。<br />
===1.6.4の場合===<br />
#fml\mc_versions.cfgを開く<br />
#一番最後らへんに下のコードがある [1.6.4]の<br />
#"server_md5 = ba3145656b1480122bd8759cecd7b7a1"の部分を<br />
#"server_md5 = abcf286a14f7aee82e8bf89270433509"に直す<br />
#上書き保存したらinstall.cmd を実行する。<br />
===1.6.2===<br />
一度forge-1.6.4-9.11.1.965-src.zipをダウンロードしてきて、<br />
そのsrcファイルの中にあるfml.pyファイルをForge871環境のfml.pyに上書きしてから、<br />
install.cmdを実行して見るとインストールに成功するかも知れません<br />
<br />
==並行開発する場合==<br />
[[複数バージョンの同時開発]]を参照してください。<br />
<comments /><br />
----<br />
* http://forum.minecraftuser.jp/viewtopic.php?f=39&amp;t=18988で現在最新の1.6.2ではfml.pyを変えないとmod開発できないとのことです。編集お願いします。 --[[特別:投稿記録/126.6.173.22|126.6.173.22]] 2015年4月29日 (水) 12:46 (JST)<br />
----<br />
* 1.6.4 が現時点では http://forum.minecraftuser.jp/viewtopic.php?f=39&amp;t=19303 を行わないとハッシュ不一致で進まない --[[特別:投稿記録/101.111.7.203|101.111.7.203]] 2014年8月6日 (水) 03:55 (JST)<br />
----<br />
* 1.6.2(9.10.1.871)にて28のライブラリがダウンロードに失敗します。なので手動でダウンロードしようと思うのですがどのディレクトリにダウンロードすればよいか分かりませんのでどなたか教えてくれませんか? --[[特別:投稿記録/180.19.176.37|180.19.176.37]] 2014年2月2日 (日) 22:34 (JST)<br />
[[MinecraftForge導入手順(MCP)の過去コメント|過去コメント]]</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=MediaWiki:Sidebar&diff=3375
MediaWiki:Sidebar
2017-03-24T17:20:09Z
<p>ModderKina: Minecraft Forge APIへリンクを移動</p>
<hr />
<div>* navigation<br />
** mainpage|mainpage-description<br />
** Special:Recentchanges|最近の更新<br />
** 拡張タグ|拡張タグ<br />
** 井戸端|井戸端<br />
<br />
* SEARCH<br />
<br />
* 事前準備<br />
** MOD開発環境を作る|MOD開発環境を作る<br />
** Eclipseを入手する|Eclipseを入手する<br />
** MinecraftForge導入手順|Forge導入手順<br />
** 複数バージョンの同時開発|複数バージョン同時開発<br />
<br />
* チュートリアル<br />
** チュートリアル一覧|チュートリアル一覧<br />
<br />
* 解説<br />
** Class解説|Minecraft Class解説<br />
<!--** 植物系ブロックの解説(1)サボテン|植物系ブロック解説1--><br />
<!--** API一覧|API一覧--><br />
** Minecraft Forge API|Minecraft Forge API<br />
** ModLoader API|ModLoader API<br />
** IndustrialCraft² API|IndustrialCraft² API<br />
** MineChem API|MineChem API<br />
** ComputerCraft API|ComputerCraft API<br />
<br />
* 情報<br />
** 用語|用語<br />
** IDlist|IDlist<br />
<br />
* リンク<br />
** http://www.minecraft.net/|Minecraft 公式サイト<br />
** http://www.minecraftforum.net/|Minecraft Forum<br />
** http://www26.atwiki.jp/minecraft/|Minecraft Japan Wiki<br />
** http://ja.minecraftwiki.net/Minecraft_Wiki|Minecraft Wiki(JA)<br />
** http://forum.minecraftuser.jp/|Minecraft 非公式日本ユーザーフォーラム<br />
<br />
* その他<br />
** 管理者との連絡ノート|管理者との連絡ノート<br />
** サンドボックス|サンドボックス(編集練習用)<br />
** http://www.mediawiki.org/wiki/Help:Contents/ja|Wikiのヘルプ<br />
** MediaWiki:Sidebar|サイドバー(管理者用)<br />
<br />
* TOOLBOX<br />
<br />
* LANGUAGES</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=Minecraft_Forge_API&diff=3374
Minecraft Forge API
2017-03-24T17:19:22Z
<p>ModderKina: /* 関連リンク */ サイドバーから</p>
<hr />
<div>{{Warning}}現在編集中であり、古い情報が多く含まれています。<br />
==概要==<br />
<p><br />
Minecraft ForgeとはMod作成に作成において要求頻度の高い様々な拡張機能を総合的に補助する前提Mod(拡張API)である。<br />
</p><br />
<br />
===開発環境でのインストール方法===<br />
<p><br />
[[MinecraftForge導入手順]]を参照。<br />
</p><br />
<br />
===関連リンク===<br />
*[//mcforge.readthedocs.org MinecraftForge Documentation (English)]<br />
*[http://www.minecraftforge.net/forum/ Minecraft Forge Forum]<br />
*[http://files.minecraftforge.net/ Minecraft Forge Downloads]<br />
<div class="mw-collapsible mw-collapsed"><br />
====古いリンク====<br />
<div class="mw-collapsible-content"><br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=2558 【API解説】Minecraft Forge(1.3.0)]<br />
*[[Minecraft Forge公式wiki翻訳]]<br />
*[http://www4.atwiki.jp/reginn666/ reginn666@ウィキ]<br />
</div><br />
</div><br />
<br />
===ForgeModLoaderについて===<br />
<p><br />
ForgeModLoader(以下FML)はForge用に作られたModLoaderである。もともとは別のプロジェクトであったが、1.8以降は完全に統合された。<br />
</p><br />
<br />
==ForgeModLoader API==<br />
===基礎===<br />
*;[[GameRegistry]]<br />
:ブロックの登録やレシピの追加などを行うAPI<br><br />
:;関連インタフェース<br />
:*<s>[[ICraftingHandler]]</s> <u>[[PlayerEvent]]</u> (1.3のUniversal化に伴いEventとなった)<br />
:*[[IFuelHandler]]<br />
:*<s>[[IPickupNotifier]]</s> <u>[[PlayerEvent]]</u> (1.3のUniversal化に伴いEventとなった)<br />
:*<s>[[IPlayerTracker]]</s> <u>[[PlayerEvent]]</u> (1.3のUniversal化に伴いEventとなった)<br />
:*[[IWorldGeneretor]]<br />
<br />
*;<s>[[LanguageRegistry]]</s><br />
:表示名やローカライズを行うAPI<br />
:'''1.7以降廃止された。同様の機能は適切な場所にLangファイルを配置するだけで実現できる。'''<br />
<br />
*;[[EntityRegistry]]<br />
:Entityの登録を行うAPI<br />
:;関連インタフェース<br />
:*IEntityAdditonalSpawnData<br />
:*IThorwableEntity<br />
<br />
*;<s>[[TickRegistry]]</s> <u>[[TickEvent]]</u> (1.3のUniversal化に伴いEventとなった)<br />
:Tick処理の登録を行うAPI<br />
<br />
*;[[VillagerRegistry]]<br />
:村, 村人に関連した処理を担うAPI<br />
<br />
*;[[ClientRegistry]]<br />
:TileEntitySpecialRendererなどのクライアント側のみでの登録を行うAPI。<br />
<br />
*;<s>[[KeyBindingRegistry]]</s> <u>[[ClientRegistry]]</u> (1.3のUniversal化に伴い移動された)<br />
:キーバインドの登録を行うAPI, クライアント側のみ<br />
<br />
*;[[RenderingRegistry]]<br />
:描画関連の登録を行うAPI, クライアント側のみ<br />
<br />
*;[[NetworkRegistry]]<br />
:ネットワーク関連の登録を行うAPI<br />
:;関連インタフェース<br />
:*[[IGuiHandler]]<br />
<br />
==Minecraft Forge API==<br />
===追加メソッド===<br />
<br />
===基礎===<br />
*;[[AchievementPage]]<br />
:実績ページの追加を担うAPI<br />
*;[[BiomeManager]]<br />
:村や遺跡などが生成されるバイオームを管理するAPI<br />
*;<s>[[ChestGenHooks]]</s><br />
:ダンジョンや遺跡, 廃坑などに生成されるチェストの中身へのフックを担うAPI<br />
:'''1.9でLootTableが実装されたため廃止された。'''<br />
*;[[Configuration]]<br />
:Forge式コンフィグファイルの生成を担うユーティリティ<br />
*;[[DimensionManager]]<br />
:Dimension関連のAPI<br />
*;[[EnumHelper]]<br />
:動的にEnum定数を追加するユーティリティ<br />
*;[[MinecraftForge]]<br />
:イベントの登録や様々なフックを担うAPI<br />
<br />
*;[[EnumPlantType]]<br />
:植物に関するEnum定数<br />
*;<s>[[ForgeDirection]]</s><br />
:方向に関するEnum定数<br />
:'''1.8以降バニラにEnumDirectionができたので廃止された。'''<br />
<br />
*;[[IPlantable]]<br />
:植物インタフェース<br />
*;[[IShearable]]<br />
:ハサミインタフェース<br />
*;[[ISpecialArmor]]<br />
:特殊な防具用のインタフェース<br />
:;関連クラス<br />
:*[[ArmorProperties]]<br />
<br />
===イベント===<br />
*;[[Event]]<br />
:イベント概略<br />
*;[[通常イベント]]<br />
:EVENT_BUSに登録するイベント<br />
*;[[地形生成イベント]]<br />
:TERRAIN_GEN_BUSに登録するイベント<br />
*;[[鉱石生成イベント]]<br />
:ORE_GEN_BUSに登録するイベント<br />
==== 一覧 ====<br />
*Event (net.minecraftforge.fml.common.eventhandler)<br />
**AnvilUpdateEvent (net.minecraftforge.event)<br />
**BabyEntitySpawnEvent (net.minecraftforge.event.entity.living)<br />
**BiomeEvent (net.minecraftforge.event.terraingen)<br />
***BiomeColor in BiomeEvent (net.minecraftforge.event.terraingen)<br />
****GetFoliageColor in BiomeEvent (net.minecraftforge.event.terraingen)<br />
****GetGrassColor in BiomeEvent (net.minecraftforge.event.terraingen)<br />
****GetWaterColor in BiomeEvent (net.minecraftforge.event.terraingen)<br />
***CreateDecorator in BiomeEvent (net.minecraftforge.event.terraingen)<br />
***GetVillageBlockID in BiomeEvent (net.minecraftforge.event.terraingen)<br />
**BlockEvent (net.minecraftforge.event.world)<br />
***BreakEvent in BlockEvent (net.minecraftforge.event.world)<br />
***CreateFluidSourceEvent in BlockEvent (net.minecraftforge.event.world)<br />
***CropGrowEvent in BlockEvent (net.minecraftforge.event.world)<br />
****Post in CropGrowEvent in BlockEvent (net.minecraftforge.event.world)<br />
****Pre in CropGrowEvent in BlockEvent (net.minecraftforge.event.world)<br />
***HarvestDropsEvent in BlockEvent (net.minecraftforge.event.world)<br />
***NeighborNotifyEvent in BlockEvent (net.minecraftforge.event.world)<br />
***NoteBlockEvent (net.minecraftforge.event.world)<br />
****Change in NoteBlockEvent (net.minecraftforge.event.world)<br />
****Play in NoteBlockEvent (net.minecraftforge.event.world)<br />
***PlaceEvent in BlockEvent (net.minecraftforge.event.world)<br />
****MultiPlaceEvent in BlockEvent (net.minecraftforge.event.world)<br />
**ChunkGeneratorEvent (net.minecraftforge.event.terraingen)<br />
***InitNoiseField in ChunkGeneratorEvent (net.minecraftforge.event.terraingen)<br />
***PopulateChunkEvent (net.minecraftforge.event.terraingen)<br />
****Populate in PopulateChunkEvent (net.minecraftforge.event.terraingen)<br />
****Post in PopulateChunkEvent (net.minecraftforge.event.terraingen)<br />
****Pre in PopulateChunkEvent (net.minecraftforge.event.terraingen)<br />
***ReplaceBiomeBlocks in ChunkGeneratorEvent (net.minecraftforge.event.terraingen)<br />
**ChunkWatchEvent (net.minecraftforge.event.world)<br />
***UnWatch in ChunkWatchEvent (net.minecraftforge.event.world)<br />
***Watch in ChunkWatchEvent (net.minecraftforge.event.world)<br />
**ClientChatReceivedEvent (net.minecraftforge.client.event)<br />
**CommandEvent (net.minecraftforge.event)<br />
**ConfigChangedEvent (net.minecraftforge.fml.client.event)<br />
***OnConfigChangedEvent in ConfigChangedEvent (net.minecraftforge.fml.client.event)<br />
***PostConfigChangedEvent in ConfigChangedEvent (net.minecraftforge.fml.client.event)<br />
**CustomNetworkEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
**DecorateBiomeEvent (net.minecraftforge.event.terraingen)<br />
***Decorate in DecorateBiomeEvent (net.minecraftforge.event.terraingen)<br />
***Post in DecorateBiomeEvent (net.minecraftforge.event.terraingen)<br />
***Pre in DecorateBiomeEvent (net.minecraftforge.event.terraingen)<br />
**DrawBlockHighlightEvent (net.minecraftforge.client.event)<br />
**EntityEvent (net.minecraftforge.event.entity)<br />
***CanUpdate in EntityEvent (net.minecraftforge.event.entity)<br />
***EnteringChunk in EntityEvent (net.minecraftforge.event.entity)<br />
***EntityConstructing in EntityEvent (net.minecraftforge.event.entity)<br />
***EntityJoinWorldEvent (net.minecraftforge.event.entity)<br />
***EntityMountEvent (net.minecraftforge.event.entity)<br />
***EntityStruckByLightningEvent (net.minecraftforge.event.entity)<br />
***EntityTravelToDimensionEvent (net.minecraftforge.event.entity)<br />
***ItemEvent (net.minecraftforge.event.entity.item)<br />
****ItemExpireEvent (net.minecraftforge.event.entity.item)<br />
****ItemTossEvent (net.minecraftforge.event.entity.item)<br />
***LivingEvent (net.minecraftforge.event.entity.living)<br />
****EnderTeleportEvent (net.minecraftforge.event.entity.living)<br />
****LivingAttackEvent (net.minecraftforge.event.entity.living)<br />
****LivingDeathEvent (net.minecraftforge.event.entity.living)<br />
****LivingDropsEvent (net.minecraftforge.event.entity.living)<br />
*****PlayerDropsEvent (net.minecraftforge.event.entity.player)<br />
****LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
*****Finish in LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
*****Start in LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
*****Stop in LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
*****Tick in LivingEntityUseItemEvent (net.minecraftforge.event.entity.living)<br />
****LivingEquipmentChangeEvent (net.minecraftforge.event.entity.living)<br />
****LivingExperienceDropEvent (net.minecraftforge.event.entity.living)<br />
****LivingFallEvent (net.minecraftforge.event.entity.living)<br />
****LivingHealEvent (net.minecraftforge.event.entity.living)<br />
****LivingHurtEvent (net.minecraftforge.event.entity.living)<br />
****LivingJumpEvent in LivingEvent (net.minecraftforge.event.entity.living)<br />
****LivingPackSizeEvent (net.minecraftforge.event.entity.living)<br />
****LivingSetAttackTargetEvent (net.minecraftforge.event.entity.living)<br />
****LivingSpawnEvent (net.minecraftforge.event.entity.living)<br />
*****AllowDespawn in LivingSpawnEvent (net.minecraftforge.event.entity.living)<br />
*****CheckSpawn in LivingSpawnEvent (net.minecraftforge.event.entity.living)<br />
*****SpecialSpawn in LivingSpawnEvent (net.minecraftforge.event.entity.living)<br />
****LivingUpdateEvent in LivingEvent (net.minecraftforge.event.entity.living)<br />
****LootingLevelEvent (net.minecraftforge.event.entity.living)<br />
****PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****AchievementEvent (net.minecraftforge.event.entity.player)<br />
*****AnvilRepairEvent (net.minecraftforge.event.entity.player)<br />
*****ArrowLooseEvent (net.minecraftforge.event.entity.player)<br />
*****ArrowNockEvent (net.minecraftforge.event.entity.player)<br />
*****AttackEntityEvent (net.minecraftforge.event.entity.player)<br />
*****BonemealEvent (net.minecraftforge.event.entity.player)<br />
*****BreakSpeed in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****Clone in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****EntityItemPickupEvent (net.minecraftforge.event.entity.player)<br />
*****FillBucketEvent (net.minecraftforge.event.entity.player)<br />
*****HarvestCheck in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****ItemTooltipEvent (net.minecraftforge.event.entity.player)<br />
*****LoadFromFile in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****NameFormat in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerBrewedPotionEvent (net.minecraftforge.event.brewing)<br />
*****PlayerContainerEvent (net.minecraftforge.event.entity.player)<br />
******Close in PlayerContainerEvent (net.minecraftforge.event.entity.player)<br />
******Open in PlayerContainerEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerDestroyItemEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerFlyableFallEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******EntityInteract in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******EntityInteractSpecific in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******LeftClickBlock in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******LeftClickEmpty in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******RightClickBlock in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******RightClickEmpty in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
******RightClickItem in PlayerInteractEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerPickupXpEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerSetSpawnEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerSleepInBedEvent (net.minecraftforge.event.entity.player)<br />
*****PlayerWakeUpEvent (net.minecraftforge.event.entity.player)<br />
*****RenderPlayerEvent (net.minecraftforge.client.event)<br />
******Post in RenderPlayerEvent (net.minecraftforge.client.event)<br />
******Pre in RenderPlayerEvent (net.minecraftforge.client.event)<br />
******SetArmorModel in RenderPlayerEvent (net.minecraftforge.client.event)<br />
******Specials in RenderPlayerEvent (net.minecraftforge.client.event)<br />
*******Post in Specials in RenderPlayerEvent (net.minecraftforge.client.event)<br />
*******Pre in Specials in RenderPlayerEvent (net.minecraftforge.client.event)<br />
*****SaveToFile in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****SleepingLocationCheckEvent (net.minecraftforge.event.entity.player)<br />
*****StartTracking in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****StopTracking in PlayerEvent (net.minecraftforge.event.entity.player)<br />
*****UseHoeEvent (net.minecraftforge.event.entity.player)<br />
*****Visibility in PlayerEvent (net.minecraftforge.event.entity.player)<br />
***MinecartEvent (net.minecraftforge.event.entity.minecart)<br />
****MinecartCollisionEvent (net.minecraftforge.event.entity.minecart)<br />
****MinecartInteractEvent (net.minecraftforge.event.entity.minecart)<br />
****MinecartUpdateEvent (net.minecraftforge.event.entity.minecart)<br />
***PlaySoundAtEntityEvent (net.minecraftforge.event.entity)<br />
***ThrowableImpactEvent (net.minecraftforge.event.entity)<br />
***ZombieEvent (net.minecraftforge.event.entity.living)<br />
****SummonAidEvent in ZombieEvent (net.minecraftforge.event.entity.living)<br />
**EntitySelectorEvent (net.minecraftforge.event)<br />
**EntityViewRenderEvent (net.minecraftforge.client.event)<br />
***CameraSetup in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
***FogColors in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
***FogDensity in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
***FOVModifier in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
***RenderFogEvent in EntityViewRenderEvent (net.minecraftforge.client.event)<br />
**ExplosionEvent (net.minecraftforge.event.world)<br />
***Detonate in ExplosionEvent (net.minecraftforge.event.world)<br />
***Start in ExplosionEvent (net.minecraftforge.event.world)<br />
**FluidEvent (net.minecraftforge.fluids)<br />
***FluidDrainingEvent in FluidEvent (net.minecraftforge.fluids)<br />
***FluidFillingEvent in FluidEvent (net.minecraftforge.fluids)<br />
***FluidMotionEvent in FluidEvent (net.minecraftforge.fluids)<br />
***FluidSpilledEvent in FluidEvent (net.minecraftforge.fluids)<br />
**FluidRegisterEvent in FluidRegistry (net.minecraftforge.fluids)<br />
**FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
***ClientConnectedToServerEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
***ClientDisconnectionFromServerEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
***CustomPacketEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
****ClientCustomPacketEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
****ServerCustomPacketEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
***CustomPacketRegistrationEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
***ServerConnectionFromClientEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
***ServerDisconnectionFromClientEvent in FMLNetworkEvent (net.minecraftforge.fml.common.network)<br />
**ForceChunkEvent in ForgeChunkManager (net.minecraftforge.common)<br />
**FOVUpdateEvent (net.minecraftforge.client.event)<br />
**GenericEvent (net.minecraftforge.fml.common.eventhandler)<br />
***AttachCapabilitiesEvent (net.minecraftforge.event)<br />
****Entity in AttachCapabilitiesEvent (net.minecraftforge.event)<br />
****Item in AttachCapabilitiesEvent (net.minecraftforge.event)<br />
****TileEntity in AttachCapabilitiesEvent (net.minecraftforge.event)<br />
****World in AttachCapabilitiesEvent (net.minecraftforge.event)<br />
***RegistryEvent (net.minecraftforge.event)<br />
****Register in RegistryEvent (net.minecraftforge.event)<br />
**GuiOpenEvent (net.minecraftforge.client.event)<br />
**GuiScreenEvent (net.minecraftforge.client.event)<br />
***ActionPerformedEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Post in ActionPerformedEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Pre in ActionPerformedEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
***BackgroundDrawnEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
***DrawScreenEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Post in DrawScreenEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Pre in DrawScreenEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
***InitGuiEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Post in InitGuiEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Pre in InitGuiEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
***KeyboardInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Post in KeyboardInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Pre in KeyboardInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
***MouseInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Post in MouseInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
****Pre in MouseInputEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
***PotionShiftEvent in GuiScreenEvent (net.minecraftforge.client.event)<br />
**InitMapGenEvent (net.minecraftforge.event.terraingen)<br />
**InputEvent (net.minecraftforge.fml.common.gameevent)<br />
***KeyInputEvent in InputEvent (net.minecraftforge.fml.common.gameevent)<br />
***MouseInputEvent in InputEvent (net.minecraftforge.fml.common.gameevent)<br />
**LootTableLoadEvent (net.minecraftforge.event)<br />
**ModelBakeEvent (net.minecraftforge.client.event)<br />
**ModelRegistryEvent (net.minecraftforge.client.event)<br />
**MouseEvent (net.minecraftforge.client.event)<br />
**NewRegistry in RegistryEvent (net.minecraftforge.event)<br />
**OreGenEvent (net.minecraftforge.event.terraingen)<br />
***GenerateMinable in OreGenEvent (net.minecraftforge.event.terraingen)<br />
***Post in OreGenEvent (net.minecraftforge.event.terraingen)<br />
***Pre in OreGenEvent (net.minecraftforge.event.terraingen)<br />
**OreRegisterEvent in OreDictionary (net.minecraftforge.oredict)<br />
**PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***ItemCraftedEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***ItemPickupEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***ItemSmeltedEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***PlayerChangedDimensionEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***PlayerLoggedInEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***PlayerLoggedOutEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
***PlayerRespawnEvent in PlayerEvent (net.minecraftforge.fml.common.gameevent)<br />
**PotionBrewEvent (net.minecraftforge.event.brewing)<br />
***Post in PotionBrewEvent (net.minecraftforge.event.brewing)<br />
***Pre in PotionBrewEvent (net.minecraftforge.event.brewing)<br />
**RenderBlockOverlayEvent (net.minecraftforge.client.event)<br />
**RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
***Post in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
***Pre in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
****BossInfo in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
****Chat in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
****Text in RenderGameOverlayEvent (net.minecraftforge.client.event)<br />
**RenderHandEvent (net.minecraftforge.client.event)<br />
**RenderItemInFrameEvent (net.minecraftforge.client.event)<br />
**RenderLivingEvent (net.minecraftforge.client.event)<br />
***Post in RenderLivingEvent (net.minecraftforge.client.event)<br />
***Pre in RenderLivingEvent (net.minecraftforge.client.event)<br />
***Specials in RenderLivingEvent (net.minecraftforge.client.event)<br />
****Post in Specials in RenderLivingEvent (net.minecraftforge.client.event)<br />
****Pre in Specials in RenderLivingEvent (net.minecraftforge.client.event)<br />
**RenderSpecificHandEvent (net.minecraftforge.client.event)<br />
**RenderTooltipEvent (net.minecraftforge.client.event)<br />
***Post in RenderTooltipEvent (net.minecraftforge.client.event)<br />
****PostBackground in RenderTooltipEvent (net.minecraftforge.client.event)<br />
****PostText in RenderTooltipEvent (net.minecraftforge.client.event)<br />
***Pre in RenderTooltipEvent (net.minecraftforge.client.event)<br />
**RenderWorldLastEvent (net.minecraftforge.client.event)<br />
**ScreenshotEvent (net.minecraftforge.client.event)<br />
**ServerChatEvent (net.minecraftforge.event)<br />
**SoundEvent (net.minecraftforge.client.event.sound)<br />
***PlaySoundEvent (net.minecraftforge.client.event.sound)<br />
***SoundLoadEvent (net.minecraftforge.client.event.sound)<br />
***SoundSetupEvent (net.minecraftforge.client.event.sound)<br />
***SoundSourceEvent in SoundEvent (net.minecraftforge.client.event.sound)<br />
****PlaySoundSourceEvent (net.minecraftforge.client.event.sound)<br />
****PlayStreamingSourceEvent (net.minecraftforge.client.event.sound)<br />
**TextureStitchEvent (net.minecraftforge.client.event)<br />
***Post in TextureStitchEvent (net.minecraftforge.client.event)<br />
***Pre in TextureStitchEvent (net.minecraftforge.client.event)<br />
**TickEvent (net.minecraftforge.fml.common.gameevent)<br />
***ClientTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
***PlayerTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
***RenderTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
***ServerTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
***WorldTickEvent in TickEvent (net.minecraftforge.fml.common.gameevent)<br />
**UnforceChunkEvent in ForgeChunkManager (net.minecraftforge.common)<br />
**WorldEvent (net.minecraftforge.event.world)<br />
***ChunkEvent (net.minecraftforge.event.world)<br />
****ChunkDataEvent (net.minecraftforge.event.world)<br />
*****Load in ChunkDataEvent (net.minecraftforge.event.world)<br />
*****Save in ChunkDataEvent (net.minecraftforge.event.world)<br />
****Load in ChunkEvent (net.minecraftforge.event.world)<br />
****Unload in ChunkEvent (net.minecraftforge.event.world)<br />
***CreateSpawnPosition in WorldEvent (net.minecraftforge.event.world)<br />
***GetCollisionBoxesEvent (net.minecraftforge.event.world)<br />
***InitNoiseGensEvent (net.minecraftforge.event.terraingen)<br />
***Load in WorldEvent (net.minecraftforge.event.world)<br />
***PotentialSpawns in WorldEvent (net.minecraftforge.event.world)<br />
***SaplingGrowTreeEvent (net.minecraftforge.event.terraingen)<br />
***Save in WorldEvent (net.minecraftforge.event.world)<br />
***Unload in WorldEvent (net.minecraftforge.event.world)<br />
**WorldTypeEvent (net.minecraftforge.event.terraingen)<br />
***BiomeSize in WorldTypeEvent (net.minecraftforge.event.terraingen)<br />
***InitBiomeGens in WorldTypeEvent (net.minecraftforge.event.terraingen)<br />
<br />
===流体API===<br />
*;<s>[[FluidContainerRegistry]]</s> <u>Capabilityシステムの導入に伴い廃止</u><br />
:流体の容器の登録API<br />
<br />
===鉱石辞書===<br />
*;[[OreDictionary]]<br />
:鉱石辞書本体, 鉱石辞書への登録, 参照を担うAPI<br />
*;[[ShapedOreRecipe]]<br />
:鉱石辞書を利用した定形レシピを追加するためのクラス<br />
*;[[ShapelessOreRecipe]]<br />
:鉱石辞書を利用した不定形レシピを追加するためのクラス</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=MediaWiki:Sidebar&diff=3373
MediaWiki:Sidebar
2017-03-24T17:13:24Z
<p>ModderKina: 解説節の統合</p>
<hr />
<div>* navigation<br />
** mainpage|mainpage-description<br />
** Special:Recentchanges|最近の更新<br />
** 拡張タグ|拡張タグ<br />
** 井戸端|井戸端<br />
<br />
* SEARCH<br />
<br />
* 事前準備<br />
** MOD開発環境を作る|MOD開発環境を作る<br />
** Eclipseを入手する|Eclipseを入手する<br />
** MinecraftForge導入手順|Forge導入手順<br />
** 複数バージョンの同時開発|複数バージョン同時開発<br />
<br />
* チュートリアル<br />
** チュートリアル一覧|チュートリアル一覧<br />
<br />
* 解説<br />
** Class解説|Minecraft Class解説<br />
<!--** 植物系ブロックの解説(1)サボテン|植物系ブロック解説1--><br />
<!--** API一覧|API一覧--><br />
** Minecraft Forge API|Minecraft Forge API<br />
** ModLoader API|ModLoader API<br />
** IndustrialCraft² API|IndustrialCraft² API<br />
** MineChem API|MineChem API<br />
** ComputerCraft API|ComputerCraft API<br />
<br />
* 情報<br />
** 用語|用語<br />
** IDlist|IDlist<br />
<br />
* リンク<br />
** http://www.minecraft.net/|Minecraft 公式サイト<br />
** http://www.minecraftforum.net/|Minecraft Forum<br />
** http://www26.atwiki.jp/minecraft/|Minecraft Japan Wiki<br />
** http://ja.minecraftwiki.net/Minecraft_Wiki|Minecraft Wiki(JA)<br />
** http://forum.minecraftuser.jp/|Minecraft 非公式日本ユーザーフォーラム<br />
** http://www4.atwiki.jp/reginn666/|reginn666@ウィキ(Forge関係)<br />
<br />
* その他<br />
** 管理者との連絡ノート|管理者との連絡ノート<br />
** サンドボックス|サンドボックス(編集練習用)<br />
** http://www.mediawiki.org/wiki/Help:Contents/ja|Wikiのヘルプ<br />
** MediaWiki:Sidebar|サイドバー(管理者用)<br />
<br />
* TOOLBOX<br />
<br />
* LANGUAGES</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E4%B8%80%E8%A6%A7&diff=3369
チュートリアル一覧
2017-03-21T12:57:18Z
<p>ModderKina: 移動</p>
<hr />
<div>※Moddingに関する質問は、[//forum.minecraftuser.jp/viewforum.php?f=39 非公式日本ユーザーフォーラム 質問:開発・制作関連]へ。<br />
<br />
{{TOC|limit=1}}<br />
==基礎知識・Tips==<br />
Moddingの基礎や、前提modに関わらないチュートリアルなど<br><br />
====外部参考サイト====<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=9494 ◆総合◆Modderのための雑談所]<br />
*[//forum.minecraftuser.jp/viewforum.php?f=21 MOD,プラグイン,その他ツール 開発関連]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3811 【技術共有】トピックを立てるまでもないライブラリとかコードとかの公開所]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3558 MOD制作小技紹介]<br />
<br />
*[//minecraft.gamepedia.com/Model Model.json]<br />
*[//minecraft.gamepedia.com/Sounds.json Sounds.json]<br />
*[//minecraft.gamepedia.com/Loot_table Loot_table.json]<br />
<br />
====Modding Tips====<br />
*[[1.8のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
**[[1.7のサウンド追加]]<br />
*[[1.6のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7でjar形式のAPIを利用する方法]]<br />
*[[1.7でjar形式でないAPIを利用する方法]]<br />
*[[NBTについて]]<br />
<br />
====ライブラリの知識====<br />
*[[Gradle利用]]<br />
*[[Guava概要]]<br />
*[[ASM利用]]<br />
<br />
==Minecraft Forge==<br />
===はじめに===<br />
※より詳しいことが知りたい人は、[[Minecraft Forge API]]へ。<br />
*[[MinecraftForge導入手順]]<br />
*[[mcmod.infoの設定]]<br />
*[[プロキシシステムについて]]<br />
*[[鉱石辞書の利用]]<br />
*[[Minecraft Forge Eventシステム概要|Eventシステム概要]]<br />
*[[Forge式Config利用]]<br />
*[[Capabilityシステム概要]]<br />
*[[Access Transformer利用]]<br />
<br />
{| class="wikitable" style="text-align: center;"<br />
|+ チュートリアルの対応状況<br />
|-<br />
| colspan="8" style="text-align: left;"|<br />
{| class="wikitable"<br />
!colspan="2"|凡例<br />
|-<br />
|style="background-color: lightgreen;"| ✓<br />
| 記事作成済み<br />
|-<br />
|style="background-color: lightgreen;"| ○<br />
| 他のバージョンのものが利用可能である<br />
|-<br />
|style="background-color: mediumaquamarine;"| △<br />
| 他のバージョンのものが参考にできる(パッケージ、ネームテーブル等の変更で対応可能)<br />
|-<br />
|style="background-color: orangered;"| ☓<br />
| APIなどの変更があり他のものが参考にしがたい、もしくは他のバージョンのチュートリアルが存在しない<br />
|-<br />
|style="background-color: gray;"| &lowast;<br />
| 不可能である<br />
|-<br />
|style="background-color: sandybrown;"| ?<br />
| 未調査<br />
|}<br />
|-<br />
! scope="col"| 内容<br />
! scope="col"| [[#~1.5Modding|~1.5]]<br />
! scope="col"| [[#1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965|1.6.x]]<br />
! scope="col"| [[#1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)|1.7.x]]<br />
! scope="col"| [[#1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~|1.8.x]]<br />
! scope="col"| [[#1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~|1.9.x]]<br />
! scope="col"| [[#1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~|1.10.x]]<br />
! scope="col"| [[#1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~|1.11.x]]<br />
|-<br />
! scope="row"| レシピの追加<br />
|style="background-color: lightgreen;"| [[レシピの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のレシピ追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のレシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| 精錬レシピの追加<br />
|style="background-color: lightgreen;"| [[精錬レシピの追加|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7の精錬レシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| 醸造レシピの追加<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| クリエイティブタブの追加<br />
|style="background-color: lightgreen;"| [[CreativeTabの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のクリエイティブタブの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| アイテムの追加<br />
|style="background-color: lightgreen;"| [[無機能アイテムの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のアイテム追加|✓]]<br />
|-<br />
! scope="row"| ブロックの追加<br />
|style="background-color: lightgreen;"| [[無機能ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.10.2のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.11のブロック追加|✓]]<br />
|-<br />
! scope="row"| ポーションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[PotionEffectのチュートリアル|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のポーション追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のポーション追加|✓]]<br />
|-<br />
! scope="row"| エンチャントの追加<br />
|style="background-color: lightgreen;"| [[Enchantmentの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のエンチャント追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のエンチャント追加|✓]]<br />
|-<br />
! scope="row"| バイオームの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| サウンドの追加<br />
|style="background-color: lightgreen;"| [[音の追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のサウンドの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のサウンド追加|✓]]<br />
|-<br />
! scope="row"| 村人の追加<br />
|style="background-color: lightgreen;"| [[村人取引の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7の村人取引の追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.9の村人職業追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| コンフィグの作成<br />
|style="background-color: lightgreen;"| [[Forge式コンフィグファイルの利用|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のForge式Config追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| 実績の追加<br />
|style="background-color: lightgreen;"| [[実績の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| 鉱石の生成<br />
|style="background-color: lightgreen;"| [[追加鉱物をワールドに生成させる|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.8のOreGenEvent利用による鉱石生成|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| TileEntityの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.6のTileEntityの追加|✓]]<br />
|style="background-color: lightgreen;"| [[シンプルなTileEntityの追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| GUIの追加<br />
|style="background-color: lightgreen;"| [[GUIの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のGUI追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| 流体の追加<br />
|style="background-color: lightgreen;"| [[液体を追加する|✓]]<br />
|style="background-color: lightgreen;"| [[1.6の流体追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.8の液体ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| エンティティの追加<br />
|style="background-color: lightgreen;"| [[MOBを追加する|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.9のMOB追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| ディメンションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のディメンション追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| WorldTypeの追加<br />
|style="background-color: lightgreen;"| [[WorldTypeの追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|}<br />
<br />
===1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~===<br />
====チュートリアル基礎====<br />
*[[1.10から1.11への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//minecraft.gamepedia.com/index.php?title=Model&oldid=1040633 1.11のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.11のレシピ追加]]<br />
*[[1.11の精錬レシピ追加]]<br />
*[[1.11の醸造レシピ追加]]<br />
*[[1.11のアイテム追加]]<br />
*[[1.11のブロック追加]]<br />
*[[1.11のサウンド追加]]<br />
*[[1.11のポーション追加]]<br />
*[[1.11のエンチャント追加]]<br />
*[[1.11のLootTable利用]]<br />
*[[1.11のエンティティ追加]]<br />
<br />
===1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~===<br />
<br />
====チュートリアル初級====<br />
*[[1.10.2のブロック追加]]<br />
<br />
===1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~===<br />
*[[1.8から1.9への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//minecraft.gamepedia.com/index.php?title=Model&oldid=962448 1.9のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.9のブロック追加]]<br />
**[[1.9のForge式Json利用]]([//mcforge.readthedocs.org/en/latest/blockstates/forgeBlockstates/ ForgeDoc])<br />
*[[1.9のアイテム追加]]<br />
*[[1.9のポーション追加]]<br />
*[[1.9のエンチャント追加]]<br />
*[[1.9のバイオーム追加]]<br />
*[[1.9の村人職業追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.9のMOB追加]]<br />
====チュートリアル上級====<br />
<br />
===1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~===<br />
*[[1.7から1.8への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[[1.8のバニラJsonの仕様]]<br />
*[[1.8のブロック追加]]<br />
**[[1.8のブロックで部分的に色を変える方法]]<br />
**[[1.8のB3Dモデル利用ブロック追加]]<br />
*[[1.8のアイテム追加]]<br />
**[[1.8のアイテムで部分的に色を変える方法]]<br />
*[[1.8のOreGenEvent利用による鉱石生成]]<br />
*[[1.8のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.8のプレイヤーカスタムデータの追加]]<br />
*[[1.8のIRecipe利用によるレシピ追加]]<br />
*[[1.8の液体ブロックの追加]]<br />
*[[1.8のICustomModelLoader利用]]<br />
<br />
====チュートリアル上級====<br />
<br />
====他サイトリンク====<br />
*[http://www.nicovideo.jp/mylist/49688372 reine氏による1.8の開発記録動画]<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=9220 【Forgeチュートリアル】クラフトで耐久値が減るアイテムの作り方1.2.5~1.8 ソース付属 ]<br />
<br />
===1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)===<br />
*[[1.6から1.7への変更点]]<br />
*[[1.7の基本コーディング]]<br />
*[[1.7のInterModComms利用]]<br />
<br />
====チュートリアル初級====<br />
*[[1.7のレシピ追加]]<br />
*[[1.7の精錬レシピ追加]]<br />
*[[1.7のブロック追加]]<br />
*[[1.7のアイテム追加]]<br />
**[[1.7のアイテムに初期状態でエンチャント等NBTデータを付ける方法]]<br />
**[[1.7の武器追加(剣)]]<br />
**[[1.7の防具追加]]<br />
**[[1.7のアイテムで部分的に色を変える方法]]<br />
**[[1.7のアイテムのツールチップに情報を表示させる方法]]<br />
**[[1.7のアイテムの表示名を変更する方法]]<br />
*[[1.7のGUI追加]]<br />
*[[1.7のディスペンサーModding]]<br />
*[[1.7のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[DataWatcherを用いたエンティティの同期]]<br />
*[[1.7のパケットについて]]<br />
**[[1.7のキーボードイベント追加]]<br />
*[[1.7のプレイヤーカスタムデータの追加]]<br />
*[[Forge 10.12.1.1074以降でのクライアント/サーバMOD]]<br />
*[[逆さまの木の追加]]<br />
*[[シンプルなTileEntityの追加]]<br />
**[[1.7の液体タンクを持つTileEntityの追加]]<br />
*[[シフトクリック時の処理]]<br />
*[[1.7の村人取引の追加]]<br />
*[[1.7のディメンション追加]]<br />
*[[MOBの追加]]<br />
*[[独自のスポーンエッグの追加]]<br />
*[[1.7以降のIResourcePackの利用]]<br />
*[[1.7の独自レシピシステムの追加]]<br />
*[[1.7の属性値を動的変更できるアイテムの追加]]<br />
*[[1.7の独自Renderの追加]]<br />
*[[1.7でのインベントリ操作]]<br />
*[[1.7のForge式Config追加]]<br />
<br />
====チュートリアル上級====<br />
*[[前提MODの自動DLの仕方]]<br />
*[[インベントリを持つアイテムの追加]]<br />
<br />
;他サイトリンク<br />
*[http://defeatedcrow.jp/modwiki/IGNIS%E5%88%B6%E4%BD%9C%E8%A8%98%E9%8C%B2 defeatedcrow氏による1.7.10のMODの制作過程]<br />
<br />
===1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965===<br />
1.6からリソースパック方式の導入により、いくつかの項目で画像、音声、言語ファイル等の扱いが変更されました。<br><br />
また、MCP作者が1.6Modding環境としてForgeを推奨しています。<br><br />
<br />
====基本のチュートリアル====<br />
*[[1.6の開発環境の作り方]]<br />
*[[1.6の基本コーティング]]<br />
*[[1.6のテクスチャの指定]]<br />
*[[PotionEffectのチュートリアル]]<br />
<br />
====チュートリアル初級====<br />
*[[1.6のレシピ追加]]<br />
*[[1.6のブロック追加]]<br />
*[[1.6のアイテム追加]]<br />
**[[1.6のツール類追加]]<br />
***[[1.6のカスタムツール追加]]<br />
**[[1.6の食料追加]]<br />
**[[1.6の武器追加(剣)]]<br />
**[[1.6の防具追加]]<br />
*[[1.6のクリエイティブタブの追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.6のメタデータを持つアイテム・ブロック]]<br />
*[[1.6の骨粉処理]]<br />
*[[1.6の植物追加]]<br />
*[[1.6の流体追加]]<br />
**[[1.6の流体をバケツで扱う]]<br />
*[[鉱石辞書の利用|1.6の鉱石辞書の利用]]<br />
**[[1.6の鉱石辞書利用の実例]]<br />
*[[1.6のアニメーションアイテムの追加]]<br />
*[[カスタムレンダーを使用するブロックの追加]]<br />
*[[1.6のモデル付きカスタムツール追加]]<br />
*[[1.6のサウンドの追加]]<br />
*[[1.6のプレイヤーカスタムデータの追加]]<br />
<br />
====チュートリアル上級====<br />
*[[1.6のTileEntityの追加]]<br />
*[[パーティクルの追加]]<br />
*[[モンスタードロップの追加]]<br />
*[[構造物の追加]]<br />
*[[防具の特殊な処理]]<br />
*[[1.6の発射体Entityの追加]]<br />
<br />
====外部サイト====<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=12186 レシピの追加]<br />
<br />
===~1.5Modding===<br />
{{Warning}}サポートが打ち切られている、もしくは非常に古い情報を含みます<br />
→[[1.5以前のチュートリアル]]<br />
<br />
==Bukkit Pluginの作り方==<br />
Bukkitを前提としたサーバー用Moddingです。<br><br />
<!-- *[[Bukkit用MODの作成方法]] --><br />
*[[Plugin Tutorial]]<br />
*[[新しいEventSystemの使い方]]<br />
*[[新しいConfigurationの使い方]]<br />
*[[スケジューラのプログラミング]]<br />
*[[天候操作]]<br />
*[[スコアボードシステムの使い方]]<br />
*[[plugin.ymlの設定一覧]]<br />
<br />
==その他の前提mod==<br />
上記以外のmodを前提としたmodding。<br><br />
===Not Enough Items(NEI)===<br />
*[[NEIにて独自レシピを表示させる]]<br />
===LiteLoader rev317===<br />
*[[LiteLoader導入手順]]<br />
*[[LiteLoader/1.8のデバッグ画面へ情報を追加]]</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=%E9%89%B1%E7%9F%B3%E8%BE%9E%E6%9B%B8%E3%81%AE%E5%88%A9%E7%94%A8&diff=3368
鉱石辞書の利用
2017-03-21T12:49:52Z
<p>ModderKina: /* 基本的な使い方 */</p>
<hr />
<div>{{前提MOD|reqmod="Minecraft Forge4.3x~"}}<br />
<br />
==鉱石辞書の利用==<br />
<p><br />
鉱石辞書(OreDictionary)は異なるmod間でのアイテム共有のための機能である。forge前提の大型modでは'''銅'''や'''錫''', '''青銅'''などが鉱石辞書に登録され利用できるようになっている。鉱石辞書という名前ではあるものの、鉱石に限らずあらゆるアイテムを登録できる。鉱石辞書はnet.minecraftforge.oredictパッケージで提供される機能である。<br><br />
対象となるアイテムがそれぞれの環境で存在しなくても落ちることはないため、簡易な連携要素として気軽に利用できる機能である。<br />
</p><br />
<br />
==基本的な使い方==<br />
*鉱石辞書への登録<br />
<p><br />
鉱石辞書への登録はOreDictionaryクラスのregisterOreメソッドを利用する。ItemStackで扱われるため、追加情報を持つItemについても簡単に利用できる。<br />
</p><br />
<source lang = "java"><br />
public static void registerOre(String name, Item ore)<br />
public static void registerOre(String name, Block ore)<br />
public static void registerOre(String name, ItemStack ore)<br />
</source><br />
<p><br />
すなわち、鉱石辞書は'''文字列'''をキーとして共有する機能を提供している。他のmodのBlockやItemへの参照がなくとも、文字列を指定しておけば読み込まれたときに自動で関連付けされる。<br />
</p><br />
<br />
==鉱石辞書を利用したレシピの追加==<br />
<p><br />
鉱石辞書を利用したレシピを追加する場合、'''ShapedOreRecipe'''か'''ShapelessOreRecipe'''を利用する。<br />
</p><br />
<source lang = "java"><br />
GameRegistry.addRecipe(<br />
new ShapedOreRecipe(<br />
new ItemStack(silvershovel, 1),<br />
"X", "Y", "Y",<br />
'X', "ingotSilver",<br />
'Y', "stickWood"<br />
)<br />
);<br />
<br />
</source><br />
<p><br />
定形レシピの例である。つまりは、今まで直接していた箇所を鉱石辞書で登録した文字列にするだけでできる。<br />
</p><br />
<br />
<source lang = "java"><br />
GameRegistry.addRecipe(<br />
new ShapelessOreRecipe(<br />
new ItemStack(ingotSilverIron, 1),<br />
"ingotSilver", "ingotIron"<br />
)<br />
);<br />
</source><br />
<p><br />
不定形レシピの例、基本的には定形レシピと同じ。<br />
</p><br />
<br />
==鉱石辞書に登録する際のルール==<br />
<p><br />
基本的にはプレフィックス+アイテム名と言う形式になっている。鉱石なら'''oreXXX'''、インゴットなら'''ingotXXX'''と言った具合である。プレフィックスで種類を判定しているModも多々あるため、ある程度一般的なアイテムであるならば鉱石辞書に登録するべきである。<br><br />
以下にMinecraftForge(1.11.2-13.20.0.2210現在)によって追加されている鉱石辞書名を挙げる。<br />
</p><br />
木/材木関係<br />
*logWood<br />
*plankWood<br />
*slabWood<br />
*stairWood<br />
*stickWood<br />
*treeSapling<br />
*treeLeaves<br />
*vine<br />
鉱石<br />
*oreGold<br />
*oreIron<br />
*oreLapis<br />
*oreDiamond<br />
*oreRedstone<br />
*oreEmerald<br />
*oreQuartz<br />
*oreCoal<br />
インゴット/ナゲット<br />
*ingotIron<br />
*ingotGold<br />
*ingotBrick<br />
*ingotBrickNether<br />
*nuggetGold<br />
*nuggetIron<br />
宝石/粉<br />
*gemDiamond<br />
*gemEmerald<br />
*gemQuartz<br />
*gemPrismarine<br />
*dustPrismarine<br />
*dustRedstone<br />
*dustGlowstone<br />
*gemLapis<br />
貯蔵用ブロック<br />
*blockGold<br />
*blockIron<br />
*blockLapis<br />
*blockDiamond<br />
*blockRedstone<br />
*blockEmerald<br />
*blockQuartz<br />
*blockCoal<br />
作物<br />
*cropWheat<br />
*cropPotato<br />
*cropCarrot<br />
*cropNetherWart<br />
*sugarcane<br />
*blockCactus<br />
素材<br />
*dye<br />
*dye{色名}<br />
*paper<br />
モブのドロップ品<br />
*slimeball<br />
*enderpearl<br />
*bone<br />
*gunpowder<br />
*string<br />
*netherStar<br />
*leather<br />
*feather<br />
*egg<br />
レコード<br />
*record<br />
ブロック<br />
*dirt<br />
*grass<br />
*stone<br />
*cobblestone<br />
*gravel<br />
*sand<br />
*sandstone<br />
*netherrack<br />
*obsidian<br />
*glowstone<br />
*endstone<br />
*torch<br />
*workbench<br />
*blockSlime<br />
*blockPrismarine<br />
*blockPrismarineBrick<br />
*blockPrismarineDark<br />
*stoneGranite<br />
*stoneGranitePolished<br />
*stoneDiorite<br />
*stoneDioritePolished<br />
*stoneAndesite<br />
*stoneAndesitePolished<br />
*blockGlassColorless<br />
*blockGlass<br />
*blockGlass{色名}<br />
*paneGlassColorless<br />
*paneGlass<br />
*paneGlass{色名}<br />
チェスト<br />
*chest<br />
*chestWood<br />
*chestEnder<br />
*chestTrapped<br />
<br />
==各種MODで登録されるアイテム==<br />
<br />
Forestry For Minecraftで登録されるアイテム(確認バージョン2.0.0.0)<br />
*oreCopper<br />
*oreTin<br />
*oreApatite<br />
*ingotTin<br />
*ingotCopper<br />
*ingotBronze<br />
*dustAsh<br />
*gearBronze<br />
*gearTin<br />
*gearCopper<br />
*itemPollen<br />
*itemBeeswax<br />
*dropHoneydew<br />
*dropHoney<br />
*dropRoyalJelly<br />
*pulpWood<br />
*brickPeat<br />
<br />
IndustrialCraft2で登録されるアイテム(確認バージョン1.112.170)<br />
*oreCopper<br />
*oreTin<br />
*oreUranium<br />
*ingotTin<br />
*ingotBronze<br />
*ingotRefinedIron<br />
*ingotUranium<br />
*ingotCopper<br />
*dustSilver<br />
*dustTin<br />
*dustCoal<br />
*dustBronze<br />
*dustIron<br />
*dustClay<br />
*dustGold<br />
*dustCopper<br />
*dropUranium<br />
*woodRubber<br />
*itemRubber<br />
<br />
RailCraftで登録されるアイテム(確認バージョン1.112.170)<br />
*oreSulfur<br />
*oreSaltpeter<br />
*ingotSteel<br />
*nuggetIron<br />
*nuggetSteel<br />
*dustObsidian<br />
*dustSulfur<br />
*dustSaltpeter<br />
*dustCharcoal<br />
*blockSteel<br />
*fuelCoke<br />
<br />
Red Power2で登録されるアイテム(確認バージョン2.0pr6)<br />
*oreCopper<br />
*oreGreenSapphire<br />
*oreRuby<br />
*oreTungsten<br />
*oreTin<br />
*oreNikolite<br />
*oreSilver<br />
*oreSapphire<br />
*ingotTin<br />
*ingotSilver<br />
*ingotBrass<br />
*ingotCopper<br />
*nuggetTin<br />
*nuggetSilver<br />
*nuggetIron<br />
*nuggetCopper<br />
*dustNikolite<br />
*gemGreenSapphire<br />
*gemRuby<br />
*gemSapphire<br />
*woodRubber<br />
<br />
Thaumcraft3で登録されるアイテム(確認バージョン3.0.2c)<br />
*nuggetTin<br />
*nuggetLead<br />
*nuggetSilver<br />
*nuggetIron<br />
*nuggetCopper<br />
<br />
ThermalExpansionで登録されるアイテム(確認バージョン2.2.0)<br />
*oreLead<br />
*oreTin<br />
*oreCopper<br />
*oreSilver<br />
*oreNickel<br />
*ingotNickel<br />
*ingotSilver<br />
*ingotElectrum<br />
*ingotPlatinum<br />
*ingotTin<br />
*ingotLead<br />
*ingotInvar<br />
*ingotCopper<br />
*dustObsidian<br />
*dustTin<br />
*dustElectrum<br />
*dustLead<br />
*dustBrass<br />
*dustPlatinum<br />
*dustNickel<br />
*dustSilver<br />
*dustInvar<br />
*dustBronze<br />
*dustCopper<br />
*dustIron<br />
*dustGold<br />
*gearInvar<br />
*gearTin<br />
*gearCopper</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=%E9%89%B1%E7%9F%B3%E8%BE%9E%E6%9B%B8%E3%81%AE%E5%88%A9%E7%94%A8&diff=3361
鉱石辞書の利用
2017-03-15T09:47:46Z
<p>ModderKina: リストはまたなんか考える。</p>
<hr />
<div>{{前提MOD|reqmod="Minecraft Forge4.3x~"}}<br />
<br />
==鉱石辞書の利用==<br />
<p><br />
鉱石辞書(OreDictionary)は異なるmod間でのアイテム共有のための機能である。forge前提の大型modでは'''銅'''や'''錫''', '''青銅'''などが鉱石辞書に登録され利用できるようになっている。鉱石辞書という名前ではあるものの、鉱石に限らずあらゆるアイテムを登録できる。鉱石辞書はnet.minecraftforge.oredictパッケージで提供される機能である。<br><br />
対象となるアイテムがそれぞれの環境で存在しなくても落ちることはないため、簡易な連携要素として気軽に利用できる機能である。<br />
</p><br />
<br />
==基本的な使い方==<br />
*鉱石辞書への登録<br />
<p><br />
鉱石辞書への登録はOreDictionaryクラスのregisterOreメソッドを利用する. registerOreメソッドはBlock, Item, ItemStackのどの形式でも登録できることが特徴である.<br />
</p><br />
<source lang = "java"><br />
public static void registerOre(String name, Item ore)<br />
public static void registerOre(String name, Block ore)<br />
public static void registerOre(String name, ItemStack ore)<br />
</source><br />
<p><br />
すなわち、鉱石辞書は'''文字列'''をキーとして共有する機能を提供している。他のmodのBlockやItemへの参照がなくとも、文字列を指定しておけば読み込まれたときに自動で関連付けされる。<br />
</p><br />
<br />
==鉱石辞書を利用したレシピの追加==<br />
<p><br />
鉱石辞書を利用したレシピを追加する場合、'''ShapedOreRecipe'''か'''ShapelessOreRecipe'''を利用する。<br />
</p><br />
<source lang = "java"><br />
GameRegistry.addRecipe(<br />
new ShapedOreRecipe(<br />
new ItemStack(silvershovel, 1),<br />
"X", "Y", "Y",<br />
'X', "ingotSilver",<br />
'Y', "stickWood"<br />
)<br />
);<br />
<br />
</source><br />
<p><br />
定形レシピの例である。つまりは、今まで直接していた箇所を鉱石辞書で登録した文字列にするだけでできる。<br />
</p><br />
<br />
<source lang = "java"><br />
GameRegistry.addRecipe(<br />
new ShapelessOreRecipe(<br />
new ItemStack(ingotSilverIron, 1),<br />
"ingotSilver", "ingotIron"<br />
)<br />
);<br />
</source><br />
<p><br />
不定形レシピの例、基本的には定形レシピと同じ。<br />
</p><br />
<br />
==鉱石辞書に登録する際のルール==<br />
<p><br />
基本的にはプレフィックス+アイテム名と言う形式になっている。鉱石なら'''oreXXX'''、インゴットなら'''ingotXXX'''と言った具合である。プレフィックスで種類を判定しているModも多々あるため、ある程度一般的なアイテムであるならば鉱石辞書に登録するべきである。<br><br />
以下にMinecraftForge(1.11.2-13.20.0.2210現在)によって追加されている鉱石辞書名を挙げる。<br />
</p><br />
木/材木関係<br />
*logWood<br />
*plankWood<br />
*slabWood<br />
*stairWood<br />
*stickWood<br />
*treeSapling<br />
*treeLeaves<br />
*vine<br />
鉱石<br />
*oreGold<br />
*oreIron<br />
*oreLapis<br />
*oreDiamond<br />
*oreRedstone<br />
*oreEmerald<br />
*oreQuartz<br />
*oreCoal<br />
インゴット/ナゲット<br />
*ingotIron<br />
*ingotGold<br />
*ingotBrick<br />
*ingotBrickNether<br />
*nuggetGold<br />
*nuggetIron<br />
宝石/粉<br />
*gemDiamond<br />
*gemEmerald<br />
*gemQuartz<br />
*gemPrismarine<br />
*dustPrismarine<br />
*dustRedstone<br />
*dustGlowstone<br />
*gemLapis<br />
貯蔵用ブロック<br />
*blockGold<br />
*blockIron<br />
*blockLapis<br />
*blockDiamond<br />
*blockRedstone<br />
*blockEmerald<br />
*blockQuartz<br />
*blockCoal<br />
作物<br />
*cropWheat<br />
*cropPotato<br />
*cropCarrot<br />
*cropNetherWart<br />
*sugarcane<br />
*blockCactus<br />
素材<br />
*dye<br />
*dye{色名}<br />
*paper<br />
モブのドロップ品<br />
*slimeball<br />
*enderpearl<br />
*bone<br />
*gunpowder<br />
*string<br />
*netherStar<br />
*leather<br />
*feather<br />
*egg<br />
レコード<br />
*record<br />
ブロック<br />
*dirt<br />
*grass<br />
*stone<br />
*cobblestone<br />
*gravel<br />
*sand<br />
*sandstone<br />
*netherrack<br />
*obsidian<br />
*glowstone<br />
*endstone<br />
*torch<br />
*workbench<br />
*blockSlime<br />
*blockPrismarine<br />
*blockPrismarineBrick<br />
*blockPrismarineDark<br />
*stoneGranite<br />
*stoneGranitePolished<br />
*stoneDiorite<br />
*stoneDioritePolished<br />
*stoneAndesite<br />
*stoneAndesitePolished<br />
*blockGlassColorless<br />
*blockGlass<br />
*blockGlass{色名}<br />
*paneGlassColorless<br />
*paneGlass<br />
*paneGlass{色名}<br />
チェスト<br />
*chest<br />
*chestWood<br />
*chestEnder<br />
*chestTrapped<br />
<br />
==各種MODで登録されるアイテム==<br />
<br />
Forestry For Minecraftで登録されるアイテム(確認バージョン2.0.0.0)<br />
*oreCopper<br />
*oreTin<br />
*oreApatite<br />
*ingotTin<br />
*ingotCopper<br />
*ingotBronze<br />
*dustAsh<br />
*gearBronze<br />
*gearTin<br />
*gearCopper<br />
*itemPollen<br />
*itemBeeswax<br />
*dropHoneydew<br />
*dropHoney<br />
*dropRoyalJelly<br />
*pulpWood<br />
*brickPeat<br />
<br />
IndustrialCraft2で登録されるアイテム(確認バージョン1.112.170)<br />
*oreCopper<br />
*oreTin<br />
*oreUranium<br />
*ingotTin<br />
*ingotBronze<br />
*ingotRefinedIron<br />
*ingotUranium<br />
*ingotCopper<br />
*dustSilver<br />
*dustTin<br />
*dustCoal<br />
*dustBronze<br />
*dustIron<br />
*dustClay<br />
*dustGold<br />
*dustCopper<br />
*dropUranium<br />
*woodRubber<br />
*itemRubber<br />
<br />
RailCraftで登録されるアイテム(確認バージョン1.112.170)<br />
*oreSulfur<br />
*oreSaltpeter<br />
*ingotSteel<br />
*nuggetIron<br />
*nuggetSteel<br />
*dustObsidian<br />
*dustSulfur<br />
*dustSaltpeter<br />
*dustCharcoal<br />
*blockSteel<br />
*fuelCoke<br />
<br />
Red Power2で登録されるアイテム(確認バージョン2.0pr6)<br />
*oreCopper<br />
*oreGreenSapphire<br />
*oreRuby<br />
*oreTungsten<br />
*oreTin<br />
*oreNikolite<br />
*oreSilver<br />
*oreSapphire<br />
*ingotTin<br />
*ingotSilver<br />
*ingotBrass<br />
*ingotCopper<br />
*nuggetTin<br />
*nuggetSilver<br />
*nuggetIron<br />
*nuggetCopper<br />
*dustNikolite<br />
*gemGreenSapphire<br />
*gemRuby<br />
*gemSapphire<br />
*woodRubber<br />
<br />
Thaumcraft3で登録されるアイテム(確認バージョン3.0.2c)<br />
*nuggetTin<br />
*nuggetLead<br />
*nuggetSilver<br />
*nuggetIron<br />
*nuggetCopper<br />
<br />
ThermalExpansionで登録されるアイテム(確認バージョン2.2.0)<br />
*oreLead<br />
*oreTin<br />
*oreCopper<br />
*oreSilver<br />
*oreNickel<br />
*ingotNickel<br />
*ingotSilver<br />
*ingotElectrum<br />
*ingotPlatinum<br />
*ingotTin<br />
*ingotLead<br />
*ingotInvar<br />
*ingotCopper<br />
*dustObsidian<br />
*dustTin<br />
*dustElectrum<br />
*dustLead<br />
*dustBrass<br />
*dustPlatinum<br />
*dustNickel<br />
*dustSilver<br />
*dustInvar<br />
*dustBronze<br />
*dustCopper<br />
*dustIron<br />
*dustGold<br />
*gearInvar<br />
*gearTin<br />
*gearCopper</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E4%B8%80%E8%A6%A7&diff=3360
チュートリアル一覧
2017-03-12T10:01:16Z
<p>ModderKina: /* チュートリアル初級 */</p>
<hr />
<div>※Moddingに関する質問は、[//forum.minecraftuser.jp/viewforum.php?f=39 非公式日本ユーザーフォーラム 質問:開発・制作関連]へ。<br />
<br />
{{TOC|limit=1}}<br />
==基礎知識・Tips==<br />
Moddingの基礎や、前提modに関わらないチュートリアルなど<br><br />
====外部参考サイト====<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=9494 ◆総合◆Modderのための雑談所]<br />
*[//forum.minecraftuser.jp/viewforum.php?f=21 MOD,プラグイン,その他ツール 開発関連]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3811 【技術共有】トピックを立てるまでもないライブラリとかコードとかの公開所]<br />
*[//forum.minecraftuser.jp/viewtopic.php?f=21&t=3558 MOD制作小技紹介]<br />
<br />
*[//minecraft.gamepedia.com/Model Model.json]<br />
*[//minecraft.gamepedia.com/Sounds.json Sounds.json]<br />
*[//minecraft.gamepedia.com/Loot_table Loot_table.json]<br />
<br />
====Modding Tips====<br />
*[[1.8のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[1.7のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
**[[1.7のサウンド追加]]<br />
*[[1.6のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]<br />
*[[mcmod.infoの設定]]<br />
*[[1.7でjar形式のAPIを利用する方法]]<br />
*[[1.7でjar形式でないAPIを利用する方法]]<br />
*[[NBTについて]]<br />
<br />
====ライブラリの知識====<br />
*[[Gradle利用]]<br />
*[[Guava概要]]<br />
*[[ASM利用]]<br />
<br />
==Minecraft Forge==<br />
===はじめに===<br />
※より詳しいことが知りたい人は、[[Minecraft Forge API]]へ。<br />
*[[MinecraftForge導入手順]]<br />
*[[プロキシシステムについて]]<br />
*[[鉱石辞書の利用]]<br />
*[[Minecraft Forge Eventシステム概要|Eventシステム概要]]<br />
*[[Forge式Config利用]]<br />
*[[Capabilityシステム概要]]<br />
*[[Access Transformer利用]]<br />
<br />
{| class="wikitable" style="text-align: center;"<br />
|+ チュートリアルの対応状況<br />
|-<br />
| colspan="8" style="text-align: left;"|<br />
{| class="wikitable"<br />
!colspan="2"|凡例<br />
|-<br />
|style="background-color: lightgreen;"| ✓<br />
| 記事作成済み<br />
|-<br />
|style="background-color: lightgreen;"| ○<br />
| 他のバージョンのものが利用可能である<br />
|-<br />
|style="background-color: mediumaquamarine;"| △<br />
| 他のバージョンのものが参考にできる(パッケージ、ネームテーブル等の変更で対応可能)<br />
|-<br />
|style="background-color: orangered;"| ☓<br />
| APIなどの変更があり他のものが参考にしがたい、もしくは他のバージョンのチュートリアルが存在しない<br />
|-<br />
|style="background-color: gray;"| &lowast;<br />
| 不可能である<br />
|-<br />
|style="background-color: sandybrown;"| ?<br />
| 未調査<br />
|}<br />
|-<br />
! scope="col"| 内容<br />
! scope="col"| [[#~1.5Modding|~1.5]]<br />
! scope="col"| [[#1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965|1.6.x]]<br />
! scope="col"| [[#1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)|1.7.x]]<br />
! scope="col"| [[#1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~|1.8.x]]<br />
! scope="col"| [[#1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~|1.9.x]]<br />
! scope="col"| [[#1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~|1.10.x]]<br />
! scope="col"| [[#1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~|1.11.x]]<br />
|-<br />
! scope="row"| レシピの追加<br />
|style="background-color: lightgreen;"| [[レシピの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のレシピ追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のレシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| 精錬レシピの追加<br />
|style="background-color: lightgreen;"| [[精錬レシピの追加|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7の精錬レシピ追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| 醸造レシピの追加<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: gray;"| &lowast;<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| クリエイティブタブの追加<br />
|style="background-color: lightgreen;"| [[CreativeTabの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のクリエイティブタブの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| アイテムの追加<br />
|style="background-color: lightgreen;"| [[無機能アイテムの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のアイテム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のアイテム追加|✓]]<br />
|-<br />
! scope="row"| ブロックの追加<br />
|style="background-color: lightgreen;"| [[無機能ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.10.2のブロック追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.11のブロック追加|✓]]<br />
|-<br />
! scope="row"| ポーションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[PotionEffectのチュートリアル|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のポーション追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のポーション追加|✓]]<br />
|-<br />
! scope="row"| エンチャントの追加<br />
|style="background-color: lightgreen;"| [[Enchantmentの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.9のエンチャント追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.11のエンチャント追加|✓]]<br />
|-<br />
! scope="row"| バイオームの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.8のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.9のバイオーム追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| サウンドの追加<br />
|style="background-color: lightgreen;"| [[音の追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.6のサウンドの追加|✓]]<br />
|style="background-color: lightgreen;"| [[1.7のサウンド追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: lightgreen;"| [[1.11のサウンド追加|✓]]<br />
|-<br />
! scope="row"| 村人の追加<br />
|style="background-color: lightgreen;"| [[村人取引の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7の村人取引の追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: lightgreen;"| [[1.9の村人職業追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| コンフィグの作成<br />
|style="background-color: lightgreen;"| [[Forge式コンフィグファイルの利用|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のForge式Config追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| 実績の追加<br />
|style="background-color: lightgreen;"| [[実績の追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|-<br />
! scope="row"| 鉱石の生成<br />
|style="background-color: lightgreen;"| [[追加鉱物をワールドに生成させる|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.8のOreGenEvent利用による鉱石生成|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| TileEntityの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.6のTileEntityの追加|✓]]<br />
|style="background-color: lightgreen;"| [[シンプルなTileEntityの追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| GUIの追加<br />
|style="background-color: lightgreen;"| [[GUIの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.7のGUI追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| 流体の追加<br />
|style="background-color: lightgreen;"| [[液体を追加する|✓]]<br />
|style="background-color: lightgreen;"| [[1.6の流体追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| [[1.8の液体ブロックの追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| エンティティの追加<br />
|style="background-color: lightgreen;"| [[MOBを追加する|✓]]<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.9のMOB追加|✓]]<br />
|style="background-color: lightgreen;"| ○<br />
|style="background-color: lightgreen;"| ○<br />
|-<br />
! scope="row"| ディメンションの追加<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: orangered;"| ☓<br />
|style="background-color: lightgreen;"| [[1.7のディメンション追加|✓]]<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|style="background-color: mediumaquamarine;"| △<br />
|-<br />
! scope="row"| WorldTypeの追加<br />
|style="background-color: lightgreen;"| [[WorldTypeの追加|✓]]<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|style="background-color: sandybrown;"| ?<br />
|}<br />
<br />
===1.11Modding MinecraftForgeUniversal 1.11-13.19.0.2130~===<br />
====チュートリアル基礎====<br />
*[[1.10から1.11への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//minecraft.gamepedia.com/index.php?title=Model&oldid=1040633 1.11のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.11のレシピ追加]]<br />
*[[1.11の精錬レシピ追加]]<br />
*[[1.11の醸造レシピ追加]]<br />
*[[1.11のアイテム追加]]<br />
*[[1.11のブロック追加]]<br />
*[[1.11のサウンド追加]]<br />
*[[1.11のポーション追加]]<br />
*[[1.11のエンチャント追加]]<br />
*[[1.11のLootTable利用]]<br />
*[[1.11のエンティティ追加]]<br />
<br />
===1.10Modding MinecraftForgeUniversal 1.10.2-12.18.0.2009~===<br />
<br />
====チュートリアル初級====<br />
*[[1.10.2のブロック追加]]<br />
<br />
===1.9Modding MinecraftForgeUniversal 1.9-12.16.0#1819-1.9~===<br />
*[[1.8から1.9への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[//minecraft.gamepedia.com/index.php?title=Model&oldid=962448 1.9のバニラJsonの仕様(英公式Wiki)]<br />
*[[1.9のブロック追加]]<br />
**[[1.9のForge式Json利用]]([//mcforge.readthedocs.org/en/latest/blockstates/forgeBlockstates/ ForgeDoc])<br />
*[[1.9のアイテム追加]]<br />
*[[1.9のポーション追加]]<br />
*[[1.9のエンチャント追加]]<br />
*[[1.9のバイオーム追加]]<br />
*[[1.9の村人職業追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.9のMOB追加]]<br />
====チュートリアル上級====<br />
<br />
===1.8Modding MinecraftForgeUniversal 1.8-11.14.0#1239-1.8~===<br />
*[[1.7から1.8への変更点]]<br />
<br />
====チュートリアル初級====<br />
*[[1.8のバニラJsonの仕様]]<br />
*[[1.8のブロック追加]]<br />
**[[1.8のブロックで部分的に色を変える方法]]<br />
**[[1.8のB3Dモデル利用ブロック追加]]<br />
*[[1.8のアイテム追加]]<br />
**[[1.8のアイテムで部分的に色を変える方法]]<br />
*[[1.8のOreGenEvent利用による鉱石生成]]<br />
*[[1.8のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.8のプレイヤーカスタムデータの追加]]<br />
*[[1.8のIRecipe利用によるレシピ追加]]<br />
*[[1.8の液体ブロックの追加]]<br />
*[[1.8のICustomModelLoader利用]]<br />
<br />
====チュートリアル上級====<br />
<br />
====他サイトリンク====<br />
*[http://www.nicovideo.jp/mylist/49688372 reine氏による1.8の開発記録動画]<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=9220 【Forgeチュートリアル】クラフトで耐久値が減るアイテムの作り方1.2.5~1.8 ソース付属 ]<br />
<br />
===1.7Modding MinecraftForgeUniversal 10.12.0#967~(10.12.1#1060以降を推奨)===<br />
*[[1.6から1.7への変更点]]<br />
*[[1.7の基本コーディング]]<br />
*[[1.7のInterModComms利用]]<br />
<br />
====チュートリアル初級====<br />
*[[1.7のレシピ追加]]<br />
*[[1.7の精錬レシピ追加]]<br />
*[[1.7のブロック追加]]<br />
*[[1.7のアイテム追加]]<br />
**[[1.7のアイテムに初期状態でエンチャント等NBTデータを付ける方法]]<br />
**[[1.7の武器追加(剣)]]<br />
**[[1.7の防具追加]]<br />
**[[1.7のアイテムで部分的に色を変える方法]]<br />
**[[1.7のアイテムのツールチップに情報を表示させる方法]]<br />
**[[1.7のアイテムの表示名を変更する方法]]<br />
*[[1.7のGUI追加]]<br />
*[[1.7のディスペンサーModding]]<br />
*[[1.7のバイオーム追加]]<br />
<br />
====チュートリアル中級====<br />
*[[DataWatcherを用いたエンティティの同期]]<br />
*[[1.7のパケットについて]]<br />
**[[1.7のキーボードイベント追加]]<br />
*[[1.7のプレイヤーカスタムデータの追加]]<br />
*[[Forge 10.12.1.1074以降でのクライアント/サーバMOD]]<br />
*[[逆さまの木の追加]]<br />
*[[シンプルなTileEntityの追加]]<br />
**[[1.7の液体タンクを持つTileEntityの追加]]<br />
*[[シフトクリック時の処理]]<br />
*[[1.7の村人取引の追加]]<br />
*[[1.7のディメンション追加]]<br />
*[[MOBの追加]]<br />
*[[独自のスポーンエッグの追加]]<br />
*[[1.7以降のIResourcePackの利用]]<br />
*[[1.7の独自レシピシステムの追加]]<br />
*[[1.7の属性値を動的変更できるアイテムの追加]]<br />
*[[1.7の独自Renderの追加]]<br />
*[[1.7でのインベントリ操作]]<br />
*[[1.7のForge式Config追加]]<br />
<br />
====チュートリアル上級====<br />
*[[前提MODの自動DLの仕方]]<br />
*[[インベントリを持つアイテムの追加]]<br />
<br />
;他サイトリンク<br />
*[http://defeatedcrow.jp/modwiki/IGNIS%E5%88%B6%E4%BD%9C%E8%A8%98%E9%8C%B2 defeatedcrow氏による1.7.10のMODの制作過程]<br />
<br />
===1.6Modding MinecraftForgeUniversal 8.9.0#749~9.11.1#965===<br />
1.6からリソースパック方式の導入により、いくつかの項目で画像、音声、言語ファイル等の扱いが変更されました。<br><br />
また、MCP作者が1.6Modding環境としてForgeを推奨しています。<br><br />
<br />
====基本のチュートリアル====<br />
*[[1.6の開発環境の作り方]]<br />
*[[1.6の基本コーティング]]<br />
*[[1.6のテクスチャの指定]]<br />
*[[PotionEffectのチュートリアル]]<br />
<br />
====チュートリアル初級====<br />
*[[1.6のレシピ追加]]<br />
*[[1.6のブロック追加]]<br />
*[[1.6のアイテム追加]]<br />
**[[1.6のツール類追加]]<br />
***[[1.6のカスタムツール追加]]<br />
**[[1.6の食料追加]]<br />
**[[1.6の武器追加(剣)]]<br />
**[[1.6の防具追加]]<br />
*[[1.6のクリエイティブタブの追加]]<br />
<br />
====チュートリアル中級====<br />
*[[1.6のメタデータを持つアイテム・ブロック]]<br />
*[[1.6の骨粉処理]]<br />
*[[1.6の植物追加]]<br />
*[[1.6の流体追加]]<br />
**[[1.6の流体をバケツで扱う]]<br />
*[[鉱石辞書の利用|1.6の鉱石辞書の利用]]<br />
**[[1.6の鉱石辞書利用の実例]]<br />
*[[1.6のアニメーションアイテムの追加]]<br />
*[[カスタムレンダーを使用するブロックの追加]]<br />
*[[1.6のモデル付きカスタムツール追加]]<br />
*[[1.6のサウンドの追加]]<br />
*[[1.6のプレイヤーカスタムデータの追加]]<br />
<br />
====チュートリアル上級====<br />
*[[1.6のTileEntityの追加]]<br />
*[[パーティクルの追加]]<br />
*[[モンスタードロップの追加]]<br />
*[[構造物の追加]]<br />
*[[防具の特殊な処理]]<br />
*[[1.6の発射体Entityの追加]]<br />
<br />
====外部サイト====<br />
* [http://forum.minecraftuser.jp/viewtopic.php?f=21&t=12186 レシピの追加]<br />
<br />
===~1.5Modding===<br />
{{Warning}}サポートが打ち切られている、もしくは非常に古い情報を含みます<br />
→[[1.5以前のチュートリアル]]<br />
<br />
==Bukkit Pluginの作り方==<br />
Bukkitを前提としたサーバー用Moddingです。<br><br />
<!-- *[[Bukkit用MODの作成方法]] --><br />
*[[Plugin Tutorial]]<br />
*[[新しいEventSystemの使い方]]<br />
*[[新しいConfigurationの使い方]]<br />
*[[スケジューラのプログラミング]]<br />
*[[天候操作]]<br />
*[[スコアボードシステムの使い方]]<br />
*[[plugin.ymlの設定一覧]]<br />
<br />
==その他の前提mod==<br />
上記以外のmodを前提としたmodding。<br><br />
===Not Enough Items(NEI)===<br />
*[[NEIにて独自レシピを表示させる]]<br />
===LiteLoader rev317===<br />
*[[LiteLoader導入手順]]<br />
*[[LiteLoader/1.8のデバッグ画面へ情報を追加]]</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=1.5%E4%BB%A5%E5%89%8D%E3%81%AE%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB&diff=3359
1.5以前のチュートリアル
2017-03-12T09:55:42Z
<p>ModderKina: /* 基礎知識・Tips */ サイドバーから</p>
<hr />
<div>※Moddingに関する質問は、[http://forum.minecraftuser.jp/viewforum.php?f=39 非公式日本ユーザーフォーラム 質問:Mod/プラグイン制作関連]へ。<br />
<br />
==基礎知識・Tips==<br />
Moddingの基礎や、前提modに関わらないチュートリアルなど<br><br />
<br />
;Modding環境<br />
*[[MODのソースが書けたら]]<br />
*[[mod の逆コンパイル Tips]]<br />
* [[旧バージョンでの開発]]<br />
<br />
;Modding Tips<br />
*[[本体ver1.3以降でのmod作成の注意点]]<br />
*[[右クリックイベント]]<br />
*[[デバッグ用テキストをチャット欄に表示する]]<br />
*[[MinecraftForgeで正常に動作しないModLoader用のMOD]]<br />
*[[MODが読み込まれる順番を指定する]]<br />
<br />
;情報<br />
* [[ID一覧1.2.5 mod対応版]]<br />
* [[Client・ServerのField変換表]]<br />
<br />
==ModLoader==<br />
ModLoaderを前提としたmodding。基本的にシングル用(マルチは[[#ModLoaderMP]]を参照)<br><br />
一部の例外を除き、'''FML(ForgeModLoader)や、MinecraftForge3.3.7以降にも転用可'''。<br><br />
ModLoaderは1.2.3からメソッド名の頭文字が小文字になっており、一部のソースはそのままでは動かない点に注意。<br><br />
<source lang="java"><br />
例)ModLoader.AddShapelessRecipe → ModLoader.addShapelessRecipe<br />
</source><br />
*[[レシピの追加]]<br />
*[[精錬レシピの追加]]<br />
*[[設定ファイル作成方法]]<br />
*[[無機能のアイテムを追加する]]<br />
**[[飲食物を追加する]]<br />
**[[防具を追加する]]<br />
**[[固有情報を持つアイテムを追加する]]<br />
*[[ブロックの追加]]<br />
**[[複数のテクスチャを持つブロックの追加]]<br />
**[[液体を追加する]]<br />
**[[種子の追加]]<br />
**[[木・苗木を追加する]]<br />
*[[既存のブロックの動作を変更する]]<br />
*[[MOBを追加する]]<br />
*[[追加鉱物をワールドに生成させる]]<br />
**[[アイテム入りチェストを生成]]<br />
*[[WorldTypeの追加]]<br />
<br />
==ForgeModLoader==<br />
MinecraftForgeのサブセットをFMLを前提としたmodding。基本的に1.3.2以降用。<br><br />
ModLoaderの機能に加えcoremodsなどの機能が追加されている。<br />
*[[coremodsの基礎]]<br />
<br />
==MinecraftForge #1~#171==<br />
大型modには必須なMinecraftForgeを前提としたmodding。基本的に1.2.5以前のシングル用。<br><br />
スプライトID無限化やブロックID拡張など、大量のブロックやアイテムを導入する場合には必須。<br><br />
*[[設定ファイル作成方法]]<br />
*[[SpriteID無限化]]<br />
*[[既存のブロックの動作を変更する]]<br />
*[[防具を追加する]]<br />
*[[バケツの機能を追加する]]<br />
*[[骨粉で成長させるBlockを追加する]]<br />
<br />
==MinecraftForgeUniversal #183~#443==<br />
MinecraftForgeがソースレベルでシングル・マルチ統合され、両対応modの開発が容易に。<br><br />
1.3.x(forge4.0.0.183)以降の環境が前提。<br><br />
ForgeModdingについては、[http://www4.atwiki.jp/reginn666/ reginn666さんのWiki]も非常に参考になります。<br><br />
*はじめに<br />
**[[新しいコーディング記法とUniversal Modding]]<br />
**[[新しいAPIとインタフェースについて]]<br />
**[[プロキシシステムについて]]<br />
*基礎<br />
**[[無機能アイテムの追加]]<br />
**[[無機能ブロックの追加]]<br />
**[[Forge式コンフィグファイルの利用]]<br />
**[[SpriteID無限化(独自のterrain.png, gui/items.pngの利用)]](~mc1.4.7)<br />
**[[CreativeTabの追加]]<br />
**[[Enchantmentの追加]]<br />
**[[GUIの追加]]<br />
**[[村人取引の追加]]<br />
**[[実績の追加]]<br />
**[[AIの追加]]<br />
*ForgeAPI<br />
<!--(この項目の一部は[[Minecraft Forge API]]に委譲され, このページからはいずれ削除する予定です)--><br />
**追加メソッド<br />
***[[Blockクラスに追加されるメソッド]]<br />
***[[Itemクラスに追加されるメソッド]]<br />
**Commonパッケージ<br />
***[[追加インタフェース]]<br />
***[[EnumHelperの利用]]<br />
***[[ChestGenHooksの利用]]<br />
**OreDictパッケージ<br />
***[[鉱石辞書の利用]]<br />
**liquidsパッケージ<br />
***[[液体辞書の利用]]<br />
<!--*[[無機能エンティティの追加]]--><br />
*カスタムパケット<br />
**[[TileEntityのNBT同期]]<br />
<!--*[[GUIのボタン処理]]--><br />
*Forge Eventシステム<br />
**[[Minecraft Forge Eventシステム概要]]<br />
<!--**プレイヤーに関するEvent--><br />
<!--**EntityLivingに関するEvent--><br />
*追加ライブラリの利用<br />
**[[Guava概要]]<br />
<br />
==MinecraftForgeUniversal #444~==<br />
ソースがフォルダ分けされてパッケージが変更になり、既存のソースが流用不可能に。<br><br />
1.4.5(forge6.4.2.445)以降の環境が前提。主に1.4.6の開発時に注意が必要。<br><br />
*[[コマンドの追加(Forge)]]<br />
*[[Craftingした時の処理の追加]]<br />
*[[プレイヤーがログイン・ログアウトしたりした時の処理の追加]]<br />
<br />
==1.5Modding MinecraftForgeUniversal #559~==<br />
1.5からテクスチャを初めとする様々な仕様が変更され、また多くのクラスのメソッドが変更になりました。<br />
そのため、過去のチュートリアルのほとんどは利用できなくなっています。<br />
*[[新しいテクスチャの利用]]<br />
*[[防具の追加]]<br />
*[[音の追加]]<br />
==ModLoaderMP==<br />
ModLoaderMPを前提としたマルチ用modding。<br><br />
*[[ModLoaderMP]]<br />
*[[独自Packetを追加する]]<br />
<br />
==bukkit==<br />
bukkitを前提としたマルチ用modding。<br><br />
*[[Bukkit用MODの作成方法]]<br />
*<b>Bukkit Plugin</b><br />
**[[Plugin Tutorial]]<br />
**[[新しいEventSystemの使い方]]<br />
**[[新しいConfigurationの使い方]]<br />
**[[スケジューラのプログラミング]]<br />
**[[天候操作]]<br />
<br />
==その他の前提mod==<br />
上記以外のmodを前提としたmodding。<br><br />
===IndustrialCraft²===<br />
IndustrialCraft²を前提としたmodding。<br><br />
尚、IndustrialCraft²の前提のMinecraftForgeも必要になります。<br />
*[[IndustrialCraft²_API]]<br />
*[[IndustrialCraft²_API/Itemsの利用|Itemsの利用]]<br />
*[[IndustrialCraft² API/IElectricItemおよびElectricItemの利用|IElectricItemおよびElectricItemの利用]]<br />
*[[IndustrialCraft²_API/圧縮レシピの追加|圧縮レシピの追加]]<br />
<br />
===MineChem===<br />
MineChemを前提としたmodding。<br><br />
尚、MineChemの前提のMinecraftForgeも必要になります。<br />
*[[MineChem_API]]<br />
*[[MineChem_API/分解レシピの追加|分解レシピの追加]]<br />
*情報<br />
**[[MineChem_API/Element_list|Element_list]]<br />
<br />
==有用トピックへのリンク==<br />
非公式日本ユーザーフォーラムのModding関連トピックから、有用なものを追加。基本的に下にあるトピックほど古い。<br><br />
バージョンは'''トピック作成時'''のおおよそのバージョン。他のバージョンでも使えることがあるので参考程度に。<br><br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=9494 ◆総合◆Modderのための雑談所] Moddingに役立つ情報が多く投稿されています。<br />
*[http://forum.minecraftuser.jp/viewforum.php?f=21 MOD,プラグイン,その他ツール 開発関連] 最新のチュートリアルはこちらから<br />
<!--<br />
*[ ]<br />
*[ ]<br />
--><br />
===チュートリアル===<br />
;1.4~<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=8206 【チュートリアル】Bossのように体力を表示する初級~中級1.4.5]<br />
;1.3~<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=6854 【チュートリアル】GUIの基本 初級 1.3.2]<br />
;1.2~<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=8423 【チュートリアル1.2.5Forge】ツールとブロックの採掘速度、採掘レベルを設定する ]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=5978 【技術共有】EnumToolMaterial縛りをなんとかする方法【1.2.5】]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=6873 近接武器追加MOD作成チュートリアル 1.2.5 Forge-1.3.2版有]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=4389 Minecraft Forgeのチュートリアル]<br />
;1.0~<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=3560 アニメーションブロックの作成 初級~中級1.1]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=3514 個別に収納枠を持つアイテムの作り方 初級~中級1.1]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=3240 エンチャント対応武器追加MODの作り方 初級1.1]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=3170 鉱石辞書を使用したMODの作り方 中級1.1.0]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=3168 武器追加MODの作り方 初級1.1]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=2818 メタデータを使っているブロックに向き情報を付与 中級~1.1.0]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=2611 収納枠、及び独自GUIを持ったブロックの作り方 中級1.0.0]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=2575 鉱石追加MODの作り方 初~中級1.0.0]<br />
;beta1.8~<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=1730 複数テクスチャを持つブロック追加MODの作り方 初~中級1.8.1]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=1684 武器追加MODの作り方 初級1.8.1]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=1682 精錬レシピ・燃料追加MODの作り方 初級1.0.0]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=1680 アイテム追加MODの作り方 初級1.1.0]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=1678 ブロック追加MODの作り方 初級1.1.0]<br />
<br />
===質問トピック===<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=39&t=8878 テレポート系MOD]<br />
;1.4~<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=8254 エンチャント可能な武器の作り方]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=8209 TNTの爆発範囲の変え方]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=7907 1.3.2以降で範囲攻撃を武器に付けたい]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=7979 ワールド上にオブジェクトを生成]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=7885 初期エンチャントの付け方]<br />
;1.3~<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=7173 食料に確率でポーション効果を付けたい]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=7040 アイテム追加時に手持ちのテクスチャが表示されない]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=6808 WorldServerとEntityPlayerMPのインスタンスを持ってきたい 1.3.2]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=6773 1.3.2におけるEntityの操作について質問【情報共有】]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=6698 プレイヤーモデルを変更したい]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=6643 新規アイテム、レシピ追加時のNullPointerException]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=6231 op権限のないプレイヤーにもコマンドの実行権を与えたい]<br />
;1.2~<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=6914 弓矢に発射位置変更・自動ロックオン・追尾・接着などの機能を付ける方法1.2.5]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=6637 炎ブロックの様な追加ブロックの作り方]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=6556 武器の右クリック・左クリックで雷を落とす方法 ]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=4261 ダメージ値ごとに名称を設定する方法について]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=4195 メタデータ付きブロックを重力落下させる方法1.2.4]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=4098 Itemのメタデータについて]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=3854 弓矢追加MODの作り方について1.2.3]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=3805 getRanderBlockについて]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=3614 mobの繁殖について]<br />
;1.0~<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=3374 既存MOBの置き換えについて]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=3299 レッドストーン入力について]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=3249 Ver.1.0弓の射程距離及び威力の変更について]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=3194 特定のmobに攻撃した場合の攻撃力]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=3180 水に触れている状態で回復するアイテム]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=3088 1.1作業台のGUIを呼び出すアイテム※解決済]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=2324 MOBの沸き上限をあげたい]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=2115 設置したブロックの下にあるブロックをアイテム化させるには]<br />
;beta1.8~<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=1747 元からいるMOBに追加アイテムをドロップさせる]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=1686 単純な人型MOBの作成]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=1580#p11256 ※トピック中に剣のメソッドの解説あり]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=1373 RenderWorldBlockでのテクスチャ切替]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=1060 ※6面テクスチャの貼り方]<br />
<br />
===その他の有用トピック===<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=3811 【技術共有】トピックを立てるまでもないライブラリとかコードとかの公開所]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=3558 MOD制作小技紹介]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=2558 【API解説】Minecraft Forge(1.3.0)]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=266 MOD開発をする上で役に立ちそうなサイト&公式フォーラムのトピック]<br />
*[http://forum.minecraftuser.jp/viewtopic.php?f=21&t=4937 MOD開発に関する留意事項 チャンク初期化とNBTデータの不整合]</div>
ModderKina
https://mcmodding.jp/modding/index.php?title=MediaWiki:Sidebar&diff=3358
MediaWiki:Sidebar
2017-03-12T09:55:28Z
<p>ModderKina: 古い情報を移動</p>
<hr />
<div>* navigation<br />
** mainpage|mainpage-description<br />
** Special:Recentchanges|最近の更新<br />
** 拡張タグ|拡張タグ<br />
** 井戸端|井戸端<br />
<br />
* SEARCH<br />
<br />
* 事前準備<br />
** MOD開発環境を作る|MOD開発環境を作る<br />
** Eclipseを入手する|Eclipseを入手する<br />
** MinecraftForge導入手順|Forge導入手順<br />
** 複数バージョンの同時開発|複数バージョン同時開発<br />
<br />
* チュートリアル<br />
** チュートリアル一覧|チュートリアル一覧<br />
<br />
* 解説<br />
** Class解説|Class解説<br />
** 植物系ブロックの解説(1)サボテン|植物系ブロック解説1<br />
<br />
* APIメソッド解説<br />
** API一覧|API一覧<br />
** ModLoader API|ModLoader API<br />
** Minecraft Forge API|Minecraft Forge API<br />
** IndustrialCraft² API|IndustrialCraft² API<br />
** MineChem API|MineChem API<br />
** ComputerCraft API|ComputerCraft API<br />
<br />
* 情報<br />
** 用語|用語<br />
** IDlist|IDlist<br />
<br />
* リンク<br />
** http://www.minecraft.net/|Minecraft 公式サイト<br />
** http://www.minecraftforum.net/|Minecraft Forum<br />
** http://www26.atwiki.jp/minecraft/|Minecraft Japan Wiki<br />
** http://ja.minecraftwiki.net/Minecraft_Wiki|Minecraft Wiki(JA)<br />
** http://forum.minecraftuser.jp/|Minecraft 非公式日本ユーザーフォーラム<br />
** http://www4.atwiki.jp/reginn666/|reginn666@ウィキ(Forge関係)<br />
<br />
* その他<br />
** 管理者との連絡ノート|管理者との連絡ノート<br />
** サンドボックス|サンドボックス(編集練習用)<br />
** http://www.mediawiki.org/wiki/Help:Contents/ja|Wikiのヘルプ<br />
** MediaWiki:Sidebar|サイドバー(管理者用)<br />
<br />
* TOOLBOX<br />
<br />
* LANGUAGES</div>
ModderKina