追記:こちらは1.7.10以前向けの記事です。1.8以降はIntelliJ IDEA + Forge 1.8 で modding 環境整えた - Spica*をご参考ください。
とりあえずMod作り始めるところまで書いとく。
環境
手順
- まず、Forge公式のv1.7.10のページから、"Src"をダウンロード
- "forge-1.7.10-10.13.4.1558-1.7.10-src.zip"みたいなファイルがダウンロードできる
- ダウンロードしたら、ダブルクリックで解凍
- ターミナルを開き、解凍したディレクトリに移動
# 移動 cd /path/to/forge-1.7.10-10.13.4.1558-1.7.10-src # 下記の2つのコマンドを順番に実行 ./gradlew setupDecompWorkspace ./gradlew setupDevWorkspace ideaModule
- IntelliJ IDEAを開き、最初の画面で"import project"を選択して、先ほどのディレクトリの中にある"build.gradle"ファイルを選択する。その後JDKを選択したりする画面が表示されるが、そのまま次へいく。
- しばらくすると、開発する画面が表示される。
MODの実行
MODの知識ない状態で、どうやって手を付ければいいのかが難しいですね…。みんなどこ見てるの。 このへんが公式だと思うだけど、Outdatedって。。
とりあえず、最初からあるクラスのコードに+αして、動いてることを確認してみる。
package com.example.examplemod; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.event.FMLInitializationEvent; import net.minecraft.init.Blocks; @Mod(modid = ExampleMod.MODID, name = ExampleMod.MODNAME, version = ExampleMod.VERSION) public class ExampleMod { /** MODのID。小文字であること */ public static final String MODID = "examplemod"; /** MODの名前 */ public static final String MODNAME = "Example Mod"; /** MODのバージョン */ public static final String VERSION = "1.0"; @Mod.Instance(value = ExampleMod.MODID) //Tell Forge what instance to use. public static ExampleMod instance; @EventHandler public void init(FMLInitializationEvent event) { // some example code System.out.println("Hello!! DIRT BLOCK >> " + Blocks.dirt.getUnlocalizedName()); } }
そして、ターミナルから下記を実行。
cd /path/to/forge-1.7.10-10.13.4.1558-1.7.10-src # 実行 ./gradlew runClient
Minecraftが起動する。と同時に、ターミナルに沢山のログが流れる。 その中に、先ほどのメッセージが表示されていることを確認する。
…ちゃんと出てる!ということはとりあえず実行完了ということですね。 早くブロック置きたい。
※つづき書きました:Minecraftでカスタムアイテム作ってみる - Spica*