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

Помогите Кастомный NBT для блока без библиотек

Тема в разделе "Разработка плагинов для новичков", создана пользователем Energy warrior, 13 янв 2019.

  1. Автор темы
    Energy warrior

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

    Баллы:
    76
    Я хочу добавить на блок и предмет от блока кастомный NBT, чтобы когда ставишь блок проверялось есть ли на нём этот тег и когда кликаешь по блоку, проверялось есть ли этот тег. Я погуглив нашёл одну либу, но для неё нужен ProtocolLib, мне не очень хочется его ставить и хочется научиться это делать без библиотек. Есть ли какие-то статьи на эту тему или снипеты? Или есть резон ставить ProtocolLib и юзать либу?
     
  2. Автор темы
    Energy warrior

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

    Баллы:
    76
  3. AbstractCoder

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

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Спигот режет кастом нбт у ентити и тайлов.
     
  4. Автор темы
    Energy warrior

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

    Баллы:
    76
    Но мне для блока надо и для предмета, но ведь вдруг чел выкинет предмет. Если нельзя кастомным нбт тогда может есть другой тег, я помню @alexandrage говорил о костылях со своим чаром, может это сробит. Но мне бы сделать это более автоматизировано. Есть какие-нибудь апи для примера где парой методов можно создать свой енчант.
     
  5. alexandrage

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

    Баллы:
    173
    На блок нельзя.
     
  6. alexandrage

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

    Баллы:
    173
    Я тебе давал создание чара одной строчкой. this.ench = new FaceEnchantment(NamespacedKey.minecraft("120"));
    Останется только зачарить предмет.
    Сам отказался.
     
  7. Автор темы
    Energy warrior

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

    Баллы:
    76
    Я кое-что придумал. Можно сетнуть блоку BlockData на свою. Но вопрос, что будет с датой если я сломаю блок, она удалится или останется(хотя логично, что нет, ибо блок становится предметом). Тогда вопрос тот же как на предмет накладывать кастом нбт, как его сделать? Скажите плиз я в NMS, к сожалению, не шарю.
    Когда ты мне давал?
     
  8. Автор темы
    Energy warrior

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

    Баллы:
    76
    А можно получить размер всех зареганых енчантов? Чтобы на случай если уже под этим номером есть енчант не было ошибок!
     
  9. AbstractCoder

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

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Глупый что ли? У блока вообще нет нбт, только у тайлов (сундуки, печки и т. п.), энтити и айтемов. Кастомное нбт не режется только у айтемов, у тейлов и энтити режется. Идентифицировать блок при клике можешь по его координатам, заранее сохранив их.

    Если на айтем поставил кастомный нбт, то при выкидывании ниче теряться не будет.
     
  10. alexandrage

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

    Баллы:
    173
    Там уже давно больше чем номера, целая строка. Сложно создать ошибку.
     
  11. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Сундуки, печки, и тд. не теряют своё название даже когда их ломают. А ТС'у надо уточнить что он именно собирается делать. Самый очевидный вариант - мапа с локациями блоков.
     
  12. AbstractCoder

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

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Ну так нбт с содержанием сундука не теряют, а кастомное нбт резаться будет, речь тут о нем.
     
  13. Автор темы
    Energy warrior

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

    Баллы:
    76
    У меня есть верстак, свой верстак, чтобы не парится с файлами и JSON'ами я захотел дать моим предметам НБТ тег, ибо я помню что с ними не сделай, тег они не потеряют. После я хотел сделать проверку есть ли этот тег у блока или моего предмета, если есть то что-то делаю. Например убираю возможность использовать их в обычных крафтах. Как я понял выше на блок кастом тег наложить нельзя(а жаль) а на предметах спигот теги режет. Тогда я хотел для блока сделать блок дату и по ней проверять, но первое блок дата только у блока а не у предмета, поэтому стираться будет, во-вторых уже так удобно как с тегом не будет ибо придётся какой-то тег и на предмет накладывать(хотя не так уж неудобно). На предмет тупо енчант кинуть, но мне не нужны эти переливания, поэтому надо как-то с тегом. Вот что я хочу сделать.
     
  14. Автор темы
    Energy warrior

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

    Баллы:
    76

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