9
0
mirror of https://github.com/Samsuik/Sakura.git synced 2025-12-20 23:39:32 +00:00

All source patches applied and starts

This commit is contained in:
Samsuik
2025-01-16 19:32:46 +00:00
parent 24d7230079
commit 39bba67ec9
171 changed files with 4443 additions and 15 deletions

View File

@@ -0,0 +1,23 @@
--- a/net/minecraft/server/level/ChunkMap.java
+++ b/net/minecraft/server/level/ChunkMap.java
@@ -129,7 +_,7 @@
public final AtomicInteger tickingGenerated = new AtomicInteger(); // Paper - public
private final String storageName;
private final PlayerMap playerMap = new PlayerMap();
- public final Int2ObjectMap<ChunkMap.TrackedEntity> entityMap = new Int2ObjectOpenHashMap<>();
+ public final Int2ObjectMap<ChunkMap.TrackedEntity> entityMap = new me.samsuik.sakura.utils.collections.TrackedEntityChunkMap(); // Sakura - optimised tracked entity map
private final Long2ByteMap chunkTypeCache = new Long2ByteOpenHashMap();
// Paper - rewrite chunk system
public int serverViewDistance;
@@ -1217,7 +_,10 @@
double vec3_dz = player.getZ() - this.entity.getZ();
// Paper end - remove allocation of Vec3D here
int playerViewDistance = ChunkMap.this.getPlayerViewDistance(player);
- double d = Math.min(this.getEffectiveRange(), playerViewDistance * 16);
+ // Sakura start - entity tracking range modifier
+ double visibleRange = this.getEffectiveRange() * player.trackingRangeModifier;
+ double d = Math.min(visibleRange, playerViewDistance * 16);
+ // Sakura end - entity tracking range modifier
double d1 = vec3_dx * vec3_dx + vec3_dz * vec3_dz; // Paper
double d2 = d * d;
// Paper start - Configurable entity tracking range by Y