Честно говоря, я, конечно, нашёл полу-элегантный метод.
Как вам?
public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random)
{
if(par1World.getBlock(par2+1, par3, par4) == Blocks.ice || par1World.getBlock(par2+1, par3, par4) == Blocks.snow || par1World.getBlock(par2+1, par3, par4) == Blocks.snow_layer)
{
par1World.scheduleBlockUpdate(par2, par3, par4, this, 1);
{
super.updateTick(par1World, par2, par3, par4, par5Random);
if (par5Random.nextInt(100) == 0)
{
if(par1World.getBlock(par2+1, par3, par4) == Blocks.ice || par1World.getBlock(par2+1, par3, par4) == Blocks.snow)
{
par1World.setBlock(par2+1, par3, par4, Blocks.water);
}
if(par1World.getBlock(par2+1, par3, par4) == Blocks.snow_layer)
{
par1World.setBlock(par2+1, par3, par4, Blocks.air);
}
}
}
}
}
То есть, с момента апдейта самого блока, он проверяет наличие рядом блоков льда и т.д. и, если они есть, начинает обновляться с бешеной скоростью до тех пор, пока все льды вокруг не растают...
Затем, не обнаружив льда, опять обновляется с обычной скоростью...
Если я правильно сам себя понял )))
Скорее всего, должен быть способ проще, но я его не знаю.
Если и никто больше не знает, тему можно закрывать )))
Однако, таким макаром придётся пробивать все координаты близлежащих блоков... Запарненько.