Files
MinecraftConsoles/Minecraft.World/LevelSource.h
void_17 7074f35e4b shared_ptr -> std::shared_ptr
This is one of the first commits in a plan to remove all `using namespace std;` lines in the entire codebase as it is considered anti-pattern today.
2026-03-02 15:58:20 +07:00

29 lines
1.1 KiB
C++

#pragma once
class BiomeSource;
class Material;
class TileEntity;
#include "LightLayer.h"
class LevelSource
{
public:
virtual int getTile(int x, int y, int z) = 0;
virtual std::shared_ptr<TileEntity> getTileEntity(int x, int y, int z) = 0;
virtual int getLightColor(int x, int y, int z, int emitt, int tileId = -1) = 0; // 4J - brought forward from 1.8.2, added tileId
virtual float getBrightness(int x, int y, int z, int emitt) = 0;
virtual float getBrightness(int x, int y, int z) = 0;
virtual int getData(int x, int y, int z) = 0;
virtual Material *getMaterial(int xx, int i, int zz) = 0;
virtual bool isSolidRenderTile(int x, int y, int z) = 0;
virtual bool isSolidBlockingTile(int x, int y, int z) = 0;
virtual bool isEmptyTile(int x, int y, int z) = 0;
virtual Biome *getBiome(int x, int z) = 0;
virtual BiomeSource *getBiomeSource() = 0;
virtual int getBrightness(LightLayer::variety layer, int x, int y, int z) = 0;
virtual int getMaxBuildHeight() = 0;
virtual bool isAllEmpty() = 0;
virtual bool isTopSolidBlocking(int x, int y, int z) = 0;
virtual ~LevelSource() {}
};