User Tools

Site Tools


zh_cn:tutorial:setup

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
zh_cn:tutorial:setup [2024/06/04 16:53] – 添加了 IntelliJ IDEA 在开启代理时仍然构建缓慢的一种可能原因 sjk1949zh_cn:tutorial:setup [2025/03/25 00:39] (current) – [创建项目] solidblock
Line 1: Line 1:
 +~~REDIRECT>https://docs.fabricmc.net/zh_cn/develop/getting-started/setting-up-a-development-environment~~
 +
 ====== 配置模组开发环境 ====== ====== 配置模组开发环境 ======
  
 ===== 前置 ===== ===== 前置 =====
-   * Java 21(推荐用于 1.20.5)的 JDK(即用于开发 Java 的工具,安装器可参考 [[https://adoptium.net/releases.html]]。 
-       * 专业用户可以从 [[http://jdk.java.net/]] 获取JDK,注意需要手动解压并设置系统变量。 
-   * 任意 IDE(集成开发环境):如 [[https://www.jetbrains.com/idea/download/#section=windows|IntelliJ IDEA]] 和 [[https://www.eclipse.org/downloads/|Eclipse]],也可使用任何可编辑代码的文本编辑器,如 [[https://code.visualstudio.com/|Visual Studio Code]]。 
-       * 如果对这些不熟悉,推荐使用 Intellij IDEA,绝大多数开发者都用这个编写模组。 
  
-===== 步骤 ===== +==== 安装 JDK ==== 
-有两种新建 Fabric 模组开发环境的方法:你可以手动下载 fabric-example-mod(示例模组模板)并自行配置也可以使用一些工具来自动设置+要开发模组,需要 Java Development Kit(JDK),安装器可参考 [[https://adoptium.net/releases.html]]。专业用户可以从 [[http://jdk.java.net/]] 获取JDK,注意需要手动解压并设系统变量。 
 +  * 自 1.20.5 开始,需要 Java 21 以上版本。 
 +  * 自 1.18 开始,需要 Java 17 以上版本。 
 +  * 自 1.17 以上开始。需要 Java 16 以上版本。 
 +  * 对于旧的 Minecraft 版本,需要 Java 8 以上版本。 
 +    
 +关于安装 Java 的更多信息: 
 +  * Fabric Wiki 的安装 Java 的玩家教程,分别用于 [[player:tutorials:java:windows|Windows]]、[[player:tutorials:java:mac|MacOS]]、[[player:tutorials:java:linux|Linux]] 
 +  * Fabric Documentation 的安装 Java 的玩家教程,分别用于 [[https://docs.fabricmc.net/zh_cn/players/installing-java/windows|Windows]]、[[https://fabricmc.net/wiki/player:tutorials:java:mac|MasOS]]、[[https://docs.fabricmc.net/zh_cn/players/installing-java/linux|Linux]] 
 + 
 +===安装 IDE ==== 
 +写代码前,需先安装了 Java 的 IDE,例如 [[https://www.jetbrains.com/idea/download/#section=windows|IntelliJ IDEA]] 和 [[https://www.eclipse.org/downloads/|Eclipse]],也可使用任何可编辑代码的文本编辑器,如 [[https://code.visualstudio.com/|Visual Studio Code]]。 
 + 
 +如果对这些不熟悉,推荐使用 Intellij IDEA,绝大多数开发者都用这个编写模组。 
 + 
 +===== 创建项目 ===== 
 +> 更详细教程请见:[[https://docs.fabricmc.net/zh_cn/develop/getting-started/creating-a-project|Fabric Documentation]] 
 +创建项目有几种方法: 
 +  * 从 [[https://github.com/FabricMC/fabric-example-mod/|fabric-example-mod]] 复制模板项目排除 ''LICENSE'' 和 ''README.md'' 文件 
 +  * 使用[[https://fabricmc.net/develop/template/|模板生成器]] 
 +  * 使用 Intellij IDEA 的生成器,需要安装 Intellij IDEA 的 Minecraft Development 插件
  
-部分地区的用户可能会发现,由于网速原因,构建 Gradle 速度可能比较慢。对于中国内地用户,可参考[[https://fabricmc.cn/2021/06/28/%E5%A6%82%E4%BD%95%E5%8A%A0%E9%80%9FFabric%E6%A8%A1%E7%BB%84%E7%9A%84%E6%9E%84%E5%BB%BA/|加快 Fabric 模组构建速度的教程]]和[[https://www.mcbbs.net/forum.php?mod=viewthread&tid=1239261|加速 Fabric 模组依赖拉取以及环境搭建教程]]。+部分地区的用户可能会发现,由于网速原因,构建 Gradle 速度可能比较慢。对于中国内地用户,可参考[[https://fabricmc.cn/2021/06/28/%E5%A6%82%E4%BD%95%E5%8A%A0%E9%80%9FFabric%E6%A8%A1%E7%BB%84%E7%9A%84%E6%9E%84%E5%BB%BA/|加快 Fabric 模组构建速度的教程]]和<del>[[https://www.mcbbs.net/forum.php?mod=viewthread&tid=1239261|加速 Fabric 模组依赖拉取以及环境搭建教程]]</del>(链接已失效)
 如果你已经打开代理,但是下载速度仍然比较慢,可以检查一下 IDE 的网络代理设置是否处于关闭状态。对于 IntelliJ IDEA ,你可以在 File -> Settings -> Appearance & Behavior -> System Settings -> HTTP Proxy 找到该设置选项卡,如果勾选的是 "No proxy" ,要切换至 "Auto-detect proxy settings" 如果你已经打开代理,但是下载速度仍然比较慢,可以检查一下 IDE 的网络代理设置是否处于关闭状态。对于 IntelliJ IDEA ,你可以在 File -> Settings -> Appearance & Behavior -> System Settings -> HTTP Proxy 找到该设置选项卡,如果勾选的是 "No proxy" ,要切换至 "Auto-detect proxy settings"
  
-==== 手动步骤 ==== +创建项目之后,请根据自己的需要编辑以下文件 
-   - 复制 [[https://github.com/FabricMC/fabric-example-mod/|fabric-example-mod]] 中初始文件(Kotlin 用户或需要其他功能的也可使用 [[https://fabricmc.net/develop/template/|the template generator|模板生成器]]),并删除 ''LICENSE''(许可证)及 ''README.md''(简介)文件,因为它们只应用于模板自身,而非你的模组。 +   编辑 ''gradle.properties''
-   编辑 ''gradle.properties'':+
        * 确保将 ''archives_base_name'' 和 ''maven_group'' 设为你喜欢的值。        * 确保将 ''archives_base_name'' 和 ''maven_group'' 设为你喜欢的值。
        * 确保更新 Minecraft、映射、加载器和 loom 的版本——可以在[[https://fabricmc.net/develop/]]查询。        * 确保更新 Minecraft、映射、加载器和 loom 的版本——可以在[[https://fabricmc.net/develop/]]查询。
        * 添加你需要在 ''build.gradle'' 中使用的其他依赖。        * 添加你需要在 ''build.gradle'' 中使用的其他依赖。
-   - 将 ''build.gradle'' 导入到你的 IDE 中(各 IDE 操作各不同具体下) +  * 编辑 ''fabric.mod.json''
-   - 配置完成!祝武运昌隆(bushi+       * 更改你的模组兼容的版本,以及你的模组依赖的模组,还诸如模组 id 之类的其他信息更多信息请[[zh_cn:documentation:fabric_mod_json|此文件的用法]]。
  
-如有需要,可以在 ''gradle.properties'' 中设置镜像源。镜像源可能有时不可用,或者内容更新滞后,如需使用官方源,可暂时将相关内容注释掉即可。BMCLAPI 镜像缓慢时,可使用官方源,或参考[[https://mirrors.cernet.edu.cn/list/bmclapi|校园网联合镜像站]]+> :!: 从 1.19.2 开始,Fabric API 的模组ID由 ''fabric'' 变为 ''fabric-api''。如果需要将 1.19.2 的项目向后移植到旧的版本,需要在 ''fabric.mod.json'' 的 ''depends'' 部分进行相应变更。 
 + 
 +如有需要,可以在 ''gradle.properties'' 中设置镜像源。镜像源可能有时不可用,或者内容更新滞后,如需使用官方源,可暂时将相关内容注释掉即可。
  
 <code properties> <code properties>
-loom_libraries_base=https://bmclapi2.bangbang93.com/maven/+loom_libraries_base=https://bmclapi2.bangbang93.com/maven/
 loom_resources_base=https://bmclapi2.bangbang93.com/assets/ loom_resources_base=https://bmclapi2.bangbang93.com/assets/
 loom_version_manifests=https://bmclapi2.bangbang93.com/mc/game/version_manifest.json loom_version_manifests=https://bmclapi2.bangbang93.com/mc/game/version_manifest.json
 loom_experimental_versions=https://maven.fabricmc.net/net/minecraft/experimental_versions.json loom_experimental_versions=https://maven.fabricmc.net/net/minecraft/experimental_versions.json
-loom_fabric_repository=https://repository.hanbings.io/proxy/+loom_fabric_repository=https://repository.hanbings.io/proxy/
 </code> </code>
  
-=== Fabric 模组ID变化 ==+===== 配置项目 ===== 
-从 1.19.2 开始,Fabric API 的模组ID由 ''fabric'' 变为 ''fabric-api''。如果需要将 1.19.2 的项目向后移植到旧的版本,需要在 ''fabric.mod.json'' 的 ''depends'' 部分进行相应变更。 +==== IntelliJ IDEA ====
-    +
-=== IntelliJ IDEA ===+
 如果你使用的是 JetBrains 的 IntelliJ IDEA,请遵循以下步骤(注:中文文本可能会因为 IDEA 或中文插件的版本不同而不同): 如果你使用的是 JetBrains 的 IntelliJ IDEA,请遵循以下步骤(注:中文文本可能会因为 IDEA 或中文插件的版本不同而不同):
     - 在 IDEA 的主菜单里选择“打开或导入...(Import Project)”(如果已经打开了一个项目,选择位于顶端的“文件->打开...”)。     - 在 IDEA 的主菜单里选择“打开或导入...(Import Project)”(如果已经打开了一个项目,选择位于顶端的“文件->打开...”)。
Line 51: Line 68:
 **注**:不要运行 ''idea'' 的 gradle 任务,已知它会破坏开发环境。 **注**:不要运行 ''idea'' 的 gradle 任务,已知它会破坏开发环境。
  
-如果你使用 IntelliJ IDEA,你可以使用 [[https://plugins.jetbrains.com/plugin/8327|MinecraftDev 插件]]。该插件支持自动生成 Fabric 项目以及一些与 Mixin 有关的功能,如检查、生成访问器(accessor)和影子(shadow)字段、复制 Mixin 目标参考(JVM 描述符)。你可以在文件(File) → 设置(Settings) → 插件(Plugins)中打开内部插件浏览器,找到并安装这个插件,只需要在搜索框里搜索“Minecraft”,选择第一个结果安装即可。 +=== 安装 Minecraft Developent 插件 ===
  
-**注**:MCDev 插件中的模板会直接使用 loom 的最新不稳定版本请小心使用。+如果你使用 IntelliJ IDEA你可以使用 [[https://plugins.jetbrains.com/plugin/8327|MinecraftDev 插件]]。该插件支持自动生成 Fabric 项目以及一些与 Mixin 有关的功能,如检查、生成访问器(accessor)和影子(shadow)字段、复制 Mixin 目标参考(JVM 描述符)
  
-=== Eclipse ===+你可以在文件(File) → 设置(Settings) → 插件(Plugins)中打开内部插件浏览器,找到并安装这个插件,只需要在搜索框里搜索“Minecraft”,选择第一个结果安装即可。  
 + 
 +对于启动 Minecraft 的开始调试,请看 [[https://docs.fabricmc.net/develop/getting-started/launching-the-game|Fabric Documentations]]。 
 + 
 +==== Eclipse ====
 如果你使用的是 Eclipse,并且想要生成 IDE 的运行设置,请运行 ''gradlew eclipse''。然后,项目就可以作为普通的(非 gradle)的 Eclipse 项目导入你的工作区内,方法就是“文件” — “导入…”菜单,然后“通用” -> “已存在的项目导入工作区”。 如果你使用的是 Eclipse,并且想要生成 IDE 的运行设置,请运行 ''gradlew eclipse''。然后,项目就可以作为普通的(非 gradle)的 Eclipse 项目导入你的工作区内,方法就是“文件” — “导入…”菜单,然后“通用” -> “已存在的项目导入工作区”。
  
-=== Visual Studio Code ===+==== Visual Studio Code ====
 如果你使用的是 Visual Studio Code,请参照[[zh_cn:tutorial:vscode_setup|这篇教程]]。 如果你使用的是 Visual Studio Code,请参照[[zh_cn:tutorial:vscode_setup|这篇教程]]。
  
Line 69: Line 90:
  
 ===== 新手入门 ===== ===== 新手入门 =====
-入门可以先尝试[[zh_cn:tutorial:items|添加一些物品]]和[[zh_cn:tutorial:blocks|方块]]。另外,建议了解一下如何[[zh_cn:tutorial:applychanges|在不重启 Minecraft 的情况下应用更改]],以便调试。+入门可以先尝试[[zh_cn:tutorial:items|添加一些物品]]和[[zh_cn:tutorial:blocks|方块]]。另外,建议了解一下如何[[zh_cn:tutorial:hotswapping|在不重启 Minecraft 的情况下应用更改]],以便调试。
  
 ===== 建议 ===== ===== 建议 =====
Line 88: Line 109:
 有时当 IDE 在导入 Gradle 项目的时候有些游戏素材不会正常下载。如果遇到这种情况则要手动运行 ''downloadAssets'' 任务——既可以使用 IDE 的自带菜单也可以直接执行 ''gradlew downloadAssets'' 有时当 IDE 在导入 Gradle 项目的时候有些游戏素材不会正常下载。如果遇到这种情况则要手动运行 ''downloadAssets'' 任务——既可以使用 IDE 的自带菜单也可以直接执行 ''gradlew downloadAssets''
  
-==== 错误: 找不到或无法加载主类 net.fabricmc.devlaunchinjector.Main / 启动配置中没有指定 SDK” ==== +==== 找不到或无法加载主类 / 没有指定 JDK 模块 ==== 
-这可能是 Intellij IDEA 自近期更新 2023.2 后的一个 bug。要修复这个问题,删除整个 `.idea` 文件夹然后重启 Intellij IDEA 即可。模块会重新构建。你可能需要再次指定 Java 版本。如果重启之后没有运行配置,你可以运行 `gradle ideaSyncTask` 然后再检查一下。+有时运行配置可能无效,报告诸如此类的错误: 
 +  * ''Could not find or load class net.fabricmc.devlaunchinjector.Main: java.lang.ClassNotFoundException''(找不到或无法加载主类) 
 +  * "no JDK module specified" in the run config(运行配置中没有指定 JDK 模块) 
 + 
 +有几种可能的修复方法,其中的一个可能会有效: 
 +  * 如果使用的是 Intellij IDEA,前往“项目结构并选择“模块”标签页,清除所有模块。然后重新加载 gradle 项目。 
 +  这可能是 Intellij IDEA 自近期更新 2023.2 后的一个 bug。要修复,删除整个 `.idea` 文件夹然后重启 Intellij IDEA 即可。模块会重新构建。你可能需要再次指定 Java 版本。如果重启之后没有运行配置,你可以运行 `gradle ideaSyncTask` 然后再检查一下。 
 +  * 如果有子项目,确保你的子项目也被正确配置。如果子项目的 ''build.gradle'' 存在,检查子项目中是否已启用或应用了 ''maven-publish'' gradle 插件。尝试在 ''build.gradle'' 文件中加入 ''apply plugin: maven-publush'',如果还完全没有声明的话。 
 +  * 如果问题还发生,编辑运行配置,尝试指定模块(参数 ''-cp'' 的值)为其他值。 
 + 
 +==== Minecraft game provider couldn't locate the game ==== 
 +有时你可能会遇到下面这样的错误: 
 +  * ''java.lang.ClassNotFoundException: net.fabricmc.loader.impl.launch.knot.KnotClient'' 
 +  * ''java.lang.TypeNotPresentException: Type net/minecraft/util/Identifier not present'' 
 +  * ''java.lang.RuntimeException: Minecraft game provider couldn't locate the game! The game may be absent from the class path, lacks some expected files, suffers from jar corruption or is of an unsupported variety/version.'' 
 + 
 +这可能是因为项目路径有中文字符或其他非 ASCII 字符造成的。可以尝试将项目移到不含中文的路径中,或者在启动参数中(编辑配置),将“Minecraft Client”和“Minecraft Server”启动配置的“缩短命令行”(Shorten command line)由“@argfile (Java 9+)”设为“无”。 
 + 
 +另一个可能的解决办法,是在 Windows 的设置或控制面板中找到“区域设置”,并勾选“Beta 版:使用 Unicode UTF-8 提供全球语言支持”,然后重启。 
 +==== "processResources" 不运行 ====
  
-==== java.lang.ClassNotFoundException: net.fabricmc.loader.impl.launch.knot.KnotClient / java.lang.TypeNotPresentException: Type net/minecraft/util/Identifier not present / java.lang.RuntimeException: Minecraft game provider couldn't locate the game! The game may be absent from the class path, lacks some expected files, suffers from jar corruption or is of an unsupported variety/version. ==== +这可能是因为你使用 Intellij IDEA 构建和运行如果这个问题发生,尝试打开“Gradle Settings”对话框,将“使用此工具构建和运行”和“使用此工具测试”由“IntelliJ IDEA”设为“Gradle(default)”。
-这可能是因为项目路径有中文字符或其他可能造成编码不兼容的字符造成的可以尝试将项目移到不含中文的路径中,或者在启动参数中(编辑配置),将“Minecraft Client”和“Minecraft Server启动配置的“缩短命令行”(Shorten command line)由“@argfile (Java 9+)”设为“”。+
  
 ==== Gradle 无法下载 ==== ==== Gradle 无法下载 ====
zh_cn/tutorial/setup.1717520034.txt.gz · Last modified: 2024/06/04 16:53 by sjk1949