Инструмент ломающий быстро все блоки

Версия Minecraft
1.7.10
98
1
Как реализовать инструмент, который ломает быстро все блокиблоки (т.е топор,кирку,лопатулопату в одном)
 

timaxa007

Модератор
5,831
409
672
Быстро - увеличить скорость у предмета.
Чтобы ломал все блоки (или почти все), нужно дать возможность их ломать.


Код:
	@Override
	//canHarvestBlock
	public boolean func_150897_b(Block block) {
		return effective_with_blocks.contains(block);
	}

	@Override
	//getDigSpeed
	public float func_150893_a(ItemStack is, Block block) {
		return effective_with_blocks.contains(block) ? efficiencyOnProperMaterial : super.func_150893_a(is, block);
	}


Или можно использовать методы от Forge:
Код:
    public boolean canHarvestBlock(Block par1Block, ItemStack itemStack)
    {
        return func_150897_b(par1Block);
    }

    public float getDigSpeed(ItemStack itemstack, Block block, int metadata)
    {
        return func_150893_a(itemstack, block);
    }
 
98
1
timaxa007 написал(а):
Быстро - увеличить скорость у предмета.
Чтобы ломал все блоки (или почти все), нужно дать возможность их ломать.


Код:
 @Override
 //canHarvestBlock
 public boolean func_150897_b(Block block) {
 return effective_with_blocks.contains(block);
 }

 @Override
 //getDigSpeed
 public float func_150893_a(ItemStack is, Block block) {
 return effective_with_blocks.contains(block) ? efficiencyOnProperMaterial : super.func_150893_a(is, block);
 }


Или можно использовать методы от Forge:
Код:
    public boolean canHarvestBlock(Block par1Block, ItemStack itemStack)
    {
        return func_150897_b(par1Block);
    }

    public float getDigSpeed(ItemStack itemstack, Block block, int metadata)
    {
        return func_150893_a(itemstack, block);
    }




Указал в классе кирки подчеркнуло - effective_with_blocks
 
98
1
timaxa007 написал(а):
Либо не работают у тебя методы, либо что-то ты не вписал своего.


У меня работает подобный код.



Попробую найти решение проблемы сам, а еще, как сделать эффект такой же как у ломания редстоун руды кирке, но при ломании любых блоков.
 
98
1
timaxa007 написал(а):
Не понял о каком эффекте ты говоришь(/пишешь).

Извини, видимо плохо объяснил. При поломке редстоун руды от нее отходят красные частички и свет. Хочу сделать, что бы при поломке своей киркой от любых блоков отходили такие частицы и свет.
 

timaxa007

Модератор
5,831
409
672
Когда по блоку редстоун руды кликнули (ЛКМ или ПКМ) и/или по нему ходят, то блок без света и частиц заменяется на другой у которого есть слабое свечение и исходит от него частицы.
 
98
1
timaxa007 написал(а):
Быстро - увеличить скорость у предмета.
Чтобы ломал все блоки (или почти все), нужно дать возможность их ломать.


Код:
 @Override
 //canHarvestBlock
 public boolean func_150897_b(Block block) {
 return effective_with_blocks.contains(block);
 }

 @Override
 //getDigSpeed
 public float func_150893_a(ItemStack is, Block block) {
 return effective_with_blocks.contains(block) ? efficiencyOnProperMaterial : super.func_150893_a(is, block);
 }


Или можно использовать методы от Forge:
Код:
    public boolean canHarvestBlock(Block par1Block, ItemStack itemStack)
    {
        return func_150897_b(par1Block);
    }

    public float getDigSpeed(ItemStack itemstack, Block block, int metadata)
    {
        return func_150893_a(itemstack, block);
    }




Видимо я не указал значения -_-, в возвращении return если указываю, то выдает ошибку. Как указать значение?
 

timaxa007

Модератор
5,831
409
672
В методе func_150897_b нужно возвращать тип boolean, true - то что он может ломать, false - то что не может ломать.
В методе func_150893_a нужно возвращать тип float, 1.0F - стандартная скорость, если больше 1.0F - то будет быстрее ломать блок, если меньше 1.0F - то ломать будет медленнее.
 
Сверху