diff --git a/patches/api/Adds-PlayerArmSwingEvent.patch b/patches/api/Adds-PlayerArmSwingEvent.patch
index 0487f0dde..0c5d3c1a7 100644
--- a/patches/api/Adds-PlayerArmSwingEvent.patch
+++ b/patches/api/Adds-PlayerArmSwingEvent.patch
@@ -49,23 +49,3 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
*/
public class PlayerAnimationEvent extends PlayerEvent implements Cancellable {
private static final HandlerList handlers = new HandlerList();
-@@ -0,0 +0,0 @@ public class PlayerAnimationEvent extends PlayerEvent implements Cancellable {
- *
- * @param player The player instance
- */
-+ @Deprecated // Paper
- public PlayerAnimationEvent(@NotNull final Player player) {
- super(player);
-
- // Only supported animation type for now:
- animationType = PlayerAnimationType.ARM_SWING;
- }
-+ // Paper start
-+ public PlayerAnimationEvent(@NotNull final Player player, @NotNull PlayerAnimationType animationType) {
-+ super(player);
-+ this.animationType = animationType;
-+ }
-+ // Paper end
-
- /**
- * Get the type of this animation event
diff --git a/patches/server/Add-critical-damage-API.patch b/patches/server/Add-critical-damage-API.patch
index d1a0b3798..fcb5dba2d 100644
--- a/patches/server/Add-critical-damage-API.patch
+++ b/patches/server/Add-critical-damage-API.patch
@@ -85,7 +85,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
event.setCancelled(cancelled);
@@ -0,0 +0,0 @@ public class CraftEventFactory {
- cause = DamageCause.THORNS;
+ cause = DamageCause.SONIC_BOOM;
}
- return CraftEventFactory.callEntityDamageEvent(damager, entity, cause, modifiers, modifierFunctions, cancelled);
diff --git a/patches/server/Add-support-for-Proxy-Protocol.patch b/patches/server/Add-support-for-Proxy-Protocol.patch
index ae949371a..019d2f7fd 100644
--- a/patches/server/Add-support-for-Proxy-Protocol.patch
+++ b/patches/server/Add-support-for-Proxy-Protocol.patch
@@ -12,7 +12,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
*/
implementation("org.apache.logging.log4j:log4j-core:2.17.1") // Paper - implementation
annotationProcessor("org.apache.logging.log4j:log4j-core:2.17.1") // Paper - Needed to generate meta for our Log4j plugins
-+ implementation("io.netty:netty-codec-haproxy:4.1.76.Final")
++ implementation("io.netty:netty-codec-haproxy:4.1.77.Final")
// Paper end
implementation("org.apache.logging.log4j:log4j-iostreams:2.17.1") // Paper
implementation("org.apache.logging.log4j:log4j-slf4j18-impl:2.17.1") // Paper
diff --git a/patches/server/Adds-PlayerArmSwingEvent.patch b/patches/server/Adds-PlayerArmSwingEvent.patch
index 64cb23220..147aee98f 100644
--- a/patches/server/Adds-PlayerArmSwingEvent.patch
+++ b/patches/server/Adds-PlayerArmSwingEvent.patch
@@ -12,7 +12,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
}
// Arm swing animation
-- PlayerAnimationEvent event = new PlayerAnimationEvent(this.getCraftPlayer());
+- PlayerAnimationEvent event = new PlayerAnimationEvent(this.getCraftPlayer(), (packet.getHand() == InteractionHand.MAIN_HAND) ? PlayerAnimationType.ARM_SWING : PlayerAnimationType.OFF_ARM_SWING);
+ io.papermc.paper.event.player.PlayerArmSwingEvent event = new io.papermc.paper.event.player.PlayerArmSwingEvent(this.getCraftPlayer(), packet.getHand() == InteractionHand.MAIN_HAND ? org.bukkit.inventory.EquipmentSlot.HAND : org.bukkit.inventory.EquipmentSlot.OFF_HAND); // Paper
this.cserver.getPluginManager().callEvent(event);
diff --git a/patches/server/Setup-Gradle-project.patch b/patches/server/Setup-Gradle-project.patch
index b1d3153d5..e85da1e0d 100644
--- a/patches/server/Setup-Gradle-project.patch
+++ b/patches/server/Setup-Gradle-project.patch
@@ -288,63 +288,63 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
-
- io.netty
- netty-buffer
-- 4.1.76.Final
+- 4.1.77.Final
- compile
-
-
- io.netty
- netty-codec
-- 4.1.76.Final
+- 4.1.77.Final
- compile
-
-
- io.netty
- netty-common
-- 4.1.76.Final
+- 4.1.77.Final
- compile
-
-
- io.netty
- netty-handler
-- 4.1.76.Final
+- 4.1.77.Final
- compile
-
-
- io.netty
- netty-resolver
-- 4.1.76.Final
+- 4.1.77.Final
- compile
-
-
- io.netty
- netty-transport
-- 4.1.76.Final
+- 4.1.77.Final
- compile
-
-
- io.netty
- netty-transport-classes-epoll
-- 4.1.76.Final
+- 4.1.77.Final
- compile
-
-
- io.netty
- netty-transport-native-epoll
-- 4.1.76.Final
+- 4.1.77.Final
- linux-x86_64
- compile
-
-
- io.netty
- netty-transport-native-epoll
-- 4.1.76.Final
+- 4.1.77.Final
- linux-aarch_64
- compile
-
-
- io.netty
- netty-transport-native-unix-common
-- 4.1.76.Final
+- 4.1.77.Final
- compile
-
-
diff --git a/work/Bukkit b/work/Bukkit
index 4b08dbc5c..0a4b84d68 160000
--- a/work/Bukkit
+++ b/work/Bukkit
@@ -1 +1 @@
-Subproject commit 4b08dbc5ce3ddb031df2cff7be350842670f1929
+Subproject commit 0a4b84d68e478de6751678238f1d18200ba51bf9
diff --git a/work/CraftBukkit b/work/CraftBukkit
index 50ef122ef..576a03704 160000
--- a/work/CraftBukkit
+++ b/work/CraftBukkit
@@ -1 +1 @@
-Subproject commit 50ef122ef8f56e7e36860e94e6e0d986165fb30e
+Subproject commit 576a0370445b9c1344b337c02d955142d9004162