42 using ListenerVector = ::std::vector<::BlockSourceListener*>;
47 virtual ::std::vector<::AABB>& fetchAABBs(
::AABB const&,
bool) = 0;
49 virtual ::std::vector<::AABB>&
50 fetchCollisionShapes(
::AABB const&,
bool, ::std::optional<::EntityContext const>, ::std::vector<::AABB>*) = 0;
52 virtual ::WeakRef<::BlockSource> getWeakRef() = 0;
58 virtual ::gsl::span<::gsl::not_null<::Actor*>> fetchEntities(
::Actor const*,
::AABB const&,
bool,
bool) = 0;
60 virtual ::gsl::span<::gsl::not_null<::Actor*>>
70 virtual short getMinHeight()
const = 0;
72 virtual short getMaxHeight()
const = 0;
74 virtual ::Dimension& getDimension()
const = 0;
76 virtual ::Dimension& getDimension() = 0;
78 virtual ::Dimension
const& getDimensionConst()
const = 0;
80 virtual ::LevelChunk* getChunkAt(
::BlockPos const&)
const = 0;
82 virtual ::LevelChunk* getChunk(
int,
int)
const = 0;
84 virtual ::LevelChunk* getChunk(
::ChunkPos const&)
const = 0;
86 virtual ::Level& getLevel() = 0;
88 virtual ::ILevel& getILevel()
const = 0;
90 virtual ::LevelSeed64 getLevelSeed64()
const = 0;
92 virtual short getAboveTopSolidBlock(
int,
int,
bool,
bool)
const = 0;
94 virtual short getAboveTopSolidBlock(
::BlockPos const&,
bool,
bool,
bool)
const = 0;
96 virtual short getHeight(::std::function<
bool(
::Block const&)>
const&,
::BlockPos const&)
const = 0;
98 virtual short getHeight(::std::function<
bool(
::Block const&)>
const&,
int,
int)
const = 0;
100 virtual ::HitResult clip(
115 virtual ::ChunkSource& getChunkSource() = 0;
117 virtual bool isSolidBlockingBlock(
::BlockPos const&)
const = 0;
119 virtual bool isSolidBlockingBlock(
int,
int,
int)
const = 0;
121 virtual bool areChunksFullyLoaded(
::BlockPos const&,
int)
const = 0;
125 virtual bool canDoBlockDrops()
const = 0;
127 virtual bool canDoContainedItemDrops()
const = 0;
129 virtual bool isInstaticking(
::BlockPos const&)
const = 0;
137 virtual void fireBlockChanged(
143 ::BlockChangedEventTarget,
148 virtual void blockEvent(
::BlockPos const&,
int,
int) = 0;
Definition BlockChangeContext.h:10
Definition EntityContext.h:16