Кирка с большим радиусом действия.

Статус
В этой теме нельзя размещать новые ответы.
Всем привет. Хочу попросить у вас помощи, в написании новой кирки. Дело в том, что мне нужно сделать так, что при раскопке одного блока (любого, кроме бедрока) копался не один блок, а 3х3х3. Как это сделать? Я полагаю, что магию нужно писать в onBlockDestroyed.. подскажите, как это сделать с наглядным примером, пожалуйста. :3
 

necauqua

когда-то был anti344
Администратор
1,216
27
172
В Item-е ищи, куча там методов же забавных. Среди них должно быть что-то типа onBlockDestroyed.
 
771
5
Код:
public boolean onBlockDestroyed(ItemStack iStack, World world, int blockID, int x, int y, int z, EntityLivingBase entity) {

        if(!world.isRemote){
            for(int i = x - 1; i < x + 2; i++){
                for(int j = y - 1; j < y + 2; j++){
                    for(int k = z - 1; k < z + 2; k++){
                        if(!(world.getBlockId(i, j, k) == Block.bedrock.blockID)){
                            world.destroyBlock(i, j, k, true);
                        }
                    }
                }
            }  
        }

        iStack.damageItem(1, entity);
        return true;
    }
 
anti344 написал(а):
В Item-е ищи, куча там методов же забавных. Среди них должно быть что-то типа onBlockDestroyed.
Спасибо, учту это!
[merge_posts_bbcode]Добавлено: 22.03.2014 23:43:45[/merge_posts_bbcode]

f1rSt1k написал(а):
Код:
public boolean onBlockDestroyed(ItemStack iStack, World world, int blockID, int x, int y, int z, EntityLivingBase entity) {

        if(!world.isRemote){
            for(int i = x - 1; i < x + 2; i++){
                for(int j = y - 1; j < y + 2; j++){
                    for(int k = z - 1; k < z + 2; k++){
                        if(!(world.getBlockId(i, j, k) == Block.bedrock.blockID)){
                            world.destroyBlock(i, j, k, true);
                        }
                    }
                }
            }  
        }

        iStack.damageItem(1, entity);
        return true;
    }
Спасибо огромное! Тему можно закрыть.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху