PlayerEvents.java 文件源码

java
阅读 28 收藏 0 点赞 0 评论 0

项目:PlotSquared 作者:
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBucketFill(PlayerBucketFillEvent event) {
    Block b = event.getBlockClicked();
    Location location = BukkitUtil.getLocation(b.getLocation());
    PlotArea area = location.getPlotArea();
    if (area == null) {
        return;
    }
    Player player = event.getPlayer();
    PlotPlayer plotPlayer = BukkitUtil.getPlayer(player);
    Plot plot = area.getPlot(location);
    if (plot == null) {
        if (Permissions.hasPermission(plotPlayer, C.PERMISSION_ADMIN_BUILD_ROAD)) {
            return;
        }
        MainUtil.sendMessage(plotPlayer, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_BUILD_ROAD);
        event.setCancelled(true);
    } else if (!plot.hasOwner()) {
        if (Permissions.hasPermission(plotPlayer, C.PERMISSION_ADMIN_BUILD_UNOWNED)) {
            return;
        }
        MainUtil.sendMessage(plotPlayer, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_BUILD_UNOWNED);
        event.setCancelled(true);
    } else if (!plot.isAdded(plotPlayer.getUUID())) {
        Optional<HashSet<PlotBlock>> use = plot.getFlag(Flags.USE);
        Block block = event.getBlockClicked();
        if (use.isPresent() && use.get().contains(PlotBlock.get(block.getTypeId(), block.getData()))) {
            return;
        }
        if (Permissions.hasPermission(plotPlayer, C.PERMISSION_ADMIN_BUILD_OTHER)) {
            return;
        }
        MainUtil.sendMessage(plotPlayer, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_BUILD_OTHER);
        event.setCancelled(true);
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号