aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0567-Don-t-apply-cramming-damage-to-players.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0567-Don-t-apply-cramming-damage-to-players.patch')
-rw-r--r--patches/server/0567-Don-t-apply-cramming-damage-to-players.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/patches/server/0567-Don-t-apply-cramming-damage-to-players.patch b/patches/server/0567-Don-t-apply-cramming-damage-to-players.patch
new file mode 100644
index 0000000000..f722e5492c
--- /dev/null
+++ b/patches/server/0567-Don-t-apply-cramming-damage-to-players.patch
@@ -0,0 +1,33 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Phoenix616 <[email protected]>
+Date: Sun, 20 Jun 2021 16:35:42 +0100
+Subject: [PATCH] Don't apply cramming damage to players
+
+It does not make a lot of sense to damage players if they get crammed,
+ especially as the usecase of teleporting lots of players to the same
+ location isn't too uncommon and killing all those players isn't
+ really what one would expect to happen.
+
+For those who really want it a config option is provided.
+
+diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
+index 36dddec9ddb025790577bdb6b6b21d84bb9d1020..bcb5eac701749516928d9772ca906c51ebab9b34 100644
+--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
++++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
+@@ -95,6 +95,7 @@ import net.minecraft.util.Mth;
+ import net.minecraft.util.RandomSource;
+ import net.minecraft.util.Unit;
+ import net.minecraft.world.damagesource.DamageSource;
++import net.minecraft.world.damagesource.DamageSources;
+ import net.minecraft.world.effect.MobEffectInstance;
+ import net.minecraft.world.effect.MobEffects;
+ import net.minecraft.world.entity.Entity;
+@@ -1545,7 +1546,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+
+ @Override
+ public boolean isInvulnerableTo(DamageSource damageSource) {
+- return super.isInvulnerableTo(damageSource) || this.isChangingDimension();
++ return super.isInvulnerableTo(damageSource) || this.isChangingDimension() || !this.level().paperConfig().collisions.allowPlayerCrammingDamage && damageSource == damageSources().cramming(); // Paper - disable player cramming
+ }
+
+ @Override