geforkt von Mirrors/Paper
Change condition check order of entity tracking Y (#11348)
Dieser Commit ist enthalten in:
Ursprung
5ff3e52f47
Commit
5bf1879bed
@ -10,10 +10,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
@@ -0,0 +0,0 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
@@ -0,0 +0,0 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||||
|
double d0 = (double) Math.min(this.getEffectiveRange(), i * 16);
|
||||||
double d1 = vec3d.x * vec3d.x + vec3d.z * vec3d.z;
|
double d1 = vec3d.x * vec3d.x + vec3d.z * vec3d.z;
|
||||||
double d2 = d0 * d0;
|
double d2 = d0 * d0;
|
||||||
boolean flag = d1 <= d2 && this.entity.broadcastToPlayer(player) && ChunkMap.this.isChunkTracked(player, this.entity.chunkPosition().x, this.entity.chunkPosition().z);
|
- boolean flag = d1 <= d2 && this.entity.broadcastToPlayer(player) && ChunkMap.this.isChunkTracked(player, this.entity.chunkPosition().x, this.entity.chunkPosition().z);
|
||||||
+ // Paper start - Configurable entity tracking range by Y
|
+ // Paper start - Configurable entity tracking range by Y
|
||||||
|
+ boolean flag = d1 <= d2;
|
||||||
+ if (flag && level.paperConfig().entities.trackingRangeY.enabled) {
|
+ if (flag && level.paperConfig().entities.trackingRangeY.enabled) {
|
||||||
+ double rangeY = level.paperConfig().entities.trackingRangeY.get(this.entity, -1);
|
+ double rangeY = level.paperConfig().entities.trackingRangeY.get(this.entity, -1);
|
||||||
+ if (rangeY != -1) {
|
+ if (rangeY != -1) {
|
||||||
@ -21,6 +23,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||||||
+ flag = vec3d_dy * vec3d_dy <= rangeY * rangeY;
|
+ flag = vec3d_dy * vec3d_dy <= rangeY * rangeY;
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
|
+ flag = flag && this.entity.broadcastToPlayer(player) && ChunkMap.this.isChunkTracked(player, this.entity.chunkPosition().x, this.entity.chunkPosition().z);
|
||||||
+ // Paper end - Configurable entity tracking range by Y
|
+ // Paper end - Configurable entity tracking range by Y
|
||||||
|
|
||||||
// CraftBukkit start - respect vanish API
|
// CraftBukkit start - respect vanish API
|
||||||
|
@ -36,8 +36,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||||||
- double d1 = vec3d.x * vec3d.x + vec3d.z * vec3d.z;
|
- double d1 = vec3d.x * vec3d.x + vec3d.z * vec3d.z;
|
||||||
+ double d1 = vec3d_dx * vec3d_dx + vec3d_dz * vec3d_dz; // Paper
|
+ double d1 = vec3d_dx * vec3d_dx + vec3d_dz * vec3d_dz; // Paper
|
||||||
double d2 = d0 * d0;
|
double d2 = d0 * d0;
|
||||||
boolean flag = d1 <= d2 && this.entity.broadcastToPlayer(player) && ChunkMap.this.isChunkTracked(player, this.entity.chunkPosition().x, this.entity.chunkPosition().z);
|
|
||||||
// Paper start - Configurable entity tracking range by Y
|
// Paper start - Configurable entity tracking range by Y
|
||||||
|
boolean flag = d1 <= d2;
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
|
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren