Sueta

Annoying API

6.0.1

General purpose API with tons of features

·Plugin
  1. 6.0.1latest6.0.1: Fix PotionEffectSerializer#serialize(...)Sep 19, 2026
    28 downloads
  2. c852005Update Item NBT APISep 19, 2026
    5 downloads
  3. bdc3d1fFix `PotionEffectSerializer#serialize(...)`Sep 16, 2026
    9 downloads
  4. 6.0.06.0.0: Better configs, stats, data, and moreSep 13, 2026
    14 downloads
  5. e9795c1Update Gradle Galaxy and FastStatsSep 13, 2026
    4 downloads
  6. 47cd350Add `ConfigBuilder#saveDefaults`Sep 1, 2026
    23 downloads
  7. 45ae893Update Gradle GalaxyAug 24, 2026
    16 downloads
  8. 99e8121Add `DurationUtility#getRandomDuration(...)`Aug 23, 2026
    7 downloads
  9. c5c9987Fix testsAug 22, 2026
    8 downloads
  10. eb74d83Fix `NestedSoundMigration(String)`Aug 21, 2026
    7 downloads
  11. 929ac38Fix NestedSoundMigrationAug 21, 2026
    4 downloads
  12. f1d9fd7Add NestedSoundMigrationAug 21, 2026
    3 downloads
  13. 8402640Simplify MessagesProviderAug 20, 2026
    8 downloads
  14. dd4052cUpdate GradleAug 20, 2026
    9 downloads
  15. f783bf4Update Gradle Galaxy and use Semver4jAug 19, 2026
    8 downloads
  16. a94f930feat: add reflected getAmount method to RefAttributeModifierAug 1, 2026
    38 downloads
  17. e3e4df9Update Shadow and FastStatsJul 28, 2026
    19 downloads
  18. ab08072Use JsonObject for config metricsJul 19, 2026
    25 downloads
  19. dd4dc3eInitial support for HikariCP and jOOQJul 12, 2026
    38 downloads
  20. f2f5668Fix SubConfig rootJul 9, 2026
    18 downloads
  21. 1aafb1eAdd `@Stat` annotationJul 9, 2026
    19 downloads
  22. 309e654Improve UpdateChecker and `PluginPlatform.Multi`Jul 9, 2026
    19 downloads
  23. c9aab72Improve reflected class constructionsJul 8, 2026
    24 downloads
  24. bde7235Update Mod Publish PluginJul 3, 2026
    15 downloads
  25. 2b74361Update Gradle pluginsJul 3, 2026
    16 downloads
  26. f4f8d33Add plugin options for test-related stuffJun 28, 2026
    43 downloads
  27. c158171Update Gradle Galaxy (again) 75f72f6 -> 2031dafJun 27, 2026
    23 downloads
  28. c799621Jun 27, 2026
    25 downloads
  29. 5.2.15.2.1: Selector improvementsMay 24, 2026
    213 downloads
  30. 5.2.05.2.0: New repository & moreApr 8, 2026
    91 downloads
  31. 5.1.55.1.5: Fix H2 Java 8 supportNov 24, 2024
    469 downloads
  32. 5.1.45.1.4: Data-related bug fixes & moreNov 19, 2024
    114 downloads
  33. 5.1.35.1.3: New Value system for data to fix bugsNov 6, 2024
    129 downloads
  34. 5.1.25.1.2: ReflectionUtility improvements and new bStats chartOct 27, 2024
    143 downloads
  35. 5.1.15.1.1: Critical bug fixes and minor updatesOct 26, 2024
    133 downloads
  36. 5.1.05.1.0: JSON/YAML storage, Optionals, bug fixes, & moreOct 3, 2024
    154 downloads
  37. 5.0.05.0.0: SQL storage, runtime dependency download, & moreJun 27, 2024
    415 downloads
  38. 4.3.14.3.1: AnnoyingSender#getPlayerOrNull()Dec 9, 2023
    717 downloads
  39. 4.3.04.3.0: New registration options formatNov 8, 2023
    519 downloads
  40. 4.2.14.2.1: Added AnnoyingFile#delete(boolean)Oct 7, 2023
    455 downloads
  41. 4.2.04.2.0: Use Java Utilities librarySep 24, 2023
    581 downloads
  42. 4.1.14.1.1: Minor fixes & changesSep 9, 2023
    410 downloads
  43. 4.1.04.1.0: New data management utilitiesJul 31, 2023
    571 downloads
  44. 4.0.24.0.2: Easier update-platforms settingJul 27, 2023
    668 downloads
  45. 4.0.14.0.1: More AnnoyingDependency constructorsJul 20, 2023
    637 downloads
  46. 4.0.04.0.0: Options organization and abstractionJul 16, 2023
    585 downloads
  47. 3.1.03.1.0: Options loading from plugin.yml & moreJun 26, 2023
    446 downloads
  48. 3.0.03.0.0: 1.8.8+ support and moreMay 29, 2023
    - [Add Hangar link](https://github.com/srnyx/annoying-api/commit/dbde48a075d1… - [Remove API custom bStats charts](https://github.com/srnyx/annoying-api/commit/4fcf5db25298… - [Add example PAPI expansion](https://github.com/srnyx/annoying-api/commit/d5fe06f1dd04… - [Remove AnnoyingCooldown#getDuration()](https://github.com/srnyx/annoying-api/commit/030e325ccf2a… - Instead, just made type public so the duration can be accessed using CooldownType#getDuration() - [Add more AnnoyingSender utility methods](https://github.com/srnyx/annoying-api/commit/af59c37e906b… - Added AnnoyingSender#invalidArgument(Object) to send the AnnoyingOptions#invalidArgument message - Added AnnoyingSender#invalidArguments() to send the AnnoyingOptions#invalidArguments message - Adjusted ExampleCommand to reflect the above changes - [Add PAPI dependency & utility modifications](https://github.com/srnyx/annoying-api/commit/1404dd7e0f66… - If a PlaceholderAPI expansion is set, PlaceholderAPI will be added as a dependency - Moved AnnoyingUtility into the utility folder - Added MapUtility to more easily create maps (in Java 8, Java 9+ can just use static Map methods) - [Clarify AnnoyingDownload use cases](https://github.com/srnyx/annoying-api/commit/4c008284fc08… - Also removed PlaceholderAPI dependency adding if AnnoyingOptions#papiExpansionToRegister was set - [Use MapUtility in ExamplePlugin](https://github.com/srnyx/annoying-api/commit/b83912f52293… - [Make papiExpansionToRegister a Supplier<Object>](https://github.com/srnyx/annoying-api/commit/64a1a2c8e788… - This will fix plugins setting papiExpansionToRegister when PlaceholderAPI isn't installed on the server - [Add AnnoyingFile#getRecipe(...)](https://github.com/srnyx/annoying-api/commit/1fb93b9da557… - Allows for you to get Recipes from a YML file. You can see an example of the structure they should have in the example plugin's new config.yml - [Add Javadocs to MapUtility](https://github.com/srnyx/annoying-api/commit/d62d339a58c9… - [Make commandRegister static](https://github.com/srnyx/annoying-api/commit/e71e00d31b46… - [Add more custom getters to AnnoyingFile](https://github.com/srnyx/annoying-api/commit/5fb4122324d3… - getAttributeModifier(String, AttributeModifier) - getItemStack(String, ItemStack) - Improved getRecipe(String, String, Recipe) - Added MinecraftVersion to easily track the server's Minecraft version (for reflection) - Added ReflectionUtility to manage class/method/constructor/etc... reflection - Adjusted ExamplePlugin to match new changes - [Add enchantment error logging for AnnoyingFile](https://github.com/srnyx/annoying-api/commit/7a1b7c75808c… - [Add enchantments using ItemMeta](https://github.com/srnyx/annoying-api/commit/7f87f0b45088… - [Add missing Javadocs and warning suppressions](https://github.com/srnyx/annoying-api/commit/ca24ec6ad20e… - [Add AnnoyingUpdate#checkUpdate()](https://github.com/srnyx/annoying-api/commit/134493105f16… - [Fix AnnoyingFile formatting](https://github.com/srnyx/annoying-api/commit/c843a2092555… - [Add ItemDataUtility and improve MinecraftVersion](https://github.com/srnyx/annoying-api/commit/61d60a5a586c… - ItemDataUtility allows you to add data to item stacks across all versions from 1.11-1.19.3 using their respective data management systems - 1.13-1.13.1 uses lore to store data which is very unreliable, so a warning message has been added for these versions - An example has been added in ExampleListener - MinecraftVersion now multiplies major version by 10000 to avoid future conflicts - [Delete qodana.yml](https://github.com/srnyx/annoying-api/commit/692a573a7c47… - [Delete qodana.yaml](https://github.com/srnyx/annoying-api/commit/700969e76cc1… - [1.8.8+ support and NBT API](https://github.com/srnyx/annoying-api/commit/d15a8c9e852b… - [Fix incorrect annotation](https://github.com/srnyx/annoying-api/commit/7456744cef5f… - [Fix AnnoyingMessage for console](https://github.com/srnyx/annoying-api/commit/ec5c18a0aeaa… - [Use new reflection organization](https://github.com/srnyx/annoying-api/commit/995254302ef2… - [Add support for Cmd in command class names](https://github.com/srnyx/annoying-api/commit/d9efc4cc7005… - So now the API will also remove Cmd from the class name when generating the command's name when one is not manually specified - Example: Instead of ShopCommand you can now just do ShopCmd - [Added AnnoyingUtility#colorCollection(Collection<?)](https://github.com/srnyx/annoying-api/commit/173f1da1f005… - This allows you to translate the color codes for all objects in a collection. AnnoyingUtility#color(String) was also adjusted to allow for an Object to be passed - [Add Ref before each reflected class](https://github.com/srnyx/annoying-api/commit/dd784fda2aee… - [Fix #5](https://github.com/srnyx/annoying-api/commit/ea1463f369f4… - [Use new system for plugin platforms](https://github.com/srnyx/annoying-api/commit/c1e9583430db… - Had to do this because Hangar's API requires the author name :( - [Remove TODOs](https://github.com/srnyx/annoying-api/commit/65ac594b4e21… - [Update links to new format](https://github.com/srnyx/annoying-api/commit/367a1b8521d3… - [Bump version (3.0.0)](https://github.com/srnyx/annoying-api/commit/f5bf37438ebb… Full Changelog: https://github.com/srnyx/annoying-api/compare/2.1.2...3.0.0
    369 downloads
  49. 2.1.22.1.2: bStats, PlaceholderAPI, & moreApr 27, 2023
    This update includes 2.0.5, 2.1.0, 2.1.1, and 2.1.2 (I forgot to publish for the previous 3 oops...) Full Changelog: https://github.com/srnyx/annoying-api/compare/2.0.4...2.1.2

    2.0.5

    - [Add error.invalid-argument message](https://github.com/srnyx/annoying-api/commit/26861e9f72ca… - Not used by anything in the API, but I end up adding it eventually in my plugins anyways - [Fix AnnoyingFile issue](https://github.com/srnyx/annoying-api/commit/66d569687d43… - AnnoyingResources wouldn't work because of a change from 2.0.4, this should fix it - [Add missing parameter Javadoc](https://github.com/srnyx/annoying-api/commit/abf7cb7c1d93… - [Made AnnoyingSender fields public](https://github.com/srnyx/annoying-api/commit/692a4d0ef253… - Removed getters too since they are no longer needed, also added Javadocs to the fields - [Bump version (2.0.5)](https://github.com/srnyx/annoying-api/commit/29b6f5e9b396… - I forgot to bump it for 2.0.4, oops... Full Changelog: https://github.com/srnyx/annoying-api/compare/2.0.4...2.0.5

    2.1.0

    - [Add usage instructions for Maven](https://github.com/srnyx/annoying-api/commit/25d7efc78588… by @MagicCheese1 in https://github.com/srnyx/annoying-api/pull/2 - [Create qodana.yml](https://github.com/srnyx/annoying-api/commit/9b909df81aac… - [Update qodana.yml](https://github.com/srnyx/annoying-api/commit/ffd6bacd7627… - [Qodana fixes](https://github.com/srnyx/annoying-api/commit/770124770c72… - [Update plugin.yml](https://github.com/srnyx/annoying-api/commit/55149483c87e… by @clickednebula3 in https://github.com/srnyx/annoying-api/pull/3 - [Remove @Contract from some methods](https://github.com/srnyx/annoying-api/commit/81bc6fcde2d6… - [Update Gradle](https://github.com/srnyx/annoying-api/commit/6a54f58bc3a8… - At least parts of it, can't update to 8.1 entirely yet! - [Update README.md links](https://github.com/srnyx/annoying-api/commit/2e95d7b4a57a… - [bStats, update checking, file options, & more](https://github.com/srnyx/annoying-api/commit/5f6809b49dea… - Added bStats (bstats.org) - Added AnnoyingOptions#bStatsId - Added AnnoyingOptions#bStatsFileName - Added AnnoyingOptions#bStatsOptions - Added AnnoyingPlugin#bStats - Added bstats.yml - Added update checking - Added AnnoyingOptions#updateAvailable - Added AnnoyingOptions#updatePlatforms - Added AnnoyingPlugin#checkUpdate() - Added AnnoyingUpdate - Added AnnoyingUtility#getJson(String, String) - Renamed AnnoyingCommandRegister to CommandRegister - Was also optimized - Added AnnoyingFile(AnnoyingPlugin, String) - Added AnnoyingFile.FileOptions - Moved AnnoyingFile#canBeEmpty into this - Added AnnoyingResource.ResourceOptions which extends AnnoyingFile.FileOptions - Contains #createDefaultFile, which allows a default file that will always be updated to be created in a default folder in the plugin's folder - Added new default messages to messages.yml - Documentation has been moved to the GitHub - Removed commands and permissions from plugin.yml - Reformatted the Gradle build files - Adjusted example plugin to reflect new API changes - [Bump version (2.1.0)](https://github.com/srnyx/annoying-api/commit/dd0ef1a1280c…

    New Contributors

    * [@MagicCheese1](https://github.com/MagicCheese1) made their first contribution in https://github.com/srnyx/annoying-api/pull/2 * [@clickednebula3](https://github.com/clickednebula3) made their first contribution in https://github.com/srnyx/annoying-api/pull/3 Full Changelog: https://github.com/srnyx/annoying-api/compare/2.0.5...2.1.0

    2.1.1

    - [Fix Jitpack building](https://github.com/srnyx/annoying-api/commit/e59b42fc037b… - [Bump version (2.1.1)](https://github.com/srnyx/annoying-api/commit/2ac9bdd57f8d… Full Changelog: https://github.com/srnyx/annoying-api/compare/2.1.0...2.1.1

    2.1.2

    - [Remove deprecated constructor use](https://github.com/srnyx/annoying-api/commit/08f2277e2d99… - [Add PlaceholderAPI support (optional)](https://github.com/srnyx/annoying-api/commit/b59c9c2bb78e… - AnnoyingMessage will now parse PlaceholderAPI placeholders - Added AnnoyingOptions#papiExpansiontoRegister to set a placeholder expansion when the plugin enables - Added AnnoyingPAPIExpansion as an extended PlaceholderExtension to add default methods and such - Added AnnoyingPlugin#papiInstalled to track whether PlaceholderAPI is installed - Added PlaceholderAPI to soft-dependencies in plugin.yml - [Add AnnoyingPlugin#parsePapiPlaceholders(OfflinePlayer, String)](https://github.com/srnyx/annoying-api/commit/fc6650541690… - [Bump version (2.1.2)](https://github.com/srnyx/annoying-api/commit/3fbf104b254c… Full Changelog: https://github.com/srnyx/annoying-api/compare/2.1.1...2.1.2
    785 downloads
  50. 2.0.42.0.4: Global placeholders & moreJan 22, 2023
    - [Remove non-shaded dependency examples](https://github.com/srnyx/annoying-api/commit/029888c30d82… - [Global placeholders, AnnoyingFile changes, & more](https://github.com/srnyx/annoying-api/commit/30274f731077… - Added Global placeholders - Removed AnnoyingOptions#colorLight - Removed AnnoyingOptions#colorDark - Added AnnoyingOptions#globalPlaceholders - Added AnnoyingPlugin#globalPlaceholders - Removed messages.yml#plugin.prefix - Added messages.yml#global-placeholders - Edited command/listener registration - Removed AnnoyingListener#register(Event) - Removed AnnoyingListener#unregister(Event) - Removed AnnoyingCommand#register - Removed AnnoyingCommand#unregister - Changed AnnoyingOptions#commands to AnnoyingOptions#commandsToRegister - Changed AnnoyingOptions#listeners to AnnoyingOptions#listenersToRegister - Added AnnoyingPlugin#registeredCommands - Added AnnoyingPlugin#registeredListeners - Added AnnoyingPlugin#unregisterListeners - Added AnnoyingPlugin#unregisterCommands - Changed AnnoyingUtility#getPlayer(String) to AnnoyingUtility#getOfflinePlayer(String) - AnnoyingCommand#onTabComplete(AnnoyingSender) now returns Collection<Object> - Added AnnoyingSender#isPlayer - Edited AnnoyingCommandRegister - Removed #minecraftServerClass - Removed #getServerMethod - Removed #vanillaCommandDispatcherField - Added #commandDispatcher - Edited AnnoyingDependency - Added #file - Removed #getFile - Made AnnoyingFile into an abstract class instead of an interface - Made changes to example plugin in relation to API changes - [Changed AnnoyingCommand#onTabComplete](https://github.com/srnyx/annoying-api/commit/215e1a1fe226… - Now returns a Collection<String> instead of a Collection<Object> - [Fix global placeholders](https://github.com/srnyx/annoying-api/commit/909e96a77558… - [Remove AnnoyingOptions#prefix](https://github.com/srnyx/annoying-api/commit/e8869e524c4f… - Replaced by global placeholders which were added in an earlier commit Full Changelog: https://github.com/srnyx/annoying-api/compare/2.0.3...2.0.4
    352 downloads
  51. 2.0.32.0.3: Reworked AnnoyingMessage replacementsJan 4, 2023
    - [Fix Gradle placeholders](https://github.com/srnyx/annoying-api/commit/fcfa0893d50f… - [Add loadMessages() and more changes](https://github.com/srnyx/annoying-api/commit/1face9bf59eb… - messages.yml loading has been moved into it's own method, AnnoyingPlugin#loadMessages() - Removed translating some of the message options keys into their strings from messages.yml - Getting missing dependencies and their names improved - [Completely reworked AnnoyingMessage replacements](https://github.com/srnyx/annoying-api/commit/0aa2bacf28da… - Added AnnoyingMessage#Replacement, which holds information about a replacement - Added #splitterPlaceholder which will keep the parameter placeholder splitter cached - #replacements is now a Set<Replacement> instead of a Map<String, String> - Reorganized some methods - Parameter placeholder replacements will no longer be processed immediately. This will ensure that all parts of a message (sub-messages, JSON components, etc...) will get the replacement processed. - [Adjusted reload logic](https://github.com/srnyx/annoying-api/commit/16f2b080e62e… - Will no longer use PluginManager to reload the plugin. Instead, it will only reload AnnoyingPlugin#messages and then run AnnoyingPlugin#reload(), which a plugin using the API can override. - [Multiple strings for AnnoyingSender#argEquals(int String...)](https://github.com/srnyx/annoying-api/commit/fd688f343201… - Instead of doing annoyingSender.argEquals(0, "string1") || annoyingSender.argEquals(0, "string2"), you can now do `annoyingSender.argEquals(0, "string1", "string2") - [Add PlayerDamageByPlayerEvent](https://github.com/srnyx/annoying-api/commit/5bf196135c40… [(#1)](https://github.com/srnyx/annoying-api/pull/1) - [Make Jetbrains Annotations use compileOnlyApi](https://github.com/srnyx/annoying-api/commit/6c91c9291ce9… - [Change PlayerJoinEvent example to PlayerDamageByPlayerEvent](https://github.com/srnyx/annoying-api/commit/565a9a61e43e… - [Add attack message key](https://github.com/srnyx/annoying-api/commit/7bf40f1c98a8… - [Bump version (2.0.3)](https://github.com/srnyx/annoying-api/commit/8e1935b9ee8a… Full Changelog: [github.com/srnyx/annoying-api/compare/2.0.2...2.0.3](https://github.com/srnyx/annoying-api/compare/2.0.2...2.0.3)
    314 downloads
  52. 1.1.111.1.11: Adjusted dependency handlingDec 18, 2022
    - [Update README.md](https://github.com/srnyx/annoying-api/commit/6bbd97457c34… - [Remove api-version from plugin.yml](https://github.com/srnyx/annoying-api/commit/1ffb5e725c56… - [Adjust AnnoyingFile#load()](https://github.com/srnyx/annoying-api/commit/8107c318bb3f… - Now checks #canBeEmpty() - [Added required option to AnnoyingDependency](https://github.com/srnyx/annoying-api/commit/fb47a8bc9e0a… - [Adjusted how dependencies are handled](https://github.com/srnyx/annoying-api/commit/60e7fbacaf8b… - [Remove commands from map on unload](https://github.com/srnyx/annoying-api/commit/20fb0a1867bb… - [Use a more graceful command unregister](https://github.com/srnyx/annoying-api/commit/e222aa76d56c… - [Adjusted Javadocs](https://github.com/srnyx/annoying-api/commit/c3505f70ac01… - Added new Javadocs and modified existing ones - Renamed AnnoyingPlugin#reload() to AnnoyingPlugin#reloadPlugin() - [1.1.11: Adjusted messages and dependencies](https://github.com/srnyx/annoying-api/commit/00537922b05e… - Moved AnnoyingUtility#getString(AnnoyingPlugin, String) to AnnoyingPlugin (now AnnoyingUtility#getMessagesString(String)) - Renamed AnnoyingPlugin#unloadPlugin() to AnnoyingPlugin#disablePlugin() - If required dependencies are missing it'll tell the user ALL of the missing required dependencies - Added /test disable command to TestPlugin that will disable/unregister the /test command - Modified TestPlugin msgs.yml Full Changelog: [github.com/srnyx/annoying-api/compare/1.1.10...1.1.11](https://github.com/srnyx/annoying-api/compare/1.1.10...1.…
    286 downloads
  53. 1.1.101.1.10: Removed DiscordSRV dependencyDec 10, 2022
    - Fixed AnnoyingUtility#getFileNames(AnnoyingPlugin, String) (made it static) - Removed AnnoyingMessage#send(TextChannel) - Removed DiscordSRV dependency and repositories Full Changelog: [github.com/srnyx/annoying-api/compare/1.1.9...1.1.10](https://github.com/srnyx/annoying-api/compare/1.1.9...1.1…
    310 downloads
  54. 1.1.91.1.9: Small improvementsDec 10, 2022
    - Added DiscordSRV import - Added AnnoyingMessage#send(TextChannel) - Added AnnoyingUtility#getFileNames(AnnoyingPlugin, String) - Added padWithZeros option to AnnoyingUtility#formatMillis(long, String) (now AnnoyingUtility#formatMillis(long, String, boolean)) - Fixed incorrect key name for only-player (now player-only) in messages.yml - Removed AnnoyingCooldown#getRemainingPretty(String) Full Changelog: https://github.com/srnyx/annoying-api/compare/1.1.8...1.1.9
    323 downloads
  55. 1.1.81.1.8: More utility methodsDec 10, 2022
    - Added %permission% placeholder for erorr.no-permission message - Added AnnoyingPlugin#reload() - Added /test reload to test AnnoyingPlugin#reload() in test JAR/plugin - onTabComplete(AnnoyingSender) now returns a Collection<String> to support both Lists and Sets - Moved AnnoyingCommandRegister, AnnoyingDependency, and AnnoyingDownload into dependency folder - Removed AnnoyingPlugin#commandRegister - Added more AnnoyingSender methods - #getPlayer() - #argEquals(int, String) - Added more AnnoyingUtility methods - #getPlayer(String) - #getOnlinePlayerNames() - #getOfflinePlayerNames() - #getAllPlayerNames() - #getWorldNames() Full Changelog: [github.com/srnyx/annoying-api/compare/1.1.7...1.1.8](https://github.com/srnyx/annoying-api/compare/1.1.7...1.1.8)
    266 downloads
  56. 1.1.71.1.7: Added User-Agent for connectionsDec 9, 2022
    - Added User-Agent header property for HTTP connections - Added version comments in messages.yml Full Changelog: [github.com/srnyx/annoying-api/compare/1.1.6...1.1.7](https://github.com/srnyx/annoying-api/compare/1.1.6...1.1.7)
    356 downloads

Similar projects

Plugin →