0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Forge MOD 入門 1.16.5

Posted at

はじめに

最近MODを再び作るようになったのですが、アイテムやブロックの追加以外のことにあまり触れてこなかったので、プログラムを実行させる方法がわからず苦戦していました。
Mainクラスから実行されるんじゃないのかMainクラス見つからないんだが?と戦っていました。
ようやく動かし方がわかってきたのでこの記事に残しておきます。

MODの登録

@Mod("examplemod") // MODの登録
public class exampleMod { // クラスの作成
    
}

このようにMODのIDを指定して、exampleModを登録します。
exampleMod というのはファイル名と同じにする?っぽい(たぶん)

Eventの登録

ゲーム内のアクションを拾ってプログラムを実行するためにForgeのイベントにプログラムを登録していく必要があります。

@Mod("examplemod") // MODの登録
public class exampleMod { // クラスの作成
    // ロガーの定義
    private static final Logger LOGGER = LogManager.getLogger();
    
    public exampleMod() {
        // Eventの受信をできるようにする
        MinecraftForge.EVENT_BUS.register(this);
    }

    // イベントの登録
    @SubscribeEvent
    public void onServerChat(ServerChatEvent event) {
        String message = event.getMessage();
        String username = event.getUsername();
        // ログの出力
        LOGGER.info(username + " says: " + message);
    }
}

MinecraftForge.EVENT_BUS.registerという一文を書いていないとイベントは何も使えないということを知らず、SubscriveEventと戦い続けていました。
LOGGER.info()を知らず、System.out.println()をずっと使っていて、なかなか出力されないため、詰んでました。

さいごに

プログラムだけ書けてもでけねえ

プログラムだけ知っていてもどのような手順でMODが実行されているのかなんとなく知らないと始め方もわかりません。
一般的なMODの作り方を紹介する動画はアイテムを追加する系だけなのでこの記事が第二の私を作ることを防げることを願っています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?