From bbfe3cf9cb6abd67a230035f4fabf1c29d8c48de Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 19 Mar 2020 19:39:34 -0500 Subject: [PATCH] Add option to allow loyalty on tridents to work in the void --- src/main/java/net/minecraft/server/EntityThrownTrident.java | 2 +- src/main/java/net/pl3x/purpur/PurpurWorldConfig.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/EntityThrownTrident.java b/src/main/java/net/minecraft/server/EntityThrownTrident.java index ed8e26aa4..ca6c0ec29 100644 --- a/src/main/java/net/minecraft/server/EntityThrownTrident.java +++ b/src/main/java/net/minecraft/server/EntityThrownTrident.java @@ -38,7 +38,7 @@ public class EntityThrownTrident extends EntityArrow { Entity entity = this.getShooter(); - if ((this.as || this.v()) && entity != null) { + if ((this.as || this.v() || (world.purpurConfig.tridentLoyaltyVoidReturnHeight < 0.0D && locY() < world.purpurConfig.tridentLoyaltyVoidReturnHeight)) && entity != null) { // Purpur byte b0 = (Byte) this.datawatcher.get(EntityThrownTrident.ap); if (b0 > 0 && !this.z()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java index 53c8782b5..01b8fffe1 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -189,6 +189,7 @@ public class PurpurWorldConfig { public String playerSleepCondition = "time >= 12541 && time <= 23458"; public boolean useBetterMending = false; public boolean saveProjectilesToDisk = true; + public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; private void gameplayMechanicsSettings() { boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); @@ -246,6 +247,7 @@ public class PurpurWorldConfig { set("gameplay-mechanics.saveProjectilesToDisk", null); } saveProjectilesToDisk = getBoolean("gameplay-mechanics.save-projectiles-to-disk", saveProjectilesToDisk); + tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); } -- 2.24.0