Значение урона зачарованного меча

Версия Minecraft
1.12.2
API
Forge
12
1
0
Всем привет! Делаю меч, который копирует значение урона другого меча. Делаю я это через наковальню при помощи соответствующего ивента. И всё работает, но есть одно но. Значение урона меча, которое должно быть скопировано, я получаю через getAttackDamage(), который возвращает значение урона из материала меча. Есть ли какой - нибудь способ получить урон меча, учитывая зачарование "острота" на нём? Заранее спасибо!

Вот код самого ивента наковальни:

Java:
public class Events {
    @SubscribeEvent
    public void AnvilRecipe(AnvilUpdateEvent e) {
        System.out.println("ПРОВЕРКА 1");
        if(e.getLeft().getItem()==ItemsRegistry.SWORD) {
            if(e.getRight().getItem() instanceof ItemSword) {
                ItemStack out = new ItemStack(ItemsRegistry.SWORD);
                System.out.println("ПРОВЕРКА 2");
                e.setCost(20);
                NBTTagCompound nbt = out.getTagCompound();
                    if(nbt==null) {
                        nbt = new NBTTagCompound();
                        out.setTagCompound(nbt);
                    }
                ItemSword sword = (ItemSword) e.getRight().getItem();
                nbt.setDouble("SwordDamage", (double) sword.getAttackDamage()+4.0D);
                e.setOutput(out);
            }
        }
    }   
}
 

sk9zist :l

Исправился
981
18
157
Есть ли какой - нибудь способ получить урон меча, учитывая зачарование "острота" на нём?
Тоже думал над этим. Если не ошибаюсь, острота - это рандом. Лучший вариант тут - ставить остроту и второму мечу.

Копировать теги:
Java:
ItemSword sword = (ItemSword) e.getRight().getItem();
NBTTagCompound nbt = sword.getTagCompound();
out.setTagCompound(nbt);
 
Последнее редактирование:
Сверху