https://github.com/azurejelly/jelly-chats
Highly customizable Redis-based private chats for Velocity proxies
https://github.com/azurejelly/jelly-chats
jedis jedis-plugin redis redis-pubsub velocity velocity-plugin velocitypowered
Last synced: 2 months ago
JSON representation
Highly customizable Redis-based private chats for Velocity proxies
- Host: GitHub
- URL: https://github.com/azurejelly/jelly-chats
- Owner: azurejelly
- License: gpl-3.0
- Created: 2025-08-03T19:02:10.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2025-08-05T03:52:50.000Z (3 months ago)
- Last Synced: 2025-08-05T04:43:51.697Z (3 months ago)
- Topics: jedis, jedis-plugin, redis, redis-pubsub, velocity, velocity-plugin, velocitypowered
- Language: Java
- Homepage:
- Size: 108 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# jelly-chats
JellyChats is a highly customizable Redis-based private chats plugin for [Velocity](https://github.com/PaperMC/Velocity) proxies.
## Pre-requisites
For building from source:
- JDK 17 or higher
- An Internet connectionFor running the plugin:
- A Redis instance
- JRE 17 or higher
- A [Velocity](https://github.com/PaperMC/Velocity) proxy## Installation
Grab the latest release from [here](https://github.com/azurejelly/jelly-chats), then drop it into your `plugins/` folder.
### Creating new chats
Go to the `plugins/jelly-chats/config.yml` file in your server, then add a new entry inside the `chats` section:
```yaml
moderator:
enabled: true
name: "Moderators"
channel: "jelly-chats/mods"
permission: "jelly-chats.chat.moderator"
command:
main: "mod-chat"
aliases:
- "m"
- "mc"
- "modchat"
- "mods"
- "mod"
```You can also simplify it to:
```yaml
moderator:
enabled: true
```In these cases:
- The name will be set to the chat ID
- `moderator` in this example
- The Redis channel will be set to the value of `default-channel-prefix` + the chat ID
- `jelly-chats/moderator` in this example
- The permission will be set to `jelly-chats.chat.` + the chat ID
- `jelly-chats.chat.moderator` in this example
- The command will be the chat ID + `-chat`
- `/moderator-chat` in this example
- The command will have no aliases### Formatting new chats
Simply add a new entry under `messages → formatting` with the same chat ID:
```yaml
messages:
# ...
formatting:
# Supported placeholders are:
# - (the server the player is in)
# - (the name of the private chat)
# - (the author of the message)
# - (the content of the message)
# - (the prefix of the player, requires LuckPerms)
# - (the suffix of the player, also requires LuckPerms)
moderator: "[MOD] () : "
```This example assumes you're using the same chat created earlier.
## Developers
You can replace the default [`RankManager`](core/src/main/java/dev/azuuure/jellychats/core/rank/RankManager.java) by using
something like:```java
RankManager rankManager = new MyRankManager();
JellyChatsPlugin plugin = JellyChatsPluginProvider.getInstance();
plugin.setRankManager(rankManager);
```## Building from source
Clone the repository:
```shell
$ git clone https://github.com/azurejelly/jelly-chats
$ cd jelly-chats/
```Build the project using Gradle:
```shell
$ ./gradlew build
```You should be able to find a distributable JAR under `./build/libs/`