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
zh_cn:tutorial:setup [2024/03/14 04:19] – [手动步骤] solidblockzh_cn:tutorial:setup [2024/04/15 00:36] (current) solidblock
Line 2: Line 2:
  
 ===== 前置 ===== ===== 前置 =====
-   * Java 17(推荐)的 JDK(即用于开发 Java 的工具,安装器可参考 [[https://adoptium.net/releases.html]]。+   * Java 21(推荐用于 1.20.5)的 JDK(即用于开发 Java 的工具,安装器可参考 [[https://adoptium.net/releases.html]]。
        * 专业用户可以从 [[http://jdk.java.net/]] 获取JDK,注意需要手动解压并设置系统变量。        * 专业用户可以从 [[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]]。    * 任意 IDE(集成开发环境):如 [[https://www.jetbrains.com/idea/download/#section=windows|IntelliJ IDEA]] 和 [[https://www.eclipse.org/downloads/|Eclipse]],也可使用任何可编辑代码的文本编辑器,如 [[https://code.visualstudio.com/|Visual Studio Code]]。
Line 13: Line 13:
  
 ==== 手动步骤 ==== ==== 手动步骤 ====
-   - 复制 [[https://github.com/FabricMC/fabric-example-mod/|fabric-example-mod]] 中的初始文件(Kotlin 用户或需要其他功能的也可使用 [[https://fabricmc.net/develop/template/|the template generator|模板生成器]],此外,若因网速原因而构建时间较长的,也可以使用 [[https://github.com/FabricMCCN/fabric-example-mod-cn|使用其他下载源构建的 fabric-example-mod]]),并删除 ''LICENSE''(许可证)及 ''README.md''(简介)文件,因为它们只应用于模板自身,而非你的模组。+   - 复制 [[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'' 设为你喜欢的值。
Line 20: Line 20:
    - 将 ''build.gradle'' 导入到你的 IDE 中(各 IDE 操作各有不同,具体见下)    - 将 ''build.gradle'' 导入到你的 IDE 中(各 IDE 操作各有不同,具体见下)
    - 配置完成!祝武运昌隆(bushi    - 配置完成!祝武运昌隆(bushi
- 
-你也可以生成MC的源文件来作为参考(不过 IDEA 已经自带反编译功能,所以生成不生成都随意): 
-运行 Gradle 任务 ''genSources''(生成源文件),如果你的 IDE 不集成 Gradle 支持的话则需要在控制台/终端/命令提示符中输入 ''gradlew genSources''(在 Linux 或 macOS 上则是 ''./gradlew genSources'' 
  
 如有需要,可以在 ''gradle.properties'' 中设置镜像源。镜像源可能有时不可用,或者内容更新滞后,如需使用官方源,可暂时将相关内容注释掉即可。BMCLAPI 镜像缓慢时,可使用官方源,或参考[[https://mirrors.cernet.edu.cn/list/bmclapi|校园网联合镜像站]]。 如有需要,可以在 ''gradle.properties'' 中设置镜像源。镜像源可能有时不可用,或者内容更新滞后,如需使用官方源,可暂时将相关内容注释掉即可。BMCLAPI 镜像缓慢时,可使用官方源,或参考[[https://mirrors.cernet.edu.cn/list/bmclapi|校园网联合镜像站]]。
Line 51: Line 48:
 不幸的是,目前还不能给“使用此工具构建和运行”和“使用此工具运行测试”设置一个全 IDE 内的默认值,所以这些每创建一个新项目都得重复上述步骤。 不幸的是,目前还不能给“使用此工具构建和运行”和“使用此工具运行测试”设置一个全 IDE 内的默认值,所以这些每创建一个新项目都得重复上述步骤。
  
-**注:*千万* **不要运行 ''idea'' 的 gradle 任务,已知它会破坏开发环境。+**注**不要运行 ''idea'' 的 gradle 任务,已知它会破坏开发环境。
  
 如果你使用 IntelliJ IDEA,你可以使用 [[https://plugins.jetbrains.com/plugin/8327|MinecraftDev 插件]]。该插件支持自动生成 Fabric 项目以及一些与 Mixin 有关的功能,如检查、生成访问器(accessor)和影子(shadow)字段、复制 Mixin 目标参考(JVM 描述符)。你可以在文件(File) → 设置(Settings) → 插件(Plugins)中打开内部插件浏览器,找到并安装这个插件,只需要在搜索框里搜索“Minecraft”,选择第一个结果安装即可。  如果你使用 IntelliJ IDEA,你可以使用 [[https://plugins.jetbrains.com/plugin/8327|MinecraftDev 插件]]。该插件支持自动生成 Fabric 项目以及一些与 Mixin 有关的功能,如检查、生成访问器(accessor)和影子(shadow)字段、复制 Mixin 目标参考(JVM 描述符)。你可以在文件(File) → 设置(Settings) → 插件(Plugins)中打开内部插件浏览器,找到并安装这个插件,只需要在搜索框里搜索“Minecraft”,选择第一个结果安装即可。 
Line 68: Line 65:
 要生成 Minecrat 源代码,运行 gradle 任务 ''genSources''。如果你的 IDE 没有嵌入 gradle,在终端内运行以下命令:''./gradlew genSources''。反编译可能需要一段时间,取决于计算机的能力。你可能需要在运行任务之后刷新 gradle。 要生成 Minecrat 源代码,运行 gradle 任务 ''genSources''。如果你的 IDE 没有嵌入 gradle,在终端内运行以下命令:''./gradlew genSources''。反编译可能需要一段时间,取决于计算机的能力。你可能需要在运行任务之后刷新 gradle。
  
-如何阅读源代码,可参考[[zh_cn:tutorial:reading_mc_code|此教程]]。+如何阅读源代码,可参考[[zh_cn:tutorial:reading_mc_code|阅读 Minecraft 源代码]]。
  
 ===== 新手入门 ===== ===== 新手入门 =====
Line 78: Line 75:
   * 保持跟进到最新的 Loom 版本(Loom 版本是在 ''build.gradle'' 中定义的),以及 Fabric Loader 和 Fabric API 的版本(这是在 ''build.gradle'' 或者 ''gradle.properties'' 中定义的)。最新的版本可以在 [[https://fabricmc.net/develop/]] 中找到。即使是旧的 Minecraft 版本,最新的 Loom 和 Fabric Loader 也会支持。   * 保持跟进到最新的 Loom 版本(Loom 版本是在 ''build.gradle'' 中定义的),以及 Fabric Loader 和 Fabric API 的版本(这是在 ''build.gradle'' 或者 ''gradle.properties'' 中定义的)。最新的版本可以在 [[https://fabricmc.net/develop/]] 中找到。即使是旧的 Minecraft 版本,最新的 Loom 和 Fabric Loader 也会支持。
   * 保持跟进到最新的 Gradle 版本,这是在 ''gradle/wrapper/gradle-wrapper.properties'' 中定义的。最新的 Gradle 也可以用于开发旧的 Minecraft 版本。   * 保持跟进到最新的 Gradle 版本,这是在 ''gradle/wrapper/gradle-wrapper.properties'' 中定义的。最新的 Gradle 也可以用于开发旧的 Minecraft 版本。
-    * 不同的 Gradle 版本依赖不同的 Java 版本。通常而言最新的 Gradle 建议使用 Java 17+    * 不同的 Gradle 版本依赖不同的 Java 版本。
   * 如果你在为旧版本开发 Minecraft,除了修改 ''gradle.properties'' 外,你还需要修改 ''build.gradle'' 和 mixin 配置中更改 Java 兼容性版本。   * 如果你在为旧版本开发 Minecraft,除了修改 ''gradle.properties'' 外,你还需要修改 ''build.gradle'' 和 mixin 配置中更改 Java 兼容性版本。
   * 问问题不要犹豫,有问题就问,总有人会帮你解决的。(笑   * 问问题不要犹豫,有问题就问,总有人会帮你解决的。(笑
  
 ===== 故障诊断 ===== ===== 故障诊断 =====
 +
 +==== "no usages" on every method ====
 +在运行 Intellij IDEA 的 ''genSources'' gradle 任务后,检查源代码是否被正确添加。打开一个 Minecraft .class 文件,点击屏幕右上方的“选择源……”按钮。选择在结尾有“-sources”的jar。
  
 ==== 缺少声音 ==== ==== 缺少声音 ====
Line 91: Line 91:
  
 ==== 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. ==== ==== 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. ====
-这可能是因为项目路径有中文字符或其他可能造成编码不兼容的字符造成的。可以尝试将项目移到不含中文的路径中,或者在启动参数中(编辑配置),将“Minecraft Client”和“Minecraft Server”启动配置的“缩短命令行”(Shorten command line)设为“无”。+这可能是因为项目路径有中文字符或其他可能造成编码不兼容的字符造成的。可以尝试将项目移到不含中文的路径中,或者在启动参数中(编辑配置),将“Minecraft Client”和“Minecraft Server”启动配置的“缩短命令行”(Shorten command line)由“@argfile (Java 9+)”设为“无”。
  
 ===== 接下来? ===== ===== 接下来? =====
 创建你的第一个[[items|物品]]。 创建你的第一个[[items|物品]]。
zh_cn/tutorial/setup.txt · Last modified: 2024/04/15 00:36 by solidblock