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

Стартап Создание книги и открытие ее по комманде

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

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

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

    Баллы:
    21
    Имя в Minecraft:
    TheSkiffSailor
    Здраствуйте форумчане!
    Этот стартап научит вас делать Book Gui а так - же открывать их по комманде!

    Что я получу нового в этом стартапе?

    • Я смогу создать интерфейс книги
    • Я смогу ткрыть этот интерфейс по комманде
    • Я смогу добавлять текст и страницы в этот интерфейс
    Ну что-же, приступим!
    Попробуем создать открыть книгу коммандой /opentestbook

    Что происходит в коде вообще:
    1. Происходит получение игрока, а именно того кто отправил комманду.
    2. Создаётся книга и ее хранитель Nbt-тэгов
    3. Добавляем значения в хранитель данных
    4. Добавление описания
    5. Добавление страницы книге
    6. Устанавливаем ранее созданой книге мету и тэги
    7. Ложим игроку книгу в руки
    8. Открываем ее
    9. Возвращаем в руку то что в ней и было до открытия книги
    Код:
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    //Получаем игрока
    Player p = (Player) sender;
    HumanEntity he = (HumanEntity) p;
    CraftHumanEntity che = (CraftHumanEntity) he;
    EntityHuman eh = che.getHandle();
    //Создаём ItemStack и NBTTagCompound
    ItemStack book = new ItemStack(Item.getById(387));
    NBTTagCompound tag = new NBTTagCompound();
    tag.setString("author", "Notch"); //Автор книги
    tag.setString("title", "My Dairy"); //Заставка
    tag.set("display", new NBTTagCompound());
    //Добавляем значения в tag "display" (название и описание)
    NBTTagCompound display = tag.getCompound("display");
    display.setString("Name", ChatColor.translateAlternateColorCodes('&', "&cCustom Book GUI"));
    
    NBTTagList lore = new NBTTagList(); //Описание...
    lore.add(new NBTTagString("Hello World!"));
    display.set("Lore", lore); //Установка описания книге
    //Создаем страницу в книге и добавляем на нее текст
    NBTTagList pages = new NBTTagList();
    pages.add(new NBTTagString("How Are you? I'm the first page and I have nothing on special!")); //Добавляем страницу и текст на неё
    //Устанавливаем книге мету и теги
    book.setTag(tag);
    //Ставим книгу игроку в руку
    org.*********ventory.ItemStack hand = p.getItemInHand();
    p.setItemInHand(CraftItemStack.asBukkitCopy(book));
    //Открываем гуи книги
    eh.openBook(book);
    //Возвращаем игроку предмет в руки (тот что у него и был)
    p.setItemInHand(hand);
    //Добавляем статистику, будто это обычная книга и перо.
    eh.b(StatisticList.USE_ITEM_COUNT[387]);
    return true;
    }


     
  2. AkameCoder

    AkameCoder Ньюби

    Баллы:
    1
    Имя в Minecraft:
    akame
    Жесть, чем тебя BookMeta не устроила?
     
  3. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    BookMeta + WrapperPlayServerCustomPayload
     
  4. Namer_PRO

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

    Баллы:
    76
    Имя в Minecraft:
    Namer_PRO
    Книгу не так и сложно самому создать, старт ап бесполезный.
     
  5. Namer_PRO

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

    Баллы:
    76
    Имя в Minecraft:
    Namer_PRO
    Забыл о
     
  6. Namer_PRO

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

    Баллы:
    76
    Имя в Minecraft:
    Namer_PRO
    BookCommands вполне зайдет тоже
     
  7. AkameCoder

    AkameCoder Ньюби

    Баллы:
    1
    Имя в Minecraft:
    akame
    Причем тут BookCommands?
     
  8. Namer_PRO

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

    Баллы:
    76
    Имя в Minecraft:
    Namer_PRO
    При том, что аналог неплохой. И париться с кодом не надо.
     
  9. AkameCoder

    AkameCoder Ньюби

    Баллы:
    1
    Имя в Minecraft:
    akame
    Он написан херово)
     
  10. Namer_PRO

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

    Баллы:
    76
    Имя в Minecraft:
    Namer_PRO
    Что там не так? Серьезно, если скажешь буду очень благодарен (просто думаю использовать его или нет) :)
     

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