Взаимодействие с ближайшими блоками (1.7.10)

Честно говоря, я, конечно, нашёл полу-элегантный метод.
Как вам?

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);
}
}
}
}
}

То есть, с момента апдейта самого блока, он проверяет наличие рядом блоков льда и т.д. и, если они есть, начинает обновляться с бешеной скоростью до тех пор, пока все льды вокруг не растают...

Затем, не обнаружив льда, опять обновляется с обычной скоростью...
Если я правильно сам себя понял )))

Скорее всего, должен быть способ проще, но я его не знаю.
Если и никто больше не знает, тему можно закрывать )))

Однако, таким макаром придётся пробивать все координаты близлежащих блоков... Запарненько.
 
прошу прощения,не знал
Dragon2488 написал(а):
Задрал со своими цитатами. Во-первых, цитаты ставятся над ответом, а не под. Во-вторых, цитировать большие сообщения не нужно.
 
Liahim, на будущее,что бы привести код в читабельный вид используй инструмент "программный код" в редакторе http://joxi.ru/KAgEOeXik4jNml
[merge_posts_bbcode]Добавлено: 01.04.2015 08:37:57[/merge_posts_bbcode]

блоки реагируют на то есть ли рядом блок огня и превращаются в другой блок, или огонь ищет блоки и сам их превращает?
 
Читабельный вид - соблюдение кодестайла и нормальное название переменных, методов.
 
Назад
Сверху