Releases: RP-Kit/RPKit
Version 2.2.0
Version 2.1.0
RPKit v2.1.0
For Spigot 1.17.1
Changes:
- #232 Add command to show item held in the player's hand
- #284 When a message is not found, return the requested string
- #316 Add notifications module
- #421 Add commands to set language understanding
- #422 Add permissions reload command
- #423 Add command to view character language understanding
- #452 When signing books, use the character name instead of the player name
- #454 Add private rolls
- #470 Add a configurable age restriction to classes
- #524 Add per-warp permissions
- #529 Add command to view language list
- #531 Improve roll output
- #542 Allow book signatures to be customised
- #555 Add custom model data to itemmeta command
- #556 Add race age restrictions
Bugfixes:
- #554 Fix completion for commands
- #562 Fix permissions assignment when permissions are assigned asynchronously
- #563 Remove bintray repository
Library updates:
- #561 Update spigot-api to 1.17
- #564 Update Kotlin to 1.6.20
- #565 Update bstats to 3.0.0
- #566 Update jooq to 3.16.5
- #567 Update http4k to 4.3.4.1
- #568 Update slf4j to 2.0.0-alpha7
- #569 Update JDA to 5.0.0-alpha.9
- #570 Update gradle shadow plugin to 7.1.2
- #571 Update parsington to 3.0.0
- #572 Update kotlin coroutines to 1.6.1
- #573 Update kotest to 5.2.3
- #574 Update mockk to 1.12.3
- #575 Update github-api to 1.303
- #576 Update worldedit to 7.2.9
- #577 Update dokka to 1.6.20
- #578 Update mysql-connector-java to 8.0.28
- #579 Update sqlite-jdbc to 3.36.0.3
- #580 Update HikariCP to 5.0.1
- #581 Update flyway-core to 8.5.8
Version 2.0.3
For Spigot 1.16.5
Bugfix patch for 2.0.x
If updating from 2.0.0
- Manually rename the table "flyway_schema_history_players" in your moderation and essentials schemas to "flyway_schema_history_moderation" and "flyway_schema_history_essentials", respectively.
- If you have any plugins built on RPKit APIs update them
- All custom events may now be run asynchronously. Check the event.isAsynchronous flag
- Services now return CompletableFuture for any long-running operations. There are additional getPreloaded* methods added in cases where it may be beneficial to have data loaded, which return information for active characters/players only.
Bugfixes
Version 2.0.2
For Spigot 1.16.5
Bugfix patch for 2.0.x
If updating from 2.0.0
- Manually rename the table "flyway_schema_history_players" in your moderation and essentials schemas to "flyway_schema_history_moderation" and "flyway_schema_history_essentials", respectively.
- If you have any plugins built on RPKit APIs update them
- All custom events may now be run asynchronously. Check the event.isAsynchronous flag
- Services now return CompletableFuture for any long-running operations. There are additional getPreloaded* methods added in cases where it may be beneficial to have data loaded, which return information for active characters/players only.
Bugfixes
- #544 Fix depositing into a bank
- #545 Fix using a lock on a chest that was already locked bypassing the lock
- #546 Fix Vault permissions
- #547 Fix exchange signs not showing messages for insufficient balance
- #548 Add missing character switch usage message to default messages.yml
- #549 Fix profession experience view command when used on a target
Version 2.0.1
For Spigot 1.16.5
Bugfix patch for 2.0.x
Updating requires you manually rename the table "flyway_schema_history_players" in your moderation and essentials schemas to "flyway_schema_history_moderation" and "flyway_schema_history_essentials", respectively.
If you have any plugins built on top of RPKit APIs they will most likely need updating. Please acknowledge:
- All custom events may now be run asynchronously. Check the event.isAsynchronous flag
- Services now return CompletableFuture for any long-running operations. There are additional getPreloaded* methods added in cases where it may be beneficial to have data loaded, which return information for active characters/players only.
This release fixes single-schema configurations, and overhauls the way threading works internally.
Servers should notice general performance increases (the server should no longer hang whenever something accesses the database), although initial login time after a restart may be longer and memory usage may be slightly higher (some data is preloaded for active characters & players)
Bugfixes
- #515 Character cards now consistently display edit/hide buttons when displaying your own (or whatever the owner format is set to)
- #516 Gender cache configuration is removed from the default characters config, as it is no longer used
- #517 Race cache configuration is removed from the default characters config, as it is no longer used
- #518 IRC functionality is fixed
- #519 Essentials and moderation now use the correct schema history tables
- #520 SQL queries now run on a separate thread
- #523 /profession set errors are fixed
- #528 Custom events may now run asynchronously
- #530 Permissions checks for profiles and characters are fixed
- #534 Formatting is stripped from Discord player list (so players with e.g. underscores in their name do not cause it to become italic)
- #537 WorldEdit selections no longer cause NPEs if the player has not yet created a selection (it will assume a 1x1x1 selection at the spawn point of the main world)
- #538 JDA connection is terminated on chat plugin disable correctly
Version 2.0.0
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.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
Version 1.9.1
Version 1.9.0
RPKit v1.9
For Spigot 1.15.2
This release makes a couple of major changes to chat: the addition of languages, and Discord support.
Languages may be slowly learned by a character as they hear them, and using a language filter in chat will perform a customisable cypher on the text.
Discord support allows you to create a Discord bot for your server, and link in-game chat channels to channels on your Discord server.
Thin profiles have been added. These allow IRC and Discord players to chat without having to link their accounts first. Linking your accounts is still required for you to perform privileged actions and have prefixes work across chat sources, but you may now at least see your chat name without linking.
Professions and crafting skill now do not give experience or block drops when in creative (or spectator) mode. This means staff players won't accidentally end up gaining experience or get annoying block drops while in creative.
Non-currency items can no longer be placed in the wallet, preventing players from accidentally losing items to their wallet.
The default database is now SQLite. This means that RPKit should run out of the box, which makes it more approachable for new server admins who do not know how to configure MySQL. For production servers, MySQL is still the recommended database backend.
Class stats have been redone. They should now be far more approachable to admins and run faster as well. Classes now provide stat variables that are parsed with JEP and may be picked up by the stats plugin, as opposed to clunky class objects and class level maps.
For developers, provider ready events have been added. These allow you to check when a provider is ready to enable your character card fields, stat variables, skills, and so forth.
Building will now work without repo.properties present. This file is only needed for deployment to Nexus.
An example skill plugin has been added. This replaces the old JavaScript or KotlinScript version of Fireball.
Block logging now correctly picks up liquid flow and teleporting dragon eggs.
Some events that were present but not called correctly are now called. This includes bank deposits and warp deletions.
All libraries have been updated to their latest versions.
There are a few modifications to keep up to date with Spigot API changes. This is an ongoing task.
- #24 Add languages to chat plugin
- #202 Prevent non-currency items from being placed in wallet inventory
- #211 Add Discord support to chat plugin
- #376 Add provider ready events
- #379 Redo class stats
- #380 Add "thin" profiles
- #381 Prevent block drops when using professions or crafting skill in creative mode
- #383 Add a gradle task to upload github releases
- #388 Default to SQLite
- #391 Register BlockFromToListener in block logging
- #392 Remove unused FoodLevelChangeListener in item quality
- #393 Remove unused RPKActiveCharacter class
- #394 Call RPKBukkitBankDepositEvent
- #395 Call RPKBukkitBankWithdrawEvent
- #396 Call RPKBukkitWarpDeleteEvent
- #397 Replace fireball.kts with an example skill project
- #398 Replace durability setting with ItemMeta
- #399 Update HealCommand to use max health attribute
- #400 Remove item in hand null checks
- #402 Allow building without repo.properties present
- #403 Save default fireball skill config
- #404 Update kotlin to 1.3.72
- #405 Update jooq to 3.13.2
- #406 Update jetty to 9.4.29.v20200521
- #407 Update JDA to 4.1.1_155
- #408 Remove kotlin-scripting-jsr223-embeddable from rpk-core-bukkit
- #409 Update mockk to 1.10.0
- #410 Update github-api to 1.112
- #411 Update mysql-connector-java to 8.0.20
- #412 Update sqlite-jdbc to 3.31.1
- #413 Update guava to 29.0-jre
- #414 Update HikariCP to 3.4.5
- #415 Update dokka to 0.10.1
Version 1.8.6
Bugfix patch for 1.8.x series
- #387 Fix /listchatchannels and match patterns using the wrong mute state when using a Minecraft profile provider that uses inconsistent Minecraft profile instances
Version 1.8.5
Bugfix patch for 1.8.x series
- #386 Fix chat groups not working when Minecraft profile provider returns inconsistent Minecraft profile instances