RPKit icon

RPKit -----

The definitive roleplay suite




For Spigot 1.19.3
Bugfix patch for 1.4.x

Bugfixes
  • #640 Validate against null players in placeholders
----------, Mar 25, 2023

For Spigot 1.19.3
Bugfix patch for 2.4.x

Bugfixes
  • #634 Height and weight migrations fail on SQLite
----------, Dec 20, 2022

RPKit 2.4.0
For Spigot 1.19.3

Changes:
  • #184 Add animal management to travel
  • #604 Add the ability to configure a default chat channel
  • #606 Add unit preferences to profiles
  • #607 Add heights to character cards
  • #608 Add weights to character cards
  • #609 Add a SettableCharacterCardField interface for character card fields that have a value that can be set by the owner
  • #612 Rename Race to Species
  • #613 Add /version Discord command
  • #614 Send players a message if they receive a notification while offline
  • #615 Make roll output more configurable
  • #616 Add message extending
  • #618 Better pagination in notification view
  • #619 Make notification dismiss delete the notification
  • #623 Use reflection to add chat commands to command map
  • #624 Display amount of notifications on login only if the player has notifications
  • #625 Use Discord display name for thin profiles when player hasn't linked their Discord profile to a profile
  • #626 Allow players to start with a default character
  • #629 Add PlaceholderAPI format part
  • #630 Add character card fields to the character list item format
Bugfixes:
  • #621 Fix joined by default setting on chat channels
  • #633 Fix RPKit block logging duplicating block log records
Library updates
  • Update Kotlin to 1.7.22
  • Update Dokka to 1.7.20
  • Update spigot-api to 1.19.3-R0.1-SNAPSHOT
  • Update jooq to 3.17.6
  • Update slf4j-jdk14 to 2.0.6
  • Update PlaceholderAPI to 2.11.2
  • Update JDA to 5.0.0-beta.2
  • Update kotlinx-coroutines-core to 1.6.4
  • Update kotest to 5.5.4
  • Update mockk to 1.13.3
  • Update github-api to 1.313
  • Update http4k to 4.34.3.1
  • Update worldedit to 7.2.13
  • Update mysql-connector-j to 8.0.31
  • Update sqlite-jdbc to 3.40.0.0
  • Update flyway to 9.10.1
----------, Dec 20, 2022

For Spigot 1.19.2
Bugfix patch for 2.3.x

Bugfixes
  • #632 Fix players sometimes getting multiple chat channel speaker records, preventing them from speaking
----------, Oct 30, 2022

For Spigot 1.19
Bugfix patch for 2.3.x

Bugfixes
  • #605 Fix players sometimes being registered as snooping multiple times, causing issues with chat
----------, Jul 16, 2022

For Spigot 1.19
Bugfix patch for 2.3.x

Bugfixes
  • #602 Switching character while not using ProtocolLib causes errors
  • #603 /statbuild view doesn't work
----------, Jul 4, 2022

RPKit v2.3.0
For Spigot 1.19

Changes:
  • #191 Add permission to override field hiding
  • #209 Add a command to see the time until a piece of food expires
  • #213 Reduce database redundancy
  • #214 Shorten links in chat
  • #219 New /profile link commands
  • #224 Modify nameplates based on character name
  • #533 Allow fields added through character card field provider to be hidden or unhidden via /character hide command
  • #543 Add the ability to copy keys, consuming materials
  • #552 Use Discord buttons for account confirmation
  • #585 Log exceptional cases where they occur within a future
  • #588 Add turn order to rolls plugin
Bugfixes:
  • #586 Plugins with optional RPKit functionality cannot register their own services
  • #587 Snoop cannot be disabled for some users
  • #589 setwarp is case sensitive but warp and deletewarp are not
  • #599 Null items in inventories causing errors in the web API
Library updates:
  • #590 Update Kotlin to 1.7.0
  • #591 Update spigot to 1.19-R0.1-SNAPSHOT
  • #592 Update http4k to 4.27.0.0
  • #593 Update ProtocolLib to 5.0.0-SNAPSHOT
  • #594 Update kotest to 5.3.1
  • #595 Update mockk to 1.12.4
  • #596 Update worldedit to 7.2.10
  • #597 Update mysql-connector-java to 8.0.29
  • #598 Update flyway to 8.5.13
----------, Jun 22, 2022

For Spigot 1.18.2
Bugfix patch for 2.2.x

Bugfixes
  • #584 Fix private messages sometimes not sending
----------, May 19, 2022

For Spigot 1.17.1
Bugfix patch for 2.1.x

Bugfixes
  • #584 Fix private messages sometimes not sending
----------, May 19, 2022

For Spigot 1.16.5
Bugfix patch for 2.0.x

