リンク集

Mod開発 (特にForgeを前提としたMod)

Minecraft Modding Wiki
日本語のWiki

Forge Documentaion
Forgeのドキュメント

http://greyminecraftcoder.blogspot.com
MinecraftやForgeのコードのコンセプトに着目してModの開発法を解説している。例えば各種レジストリの解説やメソッドの呼び出される順番などの情報がある

Minecraft Modding: List Of Topics (1.6, 1.7 - outdated)
上のブログのMC1.6、1.7向けの古い情報

125forum • トップページ
MC1.2.5専用のフォーラム

Mod開発の基本・チュートリアル・開発環境構築

Modの開発環境にはMC1.6.4以前のMCP(ModCoderPack)を使った方法と、MC1.7.10からのForgeGradleを使う方法の、大きく分けて2つがある。新規でMod開発を始める場合は後者の方法を用いるのが良いと思う。

MC1.7.10

MinecraftForge導入手順 - Minecraft Modding Wiki
おそらくMC1.7.10向け(+MC1.6.4の一部向け)。MC1.7.10以降のバージョンも同じ手順でできると思われるが、IDE関連の設定方法などは変わっている。

IGNIS制作記録 - defeatedcrow mod wiki
AppleMilkTea!やHead&Climateの製作者であるdefeatedcrow氏がModを作るときの流れをまとめたもの(MC1.7.10)

MOD開発講座 | TNT Modders
匠Craftの開発者らによるMC1.7.10の開発環境構築・チュートリアル

その他のバージョン

チュートリアル一覧 MOD製作者のためのソース解説 | 鎮守府MOD製作者・鮎滝渉【Minecraft JE版】
MC1.12.2およびMC1.10.2、Eclipseでのアイテム、ブロック、レシピ追加など

MOD開発講座 | TNT Modders
匠Craftの開発者らによるMC1.12.2及びMC1.14.4の開発環境構築・チュートリアル

ForgeGradleについて

ForgeGradle
ForgeGradleのドキュメント (MC1.7.10)

https://github.com/Chicken-Bones/CodeChickenLib/blob/1.7/build/build.gradle
CodeChickenLibのbuild.gradle。mavenのアップロードまで自動化しているようにみえる。

Minecraft Forge 1.7.10環境でのModのビルド等ができなくなった問題 - 鳥猫ぶろぐ
2020年1月頃から、MC1.7.10のModding環境を最初に作るときに起こるようになったエラーの解決法

マインクラフト1.12以前向けのForgeGradleでrunClientをjdk8最新版で実行するには - Qiita
JDK 8u242からMC1.12以前の環境で発生するようになったエラーの解決法

以下はMCPを用いる古い情報

MinecraftForge導入手順(MCP) - Minecraft Modding Wiki
MC1.6.1~MC1.6.4のMCP環境にForgeを導入する方法

MCPの環境構築手順 - Minecraft Modding Wiki
MCPの開発環境構築の手順。Minecraftのバージョンは不明。


Mod開発・全般

Scalaでコードを書く


単体テスト

Minecraft ForgeでJUnitのテストをする - Kotori minecraft mod
おそらくJSON化以降(MC1.8.0以降)のMinecraftでしかできない。一部はMC1.7.10でも使える。

BuiltBrokenModding/MinecraftJUnit: Lib designed to support JUnit testing in a minecraft forge workspace
Minecraft moddingでJUnitのテストをするためにライブラリ。どのバージョンのMinecraftに対応しているのかは未調査。

Mod開発・目的別 (特にMC1.7.10)

鉱石辞書

鉱石辞書の利用 - Minecraft Modding Wiki
鉱石辞書の登録、参照方法。MC1.7.10でも使える。バニラ及びいくつかのModの鉱石辞書名の一覧もある。

液体

1.6の流体追加 - Minecraft Modding Wiki
アイテム・ブロックなどの実体を持たない流体情報であるFluidの追加方法。及びFluidに対応する流体ブロックの追加方法、Fluidへのテクスチャの適用方法、Fluidに対応するバケツの追加方法。
MC1.7.10でも類似の方法で可能。

1.6の流体をバケツで扱う - Minecraft Modding Wiki
追加した液体をバケツですくう方法。
MC1.7.10でも類似の方法で可能。

機械

  • TileEntityの扱い方
  • TileEntityでのFluidStackの操作
  • Blockのカスタムレンダリング
  • TileEntitySpecialRenderer
などについてのコードが載っており、集大成的なページになっている。あとはGUIの表示方法とIInventoryの実装方法がわかれば大抵の機械は実現できそう。

コンテナとGUIの追加の方法 - Minecraft Modding Wiki
IInventoryの実装例。タイトルにGUIとあるが、GUIの追加の方法は書かれていない。MC1.7.10

CodeChickenLib/InventoryUtils.java at master · Chicken-Bones/CodeChickenLib
IInventoryの実装例。MC1.7.10向けCodeChickenLibのソースコードの一部。
IInventoryの中でも仕様がわかりにくいdecrStackSize()の実装や、インベントリのItemStackをNBTに書き込む処理・読み込む処理などがstaticメソッドとして書かれている。

1.7でのインベントリ操作 - Minecraft Modding Wiki
IInventoryを利用して他のブロックなどのインベントリを操作する方法。コメントがわかりやすい

GUI

Applied-Energistics-2/GuiScrollbar.java at rv3-1.7.10 · AppliedEnergistics/Applied-Energistics-2
MC1.7.10向けAppliedEnergistics2のコード。スクロールバーの実装。

Container#transferStackInSlotの話 - Kotori minecraft mod
おそらくMC1.7.10の話。Container#transferStackInSlotの実装方法について。


エンティティ


ForgeやMinecraftのコードについて理解する

https://codeshare.io/5Xx5E
へぼへぼ氏によるForge及びMinecraftのコードの分析
FMLのModローディング部分、BlockやTileEntityの扱われ方、TESRなど

http://greyminecraftcoder.blogspot.com
MinecraftやForgeのコードを解説する。プレイヤーが右クリックしたときの処理順、各種レジストリの解説、レンダリング処理の解説など。

RayStarkMC/ModdingDocument: MinecraftModdingDocuments
ForgeやMinecraftのクラスの解説。net.minecraft.util.MathHelperの解説などが特に有用。

その他のライブラリなどについて

Gson



コメント


コメントは管理人が勝手に削除することがあります

最終更新:2020年12月19日 18:37