timaxa007
Модератор
- 5,831
- 409
- 676
В конструкторе нужно указать его максимальное повреждение, типа так:Dovakin написал(а):Как сделать ,чтобы,например,чем дольше жмешь на пкм(при этом анимация setItemInUse)тем больше нанесется урона итему. Зажимаем,а итем дамагается
Код:
setMaxDamage(1024);
onItemRightClick в сучаи если игрок нажал на ПКМ, то как-бы мы игроку отправляем сообщение, что мы его используем:
Код:
public ItemStack onItemRightClick(ItemStack is, World world, EntityPlayer player) {
player.setItemInUse(is, getMaxItemUseDuration(is));
return is;
}
Код:
public int getMaxItemUseDuration(ItemStack is) {
return 72000;
}
Код:
public void onUpdate(ItemStack is, World world, Entity entity, int tick, boolean flag) {
if (entity instanceof EntityPlayer) {
if (((EntityPlayer)entity).isUsingItem()) {
if (!world.isRemote) {
is.damageItem(1, (EntityPlayer)entity);
}
}
}
}
Если не хочешь, чтобы он каждый тик повреждался, то можно использовать мировое время игры:
if (world.getWorldTime() % 20 == 0) {}
... типа каждую секунду (20 тиков = 1 секунде). Либо использовать переменную, ну и т.д.
У каждого может быть свой подход к создаю подобного кода и т.п.