mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-24 09:16:06 +01:00
Remove legacy Chunk cache. Fixes BUKKIT-1400
By: feildmaster <admin@feildmaster.com>
This commit is contained in:
parent
bdccfb5797
commit
529ff54e26
1 changed files with 6 additions and 20 deletions
|
@ -1,8 +1,13 @@
|
|||
package org.bukkit.craftbukkit;
|
||||
|
||||
import com.google.common.collect.MapMaker;
|
||||
import java.io.File;
|
||||
import java.util.Set;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import java.util.UUID;
|
||||
import org.apache.commons.lang.Validate;
|
||||
|
||||
import org.bukkit.craftbukkit.entity.*;
|
||||
|
@ -10,14 +15,6 @@ 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 net.minecraft.server.*;
|
||||
|
||||
import org.bukkit.entity.Arrow;
|
||||
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue