为什么我的伪造mod出口标题不正确,并且不会出现在我的世界伪造的mods标签中?

时间:2015-12-19 20:43:19

标签: java minecraft minecraft-forge

所以我刚开始使用Forge。我只是有一个非常简单的示例mod用于学习目的。当我使用gradlew build导出mod时,一切正常,它将mod放入伪造的build\libs文件夹中。但是,该文件的名称为modid-1.0。现在我很确定我在mcmod.info文件中对mod进行了不同的命名。为什么要这样做,我该如何改变呢?此外,即使mod正确运行,(我的世界发射器控制台打印声明),但是当我点击我的mod的主菜单中的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文件放入我的文件的mods文件夹中并运行mod。

0 个答案:

没有答案