帖子

Memorial Edition

查看: 64|回复: 0

[模组开发教程] 1.21.1 NeoForge模组开发教程 - 1.构建开发环境

[复制链接]

Lv.3 挖沙工

人气
5 点
金粒
330 粒
宝石
0 颗
爱心
0 颗
钻石
29 颗
贡献
0 点
发表于 昨天 14:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
现如今,构建一个NeoForge模组开发环境还是很简单的,你只需要在GitHub上clone一份ModDevGradle(NeoGradle也可,但更推荐新手用ModDevGradle)模板到本地,再用你的IDE打开它,项目就会自动导入了。当然,90%的人估计都会选择IntelliJ IDEA作为IDE。请确保项目所用的JDK版本为Java 21。
项目的导入涉及到下载Gradle、第三方依赖库、Minecraft客户端和服务端的jar文件、NeoForge源码等等,时间可能会比较长,请耐心等待,直到控制台冒出BUILD SUCCESSFUL字样,就代表开发环境构建成功了。

然后就是在gradle.properties文件中填写你的modid、模组名称等信息了,注意modid不能包含大写字母,此外NeoForge的版本也可以在这里修改——你clone下来的模板的NeoForge版本可能和本系列教程使用的21.1.197版本不符,修改一下,再重新sync一下gradle即可。

要运行客户端游戏,运行gradle任务runClient即可;运行服务端则使用runServer。你可能还注意到有一个“runData”,这是给Data Generation用的,这部分内容后续会讲到。build任务用于将Mod打包成jar到路径build/libs下。

紧接着是Mod主类(也叫入口类)。你可能注意到模板中已经给你定义好了一个入口类,另外还有一个Config类,这些都是示例代码,包名是example不说,入口类也写得乱七八糟,把什么东西都塞里面了。删掉这个包,根据你的实际情况新建一个包,在包下以你的Mod为名创建一个入口类:


  1. @Mod(TutorialMod.MODID)
  2. public class TutorialMod {
  3.     public static final String MODID = "tutorialmod";
  4.    
  5.     public TutorialMod(IEventBus bus, ModContainer container) {
  6.                 
  7.     }
  8. }
复制代码



这就是我们的入口类了,首先给类打上@Mod注解,表明这是一个Mod入口类;其次是给该类提供了一个构造方法,形参列表是出于NeoForge的约定。IEventBus是Mod事件总线,有关事件和事件总线的概念会在第2章详细介绍;ModContainer是FML用来包装Mod对象的类,用途包括给Mod注册配置文件等等。

记得在实际写代码的时候把入口类名和modid依据你的实际情况替换掉。

现在运行runClient任务,启动游戏,你大概已经可以在Mod列表中找到你的Mod了——虽然什么内容都没有,但我们毕竟已经迈出第一步了。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

爱才应该是刺中好人的唯一的剑,是恶人能佩上的唯一的花。

Archiver|小黑屋| MCBBS纪念版 ( 新ICP备2024014954号|兵公网安备66010002000149号 )|隐私政策| 手机版

GMT+8, 2025-9-6 03:21 , Processed in 0.160439 second(s), 19 queries , Redis On.

"Minecraft"以及"我的世界"为美国微软公司的商标 本站与微软公司没有从属关系

© 2010-2025 MCBBS纪念版 版权所有 本站内原创内容版权属于其原创作者,除作者或版规特别声明外未经许可不得转载

返回顶部