Package cn.nukkit.level.format.generic
Class BaseLevelProvider
java.lang.Object
cn.nukkit.level.format.generic.BaseLevelProvider
- All Implemented Interfaces:
LevelProvider
- Direct Known Subclasses:
Anvil
- Author:
- MagicDroidX (Nukkit Project)
-
Field Summary
Modifier and TypeFieldDescriptionprotected final ConcurrentMap<Long,
BaseFullChunk> protected final AtomicReference<BaseRegionLoader>
protected Level
protected CompoundTag
protected final String
protected final it.unimi.dsi.fastutil.longs.Long2ObjectMap<BaseRegionLoader>
Fields inherited from interface cn.nukkit.level.format.LevelProvider
ORDER_YZX, ORDER_ZXY
-
Constructor Summary
ConstructorDescriptionBaseLevelProvider
(Level level, String path) BaseLevelProvider
(Level level, String path, CompoundTag levelData, Vector3 spawn) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
void
getChunk
(int chunkX, int chunkZ) getChunk
(int chunkX, int chunkZ, boolean create) long
getLevel()
getLoadedChunk
(int chunkX, int chunkZ) getLoadedChunk
(long hash) getName()
getPath()
int
getRegion
(int x, int z) protected static int
getRegionIndexX
(int chunkX) protected static int
getRegionIndexZ
(int chunkZ) long
getSeed()
getSpawn()
protected final BaseFullChunk
int
long
getTime()
boolean
isChunkGenerated
(int chunkX, int chunkZ) boolean
isChunkLoaded
(int X, int Z) boolean
isChunkLoaded
(long hash) boolean
isChunkPopulated
(int chunkX, int chunkZ) boolean
boolean
boolean
loadChunk
(int chunkX, int chunkZ) boolean
loadChunk
(int chunkX, int chunkZ, boolean create) abstract BaseFullChunk
loadChunk
(long index, int chunkX, int chunkZ, boolean create) void
putChunk
(long index, BaseFullChunk chunk) void
void
void
void
setCurrentTick
(long currentTick) void
setGameRules
(GameRules rules) void
setRaining
(boolean raining) void
setRainTime
(int rainTime) void
setSeed
(long value) void
void
setThundering
(boolean thundering) void
setThunderTime
(int thunderTime) void
setTime
(long value) int
size()
boolean
unloadChunk
(int X, int Z) boolean
unloadChunk
(int X, int Z, boolean safe) void
void
updateLevelName
(String name) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface cn.nukkit.level.format.LevelProvider
doGarbageCollection, getDimension, getEmptyChunk, getMaximumLayer, isNether, isOverWorld, isTheEnd, requestChunkTask, saveChunk, saveChunk
-
Field Details
-
path
-
lastRegion
-
regions
-
chunks
@PowerNukkitXDifference(since="1.19.20-r3", info="\u540c\u6b65\u5f00\u9500\u751a\u81f3\u8fdc\u5927\u4e8e\u88c5\u62c6\u7bb1\u5f00\u9500") protected final ConcurrentMap<Long,BaseFullChunk> chunks -
level
-
levelData
-
-
Constructor Details
-
BaseLevelProvider
@PowerNukkitDifference(since="1.4.0.0-PN", info="Fixed resource leak") public BaseLevelProvider(Level level, String path) throws IOException - Throws:
IOException
-
BaseLevelProvider
@PowerNukkitOnly @Since("1.4.0.0-PN") public BaseLevelProvider(Level level, String path, CompoundTag levelData, Vector3 spawn)
-
-
Method Details
-
getRegionIndexX
protected static int getRegionIndexX(int chunkX) -
getRegionIndexZ
protected static int getRegionIndexZ(int chunkZ) -
loadChunk
-
size
public int size() -
unloadChunks
public void unloadChunks()- Specified by:
unloadChunks
in interfaceLevelProvider
-
getGenerator
- Specified by:
getGenerator
in interfaceLevelProvider
-
getGeneratorOptions
- Specified by:
getGeneratorOptions
in interfaceLevelProvider
-
getLoadedChunks
- Specified by:
getLoadedChunks
in interfaceLevelProvider
-
isChunkLoaded
public boolean isChunkLoaded(int X, int Z) - Specified by:
isChunkLoaded
in interfaceLevelProvider
-
putChunk
-
isChunkLoaded
public boolean isChunkLoaded(long hash) - Specified by:
isChunkLoaded
in interfaceLevelProvider
-
getRegion
-
getPath
- Specified by:
getPath
in interfaceLevelProvider
-
getServer
-
getLevel
- Specified by:
getLevel
in interfaceLevelProvider
-
getName
- Specified by:
getName
in interfaceLevelProvider
-
isRaining
public boolean isRaining()- Specified by:
isRaining
in interfaceLevelProvider
-
setRaining
public void setRaining(boolean raining) - Specified by:
setRaining
in interfaceLevelProvider
-
getRainTime
public int getRainTime()- Specified by:
getRainTime
in interfaceLevelProvider
-
setRainTime
public void setRainTime(int rainTime) - Specified by:
setRainTime
in interfaceLevelProvider
-
isThundering
public boolean isThundering()- Specified by:
isThundering
in interfaceLevelProvider
-
setThundering
public void setThundering(boolean thundering) - Specified by:
setThundering
in interfaceLevelProvider
-
getThunderTime
public int getThunderTime()- Specified by:
getThunderTime
in interfaceLevelProvider
-
setThunderTime
public void setThunderTime(int thunderTime) - Specified by:
setThunderTime
in interfaceLevelProvider
-
getCurrentTick
public long getCurrentTick()- Specified by:
getCurrentTick
in interfaceLevelProvider
-
setCurrentTick
public void setCurrentTick(long currentTick) - Specified by:
setCurrentTick
in interfaceLevelProvider
-
getTime
public long getTime()- Specified by:
getTime
in interfaceLevelProvider
-
setTime
public void setTime(long value) - Specified by:
setTime
in interfaceLevelProvider
-
getSeed
public long getSeed()- Specified by:
getSeed
in interfaceLevelProvider
-
setSeed
public void setSeed(long value) - Specified by:
setSeed
in interfaceLevelProvider
-
getSpawn
- Specified by:
getSpawn
in interfaceLevelProvider
-
setSpawn
- Specified by:
setSpawn
in interfaceLevelProvider
-
getGamerules
- Specified by:
getGamerules
in interfaceLevelProvider
-
setGameRules
- Specified by:
setGameRules
in interfaceLevelProvider
-
doGarbageCollection
public void doGarbageCollection()- Specified by:
doGarbageCollection
in interfaceLevelProvider
-
saveChunks
public void saveChunks()- Specified by:
saveChunks
in interfaceLevelProvider
-
getLevelData
-
saveLevelData
- Specified by:
saveLevelData
in interfaceLevelProvider
-
updateLevelName
- Specified by:
updateLevelName
in interfaceLevelProvider
-
loadChunk
public boolean loadChunk(int chunkX, int chunkZ) - Specified by:
loadChunk
in interfaceLevelProvider
-
loadChunk
public boolean loadChunk(int chunkX, int chunkZ, boolean create) - Specified by:
loadChunk
in interfaceLevelProvider
-
unloadChunk
public boolean unloadChunk(int X, int Z) - Specified by:
unloadChunk
in interfaceLevelProvider
-
unloadChunk
public boolean unloadChunk(int X, int Z, boolean safe) - Specified by:
unloadChunk
in interfaceLevelProvider
-
getChunk
- Specified by:
getChunk
in interfaceLevelProvider
-
getThreadLastChunk
-
getLoadedChunk
- Specified by:
getLoadedChunk
in interfaceLevelProvider
-
getLoadedChunk
- Specified by:
getLoadedChunk
in interfaceLevelProvider
-
getChunk
- Specified by:
getChunk
in interfaceLevelProvider
-
setChunk
- Specified by:
setChunk
in interfaceLevelProvider
-
isChunkPopulated
public boolean isChunkPopulated(int chunkX, int chunkZ) - Specified by:
isChunkPopulated
in interfaceLevelProvider
-
close
public void close()- Specified by:
close
in interfaceLevelProvider
-
isChunkGenerated
public boolean isChunkGenerated(int chunkX, int chunkZ) - Specified by:
isChunkGenerated
in interfaceLevelProvider
-