"Garbled" Channel-based Chat

Discussion in 'Archived: Plugin Requests' started by MrMe1003, Nov 26, 2014.

Thread Status:
Not open for further replies.
  1. Offline


    (possible) Plugin category(ies):
    • Chat-Related
    • Role-Playing
    • Mechanics
    • Fun
    Suggested name:"RPChatPlus", "CanYouHearMeNow"

    What I want:
    I would like a plugin that takes inspiration from two main plugins, in a way combining the features I personally like about both of them. I would like the control and ability to customize that makes HeroChat so popular, but with a feature I fell in love with from the less popular RealisticChat.

    Primarily, I would like a plugin that has separate chat "channels" with a configurable "hearing" range, but at a set distance, letters begin to drop from the chat, leaving only a "partially heard" message, with more letters dropping as you approach the distance at which you "hear" nothing at all.

    The customizable aspects I would like would be the ability to have in-channel (i.e. not global) /me "actions", a configurable format to be applied to the text when someone speaks, and configurable chat color per-channel. Less importantly would be the ability to make the speaker's name a different color in their own client, making it distinguishable from other people talking, as well as maybe adding a custom format to the /tell private-messages.

    Ideas for commands:
    • A command to set which channel you're speaking in
    • A config-reload command for easy in-game adjustments
    • A command for channel creation/deletion
    • A command to kick/ban/mute people per-channel
    Ideas for permissions:
    • [PluginName].join.[ChannelName]
    • [PluginName].leave.[ChannelName]
    • [PluginName].default.[ChannelName] (Sets the channels people are in upon first log-in)
    • [PluginName].chat.[ChannelName] (Allows people to speak in a channel they've joined)
    • [PluginName].color.[Channel] (Allow for using special &format codes to change text color/style)
    • [PluginName].kick.[Channel]
    • [PluginName].mute.[Channel]
    • [PluginName].ban.[Channel]
    • [PluginName].kick.exempt (prevents being kicked from a channel)
    • [PluginName].ban.exempt
    • [PluginName].mute.exempt
    • [PluginName].admin (Allows for creating/deleting/customizing channels via commands, and reloading the config)
    When I'd like it by: There's no rush at all.

    Preferred version: 1.7.10
  2. Offline


    So, for letters dropping, do you want it to randomly select letters to drop but make them more likely to drop at a distance? If so, I would suggest making "dropped" letters appear with the &k chat format rather than completely disappearing, for less confusion.

    This plugin does sound like it would be pretty fun to make, so I might work on it tomorrow.
  3. Offline


    I'd only want the letters to drop after a set distance. For example:
    Say you set a channel to have a max distance of 35 blocks. I'd want to set it so all text is perfectly clear up until 25 blocks, then the further you got, the more letters would start randomly disappearing from the text (leaving a blank space) up until you got to 35 blocks, at which point you'd hear nothing at all.
    The problem with obfuscating the letters is that, for many people, very much text like that could get to be quite laggy; and if people are having a conversation off in the distance, there could get to be quite a few.

    And thank you for taking an interest in the request.
  4. Offline


    Do you want to make it so that players can only hear messages from the channel they're on?
  5. Offline


    Yes and no. I'd like them to only hear from channels they've joined.
    For example, I might have channels of different ranges; a far one for "yelling", a medium one for "talking", and a very close one for "whispering". I would like them to be able to hear from all 3.
    But, I might also have a channel with unlimited range for server staff to talk in, and naturally I wouldn't want all players to be able to hear that chat, so I wouldn't give them permission to join the channel.
  6. Offline


    Okay, so the can hear from any channel they have permission for, but the one they join is the one they talk in? If so, then what do the kicks and bans from channels do?
  7. Offline


    They would eject them from the channel. Say someone somehow found their way into the "admin" channel from some mistake I made assigning permissions. Kicking them out of the channel would make it so they couldn't speak in that channel or hear what's said in it without typing "/join Admin" again. Banning them from the channel would prevent them from rejoining it.

    Basically, you'd pick what channel you were talking in by using a command like "/speak [channel]" or "/ch [channel]". To actually be able to hear from a channel, they would have to "/join [channel]". Additionally, say someone got tired of hearing someone who was yelling about something that didn't concern them. They'd be able to "/leave [channel]", and they'd no longer hear anything yelled.

    Thinking about it more, though, I suppose I wouldn't want people leaving IC channels, so maybe an option for leaving channels wouldn't be entirely necessary, and they would just hear from any channel they had permissions for, and would choose what channel they speak from with "/ch".
    Whichever you would prefer to do, I guess. I personally wouldn't include an 'OOC' (out of character) global channel on my server, but someone else who'd use the plugin might, in which case it would be convenient for players to be able to leave the OOC channel if they wanted more immersion.
  8. Offline


    So they hear from any channel they have permission for and they can join any channel they have permission for. When they are banned from a channel they can't hear anything from it or join it to talk in it, when they are muted they can hear it but they can't talk in, and when they are kicked they just have to join again to talk?
  9. Offline


    Yes, exactly. I'm sorry if I wasn't very clear about that. I got a little long-winded with that reply.
  10. Offline


    Almost done. One problem the plugin may have is with the ban/mute exempt permissions because last time I tried to get permissions from an offline player, it threw some errors. Even if it is possible though, many permission plugins remove permissions when the player leaves and adds them again when the player joins, so there may be some issues with that, but I will make an OP check and check exempt permissions if the player is online.
  11. Offline


    That's fine. That's just kind of a secondary thing anyway. The permissions to kick/ban/mute would of course only be given to staff, and I personally wouldn't keep someone who would mute other staff members in that position, anyway.

    Also, just to clarify, the version of Minecraft I'd plan on using this for is 1.7.10.
    I was going to put that in the OP, but forgot about half-way through typing it. I'll edit it in now.

    EDIT by Timtower: merged double post
Thread Status:
Not open for further replies.

Share This Page