@Override public void enable() { config = configure(new LocalConfiguration()); registerCommands(Commands.class); CommandBook.registerEvents(this); }
@Command(aliases = {"msg", "message", "whisper", "pm", "tell", "w"}, usage = "<target> <message...>", desc = "Private message a user", min = 2, max = -1) @CommandPermissions({"commandbook.msg"}) public void msg(CommandContext args, CommandSender sender) throws CommandException { // This will throw errors as needed messagePlayer(sender, args.getString(0), args.getJoinedStrings(1)); }
@Override public void reload() { super.reload(); configure(config); }
@Command(aliases = {"reply", "r"}, usage = "<message...>", desc = "Reply to last user", min = 1, max = -1) @CommandPermissions({"commandbook.msg"}) public void reply(CommandContext args, CommandSender sender) throws CommandException { String lastRecipient = sessions.getSession(UserSession.class, sender).getLastRecipient(); if (lastRecipient == null) { throw new CommandException("You haven't messaged anyone."); } messagePlayer(sender, lastRecipient, args.getJoinedStrings(0)); }
/** * Called on player chat. * * @param event Relevant event details */ @EventHandler public void onChat(AsyncPlayerChatEvent event) { if (sessions.getSession(AdministrativeSession.class, event.getPlayer()).isMute()) { event.getPlayer().sendMessage(ChatColor.RED + "You are muted."); event.setCancelled(true); } else if (event.getMessage().startsWith("@") && config.twitterStyle) { final String message = event.getMessage(); int spaceIndex = message.indexOf(" "); if (spaceIndex > -1) { try { String name = message.substring(1, spaceIndex); if (name.length() <= 0) { return; } messagePlayer(event.getPlayer(), name, message.substring(spaceIndex + 1)); } catch (CommandException e) { event.getPlayer().sendMessage(ChatColor.RED + e.getMessage()); } event.setCancelled(true); } } }