Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Выдача игроку предмета при его отсутствии!

snake302

Активный участник
Пользователь
Баллы
78
Имя в Minecraft
mr_snake302
Собственно вот такой код нашмалял, но он не работает =( :(

@SuppressWarnings("deprecation")
@EventHandler
private boolean inventoryContainsItem(Inventory inventory, ItemStack compareItem)
{
//if(inventory.contains(345) && inventory.contains(347)){
if(player.getInventory().contains(345) && player.getInventory().contains(347)) {

}
else
{
ItemStack compass = new ItemStack(Material.COMPASS, 1);
ItemStack clock = new ItemStack(Material.WATCH, 1);
player.getInventory().clear();
// player.getInventory().addItem(new ItemStack(compass));
// player.getInventory().addItem(new ItemStack(clock));
player.getInventory().addItem(clock);
player.getInventory().addItem(compass);
}
returntrue;
}
ни на что не ругается
 
А на что он будет ругаться?
Почитай гайды по слушанью эвентов
 
какой мне евент надо создать?
попытка номер два
@EventHandler
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
//if(inventory.contains(345) && inventory.contains(347)){
//if(player.getInventory().contains(345) && player.getInventory().contains(347)) {
if (player.getInventory().getHelmet() != null && player.getInventory().getHelmet().getType() == Material.getMaterial(345) && player.getInventory().getHelmet() != null && player.getInventory().getHelmet().getType() == Material.getMaterial(347)) { //еслиигрокодет в материал с идом=298 (кожаныйшлем) то

}
else
{
ItemStack compass = new ItemStack(Material.COMPASS, 1);
ItemStack clock = new ItemStack(Material.WATCH, 1);
player.getInventory().clear();
// player.getInventory().addItem(new ItemStack(compass));
// player.getInventory().addItem(new ItemStack(clock));
player.getInventory().addItem(clock);
player.getInventory().addItem(compass);
}
returntrue;
}
 
Команда это не событие, она регистрируется в plugin.yml, и в главном классе
 
Команда это не событие, она регистрируется в plugin.yml, и в главном классе

а можно как то без команды сделать? что бы например если у игрока отсуnствует компас, ему сразу его выдавало?
 
а можно как то без команды сделать? что бы например если у игрока отсуnствует компас, ему сразу его выдавало?
Для начала нужно понять, когда именно проверять наличии у игрока компаса.
При заходе на сервер/территорию или ещё что. Таймером проверять будет слишком неоптимально.
 
пасиба, попытаюсь сделать проверку при попадании в любой регион

как уже сказали - move event
getFrom() не имеет региона, getTo() имеет к примеру. а если там и там есть - сравнить разные ли они.
 

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

Назад
Верх