Skip to content

1.1.6: Dependency download improvements

Compare
Choose a tag to compare
@srnyx srnyx released this 08 Dec 23:25
· 393 commits to main since this release
90add51
  • 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