From cbdb4cf5d6d8d50cfe31b70806a68fd481d38d26 Mon Sep 17 00:00:00 2001 From: Encode42 Date: Tue, 9 Mar 2021 16:11:46 -0500 Subject: [PATCH] Config to ignore nearby mobs when sleeping (#192) --- ...-to-ignore-nearby-mobs-when-sleeping.patch | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 patches/server/0177-Config-to-ignore-nearby-mobs-when-sleeping.patch diff --git a/patches/server/0177-Config-to-ignore-nearby-mobs-when-sleeping.patch b/patches/server/0177-Config-to-ignore-nearby-mobs-when-sleeping.patch new file mode 100644 index 000000000..32e312ce0 --- /dev/null +++ b/patches/server/0177-Config-to-ignore-nearby-mobs-when-sleeping.patch @@ -0,0 +1,39 @@ +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/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java +index 67f822e64013540dd890e0269c8f770f7c029405..bb936706a8d27597053ab026d39b881edd0b8a60 100644 +--- a/src/main/java/net/minecraft/server/EntityPlayer.java ++++ b/src/main/java/net/minecraft/server/EntityPlayer.java +@@ -1311,7 +1311,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { + return entitymonster.f((EntityHuman) this); + }); + +- if (!list.isEmpty()) { ++ if (!this.world.purpurConfig.playerSleepNearMonsters && !list.isEmpty()) { // Purpur + return Either.left(EntityHuman.EnumBedResult.NOT_SAFE); + } + } +diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +index 9b7c1b16ad191f58fea0625ebf547431a6e8ddad..839b76e406d9374c1b3aff7adee82acaa7d89dc9 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +@@ -283,6 +283,7 @@ public class PurpurWorldConfig { + public int raidCooldownSeconds = 0; + public int animalBreedingCooldownSeconds = 0; + public boolean creativeOnePunch = false; ++ public boolean playerSleepNearMonsters = false; + private void miscGameplayMechanicsSettings() { + useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); + alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative); +@@ -301,6 +302,7 @@ public class PurpurWorldConfig { + raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds); + animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds); + creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch); ++ playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters); + } + + public boolean catSpawning;