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

Помогите Как выдать опыт игроку через код.

Тема в разделе "Разработка плагинов для новичков", создана пользователем TeldiGems, 23 июл 2022.

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

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

    Баллы:
    61
    Как выдавать опыт игроку допустим по команде выдаётся бутылка с опытом и при нажатии ПКМ должно выдастся 30 лвл?
     
  2. Zlodey_duo

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

    Баллы:
    66
    Имя в Minecraft:
    _X_ZLODEY_X_
    Не проще присвоить 30 лвл игроку сразу после ввода команды?

    Если делать так как ты хочешь, это нужно обращаться к ивентам "EventHandler"
    То-есть:
    1) Нужно создать команду к примеру: /lvlup
    2) Нужно выдать игроку item (бутылёк-опыта)
    3) Нужно создать EventHandler. Я думаю PlayerInteractEvent и сделать проверку
    Было ли нажатие ПКМ и какой у игрока item в руке, если всё так то выдаём опыт при разбитии бутылька
     
  3. Автор темы
    TeldiGems

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

    Баллы:
    61
    Присвоить сразу нет. Потому что я хочу сделать типо в банку можно было собрать свой опыт а потом либо продать либо самому использовать через время.
    2. Можно это в виде кода бо я чайнк:)
     
  4. remz228

    remz228 Ньюби

    Баллы:
    1
    скачай плагин executeble items, создай предмет в видео бутылька опыта, добавь активатор, что при нажатии будет вводится команда /xp give %player_name% 15l
     
  5. HauserGrim

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

    Баллы:
    96
    Это раздел о разработке, а не костылях.
     
  6. remz228

    remz228 Ньюби

    Баллы:
    1
    зачем чтото создавать , если такое уже есть
     
  7. HauserGrim

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

    Баллы:
    96
    https://www.spigotmc.org/wiki/create-a-simple-command/
    player.getInventory().addItem(итемстак)
    new ItemStack(Material.бутылка)

    Ивент уже сказали

    Если нужно проверять предмет, если версия 1.14+, то используй Persitstent Data, чтобы отметить и проверять, если версия ниже, можешь по названию или лору в мете (item.getItemMeta())
     
  8. Zlodey_duo

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

    Баллы:
    66
    Имя в Minecraft:
    _X_ZLODEY_X_
    (!!!) Мой код написан на Spigot 1.12.2 - не судите, не хочу переходить на новые версии, мне эта по душе

    Создал в главном классе.
    Код:
    public ItemStack bottle = new ItemStack(Material.EXP_BOTTLE);
    
    Взял из главного класса.
    Код:
    private ItemStack bottle = HELP.getIstance().bottle;
    
    Выдал игроку при команде /lvlup.
    Код:
    Player p = (Player) sender;   
    p.getInventory().addItem(bottle);
    
     

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