@EventHandler
public void bucketFill(PlayerBucketFillEvent event) {
if (ArenaUtils.isProtectedLobby(event.getBlockClicked().getLocation())) {
event.setCancelled(Arenas.findCreatorByName(event.getPlayer().getName()) == null);
}
if (ArenaUtils.isProtected(event.getBlockClicked().getLocation()) && Arenas.getCurrentArena(event.getPlayer()) == null)
event.setCancelled(Arenas.findCreatorByName(event.getPlayer().getName()) == null);
}
java类org.bukkit.event.player.PlayerBucketFillEvent的实例源码
ArenaListener.java 文件源码
项目:The-Plague
阅读 21
收藏 0
点赞 0
评论 0
BukkitPlotListener.java 文件源码
项目:PlotMe-Core
阅读 25
收藏 0
点赞 0
评论 0
@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);
}
}
}
}
BucketFill.java 文件源码
项目:AntiBuild
阅读 26
收藏 0
点赞 0
评论 0
/**
* Checks if a player has permission to fill a bucket.
*
* @param event that triggered the listener.
*/
@EventHandler(priority = EventPriority.LOW)
public void NoBucketFill(PlayerBucketFillEvent event) {
Player player = event.getPlayer();
// Bucket check
if (!player.hasPermission("antibuild.bypass")) {
if (!player.hasPermission("antibuild.bucket")) {
int source = event.getBlockClicked().getTypeId();
if ((source == 8 || source == 9)
&& !player.hasPermission("antibuild.bucket.water")) {
event.setCancelled(true);
PlayerMessenger.messageHandler(plugin.getConfigHandler().getNoBucketMessage(), player);
} else if ((source == 10 || source == 11)
&& !player.hasPermission("antibuild.bucket.lava")) {
event.setCancelled(true);
PlayerMessenger.messageHandler(plugin.getConfigHandler().getNoBucketMessage(), player);
}
}
}
// // World lock check
// if (!event.isCancelled() && plugin.isUsingLock()) {
// if (plugin.isLockedWorld(player.getWorld().getName())
// && !player.hasPermission("antibuild.lock.bypass") && !player.hasPermission("antibuild.lock
// .bypass" +
// "." + player.getWorld().getName())) {
// event.setCancelled(true);
// messageHandler(plugin.getLockedWorldMessage(), player);
// }
// }
}
PlayerEvents.java 文件源码
项目:PlotSquared
阅读 28
收藏 0
点赞 0
评论 0
@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);
}
}
ZoneListener.java 文件源码
项目:Bytecraft
阅读 24
收藏 0
点赞 0
评论 0
@EventHandler
public void onFill(PlayerBucketFillEvent event)
{
BytecraftPlayer player = plugin.getPlayer(event.getPlayer());
Block block = event.getBlockClicked();
boolean bool = player.hasBlockPermission(block.getLocation(), true);
if(!bool){
player.setFireTicks(20 * 2);
event.setCancelled(true);
}
}
BuildHeight.java 文件源码
项目:CardinalPGM
阅读 25
收藏 0
点赞 0
评论 0
@EventHandler
public void onFillBucket(PlayerBucketFillEvent event) {
Block toEmpty = event.getBlockClicked().getRelative(event.getBlockFace());
if (toEmpty.getY() >= height && !event.isCancelled()) {
event.setCancelled(true);
ChatUtil.sendWarningMessage(event.getPlayer(), "You have reached the maximum build height (" + ChatColor.AQUA + height + ChatColor.RED + " blocks)");
}
}
BlockBreakRegion.java 文件源码
项目:CardinalPGM
阅读 26
收藏 0
点赞 0
评论 0
@EventHandler
public void onBucketFill(PlayerBucketFillEvent event) {
if (!event.isCancelled() && region.contains(new BlockRegion(null, event.getBlockClicked().getRelative(event.getBlockFace()).getLocation().toVector())) && filter.evaluate(event.getPlayer(), event.getBlockClicked().getRelative(event.getBlockFace()), event).equals(FilterState.DENY)) {
event.setCancelled(true);
ChatUtil.sendWarningMessage(event.getPlayer(), message);
}
}
BlockEventRegion.java 文件源码
项目:CardinalPGM
阅读 20
收藏 0
点赞 0
评论 0
@EventHandler
public void onBucketFill(PlayerBucketFillEvent event) {
if (!event.isCancelled() && filter.evaluate(event.getPlayer(), event.getBlockClicked().getRelative(event.getBlockFace()), event).equals(FilterState.DENY)
&& region.contains(new BlockRegion(null, event.getBlockClicked().getRelative(event.getBlockFace()).getLocation().toVector()))) {
event.setCancelled(true);
ChatUtil.sendWarningMessage(event.getPlayer(), message);
}
}
BuildFlagListener.java 文件源码
项目:NPlugins
阅读 24
收藏 0
点赞 0
评论 0
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onPlayerBucketFill(final PlayerBucketFillEvent event) {
final GeneralRegion region = this.getPlugin().getDb().getPriorByLocation(event.getBlockClicked().getLocation());
if (region != null && region.getFlag(Flag.BUILD) && !region.isUser(event.getPlayer())) {
event.setCancelled(true);
}
}
SSGPlayerListener.java 文件源码
项目:simple-survival-games
阅读 28
收藏 0
点赞 0
评论 0
@EventHandler
public void onPlayerBucketFillEvent(PlayerBucketFillEvent event) {
Player p = event.getPlayer();
ArenaManager am = SimpleSurvivalGames.instance.getArenaManager();
// TODO: Is the player allowed to get water
// Is the current player playing
if(am.isInArena(p)) {
ArenaPlayer ap = am.getPlayer(p);
// Is the player in the lobby of the arena
if(ap.isInLobby()) {
// Has the player a arena spawn assigned
if(ap.hasAssignedAreanSpawn()) {
// Cancel the event and send a status message
event.setCancelled(true);
p.sendMessage(ChatColor.DARK_RED + "You may not dehumidify the lobby in the lobby of an arena!");
}
}
// Is the player an spectators
if(ap.isSpectator()) {
event.setCancelled(true);
ap.sendMessage(ChatColor.DARK_RED + "You can't use buckets while spectating!");
}
}
}