From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Encode42 Date: Mon, 8 Mar 2021 16:46:54 -0500 Subject: [PATCH] Config to ignore nearby mobs when sleeping diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java index 8b2280d29c41879b26c85d1b0c1ac52f8b7bfacd..0294e31bb7a4346fd9a3b45ef0bed5582b8abfcc 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1321,7 +1321,7 @@ public class ServerPlayer extends Player { return entitymonster.isPreventingPlayerRest(this); }); - if (!list.isEmpty()) { + if (!this.level.purpurConfig.playerSleepNearMonsters && !list.isEmpty()) { // Purpur return Either.left(Player.BedSleepingProblem.NOT_SAFE); } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java index 7f779df11c73e366fb807d7aece7bba88e1cbcb4..ff2cdbdb785628e564de0fefaef68b408c5e3e8a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -311,6 +311,7 @@ public class PurpurWorldConfig { public boolean totemOfUndyingWorksInInventory = false; public boolean playerFixStuckPortal = false; public boolean creativeOnePunch = false; + public boolean playerSleepNearMonsters = false; private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); @@ -330,6 +331,7 @@ public class PurpurWorldConfig { totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory); playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal); creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch); + playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters); } public int snowballDamage = -1;