diff --git a/build.gradle.kts b/build.gradle.kts index 7aa96ce90..62e42d678 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,7 +5,7 @@ plugins { java `maven-publish` id("com.github.johnrengelman.shadow") version "8.1.1" apply false - id("io.papermc.paperweight.patcher") version "1.5.9" + id("io.papermc.paperweight.patcher") version "1.5.10" } allprojects { diff --git a/gradle.properties b/gradle.properties index e93c38c8e..5f1c93763 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 = 250388defed6660c57f40733c318ac90b846c264 +paperCommit = b37bbcfd984a325c47d6dee200634b5fa189c64b org.gradle.caching = true org.gradle.parallel = true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index ccebba771..7f93135c4 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index c30b486a8..3fa8f862f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 79a61d421..0adc8e1a5 100755 --- a/gradlew +++ b/gradlew @@ -83,10 +83,8 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -133,10 +131,13 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. @@ -197,6 +198,10 @@ if "$cygwin" || "$msys" ; then done fi + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + # Collect all arguments for the java command; # * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of # shell script including quotes and variable substitutions, so put them in diff --git a/patches/api/0001-Pufferfish-API-Changes.patch b/patches/api/0001-Pufferfish-API-Changes.patch index 775a27097..1a44d100e 100644 --- a/patches/api/0001-Pufferfish-API-Changes.patch +++ b/patches/api/0001-Pufferfish-API-Changes.patch @@ -20,10 +20,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/build.gradle.kts b/build.gradle.kts -index 639651972fddce4dff63a0f0a7e566a15b9e2dd6..0b87f34c2bb5a2f72124912a62ea393b19b1f3a3 100644 +index e827ee211e3c65dc68ac5867fd8476639df63645..b9c75a190dbd7a90ac5ef0fbc6e6fe34806acc4e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -46,6 +46,7 @@ dependencies { +@@ -47,6 +47,7 @@ dependencies { apiAndDocs("net.kyori:adventure-text-logger-slf4j") api("org.apache.logging.log4j:log4j-api:$log4jVersion") api("org.slf4j:slf4j-api:$slf4jVersion") @@ -31,7 +31,7 @@ index 639651972fddce4dff63a0f0a7e566a15b9e2dd6..0b87f34c2bb5a2f72124912a62ea393b implementation("org.ow2.asm:asm:9.4") implementation("org.ow2.asm:asm-commons:9.4") -@@ -89,6 +90,13 @@ val generateApiVersioningFile by tasks.registering { +@@ -106,6 +107,13 @@ val generateApiVersioningFile by tasks.registering { } } @@ -389,7 +389,7 @@ index 0000000000000000000000000000000000000000..ae2464920c9412ac90b819a540ee58be + +} diff --git a/src/main/java/org/bukkit/map/MapPalette.java b/src/main/java/org/bukkit/map/MapPalette.java -index 3a9aaca2e76411a9c27f9f5e0f22d060d5a66d06..9584e245144b561b4f6745b2f26a4f69a6f92891 100644 +index c80faa079eca1564847070f0338fc98024639829..e632d51d3487eb4807243b6705999ad124466bf5 100644 --- a/src/main/java/org/bukkit/map/MapPalette.java +++ b/src/main/java/org/bukkit/map/MapPalette.java @@ -1,6 +1,7 @@ diff --git a/patches/api/0004-Build-System-Changes.patch b/patches/api/0004-Build-System-Changes.patch index 2b261b1d6..3dcba3489 100644 --- a/patches/api/0004-Build-System-Changes.patch +++ b/patches/api/0004-Build-System-Changes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Build System Changes diff --git a/build.gradle.kts b/build.gradle.kts -index 0330a20576c372c29ca4d98a2bc5b01e28303ac3..67f31886a0e5025c1a66b6fb04b44430a9a103fc 100644 +index b9c75a190dbd7a90ac5ef0fbc6e6fe34806acc4e..41d7b75e904b94073dfcd12b776a7759a963b66f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -109,6 +109,8 @@ tasks.jar { +@@ -126,6 +126,8 @@ tasks.jar { } tasks.withType { diff --git a/patches/api/0005-Purpur-client-support.patch b/patches/api/0005-Purpur-client-support.patch index 46310ba6e..4691ebdfa 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 9240ea09206461d61cc08d4252e8507555bf41cf..9f87e81e47c786c4cd4d274b9ec5064f3a42c401 100644 +index 9130a57cf6ef5d543703a03aeed07aa17b1ab7e8..5e985567d963b666f3fefa0a618ea497079dae8e 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3307,4 +3307,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3370,4 +3370,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 03b2e1239..e1d1c649b 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 9f87e81e47c786c4cd4d274b9ec5064f3a42c401..0660f7d98f1d0cbd6442df8e01d6c72b5a395c15 100644 +index 5e985567d963b666f3fefa0a618ea497079dae8e..b66402df0d602ef33bf8742504f35c095041dfe3 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3315,5 +3315,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3378,5 +3378,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @return True if Player uses Purpur Client */ public boolean usesPurpurClient(); diff --git a/patches/api/0041-Add-local-difficulty-api.patch b/patches/api/0041-Add-local-difficulty-api.patch index dbfad0156..d80fa46f7 100644 --- a/patches/api/0041-Add-local-difficulty-api.patch +++ b/patches/api/0041-Add-local-difficulty-api.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add local difficulty api diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 17d404d6d1a5b46b58d612fca38f17e71adee92e..791ab7aa9cb36715a323e8b920bb67f30accf738 100644 +index f72f0f0f8eee95f95adc969d55ba7de82ee30e2a..1e794f6d2765d3e2c40b15a9699d181ffe12c2f5 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -4160,6 +4160,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -4211,6 +4211,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @Nullable public DragonBattle getEnderDragonBattle(); diff --git a/patches/api/0044-Debug-Marker-API.patch b/patches/api/0044-Debug-Marker-API.patch index 748795ebb..52dd02982 100644 --- a/patches/api/0044-Debug-Marker-API.patch +++ b/patches/api/0044-Debug-Marker-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Debug Marker API diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 4127ae56afb05196ff46a5313e9d141adc27802b..c5956d747a09c192355c17a52f7bfa9e333c4e72 100644 +index 4d375b95459698284f1c27eefe8adc29fc0e7871..8ea42a1f07df756bf504609d2bbff578f20bb808 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -2870,5 +2870,89 @@ public final class Bukkit { @@ -99,7 +99,7 @@ index 4127ae56afb05196ff46a5313e9d141adc27802b..c5956d747a09c192355c17a52f7bfa9e // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 6795f2c0c1e974c4fe3181cd6838a68f7437c846..7eae8683c0d540ba049dddaed8737e051d6f60db 100644 +index 9217a021cd6e54fda334f637a0bfbbdbc7ad14b0..dd99f53e3d559685a4b3a454a9e607c310fc6aff 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -2515,5 +2515,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @@ -179,10 +179,10 @@ index 6795f2c0c1e974c4fe3181cd6838a68f7437c846..7eae8683c0d540ba049dddaed8737e05 // Purpur end } diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 6fa89b11548da3d6be8cd92466f3853c1b409afc..cf63054e1b597b2bb13164722dd9a829ba7069ba 100644 +index 1e794f6d2765d3e2c40b15a9699d181ffe12c2f5..2f1adae519e45743828be06df15b5f33045ae18b 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -4168,6 +4168,76 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -4219,6 +4219,76 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient * @return The local difficulty */ public float getLocalDifficultyAt(@NotNull Location location); @@ -260,10 +260,10 @@ index 6fa89b11548da3d6be8cd92466f3853c1b409afc..cf63054e1b597b2bb13164722dd9a829 /** diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 0660f7d98f1d0cbd6442df8e01d6c72b5a395c15..8d5ff090957e924fa513928d39c5917f3c64eca5 100644 +index b66402df0d602ef33bf8742504f35c095041dfe3..2543299cbd94f409606dddb5969123909d11d1ac 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3335,5 +3335,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3398,5 +3398,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 528513ab5..81e579e86 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 8d5ff090957e924fa513928d39c5917f3c64eca5..8d963acdeb99cfc0b424b9b3bdbda40b1c73e7a2 100644 +index 2543299cbd94f409606dddb5969123909d11d1ac..fd465ab769b2ed9ff5c36d8479241aa8aa25953d 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3405,5 +3405,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3468,5 +3468,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 c0d65db53..2cbb2af75 100644 --- a/patches/server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -1507,7 +1507,7 @@ index 8f31413c939cc2b0454ad3d9a1b618dbae449d00..58d076e2a8fa1cf56c4c8d15a502e85f } diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index cf605aa56adf7f80d3b409f60a92a5ca7ae8fd07..f623b5152c398ea460516596ad70fdb1f8a987ca 100644 +index 1c9742ad81f04052d2c3bc18c7636f45b2fc5160..e5c955e7e99bc07199feabfe9f0301016ad38b84 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java @@ -221,6 +221,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -1726,7 +1726,7 @@ index 35674f92a67f93382103c2766df4b678ba5c862f..d46e61640b241d32df05240dedd2c23f this.wasOnGround = this.entity.onGround(); this.teleportDelay = 0; diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 584a768f2ce1c98a1de7749060c47f21721f9055..c4a22fab14c74f268e8452c398add4323e1f09e7 100644 +index c88d5b9125f6ee43bf2be60fd1745d836f271b78..945783d090e44ebed1d4968c1d1ec0b68f6d494f 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -878,6 +878,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -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 a76eb3d051db0229ed088b71c92ff3f131449007..d6d86597fbca937a32e74ecb913f569f9740e7d8 100644 +index 87134e57a57df0fceda903e35d22f3f2de31adf3..705ff7b8317fca979d4a1459119730f13864bfc1 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; @@ -2093,7 +2093,7 @@ index a76eb3d051db0229ed088b71c92ff3f131449007..d6d86597fbca937a32e74ecb913f569f this.hurt(this.damageSources().inWall(), 1.0F); } else if (flag && !this.level().getWorldBorder().isWithinBounds(this.getBoundingBox())) { double d0 = this.level().getWorldBorder().getDistanceToBorder(this) + this.level().getWorldBorder().getDamageSafeZone(); -@@ -1401,6 +1400,19 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1409,6 +1408,19 @@ public abstract class LivingEntity extends Entity implements Attackable { return this.getHealth() <= 0.0F; } @@ -2113,7 +2113,7 @@ index a76eb3d051db0229ed088b71c92ff3f131449007..d6d86597fbca937a32e74ecb913f569f @Override public boolean hurt(DamageSource source, float amount) { if (this.isInvulnerableTo(source)) { -@@ -1996,6 +2008,20 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2004,6 +2016,20 @@ public abstract class LivingEntity extends Entity implements Attackable { return this.lastClimbablePos; } @@ -3269,7 +3269,7 @@ index ebe65474a4a05ff1637d7f37ebcfe690af59def5..42142c512b12e5b269c19f1e821c50e7 @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9c08303de2891de92e06de8a939a618b7a6f7321..697e74b4d966f7472f0cb3dcaca928cdde4714d7 100644 +index 356107688a5d40d1c462b164f61af82f4dfd3926..2ecb8bfd98c141e9f5e7f4e441c8df91e1b9fbc2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -269,7 +269,7 @@ import javax.annotation.Nullable; // Paper diff --git a/patches/server/0004-Purpur-config-files.patch b/patches/server/0004-Purpur-config-files.patch index 9abf45864..1cfef9db4 100644 --- a/patches/server/0004-Purpur-config-files.patch +++ b/patches/server/0004-Purpur-config-files.patch @@ -72,7 +72,7 @@ index 56ae02aab93b9a698e9d2f07a0448aa4767169d9..756651db912068c837197a972e95bc66 boolean flag1 = this.source.acceptsSuccess() && !this.silent; boolean flag2 = broadcastToOps && this.source.shouldInformAdmins() && !this.silent; diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index f623b5152c398ea460516596ad70fdb1f8a987ca..6ea42811c1e7ae1b6bf17b7edad921861c7fa2e0 100644 +index e5c955e7e99bc07199feabfe9f0301016ad38b84..40527db18b7177d887b65825ac51613097803be8 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java @@ -218,6 +218,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -112,7 +112,7 @@ index 28fd04794e2a624c5d0a1322b1d6d851f443e3b1..b60ab6c545296c67304019759ab04aa6 this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 41375e6fcf209f653bded0da27e1b3a993d2ef8e..8378cb22269e4020f06be4cfc0e1dba32c683431 100644 +index b06b8137a337a189662601aef4cd57d406f58c36..9637832f475630f07912230e37e04c480343a842 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1041,6 +1041,7 @@ public final class CraftServer implements Server { @@ -159,10 +159,10 @@ index 41375e6fcf209f653bded0da27e1b3a993d2ef8e..8378cb22269e4020f06be4cfc0e1dba3 public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 2af0068ef338634d1f44532af5db66c2d0b3dd10..8e844e3c88a1100d407fac1edf0379072370a6e8 100644 +index c737c5d62407337d3db2899cfc01713a058a6467..ed8e01918c7aab189ac9a8e37dbe9ff2b06aaa4d 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -173,6 +173,14 @@ public class Main { +@@ -174,6 +174,14 @@ public class Main { .describedAs("Jar file"); // Paper end diff --git a/patches/server/0005-Purpur-client-support.patch b/patches/server/0005-Purpur-client-support.patch index d874dd4a2..9fc93169b 100644 --- a/patches/server/0005-Purpur-client-support.patch +++ b/patches/server/0005-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 f71a4a8307fb092d33545e12d253e0b80c884168..e7452b7380511e27c3fdb9172ea7273b24fbdab7 100644 +index 08980763020a13ab49dc7d637625a4fba56da8c9..c4cef829be6333143ed4af4025ade34a307926f6 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -274,6 +274,7 @@ public class ServerPlayer extends Player { @@ -43,10 +43,10 @@ index 598f807f0d0caac98b81e0e2991f1bd497c4534e..e9824deab810738e0df8b8e6932048b6 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 00bae5df87bcc1c75d4e2f430241579d3be82c11..cbde98589bc5e8ac10c0dc90b142644bf6279122 100644 +index 3a792ddc31e76038b84e8f87088c4cd94c349138..df5b588309f181c84336060d3668880b74ea7490 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3287,4 +3287,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3303,4 +3303,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.spigot; } // Spigot end diff --git a/patches/server/0008-Ridables.patch b/patches/server/0008-Ridables.patch index 2d762d46f..b323208a3 100644 --- a/patches/server/0008-Ridables.patch +++ b/patches/server/0008-Ridables.patch @@ -46,7 +46,7 @@ index 8aab01170fb512d98103935a19e468a145a6bb16..5d20509fd92969ed05f1044290650880 final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date()); io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(thr); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 85331b9b9edf4af02029333a628971fcf959090d..03ef82e835a82d6f42376881a3e5c83d0ec158b2 100644 +index a21b193f4fe3b857c5831b8ff0a4f366904df44f..1b715858cd62511dfe47f8e9157bde331aa6f6f7 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -756,6 +756,15 @@ public class ServerPlayer extends Player { @@ -191,7 +191,7 @@ index 1bb8b6e91c44cd13411d96d749fa64835c75a267..75c278b67ad2b78766efd8f89c4c2ca7 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 d6d86597fbca937a32e74ecb913f569f9740e7d8..797ef036c3fb7a21fb3a2fbc6a7e307594ea1e11 100644 +index 705ff7b8317fca979d4a1459119730f13864bfc1..ae29cffc84900c4b44925c2c29636dd5ce1b2a38 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -218,9 +218,9 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -224,7 +224,7 @@ index d6d86597fbca937a32e74ecb913f569f9740e7d8..797ef036c3fb7a21fb3a2fbc6a7e3075 @Override protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) { -@@ -2722,7 +2723,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2730,7 +2731,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } protected long lastJumpTime = 0L; // Paper @@ -233,7 +233,7 @@ index d6d86597fbca937a32e74ecb913f569f9740e7d8..797ef036c3fb7a21fb3a2fbc6a7e3075 Vec3 vec3d = this.getDeltaMovement(); // Paper start long time = System.nanoTime(); -@@ -3495,8 +3496,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3503,8 +3504,10 @@ public abstract class LivingEntity extends Entity implements Attackable { this.pushEntities(); this.level().getProfiler().pop(); // Paper start @@ -246,7 +246,7 @@ index d6d86597fbca937a32e74ecb913f569f9740e7d8..797ef036c3fb7a21fb3a2fbc6a7e3075 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()); -@@ -3506,6 +3509,21 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3514,6 +3517,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()); } } @@ -4393,7 +4393,7 @@ index b14979ab7bed34a37fceff5589ecb789bab31318..cf81e9ade3200251ca3a25eb0e5ce7dc } diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java -index 71b5a9c97a13f703073c0122742ff9e8a0e49df2..3c3eb009f2d80d658447034c3df41070f254349b 100644 +index 6f12e342adf1a008709fd9a4fbbbe1da8ec31b83..5a578ab80853f8961afeec2aae76ed521f486430 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Spider.java +++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java @@ -53,14 +53,33 @@ public class Spider extends Monster { diff --git a/patches/server/0012-AFK-API.patch b/patches/server/0012-AFK-API.patch index b9d4e155b..0bb498d67 100644 --- a/patches/server/0012-AFK-API.patch +++ b/patches/server/0012-AFK-API.patch @@ -5,7 +5,7 @@ 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 03ef82e835a82d6f42376881a3e5c83d0ec158b2..15cfc439ea0e122729e383e86d7162cb203e1c24 100644 +index 1b715858cd62511dfe47f8e9157bde331aa6f6f7..f8248a955c45a5f0f9bd5ac46aa2e1ae8703f79b 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -2134,8 +2134,68 @@ public class ServerPlayer extends Player { @@ -223,7 +223,7 @@ index aaa07fcd4b32fe0de88142ab30378327a01f1729..bc8555d21d418f9da37cc089904f7cb0 if (range < 0.0D || 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 95a7df9eb24a2b5b45a1684643ae9dd7afe91733..5ed583d39561811a1ba8ae55aeff408e3f7aeac0 100644 +index df5b588309f181c84336060d3668880b74ea7490..e1efdda967847af492f069861ef19dd307bc76a1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -519,10 +519,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -243,7 +243,7 @@ index 95a7df9eb24a2b5b45a1684643ae9dd7afe91733..5ed583d39561811a1ba8ae55aeff408e for (ServerPlayer player : (List) this.server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle())); -@@ -3293,5 +3298,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3309,5 +3314,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean usesPurpurClient() { return getHandle().purpurClient; } @@ -288,7 +288,7 @@ index 7937023274acf3a1efdd21bbdd2f933f4399baeb..3fba9f640ef03219c89a2a405e4d5a58 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 27ce55687c7c59fdfdcc4553240ea8b023919b77..3ed1a91c93f659306acaf8bad6820f49208554c8 100644 +index e248395ad5f5f012aeefecf367d54f90cade0996..70f53ccb22de2c05c9ead68f8bd29d0b69d0993f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -90,6 +90,24 @@ public class PurpurWorldConfig { diff --git a/patches/server/0015-LivingEntity-safeFallDistance.patch b/patches/server/0015-LivingEntity-safeFallDistance.patch index 61c1c2e78..6d57763d6 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 c23bea8c82c3f4670ce736cb1375e1adb8aa7a05..2de4892cf6161d9c601a9af5745244e28319ec5f 100644 +index d83384d2231eb4ecd331742ea05cfd64cadd75ec..094d60d125063cb6c83b09fb206aec91e40ef80e 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 c23bea8c82c3f4670ce736cb1375e1adb8aa7a05..2de4892cf6161d9c601a9af5745244e2 double d7 = Math.min((double) (0.2F + f / 15.0F), 2.5D); int i = (int) (150.0D * d7); -@@ -2089,7 +2090,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2097,7 +2098,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 831e71479ed0636ae8fd96adc732c23edf7d0e88..841426fd4ea86c2f44309682a5fcbe3a39102b59 100644 +index 8add75d7652ac489183f8f8cb513081272f8bc7f..bebece47fc2064118ca39d0e511f71ba70a68e45 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1115,4 +1115,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0023-Disable-outdated-build-check.patch b/patches/server/0023-Disable-outdated-build-check.patch index 703cb32e7..ac53f1d73 100644 --- a/patches/server/0023-Disable-outdated-build-check.patch +++ b/patches/server/0023-Disable-outdated-build-check.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Disable outdated build check diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index a6b1c83e289bd0a9ad59288ed2da88ac3e607c0f..45f63f2fedee7bcab9cd3ebc3117cecd225b89d2 100644 +index ed8e01918c7aab189ac9a8e37dbe9ff2b06aaa4d..b214e8030b47ec2b14a8dc17894b8f89c95ab9bb 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -300,7 +300,7 @@ public class Main { +@@ -301,7 +301,7 @@ public class Main { System.setProperty(net.minecrell.terminalconsole.TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper } 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 e0676f20a..9e1ff6dd4 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 1d8d5cdb1604d852bf72d16e29e7a74caded5692..eaff62f5dee0423723c259328d6c0c2c8a7156ef 100644 +index 094d60d125063cb6c83b09fb206aec91e40ef80e..561b9774a9932227ec56c528e49cc6227792da13 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1835,6 +1835,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1843,6 +1843,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 1d8d5cdb1604d852bf72d16e29e7a74caded5692..eaff62f5dee0423723c259328d6c0c2c this.dropFromLootTable(source, flag); // Paper start final boolean prev = this.clearEquipmentSlots; -@@ -1843,6 +1844,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1851,6 +1852,7 @@ public abstract class LivingEntity extends Entity implements Attackable { // Paper end this.dropCustomDeathLoot(source, i, flag); this.clearEquipmentSlots = prev; // Paper @@ -25,7 +25,7 @@ index 1d8d5cdb1604d852bf72d16e29e7a74caded5692..eaff62f5dee0423723c259328d6c0c2c // CraftBukkit start - Call death event // Paper start - call advancement triggers with correct entity equipment org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops, () -> { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7290de61830b84ddc54f50353dd5c24a65192816..807b1b1de4019f279618c6e02ab90bf230ed5e66 100644 +index 269fa073b53b5434d19d6705eb2fb2d0550ba0ac..9832d71949025eed99a3e9e8b09f9bee9991e36a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -95,6 +95,11 @@ public class PurpurWorldConfig { 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 4059e1153..c496278b8 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 f05373bd8d1b2c92c83cacaa2fd6fa845fe23daf..1d5037594599392e133ca593f58f9d823725c9d6 100644 +index 51e612378e837d3c30d50c870b565b30a772d5a0..eaced29905f8178fafb8aa7b830b562bdc1e8578 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -893,7 +893,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -18,10 +18,10 @@ index f05373bd8d1b2c92c83cacaa2fd6fa845fe23daf..1d5037594599392e133ca593f58f9d82 && (!(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 5e13bc95bab63dee2a4c622a53c9144a77a8ab11..ec2bb4ae5bbbf90624ebdd5a75298e3eb42a172c 100644 +index 561b9774a9932227ec56c528e49cc6227792da13..cd9b6c75cfe86d06ca4c0f4cc9b0b9dae37a1811 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2535,7 +2535,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2543,7 +2543,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @Override protected void onBelowWorld() { @@ -31,7 +31,7 @@ index 5e13bc95bab63dee2a4c622a53c9144a77a8ab11..ec2bb4ae5bbbf90624ebdd5a75298e3e protected void updateSwingTime() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 189b59cd6218e8e6b7f7c0326211e1b6545e9ca3..9311e620a821bbd46d962dd01ef9b0c1ec99555f 100644 +index b6254ebac4140c1d3887a4307304d4a8f7d1b6a2..e39048f5dd6b54bd2488ac450fa2260a6c2754dd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -98,10 +98,14 @@ public class PurpurWorldConfig { diff --git a/patches/server/0060-Implement-elytra-settings.patch b/patches/server/0060-Implement-elytra-settings.patch index da6507cc7..7fb4a1000 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 5b80d41b267488d632492239298c94ded9ac40bb..d919966b056116dc2c0777250ecb492a68257d70 100644 +index cd9b6c75cfe86d06ca4c0f4cc9b0b9dae37a1811..90a4caa7c58f3d7734e6cdb32c703484aaf6afcb 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3556,7 +3556,16 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3564,7 +3564,16 @@ public abstract class LivingEntity extends Entity implements Attackable { int j = i / 10; if (j % 2 == 0) { @@ -99,7 +99,7 @@ index 8078f127ff4b6e0aafb5804b9c02e237f79445b5..06c2f30b77a2c8aecc65e0c305f643d5 entityhuman.startAutoSpinAttack(20); if (entityhuman.onGround()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c48fae071a538a11739193f782232edfafb14de4..b34f95b6104b1aebd8c07cf279e168cdb074efb9 100644 +index f4bc9248e2e7c156688fad9e0807cb46444dfa13..685553ad958249f2ec00ea1139e8bab58abf7bcb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -112,6 +112,19 @@ public class PurpurWorldConfig { diff --git a/patches/server/0078-Totems-work-in-inventory.patch b/patches/server/0078-Totems-work-in-inventory.patch index 5150f53f6..55b1e58ba 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 fa59b382c25b9c47bf921258dec89cf2b5ca92e8..bb36602c78292e762e26fe23e9928609c4bb4271 100644 +index 642ffbd2632c9cb0438447ca83f598b1df37bd9b..5e701bd6ce6db9ef3cebbc24ce80e00aa1e558d7 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1623,6 +1623,18 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1631,6 +1631,18 @@ public abstract class LivingEntity extends Entity implements Attackable { } } @@ -28,7 +28,7 @@ index fa59b382c25b9c47bf921258dec89cf2b5ca92e8..bb36602c78292e762e26fe23e9928609 EntityResurrectEvent event = new EntityResurrectEvent((org.bukkit.entity.LivingEntity) this.getBukkitEntity(), handSlot); event.setCancelled(itemstack == null); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 669454dd9ad60116b664f4432f4fef9662ba170c..2cf49e7cb1d128c9dfec76c33d2c9a88c09ae2ca 100644 +index 8f085e8ba40d3bd9fca27b18b9ee156bbffe6bc3..538c6f1cec00ef0ce8e793a5d205875d2d9aac92 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -243,6 +243,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0122-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0122-Add-mobGriefing-bypass-to-everything-affected.patch index ec43fcb65..7aca00d70 100644 --- a/patches/server/0122-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0122-Add-mobGriefing-bypass-to-everything-affected.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index c46490fd0443ba0ea04679a31a637410600b2810..7e6fe9ee09b80d022bfc2cc87363142a10b980f3 100644 +index 5e701bd6ce6db9ef3cebbc24ce80e00aa1e558d7..1ba7451e1e246a0840205268767ab222482145c3 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1802,7 +1802,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1810,7 +1810,7 @@ public abstract class LivingEntity extends Entity implements Attackable { boolean flag = false; if (this.dead && adversary instanceof WitherBoss) { // Paper diff --git a/patches/server/0124-Add-EntityTeleportHinderedEvent.patch b/patches/server/0124-Add-EntityTeleportHinderedEvent.patch index 24b34df55..2c26ee871 100644 --- a/patches/server/0124-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0124-Add-EntityTeleportHinderedEvent.patch @@ -74,7 +74,7 @@ index 9717b37aef9f487502e696c209ae209ab3b8f000..7291e4056b8e46ab59b71818388ac55f blockEntity.teleportCooldown = 100; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 822faeca49c02562640f135948fab75a0bc49f0a..2406c33799ce8e00484c63b87c0c2c6ded9bf25b 100644 +index 4c5d6e37f7d56436119278bbfad503867d9ccddb..b636553c33b8a09c9d92ff8f355affe05e1579cf 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -600,6 +600,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -89,10 +89,10 @@ index 822faeca49c02562640f135948fab75a0bc49f0a..2406c33799ce8e00484c63b87c0c2c6d } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2b335e9835e62109a9d3720cb1ab705666a2362d..d3719998ddd7f29abb7b9a59273ddfcc27ebe63f 100644 +index e1efdda967847af492f069861ef19dd307bc76a1..a4aed376b8c66dc251cdbaa98a067c26694c4b8d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1347,6 +1347,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1363,6 +1363,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API @@ -104,7 +104,7 @@ index 2b335e9835e62109a9d3720cb1ab705666a2362d..d3719998ddd7f29abb7b9a59273ddfcc } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8c624ac93c3a24bb472217ae89dc8c9c82192407..d430af5942337e7f19a5085dc9124c9266c137c7 100644 +index 647b58652a87d1d1b4b022853052ea19afa80152..68a3f2be0b4d99041dcdb9e37c0e1dbcb9c1ae87 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -117,6 +117,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0133-One-Punch-Man.patch b/patches/server/0133-One-Punch-Man.patch index 0746b7e3a..090181e0c 100644 --- a/patches/server/0133-One-Punch-Man.patch +++ b/patches/server/0133-One-Punch-Man.patch @@ -5,10 +5,10 @@ Subject: [PATCH] One Punch Man! diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 704eccf1d65d650ce1f6709136c75133f9ef59be..9b33b879324278796447dbb5a880dd9e1ba0450b 100644 +index 1ba7451e1e246a0840205268767ab222482145c3..9d5b0b32a24e36efd651ec7bb9b47e7399d6435c 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2328,6 +2328,20 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2336,6 +2336,20 @@ public abstract class LivingEntity extends Entity implements Attackable { } } @@ -30,7 +30,7 @@ index 704eccf1d65d650ce1f6709136c75133f9ef59be..9b33b879324278796447dbb5a880dd9e if (human) { // PAIL: Be sure to drag all this code from the EntityHuman subclass each update. diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 651448bc3b84686b675349f0e72c699ce506ab82..50d10795981069b031170ef0de3a50603541f1c8 100644 +index 9bd8d873933c4441d5055ea49239623d0fb480b1..a58369d384604e37906cc0d15aad40a9e44019da 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -344,6 +344,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0174-API-for-any-mob-to-burn-daylight.patch b/patches/server/0174-API-for-any-mob-to-burn-daylight.patch index 0c1e9946c..3316ea193 100644 --- a/patches/server/0174-API-for-any-mob-to-burn-daylight.patch +++ b/patches/server/0174-API-for-any-mob-to-burn-daylight.patch @@ -32,7 +32,7 @@ index d16d15c92456ce2d8bb287a0c668b7bc459c5066..0aa3c178d0bca9332702589b5f078101 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 011914bdbf602fa5696d24d11e3207a9bc6a9ef2..d36b2343cb94d59a8e4fea0d8608a6973116d641 100644 +index 0ea17c4f6ad4753b6ed02b2387c1d3762c8d67d0..a75f8b72632cab7b9f2c5c6e0cacebe8fe572691 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 011914bdbf602fa5696d24d11e3207a9bc6a9ef2..d36b2343cb94d59a8e4fea0d8608a697 } // CraftBukkit start -@@ -3574,6 +3581,27 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3582,6 +3589,27 @@ public abstract class LivingEntity extends Entity implements Attackable { this.hurt(this.damageSources().drown(), 1.0F); } @@ -353,7 +353,7 @@ index e118cfc34b05f6d4921a0903eca70be6b68bff4f..fab8e4ffa083e3d436fd4d6d19cf8ea8 // 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 ac31a117428875143871cb807088250dce4f780a..8d5669917e66c16a5653dc0bca1db2618801c8f1 100644 +index b636553c33b8a09c9d92ff8f355affe05e1579cf..7ca35289068dbece3f9f19384fe202fc844eceea 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 ac31a117428875143871cb807088250dce4f780a..8d5669917e66c16a5653dc0bca1db261 /* * 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 06c4647593334842217549e3266d4d6c9da81365..d085ba1f8019ee901c2e47ff46cd295ae6766f84 100644 +index 4ab5cbdbdb78215f738380873dc710467ac2e52b..a7c81e76b0e6cd50c3900f7aa07807a74b13f606 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1132,5 +1132,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0198-Toggle-for-kinetic-damage.patch b/patches/server/0198-Toggle-for-kinetic-damage.patch index 426de90fc..05453045e 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 30a872c7e0710506899eb2432d7271396f34c677..7de9e8611ff12bf6955db41baeb4c2080bc725bb 100644 +index a75f8b72632cab7b9f2c5c6e0cacebe8fe572691..47b9bc6ae22243c523dc3a72c13dc335a17999b9 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2926,6 +2926,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2934,6 +2934,7 @@ public abstract class LivingEntity extends Entity implements Attackable { if (f3 > 0.0F) { this.playSound(this.getFallDamageSound((int) f3), 1.0F, 1.0F); @@ -17,7 +17,7 @@ index 30a872c7e0710506899eb2432d7271396f34c677..7de9e8611ff12bf6955db41baeb4c208 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3d5d4d444aa4e7e7226c6296677d3cc630af54e2..45b89ffe9b7a61d9c4d0508d533131d54e363549 100644 +index 5f48af20f046bf516ecaf0dfd9fd2b0fc209c1ad..19563349b4dab54b840a1d089521d1b5b21353ef 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -182,12 +182,14 @@ public class PurpurWorldConfig { diff --git a/patches/server/0209-Extended-OfflinePlayer-API.patch b/patches/server/0209-Extended-OfflinePlayer-API.patch index e2e766d64..4276e685b 100644 --- a/patches/server/0209-Extended-OfflinePlayer-API.patch +++ b/patches/server/0209-Extended-OfflinePlayer-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Extended OfflinePlayer API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -index bb794638a990488afc8d9d245dd203269c2b38b2..2c42b1a76d002c1c1758b33a1ee8474be4524293 100644 +index 2bbc39c257965ad91ee360cdfcd3538a0f041c7e..d0e3b531392738679894a989293ae49eb319676c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java @@ -567,4 +567,213 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa @@ -223,10 +223,10 @@ index bb794638a990488afc8d9d245dd203269c2b38b2..2c42b1a76d002c1c1758b33a1ee8474b + // 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 d3719998ddd7f29abb7b9a59273ddfcc27ebe63f..51c6f9f27362a5da6b454f0eb515bb27df7ed2df 100644 +index a4aed376b8c66dc251cdbaa98a067c26694c4b8d..63f7023a7f20f0133c03904ea48c15346a8963b8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2511,6 +2511,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2527,6 +2527,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().getAbilities().walkingSpeed * 2f; } diff --git a/patches/server/0247-Config-for-mob-last-hurt-by-player-time.patch b/patches/server/0247-Config-for-mob-last-hurt-by-player-time.patch index 4752bad87..f4e3e022a 100644 --- a/patches/server/0247-Config-for-mob-last-hurt-by-player-time.patch +++ b/patches/server/0247-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 7a5b7e2d50c98774d8bc50a9c83d15a67996fc90..ffc25a5f8e8ec479a7454920ccf66ef1e4ce4f71 100644 +index 03e446851e90f38a3e61db3fbecc9ff256cc0ae2..c8dc1d1f67474a06f82385d6ab7d893e3cb115ef 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1538,13 +1538,13 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1546,13 +1546,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; @@ -25,7 +25,7 @@ index 7a5b7e2d50c98774d8bc50a9c83d15a67996fc90..ffc25a5f8e8ec479a7454920ccf66ef1 if (entityliving2 instanceof net.minecraft.world.entity.player.Player) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index f79d79d7c9ca18ac711b81c8c3d94e2145aa5bf0..2dbc48d7d5912c46f4d1edaa55047215b123d1ed 100644 +index 796c1b9725bdc2499c80da6f2f0024727ea028d0..9c94fd78cbd0d3ef0c4dd3678262126b6ed2847b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -453,7 +453,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -38,7 +38,7 @@ index f79d79d7c9ca18ac711b81c8c3d94e2145aa5bf0..2dbc48d7d5912c46f4d1edaa55047215 // Paper end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index db1e6276243ee849757bed15f8308474afe56790..a5e9e56c86de0ae3b8053367dac777c94a990a30 100644 +index 1dffbf68af69545c6de09eec0c34d160daa895a9..115d9870e89d3efc56d4c6da4cf282e695c47fba 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -142,6 +142,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0262-Add-local-difficulty-api.patch b/patches/server/0262-Add-local-difficulty-api.patch index 8e1bff5b9..e109f7678 100644 --- a/patches/server/0262-Add-local-difficulty-api.patch +++ b/patches/server/0262-Add-local-difficulty-api.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add local difficulty api diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 746f88db6b78b3c8ec372bfaacb26ec98f3b1163..6d50cf1887e998793c3101ba4c22186bcd70f60c 100644 +index f19f2199cac5a7eb275f40cc23472416a40ec0da..14e9e5ad1338c8cbb7fd6302794fa98c707cb2d3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2321,6 +2321,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2348,6 +2348,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight()); } diff --git a/patches/server/0267-Remove-Mojang-Profiler.patch b/patches/server/0267-Remove-Mojang-Profiler.patch index 956a750d0..fece02ba3 100644 --- a/patches/server/0267-Remove-Mojang-Profiler.patch +++ b/patches/server/0267-Remove-Mojang-Profiler.patch @@ -566,7 +566,7 @@ index 03bde9d1c765700c872cc592fe414eb815956e47..43a46feb5fb4bf23d71bc4f6c08caa93 } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index d5837c675e033c7277656e026cb98d55b6668038..c3239a2823d152b8de1f760216323936c8b3a1ff 100644 +index ac28e6fecabe74fc0207ad4832ef166d5fc0b59b..1c8724fb56e790922c7e8fc73bc97442b7a6df83 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -823,12 +823,12 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -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 a5ad9a5bf708f6ed9844c5ac42f07a34f0833e30..38eed0f72cb6247418944fdd0770e4f9bda38f9e 100644 +index 1a864d733d8a9a098edacc048fc20a65c18f7684..199edc0bdb370e83541167bfb1dd219ed42ad829 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 { @@ -1037,7 +1037,7 @@ index 2e6e8eac987c4ef6b2dcd3de592d8a51d2b29792..863343a87fe34d72f04af89d75268b47 }; } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index af06a919673f2e4f41d1cd712caa5b002d12ae71..5d46d35db653d58ccb850794282e8613b33e2393 100644 +index f9998e1d3adff725842cff41b2950492e6936971..4254946d3f993478e44a8dda18d8a4e612ca8dad 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -842,7 +842,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1163,7 +1163,7 @@ index af06a919673f2e4f41d1cd712caa5b002d12ae71..5d46d35db653d58ccb850794282e8613 } } else { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index b7d5c1342bf400bf0ee2a339b546bfed21189b56..a43859eeacf6743519f0076d005885c7c5331b1a 100644 +index c8dc1d1f67474a06f82385d6ab7d893e3cb115ef..c7815bc795ff11d521f4fa1417fe475787e65c3c 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 b7d5c1342bf400bf0ee2a339b546bfed21189b56..a43859eeacf6743519f0076d005885c7 } public boolean canSpawnSoulSpeedParticle() { -@@ -3159,10 +3159,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3167,10 +3167,10 @@ public abstract class LivingEntity extends Entity implements Attackable { } this.run += (f3 - this.run) * 0.3F; @@ -1198,7 +1198,7 @@ index b7d5c1342bf400bf0ee2a339b546bfed21189b56..a43859eeacf6743519f0076d005885c7 // Paper start - stop large pitch and yaw changes from crashing the server this.yRotO += Math.round((this.getYRot() - this.yRotO) / 360.0F) * 360.0F; -@@ -3174,7 +3174,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3182,7 +3182,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 b7d5c1342bf400bf0ee2a339b546bfed21189b56..a43859eeacf6743519f0076d005885c7 this.animStep += f2; if (this.isFallFlying()) { ++this.fallFlyTicks; -@@ -3464,19 +3464,19 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3472,19 +3472,19 @@ public abstract class LivingEntity extends Entity implements Attackable { } this.setDeltaMovement(d0, d1, d2); @@ -1232,7 +1232,7 @@ index b7d5c1342bf400bf0ee2a339b546bfed21189b56..a43859eeacf6743519f0076d005885c7 if (this.jumping && this.isAffectedByFluids()) { double d3; -@@ -3503,8 +3503,8 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3511,8 +3511,8 @@ public abstract class LivingEntity extends Entity implements Attackable { this.noJumpDelay = 0; } @@ -1243,7 +1243,7 @@ index b7d5c1342bf400bf0ee2a339b546bfed21189b56..a43859eeacf6743519f0076d005885c7 this.xxa *= 0.98F; this.zza *= 0.98F; this.updateFallFlying(); -@@ -3531,8 +3531,8 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3539,8 +3539,8 @@ public abstract class LivingEntity extends Entity implements Attackable { this.travel(vec3d1); } @@ -1254,7 +1254,7 @@ index b7d5c1342bf400bf0ee2a339b546bfed21189b56..a43859eeacf6743519f0076d005885c7 if (!this.level().isClientSide && !this.isDeadOrDying() && !freezeLocked) { // Paper - Freeze Tick Lock API int i = this.getTicksFrozen(); -@@ -3549,15 +3549,15 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3557,15 +3557,15 @@ public abstract class LivingEntity extends Entity implements Attackable { this.hurt(this.damageSources().freeze(), 1.0F); } @@ -1509,7 +1509,7 @@ index 89e473aadb1ab0bd802e7f74a77cce09578320d7..7369290820f726c28c87bc63dba2a74f 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 f44261137f12354640170206ca7bfb6d991dc7a0..1d84135c709a90843b1ee34fb47508e78a7ce95d 100644 +index bfdd33beb8206c8b0c96aad5b5002c8db02ae912..cd9129bb5049c13f08c58b8581d511b59a5bb1b5 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 @@ -158,13 +158,13 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl diff --git a/patches/server/0270-Debug-Marker-API.patch b/patches/server/0270-Debug-Marker-API.patch index 0a3d9e870..0ca075095 100644 --- a/patches/server/0270-Debug-Marker-API.patch +++ b/patches/server/0270-Debug-Marker-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Debug Marker API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index dd6d5ed8beb6d090c2aaafc540fa857a4815558f..4563040a258f4379bd717c398a51c2d2cce9e77f 100644 +index 85546e81f90676df985de1ba6d6aa066aef4762a..ce33562ad91d4fee2c2f41e27c414f3480743485 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1551,6 +1551,42 @@ public final class CraftServer implements Server { @@ -52,10 +52,10 @@ index dd6d5ed8beb6d090c2aaafc540fa857a4815558f..4563040a258f4379bd717c398a51c2d2 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index de2ea4f5fb93b01b6c3ab350cc5dd17626fad7f6..f93e63ae9952e409abf34ead9d46a909940af554 100644 +index 14e9e5ad1338c8cbb7fd6302794fa98c707cb2d3..8b32ed17c1511cfd313875d4c8d2d0e48a4c6e69 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2325,6 +2325,42 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2352,6 +2352,42 @@ public class CraftWorld extends CraftRegionAccessor implements World { public float getLocalDifficultyAt(Location location) { return getHandle().getCurrentDifficultyAt(io.papermc.paper.util.MCUtil.toBlockPosition(location)).getEffectiveDifficulty(); } @@ -99,10 +99,10 @@ index de2ea4f5fb93b01b6c3ab350cc5dd17626fad7f6..f93e63ae9952e409abf34ead9d46a909 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e9ed820105b882a603b44c05bd11cec0f91072d1..5b6fb5274a4918fa235378aed520cd74239f53da 100644 +index 63f7023a7f20f0133c03904ea48c15346a8963b8..a432579ea6fb3f2c1fefe98f16a357450ad5b5ae 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3339,5 +3339,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3355,5 +3355,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 d03c216f7..3dcadc145 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 57e6d4bc3ad37d3eb66b5b4ccbc728a6dc64b00d..692387ba5f313191ba324df666ea7086241153ee 100644 +index a432579ea6fb3f2c1fefe98f16a357450ad5b5ae..3b3bbeda831f82b6d9b284d85a31a1fff578a64f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3377,5 +3377,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3393,5 +3393,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/0275-Make-pufferfish-config-relocatable.patch b/patches/server/0275-Make-pufferfish-config-relocatable.patch index 6ae92addc..12a1c4c9f 100644 --- a/patches/server/0275-Make-pufferfish-config-relocatable.patch +++ b/patches/server/0275-Make-pufferfish-config-relocatable.patch @@ -26,7 +26,7 @@ index 26f08b7fb16484c39135ed172c246f76c9e089c7..9ca1494497ae53e56b1f81fda51b0b8b if (configFile.exists()) { try { diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index 207a76f91758a8643976414a8732573d488bf1df..813a3c0172f1152665b95104d155e5de40589b39 100644 +index 8af211fdcc32d5701769f81fa4edd17afeafef0f..4fbb575922cb382f458a8d883e35a5733befff32 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java @@ -230,6 +230,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -38,10 +38,10 @@ index 207a76f91758a8643976414a8732573d488bf1df..813a3c0172f1152665b95104d155e5de gg.pufferfish.pufferfish.PufferfishCommand.init(); // Pufferfish diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 45f63f2fedee7bcab9cd3ebc3117cecd225b89d2..67c621fdc994b392dc961f79e1e3b97c2977adc4 100644 +index b214e8030b47ec2b14a8dc17894b8f89c95ab9bb..d41f9c4a3c992b5dadacb4fcb1107235fff79fa8 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -179,6 +179,12 @@ public class Main { +@@ -180,6 +180,12 @@ public class Main { .ofType(File.class) .defaultsTo(new File("purpur.yml")) .describedAs("Yml file");