所以我才开始使用Forge。我只是有一个非常简单的示例mod,用于学习目的。当我使用gradlew build
导出mod时,一切正常,它将mod放入forge的build\libs
文件夹中。但是,文件的名称是modid-1.0
。现在,我很确定自己在mcmod.info文件中以不同的方式命名了mod。为什么要这样做,我该如何更改?此外,即使mod运行正常,(Minecraft启动器控制台会打印该语句),但是当我单击Minecraft主菜单中的“ mods”选项卡时,我的mod不会显示。
另外,另一个问题是它实际上将两个文件生成到build\libs
中。一个称为modid-1.0,另一个称为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 。 最佳答案
该文件的名称为modid-1.0
,因为您需要在build.gradle文件中进行更改。它位于主目录中。将其打开,大约在中途,您将看到一些条目
version = "1.0-whatever-you-want"
group= "com.mymod.examplemod" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "yourModName"
将其更改为所需的内容,然后在构建mod时将使用它们来创建.jar文件。
就制作的两个jar而言,
modid-1.0-sources
是mod的反混淆版本。您只能在开发环境中使用此代码。基本上,如果我想将您的mod用作依赖项,则需要-sources版本。另一个modid-1.0.jar
是您要分配给其他玩家的那个