@EventHandler(priority=EventPriority.HIGHEST, ignoreCancelled=true) public void onSignChange(SignChangeEvent evt) { Block b = evt.getBlock(); Location l = b.getLocation(); String[] lines = evt.getLines(); /* Note: changes to this change event - intentional */ DynmapPlayer dp = null; Player p = evt.getPlayer(); if(p != null) dp = new BukkitPlayer(p); core.listenerManager.processSignChangeEvent(EventType.SIGN_CHANGE, b.getType().getId(), getWorld(l.getWorld()).getName(), l.getBlockX(), l.getBlockY(), l.getBlockZ(), lines, dp); } }, DynmapPlugin.this);
@Override public MCBlock getBlock() { return new BukkitMCBlock(pie.getBlock()); }
private static void dropSignAndCancelEvent(SignChangeEvent event) { event.getBlock().breakNaturally(); event.setCancelled(true); } }
@EventHandler public void onSignChange(SignChangeEvent event) throws ParseException, org.json.simple.parser.ParseException, IOException { final Player player = event.getPlayer(); // Check that the world is overworld if (!event.getBlock().getWorld().getName().endsWith("_end")) { final String specialCharacter = "^"; final String[] lines = event.getLines(); final String signText = lines[0] + lines[1] + lines[2] + lines[3]; Chunk chunk = event.getBlock().getWorld().getChunkAt(event.getBlock().getLocation()); if (signText.length() > 0 && signText.substring(0, 1).equals(specialCharacter) && signText.substring(signText.length() - 1).equals(specialCharacter)) { final String name = signText.substring(1, signText.length() - 1); bitQuest.claimLand(name, chunk, player); } } else if (event.getBlock().getWorld().getName().endsWith("_end")) { player.sendMessage(ChatColor.DARK_RED + "No claiming in the end!"); } } }
public static GameSign tryToCreate(DungeonsXL plugin, SignChangeEvent event) { if (!event.getLine(0).equalsIgnoreCase(SIGN_TAG)) { return null; } if (!event.getLine(1).equalsIgnoreCase(GAME_SIGN_TAG)) { return null; } String identifier = event.getLine(2); String[] data = event.getLine(3).split(","); int maxGroupsPerGame = NumberUtil.parseInt(data[0], 1); int startIfElementsAtLeast = -1; if (data.length > 1) { startIfElementsAtLeast = NumberUtil.parseInt(data[1], -1); } return tryToCreate(plugin, event.getBlock(), identifier, maxGroupsPerGame, startIfElementsAtLeast); }
@EventHandler(ignoreCancelled = true) public void onSignChange(SignChangeEvent event) { Events.fireToCancel(event, new UseBlockEvent(event, create(event.getPlayer()), event.getBlock())); if (event.isCancelled()) { playDenyEffect(event.getPlayer(), event.getBlock().getLocation().add(0.5, 0.5, 0.5)); } }
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void on(SignChangeEvent event) { if (!trim(event, 0).equalsIgnoreCase("[MA]")) { return; } Location location = event.getBlock().getLocation(); String arenaId = trim(event, 1); String signType = trim(event, 2).toLowerCase(); String templateId = trim(event, 3).toLowerCase(); if (templateId.isEmpty()) { templateId = signType; } Player player = event.getPlayer(); try { storesNewSign.store(location, arenaId, templateId, signType); messenger.tell(player, "New " + signType + " sign created for arena " + arenaId); String[] lines = rendersTemplate.render(templateId, arenaId); IntStream.range(0, 4) .forEach(i -> event.setLine(i, lines[i])); } catch (IllegalArgumentException e) { messenger.tell(player, e.getMessage()); } }
public void onSignChange(SignChangeEvent event) { arena.setLeaderboard(new Leaderboard(plugin, arena, event.getBlock().getLocation())); arena.getRegion().set(RegionPoint.LEADERBOARD, event.getBlock().getLocation()); arena.getPlugin().getGlobalMessenger().tell(event.getPlayer(), "Leaderboard made. Now set up the stat signs!"); }
public static GroupSign tryToCreate(DungeonsXL plugin, SignChangeEvent event) { if (!event.getLine(0).equalsIgnoreCase(SIGN_TAG)) { return null; } if (!event.getLine(1).equalsIgnoreCase(GROUP_SIGN_TAG)) { return null; } String identifier = event.getLine(2); String[] data = event.getLine(3).split(","); int maxPlayersPerGroup = 1; String groupName = null; int startIfElementsAtLeast = -1; if (data.length >= 1) { maxPlayersPerGroup = NumberUtil.parseInt(data[0], 1); } if (data.length >= 2) { groupName = data[1]; } if (data.length == 3) { startIfElementsAtLeast = NumberUtil.parseInt(data[2], -1); } return tryToCreate(plugin, event.getBlock(), identifier, maxPlayersPerGroup, startIfElementsAtLeast, groupName); }
@EventHandler public void onSignChangeEvent(SignChangeEvent event) { if (! event.getPlayer().hasPermission("timocloud.signs.create")) return; if (TimoCloudBukkit.getInstance().getSignManager().signExists(event.getBlock().getLocation())) { SignInstance signInstance = TimoCloudBukkit.getInstance().getSignManager().getSignInstanceByLocation(event.getBlock().getLocation()); TimoCloudBukkit.getInstance().getSignManager().unlockSign(event.getBlock().getLocation()); TimoCloudBukkit.getInstance().getSignManager().removeSign(signInstance); } if (event.getLine(0).trim().equalsIgnoreCase("[TimoCloud]")) { String target = event.getLine(1).trim(); String template = event.getLine(2).trim(); TimoCloudBukkit.getInstance().getSignManager().addSign(event.getBlock().getLocation(), target, template, parseIntOr0(event.getLine(3)), event.getPlayer()); } }
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void onSignChange(final SignChangeEvent event) { if (event.getClass() != SignChangeEvent.class) { // Built in plugin compatibility. // TODO: Don't understand why two consecutive events editing the same block are a problem. return; } final Player player = event.getPlayer(); final Block block = event.getBlock(); final String[] lines = event.getLines(); if (block == null || lines == null || player == null) { // Somewhat defensive. return; } final IPlayerData pData = DataManager.getPlayerData(player); if (autoSign.isEnabled(player, pData) && autoSign.check(player, block, lines, pData)) { event.setCancelled(true); } }
event.getBlock().breakNaturally(); event.getPlayer().sendMessage(ChatColor.RED + "[Minigames] " + ChatColor.WHITE + mgSign.getCreatePermissionMessage()); return; event.getBlock().breakNaturally(); event.getPlayer().sendMessage(ChatColor.RED + "[Minigames] " + ChatColor.WHITE + "Invalid Minigames sign!"); Minigames.getPlugin().getPlayerManager().getMinigamePlayer(event.getPlayer()).sendMessage("Invalid Minigame sign!", MinigameMessageType.ERROR); event.setCancelled(true); event.getBlock().breakNaturally();
game.addJoinSign(sce.getBlock().getLocation()); game.updateSigns();
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST) public void onSignChange(SignChangeEvent event) { Player player = event.getPlayer(); Block block = event.getBlock(); BlockState state = block.getState(); if (!(state instanceof Sign)) {
@EventHandler public void onSignChange(SignChangeEvent event) { boolean relevant; try { relevant = event.getLine(0).equalsIgnoreCase("[buycraft_buy]"); } catch (IndexOutOfBoundsException e) { return; } if (!relevant) return; if (!event.getPlayer().hasPermission("buycraft.admin")) { event.getPlayer().sendMessage(ChatColor.RED + "You don't have permission to create this sign."); return; } for (int i = 0; i < 4; i++) { event.setLine(i, ""); } settingUpSigns.put(event.getPlayer().getUniqueId(), BukkitSerializedBlockLocation.create(event.getBlock().getLocation())); event.getPlayer().sendMessage(ChatColor.GREEN + "Navigate to the item you want to set this sign for."); plugin.getViewCategoriesGUI().open(event.getPlayer()); }
event.getBlock().breakNaturally(); event.getPlayer().sendMessage(ChatColor.RED + "[Minigames] " + ChatColor.WHITE + MinigameUtils.getLang("sign.flag.invalidSyntax") + " red, blue and neutral."); return false;
AccountChest accountChest = new AccountChest((Sign) cause.getBlock().getState(), account);
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public static void onSignChange(SignChangeEvent event) { String[] lines = event.getLines(); Player player = event.getPlayer(); if (isRestricted(lines)) { if (!hasPermission(player, lines)) { player.sendMessage(Messages.prefix(Messages.ACCESS_DENIED)); dropSignAndCancelEvent(event); return; } Block connectedSign = event.getBlock().getRelative(BlockFace.DOWN); if (!Permission.has(player, ADMIN) || !ChestShopSign.isValid(connectedSign)) { dropSignAndCancelEvent(event); return; } Sign sign = (Sign) connectedSign.getState(); if (!ChestShopSign.hasPermission(player, Permission.OTHER_NAME_DESTROY, sign)) { dropSignAndCancelEvent(event); return; } player.sendMessage(Messages.prefix(Messages.RESTRICTED_SIGN_CREATED)); } }
@EventHandler(ignoreCancelled = true) public static void onSignChange(SignChangeEvent event) { Block signBlock = event.getBlock(); String[] line = StringUtil.stripColourCodes(event.getLines()); if (!BlockUtil.isSign(signBlock)) { return; } if (!ChestShopSign.isValidPreparedSign(line)) { return; } PreShopCreationEvent preEvent = new PreShopCreationEvent(event.getPlayer(), (Sign) signBlock.getState(), line); ChestShop.callEvent(preEvent); for (byte i = 0; i < event.getLines().length; ++i) { event.setLine(i, preEvent.getSignLine(i)); } if (preEvent.isCancelled()) { return; } ShopCreatedEvent postEvent = new ShopCreatedEvent(preEvent.getPlayer(), preEvent.getSign(), uBlock.findConnectedContainer(preEvent.getSign()), preEvent.getSignLines()); ChestShop.callEvent(postEvent); } }
public void onSignChange(SignChangeEvent event) { final Player player = event.getPlayer(); final Block block = event.getBlock(); String[] lines = event.getLines();