Minecraft Mods

[Deprecated] ChatUtilities

  • 7,280 views, 1 today
  • 682 downloads, 0 today
  • 28
  • 8
  • 46
Techdoodle's Avatar Techdoodle
Level 65 : High Grandmaster Programmer
209
Ever wanted to do awesome stuff that Essentials Chat or other plugins couldn't do?

Then this is the plugin for you!

There are a massive number of things that chatutilities can do including, but not limited to:
  • Add a replacement to a word (example, replace :) with a unicode character)
  • Have per-replacement permissions
  • Run commands when a word is replaced
  • Add bundled commands (multiple commands in one command with a permission node)
  • Disable chat in case of a spam attack
  • Clear chat
  • Loop commands multiple times
  • Force someone else to say something or run a command
  • Force a player to run a command as op
  • Delay a command by a certain number of ticks
  • Get the x, y, z, world, or uuid of any player in a command
  • Ignore chat
  • Replacements work in chat, commands, signs, books, and anvil renaming!
So some examples of this are:
  • When a player says a bad word, replace it with *'s and kick the player
  • Use bundled commands and the delay to make a countdown timer from 10
  • Spawn a firework at a players location when they say something

Installation
To install this plugin, download the zip file and extract it to your plugins folder.
There should now be a ChatUtilities.jar and a ChatUtilities folder inside of your plugins folder.

Automatic adf.ly-ing
To enable this, you should have something like this in the config:

adfly:
enabled: true
link: api.adf.ly/api.php?key=YOUR_KEY_HERE&uid=YOUR_UID_HERE&advert_type=int&domain=adf.ly&url=$link

Just replace YOUR_KEY_HERE and YOUR_UID_HERE with those 2 values.
Now, whenever someone types a link in chat or in a command or even on a sign, it gets converted to an adf.ly link automagically!

Note: If you need to register for adf.ly, please use this link!
Thank you, it awards me 20% of what you make, but you still get full money too!

Commands and Permissions
Command
Description
Permission
/chat clear
Clears the chat
ChatUtilities.globalClear
/chat disable
Disables chat for all players without the permission "ChatUtilities.anti-disable"
ChatUtilities.disable
/chat enable
Enables the chat after a disable
ChatUtilities.enable
/chat ignore
Ignore chat from everyone without the permission "ChatUtilities.anti-disable"
ChatUtilities.ignore
/chat reload
Reloads the config
ChatUtilities.reload
/chat chat (player) (message)
Send a chat message from the specified player. Works with commands by putting a / in front of the message.
ChatUtilities.chat
/chat delay (delay in ticks) (command)
Runs the proided command from console after the delay.
ChatUtilities.delay
/chat loop (amount) (delay) (command)
Runs the provided command from console however many times you say, with a delay between each command in ticks. You can use $current in the command and it will be replaced with the number that it is on.
ChatUtilities.loop
/chat asop (player) (command)
Forces the player to runn the command as if they were an op.
ChatUtilities.asop
/chat sync (command)
Used only in replacement commands, runs the command from console as a task after the replacement happens.
ChatUtilities.sync
/chat tell (player) (message)
Tell a player a direct message without any formatting. If you leave the message blank, it will output a blank line to the player. You can also use color codes.
ChatUtilities.tell
/chat cancel (delay id)
Cancels the id provided. The id will be the message you get when you execute a delay command.
ChatUtilities.cancel
/chat package (package command and arguments)
Manually executes a package command. (Makes it work in command blocks)
ChatUtilities.package

Preset Replacements
These are things that are replaced with values if you have the permission of "ChatUtilities.functions".
These work in chat and in commands.
Just put a players name in the parentheses.

Function
Description
!XOf()
Replaced with the x value of the player
!YOf()
Replaced with the y value of the player
!ZOf()
Replaced with the z value of the player
!WorldOf()
Replaced with the name of the world that the player is in
!UUIDOf()
Replaced with the UUID of the player


Configuration
Before we start, if you do not have notepad++, I highly reccomend you get it.
You can find it here.
Never use tabs in this plugin's configuration, go into Settings->Preferences->Tab Settings and check the "Replace by space" box.

Package Commands

