30 virtual ::Block
const& getBlock(
::BlockPos const& pos)
const = 0;
32 virtual ::Block
const& getBlock(
::BlockPos const& pos, uint layer)
const = 0;
34 virtual ::BlockActor
const* getBlockEntity(
::BlockPos const& pos)
const = 0;
36 virtual ::Block
const& getExtraBlock(
::BlockPos const& pos)
const = 0;
38 virtual ::Block
const& getLiquidBlock(
::BlockPos const& pos)
const = 0;
40 virtual bool hasBlock(
::BlockPos const& pos)
const = 0;
42 virtual bool containsAnyLiquid(
::AABB const& box)
const = 0;
44 virtual bool containsMaterial(
::AABB const& box, ::SharedTypes::v1_26_20::MaterialType material)
const = 0;
46 virtual bool isInWall(
::Vec3 const& pos)
const = 0;
50 virtual ::Material
const& getMaterial(
::BlockPos const& pos)
const = 0;
52 virtual ::Material
const& getMaterial(
int x,
int y,
int z)
const = 0;
54 virtual bool hasBorderBlock(
::BlockPos const pos)
const = 0;
56 virtual bool hasChunksAt(
::Bounds const& bounds,
bool ignoreClientChunk)
const = 0;
58 virtual bool hasChunksAt(
::BlockPos const& pos,
int r,
bool ignoreClientChunk)
const = 0;
60 virtual bool hasChunksAt(
::AABB const& bb,
bool ignoreClientChunk)
const = 0;
62 virtual ::DimensionType getDimensionId()
const = 0;
64 virtual bool shouldFireEvents(
::LevelChunk const& c)
const = 0;
67 fetchAABBs(::std::vector<::AABB>& shapes,
::AABB const& intersectTestBox,
bool withUnloadedChunks)
const = 0;
69 virtual void fetchCollisionShapes(
70 ::std::vector<::AABB>& shapes,
71 ::AABB const& intersectTestBox,
72 bool withUnloadedChunks,
74 ::std::vector<::AABB>* tempShapes
77 virtual void fetchCollisionShapesAndBlocks(
78 ::std::vector<::BlockSourceVisitor::CollisionShape>& shapes,
79 ::AABB const& intersectTestBox,
80 bool withUnloadedChunks,
82 ::std::vector<::AABB>* tempShapes
85 virtual ::AABB getTallestCollisionShape(
86 ::AABB const& intersectTestBox,
87 float* actualSurfaceOffset,
88 bool withUnloadedChunks,
92 virtual float getBrightness(
::BlockPos const& pos)
const = 0;