@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void onBucketFillEvent(PlayerBucketFillEvent event) {
IPlayer player = plugin.wrapPlayer(event.getPlayer());
Location location = BukkitUtil.adapt(event.getBlockClicked().getLocation());
if (player.hasPermission(PermissionNames.ADMIN_BUILDANYWHERE)) {
return;
}
if (manager.isPlotWorld(location)) {
Plot plot = manager.getPlot(location);
if (plot == null) {
player.sendMessage(api.C("CannotBuild"));
event.setCancelled(true);
} else {
if (plot.getOwnerId().equals(event.getPlayer().getUniqueId())) {
return;
}
Optional<Plot.AccessLevel> member = plot.isMember(player.getUniqueId());
if (member.isPresent()) {
if (member.get().equals(Plot.AccessLevel.TRUSTED) && !api.getServerBridge().getOfflinePlayer(plot.getOwnerId()).isOnline()) {
player.sendMessage(api.C("CannotBuild"));
event.setCancelled(true);
} else if (api.isPlotLocked(plot.getId())) {
player.sendMessage(api.C("PlotLocked"));
event.setCancelled(true);
}
} else {
player.sendMessage(api.C("CannotBuild"));
event.setCancelled(true);
}
}
}
}
BukkitPlotListener.java 文件源码
java
阅读 25
收藏 0
点赞 0
评论 0
项目:PlotMe-Core
作者:
评论列表
文章目录