summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorfeildmaster <admin@feildmaster.com>2012-04-24 13:30:55 -0500
committerfeildmaster <admin@feildmaster.com>2012-04-24 15:06:11 -0500
commit0220c1ff746cd721c14fa1b09836addc26742e14 (patch)
tree8898657f4d6fb7ddc78c4c49d18f5ff39af53272 /src
parent119b5d18a5c59d490bf0872fac95bcd4ec6dfd54 (diff)
downloadcraftbukkit-0220c1ff746cd721c14fa1b09836addc26742e14.tar
craftbukkit-0220c1ff746cd721c14fa1b09836addc26742e14.tar.gz
craftbukkit-0220c1ff746cd721c14fa1b09836addc26742e14.tar.lz
craftbukkit-0220c1ff746cd721c14fa1b09836addc26742e14.tar.xz
craftbukkit-0220c1ff746cd721c14fa1b09836addc26742e14.zip
Remove legacy Chunk cache. Fixes BUKKIT-1400
Diffstat (limited to 'src')
-rw-r--r--src/main/java/net/minecraft/server/Chunk.java13
-rw-r--r--src/main/java/net/minecraft/server/ChunkProviderServer.java2
-rw-r--r--src/main/java/org/bukkit/craftbukkit/CraftWorld.java26
3 files changed, 12 insertions, 29 deletions
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 9aa52174..5835eef9 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -7,8 +7,11 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Random;
-import org.bukkit.Bukkit; // CraftBukkit
-import org.bukkit.craftbukkit.util.UnsafeList; // CraftBukkit
+
+// CraftBukkit start
+import org.bukkit.Bukkit;
+import org.bukkit.craftbukkit.util.UnsafeList;
+// CraftBukkit end
public class Chunk {
@@ -62,11 +65,7 @@ public class Chunk {
// CraftBukkit start
if (!(this instanceof EmptyChunk)) {
- org.bukkit.craftbukkit.CraftWorld cworld = this.world.getWorld();
- this.bukkitChunk = (cworld == null) ? null : cworld.popPreservedChunk(i, j);
- if (this.bukkitChunk == null) {
- this.bukkitChunk = new org.bukkit.craftbukkit.CraftChunk(this);
- }
+ this.bukkitChunk = new org.bukkit.craftbukkit.CraftChunk(this);
}
}
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index bc21b8a0..60f7f91d 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -241,8 +241,6 @@ public class ChunkProviderServer implements IChunkProvider {
ChunkUnloadEvent event = new ChunkUnloadEvent(chunk.bukkitChunk);
server.getPluginManager().callEvent(event);
if (!event.isCancelled()) {
- this.world.getWorld().preserveChunk((CraftChunk) chunk.bukkitChunk);
-
chunk.removeEntities();
this.saveChunk(chunk);
this.saveChunkNOP(chunk);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 8603f9e2..5bc8eb68 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1,22 +1,19 @@
package org.bukkit.craftbukkit;
-import com.google.common.collect.MapMaker;
import java.io.File;
import java.util.Set;
-import org.apache.commons.lang.Validate;
-
-import org.bukkit.craftbukkit.entity.*;
-import org.bukkit.craftbukkit.metadata.BlockMetadataStore;
-import org.bukkit.entity.*;
-import org.bukkit.entity.Entity;
-
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
-import java.util.concurrent.ConcurrentMap;
import java.util.List;
import java.util.Random;
import java.util.UUID;
+import org.apache.commons.lang.Validate;
+
+import org.bukkit.craftbukkit.entity.*;
+import org.bukkit.craftbukkit.metadata.BlockMetadataStore;
+import org.bukkit.entity.*;
+import org.bukkit.entity.Entity;
import net.minecraft.server.*;
@@ -52,7 +49,6 @@ public class CraftWorld implements World {
private final WorldServer world;
private Environment environment;
private final CraftServer server = (CraftServer) Bukkit.getServer();
- private ConcurrentMap<Integer, CraftChunk> unloadedChunks = new MapMaker().weakValues().makeMap();
private final ChunkGenerator generator;
private final List<BlockPopulator> populators = new ArrayList<BlockPopulator>();
private final BlockMetadataStore blockMetadata = new BlockMetadataStore(this);
@@ -69,15 +65,6 @@ public class CraftWorld implements World {
environment = env;
}
- public void preserveChunk(CraftChunk chunk) {
- chunk.breakLink();
- unloadedChunks.put((chunk.getX() << 16) + chunk.getZ(), chunk);
- }
-
- public Chunk popPreservedChunk(int x, int z) {
- return unloadedChunks.remove((x << 16) + z);
- }
-
public Block getBlockAt(int x, int y, int z) {
return getChunkAt(x >> 4, z >> 4).getBlock(x & 0xF, y & 0xFF, z & 0xF);
}
@@ -181,7 +168,6 @@ public class CraftWorld implements World {
world.chunkProviderServer.saveChunkNOP(chunk);
}
- preserveChunk((CraftChunk) chunk.bukkitChunk);
world.chunkProviderServer.unloadQueue.remove(x, z);
world.chunkProviderServer.chunks.remove(x, z);
world.chunkProviderServer.chunkList.remove(chunk);