protected boolean isValidLightLevel() { BlockPos blockpos = new BlockPos(this.posX, this.getEntityBoundingBox().minY, this.posZ); if (this.world.getLightFor(EnumSkyBlock.SKY, blockpos) > this.rand.nextInt(32)) { return false; } else { int i = this.world.getLightFromNeighbors(blockpos); if (this.world.isThundering()) { int j = this.world.getSkylightSubtracted(); this.world.setSkylightSubtracted(10); i = this.world.getLightFromNeighbors(blockpos); this.world.setSkylightSubtracted(j); } return i <= this.rand.nextInt(8); } }