40 using ListenerVector = ::std::vector<::BlockSourceListener*>;
46 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;
53 virtual ::WeakRef<::BlockSource> getWeakRef() = 0;
62 virtual ::gsl::span<::gsl::not_null<::Actor*>> fetchEntities(
::Actor const*,
::AABB const&,
bool,
bool) = 0;
65 virtual ::gsl::span<::gsl::not_null<::Actor*>>
72 virtual short getMinHeight()
const = 0;
75 virtual short getMaxHeight()
const = 0;
78 virtual ::Dimension& getDimension()
const = 0;
81 virtual ::Dimension& getDimension() = 0;
84 virtual ::Dimension
const& getDimensionConst()
const = 0;
87 virtual ::LevelChunk* getChunkAt(
::BlockPos const&)
const = 0;
90 virtual ::LevelChunk* getChunk(
int,
int)
const = 0;
93 virtual ::LevelChunk* getChunk(
::ChunkPos const&)
const = 0;
96 virtual ::Level& getLevel() = 0;
99 virtual ::ILevel& getILevel()
const = 0;
102 virtual ::LevelSeed64 getLevelSeed64()
const = 0;
105 virtual short getAboveTopSolidBlock(
int,
int,
bool,
bool)
const = 0;
108 virtual short getAboveTopSolidBlock(
::BlockPos const&,
bool,
bool,
bool)
const = 0;
111 virtual short getHeight(::std::function<
bool(
::Block const&)>
const&,
::BlockPos const&)
const = 0;
114 virtual short getHeight(::std::function<
bool(
::Block const&)>
const&,
int,
int)
const = 0;
117 virtual ::HitResult clip(
133 virtual ::ChunkSource& getChunkSource() = 0;
136 virtual bool isSolidBlockingBlock(
::BlockPos const&)
const = 0;
139 virtual bool isSolidBlockingBlock(
int,
int,
int)
const = 0;
142 virtual bool areChunksFullyLoaded(
::BlockPos const&,
int)
const = 0;
148 virtual bool canDoBlockDrops()
const = 0;
151 virtual bool canDoContainedItemDrops()
const = 0;
154 virtual bool isInstaticking(
::BlockPos const&)
const = 0;
157 virtual void updateCheckForValidityState(
bool) = 0;
163 virtual bool removeBlock(
::BlockPos const&) = 0;
Definition EntityContext.h:16