Улучшение предмета при крафте.

Версия Minecraft
1.12.2
API
Forge
122
4
6
Здорова все, вопрос в следующем создал крафт на улучшение все работает, но показатели при крафте не увеличиваются, подскажите как прописать чтоб увеличивался начальный показатель на заданное значение, при этом ничего лишнего не добавлялась.
Java:
private static final UUID[] ARMOR_MODIFIERS = new UUID[] {UUID.fromString("845DB27C-C624-495F-8C9F-6020A9A58B6B"), UUID.fromString("D8499B04-0E66-4726-AB29-64469D734E0D"), UUID.fromString("9F3D476D-C118-4544-8365-64846904B48E"), UUID.fromString("2AD3F246-FEE1-4E67-B886-69FD380BB150")};
    @Override
    public ItemStack getCraftingResult(InventoryCrafting inv) {
        ItemStack stackUpArmor = ItemStack.EMPTY;
        for (int i = 0; i < inv.getSizeInventory(); i++) {
            ItemStack stack = inv.getStackInSlot(i);
            if (stack != null && stack.getItem() instanceof ItemArmor) {
                ItemArmor armor = (ItemArmor) stack.getItem();
                if (armor.getEquipmentSlot() == armor.armorType) {
                    stackUpArmor = stack.copy();
                    break;
                }
            }
        }
        if (stackUpArmor == ItemStack.EMPTY) return ItemStack.EMPTY;
        EntityEquipmentSlot slot = ((ItemArmor) stackUpArmor.getItem()).getEquipmentSlot();
        ItemArmor.ArmorMaterial am = ((ItemArmor) stackUpArmor.getItem()).getArmorMaterial();

        Multimap mm = stackUpArmor.getAttributeModifiers(slot);

        //вот это не получается
        mm.put(SharedMonsterAttributes.ARMOR.getName(), new AttributeModifier(ARMOR_MODIFIERS[slot.getIndex()], "Armor modifier", (double) am.getDamageReductionAmount(slot) + 0.1f, 0));

        return stackUpArmor;
    }
 
Сверху