Afelius ChatMaster Plugin
Description:
Enhance communication and player interaction on your Minecraft server with
AfeliusPlugin! This all-in-one chat solution combines powerful features with an easy-to-use configuration, making it ideal for both small SMP servers and large networks. Whether you want custom NPC-like conversations, real-time Discord integration, advanced chat formatting, or vibrant gradient colors, AfeliusPlugin provides the tools to create a vibrant and immersive server atmosphere.
Key Features:
Customizable NPC Conversations
- Create dynamic NPC-style interactions by configuring chat responses triggered by specific keywords or phrases.
- Define detailed chat scenarios for NPC-like entities such as "Afelius," allowing players to engage in interactive dialogues.
Personalized Player Greetings
- Welcome players with custom join messages.
- Differentiate first-time joiners from returning players using tailored greetings.
- Add optional delays for immersive messaging and use placeholders for personalized details.
Automated Chat Announcements
- Schedule automatic messages at defined intervals to share server updates, rules, or event promotions.
- Mimic NPC dialogues or enhance roleplay with periodic announcements.
Configurable Chat Formatting with Hex Color and Gradient Support
- Fully customize chat formats to match your server's theme.
- Personalize prefixes, player names, delimiters, and colors using Minecraft color codes, hex colors, and vibrant gradients.
- Make your chat visually striking with smooth gradient transitions for text elements.
Cross-Server Chat Synchronization
- Seamlessly connect multiple servers using RabbitMQ for real-time chat synchronization.
- Keep your community connected and consistent, regardless of which server they are playing on.
Discord Webhook Integration
- Broadcast important messages directly to your Discord server.
- Synchronize chat between Minecraft and Discord, ensuring players can stay engaged even outside of the game.
Custom Rank-Based Chat Formats
- Define unique chat styles for each rank or group.
- Highlight player achievements and roles with visually distinct formats using PlaceholderAPI for dynamic data.
Full PlaceholderAPI Support
- Include real-time data such as player stats, ranks, or server information in messages, greetings, and announcements.
Intuitive Configuration
- Modify all features effortlessly through YAML configuration files.
- Customize conversations, join messages, announcements, and chat formats with ease.
DISCORD SUPPORT SERVER:
https://discord.gg/Jcy9XJkgTc
Example Config:
Code (YAML):
# Join messages settings v3.2
Join_messages:
enable
: true
# Enable join messages
look_like_player
: true
# Whether to make the messages look like player chat
player_name
:
"<gradient:#FF1493:#00FF7F>Afelius</gradient>"
# Gradient for the player's name
player_prefix
:
"<gradient:#8A2BE2:#00FFFF>[</gradient>"
# Gradient encapsulating the "[" symbol
delimiter
:
" | "
join_message_delay
: 0
# Delay in seconds before the join message is shown
first_join
:
"<gradient:#FF1493:#00FF7F><bold>Welcome</bold></gradient> <gradient:#00FF7F:#1E90FF><bold>{name}</bold></gradient> <gradient:#1E90FF:#FF1493><bold>to the server for the first time!</bold></gradient>"
# Neon gradient welcome message
rejoin_message
:
"<gradient:#00FF7F:#1E90FF><bold>{name}</bold></gradient> <gradient:#1E90FF:#FF1493><bold>has joined the game.</bold></gradient>"
# Gradient rejoin message
# Automatic messages settings
Automatic_message:
enable
: true
# Enable automatic messages
look_like_player
: true
# Whether to make the messages look like player chat
player_name
:
"<gradient:#00FF7F:#1E90FF>Afelius</gradient>"
# Gradient for the player's name
player_prefix
:
"<gradient:#8A2BE2:#00FFFF>[</gradient>"
# Gradient prefix: Purple to Cyan
delimiter
:
" | "
messages:
message1:
text
:
"<gradient:#FF1493:#00FF7F>Don't forget to check our</gradient> <gradient:#00FF7F:#1E90FF>website</gradient> <gradient:#1E90FF:#FF1493>for updates!</gradient>"
# Futuristic gradient message
timer_loop
: 50
# Repeat every 5 minutes
message2:
text
:
"<gradient:#1E90FF:#FFD700> Type /help for a list of</gradient> <gradient:#FFD700:#FF1493>commands!</gradient>"
# Blue to Gold gradient message
timer_loop
: 60
# Repeat every 10 minutes
# Bot conversation settings
conversations:
afelius:
custom_call_name
:
"afelius"
# The keyword to trigger the bot
self_mention_reply
:
"<gradient:#FF1493:#00FF7F>Hello</gradient>, <gradient:#00FF7F:#1E90FF>{name}</gradient>, <gradient:#1E90FF:#FF1493>how can I assist you today?</gradient>"
# Futuristic gradient reply
player_name
:
"<gradient:#FF1493:#00FF7F>Afelius</gradient>"
# Gradient for the bot's display name
player_prefix
:
"<gradient:#00FF7F:#FF1493>[</gradient>"
# Gradient prefix
delimiter
:
" | "
questions:
question1:
keyword
:
"help"
key_phrase
:
"i need help"
replies
:
-
"<gradient:#FF1493:#00FF7F>Sure</gradient>, <gradient:#00FF7F:#1E90FF>{name}</gradient>, <gradient:#1E90FF:#FF1493>what do you need help with?</gradient>"
# Gradient reply
-
"<gradient:#00FF7F:#1E90FF>Feel free to</gradient> <gradient:#1E90FF:#FF1493>ask any questions!</gradient>"
# Gradient reply
question2:
keyword
:
"commands"
key_phrase
:
"what are the commands"
replies
:
-
"<gradient:#FF1493:#00FF7F>You can type /help to see all</gradient> <gradient:#00FF7F:#1E90FF>available</gradient <gradient:#1E90FF:#FF1493>commands.</gradient>"
# Gradient reply
-
"<gradient:#00FF7F:#1E90FF>Check the</gradient> <gradient:#1E90FF:#FFD700>website for a detailed</gradient> <gradient:#FFD700:#FF1493>command list.</gradient>"
# Gradient reply
bot:
custom_call_name
:
"bot"
# The keyword to trigger the bot
self_mention_reply
:
"<gradient:#1E90FF:#FFD700>Hello,</gradient> <gradient:#FFD700:#FF1493>{name},</gradient> <gradient:#FF1493:#1E90FF>how can I assist you today?</gradient>"
# Vibrant gradient reply
player_name
:
"<gradient:#FFD700:#FF1493>BOT</gradient>"
# Bright gold for the bot's display name
player_prefix
:
"<gradient:#1E90FF:#FFD700>[</gradient>"
# Gradient prefix
delimiter
:
" | "
questions:
question1:
keyword
:
"help"
key_phrase
:
"i need help"
replies
:
-
"<gradient:#FFD700:#1E90FF>Sure,</gradient> <gradient:#1E90FF:#FF1493>{name},</gradient> <gradient:#FF1493:#FFD700>what do you need help with?</gradient>"
# Gradient reply
-
"<gradient:#1E90FF:#FF1493>Feel free to</gradient> <gradient:#FF1493:#FFD700>ask any questions!</gradient>"
# Gradient reply
question2:
keyword
:
"commands"
key_phrase
:
"what are the commands"
replies
:
-
"<gradient:#FFD700:#1E90FF>You can type /help to see all</gradient> <gradient:#1E90FF:#FF1493>available</gradient> <gradient:#FF1493:#FFD700>commands.</gradient>"
# Gradient reply
-
"<gradient:#FF1493:#1E90FF>Check the</gradient> <gradient:#1E90FF:#FFD700>website for a detailed</gradient> <gradient:#FFD700:#FF1493>command list.</gradient>"
# Gradient reply
Cross Server Support AND Discord Integration:
Code (YAML):
chat:
enabled
: false
# Whether Afelius chat formatting is enabled or not.
# Set this to "true" to enable the custom chat formatting system provided by the plugin.
# If set to "false," the plugin will not apply custom chat formats and will defer to the default Minecraft or other plugins' chat systems.
# Chat formats can be customized for specific ranks or player groups.
# The format supports PlaceholderAPI placeholders for dynamic data like player balance, name, etc.
# Placeholders must have their respective PlaceholderAPI expansions downloaded and enabled.
# To download expansions, players or admins need to run the following commands in-game:
# Example:
# - "/papi ecloud download vault" (for %vault_eco_balance%)
# - "/papi ecloud download luckperms" (for %luckperms_primary_group%)
# After downloading the necessary expansions, reload PlaceholderAPI with the command "/papi reload".
# Default chat format for players who do not belong to any specific rank group:
default
:
"<gradient:#00E0FF:#0077FF><bold>[Player]</bold> [ %vault_eco_balance% ] _ <bold>%player_name%</bold>:</gradient> <#00E0FF>%chat_message%"
# Explanation of the format:
# - <gradient:#00E0FF:#0077FF>: Creates a gradient effect from cyan (#00E0FF) to blue (#0077FF).
# - <bold>: Makes text bold.
# - [Player]: Prefix displayed for default players.
# - %vault_eco_balance%: Displays the player's economy balance (requires Vault and PlaceholderAPI with "vault" expansion).
# - %player_name%: Displays the player's name.
# - %chat_message%: Displays the player's chat message.
# Example output: [Player] [ 1000 ] _ PlayerName: Hello everyone!
# Admin-specific chat format:
admin
:
"<gradient:#FFD700:#FF4500>[Admin] <bold>%player_name%:</bold></gradient> &f%chat_message%"
# VIP-specific chat format:
vip
:
"<gradient:#00FFFF:#0000FF>[VIP] <bold>%player_name%:</bold></gradient> &e%chat_message%"
# Discord webhook URL for forwarding chat messages to a Discord channel:
discord_webhook_url
:
"https://discord.com/api/webhooks/your-webhook-id/your-webhook-token"
# Explanation:
# - Replace "your-webhook-id" and "your-webhook-token" with your actual Discord webhook details.
# - Messages from the server chat will be sent to the specified Discord channel using this webhook.
logdebug
: true
# Enables debug-level logging for troubleshooting. When set to "true," additional information about chat handling
# (e.g., messages, formatting, and RabbitMQ operations) will be logged to the console.
MongoDB_rabbitmq:
enabled
: false
# Enables or disables the MongoDB/RabbitMQ integration for chat synchronization.
# Set this to "true" to enable advanced chat synchronization features across multiple servers using MongoDB and RabbitMQ.
# If set to "false," the chat system will operate locally without external synchronization.
rabbitmq:
uri
:
"amqp://guest:guest@localhost:5672/"
# RabbitMQ connection URI:
# - Replace "guest:guest" with your RabbitMQ username and password.
# - Replace "localhost" with the address of your RabbitMQ server (e.g., IP address or hostname).
# - Replace "5672" with the RabbitMQ port if different from the default (5672).
# Example: "amqp://admin:password@my-rabbitmq-server:5672/"
'
Installation:
- Place the AfeliusPlugin.jar file into your server's plugins directory.
- Start the server to generate the default configuration files.
- Customize the config.yml as per your needs.
- Reload or restart your server to apply the changes.
Afelius ChatMaster is perfect for RPG servers, community hubs, or any server looking to enhance player interaction with NPC-like chat features. Create an immersive chat environment with ease!