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