2021-06-11 12:02:28 +00:00
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: TheMolkaPL <themolkapl@gmail.com>
Date: Sun, 21 Jun 2020 17:21:46 +0200
Subject: [PATCH] Fix interact event not being called in adventure
Call PlayerInteractEvent when left-clicking on a block in adventure mode
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
2022-07-27 18:52:03 +00:00
index 8254c6d3bcff79c9a718c89f8c04c2c2db035a8f..0f7be5c33fbc5e762cf64f9cc0cd8dc502751360 100644
2021-06-11 12:02:28 +00:00
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
2022-06-09 11:55:33 +00:00
@@ -1779,7 +1779,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
2022-06-08 07:30:41 +00:00
MutableComponent ichatmutablecomponent = Component.translatable("build.tooHigh", i - 1).withStyle(ChatFormatting.RED);
2021-06-11 12:02:28 +00:00
2022-06-08 07:30:41 +00:00
this.player.sendSystemMessage(ichatmutablecomponent, ChatType.GAME_INFO);
2022-03-01 05:43:03 +00:00
- } else if (enuminteractionresult.shouldSwing()) {
2022-06-08 07:30:41 +00:00
+ } else if (enuminteractionresult.shouldSwing() && !this.player.gameMode.interactResult) { // Paper
2022-03-01 05:43:03 +00:00
this.player.swing(enumhand, true);
}
}
2022-06-09 11:55:33 +00:00
@@ -2412,7 +2412,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
2021-06-11 12:02:28 +00:00
Vec3 vec3d1 = vec3d.add((double) f7 * d3, (double) f6 * d3, (double) f8 * d3);
2021-06-14 18:50:22 +00:00
HitResult movingobjectposition = this.player.level.clip(new ClipContext(vec3d, vec3d1, ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, this.player));
2021-06-11 12:02:28 +00:00
- if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) {
+ if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK || this.player.gameMode.getGameModeForPlayer() == GameType.ADVENTURE) { // Paper - call PlayerInteractEvent when left-clicking on a block in adventure mode
2021-06-14 18:50:22 +00:00
CraftEventFactory.callPlayerInteractEvent(this.player, Action.LEFT_CLICK_AIR, this.player.getInventory().getSelected(), InteractionHand.MAIN_HAND);
2021-06-11 12:02:28 +00:00
}