package net.minecraft.world.level; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.level.lighting.LevelLightEngine; public interface BlockAndTintGetter extends BlockGetter { float getShade(Direction direction, boolean shade); LevelLightEngine getLightEngine(); int getBlockTint(BlockPos blockPos, ColorResolver colorResolver); default int getBrightness(LightLayer lightType, BlockPos blockPos) { return this.getLightEngine().getLayerListener(lightType).getLightValue(blockPos); } default int getRawBrightness(BlockPos blockPos, int amount) { return this.getLightEngine().getRawBrightness(blockPos, amount); } default boolean canSeeSky(BlockPos blockPos) { return this.getBrightness(LightLayer.SKY, blockPos) >= 15; } }