Что ж, я посмотрел. (Они не выпадают при недостатке света). При росте культуры смотрят на блок над ними. Даже если использовать тот же метод, то он все равно работает криво. При выведении значения в консоль, чередуется уровень света, и - какого-то черта - 15... (даже ночью при абсолютном отсутствии света. Если засунуть в какую-нибудь пещеру, то значение спадет).
Чтобы метод работал непосредственно на блоке тайла, я дал блоку свойство useNeighborBrightness. В противном случае любые попытки использовать хоть какой-то метод, связанные со светом, таким образом оканчивались провалом.
public class TileSpectralOre extends TileEntity {
public boolean canUpdate() {
return true;
}
int l;
public void updateEntity () {
l = this.worldObj.getBlockLightValue( xCoord, yCoord, zCoord);
if (l >= 8) {
this.worldObj.setBlock(xCoord, yCoord, zCoord, Blocks.stone, 0 , 2);
}
}
}
Прикреплю часть код, может тут еще что-то не так сделал.
На самом деле, еще можно использовать метод
l = this.worldObj.getSkyBlockTypeBrightness(EnumSkyBlock.Block, xCoord, yCoord, zCoord);
Но он будет реагировать исключительно на источники света. При дневном свете не работает.
l = this.worldObj.getSkyBlockTypeBrightness(EnumSkyBlock.Sky, xCoord, yCoord, zCoord);
А такая штука под открытым небом даже ночью возвращает 15.