From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Martijn Muijsers Date: Sun, 25 Dec 2022 23:33:28 +0100 Subject: [PATCH] Broadcast crit animations as the entity being critted License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) Gale - https://galemc.org This patch is based on the following patch: "Send crit animations as the entity being critted" By: PureGero As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java index 978aa293c771c065a435d564e4355c837678a92b..61e2fc796d49fe45229a1b0cd630355ab7d59883 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -2152,12 +2152,18 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @Override public void crit(Entity target) { - this.serverLevel().getChunkSource().broadcastAndSend(this, new ClientboundAnimatePacket(target, 4)); + // Gale start - MultiPaper - broadcast crit animations as the entity being critted + var level = this.serverLevel(); + level.getChunkSource().broadcastAndSend(level.galeConfig().gameplayMechanics.fixes.broadcastCritAnimationsAsTheEntityBeingCritted ? target : this, new ClientboundAnimatePacket(target, 4)); + // Gale end - MultiPaper - broadcast crit animations as the entity being critted } @Override public void magicCrit(Entity target) { - this.serverLevel().getChunkSource().broadcastAndSend(this, new ClientboundAnimatePacket(target, 5)); + // Gale start - MultiPaper - broadcast crit animations as the entity being critted + var level = this.serverLevel(); + level.getChunkSource().broadcastAndSend(level.galeConfig().gameplayMechanics.fixes.broadcastCritAnimationsAsTheEntityBeingCritted ? target : this, new ClientboundAnimatePacket(target, 5)); + // Gale end - MultiPaper - broadcast crit animations as the entity being critted } @Override diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java index 17b1a7a2e0b557354f0c4ea2f92d9105bcd5cf2c..1efeb37086f5c897f2f1ae1ecdc713f1e3a55ede 100644 --- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java +++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java @@ -106,6 +106,7 @@ public class GaleWorldConfiguration extends ConfigurationPart { public Fixes fixes; public class Fixes extends ConfigurationPart { + public boolean broadcastCritAnimationsAsTheEntityBeingCritted = false; // Gale - MultiPaper - broadcast crit animations as the entity being critted public boolean keepMooshroomRotationAfterShearing = true; // Gale - Purpur - fix cow rotation when shearing mooshroom // Gale start - Purpur - fix MC-238526