Изменение урона меча в зависимости от значения NBT тега

Версия Minecraft
1.7.10

Sainthozier

Стрелочник
623
11
369
Всем привет.
Собственно, вопрос в заголовке. Делаю некое подобие "апгрейда" для инструментов и мечей. Пока интересуют только мечи, в них хранится переменная типа byte со значением от 1 до 3. Для теста хочу умножить базовый урон на 2 на каждом уровне(первый уровень - дефолтный). Под "базовым уроном" подразумеваю следующее:
Java:
@Override
public Multimap getAttributeModifiers(ItemStack stack) {
    Multimap multimap = super.getAttributeModifiers(stack);
    multimap.removeAll(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName());
    multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(),
            new AttributeModifier(field_111210_e, "Weapon modifier", 10D, 0));
    return multimap;
}
Не зная толком то, как работает этот метод, изначально думал, что будет достаточно получить в нём текущий лвл предмета и через switch добавлять атрибут с соответствующим значением урона, но нет, так не работает. Пробовал это же, но только в методе onUpdate - тоже не работает.
Может я вообще не в том направлении двигаюсь, подскажите, пожалуйста, как правильнее следует сделать.
 
344
1
47
По прошлому вопросу человека: он использует модификатор.

....stackTagCompound.

Проверяй на наличие тега и в соответствии с этим назначай урон.
 
344
1
47
Вот, примерно так)


Java:
  if (itemstack.stackTagCompound.getTag("damage10") != null)
        {
         new AttributeModifier(field_111210_e, "Weapon modifier", 10D, 0));
        } else if((itemstack.stackTagCompound.getTag("damage10") != null)
        {
       new AttributeModifier(field_111210_e, "Weapon modifier", 10D, 0));
        } .... .....
 

Sainthozier

Стрелочник
623
11
369
Так я же написал, как сделал. А ошибка заключалась в том, что попросту в каждом кейсе было одинаковое значение урона, я копирнул и не доглядел )
Не зная толком то, как работает этот метод, изначально думал, что будет достаточно получить в нём текущий лвл предмета и через switch добавлять атрибут с соответствующим значением урона
 
Сверху