Skip to content

Releases: srnyx/annoying-api

1.1.9: Small improvements

10 Dec 16:52
2b3535e
Compare
Choose a tag to compare
  • 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: 1.1.8...1.1.9

1.1.8: More utility methods

10 Dec 03:31
bf454f8
Compare
Choose a tag to compare
  • 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: 1.1.7...1.1.8

1.1.7: Added User-Agent for connections

09 Dec 00:45
2bfb547
Compare
Choose a tag to compare
  • Added User-Agent header property for HTTP connections
  • Added version comments in messages.yml

Full Changelog: 1.1.6...1.1.7

1.1.6: Dependency download improvements

08 Dec 23:25
90add51
Compare
Choose a tag to compare
  • Small improvements for AnnoyingMessage
  • Merged AnnoyingCooldown#check() into AnnoyingCooldown#isOnCooldown()
  • AnnoyingUtility#getString(AnnoyingPlugin, String) now checks if AnnoyingPlugin#messages is null
  • Added ApiCommand to give the API plugin a command to get the API's version
    • Added version message to messages.yml
    • Added commands and permissions sections to plugin.yml
  • Added AnnoyingCommandRegister
    • This has methods to register commands from another plugin
    • Used when downloading/enabling dependencies
  • Added test JAR
    • The test JAR is a plugin that uses the API
    • This will allow me to more easily test stuff before release
    • The plugin contains a simple command, listener, dependency, and a few other tests
  • Improved AnnoyingDependency
    • Added #enableAfterDownload option, if true, AnnoyingAPI will attempt to load/enable the plugin once it's downloaded
    • Added #getFile() to get the File of the new JAR file of the dependency
    • Changed #isInstalled() to #isNotInstalled() because it was always inverted
  • Improved AnnoyingDownload
    • #dependencies is now a List, so they will be installed in the order of when they were added (roughly, threads mess it up a bit)
    • Removed #finishTask, FinishTask, and AnnoyingOptions#dependencyFinishTask
    • If the Spigot plugin is external and the external URL ends with .jar, it will treat it as a Platform.EXTERNAL
    • #finish (now #finish(AnnoyingDependency, boolean)) has been improved to allow dependencies to be loaded, enabled, and their commands registered
    • Added #registerCommands(Plugin) to register a plugin's (dependency) commands
  • Improved AnnoyingPlugin
    • Added static #missingDependencies to track the missing dependencies from ALL plugins using the API
    • Added static #commandRegister to initialize a new AnnoyingCommandRegister
    • Moved API option setting from the constructor to #onEnable()
    • Adjusted algorithm for getting missing dependencies
    • Only run AnnoyingDownload#downloadPlugins from the API instance

Full Changelog: 1.1.5...1.1.6

1.1.5: Improved options handling

07 Dec 02:38
7bde095
Compare
Choose a tag to compare
  • Renamed AnnoyingOptions#onlyPlayer to AnnoyingOptions#playerOnly
  • Moved AnnoyingDownloadFinish into AnnoyingDownload and renamed to FinishTask (so its now AnnoyingDownload.FinishTask`)
  • Moved AnnoyingDownload and AnnoyingDependency out of download folder
  • Moved AnnoyingMessage#getString(String) into AnnoyingUtility
  • Removed download folder
  • Improved AnnoyingOptions
    • Added #dependencies
    • Added #dependencyFinishTask
    • Renamed #messages to #messagesFileName and it's now a String instead of AnnoyingResource
  • Improved AnnoyingPlugin
    • Added #messages
    • Made #options final so you can only modify it`s variables
    • Initialized #messages in constructor
    • Translated AnnoyingOptions#prefix, AnnoyingOptions#splitterJson, and AnnoyingOptions#splitterPlaceholder into their messages from #messages
    • Removed #getOptions (instead, edit #options in your own constructor [just make sure to call super()])
    • Removed #getDependencies (now in AnnoyingOptions)
    • Removed #getDependencyFinish (now in AnnoyingOptions)

Full Changelog: 1.1.4...1.1.5

1.1.3 & 1.1.4

06 Dec 03:48
6b26d9e
Compare
Choose a tag to compare

1.1.4

Had to make a new release because I messed up 1.1.3, which messed up Jitpack. Sorry :(

1.1.3

  • build.gradle.kts:
    • Added net.md-5.bungeecord-api dependency
  • messages.yml:
    • Added PLACEHOLDER PARAMETERS wiki section
  • AnnoyingCooldown:
    • Put AnnoyingCooldownType into AnnoyingCooldown and renamed it to CooldownType (so it's now AnnoyingCooldown.CooldownType)
  • AnnoyingPlugin:
    • Replaced String#join(ChatSequence, CharSequence...) usage with StringUtils#repeat(String, int)
  • AnnoyingUtility:
    • Replaced #formatMillis(Date, String) with #formatMillis(long, String), which uses DurationFormatUtils#formatDuration(long, String)
    • Added #formatDouble(double, String)
    • Added #jsonToTextComponent(JSONComponent)
  • AnnoyingDownload:
    • Put AnnoyingPlatform into AnnoyingDownload and renamed it to Platform (so it's now AnnoyingDownload.Platform)
  • AnnoyingMessage:
    • Put AnnoyingBroadcast into AnnoyingMessage and renamed it to BroadcastType (so it's now AnnoyingMessage.BroadcastType)
    • Put AnnoyingReplaceType into AnnoyingMessage and renamed it to ReplaceType (so it's now AnnoyingMessage.ReplaceType)
    • Replaced #broacast(AnnoyingBroadcast, AnnoyingTitle) with #broadcast(BroadcastType, int, int, int)
    • Renamed #getMessage(String) to #getString(String)
    • Fixed #replace(String, Object, ReplaceType)
    • Removed AnnoyingTitle
    • Added #replaceParameter(Object, String, Replacetype) (private)
    • Added #getComponents()
    • Added #getComponents(AnnoyingSender)
    • Added #getBaseComponents()
    • Added #getBaseComponents(AnnoyingSender)
    • Added #getMessage()
    • Added #getMessage(AnnoyingSender)

Full Changelog: 1.1.2...1.1.4

1.1.2: Hotfix for AnnoyingCooldown

05 Dec 04:13
c887b54
Compare
Choose a tag to compare

Collections.emptyMap() creates an unmodifiable Map, replacing with new HasMap<>() should fix it

Full Changelog: 1.1.1...1.1.2

1.1.1: New AnnoyingMessage method and more

05 Dec 04:05
81936fe
Compare
Choose a tag to compare
  • Added AnnoyingMessage#replace(String, String, AnnoyingReplaceType) for special message placeholders, allowing user to input custom patterns for things like times (ex: %time==hh:ss%)
  • Made AnnoyingCommand#onTabComplete default so that you aren't required to override it (will return null by default)
  • Improved AnnoyingCooldown, you now have to use AnnoyingCooldown#start to begin a cooldown

Full Changelog: 1.1.0...1.1.1

1.1.0: Backwards compatibility

05 Dec 01:23
90612ab
Compare
Choose a tag to compare
  • Switched from Java 17 to Java 8
  • Switched from MC 1.19 to MC 1.11
  • Made onEnable and onDisable final so that they can't be overridden (override enable and disable instead)

Full Changelog: 1.0.1...1.1.0

1.0.1: Initial release

04 Dec 22:06
459aea9
Compare
Choose a tag to compare