3#include "mc/_HeaderOutputPredefine.h"
4#include "mc/world/level/TickNextTickData.h"
7#include "mc/deps/core/container/MovePriorityQueue.h"
8#include "mc/platform/brstd/function_ref.h"
9#include "mc/world/level/Tick.h"
10#include "mc/world/level/TickNextTickData.h"
11#include "mc/world/level/TickingQueueType.h"
39 [[nodiscard]]
bool operator>(
BlockTick const& other)
const {
return mData > other.mData; }
53 :
public ::MovePriorityQueue<::BlockTickingQueue::BlockTick, ::std::greater<::BlockTickingQueue::BlockTick>> {
64 ::ll::TypedStorage<8, 8, ::LevelChunk*> mOwningChunk;
65 ::ll::TypedStorage<8, 8, ::Tick> mCurrentTick;
66 ::ll::TypedStorage<8, 24, ::BlockTickingQueue::TickDataSet> mNextTickQueue;
67 ::ll::TypedStorage<8, 24, ::BlockTickingQueue::TickDataSet> mActiveTickQueue;
68 ::ll::TypedStorage<8, 24, ::BlockTickingQueue::TickDataSet> mDeferredTicks;
69 ::ll::TypedStorage<1, 1, ::TickingQueueType> mQueueType;
70 ::ll::TypedStorage<1, 1, bool> mInstaTick;
79 MCNAPI
void _addToNextTickQueue(
::BlockPos const& pos,
::Block const& block,
int tickDelay,
int priorityOffset);
84 _addToNextTickQueue(
::BlockPos const& pos,
::Block const& block,
int const tickDelay,
int const priorityOffset);
94 MCAPI
void addTickToLevelChunk(
108 MCNAPI ::std::unordered_multimap<::BlockPos, ::TickDelayBlock>
119 MCAPI
bool tickPendingTicks(
::BlockSource& region,
::Tick const& until,
int max,
bool instaTick_);
Definition BlockPalette.h:18
Definition BlockSource.h:72
Definition BlockTickingQueue.h:37
Definition BlockTickingQueue.h:53
MCAPI void _pruneQueueForMemory()
Definition BlockTickingQueue.h:27
MCAPI ::std::unordered_multimap<::BlockPos, ::TickDelayBlock > getTickDelaysInArea(::BoundingBox const &boundingBox) const
MCAPI void _eliminateTicksForZeroAndAbove(::BlockTickingQueue::TickDataSet &queue)
MCAPI void _acquireAllTicks(::BlockTickingQueue &otherChunkQueue)
MCAPI void eliminateDuplicatesOf(::BlockType const &block)
MCAPI void remove(::brstd::function_ref< bool(::TickNextTickData const &)> removeCondition)
MCAPI void _saveQueue(::ListTag &list, ::BlockTickingQueue::TickDataSet const &queue) const
MCAPI void load(::CompoundTag const &tag, ::BlockPalette const &palette)
MCAPI void save(::CompoundTag &tag) const
MCAPI void finishInstaticking()
MCAPI ~BlockTickingQueue()
MCAPI void remove(::BlockPos const &pos, ::Block const &block)
Definition BlockType.h:79
Definition BoundingBox.h:13
Definition CompoundTag.h:18
Definition LevelChunk.h:76
Definition MovePriorityQueue.h:6
Definition TickNextTickData.h:14
Definition function_ref.h:60
Definition BlockTickingQueue.h:49
Definition TickDelayBlock.h:10