MinecraftのMODを作りたい~事前準備編~

ちょっとした事前準備

本格的に新要素を追加していく前に基本となるメインクラスを書いておくぞ!!

 

以下のページを参考に作った

 

メインクラス製作記録1 Referenceクラス

 

メインクラス制作記録2 Proxyクラス

 

メインクラス制作記録3 Initialization

 


まずは参照用となるReferenceクラス

package katanaMod.main;

public class Reference {

        public static final String MOD_ID = "katanamod";
        public static final String MOD_NAME = "KatanaMod";
        public static final String MOD_VERSION = "1.0.0";

        public static final String CLIENT_PROXY_CLASS = "katanaMod.proxy.ClientProxy";
        public static final String COMMON_PROXY_CLASS = "katanaMod.proxy.CommonProxy";
}


次に、サーバー側で使用するProxyクラス

package katanaMod.proxy;

import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

public class ClientProxy extends CommonProxy {

        // init アイテム・ブロックの登録、コンフィグ読み込みなど事前の初期化作業を行う
        @Override
        public void preInit(FMLPreInitializationEvent event) {
                super.preInit(event);

        }

        // RegisterRender レシピ追加、レンダー登録など
        @Override
        public void init(FMLInitializationEvent event) {
                super.init(event);

        }

        // 他Modとの連携
        @Override
        public void postInit(FMLPostInitializationEvent event) {
                super.postInit(event);

        }
}



さらにクライアント側で使用するProxyクラス

package katanaMod.proxy;

import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

public class CommonProxy {

        // init アイテム・ブロックの登録、コンフィグ読み込みなど事前の初期化作業を行う
        public void preInit(FMLPreInitializationEvent event) {


        }

        // RegisterRender レシピ追加、レンダー登録など
        public void init(FMLInitializationEvent event) {

        }

        // 他Modとの連携
        public void postInit(FMLPostInitializationEvent event) {

        }
}


最後にメインとなるクラスにInitializationを書き加える

package katanaMod.main;

import org.apache.logging.log4j.Logger;

import katanaMod.proxy.CommonProxy;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

@Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.MOD_VERSION)
public class Katana {

        @SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.COMMON_PROXY_CLASS)
        public static CommonProxy proxy;

        @Instance
        public static Katana instance;

        public static Logger logger;

        // init アイテム・ブロックの登録、コンフィグ読み込みなど事前の初期化作業を行う
        @EventHandler
        public void preInit(FMLPreInitializationEvent event) {
                logger = event.getModLog();
                proxy.preInit(event);

        }

        // RegisterRender レシピ追加、レンダー登録など
        @EventHandler
        public void init(FMLInitializationEvent event) {
                proxy.init(event);

        }

        // 他Modとの連携
        @EventHandler
        public void postInit(FMLPostInitializationEvent event) {
                proxy.postInit(event);

        }

}



と、言うわけで事前準備が完了しました!!

 

それぞれのクラスに書かれているのでもう分かっているかもしれませんが、

刀を作って武器とできるようなModを作成しようと思います。

 

事前準備だけでそれなりの長さになってしまったので、新ブロック作成編は次の記事に。

 

まずは刀の材料となる玉鋼の元となる鉱石ブロックを追加しようと思います!!

 

刀に関しての知識は全然ないんだけどね...

MinecraftのMod ListにKatanaModが表示される!