Files
Purpur/patches/server/0250-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch
William Blake Galbreath 32fc651f97 Updated Upstream (Paper & Airplane)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
b470400d5c Add methods to find targets for lightning strikes (#6712)
381a1462b3 Fix unplaced block states after new chunk gen API (#6747)
523a55c609 Fix loading cmds in datapacks (#6641)
a61827df91 VanillaCommandWrapper didnt account for entity senders (#6586)
cd610df101 Re-readd root/admin user detection (#6703)
4a0d935cd0 Always allow item changing in EntityFireball (#5493)
54813dbb21 [ci skip] Misc gradle updates (#6763)
56e65fd3a7 Null check isApplicable for CraftBlockEntityState#update
8575248648 Use ChatRenderer.defaultRenderer() when legacy events have not modified the format (#6104)

Airplane Changes:
f96ca1ce5d Upstream
89cdb2c72a Update Paperweight deps
317e61bb48 We love CI testing
2021-10-13 07:51:40 -05:00

49 lines
3.2 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: 12emin34 <macanovic.emin@gmail.com>
Date: Mon, 23 Aug 2021 17:59:29 +0200
Subject: [PATCH] Option for if rain and thunder should stop on sleep
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 74a748f988b08139edc67dcac43686680ebd97aa..056716734eb83bf73e6d5b016d545f2c82fb51aa 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1113,6 +1113,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
private void stopWeather() {
// CraftBukkit start
+ if (this.purpurConfig.rainStopsAfterSleep) // Purpur
this.serverLevelData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - when passing the night
// If we stop due to everyone sleeping we should reset the weather duration to some other random value.
// Not that everyone ever manages to get the whole server to sleep at the same time....
@@ -1120,6 +1121,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.serverLevelData.setRainTime(0);
}
// CraftBukkit end
+ if (this.purpurConfig.thunderStopsAfterSleep) // Purpur
this.serverLevelData.setThundering(false, org.bukkit.event.weather.ThunderChangeEvent.Cause.SLEEP); // Paper - when passing the night
// CraftBukkit start
// If we stop due to everyone sleeping we should reset the weather duration to some other random value.
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 6fe474a70c65b30534a7513bdfba60d469cb9081..3bc56add3d0344c710d5cccb1522f855fd1d406c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -656,6 +656,8 @@ public class PurpurWorldConfig {
public int raidCooldownSeconds = 0;
public int animalBreedingCooldownSeconds = 0;
public boolean mobsIgnoreRails = false;
+ public boolean rainStopsAfterSleep = true;
+ public boolean thunderStopsAfterSleep = true;
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative);
@@ -679,6 +681,8 @@ public class PurpurWorldConfig {
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds);
mobsIgnoreRails = getBoolean("gameplay-mechanics.mobs-ignore-rails", mobsIgnoreRails);
+ rainStopsAfterSleep = getBoolean("gameplay-mechanics.rain-stops-after-sleep", rainStopsAfterSleep);
+ thunderStopsAfterSleep = getBoolean("gameplay-mechanics.thunder-stops-after-sleep", thunderStopsAfterSleep);
}
public Set<Block> noRandomTickBlocks = new HashSet<>();