aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0993-disable-forced-empty-world-ticks.patch
diff options
context:
space:
mode:
authorBjarne Koll <[email protected]>2024-06-15 23:09:34 +0200
committerBjarne Koll <[email protected]>2024-06-15 23:17:51 +0200
commit7df472527f94ee518faa038bdd0168edb6aebada (patch)
treed25514daa2e7120a8b4821501505c8bc6932e7f9 /patches/server/0993-disable-forced-empty-world-ticks.patch
parentd41636f445de25934198927d2097978cef65b031 (diff)
downloadPaper-7df472527f94ee518faa038bdd0168edb6aebada.tar.gz
Paper-7df472527f94ee518faa038bdd0168edb6aebada.zip
Configurable damage tick when blocking with shield (#10877)
A long standing bug in spigot and its derivatives was the fact that players taking damage while blocking with a shield would not receive invulnerability, while they do in vanilla. This enabled the pvp technique of disabling a shield and immediately attacking again to knock a player into the air. While upstream fixed this and properly aligned itself with vanilla damage logic (in this specific case) changing such long standing behaviour has some downsides. To allow players used to this specific bug to still use it, this patch introduces a configuration option to re-introduce said bug. As there is no easy way to *only* re-add this bug, the option is found in the unsupported section as it may introduce other damage related disparity from vanilla.
Diffstat (limited to 'patches/server/0993-disable-forced-empty-world-ticks.patch')
-rw-r--r--patches/server/0993-disable-forced-empty-world-ticks.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/patches/server/0993-disable-forced-empty-world-ticks.patch b/patches/server/0993-disable-forced-empty-world-ticks.patch
new file mode 100644
index 0000000000..e33cae412e
--- /dev/null
+++ b/patches/server/0993-disable-forced-empty-world-ticks.patch
@@ -0,0 +1,19 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Shane Freeder <[email protected]>
+Date: Tue, 21 Mar 2023 23:51:46 +0000
+Subject: [PATCH] disable forced empty world ticks
+
+
+diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
+index 37971d9fc59ecf3736fccf7a27f17e37a56efeb9..ec8eec86876221686f152bc5b25304cc59791cac 100644
+--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
++++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
+@@ -697,7 +697,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
+
+ this.handlingTick = false;
+ gameprofilerfiller.pop();
+- boolean flag1 = true || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players
++ boolean flag1 = !paperConfig().unsupportedSettings.disableWorldTickingWhenEmpty || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players // Paper - restore this
+
+ if (flag1) {
+ this.resetEmptyTime();