package net.minecraft.world.level.block.entity;

import net.minecraft.core.BlockPos;

public interface TickingBlockEntity {
    void tick();

    boolean isRemoved();

    BlockPos getPos();

    String getType();

    BlockEntity getTileEntity(); // Folia - region threading

    // Luminol start - region threading for sleeping block entity
    @org.jetbrains.annotations.Nullable
    default TickingBlockEntity getLithiumSlept() {
        return null;
    }

    default void setLithiumSlept(@org.jetbrains.annotations.Nullable TickingBlockEntity slept) {}

    default void updateTicksForLithium(long redstoneGameTimeOffset) {}
    // Luminol end
}
