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

  • Автор темы Автор темы crypt0x
  • Дата начала Дата начала

crypt0x

Новичок
Пользователь
Баллы
11
Имя в Minecraft
crypt0x
В моих планах нужно получит предмет игрока
ItemStack item = (как получить??)
If (b равен блоку спавнера) {
if(item равен DIAMOND_PICKAXE) {
If (item.getEnchantmentLevel(Enchantment.SILCK_TOUCH) >=2 ) {
Выпадает спавнер;}

Как изменить в код JAVA
 
Код:
@EventHandler
 public void onSpawnSilckTouch(PlayerInteractEvent event) {
      if (event.getItem() == DIAMOND_PICKAXE) {
          //
      }
}
Это будет срабатывать в том случае, если во время интерактивного взаимодействия с чем-либо (даже с воздухом) у тебя в руках будет кирка. Ну а дальше сам условия про зачарования и прочее ставишь. И это ОБЯЗАТЕЛЬНО должно быть в эвентхандлерах
 
Что?? И как у тебя SILK_TOUCH >=2
Откуда ты шёлковое касание 2 уровня нашёл?)
PHP:
player.getItemInHand();
 
Последнее редактирование:
чтоб игрок, покупал кирку на анархии, и благодаря шёлк 2 мог сломать спавнер и плагином выдавался
Не проще делать кастомное имя и уже по нему все проверять? Зачем накладывать чары и т.д? BlockBreakEvent и проверка на блок, который сломал игрок, если у игрока в руке кирка с кастомным именем - выдавай ему в инвентарь спавнер и удаляй кирку из инвентаря. Я думаю, что все понятно
 
if (event.getItem() == DIAMOND_PICKAXE) { // }
Не проще делать кастомное имя и уже по нему все проверять? Зачем накладывать чары и т.д? BlockBreakEvent и проверка на блок, который сломал игрок, если у игрока в руке кирка с кастомным именем - выдавай ему в инвентарь спавнер и удаляй кирку из инвентаря. Я думаю, что все понятно
а как узнать есть ли у игрока эта кирка?!
 
а как узнать есть ли у игрока эта кирка?!
За работоспособность не отвечаю))

Код:
    @EventHandler

    public void mainHand(BlockBreakEvent e){

        Block b = e.getBlock();

        ItemStack block = new ItemStack(b.getType());
        ItemStack spawner = new ItemStack(Material.ТУТСПАВНЕРМОБОВ);

        Player p = e.getPlayer();

        if(p.getInventory().getItemInMainHand().equals(Тут твой предмет с измененой метой)) {

            if (block.equals(spawner)) {
                b.getDrops().add(spawner);
                p.getInventory().getItemInMainHand().setAmount(0);
                p.updateInventory();
            }
        }
    }
}
 
Не проще делать кастомное имя и уже по нему все проверять? Зачем накладывать чары и т.д? BlockBreakEvent и проверка на блок, который сломал игрок, если у игрока в руке кирка с кастомным именем - выдавай ему в инвентарь спавнер и удаляй кирку из инвентаря. Я думаю, что все понятно
Не, лучше нбт тег накидывать и по нему уже проверять
 
Назад
Верх