Improved Chat

From MC Public Wiki
Jump to navigation Jump to search

Improved Chat (abbreviated IC) is an essential mod for Minecraft. Get it at minecraftforums.net. Direct download for 1.1 1.2

Here are some cool tips you should definitely try out.

Long messages

IC automatically splits long messages, but for / commands, such a private messages, you would need to type the command as a prefix for each line. IC lets you do that automattically like this:

~(/msg Skuld )very long message

Quick Reply

IC can store text from specific chat messages into memory. You have to tell it how to select information of interest with a regular expression. IC happens to use java regular expressions. However, IC's use of regexp is rather sloppy, so you might not be able to fine-tune your regular expressions as much as you'd wish. Everything the pattern matches is stored, even if you set capturing groups, so you have to use zero-width lookahead/lookbehind constructs to check for the right context. Thankfully, these groups can be of variable length.

Incomming messages look like this:

[epsy->Me] Hello!

So, to store "epsy", we have to do this:

~var messager (?<=^\[)[^ -]+(?=->Me\])

Now, the variable messager will be set to whoever last messaged you. To have a key let you message that person, use the bind command:

~bind r ~(/msg '$messager' )\

Explanation:

  • r is the key to bind
  • ~(...) is for long messages
  • /msg is the Private Message command
  • $messager is replaced with the contents of the messager variable. Quoting it makes the substitution happen as you press the bind, instead of just before the message is sent to the server
  • \ tells IC to keep the chat prompt open (so you can type your message)

Highlighting

You can hilight your nick or other text. IC's input command lets you browse over inbound text and replace it.

~input pattern  replacement

Note the two spaces.

Simply match your own nickname as a word(that's what \b does) and replace it with your nickname with a color. Here's mine in blue, it really sticks out and I feel important when chatting.

~input \bepsy\b  &c9epsy/&c

Other good thing to highlight is server restart message.

~input \bRESTART\b  &cfRESTART/&c

Command shortcuts / autocorrector

output, in the same way as input, changes the messages you send out. You can use it to make your own short commands.

~output (^/e$)  /empty -all

This will make /e run /empty -all.

~output (^/l )  /lookup 

Don't forget to leave a space at the end of the line in case the command needs an argument

You can also use it to fix your most common spelling mistakes.

~output ^/claum  /claim

Private Message Notification Using Tabs

  1. Make a new tab called PM (or whatever): ~tab PM
  2. Set up a track to send PMs to your PM tab: ~track me\]
  3. Set tab name to blink on new message: ~blink on
  4. Use ctrl+tab to switch between tabs. (ctrl+atl+tab for Mac) Switching to your PM tab and hitting T will clear the blinking notification.

Note: In step 2, the \ is used because ] is a special character. “me]” appears in every incoming PM on the PvE server currently, so that’s why we use it in this case. This could be different on different servers, so add new ~track commands accordingly. Note this is case-sensitive iirc.

Moderator stuff

Quick clear inventory/banned items

Using the var command, you can select the last person who has triggered a WorldGuard warning:

WG: Creeper (place) TNT (#46).

This gives

~var placer (?<=WG: )[^ ]+(?= \()

and

~bind b /cb '$placer'\
~bind c /ci '$placer'\

/cb clears banned items from the player's inventory, and /ci clears all items. You may remove the \ if you wish, but I like having to confirm the action, in case I accidentally press one of those keys.

Quick /lookup

Runs /lookup on the last "x has 1 ban and 3 notes." message.

~var tolookup ^[^ ]+(?= has ([0-9] bans?)?( and )?([0-9] notes?)?.$)
~bind l /lookup $tolookup

CAPSLOCK KICKER

This will save the nickname of the last person whose chat line is it anyway? contains only capital letters and non-letters. (The regexp is adjusted to only match 3 capital letters or more.)

~var allcapser (?<=<)[^>]+(?=> ([^A-Za-z]*[A-Z][^A-Za-z]*){3,}$)

Bind it just like other vars.

~bind z /kick '$allcapser'\

Who recently griefed?

You can use LogBlock to check who recently placed a lot of obsidian. For instance:

/lb block 49 since 5h sum players
  • block 49 filters results to obsidian blocks
  • since 5h filters by time
  • sum players prints the result as a summarized list of players instead of a long list of each block place event

I strongly suggest you to read /lb params, as you can use each and every of these in both lookup mode(/lb <all your params>), rollback mode(/lb rollback <all your params>) and redo mode(/lb redo <all your params>). But please, please, please, use them safely. Use area or selection when you can.

Example IC configs

You can list your full config here, but it would be way nicer if you can add individual tips to the above sections!