package net.minecraft.world.level;

import javax.annotation.Nullable;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.core.BlockPos;

public interface LevelWriter {
    boolean setBlock(final BlockPos fu, final BlockState cfj, final int integer3, final int integer4);
    
    default boolean setBlock(final BlockPos fu, final BlockState cfj, final int integer) {
        return this.setBlock(fu, cfj, integer, 512);
    }
    
    boolean removeBlock(final BlockPos fu, final boolean boolean2);
    
    default boolean destroyBlock(final BlockPos fu, final boolean boolean2) {
        return this.destroyBlock(fu, boolean2, null);
    }
    
    default boolean destroyBlock(final BlockPos fu, final boolean boolean2, @Nullable final Entity aom) {
        return this.destroyBlock(fu, boolean2, aom, 512);
    }
    
    boolean destroyBlock(final BlockPos fu, final boolean boolean2, @Nullable final Entity aom, final int integer);
    
    default boolean addFreshEntity(final Entity aom) {
        return false;
    }
}
