mirror of
https://github.com/YatopiaMC/Yatopia.git
synced 2025-01-26 18:11:23 +01:00
d065d41c0e
Apparently caused issues we werent aware of. Unfortunately there's no way to improve it without blocking the main thread.
40 lines
2.0 KiB
Diff
40 lines
2.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: MrIvanPlays <ivan@mrivanplays.com>
|
|
Date: Sun, 9 Aug 2020 16:58:18 -0500
|
|
Subject: [PATCH] Optimize player loops around weather
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
|
index 8554c3ed2c73e92665a83961c612be250f9b03d1..e86d439a7a340e31071c5b2f6531abd1537db06d 100644
|
|
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
|
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
|
@@ -814,12 +814,17 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
|
this.server.getPlayerList().sendAll(new PacketPlayOutGameStateChange(PacketPlayOutGameStateChange.i, this.thunderLevel));
|
|
}
|
|
// */
|
|
- for (int idx = 0; idx < this.players.size(); ++idx) {
|
|
- if (((EntityPlayer) this.players.get(idx)).world == this) {
|
|
- ((EntityPlayer) this.players.get(idx)).tickWeather();
|
|
+ // Yatopia start
|
|
+ for (EntityPlayer player : players) {
|
|
+ if (player.world == this) {
|
|
+ player.tickWeather();
|
|
+ player.updateWeather(this.lastRainLevel, this.rainLevel, this.lastThunderLevel, this.thunderLevel);
|
|
+ if (flag != this.isRaining()) player.setPlayerWeather((!flag ? WeatherType.DOWNFALL : WeatherType.CLEAR), false);
|
|
+ // Yatopia end
|
|
}
|
|
}
|
|
|
|
+ /* // Yatopia start - moved up
|
|
if (flag != this.isRaining()) {
|
|
// Only send weather packets to those affected
|
|
for (int idx = 0; idx < this.players.size(); ++idx) {
|
|
@@ -833,6 +838,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
|
((EntityPlayer) this.players.get(idx)).updateWeather(this.lastRainLevel, this.rainLevel, this.lastThunderLevel, this.thunderLevel);
|
|
}
|
|
}
|
|
+ */ // Yatopia end
|
|
// CraftBukkit end
|
|
|
|
if (this.everyoneSleeping) {
|