Skip to content
This repository has been archived by the owner on Nov 23, 2020. It is now read-only.
/ Payload Public archive

Fail-safe asynchronous profile & object caching via Redis & MongoDB in Java for Spigot

Notifications You must be signed in to change notification settings

jonahseguin/Payload

Repository files navigation

Payload Actions Status

Fail-safe asynchronous profile caching via Redis & MongoDB in Java for Spigot

About

Payload aims to provide an all-in-one solution for the profile caching use cases that I've reused across so many of my plugins.
It features error handling, verbose debugging, an API with asynchronous events, and easy expandibility through an abstract layer-based system.

Key Features

  • Asynchronous
  • Supports Redis & MongoDB
  • Failure handling
  • User configurable settings
  • Custom error & debug handling
  • Two types of caches for Unique Player Profiles & Persistent or Non-Persistent Objects
  • Fast & easy to use across multiple services, plugins, and servers
  • Seamless integration into networks or standalone servers
  • Bungee/LilyPad/etc. (any network suite) support via use of a custom handshaking protocol & Redis pub/sub

Install

Payload is designed to be run as a plugin, not to be shaded. The reasoning for this is that Payload provides commands for checking statuses and looking into details about databases, caches, profiles, and objects.

Maven

To install with maven, clone the repository to your local machine first. And then install it into your local maven repository:

  • git clone git@github.com:jonahseguin/Payload.git
  • cd Payload
  • mvn clean package install

Once that has finished, you can add Payload to the dependencies in your project:

<dependency>
            <groupId>com.jonahseguin</groupId>
            <artifactId>Payload</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
</dependency>

Usage

Guides for using Payload in Profile and Object cache modes can be found on the wiki for this repository.