Makes sure to unregister and refund on the sign edit event, as the sign might be registered as a paid sign already.
Updates Spigot
Updates Vault repository
This commit adds a delayed check for whether the block at the sign change event's location is still a sign. If it isn't, it's assumed that a plugin blocked the sign creation by destroying the sign. In this case, the player is immediately refunded, even if refunds are disabled.
Previously, if a tracked sign was removed during loading, while it wasn't added to tracked signs, tracked signs wasn't saved, so on the next startup it would be loaded again.
Makes sure that the paid sign matching the most conditions is always chosen as the matching paid sign
Makes sure to always choose the most expensive paid sign if two or more paid signs with the same amount of conditions are matching.
Changes some classes to records to reduce some boilerplate code
Changes some warning messages to info
Displays sign creation cost when unable to create a paid sign
Changes spigot dependency to 1.19
Refunds the player during reload/startup when a tracked sign's physical sign has been destroyed
Adds missing super call to EditTabCompleter
Adds missing super call to EditCommand
Fixes the index of an argument during tab completion
Fixes a bug that caused conditions to be lost when a paid sign is changed
Adds an implementation for the edit tab completer
Adds an enum representing a paid sign property
Adds an enum representing a paid sign condition property
Adds aliases to all commands
Adds and option to match any paid sign condition instead of all conditions
Adds checks for whether line indices are outside the allowed range
Disallows any invalid regular expressions in sign conditions