mirror of
https://github.com/PaperMC/Paper.git
synced 2024-09-12 06:58:11 +02:00
This enables us a fast reference to the entities current chunk instead of having to look it up by hashmap lookups. We also store counts by type to further enable other performance optimizations in later patches.
26 lines
1016 B
Diff
26 lines
1016 B
Diff
From e12d715554fa2684d9c5c7dcfc765fdf66f02654 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Wed, 21 Sep 2016 22:54:28 -0400
|
|
Subject: [PATCH] Chunk registration fixes
|
|
|
|
World checks and the Chunk Add logic are inconsistent on how Y > 256, < 0, is treated
|
|
|
|
Keep them consistent
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
|
index 6e37c4366..000d2eeb9 100644
|
|
--- a/src/main/java/net/minecraft/server/World.java
|
|
+++ b/src/main/java/net/minecraft/server/World.java
|
|
@@ -1770,7 +1770,7 @@ public abstract class World implements IBlockAccess {
|
|
}
|
|
|
|
i = MathHelper.floor(entity.locX / 16.0D);
|
|
- j = MathHelper.floor(entity.locY / 16.0D);
|
|
+ j = Math.min(15, Math.max(0, MathHelper.floor(entity.locY / 16.0D))); // Paper - stay consistent with chunk add/remove behavior
|
|
int k = MathHelper.floor(entity.locZ / 16.0D);
|
|
|
|
if (!entity.aa || entity.ab != i || entity.ac != j || entity.ad != k) {
|
|
--
|
|
2.18.0
|
|
|