package net.minecraft.world.level;

import net.minecraft.core.BlockPos;
import net.minecraft.world.level.lighting.LevelLightEngine;
import net.minecraft.core.Direction;

public interface BlockAndTintGetter extends BlockGetter {
    float getShade(final Direction fz, final boolean boolean2);
    
    LevelLightEngine getLightEngine();
    
    int getBlockTint(final BlockPos fu, final ColorResolver colorResolver);
    
    default int getBrightness(final LightLayer bqi, final BlockPos fu) {
        return this.getLightEngine().getLayerListener(bqi).getLightValue(fu);
    }
    
    default int getRawBrightness(final BlockPos fu, final int integer) {
        return this.getLightEngine().getRawBrightness(fu, integer);
    }
    
    default boolean canSeeSky(final BlockPos fu) {
        return this.getBrightness(LightLayer.SKY, fu) >= this.getMaxLightLevel();
    }
}
