From a32ca321d5075ddf41ec4fda12c1ffb36fb38472 Mon Sep 17 00:00:00 2001 From: Sotr Date: Fri, 29 Mar 2019 01:10:21 +0800 Subject: [PATCH] Move sleep weather cycle to off-main thread --- .../java/io/akarin/server/core/AkarinAsyncScheduler.java | 4 ++++ src/main/java/net/minecraft/server/WorldServer.java | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/main/java/io/akarin/server/core/AkarinAsyncScheduler.java b/src/main/java/io/akarin/server/core/AkarinAsyncScheduler.java index d3e50c82e..e73f573e4 100644 --- a/src/main/java/io/akarin/server/core/AkarinAsyncScheduler.java +++ b/src/main/java/io/akarin/server/core/AkarinAsyncScheduler.java @@ -86,6 +86,10 @@ public class AkarinAsyncScheduler extends Thread { world.worldData.setDayTime(i - i % 24000L); } + + if (world.getGameRules().getBoolean("doWeatherCycle")) { + world.clearWeather(); + } } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java index 02777679b..80ff7209d 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -389,12 +389,17 @@ public class WorldServer extends World implements IAsyncTaskHandler { entityhuman.a(false, false, true); } + // Akarin start + /* if (this.getGameRules().getBoolean("doWeatherCycle")) { this.b(); } + */ + // Akarin end } + public void clearWeather() { this.b(); } // Akarin private void b() { // CraftBukkit start this.worldData.setStorm(false);