@EventHandler public void HeMan(PlayerChatEvent e) { if (e.isCancelled()) return; if (!e.getMessage().matches("(?i)by the power of gr[a|e]yskull!?")) return; Player p = e.getPlayer(); if (!plugin.isAuthorized(p, "rcmds.heman")) return; ItemStack is = p.getItemInHand(); if (is.getType() != Material.DIAMOND_SWORD) return; if (is.getEnchantments().isEmpty()) return; e.setCancelled(true); p.getWorld().strikeLightningEffect(p.getLocation()); Matcher m = Pattern.compile("(?i)by the power of gr[a|e]yskull!?").matcher(e.getMessage()); StringBuilder sb = new StringBuilder(); int last = 0; while (m.find()) { sb.append(e.getMessage().substring(last, m.start())); sb.append(m.group(0).toUpperCase()); last = m.end(); } sb.append(e.getMessage().substring(last)); plugin .getServer() .broadcastMessage( e.getFormat().replaceAll("(?i)by the power of gr[a|e]yskull!?", sb.toString())); e.setFormat(""); List<PotionEffect> effects = new ArrayList<PotionEffect>(); effects.add(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 1200, 2)); effects.add(new PotionEffect(PotionEffectType.REGENERATION, 1200, 2)); effects.add(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 1200, 2)); effects.add(new PotionEffect(PotionEffectType.SPEED, 1200, 2)); p.addPotionEffects(effects); }
@Override public void onPlayerChat(final PlayerChatEvent event) { if (isAborted(event)) { return; } /** * This file should handle detection of the local chat features... if local chat is enabled, we * need to handle it here */ final User user = ess.getUser(event.getPlayer()); final String chatType = getChatType(event.getMessage()); long radius = ess.getSettings().getChatRadius(); if (radius < 1) { return; } radius *= radius; try { if (event.getMessage().length() > 0 && chatType.length() > 0) { StringBuilder permission = new StringBuilder(); permission.append("essentials.chat.").append(chatType); StringBuilder command = new StringBuilder(); command.append("chat-").append(chatType); StringBuilder format = new StringBuilder(); format.append(chatType).append("Format"); StringBuilder errorMsg = new StringBuilder(); errorMsg .append("notAllowedTo") .append(chatType.substring(0, 1).toUpperCase()) .append(chatType.substring(1)); if (user.isAuthorized(permission.toString())) { charge(user, command.toString()); event.setMessage(event.getMessage().substring(1)); event.setFormat(Util.format(format.toString(), event.getFormat())); return; } user.sendMessage(Util.i18n(errorMsg.toString())); event.setCancelled(true); return; } } catch (ChargeException ex) { ess.showError(user, ex, "Shout"); event.setCancelled(true); return; } sendLocalChat(user, radius, event); }
@Override public void onPlayerChat(PlayerChatEvent event) { Player player = event.getPlayer(); if (event.getMessage().toLowerCase().contains("ready")) { new ReadyJob(player).run(); } }
public boolean chat(String s) { if (!this.player.dead) { if (s.startsWith("/")) { this.handleCommand(s); return true; } else { Player player = getPlayer(); PlayerChatEvent event = new PlayerChatEvent(player, s); server.getPluginManager().callEvent(event); if (event.isCancelled()) { return true; } s = String.format( event.getFormat(), event.getPlayer().getDisplayName(), event.getMessage()); a.info(s); for (Player recipient : event.getRecipients()) { recipient.sendMessage(s); } } } return false; // CraftBukkit end }
@Override public void onPlayerChat(PlayerChatEvent event) { if (event.isCancelled()) return; Player player = event.getPlayer(); String message = event.getMessage(); if (message == null) return; event.setFormat(ichat.API.parseChat(player, message, ichat.chatFormat)); }
@EventHandler public void onPlayerChat(PlayerChatEvent event) { Player player = event.getPlayer(); String newFormat = plugin.formatMessage(player); String.format(newFormat, event.getPlayer(), event.getMessage()); event.setFormat(newFormat); }
@EventHandler public void syncChatTrigger(final PlayerChatEvent event) { if (event.isCancelled()) return; // Return if "Use asynchronous event" is true in config file if (Settings.ChatAsynchronous()) return; Boolean cancelled = process(event.getPlayer(), event.getMessage()); event.setCancelled(cancelled); }
@Override public void onPlayerCommand(PlayerChatEvent event) { String[] split = event.getMessage().split(" "); Player player = event.getPlayer(); String command = split[0]; if ((!event.isCancelled()) && command.equalsIgnoreCase("/" + DailyBibleVerse.command)) { plugin.displayVOTD(player); event.setCancelled(true); } }
@Override public void onPlayerCommand(PlayerChatEvent event) { String[] split = event.getMessage().split(" "); Player player = event.getPlayer(); if (split[0].equalsIgnoreCase(debugCommand)) { addDebugee(player); event.setCancelled(true); } else if (split[0].equalsIgnoreCase(undebugCommand)) { removeDebugee(player); event.setCancelled(true); } }
public void onPlayerChat(PlayerChatEvent event) { Player p = event.getPlayer(); Builder fb = plugin.getBattlefieldManager().getBuilder(p); if (fb == null) return; if (fb.getTool() != null) { Tool tool = fb.getTool(); if (tool == null) return; if (tool.isAwaitingText()) { tool.retrieveText(event.getMessage()); event.setCancelled(true); } } }
public void onPlayerChat(PlayerChatEvent event) { Player player = event.getPlayer(); PlayerProfile PP = Users.getProfile(player); String x = ChatColor.GREEN + "(" + ChatColor.WHITE + player.getName() + ChatColor.GREEN + ") "; String y = ChatColor.AQUA + "{" + ChatColor.WHITE + player.getName() + ChatColor.AQUA + "} "; if (Config.getInstance().isPartyToggled(player.getName())) { event.setCancelled(true); log.log( Level.INFO, "[P](" + PP.getParty() + ")" + "<" + player.getName() + "> " + event.getMessage()); for (Player herp : plugin.getServer().getOnlinePlayers()) { if (Users.getProfile(herp).inParty()) { if (Party.getInstance().inSameParty(herp, player)) { herp.sendMessage(x + event.getMessage()); } } } return; } if ((player.isOp() || mcPermissions.getInstance().adminChat(player)) && Config.getInstance().isAdminToggled(player.getName())) { log.log(Level.INFO, "[A]" + "<" + player.getName() + "> " + event.getMessage()); event.setCancelled(true); for (Player herp : plugin.getServer().getOnlinePlayers()) { if ((herp.isOp() || mcPermissions.getInstance().adminChat(herp))) { herp.sendMessage(y + event.getMessage()); } } return; } /* * Remove from normal chat if toggled for(Player z : event.getRecipients()){ if(Users.getProfile(z.getName()).getPartyChatOnlyToggle() == true) event.getRecipients().remove(z); } */ }
public void onPlayerChat(PlayerChatEvent event) { for (myPlayer player : parent.universe.players.values()) { if (player.player == event.getPlayer()) { if (player.target != null) { // System.out.println("npcx : player chat event ("+ player.player.getName()+")"); player.player.sendMessage( "You say to " + player.target.getName() + ", '" + event.getMessage() + "'"); if (player.target.parent != null) { // this is not a temporary spawn // does it have a category set? if (player.target.parent.category != null) { // check what type of category it is if (player.target.parent.category.matches("merchant")) { // merchant player.target.parent.onPlayerChat(player, event.getMessage(), "merchant"); } else { // normal chat event / unknown category player.target.parent.onPlayerChat(player, event.getMessage(), ""); } } else { // normal chat event player.target.parent.onPlayerChat(player, event.getMessage(), ""); } } else { player.player.sendMessage("You cannot talk to temporary spawns"); } event.setCancelled(true); } } } }
@EventHandler(event = PlayerChatEvent.class) public void onPlayerChat(PlayerChatEvent event) { if (event.isCancelled()) { return; } Matcher matcher = cuipattern.matcher(event.getMessage()); if (matcher.find()) { String type = matcher.group(1); String args = matcher.group(2); if (type.equals("v")) { try { plugin.getSession(event.getPlayer()).setCUIVersion(Integer.parseInt(args)); event.setCancelled(true); } catch (NumberFormatException e) { } } } }
public void onPlayerChat(PlayerChatEvent event) { String eventplayer = event.getPlayer().getName(); if (admin.freeze.contains(eventplayer)) { // player in hashmap chats String msg = event.getMessage(); admin.tellAdmin(ChatColor.DARK_AQUA + "Blocked message by " + eventplayer + ": " + msg); Random rand = new Random(); int number; number = 1 + rand.nextInt(10); if (number == 1) { event.setMessage("Lolz."); } else if (number == 2) { event.setMessage("This is funny!"); } else if (number == 3) { event.setMessage("I wish i was a cool server-owner! :3"); } else if (number == 4) { event.setMessage("Turtles are round"); } else if (number == 5) { event.setMessage("I'm a kitty! purr :3"); } else if (number == 6) { event.setMessage("This place is great!"); } else if (number == 7) { event.setMessage("Hurr Durr"); } else if (number == 8) { event.setMessage("How did i get here?"); } else if (number == 9) { event.setMessage("My friends are lions"); } else if (number == 10) { event.setMessage("<('_'<) (>'_')>"); } else { // error lolz event.getPlayer().sendMessage("error lolz."); admin.logInfo("ZOMG THERE WAS A JAVA ERROR! ERROR: failed to generate random number(lolz)"); } } else { // nothing. } }
@Override public void onPlayerChat(PlayerChatEvent event) { if (ChatManager.handleMessage(event.getPlayer(), event.getMessage())) event.setCancelled(true); }
/*** * The main function which replaces chat with matched replacements. * @param e * @return */ @EventHandler(priority = EventPriority.LOWEST) public void replaceChat(PlayerChatEvent e) { if (e.isCancelled()) return; try { ScriptEnvironment env = new ScriptEnvironment(); { env.setCommandSender(e.getPlayer()); env.setServer(e.getPlayer().getServer()); } ArrayList<ReplacementPair> preparedEffects = new ArrayList<ReplacementPair>(); //holds all effects until all replacements done for (ReplacementPair rp : pairs) { StringBuffer sb = new StringBuffer(); Matcher m = rp.getRegex().matcher(e.getMessage()); if (!m.find()) continue; env.setMatcher(m); if (rp.playerWillVanish()) { //the player will vanish as a result of this, special handling int cutlen = CommandsEX.getConf().getInt("replacements.cutoff.length", 1); String cuttext = CommandsEX.getConf().getString("replacements.cutoff.indicator", "--*"); String rep = m.group().substring(0, cutlen).concat(cuttext); m.appendReplacement(sb, rep); e.setMessage(sb.toString()); //e.setCancelled(true); //e.getPlayer().chat(sb.toString()); //chat first rp.executeEffects(env); //then execute the replacement return; } //loop through with find/replace do { //use do while, due to the find() invocation above // test if it is all upper, and replace with all upper (if we have this set up in the regex itself - in config file) if (rp.getSameOutputCase() && allUpper && m.group().toUpperCase().equals(m.group())) { m.appendReplacement(sb, rp.executeString(env).toUpperCase()); } else { m.appendReplacement(sb, rp.executeString(env)); } } while (m.find()); m.appendTail(sb); if (!preparedEffects.contains(rp)) { preparedEffects.add(rp); } e.setMessage(sb.toString()); } //after all replacements are in: execute the effects if (!preparedEffects.isEmpty()) { //e.setCancelled(true); //e.getPlayer().chat(sb.toString()); //chat first env.setMatcher(null); for (ReplacementPair rp : preparedEffects){ rp.executeEffects(env); } } } catch (Exception ex){ LogHelper.logSevere("[CommandsEX] " + _("cmdOrChatreplacementFailed", "")); LogHelper.logDebug("Message: " + ex.getMessage() + ", cause: " + ex.getCause()); } }
@Override public void onPlayerChat(PlayerChatEvent event) { if (event.isCancelled()) { return; } Player talkingPlayer = event.getPlayer(); String msg = event.getMessage(); // ... it was not a command. This means that it is a chat message! FPlayer me = FPlayer.get(talkingPlayer); // Are we to insert the Faction tag into the format? // If we are not to insert it - we are done. if (!Conf.chatTagEnabled || Conf.chatTagHandledByAnotherPlugin) { return; } int InsertIndex = 0; String eventFormat = event.getFormat(); if (!Conf.chatTagReplaceString.isEmpty() && eventFormat.contains(Conf.chatTagReplaceString)) { // we're using the "replace" method of inserting the faction tags // if they stuck "{FACTION_TITLE}" in there, go ahead and do it too if (eventFormat.contains("{FACTION_TITLE}")) { eventFormat = eventFormat.replace("{FACTION_TITLE}", me.getTitle()); } InsertIndex = eventFormat.indexOf(Conf.chatTagReplaceString); eventFormat = eventFormat.replace(Conf.chatTagReplaceString, ""); Conf.chatTagPadAfter = false; Conf.chatTagPadBefore = false; } else if (!Conf.chatTagInsertAfterString.isEmpty() && eventFormat.contains(Conf.chatTagInsertAfterString)) { // we're using the "insert after string" method InsertIndex = eventFormat.indexOf(Conf.chatTagInsertAfterString) + Conf.chatTagInsertAfterString.length(); } else if (!Conf.chatTagInsertBeforeString.isEmpty() && eventFormat.contains(Conf.chatTagInsertBeforeString)) { // we're using the "insert before string" method InsertIndex = eventFormat.indexOf(Conf.chatTagInsertBeforeString); } else { // we'll fall back to using the index place method InsertIndex = Conf.chatTagInsertIndex; if (InsertIndex > eventFormat.length()) return; } String formatStart = eventFormat.substring(0, InsertIndex) + ((Conf.chatTagPadBefore && !me.getChatTag().isEmpty()) ? " " : ""); String formatEnd = ((Conf.chatTagPadAfter && !me.getChatTag().isEmpty()) ? " " : "") + eventFormat.substring(InsertIndex); String nonColoredMsgFormat = formatStart + me.getChatTag().trim() + formatEnd; // Relation Colored? if (Conf.chatTagRelationColored) { // We must choke the standard message and send out individual messages to all players // Why? Because the relations will differ. event.setCancelled(true); for (Player listeningPlayer : event.getRecipients()) { FPlayer you = FPlayer.get(listeningPlayer); String yourFormat = formatStart + me.getChatTag(you).trim() + formatEnd; try { listeningPlayer.sendMessage( String.format(yourFormat, talkingPlayer.getDisplayName(), msg)); } catch (UnknownFormatConversionException ex) { Factions.log( Level.SEVERE, "Critical error in chat message formatting! Complete format string: " + yourFormat); Factions.log(Level.SEVERE, "First half of event.getFormat() string: " + formatStart); Factions.log(Level.SEVERE, "Second half of event.getFormat() string: " + formatEnd); Factions.log( Level.SEVERE, "NOTE: To fix this quickly, running this command should work: f config chatTagInsertIndex 0"); Factions.log( Level.SEVERE, "For a more proper fix, please read the chat configuration notes on the configuration page of the Factions user guide."); ex.printStackTrace(); return; } } // Write to the log... We will write the non colored message. String nonColoredMsg = ChatColor.stripColor( String.format(nonColoredMsgFormat, talkingPlayer.getDisplayName(), msg)); Logger.getLogger("Minecraft").info(nonColoredMsg); } else { // No relation color. event.setFormat(nonColoredMsgFormat); } }
public void onPlayerCommand(PlayerChatEvent event) { String[] split = event.getMessage().split(" "); if (split.length >= 1) { if (split[0].equalsIgnoreCase("/follow")) { HashMap<Player, ArrayList<Player>> players = plugin.getPlayers(); Player player = event.getPlayer(); if (split.length == 1) { // Stop following for (Entry<Player, ArrayList<Player>> entry : players.entrySet()) { for (Player iter : entry.getValue()) { if (iter.getName().equalsIgnoreCase(player.getName())) { // System.out.println(player.getName() + " has stopped following " + // entry.getKey().getName()); player.sendMessage("§eYou stopped following " + entry.getKey().getName()); entry.getValue().remove(iter); } } } player.sendMessage("§eYou weren't following anybody."); } else if (split.length >= 2) { String name = split[1].trim(); Player target = plugin.getServer().getPlayer(name); if (target != null) { // Check the distance between the two to disallow teleporting using it double distance = Math.sqrt( Math.pow((target.getLocation().getX() - player.getLocation().getX()), 2) + Math.pow((target.getLocation().getY() - player.getLocation().getY()), 2) + Math.pow((target.getLocation().getZ() - player.getLocation().getZ()), 2)); if (distance > 4) { player.sendMessage("§eYou are too far away."); } for (Entry<Player, ArrayList<Player>> entry : players.entrySet()) { for (Player iter : entry.getValue()) { if (iter.getName().equalsIgnoreCase(player.getName())) { // System.out.println(player.getName() + " forcibly stopped following " + // entry.getKey().getName()); entry.getValue().remove(player); break; } } } // Find the player boolean foundTarget = false; boolean foundPlayer = false; for (Player iter : players.keySet()) { if (iter.getName().equalsIgnoreCase(name)) { foundTarget = true; for (Player iter2 : players.get(target)) { if (iter2.getName().equalsIgnoreCase(player.getName())) { // Already following, don't add foundPlayer = true; // System.out.println(player.getName() + " is already following " + // target.getName()); player.sendMessage("You are already following " + target.getName()); } } } } if (!foundTarget) { // System.out.println("New player to follow. Adding " + target.getName() + " to the // follow list and adding " // + player.getName() + " to follow them."); // Make a new follow list and tie it to the player to follow ArrayList<Player> temp = new ArrayList<Player>(); temp.add(player); players.put(target, temp); } if (!foundPlayer) { // System.out.println("Player not found on the following list, adding them"); players.get(target).add(player); player.sendMessage("§eYou are now following " + target.getName()); } } else { player.sendMessage("§ePlease give a valid player name."); } } else { player.sendMessage("§eUsage is /follow [player]"); } event.setCancelled(true); } } }
/** * Monitor PlayerChat events. * * @param event The event to watch */ @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) public void onPlayerChat(PlayerChatEvent event) { Player player = event.getPlayer(); PlayerProfile profile = Users.getProfile(player); if (profile == null) { return; } if (profile.getPartyChatMode()) { Party party = profile.getParty(); if (party == null) { player.sendMessage( "You're not in a party, type /p to leave party chat mode."); // TODO: Use mcLocale return; } String partyName = party.getName(); String playerName = player.getName(); McMMOPartyChatEvent chatEvent = new McMMOPartyChatEvent(playerName, partyName, event.getMessage()); plugin.getServer().getPluginManager().callEvent(chatEvent); if (chatEvent.isCancelled()) { return; } String prefix = ChatColor.GREEN + "(" + ChatColor.WHITE + playerName + ChatColor.GREEN + ") "; plugin .getLogger() .info("[P](" + partyName + ")" + "<" + playerName + "> " + chatEvent.getMessage()); for (Player member : party.getOnlineMembers()) { member.sendMessage(prefix + chatEvent.getMessage()); } event.setCancelled(true); } else if (profile.getAdminChatMode()) { String playerName = player.getName(); McMMOAdminChatEvent chatEvent = new McMMOAdminChatEvent(playerName, event.getMessage()); plugin.getServer().getPluginManager().callEvent(chatEvent); if (chatEvent.isCancelled()) { return; } String prefix = ChatColor.AQUA + "{" + ChatColor.WHITE + playerName + ChatColor.AQUA + "} "; plugin.getLogger().info("[A]<" + playerName + "> " + chatEvent.getMessage()); for (Player otherPlayer : plugin.getServer().getOnlinePlayers()) { if (Permissions.getInstance().adminChat(otherPlayer) || otherPlayer.isOp()) { otherPlayer.sendMessage(prefix + chatEvent.getMessage()); } } event.setCancelled(true); } }
@EventHandler(priority = EventPriority.MONITOR) public void onPlayerChat(PlayerChatEvent event) { if (isLogging(event.getPlayer().getWorld(), Logging.CHAT)) consumer.queueChat(event.getPlayer().getName(), event.getMessage()); }
@EventHandler public void playerChatEvent(PlayerChatEvent event) { Player player = event.getPlayer(); plugin.bot.sendMessage( plugin.getIRCChannel(), "[" + player.getName() + "] " + event.getMessage()); }