2.ハローワールドしてみる
前回は環境構築してとりあえず起動までやったので、ある意味ハローワールドはできているかとwww。
まずはデフォルトを覗いてみる。
起動後のタイトルからModを押してみると、「Example Mod」が追加されてるのが確認できた。
とりあえずここの内容変えたいかと。
調べたらどうやら「mods.toml」を変更するみたい。
このファイル覗くと1行1行がパラメータになってるみたいね。
先頭の#はコメントアウトで無効にする感じですね。
ここで変更できそうなのが、
①modId
②version
③displayName
④displayURL
⑤credits
⑥authors
⑦description
これくらい?あとはよくわからんので気が向いたら調べて変更にしようかと。
①modId="ponmod"
今後プログラムする時にも使用するモッドのIDになる文字列を記入。
②version="1.0.0"
デフォルトで何かを参照してるみたいだけど、どこ参照してるかわからんかったので、適当な文字列いれとこww
③displayName="Pon Mod"
こっちはMod確認時に表示されるモッド名かと。
④displayURL="https://pon52ponpon.hatenablog.jp/”
作成するモッドに関するホームページとかのリンク張っとけばいいのかな?
とりあえずここのリンクでも貼っとけばいいかな?
⑤#credits="Thanks for this example mod goes to Java" #Optional
クレジットは今は無効にしとこ。#Optionalがあるものは任意らしいのでコメントアウト。
⑥authors="pon52"
モッド作者名
⑦description='''作成中'''
モッド説明らしい。複数行いける。
前後に「'''」を入れること。一回間違えて消してしまってエラーに・・・( ゚Д゚)
そして、「mods.toml」変更後一度起動してみたら見事にエラーになりましたwwww
java側のプログラムでmodIDをexamplemodで登録されてるのが原因らしい。
結局ソースファイルも修正しないといけない・・。
とりあえずサンプルと同じようにパッケージ・ソースを作ってみる。
ファイル → 新規 → クラスでウィンドウを開き
パッケージ名の部分にcom.pon.ponmodを記述。
名前の部分にPonModを記述。
こんな感じで完了を押して作成。
作成したPonMod.javaにExampleMod.javaの中身を全部コピーして修正していく。
// 1: package com.pon.ponmod; //package com.example.examplemod; import java.util.stream.Collectors; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import net.minecraft.block.Block; import net.minecraft.block.Blocks; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.InterModComms; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent; import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent; import net.minecraftforge.fml.event.server.FMLServerStartingEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; // The value here should match an entry in the META-INF/mods.toml file @Mod("ponmod") // @Mod("examplemod") public class PonMod // public class ExampleMod { // Directly reference a log4j logger. private static final Logger LOGGER = LogManager.getLogger(); public PonMod() { //public ExampleMod() { // Register the setup method for modloading FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup); // Register the enqueueIMC method for modloading
@Modの部分が「mods.toml」のmodIdに記述したものと同じじゃないとダメらしい。
修正後元々あったExampleModパッケージとjavaファイルを削除。(残すと邪魔をしてエラーになる)
最終的に以下のファイル、パッケージの構成になる。
ここまでできたら起動してみて、エラーにならなければOK。
再度タイトルからModを押して確認。
とりあえず変わってくれたのでよしとしよう。