2015-02-23 16:29:45 +11:00
|
|
|
package com.intellectualcrafters.plot.util;
|
|
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
import com.intellectualcrafters.plot.object.ChunkLoc;
|
|
|
|
import com.intellectualcrafters.plot.object.Location;
|
|
|
|
import com.intellectualcrafters.plot.object.Plot;
|
2015-04-27 00:56:10 +10:00
|
|
|
import com.intellectualcrafters.plot.object.PlotBlock;
|
2015-02-23 16:29:45 +11:00
|
|
|
import com.intellectualcrafters.plot.object.PlotId;
|
2015-02-26 15:43:01 +11:00
|
|
|
import com.intellectualcrafters.plot.object.PlotLoc;
|
2015-02-23 16:29:45 +11:00
|
|
|
import com.intellectualcrafters.plot.object.RegionWrapper;
|
2015-04-27 00:56:10 +10:00
|
|
|
import com.intellectualcrafters.plot.util.SetBlockQueue.ChunkWrapper;
|
2015-02-23 16:29:45 +11:00
|
|
|
|
|
|
|
public abstract class ChunkManager {
|
2015-03-27 18:15:41 +11:00
|
|
|
|
2015-02-23 16:29:45 +11:00
|
|
|
public static ChunkManager manager = null;
|
|
|
|
public static RegionWrapper CURRENT_PLOT_CLEAR = null;
|
2015-03-27 18:15:41 +11:00
|
|
|
public static boolean FORCE_PASTE = false;
|
|
|
|
|
2015-02-26 15:43:01 +11:00
|
|
|
public static HashMap<PlotLoc, HashMap<Short, Short>> GENERATE_BLOCKS = new HashMap<>();
|
|
|
|
public static HashMap<PlotLoc, HashMap<Short, Byte>> GENERATE_DATA = new HashMap<>();
|
2015-02-23 16:29:45 +11:00
|
|
|
|
|
|
|
public static ChunkLoc getChunkChunk(final Location loc) {
|
|
|
|
final int x = loc.getX() >> 9;
|
|
|
|
final int z = loc.getZ() >> 9;
|
|
|
|
return new ChunkLoc(x, z);
|
|
|
|
}
|
2015-03-12 19:52:26 +11:00
|
|
|
|
2015-04-27 00:56:10 +10:00
|
|
|
public abstract void setChunk(ChunkWrapper loc, PlotBlock[][] result);
|
|
|
|
|
2015-03-21 00:09:51 +11:00
|
|
|
public abstract int[] countEntities(Plot plot);
|
2015-02-23 16:29:45 +11:00
|
|
|
|
|
|
|
public abstract boolean loadChunk(String world, ChunkLoc loc);
|
2015-02-26 22:00:46 +11:00
|
|
|
|
|
|
|
public abstract boolean unloadChunk(String world, ChunkLoc loc);
|
2015-02-23 16:29:45 +11:00
|
|
|
|
|
|
|
public abstract List<ChunkLoc> getChunkChunks(String world);
|
|
|
|
|
2015-06-09 15:28:59 -07:00
|
|
|
public abstract void regenerateChunk(String world, ChunkLoc loc);
|
|
|
|
|
2015-02-23 16:29:45 +11:00
|
|
|
public abstract void deleteRegionFile(final String world, final ChunkLoc loc);
|
2015-06-09 02:01:09 +10:00
|
|
|
|
|
|
|
public abstract void deleteRegionFiles(final String world, final List<ChunkLoc> chunks);
|
2015-02-23 16:29:45 +11:00
|
|
|
|
|
|
|
public abstract Plot hasPlot(String world, ChunkLoc chunk);
|
|
|
|
|
|
|
|
public abstract boolean copyRegion(final Location pos1, final Location pos2, final Location newPos, final Runnable whenDone);
|
|
|
|
|
|
|
|
public abstract boolean regenerateRegion(final Location pos1, final Location pos2, final Runnable whenDone);
|
|
|
|
|
|
|
|
public abstract void clearAllEntities(final Plot plot);
|
|
|
|
|
|
|
|
public abstract void swap(String world, PlotId id, PlotId plotid);
|
2015-03-23 00:48:02 +11:00
|
|
|
|
|
|
|
public abstract void swap(String worldname, Location bot1, Location top1, Location bot2, Location top2);
|
2015-02-23 16:29:45 +11:00
|
|
|
}
|