リネーム
Modのメインクラスは、Forgeにもとから入っていた「ExampleMod.java」を元に作ります。
なのでまず、ExampleModからUHCItemsModに名前を変更していきましょう。
パッケージの名前を変更します。「com.example.examplemod」を右クリックして、「リファクタリング」→「名前変更」をクリック。
今回は「com.umagame.uhcitemsmod」にします。私はcomが何を意味しているのかわかりません。commonですかね?
「ExampleMod.java」も同じようにリネームします。
こんな感じ。
メインクラス
メインクラス(UHCItemsMod.java)のコードをいじっていきます。
まず、画像で選択している部分はいらないのですべて消します。(メソッド「doClientStuff」、「enqueueIMC」、「processIMC」、「onServerStarting」、クラス「RegistryEvents」)
消すとコンストラクタの中でエラーが起こるので(赤の波線が出ます)、エラーが起こっている部分もすべて消します。
メソッド「setup」の中身も消します。「setup」は、マインクラフト起動時に呼び出されます。
そして、「LOGGER」をpublicにしておきます。(「private」と書いていた部分を「public」に書き換えます)
「@Mod」のところの「examplemod」を、自分のModのModIDで書き換えます。
ModIDはMod固有のIDで、他のModと被るとエラーが起こってしまいます。また、基本的に小文字で設定します。
ModIDはそのModのアイテムなどをゲーム上で指定するときに使われます。(マインクラフトの石ブロックは「minecraft:stone」となるように、〇〇Modのアイテムは「〇〇ModのModID:アイテムのID」と処理されます)
使われていないimportがあるので、Ctrl+Shift+Oを押してimportのところをスッキリさせます。
package com.umagame.uhcitemsmod;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
@Mod("uhcitems")
public class UHCItemsMod
{
public static final Logger LOGGER = LogManager.getLogger();
public UHCItemsMod() {
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
MinecraftForge.EVENT_BUS.register(this);
}
private void setup(final FMLCommonSetupEvent event)
{
}
}
最終的にこんな感じになりました。これでメインクラスはOKです。
コメントは消しても大丈夫です。(私はあまりModdingに詳しくないので、一応コメントを残しています)
Modの説明欄
src/main/resourcesの「META-INF」の中にある、「mods.toml」を開きます。
めちゃくちゃややこしそう...と思うかもしれませんが、ほとんどコメントです。
コメントと、いらない項目を削除しました。めっちゃ短くなりましたね。
このファイルで最も重要なのは、「modId」の部分です。ここはさっき設定したModIDにしましょう。
他の項目は適当に設定していきます。(今回は省きましたが、pngファイルでアイコンを設定したりすることもできます)
modLoader="javafml"
loaderVersion="[35,)"
license="All rights reserved"
[[mods]]
modId="uhcitems"
version="1.0"
displayName="UHC Items Mod"
displayURL="https://www.umagame.info"
credits="ご購読ありがとうございます"
authors="うまげーむ(Umagame)"
description='''
Hypixel UHCのアイテムを再現したModです。
'''
最終的にこんな感じになりました。
これでmods.tomlファイルはOKです。