mirror of
https://github.com/YatopiaMC/Yatopia.git
synced 2024-12-01 15:13:24 +01:00
8fee475387
Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: ff785fc Updated Upstream (Paper) Akarin Changes: 2dab0a4 Removed gradle 72e3c4a Update README.md bbad638 Update README.md bbdea8e Update Jenkinsfile bb9db8b Updated tuinity to spottedleaf repo 6961481 Updated Tuinity branch de97830 Updated Tuinity 62d4b43 Update SUPPORT.md 21fffd0 Update README.md 4bd120b Merge pull request #186 from adsa562/patch-1 1f8eccf add demo server 630ea72 Updated Tuinity 59fae5a Made 1.15.2 build again bd703ba Allowed building for dirs that have spaces a339866 Update SUPPORT.md db61690 stated that it is not a bedrock server software df7efd2 Added Jenkinsfile 75b7f13 removed broken patch 19387b2 Updated Artifacts URL c5a7778 fixed build 3abf7a7 Fixed Initialize step 2d3ea37 Updated Tuinity and Paper 220d1b8 Removed patch 0019 - breaks upstream 1ccf615 Added tuinity branch to gitmodules c5e73c7 Updated Upstream (Tuinity) 3cd947f Updated Upstream (Tuinity) 14df550 cleanup scripts/importSources.sh 49d9af7 revert a broken patch 630492a revert a broken patch cb5ea51 Fixed build failure 826c0f0 Updated 1.15.2 jenkinsfile to 1.16.1 574b206 Update SUPPORT.md 90e3f89 Update SUPPORT.md c2a5f66 fix b30241b fix 4e06aea fix 284809b 1.16.1 Purpur Changes: 096971d Rename kelp/vines options to make more sense 8ea89f9 Fix broken methods in purpur config c505cf7 Updated Upstream (Paper) 695f3ac Add configurable snowball damage 2d04fb5 Updated Upstream (Paper) badfd60 Rebuild patches f3aff1b Merge branch 'ver/1.16.4' of github.com:pl3xgaming/Purpur into ver/1.16.4 cfcf7d7 Add critical hit check to EntityDamagedByEntityEvent 0b48c6c Add config for allowing Endermen to despawn even while holding a block 1349e72 Updated Upstream (Tuinity) 651105e Kelp weeping and twisting vines configurable max length 058399c Updated Upstream (Tuinity) 3e0a758 Add twisting and weeping vines growth rates
96 lines
5.2 KiB
Diff
96 lines
5.2 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 some stuff in WorldServer ticking
|
|
|
|
Replaced some streams and some array lists with glue lists
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
|
index ec86f278af15ec115d09135b75179e00dd013c11..58d05ee4432bb2ec58ed31d6cd07ccbd89f9eac3 100644
|
|
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
|
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
|
@@ -64,11 +64,11 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
|
public final Int2ObjectMap<Entity> entitiesById = new Int2ObjectLinkedOpenHashMap(); final com.tuinity.tuinity.util.maplist.IteratorSafeOrderedReferenceSet<Entity> entitiesForIteration = new com.tuinity.tuinity.util.maplist.IteratorSafeOrderedReferenceSet<>(2048, 0.5f, 2048, 0.2, true); // Tuinity - make removing entities while ticking safe
|
|
private final Map<UUID, Entity> entitiesByUUID = Maps.newHashMap();
|
|
private final Queue<Entity> entitiesToAdd = Queues.newArrayDeque();
|
|
- public final List<EntityPlayer> players = Lists.newArrayList(); // Paper - private -> public
|
|
+ public final List<EntityPlayer> players = new net.yatopia.server.list.GlueList<>(); // Paper - private -> public // Yatopia
|
|
public final ChunkProviderServer chunkProvider; // Paper - public
|
|
boolean tickingEntities;
|
|
// Paper start
|
|
- List<java.lang.Runnable> afterEntityTickingTasks = Lists.newArrayList();
|
|
+ List<java.lang.Runnable> afterEntityTickingTasks = new net.yatopia.server.list.GlueList<>(); // Yatopia
|
|
public void doIfNotEntityTicking(java.lang.Runnable run) {
|
|
if (tickingEntities) {
|
|
afterEntityTickingTasks.add(run);
|
|
@@ -960,12 +960,21 @@ 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
|
|
+ boolean sleepyMatch = true;
|
|
+ for (EntityPlayer player : players) {
|
|
+ if (player.world == this) {
|
|
+ player.tickWeather();
|
|
+ if (flag != this.isRaining()) player.setPlayerWeather((!flag ? WeatherType.DOWNFALL : WeatherType.CLEAR), false);
|
|
+ player.updateWeather(this.lastRainLevel, this.rainLevel, this.lastThunderLevel, this.thunderLevel);
|
|
}
|
|
+ if (sleepyMatch && !player.isSpectator() && !player.isDeeplySleeping() && !player.fauxSleeping) {
|
|
+ sleepyMatch = 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) {
|
|
@@ -980,10 +989,9 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
|
}
|
|
}
|
|
// CraftBukkit end
|
|
+ */ // Yatopia end
|
|
|
|
- if (this.everyoneSleeping && this.players.stream().noneMatch((entityplayer) -> {
|
|
- return !entityplayer.isSpectator() && !entityplayer.isDeeplySleeping() && !entityplayer.fauxSleeping; // CraftBukkit
|
|
- })) {
|
|
+ if (this.everyoneSleeping && sleepyMatch) { // Yatopia
|
|
// CraftBukkit start
|
|
long l = this.worldData.getDayTime() + 24000L;
|
|
TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (l - l % 24000L) - this.getDayTime());
|
|
@@ -1153,9 +1161,9 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
|
}
|
|
|
|
private void wakeupPlayers() {
|
|
- (this.players.stream().filter(EntityLiving::isSleeping).collect(Collectors.toList())).forEach((entityplayer) -> { // CraftBukkit - decompile error
|
|
+ for (EntityPlayer entityplayer : players) { if (entityplayer.isSleeping()) { // Yatopia
|
|
entityplayer.wakeup(false, false);
|
|
- });
|
|
+ }} // Yatopia
|
|
}
|
|
|
|
// Paper start - optimise random block ticking
|
|
@@ -1918,8 +1926,9 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
|
// Spigot start
|
|
if ( entity instanceof EntityHuman )
|
|
{
|
|
- this.getMinecraftServer().worldServer.values().stream().map( WorldServer::getWorldPersistentData ).forEach( (worldData) ->
|
|
+ for ( WorldServer worldServer : getMinecraftServer().worldServer.values() ) // Yatopia
|
|
{
|
|
+ WorldPersistentData worldData = worldServer.getWorldPersistentData(); // Yatopia
|
|
for (Object o : worldData.data.values() )
|
|
{
|
|
if ( o instanceof WorldMap )
|
|
@@ -1936,7 +1945,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
|
}
|
|
}
|
|
}
|
|
- } );
|
|
+ } // Yatopia
|
|
}
|
|
// Spigot end
|
|
// Spigot Start
|