@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 MCPlayer getPlayer() { return new BukkitMCPlayer(pie.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 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()); }
@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 (priority = EventPriority.HIGH, ignoreCancelled = true) public void onSignChange(SignChangeEvent event) { if (event.getLine(0).equalsIgnoreCase("[menu]") && event.getPlayer().hasPermission(Permissions.SIGN_CREATE)) { if (event.getLine(1).isEmpty()) { event.setLine(0, ChatColor.RED + event.getLine(0)); event.getPlayer().sendMessage(ChatColor.RED + "You must set a valid menu name in the second line."); return; } IconMenu iconMenu = ChestCommands.getFileNameToMenuMap().get(Utils.addYamlExtension(event.getLine(1))); if (iconMenu == null) { event.setLine(0, ChatColor.RED + event.getLine(0)); event.getPlayer().sendMessage(ChatColor.RED + "That menu was not found."); return; } event.setLine(0, ChatColor.DARK_BLUE + event.getLine(0)); event.getPlayer().sendMessage(ChatColor.GREEN + "Successfully created a sign for the menu " + Utils.addYamlExtension(event.getLine(1)) + "."); } }
@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!"); } } }
@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()); } }
@Override public boolean signCreate(SignChangeEvent event) { if(!event.getLine(2).equals("")){ event.setLine(1, ChatColor.GREEN + getName()); return true; } plugin.getPlayerManager().getMinigamePlayer(event.getPlayer()).sendMessage(MinigameUtils.getLang("sign.reward.noName"), MinigameMessageType.ERROR); return false; }
@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"); } } }
@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.NORMAL) public void signChange(SignChangeEvent event) { if (!event.getPlayer().hasPermission("mobarena.setup.leaderboards")) { return; } if (!event.getLine(0).startsWith("[MA]")) { return; } String text = event.getLine(0).substring((4)); Arena arena; Stats stat; if ((arena = am.getArenaWithName(text)) != null) { arena.getEventListener().onSignChange(event); setSignLines(event, ChatColor.GREEN + "MobArena", ChatColor.YELLOW + arena.arenaName(), ChatColor.AQUA + "Players", "---------------"); } else if ((stat = Stats.getByShortName(text)) != null) { setSignLines(event, ChatColor.GREEN + "", "", ChatColor.AQUA + stat.getFullName(), "---------------"); am.getGlobalMessenger().tell(event.getPlayer(), "Stat sign created."); } }
@Override public boolean signCreate(SignChangeEvent event) { event.setLine(1, ChatColor.GREEN + "Finish"); if (!event.getLine(2).isEmpty() && plugin.getMinigameManager().hasMinigame(event.getLine(2))) { event.setLine(2, plugin.getMinigameManager().getMinigame(event.getLine(2)).getName(false)); } else if(!event.getLine(2).isEmpty()){ event.getPlayer().sendMessage(ChatColor.RED + "[Minigames] " + ChatColor.WHITE + MinigameUtils.getLang("minigame.error.noMinigame")); return false; } return true; }
@Override public boolean signCreate(SignChangeEvent event) { event.setLine(1, ChatColor.GREEN + "Team"); if(TeamColor.matchColor(event.getLine(2)) != null || event.getLine(2).equalsIgnoreCase("neutral")){ if(event.getLine(2).equalsIgnoreCase("neutral")){ event.setLine(2, ChatColor.GRAY + "Neutral"); } else{ TeamColor col = TeamColor.matchColor(event.getLine(2)); event.setLine(2, col.getColor() + MinigameUtils.capitalize(col.toString().replace("_", " "))); } return true; } event.getPlayer().sendMessage(ChatColor.RED + "[Minigames] " + ChatColor.WHITE + MinigameUtils.formStr("sign.team.invalidFormat", "\"red\", \"blue\" or \"neutral\"")); return false; }
@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()); } }
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!"); }
@Override public boolean signCreate(SignChangeEvent event) { if (plugin.getMinigameManager().hasMinigame(event.getLine(2))) { event.setLine(1, ChatColor.GREEN + "Bet"); event.setLine(2, plugin.getMinigameManager().getMinigame(event.getLine(2)).getName(false)); if(event.getLine(3).matches("[0-9]+")){ event.setLine(3, "$" + event.getLine(3)); } return true; } event.getPlayer().sendMessage(ChatColor.RED + "[Minigames] " + ChatColor.WHITE + MinigameUtils.formStr("minigame.error.noMinigameName", event.getLine(2))); return false; }
@Override public boolean signCreate(SignChangeEvent event) { if (plugin.getMinigameManager().hasMinigame(event.getLine(2))) { event.setLine(1, ChatColor.GREEN + "Spectate"); event.setLine(2, plugin.getMinigameManager().getMinigame(event.getLine(2)).getName(false)); return true; } event.getPlayer().sendMessage(ChatColor.RED + MinigameUtils.formStr("minigame.error.noMinigameName", event.getLine(2))); return false; }
@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); } }