package net.minecraft.world.level; import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.material.Fluid; import net.minecraft.world.ticks.LevelTickAccess; import net.minecraft.world.ticks.ScheduledTick; import net.minecraft.world.ticks.TickPriority; public interface ScheduledTickAccess { ScheduledTick createTick(BlockPos blockPos, T object, int i, TickPriority tickPriority); ScheduledTick createTick(BlockPos blockPos, T object, int i); LevelTickAccess getBlockTicks(); default void scheduleTick(BlockPos blockPos, Block block, int i, TickPriority tickPriority) { this.getBlockTicks().schedule(this.createTick(blockPos, block, i, tickPriority)); } default void scheduleTick(BlockPos blockPos, Block block, int i) { this.getBlockTicks().schedule(this.createTick(blockPos, block, i)); } LevelTickAccess getFluidTicks(); default void scheduleTick(BlockPos blockPos, Fluid fluid, int i, TickPriority tickPriority) { this.getFluidTicks().schedule(this.createTick(blockPos, fluid, i, tickPriority)); } default void scheduleTick(BlockPos blockPos, Fluid fluid, int i) { this.getFluidTicks().schedule(this.createTick(blockPos, fluid, i)); } }