Помогите Странный баг в PrepareItemCraftEvent

fx8320e

Активный участник
Пользователь
Баллы
66
Приветствую! Столкнулся с такой проблемой: делаю крафт из кастомных предметов и, если положить в сетку крафта более одного предмета, то их остаток рассчитывается по какой-то странной формуле (n-1)*2. Знающие люди, в чем может быть причина, подскажите пожалуйста!
PHP:
    @EventHandler
    public void PallDr(PrepareItemCraftEvent  event) {
   
        ItemStack woodendagger = new ItemStack(Material.NAUTILUS_SHELL);
        ItemMeta meta = woodendagger.getItemMeta();
            meta.setDisplayName(ChatColor.DARK_BLUE + "Палладиевый слиток");
            woodendagger.setItemMeta(meta);   
           
            ItemStack woodendagge = new ItemStack(Material.NETHERITE_SWORD, 1);
            ItemMeta me = woodendagge.getItemMeta();
            AttributeModifier modifier = new AttributeModifier(UUID.randomUUID(), "generic.attackDamage", 7, AttributeModifier.Operation.ADD_NUMBER, EquipmentSlot.HAND);
            me.addAttributeModifier(Attribute.GENERIC_ATTACK_DAMAGE, modifier);
            AttributeModifier modifier2 = new AttributeModifier(UUID.randomUUID(), "generic.attackSpeed", 2, AttributeModifier.Operation.ADD_NUMBER, EquipmentSlot.HAND);
            me.addAttributeModifier(Attribute.GENERIC_ATTACK_SPEED, modifier2);
            me.setDisplayName(ChatColor.DARK_BLUE + "Палладиевый кинжал");
            woodendagge.setItemMeta(me);
             
        CraftingInventory craft = event.getInventory();
        ItemStack[] matrix = craft.getMatrix();
        if(craft.getType() == InventoryType.WORKBENCH
                && matrix[0] == null
                && matrix[1] == null 
                && matrix[2] == null 
                && matrix[3] == null 
                && matrix[4] != null && matrix[4].getType() == Material.NAUTILUS_SHELL && matrix[4].hasItemMeta() && matrix[4].getItemMeta().equals(meta)
                && matrix[5] == null 
                && matrix[6] == null
                && matrix[7] != null && matrix[7].getType() == Material.STICK
                && matrix[8] == null) {
           

                    event.getInventory().setResult(woodendagge);
        }
 

Вложения

  • 2021-04-04_00.11.37.png
    2021-04-04_00.11.37.png
    289,5 КБ · Просмотры: 9
Назад
Верх