mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Config for skipping night
This commit is contained in:
@@ -1,39 +0,0 @@
|
|||||||
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/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
|
||||||
index 6585e0d72b2fbb8af5c62ceba57eef2fb7794e87..56fe25076109827815d7d8ebc45a62d391462bbf 100644
|
|
||||||
--- a/net/minecraft/server/level/ServerLevel.java
|
|
||||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
|
||||||
@@ -749,7 +749,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
|
||||||
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 09fa9a18dc1bb6a3df80cb2237dc0d55affc0453..59156b6d2b8107a2031bc56387f002a6ef404022 100644
|
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
||||||
@@ -351,6 +351,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);
|
|
||||||
@@ -369,6 +370,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 boolean silkTouchEnabled = false;
|
|
||||||
@@ -43,6 +43,15 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Paper start
|
// Paper start
|
||||||
|
@@ -727,7 +_,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
int _int = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
|
||||||
|
- if (this.sleepStatus.areEnoughSleeping(_int) && this.sleepStatus.areEnoughDeepSleeping(_int, this.players)) {
|
||||||
|
+ if (this.purpurConfig.playersSkipNight && this.sleepStatus.areEnoughSleeping(_int) && this.sleepStatus.areEnoughDeepSleeping(_int, this.players)) { // Purpur - Config for skipping night
|
||||||
|
// Paper start - create time skip event - move up calculations
|
||||||
|
final long newDayTime = this.levelData.getDayTime() + 24000L;
|
||||||
|
org.bukkit.event.world.TimeSkipEvent event = new org.bukkit.event.world.TimeSkipEvent(
|
||||||
@@ -846,6 +_,13 @@
|
@@ -846,6 +_,13 @@
|
||||||
this.serverLevelData.getScheduledEvents().tick(this.server, l);
|
this.serverLevelData.getScheduledEvents().tick(this.server, l);
|
||||||
Profiler.get().pop();
|
Profiler.get().pop();
|
||||||
|
|||||||
@@ -343,6 +343,7 @@ public class PurpurWorldConfig {
|
|||||||
public boolean playerFixStuckPortal = false;
|
public boolean playerFixStuckPortal = false;
|
||||||
public boolean creativeOnePunch = false;
|
public boolean creativeOnePunch = false;
|
||||||
public boolean playerSleepNearMonsters = false;
|
public boolean playerSleepNearMonsters = false;
|
||||||
|
public boolean playersSkipNight = true;
|
||||||
private void playerSettings() {
|
private void playerSettings() {
|
||||||
if (PurpurConfig.version < 19) {
|
if (PurpurConfig.version < 19) {
|
||||||
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
|
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
|
||||||
@@ -361,6 +362,7 @@ public class PurpurWorldConfig {
|
|||||||
playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal);
|
playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal);
|
||||||
creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch);
|
creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch);
|
||||||
playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters);
|
playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters);
|
||||||
|
playersSkipNight = getBoolean("gameplay-mechanics.player.can-skip-night", playersSkipNight);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean silkTouchEnabled = false;
|
public boolean silkTouchEnabled = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user