RPKit 2.0.0
For Spigot 1.16.5
Some features may require Java 11+ (namely web APIs, everything else should work on Java 8+)
IMPORTANT: DO NOT UPGRADE DIRECTLY IF YOU ARE ON RPKIT 1.X
RPKit 1.9.x is still supported for those who are still using it.
RPKit 1.x and 2.x use incompatible databases and configs. Migration is NOT built into 2.0, tools to do so will be built later but are not currently available.
If you do not wish to preserve data, backup your database and configs, and then let them re-generate for 2.0. (All rpkit_ tables need to be renamed or dropped, all rpk- plugin data folders need to be renamed or deleted)
If you have any plugins built upon 1.x, they will need updating to work with the new 2.0 APIs.
This is a major overhaul of many of the core APIs and breaks compatibility with 1.x releases.
Changes:
- #195 Remove config migration from trade plugin
- #197 Make the service manager abstract
- #217 Separate APIs for groups and permissions
- #220 Relocate shaded libraries in each plugin
- #231 Further match pattern functionality
- #234 Make it possible to have plugins that have optional RPKit functionality
- #238 Add static provider retrieval methods
- #240 Remove logger from core
- #286 Update character-dependent permissions on character change
- #317 Remove gender classes and replace with a string field
- #318 Provide message constants
- #321 Prevent errors when a profile name is already taken
- #325 Add new database APIs
- #346 Fix database table names
- #349 Decouple from libraries
- #350 Better character card field registration API
- #351 Better stat variable registration API
- #378 Use http4k for web APIs
- #389 Rename ServiceProvider (and implementations) to just Service
- #390 Use domain objects for identifiers of vague types
- #417 Vault permissions support
- #418 Add RPKit command class (and make it more testable)
- #419 Add a way to configure hover text in chat
- #420 Make chat channels case insensitive
- #424 Add a command to view someone's permissions groups
- #425 Allow web to be disabled
- #426 Update copyright notices
- #427 Update chat channels to use the new Minecraft 1.16 hex chat colours
- #428 Remove old players API
- #429 Remove character player hidden field
- #431 Remove entity class and unnecessary IDs
- #439 Allow services to create entities
- #440 Check permission via account link with IRC bot for whitelisted channels
- #443 Increase inventory size for characters
- #444 Intuitive permissions group re-ordering
- #446 Replace JEP with a new expression parser
- #447 Cache Minecraft profiles by player UUID
- #448 Cache characters by Minecraft profile ID
- #449 Allow player move listener in characters for dead characters to be disabled
- #450 Allow currency items to have lore
- #451 Move currencies to the economy config
- #453 Update daily quotes
- #456 Refactor commands API
- #457 Remove legacy material usage
- #468 Move races to characters config
- #469 Rename speakerMinecraftProfiles and listenerMinecraftProfiles to just speakers and listeners in chat channels
- #471 Remove web properties from core config
- #472 Update item names in item quality
- #473 Update item names in food
- #474 Remove currency add/remove permissions from economy plugin.yml
- #475 Remove race add/remove permissions from characters plugin.yml
- #485 Add command to save item to config
Bugfixes
- #416 Fireball skill shades too many libraries
- #445 Messages sent to default channel sometimes have spaces around them when using partial match patterns
- #463 Some stat variable names haven't been updated
- #464 RPKCharacterService still uses getCharacter by int
- #465 Make sure all plugins requiring a slf4j implementation have one
- #466 Essentials is missing a default messages.yml
- #476 Make warp names show the value of the name rather than the name
- #477 Help page for profile is cut off
- #478 Dynamic exchanges do not recognise the 4th line correctly
- #479 /listchatchannels doesn't display channels correctly
- #480 Creating an auction fails
- #481 Attaching/detaching permissions sometimes fails
- #483 Auctions requires the character to have greater than the amount they are bidding
- #484 /history and /inventoryhistory errors
- #486 /listchatchannels does not use the correct colours
- #489 Make language component use the language name value rather than the language name
- #490 Messages is not initialised in banks
- #491 Payment info is not displayed correctly in payments
- #492 Shops use character ID instead of character ID value
- #493 Rent signs use character ID instead of character ID value
- #494 Buy message for trade signs doesn't replace quantity correctly
- #495 Remove warp commands from essentials plugin.yml
- #496 Remove msg from essentials plugin.yml
Library updates
- #497 Update kotlin to 1.4.30
- #498 Update spigot-api to 1.16.5-R0.1-SNAPSHOT
- #499 Update bstats to 1.8
- #500 Update jooq to 3.14.7
- #501 Update http4k to 4.3.0.0
- #502 Update pircbotx to 2.2
- #503 Update JDA to 4.2.0_227
- #504 Update kotest to 4.4.0
- #505 Update mockk to 1.10.5
- #506 Update github-api to 1.122
- #507 Update worldedit 7.2.2
- #508 Update mysql-connector-java to 8.0.23
- #509 Update sqlite-jdbc to 3.34.0
- #510 Update hikaricp to 4.0.1
- #511 Update flyway to 7.5.2
- #512 Update dokka to 1.4.20
- #513 Update gradle-shadow-plugin to 6.1.0