当前位置: 首页 > news >正文

Minecraft 1.21.1 NeoForge开发笔记 #1 开发环境

1.1安装Java

Minecraft(以下简称MC)1.21.1要求的最低Java版本为21。从oracle官网下载该版本的JDK并安装,并配置环境变量,该环节操作细节大家可以从很多地方找到就不赘述了。

1.2下载NeoForge开发MDK

登录NeoForge官网:neoforged.net

点击”Mod Generator page“链接,进入开发包生成界面。

比旧版本MC的Forge,我们可以利用官网预设modID和作者这些参数,原本都是要修改MDK包中的gradle.build和mod元数据文件。需要注意的是:包名一般设置成自己反写的域名.ModID,如果没有就用com.作者名.ModID。此外还增加了mixin功能,它允许我们在运行时修改已编译的Java代码,与早期的asm字节码工具类似。可以根据需求决定是否添加。

最后点击下载,我们就得到了开发包,下载按钮的左边也可以预览当前的开发包

1.3安装Gradle和第三方库

1.3.1利用Gradle Wrapper自动部署

和旧版本类似,开发包中包含了Gradle Wrapper,在我们用IDE打开开发包后,它会根据gradle-wrapper.properties中的配置,自动下载解压Gradle并完成后续开发所需的第三方库的下载。

1.3.2手动下载和配置Gradle

由于Gradle自动下载的速度很慢,我们可以手动下载Gradle安装包节省一部分时间。根据gradle-wrapper.properties中distributionUrl项找到Gradle的版本(9.2.1)和Url,手动下载。下载后把distributionUrl改成本地路径,例如file:///D:/gradle-9.2.1-bin.zip。但是第三方库的下载只能通过gradle进行了。

//gradle-wrapper.properties distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists

此外,Gradle和所有库文件默认的根目录是C:\Users\admin\.gradle,Gradle本体的目录是C:\Users\admin\.gradle\wrapper\dists。如果需要改变根目录,可以配置环境变量,例:变量名GRADLE_USER_HOME,变量路径D:\.gradle;如果需要改变Gradle本体目录,修改distributionPath项。

因不可抗力1.2和1.3小节涉及的下载可能需要木棍

1.3.3idea设置

在设置->Build,Exection,Deployment->Build Tools->Gradle中,可以设置Gradle相关的内容,

Gradle user home就是上文提到的Gradle相关文件的根目录

Gradle中的Distribution中,Wrapper项是指使用Gradle Wrapper安装Gradle,如果使用本地离线库可以选择Local installation设置成已经安装好的Gradle的路径

Gradle JVM 务必确认是Java 21

1.4 Gradle任务简介

在idea界面右侧,可以找到一些Gradle任务,这些任务也可以在命令行输入gradle tasks指令获得,介绍几个常用的

1.build下的build,其实包括了classes编译,assemble组装,jar打包三个过程,一般我们使用build一次完成这三个步骤

2.mod development下的runclient和runserver,运行客户端和运行服务端,这是我们测试和debug模组的最重要的任务

http://www.jsqmd.com/news/485882/

相关文章:

  • DeepSeek-OCR 2: Visual Causal Flow翻译
  • flying RC 飞控出现:PreArm: Internal errors 0x4000 I:215 spi:fail
  • 第四章 积分与累积:从面积计算到资源预估的底层思维
  • SpringBoot 启动流程深度解析:源码追踪与事件监听机制
  • 6.llamafactory项目介绍与安装部署
  • OpenClaw 结合 Ollama 本地 LLM 运行技术文档
  • MySQL - 集群架构与实践
  • 短信营销平台哪家好?2026年企业短信服务商推荐 - Qqinqin
  • 【anthropic官方Skill】brand-guidelines 技能
  • SynchronizedMap和ConcurrentHashMap有什么区别?
  • 【PCIe 验证每日学习・Day11】PCIe 能力结构(Capability)基础验证
  • 简单的龙虾(OpenClaw)部署教程
  • 临床队列分析总出错?(R tidyverse医学清洗模板大揭秘)——附FDA合规性验证脚本
  • 第五章 微积分与计算机:所有程序运行的底层逻辑
  • 【实时Linux工业PLC解决方案系列】第三十七篇 - 实时Linux PLC内存泄漏检测与防护
  • Vue3 + Element Plus 全局 Message、Notification 封装与规范|Vue生态精选篇
  • 博客接口自动化测试--搭建测试环境库的介绍安装allure
  • 计算机毕业设计springboot电子病例系统 基于SpringBoot的智慧医疗健康管理平台设计与实现 基于Java的医院数字化诊疗信息系统开发
  • SeaweedFS与MinIO深度对比:架构差异与场景化选型指南
  • 【实时Linux工业PLC解决方案系列】第三十八篇 - 实时Linux PLC国产化芯片适配实践
  • AI大模型教程来了(大模型从入门到实战)AI大模型学习全攻略:30节课程+企业项目实战+500+论文资源包
  • 利用Windows特性(::$DATA)绕过文件上传检测的实战解析
  • YOLOv11自动截图与告警机制全攻略:从入门到实战,手把手教你构建智能监控系统
  • 探索DeepSeek在双色球历史数据分析中的娱乐性应用
  • YOLO11与DeepSORT融合实战:从零开始构建多目标跟踪系统
  • 影墨·今颜小红书模型生成作品集展示:覆盖美妆、旅行、美食多垂类
  • 计算机毕业设计springboot高校学生请假管理系统 基于SpringBoot的校园学生考勤与请假审批系统设计与实现 基于Java的高校学生事务请假管理平台开发
  • Hyper-V虚拟化环境下的多网口软路由单臂路由实战:VLAN配置与剩余端口上网全解析
  • Linux OOM Killer实战解析:从日志分析到问题定位
  • Redis面试题 01