User Tools

Site Tools


zh_cn:tutorial:mixin_hotswaps

热交换Mixins

默认的 Fabric 环境下无法热交换 mixin。要启用此功能,需要在 VM 选项中指定 -javaagent 标记。

唯一的先决条件是,有一个 sponge mixin jar 的副本。Fabric 默认会这样做,所以你应该将其位于你的 Gradle 缓存文件夹。IDEA 用户可以看看屏幕左边的项目视图的底部来找到这个库:

复制 jar 的完整路径到并打开你的运行配置。在 Minecraft Client 下,展开“VM 选项”标签。你需要在 mixin jar 的路径中设置 -javaagent 标记:

运行游戏。现在你可以重新加载 mixin,唯需遵守如下常规要求:

  • 不要增删方法
  • 不要更改方法参数
  • 不要增删字段

你还是可以这么做,如果还添加了 VM 选项 -XX:+AllowEnhancedClassRedefinition

如需在 IntelliJ 内重新构建 mixin,使用构建菜单中的重新构建按钮,默认的按键绑定是 Ctrl+Shift+F9

注释

DCEVM 并不官方支持 mixin 热交换:

  • 在Java 1.8:181上运行时,DCEVM和Mixin重载不起作用。
  • 在DCEVM Java 11上运行时,可以重载,但是热交换任务冻结。
  • 在 JetBrains Runtime 的 Java 17 分支(带有 DCEVM)上运行时,Mixin 热交换和 DCEVM 可以正常运行。
zh_cn/tutorial/mixin_hotswaps.txt · Last modified: 2024/08/25 14:25 by solidblock