RealisticChat
MYCRAFTisbest and POSITION OPEN's RealisticChat - realistic local chat!
FORMERLY
-----------------
CakeMushroom's RealisticChat - realistic local chat! |
a collaboration of cakenggt and mushroomhostage |
-----------------
DONATORS:
Godpuppet2 - $20USD TOP DONATOR
TheOnlyShad0w - $10USD
RealisticChat 3.0- released, now with better 1.4 support
Features:
- Local chat
- Yelling
- Whispering
- Bullhorns
- Ear trumpets
- Walkie-talkies
- Smartphones
Basic Usage
Talk normally. You'll only be able to clearly hear other players within 25 meters.
Beyond 25 up to 50 meters, chat will break up: letters will randomly drop from your messages, with increasing probability the greater the distance.
To reach someone further away, you can yell. For example: "*help!*" adds 10 m. Multiple exclamation marks will make you yell louder: "*help!!!!*" adds 500 m. Yelling will also make garbled messages clearer. However, yelling comes at the cost of decreasing your food level!
If you want to talk to people very close by but hide your chat from others further away, you can decrease your chat range by whispering, for example: "*(lets go)*". Only players within 10 m will be able to hear your whispering, and only those within 5 m will be able to hear you clearly.
Advanced Usage
To further increase your chat range, speak while holding a bullhorn (diamond). This will double your range within a conical region in front of you, just like a real bullhorn (or megaphone). Bullhorns can be used in conjunction with yelling. Additionally, players hearing messages from bullhorns will recognize the direction it is coming from. You can use this ability for [acoustic location](http://en.wikipedia.org/wiki/Acoustic_location) if you get lost.
For stealthily listening in for covert operations, wear an ear trumpet. A precursor from the 1600s to the modern hearing aid, the [ear trumpet](http://en.wikipedia.org/wiki/Ear_trumpet) can increase your hearing range significantly, but has no effect on your speaking range, allowing you to eavesdrop on enemy bases from a safe distance while talking casually as normal with your partners in crime. Craft it in the shape of a helmet with a diamond in the center, out of wooden planks (+100 m), leather (+150 m), or iron (+400 m), then wear it on your head as armor for improved hearing. It has the same durability as a Golden Helmet.
For long-range communication, use a walkie talkie (compass). Hold the compass in your *hand* and speak as normal, and your voice will be clearly transmitted through the device up to 1000 meters (and break up beyond 1000 meters, up to 2000 meters) to other players holding a compass anywhere in their *hotbar*. Walkie Talkies are especially useful for keeping in touch with other players while travelling.
For private one-to-one communication, use a smartphone (clock). Hold the clock in your *hand*, and use speak into it the name of a player you want to call. Its high-tech *voice activated calling* capabilities will cause the device to ring up the player, giving them at most 4 times until they pickup by switching to the phone. Once the call is established anything said will also be transferred over the air to the other player. You can hang up the call by moving your hand to another item. (Note that other players can overhear you if they are nearby, just as if you are talking normally, so be sure to go somewhere far away or use whispering if you really want your conversation to be private, but this feature can be disabled if desired, see below). Smartphones are still experimental, please report any problems or suggested enhancements.
All distances, items, and other parameters are configurable to your liking; see below.
Commands
None
Configuration
speakingRangeMeters (50.0): Maximum distance between players to allow any chat message to be received, under normal conditions. Note that the message may be garbled at longer distances, see below.
garbleRangeDivisor (2.0): Fraction of speakingRangeDistance after which the chat is garbled (letters randomly dropped with increasing probability further away). For example, 2.0 means beyond 1/2.0 = half of the maximum hearing range (default 50/2 = 25 m), chat will be garbled.
garblePartialChance (0.10): When a character is about to be dropped due to garbling, use this probability to determine if the character should instead be dimmed (colored chatDimMessageColor), representing a barely audible piece of the message. Set to 1.0 to always dim letters instead of dropping, or 0.0 to disable dimming entirely.
garbleAllDroppedMessage (~~): Message replacement to display if you were unlucky enough for your entire message to be garbled. Set to null to disable replacement.
chatLineFormat (%1$s: %2$s): The format of the chat line to be shown to the player. The first argument is replaced with the player's display name, and the second with the message text. For the traditional chat display, try "<%1$s> %2$s", or to hide player names for anonymous chat, use just "%2$s".
chatSpokenPlayerColor (YELLOW): Color of player name shown to a player when they themselves speak.
chatHeardPlayerColor (GREEN): Color of player name of speech heard from other players.
chatMessageColor (WHITE): Color of chat messages.
chatDimMessageColor (DARK\_GRAY): Color of partially-received characters, garbled by garblePartialChance. Set to "MAGIC" for an interesting effect.
yellMax (4): Maximum exclamation marks allowed at end of message to increase yelling level. To disable yelling entirely, set to 0.
yell.#.hunger (1, 2, 4, 20): Hunger (in half-drumsticks) depleted for each yelling level (number of trailing exclamation marks). 20 depletes all hunger.
yell.#.rangeIncrease (10.0, 50.0, 100.0, 500.0): Range increase in meters, beyond the normal range, for each yelling level.
whisperRangeDecrease (40.0): Distance to decrease the chat range when whispering (parenthesized chat). For example, 40.0 will decrease the normal 50.0 range to 10.0 meters maximum. The garble range divisor still applies, so (by default) only those 10.0/2 = 5.0 meters away will hear you clearly.
bullhornEnable (true): Enable or disable bullhorns.
bullhornItem (diamond): The hand-held item to use to represent bullhorns.
bullhornFactor (2.0): Multiply chat range by this value when player is holding a bullhorn (diamond).
bullhornWidthDegrees (70.0): Width of the bullhorn conical region in front of the player, in degrees. 70 is the default Minecraft field-of-view.
bullhornChatLineFormat ("%1$s [%3$s]: %2$s"): Messages received from bullhorns will be formatted using this format string, with the third field replaced by the compass direction from where the message was received. See also chatLineFormat.
earTrumpetEnable (true): Enable or disable ear trumpets.
earTrumpetEnableCrafting (true): Enable or disable crafting of ear trumpets.
earTrumpet.#.rangeIncrease (100.0, 150.0, 400.0): Hearing range increase for each of the tiers of ear trumpets. The wearer will be able to hear (but not speak) up to this increased range.
walkieEnable (true): Enable or disable walkie talkies.
walkieItem (compass): The hand-held item to use to represent walkie talkies.
walkieRangeMeters (2000.0): The maximum range of walkie talkies. Note that near the end of this range, messages will be garbled depending on walkieGarbleDivisor.
walkieGarbleDivisor (2.0): Fraction of walkieRangeMeters after which the transmissions are garbled. Using the defaults, beyond 2000.0/2 = 1000 m the messages will break up, and from 0 - 1000 m, messages will be clear.
walkieChatLineFormat ("[walkie] %1$s: %2$s"): Messages received from walkie-talkies will be formatted using this format string. See also chatLineFormat.
walkieHearLocally (true): When talking into a walkie-walkie, allow other people nearby to overhear you. This adds realism since you'll have to whisper or go away from other players to have a private conversation, but can show doubled messages if the player you're talking to on teh walkie is near enough to hear you locally as well. If false, the message will only be sent into the walkie-talkie, not to nearby users.
globalPrefix ('/g '): Messages beginning this prefix will be delivered globally, regardless of local chat restrictions. You can either use a command (examples: '/g ' or '/s '), or a prefix in normal chat (example: '@'). Set to null to disable.
globalChatLineFormat ("[global] %1$s: %2$s"): Messages sent using /g will be formatted using this format string. See also chatLineFormat.
smartphoneEnable (true): Enable smartphones.
smartphoneItem (watch): Item to use to represent a smartphone.
smartphoneChatLineFormat ("[cell] %1$s: %2$s"): Messages received from smartphones will be formatted using this format string. See also chatLineFormat.
smartphoneHearLocally (true): When talking into a smartphone, allow other people nearby to overhear you. See also walkieHearLocally.
smartphoneRings (4): Number of times to ring smartphone when calling a player before they answer.
Permissions
All permissions default to true.
realisticchat.yell: Allows you to yell
realisticchat.whisper: Allows you to whisper
realisticchat.bullhorn: Allows you to speak into bullhorns
realisticchat.eartrumpet: Allows you to wear ear trumpets and hear better
realisticchat.walkie.talk: Allows you to talk into walkie-talkies
realisticchat.walkie.hear: Allows you to hear from walkie-talkies
realisticchat.smartphone.call: Allows you to place calls with your smartphone
realisticchat.smartphone.answer: Allows you to answer calls with your smartphone
Comming Soon:
- Op override (adding perms to allow Ops to hear and be heard by all)
- World Comminicator (diamond hoe, It works everywhere, you will probably need something to power it)
- Pager (iron ingot, it just tells u the name of the person who contacted you by ether pager or phone)
- Home Phone (made of an iron block and if within an area of it, a ring message will be heard and right clicking it will pick it up (ect))
- Newb message (a customizable message sent to first time players to describe the server and how the chat works)
- Maybe Cell tower (configured block) and phone lines (string)??
- Maybe Outlets (Phones need to be charged)??
- anything else?
Hello! Would it be possible to add the ability to change the settings on your walk-e-talkie so you can have different channels and maybe even encryptions on it? So the function would be like the smartphone, but with more people talking at once and only the people that know the encryption code are allowed in.
I would love if you could add permissions to this for the various items. This would allow multiworld control via PermissionsEX.
B E A Utiful. Thanks. Yeah, I have no clue, or rather, not the time to devote to learning Java currently. Thank you so very much.
Wow, this is a pretty advanced plugin that doesn't seem to have much attention. I'm going to suggest people use it with my hunger games plugin :)
Hi, can you make is play nicely with Factions? :) Thank you.
So mushroom, would it be possible to edit the chat format system to only push the prefix and not the whole thing?
@MeneXia
Yes you can set chatDimMessageColor: MAGIC and garblePartialChance: 1.0 in the config to use the randomly altering text for scrambled partially heard messages, instead of dropped or dimmed letters.
@MeneXia
Eh, i disagree. I think the random flashing text is distracting. Its too 'busy'. It distracts from the whole sentence because it has more movement. I like the falling text because it doesnt grab your attention.
Is it possible to implement the new "random" text filter for walkie talkies? It shows text being scrambled in-game. It simulates radio garbling better than dropping letters, in my sole opinion.
This "random letter" chat prefix is signified by &k - from http://www.minecraftwiki.net/wiki/Classic_server_protocol
@mushroomhostage
/shout and /s would be alias' for /g Also, can you make some way of calling? If I call joe, and he has a clock somewhere in his inventory, it should ring even if he isnt holding it. No one will just carry a clock in their hand at all times. But wait, theres more! Could you switch to normal color codes, e.g. &1-9, a-f? And more importantly, is there anyway to push a prefix, but not the overall format unto essentials chat? I like the colors/group formats I have set up on essentials, but when the user is talking globally i would like to have a little [G] before their name. I dont know if it would be possible to enforce the prefix there, but not the overall format. I think the best way would be to add more config nodes. Have one for the prefix, and one for the chat color. Instead of enforcing the entire format, you should just work with the chat color and the prefix. (E.G.) || globalprefix: [G] || globalcolor: &f || localprefix: [L] || localcolor: &7
@Nefiron
Added a global chat line prefix in RealisticChat 1.2, along with customizable chat line formats (globalChatLineFormat, default "[global] %1$s: %2$s").
@saimon13
What prefix are you using? I just tested with globalPrefix: '@ ' and chatting "@ hey" worked as expected. Can you try with RealisticChat 1.2 on CraftBukkit 1.2.5-R1.0?
@acuddlyheadcrab
Thanks!
@gustebeast
Added prefixes for global chat, and a customizable chat line format so you can also add local prefixes if desired (globalChatLineFormat and chatLineFormat). Highly configurable :).
RealisticChat 1.2 now sends chat events to other plugins, instead of stopping the chat events entirely (but it has to synthesize its own events since the messages to each individual may differ, due to distance-based garbling), so it may be more compatible with other chat plugins - I haven't tested it much though, but if there are any problems let me know. Didn't get a chance to add global chat cool-down or walkie talkie channels in this release but those are great ideas. For /shout and /s do you mean they would be aliases for /g (global chat)?
I like the basic concept of this plugin, but i think it could use some changes/aditions...
Kewl! I like dis.
I can't seem to make it work with simple prefix...
I love the plugin. However there is one big/small change you guys should do and then it would be a valuable plugin.
Having prefixes for the chats. Real prefixes so you can see if people speak in Global or in Local.
We are having troubles on the server because we cant find out where the messages are coming from. It's kinda annoying.
@goby642
Added global chat support in RealisticChat 1.1. It defaults to '/g ' but can be changed using the globalPrefix configuration option.
@deadjaw
Yes, it should work with the 1.2.4 development snapshots (I tested with craftbukkit-1.2.4-R0.1-20120325.235512-21.jar, any problems let me know).
I really like this plug-in. I haven't actually tried it out, but plan on using it for my server. By the way, is it compatible with the new update?
-Thanks
i would use it if there was a public chat as well, for example: /p <message> . this would send a global message and would make players able to ask for help from an admin or maybe just another player.
@2mac
Fixed in RealisticChat 1.0a - it will now create a config.yml file automatically with all the defaults you can edit (in 1.0 you had to create this file yourself).
I cannot find a config file except within the jar and when that is edited, the changes do not take effect although the file has been modified.