1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем fx8320e, 4 апр 2021.

  1. Автор темы
    fx8320e

    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_SWORD1);
                
    ItemMeta me woodendagge.getItemMeta();
                
    AttributeModifier modifier = new AttributeModifier(UUID.randomUUID(), "generic.attackDamage"7AttributeModifier.Operation.ADD_NUMBEREquipmentSlot.HAND);
                
    me.addAttributeModifier(Attribute.GENERIC_ATTACK_DAMAGEmodifier);
                
    AttributeModifier modifier2 = new AttributeModifier(UUID.randomUUID(), "generic.attackSpeed"2AttributeModifier.Operation.ADD_NUMBEREquipmentSlot.HAND);
                
    me.addAttributeModifier(Attribute.GENERIC_ATTACK_SPEEDmodifier2);
                
    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);
            }   
     

    Вложения:

Поделиться этой страницей