关于 MC 的 Forge 模组开发(二):模组信息

关于 MC 的 Forge 模组开发(二):模组信息

说明:本人想做一个关于 OI 的 mod,就直接拿来演示了。毕竟这样写完可以摁倒自己存档里

一、准备

我们先删去 Forge 官方提供的 example,直接将 src/main/java 下目录的所以文件删除(建议备个份,有问题可以摸去看看),接着新建一个软件包,名称是你域名的倒写,尽管我不知道为什么

然后我们新建一个文件,做为 mod 的主类,它是一个 Java 类,名称允许大写,接着创建一个叫做 Utils 的类,现在目录结构如下:

image-20221210075650039

二、修改信息

我们的 mod 需要有一个 mod_id,才能进行加载,为了好用,我们将他声明为常量。

在 Utils 中加入代码:

package com.OI.olympiadininformatics;

public class Utils {
    public static final String MOD_ID="olympiadininformatics";
}

这里的 MOD_ID 必需小写。

接着,我们到 ThreeBodyWorld,其实也就是我们 mod 的主类中声明一下:

package com.OI.olympiadininformatics;

import net.minecraftforge.fml.common.Mod;

@Mod(Utils.MOD_ID)
public class OlympiadinInformatics {
}

事实上,IDEA 非常智能,你只需添加 @Mod 这一行,他会自动 import 导入我们的库,不比那 dev-c++ 好多了

然后我们跑去修改 mods.toml 文件,一通乱改就完事了,这是我的:

modLoader="javafml" #mod 加载器的版本,必填,默认即可
loaderVersion="[36,)" #Forge的版本,必填,默认即可
license="114514" #必填,是 Mod许可证(然而我不知道,乱写)
[[mods]] #一些关于 mod 本体的设置
modId="olympiadininformatics" #mod id,必填,和代码中要保持一致
version="${file.jarVersion}" #大概是 mod 版本(我猜的),必填,默认即可
displayName="Olympiad in Informatics Mod" #mod 在游戏中的名称,必填
credits="Thanks all Oiers" #致谢名单,选填
authors="LQ" #作者名单,选填
description=''' #mod 介绍,必填(不想填干脆写个1919810)
This mod adds items, props and creatures about OI.
'''
[[dependencies.threebodyworld]] #mod 依赖选项,做附属 mod 的
    modId="forge" #是的,Forge也是个 mod,自处必填
    mandatory=true #是否必要
    versionRange="[36,)" #要求的版本
    ordering="NONE" #我没看懂……
    side="BOTH" #服务端还是客户端

教程说这东西没有默认高亮,然而我给 IDEA 装了一堆插件

这里面有相当多的英文说明,这里不贴原文,没有的可以自己去翻译。

现在我们的 mod 信息就修改完了!

三、杂谈

呃,不知道写这么个东西能不能写出来……

想法其实跟三体关系也不是很大,只是单纯地添加一个更困难的新维度。

除了一点世界观、一点梗以外,大概都会是我自己瞎搞的……

然后依然是参考链接:

自定义mod信息

posted @   LQ636721  阅读(182)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示