Minecraft Modding

コードが書きたい。

やっぱり最初は雛形からでしょうか

次のコードは以下のバージョンに対応しています。

  • forge-1.12-14.21.1.2426

ExampleMod.java

package example.examplemod;

import example.examplemod.util.Utils;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;

/***
 * Modの本体で、@Modを宣言することで本体として認識されます。<br>
 * modidの文字列はmcmod.infoのmodidと同一にしなければ、mcmod.infoが読み込まれないので設定値を合わせる必要があります。<br>
 * このクラスでMinecraftにブロックやアイテムの登録を行います。<br>
 * @author atsushi
 * @version forge-1.12-14.21.1.2426
 */
@Mod(modid = ModInfo.MODID)
public class ExampleMod {

	/***
	 * ブロックやアイテムなどの登録を行います。
	 * @param event
	 */
	@EventHandler
	public void preInit(FMLInitializationEvent event) {
		Utils.getLogger().info("Pre Initialize.");
	}

	/***
	 * レシピまたはイベントの登録を行います。
	 * @param event
	 */
	@EventHandler
	public void init(FMLInitializationEvent event) {
		Utils.getLogger().info("Initialize.");
	}

	/***
	 * 何をするメソッドなのか不明です。
	 * @param event
	 */
	@EventHandler
	public void postInit(FMLInitializationEvent event) {
		Utils.getLogger().info("Post Initialize.");
	}
}

ModInfo.java

package example.examplemod;

/***
 * Mod情報の定義<br>
 * 詳細はmcmod.infoに記述する。
 * @author atsushi
 * @version forge-1.12-14.21.1.2426
 */
public class ModInfo {
	
	public static final String MODID = "modid";
	public static final String NAME = "examplemod";
	public static final String VERSION = "0.0.1";
}

Utils.java

package example.examplemod.util;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import example.examplemod.ModInfo;

/***
 * 一先ずはロガー用
 * @author atsushi
 * @version forge-1.12-14.21.1.2426
 */
public class Utils {

	private static Logger logger;
	
	public static Logger getLogger() {
		if(logger == null) {
			logger = LogManager.getFormatterLogger(ModInfo.MODID);
		}
		return logger;
	}
}

mcmod.info

[
{
  "modid": "modid",
  "name": "Example Mod",
  "description": "Example Mod desctiption.",
  "version": "0.0.1",
  "mcversion": "1.12",
  "url": "",
  "updateUrl": "",
  "authorList": ["atsuhi"],
  "credits": "The Forge and FML guys, for making this example",
  "logoFile": "",
  "screenshots": [],
  "dependencies": []
}
]

ソースコードはこちらにアップロードしています。
github.com