それで、私はForgeを使い始めました。学習用の非常に単純なサンプル mod があります。を使用して mod をエクスポートするとgradlew build
、すべてが正常に機能し、modbuild\libs
が forge のフォルダーに配置されます。ただし、ファイル名はmodid-1.0
. これで、mcmod.info ファイルで mod に別の名前を付けたと確信しています。なぜこれを行うのですか?どうすれば変更できますか? さらに、mod は正しく実行されますが (minecraft ランチャー コンソールはステートメントを出力します)、minecraft のメインメニューの mods タブをクリックすると、mod が表示されません。
また、別の問題として、実際には 2 つのファイルが .csv に生成されbuild\libs
ます。1 つは modid-1.0 と呼ばれ、もう 1 つは modid-1.0-sources と呼ばれます。どれを使いたいですか (.minecraft/mods フォルダにどれを入れるか)
私の mcmod.info ファイル
[
{
"modid": "myexamplemod",
"name": "Example Mod",
"description": "Example placeholder mod.",
"version": "1.0",
"mcversion": "1.8.8",
"url": "",
"updateUrl": "",
"authorList": ["ExampleDude"],
"credits": "The Forge and FML guys, for making this example",
"logoFile": "",
"screenshots": [],
"dependencies": []
}
]
Mod ソースコード:
package com.example.examplemod;
import net.minecraft.init.Blocks;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
@Mod(modid = ExampleMod.MODID, version = ExampleMod.VERSION)
public class ExampleMod
{
public static final String MODID = "myexamplemod";
public static final String VERSION = "1.0";
@EventHandler
public void init(FMLInitializationEvent event)
{
// some example code
//while(true) {
for(int x = 0; x < 100; x++) {
System.out.println("My Mod Says: DIRT BLOCK >> "+Blocks.dirt.getUnlocalizedName());
}
//}
}
@EventHandler
public static void postInit(FMLPostInitializationEvent event) {
//while(true) {
System.out.println("DIRT BLOCK >> "+Blocks.dirt.getUnlocalizedName());
//}
}
}
テスト目的で、コンソール コマンド gradlew を使用して実行できることはわかっていますrunClient
が、jar ファイルを minecraft の mods フォルダーに配置して mod を実行できるユーザー向けの通常の方法で実行できるようにしたいと考えています。