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
Last revisionBoth sides next revision
zh_cn:tutorial:setup [2022/07/13 02:14] solidblockzh_cn:tutorial:setup [2024/03/14 04:19] – [手动步骤] solidblock
Line 13: Line 13:
  
 ==== 手动步骤 ==== ==== 手动步骤 ====
-   - 复制 [[https://github.com/FabricMC/fabric-example-mod/|fabric-example-mod]] 中的初始文件(Kotlin 用户也可使用 [[https://github.com/natanfudge/fabric-example-mod-kotlin|Kotlin 版]],此外,若因网速原因而构建时间较长的,也可以使用 [[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|模板生成器]],此外,若因网速原因而构建时间较长的,也可以使用 [[https://github.com/FabricMCCN/fabric-example-mod-cn|使用其他下载源构建的 fabric-example-mod]]),并删除 ''LICENSE''(许可证)及 ''README.md''(简介)文件,因为它们只应用于模板自身,而非你的模组。
    - 编辑 ''gradle.properties'':    - 编辑 ''gradle.properties'':
        * 确保将 ''archives_base_name'' 和 ''maven_group'' 设为你喜欢的值。        * 确保将 ''archives_base_name'' 和 ''maven_group'' 设为你喜欢的值。
Line 24: Line 24:
 运行 Gradle 任务 ''genSources''(生成源文件),如果你的 IDE 不集成 Gradle 支持的话则需要在控制台/终端/命令提示符中输入 ''gradlew genSources''(在 Linux 或 macOS 上则是 ''./gradlew genSources'' 运行 Gradle 任务 ''genSources''(生成源文件),如果你的 IDE 不集成 Gradle 支持的话则需要在控制台/终端/命令提示符中输入 ''gradlew genSources''(在 Linux 或 macOS 上则是 ''./gradlew genSources''
  
-如有需要,可以在 ''gradle.properties'' 中设置镜像源。镜像源可能有时不可用,或者内容更新滞后,因此如需暂时禁镜像下载,可暂时将相关内容注释掉即可。+如有需要,可以在 ''gradle.properties'' 中设置镜像源。镜像源可能有时不可用,或者内容更新滞后,如需使官方源,可暂时将相关内容注释掉即可。BMCLAPI 镜像缓慢时,可使用官方源,或参考[[https://mirrors.cernet.edu.cn/list/bmclapi|校园网联合镜像站]]
  
 <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 ===
-如果你使用的是 IntelliJ IDEA,请遵循以下步骤(注:中文文本可能会因为 IDEA 或中文插件的版本不同而不同)+如果你使用的是 JetBrains 的 IntelliJ IDEA,请遵循以下步骤(注:中文文本可能会因为 IDEA 或中文插件的版本不同而不同)
     - 在 IDEA 的主菜单里选择“打开或导入...(Import Project)”(如果已经打开了一个项目,选择位于顶端的“文件->打开...”)。     - 在 IDEA 的主菜单里选择“打开或导入...(Import Project)”(如果已经打开了一个项目,选择位于顶端的“文件->打开...”)。
     - 选择项目的 ''build.gradle'' 文件以导入项目。     - 选择项目的 ''build.gradle'' 文件以导入项目。
Line 45: Line 48:
     - 在 Gradle 页面里打开“Gradle 设置(Gradle Settings)”     - 在 Gradle 页面里打开“Gradle 设置(Gradle Settings)”
     - 将“使用此工具构建和运行(Build and run using)”和“使用此工具运行测试(Run tests using)”选项改成“IntelliJ IDEA”。     - 将“使用此工具构建和运行(Build and run using)”和“使用此工具运行测试(Run tests using)”选项改成“IntelliJ IDEA”。
-    - 进入 文件(File)-> 项目结构...(Project Structure...)-> 项目(Project)然后将模块编译输出路径(Project compiler output)改成 ''$PROJECT_DIR$/out'' 
  
 不幸的是,目前还不能给“使用此工具构建和运行”和“使用此工具运行测试”设置一个全 IDE 内的默认值,所以这些每创建一个新项目都得重复上述步骤。 不幸的是,目前还不能给“使用此工具构建和运行”和“使用此工具运行测试”设置一个全 IDE 内的默认值,所以这些每创建一个新项目都得重复上述步骤。
Line 52: Line 54:
  
 如果你使用 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”,选择第一个结果安装即可。 
 +
 +**注**:MCDev 插件中的模板会直接使用 loom 的最新不稳定版本,请小心使用。
  
 === Eclipse === === Eclipse ===
Line 72: Line 76:
   * 虽然 Fabric API 并不是必需的,但其最首要的目标是提供游戏引擎所不提供的跨模组兼容性和接口,所以我们**强烈**推荐多使用 Fabric API。本 wiki 上的许多教程也会默认使用 Fabric API。   * 虽然 Fabric API 并不是必需的,但其最首要的目标是提供游戏引擎所不提供的跨模组兼容性和接口,所以我们**强烈**推荐多使用 Fabric API。本 wiki 上的许多教程也会默认使用 Fabric API。
   * 随着 fabric-loom(我们的Gradle构建插件)的开发和改动,有些时候你可能会遇上一些通过重置 Gradle 缓存才能解决的问题。使用 ''gradlew cleanloom'' 便能清理缓存,而 ''gradlew %%--%%stop'' 则能帮助你解决一些其他疑难杂症。   * 随着 fabric-loom(我们的Gradle构建插件)的开发和改动,有些时候你可能会遇上一些通过重置 Gradle 缓存才能解决的问题。使用 ''gradlew cleanloom'' 便能清理缓存,而 ''gradlew %%--%%stop'' 则能帮助你解决一些其他疑难杂症。
 +  * 保持跟进到最新的 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 版本依赖不同的 Java 版本。通常而言最新的 Gradle 建议使用 Java 17。
 +  * 如果你在为旧版本开发 Minecraft,除了修改 ''gradle.properties'' 外,你还需要修改 ''build.gradle'' 和 mixin 配置中更改 Java 兼容性版本。
   * 问问题不要犹豫,有问题就问,总有人会帮你解决的。(笑   * 问问题不要犹豫,有问题就问,总有人会帮你解决的。(笑
  
Line 79: Line 87:
 有时当 IDE 在导入 Gradle 项目的时候有些游戏素材不会正常下载。如果遇到这种情况则要手动运行 ''downloadAssets'' 任务——既可以使用 IDE 的自带菜单也可以直接执行 ''gradlew downloadAssets'' 有时当 IDE 在导入 Gradle 项目的时候有些游戏素材不会正常下载。如果遇到这种情况则要手动运行 ''downloadAssets'' 任务——既可以使用 IDE 的自带菜单也可以直接执行 ''gradlew downloadAssets''
  
 +==== 错误: 找不到或无法加载主类 net.fabricmc.devlaunchinjector.Main / 启动配置中“没有指定 SDK” ====
 +这可能是 Intellij IDEA 自近期更新 2023.2 后的一个 bug。要修复这个问题,删除整个 `.idea` 文件夹然后重启 Intellij IDEA 即可。模块会重新构建。你可能需要再次指定 Java 版本。如果重启之后没有运行配置,你可以运行 `gradle ideaSyncTask` 然后再检查一下。
 +
 +==== 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)设为“无”。
 +
 +===== 接下来? =====
 +创建你的第一个[[items|物品]]。
zh_cn/tutorial/setup.txt · Last modified: 2024/04/15 00:36 by solidblock