From fdadeb897f1821d113d05bb27c087929f18ec234 Mon Sep 17 00:00:00 2001 From: Cryptite Date: Fri, 23 Jun 2023 09:34:58 -0500 Subject: [PATCH] Patch updates --- .../api/0006-Add-World-Instance-flag.patch | 4 +- patches/api/0010-Smooth-Teleports.patch | 4 +- patches/api/0011-AntiXray-Bypass.patch | 4 +- .../0012-Add-PlayerPreChunkLoadEvent.patch | 4 +- .../api/0013-Equipment-Packet-Caching.patch | 4 +- patches/server/0001-Build-Changes.patch | 14 ++-- ...-Set-BlockData-without-light-updates.patch | 12 ++-- ...04-Add-provided-Material-to-getDrops.patch | 6 +- .../server/0006-Add-World-Instance-flag.patch | 4 +- ...08-Add-PlayerGetRespawnLocationEvent.patch | 4 +- ...9-Set-multiple-team-settings-at-once.patch | 4 +- patches/server/0010-Smooth-Teleports.patch | 8 +-- ...bility-changes-for-equipment-updates.patch | 4 +- patches/server/0013-AntiXray-Bypass.patch | 6 +- .../0014-Add-PlayerPreChunkLoadEvent.patch | 6 +- ...t-send-fire-packets-if-player-has-FR.patch | 4 +- .../server/0020-PlayerLoadStatsEvent.patch | 4 +- .../0023-noEntityCollisions-for-Entity.patch | 4 +- ...-Allow-inventory-clicks-in-Spectator.patch | 4 +- ...029-Packet-obfuscation-and-reduction.patch | 18 ++--- patches/server/0031-Shared-Data-Storage.patch | 16 ++--- .../0032-Equipment-Packet-Caching.patch | 12 ++-- .../0033-Add-canDespawn-to-Warden.patch | 66 +++++++++++++++++++ 23 files changed, 141 insertions(+), 75 deletions(-) create mode 100644 patches/server/0033-Add-canDespawn-to-Warden.patch diff --git a/patches/api/0006-Add-World-Instance-flag.patch b/patches/api/0006-Add-World-Instance-flag.patch index 5c5ae4a2b..db0e28bd9 100644 --- a/patches/api/0006-Add-World-Instance-flag.patch +++ b/patches/api/0006-Add-World-Instance-flag.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add World Instance flag diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index c1827f97e9255e72c082548c8b2782e39f1ebb8c..c89a373233f48da4ea8baed39ccc72a0deb5bb7c 100644 +index 6917931966377c51db88a3364997a110dd987970..792b1b4ea3330b282961844d48b2dc56e0201c7e 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -2555,6 +2555,11 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -2573,6 +2573,11 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient */ public void setAutoSave(boolean value); diff --git a/patches/api/0010-Smooth-Teleports.patch b/patches/api/0010-Smooth-Teleports.patch index fa48d48cb..9bd4d2718 100644 --- a/patches/api/0010-Smooth-Teleports.patch +++ b/patches/api/0010-Smooth-Teleports.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Smooth Teleports diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 1e5e757b1e3bd02e595020704d14244330555bf0..895e1b57709edfbed7db3ed2d9e49baee663dbcf 100644 +index 06f00d016f1e46edb8f4fe0c14eb8b364900c3ef..bff6dcf37d451e1521737326d255082cb0e32ad6 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2956,6 +2956,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2999,6 +2999,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM String getClientBrandName(); // Paper end diff --git a/patches/api/0011-AntiXray-Bypass.patch b/patches/api/0011-AntiXray-Bypass.patch index 4daf6e711..e0f341f9b 100644 --- a/patches/api/0011-AntiXray-Bypass.patch +++ b/patches/api/0011-AntiXray-Bypass.patch @@ -5,10 +5,10 @@ Subject: [PATCH] AntiXray Bypass diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 895e1b57709edfbed7db3ed2d9e49baee663dbcf..1897af7e036483932924465719b6ab602be72a7f 100644 +index bff6dcf37d451e1521737326d255082cb0e32ad6..c84fbb2e325e019b20fbfae8beb2235016479fda 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2761,6 +2761,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2804,6 +2804,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ boolean hasResourcePack(); diff --git a/patches/api/0012-Add-PlayerPreChunkLoadEvent.patch b/patches/api/0012-Add-PlayerPreChunkLoadEvent.patch index 3b7a46178..5f322a2bc 100644 --- a/patches/api/0012-Add-PlayerPreChunkLoadEvent.patch +++ b/patches/api/0012-Add-PlayerPreChunkLoadEvent.patch @@ -81,10 +81,10 @@ index 0000000000000000000000000000000000000000..b5cc9538a70c7ce0b494d4878d51b521 +} \ No newline at end of file diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index c89a373233f48da4ea8baed39ccc72a0deb5bb7c..e3b8f58492863b0ccbef2e3061d1fc6052ea86c3 100644 +index 792b1b4ea3330b282961844d48b2dc56e0201c7e..a2b42e723fd7989b410e8c90f235ce38bd1bae45 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -482,6 +482,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -500,6 +500,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient //@Deprecated // Paper public boolean refreshChunk(int x, int z); diff --git a/patches/api/0013-Equipment-Packet-Caching.patch b/patches/api/0013-Equipment-Packet-Caching.patch index 12f2331a8..0907aa330 100644 --- a/patches/api/0013-Equipment-Packet-Caching.patch +++ b/patches/api/0013-Equipment-Packet-Caching.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Equipment Packet Caching diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index ffca32ae2464ea5a669029079a50585ca259a4f8..283b71fc6f74790827d1af9d5ad05eea66df8e4c 100644 +index 9712f7140933d7fc87c5838c173e2d818b70cfde..d7810b4285ed2b5f51285e740af5d03f5b67144f 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -1150,4 +1150,11 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1159,4 +1159,11 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource */ void setBodyYaw(float bodyYaw); // Paper end diff --git a/patches/server/0001-Build-Changes.patch b/patches/server/0001-Build-Changes.patch index a3ba6476e..e4b85d825 100644 --- a/patches/server/0001-Build-Changes.patch +++ b/patches/server/0001-Build-Changes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Build Changes diff --git a/build.gradle.kts b/build.gradle.kts -index e7a03ea1dab56e7725f718da0b44c736018ac995..9387d8fdb70e882104155abb284cba129d20585e 100644 +index 6d3d573ffc118e7f4d76422dc014a7df0384bb49..6e5a7cd4028d38126632390e129c005dae158877 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,8 +7,12 @@ plugins { @@ -23,7 +23,7 @@ index e7a03ea1dab56e7725f718da0b44c736018ac995..9387d8fdb70e882104155abb284cba12 // Paper start implementation("org.jline:jline-terminal-jansi:3.21.0") implementation("net.minecrell:terminalconsoleappender:1.3.0") -@@ -62,7 +66,7 @@ tasks.jar { +@@ -64,7 +68,7 @@ tasks.jar { attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", @@ -32,7 +32,7 @@ index e7a03ea1dab56e7725f718da0b44c736018ac995..9387d8fdb70e882104155abb284cba12 "Implementation-Vendor" to date, // Paper "Specification-Title" to "Bukkit", "Specification-Version" to project.version, -@@ -134,7 +138,7 @@ fun TaskContainer.registerRunTask( +@@ -136,7 +140,7 @@ fun TaskContainer.registerRunTask( name: String, block: JavaExec.() -> Unit ): TaskProvider = register(name) { @@ -42,10 +42,10 @@ index e7a03ea1dab56e7725f718da0b44c736018ac995..9387d8fdb70e882104155abb284cba12 standardInput = System.`in` workingDir = rootProject.layout.projectDirectory diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index fb82bb52f219e7683fe1d3c0fb3acbe2251de8d4..53188d488936c0ab97ed5dea558831c8ced4cd0d 100644 +index 912affb0ab1c4c40f7a655194e95ec6f0ebf1fcd..d15b822d7b12691608a3890d87b09c7562f91958 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1681,7 +1681,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop getDrops(ItemStack item, Entity entity) { @@ -28,7 +28,7 @@ index a3baff85fe4df96602a2972082e6a6278eaef939..7164c583f0f15dab3b70376048b636ea net.minecraft.world.item.ItemStack nms = CraftItemStack.asNMSCopy(item); // Modelled off EntityHuman#hasBlock -@@ -629,6 +640,7 @@ public class CraftBlock implements Block { +@@ -627,6 +638,7 @@ public class CraftBlock implements Block { return Collections.emptyList(); } } diff --git a/patches/server/0006-Add-World-Instance-flag.patch b/patches/server/0006-Add-World-Instance-flag.patch index 3c554dc0e..00a00782a 100644 --- a/patches/server/0006-Add-World-Instance-flag.patch +++ b/patches/server/0006-Add-World-Instance-flag.patch @@ -17,10 +17,10 @@ index 18aac3da3c88f33b1a71a5920a8daa27e9723913..af0720fb8bd334aac5493121c6373d87 public static Throwable getAddToWorldStackTrace(Entity entity) { final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date()); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 89514af7f3771db496e7e2a40fa4e7fdf527f095..347becd2658a257a7253edccf62fb5923da28b29 100644 +index 1a481fb4f4228f0fea8a7dc6132248c98b727c90..836bdbf4a4742f0cce0f9612d694db03305c7a00 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1263,6 +1263,18 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1268,6 +1268,18 @@ public class CraftWorld extends CraftRegionAccessor implements World { world.noSave = !value; } diff --git a/patches/server/0008-Add-PlayerGetRespawnLocationEvent.patch b/patches/server/0008-Add-PlayerGetRespawnLocationEvent.patch index 4147c15b9..921741325 100644 --- a/patches/server/0008-Add-PlayerGetRespawnLocationEvent.patch +++ b/patches/server/0008-Add-PlayerGetRespawnLocationEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerGetRespawnLocationEvent diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 683b5d78f9e3dc34e40c54683f64be32317797ac..aaa6283dec4570caf4c195059b44cc11e600d2ed 100644 +index fff7ad7a45f310783ac96b44575ad3db13d537fa..04d8f26e760e893ed9b30f6fc56e6753871d1d47 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -844,49 +844,57 @@ public abstract class PlayerList { +@@ -845,49 +845,57 @@ public abstract class PlayerList { // CraftBukkit start - fire PlayerRespawnEvent if (location == null) { diff --git a/patches/server/0009-Set-multiple-team-settings-at-once.patch b/patches/server/0009-Set-multiple-team-settings-at-once.patch index e357e2e47..18aac7c20 100644 --- a/patches/server/0009-Set-multiple-team-settings-at-once.patch +++ b/patches/server/0009-Set-multiple-team-settings-at-once.patch @@ -106,10 +106,10 @@ index 9464054912e19fc78dd965b71fce20a18564b351..1624a0f8ea211a4c43fd01612674ca50 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java -index 67efb0d38ae369ff5254f7b1ec85d32d4eee8291..e4110e3a60242b958c9983a090b28aae540b2bdf 100644 +index 7098b77fe4275e39694ed7d8fb031b9397302b9f..910f6ae45f595a1ba036634467348ff7a7449449 100644 --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java -@@ -347,6 +347,37 @@ final class CraftTeam extends CraftScoreboardComponent implements Team { +@@ -346,6 +346,37 @@ final class CraftTeam extends CraftScoreboardComponent implements Team { } } diff --git a/patches/server/0010-Smooth-Teleports.patch b/patches/server/0010-Smooth-Teleports.patch index aed74ce64..f892faece 100644 --- a/patches/server/0010-Smooth-Teleports.patch +++ b/patches/server/0010-Smooth-Teleports.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Smooth Teleports diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 5fad40fa88f697108e42461c41012d5964ed7d75..4aa043cc25d7d770ead47bcc3bf0373336768e5c 100644 +index 9d46536f80b5b3e6641fd377c02166a431edfd77..d138cceffd95eda11d4f4179dffd7ddbcd22e26f 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -277,6 +277,7 @@ public class ServerPlayer extends Player { @@ -17,10 +17,10 @@ index 5fad40fa88f697108e42461c41012d5964ed7d75..4aa043cc25d7d770ead47bcc3bf03733 private final java.util.concurrent.atomic.AtomicReference viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1)); public io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index aaa6283dec4570caf4c195059b44cc11e600d2ed..998e8a79ba88cb8dc421b890f86aff7cff730480 100644 +index 04d8f26e760e893ed9b30f6fc56e6753871d1d47..f42bcc36b6aae2560cebb9ceeab69577097fff14 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -926,12 +926,12 @@ public abstract class PlayerList { +@@ -927,12 +927,12 @@ public abstract class PlayerList { int i = flag ? 1 : 0; // CraftBukkit start LevelData worlddata = worldserver1.getLevelData(); @@ -36,7 +36,7 @@ index aaa6283dec4570caf4c195059b44cc11e600d2ed..998e8a79ba88cb8dc421b890f86aff7c // entityplayer1.connection.teleport(entityplayer1.getX(), entityplayer1.getY(), entityplayer1.getZ(), entityplayer1.getYRot(), entityplayer1.getXRot()); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e41f5417304f5b05fa7e2f6b6e1c0095e820f1cc..585dd6d62930735bdda0c70b27a31f021056fb14 100644 +index 59c00045ec903a635966f16cf33e5b4110262953..e34f06f3d730932abbc7b9aada6139a4a06b170d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1239,6 +1239,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0011-Ignore-durability-changes-for-equipment-updates.patch b/patches/server/0011-Ignore-durability-changes-for-equipment-updates.patch index 739e71081..b0daae559 100644 --- a/patches/server/0011-Ignore-durability-changes-for-equipment-updates.patch +++ b/patches/server/0011-Ignore-durability-changes-for-equipment-updates.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Ignore durability changes for equipment updates diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 67627bbf84f5aab2872f636b1dcb6728c8494147..e422d8352f6f7dda8fb7ae8f51ebd5ec2e116115 100644 +index 064bd3f2615009b3f15f3a5006f0b5f7a7ba6bf5..523e2864b49fc5501646482ea15694fd05cb0b9f 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3134,7 +3134,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3137,7 +3137,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } public boolean equipmentHasChanged(ItemStack stack, ItemStack stack2) { diff --git a/patches/server/0013-AntiXray-Bypass.patch b/patches/server/0013-AntiXray-Bypass.patch index 14b145b84..c5a8bd689 100644 --- a/patches/server/0013-AntiXray-Bypass.patch +++ b/patches/server/0013-AntiXray-Bypass.patch @@ -17,10 +17,10 @@ index 42fdce97d99618a53f2e9c51804ff2205b574f69..7e8d58e3481be2d7ebbe5fe388d61932 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 585dd6d62930735bdda0c70b27a31f021056fb14..baccc49316bc3763add517650d364c908bf410b0 100644 +index e34f06f3d730932abbc7b9aada6139a4a06b170d..5a54df1983721d8dcc368956c88e02109bbb4c80 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -185,6 +185,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -188,6 +188,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private static final boolean DISABLE_CHANNEL_LIMIT = System.getProperty("paper.disableChannelLimit") != null; // Paper - add a flag to disable the channel limit private long lastSaveTime; // Paper end @@ -28,7 +28,7 @@ index 585dd6d62930735bdda0c70b27a31f021056fb14..baccc49316bc3763add517650d364c90 public CraftPlayer(CraftServer server, ServerPlayer entity) { super(server, entity); -@@ -2727,6 +2728,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2711,6 +2712,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/server/0014-Add-PlayerPreChunkLoadEvent.patch b/patches/server/0014-Add-PlayerPreChunkLoadEvent.patch index 386b48da7..d523d6e76 100644 --- a/patches/server/0014-Add-PlayerPreChunkLoadEvent.patch +++ b/patches/server/0014-Add-PlayerPreChunkLoadEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerPreChunkLoadEvent diff --git a/src/main/java/io/papermc/paper/chunk/system/RegionizedPlayerChunkLoader.java b/src/main/java/io/papermc/paper/chunk/system/RegionizedPlayerChunkLoader.java -index a495d692841c1a6056ca82519ee9b9c66f1ff5cd..18e0fd0bcf3036f986f2726c89592f875a3c630e 100644 +index 924539d4ac50c70178ba220424ffacd6ff277c8b..f9b30f2904d06f2a7de6fa03287bc2e40e879e2d 100644 --- a/src/main/java/io/papermc/paper/chunk/system/RegionizedPlayerChunkLoader.java +++ b/src/main/java/io/papermc/paper/chunk/system/RegionizedPlayerChunkLoader.java @@ -411,7 +411,7 @@ public class RegionizedPlayerChunkLoader { @@ -18,10 +18,10 @@ index a495d692841c1a6056ca82519ee9b9c66f1ff5cd..18e0fd0bcf3036f986f2726c89592f87 private static final byte CHUNK_TICKET_STAGE_NONE = 0; private static final byte CHUNK_TICKET_STAGE_LOADING = 1; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 347becd2658a257a7253edccf62fb5923da28b29..524f56735c3f4781be86d0f31e8fb17c578e5b2f 100644 +index 836bdbf4a4742f0cce0f9612d694db03305c7a00..fb79e3ee663709538d6e322fd8401564dcbbe5a7 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -531,6 +531,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -530,6 +530,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { return true; } diff --git a/patches/server/0016-Don-t-send-fire-packets-if-player-has-FR.patch b/patches/server/0016-Don-t-send-fire-packets-if-player-has-FR.patch index 53362fa56..60f556622 100644 --- a/patches/server/0016-Don-t-send-fire-packets-if-player-has-FR.patch +++ b/patches/server/0016-Don-t-send-fire-packets-if-player-has-FR.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't send fire packets if player has FR diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 92202262eff01ae3bbeff0e6ebdcf26ad613c169..05b60a115c3bc9c34fd01a2ed199e152b57044b1 100644 +index 513c34aa02d63f7e3c178eade818e156af4541db..831238b2d7e1cc8dc86b0471e3c0cbc4569e2757 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -854,7 +854,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -867,7 +867,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.checkBelowWorld(); if (!this.level().isClientSide) { diff --git a/patches/server/0020-PlayerLoadStatsEvent.patch b/patches/server/0020-PlayerLoadStatsEvent.patch index 5e8b96f8d..7325af74f 100644 --- a/patches/server/0020-PlayerLoadStatsEvent.patch +++ b/patches/server/0020-PlayerLoadStatsEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] PlayerLoadStatsEvent diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 998e8a79ba88cb8dc421b890f86aff7cff730480..8bc84bdc1f66bc9933cd96c9e3cb230e89269ff5 100644 +index f42bcc36b6aae2560cebb9ceeab69577097fff14..5518fe1df4af78623cb1d060c5336f59bc4ce7d5 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1465,7 +1465,7 @@ public abstract class PlayerList { +@@ -1466,7 +1466,7 @@ public abstract class PlayerList { } } diff --git a/patches/server/0023-noEntityCollisions-for-Entity.patch b/patches/server/0023-noEntityCollisions-for-Entity.patch index 76aecd1a9..dbb896c99 100644 --- a/patches/server/0023-noEntityCollisions-for-Entity.patch +++ b/patches/server/0023-noEntityCollisions-for-Entity.patch @@ -18,10 +18,10 @@ index a87f6380b2c387fb0cdd40d5087b5c93492e3c88..cd35c2136a638c07fed683a2f92e70aa } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 05b60a115c3bc9c34fd01a2ed199e152b57044b1..e6c16982b50754bae5a31a193c95ef616b735967 100644 +index 831238b2d7e1cc8dc86b0471e3c0cbc4569e2757..8c2b633bef56d4cf52d33827df5bc301bbe2c6bd 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -440,6 +440,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -452,6 +452,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { * Overriding this field will cause memory leaks. */ private final boolean hardCollides; diff --git a/patches/server/0028-Allow-inventory-clicks-in-Spectator.patch b/patches/server/0028-Allow-inventory-clicks-in-Spectator.patch index a89d29542..c0b351c79 100644 --- a/patches/server/0028-Allow-inventory-clicks-in-Spectator.patch +++ b/patches/server/0028-Allow-inventory-clicks-in-Spectator.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow inventory clicks in Spectator diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ae82ab0e3d8e99f87ca8465fbcbb44b5ce18bf96..35b2907b780a768b0fe62666e4be2a6f8daeec58 100644 +index 2a609e43370e68943c580083f7f7d8c9b0972955..4ee0bedf8ca9014f69d450357555d947219dea78 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2966,7 +2966,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2970,7 +2970,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (this.player.isImmobile()) return; // CraftBukkit this.player.resetLastActionTime(); if (this.player.containerMenu.containerId == packet.getContainerId() && this.player.containerMenu.stillValid(this.player)) { // CraftBukkit diff --git a/patches/server/0029-Packet-obfuscation-and-reduction.patch b/patches/server/0029-Packet-obfuscation-and-reduction.patch index fa470e25e..b74ea6119 100644 --- a/patches/server/0029-Packet-obfuscation-and-reduction.patch +++ b/patches/server/0029-Packet-obfuscation-and-reduction.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Packet obfuscation and reduction diff --git a/src/main/java/net/minecraft/network/syncher/SynchedEntityData.java b/src/main/java/net/minecraft/network/syncher/SynchedEntityData.java -index bf6a70a69bb695ec1a202cd1e863c468329f80fc..7af1c0bc7f458f766e3f67a5caa8ec9626b17735 100644 +index 15add3f4dfd718ec09bb1db4f22223466936879c..f4319b98e114c4f3e84b9977d48a98c20f96c853 100644 --- a/src/main/java/net/minecraft/network/syncher/SynchedEntityData.java +++ b/src/main/java/net/minecraft/network/syncher/SynchedEntityData.java @@ -143,15 +143,29 @@ public class SynchedEntityData { @@ -66,7 +66,7 @@ index bf6a70a69bb695ec1a202cd1e863c468329f80fc..7af1c0bc7f458f766e3f67a5caa8ec96 @Nullable public List> getNonDefaultValues() { List> list = null; -@@ -300,11 +334,14 @@ public class SynchedEntityData { +@@ -314,11 +348,14 @@ public class SynchedEntityData { T value; private final T initialValue; private boolean dirty; @@ -81,7 +81,7 @@ index bf6a70a69bb695ec1a202cd1e863c468329f80fc..7af1c0bc7f458f766e3f67a5caa8ec96 } public EntityDataAccessor getAccessor() { -@@ -334,6 +371,35 @@ public class SynchedEntityData { +@@ -348,6 +385,35 @@ public class SynchedEntityData { public SynchedEntityData.DataValue value() { return SynchedEntityData.DataValue.create(this.accessor, this.value); } @@ -144,10 +144,10 @@ index 6670e657e08e130f7e0368f418379fd1ece00cdf..a3cff8bcc0e390865563c97c95f4e28e if (this.entity instanceof LivingEntity) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index e6c16982b50754bae5a31a193c95ef616b735967..aee2375bd72f3ab7f237132a05aada1eba708252 100644 +index 8c2b633bef56d4cf52d33827df5bc301bbe2c6bd..b73e4f37884d58832e8fb7a2634aa3ddf0a0bb9a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3275,7 +3275,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3288,7 +3288,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.entityData.markDirty(Entity.DATA_AIR_SUPPLY_ID); return; } @@ -157,10 +157,10 @@ index e6c16982b50754bae5a31a193c95ef616b735967..aee2375bd72f3ab7f237132a05aada1e } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index e422d8352f6f7dda8fb7ae8f51ebd5ec2e116115..f731f7131d3270de6bc81962bd713a59968aba34 100644 +index 523e2864b49fc5501646482ea15694fd05cb0b9f..3d86de5060becac4936a36806fb4e73e38ea0187 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3134,7 +3134,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3137,7 +3137,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } public boolean equipmentHasChanged(ItemStack stack, ItemStack stack2) { @@ -183,10 +183,10 @@ index 38e110a226aac27d86dfe89bc0e9ecaada6ff268..15515e871c89498ec936ab24871741f8 public void startAutoSpinAttack(int riptideTicks) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index baccc49316bc3763add517650d364c908bf410b0..8b539beb563ef0d402e3d93fe9317cb386b65f53 100644 +index 5a54df1983721d8dcc368956c88e02109bbb4c80..ced211abb09de42057ca01e9413c183d3cf6193e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2492,7 +2492,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2476,7 +2476,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.sendHealthUpdate(); } } diff --git a/patches/server/0031-Shared-Data-Storage.patch b/patches/server/0031-Shared-Data-Storage.patch index e3110ba66..2116fc46a 100644 --- a/patches/server/0031-Shared-Data-Storage.patch +++ b/patches/server/0031-Shared-Data-Storage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Shared Data Storage diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java -index 77d05f7efdcdceef681a75692c208075d873d368..c40bd0fdbfa793c56071f1a5c2fd33da8393054f 100644 +index ffbab76e55807f04ebb25242eadbea114004b1b3..fa2581c014d839195775aacf10b8e684cb60140f 100644 --- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java +++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java -@@ -271,6 +271,7 @@ public class GlobalConfiguration extends ConfigurationPart { +@@ -270,6 +270,7 @@ public class GlobalConfiguration extends ConfigurationPart { public boolean lagCompensateBlockBreaking = true; public boolean useDimensionTypeForCustomSpawners = false; public boolean strictAdvancementDimensionCheck = false; @@ -17,7 +17,7 @@ index 77d05f7efdcdceef681a75692c208075d873d368..c40bd0fdbfa793c56071f1a5c2fd33da public ChunkLoadingBasic chunkLoadingBasic; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 53188d488936c0ab97ed5dea558831c8ced4cd0d..3020deeb43a43522af53dce1330d7c7c25e5305d 100644 +index d15b822d7b12691608a3890d87b09c7562f91958..b6911bf0a72a7f96a4baaa70a72310d57ef480c8 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -2,6 +2,7 @@ package net.minecraft.server; @@ -28,7 +28,7 @@ index 53188d488936c0ab97ed5dea558831c8ced4cd0d..3020deeb43a43522af53dce1330d7c7c import com.google.common.collect.ImmutableList; import co.aikar.timings.Timings; import com.destroystokyo.paper.event.server.PaperServerListPingEvent; -@@ -313,6 +314,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop S spin(Function serverFactory) { AtomicReference atomicreference = new AtomicReference(); -@@ -413,6 +415,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop +Date: Fri, 23 Jun 2023 08:22:19 -0500 +Subject: [PATCH] Add canDespawn to Warden + + +diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java +index 9afc81ccb237c3655d64cdbe8a0db9a4d7791043..286e2ad0887379b5b16ca3ca89a8f0d62be258e7 100644 +--- a/src/main/java/net/minecraft/world/entity/EntityType.java ++++ b/src/main/java/net/minecraft/world/entity/EntityType.java +@@ -588,7 +588,7 @@ public class EntityType implements FeatureElement, EntityTypeT + }), (entity) -> { + entity.load(nbt); + }, () -> { +- EntityType.LOGGER.warn("Skipping Entity with id {}", nbt.getString("id")); ++ EntityType.LOGGER.warn("Skipping Entity with id {}", nbt.toString()); + }); + } + +diff --git a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java +index 97b763431bc5015448ee7a26a340635a932c950b..e8b748eb16d7409a69dbd364a59dcf217ce701ec 100644 +--- a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java ++++ b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java +@@ -110,6 +110,7 @@ public class Warden extends Monster implements VibrationSystem { + private final VibrationSystem.User vibrationUser = new Warden.VibrationUser(); + private VibrationSystem.Data vibrationData = new VibrationSystem.Data(); + AngerManagement angerManagement = new AngerManagement(this::canTargetEntity, Collections.emptyList()); ++ public boolean canDespawn; // Slice + + public Warden(EntityType type, Level world) { + super(type, world); +diff --git a/src/main/java/net/minecraft/world/entity/monster/warden/WardenAi.java b/src/main/java/net/minecraft/world/entity/monster/warden/WardenAi.java +index 03f16a5541de6bc95407aaa24741570c1993dc9e..07600fdd32a058d0e3f9828efdc18f5e76448663 100644 +--- a/src/main/java/net/minecraft/world/entity/monster/warden/WardenAi.java ++++ b/src/main/java/net/minecraft/world/entity/monster/warden/WardenAi.java +@@ -139,7 +139,13 @@ public class WardenAi { + + public static void setDigCooldown(LivingEntity warden) { + if (warden.getBrain().hasMemoryValue(MemoryModuleType.DIG_COOLDOWN)) { +- warden.getBrain().setMemoryWithExpiry(MemoryModuleType.DIG_COOLDOWN, Unit.INSTANCE, 1200L); ++ // Slice start ++ if (warden instanceof Warden nmsWarden && !nmsWarden.canDespawn) { ++ warden.getBrain().setMemory(MemoryModuleType.DIG_COOLDOWN, Unit.INSTANCE); ++ } else { ++ warden.getBrain().setMemoryWithExpiry(MemoryModuleType.DIG_COOLDOWN, Unit.INSTANCE, 1200L); ++ } ++ // Slice end + } + + } +diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWarden.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWarden.java +index 6ecdc4bf1f6b8f0363e667135ba463433be5c0fb..6107439289f9932e6d68dbfa0c35ac58e4a61007 100644 +--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWarden.java ++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWarden.java +@@ -92,4 +92,11 @@ public class CraftWarden extends CraftMonster implements org.bukkit.entity.Warde + case ANGRY -> AngerLevel.ANGRY; + }; + } ++ ++ // Slice start ++ @Override ++ public void setCanDespawn(boolean canDespawn) { ++ this.getHandle().canDespawn = canDespawn; ++ } ++ // Slice end + }