Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Как вообще работать с PowerNBT ?

Тема в разделе "[Архив] Помощь", создана пользователем Vedroyder, 16 мар 2014.

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

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

    Баллы:
    103
    Имя в Minecraft:
    Vedroyder
    Как вообще работать с PowerNBT ?
    Интересует его работа с shoppingcart (выдавать переименованные итемы, итемы с нестандартными лорами, чанты).
    Из того что написано на dev.bukkit ничего не понятно. вроде бы читаю, а вроде бы и не читаю.
    Короче - как вообще с этими тэгами работать в игре и в бд?
    Если говорить о shopping cart , то что надо вписывать в поле extra в таблице?
    Есть русскоязычные человеческие гайды по этому плагину?
     
  2. Хостинг MineCraft
    <
  3. DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    На самом деле сложно пользоваться этим плагином без знаний как устроен формат данных NBT
    и почти вся литература только на английском, поэтому придется довольствоваться тем, что есть: http://minecraft.gamepedia.com/Chunk_format

    Попробую сформулировать очень коротко:
    Некоторые предметы могут иметь дополнительные свойства: нестандартное имя, описание, енчанты, цвет фейерверков, цвет брони, текст в книгах и т.д. - все эти данные хранятся в формате NBT.
    Изменить первую строчку Lore с помощью PowerNBT можно таким способом:
    /nbt item display.Lore[0] = "текст"
    удалить тег Lore:
    /nbt item display.Lore remove
    Аналогично редактируются любые свойства.

    Про shoppingcart:
    Судя по описанию, он совместим с PowerNBT
    Чтобы сохранять нестандартные теги в базу, они разработали конвертер JSON -> NBT
    Кстати, придется еще знакомиться с таким форматом, как JSON
    Подробнее - тут. Не ленитесь читать.
     
    NaPsTeR, Hephest и Vedroyder нравится это.
  4. Автор темы
    Vedroyder

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

    Баллы:
    103
    Имя в Minecraft:
    Vedroyder
    примного благодарен, я уже думал что тема затеряется в анналах рб.
     
  5. NaPsTeR

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

    Баллы:
    88
    Имя в Minecraft:
    kesha0129
    Прочитал документацию, часть понял, часть нет. Допустим у нас есть меч(зачарован через кодировку чар ShoppingCart). При выдаче его без extra зачарование на месте, но если добавить какой либо тег({display:{Name:{"Swordself"}}), то зачарка слетает. Пробовал делать цветные надписи при помощи {display:{Name:{"&6Swordself"}}, но этот символ не считается за цвет и только добавляется к названию. Я пробовал зачаровывать через nbt-extra({ench:[{id:16,lvl:3}]}), но у меня крашится клиент. Также пытался восстановить зачарования через {StoredEchantments:[{id:16,lvl:3}]}, но и эти попытки не увенчались успехом(зачарок просто не было).
    Для справок: Версия майна 1.5.2
    Поэтому у меня 2 вопроса:

    1. Возможно подписать меч c помощь Name, добавить к нему описание Lore без потери зачарований через extra?
    2. Как изменить цвет у надписей Lore и Name через тот же extra?
     
  6. saharin94

    saharin94 Старожил Пользователь Заблокирован

    Баллы:
    173
    Skype:
    RikkiLooh
    Имя в Minecraft:
    RubukkitDniwe
    У тебя не указаны типы значений NBT-тегов: byte, shotr, int и т.п.
     
    NaPsTeR нравится это.
  7. NaPsTeR

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

    Баллы:
    88
    Имя в Minecraft:
    kesha0129
    Для примера не подскажешь, как правильно указывать надо?
     
  8. DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    достаточно всего одной опечатки, чтобы клиент версии < 1.7 вылетел с ошибкой.
    Приведи команды целиком.
     
    NaPsTeR нравится это.
  9. NaPsTeR

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

    Баллы:
    88
    Имя в Minecraft:
    kesha0129
    {display:{Name:"Swordself",Lore:["Any Lore"]},tag:{StoredEnchantments:[{id:16,lvl:3}]}} - С этой командой все ок кроме зачарований.
    {display:{Name:"Name of the Item",Lore:["Another Lore of the Item"]},ench:[{id:16,lvl:3}]} - Тут уже серьезней, ибо после наведения курсора следует мгновенный краш клиенты(ошибка видна ниже)
    Код:
    java.lang.ClassCastException: net.minecraft.nbt.NBTTagInt cannot be cast to net.minecraft.nbt.NBTTagShort
    at net.minecraft.nbt.NBTTagCompound.func_74765_d(SourceFile:116)
    at net.minecraft.item.ItemStack.func_82840_a(ItemStack.java:650)
    at net.minecraft.client.gui.inventory.GuiContainer.func_74184_a(GuiContainer.java:222)
    at net.minecraft.client.gui.inventory.GuiContainer.func_73863_a(GuiContainer.java:198)
    at net.minecraft.client.renderer.InventoryEffectRenderer.func_73863_a(SourceFile:31)
    at net.minecraft.client.gui.inventory.GuiInventory.func_73863_a(SourceFile:48)
    at net.minecraft.client.renderer.EntityRenderer.func_78480_b(SourceFile:1023)
    at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:871)
    at net.minecraft.client.Minecraft.run(Minecraft.java:760)
    at java.lang.Thread.run(Thread.java:722)
    --- END ERROR REPORT c7efde6a ----------
     
  10. DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    тип данных нужно указывать. Конкретно - short . Без указания типов прокатит только на 1.7
     
    NaPsTeR нравится это.
  11. NaPsTeR

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

    Баллы:
    88
    Имя в Minecraft:
    kesha0129
    Спасибо, с зачарованиями и крашами я разобрался. Теперь есть подписаный, зачареный меч. А как быть с цветами надписей? А то &6 не работает, а просто добавляется к имени.
     
  12. DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    Видимо придется использовать символ § вместо & в базе данных.

    Только PowerNBT делает замену [&]->[§], [/&]->[&] потому что в чат невозможно ввести цветосимвол. В базе данных - пишите что хотите.
     
    NaPsTeR нравится это.
  13. NaPsTeR

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

    Баллы:
    88
    Имя в Minecraft:
    kesha0129
    Я с PowerNBT боюсь работать, ибо эти теги, как я понял, составляющая всего мира карты, и лишнее изменение без опыта работы с ними может повлечь за собой либо краш клиента, либо краш сервера. Или вообще можно потерять мир навсегда.[DOUBLEPOST=1396342729,1396342348][/DOUBLEPOST]
    Цвет протестировал, все работает. Теперь многое, что было скрыто от моего понимания, стало мне понятно. Еще раз спасибо за помощь.
     
    DPOH-VAR нравится это.

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