Improved Chat

From MC Public Wiki
Revision as of 02:50, 30 August 2011 by Epsy (talk | contribs) (Created)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Cool tips you should definitely try out.

Prerequisites

ImprovedChat (abbreviated IC). Get it at minecraftforums.net.

Rated everyone

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.

On to the actual tip...

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 your own name

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

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.

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

~output ~/claum  /claim

Rated moderator+

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.

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.