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

StrayDog31

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

            ShapedRecipe woodendaggeraR = new ShapedRecipe(dsKey, woodendagger);

            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_PROJECTILE, 3, true);
    NamespacedKey dnKey = new NamespacedKey(this, "obsc");
        ShapedRecipe HoneyArmorCR = new ShapedRecipe(dnKey, HoneyArmorC);
       
        HoneyArmorCR.shape("gog", "ggg", "ggg");
        HoneyArmorCR.setIngredient('g', Material.OBSIDIAN);
        HoneyArmorCR.setIngredient('o', Material.AIR);

       
       
        getServer().addRecipe(HoneyArmorCR);
}
Подскажите, пожалуйста, что делать!
 
Вам нужно копать в сторону атрибутов. Подсказка дана, остальное есть в гугле, благо данную тему затронули где-то миллион раз.
 
Не работает настройка урона, в редакторе строка значится как ошибочная.
Ну так ошибка-то какая?
У меня всё нормально. Проверь импорты, возможно Damageable импортировал из пакета entity, а не inventory.
upload_2021-2-27_14-9-47.png

Еще не совсем понимаю, как настроить скорость атаки. А также уровень защиты (или как это назвать) для брони
ItemMeta.addAttributeModifier()

Учись гуглить
 
Ну так ошибка-то какая?
У меня всё нормально. Проверь импорты, возможно Damageable импортировал из пакета entity, а не inventory.
Посмотреть вложение 58878


ItemMeta.addAttributeModifier()

Учись гуглить
Спасибо! Действительно из entity. Гуглить - гуглю, ничего полезного не нашел, хотя, вполне вероятно, плохо искал. Можете подсказать какие-либо полезные источники?
 
Спасибо! Действительно из entity. Гуглить - гуглю, ничего полезного не нашел, хотя, вполне вероятно, плохо искал. Можете подсказать какие-либо полезные источники?
Конкретно на вопросы со скоростью атаки и защитой отвечают эти два запроса:
spigotmc change weapon speed
spigotmc change armor defence

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