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

Помогите Инструменты: урон, скорость и защита.

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

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

    StrayDog31 Новичок Пользователь

    Баллы:
    6
    Приветствую! Написал код для нового оружия:
    PHP:
    private void woodendaggera() {
           
            
    ItemStack woodendagger = new ItemStack(Material.WOODEN_SWORD);
            
    ItemMeta meta woodendagger.getItemMeta();
            
    Damageable damage = (Damageablemeta;
            
    damage.setDamage(damage.getDamage() + 20);
                
    meta.setDisplayName(ChatColor.WHITE "Деревянный кинжал");
                
    woodendagger.setItemMeta(meta);           
            
    NamespacedKey dsKey = new NamespacedKey(this"woodendaggera");

                
    ShapedRecipe woodendaggeraR = new ShapedRecipe(dsKeywoodendagger);

                
    woodendaggeraR.shape("ggg""gog""gug");
                
    woodendaggeraR.setIngredient('o'Material.ACACIA_PLANKS);
                
    woodendaggeraR.setIngredient('u'Material.STICK);
                
    woodendaggeraR.setIngredient('g'Material.AIR);
                
    getServer().addRecipe(woodendaggeraR);
            } 
    Не работает настройка урона, в редакторе строка значится как ошибочная. Еще не совсем понимаю, как настроить скорость атаки. А также уровень защиты (или как это назвать) для брони:
    PHP:
    private void ObsidianC() {
       
        
    ItemStack HoneyArmorC = new ItemStack(Material.NETHERITE_CHESTPLATE);
        
    ItemMeta meta HoneyArmorC.getItemMeta();
            
    meta.setDisplayName(ChatColor.DARK_PURPLE "Обсидиановый нагрудник");
            
    HoneyArmorC.setItemMeta(meta);
            
    meta.addEnchant(Enchantment.PROTECTION_PROJECTILE3true);
        
    NamespacedKey dnKey = new NamespacedKey(this"obsc");
            
    ShapedRecipe HoneyArmorCR = new ShapedRecipe(dnKeyHoneyArmorC);
           
            
    HoneyArmorCR.shape("gog""ggg""ggg");
            
    HoneyArmorCR.setIngredient('g'Material.OBSIDIAN);
            
    HoneyArmorCR.setIngredient('o'Material.AIR);

           
           
            
    getServer().addRecipe(HoneyArmorCR);
    }
    Подскажите, пожалуйста, что делать!
     
  2. SaMEC

    SaMEC Старожил Пользователь

    Баллы:
    173
    Skype:
    support.meedway
    Имя в Minecraft:
    Nick
    Вам нужно копать в сторону атрибутов. Подсказка дана, остальное есть в гугле, благо данную тему затронули где-то миллион раз.
     
  3. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Ну так ошибка-то какая?
    У меня всё нормально. Проверь импорты, возможно Damageable импортировал из пакета entity, а не inventory.
    upload_2021-2-27_14-9-47.png

    ItemMeta.addAttributeModifier()

    Учись гуглить
     
  4. Автор темы
    StrayDog31

    StrayDog31 Новичок Пользователь

    Баллы:
    6
    Спасибо! Действительно из entity. Гуглить - гуглю, ничего полезного не нашел, хотя, вполне вероятно, плохо искал. Можете подсказать какие-либо полезные источники?
     
  5. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Конкретно на вопросы со скоростью атаки и защитой отвечают эти два запроса:
    spigotmc change weapon speed
    spigotmc change armor defence

    А для общего развития можно просто проглядеть методы и наследования ItemStack и ItemMeta. Делать это можно как через саму среду разработки, так и при помощи javadoc'ов: https://hub.spigotmc.org/javadocs/bukkit/
     

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