diff --git a/current-paper b/current-paper index 5c63fd064..ca8359a09 100644 --- a/current-paper +++ b/current-paper @@ -1 +1 @@ -1.16.4--ab6eee6dbc6d747894236df535ae2e27124c0976 +1.16.4--4f6a1e22cfc4236c1c163207216e6ef4f9e057a6 diff --git a/patches/server/0152-Add-boat-fall-damage-config.patch b/patches/server/0152-Add-boat-fall-damage-config.patch new file mode 100644 index 000000000..49bee6559 --- /dev/null +++ b/patches/server/0152-Add-boat-fall-damage-config.patch @@ -0,0 +1,48 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: BillyGalbreath +Date: Mon, 30 Nov 2020 19:36:35 -0600 +Subject: [PATCH] Add boat fall damage config + + +diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java +index e5222106e4..c5d03fd208 100644 +--- a/src/main/java/net/minecraft/server/EntityPlayer.java ++++ b/src/main/java/net/minecraft/server/EntityPlayer.java +@@ -1017,7 +1017,16 @@ public class EntityPlayer extends EntityHuman implements ICrafting { + if (this.isInvulnerable(damagesource)) { + return false; + } else { +- if (damagesource == DamageSource.FALL && getRootVehicle() instanceof EntityMinecartAbstract && world.purpurConfig.controllableMinecarts && !world.purpurConfig.controllableMinecartsFallDamage) return false; // Purpur ++ // Purpur start ++ if (damagesource == DamageSource.FALL) { ++ if (getRootVehicle() instanceof EntityMinecartAbstract && world.purpurConfig.controllableMinecarts && !world.purpurConfig.controllableMinecartsFallDamage) { ++ return false; ++ } ++ if (getRootVehicle() instanceof EntityBoat && !world.purpurConfig.boatsDoFallDamage) { ++ return false; ++ } ++ } ++ // Purpur end + boolean flag = this.server.j() && this.canPvP() && "fall".equals(damagesource.translationIndex); + + if (!flag && isSpawnInvulnerable() && damagesource != DamageSource.OUT_OF_WORLD) { // Purpur +diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +index 8bdb6399e7..f40efc6bc3 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +@@ -206,6 +206,7 @@ public class PurpurWorldConfig { + + public boolean useBetterMending = false; + public boolean boatEjectPlayersOnLand = false; ++ public boolean boatsDoFallDamage = true; + public boolean disableDropsOnCrammingDeath = false; + public boolean entitiesPickUpLootBypassMobGriefing = false; + public boolean entitiesCanUsePortals = true; +@@ -221,6 +222,7 @@ public class PurpurWorldConfig { + private void miscGameplayMechanicsSettings() { + useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); + boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); ++ boatsDoFallDamage = getBoolean("gameplay-mechanics.boat.do-fall-damage", boatsDoFallDamage); + disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath); + entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing); + entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);