2

所以我刚开始使用 Forge。我只有一个非常简单的示例 mod 用于学习目的。当我使用 导出模组时gradlew build,一切正常,它会将模组放入 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": []
}
]

模组源代码:

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。

4

1 回答 1

4

该文件的名称是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 文件。

就制作的两个罐子而言,modid-1.0-sources是您的 mod 的去混淆版本。你只会在开发环境中使用这个。基本上,如果我想使用你的 mod 作为依赖项,我会想要 -sources 版本。另一个modid-1.0.jar是你想要分发给其他玩家的那个

于 2015-12-20T05:52:46.773 回答