25class SpreadPlayersCommand :
public ::Command {
28 using CommandAreas = ::std::map<::ChunkPos, ::std::unique_ptr<::CommandArea>>;
33 ::ll::TypedStorage<8, 200, ::CommandSelector<::Actor>> mTargets;
34 ::ll::TypedStorage<4, 8, ::RelativeFloat> mX;
35 ::ll::TypedStorage<4, 8, ::RelativeFloat> maxHeight;
36 ::ll::TypedStorage<4, 8, ::RelativeFloat> mZ;
37 ::ll::TypedStorage<4, 4, float> mDistance;
38 ::ll::TypedStorage<4, 4, float> mMaxRange;
50 MCAPI SpreadPlayersCommand();
56 MCAPI
static bool _checkPositionValid(
59 ::std::optional<short> maxHeight,
60 ::std::map<
::ChunkPos, ::std::unique_ptr<::CommandArea>>& areas,
64 MCAPI
static float _setPlayerPositions(
66 ::std::vector<::Vec2>& positions,
67 ::std::optional<short> maxHeight,
68 ::std::map<
::ChunkPos, ::std::unique_ptr<::CommandArea>>& areas,
72 MCAPI
static bool _spreadEntities(
78 float maxDistFromCenter,
79 ::std::optional<short> maxHeight,
83 MCAPI static ::std::vector<::Vec2>
86 MCAPI
static bool isDangerousSpawn(
90 ::std::optional<short> maxHeight,
96 MCAPI
static bool spreadPositions(
104 ::std::vector<::Vec2>& positions,
105 ::std::optional<short> maxHeight,
106 ::std::map<
::ChunkPos, ::std::unique_ptr<::CommandArea>>& areas,