FrogAnnounce

Change Log

Changelog

Version 2.4.0

  • API: Announcement#getText() no longer returns a reference to the text array; rather, it returns a deep copy of it (if you were even able to get to it).
  • API: FrogAnnounce#getAnnouncements() now returns type Announcement[], rather than String[]. There was a major issue with the way it had been done before (any announcements with multiple lines would mean the plugin would throw an IndexOutOfBoundsException). I feel that this is more useful, as well.
  • API: Cleaned up some of the javadocs. In particular, one of the return params for the javadoc said something about getting the return. Whoops.
  • Added individually-timed announcements. These will not stop synchronous announcements from running (i.e. if you have 2 announcements running individually and 1 running synchronously, all set to 1 minute, all 3 announcements will fire at the same time).
  • Updated ignore system to use UUIDs instead of names. Anyone who is currently ignored will be lost. Sorry, there was no real "decent" alternative.
  • Added more clarification to default configuration.
  • Added examples of individual announcements to default configuration.

Version 2.3.0

  • API: Added announcement listeners, fired when announcements are performed. Use FrogAnnounce.getInstance().registerSyncAnnouncementListener(new AnnouncementListener(){ ... }) to register your synchronous listener, or replace Sync with Async to register an asynchronous listener.
  • API: A lot of methods are now public, so that other plugins may use them. Be aware that internal operations are still private. Download the source as a .zip and use that as your library's source (should also include javadoc).
  • Majorly refactored the configuration. See https://raw.github.com/TheLunarFrog/FrogAnnounce/master/main/resources/Configuration.yml for the new format.
  • Implemented automatic conversion from the old configuration version to the new one.
  • Frontloaded as much processing time as possible when loading the announcements, as compared to the old way of doing it when it was to be announced.
  • Added a warning message if all announcements are disabled or none exist.
  • Cleaned up configuration loading.
  • Fixed a bug where the configuration would not reload if the plugin was reloaded by an external source (i.e., another plugin).
  • Console messages have been revamped, and now show colours.
  • Fixed a bug where the folder for configuration existed but the configuration did not would throw an exception. Now properly generates default config.
  • Optimized a bit (less variables, simplified statements, less assignment redundancy and redundant checks)

More on the new configuration model:

  • Announcements can now be per-world, as well as per-group.
  • Announcements can have global worlds and/or groups. Assigning neither of these or the aforementioned will default to everyone.
  • Ability to disable announcements. Set that announcement's Enabled property to false.

Version 2.2.1

  • Updated for CB 1.5.1-R0.1
  • Now works with Java 6
  • &NEW_LINE; can now be used on player join messages
  • Optimized announcement performance a bit
  • Added tag to player join messages
  • Added more detail to default configuration
  • Optimized start-up a bit
  • Optimized player join messages

Version 2.2.0

  • Updated to CB RB 1.4.7-R1.0
  • Removed ugly colour codes from console
  • Replaced a deprecated method call with an undeprecated method with the same function
  • Fixed an NPE with /ignore and /unignore
  • Fixed an NPE on start
  • Added &USE-CMD; - You can make FrogAnnounce run commands now! Usage: put this in the announcements configuration section, like so: &USE-CMD;op TheLunarFrog
  • Fixed another NPE while loading
  • Added dev-url field to plugin.yml, CraftBukkitUpToDate will now update this plugin automatically
  • Fixed /fa bc <index> never parsing announcement index and always announcing the first announcement
  • Fixed the plugin never notifying the command sender if they entered the announcement index 5 and they only have 5 announcements loaded, resulting in an NPE (the proper index would be 4)
  • Fixed several rare NullPointerExceptions
  • Removed some debug stuff
  • Added a way to send singular announcements to specific groups by adding &GROUPS;GroupName1,GroupName2,andSoOn at the end of the string, then closing the quotation marks. There can be as many groups as you like per announcement. Be minded that announcements that use this will not be shown to players not in the groups specified but such players will not receive a different announcement instead - as it was deemed too resource intensive (see here for more details).
  • Bugfix: commands not running when using /fa bc
  • Bugfix: don't return /fa to the user when they don't have any permission to do anything, but tell them so instead
  • Bugfix: /fa bc didn't ignore players who had toggled announcement ignorance on
  • Bugfix: toGroups setting would announce multiple times if a player was in multiple groups that were specified in the Groups setting
  • Bugfix: /fa bc ignored the toGroups setting, announcing to all groups, even if there were ones that it shouldn't have
  • Finally officially added ignore/unignore commands: using /fa ignore will make you no longer see announcements, while /fa unignore will make you see them again. Adding a player's name to the tailing end of the command will make them ignore/unignore announcements.
  • Added permission nodes to go with the new ignore/unignore commands: frogannounce.ignore, frogannounce.unignore, frogannounce.unignore.other, and frogannounce.ignore.other - all of these are fairly simple; the former two allow self-ignorance of announcements, while the latter two allow you to force others to ignore announcements, these come with frogannounce.*
  • Improved announcement code pathing slightly, making the plugin run faster (even though it took less than 1/10th of a second to announce before)
  • Added the ability to configure whether or not you want to see when announcements are announced in console - add this to your configuration:

