Files
Purpur/patches/server/0142-Config-for-skipping-night.patch
granny 01e013b173 Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@b561a12 Fix SuspiciousStewMeta
PaperMC/Paper@9624451 Add missing kick event cause
PaperMC/Paper@6be4395 Migrate paper log ips option to new server.properties option
PaperMC/Paper@2ec643a Readd anti xray and oversized block entity patches
PaperMC/Paper@8d92274 Drop no longer needed patch
PaperMC/Paper@38dc3b2 Optimise chunk tick iteration
PaperMC/Paper@84556f3 Add lag compensation for breaking blocks
PaperMC/Paper@5dca26c Fix race condition on UpgradeData.BlockFixers class init
PaperMC/Paper@ea56138 Fix some issues
PaperMC/Paper@025c5d7 rebuild patches
PaperMC/Paper@866d2d9 Use correct ClientboundLevelChunkWithLightPacket constructor in later patch
PaperMC/Paper@8b9e3dc Optimise nearby player retrieval
PaperMC/Paper@11138a7 Re-add remove streams for Brain AI patch
PaperMC/Paper@7a00758 Rebuild patches
PaperMC/Paper@e284bb1 Updated Upstream (Bukkit/CraftBukkit)
2023-09-24 03:23:36 -07:00

40 lines
2.6 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 3c50b83608d5f714b97aa7e7ca5f893c7d13053c..cf14ddbe97dd16972dc2830a722f7ac23b1badd0 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -833,7 +833,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 f23be13aa229537dd6f9247a3008981e4ee098bc..4cc6a3bdcb5eabfe2ee441ec41bd2cfdfacf0000 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -356,6 +356,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);
@@ -374,6 +375,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);
}
private static boolean projectileDespawnRateSettingsMigrated = false;