跳到正文

Apugli Mixin Fixer

作者:m1n1m0th

A lightweight mixin compatibility shim for Minecraft 1.20.1 (Fabric) that fixes a crash when using Apugli 2.10.x with Origins 1.10.2 (Apoli 2.9.2).

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

Apugli Fixer

A lightweight mixin compatibility shim for Minecraft 1.20.1 (Fabric) that fixes a crash when using Apugli 2.10.x with Origins 1.10.2 (Apoli 2.9.2).

The Problem

Apugli 2.10.4’s EntityConditionsMixin uses @Redirect to intercept EnchantmentHelper.getLevel() and EnchantmentHelper.getEquipmentLevel() calls inside Apoli’s EntityConditions.lambda$register$47. However, in Apoli 2.9.2, those calls live in lambda$register$45 instead. Lambda method numbers are compiler-generated and shift between Apoli versions, so the redirect finds 0 targets and crashes:

InjectionError: Critical injection failure: Redirector apugli$useModifiedEnchantmentLevelSum
in apugli.fabric.mixins.json:common.EntityConditionsMixin from mod apugli failed injection
check, (0/1) succeeded. Scanned 0 target(s).

The Fix

This mod uses a single @Overwrite mixin (priority 100, applied before Apugli’s redirect at priority 1000) to replace lambda$register$47 with:

  1. The original logic (entity_on_block bientity condition), fully preserved
  2. No-op calls to EnchantmentHelper.getLevel() and EnchantmentHelper.getEquipmentLevel(), which Apugli’s redirect intercepts and replaces with its modified enchantment level system

The result: Apugli’s redirect finds its targets, the game launches, and enchantment-based origin powers work correctly.

Requirements

| Dependency | Version |
|—|—|
| Minecraft | 1.20.1 |
| Fabric Loader | >= 0.14.0 |
| Origins | 1.10.2 (Apoli 2.9.2) |
| Apugli | 2.10.0+ |

How It Works

Mixin priority order when EntityConditions class loads:

100  [Apugli Fixer]   @Overwrite lambda$register$47
                       -> original logic + EnchantmentHelper calls

1000 [Apugli]          @Redirect on those calls
                       -> replaces with ModifyEnchantmentLevelPowerFactory

Result: redirect finds targets, no crash, modified enchantment levels work

License

MIT

常见问题

Apugli Mixin Fixer 支持哪些 Minecraft 版本?

Apugli Mixin Fixer 支持 Minecraft Java 版 1.20.1,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。

Apugli Mixin Fixer 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

m1n1m0th 的其他作品

查看全部 →