Атрибут доп. ХП при улучшении брони, getItemAttributeModifiers

Версия Minecraft
1.7.10
167
10
69
Привет. Делаю заточки для брони, которые увеличивают ХП.
При заточке, в броню записываю тег enchant (который будет давать например +1 к ХП).

Дальше в классе брони описываю атрибуты
Java:
public static class Helmet extends ItemArmor {
    .....
    @Override
    public Multimap getItemAttributeModifiers() {
        Multimap map = HashMultimap.create();        
        map.put(SharedMonsterAttributes.maxHealth.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "maxHP", enchant, 0));      
        return map;
    }
    .....
}

И вроде бы все работает хорошо. При заточке +1 дает +1 к ХП, при заточке +2 дает +2 к ХП и т.д.
Но проблема в том что когда рядом стоят 2 игрока с разными заточками (например игрок1 с одетым заточеным +1 шлемом, а игрок2 с одетым заточеным +2 шлемом). Обоим дается бонусы как от заточки +2 (т.е. игроку1 +2 к ХП и игроку2 +2 к ХП). Вроде бы не запутано написал :D
Как можно это дело поправить, разделить и т.д.?
 
Решение
enchant небось глобальная переменная? Ну естественно, предмет же - синглтон, а значит один на весь весь сервер.
Переопредели этот же метод, но со стаком в аргументах. Соответственно и энчант свой доставай из стака.

tox1cozZ

aka Agravaine
8,455
598
2,892
enchant небось глобальная переменная? Ну естественно, предмет же - синглтон, а значит один на весь весь сервер.
Переопредели этот же метод, но со стаком в аргументах. Соответственно и энчант свой доставай из стака.
 
167
10
69
enchant небось глобальная переменная? Ну естественно, предмет же - синглтон, а значит один на весь весь сервер.
Переопредели этот же метод, но со стаком в аргументах. Соответственно и энчант свой доставай из стака.
Спасибо, работает, все оказалось проще чем я думал :D
 
Сверху