Files
MinecraftConsoles/Minecraft.World/Region.h
2026-03-02 17:37:16 +07:00

51 lines
1.6 KiB
C++

#pragma once
#include "LevelSource.h"
class Material;
class TileEntity;
class BiomeSource;
class Region : public LevelSource
{
private:
int xc1, zc1;
LevelChunk2DArray *chunks;
Level *level;
bool allEmpty;
// AP - added a caching system for Chunk::rebuild to take advantage of
int xcCached, zcCached;
unsigned char *CachedTiles;
public:
Region(Level *level, int x1, int y1, int z1, int x2, int y2, int z2);
virtual ~Region();
bool isAllEmpty();
int getTile(int x, int y, int z);
shared_ptr<TileEntity> getTileEntity(int x, int y, int z);
float getBrightness(int x, int y, int z, int emitt);
float getBrightness(int x, int y, int z);
int getLightColor(int x, int y, int z, int emitt, int tileId = -1); // 4J - change brought forward from 1.8.2
int getRawBrightness(int x, int y, int z);
int getRawBrightness(int x, int y, int z, bool propagate);
int getData(int x, int y, int z);
Material *getMaterial(int x, int y, int z);
BiomeSource *getBiomeSource();
Biome *getBiome(int x, int z);
bool isSolidRenderTile(int x, int y, int z);
bool isSolidBlockingTile(int x, int y, int z);
bool isTopSolidBlocking(int x, int y, int z);
bool isEmptyTile(int x, int y, int z);
// 4J - changes brought forward from 1.8.2
int getBrightnessPropagate(LightLayer::variety layer, int x, int y, int z, int tileId); // 4J added tileId
int getBrightness(LightLayer::variety layer, int x, int y, int z);
int getMaxBuildHeight();
LevelChunk* getLevelChunk(int x, int y, int z);
// AP - added a caching system for Chunk::rebuild to take advantage of
void setCachedTiles(unsigned char *tiles, int xc, int zc);
};