From cb0f04bd77350ec0bdf4bc03a68fcca7211c5682 Mon Sep 17 00:00:00 2001 From: granny Date: Sun, 7 Jul 2024 17:53:09 -0700 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@4d20922 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#11024) PaperMC/Paper@2fa5e0e Fix horse inventories (#11028) PaperMC/Paper@62ed302 Fix entity distance check when applying knockback closes #1553 --- gradle.properties | 2 +- patches/api/0002-Purpur-config-files.patch | 4 +- patches/api/0010-Bring-back-server-name.patch | 8 +-- patches/api/0012-Lagging-threshold.patch | 8 +-- ...therite-armor-grants-fire-resistance.patch | 4 +- ...the-ability-to-add-combustible-items.patch | 8 +-- patches/api/0037-Debug-Marker-API.patch | 8 +-- patches/api/0046-Stonecutter-damage.patch | 4 +- patches/server/0001-Rebrand.patch | 4 +- .../server/0003-Purpur-client-support.patch | 6 +- .../0005-Component-related-conveniences.patch | 4 +- patches/server/0006-Ridables.patch | 38 ++++++------ ...-Configurable-entity-base-attributes.patch | 20 +++--- .../0008-Barrels-and-enderchests-6-rows.patch | 4 +- patches/server/0010-AFK-API.patch | 14 ++--- ...-Minecart-settings-and-WASD-controls.patch | 6 +- ...able-loot-drops-on-death-by-cramming.patch | 6 +- ...Add-player-death-exp-control-options.patch | 4 +- ...urable-void-damage-height-and-damage.patch | 4 +- ...ispenser-curse-of-binding-protection.patch | 4 +- .../0057-Implement-elytra-settings.patch | 4 +- ...leport-to-spawn-if-outside-world-bor.patch | 8 +-- .../0075-Totems-work-in-inventory.patch | 4 +- ...justable-breeding-cooldown-to-config.patch | 8 +-- ...e-entity-breeding-times-configurable.patch | 18 +++--- .../0102-Add-boat-fall-damage-config.patch | 6 +- ...ble-chance-for-wolves-to-spawn-rabid.patch | 20 +++--- ...08-Configurable-default-collar-color.patch | 4 +- patches/server/0111-Implement-TPSBar.patch | 8 +-- ...therite-armor-grants-fire-resistance.patch | 6 +- ...iefing-bypass-to-everything-affected.patch | 4 +- .../server/0120-Fix-stuck-in-portals.patch | 4 +- ...oggle-for-water-sensitive-mob-damage.patch | 6 +- ...22-Config-to-always-tame-in-Creative.patch | 4 +- patches/server/0126-One-Punch-Man.patch | 4 +- ...-to-ignore-nearby-mobs-when-sleeping.patch | 4 +- ...-Config-to-change-max-number-of-bees.patch | 4 +- ...0153-Configurable-broadcast-settings.patch | 4 +- .../0154-Configurable-mob-blindness.patch | 4 +- ...nge-multiplier-critical-damage-value.patch | 4 +- ...165-API-for-any-mob-to-burn-daylight.patch | 8 +-- ...after-eating-food-fills-hunger-bar-c.patch | 8 +-- .../0171-Add-portal-permission-bypass.patch | 8 +-- ...omizable-sleeping-actionbar-messages.patch | 4 +- .../0184-Player-ridable-in-water-option.patch | 4 +- patches/server/0186-Add-compass-command.patch | 6 +- .../0187-Toggle-for-kinetic-damage.patch | 4 +- .../0198-Extended-OfflinePlayer-API.patch | 4 +- .../server/0213-Signs-allow-color-codes.patch | 4 +- .../0215-Mobs-always-drop-experience.patch | 6 +- .../0219-Mob-head-visibility-percent.patch | 4 +- ...-Shears-can-have-looting-enchantment.patch | 61 ++++++++++++++++++- ...Configurable-player-pickup-exp-delay.patch | 4 +- ...fig-for-mob-last-hurt-by-player-time.patch | 4 +- .../server/0251-Remove-Mojang-Profiler.patch | 30 ++++----- patches/server/0254-Debug-Marker-API.patch | 4 +- .../server/0257-Add-death-screen-API.patch | 4 +- ...58-Implement-ram-and-rambar-commands.patch | 6 +- .../0262-Milk-Keeps-Beneficial-Effects.patch | 4 +- 59 files changed, 260 insertions(+), 205 deletions(-) diff --git a/gradle.properties b/gradle.properties index 64527b3ad..d6b528e0c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.21-R0.1-SNAPSHOT mcVersion = 1.21 -paperCommit = 8d91b859cbeb64ecbc3916249fce26a085b320aa +paperCommit = 62ed302bf400a21b601bdb9382325eab31612f32 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0002-Purpur-config-files.patch b/patches/api/0002-Purpur-config-files.patch index 7bb973e55..e3a6b045b 100644 --- a/patches/api/0002-Purpur-config-files.patch +++ b/patches/api/0002-Purpur-config-files.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur config files diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index bbc4d7d3ca84642828f9a3f788ca26bba900d15b..205b684223cfa4cf0b3938e11926e854509bb7c9 100644 +index c043d239c449bf4bb13a24467f2f6c67b4d28d2d..c0911b100176f1a797a336a35a374c05a4769a2c 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2251,6 +2251,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2254,6 +2254,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi } // Paper end diff --git a/patches/api/0010-Bring-back-server-name.patch b/patches/api/0010-Bring-back-server-name.patch index 646286183..e77f0e7a6 100644 --- a/patches/api/0010-Bring-back-server-name.patch +++ b/patches/api/0010-Bring-back-server-name.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Bring back server name diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index b9b751ea0d11381e846d5f35f39f285c075c171a..6ee89d60fa560b38cef94d4516fe861f2776bf34 100644 +index 4705c1d91e39fcc3c608b1f1a38a30d063ccf06e..bd5147f2c1afd8de5a4be18688e2e95f8719ec7e 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2907,4 +2907,15 @@ public final class Bukkit { +@@ -2910,4 +2910,15 @@ public final class Bukkit { public static Server.Spigot spigot() { return server.spigot(); } @@ -25,10 +25,10 @@ index b9b751ea0d11381e846d5f35f39f285c075c171a..6ee89d60fa560b38cef94d4516fe861f + // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 205b684223cfa4cf0b3938e11926e854509bb7c9..6ed3d3108f3124151c863448c01a2d2e6c0ef53d 100644 +index c0911b100176f1a797a336a35a374c05a4769a2c..f78b65dff2246c13d653296f2fda76848579081d 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2552,4 +2552,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2555,4 +2555,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ boolean isOwnedByCurrentRegion(@NotNull Entity entity); // Paper end - Folia region threading API diff --git a/patches/api/0012-Lagging-threshold.patch b/patches/api/0012-Lagging-threshold.patch index e35b684c7..c6516e1d3 100644 --- a/patches/api/0012-Lagging-threshold.patch +++ b/patches/api/0012-Lagging-threshold.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Lagging threshold diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 6ee89d60fa560b38cef94d4516fe861f2776bf34..7c57fe9ce3ee80816a4d2bfe5af6920cebe39c85 100644 +index bd5147f2c1afd8de5a4be18688e2e95f8719ec7e..2bdd85284ae4c10fe26594be85aa9d8aa699b84f 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2917,5 +2917,14 @@ public final class Bukkit { +@@ -2920,5 +2920,14 @@ public final class Bukkit { public static String getServerName() { return server.getServerName(); } @@ -24,10 +24,10 @@ index 6ee89d60fa560b38cef94d4516fe861f2776bf34..7c57fe9ce3ee80816a4d2bfe5af6920c // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 6ed3d3108f3124151c863448c01a2d2e6c0ef53d..1cc70661901834cc4c00e8772ae57743d6007b74 100644 +index f78b65dff2246c13d653296f2fda76848579081d..988d00a4ad9330e338240db6b0bbe2b5157b342c 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2560,5 +2560,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2563,5 +2563,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull String getServerName(); diff --git a/patches/api/0021-Full-netherite-armor-grants-fire-resistance.patch b/patches/api/0021-Full-netherite-armor-grants-fire-resistance.patch index b17e9126d..4f1acab26 100644 --- a/patches/api/0021-Full-netherite-armor-grants-fire-resistance.patch +++ b/patches/api/0021-Full-netherite-armor-grants-fire-resistance.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Full netherite armor grants fire resistance diff --git a/src/main/java/org/bukkit/event/entity/EntityPotionEffectEvent.java b/src/main/java/org/bukkit/event/entity/EntityPotionEffectEvent.java -index c95943a0c6a2cc7685b0e2601460d92fa1b4b2f5..30ee288c516eb4f532ae5b2550c4ee4957833396 100644 +index 8fdfcbc7d20fe0af6b220ab94516247093637621..f6a8928408e11a5ae723366e4ea1280dfcc6111e 100644 --- a/src/main/java/org/bukkit/event/entity/EntityPotionEffectEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityPotionEffectEvent.java -@@ -217,6 +217,12 @@ public class EntityPotionEffectEvent extends EntityEvent implements Cancellable +@@ -216,6 +216,12 @@ public class EntityPotionEffectEvent extends EntityEvent implements Cancellable * When all effects are removed due to a bucket of milk. */ MILK, diff --git a/patches/api/0030-Added-the-ability-to-add-combustible-items.patch b/patches/api/0030-Added-the-ability-to-add-combustible-items.patch index ccff23472..78f874f52 100644 --- a/patches/api/0030-Added-the-ability-to-add-combustible-items.patch +++ b/patches/api/0030-Added-the-ability-to-add-combustible-items.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Added the ability to add combustible items diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 7c57fe9ce3ee80816a4d2bfe5af6920cebe39c85..11c99892e9537e4e84b598ee082cef1afe56f33a 100644 +index 2bdd85284ae4c10fe26594be85aa9d8aa699b84f..5fd070d4839e5b91cafeefdb9316e3bba102e5be 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2926,5 +2926,24 @@ public final class Bukkit { +@@ -2929,5 +2929,24 @@ public final class Bukkit { public static boolean isLagging() { return server.isLagging(); } @@ -34,10 +34,10 @@ index 7c57fe9ce3ee80816a4d2bfe5af6920cebe39c85..11c99892e9537e4e84b598ee082cef1a // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 1cc70661901834cc4c00e8772ae57743d6007b74..cb20702273cfb21dbd00f93138c166f018d75971 100644 +index 988d00a4ad9330e338240db6b0bbe2b5157b342c..1724bedbcdc67bfcc2d2d2be6b805901be5df169 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2567,5 +2567,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2570,5 +2570,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return True if lagging */ boolean isLagging(); diff --git a/patches/api/0037-Debug-Marker-API.patch b/patches/api/0037-Debug-Marker-API.patch index a598b3167..96069f04d 100644 --- a/patches/api/0037-Debug-Marker-API.patch +++ b/patches/api/0037-Debug-Marker-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Debug Marker API diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 11c99892e9537e4e84b598ee082cef1afe56f33a..0430e8238609336a4fa0bd220a7c44f6af264945 100644 +index 5fd070d4839e5b91cafeefdb9316e3bba102e5be..4a870c63cf240c4fa89534bf3ec1b06393efb967 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2945,5 +2945,89 @@ public final class Bukkit { +@@ -2948,5 +2948,89 @@ public final class Bukkit { public static void removeFuel(@NotNull Material material) { server.removeFuel(material); } @@ -99,10 +99,10 @@ index 11c99892e9537e4e84b598ee082cef1afe56f33a..0430e8238609336a4fa0bd220a7c44f6 // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index cb20702273cfb21dbd00f93138c166f018d75971..ceb81148f5fd17f00d1a0fb2df1f31c45aa6807d 100644 +index 1724bedbcdc67bfcc2d2d2be6b805901be5df169..1d594c256200d46882fafce5d2b33e60f0fa3a59 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2582,5 +2582,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2585,5 +2585,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @param material The material that will no longer be a fuel */ public void removeFuel(@NotNull Material material); diff --git a/patches/api/0046-Stonecutter-damage.patch b/patches/api/0046-Stonecutter-damage.patch index e80a56e87..d21f36991 100644 --- a/patches/api/0046-Stonecutter-damage.patch +++ b/patches/api/0046-Stonecutter-damage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Stonecutter damage diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java -index ca634147935c3bda8abad5dc73327e51381793a8..02c6a087dc41ffb004bcc20284135844188f8142 100644 +index ef5b2a0f18c1c126db0b0c4a4d2a57483680665a..e6c8ffc2583af754eaedc55160ef45c61c22e213 100644 --- a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java -@@ -303,7 +303,8 @@ public class EntityDamageEvent extends EntityEvent implements Cancellable { +@@ -307,7 +307,8 @@ public class EntityDamageEvent extends EntityEvent implements Cancellable { WORLD_BORDER, /** * Damage caused when an entity contacts a block such as a Cactus, diff --git a/patches/server/0001-Rebrand.patch b/patches/server/0001-Rebrand.patch index f58dfc4cd..7af915bfe 100644 --- a/patches/server/0001-Rebrand.patch +++ b/patches/server/0001-Rebrand.patch @@ -267,10 +267,10 @@ index e85b9bb3f9c225d289a4959921970b9963881199..c1e2d3a75b9d4710ab6d8b5c62af4bc1 // (async tasks must live with race-conditions if they attempt to cancel between these few lines of code) } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index d70c5546c8bd6f364fad9b24880b6867efdab644..aa38e21c30ae104e0f775bd29da4a49366d009f8 100644 +index 3137391cadef7c67019561e65fedd0664e689eae..eb5ca67ebfd008a0fcc3ab3fc2452a27d7b0a9f8 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -504,7 +504,7 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -498,7 +498,7 @@ public final class CraftMagicNumbers implements UnsafeValues { @Override public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() { diff --git a/patches/server/0003-Purpur-client-support.patch b/patches/server/0003-Purpur-client-support.patch index 55f22e2fa..dc2ac4c2a 100644 --- a/patches/server/0003-Purpur-client-support.patch +++ b/patches/server/0003-Purpur-client-support.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 89ed20e9c629cf39a24c7a0ce5c4fee41fc64fd5..92e9a5e38cc60e3ef6d7e2216bf4a85cb2464cdd 100644 +index 9d1e68c09fa7093cf0f6fa636f90cb15a44cbb38..c8f235df2cfe13458d2b259cdd4a4741db1839dd 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -301,6 +301,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @@ -43,10 +43,10 @@ index b43f87ff4b9853b5d4bbea5ff9686d64d9d0d26b..b66d4047b5e529f5f737efb0ff1edda8 try { String channels = payload.toString(com.google.common.base.Charsets.UTF_8); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7eea190ce8a62960ecc42ff56a4ef71b754184fb..3e912a8cf20c7a97efcbcb4fafa41827a71fa45b 100644 +index d01b45a48d412e3cb591acee101730704574448a..fcbed2db7a1bfa8e99fa5138a82a4deb3e7fcce9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3553,4 +3553,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3554,4 +3554,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { ((ca.spottedleaf.moonrise.patches.chunk_system.player.ChunkSystemServerPlayer)this.getHandle()) .moonrise$getViewDistanceHolder().setSendViewDistance(viewDistance); } diff --git a/patches/server/0005-Component-related-conveniences.patch b/patches/server/0005-Component-related-conveniences.patch index 83abecbbc..5d030002c 100644 --- a/patches/server/0005-Component-related-conveniences.patch +++ b/patches/server/0005-Component-related-conveniences.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Component related conveniences diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 92e9a5e38cc60e3ef6d7e2216bf4a85cb2464cdd..47afcbc699a992358871fe90929f71b4d47d9601 100644 +index c8f235df2cfe13458d2b259cdd4a4741db1839dd..3b55fcbbc442745bfae4b57b9c0029632d764183 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2004,6 +2004,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -2006,6 +2006,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple this.lastSentExp = -1; // CraftBukkit - Added to reset } diff --git a/patches/server/0006-Ridables.patch b/patches/server/0006-Ridables.patch index c51a90f30..ba8d5faed 100644 --- a/patches/server/0006-Ridables.patch +++ b/patches/server/0006-Ridables.patch @@ -46,7 +46,7 @@ index e079f4db4e4738f60a6fdbdbf5e4d1baf593a62f..0d07bc9b57336191ba788fb1eed24010 public LevelChunk getChunkIfLoaded(int x, int z) { return this.chunkSource.getChunkAtIfLoadedImmediately(x, z); // Paper - Use getChunkIfLoadedImmediately diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 47afcbc699a992358871fe90929f71b4d47d9601..ae41c955ec6cfe284fec5f8e79cb827ea20facc0 100644 +index 3b55fcbbc442745bfae4b57b9c0029632d764183..d21fd856d41f4047e449baaf910eaa9d37af5ca8 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -806,6 +806,15 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @@ -190,7 +190,7 @@ index 09fdea983772612ef3fff6b2da3cf469a34e4ec0..aa76a24421cdb3908a3544d92eb3d1e3 protected ParticleOptions getInkParticle() { return ParticleTypes.GLOW_SQUID_INK; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index b9cef93fe382b666bec04ca95eeaf2d8acbb3c40..1da16005b98be1fc01f277407579516df591e50e 100644 +index 77d2d93966b99f3dfa2b47a505db74dd2dacfb1e..d42e07a1317248784f5358626bc7ef5649ff0abe 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -237,9 +237,9 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -223,7 +223,7 @@ index b9cef93fe382b666bec04ca95eeaf2d8acbb3c40..1da16005b98be1fc01f277407579516d @Override protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) { -@@ -3503,8 +3504,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3538,8 +3539,10 @@ public abstract class LivingEntity extends Entity implements Attackable { this.pushEntities(); this.level().getProfiler().pop(); // Paper start - Add EntityMoveEvent @@ -236,7 +236,7 @@ index b9cef93fe382b666bec04ca95eeaf2d8acbb3c40..1da16005b98be1fc01f277407579516d Location from = new Location(this.level().getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO); Location to = new Location(this.level().getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot()); io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone()); -@@ -3514,6 +3517,21 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3549,6 +3552,21 @@ public abstract class LivingEntity extends Entity implements Attackable { this.absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch()); } } @@ -1966,10 +1966,10 @@ index caf4120721be8f2f7e2d737abbf73296cbe170b5..7357680b4fdf9250e086ba01531ade2b this.turtle.setSpeed(Mth.lerp(0.125F, this.turtle.getSpeed(), f1)); this.turtle.setDeltaMovement(this.turtle.getDeltaMovement().add(0.0D, (double) this.turtle.getSpeed() * d1 * 0.1D, 0.0D)); diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -index c382a8f95f612db881b9cdbd07316d1ca1cd9c4b..1ae38914582cfb17da882304c8bcba84a7793f79 100644 +index 31d7beca9797ab1a26792c3e30171a751c3846b1..a643c9043c9685c01ff858bc6002686fa527bbfa 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -@@ -126,9 +126,32 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder(this, Llama.class, 24.0F, 1.5D, 1.5D)); -@@ -140,6 +163,7 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder getModelRotationValues() { return this.modelRotationValues; diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java -index 32c10771db71c1cd190769614edd1c24762d32c6..e0c981cef6992c4a83813c6f77fe11841fe11c1c 100644 +index 8fd7e6308b99328dce559d9140cbe182e3121801..f71560b8183672640f00e00479e89237ac96558d 100644 --- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java +++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java -@@ -316,6 +316,23 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl +@@ -319,6 +319,23 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl return this.dashCooldown; } @@ -883,10 +883,10 @@ index d4aac30f9c9b356cec9fc1450a9e684faf030391..089edbcc1c92783e61e56beb32c47102 protected void registerGoals() { this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur diff --git a/src/main/java/net/minecraft/world/entity/monster/Bogged.java b/src/main/java/net/minecraft/world/entity/monster/Bogged.java -index 3fc3ab534b00f26cf2f1a79c20909f25021164a1..1dae6f96fe4dcac6d251639c6226a1d15b5ae691 100644 +index a378635f3310b85b38badf8258b20aa3e12a8da0..71efea7a6bfb5662890dae5faae27a3c80afad2b 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Bogged.java +++ b/src/main/java/net/minecraft/world/entity/monster/Bogged.java -@@ -60,6 +60,12 @@ public class Bogged extends AbstractSkeleton implements Shearable { +@@ -63,6 +63,12 @@ public class Bogged extends AbstractSkeleton implements Shearable { public boolean isControllable() { return level().purpurConfig.boggedControllable; } @@ -917,7 +917,7 @@ index 504996c8309fcd11de1dd166dee12d7e7db8db56..00c48623e8d53e4a00b9c3e40f6fd2c5 public boolean doHurtTarget(Entity target) { if (super.doHurtTarget(target)) { diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java -index bc9db0ebd4280fe4dcb43bc47d5b7fc1f831394b..2e14fb23e36a335bbff0b54cf63c5c096869ad25 100644 +index 14409ad5a039646e054345abe06d8d510e81f9ff..e702ba0adfe6b6ace68a9f94f6110fe0d4d0258b 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java @@ -252,6 +252,12 @@ public class Creeper extends Monster implements PowerableMob { diff --git a/patches/server/0008-Barrels-and-enderchests-6-rows.patch b/patches/server/0008-Barrels-and-enderchests-6-rows.patch index 4f33d1a0e..f05b82f60 100644 --- a/patches/server/0008-Barrels-and-enderchests-6-rows.patch +++ b/patches/server/0008-Barrels-and-enderchests-6-rows.patch @@ -37,10 +37,10 @@ index 5263a5eb7860f3b0ae18dbb65f562593630e01ee..ce62bea3341dc7b653180da74b156a59 public boolean isWhiteListed(GameProfile profile) { diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index 92200ab909a9ecabd75e98d4e15e8759dd2b9c86..9cfaab798a08b749f0920de0e2a9497d55d8d9f2 100644 +index 509d81d6d34137fc62c1eda0e550ccde56fb05a4..72e99a9d1058e65af2553ac1f3a62f92595e4c8f 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -196,6 +196,7 @@ public abstract class Player extends LivingEntity { +@@ -197,6 +197,7 @@ public abstract class Player extends LivingEntity { private int currentImpulseContextResetGraceTime; public boolean affectsSpawning = true; // Paper - Affects Spawning API public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage diff --git a/patches/server/0010-AFK-API.patch b/patches/server/0010-AFK-API.patch index 98a39abf8..dc61b2ff5 100644 --- a/patches/server/0010-AFK-API.patch +++ b/patches/server/0010-AFK-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] AFK API diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index ae41c955ec6cfe284fec5f8e79cb827ea20facc0..d39ade65011030b9079bf6001196dd411064e52b 100644 +index d21fd856d41f4047e449baaf910eaa9d37af5ca8..dd623a9059500b57bebf5e9f065f55647c6df403 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2367,8 +2367,68 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -2369,8 +2369,68 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple public void resetLastActionTime() { this.lastActionTime = Util.getMillis(); @@ -192,10 +192,10 @@ index aecb0ad814586bfc5e56755ee14379a69388b38c..98a2a469e3d62f963968ef1be3e97892 if (baseEntity == null) { if (this.isCombat && (!targetEntity.canBeSeenAsEnemy() || targetEntity.level().getDifficulty() == Difficulty.PEACEFUL)) { diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index ce184181529a9743cc6a7685dcb7cf572be65350..9ef4ab973508eb139f7a44feb4bd484d8e0e03cd 100644 +index 72e99a9d1058e65af2553ac1f3a62f92595e4c8f..5e404e470a28f04f5659503bcc6b66caf1880f3f 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -202,6 +202,13 @@ public abstract class Player extends LivingEntity { +@@ -203,6 +203,13 @@ public abstract class Player extends LivingEntity { public boolean fauxSleeping; public int oldLevel = -1; @@ -223,7 +223,7 @@ index 70c2017400168d4fef3c14462798edcfed58d4bf..3c84722c1075290b5301aa5122936d5e if (range < 0.0 || d < range * range) { return true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3e912a8cf20c7a97efcbcb4fafa41827a71fa45b..745e57d58966dbe60b2301818c23d25eecdb6dc2 100644 +index fcbed2db7a1bfa8e99fa5138a82a4deb3e7fcce9..e59d4ef4b3b2e3eaa2d592bb8e9d33259a8a9276 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -576,10 +576,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -243,7 +243,7 @@ index 3e912a8cf20c7a97efcbcb4fafa41827a71fa45b..745e57d58966dbe60b2301818c23d25e if (this.getHandle().connection == null) return; // Paper - Updates are possible before the player has fully joined for (ServerPlayer player : (List) this.server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { -@@ -3559,5 +3564,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3560,5 +3565,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean usesPurpurClient() { return getHandle().purpurClient; } @@ -288,7 +288,7 @@ index 5f51a9d16912ecbd9d015f5158d50563904a461f..d80e5f2280aa156bbe455f9638d84f82 public static int barrelRows = 3; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 00c74f8b834b20e71299329833395736a3073437..05b8c7da71454399a9e7d0732885326ddb6c9a15 100644 +index 65cbd35892ab48fccda9bccf2b4dd66be5c84a0d..42bff6f2d864a31dcb1c0087a4e0c9027ece001e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -91,6 +91,24 @@ public class PurpurWorldConfig { diff --git a/patches/server/0038-Minecart-settings-and-WASD-controls.patch b/patches/server/0038-Minecart-settings-and-WASD-controls.patch index b32e1111c..a7d106d2e 100644 --- a/patches/server/0038-Minecart-settings-and-WASD-controls.patch +++ b/patches/server/0038-Minecart-settings-and-WASD-controls.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Minecart settings and WASD controls diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index d39ade65011030b9079bf6001196dd411064e52b..71d96fad8cceb9f5699620510b9b8cc4a6fa94f2 100644 +index dd623a9059500b57bebf5e9f065f55647c6df403..21de886c1b35d3b21fe14a46ac190ab6e94610cc 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1181,6 +1181,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1183,6 +1183,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple if (this.isInvulnerableTo(source)) { return false; } else { @@ -149,7 +149,7 @@ index a768b07dae4bf75b68e3bc1d3de4b68fc7d23842..1b825b9012e24b12f83883f2056839c1 protected ResourceKey drops; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8db29e6a4abe42ccea3294aaad5258a88518a69b..437aebf391819fac0d17b1f21d179282a5ff3a4d 100644 +index c5b3a04d81834d6bdf7c4acd06ce4929d7a25769..2591b4f0d0e4e4d9e77efb821c9ae775182713b6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -96,6 +96,68 @@ public class PurpurWorldConfig { diff --git a/patches/server/0039-Disable-loot-drops-on-death-by-cramming.patch b/patches/server/0039-Disable-loot-drops-on-death-by-cramming.patch index e3d7164a2..f9513af2b 100644 --- a/patches/server/0039-Disable-loot-drops-on-death-by-cramming.patch +++ b/patches/server/0039-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 930b3d5e75fd1c1ec717904070b58e66b737c246..476fedac37b1cb3b6b75417996685ad0b38b26f4 100644 +index d6adbad99a6d5b94ce0c62bb2438332a0eaffa80..e9d8e80268c8bfa1cac3e1f6b986673605f36d91 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1836,7 +1836,8 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1853,7 +1853,8 @@ public abstract class LivingEntity extends Entity implements Attackable { boolean flag = this.lastHurtByPlayerTime > 0; this.dropEquipment(); // CraftBukkit - from below @@ -18,7 +18,7 @@ index 930b3d5e75fd1c1ec717904070b58e66b737c246..476fedac37b1cb3b6b75417996685ad0 this.dropFromLootTable(damageSource, flag); // Paper start final boolean prev = this.clearEquipmentSlots; -@@ -1845,6 +1846,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1862,6 +1863,7 @@ public abstract class LivingEntity extends Entity implements Attackable { // Paper end this.dropCustomDeathLoot(world, damageSource, flag); this.clearEquipmentSlots = prev; // Paper diff --git a/patches/server/0050-Add-player-death-exp-control-options.patch b/patches/server/0050-Add-player-death-exp-control-options.patch index cab80e199..3d58468d0 100644 --- a/patches/server/0050-Add-player-death-exp-control-options.patch +++ b/patches/server/0050-Add-player-death-exp-control-options.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add player death exp control options diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index a561079c018225e1189839dc2ec0acd588aaa1d0..0d29de1fdccc28ed5861ed236a3df80d0021a180 100644 +index 5e404e470a28f04f5659503bcc6b66caf1880f3f..9dd8dc8f0dc218c5a021d84649f364cd2f1b3a45 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1973,9 +1973,19 @@ public abstract class Player extends LivingEntity { +@@ -1976,9 +1976,19 @@ public abstract class Player extends LivingEntity { @Override protected int getBaseExperienceReward() { if (!this.level().getGameRules().getBoolean(GameRules.RULE_KEEPINVENTORY) && !this.isSpectator()) { diff --git a/patches/server/0051-Configurable-void-damage-height-and-damage.patch b/patches/server/0051-Configurable-void-damage-height-and-damage.patch index 27496d367..24bef5e5f 100644 --- a/patches/server/0051-Configurable-void-damage-height-and-damage.patch +++ b/patches/server/0051-Configurable-void-damage-height-and-damage.patch @@ -18,10 +18,10 @@ index bb16b73b6a99ca8fa1b25cc1f8a0aa77c5009d27..04c6736d792f9341e21ff76f0ee8efaf && (!(this instanceof Player player) || !player.getAbilities().invulnerable))) { // Paper end - Configurable nether ceiling damage diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 476fedac37b1cb3b6b75417996685ad0b38b26f4..c8e31fd851026123e2938052cad3c5d227aa12cf 100644 +index e9d8e80268c8bfa1cac3e1f6b986673605f36d91..515bb0229516da288699af5296273571e8a1aa8b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2581,7 +2581,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2616,7 +2616,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @Override protected void onBelowWorld() { diff --git a/patches/server/0053-Dispenser-curse-of-binding-protection.patch b/patches/server/0053-Dispenser-curse-of-binding-protection.patch index 1885b3a75..9749c1c11 100644 --- a/patches/server/0053-Dispenser-curse-of-binding-protection.patch +++ b/patches/server/0053-Dispenser-curse-of-binding-protection.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Dispenser curse of binding protection diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index c8e31fd851026123e2938052cad3c5d227aa12cf..cfd22afaf82b1f88d3d67e11b69ae82af41231cf 100644 +index 515bb0229516da288699af5296273571e8a1aa8b..c34aa707c306c52c28e6168218ef0177fc9ef624 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -4502,6 +4502,12 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4537,6 +4537,12 @@ public abstract class LivingEntity extends Entity implements Attackable { return EquipmentSlot.MAINHAND; } diff --git a/patches/server/0057-Implement-elytra-settings.patch b/patches/server/0057-Implement-elytra-settings.patch index f3647691d..817540373 100644 --- a/patches/server/0057-Implement-elytra-settings.patch +++ b/patches/server/0057-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 cfd22afaf82b1f88d3d67e11b69ae82af41231cf..7f69f6bd5d4b3e67dc222deec851372e1d40ba98 100644 +index c34aa707c306c52c28e6168218ef0177fc9ef624..e503b9e82ab62652d959b2e0c7d7738706222468 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3563,7 +3563,16 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3598,7 +3598,16 @@ public abstract class LivingEntity extends Entity implements Attackable { int j = i / 10; if (j % 2 == 0) { diff --git a/patches/server/0070-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch b/patches/server/0070-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch index 02d0cefe4..882bf90c8 100644 --- a/patches/server/0070-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch +++ b/patches/server/0070-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 71d96fad8cceb9f5699620510b9b8cc4a6fa94f2..128c0daae941cda386417dfa452e97a9b056441d 100644 +index 21de886c1b35d3b21fe14a46ac190ab6e94610cc..a81b8f310a21208269368cedeb8bc03ba9030137 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -3026,4 +3026,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -3035,4 +3035,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple return (CraftPlayer) super.getBukkitEntity(); } // CraftBukkit end @@ -36,7 +36,7 @@ index 71d96fad8cceb9f5699620510b9b8cc4a6fa94f2..128c0daae941cda386417dfa452e97a9 + // 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 0c607578b493496e79ea08cdf752828252a66c47..d207f9107b2d78bbe5f4eb400f825829ea4f4688 100644 +index e503b9e82ab62652d959b2e0c7d7738706222468..bfb6f5b07ac201cd99eb39bcdbd02353dd4b810c 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -462,6 +462,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -48,7 +48,7 @@ index 0c607578b493496e79ea08cdf752828252a66c47..d207f9107b2d78bbe5f4eb400f825829 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index fd3a0e995deb66afeb2675460e12012b4b5649a6..3f9a61add98784758272cc0e81d807550a57bae1 100644 +index 65b5ddde3496d1b04bedd410675a548f662aa073..7e416c24a336b53a71b53c020171a32adca6c95c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -241,6 +241,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0075-Totems-work-in-inventory.patch b/patches/server/0075-Totems-work-in-inventory.patch index f4b9740d4..7e8f4d2ce 100644 --- a/patches/server/0075-Totems-work-in-inventory.patch +++ b/patches/server/0075-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 131f6aa7678d026c3ea64006693439a45019be95..c0e0725408bf0a3937e19e28b2c05c2b23c9cdf7 100644 +index bfb6f5b07ac201cd99eb39bcdbd02353dd4b810c..13d29b9c6f683f716cbeb965bab96bc257b9e9e0 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1635,6 +1635,18 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1652,6 +1652,18 @@ public abstract class LivingEntity extends Entity implements Attackable { } } diff --git a/patches/server/0095-Add-adjustable-breeding-cooldown-to-config.patch b/patches/server/0095-Add-adjustable-breeding-cooldown-to-config.patch index 7ee6c690d..91dffc675 100644 --- a/patches/server/0095-Add-adjustable-breeding-cooldown-to-config.patch +++ b/patches/server/0095-Add-adjustable-breeding-cooldown-to-config.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add adjustable breeding cooldown to config diff --git a/src/main/java/net/minecraft/world/entity/animal/Animal.java b/src/main/java/net/minecraft/world/entity/animal/Animal.java -index e96fca314bebea5fcdb684d3478af1b6dc5f13cf..5ab29081ab9f5dcf355d1dac2f2a854149ab4699 100644 +index 1808e1b01afa3041a54c9c9a7586d4d61960527a..5b523f3fa323378a8f96f58a9e252d2ec0d114a7 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Animal.java +++ b/src/main/java/net/minecraft/world/entity/animal/Animal.java -@@ -146,7 +146,7 @@ public abstract class Animal extends AgeableMob { +@@ -147,7 +147,7 @@ public abstract class Animal extends AgeableMob { if (this.isFood(itemstack)) { int i = this.getAge(); @@ -17,7 +17,7 @@ index e96fca314bebea5fcdb684d3478af1b6dc5f13cf..5ab29081ab9f5dcf355d1dac2f2a8541 final ItemStack breedCopy = itemstack.copy(); // Paper - Fix EntityBreedEvent copying this.usePlayerItem(player, hand, itemstack); this.setInLove(player, breedCopy); // Paper - Fix EntityBreedEvent copying -@@ -234,12 +234,20 @@ public abstract class Animal extends AgeableMob { +@@ -235,12 +235,20 @@ public abstract class Animal extends AgeableMob { AgeableMob entityageable = this.getBreedOffspring(world, other); if (entityageable != null) { @@ -42,7 +42,7 @@ index e96fca314bebea5fcdb684d3478af1b6dc5f13cf..5ab29081ab9f5dcf355d1dac2f2a8541 EntityBreedEvent entityBreedEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(entityageable, this, other, breeder, this.breedItem, experience); if (entityBreedEvent.isCancelled()) { diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index edd0f51826ebf77a790bcb8c465a116ab9830922..9810b1cb4c771a01df93fd45e2f94019edabf6a5 100644 +index b06d7ac5bb109bf88cf526d3bf5ac1416927a03b..cf9525f94058e9c3e84d71b08b49c21c960f6e99 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -181,6 +181,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl diff --git a/patches/server/0096-Make-entity-breeding-times-configurable.patch b/patches/server/0096-Make-entity-breeding-times-configurable.patch index ed621aaa6..c25ad7af6 100644 --- a/patches/server/0096-Make-entity-breeding-times-configurable.patch +++ b/patches/server/0096-Make-entity-breeding-times-configurable.patch @@ -22,10 +22,10 @@ index 0a608418f87b71d5d71706712e1f82da0d7e4d34..03e7ca83e4c28dfaa5b52bcb100bd542 // CraftBukkit end world.broadcastEntityEvent(entityvillager2, (byte) 12); diff --git a/src/main/java/net/minecraft/world/entity/animal/Animal.java b/src/main/java/net/minecraft/world/entity/animal/Animal.java -index 5ab29081ab9f5dcf355d1dac2f2a854149ab4699..27250278968233b3de05c365ae304a4121887160 100644 +index 5b523f3fa323378a8f96f58a9e252d2ec0d114a7..91c1093ecef7c8917b69674ffc936b4ae71871e2 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Animal.java +++ b/src/main/java/net/minecraft/world/entity/animal/Animal.java -@@ -42,6 +42,7 @@ public abstract class Animal extends AgeableMob { +@@ -43,6 +43,7 @@ public abstract class Animal extends AgeableMob { @Nullable public UUID loveCause; public ItemStack breedItem; // CraftBukkit - Add breedItem variable @@ -33,7 +33,7 @@ index 5ab29081ab9f5dcf355d1dac2f2a854149ab4699..27250278968233b3de05c365ae304a41 protected Animal(EntityType type, Level world) { super(type, world); -@@ -275,8 +276,10 @@ public abstract class Animal extends AgeableMob { +@@ -276,8 +277,10 @@ public abstract class Animal extends AgeableMob { entityplayer.awardStat(Stats.ANIMALS_BRED); CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer, this, entityanimal, entityageable); } // Paper @@ -284,10 +284,10 @@ index 60736df3b726c6a408c8b6aae6f0bd3e3efd32b0..751fe2afdea34a6776d428675c392411 this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos... } diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -index 3268f07668eaa0322aeb77a158dfb2996d16dfcb..da375fb6907e0c46ed176bc76a84f2666227547c 100644 +index 133aa48278ca51c74b5eb8900202e7076119e445..0e862d4f044683ec46c32929310641af5c1cc2d0 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -@@ -154,6 +154,11 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder getModelRotationValues() { return this.modelRotationValues; diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java -index e0c981cef6992c4a83813c6f77fe11841fe11c1c..260138fcf0191391b68cb9d03cc55e26873bc001 100644 +index f71560b8183672640f00e00479e89237ac96558d..c567b946e013852acfae7f5a417a292706e218f4 100644 --- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java +++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java -@@ -89,6 +89,10 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl +@@ -92,6 +92,10 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl public boolean dismountsUnderwater() { return level().purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level().purpurConfig.camelRidableInWater; } diff --git a/patches/server/0102-Add-boat-fall-damage-config.patch b/patches/server/0102-Add-boat-fall-damage-config.patch index b4826dcbb..ab5b0f59d 100644 --- a/patches/server/0102-Add-boat-fall-damage-config.patch +++ b/patches/server/0102-Add-boat-fall-damage-config.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add boat fall damage config diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 128c0daae941cda386417dfa452e97a9b056441d..7737c2b5aaa8ad8367915991b75aff00d041efab 100644 +index a81b8f310a21208269368cedeb8bc03ba9030137..8f0088dcca65a374351996a28198ba9706ab85e0 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1181,7 +1181,16 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1183,7 +1183,16 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple if (this.isInvulnerableTo(source)) { return false; } else { @@ -27,7 +27,7 @@ index 128c0daae941cda386417dfa452e97a9b056441d..7737c2b5aaa8ad8367915991b75aff00 if (!flag && this.spawnInvulnerableTime > 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index fd83a86d245b775a884d33528c80ae53257f3a95..9c4511d478a0ad5f5757470454063bae52b1127b 100644 +index ac1a1f6036a4d2ed2401cf07dc834df997788cd4..fa91c4afeaf1a01d27fea3741e85cc5721d80d14 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -113,6 +113,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0107-Configurable-chance-for-wolves-to-spawn-rabid.patch b/patches/server/0107-Configurable-chance-for-wolves-to-spawn-rabid.patch index ba8c28362..c943e21e7 100644 --- a/patches/server/0107-Configurable-chance-for-wolves-to-spawn-rabid.patch +++ b/patches/server/0107-Configurable-chance-for-wolves-to-spawn-rabid.patch @@ -7,10 +7,10 @@ Configurable chance to spawn a wolf that is rabid. Rabid wolves attack all players, mobs, and animals. diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -index da375fb6907e0c46ed176bc76a84f2666227547c..0a3b883ffe3627c5ab7c763f4ecaef4f70e1e144 100644 +index 0e862d4f044683ec46c32929310641af5c1cc2d0..77156a6ccd171ed8fd36d71fcd3f0b77ba4f5432 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -@@ -106,6 +106,37 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder(this, Llama.class, 24.0F, 1.5D, 1.5D)); @@ -87,7 +87,7 @@ index da375fb6907e0c46ed176bc76a84f2666227547c..0a3b883ffe3627c5ab7c763f4ecaef4f this.goalSelector.addGoal(4, new LeapAtTargetGoal(this, 0.4F)); this.goalSelector.addGoal(5, new MeleeAttackGoal(this, 1.0D, true)); this.goalSelector.addGoal(6, new FollowOwnerGoal(this, 1.0D, 10.0F, 2.0F)); -@@ -179,7 +235,7 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder(this, Player.class, 10, true, false, this::isAngryAt)); @@ -96,7 +96,7 @@ index da375fb6907e0c46ed176bc76a84f2666227547c..0a3b883ffe3627c5ab7c763f4ecaef4f this.targetSelector.addGoal(6, new NonTameRandomTargetGoal<>(this, Turtle.class, false, Turtle.BABY_ON_LAND_SELECTOR)); this.targetSelector.addGoal(7, new NearestAttackableTargetGoal<>(this, AbstractSkeleton.class, false)); this.targetSelector.addGoal(8, new ResetUniversalAngerTargetGoal<>(this, true)); -@@ -228,6 +284,7 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder { nbt.putString("variant", resourcekey.location().toString()); }); -@@ -245,6 +302,10 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder stored = Lists.newArrayList(); + private List stored = Lists.newArrayList(); @Nullable public BlockPos savedFlowerPos; - public int maxBees = 3; // CraftBukkit - allow setting max amount of bees a hive can hold diff --git a/patches/server/0153-Configurable-broadcast-settings.patch b/patches/server/0153-Configurable-broadcast-settings.patch index e46b27dac..abab342e3 100644 --- a/patches/server/0153-Configurable-broadcast-settings.patch +++ b/patches/server/0153-Configurable-broadcast-settings.patch @@ -17,10 +17,10 @@ index b286b157bba78021efa18f01bc91b067b0bd5874..fc87e3cfff1221a6cbaf3463ce972870 // Paper end } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 27acdaa3d72198c822b92f6a0d27b7b1c118b539..11c8f5d0849ebdcda80d7298726179f698c71c7a 100644 +index c9367faa95c091fab529afeb5011330baf9e7ac8..f103848df48acdaca1c5182da11cae2ea4090e41 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1081,6 +1081,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1083,6 +1083,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple })); PlayerTeam scoreboardteam = this.getTeam(); diff --git a/patches/server/0154-Configurable-mob-blindness.patch b/patches/server/0154-Configurable-mob-blindness.patch index b697e6577..71eb724e4 100644 --- a/patches/server/0154-Configurable-mob-blindness.patch +++ b/patches/server/0154-Configurable-mob-blindness.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Configurable mob blindness Ported from https://github.com/raltsmc/mobblindness diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index da28941d9a374be39cf7c1620f48ddaaa89a9010..ee48e98e6981225b486ea933d51fb4b9cc73fa18 100644 +index 578ab44fedb1522ed91a9f65bd2dda2273882ed2..9ccdd607d23e00974b6a44f656885ee6fd4d39ad 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1042,6 +1042,17 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1043,6 +1043,17 @@ public abstract class LivingEntity extends Entity implements Attackable { if (entitytypes == EntityType.SKELETON && itemstack.is(Items.SKELETON_SKULL) || entitytypes == EntityType.ZOMBIE && itemstack.is(Items.ZOMBIE_HEAD) || entitytypes == EntityType.PIGLIN && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.PIGLIN_BRUTE && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.CREEPER && itemstack.is(Items.CREEPER_HEAD)) { d0 *= 0.5D; } diff --git a/patches/server/0160-Add-config-change-multiplier-critical-damage-value.patch b/patches/server/0160-Add-config-change-multiplier-critical-damage-value.patch index 196148cfb..1759e693a 100644 --- a/patches/server/0160-Add-config-change-multiplier-critical-damage-value.patch +++ b/patches/server/0160-Add-config-change-multiplier-critical-damage-value.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add config change multiplier critical damage value diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index 1974bfc133e582ce1fd6db7d44b72898582e5d12..233e9683add1c64e85bd254aaba970053d637803 100644 +index 33c1b2b387e7412a001841d1bcbb3966c188c1a3..40cf2eb78b02adc15e44189021005f147e00185c 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1347,7 +1347,7 @@ public abstract class Player extends LivingEntity { +@@ -1348,7 +1348,7 @@ public abstract class Player extends LivingEntity { flag2 = flag2 && !this.level().paperConfig().entities.behavior.disablePlayerCrits; // Paper - Toggleable player crits if (flag2) { damagesource = damagesource.critical(true); // Paper start - critical damage API diff --git a/patches/server/0165-API-for-any-mob-to-burn-daylight.patch b/patches/server/0165-API-for-any-mob-to-burn-daylight.patch index a177a6952..2e4afdde4 100644 --- a/patches/server/0165-API-for-any-mob-to-burn-daylight.patch +++ b/patches/server/0165-API-for-any-mob-to-burn-daylight.patch @@ -33,7 +33,7 @@ index 13afec25f9d08401d9c5adee211e422159f2ba02..0d4eb7fb3a62db8691d49d6963aec7ca this.id = Entity.ENTITY_COUNTER.incrementAndGet(); this.passengers = ImmutableList.of(); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 6da2be7115f50f1839f3610bfdd4262f70d11b07..8b6f8c6dd4c7acbceb0925bd6fd3d23e5186a578 100644 +index 9ccdd607d23e00974b6a44f656885ee6fd4d39ad..686ce519b70e2193e207aca16f4ef15cb36840b5 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -286,6 +286,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -44,7 +44,7 @@ index 6da2be7115f50f1839f3610bfdd4262f70d11b07..8b6f8c6dd4c7acbceb0925bd6fd3d23e @Override public float getBukkitYaw() { -@@ -816,6 +817,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -817,6 +818,7 @@ public abstract class LivingEntity extends Entity implements Attackable { dataresult.resultOrPartial(logger::error).ifPresent((nbtbase) -> { nbt.put("Brain", nbtbase); }); @@ -52,7 +52,7 @@ index 6da2be7115f50f1839f3610bfdd4262f70d11b07..8b6f8c6dd4c7acbceb0925bd6fd3d23e } @Override -@@ -904,6 +906,11 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -905,6 +907,11 @@ public abstract class LivingEntity extends Entity implements Attackable { this.brain = this.makeBrain(new Dynamic(NbtOps.INSTANCE, nbt.get("Brain"))); } @@ -64,7 +64,7 @@ index 6da2be7115f50f1839f3610bfdd4262f70d11b07..8b6f8c6dd4c7acbceb0925bd6fd3d23e } // CraftBukkit start -@@ -3585,6 +3592,34 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3620,6 +3627,34 @@ public abstract class LivingEntity extends Entity implements Attackable { this.hurt(this.damageSources().drown(), 1.0F); } diff --git a/patches/server/0169-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch b/patches/server/0169-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch index edbfd33af..0ffb6840a 100644 --- a/patches/server/0169-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch +++ b/patches/server/0169-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Burp delay, burp after eating food fills hunger bar diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index 233e9683add1c64e85bd254aaba970053d637803..c1921219cdea543f02d98cacdfad296eee224f2b 100644 +index 40cf2eb78b02adc15e44189021005f147e00185c..1552312aa9740c74533821594da7da705a6f5f70 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -197,6 +197,7 @@ public abstract class Player extends LivingEntity { +@@ -198,6 +198,7 @@ public abstract class Player extends LivingEntity { public boolean affectsSpawning = true; // Paper - Affects Spawning API public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage public int sixRowEnderchestSlotCount = -1; // Purpur @@ -17,7 +17,7 @@ index 233e9683add1c64e85bd254aaba970053d637803..c1921219cdea543f02d98cacdfad296e // CraftBukkit start public boolean fauxSleeping; -@@ -272,6 +273,12 @@ public abstract class Player extends LivingEntity { +@@ -273,6 +274,12 @@ public abstract class Player extends LivingEntity { @Override public void tick() { @@ -30,7 +30,7 @@ index 233e9683add1c64e85bd254aaba970053d637803..c1921219cdea543f02d98cacdfad296e this.noPhysics = this.isSpectator(); if (this.isSpectator()) { this.setOnGround(false); -@@ -2373,7 +2380,7 @@ public abstract class Player extends LivingEntity { +@@ -2376,7 +2383,7 @@ public abstract class Player extends LivingEntity { public ItemStack eat(Level world, ItemStack stack, FoodProperties foodComponent) { this.getFoodData().eat(stack, foodComponent); // CraftBukkit this.awardStat(Stats.ITEM_USED.get(stack.getItem())); diff --git a/patches/server/0171-Add-portal-permission-bypass.patch b/patches/server/0171-Add-portal-permission-bypass.patch index 2703dc300..49fc1ddba 100644 --- a/patches/server/0171-Add-portal-permission-bypass.patch +++ b/patches/server/0171-Add-portal-permission-bypass.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add portal permission bypass diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index c1921219cdea543f02d98cacdfad296eee224f2b..177475facb1c269cd9b4a28e0aa18189baf1b909 100644 +index 1552312aa9740c74533821594da7da705a6f5f70..09e1faae9c22c1062e3de5257c82b2d156e65b4f 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -198,6 +198,7 @@ public abstract class Player extends LivingEntity { +@@ -199,6 +199,7 @@ public abstract class Player extends LivingEntity { public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage public int sixRowEnderchestSlotCount = -1; // Purpur public int burpDelay = 0; // Purpur @@ -17,7 +17,7 @@ index c1921219cdea543f02d98cacdfad296eee224f2b..177475facb1c269cd9b4a28e0aa18189 // CraftBukkit start public boolean fauxSleeping; diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java -index 519dc6a5e000b3dfbf8d9383f5944897b39a8c3e..7c6e63ad4b7842031b49260a3a7fb1bdb128e864 100644 +index c3f37df133250e1a948f3b58d432fbee83a3c2e3..74d9a8a61365f1244471dbff8eb91dad3afaab51 100644 --- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java @@ -129,7 +129,7 @@ public class NetherPortalBlock extends Block implements Portal { @@ -30,7 +30,7 @@ index 519dc6a5e000b3dfbf8d9383f5944897b39a8c3e..7c6e63ad4b7842031b49260a3a7fb1bd return 0; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 41f3cdec7deabf34358b8087df77169f85a5b919..90265b6f2acd43713b61e277799dd31311b6b7e2 100644 +index c1bad887d1340ebc7c63fda3dceff929e4a44517..69304fa6eb65dd37e74db9ad62eac0bddfdea2c1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -265,6 +265,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { diff --git a/patches/server/0181-Customizable-sleeping-actionbar-messages.patch b/patches/server/0181-Customizable-sleeping-actionbar-messages.patch index da7a43804..db62c3b2f 100644 --- a/patches/server/0181-Customizable-sleeping-actionbar-messages.patch +++ b/patches/server/0181-Customizable-sleeping-actionbar-messages.patch @@ -38,10 +38,10 @@ index ddb2e8d5a692cd76d67f867fc8bcca3c9b24bab3..be87e350b0d808305a389baf447c0ed0 } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 11c8f5d0849ebdcda80d7298726179f698c71c7a..70103438f70a970dedf5bd4d5e42ae42e310ccea 100644 +index f103848df48acdaca1c5182da11cae2ea4090e41..a18c1c598644c0682b21fd4a55aeb910a211e227 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1570,7 +1570,19 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1572,7 +1572,19 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple }); if (!this.serverLevel().canSleepThroughNights()) { diff --git a/patches/server/0184-Player-ridable-in-water-option.patch b/patches/server/0184-Player-ridable-in-water-option.patch index a2d8b0fa2..25bd54907 100644 --- a/patches/server/0184-Player-ridable-in-water-option.patch +++ b/patches/server/0184-Player-ridable-in-water-option.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player ridable in water option diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index 177475facb1c269cd9b4a28e0aa18189baf1b909..4d283ffd0819a82616679dbdb70892e84bdd12de 100644 +index 09e1faae9c22c1062e3de5257c82b2d156e65b4f..05ed7bfd75a1e30d74b12a068303a786222a2649 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -2084,6 +2084,13 @@ public abstract class Player extends LivingEntity { +@@ -2087,6 +2087,13 @@ public abstract class Player extends LivingEntity { return slot != EquipmentSlot.BODY; } diff --git a/patches/server/0186-Add-compass-command.patch b/patches/server/0186-Add-compass-command.patch index 5bce0c91e..366e04b9b 100644 --- a/patches/server/0186-Add-compass-command.patch +++ b/patches/server/0186-Add-compass-command.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add compass command diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index ebdfbb69f52ec180cadf1187d310f15d221584b2..c32d172c161e6e537ee8e60b36bcb402e1ddb876 100644 +index 9f86a0397c0b64cb31dad245e2dc84d0fadd42d7..a66e2d78722847dec4e9d4aba8e6968ef009fcf4 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java @@ -255,6 +255,7 @@ public class Commands { @@ -17,7 +17,7 @@ index ebdfbb69f52ec180cadf1187d310f15d221584b2..c32d172c161e6e537ee8e60b36bcb402 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 70103438f70a970dedf5bd4d5e42ae42e310ccea..8d5be2bad86ccec94338b0135d46e5132a824413 100644 +index a18c1c598644c0682b21fd4a55aeb910a211e227..1c5dd59300db47391981f7c7737c80c5d68bb3aa 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -303,6 +303,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @@ -44,7 +44,7 @@ index 70103438f70a970dedf5bd4d5e42ae42e310ccea..8d5be2bad86ccec94338b0135d46e513 } // CraftBukkit start - World fallback code, either respawn location or global spawn -@@ -3081,5 +3084,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -3090,5 +3093,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple public void tpsBar(boolean tpsBar) { this.tpsBar = tpsBar; } diff --git a/patches/server/0187-Toggle-for-kinetic-damage.patch b/patches/server/0187-Toggle-for-kinetic-damage.patch index 2178245f9..1cb1b9f5f 100644 --- a/patches/server/0187-Toggle-for-kinetic-damage.patch +++ b/patches/server/0187-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 8b6f8c6dd4c7acbceb0925bd6fd3d23e5186a578..d8be57f2ff13c9492acb1d07c1aa6198793832d8 100644 +index 686ce519b70e2193e207aca16f4ef15cb36840b5..817332fcfb45193cd19ff6ef6d702bf8c09f576f 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2988,6 +2988,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3023,6 +3023,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/0198-Extended-OfflinePlayer-API.patch b/patches/server/0198-Extended-OfflinePlayer-API.patch index 46a0e8d0c..fb0d723e7 100644 --- a/patches/server/0198-Extended-OfflinePlayer-API.patch +++ b/patches/server/0198-Extended-OfflinePlayer-API.patch @@ -243,10 +243,10 @@ index 9d93130f23addb18b97d7f5ec013faef17a74529..29d2fb87a65778926aea2cfc7a5b486c + // Purpur end - OfflinePlayer API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 33425cdcde10f6446f059b290d4c372debcb9c0b..e71ac12c107f2cb1b89277605b08884bc3ad27d7 100644 +index d6cd989a346f576cca416d14fd7fbab0b4f57e3a..cda45d172f526098a40eaa624ad3a84ed1a888d1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2758,6 +2758,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2759,6 +2759,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().getAbilities().walkingSpeed * 2f; } diff --git a/patches/server/0213-Signs-allow-color-codes.patch b/patches/server/0213-Signs-allow-color-codes.patch index c03a14fc0..4a04001ac 100644 --- a/patches/server/0213-Signs-allow-color-codes.patch +++ b/patches/server/0213-Signs-allow-color-codes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Signs allow color codes diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 8d5be2bad86ccec94338b0135d46e5132a824413..69dc4f01f7156b70c51cd5facc2dd31d10a7aea7 100644 +index 1c5dd59300db47391981f7c7737c80c5d68bb3aa..14cdfe81c61c5c324f8b5c7687814274c091e205 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1707,6 +1707,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1709,6 +1709,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @Override public void openTextEdit(SignBlockEntity sign, boolean front) { diff --git a/patches/server/0215-Mobs-always-drop-experience.patch b/patches/server/0215-Mobs-always-drop-experience.patch index 2f2cc6a9c..2921670e8 100644 --- a/patches/server/0215-Mobs-always-drop-experience.patch +++ b/patches/server/0215-Mobs-always-drop-experience.patch @@ -389,10 +389,10 @@ index 099fd99cf3d455329487fbbf572bb0b27b662e72..15a8c4e2772e1529204e3892914e49f9 this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos... } diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -index b79707bafd7c18eda8ea64bc33d2262515d80642..a2df7cf565157db2f8e0f0d33778c8d8dea1cd95 100644 +index bd9d07665d113c2b15d499a49533436405ed7a4e..3d032d3f53cc3281bad173f7f9d139101ef6beaa 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -@@ -225,6 +225,11 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder entitytypes = entity.getType(); diff --git a/patches/server/0221-Shears-can-have-looting-enchantment.patch b/patches/server/0221-Shears-can-have-looting-enchantment.patch index 4cd430a35..7242322da 100644 --- a/patches/server/0221-Shears-can-have-looting-enchantment.patch +++ b/patches/server/0221-Shears-can-have-looting-enchantment.patch @@ -126,18 +126,73 @@ index b3bb0d55da0278d4981830f7073bb326bc836215..7bd2d2b9bb1275fa8e4bdc6d498a59e4 } diff --git a/src/main/java/net/minecraft/world/entity/monster/Bogged.java b/src/main/java/net/minecraft/world/entity/monster/Bogged.java -index 1dae6f96fe4dcac6d251639c6226a1d15b5ae691..907d88f40f8c6c1d0612be4d31b63220fecb0ea1 100644 +index 71efea7a6bfb5662890dae5faae27a3c80afad2b..f3aae2c50d05a05ad4aef36d432b87b431ba07e8 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Bogged.java +++ b/src/main/java/net/minecraft/world/entity/monster/Bogged.java -@@ -182,7 +182,7 @@ public class Bogged extends AbstractSkeleton implements Shearable { +@@ -104,7 +104,7 @@ public class Bogged extends AbstractSkeleton implements Shearable { + if (itemstack.is(Items.SHEARS) && this.readyForShearing()) { + // CraftBukkit start + // Paper start - expose drops in event +- java.util.List drops = generateDefaultDrops(); ++ java.util.List drops = generateDefaultDrops(net.minecraft.world.item.enchantment.EnchantmentHelper.getItemEnchantmentLevel(net.minecraft.world.item.enchantment.Enchantments.LOOTING, itemstack)); // Purpur + final org.bukkit.event.player.PlayerShearEntityEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.handlePlayerShearEntityEvent(player, this, itemstack, hand, drops); + if (event != null) { + if (event.isCancelled()) { +@@ -171,7 +171,7 @@ public class Bogged extends AbstractSkeleton implements Shearable { + @Override + public void shear(SoundSource shearedSoundCategory) { + // Paper start - shear drop API +- this.shear(shearedSoundCategory, generateDefaultDrops()); ++ this.shear(shearedSoundCategory, generateDefaultDrops(0)); // Purpur + } + + @Override +@@ -184,7 +184,7 @@ public class Bogged extends AbstractSkeleton implements Shearable { + + private void spawnShearedMushrooms() { + // Paper start - shear drops API +- this.spawnDrops(generateDefaultDrops()); // Only here for people calling spawnSheardMushrooms. Not used otherwise. ++ this.spawnDrops(generateDefaultDrops(0)); // Only here for people calling spawnSheardMushrooms. Not used otherwise. // Purpur + } + private void spawnDrops(java.util.List drops) { + drops.forEach(stack -> { +@@ -193,14 +193,22 @@ public class Bogged extends AbstractSkeleton implements Shearable { + this.forceDrops = false; + }); + } +- private void generateShearedMushrooms(java.util.function.Consumer stackConsumer) { ++ private void generateShearedMushrooms(java.util.function.Consumer stackConsumer, int looting) { // Purpur + // Paper end - shear drops API + Level world = this.level(); + + if (world instanceof ServerLevel worldserver) { + LootTable loottable = worldserver.getServer().reloadableRegistries().getLootTable(BuiltInLootTables.BOGGED_SHEAR); + LootParams lootparams = (new LootParams.Builder(worldserver)).withParameter(LootContextParams.ORIGIN, this.position()).withParameter(LootContextParams.THIS_ENTITY, this).create(LootContextParamSets.SHEARING); +- ObjectListIterator objectlistiterator = loottable.getRandomItems(lootparams).iterator(); ++ // Purpur start ++ it.unimi.dsi.fastutil.objects.ObjectArrayList randomItemsList = loottable.getRandomItems(lootparams); ++ if (org.purpurmc.purpur.PurpurConfig.allowShearsLooting && looting > 0) { ++ for (int i = 0; i < looting; i++) { ++ randomItemsList.addAll(loottable.getRandomItems(lootparams)); ++ } ++ } ++ ObjectListIterator objectlistiterator = randomItemsList.iterator(); ++ // Purpur end + + while (objectlistiterator.hasNext()) { + ItemStack itemstack = (ItemStack) objectlistiterator.next(); +@@ -213,9 +221,9 @@ public class Bogged extends AbstractSkeleton implements Shearable { // Paper start - shear drops API @Override - public java.util.List generateDefaultDrops() { + public java.util.List generateDefaultDrops(int looting) { // Purpur final java.util.List drops = new java.util.ArrayList<>(); - this.generateShearedMushrooms(drops::add); +- this.generateShearedMushrooms(drops::add); ++ this.generateShearedMushrooms(drops::add, looting); // Purpur return drops; + } + // Paper end - shear drops API diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java index 3032944e7ae61f31ceb72ad688add99f2451f33e..346113abdc8da4a2fe69650642515460086a357a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/patches/server/0225-Configurable-player-pickup-exp-delay.patch b/patches/server/0225-Configurable-player-pickup-exp-delay.patch index c12d198b1..c8cfb32c3 100644 --- a/patches/server/0225-Configurable-player-pickup-exp-delay.patch +++ b/patches/server/0225-Configurable-player-pickup-exp-delay.patch @@ -22,10 +22,10 @@ index caaeeb63b8bf0d3709fc38266a7e8c48211f5c0b..1cdf71a76c629bcc42da7fcc451b7031 int i = this.repairPlayerItems(entityplayer, this.value); diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index 4d283ffd0819a82616679dbdb70892e84bdd12de..42f9a2046aa8086aecbfa2fa0b604b21c2b70754 100644 +index 05ed7bfd75a1e30d74b12a068303a786222a2649..330b21946564e6a7b463a258c02fee3f91e0f057 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -636,7 +636,7 @@ public abstract class Player extends LivingEntity { +@@ -637,7 +637,7 @@ public abstract class Player extends LivingEntity { while (iterator.hasNext()) { Entity entity = (Entity) iterator.next(); diff --git a/patches/server/0233-Config-for-mob-last-hurt-by-player-time.patch b/patches/server/0233-Config-for-mob-last-hurt-by-player-time.patch index 64ad54e9c..2146642c5 100644 --- a/patches/server/0233-Config-for-mob-last-hurt-by-player-time.patch +++ b/patches/server/0233-Config-for-mob-last-hurt-by-player-time.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Config for mob last hurt by player time diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 07068e5f93289534f10c0b876dbf884afd9f9b59..a9833d805aa51755a15fd98ca546c119e7e4bdf9 100644 +index 6210b95ea6e97783d30b6ba8fa44b849a4e645ae..1e43127fb05f1eb3beef5d3f8b8f06926bf11f61 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1550,13 +1550,13 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1564,13 +1564,13 @@ public abstract class LivingEntity extends Entity implements Attackable { if (entity1 instanceof net.minecraft.world.entity.player.Player) { net.minecraft.world.entity.player.Player entityhuman = (net.minecraft.world.entity.player.Player) entity1; diff --git a/patches/server/0251-Remove-Mojang-Profiler.patch b/patches/server/0251-Remove-Mojang-Profiler.patch index 77d03e9d4..8a9336918 100644 --- a/patches/server/0251-Remove-Mojang-Profiler.patch +++ b/patches/server/0251-Remove-Mojang-Profiler.patch @@ -802,10 +802,10 @@ index c4dfa08163f563218eac34941abaff0159517dbe..099be5d1b510866fb7294b304ce294e0 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 69dc4f01f7156b70c51cd5facc2dd31d10a7aea7..09982bd8a4953b35be059084f8db5a7e581fdc43 100644 +index 14cdfe81c61c5c324f8b5c7687814274c091e205..45bfe47a0bd2d9e3f36cd44e964a8922995a999d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1398,7 +1398,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1400,7 +1400,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple this.unsetRemoved(); */ // CraftBukkit end @@ -814,7 +814,7 @@ index 69dc4f01f7156b70c51cd5facc2dd31d10a7aea7..09982bd8a4953b35be059084f8db5a7e if (worldserver != null && resourcekey == LevelStem.OVERWORLD && worldserver.getTypeKey() == LevelStem.NETHER) { // CraftBukkit - empty to fall through to null to event this.enteredNetherPosition = this.position(); } -@@ -1414,8 +1414,8 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1416,8 +1416,8 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple worldserver = ((CraftWorld) exit.getWorld()).getHandle(); // CraftBukkit end @@ -825,7 +825,7 @@ index 69dc4f01f7156b70c51cd5facc2dd31d10a7aea7..09982bd8a4953b35be059084f8db5a7e // CraftBukkit start this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds LevelData worlddata = worldserver.getLevelData(); -@@ -1433,7 +1433,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1435,7 +1435,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple this.connection.teleport(exit); // CraftBukkit - use internal teleport without event this.connection.resetPosition(); worldserver.addDuringTeleport(this); @@ -1166,7 +1166,7 @@ index 126f0ddc96193d482ebe00ff157fe08b0a641a9d..badf612b7ef717996037b7eacecd74a7 } } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index d739cebb744be5936487721dd282bc179dc1c1ee..40b32d8af233a880ed4d9d05160c5efb873243a0 100644 +index 1e43127fb05f1eb3beef5d3f8b8f06926bf11f61..ed31f3e9741909c1840c46f993aead43a626dc64 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -445,7 +445,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1187,7 +1187,7 @@ index d739cebb744be5936487721dd282bc179dc1c1ee..40b32d8af233a880ed4d9d05160c5efb } @Override -@@ -3222,10 +3222,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3257,10 +3257,10 @@ public abstract class LivingEntity extends Entity implements Attackable { } this.run += (f3 - this.run) * 0.3F; @@ -1201,7 +1201,7 @@ index d739cebb744be5936487721dd282bc179dc1c1ee..40b32d8af233a880ed4d9d05160c5efb // Paper start - stop large pitch and yaw changes from crashing the server this.yRotO += Math.round((this.getYRot() - this.yRotO) / 360.0F) * 360.0F; -@@ -3237,7 +3237,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3272,7 +3272,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.yHeadRotO += Math.round((this.yHeadRot - this.yHeadRotO) / 360.0F) * 360.0F; // Paper end @@ -1210,7 +1210,7 @@ index d739cebb744be5936487721dd282bc179dc1c1ee..40b32d8af233a880ed4d9d05160c5efb this.animStep += f2; if (this.isFallFlying()) { ++this.fallFlyTicks; -@@ -3477,19 +3477,19 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3512,19 +3512,19 @@ public abstract class LivingEntity extends Entity implements Attackable { } this.setDeltaMovement(d0, d1, d2); @@ -1235,7 +1235,7 @@ index d739cebb744be5936487721dd282bc179dc1c1ee..40b32d8af233a880ed4d9d05160c5efb if (this.jumping && this.isAffectedByFluids()) { double d3; -@@ -3516,8 +3516,8 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3551,8 +3551,8 @@ public abstract class LivingEntity extends Entity implements Attackable { this.noJumpDelay = 0; } @@ -1246,7 +1246,7 @@ index d739cebb744be5936487721dd282bc179dc1c1ee..40b32d8af233a880ed4d9d05160c5efb this.xxa *= 0.98F; this.zza *= 0.98F; this.updateFallFlying(); -@@ -3542,8 +3542,8 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3577,8 +3577,8 @@ public abstract class LivingEntity extends Entity implements Attackable { this.travel(vec3d1); } @@ -1257,7 +1257,7 @@ index d739cebb744be5936487721dd282bc179dc1c1ee..40b32d8af233a880ed4d9d05160c5efb if (!this.level().isClientSide && !this.isDeadOrDying() && !this.freezeLocked) { // Paper - Freeze Tick Lock API int i = this.getTicksFrozen(); -@@ -3560,15 +3560,15 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3595,15 +3595,15 @@ public abstract class LivingEntity extends Entity implements Attackable { this.hurt(this.damageSources().freeze(), 1.0F); } @@ -1490,10 +1490,10 @@ index 902882ca639eee6efe102ea70e182fb17df801c2..0f9196cc26e5c670a7f3454326b762f0 } diff --git a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java -index 711253a3e004c8ec850579f17d8497ffe2cf3ba0..3c4c654a4c7c7ed7b4c967f768b55921e8a8690e 100644 +index 75c05990b9ee6fd429c24415be3b98e258638e89..5b024bc6166a9034eeba729bf3a53236446a03de 100644 --- a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java +++ b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java -@@ -159,12 +159,12 @@ public class Armadillo extends Animal { +@@ -163,12 +163,12 @@ public class Armadillo extends Animal { @Override protected void customServerAiStep() { @@ -1533,10 +1533,10 @@ index 091fbd162a63ec523197a953e65c00a54dae5ef9..e3178e2562a45f09c6567bb63112aa84 Optional optional = this.getBrain().getMemory(MemoryModuleType.PLAY_DEAD_TICKS); diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java -index 260138fcf0191391b68cb9d03cc55e26873bc001..2fcf8301949ff420ae0955a5194b5db52f030454 100644 +index c567b946e013852acfae7f5a417a292706e218f4..e88d6d691bb176e33afeb294d735dfb2cbac12ff 100644 --- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java +++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java -@@ -151,14 +151,14 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl +@@ -154,14 +154,14 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl @Override protected void customServerAiStep() { diff --git a/patches/server/0254-Debug-Marker-API.patch b/patches/server/0254-Debug-Marker-API.patch index 67c904fd7..69e2378c2 100644 --- a/patches/server/0254-Debug-Marker-API.patch +++ b/patches/server/0254-Debug-Marker-API.patch @@ -99,10 +99,10 @@ index 685d52605bb2cc8eb7a4065e0e7cf634a22a512a..0056843aabf3a46251eda8667ddb43da @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e71ac12c107f2cb1b89277605b08884bc3ad27d7..162034040a72bb392ba9b36e4469abfc32c46ca8 100644 +index cda45d172f526098a40eaa624ad3a84ed1a888d1..afd7a48f6c85aa00fe53f8ee6a53d790f81a6048 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3602,5 +3602,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3603,5 +3603,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetIdleTimer() { getHandle().resetLastActionTime(); } diff --git a/patches/server/0257-Add-death-screen-API.patch b/patches/server/0257-Add-death-screen-API.patch index b30cd235c..c09ddec30 100644 --- a/patches/server/0257-Add-death-screen-API.patch +++ b/patches/server/0257-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 162034040a72bb392ba9b36e4469abfc32c46ca8..41863584c3a85068b807a5aeb93c3da70f133b47 100644 +index afd7a48f6c85aa00fe53f8ee6a53d790f81a6048..6a3b023b0f60dbb350943bdd7f0bfead9e8e3ce0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3640,5 +3640,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3641,5 +3641,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/0258-Implement-ram-and-rambar-commands.patch b/patches/server/0258-Implement-ram-and-rambar-commands.patch index 6685e183e..5b7925d06 100644 --- a/patches/server/0258-Implement-ram-and-rambar-commands.patch +++ b/patches/server/0258-Implement-ram-and-rambar-commands.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement ram and rambar commands diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index 03c6ed862cc391b104b6c0ff0b8adf62824d293d..068a7d160cda08c5dc8b8c0f2f4185fdf8d97a5c 100644 +index 24cb04cd33cfe578286c85a892b20bbf3fc843e6..8468452ff61f226b65be1dad21b627f2a178506e 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java @@ -256,6 +256,8 @@ public class Commands { @@ -18,7 +18,7 @@ index 03c6ed862cc391b104b6c0ff0b8adf62824d293d..068a7d160cda08c5dc8b8c0f2f4185fd 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 09982bd8a4953b35be059084f8db5a7e581fdc43..d9fbc5c1f4c6317165d8daa104d3d0896b52c240 100644 +index 45bfe47a0bd2d9e3f36cd44e964a8922995a999d..c8ccf4b847ba3803b48c26ad6e6acecb327c76c5 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -304,6 +304,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @@ -45,7 +45,7 @@ index 09982bd8a4953b35be059084f8db5a7e581fdc43..d9fbc5c1f4c6317165d8daa104d3d089 nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur nbt.putBoolean("Purpur.CompassBar", this.compassBar); // Purpur } -@@ -3093,5 +3096,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -3102,5 +3105,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple public void compassBar(boolean compassBar) { this.compassBar = compassBar; } diff --git a/patches/server/0262-Milk-Keeps-Beneficial-Effects.patch b/patches/server/0262-Milk-Keeps-Beneficial-Effects.patch index 9a2b6d858..6c88b1969 100644 --- a/patches/server/0262-Milk-Keeps-Beneficial-Effects.patch +++ b/patches/server/0262-Milk-Keeps-Beneficial-Effects.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Milk Keeps Beneficial Effects diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index c8c931135133ef3d1d491034d578d9af47d9a9bd..392381dde4e188cdf2c75bcf2109158d6cf0f330 100644 +index ed31f3e9741909c1840c46f993aead43a626dc64..cf01a2ef9d72edc7661661c13a85c777bf32b83b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1129,6 +1129,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1130,6 +1130,7 @@ public abstract class LivingEntity extends Entity implements Attackable { for (flag = false; iterator.hasNext(); flag = true) { // CraftBukkit start MobEffectInstance effect = (MobEffectInstance) iterator.next();