Releases: srnyx/annoying-api
Releases · srnyx/annoying-api
2.1.1: Fix Jitpack building
2.1.0: bStats, update checking, file options, & more
- Add usage instructions for Maven by @MagicCheese1 in #2
- Create qodana.yml
- Update qodana.yml
- Qodana fixes
- Update plugin.yml by @clickednebula3 in #3
- Remove
@Contract
from some methods - Update Gradle
- At least parts of it, can't update to 8.1 entirely yet!
- Update
README.md
links - bStats, update checking, file options, & more
- Added bStats (bstats.org)
- Added
AnnoyingOptions#bStatsId
- Added
AnnoyingOptions#bStatsFileName
- Added
AnnoyingOptions#bStatsOptions
- Added
AnnoyingPlugin#bStats
- Added
bstats.yml
- Added
- Added update checking
- Added
AnnoyingOptions#updateAvailable
- Added
AnnoyingOptions#updatePlatforms
- Added
AnnoyingPlugin#checkUpdate()
- Added
AnnoyingUpdate
- Added
- Added
AnnoyingUtility#getJson(String, String)
- Renamed
AnnoyingCommandRegister
toCommandRegister
- Was also optimized
- Added
AnnoyingFile(AnnoyingPlugin, String)
- Added
AnnoyingFile.FileOptions
- Moved
AnnoyingFile#canBeEmpty
into this
- Moved
- Added
AnnoyingResource.ResourceOptions
which extendsAnnoyingFile.FileOptions
- Contains
#createDefaultFile
, which allows a default file that will always be updated to be created in adefault
folder in the plugin's folder
- Contains
- 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
- Added bStats (bstats.org)
- Bump version (2.1.0)
New Contributors
- @MagicCheese1 made their first contribution in #2
- @clickednebula3 made their first contribution in #3
Full Changelog: 2.0.5...2.1.0
2.0.5: Fix AnnoyingFile issue
- Add
error.invalid-argument
message- Not used by anything in the API, but I end up adding it eventually in my plugins anyways
- Fix
AnnoyingFile
issueAnnoyingResource
s wouldn't work because of a change from 2.0.4, this should fix it
- Add missing parameter Javadoc
- Made
AnnoyingSender
fields public- Removed getters too since they are no longer needed, also added Javadocs to the fields
- Bump version (2.0.5)
- I forgot to bump it for 2.0.4, oops...
Full Changelog: 2.0.4...2.0.5
2.0.4: Global placeholders & more
- Remove non-shaded dependency examples
- Global placeholders,
AnnoyingFile
changes, & more- 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
- Removed
- Edited command/listener registration
- Removed
AnnoyingListener#register(Event)
- Removed
AnnoyingListener#unregister(Event)
- Removed
AnnoyingCommand#register
- Removed
AnnoyingCommand#unregister
- Removed
- Changed
AnnoyingOptions#commands
toAnnoyingOptions#commandsToRegister
- Changed
AnnoyingOptions#listeners
toAnnoyingOptions#listenersToRegister
- Added
AnnoyingPlugin#registeredCommands
- Added
AnnoyingPlugin#registeredListeners
- Added
AnnoyingPlugin#unregisterListeners
- Added
AnnoyingPlugin#unregisterCommands
- Added
- Changed
AnnoyingUtility#getPlayer(String)
toAnnoyingUtility#getOfflinePlayer(String)
AnnoyingCommand#onTabComplete(AnnoyingSender)
now returnsCollection<Object>
- Added
AnnoyingSender#isPlayer
- Edited
AnnoyingCommandRegister
- Removed
#minecraftServerClass
- Removed
#getServerMethod
- Removed
#vanillaCommandDispatcherField
- Added
#commandDispatcher
- Removed
- Edited
AnnoyingDependency
- Added
#file
- Removed
#getFile
- Added
- Made
AnnoyingFile
into an abstract class instead of an interface - Made changes to example plugin in relation to API changes
- Added Global placeholders
- Changed
AnnoyingCommand#onTabComplete
- Now returns a
Collection<String>
instead of aCollection<Object>
- Now returns a
- Fix global placeholders
- Remove
AnnoyingOptions#prefix
- Replaced by global placeholders which were added in an earlier commit
Full Changelog: 2.0.3...2.0.4
2.0.3: Reworked AnnoyingMessage replacements
- Fix Gradle placeholders
- Add
loadMessages()
and more changesmessages.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- Added
AnnoyingMessage#Replacement
, which holds information about a replacement - Added
#splitterPlaceholder
which will keep the parameter placeholder splitter cached #replacements
is now aSet<Replacement>
instead of aMap<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.
- Added
- Adjusted reload logic
- Will no longer use
PluginManager
to reload the plugin. Instead, it will only reloadAnnoyingPlugin#messages
and then runAnnoyingPlugin#reload()
, which a plugin using the API can override.
- Will no longer use
- Multiple strings for
AnnoyingSender#argEquals(int String...)
- Instead of doing
annoyingSender.argEquals(0, "string1") || annoyingSender.argEquals(0, "string2")
, you can now doannoyingSender.argEquals(0, "string1", "string2")
- Instead of doing
- Add
PlayerDamageByPlayerEvent
(#1) - Make Jetbrains Annotations use
compileOnlyApi
- Change
PlayerJoinEvent
example toPlayerDamageByPlayerEvent
- Add
attack
message key - Bump version (2.0.3)
Full Changelog: 2.0.2...2.0.3
2.0.2: AnnoyingMessage and AnnoyingSender changes
- New
AnnoyingMessage#DefaultReplaceType
- Added
BOOLEAN
default replace type - Renamed
DECIMAL
default replace type toNUMBER
- Renamed
AnnoyingUtility#formatDouble(double, String)
toAnnoyingUtility#formatNumber(Number, String)
- Adjusted
messages.yml
to reflect new changes
- Added
- Adjusted comments in
build.gradle.kts
- Added new
AnnoyingSender
methods- Added
#checkPlayer()
to check if theCommandSender
is a player, if they aren't, it'll send theAnnoyingOptions#playerOnly
message - Added
#checkPermission(String)
to check if theCommandSender
has the specified permission, if they don't, it'll send theAnnoyingOptions#noPermission
message - Both
AnnoyingSender
constructors now have anAnnoyingPlugin
parameter (for the new methods)
- Added
- Bump version (2.0.2)
Full Changelog: 2.0.1...2.0.2
2.0.1: AnnoyingMessage fixes and improvements
AnnoyingMessage
fixes and improvements- Added more Javadocs for stuff (mainly in
example-plugin
) - Added
BroadcastType#isTitle()
- Added
ReplaceType
interface to create new replace types (such asDefaultReplaceType
) - No longer using
switch
for#broadcast(BroadcastType, Integer, Integer, Integer)
to improve variables - Renamed
ReplaceType
toDefaultReplaceType
and now implements the newReplaceType
- Fixed incorrect
%command%
replacement when there weren't any arguments - Removed
#replaceParameter(Object, String, ReplaceType)
, replace type operations are now stored in their enum usingBinaryOperator
- Added more Javadocs for stuff (mainly in
- Bump version (2.0.1)
Full Changelog: 2.0.0...2.0.1
2.0.0: Reorganized project
This update removes the requirement for the plugin to be installed separately. Plugins using the API should now shade it into their plugin (make sure to relocate it to avoid conflicts). Read more under Multi-Gradle project(s)
- Update issue templates
- Multi-Gradle project(s)
- Separated the API and example plugin
- The API can now be implemented into plugins instead of requiring the API to be installed separately. The API should be relocated though to avoid conflicts with other plugins implementing it. This also makes the API version-safe :)
- Fix missing dependencies message
- Change artifact steps/paths
- Fix artifact structure
- Prettier missing dependencies list
- Fix
%command%
placeholder - Add
%command%
toerror.disabled-command
- Remove
version
message - Bump version (2.0.0)
Full Changelog: 1.1.11...2.0.0
1.1.11: Adjusted dependency handling
- Update README.md
- Remove
api-version
fromplugin.yml
- Adjust
AnnoyingFile#load()
- Now checks
#canBeEmpty()
- Now checks
- Added
required
option toAnnoyingDependency
- Adjusted how dependencies are handled
- Remove commands from map on unload
- Use a more graceful command unregister
- Adjusted Javadocs
- Added new Javadocs and modified existing ones
- Renamed
AnnoyingPlugin#reload()
toAnnoyingPlugin#reloadPlugin()
- 1.1.11: Adjusted messages and dependencies
- Moved
AnnoyingUtility#getString(AnnoyingPlugin, String)
toAnnoyingPlugin
(nowAnnoyingUtility#getMessagesString(String)
) - Renamed
AnnoyingPlugin#unloadPlugin()
toAnnoyingPlugin#disablePlugin()
- If required dependencies are missing it'll tell the user ALL of the missing required dependencies
- Added
/test disable
command toTestPlugin
that will disable/unregister the/test
command - Modified
TestPlugin
msgs.yml
- Moved
Full Changelog: 1.1.10...1.1.11
1.1.10: Removed DiscordSRV dependency
- Fixed
AnnoyingUtility#getFileNames(AnnoyingPlugin, String)
(made it static) - Removed
AnnoyingMessage#send(TextChannel)
- Removed DiscordSRV dependency and repositories
Full Changelog: 1.1.9...1.1.10