From c9aee076fc4f9461bc7fb79c7748b791082f9477 Mon Sep 17 00:00:00 2001 From: granny Date: Sun, 29 Oct 2023 12:39:53 -0700 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@996d529 Resend entity using the bundle packet (#9853) PaperMC/Paper@8cf2503 Updated Upstream (Bukkit/CraftBukkit) (#9876) PaperMC/Paper@2935067 Fix null item in sendEquipmentChange (#9869) PaperMC/Paper@b3cac04 Fix crash when version_history.json is empty (#9871) PaperMC/Paper@b1faa5d Fix PotionAPI ignores icon flag (#9864) PaperMC/Paper@52849f6 Cleanup disable explosion knockback patch (#9858) PaperMC/Paper@8b1ac39 Fix warden spawn reason from DEFAULT to NATURAL (#8744) PaperMC/Paper@c6fac38 fix UnsafeValues#loadAdvancement doesn't recalculate position (#9846) PaperMC/Paper@5bdfb29 Add player idle duration API (#9833) PaperMC/Paper@a81a384 Implement Velocity VarInt optimizations (#8418) PaperMC/Paper@415d708 [ci skip] Fix author in last patch PaperMC/Paper@3e4eaf2 [ci skip] Fix module derp PaperMC/Paper@5bb30ce Fix entity camera not being reset when cancelling spectating start/stop events (#9883) PaperMC/Paper@1865625 Fix NPE when no valid world is found on legacy Players (#9885) --- gradle.properties | 2 +- patches/api/0005-Purpur-client-support.patch | 4 +-- patches/api/0010-AFK-API.patch | 5 +-- patches/api/0044-Debug-Marker-API.patch | 6 ++-- patches/api/0045-Add-death-screen-API.patch | 4 +-- .../0001-Pufferfish-Server-Changes.patch | 8 ++--- patches/server/0003-Rebrand.patch | 14 ++++---- .../server/0005-Purpur-client-support.patch | 6 ++-- patches/server/0008-Ridables.patch | 18 +++++------ patches/server/0012-AFK-API.patch | 6 ++-- .../0015-LivingEntity-safeFallDistance.patch | 6 ++-- ...able-loot-drops-on-death-by-cramming.patch | 6 ++-- ...urable-void-damage-height-and-damage.patch | 6 ++-- .../0060-Implement-elytra-settings.patch | 4 +-- ...leport-to-spawn-if-outside-world-bor.patch | 6 ++-- .../0078-Totems-work-in-inventory.patch | 4 +-- patches/server/0117-Implement-TPSBar.patch | 10 +++--- ...iefing-bypass-to-everything-affected.patch | 4 +-- patches/server/0133-One-Punch-Man.patch | 4 +-- ...174-API-for-any-mob-to-burn-daylight.patch | 12 +++---- patches/server/0197-Add-compass-command.patch | 4 +-- .../0198-Toggle-for-kinetic-damage.patch | 4 +-- .../server/0227-Potion-NamespacedKey.patch | 32 ++++--------------- .../server/0267-Remove-Mojang-Profiler.patch | 16 +++++----- patches/server/0270-Debug-Marker-API.patch | 4 +-- .../server/0274-Add-death-screen-API.patch | 4 +-- ...76-Implement-ram-and-rambar-commands.patch | 4 +-- 27 files changed, 93 insertions(+), 110 deletions(-) diff --git a/gradle.properties b/gradle.properties index b7102beb8..e4f22f48a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.20.2-R0.1-SNAPSHOT mcVersion = 1.20.2 -paperCommit = b974a6b6f3a989050bf4af344be27da46de9041e +paperCommit = 1865625d958b94d82e0bd601d6d860318980c4c4 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0005-Purpur-client-support.patch b/patches/api/0005-Purpur-client-support.patch index e3e3bdc4e..3255be384 100644 --- a/patches/api/0005-Purpur-client-support.patch +++ b/patches/api/0005-Purpur-client-support.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 5c7a73ea74efe256c695080ba92b8cf698e4cd86..776c271631a2cb519d411892715c1dfa57e2489e 100644 +index 2996db88343060624d6aab7889290ae74a973fe8..d470c0772c054f26de1da5c10b887f29e62b0eb7 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3278,4 +3278,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3301,4 +3301,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Override Spigot spigot(); // Spigot end diff --git a/patches/api/0010-AFK-API.patch b/patches/api/0010-AFK-API.patch index 2996d7e49..d1ffe45ca 100644 --- a/patches/api/0010-AFK-API.patch +++ b/patches/api/0010-AFK-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] AFK API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 776c271631a2cb519d411892715c1dfa57e2489e..53f509afb6bd7e8afe2d25ec6de23ece8d1c2c18 100644 +index d470c0772c054f26de1da5c10b887f29e62b0eb7..eb4fc096b9b96726b9c324029391baa585eca43b 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3286,5 +3286,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3309,5 +3309,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @return True if Player uses Purpur Client */ public boolean usesPurpurClient(); @@ -29,6 +29,7 @@ index 776c271631a2cb519d411892715c1dfa57e2489e..53f509afb6bd7e8afe2d25ec6de23ece + + /** + * Reset the idle timer back to 0 ++ * @deprecated Use {@link #resetIdleDuration()} instead + */ + void resetIdleTimer(); // Purpur end diff --git a/patches/api/0044-Debug-Marker-API.patch b/patches/api/0044-Debug-Marker-API.patch index 008265b9e..a53ce8b99 100644 --- a/patches/api/0044-Debug-Marker-API.patch +++ b/patches/api/0044-Debug-Marker-API.patch @@ -260,11 +260,11 @@ index 381cd0296ece416876e136d2ca710c18c3e8bea0..d8ef44761148f928a671ceba74a5d1cb /** diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index c2ab25febe558b9653cd740c477dfd7ffd9b0318..b72415a388862736af005bb2bf8d283bacfb90d9 100644 +index eb4fc096b9b96726b9c324029391baa585eca43b..ab74fa8ef7bb273b3b2abc519ba4957873826037 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3305,5 +3305,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM - * Reset the idle timer back to 0 +@@ -3329,5 +3329,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM + * @deprecated Use {@link #resetIdleDuration()} instead */ void resetIdleTimer(); + diff --git a/patches/api/0045-Add-death-screen-API.patch b/patches/api/0045-Add-death-screen-API.patch index 5e935d4ae..a0b10e02b 100644 --- a/patches/api/0045-Add-death-screen-API.patch +++ b/patches/api/0045-Add-death-screen-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 460b8d831049e1bff94b87eaeeabb38e2cc3462e..b9a2001eaf83ab3445f3e44631c60705ac858b98 100644 +index ab74fa8ef7bb273b3b2abc519ba4957873826037..ccbde7687d67dec442bed0df72af1f36cc26d179 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3375,5 +3375,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3399,5 +3399,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Clears all debug block highlights */ void clearBlockHighlights(); diff --git a/patches/server/0001-Pufferfish-Server-Changes.patch b/patches/server/0001-Pufferfish-Server-Changes.patch index 4126e6457..27d481d54 100644 --- a/patches/server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -2073,7 +2073,7 @@ index 73871f456a85bda1e51f54986d0e61fb629822e8..2561e74ffdf595a9b6ae13dcd738662c private String descriptionId; @Nullable diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 776e9adc07e9ddd142c9fc7df56b5795ff8b2249..02d53d7c4e308b2fd70b1f7c1367484bbb3dcec7 100644 +index 675d695989cef5d8fc2e85673efbb57ec1bb38bd..26b57d004cf9b43967dce65c75946895fb703b84 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -142,7 +142,6 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -2113,7 +2113,7 @@ index 776e9adc07e9ddd142c9fc7df56b5795ff8b2249..02d53d7c4e308b2fd70b1f7c1367484b @Override public boolean hurt(DamageSource source, float amount) { if (this.isInvulnerableTo(source)) { -@@ -1999,6 +2011,20 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1996,6 +2008,20 @@ public abstract class LivingEntity extends Entity implements Attackable { return this.lastClimbablePos; } @@ -3306,10 +3306,10 @@ index 96d772eb02f79f8c478f5e6f065e387aa7665b18..c5ce412f321b8b4f31cc042893659e21 } } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 6b31f88803041c75023a2c99bdc1efd902f0205c..2ce2bf42dd6363b7f4325fb0387c61b5deff9ced 100644 +index 548c77592a3520e8053483644eba805079a14f1a..397c10f64db3a4d7296fe18585b56851bc3a1f01 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -475,7 +475,7 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -485,7 +485,7 @@ public final class CraftMagicNumbers implements UnsafeValues { @Override public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() { diff --git a/patches/server/0003-Rebrand.patch b/patches/server/0003-Rebrand.patch index 022653f7e..7a94fb712 100644 --- a/patches/server/0003-Rebrand.patch +++ b/patches/server/0003-Rebrand.patch @@ -177,7 +177,7 @@ index 1d714d3eff11ed14f218656008190017494d4830..ed3527612315e6e0649182ce4e1ae283 stringbuilder.append(CrashReport.getErrorComment()); stringbuilder.append("\n\n"); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 371049c1236c6443384c0ce184e99d5b9f8e57c2..ebcd6c821379f4feb3b2c094266645ae552972db 100644 +index 58d076e2a8fa1cf56c4c8d15a502e85fcf48aa90..ef14f47cec00ffaf1ac683964d3d1831dae9bcdb 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -910,7 +910,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop) this.server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle())); -@@ -3291,5 +3296,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3303,5 +3308,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean usesPurpurClient() { return getHandle().purpurClient; } diff --git a/patches/server/0015-LivingEntity-safeFallDistance.patch b/patches/server/0015-LivingEntity-safeFallDistance.patch index a666d56c7..85e1022c2 100644 --- a/patches/server/0015-LivingEntity-safeFallDistance.patch +++ b/patches/server/0015-LivingEntity-safeFallDistance.patch @@ -5,7 +5,7 @@ Subject: [PATCH] LivingEntity safeFallDistance diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 7471edf871522543cb49afef63d2c539b7e871a3..960e6ae3e7ceb981459b87343cacb7458d51eecf 100644 +index 63917cc4efb9d5a21d83e263c315adc6f5fdb04e..1d8d5cdb1604d852bf72d16e29e7a74caded5692 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -253,6 +253,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -34,7 +34,7 @@ index 7471edf871522543cb49afef63d2c539b7e871a3..960e6ae3e7ceb981459b87343cacb745 double d7 = Math.min((double) (0.2F + f / 15.0F), 2.5D); int i = (int) (150.0D * d7); -@@ -2092,7 +2093,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2089,7 +2090,7 @@ public abstract class LivingEntity extends Entity implements Attackable { MobEffectInstance mobeffect = this.getEffect(MobEffects.JUMP); float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1); @@ -69,7 +69,7 @@ index 2a30499fd6f4a1340f6911f0f7f079bcbe8576a3..c3c0fbe71c9af1125c80698865cb9eaf // Purpur start diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 3579715faa33a722cccb13d8d7c86a3de740d6fc..3c65041eed148fe30be3c73e423433e37ae58cc5 100644 +index 2be45534feedb77c44fbd736f2725b97b3840b41..231603683dee2e7ceeb551bd3cb331f98fb32bde 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1099,4 +1099,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0041-Disable-loot-drops-on-death-by-cramming.patch b/patches/server/0041-Disable-loot-drops-on-death-by-cramming.patch index 02ec25159..e0676f20a 100644 --- a/patches/server/0041-Disable-loot-drops-on-death-by-cramming.patch +++ b/patches/server/0041-Disable-loot-drops-on-death-by-cramming.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Disable loot drops on death by cramming diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 960e6ae3e7ceb981459b87343cacb7458d51eecf..c22b07728dde5807873004e4037ce3b738792689 100644 +index 1d8d5cdb1604d852bf72d16e29e7a74caded5692..eaff62f5dee0423723c259328d6c0c2c8a7156ef 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1838,6 +1838,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1835,6 +1835,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.dropEquipment(); // CraftBukkit - from below if (this.shouldDropLoot() && this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) { @@ -16,7 +16,7 @@ index 960e6ae3e7ceb981459b87343cacb7458d51eecf..c22b07728dde5807873004e4037ce3b7 this.dropFromLootTable(source, flag); // Paper start final boolean prev = this.clearEquipmentSlots; -@@ -1846,6 +1847,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1843,6 +1844,7 @@ public abstract class LivingEntity extends Entity implements Attackable { // Paper end this.dropCustomDeathLoot(source, i, flag); this.clearEquipmentSlots = prev; // Paper diff --git a/patches/server/0054-Configurable-void-damage-height-and-damage.patch b/patches/server/0054-Configurable-void-damage-height-and-damage.patch index 70a840519..b723657a5 100644 --- a/patches/server/0054-Configurable-void-damage-height-and-damage.patch +++ b/patches/server/0054-Configurable-void-damage-height-and-damage.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable void damage height and damage diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a5f54e2c17f618b99c76281b45d005280e4e31f9..790c6c677cd83bd4158e1567e51b7669fc219178 100644 +index 63d6fc245b38202674da4f7d15665b57d9c5ef3c..f93cf0029d51cf124bcbc4b4a8b5677978968dfd 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -860,7 +860,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -18,10 +18,10 @@ index a5f54e2c17f618b99c76281b45d005280e4e31f9..790c6c677cd83bd4158e1567e51b7669 && (!(this instanceof Player player) || !player.getAbilities().invulnerable))) { // Paper end diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index c22b07728dde5807873004e4037ce3b738792689..8b25c2f8b089caf3fa03ff73d65be5c2f442a5d3 100644 +index eaff62f5dee0423723c259328d6c0c2c8a7156ef..5b80d41b267488d632492239298c94ded9ac40bb 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2538,7 +2538,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2535,7 +2535,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @Override protected void onBelowWorld() { diff --git a/patches/server/0060-Implement-elytra-settings.patch b/patches/server/0060-Implement-elytra-settings.patch index c1bdc9558..da6507cc7 100644 --- a/patches/server/0060-Implement-elytra-settings.patch +++ b/patches/server/0060-Implement-elytra-settings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 8b25c2f8b089caf3fa03ff73d65be5c2f442a5d3..ee41bfa1a851340f291182f520c9cf1925a355af 100644 +index 5b80d41b267488d632492239298c94ded9ac40bb..d919966b056116dc2c0777250ecb492a68257d70 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3559,7 +3559,16 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3556,7 +3556,16 @@ public abstract class LivingEntity extends Entity implements Attackable { int j = i / 10; if (j % 2 == 0) { diff --git a/patches/server/0073-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch b/patches/server/0073-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch index 79ac1dd33..5263902a6 100644 --- a/patches/server/0073-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch +++ b/patches/server/0073-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 85383b6a9d16b7cf7e928c4d9aaf7af932540091..8b05588b480af39d25bfcb84a5241e9e055c81f8 100644 +index 6f5632eb105f17e0f8b39f09b68d809eb4fb2c76..fa5cf2152eb48b2b099d94963367511b032cbac6 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2744,4 +2744,26 @@ public class ServerPlayer extends Player { +@@ -2747,4 +2747,26 @@ public class ServerPlayer extends Player { return (CraftPlayer) super.getBukkitEntity(); } // CraftBukkit end @@ -36,7 +36,7 @@ index 85383b6a9d16b7cf7e928c4d9aaf7af932540091..8b05588b480af39d25bfcb84a5241e9e + // Purpur end } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index ee41bfa1a851340f291182f520c9cf1925a355af..3fe857ddd4dbaa73f9556f547f03e9f747a52c40 100644 +index d919966b056116dc2c0777250ecb492a68257d70..fa59b382c25b9c47bf921258dec89cf2b5ca92e8 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -427,6 +427,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0078-Totems-work-in-inventory.patch b/patches/server/0078-Totems-work-in-inventory.patch index ba2fd9de8..5150f53f6 100644 --- a/patches/server/0078-Totems-work-in-inventory.patch +++ b/patches/server/0078-Totems-work-in-inventory.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Totems work in inventory diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 3fe857ddd4dbaa73f9556f547f03e9f747a52c40..3271c1a14fba90ab2e6467d907dfaf8cf5c12b65 100644 +index fa59b382c25b9c47bf921258dec89cf2b5ca92e8..bb36602c78292e762e26fe23e9928609c4bb4271 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1626,6 +1626,18 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1623,6 +1623,18 @@ public abstract class LivingEntity extends Entity implements Attackable { } } diff --git a/patches/server/0117-Implement-TPSBar.patch b/patches/server/0117-Implement-TPSBar.patch index 35d4c5d72..50efc714c 100644 --- a/patches/server/0117-Implement-TPSBar.patch +++ b/patches/server/0117-Implement-TPSBar.patch @@ -17,7 +17,7 @@ index 637648e03985868c1fe420f84fa778b06deb23ee..e1887523b0b6a0479544385932f54ab1 if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index cdf770adf641844caf0290a8354046aeb8e00cb3..a3675f1ef2317c1a0e9addd9280fe928a45b2736 100644 +index cef1f7169880560a9c79667320e63d552fa4aa03..13b57942eb63b2a9460f96ec59bb9ba36fe65e04 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1008,6 +1008,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 9204b119a038868e63a345f2a8cd175cba96b090..2570fb81e94f7169a54a8e0b2dce5a2c24fcd00e 100644 +index 03b0c98e4e926f5cf630e0fddb2e51fc70d20f84..ecc5d5459350d401ed1a4bf01199ad00338954ae 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -496,6 +496,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -32,7 +32,7 @@ index 9204b119a038868e63a345f2a8cd175cba96b090..2570fb81e94f7169a54a8e0b2dce5a2c return this.hardCollides; } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index f7bd53e548ea2f57f697b143b58b6d2e21371366..b4c00ea434f73ff59d6171fd010d4e76d6dc08dd 100644 +index 907ed5f818545afbec981c97b565556850a30571..30a872c7e0710506899eb2432d7271396f34c677 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -263,6 +263,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -63,7 +63,7 @@ index f7bd53e548ea2f57f697b143b58b6d2e21371366..b4c00ea434f73ff59d6171fd010d4e76 } // CraftBukkit start -@@ -3577,6 +3584,27 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3574,6 +3581,27 @@ public abstract class LivingEntity extends Entity implements Attackable { this.hurt(this.damageSources().drown(), 1.0F); } @@ -277,7 +277,7 @@ index 030b81dd8c52ddb300e73d792f9c4cea4e8a8d46..1d4a292a37069408420ca90b1c278422 // Paper end private static enum AttackPhase { diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java -index 63c0f86469182de482b04a27741e4b6fe29f0e79..15baaf9c358019b1ce2152086e8d16591eec7dbb 100644 +index 5a3d0ba97247e3867cc85aef3f6ad30d5d1548e1..8696b3a0ff7f0d55a9cda104bc6ecc3a63d787db 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java @@ -96,11 +96,12 @@ public class Zombie extends Monster { @@ -353,7 +353,7 @@ index 63c0f86469182de482b04a27741e4b6fe29f0e79..15baaf9c358019b1ce2152086e8d1659 // Paper end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index d1a550aa5905d26e5b0f534338b3f30f1f2db67c..eb409ecf5bf06692038e9fe84af986092a7d7837 100644 +index 2406c33799ce8e00484c63b87c0c2c6ded9bf25b..38ff078ae636218d157d4c885fca19be5666b52a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -223,6 +223,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -369,7 +369,7 @@ index d1a550aa5905d26e5b0f534338b3f30f1f2db67c..eb409ecf5bf06692038e9fe84af98609 /* * Order is *EXTREMELY* important -- keep it right! =D diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 07cbcb7f5a77b75ba10ccb470502c73fab17784e..42b336a96e5c786b95356200da7d02bfd8b584dc 100644 +index a6ab50d4a368b6d7eaaefe790f351fbc43fd7626..7feff1402b3034d0f387440f28ee7a71e4ff4acf 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1116,5 +1116,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0197-Add-compass-command.patch b/patches/server/0197-Add-compass-command.patch index d2f0e84a5..bd4a9e773 100644 --- a/patches/server/0197-Add-compass-command.patch +++ b/patches/server/0197-Add-compass-command.patch @@ -17,7 +17,7 @@ index e254f7c498c5a1608afe130b2dd4d3d037069f25..af712f089e7919fa0bd3946866fd3486 if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 4cc1604114ce283a70fb8faf89ac2b3979b06b52..f00c8b834db7ff9c92d878560d83db91b76c82fe 100644 +index 6dbc75a216b52cf1c2d398e781893a61d95fb7da..39e64f3fcce79897d18aa2cf4c1224a994839cad 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -276,6 +276,7 @@ public class ServerPlayer extends Player { @@ -44,7 +44,7 @@ index 4cc1604114ce283a70fb8faf89ac2b3979b06b52..f00c8b834db7ff9c92d878560d83db91 } // CraftBukkit start - World fallback code, either respawn location or global spawn -@@ -2799,5 +2802,13 @@ public class ServerPlayer extends Player { +@@ -2802,5 +2805,13 @@ public class ServerPlayer extends Player { public void tpsBar(boolean tpsBar) { this.tpsBar = tpsBar; } diff --git a/patches/server/0198-Toggle-for-kinetic-damage.patch b/patches/server/0198-Toggle-for-kinetic-damage.patch index 68d9afc62..426de90fc 100644 --- a/patches/server/0198-Toggle-for-kinetic-damage.patch +++ b/patches/server/0198-Toggle-for-kinetic-damage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Toggle for kinetic damage diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index b4c00ea434f73ff59d6171fd010d4e76d6dc08dd..cf997f8811aacd32946d81de87b1683910374e42 100644 +index 30a872c7e0710506899eb2432d7271396f34c677..7de9e8611ff12bf6955db41baeb4c2080bc725bb 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2929,6 +2929,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2926,6 +2926,7 @@ public abstract class LivingEntity extends Entity implements Attackable { if (f3 > 0.0F) { this.playSound(this.getFallDamageSound((int) f3), 1.0F, 1.0F); diff --git a/patches/server/0227-Potion-NamespacedKey.patch b/patches/server/0227-Potion-NamespacedKey.patch index c565ac2a7..4af9f074a 100644 --- a/patches/server/0227-Potion-NamespacedKey.patch +++ b/patches/server/0227-Potion-NamespacedKey.patch @@ -160,36 +160,18 @@ index 68e1b8271475996020af50b3b2cf04cd25aa6c85..4f2fcbcf90d6f5ee89e35c993a65cae6 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index a86ce1e672df969b28293e7da4c6f4414d8d80a7..bc2a7120a7758097080b39f2aa37828d98b84fd5 100644 +index 7feff1402b3034d0f387440f28ee7a71e4ff4acf..3741993bfdf6b356619d04296c16cf2d2018e091 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -465,7 +465,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @Override public boolean addPotionEffect(PotionEffect effect, boolean force) { org.spigotmc.AsyncCatcher.catchOp("effect add"); // Paper -- this.getHandle().addEffect(new MobEffectInstance(CraftPotionEffectType.bukkitToMinecraft(effect.getType()), effect.getDuration(), effect.getAmplifier(), effect.isAmbient(), effect.hasParticles(), effect.hasIcon()), EntityPotionEffectEvent.Cause.PLUGIN); // Paper - Don't ignore icon +- this.getHandle().addEffect(CraftPotionUtil.fromBukkit(effect), EntityPotionEffectEvent.Cause.PLUGIN); // Paper - Don't ignore icon + this.getHandle().addEffect(new MobEffectInstance(CraftPotionEffectType.bukkitToMinecraft(effect.getType()), effect.getDuration(), effect.getAmplifier(), effect.isAmbient(), effect.hasParticles(), effect.hasIcon(), effect.getKey()), EntityPotionEffectEvent.Cause.PLUGIN); // Purpur - add key // Paper - Don't ignore icon return true; } -@@ -486,7 +486,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { - @Override - public PotionEffect getPotionEffect(PotionEffectType type) { - MobEffectInstance handle = this.getHandle().getEffect(CraftPotionEffectType.bukkitToMinecraft(type)); -- return (handle == null) ? null : new PotionEffect(CraftPotionEffectType.minecraftToBukkit(handle.getEffect()), handle.getDuration(), handle.getAmplifier(), handle.isAmbient(), handle.isVisible()); -+ return (handle == null) ? null : new PotionEffect(CraftPotionEffectType.minecraftToBukkit(handle.getEffect()), handle.getDuration(), handle.getAmplifier(), handle.isAmbient(), handle.isVisible(), handle.getKey()); // Purpur - add key - } - - @Override -@@ -498,7 +498,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { - public Collection getActivePotionEffects() { - List effects = new ArrayList(); - for (MobEffectInstance handle : this.getHandle().activeEffects.values()) { -- effects.add(new PotionEffect(CraftPotionEffectType.minecraftToBukkit(handle.getEffect()), handle.getDuration(), handle.getAmplifier(), handle.isAmbient(), handle.isVisible())); -+ effects.add(new PotionEffect(CraftPotionEffectType.minecraftToBukkit(handle.getEffect()), handle.getDuration(), handle.getAmplifier(), handle.isAmbient(), handle.isVisible(), handle.getKey())); // Purpur - add key - } - return effects; - } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java index bac3a5c378054481e1a5abaec1f83afde5d64ac1..f1050bf2b9efc54a894426b08989d44566acd875 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java @@ -239,15 +221,15 @@ index bac3a5c378054481e1a5abaec1f83afde5d64ac1..f1050bf2b9efc54a894426b08989d445 } this.customEffects.set(index, effect); diff --git a/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionUtil.java b/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionUtil.java -index e29679a92da5ec05e122bb972a5ee469059a7a0a..70a3463eb6c93b662c5858016f934aa9ab267397 100644 +index 844fb8c662a409670f631228f687d85c5436d3dd..2bfa5908f1848702ceb42da7576a609d0928eddd 100644 --- a/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionUtil.java +++ b/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionUtil.java @@ -73,7 +73,7 @@ public class CraftPotionUtil { public static MobEffectInstance fromBukkit(PotionEffect effect) { MobEffect type = CraftPotionEffectType.bukkitToMinecraft(effect.getType()); -- return new MobEffectInstance(type, effect.getDuration(), effect.getAmplifier(), effect.isAmbient(), effect.hasParticles()); -+ return new MobEffectInstance(type, effect.getDuration(), effect.getAmplifier(), effect.isAmbient(), effect.hasParticles(), effect.getKey()); // Purpur - add key +- return new MobEffectInstance(type, effect.getDuration(), effect.getAmplifier(), effect.isAmbient(), effect.hasParticles(), effect.hasIcon()); // Paper ++ return new MobEffectInstance(type, effect.getDuration(), effect.getAmplifier(), effect.isAmbient(), effect.hasParticles(), effect.hasIcon(), effect.getKey()); // Paper // Purpur - add key } public static PotionEffect toBukkit(MobEffectInstance effect) { @@ -255,8 +237,8 @@ index e29679a92da5ec05e122bb972a5ee469059a7a0a..70a3463eb6c93b662c5858016f934aa9 int duration = effect.getDuration(); boolean ambient = effect.isAmbient(); boolean particles = effect.isVisible(); -- return new PotionEffect(type, duration, amp, ambient, particles); -+ return new PotionEffect(type, duration, amp, ambient, particles, effect.getKey()); // Purpur - add key +- return new PotionEffect(type, duration, amp, ambient, particles, effect.showIcon()); // Paper ++ return new PotionEffect(type, duration, amp, ambient, particles, effect.showIcon(), effect.getKey()); // Paper // Purpur - add key } public static boolean equals(MobEffect mobEffect, PotionEffectType type) { diff --git a/patches/server/0267-Remove-Mojang-Profiler.patch b/patches/server/0267-Remove-Mojang-Profiler.patch index 1dbb39df8..f43de5adf 100644 --- a/patches/server/0267-Remove-Mojang-Profiler.patch +++ b/patches/server/0267-Remove-Mojang-Profiler.patch @@ -778,7 +778,7 @@ index d5837c675e033c7277656e026cb98d55b6668038..c3239a2823d152b8de1f760216323936 while (iterator.hasNext()) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 9e561a8e59666f10468ab8fd5a533f63bdc6cf2a..47527f6145a71d56c428b012033bb8b6b086054f 100644 +index a5ad9a5bf708f6ed9844c5ac42f07a34f0833e30..38eed0f72cb6247418944fdd0770e4f9bda38f9e 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1237,7 +1237,7 @@ public class ServerPlayer extends Player { @@ -1163,7 +1163,7 @@ index 30365690fb8b0170636e712ccecb267e3ae53e0a..380f93a750c30c1ce0d0050c35eea19e } } else { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index fe35e4d86f7ce0ac12deb50e6d189a27a29c9f47..afa08d6e886ae9056c3ff88bc3b275cd13ec68a7 100644 +index 86ea1fe2fec0edcb0ccecb9ddcb296fdbf2c6d88..b42121391e8af3e90f7064bec1687afaf1b78454 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -410,7 +410,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1184,7 +1184,7 @@ index fe35e4d86f7ce0ac12deb50e6d189a27a29c9f47..afa08d6e886ae9056c3ff88bc3b275cd } public boolean canSpawnSoulSpeedParticle() { -@@ -3162,10 +3162,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3159,10 +3159,10 @@ public abstract class LivingEntity extends Entity implements Attackable { } this.run += (f3 - this.run) * 0.3F; @@ -1198,7 +1198,7 @@ index fe35e4d86f7ce0ac12deb50e6d189a27a29c9f47..afa08d6e886ae9056c3ff88bc3b275cd // Paper start - stop large pitch and yaw changes from crashing the server this.yRotO += Math.round((this.getYRot() - this.yRotO) / 360.0F) * 360.0F; -@@ -3177,7 +3177,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3174,7 +3174,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.yHeadRotO += Math.round((this.yHeadRot - this.yHeadRotO) / 360.0F) * 360.0F; // Paper end @@ -1207,7 +1207,7 @@ index fe35e4d86f7ce0ac12deb50e6d189a27a29c9f47..afa08d6e886ae9056c3ff88bc3b275cd this.animStep += f2; if (this.isFallFlying()) { ++this.fallFlyTicks; -@@ -3467,19 +3467,19 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3464,19 +3464,19 @@ public abstract class LivingEntity extends Entity implements Attackable { } this.setDeltaMovement(d0, d1, d2); @@ -1232,7 +1232,7 @@ index fe35e4d86f7ce0ac12deb50e6d189a27a29c9f47..afa08d6e886ae9056c3ff88bc3b275cd if (this.jumping && this.isAffectedByFluids()) { double d3; -@@ -3506,8 +3506,8 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3503,8 +3503,8 @@ public abstract class LivingEntity extends Entity implements Attackable { this.noJumpDelay = 0; } @@ -1243,7 +1243,7 @@ index fe35e4d86f7ce0ac12deb50e6d189a27a29c9f47..afa08d6e886ae9056c3ff88bc3b275cd this.xxa *= 0.98F; this.zza *= 0.98F; this.updateFallFlying(); -@@ -3534,8 +3534,8 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3531,8 +3531,8 @@ public abstract class LivingEntity extends Entity implements Attackable { this.travel(vec3d1); } @@ -1254,7 +1254,7 @@ index fe35e4d86f7ce0ac12deb50e6d189a27a29c9f47..afa08d6e886ae9056c3ff88bc3b275cd if (!this.level().isClientSide && !this.isDeadOrDying() && !freezeLocked) { // Paper - Freeze Tick Lock API int i = this.getTicksFrozen(); -@@ -3552,15 +3552,15 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3549,15 +3549,15 @@ public abstract class LivingEntity extends Entity implements Attackable { this.hurt(this.damageSources().freeze(), 1.0F); } diff --git a/patches/server/0270-Debug-Marker-API.patch b/patches/server/0270-Debug-Marker-API.patch index a8a269f56..9ae48d7ab 100644 --- a/patches/server/0270-Debug-Marker-API.patch +++ b/patches/server/0270-Debug-Marker-API.patch @@ -99,10 +99,10 @@ index 0afa519068a9d7bf5b16e201d9d768254094dc4f..3b153d96b08c5591b4a322a2bbd59862 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e6bfb8d49d2c83247660147dc7015ce6855ba516..4f1d12dabcbc121ce0755e3226435c7ffba9c078 100644 +index 405894a48f4fdf48b6c887ffc5b01e205a424857..9f73cda9dc6531ce7b6276ca2399fb706a06e6af 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3337,5 +3337,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3349,5 +3349,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetIdleTimer() { getHandle().resetLastActionTime(); } diff --git a/patches/server/0274-Add-death-screen-API.patch b/patches/server/0274-Add-death-screen-API.patch index 03e192673..c52dd489a 100644 --- a/patches/server/0274-Add-death-screen-API.patch +++ b/patches/server/0274-Add-death-screen-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4f1d12dabcbc121ce0755e3226435c7ffba9c078..b9966e639b671aa97cdbfc1da49a172be99ded1e 100644 +index 9f73cda9dc6531ce7b6276ca2399fb706a06e6af..afb0229d0d895f20dcc8475430118ec83e0f12e9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3375,5 +3375,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3387,5 +3387,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (this.getHandle().connection == null) return; this.getHandle().connection.send(new net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket(new net.minecraft.network.protocol.common.custom.GameTestClearMarkersDebugPayload())); } diff --git a/patches/server/0276-Implement-ram-and-rambar-commands.patch b/patches/server/0276-Implement-ram-and-rambar-commands.patch index 8b5412ec9..f86418eb3 100644 --- a/patches/server/0276-Implement-ram-and-rambar-commands.patch +++ b/patches/server/0276-Implement-ram-and-rambar-commands.patch @@ -18,7 +18,7 @@ index 9caab6541a224dc8f729a7d720eccda7bd83ed53..2fd376789bb24b14101e289733631a9a if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 41bd87096ab195c56695c5c5e46dc3c75e5a9078..6b5bcc87e96619877737fc8200075bdb99d59230 100644 +index 38eed0f72cb6247418944fdd0770e4f9bda38f9e..a19c2d10385d3bc81061f188e2874fe118ddd425 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 { @@ -45,7 +45,7 @@ index 41bd87096ab195c56695c5c5e46dc3c75e5a9078..6b5bcc87e96619877737fc8200075bdb nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur nbt.putBoolean("Purpur.CompassBar", this.compassBar); // Purpur } -@@ -2811,5 +2814,13 @@ public class ServerPlayer extends Player { +@@ -2814,5 +2817,13 @@ public class ServerPlayer extends Player { public void compassBar(boolean compassBar) { this.compassBar = compassBar; }