From 3aa2070f49b7cdcfcce7ea93b97f00e3c579148e Mon Sep 17 00:00:00 2001 From: MrHua269 Date: Mon, 25 Mar 2024 13:53:21 +0000 Subject: [PATCH] Updated Upstream(Folia) --- gradle.properties | 2 +- patches/api/0002-Leaves-Replay-Mod-API.patch | 8 +- patches/server/0001-Fix-build.patch | 4 +- patches/server/0002-Rebrand-to-Luminol.patch | 6 +- .../0004-Add-config-for-server-mod-name.patch | 4 +- ...-Add-config-for-unsafe-teleportation.patch | 8 +- .../0006-Add-config-for-sand-duping.patch | 54 ------ ...=> 0006-Add-config-for-void-trading.patch} | 2 +- ... 0007-Add-config-for-vanilla-random.patch} | 4 +- ...ch => 0008-Add-config-for-chat-sign.patch} | 0 ...r.patch => 0009-Add-a-simple-tpsbar.patch} | 2 +- ... 0010-Add-config-for-username-check.patch} | 0 ...Add-config-for-offline-mode-warning.patch} | 0 ...config-for-out-of-order-chat-checks.patch} | 0 ...-a-simple-watchdog-for-tick-regions.patch} | 2 +- ...-incorrect-tripwire-updating-fixing.patch} | 20 +-- ... 0015-Io_uring-channel-type-support.patch} | 2 +- ...-fixing-folia-spector-teleportation.patch} | 0 ...-entity-was-moving-to-another-regio.patch} | 4 +- ...sync-calling-during-moving-event-be.patch} | 6 +- ...019-Piston-fixes-from-molean-server.patch} | 4 +- ...u-linear-region-format-and-settings.patch} | 8 +- ...aiiju-Don-t-pathfind-outside-region.patch} | 0 ...ju-Vanilla-end-portal-teleportation.patch} | 8 +- ...> 0023-Kaiiju-Async-path-processing.patch} | 163 +----------------- ...ch => 0024-Petal-Reduce-sensor-work.patch} | 4 +- ...fish-Optimize-entity-coordinate-key.patch} | 4 +- ...Cache-climbing-check-for-activation.patch} | 10 +- ...ish-Improve-fluid-direction-caching.patch} | 0 ...028-Pufferfish-Optimize-suffocation.patch} | 10 +- ...return-optimization-for-target-find.patch} | 0 ...erfish-Reduce-chunk-loading-lookups.patch} | 0 ...per-6045-block-goal-shouldn-t-load-.patch} | 0 ...e-entity-fluid-lookups-if-no-fluids.patch} | 8 +- ...heck-for-spooky-season-once-an-hour.patch} | 0 ...patch => 0034-Pufferfish-Entity-TTL.patch} | 4 +- ...ish-Reduce-projectile-chunk-loading.patch} | 0 ...ferfish-Dynamic-Activation-of-Brain.patch} | 24 +-- ...le-goal-selector-during-inactive-ti.patch} | 4 +- ...ufferfish-Reduce-entity-allocations.patch} | 0 ...ve-container-checking-with-a-bitset.patch} | 26 +-- ...le-Variable-entity-wake-up-duration.patch} | 0 ...hunks-to-activate-climbing-entities.patch} | 8 +- ...=> 0042-Gale-Optimize-sun-burn-tick.patch} | 10 +- ...k-frozen-ticks-before-landing-block.patch} | 6 +- ...r-lootable-refresh-for-non-player-i.patch} | 0 ...45-Gale-Use-platform-math-functions.patch} | 6 +- ...kip-entity-move-if-movement-is-zero.patch} | 8 +- ...ld-generation-chunk-and-block-acces.patch} | 0 ...0048-Gale-Optimize-noise-generation.patch} | 0 ...049-Gale-Faster-chunk-serialization.patch} | 0 ...er-Remove-all-locks-on-region-files.patch} | 0 ...parkly-Paper-Optimize-canSee-checks.patch} | 4 +- ...2-Purpur-use-alternative-keep-alive.patch} | 0 ....patch => 0053-Leaves-Protocol-Core.patch} | 8 +- ...ch => 0054-Leaves-Bladeren-Protocol.patch} | 0 ...> 0055-Leaves-Fix-Bladeren-Protocol.patch} | 0 ...0056-Leaves-carpet-protocol-support.patch} | 0 ...-start-tick-and-finished-tick-event.patch} | 0 ...patch => 0058-Leaves-Replay-Mod-API.patch} | 38 ++-- patches/server/0060-Fix-MC-2025.patch | 6 +- 61 files changed, 147 insertions(+), 352 deletions(-) delete mode 100644 patches/server/0006-Add-config-for-sand-duping.patch rename patches/server/{0007-Add-config-for-void-trading.patch => 0006-Add-config-for-void-trading.patch} (96%) rename patches/server/{0009-Add-config-for-vanilla-random.patch => 0007-Add-config-for-vanilla-random.patch} (93%) rename patches/server/{0010-Add-config-for-chat-sign.patch => 0008-Add-config-for-chat-sign.patch} (100%) rename patches/server/{0011-Add-a-simple-tpsbar.patch => 0009-Add-a-simple-tpsbar.patch} (99%) rename patches/server/{0012-Add-config-for-username-check.patch => 0010-Add-config-for-username-check.patch} (100%) rename patches/server/{0013-Add-config-for-offline-mode-warning.patch => 0011-Add-config-for-offline-mode-warning.patch} (100%) rename patches/server/{0014-Add-config-for-out-of-order-chat-checks.patch => 0012-Add-config-for-out-of-order-chat-checks.patch} (100%) rename patches/server/{0015-Add-a-simple-watchdog-for-tick-regions.patch => 0013-Add-a-simple-watchdog-for-tick-regions.patch} (99%) rename patches/server/{0008-Add-config-for-incorrect-tripwire-updating-fixing.patch => 0014-Add-config-for-incorrect-tripwire-updating-fixing.patch} (61%) rename patches/server/{0016-Io_uring-channel-type-support.patch => 0015-Io_uring-channel-type-support.patch} (97%) rename patches/server/{0017-Try-fixing-folia-spector-teleportation.patch => 0016-Try-fixing-folia-spector-teleportation.patch} (100%) rename patches/server/{0018-Teleport-async-if-entity-was-moving-to-another-regio.patch => 0017-Teleport-async-if-entity-was-moving-to-another-regio.patch} (96%) rename patches/server/{0019-Prevent-teleportAsync-calling-during-moving-event-be.patch => 0018-Prevent-teleportAsync-calling-during-moving-event-be.patch} (97%) rename patches/server/{0020-Piston-fixes-from-molean-server.patch => 0019-Piston-fixes-from-molean-server.patch} (94%) rename patches/server/{0021-Kaiiju-linear-region-format-and-settings.patch => 0020-Kaiiju-linear-region-format-and-settings.patch} (99%) rename patches/server/{0022-Kaiiju-Don-t-pathfind-outside-region.patch => 0021-Kaiiju-Don-t-pathfind-outside-region.patch} (100%) rename patches/server/{0023-Kaiiju-Vanilla-end-portal-teleportation.patch => 0022-Kaiiju-Vanilla-end-portal-teleportation.patch} (91%) rename patches/server/{0024-Kaiiju-Async-path-processing.patch => 0023-Kaiiju-Async-path-processing.patch} (82%) rename patches/server/{0025-Petal-Reduce-sensor-work.patch => 0024-Petal-Reduce-sensor-work.patch} (93%) rename patches/server/{0026-Pufferfish-Optimize-entity-coordinate-key.patch => 0025-Pufferfish-Optimize-entity-coordinate-key.patch} (86%) rename patches/server/{0027-Pufferfish-Cache-climbing-check-for-activation.patch => 0026-Pufferfish-Cache-climbing-check-for-activation.patch} (87%) rename patches/server/{0028-Pufferfish-Improve-fluid-direction-caching.patch => 0027-Pufferfish-Improve-fluid-direction-caching.patch} (100%) rename patches/server/{0029-Pufferfish-Optimize-suffocation.patch => 0028-Pufferfish-Optimize-suffocation.patch} (90%) rename patches/server/{0030-Pufferfish-Early-return-optimization-for-target-find.patch => 0029-Pufferfish-Early-return-optimization-for-target-find.patch} (100%) rename patches/server/{0031-Pufferfish-Reduce-chunk-loading-lookups.patch => 0030-Pufferfish-Reduce-chunk-loading-lookups.patch} (100%) rename patches/server/{0033-Pufferfish-Fix-Paper-6045-block-goal-shouldn-t-load-.patch => 0031-Pufferfish-Fix-Paper-6045-block-goal-shouldn-t-load-.patch} (100%) rename patches/server/{0034-Pufferfish-Reduce-entity-fluid-lookups-if-no-fluids.patch => 0032-Pufferfish-Reduce-entity-fluid-lookups-if-no-fluids.patch} (96%) rename patches/server/{0035-Pufferfish-Only-check-for-spooky-season-once-an-hour.patch => 0033-Pufferfish-Only-check-for-spooky-season-once-an-hour.patch} (100%) rename patches/server/{0036-Pufferfish-Entity-TTL.patch => 0034-Pufferfish-Entity-TTL.patch} (95%) rename patches/server/{0037-Pufferfish-Reduce-projectile-chunk-loading.patch => 0035-Pufferfish-Reduce-projectile-chunk-loading.patch} (100%) rename patches/server/{0038-Pufferfish-Dynamic-Activation-of-Brain.patch => 0036-Pufferfish-Dynamic-Activation-of-Brain.patch} (95%) rename patches/server/{0039-Pufferfish-Throttle-goal-selector-during-inactive-ti.patch => 0037-Pufferfish-Throttle-goal-selector-during-inactive-ti.patch} (94%) rename patches/server/{0040-Pufferfish-Reduce-entity-allocations.patch => 0038-Pufferfish-Reduce-entity-allocations.patch} (100%) rename patches/server/{0032-Pufferfish-Improve-container-checking-with-a-bitset.patch => 0039-Pufferfish-Improve-container-checking-with-a-bitset.patch} (95%) rename patches/server/{0041-Gale-Variable-entity-wake-up-duration.patch => 0040-Gale-Variable-entity-wake-up-duration.patch} (100%) rename patches/server/{0042-Gale-Don-t-load-chunks-to-activate-climbing-entities.patch => 0041-Gale-Don-t-load-chunks-to-activate-climbing-entities.patch} (93%) rename patches/server/{0043-Gale-Optimize-sun-burn-tick.patch => 0042-Gale-Optimize-sun-burn-tick.patch} (91%) rename patches/server/{0044-Gale-Check-frozen-ticks-before-landing-block.patch => 0043-Gale-Check-frozen-ticks-before-landing-block.patch} (85%) rename patches/server/{0045-Gale-Don-t-trigger-lootable-refresh-for-non-player-i.patch => 0044-Gale-Don-t-trigger-lootable-refresh-for-non-player-i.patch} (100%) rename patches/server/{0046-Gale-Use-platform-math-functions.patch => 0045-Gale-Use-platform-math-functions.patch} (97%) rename patches/server/{0047-Gale-Skip-entity-move-if-movement-is-zero.patch => 0046-Gale-Skip-entity-move-if-movement-is-zero.patch} (86%) rename patches/server/{0048-Gale-Optimize-world-generation-chunk-and-block-acces.patch => 0047-Gale-Optimize-world-generation-chunk-and-block-acces.patch} (100%) rename patches/server/{0049-Gale-Optimize-noise-generation.patch => 0048-Gale-Optimize-noise-generation.patch} (100%) rename patches/server/{0050-Gale-Faster-chunk-serialization.patch => 0049-Gale-Faster-chunk-serialization.patch} (100%) rename patches/server/{0051-LinearPaper-Remove-all-locks-on-region-files.patch => 0050-LinearPaper-Remove-all-locks-on-region-files.patch} (100%) rename patches/server/{0052-Sparkly-Paper-Optimize-canSee-checks.patch => 0051-Sparkly-Paper-Optimize-canSee-checks.patch} (95%) rename patches/server/{0053-Purpur-use-alternative-keep-alive.patch => 0052-Purpur-use-alternative-keep-alive.patch} (100%) rename patches/server/{0054-Leaves-Protocol-Core.patch => 0053-Leaves-Protocol-Core.patch} (98%) rename patches/server/{0055-Leaves-Bladeren-Protocol.patch => 0054-Leaves-Bladeren-Protocol.patch} (100%) rename patches/server/{0056-Leaves-Fix-Bladeren-Protocol.patch => 0055-Leaves-Fix-Bladeren-Protocol.patch} (100%) rename patches/server/{0057-Leaves-carpet-protocol-support.patch => 0056-Leaves-carpet-protocol-support.patch} (100%) rename patches/server/{0058-Threaded-region-start-tick-and-finished-tick-event.patch => 0057-Threaded-region-start-tick-and-finished-tick-event.patch} (100%) rename patches/server/{0061-Leaves-Replay-Mod-API.patch => 0058-Leaves-Replay-Mod-API.patch} (98%) diff --git a/gradle.properties b/gradle.properties index 46f0ada..3d20560 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group = me.earthme.luminol version = 1.20.4-R0.1-SNAPSHOT -foliaCommit = e97b1eee63b802568447d344bac5a66bf90c6c71 +foliaCommit = 3a91a4a5cfc8ead0fb0014341c6d1d4bc94c85fb org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0002-Leaves-Replay-Mod-API.patch b/patches/api/0002-Leaves-Replay-Mod-API.patch index 39901e5..ed5180e 100644 --- a/patches/api/0002-Leaves-Replay-Mod-API.patch +++ b/patches/api/0002-Leaves-Replay-Mod-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Leaves Replay Mod API diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 3fae7b21353d18ff1e8005fbbe83be783de8a953..5045722f76b2d7b9a4842d64d45fd565466a51f1 100644 +index 4d6de4f2c67b1f122768806443766bd20c5ae617..b5155ffe86c490252fd0fcd1a00581e09808eeee 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2870,4 +2870,10 @@ public final class Bukkit { +@@ -2886,4 +2886,10 @@ public final class Bukkit { public static Server.Spigot spigot() { return server.spigot(); } @@ -20,10 +20,10 @@ index 3fae7b21353d18ff1e8005fbbe83be783de8a953..5045722f76b2d7b9a4842d64d45fd565 + // Leaves end - Photographer API } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index fe3d89c2c319c4f4b2b3e4a121d6626a898f501b..c787dbef2b2f92c085f27dc19e0352a6f60a86ce 100644 +index d46f932b595495816ea038cf161bc7f2d85f177e..7d8a9bab880656e34d8c4dceb4dea3b0c1ced4c8 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2503,4 +2503,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2518,4 +2518,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ public boolean isGlobalTickThread(); // Folia end - region threading API diff --git a/patches/server/0001-Fix-build.patch b/patches/server/0001-Fix-build.patch index aef0f21..425686b 100644 --- a/patches/server/0001-Fix-build.patch +++ b/patches/server/0001-Fix-build.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix build diff --git a/build.gradle.kts b/build.gradle.kts -index 08d434023226af0d2c469055a3b2188fe8a4ed38..48e9f6ff317bfc7077563e9c651d2a90da6bb37a 100644 +index 905262067dabc7cbe5b08639fcefd3a996a937e0..c0608731dd7a352628a1e31997d0658dfa9f2ea8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -14,7 +14,7 @@ val alsoShade: Configuration by configurations.creating @@ -17,7 +17,7 @@ index 08d434023226af0d2c469055a3b2188fe8a4ed38..48e9f6ff317bfc7077563e9c651d2a90 implementation("io.papermc.paper:paper-mojangapi:${project.version}") { exclude("io.papermc.paper", "paper-api") } -@@ -74,7 +74,7 @@ tasks.jar { +@@ -75,7 +75,7 @@ tasks.jar { attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", diff --git a/patches/server/0002-Rebrand-to-Luminol.patch b/patches/server/0002-Rebrand-to-Luminol.patch index 5a71ee4..59a446a 100644 --- a/patches/server/0002-Rebrand-to-Luminol.patch +++ b/patches/server/0002-Rebrand-to-Luminol.patch @@ -51,10 +51,10 @@ index e2f704c115fd6e00960bb56bb0779f1100c89c17..72b9343979de5aa8bb399cbe7cb8a795 return history != null ? TextComponent.ofChildren(updateMessage, Component.newline(), history) : updateMessage; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3ec07e77748ee9bb21f9d09230f935bca2217e4d..94ac1715a3c8f8d84911d758dd26a45394f87872 100644 +index d6a7188227cee9072976db98613324ee2d3dcdc8..8c9a80197247a384dd80747bf23fdd809d08b341 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1953,7 +1953,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop -Date: Wed, 7 Feb 2024 00:56:34 +0000 -Subject: [PATCH] Add config for sand duping - - -diff --git a/src/main/java/me/earthme/luminol/config/modules/fixes/SandDupingFixConfig.java b/src/main/java/me/earthme/luminol/config/modules/fixes/SandDupingFixConfig.java -new file mode 100644 -index 0000000000000000000000000000000000000000..7561dfd23724fc3f2cc580b2b53fa1469e3d098e ---- /dev/null -+++ b/src/main/java/me/earthme/luminol/config/modules/fixes/SandDupingFixConfig.java -@@ -0,0 +1,20 @@ -+package me.earthme.luminol.config.modules.fixes; -+ -+import me.earthme.luminol.config.ConfigInfo; -+import me.earthme.luminol.config.EnumConfigCategory; -+import me.earthme.luminol.config.IConfigModule; -+ -+public class SandDupingFixConfig implements IConfigModule { -+ @ConfigInfo(baseName = "enabled") -+ public static boolean enabled = false; -+ -+ @Override -+ public EnumConfigCategory getCategory() { -+ return EnumConfigCategory.FIXES; -+ } -+ -+ @Override -+ public String getBaseName() { -+ return "allow_sand_duping"; -+ } -+} -diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java -index 25b7b85cbd1130c5320e55b3c6b6f81ec228da81..c43f710a558cfe887a373a94ee48c4804986186d 100644 ---- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java -+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java -@@ -133,7 +133,7 @@ public class FallingBlockEntity extends Entity { - @Override - public void tick() { - // Paper start - fix sand duping -- if (this.isRemoved()) { -+ if (!me.earthme.luminol.config.modules.fixes.SandDupingFixConfig.enabled && this.isRemoved()) { //Luminol - Add config for sand duping - return; - } - // Paper end - fix sand duping -@@ -149,7 +149,7 @@ public class FallingBlockEntity extends Entity { - - this.move(MoverType.SELF, this.getDeltaMovement()); - // Paper start - fix sand duping -- if (this.isRemoved()) { -+ if (!me.earthme.luminol.config.modules.fixes.SandDupingFixConfig.enabled && this.isRemoved()) { //Luminol - Add config for sand duping - return; - } - // Paper end - fix sand duping diff --git a/patches/server/0007-Add-config-for-void-trading.patch b/patches/server/0006-Add-config-for-void-trading.patch similarity index 96% rename from patches/server/0007-Add-config-for-void-trading.patch rename to patches/server/0006-Add-config-for-void-trading.patch index d93cc05..374a61c 100644 --- a/patches/server/0007-Add-config-for-void-trading.patch +++ b/patches/server/0006-Add-config-for-void-trading.patch @@ -31,7 +31,7 @@ index 0000000000000000000000000000000000000000..22f3c6c70e4287f1bdd0b18f87f57efe + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index ec25610cbffe30fecaeaadf9098e187bc15b5405..682ca5ec0aee427463d1a9f97292c6ea65ca2da0 100644 +index 81749b8da7182abd1bf35629f33388e813dbeac0..10df17ad79092f3e226df08e58620694b3581758 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -3045,7 +3045,7 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/0009-Add-config-for-vanilla-random.patch b/patches/server/0007-Add-config-for-vanilla-random.patch similarity index 93% rename from patches/server/0009-Add-config-for-vanilla-random.patch rename to patches/server/0007-Add-config-for-vanilla-random.patch index 0892df8..7e914b2 100644 --- a/patches/server/0009-Add-config-for-vanilla-random.patch +++ b/patches/server/0007-Add-config-for-vanilla-random.patch @@ -31,10 +31,10 @@ index 0000000000000000000000000000000000000000..ee247014c9a2ec1bbb7f25ef41da110a + } +} diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 6b560754382936d4889e5729613077a3401d8740..865804a16fce714497b2c025a869f972787442e3 100644 +index 1cf96090a050e7f7b4a2d12ecf41ce3202a3030b..1a4fe69f8de997d25c5dd0e8fadd16be81750c59 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -563,7 +563,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -564,7 +564,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S this.bb = Entity.INITIAL_AABB; this.stuckSpeedMultiplier = Vec3.ZERO; this.nextStep = 1.0F; diff --git a/patches/server/0010-Add-config-for-chat-sign.patch b/patches/server/0008-Add-config-for-chat-sign.patch similarity index 100% rename from patches/server/0010-Add-config-for-chat-sign.patch rename to patches/server/0008-Add-config-for-chat-sign.patch diff --git a/patches/server/0011-Add-a-simple-tpsbar.patch b/patches/server/0009-Add-a-simple-tpsbar.patch similarity index 99% rename from patches/server/0011-Add-a-simple-tpsbar.patch rename to patches/server/0009-Add-a-simple-tpsbar.patch index 1196dfb..b8fdde3 100644 --- a/patches/server/0011-Add-a-simple-tpsbar.patch +++ b/patches/server/0009-Add-a-simple-tpsbar.patch @@ -371,7 +371,7 @@ index cbc89b8898f9243776af88c2b04ad3c2e4e23fb6..318cb1e98a3d73b7893f07c9f0db3ada public io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances getViewDistances() { return this.viewDistances.get(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 8fc071a6249193af5e1795cc19f50996ea22d96f..830616f7a3d1c3e25133229a74e08cbb9d412179 100644 +index d2902fc7f3b7af59f181bd1e12435d946db7ad23..26f70965b45fa3c344781b569a651a4668d0621d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2287,6 +2287,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0012-Add-config-for-username-check.patch b/patches/server/0010-Add-config-for-username-check.patch similarity index 100% rename from patches/server/0012-Add-config-for-username-check.patch rename to patches/server/0010-Add-config-for-username-check.patch diff --git a/patches/server/0013-Add-config-for-offline-mode-warning.patch b/patches/server/0011-Add-config-for-offline-mode-warning.patch similarity index 100% rename from patches/server/0013-Add-config-for-offline-mode-warning.patch rename to patches/server/0011-Add-config-for-offline-mode-warning.patch diff --git a/patches/server/0014-Add-config-for-out-of-order-chat-checks.patch b/patches/server/0012-Add-config-for-out-of-order-chat-checks.patch similarity index 100% rename from patches/server/0014-Add-config-for-out-of-order-chat-checks.patch rename to patches/server/0012-Add-config-for-out-of-order-chat-checks.patch diff --git a/patches/server/0015-Add-a-simple-watchdog-for-tick-regions.patch b/patches/server/0013-Add-a-simple-watchdog-for-tick-regions.patch similarity index 99% rename from patches/server/0015-Add-a-simple-watchdog-for-tick-regions.patch rename to patches/server/0013-Add-a-simple-watchdog-for-tick-regions.patch index 44cb370..fbd8a7c 100644 --- a/patches/server/0015-Add-a-simple-watchdog-for-tick-regions.patch +++ b/patches/server/0013-Add-a-simple-watchdog-for-tick-regions.patch @@ -243,7 +243,7 @@ index 0000000000000000000000000000000000000000..6b4368cdf9762ad981345fef0f26cd00 +} \ No newline at end of file diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index dd4fbe5a51e05560343d2ee919d4bc50963e3d70..4d3ba2b02d19cc43a19bc633b9c5df66b85533f7 100644 +index 0d756dd5181a2444175184227bef648d07c17236..59b1da130e519cbe06ed5eedf9e4dc881e45ba36 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1222,6 +1222,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop -Date: Wed, 7 Feb 2024 01:05:57 +0000 +Date: Mon, 25 Mar 2024 13:16:04 +0000 Subject: [PATCH] Add config for incorrect tripwire updating fixing @@ -31,15 +31,15 @@ index 0000000000000000000000000000000000000000..79ce93a1e97f176c7b0e5b00d7f0880f + } +} diff --git a/src/main/java/net/minecraft/world/level/block/TripWireHookBlock.java b/src/main/java/net/minecraft/world/level/block/TripWireHookBlock.java -index 7f2dcf6a9e69779e6f898284b58fb1e32902000c..e1a7208b76e4dc7f388923d72edeceb6daefa774 100644 +index 8bf94fcf5c46ffe6d90f8431338b768ef1a2dd61..a286d6cd2c371c135cb708f2bee9c5afa7532a92 100644 --- a/src/main/java/net/minecraft/world/level/block/TripWireHookBlock.java +++ b/src/main/java/net/minecraft/world/level/block/TripWireHookBlock.java -@@ -162,7 +162,7 @@ public class TripWireHookBlock extends Block { - boolean flag7 = (Boolean) iblockdata2.getValue(TripWireBlock.POWERED); +@@ -201,7 +201,7 @@ public class TripWireHookBlock extends Block { + BlockState iblockdata4 = aiblockdata[l]; - flag5 |= flag6 && flag7; -- if (k != i || !tripWireBeingRemoved || !flag6) // Paper - fix tripwire state inconsistency; don't update the tripwire again if being removed and not disarmed -+ if (k != i || !tripWireBeingRemoved || !flag6 || me.earthme.luminol.config.modules.fixes.IncorrectTripwireFixConfig.enabled) // Paper - don't update the tripwire again if being removed and not disarmed //Luminol - Add config for incorrect tripwire updating fixing - aiblockdata[k] = iblockdata2; - if (k == i) { - world.scheduleTick(pos, block, 10); + if (iblockdata4 != null) { +- if (world.getBlockState(blockposition2).is(Blocks.TRIPWIRE)) { // Paper - Fix tripwire disarming not working as intended ++ if (world.getBlockState(blockposition2).is(Blocks.TRIPWIRE) || me.earthme.luminol.config.modules.fixes.IncorrectTripwireFixConfig.enabled) { // Paper - Fix tripwire disarming not working as intended //Luminol - Add config for this + world.setBlock(blockposition2, (BlockState) iblockdata4.trySetValue(TripWireHookBlock.ATTACHED, flag4), 3); + } + } diff --git a/patches/server/0016-Io_uring-channel-type-support.patch b/patches/server/0015-Io_uring-channel-type-support.patch similarity index 97% rename from patches/server/0016-Io_uring-channel-type-support.patch rename to patches/server/0015-Io_uring-channel-type-support.patch index 82a43d9..e3fb361 100644 --- a/patches/server/0016-Io_uring-channel-type-support.patch +++ b/patches/server/0015-Io_uring-channel-type-support.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Io_uring channel type support diff --git a/build.gradle.kts b/build.gradle.kts -index d4baa7a193eba22be23921029ca4808a73de063d..32c93c1349b8dbf6017f4e926e697c1c40627d36 100644 +index 66c34f883a93dd86fcac8029cce63ffe7340c89b..66cb23bce8bf0a96867144874643f771f7440034 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -35,6 +35,7 @@ dependencies { diff --git a/patches/server/0017-Try-fixing-folia-spector-teleportation.patch b/patches/server/0016-Try-fixing-folia-spector-teleportation.patch similarity index 100% rename from patches/server/0017-Try-fixing-folia-spector-teleportation.patch rename to patches/server/0016-Try-fixing-folia-spector-teleportation.patch diff --git a/patches/server/0018-Teleport-async-if-entity-was-moving-to-another-regio.patch b/patches/server/0017-Teleport-async-if-entity-was-moving-to-another-regio.patch similarity index 96% rename from patches/server/0018-Teleport-async-if-entity-was-moving-to-another-regio.patch rename to patches/server/0017-Teleport-async-if-entity-was-moving-to-another-regio.patch index 8fcfa42..532a936 100644 --- a/patches/server/0018-Teleport-async-if-entity-was-moving-to-another-regio.patch +++ b/patches/server/0017-Teleport-async-if-entity-was-moving-to-another-regio.patch @@ -33,7 +33,7 @@ index 0000000000000000000000000000000000000000..73d99a105a18231901e691922b0c283a + } +} diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index e6252c2cb76d96929c69c651b6570b586ee7e7e3..53c4ac14ce95f21ef87a148dddb349f18d6320b1 100644 +index 1a4fe69f8de997d25c5dd0e8fadd16be81750c59..02e0a617739ad165b25addc5f3e32fa9aacf0b3b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -7,6 +7,7 @@ import com.google.common.collect.Lists; @@ -53,7 +53,7 @@ index e6252c2cb76d96929c69c651b6570b586ee7e7e3..53c4ac14ce95f21ef87a148dddb349f1 import net.minecraft.BlockUtil; import net.minecraft.CrashReport; import net.minecraft.CrashReportCategory; -@@ -1070,10 +1073,40 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -1083,10 +1086,40 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } // Paper end - detailed watchdog information diff --git a/patches/server/0019-Prevent-teleportAsync-calling-during-moving-event-be.patch b/patches/server/0018-Prevent-teleportAsync-calling-during-moving-event-be.patch similarity index 97% rename from patches/server/0019-Prevent-teleportAsync-calling-during-moving-event-be.patch rename to patches/server/0018-Prevent-teleportAsync-calling-during-moving-event-be.patch index 470fe79..520e1ef 100644 --- a/patches/server/0019-Prevent-teleportAsync-calling-during-moving-event-be.patch +++ b/patches/server/0018-Prevent-teleportAsync-calling-during-moving-event-be.patch @@ -48,7 +48,7 @@ index 9cbf17436b4cf52aae374767aafe79ea4f60c3ce..f2068e7608ed765e35759eb981db6c95 super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); this.chatVisibility = ChatVisiblity.FULL; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 9555ae82d68cf217bc17e3bd9af2462702a2506b..51053d90f1bbad0b6453c13e06010cd7193ae7b7 100644 +index 3b2508dc6cd4f70b09dce3b7e745e6efabaaa74e..b3ff8ed6d0f0414c15b9d2e6a51a0e34c361f92a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -675,7 +675,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -72,7 +72,7 @@ index 9555ae82d68cf217bc17e3bd9af2462702a2506b..51053d90f1bbad0b6453c13e06010cd7 // If the event is cancelled we move the player back to their old location. if (event.isCancelled()) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 53c4ac14ce95f21ef87a148dddb349f18d6320b1..a0915438503e385153ec7bc7584860466f65b461 100644 +index 02e0a617739ad165b25addc5f3e32fa9aacf0b3b..45fd500c1a41ec4568c9e0e579da3d477feb541a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -27,6 +27,7 @@ import java.util.stream.Stream; @@ -99,7 +99,7 @@ index 53c4ac14ce95f21ef87a148dddb349f18d6320b1..a0915438503e385153ec7bc758486046 import org.bukkit.block.BlockFace; import org.bukkit.command.CommandSender; import org.bukkit.craftbukkit.event.CraftPortalEvent; -@@ -3970,6 +3969,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3986,6 +3985,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S java.util.function.Consumer teleportComplete) { io.papermc.paper.util.TickThread.ensureTickThread(this, "Cannot teleport entity async"); diff --git a/patches/server/0020-Piston-fixes-from-molean-server.patch b/patches/server/0019-Piston-fixes-from-molean-server.patch similarity index 94% rename from patches/server/0020-Piston-fixes-from-molean-server.patch rename to patches/server/0019-Piston-fixes-from-molean-server.patch index 437f8bb..6ba1c9c 100644 --- a/patches/server/0020-Piston-fixes-from-molean-server.patch +++ b/patches/server/0019-Piston-fixes-from-molean-server.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Piston fixes from molean server diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a0915438503e385153ec7bc7584860466f65b461..13b1bf1d3dea42d0d0d45ebd2c9ccbf6928c395b 100644 +index 45fd500c1a41ec4568c9e0e579da3d477feb541a..d8b06e08e6b59f0e6a50f450d1a682ef459d5b57 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1447,7 +1447,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -1460,7 +1460,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S if (movement.lengthSqr() <= 1.0E-7D) { return movement; } else { diff --git a/patches/server/0021-Kaiiju-linear-region-format-and-settings.patch b/patches/server/0020-Kaiiju-linear-region-format-and-settings.patch similarity index 99% rename from patches/server/0021-Kaiiju-linear-region-format-and-settings.patch rename to patches/server/0020-Kaiiju-linear-region-format-and-settings.patch index 2568be7..2183177 100644 --- a/patches/server/0021-Kaiiju-linear-region-format-and-settings.patch +++ b/patches/server/0020-Kaiiju-linear-region-format-and-settings.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Kaiiju linear region format and settings diff --git a/build.gradle.kts b/build.gradle.kts -index 32c93c1349b8dbf6017f4e926e697c1c40627d36..d104fb1b29bc103736fcd19a8f12ca095b6b4960 100644 +index 66cb23bce8bf0a96867144874643f771f7440034..57fcd58883effe57051b72a4e9f4af91aacd421a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -20,6 +20,10 @@ dependencies { @@ -636,7 +636,7 @@ index 0000000000000000000000000000000000000000..7c034f65bac5aab4c46a8506efa5befe + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4d3ba2b02d19cc43a19bc633b9c5df66b85533f7..b3173889ba86b39bac9d0171a863bf4effbb41b1 100644 +index 59b1da130e519cbe06ed5eedf9e4dc881e45ba36..c924951c3dd7652ee446b40689ff9004546e972a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -923,7 +923,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { @@ -28,7 +28,7 @@ index 13b1bf1d3dea42d0d0d45ebd2c9ccbf6928c395b..24c05e40c9eeeb4a181d2f9994b0e786 ); } ); -@@ -4368,6 +4373,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4384,6 +4389,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S if (!this.canPortalAsync(takePassengers)) { return false; } @@ -39,7 +39,7 @@ index 13b1bf1d3dea42d0d0d45ebd2c9ccbf6928c395b..24c05e40c9eeeb4a181d2f9994b0e786 Vec3 initialPosition = this.position(); ChunkPos initialPositionChunk = new ChunkPos( -@@ -4426,7 +4435,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4442,7 +4451,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S // place passengerTree.root.placeInAsync( originWorld, destination, Entity.TELEPORT_FLAG_LOAD_CHUNK | (takePassengers ? Entity.TELEPORT_FLAG_TELEPORT_PASSENGERS : 0L), diff --git a/patches/server/0024-Kaiiju-Async-path-processing.patch b/patches/server/0023-Kaiiju-Async-path-processing.patch similarity index 82% rename from patches/server/0024-Kaiiju-Async-path-processing.patch rename to patches/server/0023-Kaiiju-Async-path-processing.patch index 8116175..d886d4a 100644 --- a/patches/server/0024-Kaiiju-Async-path-processing.patch +++ b/patches/server/0023-Kaiiju-Async-path-processing.patch @@ -1,6 +1,6 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: MrHua269 -Date: Wed, 7 Feb 2024 07:33:03 +0000 +Date: Mon, 25 Mar 2024 13:47:32 +0000 Subject: [PATCH] Kaiiju Async path processing @@ -515,10 +515,10 @@ index 0000000000000000000000000000000000000000..a5472bb9d453bbeee92738c8d1a57ef4 + } +} diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index a3992e21e7d4112b9903e8d16a5e898d448eaea8..dc94c66404e9f2015119e249a560571355c92c96 100644 +index 54297b9dde40fe853d873d60373cd8c0a3c9466b..67210fc018349ab0a79740dee140fb60c82c431a 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -296,6 +296,7 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -297,6 +297,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @Nullable @Override public LivingEntity getTarget() { @@ -704,89 +704,6 @@ index 98bf17441da3169d49de55fe89d79ebe250a2b7e..74162661e5757bb2c732361042b5dd2c private boolean tryComputePath(Mob entity, WalkTarget walkTarget, long time) { BlockPos blockPos = walkTarget.getTarget().currentBlockPosition(); -diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/SetClosestHomeAsWalkTarget.java b/src/main/java/net/minecraft/world/entity/ai/behavior/SetClosestHomeAsWalkTarget.java -index 271efbb027f6f5d69ac5bc5dc51102a1eb00ab31..cd2a3edc03301286114834e721f5441e7b70474a 100644 ---- a/src/main/java/net/minecraft/world/entity/ai/behavior/SetClosestHomeAsWalkTarget.java -+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/SetClosestHomeAsWalkTarget.java -@@ -57,6 +57,26 @@ public class SetClosestHomeAsWalkTarget { - Set, BlockPos>> set = poiManager.findAllWithType((poiType) -> { - return poiType.is(PoiTypes.HOME); - }, predicate, entity.blockPosition(), 48, PoiManager.Occupancy.ANY).collect(Collectors.toSet()); -+ // Kaiiju start - petal - Async path processing -+ if (me.earthme.luminol.config.modules.optimizations.AsyncPathProcessingConfig.asyncPathProcessing) { -+ // await on path async -+ Path possiblePath = AcquirePoi.findPathToPois(entity, set); -+ -+ // wait on the path to be processed -+ dev.kaiijumc.kaiiju.path.AsyncPathProcessor.awaitProcessing(entity, possiblePath, path -> { -+ if (path == null || !path.canReach() || mutableInt.getValue() < 5) { // read canReach check -+ long2LongMap.long2LongEntrySet().removeIf((entry) -> entry.getLongValue() < mutableLong.getValue()); -+ return; -+ } -+ BlockPos blockPos = path.getTarget(); -+ Optional> optional2 = poiManager.getType(blockPos); -+ if (optional2.isPresent()) { -+ walkTarget.set(new WalkTarget(blockPos, speed, 1)); -+ DebugPackets.sendPoiTicketCountPacket(world, blockPos); -+ } -+ }); -+ } else { -+ // Kaiiju end - Path path = AcquirePoi.findPathToPois(entity, set); - if (path != null && path.canReach()) { - BlockPos blockPos = path.getTarget(); -@@ -70,6 +90,7 @@ public class SetClosestHomeAsWalkTarget { - return entry.getLongValue() < mutableLong.getValue(); - }); - } -+ } // Kaiiju - async path processing - - return true; - } else { -diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/DoorInteractGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/DoorInteractGoal.java -index 6771f2dc974317b6b152288bf41d1a95bc78a8e4..7a641747b17164b09bb8483cda7f69d11741a94a 100644 ---- a/src/main/java/net/minecraft/world/entity/ai/goal/DoorInteractGoal.java -+++ b/src/main/java/net/minecraft/world/entity/ai/goal/DoorInteractGoal.java -@@ -57,7 +57,7 @@ public abstract class DoorInteractGoal extends Goal { - } else { - GroundPathNavigation groundPathNavigation = (GroundPathNavigation)this.mob.getNavigation(); - Path path = groundPathNavigation.getPath(); -- if (path != null && !path.isDone() && groundPathNavigation.canOpenDoors()) { -+ if (path != null && path.isProcessed() && !path.isDone() && groundPathNavigation.canOpenDoors()) { // Kaiiju - async pathfinding - ensure path is processed - for(int i = 0; i < Math.min(path.getNextNodeIndex() + 2, path.getNodeCount()); ++i) { - Node node = path.getNode(i); - this.doorPos = new BlockPos(node.x, node.y + 1, node.z); -diff --git a/src/main/java/net/minecraft/world/entity/ai/navigation/AmphibiousPathNavigation.java b/src/main/java/net/minecraft/world/entity/ai/navigation/AmphibiousPathNavigation.java -index 9d3b32c852d660356e0f16d4cc10072b1c603e64..2e64fe17fb3ee1925db1fdb34dedba356aea070b 100644 ---- a/src/main/java/net/minecraft/world/entity/ai/navigation/AmphibiousPathNavigation.java -+++ b/src/main/java/net/minecraft/world/entity/ai/navigation/AmphibiousPathNavigation.java -@@ -12,10 +12,26 @@ public class AmphibiousPathNavigation extends PathNavigation { - super(mob, world); - } - -+ // Kaiiju start - petal - async path processing -+ private static final dev.kaiijumc.kaiiju.path.NodeEvaluatorGenerator nodeEvaluatorGenerator = (dev.kaiijumc.kaiiju.path.NodeEvaluatorFeatures nodeEvaluatorFeatures) -> { -+ AmphibiousNodeEvaluator nodeEvaluator = new AmphibiousNodeEvaluator(false); -+ nodeEvaluator.setCanPassDoors(nodeEvaluatorFeatures.canPassDoors()); -+ nodeEvaluator.setCanFloat(nodeEvaluatorFeatures.canFloat()); -+ nodeEvaluator.setCanWalkOverFences(nodeEvaluatorFeatures.canWalkOverFences()); -+ nodeEvaluator.setCanOpenDoors(nodeEvaluatorFeatures.canOpenDoors()); -+ return nodeEvaluator; -+ }; -+ // Kaiiju end -+ - @Override - protected PathFinder createPathFinder(int range) { - this.nodeEvaluator = new AmphibiousNodeEvaluator(false); - this.nodeEvaluator.setCanPassDoors(true); -+ // Kaiiju start - petal - async path processing -+ if (me.earthme.luminol.config.modules.optimizations.AsyncPathProcessingConfig.asyncPathProcessing) -+ return new PathFinder(this.nodeEvaluator, range, nodeEvaluatorGenerator); -+ else -+ // Kaiiju end - return new PathFinder(this.nodeEvaluator, range); - } - diff --git a/src/main/java/net/minecraft/world/entity/ai/navigation/FlyingPathNavigation.java b/src/main/java/net/minecraft/world/entity/ai/navigation/FlyingPathNavigation.java index e35c38feb62c3345d82636081decc09db9f061ab..70f4104f8e49fd6b7df531673f3e1da123783409 100644 --- a/src/main/java/net/minecraft/world/entity/ai/navigation/FlyingPathNavigation.java @@ -938,37 +855,6 @@ index 089baec30e0c16149b147a501d68958663519b96..f6484fefd28a028fbcd1a54d93c8607b Node node = this.path.getEndNode(); Vec3 vec3 = new Vec3(((double)node.x + this.mob.getX()) / 2.0D, ((double)node.y + this.mob.getY()) / 2.0D, ((double)node.z + this.mob.getZ()) / 2.0D); return pos.closerToCenterThan(vec3, (double)(this.path.getNodeCount() - this.path.getNextNodeIndex())); -diff --git a/src/main/java/net/minecraft/world/entity/ai/navigation/WaterBoundPathNavigation.java b/src/main/java/net/minecraft/world/entity/ai/navigation/WaterBoundPathNavigation.java -index ee8543afbbd681bf327a353530a7a635aa5ef592..238b5f2dc5487dcf675152b8c19a40a6e16958dc 100644 ---- a/src/main/java/net/minecraft/world/entity/ai/navigation/WaterBoundPathNavigation.java -+++ b/src/main/java/net/minecraft/world/entity/ai/navigation/WaterBoundPathNavigation.java -@@ -15,10 +15,26 @@ public class WaterBoundPathNavigation extends PathNavigation { - super(entity, world); - } - -+ // Kaiiju start - petal - async path processing -+ private static final dev.kaiijumc.kaiiju.path.NodeEvaluatorGenerator nodeEvaluatorGenerator = (dev.kaiijumc.kaiiju.path.NodeEvaluatorFeatures nodeEvaluatorFeatures) -> { -+ SwimNodeEvaluator nodeEvaluator = new SwimNodeEvaluator(nodeEvaluatorFeatures.allowBreaching()); -+ nodeEvaluator.setCanPassDoors(nodeEvaluatorFeatures.canPassDoors()); -+ nodeEvaluator.setCanFloat(nodeEvaluatorFeatures.canFloat()); -+ nodeEvaluator.setCanWalkOverFences(nodeEvaluatorFeatures.canWalkOverFences()); -+ nodeEvaluator.setCanOpenDoors(nodeEvaluatorFeatures.canOpenDoors()); -+ return nodeEvaluator; -+ }; -+ // Kaiiju end -+ - @Override - protected PathFinder createPathFinder(int range) { - this.allowBreaching = this.mob.getType() == EntityType.DOLPHIN; - this.nodeEvaluator = new SwimNodeEvaluator(this.allowBreaching); -+ // Kaiiju start - async path processing -+ if (me.earthme.luminol.config.modules.optimizations.AsyncPathProcessingConfig.asyncPathProcessing) -+ return new PathFinder(this.nodeEvaluator, range, nodeEvaluatorGenerator); -+ else -+ // Kaiiju end - return new PathFinder(this.nodeEvaluator, range); - } - diff --git a/src/main/java/net/minecraft/world/entity/ai/sensing/NearestBedSensor.java b/src/main/java/net/minecraft/world/entity/ai/sensing/NearestBedSensor.java index 8db20db72cd51046213625fac46c35854c59ec5d..afa5d36f5f9e6f3a44a1e92f98a1d83c3af4d277 100644 --- a/src/main/java/net/minecraft/world/entity/ai/sensing/NearestBedSensor.java @@ -1136,30 +1022,6 @@ index 937f81a859953498abe73bea560c86e6560e1c33..7aadd36f0fe986635b495ab8c1426644 return new PathFinder(this.nodeEvaluator, range) { @Override protected float distance(Node a, Node b) { -diff --git a/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java b/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java -index 42407c5c0c09cd9d19bc7af92af8868bb038c686..39ed19562210f1329b22c630e667578473cda7cb 100644 ---- a/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java -@@ -254,6 +254,7 @@ public class ShulkerBoxBlock extends BaseEntityBlock { - - @Override - public VoxelShape getShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) { -+ if (Thread.currentThread().getName().contains("petal-path-processor")) return Shapes.block(); // Kaiiju - async pathfinding - we cannot get block entities - BlockEntity blockEntity = world.getBlockEntity(pos); - return blockEntity instanceof ShulkerBoxBlockEntity ? Shapes.create(((ShulkerBoxBlockEntity)blockEntity).getBoundingBox(state)) : Shapes.block(); - } -diff --git a/src/main/java/net/minecraft/world/level/block/piston/MovingPistonBlock.java b/src/main/java/net/minecraft/world/level/block/piston/MovingPistonBlock.java -index d3d1ad7901411574b85b0febd1c7ddaa8ad7c9f4..850065df2b95b0967660f246cd007bf9f53e26df 100644 ---- a/src/main/java/net/minecraft/world/level/block/piston/MovingPistonBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/piston/MovingPistonBlock.java -@@ -110,6 +110,7 @@ public class MovingPistonBlock extends BaseEntityBlock { - - @Override - public VoxelShape getCollisionShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) { -+ if (Thread.currentThread().getName().contains("petal-path-processor")) return Shapes.empty(); // Kaiiju - async pathfinding - we cannot get block entities - PistonMovingBlockEntity pistonMovingBlockEntity = this.getBlockEntity(world, pos); - return pistonMovingBlockEntity != null ? pistonMovingBlockEntity.getCollisionShape(world, pos) : Shapes.empty(); - } diff --git a/src/main/java/net/minecraft/world/level/pathfinder/Path.java b/src/main/java/net/minecraft/world/level/pathfinder/Path.java index 3049edb5a8b5967e5242a3896b23665888eb3472..0da9acd785cf785d82be7aab0a1e2bfd70c62998 100644 --- a/src/main/java/net/minecraft/world/level/pathfinder/Path.java @@ -1191,7 +1053,7 @@ index 3049edb5a8b5967e5242a3896b23665888eb3472..0da9acd785cf785d82be7aab0a1e2bfd return false; } else if (o.nodes.size() != this.nodes.size()) { diff --git a/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java b/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java -index eb18494bd7257fa5eb00dea16cf4d5667b796f2b..3cbc29fa169350879254a90e198e6247b6ab3037 100644 +index 8aa4ac3a6affbe888d6084a27b668c58dfda6c79..d8f443af840b1a4b1d2868fefd87d70dad55a764 100644 --- a/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java +++ b/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java @@ -24,37 +24,80 @@ public class PathFinder { @@ -1293,24 +1155,11 @@ index eb18494bd7257fa5eb00dea16cf4d5667b796f2b..3cbc29fa169350879254a90e198e6247 for(int l = 0; l < k; ++l) { Node node2 = this.neighbors[l]; -@@ -123,6 +166,7 @@ public class PathFinder { +@@ -123,7 +166,6 @@ public class PathFinder { if (best == null || comparator.compare(path, best) < 0) best = path; } -+ //noinspection ConstantConditions // Kaiiju - petal - ignore this warning, we know that the above loop always runs at least once since positions is not empty +- profiler.pop(); return best; // Paper end - Perf: remove streams and optimize collection } -diff --git a/src/main/java/net/minecraft/world/level/pathfinder/SwimNodeEvaluator.java b/src/main/java/net/minecraft/world/level/pathfinder/SwimNodeEvaluator.java -index 0e2b14e7dfedf209d63279c81723fd7955122d78..079b278e2e262af433bb5bd0c12b3d8db4fa12fc 100644 ---- a/src/main/java/net/minecraft/world/level/pathfinder/SwimNodeEvaluator.java -+++ b/src/main/java/net/minecraft/world/level/pathfinder/SwimNodeEvaluator.java -@@ -16,7 +16,7 @@ import net.minecraft.world.level.block.state.BlockState; - import net.minecraft.world.level.material.FluidState; - - public class SwimNodeEvaluator extends NodeEvaluator { -- private final boolean allowBreaching; -+ public final boolean allowBreaching; // Kaiiju - make this public - private final Long2ObjectMap pathTypesByPosCache = new Long2ObjectOpenHashMap<>(); - - public SwimNodeEvaluator(boolean canJumpOutOfWater) { diff --git a/patches/server/0025-Petal-Reduce-sensor-work.patch b/patches/server/0024-Petal-Reduce-sensor-work.patch similarity index 93% rename from patches/server/0025-Petal-Reduce-sensor-work.patch rename to patches/server/0024-Petal-Reduce-sensor-work.patch index 9c5ab91..7ac04ea 100644 --- a/patches/server/0025-Petal-Reduce-sensor-work.patch +++ b/patches/server/0024-Petal-Reduce-sensor-work.patch @@ -33,10 +33,10 @@ index 0000000000000000000000000000000000000000..dd45cf1fde5ee4cf8347064f106c64b8 + } +} diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index dc94c66404e9f2015119e249a560571355c92c96..9636f69fab9f34f3b3f4590f151248cd5b2da089 100644 +index 67210fc018349ab0a79740dee140fb60c82c431a..b90865dbfb3a4bd83e4cd3ba3b5b965036039f98 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -926,10 +926,11 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -927,10 +927,11 @@ public abstract class Mob extends LivingEntity implements Targeting { return; } // Paper end - Allow nerfed mobs to jump and float diff --git a/patches/server/0026-Pufferfish-Optimize-entity-coordinate-key.patch b/patches/server/0025-Pufferfish-Optimize-entity-coordinate-key.patch similarity index 86% rename from patches/server/0026-Pufferfish-Optimize-entity-coordinate-key.patch rename to patches/server/0025-Pufferfish-Optimize-entity-coordinate-key.patch index c0801b4..2217f79 100644 --- a/patches/server/0026-Pufferfish-Optimize-entity-coordinate-key.patch +++ b/patches/server/0025-Pufferfish-Optimize-entity-coordinate-key.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Pufferfish Optimize entity coordinate key diff --git a/src/main/java/io/papermc/paper/util/MCUtil.java b/src/main/java/io/papermc/paper/util/MCUtil.java -index 878306271d4af280c7a086d1839c446a01da1ad6..cb22cac2b8c4eaf705b76fd4a9d8b82fb8eb0140 100644 +index 08d282400644be5949f28eb879b333cc221da2cc..49ccb27a17bec1d4ff31bc8d72e4724d65adc20c 100644 --- a/src/main/java/io/papermc/paper/util/MCUtil.java +++ b/src/main/java/io/papermc/paper/util/MCUtil.java -@@ -212,7 +212,7 @@ public final class MCUtil { +@@ -215,7 +215,7 @@ public final class MCUtil { } public static long getCoordinateKey(final Entity entity) { diff --git a/patches/server/0027-Pufferfish-Cache-climbing-check-for-activation.patch b/patches/server/0026-Pufferfish-Cache-climbing-check-for-activation.patch similarity index 87% rename from patches/server/0027-Pufferfish-Cache-climbing-check-for-activation.patch rename to patches/server/0026-Pufferfish-Cache-climbing-check-for-activation.patch index 03f925e..26fc096 100644 --- a/patches/server/0027-Pufferfish-Cache-climbing-check-for-activation.patch +++ b/patches/server/0026-Pufferfish-Cache-climbing-check-for-activation.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Pufferfish Cache climbing check for activation diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 24c05e40c9eeeb4a181d2f9994b0e786393046b9..a899f33c8c6033ad99d8187f29d6e9ebd99ded09 100644 +index 873139e05446034e131250f7ffa44336a0d7afca..e3935914ebc94f7ee4769c36cea904d8aae9ccca 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -310,7 +310,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -311,7 +311,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S public double yo; public double zo; private Vec3 position; @@ -18,10 +18,10 @@ index 24c05e40c9eeeb4a181d2f9994b0e786393046b9..a899f33c8c6033ad99d8187f29d6e9eb private Vec3 deltaMovement; private float yRot; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 2fa76a711a629e38a95b93e473272b8217783f99..3bde76d51ffe48490360d9ff5d27e2aa91c920ca 100644 +index cced2d25936eed5360716c8c25e4ca87f9150017..3cced696495f4e3ccf05680809809999cb1c98e0 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; +@@ -143,7 +143,6 @@ import org.bukkit.event.entity.EntityTeleportEvent; import org.bukkit.event.player.PlayerItemConsumeEvent; // CraftBukkit end @@ -29,7 +29,7 @@ index 2fa76a711a629e38a95b93e473272b8217783f99..3bde76d51ffe48490360d9ff5d27e2aa public abstract class LivingEntity extends Entity implements Attackable { -@@ -2027,6 +2026,20 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2035,6 +2034,20 @@ public abstract class LivingEntity extends Entity implements Attackable { return this.lastClimbablePos; } diff --git a/patches/server/0028-Pufferfish-Improve-fluid-direction-caching.patch b/patches/server/0027-Pufferfish-Improve-fluid-direction-caching.patch similarity index 100% rename from patches/server/0028-Pufferfish-Improve-fluid-direction-caching.patch rename to patches/server/0027-Pufferfish-Improve-fluid-direction-caching.patch diff --git a/patches/server/0029-Pufferfish-Optimize-suffocation.patch b/patches/server/0028-Pufferfish-Optimize-suffocation.patch similarity index 90% rename from patches/server/0029-Pufferfish-Optimize-suffocation.patch rename to patches/server/0028-Pufferfish-Optimize-suffocation.patch index 1bdfbbb..0217a34 100644 --- a/patches/server/0029-Pufferfish-Optimize-suffocation.patch +++ b/patches/server/0028-Pufferfish-Optimize-suffocation.patch @@ -31,10 +31,10 @@ index 0000000000000000000000000000000000000000..3e48cd297b4869e5c89b6abc43c726d3 + } +} diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 3bde76d51ffe48490360d9ff5d27e2aa91c920ca..56cee73ec911a171f1e4c1c733436caa504d0b57 100644 +index 3cced696495f4e3ccf05680809809999cb1c98e0..c807863fa99f4fcbd87dbd083c017db98f921029 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -419,7 +419,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -420,7 +420,7 @@ public abstract class LivingEntity extends Entity implements Attackable { boolean flag = this instanceof net.minecraft.world.entity.player.Player; if (!this.level().isClientSide) { @@ -43,7 +43,7 @@ index 3bde76d51ffe48490360d9ff5d27e2aa91c920ca..56cee73ec911a171f1e4c1c733436caa 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(); -@@ -1420,6 +1420,19 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1428,6 +1428,19 @@ public abstract class LivingEntity extends Entity implements Attackable { return this.getHealth() <= 0.0F; } @@ -64,10 +64,10 @@ index 3bde76d51ffe48490360d9ff5d27e2aa91c920ca..56cee73ec911a171f1e4c1c733436caa public boolean hurt(DamageSource source, float amount) { if (this.isInvulnerableTo(source)) { diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index ac9eaeaf7df1e84ee588f371628c0a10784d50bc..ea8883b0661e894a466eca24bfc247ac37f40a81 100644 +index 12440ee2dccc0a697fb403765f2e1b987ccc0283..de2471cfa96a23944f229f33ffdff88b6b7756e4 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -@@ -150,6 +150,13 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob +@@ -151,6 +151,13 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob this.bossEvent.setName(this.getDisplayName()); } diff --git a/patches/server/0030-Pufferfish-Early-return-optimization-for-target-find.patch b/patches/server/0029-Pufferfish-Early-return-optimization-for-target-find.patch similarity index 100% rename from patches/server/0030-Pufferfish-Early-return-optimization-for-target-find.patch rename to patches/server/0029-Pufferfish-Early-return-optimization-for-target-find.patch diff --git a/patches/server/0031-Pufferfish-Reduce-chunk-loading-lookups.patch b/patches/server/0030-Pufferfish-Reduce-chunk-loading-lookups.patch similarity index 100% rename from patches/server/0031-Pufferfish-Reduce-chunk-loading-lookups.patch rename to patches/server/0030-Pufferfish-Reduce-chunk-loading-lookups.patch diff --git a/patches/server/0033-Pufferfish-Fix-Paper-6045-block-goal-shouldn-t-load-.patch b/patches/server/0031-Pufferfish-Fix-Paper-6045-block-goal-shouldn-t-load-.patch similarity index 100% rename from patches/server/0033-Pufferfish-Fix-Paper-6045-block-goal-shouldn-t-load-.patch rename to patches/server/0031-Pufferfish-Fix-Paper-6045-block-goal-shouldn-t-load-.patch diff --git a/patches/server/0034-Pufferfish-Reduce-entity-fluid-lookups-if-no-fluids.patch b/patches/server/0032-Pufferfish-Reduce-entity-fluid-lookups-if-no-fluids.patch similarity index 96% rename from patches/server/0034-Pufferfish-Reduce-entity-fluid-lookups-if-no-fluids.patch rename to patches/server/0032-Pufferfish-Reduce-entity-fluid-lookups-if-no-fluids.patch index 4c04145..8829599 100644 --- a/patches/server/0034-Pufferfish-Reduce-entity-fluid-lookups-if-no-fluids.patch +++ b/patches/server/0032-Pufferfish-Reduce-entity-fluid-lookups-if-no-fluids.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Pufferfish Reduce entity fluid lookups if no fluids diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a899f33c8c6033ad99d8187f29d6e9ebd99ded09..0b201fd79233ed0a5c2d298b283a15497dffd8e5 100644 +index e3935914ebc94f7ee4769c36cea904d8aae9ccca..98b8938640e80919daa4342f16a00fe679ea3817 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -5243,16 +5243,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -5259,16 +5259,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } public boolean updateFluidHeightAndDoFluidPushing(TagKey tag, double speed) { @@ -34,7 +34,7 @@ index a899f33c8c6033ad99d8187f29d6e9ebd99ded09..0b201fd79233ed0a5c2d298b283a1549 double d1 = 0.0D; boolean flag = this.isPushedByFluid(); boolean flag1 = false; -@@ -5260,14 +5262,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -5276,14 +5278,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S int k1 = 0; BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(); @@ -102,7 +102,7 @@ index a899f33c8c6033ad99d8187f29d6e9ebd99ded09..0b201fd79233ed0a5c2d298b283a1549 if (d2 >= axisalignedbb.minY) { flag1 = true; -@@ -5289,9 +5338,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -5305,9 +5354,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S // CraftBukkit end } } diff --git a/patches/server/0035-Pufferfish-Only-check-for-spooky-season-once-an-hour.patch b/patches/server/0033-Pufferfish-Only-check-for-spooky-season-once-an-hour.patch similarity index 100% rename from patches/server/0035-Pufferfish-Only-check-for-spooky-season-once-an-hour.patch rename to patches/server/0033-Pufferfish-Only-check-for-spooky-season-once-an-hour.patch diff --git a/patches/server/0036-Pufferfish-Entity-TTL.patch b/patches/server/0034-Pufferfish-Entity-TTL.patch similarity index 95% rename from patches/server/0036-Pufferfish-Entity-TTL.patch rename to patches/server/0034-Pufferfish-Entity-TTL.patch index 0757101..1d41176 100644 --- a/patches/server/0036-Pufferfish-Entity-TTL.patch +++ b/patches/server/0034-Pufferfish-Entity-TTL.patch @@ -49,10 +49,10 @@ index 0000000000000000000000000000000000000000..15697d69659b6e1e776acf5094684b5f + } +} diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 0b201fd79233ed0a5c2d298b283a15497dffd8e5..f120f977e3535847a1e3a009a25eb0137fce6ab0 100644 +index 98b8938640e80919daa4342f16a00fe679ea3817..a5c8e5045f2a3db0fb5bf64665f2650f847ab797 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -798,6 +798,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -811,6 +811,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } public void tick() { diff --git a/patches/server/0037-Pufferfish-Reduce-projectile-chunk-loading.patch b/patches/server/0035-Pufferfish-Reduce-projectile-chunk-loading.patch similarity index 100% rename from patches/server/0037-Pufferfish-Reduce-projectile-chunk-loading.patch rename to patches/server/0035-Pufferfish-Reduce-projectile-chunk-loading.patch diff --git a/patches/server/0038-Pufferfish-Dynamic-Activation-of-Brain.patch b/patches/server/0036-Pufferfish-Dynamic-Activation-of-Brain.patch similarity index 95% rename from patches/server/0038-Pufferfish-Dynamic-Activation-of-Brain.patch rename to patches/server/0036-Pufferfish-Dynamic-Activation-of-Brain.patch index 82bc9c7..5e6663c 100644 --- a/patches/server/0038-Pufferfish-Dynamic-Activation-of-Brain.patch +++ b/patches/server/0036-Pufferfish-Dynamic-Activation-of-Brain.patch @@ -71,7 +71,7 @@ index 0000000000000000000000000000000000000000..af5893ba1f738ec9827d7b714682c314 + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index c06ddc99a0971be46746c767ad8ce590a8e2ee30..f3f095e6acbe50154503524b160255394f4d9ec6 100644 +index da6269249a95d78f91e90416a96bf1b776fd9c97..25a2f23618cd02366f71e704638adfbaed9fa8c5 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -987,6 +987,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -83,10 +83,10 @@ index c06ddc99a0971be46746c767ad8ce590a8e2ee30..f3f095e6acbe50154503524b16025539 if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed entity.discard(); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index f120f977e3535847a1e3a009a25eb0137fce6ab0..d62734c0365af706c136274faf3e135f6ea099ee 100644 +index a5c8e5045f2a3db0fb5bf64665f2650f847ab797..6815b29adede62deb2724a6843985d067389dc26 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -482,6 +482,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -483,6 +483,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S // Folia - region ticking // Paper end - optimise entity tracking @@ -111,10 +111,10 @@ index 8deae3e95a26f4b42b2c2134e22f9649bd7a5391..c09357c1ef84a29d972119cb496b0ae9 private String descriptionId; @Nullable diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 9636f69fab9f34f3b3f4590f151248cd5b2da089..50a144b0122c970856ef3faa3f899ee72e2a6300 100644 +index b90865dbfb3a4bd83e4cd3ba3b5b965036039f98..66c581585e6ca58eba0e8b7af0fa1f0c9f924f94 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -233,10 +233,10 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -234,10 +234,10 @@ public abstract class Mob extends LivingEntity implements Targeting { @Override public void inactiveTick() { super.inactiveTick(); @@ -127,7 +127,7 @@ index 9636f69fab9f34f3b3f4590f151248cd5b2da089..50a144b0122c970856ef3faa3f899ee7 this.targetSelector.tick(); } } -@@ -934,16 +934,20 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -935,16 +935,20 @@ public abstract class Mob extends LivingEntity implements Targeting { if (i % 2 != 0 && this.tickCount > 1) { this.level().getProfiler().push("targetSelector"); @@ -216,10 +216,10 @@ index 580da502c62ec5d669cb09932d99d1c7d711c965..b94d775e366f5cb251e9199ff5022ad5 this.level().getProfiler().pop(); this.level().getProfiler().push("frogActivityUpdate"); diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java -index 4aeab90e778629c355189dfe79c39c4b21f5f5ac..6ed4ac06c76b8d0d6e8db778cade15dbd1e3e5f5 100644 +index 958816ce2166248b542c96c10c398a52d769b4db..415afe3473d9f8a50b1edab8cfda6158e59836e6 100644 --- a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java +++ b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java -@@ -77,9 +77,11 @@ public class Tadpole extends AbstractFish { +@@ -80,9 +80,11 @@ public class Tadpole extends AbstractFish { return SoundEvents.TADPOLE_FLOP; } @@ -298,10 +298,10 @@ index 7aadd36f0fe986635b495ab8c1426644620400cf..0c947d7509d66647327bce885ad2c605 this.level().getProfiler().pop(); super.customServerAiStep(); diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 853c777bad19656cd48e9de9015c12e2c078d940..fba0f3725ff3001decdb9efeeab50dd7ce3e4ddc 100644 +index 3eeff0cd8563939c656b5ded8470cab016903f25..90d8cd94d987416a3e9f6e6d47a5b366d4687fe0 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java -@@ -142,6 +142,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler +@@ -143,6 +143,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler return holder.is(PoiTypes.MEETING); }); @@ -310,7 +310,7 @@ index 853c777bad19656cd48e9de9015c12e2c078d940..fba0f3725ff3001decdb9efeeab50dd7 public Villager(EntityType entityType, Level world) { this(entityType, world, VillagerType.PLAINS); } -@@ -245,6 +247,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler +@@ -246,6 +248,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler } // Spigot End @@ -318,7 +318,7 @@ index 853c777bad19656cd48e9de9015c12e2c078d940..fba0f3725ff3001decdb9efeeab50dd7 @Override @Deprecated // Paper protected void customServerAiStep() { -@@ -254,7 +257,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler +@@ -255,7 +258,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler protected void customServerAiStep(final boolean inactive) { // Paper end this.level().getProfiler().push("villagerBrain"); diff --git a/patches/server/0039-Pufferfish-Throttle-goal-selector-during-inactive-ti.patch b/patches/server/0037-Pufferfish-Throttle-goal-selector-during-inactive-ti.patch similarity index 94% rename from patches/server/0039-Pufferfish-Throttle-goal-selector-during-inactive-ti.patch rename to patches/server/0037-Pufferfish-Throttle-goal-selector-during-inactive-ti.patch index 22713b3..7dd4960 100644 --- a/patches/server/0039-Pufferfish-Throttle-goal-selector-during-inactive-ti.patch +++ b/patches/server/0037-Pufferfish-Throttle-goal-selector-during-inactive-ti.patch @@ -31,10 +31,10 @@ index 0000000000000000000000000000000000000000..acc032f727e605e79b688efb4873ff47 + } +} diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 50a144b0122c970856ef3faa3f899ee72e2a6300..7378c9cb5eeddc7cefc409638179dfb8602ed0d0 100644 +index 66c581585e6ca58eba0e8b7af0fa1f0c9f924f94..97e099eea537aea8f8ffd031063949c363820701 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -229,11 +229,13 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -230,11 +230,13 @@ public abstract class Mob extends LivingEntity implements Targeting { return this.lookControl; } diff --git a/patches/server/0040-Pufferfish-Reduce-entity-allocations.patch b/patches/server/0038-Pufferfish-Reduce-entity-allocations.patch similarity index 100% rename from patches/server/0040-Pufferfish-Reduce-entity-allocations.patch rename to patches/server/0038-Pufferfish-Reduce-entity-allocations.patch diff --git a/patches/server/0032-Pufferfish-Improve-container-checking-with-a-bitset.patch b/patches/server/0039-Pufferfish-Improve-container-checking-with-a-bitset.patch similarity index 95% rename from patches/server/0032-Pufferfish-Improve-container-checking-with-a-bitset.patch rename to patches/server/0039-Pufferfish-Improve-container-checking-with-a-bitset.patch index 5e713bd..ffdb6e1 100644 --- a/patches/server/0032-Pufferfish-Improve-container-checking-with-a-bitset.patch +++ b/patches/server/0039-Pufferfish-Improve-container-checking-with-a-bitset.patch @@ -1,6 +1,6 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: MrHua269 -Date: Sat, 27 Jan 2024 11:55:08 +0000 +Date: Mon, 25 Mar 2024 13:48:33 +0000 Subject: [PATCH] Pufferfish Improve container checking with a bitset @@ -237,10 +237,10 @@ index d6cbe98e67fdbf8db46338a88ab1356dd63b50a3..20dd3a63b2f955b05a75eb240e33ae4c int LARGE_MAX_STACK_SIZE = 64; int DEFAULT_DISTANCE_LIMIT = 8; diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java -index 6d23c39e4eadf23616080d6d08672e13b5d3c37d..e7115f1635821e0aab32e8aeea6914388dc24639 100644 +index 756d0434472921992c9d84597d7c9c824e93614c..38c573d440946ca7ee6016ef92e9c1605031e611 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java -@@ -27,7 +27,10 @@ import org.bukkit.inventory.InventoryHolder; +@@ -28,7 +28,10 @@ import org.bukkit.inventory.InventoryHolder; public abstract class AbstractMinecartContainer extends AbstractMinecart implements ContainerEntity { @@ -251,7 +251,7 @@ index 6d23c39e4eadf23616080d6d08672e13b5d3c37d..e7115f1635821e0aab32e8aeea691438 @Nullable public ResourceLocation lootTable; public long lootTableSeed; -@@ -89,12 +92,18 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme +@@ -90,12 +93,18 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme protected AbstractMinecartContainer(EntityType type, Level world) { super(type, world); @@ -272,7 +272,7 @@ index 6d23c39e4eadf23616080d6d08672e13b5d3c37d..e7115f1635821e0aab32e8aeea691438 } @Override -@@ -156,6 +165,10 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme +@@ -164,6 +173,10 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme protected void readAdditionalSaveData(CompoundTag nbt) { super.readAdditionalSaveData(nbt); this.lootableData.loadNbt(nbt); // Paper @@ -362,10 +362,10 @@ index 9b1243d96e0694c62fc9e82e9be540bce0d2b3ad..3514022d898a24052c917ebf55dcef3e @Override diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java -index 26ff1a3d07c92f7035020d08d35116f7feede600..009263f6aab41608d7e17bebbed6f962fcb55634 100644 +index 4fe1b822b4c280de9d5b46c1dc965045791c83d0..c099b19020d374ad8cdfbb65049ddfcf2f5a10a7 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java -@@ -47,7 +47,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -48,7 +48,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen public static final int MOVE_ITEM_SPEED = 8; public static final int HOPPER_CONTAINER_SIZE = 5; @@ -373,10 +373,10 @@ index 26ff1a3d07c92f7035020d08d35116f7feede600..009263f6aab41608d7e17bebbed6f962 private NonNullList items; + private gg.airplane.structs.ItemListWithBitset optimizedItems; // Pufferfish + // Pufferfish end - private int cooldownTime; + public int cooldownTime; private long tickedGameTime; -@@ -83,14 +86,37 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -84,14 +87,37 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen public HopperBlockEntity(BlockPos pos, BlockState state) { super(BlockEntityType.HOPPER, pos, state); @@ -416,7 +416,7 @@ index 26ff1a3d07c92f7035020d08d35116f7feede600..009263f6aab41608d7e17bebbed6f962 if (!this.tryLoadLootTable(nbt)) { ContainerHelper.loadAllItems(nbt, this.items); } -@@ -493,6 +519,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -494,6 +520,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen } private static boolean isFullContainer(Container inventory, Direction direction) { @@ -424,7 +424,7 @@ index 26ff1a3d07c92f7035020d08d35116f7feede600..009263f6aab41608d7e17bebbed6f962 // Paper start - Perf: Optimize Hoppers if (inventory instanceof WorldlyContainer worldlyContainer) { for (final int slot : worldlyContainer.getSlotsForFace(direction)) { -@@ -515,7 +542,11 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -516,7 +543,11 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen } private static boolean isEmptyContainer(Container inv, Direction facing) { @@ -437,7 +437,7 @@ index 26ff1a3d07c92f7035020d08d35116f7feede600..009263f6aab41608d7e17bebbed6f962 } public static boolean suckInItems(Level world, Hopper hopper) { -@@ -716,7 +747,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -717,7 +748,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen if (HopperBlockEntity.canPlaceItemInContainer(to, stack, slot, side)) { boolean flag = false; @@ -446,7 +446,7 @@ index 26ff1a3d07c92f7035020d08d35116f7feede600..009263f6aab41608d7e17bebbed6f962 if (itemstack1.isEmpty()) { // Spigot start - SPIGOT-6693, InventorySubcontainer#setItem -@@ -911,7 +942,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -912,7 +943,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen @Override protected void setItems(NonNullList list) { diff --git a/patches/server/0041-Gale-Variable-entity-wake-up-duration.patch b/patches/server/0040-Gale-Variable-entity-wake-up-duration.patch similarity index 100% rename from patches/server/0041-Gale-Variable-entity-wake-up-duration.patch rename to patches/server/0040-Gale-Variable-entity-wake-up-duration.patch diff --git a/patches/server/0042-Gale-Don-t-load-chunks-to-activate-climbing-entities.patch b/patches/server/0041-Gale-Don-t-load-chunks-to-activate-climbing-entities.patch similarity index 93% rename from patches/server/0042-Gale-Don-t-load-chunks-to-activate-climbing-entities.patch rename to patches/server/0041-Gale-Don-t-load-chunks-to-activate-climbing-entities.patch index dbbf46e..b42639e 100644 --- a/patches/server/0042-Gale-Don-t-load-chunks-to-activate-climbing-entities.patch +++ b/patches/server/0041-Gale-Don-t-load-chunks-to-activate-climbing-entities.patch @@ -31,10 +31,10 @@ index 0000000000000000000000000000000000000000..ed62d25d6cd6dfcf8c5db20ced36eb3d + } +} diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d62734c0365af706c136274faf3e135f6ea099ee..bc655e3db34630a419be883b0dcc1ba4d5bbeb90 100644 +index 6815b29adede62deb2724a6843985d067389dc26..437548d56cf0591c7eac7397f0bd42eb2ad440c8 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -5441,6 +5441,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -5457,6 +5457,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S return this.feetBlockState; } @@ -52,10 +52,10 @@ index d62734c0365af706c136274faf3e135f6ea099ee..bc655e3db34630a419be883b0dcc1ba4 return this.chunkPosition; } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 56cee73ec911a171f1e4c1c733436caa504d0b57..ea1a603fffc4effd6114eb47361dd35fb03981f0 100644 +index c807863fa99f4fcbd87dbd083c017db98f921029..56145117fef32385793ed4ff6b096e87af2f12bf 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2046,19 +2046,43 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2054,19 +2054,43 @@ public abstract class LivingEntity extends Entity implements Attackable { public boolean onClimableCached() { if (!this.blockPosition().equals(this.lastClimbingPosition)) { diff --git a/patches/server/0043-Gale-Optimize-sun-burn-tick.patch b/patches/server/0042-Gale-Optimize-sun-burn-tick.patch similarity index 91% rename from patches/server/0043-Gale-Optimize-sun-burn-tick.patch rename to patches/server/0042-Gale-Optimize-sun-burn-tick.patch index 49fdb99..7cbb255 100644 --- a/patches/server/0043-Gale-Optimize-sun-burn-tick.patch +++ b/patches/server/0042-Gale-Optimize-sun-burn-tick.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Gale Optimize sun burn tick diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index bc655e3db34630a419be883b0dcc1ba4d5bbeb90..bf530eb5e039f37b9bea37d2a61ee31fdab8c8a9 100644 +index 437548d56cf0591c7eac7397f0bd42eb2ad440c8..5a2215f3b3c75457e9b917f388f38a9f49fd1a60 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -309,7 +309,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -310,7 +310,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S public double xo; public double yo; public double zo; @@ -17,7 +17,7 @@ index bc655e3db34630a419be883b0dcc1ba4d5bbeb90..bf530eb5e039f37b9bea37d2a61ee31f public BlockPos blockPosition; // Pufferfish - private->public private ChunkPos chunkPosition; private Vec3 deltaMovement; -@@ -2052,9 +2052,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2065,9 +2065,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S /** @deprecated */ @Deprecated public float getLightLevelDependentMagicValue() { @@ -37,10 +37,10 @@ index bc655e3db34630a419be883b0dcc1ba4d5bbeb90..bf530eb5e039f37b9bea37d2a61ee31f this.absMoveTo(x, y, z); this.setYRot(yaw % 360.0F); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 7378c9cb5eeddc7cefc409638179dfb8602ed0d0..d83a6adc34c64652f1070651f5c96579a5c45e67 100644 +index 97e099eea537aea8f8ffd031063949c363820701..71b1f576aff8dcf51dd888280b5b7a25a387d197 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1749,13 +1749,29 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -1750,13 +1750,29 @@ public abstract class Mob extends LivingEntity implements Targeting { } diff --git a/patches/server/0044-Gale-Check-frozen-ticks-before-landing-block.patch b/patches/server/0043-Gale-Check-frozen-ticks-before-landing-block.patch similarity index 85% rename from patches/server/0044-Gale-Check-frozen-ticks-before-landing-block.patch rename to patches/server/0043-Gale-Check-frozen-ticks-before-landing-block.patch index 7c6ecf3..72c2d6e 100644 --- a/patches/server/0044-Gale-Check-frozen-ticks-before-landing-block.patch +++ b/patches/server/0043-Gale-Check-frozen-ticks-before-landing-block.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Gale Check frozen ticks before landing block diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index ea1a603fffc4effd6114eb47361dd35fb03981f0..bd3f1a6447ae59400a18456ea2c2f2fdb24a3f91 100644 +index 56145117fef32385793ed4ff6b096e87af2f12bf..4f029389dac60e2cc74961a67ec4ac7a2de2f404 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -588,11 +588,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -589,11 +589,10 @@ public abstract class LivingEntity extends Entity implements Attackable { } protected void tryAddFrost() { @@ -21,7 +21,7 @@ index ea1a603fffc4effd6114eb47361dd35fb03981f0..bd3f1a6447ae59400a18456ea2c2f2fd if (attributemodifiable == null) { return; -@@ -602,7 +601,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -603,7 +602,6 @@ public abstract class LivingEntity extends Entity implements Attackable { attributemodifiable.addTransientModifier(new AttributeModifier(LivingEntity.SPEED_MODIFIER_POWDER_SNOW_UUID, "Powder snow slow", (double) f, AttributeModifier.Operation.ADDITION)); } diff --git a/patches/server/0045-Gale-Don-t-trigger-lootable-refresh-for-non-player-i.patch b/patches/server/0044-Gale-Don-t-trigger-lootable-refresh-for-non-player-i.patch similarity index 100% rename from patches/server/0045-Gale-Don-t-trigger-lootable-refresh-for-non-player-i.patch rename to patches/server/0044-Gale-Don-t-trigger-lootable-refresh-for-non-player-i.patch diff --git a/patches/server/0046-Gale-Use-platform-math-functions.patch b/patches/server/0045-Gale-Use-platform-math-functions.patch similarity index 97% rename from patches/server/0046-Gale-Use-platform-math-functions.patch rename to patches/server/0045-Gale-Use-platform-math-functions.patch index c755e60..8043bb1 100644 --- a/patches/server/0046-Gale-Use-platform-math-functions.patch +++ b/patches/server/0045-Gale-Use-platform-math-functions.patch @@ -99,10 +99,10 @@ public class Main { ``` diff --git a/src/main/java/io/papermc/paper/util/MCUtil.java b/src/main/java/io/papermc/paper/util/MCUtil.java -index cb22cac2b8c4eaf705b76fd4a9d8b82fb8eb0140..f24132f5ab6362829e88559304173bd9a259caa3 100644 +index 49ccb27a17bec1d4ff31bc8d72e4724d65adc20c..34ccd489268c51c0aeecf5918878122b49c8d123 100644 --- a/src/main/java/io/papermc/paper/util/MCUtil.java +++ b/src/main/java/io/papermc/paper/util/MCUtil.java -@@ -165,13 +165,11 @@ public final class MCUtil { +@@ -168,13 +168,11 @@ public final class MCUtil { } public static int fastFloor(double x) { @@ -118,7 +118,7 @@ index cb22cac2b8c4eaf705b76fd4a9d8b82fb8eb0140..f24132f5ab6362829e88559304173bd9 } public static float normalizeYaw(float f) { -@@ -232,11 +230,11 @@ public final class MCUtil { +@@ -235,11 +233,11 @@ public final class MCUtil { } public static int getChunkCoordinate(final double coordinate) { diff --git a/patches/server/0047-Gale-Skip-entity-move-if-movement-is-zero.patch b/patches/server/0046-Gale-Skip-entity-move-if-movement-is-zero.patch similarity index 86% rename from patches/server/0047-Gale-Skip-entity-move-if-movement-is-zero.patch rename to patches/server/0046-Gale-Skip-entity-move-if-movement-is-zero.patch index e1c34bf..7825ccb 100644 --- a/patches/server/0047-Gale-Skip-entity-move-if-movement-is-zero.patch +++ b/patches/server/0046-Gale-Skip-entity-move-if-movement-is-zero.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Gale Skip entity move if movement is zero diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index bf530eb5e039f37b9bea37d2a61ee31fdab8c8a9..d175f13ada111bcee977957c6fd9580e032183e9 100644 +index 5a2215f3b3c75457e9b917f388f38a9f49fd1a60..b884c39cee98924f867e02da67372aad56c37ffc 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -318,6 +318,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -319,6 +319,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S public float yRotO; public float xRotO; private AABB bb; @@ -16,7 +16,7 @@ index bf530eb5e039f37b9bea37d2a61ee31fdab8c8a9..d175f13ada111bcee977957c6fd9580e public boolean onGround; public boolean horizontalCollision; public boolean verticalCollision; -@@ -1088,6 +1089,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -1101,6 +1102,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S //Luminol end public void move(MoverType movementType, Vec3 movement) { @@ -28,7 +28,7 @@ index bf530eb5e039f37b9bea37d2a61ee31fdab8c8a9..d175f13ada111bcee977957c6fd9580e final Vec3 originalMovement = movement; // Paper - Expose pre-collision velocity // Paper start - detailed watchdog information io.papermc.paper.util.TickThread.ensureTickThread("Cannot move an entity off-main"); -@@ -4938,6 +4944,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4954,6 +4960,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } public final void setBoundingBox(AABB boundingBox) { diff --git a/patches/server/0048-Gale-Optimize-world-generation-chunk-and-block-acces.patch b/patches/server/0047-Gale-Optimize-world-generation-chunk-and-block-acces.patch similarity index 100% rename from patches/server/0048-Gale-Optimize-world-generation-chunk-and-block-acces.patch rename to patches/server/0047-Gale-Optimize-world-generation-chunk-and-block-acces.patch diff --git a/patches/server/0049-Gale-Optimize-noise-generation.patch b/patches/server/0048-Gale-Optimize-noise-generation.patch similarity index 100% rename from patches/server/0049-Gale-Optimize-noise-generation.patch rename to patches/server/0048-Gale-Optimize-noise-generation.patch diff --git a/patches/server/0050-Gale-Faster-chunk-serialization.patch b/patches/server/0049-Gale-Faster-chunk-serialization.patch similarity index 100% rename from patches/server/0050-Gale-Faster-chunk-serialization.patch rename to patches/server/0049-Gale-Faster-chunk-serialization.patch diff --git a/patches/server/0051-LinearPaper-Remove-all-locks-on-region-files.patch b/patches/server/0050-LinearPaper-Remove-all-locks-on-region-files.patch similarity index 100% rename from patches/server/0051-LinearPaper-Remove-all-locks-on-region-files.patch rename to patches/server/0050-LinearPaper-Remove-all-locks-on-region-files.patch diff --git a/patches/server/0052-Sparkly-Paper-Optimize-canSee-checks.patch b/patches/server/0051-Sparkly-Paper-Optimize-canSee-checks.patch similarity index 95% rename from patches/server/0052-Sparkly-Paper-Optimize-canSee-checks.patch rename to patches/server/0051-Sparkly-Paper-Optimize-canSee-checks.patch index d158985..75bdd87 100644 --- a/patches/server/0052-Sparkly-Paper-Optimize-canSee-checks.patch +++ b/patches/server/0051-Sparkly-Paper-Optimize-canSee-checks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Sparkly Paper Optimize canSee checks diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 8f642259ab8aa94eb5739ecbe72211c248c1114d..1ef9d716c6c1523c0ee1cb6fd484e2a8ca367adc 100644 +index 76ad4d8bce1611ead6f1596b2ba78267e3718655..d1dc02b3e4f775c9bd79073a8e96243aa5ab6c24 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -1408,7 +1408,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -18,7 +18,7 @@ index 8f642259ab8aa94eb5739ecbe72211c248c1114d..1ef9d716c6c1523c0ee1cb6fd484e2a8 } // CraftBukkit end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 830616f7a3d1c3e25133229a74e08cbb9d412179..80e0bb615ee8283b5618566c8011f06b1c84a0a8 100644 +index 26f70965b45fa3c344781b569a651a4668d0621d..49f207b7e06a3f939dc6c9b4a078f6db7b779618 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -187,7 +187,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0053-Purpur-use-alternative-keep-alive.patch b/patches/server/0052-Purpur-use-alternative-keep-alive.patch similarity index 100% rename from patches/server/0053-Purpur-use-alternative-keep-alive.patch rename to patches/server/0052-Purpur-use-alternative-keep-alive.patch diff --git a/patches/server/0054-Leaves-Protocol-Core.patch b/patches/server/0053-Leaves-Protocol-Core.patch similarity index 98% rename from patches/server/0054-Leaves-Protocol-Core.patch rename to patches/server/0053-Leaves-Protocol-Core.patch index 5d93b2e..ef3e75d 100644 --- a/patches/server/0054-Leaves-Protocol-Core.patch +++ b/patches/server/0053-Leaves-Protocol-Core.patch @@ -56,10 +56,10 @@ index c68910b2a2eb703406fb406a86783cf6ab48651e..f935214ed80fe54038a96a5cd668a072 } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t register custom payload", ex); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index d13edeff0de64cb77d7668e5b964cabcf9729388..c8c72cefba44ce8587a9ae22f5a87d3199f8ca5f 100644 +index 90be312057221a5a78066d89783c5e22008d797d..0f172512085e9dfc0850451d2c6bbffb18221f8f 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -433,6 +433,8 @@ public abstract class PlayerList { +@@ -441,6 +441,8 @@ public abstract class PlayerList { //return; // Folia - region threading - must still allow the player to connect, as we must add to chunk map before handling disconnect } @@ -68,7 +68,7 @@ index d13edeff0de64cb77d7668e5b964cabcf9729388..c8c72cefba44ce8587a9ae22f5a87d31 final net.kyori.adventure.text.Component jm = playerJoinEvent.joinMessage(); if (jm != null && !jm.equals(net.kyori.adventure.text.Component.empty())) { // Paper - Adventure -@@ -688,6 +690,7 @@ public abstract class PlayerList { +@@ -696,6 +698,7 @@ public abstract class PlayerList { return this.remove(entityplayer, net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? entityplayer.getBukkitEntity().displayName() : io.papermc.paper.adventure.PaperAdventure.asAdventure(entityplayer.getDisplayName()))); } public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) { @@ -77,7 +77,7 @@ index d13edeff0de64cb77d7668e5b964cabcf9729388..c8c72cefba44ce8587a9ae22f5a87d31 ServerLevel worldserver = entityplayer.serverLevel(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index b9b1bcd165fb8864dda924a29d128d810b2ee7ab..e5e0f469b0fe98c18d87f3fc4fdecf6f26e33149 100644 +index c70eb23d9745bdbfcc340bb554cf0bf2db71f5de..dc223b536eadd2da6cf3c758a62d0ed81b5a7b3b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -471,6 +471,7 @@ public final class CraftServer implements Server { diff --git a/patches/server/0055-Leaves-Bladeren-Protocol.patch b/patches/server/0054-Leaves-Bladeren-Protocol.patch similarity index 100% rename from patches/server/0055-Leaves-Bladeren-Protocol.patch rename to patches/server/0054-Leaves-Bladeren-Protocol.patch diff --git a/patches/server/0056-Leaves-Fix-Bladeren-Protocol.patch b/patches/server/0055-Leaves-Fix-Bladeren-Protocol.patch similarity index 100% rename from patches/server/0056-Leaves-Fix-Bladeren-Protocol.patch rename to patches/server/0055-Leaves-Fix-Bladeren-Protocol.patch diff --git a/patches/server/0057-Leaves-carpet-protocol-support.patch b/patches/server/0056-Leaves-carpet-protocol-support.patch similarity index 100% rename from patches/server/0057-Leaves-carpet-protocol-support.patch rename to patches/server/0056-Leaves-carpet-protocol-support.patch diff --git a/patches/server/0058-Threaded-region-start-tick-and-finished-tick-event.patch b/patches/server/0057-Threaded-region-start-tick-and-finished-tick-event.patch similarity index 100% rename from patches/server/0058-Threaded-region-start-tick-and-finished-tick-event.patch rename to patches/server/0057-Threaded-region-start-tick-and-finished-tick-event.patch diff --git a/patches/server/0061-Leaves-Replay-Mod-API.patch b/patches/server/0058-Leaves-Replay-Mod-API.patch similarity index 98% rename from patches/server/0061-Leaves-Replay-Mod-API.patch rename to patches/server/0058-Leaves-Replay-Mod-API.patch index a531e22..bf0910e 100644 --- a/patches/server/0061-Leaves-Replay-Mod-API.patch +++ b/patches/server/0058-Leaves-Replay-Mod-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Leaves Replay Mod API diff --git a/src/main/java/io/papermc/paper/util/TickThread.java b/src/main/java/io/papermc/paper/util/TickThread.java -index 61fc8d4a52d6fb29b09eefd7b0fa880c0cf97849..188d1ec9e48c3a3792422cedc903a38492671abc 100644 +index 906f1c9e619a924c622acc76652a4569305edc8d..620e12a38c67230ad8591a4a32bcb932426356cc 100644 --- a/src/main/java/io/papermc/paper/util/TickThread.java +++ b/src/main/java/io/papermc/paper/util/TickThread.java -@@ -246,7 +246,7 @@ public class TickThread extends Thread { +@@ -258,7 +258,7 @@ public class TickThread extends Thread { return true; } @@ -168,10 +168,10 @@ index 18b8651147dedcf80d9baf04e87fb25cfbf9b89f..e9a49eb00c64d864ebf4b24d6fe84aba super.channelActive(channelhandlercontext); this.channel = channelhandlercontext.channel(); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b3173889ba86b39bac9d0171a863bf4effbb41b1..afb45c6b6506ccec6b95067c4e30bf3a2c57e9a5 100644 +index c924951c3dd7652ee446b40689ff9004546e972a..776f5ce5fac57bc7ccdfc4dbab87811bc33de87d 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1717,7 +1717,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { return player.getGameProfile().getName(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 51053d90f1bbad0b6453c13e06010cd7193ae7b7..92ea3f6915354e3efd2ef33d5c6c96722fd40f08 100644 +index b3ff8ed6d0f0414c15b9d2e6a51a0e34c361f92a..b6e078a10adbbf5c2061b4bf448836231818b768 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -297,7 +297,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -229,7 +229,7 @@ index 51053d90f1bbad0b6453c13e06010cd7193ae7b7..92ea3f6915354e3efd2ef33d5c6c9672 player.connection = this; player.getTextFilter().join(); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index c8c72cefba44ce8587a9ae22f5a87d3199f8ca5f..01afbc0353dd75774bf966a19d1bdbf5af3f6d2d 100644 +index 0f172512085e9dfc0850451d2c6bbffb18221f8f..291f646febc3b40e91056f268433f09b584f2b29 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -13,15 +13,7 @@ import java.net.SocketAddress; @@ -249,7 +249,7 @@ index c8c72cefba44ce8587a9ae22f5a87d3199f8ca5f..01afbc0353dd75774bf966a19d1bdbf5 import java.util.function.Function; import java.util.function.Predicate; import javax.annotation.Nullable; -@@ -120,6 +112,11 @@ import org.bukkit.event.player.PlayerRespawnEvent; +@@ -121,6 +113,11 @@ import org.bukkit.event.player.PlayerRespawnEvent; import org.bukkit.event.player.PlayerRespawnEvent.RespawnReason; import org.bukkit.event.player.PlayerSpawnChangeEvent; // CraftBukkit end @@ -261,7 +261,7 @@ index c8c72cefba44ce8587a9ae22f5a87d3199f8ca5f..01afbc0353dd75774bf966a19d1bdbf5 public abstract class PlayerList { -@@ -152,6 +149,7 @@ public abstract class PlayerList { +@@ -153,6 +150,7 @@ public abstract class PlayerList { private boolean allowCheatsForAllPlayers; private static final boolean ALLOW_LOGOUTIVATOR = false; private int sendAllPlayerInfoIn; @@ -269,7 +269,7 @@ index c8c72cefba44ce8587a9ae22f5a87d3199f8ca5f..01afbc0353dd75774bf966a19d1bdbf5 // CraftBukkit start private CraftServer cserver; -@@ -236,6 +234,121 @@ public abstract class PlayerList { +@@ -244,6 +242,121 @@ public abstract class PlayerList { } abstract public void loadAndSaveFiles(); // Paper - fix converting txt to json file; moved from DedicatedPlayerList constructor @@ -391,7 +391,7 @@ index c8c72cefba44ce8587a9ae22f5a87d3199f8ca5f..01afbc0353dd75774bf966a19d1bdbf5 public void loadSpawnForNewPlayer(final Connection connection, final ServerPlayer player, final CommonListenerCookie clientData, org.apache.commons.lang3.mutable.MutableObject data, org.apache.commons.lang3.mutable.MutableObject lastKnownName, ca.spottedleaf.concurrentutil.completable.Completable toComplete) { // Folia - region threading - rewrite login process player.isRealPlayer = true; // Paper player.loginTime = System.currentTimeMillis(); // Paper - Replace OfflinePlayer#getLastPlayed -@@ -410,6 +523,7 @@ public abstract class PlayerList { +@@ -418,6 +531,7 @@ public abstract class PlayerList { // entityplayer.connection.send(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(this.players)); // CraftBukkit - replaced with loop below this.players.add(player); @@ -399,7 +399,7 @@ index c8c72cefba44ce8587a9ae22f5a87d3199f8ca5f..01afbc0353dd75774bf966a19d1bdbf5 this.playersByName.put(player.getScoreboardName().toLowerCase(java.util.Locale.ROOT), player); // Spigot this.playersByUUID.put(player.getUUID(), player); // this.broadcastAll(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(List.of(entityplayer))); // CraftBukkit - replaced with loop below -@@ -465,6 +579,12 @@ public abstract class PlayerList { +@@ -473,6 +587,12 @@ public abstract class PlayerList { continue; } @@ -412,7 +412,7 @@ index c8c72cefba44ce8587a9ae22f5a87d3199f8ca5f..01afbc0353dd75774bf966a19d1bdbf5 onlinePlayers.add(entityplayer1); // Paper - Use single player info update packet on join } // Paper start - Use single player info update packet on join -@@ -685,6 +805,54 @@ public abstract class PlayerList { +@@ -693,6 +813,54 @@ public abstract class PlayerList { } @@ -467,7 +467,7 @@ index c8c72cefba44ce8587a9ae22f5a87d3199f8ca5f..01afbc0353dd75774bf966a19d1bdbf5 public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer) { // CraftBukkit - return string // Paper - return Component // Paper start - Fix kick event leave message not being sent return this.remove(entityplayer, net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? entityplayer.getBukkitEntity().displayName() : io.papermc.paper.adventure.PaperAdventure.asAdventure(entityplayer.getDisplayName()))); -@@ -753,6 +921,7 @@ public abstract class PlayerList { +@@ -761,6 +929,7 @@ public abstract class PlayerList { // Folia - region threading - move to onDisconnect of common packet listener entityplayer.getAdvancements().stopListening(); this.players.remove(entityplayer); @@ -476,7 +476,7 @@ index c8c72cefba44ce8587a9ae22f5a87d3199f8ca5f..01afbc0353dd75774bf966a19d1bdbf5 this.server.getCustomBossEvents().onPlayerDisconnect(entityplayer); UUID uuid = entityplayer.getUUID(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e5e0f469b0fe98c18d87f3fc4fdecf6f26e33149..12729a8e62316c618f9532ec92449fe30025602b 100644 +index dc223b536eadd2da6cf3c758a62d0ed81b5a7b3b..e0f49c7e941830236b92f6705cd2c4b96e943a96 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -308,6 +308,7 @@ public final class CraftServer implements Server { @@ -496,7 +496,7 @@ index e5e0f469b0fe98c18d87f3fc4fdecf6f26e33149..12729a8e62316c618f9532ec92449fe3 @Override public CraftPlayer apply(ServerPlayer player) { return player.getBukkitEntity(); -@@ -3291,4 +3292,11 @@ public final class CraftServer implements Server { +@@ -3306,4 +3307,11 @@ public final class CraftServer implements Server { } // Paper end @@ -509,10 +509,10 @@ index e5e0f469b0fe98c18d87f3fc4fdecf6f26e33149..12729a8e62316c618f9532ec92449fe3 + // Leaves end - replay mod api } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 5adbfb278aed3c32b6d4992b8932cc3dafd8f9cc..7fceb79454d18c5f7b82180af893bf4bbd6152c7 100644 +index 73316307666674f9f6e7ddb964e2ec2583743c79..d15f24d91255664af4295fca8d5e237dce520201 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -56,6 +56,8 @@ import org.bukkit.util.NumberConversions; +@@ -57,6 +57,8 @@ import org.bukkit.util.NumberConversions; import org.bukkit.util.Vector; import net.md_5.bungee.api.chat.BaseComponent; // Spigot @@ -521,7 +521,7 @@ index 5adbfb278aed3c32b6d4992b8932cc3dafd8f9cc..7fceb79454d18c5f7b82180af893bf4b public abstract class CraftEntity implements org.bukkit.entity.Entity { private static PermissibleBase perm; -@@ -91,6 +93,8 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -92,6 +94,8 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return new CraftHumanEntity(server, (net.minecraft.world.entity.player.Player) entity); } @@ -531,7 +531,7 @@ index 5adbfb278aed3c32b6d4992b8932cc3dafd8f9cc..7fceb79454d18c5f7b82180af893bf4b if (entity instanceof EnderDragonPart complexPart) { if (complexPart.parentMob instanceof EnderDragon) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 80e0bb615ee8283b5618566c8011f06b1c84a0a8..8d00e28ad070e678316734cbd846388f5196d215 100644 +index 49f207b7e06a3f939dc6c9b4a078f6db7b779618..aedf5ec139613a4ddf6cdb87cc52ae29eda323b2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2141,7 +2141,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0060-Fix-MC-2025.patch b/patches/server/0060-Fix-MC-2025.patch index a5e4d71..e3a7541 100644 --- a/patches/server/0060-Fix-MC-2025.patch +++ b/patches/server/0060-Fix-MC-2025.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix-MC-2025 diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d175f13ada111bcee977957c6fd9580e032183e9..6de8506b39f73aac7c3a3956251bb54f9f7a7533 100644 +index b884c39cee98924f867e02da67372aad56c37ffc..be31860997fc85103ffb3eb6c441b5503d25bc95 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2532,6 +2532,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2548,6 +2548,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S nbttagcompound.putBoolean("Paper.FreezeLock", true); } // Paper end @@ -25,7 +25,7 @@ index d175f13ada111bcee977957c6fd9580e032183e9..6de8506b39f73aac7c3a3956251bb54f return nbttagcompound; } catch (Throwable throwable) { CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT"); -@@ -2609,6 +2619,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2625,6 +2635,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S this.reapplyPosition(); }