31 enum class GatewayTask : uchar {
41 ::ll::TypedStorage<1, 1, bool> mPlaceNewBlocks;
42 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ChunkViewSource>> mSource;
43 ::ll::TypedStorage<4, 12, ::BlockPos> mPosition;
62 ::ll::TypedStorage<8, 8, ::BlockSource*> mRegion;
63 ::ll::TypedStorage<8, 24, ::std::vector<int>> mGateways;
64 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BlockPatternMatcher const>> mExitPortalPattern;
65 ::ll::TypedStorage<4, 4, int> mNumCrystalsAlive;
66 ::ll::TypedStorage<4, 4, int> mTicksSinceCrystalsScanned;
67 ::ll::TypedStorage<4, 4, int> mTicksSincePortalScanned;
68 ::ll::TypedStorage<4, 4, int> mTicksSinceLastPlayerScan;
69 ::ll::TypedStorage<1, 1, bool> mDragonKilled;
70 ::ll::TypedStorage<1, 1, bool> mPreviouslyKilled;
71 ::ll::TypedStorage<1, 1, bool> mDragonSpawned;
72 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mDragonUUID;
73 ::ll::TypedStorage<4, 12, ::BlockPos> mPortalLocation;
74 ::ll::TypedStorage<4, 12, ::BlockPos const> mDragonSpawnPos;
75 ::ll::TypedStorage<4, 4, ::RespawnAnimation> mRespawnStage;
76 ::ll::TypedStorage<4, 4, int> mRespawnTime;
77 ::ll::TypedStorage<8, 24, ::std::vector<::ActorUniqueID>> mRespawnCrystals;
78 ::ll::TypedStorage<1, 1, ::EndDragonFightVersion> mFightVersion;
79 ::ll::TypedStorage<8, 32, ::EndDragonFight::GateWayGenerator> mEntryGenerator;
80 ::ll::TypedStorage<8, 32, ::EndDragonFight::GateWayGenerator> mExitGenerator;
81 ::ll::TypedStorage<1, 1, ::EndDragonFight::GatewayTask> mBuildingOrVerifyingEndGatewayPair;
85 ::std::deque<::std::tuple<
86 ::EndDragonFight::GatewayTask,
95 MCAPI
void _createNewDragon();
101 MCAPI ::ActorSoundIdentifier _makeSoundIdentifier()
const;
103 MCAPI
void _spawnExitPortal(
bool activated);
105 MCAPI
void _spawnNewGatewayChunksTask(
107 ::EndDragonFight::GatewayTask,
112 MCAPI
void _updateCrystalCount();
114 MCAPI
void _verifyExitPositionsTask(
116 ::EndDragonFight::GatewayTask,
123 MCAPI
void resetSpikeCrystals();
125 MCAPI
void spawnNewGatewayChunks(
::BlockPos const& pos,
bool placeEntryBlocks,
bool placeExitBlocks);
127 MCAPI
void tryRespawn();
137 MCAPI
static bool _setEndGatewayBlockActorExitPosition(