diff --git a/.gitignore b/.gitignore
index 2a4a725..bda59da 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,4 +3,5 @@ DivineMC-Server
build/
.gradle/
-run/
\ No newline at end of file
+run/
+.idea/
\ No newline at end of file
diff --git a/README.md b/README.md
index 9915754..e6abc1b 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
DivineMC is ❗ under heavy development ❗ and contributions are welcome!
- 
+ 
[](https://discord.gg/PrKTKfR579)
@@ -20,7 +20,7 @@
## We use patches from the following projects
* **[Paper](https://github.com/PaperMC/Paper)**
-* **[Purpur](https://github.com/pl3xgaming/Purpur)**
+* **[Purpur](https://github.com/PurpurMC/Purpur)**
* **[Mirai](https://github.com/etil2jz/Mirai)**
* **NOTE: We also borrow some patches from [Yatopia](https://github.com/YatopiaMC/Yatopia).**
diff --git a/build.gradle.kts b/build.gradle.kts
index 61b312a..a0c94ad 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,7 +1,7 @@
plugins {
java
id("com.github.johnrengelman.shadow") version "7.1.2" apply false
- id("io.papermc.paperweight.patcher") version "1.3.8"
+ id("io.papermc.paperweight.patcher") version "1.4.0"
}
repositories {
@@ -11,7 +11,7 @@ repositories {
dependencies {
remapper("net.fabricmc:tiny-remapper:0.7.0:fat")
- decompiler("net.minecraftforge:forgeflower:1.5.498.22")
+ decompiler("net.minecraftforge:forgeflower:2.0.605.1")
paperclip("io.papermc:paperclip:3.0.2")
}
diff --git a/gradle.properties b/gradle.properties
index 46ba70a..a3960f3 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,8 +1,8 @@
group=gq.bxteam.divinemc
-version=1.19.2-R0.1-SNAPSHOT
-mcVersion=1.19.2
-pufferfishRef=deb9638cd5243286685c20d254fdec9c2754979b
+version=1.19.3-R0.1-SNAPSHOT
+mcVersion=1.19.3
+pufferfishRef=32186919cf606b0049cc263493108f7945b9d9bf
org.gradle.jvmargs=-Xmx2G
diff --git a/patches/api/0001-Add-last-tick-time-API.patch b/patches/api/0001-Add-last-tick-time-API.patch
index 21f3104..4f72c10 100644
--- a/patches/api/0001-Add-last-tick-time-API.patch
+++ b/patches/api/0001-Add-last-tick-time-API.patch
@@ -7,10 +7,10 @@ Original code by YatopiaMC, licensed under MIT
You can find the original code on https://github.com/YatopiaMC/Yatopia
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 232c08c9a588d957d90f198ce479e57615c6e650..bfa71be59dd84459bd420ace2d6694e1d80aee81 100644
+index ac9b690fcccb60b587e5345f12f1383afd0a73a1..4078ec0faa173d23b631cd221eec7f14aab1fc74 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2430,6 +2430,16 @@ public final class Bukkit {
+@@ -2432,6 +2432,16 @@ public final class Bukkit {
return server.isStopping();
}
@@ -28,10 +28,10 @@ index 232c08c9a588d957d90f198ce479e57615c6e650..bfa71be59dd84459bd420ace2d6694e1
* Returns the {@link com.destroystokyo.paper.entity.ai.MobGoals} manager
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index e43fef0152468944d8a33036344a43e95fe58476..6f4250d7750c7d834db87be14d82caaa4d94b51c 100644
+index 2204336d8800311b65e894739ab1b27273e7c6f2..3b454a75809eec9d8294ec6fa15c7e918497489c 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2116,6 +2116,26 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2118,6 +2118,26 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
boolean isStopping();
diff --git a/patches/api/0002-Optimize-Spigot-event-bus.patch b/patches/api/0002-Optimize-Spigot-event-bus.patch
index 5ddc5b4..2b9f19c 100644
--- a/patches/api/0002-Optimize-Spigot-event-bus.patch
+++ b/patches/api/0002-Optimize-Spigot-event-bus.patch
@@ -7,7 +7,7 @@ Original code by lynxplay, licensed under GNU General Public License v3.0
You can find the original code on https://github.com/lynxplay/ktp
diff --git a/src/main/java/org/bukkit/plugin/RegisteredListener.java b/src/main/java/org/bukkit/plugin/RegisteredListener.java
-index 419aec56b0e3fa8bcec2ea7f340caa3456b57d00..8530d926931a54ed1300c40cd1e0908b2d9b594d 100644
+index 3b3d9642a8d63798dc28f2f8df77f0466451cbff..8d3605f25e97a375971705c737bc7bacbac045cd 100644
--- a/src/main/java/org/bukkit/plugin/RegisteredListener.java
+++ b/src/main/java/org/bukkit/plugin/RegisteredListener.java
@@ -62,8 +62,10 @@ public class RegisteredListener {
@@ -24,10 +24,10 @@ index 419aec56b0e3fa8bcec2ea7f340caa3456b57d00..8530d926931a54ed1300c40cd1e0908b
}
}
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
-index 49a4611ed4891cce10fd6e01b4062740ad18ee6f..d70c0e3172828b43bc7dea2c84d92282403a7fa8 100644
+index c077e7c883613fcb6e559b4e4776e794caa3b363..ba869354adc59db2fc547c481c1ed4d5d0af23b7 100644
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
-@@ -654,11 +654,15 @@ public final class SimplePluginManager implements PluginManager {
+@@ -656,11 +656,15 @@ public final class SimplePluginManager implements PluginManager {
@Override
public void callEvent(@NotNull Event event) {
// Paper - replace callEvent by merging to below method
diff --git a/patches/server/0022-Spread-out-and-optimise-player-list-ticksSpread-out-.patch b/patches/removed/0022-Spread-out-and-optimise-player-list-ticksSpread-out-.patch
similarity index 98%
rename from patches/server/0022-Spread-out-and-optimise-player-list-ticksSpread-out-.patch
rename to patches/removed/0022-Spread-out-and-optimise-player-list-ticksSpread-out-.patch
index 9225aad..8ce7b95 100644
--- a/patches/server/0022-Spread-out-and-optimise-player-list-ticksSpread-out-.patch
+++ b/patches/removed/0022-Spread-out-and-optimise-player-list-ticksSpread-out-.patch
@@ -4,6 +4,7 @@ Date: Mon, 7 Dec 2020 17:52:36 +0000
Subject: [PATCH] Spread out and optimise player list ticksSpread out and
optimise player list ticks
+This patch was removed from PurpurMC!
Original code by PurpurMC, licensed under MIT
You can find the original code on https://github.com/PurpurMC/Purpur
diff --git a/patches/server/0034-Fix-tick-function-tag-running-before-load.patch b/patches/removed/0034-Fix-tick-function-tag-running-before-load.patch
similarity index 100%
rename from patches/server/0034-Fix-tick-function-tag-running-before-load.patch
rename to patches/removed/0034-Fix-tick-function-tag-running-before-load.patch
diff --git a/patches/server/0035-Optimize-default-values-for-configs.patch b/patches/removed/0035-Optimize-default-values-for-configs.patch
similarity index 99%
rename from patches/server/0035-Optimize-default-values-for-configs.patch
rename to patches/removed/0035-Optimize-default-values-for-configs.patch
index 3264577..736ff08 100644
--- a/patches/server/0035-Optimize-default-values-for-configs.patch
+++ b/patches/removed/0035-Optimize-default-values-for-configs.patch
@@ -3,6 +3,7 @@ From: etil2jz <81570777+etil2jz@users.noreply.github.com>
Date: Sun, 8 May 2022 13:13:02 +0200
Subject: [PATCH] Optimize default values for configs
+Temp remove
diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
index 34eb43ca2bf446504c372f98dfbe6dbfd0a81369..40d61b50ad783a6d68fc7b43ae0d3fa9cc579ecb 100644
diff --git a/patches/server/0002-Global-Eula-file.patch b/patches/removed/1.19.2/0002-Global-Eula-file.patch
similarity index 100%
rename from patches/server/0002-Global-Eula-file.patch
rename to patches/removed/1.19.2/0002-Global-Eula-file.patch
diff --git a/patches/server/0004-Reduce-constants-allocations.patch b/patches/removed/1.19.2/0004-Reduce-constants-allocations.patch
similarity index 100%
rename from patches/server/0004-Reduce-constants-allocations.patch
rename to patches/removed/1.19.2/0004-Reduce-constants-allocations.patch
diff --git a/patches/server/0007-lithium-CompactSineLUT.patch b/patches/removed/1.19.2/0007-lithium-CompactSineLUT.patch
similarity index 100%
rename from patches/server/0007-lithium-CompactSineLUT.patch
rename to patches/removed/1.19.2/0007-lithium-CompactSineLUT.patch
diff --git a/patches/server/0008-lithium-fast-retrieval.patch b/patches/removed/1.19.2/0008-lithium-fast-retrieval.patch
similarity index 100%
rename from patches/server/0008-lithium-fast-retrieval.patch
rename to patches/removed/1.19.2/0008-lithium-fast-retrieval.patch
diff --git a/patches/server/0042-lithium-replace-AI-goal-set-with-optimized-collectio.patch b/patches/removed/1.19.2/0042-lithium-replace-AI-goal-set-with-optimized-collectio.patch
similarity index 100%
rename from patches/server/0042-lithium-replace-AI-goal-set-with-optimized-collectio.patch
rename to patches/removed/1.19.2/0042-lithium-replace-AI-goal-set-with-optimized-collectio.patch
diff --git a/patches/server/0060-lithium-gen.patch b/patches/removed/1.19.2/0060-lithium-gen.patch
similarity index 100%
rename from patches/server/0060-lithium-gen.patch
rename to patches/removed/1.19.2/0060-lithium-gen.patch
diff --git a/patches/server/0015-Make-a-field-final.patch b/patches/removed/todo/0015-Make-a-field-final.patch
similarity index 100%
rename from patches/server/0015-Make-a-field-final.patch
rename to patches/removed/todo/0015-Make-a-field-final.patch
diff --git a/patches/server/0001-Divine-Branding.patch b/patches/server/0001-Divine-Branding.patch
index f7357cc..2bc1f6e 100644
--- a/patches/server/0001-Divine-Branding.patch
+++ b/patches/server/0001-Divine-Branding.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Divine Branding
diff --git a/build.gradle.kts b/build.gradle.kts
-index f0d22a733e3b97fb959cd566fb6c93c6d5681e16..91aa2bbb1a5d860e61ebd77fb7af6edf804c4a45 100644
+index 04a1e3c9619b41f429bd598d55c9e0b5abaff920..349f2fc139ff8d9f731146b1c36417950437a482 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
-@@ -9,7 +9,7 @@ plugins {
+@@ -7,7 +7,7 @@ plugins {
}
dependencies {
@@ -17,7 +17,7 @@ index f0d22a733e3b97fb959cd566fb6c93c6d5681e16..91aa2bbb1a5d860e61ebd77fb7af6edf
// Pufferfish start
implementation("io.papermc.paper:paper-mojangapi:1.19.2-R0.1-SNAPSHOT") {
exclude("io.papermc.paper", "paper-api")
-@@ -84,7 +84,7 @@ tasks.jar {
+@@ -81,7 +81,7 @@ tasks.jar {
attributes(
"Main-Class" to "org.bukkit.craftbukkit.Main",
"Implementation-Title" to "CraftBukkit",
@@ -54,7 +54,7 @@ index c5d5648f4ca603ef2b1df723b58f9caf4dd3c722..05478a1ea04ec0396bc8c97090edef4a
.option(LineReader.Option.COMPLETE_IN_WORD, true);
diff --git a/src/main/java/gq/bxteam/divinemc/DivineVersionFetcher.java b/src/main/java/gq/bxteam/divinemc/DivineVersionFetcher.java
new file mode 100644
-index 0000000000000000000000000000000000000000..c9a08bfa92cf74194cd17127f22f2d5b428da8ed
+index 0000000000000000000000000000000000000000..23b8d7f0a52f97fe7a0c297efe14403768f293cc
--- /dev/null
+++ b/src/main/java/gq/bxteam/divinemc/DivineVersionFetcher.java
@@ -0,0 +1,137 @@
@@ -91,7 +91,7 @@ index 0000000000000000000000000000000000000000..c9a08bfa92cf74194cd17127f22f2d5b
+ private static final HttpClient client = HttpClient.newHttpClient();
+
+ private static final URI JENKINS_URI = URI.create("https://api.bxteam.gq/v3/divine-latestBuild");
-+ private static final String GITHUB_FORMAT = "https://api.github.com/repos/DivineMC/DivineMC/compare/ver/1.19.2...%s";
++ private static final String GITHUB_FORMAT = "https://api.github.com/repos/DivineMC/DivineMC/compare/ver/1.19.3...%s";
+
+ private static final HttpResponse.BodyHandler JSON_OBJECT_BODY_HANDLER = responseInfo -> HttpResponse.BodySubscribers.mapping(
+ HttpResponse.BodySubscribers.ofString(StandardCharsets.UTF_8),
@@ -196,7 +196,7 @@ index 0000000000000000000000000000000000000000..c9a08bfa92cf74194cd17127f22f2d5b
+ }
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index af9da39dffda01325af2ab3dd8b5e1efb18e013a..6b4dbf0e1b5ddcf2bd33a917e4ee3654be511147 100644
+index 68d16efaf9c2d997afabadcf1ee24c5de685b5b3..0fd92d123fd5e068a5304204e86fbdcbcbb150f6 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1656,7 +1656,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop extends Goal {
private final T mob;
@@ -68,7 +68,7 @@ index 8877423a99e387c18d1d994518bf15d8d9ba64af..a65e82c8e2975244d725ff2f4931df18
public ObtainRaidLeaderBannerGoal(T entityraider) { // CraftBukkit - decompile error
this.mob = entityraider;
-@@ -320,7 +322,7 @@ public abstract class Raider extends PatrollingMonster {
+@@ -322,7 +324,7 @@ public abstract class Raider extends PatrollingMonster {
if (!this.mob.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) || !this.mob.canPickUpLoot()) return false; // Paper - respect game and entity rules for picking up items
Raid raid = this.mob.getCurrentRaid();
diff --git a/patches/server/0012-Stop-wasting-resources-on-JsonList-get.patch b/patches/server/0009-Stop-wasting-resources-on-JsonList-get.patch
similarity index 95%
rename from patches/server/0012-Stop-wasting-resources-on-JsonList-get.patch
rename to patches/server/0009-Stop-wasting-resources-on-JsonList-get.patch
index 6d96bd1..cdd2766 100644
--- a/patches/server/0012-Stop-wasting-resources-on-JsonList-get.patch
+++ b/patches/server/0009-Stop-wasting-resources-on-JsonList-get.patch
@@ -7,10 +7,10 @@ Original code by YatopiaMC, licensed under MIT
You can find the original code on https://github.com/YatopiaMC/Yatopia
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 3fc95b7d7b41e078e1d219e29ada27aeab1320bf..faaf13f46bc7bf0ffc1fe61f45e9f11cb9c8b4d5 100644
+index b348d33726b2b14ea2d12ce3430df2c0b94295f4..fc73d0ea9f74412db0831f92c3d6904eecf6d014 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
-@@ -758,13 +758,19 @@ public abstract class PlayerList {
+@@ -766,13 +766,19 @@ public abstract class PlayerList {
if (getBans().isBanned(gameprofile) && (gameprofilebanentry = getBans().get(gameprofile)) != null) {
// Paper end
@@ -37,7 +37,7 @@ index 3fc95b7d7b41e078e1d219e29ada27aeab1320bf..faaf13f46bc7bf0ffc1fe61f45e9f11c
//ichatmutablecomponent = Component.translatable("multiplayer.disconnect.not_whitelisted"); // Paper
//event.disallow(PlayerLoginEvent.Result.KICK_WHITELIST, net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(org.spigotmc.SpigotConfig.whitelistMessage)); // Spigot // Paper - Adventure - moved to isWhitelisted
diff --git a/src/main/java/net/minecraft/server/players/StoredUserList.java b/src/main/java/net/minecraft/server/players/StoredUserList.java
-index 63c0fe30ff035b6b5c1b4b35d3ad6c649d94e421..109e08e098a6c1ca1ba3dc2a9a293eaf9d5d7cb7 100644
+index 4fd709a550bf8da1e996894a1ca6b91206c31e9e..bf959b19b068a7cfbb9bed72448a4139b7d50095 100644
--- a/src/main/java/net/minecraft/server/players/StoredUserList.java
+++ b/src/main/java/net/minecraft/server/players/StoredUserList.java
@@ -73,9 +73,12 @@ public abstract class StoredUserList> {
diff --git a/patches/server/0013-Fix-outdated-server-showing-in-ping-before-server-fu.patch b/patches/server/0010-Fix-outdated-server-showing-in-ping-before-server-fu.patch
similarity index 88%
rename from patches/server/0013-Fix-outdated-server-showing-in-ping-before-server-fu.patch
rename to patches/server/0010-Fix-outdated-server-showing-in-ping-before-server-fu.patch
index 2a52723..584905f 100644
--- a/patches/server/0013-Fix-outdated-server-showing-in-ping-before-server-fu.patch
+++ b/patches/server/0010-Fix-outdated-server-showing-in-ping-before-server-fu.patch
@@ -8,10 +8,10 @@ Original code by PurpurMC, licensed under MIT
You can find the original code on https://github.com/PurpurMC/Purpur
diff --git a/src/main/java/net/minecraft/server/network/ServerStatusPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerStatusPacketListenerImpl.java
-index 29a22da1b94d51300481c071aa16bfd8cd02178f..f67cbb1badc007987e62872bb0160ad6d05e3d97 100644
+index 0725c39d9cbec3282f93975a0ae76f060f70d86d..b1afe7d9fff390cc9668ce9bbb408d64147553e6 100644
--- a/src/main/java/net/minecraft/server/network/ServerStatusPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerStatusPacketListenerImpl.java
-@@ -153,6 +153,7 @@ public class ServerStatusPacketListenerImpl implements ServerStatusPacketListene
+@@ -152,6 +152,7 @@ public class ServerStatusPacketListenerImpl implements ServerStatusPacketListene
this.connection.send(new ClientboundStatusResponsePacket(ping));
// CraftBukkit end
*/
diff --git a/patches/server/0014-Remove-TickTask.patch b/patches/server/0011-Remove-TickTask.patch
similarity index 90%
rename from patches/server/0014-Remove-TickTask.patch
rename to patches/server/0011-Remove-TickTask.patch
index 1128a2e..d205e51 100644
--- a/patches/server/0014-Remove-TickTask.patch
+++ b/patches/server/0011-Remove-TickTask.patch
@@ -7,10 +7,10 @@ Original code by PatinaMC, licensed under GNU General Public License v3.0
You can find the original code on https://github.com/PatinaMC/Patina
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 3378298b0c465c0df9618804c390930e875bcce3..904ce75db06d3a50025bf758279e84346912ef6c 100644
+index 60ce593f25bdd90d53407c1281f580ef5429c9ee..91c1a7010bc46c5b515207b053caf356ae833079 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -182,7 +182,7 @@ import org.bukkit.event.server.ServerLoadEvent;
+@@ -194,7 +194,7 @@ import org.bukkit.event.server.ServerLoadEvent;
import co.aikar.timings.MinecraftTimings; // Paper
@@ -57,10 +57,10 @@ index 3378298b0c465c0df9618804c390930e875bcce3..904ce75db06d3a50025bf758279e8434
private void updateStatusIcon(ServerStatus metadata) {
Optional optional = Optional.of(this.getFile("server-icon.png")).filter(File::isFile);
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
-index 7266e6703d5cd0fea90ec88c74a7d4567f2420ae..16ee24bef4eb2184d821565665f3c1ddf0f3bb39 100644
+index c6f5d6756fa0e068a462d9c0ded12e0771abba37..6b8b99f32629c0b4a6db3f7c808430dd88249f8e 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
-@@ -1007,10 +1007,12 @@ public class ServerChunkCache extends ChunkSource {
+@@ -1012,10 +1012,12 @@ public class ServerChunkCache extends ChunkSource {
return runnable;
}
@@ -74,7 +74,7 @@ index 7266e6703d5cd0fea90ec88c74a7d4567f2420ae..16ee24bef4eb2184d821565665f3c1dd
@Override
protected boolean scheduleExecutables() {
diff --git a/src/main/java/net/minecraft/util/thread/BlockableEventLoop.java b/src/main/java/net/minecraft/util/thread/BlockableEventLoop.java
-index 7a4ade1a4190bf4fbb048919ae2be230f7b80fff..8bf10c68c233a445902a143eaeb5252247c74a75 100644
+index 83701fbfaa56a232593ee8f11a3afb8941238bfa..9b71f38bf10b63c0a4304a053540c9c00099bf47 100644
--- a/src/main/java/net/minecraft/util/thread/BlockableEventLoop.java
+++ b/src/main/java/net/minecraft/util/thread/BlockableEventLoop.java
@@ -29,7 +29,7 @@ public abstract class BlockableEventLoop implements Profiler
diff --git a/patches/server/0016-Don-t-create-new-random-instance.patch b/patches/server/0012-Don-t-create-new-random-instance.patch
similarity index 91%
rename from patches/server/0016-Don-t-create-new-random-instance.patch
rename to patches/server/0012-Don-t-create-new-random-instance.patch
index 2ced06c..3296ec1 100644
--- a/patches/server/0016-Don-t-create-new-random-instance.patch
+++ b/patches/server/0012-Don-t-create-new-random-instance.patch
@@ -7,10 +7,10 @@ Original code by PatinaMC, licensed under GNU General Public License v3.0
You can find the original code on https://github.com/PatinaMC/Patina
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index e5af7ef4ada68922a70f593ccec555ecb50627a9..eb634c540842a06bfea196bc9fe4bfbd73012bf1 100644
+index c0b0a7fdb75266a7064d54bda6441953184ecc64..56f0d2b52719bd9cd6a77ab7782a678c123e768e 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -380,7 +380,7 @@ public class ServerPlayer extends Player {
+@@ -392,7 +392,7 @@ public class ServerPlayer extends Player {
long l = k * k;
int i1 = l > 2147483647L ? Integer.MAX_VALUE : (int) l;
int j1 = this.getCoprime(i1);
@@ -19,7 +19,7 @@ index e5af7ef4ada68922a70f593ccec555ecb50627a9..eb634c540842a06bfea196bc9fe4bfbd
for (int l1 = 0; l1 < i1; ++l1) {
int i2 = (k1 + j1 * l1) % i1;
-@@ -417,7 +417,7 @@ public class ServerPlayer extends Player {
+@@ -429,7 +429,7 @@ public class ServerPlayer extends Player {
long l = k * k;
int i1 = l > 2147483647L ? Integer.MAX_VALUE : (int) l;
int j1 = this.getCoprime(i1);
diff --git a/patches/server/0017-Completely-remove-bootstrapExecutor.patch b/patches/server/0013-Completely-remove-bootstrapExecutor.patch
similarity index 94%
rename from patches/server/0017-Completely-remove-bootstrapExecutor.patch
rename to patches/server/0013-Completely-remove-bootstrapExecutor.patch
index 95fd7a9..bf36384 100644
--- a/patches/server/0017-Completely-remove-bootstrapExecutor.patch
+++ b/patches/server/0013-Completely-remove-bootstrapExecutor.patch
@@ -7,7 +7,7 @@ Original code by PatinaMC, licensed under GNU General Public License v3.0
You can find the original code on https://github.com/PatinaMC/Patina
diff --git a/src/main/java/net/minecraft/Util.java b/src/main/java/net/minecraft/Util.java
-index cdb7aea969b56f59d88f60bc3744e4932228c50a..59ecf5ff33617a6b9d2a3ae317315484235da804 100644
+index 5ef58831a857fd8aa4ac30147762dc17d773a53e..93b41dec42423e3967df8f1a8f4fdd6eafd8d023 100644
--- a/src/main/java/net/minecraft/Util.java
+++ b/src/main/java/net/minecraft/Util.java
@@ -79,7 +79,7 @@ public class Util {
diff --git a/patches/server/0018-Fix-rotating-UP-DOWN-CW-and-CCW.patch b/patches/server/0014-Fix-rotating-UP-DOWN-CW-and-CCW.patch
similarity index 84%
rename from patches/server/0018-Fix-rotating-UP-DOWN-CW-and-CCW.patch
rename to patches/server/0014-Fix-rotating-UP-DOWN-CW-and-CCW.patch
index 27fc4c6..2c4abb8 100644
--- a/patches/server/0018-Fix-rotating-UP-DOWN-CW-and-CCW.patch
+++ b/patches/server/0014-Fix-rotating-UP-DOWN-CW-and-CCW.patch
@@ -7,10 +7,10 @@ Original code by PurpurMC, licensed under MIT
You can find the original code on https://github.com/PurpurMC/Purpur
diff --git a/src/main/java/net/minecraft/core/Direction.java b/src/main/java/net/minecraft/core/Direction.java
-index ee725b972d3d5fb22538aaff9c72e47c6bad0cea..2217968eb5ecac0a2063cf1eae7d754d760e9f28 100644
+index 4ebbd0bbbecb07eb1950231cf0b3a7f25e09f1c9..61eadbc9bf353319d98df1135ded05dfe9bcc3f4 100644
--- a/src/main/java/net/minecraft/core/Direction.java
+++ b/src/main/java/net/minecraft/core/Direction.java
-@@ -252,6 +252,12 @@ public enum Direction implements StringRepresentable {
+@@ -247,6 +247,12 @@ public enum Direction implements StringRepresentable {
case EAST:
var10000 = SOUTH;
break;
@@ -23,7 +23,7 @@ index ee725b972d3d5fb22538aaff9c72e47c6bad0cea..2217968eb5ecac0a2063cf1eae7d754d
default:
throw new IllegalStateException("Unable to get Y-rotated facing of " + this);
}
-@@ -364,6 +370,12 @@ public enum Direction implements StringRepresentable {
+@@ -359,6 +365,12 @@ public enum Direction implements StringRepresentable {
case EAST:
var10000 = NORTH;
break;
diff --git a/patches/server/0019-Fix-vanilla-command-permission-handler.patch b/patches/server/0015-Fix-vanilla-command-permission-handler.patch
similarity index 100%
rename from patches/server/0019-Fix-vanilla-command-permission-handler.patch
rename to patches/server/0015-Fix-vanilla-command-permission-handler.patch
diff --git a/patches/server/0020-Remove-sync-chunk-writes-in-server.properties.patch b/patches/server/0016-Remove-sync-chunk-writes-in-server.properties.patch
similarity index 88%
rename from patches/server/0020-Remove-sync-chunk-writes-in-server.properties.patch
rename to patches/server/0016-Remove-sync-chunk-writes-in-server.properties.patch
index dc3fd38..dee477a 100644
--- a/patches/server/0020-Remove-sync-chunk-writes-in-server.properties.patch
+++ b/patches/server/0016-Remove-sync-chunk-writes-in-server.properties.patch
@@ -7,10 +7,10 @@ Original code by Titaniumtown, licensed under GNU General Public License v3.0
You can find the original code on https://gitlab.com/Titaniumtown/JettPack
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index d4efadbc87ee0b6cb8564c57fc9dcbb48367a767..300e61a9ebaece1f337031b27181f270f90e7a52 100644
+index 673fb3955291407be37dc78be4eec9bf2018128b..d3497d4cc2e9587e64c1dac3b3b2b94cd3590c07 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-@@ -392,7 +392,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
+@@ -386,7 +386,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
BufferedWriter bufferedwriter = Files.newBufferedWriter(file);
try {
@@ -20,10 +20,10 @@ index d4efadbc87ee0b6cb8564c57fc9dcbb48367a767..300e61a9ebaece1f337031b27181f270
bufferedwriter.write(String.format(Locale.ROOT, "spawn-monsters=%s%n", dedicatedserverproperties.spawnMonsters));
bufferedwriter.write(String.format(Locale.ROOT, "entity-broadcast-range-percentage=%d%n", dedicatedserverproperties.entityBroadcastRangePercentage));
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
-index a32cfa75a9bea896f558bab646d0868391b069a9..3e4a3915cdf29fc964e0314ce01d156dd2f4f873 100644
+index c7e4330c93baff1f3027d7c75cf857b673d38970..cc0784560a7405edc8695ec9e652309920d54281 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
-@@ -136,7 +136,7 @@ public class DedicatedServerProperties extends Settings {
return Mth.clamp(integer, (int) 1, 29999984);
}, 29999984);
diff --git a/patches/server/0021-Remove-Spigot-tick-limiter.patch b/patches/server/0017-Remove-Spigot-tick-limiter.patch
similarity index 90%
rename from patches/server/0021-Remove-Spigot-tick-limiter.patch
rename to patches/server/0017-Remove-Spigot-tick-limiter.patch
index f68db39..ebc7df5 100644
--- a/patches/server/0021-Remove-Spigot-tick-limiter.patch
+++ b/patches/server/0017-Remove-Spigot-tick-limiter.patch
@@ -7,10 +7,10 @@ Original code by Titaniumtown, licensed under GNU General Public License v3.0
You can find the original code on https://gitlab.com/Titaniumtown/JettPack
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 13aee2a785b3ddb481744277a25c1ab95e036d4a..7fc3c9892d69d14de694d5328fe17a971019cc54 100644
+index f7da7be380062eb052ac0549f9d9dc810d6218a3..0cfcf1c1c4f2fe0658b212b076e2cf9f7f0e974b 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -176,8 +176,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -175,8 +175,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
public static BlockPos lastPhysicsProblem; // Spigot
@@ -21,7 +21,7 @@ index 13aee2a785b3ddb481744277a25c1ab95e036d4a..7fc3c9892d69d14de694d5328fe17a97
private int tileTickPosition;
public final Map explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions
public java.util.ArrayDeque redstoneUpdateInfos; // Paper - Move from Map in BlockRedstoneTorch to here
-@@ -371,8 +371,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -370,8 +370,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
// CraftBukkit end
timings = new co.aikar.timings.WorldTimingsHandler(this); // Paper - code below can generate new world and access timings
this.keepSpawnInMemory = this.paperConfig().spawn.keepSpawnLoaded; // Paper
@@ -33,10 +33,10 @@ index 13aee2a785b3ddb481744277a25c1ab95e036d4a..7fc3c9892d69d14de694d5328fe17a97
}
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
-index 46ef3400605cc420bd88f13838df7d1f1106235e..a5a2e497eb3e651f3e715f995a80161d919ebab9 100644
+index 5503ad6a93d331771a0e92c0da6adedf2ac81aff..7c1efc3b6045b2179139dd419e969569f1af9f6d 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
-@@ -446,6 +446,7 @@ public class SpigotWorldConfig
+@@ -442,6 +442,7 @@ public class SpigotWorldConfig
this.hangingTickFrequency = this.getInt( "hanging-tick-frequency", 100 );
}
@@ -44,7 +44,7 @@ index 46ef3400605cc420bd88f13838df7d1f1106235e..a5a2e497eb3e651f3e715f995a80161d
public int tileMaxTickTime;
public int entityMaxTickTime;
private void maxTickTimes()
-@@ -454,6 +455,7 @@ public class SpigotWorldConfig
+@@ -450,6 +451,7 @@ public class SpigotWorldConfig
this.entityMaxTickTime = this.getInt("max-tick-time.entity", 50);
this.log("Tile Max Tick Time: " + this.tileMaxTickTime + "ms Entity max Tick Time: " + this.entityMaxTickTime + "ms");
}
diff --git a/patches/server/0023-Don-t-save-Fireworks.patch b/patches/server/0018-Don-t-save-Fireworks.patch
similarity index 90%
rename from patches/server/0023-Don-t-save-Fireworks.patch
rename to patches/server/0018-Don-t-save-Fireworks.patch
index b2c6986..9879263 100644
--- a/patches/server/0023-Don-t-save-Fireworks.patch
+++ b/patches/server/0018-Don-t-save-Fireworks.patch
@@ -7,7 +7,7 @@ Original code by Starlis, licensed under GNU General Public License v3.0
You can find the original code on https://github.com/starlis/empirecraft
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
-index 61252ef8a79bac0ea2d3d231ec6b12166f39d072..d01654155b200b53d7822f6695d1ab94aabb8a52 100644
+index 5406925cd66f46ab8744123c670d72cea7bfc3a1..ba9b29db6d6b9e73e1b8d305ad1d7e855290e758 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
@@ -358,4 +358,11 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
diff --git a/patches/server/0024-Do-not-drop-items-from-Give-command.patch b/patches/server/0019-Do-not-drop-items-from-Give-command.patch
similarity index 100%
rename from patches/server/0024-Do-not-drop-items-from-Give-command.patch
rename to patches/server/0019-Do-not-drop-items-from-Give-command.patch
diff --git a/patches/server/0026-Fix-cow-rotation-when-shearing-mooshroom.patch b/patches/server/0020-Fix-cow-rotation-when-shearing-mooshroom.patch
similarity index 60%
rename from patches/server/0026-Fix-cow-rotation-when-shearing-mooshroom.patch
rename to patches/server/0020-Fix-cow-rotation-when-shearing-mooshroom.patch
index 3815c53..cd966e6 100644
--- a/patches/server/0026-Fix-cow-rotation-when-shearing-mooshroom.patch
+++ b/patches/server/0020-Fix-cow-rotation-when-shearing-mooshroom.patch
@@ -7,20 +7,20 @@ Original code by PurpurMC, licensed under MIT
You can find the original code on https://github.com/PurpurMC/Purpur
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
-index e84d4ecc1fd8e196743a37b18306a4769abbcb77..a715465611be53dc94770feee0f13381f7d82e24 100644
+index 68a5ee85e64802e4509ba0d184fc0ceb3cbe2d11..a8b44440b0a06f227f1d50bf77794fc15aea4230 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
-@@ -180,7 +180,13 @@ public class MushroomCow extends Cow implements Shearable {
-
- entitycow.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
- entitycow.setHealth(this.getHealth());
+@@ -180,7 +180,13 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder
-Date: Tue, 3 Aug 2021 10:39:44 -0500
-Subject: [PATCH] Do not process chat/commands before player has joined
-
-Original code by Starlis, licensed under GNU General Public License v3.0
-You can find the original code on https://github.com/starlis/empirecraft
-
-diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 65362a582d19ab690bcdd68533319f70a7e585f1..ca245019669591a5468de2df6dedc3080b61282e 100644
---- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2346,6 +2346,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
- } else if (this.player.isRemoved() || this.player.getChatVisibility() == ChatVisiblity.HIDDEN) { // CraftBukkit - dead men tell no tales
- this.send(new ClientboundSystemChatPacket(Component.translatable("chat.disabled.options").withStyle(ChatFormatting.RED), false));
- return false;
-+ } else if (!player.didPlayerJoinEvent) { return false; // EMC - do not handle chat messages before they joined
- } else {
- LastSeenMessagesValidator lastseenmessagesvalidator = this.lastSeenMessagesValidator;
- Set set;
diff --git a/patches/server/0031-carpetfixes-BiomeAccess-prediction.patch b/patches/server/0025-carpetfixes-BiomeAccess-prediction.patch
similarity index 100%
rename from patches/server/0031-carpetfixes-BiomeAccess-prediction.patch
rename to patches/server/0025-carpetfixes-BiomeAccess-prediction.patch
diff --git a/patches/server/0032-Fix-MC-121706.patch b/patches/server/0026-Fix-MC-121706.patch
similarity index 100%
rename from patches/server/0032-Fix-MC-121706.patch
rename to patches/server/0026-Fix-MC-121706.patch
diff --git a/patches/server/0036-Fix-hunger-saturation-depleting-on-peaceful.patch b/patches/server/0027-Fix-hunger-saturation-depleting-on-peaceful.patch
similarity index 87%
rename from patches/server/0036-Fix-hunger-saturation-depleting-on-peaceful.patch
rename to patches/server/0027-Fix-hunger-saturation-depleting-on-peaceful.patch
index 60230f6..7c02080 100644
--- a/patches/server/0036-Fix-hunger-saturation-depleting-on-peaceful.patch
+++ b/patches/server/0027-Fix-hunger-saturation-depleting-on-peaceful.patch
@@ -8,10 +8,10 @@ the displayed hunger bar never goes down. Hunger (or any related value, includin
should not go down on peaceful. See https://bugs.mojang.com/browse/MC-31819.
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index 9b131f0a827413e9f5d6d0f7491c5481576cb8b1..3ec10c8f6cdf98cbf3789845a0d87572e8687ba9 100644
+index 2e6557a19523d18aecff709de30cb4466b46a9fa..9f8806ddb3b21a1b8ef54f2a7bb4d2a481b5a5d5 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -1919,6 +1919,7 @@ public abstract class Player extends LivingEntity {
+@@ -1900,6 +1900,7 @@ public abstract class Player extends LivingEntity {
}
public void causeFoodExhaustion(float f, EntityExhaustionEvent.ExhaustionReason reason) {
diff --git a/patches/server/0037-Fix-mobs-attacking-themselves.patch b/patches/server/0028-Fix-mobs-attacking-themselves.patch
similarity index 100%
rename from patches/server/0037-Fix-mobs-attacking-themselves.patch
rename to patches/server/0028-Fix-mobs-attacking-themselves.patch
diff --git a/patches/server/0038-Fix-brewing-stands-resetting-their-brewTime-when-bei.patch b/patches/server/0029-Fix-brewing-stands-resetting-their-brewTime-when-bei.patch
similarity index 100%
rename from patches/server/0038-Fix-brewing-stands-resetting-their-brewTime-when-bei.patch
rename to patches/server/0029-Fix-brewing-stands-resetting-their-brewTime-when-bei.patch
diff --git a/patches/server/0039-PaperPR-Optimize-VarInts.patch b/patches/server/0030-PaperPR-Optimize-VarInts.patch
similarity index 91%
rename from patches/server/0039-PaperPR-Optimize-VarInts.patch
rename to patches/server/0030-PaperPR-Optimize-VarInts.patch
index 2a77b65..462299a 100644
--- a/patches/server/0039-PaperPR-Optimize-VarInts.patch
+++ b/patches/server/0030-PaperPR-Optimize-VarInts.patch
@@ -8,10 +8,10 @@ Original project: https://github.com/PaperMC/Velocity
Paper pull request: https://github.com/PaperMC/Paper/pull/8418
diff --git a/src/main/java/net/minecraft/network/FriendlyByteBuf.java b/src/main/java/net/minecraft/network/FriendlyByteBuf.java
-index 35377576ed182814051c11f902e02e8e921e84e3..4b4a3c0da7a512e16d9a5758ed7312dc9ddc1e28 100644
+index 32ee4ed11aefd82dca2e3e78b3108f041fdc3695..888a9fd7b13630fec814d23f0a2035f88cffa6e8 100644
--- a/src/main/java/net/minecraft/network/FriendlyByteBuf.java
+++ b/src/main/java/net/minecraft/network/FriendlyByteBuf.java
-@@ -87,15 +87,18 @@ public class FriendlyByteBuf extends ByteBuf {
+@@ -93,15 +93,18 @@ public class FriendlyByteBuf extends ByteBuf {
this.source = parent;
}
@@ -37,7 +37,7 @@ index 35377576ed182814051c11f902e02e8e921e84e3..4b4a3c0da7a512e16d9a5758ed7312dc
public static int getVarLongSize(long value) {
for (int j = 1; j < 10; ++j) {
-@@ -503,7 +506,22 @@ public class FriendlyByteBuf extends ByteBuf {
+@@ -565,7 +568,22 @@ public class FriendlyByteBuf extends ByteBuf {
return new UUID(this.readLong(), this.readLong());
}
diff --git a/patches/server/0041-Fix-MC-238526.patch b/patches/server/0031-Fix-MC-238526.patch
similarity index 100%
rename from patches/server/0041-Fix-MC-238526.patch
rename to patches/server/0031-Fix-MC-238526.patch
diff --git a/patches/server/0043-lithium-cached-hashcode.patch b/patches/server/0032-lithium-cached-hashcode.patch
similarity index 88%
rename from patches/server/0043-lithium-cached-hashcode.patch
rename to patches/server/0032-lithium-cached-hashcode.patch
index 70a534f..55deab2 100644
--- a/patches/server/0043-lithium-cached-hashcode.patch
+++ b/patches/server/0032-lithium-cached-hashcode.patch
@@ -7,10 +7,10 @@ Original code by CaffeineMC, licensed under GNU Lesser General Public License v3
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
-index 9aa3aca48d443f81201e93402ec413a26bd92cf4..1834470b549d8352317cf081173ff542c9faac1e 100644
+index 40f0e57bed6866bff69231b9135987ca53125ba3..1e358cdabca103d65410b340db96a1ad6e479c59 100644
--- a/src/main/java/net/minecraft/world/level/block/Block.java
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
-@@ -614,11 +614,18 @@ public class Block extends BlockBehaviour implements ItemLike {
+@@ -608,11 +608,18 @@ public class Block extends BlockBehaviour implements ItemLike {
private final BlockState first;
private final BlockState second;
private final Direction direction;
@@ -29,7 +29,7 @@ index 9aa3aca48d443f81201e93402ec413a26bd92cf4..1834470b549d8352317cf081173ff542
}
public boolean equals(Object object) {
-@@ -634,11 +641,7 @@ public class Block extends BlockBehaviour implements ItemLike {
+@@ -628,11 +635,7 @@ public class Block extends BlockBehaviour implements ItemLike {
}
public int hashCode() {
diff --git a/patches/server/0033-PaperPR-Add-more-collision-code-skipping-logic.patch b/patches/server/0033-PaperPR-Add-more-collision-code-skipping-logic.patch
deleted file mode 100644
index c1b3a8c..0000000
--- a/patches/server/0033-PaperPR-Add-more-collision-code-skipping-logic.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: etil2jz <81570777+etil2jz@users.noreply.github.com>
-Date: Sat, 19 Mar 2022 16:27:30 +0100
-Subject: [PATCH] PaperPR Add more collision code skipping logic
-
-Taken from https://github.com/PaperMC/Paper/pull/7581
-
-diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index c0e316582e085873c05a76c16e612eabd2e8cf2a..dd881ca1460ad3d1f17b40969a872c3226d9d0c9 100644
---- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
-+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3466,6 +3466,10 @@ public abstract class LivingEntity extends Entity {
-
- protected void pushEntities() {
- // Paper start - don't run getEntities if we're not going to use its result
-+ if (!isCollidable(level.paperConfig().collisions.fixClimbingBypassingCrammingRule)) return;
-+ net.minecraft.world.scores.Team team = getTeam();
-+ if (team != null && team.getCollisionRule() == net.minecraft.world.scores.Team.CollisionRule.NEVER) return;
-+
- int i = this.level.getGameRules().getInt(GameRules.RULE_MAX_ENTITY_CRAMMING);
- if (i <= 0 && level.paperConfig().collisions.maxEntityCollisions <= 0) {
- return;
diff --git a/patches/server/0044-vmp-skip-entity-move-if-movement-is-zero.patch b/patches/server/0033-vmp-skip-entity-move-if-movement-is-zero.patch
similarity index 89%
rename from patches/server/0044-vmp-skip-entity-move-if-movement-is-zero.patch
rename to patches/server/0033-vmp-skip-entity-move-if-movement-is-zero.patch
index 893fbe0..3eba44a 100644
--- a/patches/server/0044-vmp-skip-entity-move-if-movement-is-zero.patch
+++ b/patches/server/0033-vmp-skip-entity-move-if-movement-is-zero.patch
@@ -9,7 +9,7 @@ Original code by RelativityMC, licensed under MIT
You can find the original code on https://github.com/RelativityMC/VMP-fabric (Yarn mappings)
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index d96422f871c18303ce7ff7a182c685b0ddbfa04d..8a614fd335810b38c95f9f8b71f98b378893b985 100644
+index caa4d38d620717e78df9ad29fe9752213f1cda1b..d4d4d49d2a9eb065415f0c5ff5d5a9bc0c2bb25b 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -299,6 +299,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -20,7 +20,7 @@ index d96422f871c18303ce7ff7a182c685b0ddbfa04d..8a614fd335810b38c95f9f8b71f98b37
public boolean onGround;
public boolean horizontalCollision;
public boolean verticalCollision;
-@@ -1032,6 +1033,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
+@@ -1033,6 +1034,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
// Paper end - detailed watchdog information
public void move(MoverType movementType, Vec3 movement) {
@@ -33,7 +33,7 @@ index d96422f871c18303ce7ff7a182c685b0ddbfa04d..8a614fd335810b38c95f9f8b71f98b37
// Paper start - detailed watchdog information
io.papermc.paper.util.TickThread.ensureTickThread("Cannot move an entity off-main");
synchronized (this.posLock) {
-@@ -3755,6 +3762,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
+@@ -3800,6 +3807,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
}
public final void setBoundingBox(AABB boundingBox) {
diff --git a/patches/server/0045-lithium-suffocation.patch b/patches/server/0034-lithium-suffocation.patch
similarity index 97%
rename from patches/server/0045-lithium-suffocation.patch
rename to patches/server/0034-lithium-suffocation.patch
index 15f50a9..ab38d38 100644
--- a/patches/server/0045-lithium-suffocation.patch
+++ b/patches/server/0034-lithium-suffocation.patch
@@ -9,10 +9,10 @@ Original license: GNU Lesser General Public License v3.0
Original project: https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 8a614fd335810b38c95f9f8b71f98b378893b985..e1edcc723428717b5a03621fcf6072ca857f5c28 100644
+index d4d4d49d2a9eb065415f0c5ff5d5a9bc0c2bb25b..6c94efc22a288d664ea8779863aa13b1f3795636 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2584,39 +2584,64 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
+@@ -2600,39 +2600,64 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return !this.isRemoved();
}
diff --git a/patches/server/0046-lithium-ai.sensor.secondary_poi.patch b/patches/server/0035-lithium-ai.sensor.secondary_poi.patch
similarity index 93%
rename from patches/server/0046-lithium-ai.sensor.secondary_poi.patch
rename to patches/server/0035-lithium-ai.sensor.secondary_poi.patch
index eb5defb..1d952aa 100644
--- a/patches/server/0046-lithium-ai.sensor.secondary_poi.patch
+++ b/patches/server/0035-lithium-ai.sensor.secondary_poi.patch
@@ -7,7 +7,7 @@ Original code by CaffeineMC, licensed under GNU Lesser General Public License v3
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
diff --git a/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java b/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
-index cb1d91f9fe98f21c2afbe3894dfd9bca3bdd3ba6..d3f1a26cf3b68d85b8d8daef73730f5c4af76cf1 100644
+index cb1d91f9fe98f21c2afbe3894dfd9bca3bdd3ba6..1bb33123d26b0a261f30bad2a972f42d504b5e69 100644
--- a/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
+++ b/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
@@ -22,6 +22,12 @@ public class SecondaryPoiSensor extends Sensor {
diff --git a/patches/server/0047-lithium-store-gamerules-in-fastutil-hashmap.patch b/patches/server/0036-lithium-store-gamerules-in-fastutil-hashmap.patch
similarity index 93%
rename from patches/server/0047-lithium-store-gamerules-in-fastutil-hashmap.patch
rename to patches/server/0036-lithium-store-gamerules-in-fastutil-hashmap.patch
index 21ee0bf..6bbdd29 100644
--- a/patches/server/0047-lithium-store-gamerules-in-fastutil-hashmap.patch
+++ b/patches/server/0036-lithium-store-gamerules-in-fastutil-hashmap.patch
@@ -7,7 +7,7 @@ Original code by CaffeineMC, licensed under GNU Lesser General Public License v3
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
diff --git a/src/main/java/net/minecraft/world/level/GameRules.java b/src/main/java/net/minecraft/world/level/GameRules.java
-index 17e869074b8cf29a8c3280499a27e95179896750..97a5aec7da267b8b9f6d191c871316ccb89c448c 100644
+index c15e4d95baacd30f9614dc5526dc8fc12ae5bd06..8577f80ccf84705b94d2cd1007a1a28ec3432d41 100644
--- a/src/main/java/net/minecraft/world/level/GameRules.java
+++ b/src/main/java/net/minecraft/world/level/GameRules.java
@@ -27,6 +27,7 @@ import net.minecraft.network.protocol.game.ClientboundGameEventPacket;
@@ -18,7 +18,7 @@ index 17e869074b8cf29a8c3280499a27e95179896750..97a5aec7da267b8b9f6d191c871316cc
public class GameRules {
-@@ -111,14 +112,16 @@ public class GameRules {
+@@ -118,14 +119,16 @@ public class GameRules {
public GameRules() {
// Pufferfish start - use this to ensure gameruleArray is initialized
diff --git a/patches/server/0048-lithium-precompute-shape-arrays.patch b/patches/server/0037-lithium-precompute-shape-arrays.patch
similarity index 97%
rename from patches/server/0048-lithium-precompute-shape-arrays.patch
rename to patches/server/0037-lithium-precompute-shape-arrays.patch
index 6a8af23..2bd630f 100644
--- a/patches/server/0048-lithium-precompute-shape-arrays.patch
+++ b/patches/server/0037-lithium-precompute-shape-arrays.patch
@@ -7,7 +7,7 @@ Original code by CaffeineMC, licensed under GNU Lesser General Public License v3
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
diff --git a/src/main/java/net/minecraft/core/Direction.java b/src/main/java/net/minecraft/core/Direction.java
-index 2217968eb5ecac0a2063cf1eae7d754d760e9f28..445f21c3764d148de937f558e3f087ae2006733d 100644
+index 61eadbc9bf353319d98df1135ded05dfe9bcc3f4..90297e355d2009ca134ff786925dd3c2ac3a08cc 100644
--- a/src/main/java/net/minecraft/core/Direction.java
+++ b/src/main/java/net/minecraft/core/Direction.java
@@ -41,7 +41,7 @@ public enum Direction implements StringRepresentable {
diff --git a/patches/server/0049-lithium-entity.fast_elytra_check.patch b/patches/server/0038-lithium-entity.fast_elytra_check.patch
similarity index 84%
rename from patches/server/0049-lithium-entity.fast_elytra_check.patch
rename to patches/server/0038-lithium-entity.fast_elytra_check.patch
index 6a83da1..664fa5f 100644
--- a/patches/server/0049-lithium-entity.fast_elytra_check.patch
+++ b/patches/server/0038-lithium-entity.fast_elytra_check.patch
@@ -7,10 +7,10 @@ Original code by CaffeineMC, licensed under GNU Lesser General Public License v3
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index c0e316582e085873c05a76c16e612eabd2e8cf2a..dbcabd230bd9bd070e157f35d098553f3ed06987 100644
+index d134e88ae9aa2bd0b2b51056bfcc37941c713002..a49d9ded1238ec393baa2a12c503e4f9774c40ed 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3428,6 +3428,8 @@ public abstract class LivingEntity extends Entity {
+@@ -3478,6 +3478,8 @@ public abstract class LivingEntity extends Entity {
}
private void updateFallFlying() {
diff --git a/patches/server/0050-lithium-entity.fast_hand_swing.patch b/patches/server/0039-lithium-entity.fast_hand_swing.patch
similarity index 84%
rename from patches/server/0050-lithium-entity.fast_hand_swing.patch
rename to patches/server/0039-lithium-entity.fast_hand_swing.patch
index b40ce55..8bb1d80 100644
--- a/patches/server/0050-lithium-entity.fast_hand_swing.patch
+++ b/patches/server/0039-lithium-entity.fast_hand_swing.patch
@@ -7,10 +7,10 @@ Original code by CaffeineMC, licensed under GNU Lesser General Public License v3
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index dbcabd230bd9bd070e157f35d098553f3ed06987..2cd8dfe953ac72f6be14557ab39d3cec1108499e 100644
+index a49d9ded1238ec393baa2a12c503e4f9774c40ed..a8fc0d36950188447490c527b199851fd88ee2aa 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -2488,6 +2488,8 @@ public abstract class LivingEntity extends Entity {
+@@ -2519,6 +2519,8 @@ public abstract class LivingEntity extends Entity {
}
protected void updateSwingTime() {
diff --git a/patches/server/0040-PaperPR-Fix-exact-choice-recipe-book-clicks.patch b/patches/server/0040-PaperPR-Fix-exact-choice-recipe-book-clicks.patch
deleted file mode 100644
index 020cc11..0000000
--- a/patches/server/0040-PaperPR-Fix-exact-choice-recipe-book-clicks.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Jake Potrebic
-Date: Sat, 14 May 2022 15:42:34 -0700
-Subject: [PATCH] PaperPR Fix exact choice recipe book clicks
-
-Taken from https://github.com/PaperMC/Paper/pull/7822
-
-diff --git a/src/main/java/net/minecraft/world/entity/player/StackedContents.java b/src/main/java/net/minecraft/world/entity/player/StackedContents.java
-index efee1a8e0e3ad566cd550e51d3e559c5a495889a..f75ff62be1630e3a86f917e18432769eb6d61abc 100644
---- a/src/main/java/net/minecraft/world/entity/player/StackedContents.java
-+++ b/src/main/java/net/minecraft/world/entity/player/StackedContents.java
-@@ -37,8 +37,62 @@ public class StackedContents {
- int i = getStackingIndex(stack);
- int j = Math.min(maxCount, stack.getCount());
- this.put(i, j);
-+ // Paper start
-+ if (stack.hasTag()) {
-+ this.put(getExactStackingIndex(stack), j);
-+ }
-+ }
-+
-+ }
-+ private static final net.minecraft.core.IdMap EXACT_MATCHES_ID_MAP = new net.minecraft.core.IdMap<>() {
-+ private final java.util.concurrent.atomic.AtomicInteger idCounter = new java.util.concurrent.atomic.AtomicInteger(Registry.ITEM.size());
-+ private final it.unimi.dsi.fastutil.objects.Object2IntMap itemstackToId = new it.unimi.dsi.fastutil.objects.Object2IntOpenCustomHashMap<>(new it.unimi.dsi.fastutil.Hash.Strategy<>() {
-+ @Override
-+ public int hashCode(ItemStack o) {
-+ return java.util.Objects.hash(o.getItem(), o.getTag());
-+ }
-+
-+ @Override
-+ public boolean equals(@Nullable ItemStack a, @Nullable ItemStack b) {
-+ if (a == null || b == null) {
-+ return false;
-+ }
-+ return ItemStack.isSameItemSameTags(a, b);
-+ }
-+ });
-+ private final it.unimi.dsi.fastutil.ints.Int2ObjectMap idToItemstack = new it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap<>();
-+
-+ @Override
-+ public int getId(ItemStack value) {
-+ if (!this.itemstackToId.containsKey(value)) {
-+ final int id = this.idCounter.incrementAndGet();
-+ final ItemStack copy = value.copy();
-+ this.itemstackToId.put(copy, id);
-+ this.idToItemstack.put(id, copy);
-+ return id;
-+ }
-+ return this.itemstackToId.getInt(value);
-+ }
-+
-+ @Override
-+ public @Nullable ItemStack byId(int index) {
-+ return this.idToItemstack.get(index);
-+ }
-+
-+ @Override
-+ public int size() {
-+ return this.itemstackToId.size();
-+ }
-+
-+ @Override
-+ public java.util.Iterator iterator() {
-+ return this.idToItemstack.values().iterator();
- }
-+ };
-
-+ public static int getExactStackingIndex(ItemStack stack) {
-+ return EXACT_MATCHES_ID_MAP.getId(stack);
-+ // Paper end
- }
-
- public static int getStackingIndex(ItemStack stack) {
-@@ -80,6 +134,12 @@ public class StackedContents {
- }
-
- public static ItemStack fromStackingIndex(int itemId) {
-+ // Paper start
-+ if (itemId > Registry.ITEM.size()) {
-+ final ItemStack stack = EXACT_MATCHES_ID_MAP.byId(itemId);
-+ return stack == null ? ItemStack.EMPTY : stack.copy();
-+ }
-+ // Paper end
- return itemId == 0 ? ItemStack.EMPTY : new ItemStack(Item.byId(itemId));
- }
-
-diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
-index 4fea1c9873b4dd9c9f21722adbb02200487caf3c..cd47b6882509888f7d34e95b4687ca7a9eab6caf 100644
---- a/src/main/java/net/minecraft/world/item/ItemStack.java
-+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
-@@ -105,6 +105,7 @@ import org.bukkit.event.world.StructureGrowEvent;
-
- public final class ItemStack {
-
-+ public boolean isExactRecipeIngredient = false; // Paper
- public static final Codec CODEC = RecordCodecBuilder.create((instance) -> {
- return instance.group(Registry.ITEM.byNameCodec().fieldOf("id").forGetter((itemstack) -> {
- return itemstack.item;
-diff --git a/src/main/java/net/minecraft/world/item/crafting/Ingredient.java b/src/main/java/net/minecraft/world/item/crafting/Ingredient.java
-index 895c0f1600139e340aa22a7c398978add56fa706..d5ced4c4ad354bbe6e6d256853de659923044299 100644
---- a/src/main/java/net/minecraft/world/item/crafting/Ingredient.java
-+++ b/src/main/java/net/minecraft/world/item/crafting/Ingredient.java
-@@ -54,7 +54,11 @@ public final class Ingredient implements Predicate {
- if (this.itemStacks == null) {
- this.itemStacks = (ItemStack[]) Arrays.stream(this.values).flatMap((recipeitemstack_provider) -> {
- return recipeitemstack_provider.getItems().stream();
-- }).distinct().toArray((i) -> {
-+ // Paper start
-+ }).distinct().peek(stack -> {
-+ stack.isExactRecipeIngredient = this.exact;
-+ }).toArray((i) -> {
-+ // Paper end
- return new ItemStack[i];
- });
- }
-@@ -104,7 +108,13 @@ public final class Ingredient implements Predicate {
- for (int j = 0; j < i; ++j) {
- ItemStack itemstack = aitemstack[j];
-
-+ // Paper start
-+ if (itemstack.isExactRecipeIngredient) {
-+ this.stackingIds.add(StackedContents.getExactStackingIndex(itemstack));
-+ } else {
-+ // Paper end
- this.stackingIds.add(StackedContents.getStackingIndex(itemstack));
-+ } // Paper
- }
-
- this.stackingIds.sort(IntComparators.NATURAL_COMPARATOR);
diff --git a/patches/server/0051-lithium-entity.fast_powder_snow_check.patch b/patches/server/0040-lithium-entity.fast_powder_snow_check.patch
similarity index 87%
rename from patches/server/0051-lithium-entity.fast_powder_snow_check.patch
rename to patches/server/0040-lithium-entity.fast_powder_snow_check.patch
index f4a24fe..55bfe6d 100644
--- a/patches/server/0051-lithium-entity.fast_powder_snow_check.patch
+++ b/patches/server/0040-lithium-entity.fast_powder_snow_check.patch
@@ -7,10 +7,10 @@ Original code by CaffeineMC, licensed under GNU Lesser General Public License v3
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 2cd8dfe953ac72f6be14557ab39d3cec1108499e..d6f7fd9dc4804e7565c89a9cbb0948f256559f03 100644
+index a8fc0d36950188447490c527b199851fd88ee2aa..0a779a1dbc32de6b55abd05cd384be971a3b315b 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -569,11 +569,11 @@ public abstract class LivingEntity extends Entity {
+@@ -570,11 +570,11 @@ public abstract class LivingEntity extends Entity {
}
protected void tryAddFrost() {
@@ -24,7 +24,7 @@ index 2cd8dfe953ac72f6be14557ab39d3cec1108499e..d6f7fd9dc4804e7565c89a9cbb0948f2
if (attributemodifiable == null) {
return;
-@@ -583,7 +583,7 @@ public abstract class LivingEntity extends Entity {
+@@ -584,7 +584,7 @@ public abstract class LivingEntity extends Entity {
attributemodifiable.addTransientModifier(new AttributeModifier(LivingEntity.SPEED_MODIFIER_POWDER_SNOW_UUID, "Powder snow slow", (double) f, AttributeModifier.Operation.ADDITION));
}
diff --git a/patches/server/0052-lithium-collections.attributes.patch b/patches/server/0041-lithium-collections.attributes.patch
similarity index 91%
rename from patches/server/0052-lithium-collections.attributes.patch
rename to patches/server/0041-lithium-collections.attributes.patch
index 8cc6009..990fda0 100644
--- a/patches/server/0052-lithium-collections.attributes.patch
+++ b/patches/server/0041-lithium-collections.attributes.patch
@@ -7,10 +7,10 @@ Original code by CaffeineMC, licensed under GNU Lesser General Public License v3
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
diff --git a/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java b/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java
-index 9bce290eb0c2cfef4896a3f2076c80bf3d76bd56..ac56484b1bf19dabe4bdd5b25eafa4ac38f08cbe 100644
+index e283eb57c25f7de222f9d09dca851169f5f6e488..7b30ad6c092d8b91ffd2eb264de323a506e9d68f 100644
--- a/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java
+++ b/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java
-@@ -16,11 +16,13 @@ import net.minecraft.nbt.CompoundTag;
+@@ -17,11 +17,13 @@ import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.ListTag;
import net.minecraft.resources.ResourceLocation;
import org.slf4j.Logger;
diff --git a/patches/server/0053-lithium-collections.entity_by_type.patch b/patches/server/0042-lithium-collections.entity_by_type.patch
similarity index 100%
rename from patches/server/0053-lithium-collections.entity_by_type.patch
rename to patches/server/0042-lithium-collections.entity_by_type.patch
diff --git a/patches/server/0054-lithium-collections.entity_filtering.patch b/patches/server/0043-lithium-collections.entity_filtering.patch
similarity index 100%
rename from patches/server/0054-lithium-collections.entity_filtering.patch
rename to patches/server/0043-lithium-collections.entity_filtering.patch
diff --git a/patches/server/0055-lithium-chunk.serialization.patch b/patches/server/0044-lithium-chunk.serialization.patch
similarity index 98%
rename from patches/server/0055-lithium-chunk.serialization.patch
rename to patches/server/0044-lithium-chunk.serialization.patch
index 073c398..12d66eb 100644
--- a/patches/server/0055-lithium-chunk.serialization.patch
+++ b/patches/server/0044-lithium-chunk.serialization.patch
@@ -279,7 +279,7 @@ index 36e33923bf48e56c743ed043bcbc66bc32f0422f..0272dee738e86e066108f5cc37291363
+ // JettPack end
}
diff --git a/src/main/java/net/minecraft/util/ZeroBitStorage.java b/src/main/java/net/minecraft/util/ZeroBitStorage.java
-index 97c744508cc535418eba65fa722859c81c22d647..a2ea0a2864b9c4f847f1a14ffc0900e67c18f9ee 100644
+index 5d8e9bdf5538b19681f21949368d862fab8a89ad..2224245a985dfe78565dfdb42840d3ed43530525 100644
--- a/src/main/java/net/minecraft/util/ZeroBitStorage.java
+++ b/src/main/java/net/minecraft/util/ZeroBitStorage.java
@@ -2,6 +2,7 @@ package net.minecraft.util;
@@ -309,7 +309,7 @@ index acae3eb30e0689048937f479dc3070f0688abdad..9c2b79655f2c63a208c7087d5d897db0
int onResize(int newBits, T object);
}
diff --git a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
-index 7908360dd47937b2cb702e381802b7b278a5198e..5f578da4a7251b17d6a12821a3cd090e66b52a8a 100644
+index 3c7ef1e8e338a84eee34f39ce73e64876632ea87..ade64cbde3e9929557c3c7305af2568bc350938f 100644
--- a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
+++ b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
@@ -22,8 +22,23 @@ import net.minecraft.util.Mth;
diff --git a/patches/server/0056-lithium-cache-iterate-outwards.patch b/patches/server/0045-lithium-cache-iterate-outwards.patch
similarity index 98%
rename from patches/server/0056-lithium-cache-iterate-outwards.patch
rename to patches/server/0045-lithium-cache-iterate-outwards.patch
index 8664b26..e261314 100644
--- a/patches/server/0056-lithium-cache-iterate-outwards.patch
+++ b/patches/server/0045-lithium-cache-iterate-outwards.patch
@@ -138,7 +138,7 @@ index 0000000000000000000000000000000000000000..493661ff3ac7247b68b7b02784b09b0e
+}
\ No newline at end of file
diff --git a/src/main/java/net/minecraft/core/BlockPos.java b/src/main/java/net/minecraft/core/BlockPos.java
-index 153451ecd5b3c8e8ecb2d5ec91ccd582d4300899..4487752469f9ab95e9d2aeb76a9627dc02095d76 100644
+index b1d12c78edf21cc29a9f9ca54e7957ddc8875ffb..b52dc7290d40ed68d6ce3cfa6dd071ab98242b19 100644
--- a/src/main/java/net/minecraft/core/BlockPos.java
+++ b/src/main/java/net/minecraft/core/BlockPos.java
@@ -18,6 +18,12 @@ import net.minecraft.world.phys.AABB;
@@ -154,7 +154,7 @@ index 153451ecd5b3c8e8ecb2d5ec91ccd582d4300899..4487752469f9ab95e9d2aeb76a9627dc
@Immutable
public class BlockPos extends Vec3i {
-@@ -284,7 +290,18 @@ public class BlockPos extends Vec3i {
+@@ -288,7 +294,18 @@ public class BlockPos extends Vec3i {
};
}
diff --git a/patches/server/0057-vmp-use-linked-map-for-entity-trackers-for-faster-it.patch b/patches/server/0046-vmp-use-linked-map-for-entity-trackers-for-faster-it.patch
similarity index 87%
rename from patches/server/0057-vmp-use-linked-map-for-entity-trackers-for-faster-it.patch
rename to patches/server/0046-vmp-use-linked-map-for-entity-trackers-for-faster-it.patch
index e4e7b11..29229d4 100644
--- a/patches/server/0057-vmp-use-linked-map-for-entity-trackers-for-faster-it.patch
+++ b/patches/server/0046-vmp-use-linked-map-for-entity-trackers-for-faster-it.patch
@@ -9,10 +9,10 @@ Original code by RelativityMC, licensed under MIT
You can find the original code on https://github.com/RelativityMC/VMP-fabric (Yarn mappings)
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index 9976630fad886392057f642e84f919f0b95cc040..c01c22b6fda9e36a2336a992c760b813b71469ce 100644
+index 3d78c10a5442bfa5d4beae2546378b3822f0465d..d87f255670b9969040b26c9ba5571ceb2799756f 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -111,6 +111,7 @@ import org.bukkit.entity.Player;
+@@ -114,6 +114,7 @@ import org.bukkit.entity.Player;
// CraftBukkit end
import it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet; // Paper
@@ -20,7 +20,7 @@ index 9976630fad886392057f642e84f919f0b95cc040..c01c22b6fda9e36a2336a992c760b813
public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider {
-@@ -291,7 +292,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -295,7 +296,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// Paper - rewrite chunk system
this.tickingGenerated = new AtomicInteger();
this.playerMap = new PlayerMap();
diff --git a/patches/server/0058-lithium-block.moving_block_shapes.patch b/patches/server/0047-lithium-block.moving_block_shapes.patch
similarity index 97%
rename from patches/server/0058-lithium-block.moving_block_shapes.patch
rename to patches/server/0047-lithium-block.moving_block_shapes.patch
index c230043..af1ca7b 100644
--- a/patches/server/0058-lithium-block.moving_block_shapes.patch
+++ b/patches/server/0047-lithium-block.moving_block_shapes.patch
@@ -7,10 +7,10 @@ Original code by CaffeineMC, licensed under GNU Lesser General Public License v3
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
diff --git a/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java b/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java
-index 7c59d44a3bafdc65f453d77ff3e25cffb742ad6c..636721a111cad13e7329f1157981ca03a8f339b3 100644
+index 221c5d080d55326e458c1182823d6b49224ef498..6491fe817a0998910caa2d5aa4ebd7b8ced9ecda 100644
--- a/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java
-@@ -52,6 +52,74 @@ public class PistonMovingBlockEntity extends BlockEntity {
+@@ -55,6 +55,74 @@ public class PistonMovingBlockEntity extends BlockEntity {
this.extending = extending;
this.isSourcePiston = source;
}
@@ -85,7 +85,7 @@ index 7c59d44a3bafdc65f453d77ff3e25cffb742ad6c..636721a111cad13e7329f1157981ca03
@Override
public CompoundTag getUpdateTag() {
-@@ -351,10 +419,27 @@ public class PistonMovingBlockEntity extends BlockEntity {
+@@ -355,10 +423,27 @@ public class PistonMovingBlockEntity extends BlockEntity {
}
float f = this.getExtendedProgress(this.progress);
diff --git a/patches/server/0059-Skip-cloning-loot-parameters.patch b/patches/server/0048-Skip-cloning-loot-parameters.patch
similarity index 91%
rename from patches/server/0059-Skip-cloning-loot-parameters.patch
rename to patches/server/0048-Skip-cloning-loot-parameters.patch
index c18553a..1b16b49 100644
--- a/patches/server/0059-Skip-cloning-loot-parameters.patch
+++ b/patches/server/0048-Skip-cloning-loot-parameters.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Skip cloning loot parameters
diff --git a/src/main/java/net/minecraft/advancements/Advancement.java b/src/main/java/net/minecraft/advancements/Advancement.java
-index 2c01231dcfbb992c9d2f034fcfd4af52fe8ac265..7ed9ca7d220c2af764a2febe2c1d7cb208593074 100644
+index dd4409790524293be07483f00df05d8a8743e3d9..49b40fd9adea5b6dc1d304c172acdc5da4f148fd 100644
--- a/src/main/java/net/minecraft/advancements/Advancement.java
+++ b/src/main/java/net/minecraft/advancements/Advancement.java
@@ -45,7 +45,7 @@ public class Advancement {
diff --git a/patches/server/0061-Unfreeze-MappedRegistry.patch b/patches/server/0061-Unfreeze-MappedRegistry.patch
deleted file mode 100644
index 9580494..0000000
--- a/patches/server/0061-Unfreeze-MappedRegistry.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Cryptite
-Date: Tue, 16 Aug 2022 08:27:13 -0500
-Subject: [PATCH] Unfreeze MappedRegistry
-
-Copyright (c) 2021 Tom Miller
-
-Original license: MIT
-Original project: https://github.com/Cryptite/Slice
-
-diff --git a/src/main/java/net/minecraft/core/MappedRegistry.java b/src/main/java/net/minecraft/core/MappedRegistry.java
-index 3ef5d440fd3ce209110543bfd36569e846a5b749..7afb07a24c21706473c28a058214e81ebff1ab0a 100644
---- a/src/main/java/net/minecraft/core/MappedRegistry.java
-+++ b/src/main/java/net/minecraft/core/MappedRegistry.java
-@@ -331,6 +331,8 @@ public class MappedRegistry extends WritableRegistry {
-
- @Override
- public Registry freeze() {
-+ if (true) return this; // Slice (a TODO in Paper, thanks Owen)
-+
- this.frozen = true;
- List list = this.byKey.entrySet().stream().filter((entry) -> {
- return !entry.getValue().isBound();
diff --git a/patches/todo/0062-Implement-No-Chat-Reports.patch b/patches/todo/0062-Implement-No-Chat-Reports.patch
deleted file mode 100644
index e69de29..0000000