CoFH Core模组ArcheryEvents.java中handleArrowLooseEvent取消了ArrowLooseEvent事件。我用Mixin取消了后续执行
- @Mixin(value = ArcheryEvents.class, remap = false)
- public class ArcheryEventsMixin {
- @Inject(method = "handleArrowLooseEvent", at = @At("HEAD"), cancellable = true)
- private static void handleArrowLooseEvent(ArrowLooseEvent event, CallbackInfo ci) {
- Player player = event.getPlayer();
- if (CuriosApi.getCuriosHelper().findFirstCurio(player, Registry.ANGELS_SIGHT.get()).isPresent()) ci.cancel();
- }
- }
复制代码 是否有更好的办法实现与上述代码相同的功能 |