From 3ce8cf1a9a6a07728b22095f2834253f3737bee9 Mon Sep 17 00:00:00 2001 From: Thinkofdeath Date: Sun, 22 Mar 2015 19:50:13 +0000 Subject: [PATCH] Upstream merge --- CraftBukkit-Patches/0012-Spigot-Timings.patch | 4 +- .../0111-Log-null-TileEntity-Owner.patch | 2 +- ...5-Use-Standard-List-for-EntitySlices.patch | 44 +------------------ 3 files changed, 5 insertions(+), 45 deletions(-) diff --git a/CraftBukkit-Patches/0012-Spigot-Timings.patch b/CraftBukkit-Patches/0012-Spigot-Timings.patch index 8779f2fd97..53e49d32ec 100644 --- a/CraftBukkit-Patches/0012-Spigot-Timings.patch +++ b/CraftBukkit-Patches/0012-Spigot-Timings.patch @@ -70,8 +70,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 Chunk chunk = (Chunk) data[0]; NBTTagCompound nbttagcompound = (NBTTagCompound) data[1]; @@ -0,0 +0,0 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { - chunk.entitySlices[k] = new EntitySlice(Entity.class); - } + + public void loadEntities(Chunk chunk, NBTTagCompound nbttagcompound, World world) { // CraftBukkit end - + world.timings.syncChunkLoadEntitiesTimer.startTiming(); // Spigot diff --git a/CraftBukkit-Patches/0111-Log-null-TileEntity-Owner.patch b/CraftBukkit-Patches/0111-Log-null-TileEntity-Owner.patch index a202d33c3c..c4c99195dd 100644 --- a/CraftBukkit-Patches/0111-Log-null-TileEntity-Owner.patch +++ b/CraftBukkit-Patches/0111-Log-null-TileEntity-Owner.patch @@ -9,9 +9,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -0,0 +0,0 @@ public abstract class TileEntity { - // CraftBukkit start - add method public InventoryHolder getOwner() { + if (world == null) return null; - org.bukkit.block.BlockState state = world.getWorld().getBlockAt(position.getX(), position.getY(), position.getZ()).getState(); + // Spigot start + org.bukkit.block.Block block = world.getWorld().getBlockAt(position.getX(), position.getY(), position.getZ()); diff --git a/CraftBukkit-Patches/0155-Use-Standard-List-for-EntitySlices.patch b/CraftBukkit-Patches/0155-Use-Standard-List-for-EntitySlices.patch index fe590957b1..7884ec4c09 100644 --- a/CraftBukkit-Patches/0155-Use-Standard-List-for-EntitySlices.patch +++ b/CraftBukkit-Patches/0155-Use-Standard-List-for-EntitySlices.patch @@ -26,15 +26,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 this.world = world; this.locX = i; this.locZ = j; -@@ -0,0 +0,0 @@ public class Chunk { + this.heightMap = new int[256]; - /* CraftBukkit start 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 } - // CraftBukkit end */ + Arrays.fill(this.f, -999); @@ -0,0 +0,0 @@ public class Chunk { j = MathHelper.clamp(j, 0, this.entitySlices.length - 1); @@ -59,45 +58,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 return this.entitySlices; } -diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 ---- a/src/main/java/net/minecraft/server/ChunkProviderServer.java -+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -0,0 +0,0 @@ public class ChunkProviderServer implements IChunkProvider { - - // CraftBukkit start - moved from Chunk. - for (int k = 0; k < chunk.entitySlices.length; ++k) { -- chunk.entitySlices[k] = new EntitySlice(Entity.class); -+ chunk.entitySlices[k] = new org.bukkit.craftbukkit.util.UnsafeList(); // Spigot - } - // CraftBukkit end - chunk.addEntities(); -diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 ---- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java -+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -@@ -0,0 +0,0 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { - public void loadEntities(Chunk chunk, NBTTagCompound nbttagcompound, World world) { - // moved from Chunk. - for (int k = 0; k < chunk.entitySlices.length; ++k) { -- chunk.entitySlices[k] = new EntitySlice(Entity.class); -+ chunk.entitySlices[k] = new org.bukkit.craftbukkit.util.UnsafeList(); // Spigot - } - // CraftBukkit end - world.timings.syncChunkLoadEntitiesTimer.startTiming(); // Spigot -diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 ---- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -0,0 +0,0 @@ public class CraftWorld implements World { - if (chunk != null) { - // moved from Chunk. - for (int k = 0; k < chunk.entitySlices.length; ++k) { -- chunk.entitySlices[k] = new EntitySlice(net.minecraft.server.Entity.class); -+ chunk.entitySlices[k] = new org.bukkit.craftbukkit.util.UnsafeList(); - } - world.chunkProviderServer.chunks.put(LongHash.toLong(cx, cz), chunk); - diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java