WorldGuardAPI - эвент на изменение метадаты по ПКМ

mr_lionovsky

Активный участник
Пользователь
Баллы
63
Имя в Minecraft
lionovsky
Господа, помогите с решением задачи.

Нужно сделать так, чтоб юзер мог менять метадату определённого блока при ПКМ.
Взял в качестве помощника сей плагин - https://dev.bukkit.org/projects/worldguard-custom-flags

Пишу по мануалу, вот BlockDamageListener


Код:
    public void onPlayerUse(PlayerInteractEvent event) {
     
        final WorldGuardPlugin wgp = plugin.getWGP();
        final Player player = event.getPlayer();
        final Block block = event.getClickedBlock();
        final Location loc = block.getLocation();
        final World world = block.getWorld();
        final Material material = block.getType();
        final State state = wgp.getRegionManager(world).getApplicableRegions(loc).getFlag(plugin.FLAG_BLOCKCLICK);
     
        if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
            if (state != null
                    && (state == State.DENY
                    || (!player.isOp()
                    && !wgp.canBuild(player, block)))) {
                        //Тут будут блоки, что нужно поменять
                        } else {
                    block.setTypeId(Material.AIR.getId());
                }
                event.setCancelled(true);
            }
        }
    }
}

Однако, проблема в том, что wgp.getRegionManager(world).getApplicableRegions(loc) подчёркивает красным, мол, где-то я ошибся.
В чём - понять не могу, так как эклипс молчит, а все либы все подключены нормально.
 
Посмотри что этот метод возвращает. Он точно не то что у тебя в коде возвращает.
8AnVkZlIjg0yNA.png
 
Вот, что вижу по get
6xIr9FU.jpg
 
Назад
Верх