5.0.0: SQL storage, runtime dependency download, & more
- Add
BukkitUtility#getPermissionValue(...)
- Add
BukkitUtility#getPermissionValue(..., int)
- Added
PotionEffect
getters forAnnoyingFile
- Fix custom events
- Fixed some inconsistencies with the custom events
- Fixed
NoSuchMethodError
withPlayerDamageByPlayerEvent
on 1.20.4+ servers
- Add more
AnnoyingMessage#broadcast
methods - Add/modify a few Javadocs
- Add/modify logging methods
- Switch entity data from PDC/YML to SQL
- This is a MASSIVE change, please read below for important notes!
Data#set(...)
andData#remove(...)
methods now return a boolean rather than the data instance. The boolean is whether the action succeeded or not. This means chaining is no longer possible with data objects!- In order to use SQL data, you MUST set
options.dataOptions.enabled
to true! - Added new
Data
object,StringData
, where you can store values specific to a String (target) in an SQL table- Any custom tables/columns MUST be added to
options.dataOptions.tables
!
- Any custom tables/columns MUST be added to
EntityData
now just extendsStringData
, but uses the defaultentities
table- If you use
EntityData
, you MUST add your columns/keys tooptions.dataOptions.tables
by using one of theDataOptions#entityDataColumns(...)
methods
- If you use
- Data previously stored in PDC/YML can be converted to the new SQL system by using
EntityData#convertOldData(...)
- This method is NOT called automatically for ANY entities! You must run this yourself (for example, when a player joins the server)
- A new config file,
storage.yml
, has been made, please ensure nothing conflicts with this
- Bump version (5.0.0)
- Add
AnnoyingSender#equalsSender(CommandSender)
- Fix GitHub workflow
- Some reason having
&
in a Javadoc breaks it...
- Some reason having
- Revamp cooldown system
- Add data caching for
StringData
- Better support for 1.20+
- Add
AnnoyableClass
and make more things useStringable
- Fix blocking calls
- Put some stuff into their own threads using Bukkit's async scheduler
Hopefully this doesn't break anything :))
- Put some stuff into their own threads using Bukkit's async scheduler
- Remove example plugin
- Was messing with IntelliJ issue detection and was just pretty useless altogether
People may refer to my own plugins to use as examples, especially making use of GitHub's code search on their website
- Was messing with IntelliJ issue detection and was just pretty useless altogether
- Add
Data#setChain(...)
andData#removeChain(...)
- For chaining actions for Data objects
- Add
attemptRunAsync(...)
- Fix warning messages in
AnnoyingFile
- Fix
Registry
andHoverEvent
reflection - Add more cooldown check methods
- Optimize
BukkitUtility
- Use for-loops instead of streams
- Add caching to
AnnoyingMessage
- Don't return default if input recipe null
- Update Item NBT API
- 2.12.1 -> 2.13.0
- Add
AnnoyingFile#getSectionOrCreate(...)
- Fix Hangar update checker
- Not tested!
- Update Gradle
- Gradle: 8.3 -> 8.8
- Fix #7, fix #9, and MUCH more
- Add missing Javadocs
- Add type parameter to
AnnoyingFile
for#setChain(...)
- Make
ConfigurationUtility
methods returnMemoryConfiguration
- Update Gradle Galaxy
- 1.1.2 -> 1.2.2
- Now using package instead of author for relocated libs
- Make all
PluginPlatform.hangar(...)
non-null- Throw exceptions instead
- Suppress warnings
- Update Shadow
- 8.1.1 -> 8.1.8
- Automatically register custom events
- They'll only register if they're actually used, no need to provide a config options anymore!
- Update Java Utilities
- 1.0.0 -> 1.1.0
Full Changelog: 4.3.1...5.0.0