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

TeldiGems

Активный участник
Пользователь
Баллы
61
Как выдавать опыт игроку допустим по команде выдаётся бутылка с опытом и при нажатии ПКМ должно выдастся 30 лвл?
 
Не проще присвоить 30 лвл игроку сразу после ввода команды?

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

Если делать так как ты хочешь, это нужно обращаться к ивентам "EventHandler"
То-есть:
1) Нужно создать команду к примеру: /lvlup
2) Нужно выдать игроку item (бутылёк-опыта)
3) Нужно создать EventHandler. Я думаю PlayerInteractEvent и сделать проверку
Было ли нажатие ПКМ и какой у игрока item в руке, если всё так то выдаём опыт при разбитии бутылька
Присвоить сразу нет. Потому что я хочу сделать типо в банку можно было собрать свой опыт а потом либо продать либо самому использовать через время.
2. Можно это в виде кода бо я чайнк:)
 
скачай плагин executeble items, создай предмет в видео бутылька опыта, добавь активатор, что при нажатии будет вводится команда /xp give %player_name% 15l
 
https://www.spigotmc.org/wiki/create-a-simple-command/
player.getInventory().addItem(итемстак)
new ItemStack(Material.бутылка)

при нажатии ПКМ
Ивент уже сказали


Если нужно проверять предмет, если версия 1.14+, то используй Persitstent Data, чтобы отметить и проверять, если версия ниже, можешь по названию или лору в мете (item.getItemMeta())
 
Присвоить сразу нет. Потому что я хочу сделать типо в банку можно было собрать свой опыт а потом либо продать либо самому использовать через время.
2. Можно это в виде кода бо я чайнк:)

(!!!) Мой код написан на 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);
 
Назад
Верх