papermc/CraftBukkit-Patches/0159-Use-Standard-List-for-EntitySlices.patch

64 lines
2.4 KiB
Diff
Raw Normal View History

2015-02-20 10:34:11 +00:00
From b1d615dc4ee4ae82b71fa658ec342cddaba37bd1 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Fri, 20 Feb 2015 21:33:36 +1100
Subject: [PATCH] Use Standard List for EntitySlices.
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index c50ab45..e9cd4d4 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -31,7 +31,7 @@ public class Chunk {
public final int locZ;
private boolean k;
public final Map tileEntities;
- public final EntitySlice[] entitySlices;
+ public final List[] entitySlices; // Spigot
public boolean done;
private boolean lit;
private boolean p;
@@ -80,14 +80,14 @@ public class Chunk {
this.tileEntities = Maps.newHashMap();
this.v = 4096;
this.w = Queues.newConcurrentLinkedQueue();
- this.entitySlices = (EntitySlice[]) (new EntitySlice[16]);
+ this.entitySlices = (List[]) (new List[16]); // Spigot
this.world = world;
this.locX = i;
this.locZ = j;
this.heightMap = new int[256];
for (int k = 0; k < this.entitySlices.length; ++k) {
- this.entitySlices[k] = new EntitySlice(Entity.class);
+ this.entitySlices[k] = new org.bukkit.craftbukkit.util.UnsafeList(); // Spigot
}
Arrays.fill(this.f, -999);
@@ -892,12 +892,12 @@ public class Chunk {
j = MathHelper.clamp(j, 0, this.entitySlices.length - 1);
for (int k = i; k <= j; ++k) {
- Iterator iterator = this.entitySlices[k].b(oclass).iterator();
+ Iterator iterator = this.entitySlices[k].iterator(); // Spigot
while (iterator.hasNext()) {
Entity entity = (Entity) iterator.next();
- if (entity.getBoundingBox().b(axisalignedbb) && (predicate == null || predicate.apply(entity))) {
+ if (entity.getClass().isAssignableFrom(oclass) && entity.getBoundingBox().b(axisalignedbb) && (predicate == null || predicate.apply(entity))) { // Spigot
list.add(entity);
}
}
@@ -1278,7 +1278,7 @@ public class Chunk {
return this.tileEntities;
}
- public EntitySlice[] getEntitySlices() {
+ public List[] getEntitySlices() {
return this.entitySlices;
}
--
2.1.0