mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@41ab602 [ci skip] couple more fixes for build pr jar label (#8599) PaperMC/Paper@c40f8d5 Sync offhand slot in menus (#7341) PaperMC/Paper@425baed Fully deserialise persistent anger post async load (#8560) PaperMC/Paper@ec6a9a3 Updated Upstream (Bukkit/CraftBukkit) (#8604) PaperMC/Paper@96fdafd Player Entity Tracking Events (#4722) PaperMC/Paper@407a445 Fix dumplisteners missing folder creation PaperMC/Paper@b07d5e0 Limit pet look distance (#8612) PaperMC/Paper@476ef25 Add missing Fluid type (#8608)
40 lines
2.4 KiB
Diff
40 lines
2.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Encode42 <me@encode42.dev>
|
|
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 236b95fc8dfe0157e5af2b2a20973a9e36b9c604..91d327fc77d3b42a48eef06ed4347560fe7f57f9 100644
|
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
@@ -1354,7 +1354,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 61757ab81e39741a9f2d3ea6c1c354eb64c992dc..91e1ea30559a28af96aed5cf0f454c5fa782355b 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
@@ -354,6 +354,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);
|
|
@@ -373,6 +374,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);
|
|
}
|
|
|
|
private static boolean projectileDespawnRateSettingsMigrated = false;
|