Change spectator action type in <= 1.21.1 block interacting

This commit is contained in:
FlorianMichael 2024-10-27 17:18:12 +01:00
parent b37115fa33
commit 9f5f6e8421
No known key found for this signature in database
GPG Key ID: C2FB87E71C425126

View File

@ -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<ActionResult> cir) {
if (ProtocolTranslator.getTargetVersion().betweenInclusive(ProtocolVersion.v1_17, ProtocolVersion.v1_20_5)) {