4jcraft/targets/minecraft/world/level/LevelSource.h
2026-04-01 13:27:58 -05:00

35 lines
1.3 KiB
C++

#pragma once
#include <memory>
class BiomeSource;
class Material;
class TileEntity;
class Biome;
#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 int getDirectSignal(int x, int y, int z, int dir) = 0;
virtual ~LevelSource() {}
};