9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-21 07:59:26 +00:00
Files
Leaf/leaf-server/minecraft-patches/features/0018-Better-checking-for-useless-move-packets.patch
Dreeam acc71b20a9 Updated Upstream (Paper/Purpur)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@89cdcba5 [ci/skip] Replace wiki mention for BlockType#isOccluding (#12446)
PaperMC/Paper@5f0b8292 Re-add chunk position check to regionfile recalculation patch
PaperMC/Paper@04b91129 Update projects dependents GitHub Action (#12436)
PaperMC/Paper@def0532f Fix writing headers and update to be more papery (#12459)
PaperMC/Paper@d22644aa Expand cooldown API (#12435)
PaperMC/Paper@df429932 Fix floating warning log when the kick event is canceled (#12374)
PaperMC/Paper@a820bdae [ci/skip] Some javadoc fixes
PaperMC/Paper@55f20209 Fix CCE in LingeringPotionSplashEvent (#12463)
PaperMC/Paper@1410a22b Fix passengers sending when riding players
PaperMC/Paper@767868dd Fix some components (#12457)
PaperMC/Paper@9cddf136 Fix portal create event block list (#12373)
PaperMC/Paper@a112d370 Fix horse_variant and tropical_fish_pattern (#12472)
PaperMC/Paper@a211ac2e Remove unused warning (#12478)
PaperMC/Paper@ae512811 Add isSuffocating to Block and BlockState (#12445)
PaperMC/Paper@3409e2d7 Mace was not included in the ENCHANTABLE MaterialSetTag (#12476)
PaperMC/Paper@1cfc96bc Add keyStream() API to registries (#12479)
PaperMC/Paper@3222985e [ci/skip] Rebuild patches
PaperMC/Paper@deaccd2c [ci/skip] Add file reference url to help.yml (#12481)
PaperMC/Paper@f86b4352 Add vault change state event (#12069)
PaperMC/Paper@3e3b42cd Update player chat session sync (#12382)
PaperMC/Paper@f8fa4f6f Add method to retrieve FishHook (#12310)
PaperMC/Paper@b9d3147d Use correct placed block position for sound (#12410)
PaperMC/Paper@952338b3 [ci/skip] Add missing exception docs to Player#listPlayer (#12488)
PaperMC/Paper@1db37853 [ci/skip] improve javadoc for off-hand swaps through getHotbarButton (#12489)
PaperMC/Paper@d1810f24 Allow Server#getDefaultGameMode before worlds are initialized (#12490)
PaperMC/Paper@02d20ff7 Fix NPE in Server#getMap before worlds are loaded (#12492)
PaperMC/Paper@9e873f50 Fix inconsistencies between offline/online spawn position getter (#11960)
PaperMC/Paper@fc0c3717 Fix handling of resultant crafting container from craftItemResult (#12307)
PaperMC/Paper@a7a76c8f Add methods for Armadillo (#12031)
PaperMC/Paper@a74400d9 Update adventure to 4.21.0 (#12499)
PaperMC/Paper@1e930763 Fix ipv6 loopback addresses being able to get connection throttled (#12155)
PaperMC/Paper@646b80ca Fix unnecessary map data saves (#12296)
PaperMC/Paper@e663f999 Add combat tracker API (#11853)
PaperMC/Paper@cd4fe5b7 [ci/skip] Drop non-applicable ATs (#12498)
PaperMC/Paper@5acfdd6a Fix save/load NaN Entity Motion (#12269)
PaperMC/Paper@2754d7c3 Add Throw EntityChangeBlockEvent for BrushableBlockEntity#brush (#12133)
PaperMC/Paper@567f63ae Parity for respawn events (#11792)
PaperMC/Paper@bc3d946f Normalizes CraftEntity#toString/getHandle (#12170)
PaperMC/Paper@0e9b94d5 Fix ItemStack amount issues with Chat Components (#12216)
PaperMC/Paper@835b9559 Add a method on InventoryView to get the MenuType (#12193)
PaperMC/Paper@c9411bfb Fix min ItemStack amount check for asHoverEvent (#12505)
PaperMC/Paper@1acf3b38 Infer block entity data in brigadier blockstate argument (#12197)
PaperMC/Paper@b9b3cd65 Use components instead of ChatColor in more places  (#12507)
PaperMC/Paper@ec421715 Add missing spaces back (#12508)

Purpur Changes:
PurpurMC/Purpur@c3870bda Updated Upstream (Paper)
PurpurMC/Purpur@8b5044e0 [ci/skip] add idea project icon
PurpurMC/Purpur@f2f682fb Updated Upstream (Paper)
PurpurMC/Purpur@bdeba761 Updated Upstream (Paper)
PurpurMC/Purpur@96f5b044 drop void damage height/damage migration
PurpurMC/Purpur@6cc78b63 Updated Upstream (Paper)
PurpurMC/Purpur@4ce97c1d [ci/skip] Update occurences of version numbers to 1.21.5 (#1658)
PurpurMC/Purpur@7f5c4036 Updated Upstream (Paper)
PurpurMC/Purpur@4fdf1d11 Updated Upstream (Paper)
PurpurMC/Purpur@8c77678e Updated Upstream (Paper)
2025-05-02 03:10:20 -04:00

74 lines
3.9 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martijn Muijsers <martijnmuijsers@live.nl>
Date: Wed, 23 Nov 2022 22:26:37 +0100
Subject: [PATCH] Better checking for useless move packets
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:
"Better checking for useless move packets"
By: Paul Sauve <paul@technove.co>
As part of: Airplane (https://github.com/TECHNOVE/Airplane)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
* Airplane copyright *
Airplane
Copyright (C) 2020 Technove LLC
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/net/minecraft/server/level/ServerEntity.java b/net/minecraft/server/level/ServerEntity.java
index b118e91f1e0b5a8b8c0b2a4a32faabc5a34a5954..0db57c334bef3b6473ae1b734f953e150862eab5 100644
--- a/net/minecraft/server/level/ServerEntity.java
+++ b/net/minecraft/server/level/ServerEntity.java
@@ -189,19 +189,25 @@ public class ServerEntity {
packet = ClientboundEntityPositionSyncPacket.of(this.entity);
flag3 = true;
flag4 = true;
- } else if ((!flag2 || !flag) && !(this.entity instanceof AbstractArrow)) {
- if (flag2) {
- packet = new ClientboundMoveEntityPacket.Pos(this.entity.getId(), (short)l, (short)l1, (short)l2, this.entity.onGround());
- flag3 = true;
- } else if (flag) {
- packet = new ClientboundMoveEntityPacket.Rot(this.entity.getId(), b, b1, this.entity.onGround());
- flag4 = true;
- }
+ // Gale start - Airplane - better checking for useless move packets
} else {
- packet = new ClientboundMoveEntityPacket.PosRot(this.entity.getId(), (short)l, (short)l1, (short)l2, b, b1, this.entity.onGround());
- flag3 = true;
- flag4 = true;
+ if (flag2 || flag || this.entity instanceof AbstractArrow) {
+ if ((!flag2 || !flag) && !(this.entity instanceof AbstractArrow)) {
+ if (flag2) {
+ packet = new ClientboundMoveEntityPacket.Pos(this.entity.getId(), (short) l, (short) l1, (short) l2, this.entity.onGround());
+ flag3 = true;
+ } else if (flag) {
+ packet = new ClientboundMoveEntityPacket.Rot(this.entity.getId(), b, b1, this.entity.onGround());
+ flag4 = true;
+ }
+ } else {
+ packet = new ClientboundMoveEntityPacket.PosRot(this.entity.getId(), (short) l, (short) l1, (short) l2, b, b1, this.entity.onGround());
+ flag3 = true;
+ flag4 = true;
+ }
+ }
}
+ // Gale end - Airplane - better checking for useless move packets
if (this.entity.hasImpulse || this.trackDelta || this.entity instanceof LivingEntity && ((LivingEntity)this.entity).isFallFlying()) {
Vec3 deltaMovement = this.entity.getDeltaMovement();