Помогите Система добычи

Stilever_

Новичок
Пользователь
Баллы
6
Имя в Minecraft
Stilever_
Привет всем.
У меня возник вопрос при разработке плагина "Система добычи"
У меня на мысли система добычи как в игре Rust а именно - подходишь и инструментом добываешь ресурс из блока не ломая его.
Из-за своей неопытности столкнулся с проблемой того , что не могу сделать проверку того , на какой блок игрок нажимает.
=========================================================================
Сам код добычи:

@EventHandler
public void Interact(PlayerInteractEvent e) {

Action a = e.getAction();
if(a != Action.LEFT_CLICK_BLOCK) return;
Player p = e.getPlayer();
ItemStack item = p.getItemInHand();
if(item.getType() == Material.WOOD_AXE) {

p.playSound(p.getLocation(), Sound.CREEPER_HISS, 1, 1);

}


}

Кто может подсказать как сделать это ?
 
Ну скинь код, я не гадалка.


@EventHandler
public void Interact(PlayerInteractEvent e) {

Action a = e.getAction();
if(a != Action.LEFT_CLICK_BLOCK) return;

Player p = e.getPlayer();
ItemStack item = p.getItemInHand();
if(item.getType() == Material.WOOD_AXE) {

if(e.hasBlock()) {
if(e.getClickedBlock().getType() == Material.IRON_ORE) {

p.playSound(p.getLocation(), Sound.CREEPER_HISS, 1, 1);

}


}

}


}
 
У тебя Listener зарегистрирован? У меня всё работает. Кстати, не обязательно всё выносить в переменные.
Код:
    @EventHandler
    public void onInteract(PlayerInteractEvent e) {
        if(e.getAction() != Action.LEFT_CLICK_BLOCK) return;
        if(e.getPlayer().getItemInHand().getType() == Material.WOOD_AXE) {
            if(e.hasBlock()) {
                if(e.getClickedBlock().getType() == Material.IRON_ORE) {
                    e.getPlayer().playSound(e.getPlayer().getLocation(), Sound.CREEPER_HISS, 1, 1);
                }
            }
        }
    }
 
У тебя Listener зарегистрирован? У меня всё работает. Кстати, не обязательно всё выносить в переменные.
Код:
    @EventHandler
    public void onInteract(PlayerInteractEvent e) {
        if(e.getAction() != Action.LEFT_CLICK_BLOCK) return;
        if(e.getPlayer().getItemInHand().getType() == Material.WOOD_AXE) {
            if(e.hasBlock()) {
                if(e.getClickedBlock().getType() == Material.IRON_ORE) {
                    e.getPlayer().playSound(e.getPlayer().getLocation(), Sound.CREEPER_HISS, 1, 1);
                }
            }
        }
    }
Звук крипера происходит в любом случаи
 
По подробнее объясни
Нужно чтобы при нажатии левой кнопки мышки по определённому блоку издавался звук крипера к примеру.
При нажатии на другие блоки звук не нужен.
 
Назад
Верх