Помогите Параметры предмета

  • Автор темы Автор темы Namudos
  • Дата начала Дата начала

Namudos

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
Uninstal
Здравствуйте! У меня есть вопрос.
Допустим, у меня есть кожаный шлем и мне нужно изменить ему максимальную прочность (сделать как у алмазного шлема) и установить очки защиты (тоже как у алмазного).
Еще доспустим, у меня есть деревянный меч, которому нужно установить урон, как у алмазного или другого меча.
Как это все реализовать?
 
Прочность - хранить кастомное значение прочности в описании предмета или (в новых версия) в кастомном нбт.
По поводу защиты - использовать атрибут крепости брони.
Урон - опять же, либо в описании или в нбт, либо, вновь, атрибутом, но уже урон. Со вторым вариантом могут быть проблемы при удерживании предметов в двух руках(кажется, у лука повышается урон, если держать такой предмет).

Когда будешь использовать атрибуты - не забудь в AttributeModifier указать требуемый слот.
 
Прочность - хранить кастомное значение прочности в описании предмета или (в новых версия) в кастомном нбт.
По поводу защиты - использовать атрибут крепости брони.
Урон - опять же, либо в описании или в нбт, либо, вновь, атрибутом, но уже урон. Со вторым вариантом могут быть проблемы при удерживании предметов в двух руках(кажется, у лука повышается урон, если держать такой предмет).

Когда будешь использовать атрибуты - не забудь в AttributeModifier указать требуемый слот.

Можешь привести пример как добавить атрибут, а то либо я что-то не понимаю, либо у меня в ItemMeta нету методов связанных с атрибутами.
 
Можешь привести пример как добавить атрибут, а то либо я что-то не понимаю, либо у меня в ItemMeta нету методов связанных с атрибутами.
Код:
        ItemMeta meta = item.getItemMeta();
        PersistentDataContainer tag = meta.getPersistentDataContainer();
        tag.set(NamespacedKey.minecraft("cmd"), PersistentDataType.STRING,"cmd");
        item.setItemMeta(meta);
 
Код:
        ItemMeta meta = item.getItemMeta();
        PersistentDataContainer tag = meta.getPersistentDataContainer();
        tag.set(NamespacedKey.minecraft("cmd"), PersistentDataType.STRING,"cmd");
        item.setItemMeta(meta);
У меня нету метода getPersistentDataContainer()
Если что, версия 1.12.2
 
Можешь привести пример как добавить атрибут, а то либо я что-то не понимаю, либо у меня в ItemMeta нету методов связанных с атрибутами.
ItemMeta, Attribute, AttributeModifier, AttributeModfier.Operation, EquipmentSlot.
Код:
ItemMeta meta = item.getItemMeta();
AttributeModifier mod = new AttributeModifier(UUID.randomUUID(), "generic.armorToughness", 0.2, AttributeModifier.Operation.ADD_NUMBER, EquipmentSlot.CHEST);
meta.addAttributeModifier(Attribute.GENERIC_ARMOR_TOUGHNESS, mod);
item.setItemMeta(meta);
 
ItemMeta, Attribute, AttributeModifier, AttributeModfier.Operation, EquipmentSlot.
Код:
ItemMeta meta = item.getItemMeta();
AttributeModifier mod = new AttributeModifier(UUID.randomUUID(), "generic.armorToughness", 0.2, AttributeModifier.Operation.ADD_NUMBER, EquipmentSlot.CHEST);
meta.addAttributeModifier(Attribute.GENERIC_ARMOR_TOUGHNESS, mod);
item.setItemMeta(meta);
У меня нету такого метода, кидаю скрин.
upload_2019-6-29_16-5-18.png
 
Назад
Верх