Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Апгрейд кастомных предметов

fx8320e

Активный участник
Пользователь
Баллы
66
Приветствую! Возникла такая проблема: в моем проекте есть кастомное оружие: косы, булавы, кинжалы и тд. Собственно, встал вопрос об их перековке в незеритовые версии. На данный момент есть такой код, однако, он хоть и переделывает сам предмет, не меняет его мету. Идей, что с ним не так нет, аналогичный код с PrepareCraftIvent работает без изъянов. Подскажите, пожалуйста, что можно сделать.
PHP:
@EventHandler
    public void PrepareSmithing(PrepareSmithingEvent e) {
        SmithingInventory inventory = e.getInventory();
        ItemStack tool = new ItemStack(Material.DIAMOND_SWORD);
      
        ItemMeta a = tool.getItemMeta();
        AttributeModifier modifier = new AttributeModifier(UUID.randomUUID(), "generic.attackDamage", 4.5f, AttributeModifier.Operation.ADD_NUMBER, EquipmentSlot.HAND);
        a.addAttributeModifier(Attribute.GENERIC_ATTACK_DAMAGE, modifier);
        AttributeModifier modifier2 = new AttributeModifier(UUID.randomUUID(), "generic.attackSpeed", 3, AttributeModifier.Operation.ADD_NUMBER, EquipmentSlot.HAND);
        a.addAttributeModifier(Attribute.GENERIC_ATTACK_SPEED, modifier2);
        a.setDisplayName(ChatColor.WHITE + "Алмазный кинжал");
        tool.setItemMeta(a);
          
        ItemStack me = inventory.getItem(1);
        ItemStack y = inventory.getItem(1);
      
        if(y.getType() == Material.DIAMOND_SWORD) {
        if(y.hasItemMeta()) {
        if(y.getItemMeta().equals(a)) {
        if(me.getType() == Material.NETHERITE_INGOT) {
        
        ItemStack diamonddaggere = new ItemStack(Material.NETHERITE_SWORD);
        ItemMeta meta = diamonddaggere.getItemMeta();
        AttributeModifier modifier3 = new AttributeModifier(UUID.randomUUID(), "generic.attackDamage", 6, AttributeModifier.Operation.ADD_NUMBER, EquipmentSlot.HAND);
        meta.addAttributeModifier(Attribute.GENERIC_ATTACK_DAMAGE, modifier3);
        AttributeModifier modifier4 = new AttributeModifier(UUID.randomUUID(), "generic.attackSpeed", 3, AttributeModifier.Operation.ADD_NUMBER, EquipmentSlot.HAND);
        meta.addAttributeModifier(Attribute.GENERIC_ATTACK_SPEED, modifier4);
            meta.setDisplayName(ChatColor.WHITE + "Незеритовый кинжал");
            diamonddaggere.setItemMeta(meta);
          
            e.setResult(diamonddaggere);
        }
        }
        }
        }
 

Поделиться этой страницей

Назад
Верх