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;
118 clip(
::Vec3 const&,
::Vec3 const&,
bool, ::ShapeType,
int,
bool,
bool,
::Actor*, ::std::function<
bool(
::BlockSource const&,
::Block const&,
bool)>
const&)
125 virtual ::ChunkSource& getChunkSource() = 0;
128 virtual bool isSolidBlockingBlock(
::BlockPos const&)
const = 0;
131 virtual bool isSolidBlockingBlock(
int,
int,
int)
const = 0;
134 virtual bool areChunksFullyLoaded(
::BlockPos const&,
int)
const = 0;
140 virtual bool canDoBlockDrops()
const = 0;
143 virtual bool canDoContainedItemDrops()
const = 0;
146 virtual bool isInstaticking(
::BlockPos const&)
const = 0;
149 virtual void updateCheckForValidityState(
bool) = 0;
155 virtual bool removeBlock(
::BlockPos const&) = 0;
Definition EntityContext.h:16