Bugfixes
  • #584 Fix private messages sometimes not sending
----------, May 19, 2022

RPKit 2.2.0
For Spigot 1.18.2
Adds Placeholder support and more advanced time configuration, along with Minecraft 1.18 compatibility.

Changes
  • #432 Placeholder API support
  • #583 Update time scaling functionality
Library updates
  • #582 Update spigot-api to 1.18.2-R0.1-SNAPSHOT
----------, Apr 20, 2022

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
----------, Apr 16, 2022

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
  • #550 Prevent data from being unloaded when relogging quickly
  • #551 Remove the need for wallet balance to be preloaded for wallet add/subtract
  • #553 When using match patterns, force messages to send in the correct order
----------, Jul 27, 2021

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
----------, Jun 20, 2021

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
----------, Jun 20, 2021

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
----------, Feb 7, 2021

For Spigot 1.15.2
Quick bugfix patch for the 1.9.x branch, since they were requested by a couple of people
  • #433 Fixed languages breaking with cypher keys longer than one character
  • #438 Fixed wake command not checking permission correctly in unconsciousness
----------, Nov 7, 2020

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
----------, May 29, 2020

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
----------, May 26, 2020

Bugfix patch for 1.8.x series
  • #386 Fix chat groups not working when Minecraft profile provider returns inconsistent Minecraft profile instances
----------, May 25, 2020

Bugfix patch for 1.8.x series
  • #385 Add missing async flag to RPKBukkitChatChannelUpdateEvent
----------, May 25, 2020

Bugfix patch for 1.8.x series
  • #384 Fix unmuting a channel via sending a message with a match pattern causing an IllegalStateException
----------, May 25, 2020

Bugfix patch for 1.8.x series
  • #382 Fix rpk-stat-lib-bukkit depending on rpk-characters-bukkit instead of rpk-character-lib-bukkit
----------, May 25, 2020

Bugfix patch for v1.8.x series

  • #377 Missing reactivestreams
----------, Mar 3, 2020

There are two new major additions to this release: monster experience and stat builds.

Monster experience allows you to define areas where monsters will spawn, and a level range for each area. It allows you to configure the experience given by monsters, and the attack damage and health for each monster.

Stat builds allows you to create stat attributes which are used in calculating stats. Players may then assign points into the attributes.

Other plugin features that have been added are skill binding, and a skill point provider in classes.

Skill binding means that players may bind commonly used skills to items. For example, if you have a fireball skill, a player who is playing a mage character and uses fireball often may bind it to a wand, and use that instead of the command each time.

Classes having a skill point provider means that skills may now use the classes plugin to determine whether skills can be used without directly depending on the classes plugin.

In addition, there's a plethora of bugfixes. Some race conditions related to load order have been fixed, and a few crafting bugs have been fixed, such as shift clicking the result slot after crafting, and the qualities being determined incorrectly.

Lastly, all libraries have been updated to their latest versions as usual.

This release is tested against Spigot 1.15.2.

  • #18 Builds plugin
  • #25 Monster experience plugin
  • #322 Allow skills to be bound to items
  • #345 Add a skill point provider to classes
  • #347 Update gradle wrapper script
  • #348 Remove shadow plugin from core
  • #352 Crafting an item, then shift clicking the result slot after the item has been crafted, results in exp being given
  • #354 Missing some depends in plugin.yml
  • #355 Expose stats to monster stats config
  • #356 Default monster stats calculation fallbacks aren't being used
  • #357 Stat build lib doesn't specify api-version in plugin.yml
  • #359 Quality is chosen incorrectly for professions
  • #360 Update Kotlin to 1.3.61
  • #361 Update mysql-connector-java to 8.0.19
  • #362 Update sqlite-jdbc to 3.30.1
  • #363 Update commons-codec to 1.14
  • #364 Update guava to 28.2-jre
  • #365 Update gson to 2.8.6
  • #366 Update ehcache to 3.8.1
  • #367 Update slf4j-jdk14 to 1.7.30
  • #368 Update jetty to 9.4.27.v20200227
  • #369 Update HikariCP to 3.4.2
  • #370 Update github-api to 1.107
  • #371 Update jooq to 3.13.1
  • #372 Update bStats to 1.7
  • #373 Update WorldEdit to 7.1.0
  • #374 Add plugin IDs to bStats
  • #375 Stop loading skills from files
----------, Mar 2, 2020

  • #358 Fix async flag being passed through sendMessage overloads
----------, Feb 21, 2020

  • #353 Added missing async flag to RPKBukkitChatChannelMessageEvent
----------, Feb 20, 2020

Resource Information
Author:
----------
Total Downloads: 2,787
First Release: Aug 25, 2019
Last Update: Mar 25, 2023
Category: ---------------
All-Time Rating:
4 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings