@MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault public class CubeProviderServer extends net.minecraft.world.gen.ChunkProviderServer implements ICubeProviderServer, ICubeProviderInternal.Server
There are a few necessary changes to the way vanilla methods work: * Because loading a Chunk (Column) doesn't make much sense with CubicChunks, all methods that load Chunks, actually load an empry column with no blocks in it (there may be some entities that are not in any Cube yet). * dropChunk method is not supported. Columns are unloaded automatically when the last cube is unloaded
ICubeProviderServer.RequirementICubeProviderInternal.Server| Constructor and Description |
|---|
CubeProviderServer(net.minecraft.world.WorldServer worldServer,
ICubeGenerator cubeGen) |
| Modifier and Type | Method and Description |
|---|---|
void |
asyncGetColumn(int columnX,
int columnZ,
ICubeProviderServer.Requirement req,
java.util.function.Consumer<net.minecraft.world.chunk.Chunk> callback)
Retrieve a column, asynchronously.
|
void |
asyncGetCube(int cubeX,
int cubeY,
int cubeZ,
ICubeProviderServer.Requirement req,
java.util.function.Consumer<Cube> callback)
Load a cube, asynchronously.
|
boolean |
chunkExists(int cubeX,
int cubeZ) |
java.lang.String |
dumpLoadedCubes() |
net.minecraft.world.chunk.Chunk |
getColumn(int columnX,
int columnZ,
ICubeProviderServer.Requirement req)
Retrieve a column.
|
Cube |
getCube(CubePos coords) |
Cube |
getCube(int cubeX,
int cubeY,
int cubeZ) |
Cube |
getCube(int cubeX,
int cubeY,
int cubeZ,
ICubeProviderServer.Requirement req)
Retrieve a cube.
|
ICubeGenerator |
getCubeGenerator() |
ICubeIO |
getCubeIO() |
Cube |
getCubeNow(int cubeX,
int cubeY,
int cubeZ,
ICubeProviderServer.Requirement req) |
net.minecraft.world.chunk.Chunk |
getLoadedChunk(int columnX,
int columnZ)
Deprecated.
|
net.minecraft.world.chunk.Chunk |
getLoadedColumn(int columnX,
int columnZ)
Vanilla method, returns a Chunk (Column) only of it's already loaded.
|
Cube |
getLoadedCube(CubePos coords) |
Cube |
getLoadedCube(int cubeX,
int cubeY,
int cubeZ) |
int |
getLoadedCubeCount() |
net.minecraft.util.math.BlockPos |
getNearestStructurePos(net.minecraft.world.World worldIn,
java.lang.String name,
net.minecraft.util.math.BlockPos pos,
boolean findUnexplored) |
java.util.List<net.minecraft.world.biome.Biome.SpawnListEntry> |
getPossibleCreatures(net.minecraft.entity.EnumCreatureType type,
net.minecraft.util.math.BlockPos pos) |
boolean |
isCubeGenerated(int cubeX,
int cubeY,
int cubeZ)
Returns true if the specified cube has been already generated (either loaded or saved
on disk).
|
boolean |
isInsideStructure(net.minecraft.world.World p_193413_1_,
java.lang.String p_193413_2_,
net.minecraft.util.math.BlockPos p_193413_3_) |
net.minecraft.world.chunk.Chunk |
loadChunk(int columnX,
int columnZ)
Deprecated.
|
net.minecraft.world.chunk.Chunk |
loadChunk(int columnX,
int columnZ,
java.lang.Runnable runnable)
Deprecated.
|
java.lang.String |
makeString() |
net.minecraft.world.chunk.Chunk |
provideChunk(int cubeX,
int cubeZ)
Deprecated.
|
net.minecraft.world.chunk.Chunk |
provideColumn(int cubeX,
int cubeZ)
If this Column is already loaded - returns it.
|
void |
queueUnload(net.minecraft.world.chunk.Chunk chunk) |
void |
queueUnloadAll() |
boolean |
saveChunks(boolean alwaysTrue) |
boolean |
tick() |
public CubeProviderServer(net.minecraft.world.WorldServer worldServer,
ICubeGenerator cubeGen)
@Detainted public void queueUnload(net.minecraft.world.chunk.Chunk chunk)
queueUnload in class net.minecraft.world.gen.ChunkProviderServer@Detainted public void queueUnloadAll()
queueUnloadAll in class net.minecraft.world.gen.ChunkProviderServer@Nullable
public net.minecraft.world.chunk.Chunk getLoadedColumn(int columnX,
int columnZ)
getLoadedColumn in interface ICubeProvidercolumnX - The x position of the columncolumnZ - The z position of the column@Nullable
@Deprecated
public net.minecraft.world.chunk.Chunk getLoadedChunk(int columnX,
int columnZ)
getLoadedChunk in interface net.minecraft.world.chunk.IChunkProvidergetLoadedChunk in class net.minecraft.world.gen.ChunkProviderServer@Nullable
@Deprecated
public net.minecraft.world.chunk.Chunk loadChunk(int columnX,
int columnZ)
loadChunk in class net.minecraft.world.gen.ChunkProviderServer@Nullable
@Deprecated
public net.minecraft.world.chunk.Chunk loadChunk(int columnX,
int columnZ,
@Nullable
java.lang.Runnable runnable)
loadChunk in class net.minecraft.world.gen.ChunkProviderServerpublic net.minecraft.world.chunk.Chunk provideColumn(int cubeX,
int cubeZ)
provideColumn in interface ICubeProvider@Deprecated
public net.minecraft.world.chunk.Chunk provideChunk(int cubeX,
int cubeZ)
provideChunk in interface net.minecraft.world.chunk.IChunkProviderprovideChunk in class net.minecraft.world.gen.ChunkProviderServerpublic boolean saveChunks(boolean alwaysTrue)
saveChunks in class net.minecraft.world.gen.ChunkProviderServerpublic boolean tick()
tick in interface net.minecraft.world.chunk.IChunkProvidertick in class net.minecraft.world.gen.ChunkProviderServerpublic java.lang.String makeString()
makeString in interface net.minecraft.world.chunk.IChunkProvidermakeString in class net.minecraft.world.gen.ChunkProviderServerpublic java.util.List<net.minecraft.world.biome.Biome.SpawnListEntry> getPossibleCreatures(net.minecraft.entity.EnumCreatureType type,
net.minecraft.util.math.BlockPos pos)
getPossibleCreatures in class net.minecraft.world.gen.ChunkProviderServer@Nullable
public net.minecraft.util.math.BlockPos getNearestStructurePos(net.minecraft.world.World worldIn,
java.lang.String name,
net.minecraft.util.math.BlockPos pos,
boolean findUnexplored)
getNearestStructurePos in class net.minecraft.world.gen.ChunkProviderServerpublic boolean chunkExists(int cubeX,
int cubeZ)
chunkExists in class net.minecraft.world.gen.ChunkProviderServerpublic boolean isInsideStructure(net.minecraft.world.World p_193413_1_,
java.lang.String p_193413_2_,
net.minecraft.util.math.BlockPos p_193413_3_)
isInsideStructure in class net.minecraft.world.gen.ChunkProviderServerpublic Cube getCube(int cubeX, int cubeY, int cubeZ)
getCube in interface ICubeProvidergetCube in interface ICubeProviderInternalpublic Cube getCube(CubePos coords)
getCube in interface ICubeProvidergetCube in interface ICubeProviderInternal@Nullable public Cube getLoadedCube(int cubeX, int cubeY, int cubeZ)
getLoadedCube in interface ICubeProvidergetLoadedCube in interface ICubeProviderInternal@Nullable public Cube getLoadedCube(CubePos coords)
getLoadedCube in interface ICubeProvidergetLoadedCube in interface ICubeProviderInternalpublic void asyncGetCube(int cubeX,
int cubeY,
int cubeZ,
ICubeProviderServer.Requirement req,
java.util.function.Consumer<Cube> callback)
Requirement reqcubeX - Cube x positioncubeY - Cube y positioncubeZ - Cube z positionreq - Work done to retrieve the columncallback - Callback to be called when the load finishes. Note that null can be passed to the
callback if the work specified by req is not sufficient to provide a cubefor the synchronous equivalent to this method@Nullable public Cube getCube(int cubeX, int cubeY, int cubeZ, ICubeProviderServer.Requirement req)
ICubeProviderServerICubeProviderServer.Requirement reqgetCube in interface ICubeProviderServercubeX - the cube's x coordinatecubeY - the cube's y coordinatecubeZ - the cube's z coordinatereq - what the requirments are before you get the Cube@Nullable public Cube getCubeNow(int cubeX, int cubeY, int cubeZ, ICubeProviderServer.Requirement req)
getCubeNow in interface ICubeProviderServerpublic boolean isCubeGenerated(int cubeX,
int cubeY,
int cubeZ)
ICubeProviderServerisCubeGenerated in interface ICubeProviderServercubeX - x coordinate of the cubecubeY - y coordinate of the cubecubeZ - z coordinate of the cubeICubeProviderServer.getCube(int, int, int, Requirement) with ICubeProviderServer.Requirement.LOAD
would return a non-null value. The result is guaranteed to be true only if the world save is not corrupted
and can otherwise be correctly read.public void asyncGetColumn(int columnX,
int columnZ,
ICubeProviderServer.Requirement req,
java.util.function.Consumer<net.minecraft.world.chunk.Chunk> callback)
Requirement reqcolumnX - Column x positioncolumnZ - Column z positionreq - Work done to retrieve the columncallback - Callback to be called when the column has finished loading. Note that the returned column is not
guaranteed to be non-nullfor the synchronous variant of this method@Nullable
public net.minecraft.world.chunk.Chunk getColumn(int columnX,
int columnZ,
ICubeProviderServer.Requirement req)
ICubeProviderServerICubeProviderServer.Requirement reqgetColumn in interface ICubeProviderServercolumnX - Column x positioncolumnZ - Column z positionreq - Work done to retrieve the columnnull if no column could be created with the specified requirement levelpublic java.lang.String dumpLoadedCubes()
@Nonnull public ICubeIO getCubeIO()
getCubeIO in interface ICubeProviderInternal.Serverpublic ICubeGenerator getCubeGenerator()
public int getLoadedCubeCount()