#pragma once #include "LevelChunk.h" #include "../Util/Definitions.h" class Level; class WaterLevelChunk : public LevelChunk { public: using LevelChunk::getEntities; using LevelChunk::getEntitiesOfClass; WaterLevelChunk(Level* level, byteArray blocks, int x, int z); bool isAt(int x, int z); void recalcBlockLights(); void recalcHeightmapOnly(); void recalcHeightmap(); void lightLava(); bool setTileAndData(int x, int y, int z, int _tile, int _data); bool setTile(int x, int y, int z, int _tile); bool setData(int x, int y, int z, int val, int mask, bool* maskedBitsChanged); // 4J added mask void setBrightness(LightLayer::variety layer, int x, int y, int z, int brightness); void setLevelChunkBrightness( LightLayer::variety layer, int x, int y, int z, int brightness); // 4J added - calls the setBrightness method of the // parent class void addEntity(std::shared_ptr e); void removeEntity(std::shared_ptr e); void removeEntity(std::shared_ptr e, int yc); void skyBrightnessChanged(); std::shared_ptr getTileEntity(int x, int y, int z); void addTileEntity(std::shared_ptr te); void setTileEntity(int x, int y, int z, std::shared_ptr tileEntity); void removeTileEntity(int x, int y, int z); void load(); void unload(bool unloadTileEntities); // 4J - added parameter bool containsPlayer(); // 4J added void markUnsaved(); void getEntities(std::shared_ptr except, AABB bb, std::vector >& es); void getEntitiesOfClass(const std::type_info& ec, AABB bb, std::vector >& es); int countEntities(); bool shouldSave(bool force); void setBlocks(byteArray newBlocks, int sub); int setBlocksAndData( byteArray data, int x0, int y0, int z0, int x1, int y1, int z1, int p, bool includeLighting = true); // 4J - added includeLighting parameter; bool testSetBlocksAndData(byteArray data, int x0, int y0, int z0, int x1, int y1, int z1, int p); Random* getRandom(int64_t l); virtual Biome* getBiome(int x, int z, BiomeSource* biomeSource); virtual void reSyncLighting() {}; // 4J added };