Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // message id and offset for deleting old menues
- var messageId = 69135;
- var messageIdOffset = 0;
- function getMessageId() {
- return messageId + messageIdOffset++;
- }
- // better break
- TriggerRegister.registerChat("betterBreak").setChatCriteria("${color}-----------------------------------------------------&r");
- TriggerRegister.registerChat("betterBreak").setChatCriteria("${color}\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC\u25AC&r");
- function betterBreak(color, event) {
- // check to make sure color is a color code
- if (color.startsWith("&")
- && (color.length == 2 || color.length == 4 || color.length == 6)) {
- // get rid of bold in color
- color = color.replaceAll("&l", "");
- event.setCanceled(true);
- if (color == "&9") {
- // if color matches the color for friends list
- var message = new Message(color + "&m" + ChatLib.getChatBreak("-"));
- message.chatLineId = getMessageId();
- ChatLib.chat(message, false);
- } else {
- // any other color
- ChatLib.chat(color + "&m" + ChatLib.getChatBreak("-"));
- }
- }
- }
- // main friend chat trigger
- TriggerRegister.registerChat("fullHypixelFriends").setChatCriteria("&r&9 &6Friends (Page ").setParameter("contains");
- function fullHypixelFriends(event) {
- cancel(event);
- clearFriends();
- var lines = ChatLib.getChatMessage(event, true).split("\n");
- for (var i = 0; i < lines.length; i++) {
- // breaks
- if (i == 0 || i == lines.length - 1) {
- var message = new Message("&9&m" + ChatLib.getChatBreak("-"));
- message.chatLineId = getMessageId();
- ChatLib.chat(message);
- }
- // page number
- else if (lines[i].indexOf("&r&9 &6Friends (Page ") != -1) {
- var line = ChatLib.removeFormatting(lines[i]);
- var num1 = line.substring(line.indexOf("(Page ") + 6, line.indexOf("(Page ") + 7);
- var num2 = line.substring(line.indexOf(" of ") + 4, line.indexOf(" of ") + 5);
- topHypixelFriends(" ", num1, num2);
- }
- // idle in limbo
- else if (lines[i].indexOf("&r&e is idle in Limbo&r&9") != -1) {
- var name = lines[i].substring(0, lines[i].indexOf("&r&e is idle in Limbo&r&9"));
- isIdleHypixelFriends(name);
- }
- // offline
- else if (lines[i].indexOf("&r&c is currently offline&r&9") != -1) {
- var name = lines[i].substring(0, lines[i].indexOf("&r&c is currently offline&r&9"));
- isOfflineHypixelFriends(name);
- }
- // unknown realm
- else if (lines[i].indexOf("&r&e is in an unknown realm&r&9") != -1) {
- var name = lines[i].substring(0, lines[i].indexOf("&r&e is in an unknown realm&r&9"));
- isUnknownRealmHypixelFriends(name);
- }
- // in game or lobby
- else if (lines[i].indexOf("&r&e is in ") != -1) {
- var name = lines[i].substring(0, lines[i].indexOf("&r&e is in "));
- var game = lines[i].substring(lines[i].indexOf("&r&e is in ") + 11);
- isInHypixelFriends(name, game);
- }
- // default
- else {
- var message = new Message(lines[i]);
- message.chatLineId = getMessageId();
- ChatLib.chat(message);
- }
- }
- }
- // page number
- function topHypixelFriends(spaces, num1, num2) {
- // check to make sure spaces are only spaces
- if (/^\s+$/.test(spaces)) {
- // setup left and right arrow
- var leftArrow = "&8<";
- var rightArrow = "&8>";
- // cast numbers
- num1 = Number(num1);
- num2 = Number(num2);
- // check cast
- if (num1 != NaN && num2 != NaN) {
- // if not first page
- if (num1 != 1) {
- // change left arrow to clickable
- leftArrow = ChatLib.clickable("&9<", "run_command", "/flist " + (num1-1), "&7Page " + (num1-1));
- }
- // if not last page
- if (num1 != num2) {
- // change right arrow to clickable
- rightArrow = ChatLib.clickable("&9>", "run_command", "/flist " + (num1+1), "&7Page " + (num1+1));
- }
- // build message
- var message = new Message(
- spaces + " ",
- leftArrow,
- " &6Friends (" + num1 + "/" + num2 + ") ",
- rightArrow
- );
- message.chatLineId = getMessageId();
- ChatLib.chat(message);
- }
- }
- }
- // friend is in a game
- function isInHypixelFriends(name, game) {
- if (name.indexOf(" ") != -1) return;
- // setup dot
- var dot = " &a\u25A0 ";
- // check for idle friend
- if (game == "an unknown realm") {
- dot = " &e\u25A0 ";
- }
- // build message
- var message = new Message(
- ChatLib.clickable(dot, "run_command", "/p invite " + ChatLib.removeFormatting(name), "&7Party " + name),
- ChatLib.clickable(name, "suggest_command", "/w " + ChatLib.removeFormatting(name) + " ", "&7Message " + name),
- " &8" + game
- );
- message.chatLineId = getMessageId();
- ChatLib.chat(message);
- }
- // friend is idle in limbo
- function isIdleHypixelFriends(name) {
- if (name.indexOf(" ") != -1) return;
- // setup dot
- var dot = " &e\u25A0 ";
- // build message
- var message = new Message(
- ChatLib.clickable(dot, "run_command", "/p invite " + ChatLib.removeFormatting(name), "&7Party " + name),
- ChatLib.clickable(name, "suggest_command", "/w " + ChatLib.removeFormatting(name) + " ", "&7Message " + name),
- " &8idle"
- );
- message.chatLineId = getMessageId();
- ChatLib.chat(message);
- }
- // friend is in unknown realm
- function isUnknownRealmHypixelFriends(name) {
- if (name.indexOf(" ") != -1) return;
- // setup dot
- var dot = " &e\u25A0 ";
- // build message
- var message = new Message(
- ChatLib.clickable(dot, "run_command", "/p invite " + ChatLib.removeFormatting(name), "&7Party " + name),
- ChatLib.clickable(name, "suggest_command", "/w " + ChatLib.removeFormatting(name) + " ", "&7Message " + name),
- " &8an unknown realm"
- );
- message.chatLineId = getMessageId();
- ChatLib.chat(message);
- }
- // friend is offline
- function isOfflineHypixelFriends(name) {
- if (name.indexOf(" ") != -1) return;
- // setup dot
- var dot = " &c\u25A0 ";
- // build message
- var message = new Message(
- dot + name + " ",
- ChatLib.clickable("&4-", "run_command", "/fremove " + name, "&7Remove " + name)
- );
- message.chatLineId = getMessageId();
- ChatLib.chat(message);
- }
- // helper function to clear old friend list
- function clearFriends() {
- // clear old friend list
- if (HUSettings.HypixelFriends.DeleteOldPage) {
- for (var i = messageId; i <= messageId + messageIdOffset; i++) {
- ChatLib.clearChat(i);
- }
- }
- // reset message id and offset
- messageId = 69135;
- messageIdOffset = 0;
- }
- // helper command for friend list
- TriggerRegister.registerCommand("commandListHypixelFriends", "flist", "/flist");
- function commandListHypixelFriends(arg1) {
- // run actual command
- ChatLib.command("f list " + arg1);
- }
- // confirmation command for removing a friend
- TriggerRegister.registerCommand("commandRemoveHypixelFriends", "fremove", "/fremove");
- function commandRemoveHypixelFriends(arg1) {
- // check for arg1
- if (arg1 != null) {
- // print out confirmation
- var message = new Message("&4&m" + ChatLib.getChatBreak("-"));
- message.chatLineId = 69131;
- ChatLib.chat(message);
- var message = new Message(" &cAre you sure you want to remove " + arg1);
- message.chatLineId = 69132;
- ChatLib.chat(message);
- var message = new Message(
- ChatLib.clickable(" &2&l[Remove]", "run_command", "/fremoveConfirm " + ChatLib.removeFormatting(arg1), "&7Remove " + arg1),
- " ",
- ChatLib.clickable("&4&l[Cancel]", "run_command", "/fremoveCancel", "&7Cancel")
- );
- message.chatLineId = 69133;
- ChatLib.chat(message);
- var message = new Message("&4&m" + ChatLib.getChatBreak("-"));
- message.chatLineId = 69134;
- ChatLib.chat(message);
- }
- }
- // helper command for confirmation of removing a friend
- TriggerRegister.registerCommand("commandRemoveConfirmHypixelFriends", "fremoveConfirm", "/fremoveConfirm");
- function commandRemoveConfirmHypixelFriends(arg1) {
- // clear confirmation
- ChatLib.clearChat(69131, 69132, 69133, 69134);
- // run actual command
- ChatLib.command("f remove " + arg1);
- }
- // helper command for cancelling of removing a friend
- TriggerRegister.registerCommand("commandRemoveCancelHypixelFriends", "fremoveCancel", "/fremoveCancel");
- function commandRemoveCancelHypixelFriends() {
- // clear confirmation
- ChatLib.clearChat(69131, 69132, 69133, 69134);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement