private String trim(SignChangeEvent event, int index) { String line = event.getLine(index); if (line == null) { return ""; } return line.trim(); }
@Override public CString getLine(int index) { return new CString(pie.getLine(index), Target.UNKNOWN); }
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(priority = EventPriority.LOWEST) public static void filterGarbage(SignChangeEvent event) { for (int i = 0; i < 4; ++i) { String line = event.getLine(i); StringBuilder output = new StringBuilder(line.length()); for (char character : line.toCharArray()) { if (character < 0xF700 || character > 0xF747) { output.append(character); } } event.setLine(i, output.toString()); } } }
@Override public boolean signCreate(SignChangeEvent event) { event.setLine(1, ChatColor.GREEN + "Checkpoint"); if(event.getLine(2).equalsIgnoreCase("global")){ event.setLine(2, ChatColor.BLUE + "Global"); } return true; }
@Override public boolean signCreate(SignChangeEvent event) { event.setLine(1, ChatColor.GREEN + "Loadout"); if(event.getLine(2).equalsIgnoreCase("menu")) event.setLine(2, ChatColor.GREEN + "Menu"); return true; }
@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; }
@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; } } } } }
@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; }
@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))); } }
@Override public boolean signCreate(SignChangeEvent event) { if(event.getLine(2).matches("[0-9]+")){ event.setLine(1, ChatColor.GREEN + "Score"); if(TeamColor.matchColor(event.getLine(3)) != null){ TeamColor col = TeamColor.matchColor(event.getLine(3)); event.setLine(3, col.getColor() + MinigameUtils.capitalize(col.toString())); } else event.setLine(3, ""); return true; } return false; }
@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; }
@Override public CArray getLines() { CArray retn = new CArray(Target.UNKNOWN); for(int i = 0; i < 4; i++) { retn.push(new CString(pie.getLine(i), Target.UNKNOWN), Target.UNKNOWN); } return retn; }
@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; }
@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 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 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.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."); } }