mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-20 01:47:42 +01:00
Updated Upstream (Paper) (#1169)
This commit is contained in:
@@ -21,7 +21,7 @@ index 8dc1d2d15d571d1603a41dee13681a87841f5e23..54ec7955ba394e82663b08972dd89f69
|
||||
|
||||
private static final ThreadLocal<List<ChunkProgressionTask>> CURRENT_TICKET_UPDATE_SCHEDULING = new ThreadLocal<>();
|
||||
diff --git a/src/main/java/io/papermc/paper/chunk/system/scheduling/NewChunkHolder.java b/src/main/java/io/papermc/paper/chunk/system/scheduling/NewChunkHolder.java
|
||||
index f20faaec3f1fe311b3ac989be5a9148e2e3c59ad..e3fcbdbbf1972c382cbfe69a86eddff3dee4fba2 100644
|
||||
index 4ce6df7082d4f7ed3651e3d57e379f95dd05715e..cfc355829df3e5b51c2ff524bb3730360fee15a2 100644
|
||||
--- a/src/main/java/io/papermc/paper/chunk/system/scheduling/NewChunkHolder.java
|
||||
+++ b/src/main/java/io/papermc/paper/chunk/system/scheduling/NewChunkHolder.java
|
||||
@@ -1748,7 +1748,7 @@ public final class NewChunkHolder {
|
||||
@@ -43,7 +43,7 @@ index f20faaec3f1fe311b3ac989be5a9148e2e3c59ad..e3fcbdbbf1972c382cbfe69a86eddff3
|
||||
return executedUnloadTask | canSaveChunk | canSaveEntities | canSavePOI;
|
||||
}
|
||||
diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
|
||||
index 54bca103347e89f116fb7fbf37449a32ac094286..a7f4b791894c5d8b7af4b0c067cf167b29272a27 100644
|
||||
index d03551e81e3ef37935cb1d963aba3df316f48ef5..04ca6d27a13706fbddc708df0fcca42b4098bcba 100644
|
||||
--- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
|
||||
+++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
|
||||
@@ -67,14 +67,14 @@ public class GlobalConfiguration extends ConfigurationPart {
|
||||
@@ -271,7 +271,7 @@ index 96c51b1f5103567c29d7da93f654cc5ddfea6a4d..c8b068ab73c8997fbd07e27ccd2dff77
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
index a2a4965aec45f3ff83703b636e46f5c545cfb48e..f702b5777938324e9f10015d8e145225689a37d0 100644
|
||||
index 9976630fad886392057f642e84f919f0b95cc040..91640a6f9770eeb300e0d56d8fe93264c087f0be 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -608,15 +608,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -294,7 +294,7 @@ index a2a4965aec45f3ff83703b636e46f5c545cfb48e..f702b5777938324e9f10015d8e145225
|
||||
}
|
||||
|
||||
gameprofilerfiller.pop();
|
||||
@@ -1239,24 +1239,24 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -1238,24 +1238,24 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
|
||||
// Paper start - optimised tracker
|
||||
private final void processTrackQueue() {
|
||||
@@ -323,7 +323,7 @@ index a2a4965aec45f3ff83703b636e46f5c545cfb48e..f702b5777938324e9f10015d8e145225
|
||||
}
|
||||
}
|
||||
// Paper end - optimised tracker
|
||||
@@ -1271,7 +1271,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -1270,7 +1270,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
List<ServerPlayer> list = Lists.newArrayList();
|
||||
List<ServerPlayer> list1 = this.level.players();
|
||||
ObjectIterator objectiterator = this.entityMap.values().iterator();
|
||||
@@ -332,7 +332,7 @@ index a2a4965aec45f3ff83703b636e46f5c545cfb48e..f702b5777938324e9f10015d8e145225
|
||||
|
||||
ChunkMap.TrackedEntity playerchunkmap_entitytracker;
|
||||
|
||||
@@ -1296,17 +1296,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -1295,17 +1295,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
playerchunkmap_entitytracker.serverEntity.sendChanges();
|
||||
}
|
||||
}
|
||||
@@ -477,10 +477,10 @@ index 7266e6703d5cd0fea90ec88c74a7d4567f2420ae..157efbbc57f1b5d92f296a70823c75b6
|
||||
// Paper end - use set of chunks requiring updates, rather than iterating every single one loaded
|
||||
// Paper start - controlled flush for entity tracker packets
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d1238644726ac3a2f 100644
|
||||
index a1af2d00d03e3326f6acd46dfaa6cdafac841727..4ced6723e65b84f7357acb54e9851e7af3347f11 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -684,7 +684,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -686,7 +686,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
this.updateSkyBrightness();
|
||||
this.tickTime();
|
||||
gameprofilerfiller.popPush("tickPending");
|
||||
@@ -489,7 +489,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
|
||||
if (!this.isDebug()) {
|
||||
j = this.getGameTime();
|
||||
gameprofilerfiller.push("blockTicks");
|
||||
@@ -693,20 +693,20 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -695,20 +695,20 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
this.fluidTicks.tick(j, 65536, this::tickFluid);
|
||||
gameprofilerfiller.pop();
|
||||
}
|
||||
@@ -517,7 +517,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
|
||||
this.handlingTick = false;
|
||||
gameprofilerfiller.pop();
|
||||
boolean flag = true || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players
|
||||
@@ -717,7 +717,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -719,7 +719,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
||||
if (flag || this.emptyTime++ < 300) {
|
||||
gameprofilerfiller.push("entities");
|
||||
@@ -526,7 +526,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
|
||||
if (this.dragonFight != null) {
|
||||
gameprofilerfiller.push("dragonFight");
|
||||
this.dragonFight.tick();
|
||||
@@ -725,7 +725,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -727,7 +727,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
}
|
||||
|
||||
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
|
||||
@@ -535,7 +535,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
|
||||
this.entityTickList.forEach((entity) -> {
|
||||
if (!entity.isRemoved()) {
|
||||
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
|
||||
@@ -765,8 +765,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -767,8 +767,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -546,7 +546,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
|
||||
gameprofilerfiller.pop();
|
||||
this.tickBlockEntities();
|
||||
}
|
||||
@@ -928,7 +928,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -930,7 +930,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
||||
// Paper start - optimise random block ticking
|
||||
gameprofilerfiller.popPush("randomTick");
|
||||
@@ -555,7 +555,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
|
||||
if (randomTickSpeed > 0) {
|
||||
LevelChunkSection[] sections = chunk.getSections();
|
||||
int minSection = io.papermc.paper.util.WorldUtil.getMinSection(this);
|
||||
@@ -962,7 +962,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -964,7 +964,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
}
|
||||
}
|
||||
// Paper end - optimise random block ticking
|
||||
@@ -564,7 +564,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
|
||||
gameprofilerfiller.pop();
|
||||
}
|
||||
|
||||
@@ -1255,8 +1255,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1257,8 +1257,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
// Spigot end
|
||||
// Paper start- timings
|
||||
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(entity);
|
||||
@@ -575,7 +575,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
|
||||
// Paper end - timings
|
||||
entity.setOldPosAndRot();
|
||||
ProfilerFiller gameprofilerfiller = this.getProfiler();
|
||||
@@ -1272,7 +1272,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1274,7 +1274,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
entity.postTick(); // CraftBukkit
|
||||
} else { entity.inactiveTick(); } // Paper - EAR 2
|
||||
this.getProfiler().pop();
|
||||
@@ -584,7 +584,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
|
||||
Iterator iterator = entity.getPassengers().iterator();
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
@@ -1295,8 +1295,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1297,8 +1297,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
if (passenger instanceof Player || this.entityTickList.contains(passenger)) {
|
||||
// Paper - EAR 2
|
||||
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(passenger);
|
||||
@@ -595,7 +595,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
|
||||
// Paper end
|
||||
passenger.setOldPosAndRot();
|
||||
++passenger.tickCount;
|
||||
@@ -1326,7 +1326,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1328,7 +1328,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
this.tickPassenger(passenger, entity2);
|
||||
}
|
||||
|
||||
@@ -604,7 +604,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
|
||||
}
|
||||
} else {
|
||||
passenger.stopRiding();
|
||||
@@ -1346,14 +1346,14 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1348,14 +1348,14 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld()));
|
||||
}
|
||||
|
||||
@@ -622,7 +622,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
|
||||
|
||||
// Copied from save()
|
||||
// CraftBukkit start - moved from MinecraftServer.saveChunks
|
||||
@@ -1365,7 +1365,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1367,7 +1367,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
this.convertable.saveDataTag(this.server.registryHolder, this.serverLevelData, this.server.getPlayerList().getSingleplayerData());
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -631,7 +631,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -1379,7 +1379,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1381,7 +1381,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
||||
if (!savingDisabled) {
|
||||
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit
|
||||
@@ -640,7 +640,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
|
||||
if (progressListener != null) {
|
||||
progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel"));
|
||||
}
|
||||
@@ -1389,11 +1389,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1391,11 +1391,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
progressListener.progressStage(Component.translatable("menu.savingChunks"));
|
||||
}
|
||||
|
||||
@@ -812,7 +812,7 @@ index 386ed2c102aaa3ec68e828e20fff6bfe0d8f7877..c1541119630315521e75c1ba70ac99cd
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
index 636c98d04eb4e14eab1fa208d9cb097e2ab7eef7..86e0539e04e4fe6239c1cb4c4055927303655251 100644
|
||||
index b89dad36bf09fdab340efc83d09992b707cd321a..994ef28e4ad685405a2b045e29550563b0914ccc 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
@@ -930,7 +930,7 @@ public class LevelChunk extends ChunkAccess {
|
||||
|
||||
Reference in New Issue
Block a user