Under Settings:

    #showConsoleAnnouncements: Should the plugin display a message saying that it is announcing now, with the announcement?
    #Default: false
    showConsoleAnnouncements: false
  • Added the ability to display a message to players on join - add this to your configuration:

Under Settings:

    #displayMessageOnJoin: Should the plugin display a message to users when they log in? Will not display if they are opted-out of announcements.
    #Default: false
    displayMessageOnJoin: false

Under Announcer:

    #joinMessage: A message you want to display the users when they log in.
    #Default: Welcome to the server! Use /help for assistance.
    joinMessage: Welcome to the server! Use /help for assistance.
  • Added the ability to make specific announcements go to only certain groups. This function requires Vault! To utilize this feature, just add &GROUPS; followed by the groups you want that message to be sent to, separated by commas, for example:
Announcer:
    Strings:
        - "I like frogs!&GROUPS;Administrators,Moderators"
        #Caution: everything after &GROUPS; will be removed. Make sure it's the last part of the announcement!

Version 2.1.1

  • Updated to CB1.4.5-R0.2
  • Added a new command: /fa mbc <announcement text here> - Announce a message to the entire server.
  • Added a new command: /fa add <announcement text here> - Add an announcement to the configuration. Automatically reloads config.
  • Added a new command: /fa remove <announcementIndex> - Remove an announcement from the configuration. Automatically reloads config.
  • Added a new command: /fa version - Shows what version you have.
  • Added a new command: /fa
  • Changed a command: /fa help - The help is now paginated. This means you can use /fa help, /fa help 1, or /fa help 2.
  • Changed several commands: /fa int, /fa rand - These commands will now reload the configuration automatically, to force changes to apply immediately.
  • Optimized code pathing and made it so that the plugin doesn't really waste tons of time on pointless junk.
  • Fixed a small issue with console commands. They now receive colour.
  • Significantly reduced memory usage, removed tons of unused variables and reused others to replace others.
  • Removed some redundant code which made an if-statement run twice in a row to no effect after the first.
  • Optimized the way players and the console are sent messages.
  • Removed a redundant try-catch and method call, which caused the configuration to load twice, to no effect after the first time.
  • Restructured the way some of the commands work to be more efficient.
  • Added missing permission nodes for opt-in and opt-out commands. They are frogannounce.optin and frogannounce.optout, respectively.
  • Removed an old, defunct command that did nothing because I never really coded anything for it. It was what is now /fa add.
  • Fixed Vault being a hard dependency, should be a soft dependency (hard dependencies are required, whilst the plugin can function without soft dependencies).
  • Fixed /fa bc not parsing the integer that is given correctly, thus announcing an incorrect announcement if it isn't the first one.
  • Reformatted some code.

Version 2.0.1

  • Updated to CB1.3.1-R1.0