To add a packaged command, put the command that you want under the PackagedCommands key. (dont put a '/')
Example
PackageCommands:
test:
Then add the permission and minArgs nodes. (If you dont want arguments in your command, set minArgs to 0)
Example
PackageCommands:
test:
permission: MyPermission.test
minArgs: 0
After that, add a list of commands that you want. (You can use $player for the name of the player and $(insert number here) for that argument.
Example
PackageCommands:
test:
permission: MyPermission.test
minArgs: 0
commands:
- chat chat $player Hello!
- chat delay 20 chat chat $player This is one second later!
You are now all done with adding your package command.
Remember that all of the commands in it are run by console!



Replacements

To add a replacement, put the word you want replaced under the replacements node.
Replacements work in chat, commands, and even on signs!
Example
replacements:
firework:
Then add the replacement, permission, and replaceAll nodes.
(If you don't know what replaceAll is for, imagine this: There is a replacement to replace 'i' with 'I'. If replaceAll was false, then a message would look like this: "I like cake." if it was true, it would look like this: "I lIke cake." replaceAll when its false only replaces the word if it stands alone.)
Example
replacements:
firework:
replacement: ooh, ahh!
permission: MyPermission.firework
replaceAll: true
Then add the commands. If you put "cancel" for the command, it will cancel the event. You can use $player and it will be replaces with the players name. These commands are run from console and executed before the chat message is displayed.
To execute the command after the message is displayed, use the "chat sync (command)" command.

Example
replacements:
firework:
replacement: ooh, ahh!
permission: MyPermission.firework
replaceAll: true
commands:
- chat sync chat chat $player I like fireworks!
Taa daa, all done!
There are a lot more possibillities here, for example:

Make something only work in an anvil
replacements:
'&0':
replacement: §0
permission: Something.that.the.player.doesnt.have
anvilPermission: ChatUtilities.anvilColor.0
replaceAll: true
Spawn a firework
replacements:
firework:
replacement: ooh, ahh!
permission: MyPermission.firework
replaceAll: true
commands:
- chat sync chat asop $player summon FireworksRocketEntity ~ ~ ~ {LifeTime:20,FireworksItem:{id:401,Count:1,tag:{Fireworks:{Explosions:[{Type:1,Flicker:1,Trail:1,Colors:16711680],FadeColors:[5441159]}]}}}}
Kick a player for a bad word
replacements:
BadWord:
replacement: '****'
permission: ChatUtilities.badword
replaceAll: true
commands:
- chat sync kick $player Swearing is not allowed
Have cool symbols in chat
replacements:
:):
replacement: ☺
permission: ChatUtilities.replacement.happy
replaceAll: true
(phone):
replacement: ✆
permission: ChatUtilities.replacement.phone
replaceAll: true

Regex
Regex can be used in for more advanced replacements.
To use regex in your replacements, be sure to have "replaceAll" set to true.
Then, it should look something like this:

' \E regex here \Q':
replacement: it works!
permission: none
replaceAll: true

So, for example:

'\Ea+\Q':
replacement: it works!
permission: none
replaceAll: true

That would replace all a's and strings of a's with "it works!".
To test your regex, go here.
Just put "(?i)\Q" in front of your replacement and "\E" in back of it.
For example, to test the previous example, you would type this into the regex box:
"(?i)\Q\Ea+\Q\E"
Then, type whatever you want to test to see if it matches into the box below.

--For Advanced Users--

To get what a regex matched, use the $match variable in the replacement and commands.
Just double-parentheses whatever you want to match.

undefined

undefined
Progress100% complete
Game VersionMinecraft 1.8.1
Tags

24 Update Logs

Update #24 : by Techdoodle 01/31/2015 8:00:55 pmJan 31st, 2015

Yay, an awesome way better updater!
LOAD MORE LOGS

Create an account or sign in to comment.

furballswift
12/29/2014 12:28 pm
Level 4 : Apprentice Crafter
furballswift's Avatar
I wish I could use this but I dont have a server :(
1
Techdoodle
12/29/2014 6:10 pm
Level 65 : High Grandmaster Programmer
Techdoodle's Avatar
Pretty easy to fix, follow this tutorial.
1
Agentcope
11/27/2014 12:24 pm
Level 17 : Journeyman Explorer
Agentcope's Avatar
Can use make this for Mac too?
1
Techdoodle
11/29/2014 4:33 pm
Level 65 : High Grandmaster Programmer
Techdoodle's Avatar
It should work on any 1.7.10 - 1.8 server...
1
Umejii
11/26/2014 1:39 pm
Level 15 : Journeyman Miner
Umejii's Avatar
THIS LOOKS DUCKING AWESOME!!! See wut I did der ;-)
1
Umejii
11/26/2014 1:40 pm
Level 15 : Journeyman Miner
Umejii's Avatar
You have NO idea how MUCH I will use this!!



Sub, Diamond, Like, Share, Favorite, My god man, I love this!!!
1
Techdoodle
11/26/2014 2:35 pm
Level 65 : High Grandmaster Programmer
Techdoodle's Avatar
Glad you enjoy it!
:)
1
Vyxept
11/24/2014 7:42 pm
Level 28 : Expert Artist
Vyxept's Avatar
Can you configure it to change a word to another word in chat? I'd like to make it so when my players try to swear, they say "Alpaca" instead.
1
Techdoodle
11/24/2014 10:14 pm
Level 65 : High Grandmaster Programmer
Techdoodle's Avatar
Yup, just:

  InsertBadWordHere:
    replacement: 'Alpaca'
    permission: none
    replaceAll: true
1
Tommybom19
11/15/2014 9:44 pm
Level 9 : Apprentice Architect
Tommybom19's Avatar
Awesome! I love the fact that players can be kicked from the game because they were swearing.
1
Planet Minecraft

Website

© 2010 - 2024
www.planetminecraft.com

Welcome