From 9f5f6e8421e524bcbe0b59e357c13b6c1a15353f Mon Sep 17 00:00:00 2001 From: FlorianMichael Date: Sun, 27 Oct 2024 17:18:12 +0100 Subject: [PATCH] Change spectator action type in <= 1.21.1 block interacting --- .../network/MixinClientPlayerInteractionManager.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/network/MixinClientPlayerInteractionManager.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/network/MixinClientPlayerInteractionManager.java index 4d1b98db..a6628bae 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/network/MixinClientPlayerInteractionManager.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/network/MixinClientPlayerInteractionManager.java @@ -111,6 +111,15 @@ public abstract class MixinClientPlayerInteractionManager implements IClientPlay @Unique private final ClientPlayerInteractionManager1_18_2 viaFabricPlus$1_18_2InteractionManager = new ClientPlayerInteractionManager1_18_2(); + @Redirect(method = "interactBlockInternal", at = @At(value = "FIELD", target = "Lnet/minecraft/util/ActionResult;CONSUME:Lnet/minecraft/util/ActionResult$Success;")) + private ActionResult.Success changeSpectatorAction() { + if (ProtocolTranslator.getTargetVersion().olderThanOrEqualTo(ProtocolVersion.v1_12_1)) { + return ActionResult.SUCCESS; + } else { + return ActionResult.CONSUME; + } + } + @Inject(method = "interactItem", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/network/ClientPlayerInteractionManager;syncSelectedSlot()V", shift = At.Shift.AFTER)) private void sendPlayerPosPacket(PlayerEntity player, Hand hand, CallbackInfoReturnable cir) { if (ProtocolTranslator.getTargetVersion().betweenInclusive(ProtocolVersion.v1_17, ProtocolVersion.v1_20_5)) {