Add missing option for player cramming

This commit is contained in:
William Blake Galbreath
2021-07-03 10:28:04 -05:00
parent c69c0bcadf
commit b1a0ea61ab
110 changed files with 419 additions and 399 deletions

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Players should not cram to death
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 182b9e850be72b72636d03c4d303fb264ca875f6..c6e33f674543841710d351235a1a2b2223422a0d 100644
index 056b679cab7fe660d4a9b8bf782674fb210dd8bb..288d8e687f26c8f9757db055751dded6025117d5 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1436,7 +1436,7 @@ public class ServerPlayer extends Player {
@@ -13,7 +13,27 @@ index 182b9e850be72b72636d03c4d303fb264ca875f6..c6e33f674543841710d351235a1a2b22
@Override
public boolean isInvulnerableTo(DamageSource damageSource) {
- return super.isInvulnerableTo(damageSource) || this.isChangingDimension() || this.getAbilities().invulnerable && damageSource == DamageSource.WITHER;
+ return super.isInvulnerableTo(damageSource) || this.isChangingDimension() || damageSource == DamageSource.CRAMMING || this.getAbilities().invulnerable && damageSource == DamageSource.WITHER; // Purpur
+ return super.isInvulnerableTo(damageSource) || this.isChangingDimension() || (!level.purpurConfig.playersShouldCramToDeath && damageSource == DamageSource.CRAMMING) || this.getAbilities().invulnerable && damageSource == DamageSource.WITHER; // Purpur
}
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index da2e7d146029d36472de7800c42fb5d72252da3a..f368541a5ee2cbfe61dbf76653d8461b98d234ef 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -163,6 +163,7 @@ public class PurpurWorldConfig {
public boolean idleTimeoutUpdateTabList = false;
public int playerSpawnInvulnerableTicks = 60;
public boolean playerInvulnerableWhileAcceptingResourcePack = false;
+ public boolean playersShouldCramToDeath = true;
private void playerSettings() {
idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick);
idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities);
@@ -170,6 +171,7 @@ public class PurpurWorldConfig {
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
playerSpawnInvulnerableTicks = getInt("gameplay-mechanics.player.spawn-invulnerable-ticks", playerSpawnInvulnerableTicks);
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
+ playersShouldCramToDeath = getBoolean("gameplay-mechanics.player.should-cram-to-death", playersShouldCramToDeath);
}
public boolean silkTouchEnabled = false;