9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2026-01-04 15:41:31 +00:00

Update Paper

This commit is contained in:
violetc
2022-10-08 07:55:51 +08:00
parent 905b8b537e
commit 767d58b190
37 changed files with 215 additions and 193 deletions

View File

@@ -18,10 +18,10 @@ index 0fd814f1d65c111266a2b20f86561839a4cef755..28f853e93b149de9eb838f5aa3b6779d
protected final double maxFragFactor;
diff --git a/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java b/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java
index 47b5f75d9f27cf3ab947fd1f69cbd609fb9f2749..b6f4ee2c21361633c2f6ca0851622cf57b9c647c 100644
index f597d65d56964297eeeed6c7e77703764178fee0..a584f2d0829db0bb220b2934ae2934dab981fdd5 100644
--- a/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java
+++ b/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java
@@ -27,7 +27,7 @@ public final class ChunkEntitySlices {
@@ -35,7 +35,7 @@ public final class ChunkEntitySlices {
protected final EntityCollectionBySection allEntities;
protected final EntityCollectionBySection hardCollidingEntities;
protected final Reference2ObjectOpenHashMap<Class<? extends Entity>, EntityCollectionBySection> entitiesByClass;
@@ -31,10 +31,10 @@ index 47b5f75d9f27cf3ab947fd1f69cbd609fb9f2749..b6f4ee2c21361633c2f6ca0851622cf5
public ChunkHolder.FullChunkStatus status;
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 5c112e760f85729bfd1f30aeb39fccba7ab591bc..d517bf6a9ed81da9142cd034a6bd0d53ef9bc4c8 100644
index 9e40e93e233d1f5865681f749cb19454b5f4b65e..9756f436877992bf56719d023a0ff9a6f41b7bc4 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -2077,8 +2077,38 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1237,8 +1237,38 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
entity.tracker = null; // Paper - We're no longer tracked
}
@@ -73,7 +73,7 @@ index 5c112e760f85729bfd1f30aeb39fccba7ab591bc..d517bf6a9ed81da9142cd034a6bd0d53
this.level.timings.tracker1.startTiming();
try {
for (TrackedEntity tracker : this.entityMap.values()) {
@@ -2349,11 +2379,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1462,11 +1492,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
public class TrackedEntity {
@@ -88,7 +88,7 @@ index 5c112e760f85729bfd1f30aeb39fccba7ab591bc..d517bf6a9ed81da9142cd034a6bd0d53
public TrackedEntity(Entity entity, int i, int j, boolean flag) {
this.serverEntity = new ServerEntity(ChunkMap.this.level, entity, j, flag, this::broadcast, this.seenBy); // CraftBukkit
@@ -2365,7 +2395,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1478,7 +1508,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// Paper start - use distance map to optimise tracker
com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> lastTrackerCandidates;
@@ -97,7 +97,7 @@ index 5c112e760f85729bfd1f30aeb39fccba7ab591bc..d517bf6a9ed81da9142cd034a6bd0d53
com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> oldTrackerCandidates = this.lastTrackerCandidates;
this.lastTrackerCandidates = newTrackerCandidates;
@@ -2437,7 +2467,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1550,7 +1580,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
public void removePlayer(ServerPlayer player) {
@@ -106,7 +106,7 @@ index 5c112e760f85729bfd1f30aeb39fccba7ab591bc..d517bf6a9ed81da9142cd034a6bd0d53
if (this.seenBy.remove(player.connection)) {
this.serverEntity.removePairing(player);
}
@@ -2445,7 +2475,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1558,7 +1588,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
public void updatePlayer(ServerPlayer player) {
@@ -186,10 +186,10 @@ index 8eb4a062489b42b26076d5f3bdfbff368c1a199b..441edf3dbd34c8d15b7b1ba02c92e8f1
set.clear();
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
index f4e5b84f0bd952676950369eff44b87fe1c46f1b..1ef5e16bc44369eefd58df7d93e031ca83ce7190 100644
index f4e5b84f0bd952676950369eff44b87fe1c46f1b..6cff1d44bbbdf998b79c17a5fd78b084d49ce988 100644
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
@@ -237,6 +237,15 @@ public final class LeavesConfig {
@@ -237,6 +237,19 @@ public final class LeavesConfig {
dontSendUselessEntityPackets = getBoolean("settings.performance.dont-send-useless-entity-packets", dontSendUselessEntityPackets);
}
@@ -200,6 +200,10 @@ index f4e5b84f0bd952676950369eff44b87fe1c46f1b..1ef5e16bc44369eefd58df7d93e031ca
+ asyncEntityTracker = getBoolean("settings.performance.async-entity-tracker", asyncEntityTracker);
+ asyncEntityTrackerLock = true;
+ }
+
+ if (asyncEntityTracker) {
+ LeavesLogger.LOGGER.severe("Async EntityTracker is updating, it may work normally");
+ }
+ }
+
public static final class WorldConfig {