42 using ListenerVector = ::std::vector<::BlockSourceListener*>;
48 virtual ::std::vector<::AABB>& fetchAABBs(
::AABB const&,
bool) = 0;
51 virtual ::std::vector<::AABB>&
52 fetchCollisionShapes(
::AABB const&,
bool, ::std::optional<::EntityContext const>, ::std::vector<::AABB>*) = 0;
55 virtual ::WeakRef<::BlockSource> getWeakRef() = 0;
64 virtual ::gsl::span<::gsl::not_null<::Actor*>> fetchEntities(
::Actor const*,
::AABB const&,
bool,
bool) = 0;
67 virtual ::gsl::span<::gsl::not_null<::Actor*>>
81 virtual short getMinHeight()
const = 0;
84 virtual short getMaxHeight()
const = 0;
87 virtual ::Dimension& getDimension()
const = 0;
90 virtual ::Dimension& getDimension() = 0;
93 virtual ::Dimension
const& getDimensionConst()
const = 0;
96 virtual ::LevelChunk* getChunkAt(
::BlockPos const&)
const = 0;
99 virtual ::LevelChunk* getChunk(
int,
int)
const = 0;
102 virtual ::LevelChunk* getChunk(
::ChunkPos const&)
const = 0;
105 virtual ::Level& getLevel() = 0;
108 virtual ::ILevel& getILevel()
const = 0;
111 virtual ::LevelSeed64 getLevelSeed64()
const = 0;
114 virtual short getAboveTopSolidBlock(
int,
int,
bool,
bool)
const = 0;
117 virtual short getAboveTopSolidBlock(
::BlockPos const&,
bool,
bool,
bool)
const = 0;
120 virtual short getHeight(::std::function<
bool(
::Block const&)>
const&,
::BlockPos const&)
const = 0;
123 virtual short getHeight(::std::function<
bool(
::Block const&)>
const&,
int,
int)
const = 0;
126 virtual ::HitResult clip(
143 virtual ::ChunkSource& getChunkSource() = 0;
146 virtual bool isSolidBlockingBlock(
::BlockPos const&)
const = 0;
149 virtual bool isSolidBlockingBlock(
int,
int,
int)
const = 0;
152 virtual bool areChunksFullyLoaded(
::BlockPos const&,
int)
const = 0;
158 virtual bool canDoBlockDrops()
const = 0;
161 virtual bool canDoContainedItemDrops()
const = 0;
164 virtual bool isInstaticking(
::BlockPos const&)
const = 0;
173 virtual void fireBlockChanged(
179 ::BlockChangedEventTarget,
185 virtual void blockEvent(
::BlockPos const&,
int,
int) = 0;
Definition BlockChangeContext.h:10
Definition EntityContext.h:15