public virtual bool IsSheltered(Vector3i position) { // We only want to check air positions. if (theEntity.world.GetBlock(position).type != 0) { return(false); } float num = 1f; int x = position.x; int y = position.y; int z = position.z; IChunk chunkFromWorldPos = theEntity.world.GetChunkFromWorldPos(x, y, z); num = Mathf.Max(chunkFromWorldPos.GetLight(x, y, z, Chunk.LIGHT_TYPE.SUN), chunkFromWorldPos.GetLight(x, y + 1, z, Chunk.LIGHT_TYPE.SUN)); num /= 15f; return(1f - num > 0.3f); }