mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@f6a69de Undeprecate getOfflinePlayer (#7773) PaperMC/Paper@a117da6 Add PlayerStopUsingItemEvent (#7787) PaperMC/Paper@f3a8a0b FallingBlock auto expire setting (#7037) PaperMC/Paper@4219389 Don't tick markers (#7299) PaperMC/Paper@2515bc4 Improve configurable door difficulty (#6985) PaperMC/Paper@8c9d98e Clean unused field for Configurable door breaking difficulty (#7793) PaperMC/Paper@b831784 Only log for passenger / vehicle world mismatch PaperMC/Paper@7a6163b Add Alternate Current's redstone implementation as an alternative to Vanilla and Eigencraft's. (#7701) PaperMC/Paper@1a17a83 Move redstone config changes to Eigencraft patch
40 lines
2.5 KiB
Diff
40 lines
2.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Ben Kerllenevich <ben@omega24.dev>
|
|
Date: Thu, 18 Mar 2021 06:22:40 -0400
|
|
Subject: [PATCH] Config for skipping night
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
|
index 09800a0c113e1e70ad773e55bd370e7b3c36d463..285927ca0c196c554df725403ea2cfd6d84013db 100644
|
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
|
@@ -607,7 +607,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
|
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
|
|
long j;
|
|
|
|
- if (this.sleepStatus.areEnoughSleeping(i) && this.sleepStatus.areEnoughDeepSleeping(i, this.players)) {
|
|
+ if (this.purpurConfig.playersSkipNight && this.sleepStatus.areEnoughSleeping(i) && this.sleepStatus.areEnoughDeepSleeping(i, this.players)) {
|
|
// CraftBukkit start
|
|
j = this.levelData.getDayTime() + 24000L;
|
|
TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (j - j % 24000L) - this.getDayTime());
|
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
index 7a7fbc0f8d5f6e40c209666a83de9f7371f3e4d3..2ef12f92c5f002294bc3bf81e429b60378bbd75f 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
@@ -348,6 +348,7 @@ public class PurpurWorldConfig {
|
|
public boolean playerFixStuckPortal = false;
|
|
public boolean creativeOnePunch = false;
|
|
public boolean playerSleepNearMonsters = false;
|
|
+ public boolean playersSkipNight = true;
|
|
private void playerSettings() {
|
|
if (PurpurConfig.version < 19) {
|
|
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
|
|
@@ -368,6 +369,7 @@ public class PurpurWorldConfig {
|
|
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);
|
|
+ playersSkipNight = getBoolean("gameplay-mechanics.player.can-skip-night", playersSkipNight);
|
|
}
|
|
|
|
public int snowballDamage = -1;
|