3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/utility/AutomaticID.h"
7#include "mc/deps/core/utility/optional_ref.h"
8#include "mc/world/level/material/MaterialType.h"
31 virtual ::Block
const& getBlock(
::BlockPos const&)
const = 0;
33 virtual ::Block
const& getBlock(
::BlockPos const&, uint)
const = 0;
35 virtual ::BlockActor
const* getBlockEntity(
::BlockPos const&)
const = 0;
37 virtual ::Block
const& getExtraBlock(
::BlockPos const&)
const = 0;
39 virtual ::Block
const& getLiquidBlock(
::BlockPos const&)
const = 0;
41 virtual bool hasBlock(
::BlockPos const&)
const = 0;
43 virtual bool containsAnyLiquid(
::AABB const&)
const = 0;
45 virtual bool containsMaterial(
::AABB const&, ::MaterialType)
const = 0;
47 virtual bool isInWall(
::Vec3 const&)
const = 0;
51 virtual ::Material
const& getMaterial(
::BlockPos const&)
const = 0;
53 virtual ::Material
const& getMaterial(
int,
int,
int)
const = 0;
55 virtual bool hasBorderBlock(
::BlockPos const)
const = 0;
57 virtual bool hasChunksAt(
::Bounds const&,
bool)
const = 0;
59 virtual bool hasChunksAt(
::BlockPos const&,
int,
bool)
const = 0;
61 virtual bool hasChunksAt(
::AABB const&,
bool)
const = 0;
63 virtual ::DimensionType getDimensionId()
const = 0;
65 virtual bool shouldFireEvents(
::LevelChunk const&)
const = 0;
67 virtual void fetchAABBs(::std::vector<::AABB>&,
::AABB const&,
bool)
const = 0;
69 virtual void fetchCollisionShapes(
70 ::std::vector<::AABB>&,
74 ::std::vector<::AABB>*
77 virtual void fetchCollisionShapesAndBlocks(
78 ::std::vector<::BlockSourceVisitor::CollisionShape>&,
82 ::std::vector<::AABB>*
88 virtual float getBrightness(
::BlockPos const&)
const = 0;
Definition BlockActor.h:32
Definition Dimension.h:85
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:25
Definition LevelChunk.h:79
Definition optional_ref.h:10
Definition CollisionShape.h:16