mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-28 03:19:21 +00:00
ClassInstanceMultiMap belongs to Minecraft vanilla entity storage. And is unused, since replaced by spottedleaf's entity storage (rewrite chunk system). However these patches might be useful for vanilla entity storage if is used.
38 lines
3.0 KiB
Diff
38 lines
3.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Taiyou06 <kaandindar21@gmail.com>
|
|
Date: Sun, 11 May 2025 19:45:58 +0200
|
|
Subject: [PATCH] Flush location while knockback
|
|
|
|
|
|
diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java
|
|
index 78dc237d5de38cff9f013d36da9bbb16104dec96..2dcc4446f898124dfc9134f9fae892167256d724 100644
|
|
--- a/net/minecraft/world/entity/player/Player.java
|
|
+++ b/net/minecraft/world/entity/player/Player.java
|
|
@@ -1363,6 +1363,13 @@ public abstract class Player extends LivingEntity {
|
|
}
|
|
|
|
if (!cancelled) {
|
|
+ // Leaf start - Flush location while knockback
|
|
+ if (org.dreeam.leaf.config.modules.gameplay.Knockback.flushKnockback && target instanceof ServerPlayer targetPlayer && this instanceof ServerPlayer player1) {
|
|
+ targetPlayer.connection.send(net.minecraft.network.protocol.game.ClientboundEntityPositionSyncPacket.of(this));
|
|
+ player1.connection.send(new net.minecraft.network.protocol.game.ClientboundSetEntityMotionPacket(targetPlayer));
|
|
+ player1.connection.send(net.minecraft.network.protocol.game.ClientboundEntityPositionSyncPacket.of(targetPlayer));
|
|
+ }
|
|
+ // Leaf end - Flush location while knockback
|
|
((ServerPlayer)target).connection.send(new ClientboundSetEntityMotionPacket(target));
|
|
target.hurtMarked = false;
|
|
target.setDeltaMovement(deltaMovement);
|
|
@@ -1431,6 +1438,12 @@ public abstract class Player extends LivingEntity {
|
|
}
|
|
|
|
this.causeFoodExhaustion(this.level().spigotConfig.combatExhaustion, org.bukkit.event.entity.EntityExhaustionEvent.ExhaustionReason.ATTACK); // CraftBukkit - EntityExhaustionEvent // Spigot - Change to use configurable value
|
|
+ // Leaf start - Flush location while knockback
|
|
+ if (org.dreeam.leaf.config.modules.gameplay.Knockback.flushKnockback && this instanceof ServerPlayer player1 && target instanceof ServerPlayer target1) {
|
|
+ target1.connection.connection.flushChannel();
|
|
+ player1.connection.connection.flushChannel();
|
|
+ }
|
|
+ // Leaf end - Flush location while knockback
|
|
} else {
|
|
sendSoundEffect(this, this.getX(), this.getY(), this.getZ(), SoundEvents.PLAYER_ATTACK_NODAMAGE, this.getSoundSource(), 1.0F, 1.0F); // Paper - send while respecting visibility
|
|
this.containerMenu.sendAllDataToRemote(); // CraftBukkit - resync on cancelled event
|