Filled Punishment Announcer

Discussion in 'Plugin Requests' started by C.L., Sep 22, 2016.

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

    C.L.

    Plugin category: Chat

    Minecraft version: 1.5 - latest versions

    Suggested name: Punishment Broadcast

    What I want: I'd like a plugin that can broadcast punishment commands that don't get announced by Essentials without overwriting existing commands. I think AdvancedBan or some plugin does this but overwrites existing commands such ad /ban, /kick, stuff like that. I want to be able to have players read all the punishments that take place.

    My server already announces kicks and bans, but not mutes, warns, freezes, or jailing. Example: I jail someone to Cryo1. It should say "CLtheman1 jailed Frozen_Man to jail: Cryo1". If I freeze or warned someone (I use player freeze to warn and freeze) it should say "CLtheman1 froze Frozen_Man" or "CLtheman1 warned Frozen_Man. Reason: Don't be so cold!"

    It should be easily configurable in a config file and color codes could be used.
    Example in config: "#If player excecutes '/warn' on someone, say in chat:
    '%Player% warned %Player%. Reason: %Reason%.'
    Ideas for commands: /punishbroadcast (alias: /pb) /pb toggle (command for players to ignore the messages)
    Ideas for permissions: pb.read (permission to read the messages)
    pb.toggle

    When I'd like it by: When you're done.
     
    Last edited: Oct 5, 2016
  2. Offline

    9UjtOAtcBA

    Just popped in here to give my 2 cents on global punishment broadcasts

    It's kind of a dick thing to do, to be honest. I find that players are more likely to re-offend if you publicly broadcast their punishment, since this causes heavy amounts of so called "mod sass". Here is an image depicting such an event take place:
    [​IMG]
    In essence, mod sass is the byproduct of being embarassed by a punishment, and then being butthurt about it, to the extent of re-offending immediately, to "show off" or to "fight the system".

    Also to preserve the validity of my comment, I shall instruct you in creating this mechanic yourself with mycommand. Not that anyone ever does that but whatever
    Define a /punish command.
    Set this command to execute the first and second argument of "/punish" when triggered.
    Add the second argument of "/punish" as a tag to the executor.
    Execute a bunch of tagged players with the name of the executor with /tellraw.
    E.g:
    Code:
    /sudo $player $arg2 $arg1
    /scoreboard players tag $player add $arg2
    /execute @a[name=$player,tag=warn] ~ ~ ~ /tellraw @a {"text":"$arg1 was warned for $multiargs"}
    /execute @a[name=$player,tag=kick] ~ ~ ~ /tellraw @a {"text":"$arg1 was kicked for $multiargs"}
    /execute @a[name=$player,tag=mute] ~ ~ ~ /tellraw @a {"text":"$arg1 was muted for $multiargs"}
    /execute @a[name=$player,tag=shrek] ~ ~ ~ /tellraw @a {"text":"$arg1 was royally shreked by lord shrek for graet justice because $multiargs"}
    /scoreboard players tag $player remove $arg2
    
    If you use the above example, whenever you type /punish <player> <punishment> <reason ...>
    The server will sudo you to use the command /<punishment> <player>
    Then, if <punishment> is equal to any of the punishments you've defined a message for, the server will broadcast a global raw JSON message.

    For example, upon typing "/punish ThisGuy shrek he stole my goddamn flowers"
    1 ThisGuy will be subjected to shrek (feel free to define that as a command lol)
    2 The server will output:
    "ThisGuy was royally shreked by lord shrek for graet justice because he stole my goddamn flowers"

    Nothing stops you from getting creative, either. If you don't trust your mods, give them a maximum number of punishments they can give within a day. If you want only staff to get the message, message the JSON to only players with a specific permission node. Or perhaps give your players the ability to ignore the messages?
     
  3. What plugin do you use for punishments?
     
  4. Offline

    C.L.

    I just use Essentials, Player Freeze, Chat Control. Not much punishment plugins. I go with default punishments, along with adding Player Freeze punishments. Player freeze is the main one, which adds /warn, /acknowledge, and /freeze.
     
  5. Offline

    C.L.

    I don't see the image. It just says IMG. Upload it to imgur and post the image that way.
    In the thread, I didn't point it out but the suggested command /pb toggle is for players to toggle weather they see the messages or not. And the permission node to see the messages is pb.read. I'll update the thread to make it more clear.

    BTW, is anyone going to make this plugin?
     
    Last edited: Oct 25, 2016
  6. Offline

    Lolmewn

  7. Offline

    Rayzr522

    For once I actually don't disagree with using MyComnand for this, I think it'd be a perfect situation. However, @C.L., am I correct in saying you don't want to overwrite the current commands you have through your various punishment plugins?
     
    Last edited: Oct 9, 2016
  8. Offline

    C.L.

    Yes.
     
  9. Offline

    Rayzr522

    @C.L.
    The only option for that is to listen to command events, and it can be tricky / inaccurate... it can be done though (example).

    If no one wants to take this then maybe @ZP18 can do it. He and I did Clickable-TPA together, maybe he could duplicate & modify it to do what you want. Maybe ;)
     
  10. Offline

    ZP18

    @C.L. This isn't quite hard, I can either make it Essentials-specific or make it configurable and universal. How would you like it? Never mind I'll just make it universal so I can publish it


    Sent from my iPhone using Tapatalk
     
  11. Offline

    Rayzr522

    @C.L.
    You are using Essentials for your punishing, right?
     
  12. Offline

    ZP18

    And PlayerFreeze and Chat Control


    Sent from my iPhone using Tapatalk
     
  13. Offline

    Rayzr522

    Perceive will do this plugin request, specifically @ZP18
     
  14. Offline

    C.L.

    Mostly correct. I use essentials for basic punishments like jail, mute, kick, and bans. I use player freeze to warn and freeze players(I like the plugin because it gets the players attention and makes them read the warning and do /acknowledge before they can resume playing). ChatControl... eehhh. It's not really for punishments. I think you have to have a separate plugin for it to auto-apply the punishments. Its current use on my server is just fun denied access message replacements and censorship against strong words.

    But yes, you're right. BTW, I might be wanting some of that clickable tpa stuff.
     
  15. Offline

    Rayzr522

    If you want to install Clickable TPA then just go to our Jenkins server: https://ci-perceive.rhcloud.com/

    It always has the latest builds of our plugins. Anyways, I'll contact @ZP18 to see when he plans on doing this, if he's too busy then I'll probably just do it myself.
     
    C.L. likes this.
  16. Offline

    Rayzr522

    @C.L.
    @ZP18 and I have almost finished PunishmentAnnouncer, you can find it on our Jenkins server. Let us know if there's any problems, or if you have any feedback!

    Commands:
    /punishmentannouncer [reload] or /pa [reload]

    Permissions:
    PunishmentAnnouncer.admin: Needed for using the PunishmentAnnouncer command


    We'll add the other two permissions and the other command shortly.
     
  17. Offline

    C.L.

    Nice, thanks! Just 2 small favors: change the commands and permission names to punishbroadcast or pb for the alias and look at the main thread post and add all the suggested commands. The suggested name was PunishBroadcast and the suggested commands and permissions were, also. It's not really a big deal but I would appreciate it. :)

    I don't activate my minecraft server much because I have school and only get 2 hours of play before my dad comes home.
     
    Last edited: Oct 19, 2016
  18. Offline

    Rayzr522

    Yeah it's fine, and as I said we will add the other command and permissions shortly. In fact I can probably do that right now really quick.

    EDIT: Finished https://ci-perceive.rhcloud.com/job/PunishBroadcast/6/

    Commands:
    /pb: Shows version info
    /pb reload: Reloads config
    /pb toggle: Toggles punishment broadcasting

    Permissions:
    pb.reload: Used for /pb reload
    pb.toggle
    : Used for /pb toggle
    pb.read
    : Controls whether or players will see the broadcast

    Is that satisfactory?
     
    Last edited: Oct 20, 2016
  19. Offline

    C.L.

    Nice. Thank you. :) Just to be sure, /pb toggle makes it so you just ignore the messages, not toggle them for everyone? Ooh! *Comes up with an idea* When I said that I was thinking, I think admins or people with a new perm 'pb.toggle.other' could toggle it on/off for another player (using /pb toggle <playername> or use @a,@p) if what 9UjtOAtcBA comes true. Just this last tweak and this plugin should be complete complete.
     
  20. Offline

    Rayzr522

    @C.L.
    The thing is...

    Doing that will make this far more complicated. I thought it was supposed to toggle broadcasts in general... what you're talking about will require storing player data :(

    It makes this a lot harder... but we can do it. As for @a/@p, that is a vanilla-only thing. We could implement it... but it really would be far more difficult than it is worth.

    And when would you ever need to toggle another player's broadcast listening? The only situation I can think of is for trolling, and I doubt you'll be needing that ;)

    Just thinking, because, again, it makes it harder to program :p
    Of course if you really really really want to, we can implement the toggling of other players, and it's fine we can implement per-player toggling of broadcast messages, you are the requester after all. I just don't want to waste effort on something unless you're sure you're definitely gonna use it (like toggling other player's broadcast state) :)
     
  21. Offline

    C.L.

    I haven't given it much thought before because I didn't pay attention to the different @'s when using cmd blocks, but if I ever suggest again that you implement it, I want you to also add @r, because there may be rare cases where I catch rule breakers grouped up in an area and I might want to toggle it off for them before I warn or punish them.
    I'm not into trolling. However, if I do catch a hacker deliberately causing harm to my server I will torture/troll them. @9UjtOAtcBA was the first one to comment and he said people might be more likely to re-offend if they see that it's broadcasted when they get punished (or what situations he'd say some players would consider "mod sass"). If that's true in some cases(and it could be indicated from someone who would break the rules more than one time), I could toggle it off for them as a courtesy and tell them the command to toggle it.
     
  22. Offline

    Rayzr522

    That's fine, we can implement all that. Just wanted to make absolutely sure that's what you wanted, because it isn't easy to implement. That's fine though, we'll do it :)
     
    C.L. likes this.
  23. Offline

    C.L.

    I tested it on my server for a bit. Didn't see the punshment broadcast messages because I didn't put in the perms until it was time for my dad to come home and it was laggy because it's a modded cauldron server. But when I tried /pb toggle it showed me the usage message. It needs to be fixed. When I type /pb toggle it should tell me "Punishment announcements (enabled or disabled) for <playername>."
     
  24. Offline

    ZP18

    Did you specify the player name?


    Sent from my iPhone using Tapatalk
     
  25. Offline

    C.L.

    I don't need to. It's the first make of the plugin I'm using. When I type /pb toggle it just tells me: "Usage: /pb [reload|toggle]" I just now suggested that you can toggle it for other players and they are working on it.

    (When I put text in a lighter color against the white background here, it means you just read it and move on without discussing, it to keep from going off topic. One of those light colored messages not to be discussed here is the one below.)

    I don't mean to send this off topic or anything but I'm gonna point out something to you, ZP18. Your "Sent from my iPhone using Taptalk" is annoying. Every post I've seen from you ends with that message. I've even looked on your posts from other threads and it's the same thing every time. You're basically spamming when you say that in every post. You should stop so... the next message I see you say "Sent from my iPhone using Taptalk" I'm gonna report for spam. It's a bad habit for you. Who cares what you send it from? Go read about spam. Then come back without that spammy, space taking little message you keep putting at the bottom of your posts. You'll thank me later.
     
    Last edited: Oct 26, 2016
  26. Online

    timtower Administrator Administrator Moderator

    @C.L. Tapatalks app adds that on its own. He isn't doing it by hand.
     
  27. Offline

    ZP18

    Why the random abuse? I just found out that I can disable the signature in Tapatalk and I haven't been handwriting it like @timtower said. It's an automated thing by Tapatalk.
     
  28. Offline

    C.L.

    Okay I didn't know.

    ... Are the requested updates on the plugin made yet?
     
  29. Offline

    Rayzr522

    @C.L.
    No, sorry, I'll ask @ZP18 about it next time I talk to him.
     
  30. Offline

    C.L.

    Okay I see the last success was 13 hours ago. Was it updated? Can you, @Rayzr522 @ZP18 make an update log, please?
     
Thread Status:
Not open for further replies.

Share This Page