- Баллы
- 63
- Имя в Minecraft
- lionovsky
Господа, помогите с решением задачи.
Нужно сделать так, чтоб юзер мог менять метадату определённого блока при ПКМ.
Взял в качестве помощника сей плагин - https://dev.bukkit.org/projects/worldguard-custom-flags
Пишу по мануалу, вот BlockDamageListener
Однако, проблема в том, что wgp.getRegionManager(world).getApplicableRegions(loc) подчёркивает красным, мол, где-то я ошибся.
В чём - понять не могу, так как эклипс молчит, а все либы все подключены нормально.
Нужно сделать так, чтоб юзер мог менять метадату определённого блока при ПКМ.
Взял в качестве помощника сей плагин - 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) подчёркивает красным, мол, где-то я ошибся.
В чём - понять не могу, так как эклипс молчит, а все либы все подключены нормально.