1.18 misc performance dev branch (#7368)

- Port player chunk loader patch
Makes the chunk system act as it did in 1.17, no additional tickets (and thus logic) to make a chunk ticking.
Adds simulation distance API, deprecates old no-tick method.
- More collision optimisations
Ancient patch from tuinity that never could be pushed to master.
- Fix Optimise ArraySetSorted#removeIf patch
- Execute chunk tasks fairly for worlds while waiting for next tick
- Port Replace ticket level propagator
This commit is contained in:
Spottedleaf 2022-02-18 09:44:46 -08:00 committed by GitHub
parent b173c3ee2c
commit 286bd1bfb5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
41 changed files with 1838 additions and 743 deletions

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Fix int overflow in chunk range check
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 387b0e9b862621e7d0c1179f348e07c25f1ee9c0..2e6e86439173ebdb13b9cebd1e266e91335c1e2d 100644
index 79dbffe899dd7e31af648302c557e2993f170623..6a035b173cf0d288b2912f568078fede45d138f2 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -621,9 +621,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -622,9 +622,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
public static boolean isChunkInRange(int x1, int z1, int x2, int z2, int distance) {
int j1 = Math.max(0, Math.abs(x1 - x2) - 1);
int k1 = Math.max(0, Math.abs(z1 - z2) - 1);