@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);
private static void dropSignAndCancelEvent(SignChangeEvent event) { event.getBlock().breakNaturally(); event.setCancelled(true); } }
lines[i] = message.getMessage()[i].asPlaintext(); SignChangeEvent event = new SignChangeEvent(location.getBlock(), player, lines); EventFactory.getInstance().callEvent(event); if (event.isCancelled()) { GlowServer.logger.warning("Sign was cancelled"); return;
@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); } }
@EventHandler (priority = EventPriority.MONITOR, ignoreCancelled = true) public void onSignChangeMonitor(SignChangeEvent event) { // Prevent players with permissions for creating colored signs from creating menu signs if (event.getLine(0).equalsIgnoreCase(ChatColor.DARK_BLUE + "[menu]") && !event.getPlayer().hasPermission(Permissions.SIGN_CREATE)) { event.setLine(0, ChatColor.stripColor(event.getLine(0))); } }
@EventHandler public void onSignChange(SignChangeEvent event){ Player player = event.getPlayer(); if(player.hasPermission("CustomJoinSigns.Create")) { if(event.getLine(0).equalsIgnoreCase("Minigame")) { player.sendMessage(ChatColor.BLUE + "Please type in the minigame name:"); player.sendMessage(ChatColor.GOLD + "1)" + ChatColor.RED + "Do " + ChatColor.YELLOW + "/cjs setminigame [Minigame]"); player.sendMessage(ChatColor.GOLD + "2)" + ChatColor.RED + "Do " + ChatColor.YELLOW + "/cjs cancel"); if(commandLabel.equalsIgnoreCase("cjs setminigame" + minvar)); player.sendMessage("Test Successful"); } } }
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 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()); } }
/** * This limits NPC creation by canceling all sign edits where first line is * "[NPC]" * * @param event * SignChangeEvent */ @EventHandler public void onSignPlace(SignChangeEvent event) { if (event.getLine(0).equalsIgnoreCase("[NPC]") && !event.getPlayer().hasPermission("betonquest.admin")) { // if the player doesn't have the required permission deny the // editing event.setCancelled(true); Config.sendMessage(PlayerConverter.getID(event.getPlayer()), "no_permission"); } }
@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()); } }
@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)); } }
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!"); }
lines[ITEM_LINE] = itemCode; SignChangeEvent changeEvent = new SignChangeEvent(block, player, lines); com.Acrobot.ChestShop.ChestShop.callEvent(changeEvent); if (!changeEvent.isCancelled()) { for (byte i = 0; i < changeEvent.getLines().length; ++i) { sign.setLine(i, changeEvent.getLine(i));
private String trim(SignChangeEvent event, int index) { String line = event.getLine(index); if (line == null) { return ""; } return line.trim(); }
@EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) public void onSignChange(SignChangeEvent e) { if (cm.isAntiSignCrash && VersionUtils.isLowerThan(VersionUtils.V1_11)) { for (int i = 0; i < 4; i++) { if (e.getLine(i).length() > 50) { e.setCancelled(true); break; } } } } }
public void poke(Block block) { if (block.getState() instanceof Sign) { Sign sign = (Sign) block.getState(); String[] lines = sign.getLines(); if (lines[0].isEmpty() && lines[1].isEmpty() && lines[2].isEmpty() && lines[3].isEmpty()) { if (linesCopy != null) { SignChangeEvent event = new SignChangeEvent(block, getPlayer(), linesCopy); Bukkit.getPluginManager().callEvent(event); if (!event.isCancelled()) { sign.setLine(0, event.getLine(0)); sign.setLine(1, event.getLine(1)); sign.setLine(2, event.getLine(2)); sign.setLine(3, event.getLine(3)); sign.update(); } } } else { linesCopy = lines; MessageUtil.sendMessage(getPlayer(), DMessage.PLAYER_SIGN_COPIED.getMessage()); } } else { String info = "" + block.getType(); if (block.getData() != 0) { info = info + "," + block.getData(); } MessageUtil.sendMessage(getPlayer(), DMessage.PLAYER_BLOCK_INFO.getMessage(info)); } }
@Override public MCPlayer getPlayer() { return new BukkitMCPlayer(pie.getPlayer()); }
@Override public MCBlock getBlock() { return new BukkitMCBlock(pie.getBlock()); }