让 1.20.1 的 Minecraft(Paper/Spigot)中,弓的无限(Infinity)与修补(Mending)不再冲突,可通过铁砧正常合成到同一把弓上。
- JDK
17 - Maven(或使用现有构建环境)
- 服务端版本:优先 Paper
1.20.1,兼容 Spigot 1.20.1
该项目使用 Gradle 构建。
# Windows
gradlew build
# Linux / macOS
./gradlew build生成的插件位于:build/libs/InfinityMendingCompat-1.0.0.jar
- 将生成的
jar放入服务端plugins/目录 - 重启或加载插件
本项目采用 MIT License 开源。
- 将一把弓与一本附有
无限或修补的附魔书放入铁砧:- 如果弓已有
无限,书含修补,或反之,插件会在铁砧结果中生成同时包含两者的弓。 - 若书同时有
无限与修补,且弓已有其中一个,也会允许合成。
- 如果弓已有
- 重命名:铁砧重命名文本会保留到结果物品上。
- 经验消耗:在原始消耗基础上增加少量(通常 +3;一次加两个约 +6),避免“昂贵过头”。
- 监听
PrepareAnvilEvent:当检测到弓 + 附魔书出现无限与修补组合时,仅对这两个附魔绕过冲突,其他附魔遵循原版冲突规则。 - Paper 环境下尝试设置铁砧
Cost;若不可用则使用 Spigot 的AnvilInventory.setRepairCost。
- 本插件只处理弓(
Material.BOW),不影响其他物品。 - 若其他插件也修改铁砧逻辑,可能需要调整加载顺序或兼容配置。
- 如需扩展到其他物品或更多附魔组合,可在
AnvilListener中按同样方式增加规则。