This commit is contained in:
Soda Can 2026-03-10 15:44:39 +11:00
parent cb40f5a3c9
commit 0666206f58
2 changed files with 48 additions and 0 deletions

View file

@ -319,4 +319,37 @@ bool SDK::IsFlightAllowed() {
void SDK::SetFlightAllowed(bool enabled) {
MinecraftServer* s = GetServer();
if (s) s->setFlightAllowed(enabled);
}
// ============================================================================
// Chunk / Block / World Data
// ============================================================================
int SDK::GetTile(int x, int y, int z, int dimension) {
ServerLevel* level = GetServerLevel(dimension);
return level ? level->getTile(x, y, z) : 0;
}
void SDK::SetTileAndUpdate(int x, int y, int z, int tileId, int dimension) {
ServerLevel* level = GetServerLevel(dimension);
if (level) level->setTileAndUpdate(x, y, z, tileId);
}
Biome* SDK::GetBiomeAt(int x, int z, int dimension) {
ServerLevel* level = GetServerLevel(dimension);
return level ? level->getBiome(x, z) : nullptr;
}
std::vector<std::shared_ptr<TileEntity>>* SDK::GetTileEntitiesInRegion(
int x0, int y0, int z0,
int x1, int y1, int z1,
int dimension)
{
ServerLevel* level = GetServerLevel(dimension);
return level ? level->getTileEntitiesInRegion(x0, y0, z0, x1, y1, z1) : nullptr;
}
bool SDK::IsChunkLoaded(int chunkX, int chunkZ, int dimension) {
ServerLevel* level = GetServerLevel(dimension);
return level ? level->getChunk(chunkX, chunkZ) != nullptr : false;
}

View file

@ -90,4 +90,19 @@ namespace SDK {
MODAPI void SetPvpAllowed(bool enabled);
MODAPI bool IsFlightAllowed();
MODAPI void SetFlightAllowed(bool enabled);
// Block reading/writing
MODAPI int GetTile(int x, int y, int z, int dimension = 0);
MODAPI void SetTileAndUpdate(int x, int y, int z, int tileId, int dimension = 0);
// Biome
MODAPI Biome* GetBiomeAt(int x, int z, int dimension = 0);
// Tile Entities (chests, furnaces etc)
MODAPI std::vector<std::shared_ptr<TileEntity>>* GetTileEntitiesInRegion(
int x0, int y0, int z0,
int x1, int y1, int z1,
int dimension = 0);
MODAPI bool IsChunkLoaded(int chunkX, int chunkZ, int dimension = 0);
}