====== 热交换Mixins ====== 默认的 Fabric 环境下无法热交换 mixin。要启用此功能,需要在 VM 选项中指定 ''-javaagent'' 标记。 唯一的先决条件是,有一个 sponge mixin jar 的副本。Fabric 默认会这样做,所以你应该将其位于你的 Gradle 缓存文件夹。IDEA 用户可以看看屏幕左边的项目视图的底部来找到这个库: {{https://i.imgur.com/fUrhss5.png}} 复制 jar 的完整路径到并打开你的运行配置。在 ''Minecraft Client'' 下,展开“VM 选项”标签。你需要在 mixin jar 的路径中设置 ''-javaagent'' 标记: {{https://i.imgur.com/SuW9MlV.png}} 运行游戏。现在你可以重新加载 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 可以正常运行。