RandomPatches (Forge)

RandomPatches (Forge)

56M Downloads

Conflict with Mouse Wheelie: Breaks Toggle Sneak/Sprint

Fourmisain opened this issue ยท 1 comments

commented

Refering to https://github.com/Siphalor/mouse-wheelie/issues/111, specifically https://github.com/Siphalor/mouse-wheelie/issues/111#issuecomment-793531338

Having both Mouse Wheelie and RamdomPatches installed breaks Toggle Sneak and Toggle Sprint completely, meaning you cannot switch the states - as if the key presses are not registering or are blocked somehow.

On this end, I brought it down to this piece of code:

private static void setKeyPressed(InputUtil.Key key, boolean pressed, CallbackInfo info) {
//In vanilla, setPressed is only called on the most recently registered KeyBinding.
keysById.values().stream().filter(keyBinding -> key.equals(
((KeyBindingMixin) (Object) keyBinding).getBoundKey())
).forEach(keyBinding -> keyBinding.setPressed(pressed));
info.cancel();
}

Removing it, "fixes" the issue/conflict.

Setting mixin_blacklist = ["KeyBinding"] inside randompatches.toml is a practical workaround (for default settings) for now.

On Mouse Wheelie's end, I'm not quite sure what's causing the issue, it may have something to do with SortKeyBinding since that uses both shift and control as possible modifiers and it is a PriorityKeyBinding, which given the name suggests it could block other keybindings?

I could be completely mistaken about this, maybe you can shed some light on this?

commented

Update: It's not about Mouse Wheelie directly but about amecs.
Probably related to Siphalor/amecs#31.