Version 2.0

  • Cleanup! Needed some of this! Should run a little smoother now. Not that it didn't actually before... It's so lightweight it's not funny.
  • Fixed an accidental infinite loop that caused saving to never happen. This has been here since initial release of commands... Oops!
  • Removed unnecessary permission nodes. Only need one - it's really all administrative stuff anyways. If you have anything besides frogannounce.admin or frogannounce.*, get rid of it and replace it with one of those two. They're exactly the same.
  • Re-added the /fa off command. Oops... Again...
  • Added an API for developers who would like to tap into FrogAnnounce's mechanisms. It's mainly get-methods that allow you to see what FrogAnnounce is doing. I'm not sure what you'd want to do with that, but if you have a use for it, be my guest. Will add any more stuff that any devs request.
  • Changed the way FrogAnnounce works with the console: you'll no longer see [INFO] when it really, really should be [SEVERE] or even [GRAVE].
  • Re-arranged the files and code in the source to maximize efficiency. Not something end-users need to worry about, but once again, might make things slightly more stable... Again, not that it wasn't before.
  • Fixed a bug where an extra space or no space at all would be showing between the announcement tag and the actual announcement itself.
  • Fixed commands! Before today, commands have always been really, really buggy with FrogAnnounce. The configuration modification ones never really worked; the on/off commands sometimes broke and you could only fix it with a reload; and finally, the reload command sometimes broke if you used it at a time FrogAnnounce didn't want you to. Now, they all work as intended. The config-modification commands now work flawlessly, unless you put something that isn't supposed to be in there in the spot and the on/off/reload bugs are fixed.
  • Re-wrote FrogAnnounce pretty much ground-up, fixing multiple issues at one time. It also gave me a chance to optimize my code a few times (I revised it and rewrote a lot of it 2 or 3 times!) and fix some stuff - or, well, make this version the version it is.
  • Refactor ALL the code. Nothing looks the same. It will be far easier for me to add new features now.
  • Revamped all of the return messages so that they actually look like they're English.
  • Console command support! FrogAnnounce now supports the usage of commands from the console. You no longer have to log into Minecraft to force an announcement or something of that sort.
  • Added javadocs so that any developer who wants to see what something is for can see. (Having a battle with my IDE over it at the moment, so I'll get this part uploaded when it decides to stop being stupid.)
  • Fixed the recent additions that once in a while, broke, such as the new fonts. Not sure why they broke, but they seem to have stopped doing so. Typo, probably?

Version 1.10

  • New colour codes usable in announcements: &MAGIC; &k; &ITALIC; &UNDERLINE; &STRIKETHROUGH; &RESET; (Magic is the magic text from the The End story; &k; is as well, &RESET; resets formatting that follows until you put a new colour code in (may be next to the &RESET;))
  • New command: /fa broadcast <announcementIndex> | /fa bc <announcementIndex> - Announces the announcement specified by the number given (the announcement index is what number it is in the announcing sequence).
  • Updated the help command to reflect the new command.
  • Built with RB 1.2.5-R1.0.

Version 1.9

  • Built with RB 1.2.4-R1.0.

Version 1.8

  • Support of all major permissions plugins.
  • Soft dependency of Vault from here on. If you do not have Vault, you will not be able to use any permissions-based things.

Version 1.7

  • Fixes ticket 3: Invalid plugin.yml.

Version 1.6

  • Updated to support the latest Recommended Build.

Version 1.5

  • Update to support RB 1597 (MC 1.0.0-R1)

Version 1.4

  • Plugin automatically generates all of the configuration (I still suggest taking a look at it. If you don't, it'll nag you to configure it - it is an announcer after all, so I'm sure you don't want my preset junk broadcasting).
  • Complete overhaul of configuration code (Yay, no more stupid Deprecation warnings).

Version 1.3

  • Added automatic configuration generation. You MUST add this to your Configuration.yml, however:
      Strings:
      - "Change me!"
      - "Change me, too..."
      - "&RED;CONFIGURE THE PLUGIN ALREADY!"
      - "Please change us?"

to the block "Announcer:" with four SPACES on a new line, no tabs or it'll break. For each announcement, use 4 spaces on a new line followed by a dash, a space, quotation marks, and the announcement in those quotation marks.

  • Minuscule typography change (in enabled/disabled messages: "v" -> "Version ")

Version 1.2

  • Added commands. Woo. Available commands:
    • /fa <help>
    • /fa <on|off> - turns the announcements on/off for everyone.
    • /fa <random|rand> - Changes the plugin to announce in a random order.
    • /fa <restart|reload> - Discards old settings and grabs the fresh ones from the configuration file.
    • /fa <interval|int> <minutes> - Set the plugin to announce every X minutes. Don't try to put decimals. It won't work.
  • With commands, come permissions nodes (which is why I had put Permissions support in early, but never got to making commands). Available permissions nodes:
    • frogannounce.admin - Gives you access to all of the commands.
    • frogannounce.* - Gives you access to all of the commands.

Version 1.1

  • Added "&RED;" to the list of usable colours in announcements (forgot to implement that one with initial release).
  • Cleaned up whitespace.

Version 1.0

  • Initial Release.

You must login to post a comment. Don't have an account? Register to get one!

Facts

Date created
Oct 23, 2011
Last updated
Mar 28, 2014