diff --git a/patches/server/0044-Do-not-process-chat-commands-before-player-has-joine.patch b/patches/server/0044-Do-not-process-chat-commands-before-player-has-joine.patch index 19d5099..7331278 100644 --- a/patches/server/0044-Do-not-process-chat-commands-before-player-has-joine.patch +++ b/patches/server/0044-Do-not-process-chat-commands-before-player-has-joine.patch @@ -12,15 +12,17 @@ As part of: EmpireCraft (https://github.com/starlis/empirecraft) Licensed under: MIT (https://opensource.org/licenses/MIT) diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d31a345edfffe39f127073fc3aec8b3489bae79c..68d07621c377d96f8a9c13b20a1c82358d98cf94 100644 +index d31a345edfffe39f127073fc3aec8b3489bae79c..0d72941a124a6fddad70362b25647743e601aafd 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2345,7 +2345,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2345,6 +2345,10 @@ 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 { -+ } else if (!player.didPlayerJoinEvent) { return false; // Gale - EMC - do not process chat/commands before player has joined ++ // Gale start - EMC - do not process chat/commands before player has joined ++ } else if (!player.didPlayerJoinEvent) { ++ return false; ++ // Gale end - EMC - do not process chat/commands before player has joined + } else { LastSeenMessagesValidator lastseenmessagesvalidator = this.lastSeenMessagesValidator; Set set; - diff --git a/patches/server/0046-Do-not-log-empty-message-warnings.patch b/patches/server/0046-Do-not-log-empty-message-warnings.patch index 5f25a94..4c096c4 100644 --- a/patches/server/0046-Do-not-log-empty-message-warnings.patch +++ b/patches/server/0046-Do-not-log-empty-message-warnings.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Do not log empty message warnings License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html) diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 68d07621c377d96f8a9c13b20a1c82358d98cf94..563578d814ab4a589671e954909412c96196e2de 100644 +index 0d72941a124a6fddad70362b25647743e601aafd..dd9d52552cc61729cdcd37caa87079e5026964d7 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -185,6 +185,7 @@ import net.minecraft.world.phys.shapes.BooleanOp; @@ -17,7 +17,7 @@ index 68d07621c377d96f8a9c13b20a1c82358d98cf94..563578d814ab4a589671e954909412c9 import org.slf4j.Logger; // CraftBukkit start -@@ -2569,7 +2570,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2573,7 +2574,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // CraftBukkit start String s = message.signedContent().plain(); if (s.isEmpty()) { diff --git a/patches/server/0051-Do-not-log-expired-message-warnings.patch b/patches/server/0051-Do-not-log-expired-message-warnings.patch index a93cfc1..615a065 100644 --- a/patches/server/0051-Do-not-log-expired-message-warnings.patch +++ b/patches/server/0051-Do-not-log-expired-message-warnings.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Do not log expired message warnings License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html) diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 563578d814ab4a589671e954909412c96196e2de..ae68219457c0545ae72927f45fece411d39641c0 100644 +index dd9d52552cc61729cdcd37caa87079e5026964d7..3c63449a36c6882b6e47f69f3cdf83e874a9a694 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2610,7 +2610,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2614,7 +2614,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } if (message.hasExpiredServer(Instant.now())) { diff --git a/patches/server/0056-Make-sand-duping-fix-configurable.patch b/patches/server/0056-Make-sand-duping-fix-configurable.patch new file mode 100644 index 0000000..97a2462 --- /dev/null +++ b/patches/server/0056-Make-sand-duping-fix-configurable.patch @@ -0,0 +1,54 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: MartijnMuijsers +Date: Tue, 29 Nov 2022 16:06:11 +0100 +Subject: [PATCH] Make sand duping fix configurable + +License: MIT (https://opensource.org/licenses/MIT) + +This patch is based on the following patch: +"Add toggle for sand duping fix" +By: William Blake Galbreath +As part of: Purpur (https://github.com/PurpurMC/Purpur) +Licensed under: MIT (https://opensource.org/licenses/MIT) + +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 b2d1a17867cdbaad0c6e5c2376c716f9461af124..9d8a8dd2e6ec76beb6552266da7ae7c1229516fd 100644 +--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java ++++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +@@ -128,7 +128,7 @@ public class FallingBlockEntity extends Entity { + @Override + public void tick() { + // Paper start - fix sand duping +- if (this.isRemoved()) { ++ if (this.level.galeConfig().gameplayMechanics.fixes.sandDuping && this.isRemoved()) { // Gale - Purpur - make sand duping fix configurable + return; + } + // Paper end - fix sand duping +@@ -145,7 +145,7 @@ public class FallingBlockEntity extends Entity { + this.move(MoverType.SELF, this.getDeltaMovement()); + + // Paper start - fix sand duping +- if (this.isRemoved()) { ++ if (this.level.galeConfig().gameplayMechanics.fixes.sandDuping && this.isRemoved()) { // Gale - Purpur - make sand duping fix configurable + return; + } + // Paper end - fix sand duping +diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java +index 9ac9873c4ffcbc88daf5ca3947cd60177cb0fe5d..d9488447aa439e9909e66a4c26adc542fe424ed3 100644 +--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java ++++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java +@@ -241,4 +241,14 @@ public class GaleWorldConfiguration extends ConfigurationPart { + + } + ++ public GameplayMechanics gameplayMechanics; ++ public class GameplayMechanics extends ConfigurationPart { ++ ++ public Fixes fixes; ++ public class Fixes extends ConfigurationPart { ++ public boolean sandDuping = true; ++ } ++ ++ } ++ + } diff --git a/patches/server/0056-Reduce-array-allocations.patch b/patches/server/0057-Reduce-array-allocations.patch similarity index 99% rename from patches/server/0056-Reduce-array-allocations.patch rename to patches/server/0057-Reduce-array-allocations.patch index 0a3ffac..2ae37a8 100644 --- a/patches/server/0056-Reduce-array-allocations.patch +++ b/patches/server/0057-Reduce-array-allocations.patch @@ -478,7 +478,7 @@ index e7505144eba068e687f1ce7617f09d838bceab85..023cd8d948ff7360ac8348b980473ef1 return ret; } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ae68219457c0545ae72927f45fece411d39641c0..7f88092235170465d4320e5f909288a6d26f206e 100644 +index 3c63449a36c6882b6e47f69f3cdf83e874a9a694..9de597c11c3bd0f23e87c3a6187b2036987356e0 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -28,6 +28,8 @@ import java.util.function.UnaryOperator; @@ -548,7 +548,7 @@ index ae68219457c0545ae72927f45fece411d39641c0..7f88092235170465d4320e5f909288a6 return; } // Paper end -@@ -3398,7 +3395,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3402,7 +3399,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Paper start if (!org.bukkit.Bukkit.isPrimaryThread()) { if (recipeSpamPackets.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamLimit) { diff --git a/patches/server/0057-Reduce-lambda-and-Optional-allocation-in-EntityBased.patch b/patches/server/0058-Reduce-lambda-and-Optional-allocation-in-EntityBased.patch similarity index 100% rename from patches/server/0057-Reduce-lambda-and-Optional-allocation-in-EntityBased.patch rename to patches/server/0058-Reduce-lambda-and-Optional-allocation-in-EntityBased.patch diff --git a/patches/server/0058-Measure-last-tick-time.patch b/patches/server/0059-Measure-last-tick-time.patch similarity index 100% rename from patches/server/0058-Measure-last-tick-time.patch rename to patches/server/0059-Measure-last-tick-time.patch diff --git a/patches/server/0059-Last-tick-time-API.patch b/patches/server/0060-Last-tick-time-API.patch similarity index 100% rename from patches/server/0059-Last-tick-time-API.patch rename to patches/server/0060-Last-tick-time-API.patch diff --git a/patches/server/0060-Show-last-tick-time-in-tps-command.patch b/patches/server/0061-Show-last-tick-time-in-tps-command.patch similarity index 100% rename from patches/server/0060-Show-last-tick-time-in-tps-command.patch rename to patches/server/0061-Show-last-tick-time-in-tps-command.patch diff --git a/patches/server/0061-Collision-physics-check-before-vehicle-check.patch b/patches/server/0062-Collision-physics-check-before-vehicle-check.patch similarity index 100% rename from patches/server/0061-Collision-physics-check-before-vehicle-check.patch rename to patches/server/0062-Collision-physics-check-before-vehicle-check.patch diff --git a/patches/server/0062-Variable-main-thread-task-delay.patch b/patches/server/0063-Variable-main-thread-task-delay.patch similarity index 99% rename from patches/server/0062-Variable-main-thread-task-delay.patch rename to patches/server/0063-Variable-main-thread-task-delay.patch index 3563194..0af2476 100644 --- a/patches/server/0062-Variable-main-thread-task-delay.patch +++ b/patches/server/0063-Variable-main-thread-task-delay.patch @@ -258,7 +258,7 @@ index 9720e5360beabe7e15b0b964cb3b81d5af2b4bf8..a30024ab934b81cd76e282fab4bbf605 return io.papermc.paper.util.TickThread.isTickThread(); // Paper - rewrite chunk system } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 7f88092235170465d4320e5f909288a6d26f206e..a4a9065427cefbcfff5c220d108819fbe4c8c3ae 100644 +index 9de597c11c3bd0f23e87c3a6187b2036987356e0..4b99b15c950d11451a70b8362aec5124a9494526 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -184,6 +184,7 @@ import net.minecraft.world.phys.shapes.BooleanOp; @@ -374,7 +374,7 @@ index 7f88092235170465d4320e5f909288a6d26f206e..a4a9065427cefbcfff5c220d108819fb return false; } 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)); -@@ -3395,7 +3396,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3399,7 +3400,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Paper start if (!org.bukkit.Bukkit.isPrimaryThread()) { if (recipeSpamPackets.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamLimit) { diff --git a/patches/server/0063-Reduce-RandomSource-instances.patch b/patches/server/0064-Reduce-RandomSource-instances.patch similarity index 100% rename from patches/server/0063-Reduce-RandomSource-instances.patch rename to patches/server/0064-Reduce-RandomSource-instances.patch diff --git a/patches/server/0064-CPU-cores-estimation.patch b/patches/server/0065-CPU-cores-estimation.patch similarity index 100% rename from patches/server/0064-CPU-cores-estimation.patch rename to patches/server/0065-CPU-cores-estimation.patch diff --git a/patches/server/0065-Add-centralized-AsyncExecutor.patch b/patches/server/0066-Add-centralized-AsyncExecutor.patch similarity index 100% rename from patches/server/0065-Add-centralized-AsyncExecutor.patch rename to patches/server/0066-Add-centralized-AsyncExecutor.patch diff --git a/patches/server/0066-Remove-Paper-async-executor.patch b/patches/server/0067-Remove-Paper-async-executor.patch similarity index 100% rename from patches/server/0066-Remove-Paper-async-executor.patch rename to patches/server/0067-Remove-Paper-async-executor.patch diff --git a/patches/server/0067-Remove-Paper-cleaner-executor.patch b/patches/server/0068-Remove-Paper-cleaner-executor.patch similarity index 100% rename from patches/server/0067-Remove-Paper-cleaner-executor.patch rename to patches/server/0068-Remove-Paper-cleaner-executor.patch diff --git a/patches/server/0068-Remove-background-executor.patch b/patches/server/0069-Remove-background-executor.patch similarity index 100% rename from patches/server/0068-Remove-background-executor.patch rename to patches/server/0069-Remove-background-executor.patch diff --git a/patches/server/0069-Remove-bootstrap-executor.patch b/patches/server/0070-Remove-bootstrap-executor.patch similarity index 100% rename from patches/server/0069-Remove-bootstrap-executor.patch rename to patches/server/0070-Remove-bootstrap-executor.patch diff --git a/patches/server/0070-Remove-world-upgrade-executors.patch b/patches/server/0071-Remove-world-upgrade-executors.patch similarity index 100% rename from patches/server/0070-Remove-world-upgrade-executors.patch rename to patches/server/0071-Remove-world-upgrade-executors.patch diff --git a/patches/server/0071-Remove-tab-complete-executor.patch b/patches/server/0072-Remove-tab-complete-executor.patch similarity index 95% rename from patches/server/0071-Remove-tab-complete-executor.patch rename to patches/server/0072-Remove-tab-complete-executor.patch index 107aca5..1200d3b 100644 --- a/patches/server/0071-Remove-tab-complete-executor.patch +++ b/patches/server/0072-Remove-tab-complete-executor.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Remove tab complete executor License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html) diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index a4a9065427cefbcfff5c220d108819fbe4c8c3ae..4983420eb15269c046bc473dfe12f76fecd6ed2c 100644 +index 4b99b15c950d11451a70b8362aec5124a9494526..e450a4700da55e96dd3166e7ae966b2b8e43f6bb 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -184,6 +184,7 @@ import net.minecraft.world.phys.shapes.BooleanOp; diff --git a/patches/server/0072-Remove-text-filter-executor.patch b/patches/server/0073-Remove-text-filter-executor.patch similarity index 100% rename from patches/server/0072-Remove-text-filter-executor.patch rename to patches/server/0073-Remove-text-filter-executor.patch