geforkt von Mirrors/Paper
41 Zeilen
2.3 KiB
Diff
41 Zeilen
2.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Phoenix616 <max@themoep.de>
|
|
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/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
index 6ff53e138ea17c3e8283a52251c81d5cdf91ebac..0e7d29dbbdb862dd5876adee26fbba02267e5276 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
@@ -842,5 +842,10 @@ public class PaperWorldConfig {
|
|
private void showSignClickCommandFailureMessagesToPlayer() {
|
|
showSignClickCommandFailureMessagesToPlayer = getBoolean("show-sign-click-command-failure-msgs-to-player", showSignClickCommandFailureMessagesToPlayer);
|
|
}
|
|
+
|
|
+ public boolean allowPlayerCrammingDamage = false;
|
|
+ private void playerCrammingDamage() {
|
|
+ allowPlayerCrammingDamage = getBoolean("allow-player-cramming-damage", allowPlayerCrammingDamage);
|
|
+ }
|
|
}
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
index 8e2bccc3a9ddb17a4978596056189eb776976338..e32da100eabf0d3de12375402e9378c726811358 100644
|
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
@@ -1419,7 +1419,7 @@ public class ServerPlayer extends Player {
|
|
|
|
@Override
|
|
public boolean isInvulnerableTo(DamageSource damageSource) {
|
|
- return super.isInvulnerableTo(damageSource) || this.isChangingDimension() || this.getAbilities().invulnerable && damageSource == DamageSource.WITHER;
|
|
+ return super.isInvulnerableTo(damageSource) || this.isChangingDimension() || this.getAbilities().invulnerable && damageSource == DamageSource.WITHER || !level.paperConfig.allowPlayerCrammingDamage && damageSource == DamageSource.CRAMMING; // Paper - disable player cramming
|
|
}
|
|
|
|
@Override
|