SkyeNetwork Velocity

SkyeNetwork Velocity

Plugin

The custom paper plugin used to building SkyeNetwork

Server FoodLibraryOptimizationUtility

41 downloads
1 follower
Follow Save

SkyeNetwork Velocity 3.2.1

Changelog

Version 3.2.1 (July 21, 2025) - ADMINISTRATION IMPROVEMENTS

🔧 Features and Improvements

  • Added Plugin Reload Command: Implemented /skyenetv reload and /snv reload commands
  • Removed Discord Reload: Removed the standalone /discord reload command
  • Simplified Configuration: Updated config.yml with new reload command documentation
  • Improved Error Handling: Better feedback for reload success/failure

Version 3.2.0 (July 21, 2025) - SIMPLIFIED LOCAL CHAT FOCUS

🔄 Major Changes

  • Removed Global Chat: Removed all global chat functionality for a simpler chat system
  • Simplified Chat System: All messages now stay local to their respective servers
  • Code Cleanup: Removed unused global chat toggle code and commands
  • Streamlined Architecture: Replaced GlobalChatManager with streamlined ChatManager
  • Maintained Features: LuckPerms prefix/suffix integration and Discord forwarding still work

🔧 Technical Changes

  • Replaced GlobalChatManager: New ChatManager with simplified message routing
  • Removed Commands: Removed /gc and /lc commands and related code
  • Preserved Formatting: Maintained consistent chat formatting with LuckPerms
  • Simplified Configuration: No more need for global chat toggle settings

Version 3.1.2 (July 5, 2025) - CHAT DUPLICATION FIX

🔧 Critical Bug Fixes

  • FIXED: Chat Duplication for Senders: Fixed issue where senders saw their own messages twice
  • FIXED: Message Format for Senders: Senders now see their messages with proper formatting (including globe emoji)
  • FIXED: Message Routing Edge Cases: Improved message routing logic to ensure proper delivery in all scenarios
  • FIXED: Self-Message Handling: Players now see exactly one correctly formatted message for their own chat

Version 3.1.1 (June 21, 2025) - GLOBAL CHAT SYSTEM REWRITE

🔧 Critical Bug Fixes

  • FIXED: Local Chat Duplication Bug: Eliminated duplicate messages that appeared when global chat was toggled OFF
  • FIXED: Global Chat Message Routing: Complete rewrite of message routing logic with explicit recipient handling
  • FIXED: Message Format Consistency: Globe emoji (🌐) now consistently appears only for global chat messages
  • FIXED: Self-Message Handling: Players now see their own messages with correct formatting
  • Fixed Global Chat Message Duplication: Eliminated double messages when global chat is enabled
  • Fixed Global Chat Sender Visibility: Globe emoji (🌐) now appears correctly on sender's own messages
  • Fixed Private Messaging Cross-Server: /msg and /r commands now work properly across all servers in the network
  • Fixed Double Globe Emoji Issue: Removed redundant globe emoji prefix causing double display
  • Implemented Channel-Based Global Chat: Complete rewrite of global chat system to work as a proper channel

🌐 Global Chat Channel System (MAJOR UPDATE)

  • Mutually Exclusive Message Routing: Completely redesigned routing logic to prevent duplicates
  • Two-Phase Message Processing: Separate determination of recipients from message delivery
  • Format-Based Message Variants: Different message formats created for different recipient types
  • Globe Emoji as Status Indicator: 🌐 now indicates that the MESSAGE SENDER has global chat enabled
  • Recipient-Based Visibility: Your ability to see cross-server messages depends on YOUR global chat setting
  • Smart Message Routing:
    • Global Chat ON: See messages from ALL servers (cross-server channel)
    • Global Chat OFF: See only messages from YOUR current server
  • Complete Backend Bypass: All chat now processed through SkyeNet proxy, preventing duplication
  • Consistent Formatting: All messages use SkyeNet formatting with LuckPerms integration

🌐 Global Chat Improvements

  • Proper Event Cancellation: Global chat messages now properly cancel local chat events to prevent duplication
  • LuckPerms Integration Fix: Now uses proper PrefixUtils.getPrefixString() and PrefixUtils.getSuffixString() methods
  • Consistent Message Format: All recipients (including sender) see the same formatted global chat message
  • Single Message Path: Streamlined message processing to eliminate race conditions

💬 Private Messaging Enhancements

  • Cross-Server Player Search: Enhanced player lookup finds players by exact name or partial name matches across servers
  • Improved Error Messages: More descriptive error messages when players are not found
  • Better Reply Functionality: Reply system now works seamlessly across different servers
  • Self-Message Prevention: Prevents sending messages to yourself with humorous error message

🔧 Technical Fixes

  • Consolidated Message Processing: Removed redundant handlePlayerMessage() method to prevent double processing
  • Fixed Component Handling: Resolved compilation issues with join/leave message Component handling
  • Enhanced Player Lookup: Improved findPlayer() method with comprehensive cross-server search
  • Lobby Command Infrastructure: Added configuration support for lobby teleportation coordinates

📋 Code Quality Improvements

  • Removed Placeholder Methods: Eliminated unused getLuckPermsPrefix() placeholder in Config.java
  • Fixed ChatListener Syntax: Cleaned up duplicate code and syntax errors in ChatListener.java
  • Early Event Processing: Used PostOrder.FIRST to ensure global chat events are processed before backend servers

🛠️ Build & Deployment

  • Updated Version: Incremented to 3.1.1 to reflect all bug fixes and improvements
  • Maven Build Success: Plugin compiles cleanly with no errors or warnings
  • JAR Generation: Successfully generates SkyeNetV-3.1.1.jar for deployment

🎯 What Was Fixed in Detail

Global Chat Message Flow (Before vs After)

Before (3.1.0):

1. Player sends message "test"
2. ChatListener processes message → calls processPlayerMessage()
3. sendGlobalMessage() adds extra 🌐 prefix
4. Message sent to all players: "🌐 🌐 [PREFIX] Player test"
5. Local server also processes message normally
6. Result: Double messages and double globe emojis

After (3.1.1):

1. Player sends message "test"
2. ChatListener processes message → calls processPlayerMessage()
3. sendGlobalMessage() uses config format directly (no extra prefix)
4. Message sent to all players: "🌐 [PREFIX] Player » test"
5. Original chat event is cancelled (event.setResult(denied()))
6. Result: Single message with single globe emoji

LuckPerms Integration (Before vs After)

Before:

  • Used placeholder config.getLuckPermsPrefix(player) returning "<prefix>"
  • Wrong placeholder replacement: {luckperms_prefix} (not in config format)

After:

  • Uses proper PrefixUtils.getPrefixString(player) and PrefixUtils.getSuffixString(player)
  • Correct placeholder replacement: {prefix} and {suffix} (matching config format)

🧪 Testing Results

  • Global Chat: No more double messages ✅
  • Globe Emoji: Single emoji display for all users ✅
  • LuckPerms Prefixes: Proper prefix/suffix display ✅
  • Cross-Server Messaging: Private messages work between servers ✅
  • Event Cancellation: No local chat duplication ✅

Version 3.1.0 (June 17, 2025) - DISCORD & GLOBAL CHAT RE-IMPLEMENTATION

🆕 Major Features Added Back

  • Discord Integration: Complete Discord bot integration with configurable messages
  • Global Chat System: Cross-server chat with customizable toggle behavior
  • Comprehensive Configuration: All messages, formats, and behavior now configurable

🌐 Global Chat Features

  • /gc - Toggle global chat mode or send direct global messages
  • /lc - Switch to local chat mode
  • Smart Message Handling: When global chat is ON, shows message with globe emoji to sender, broadcasts to all servers, suppresses local
  • When Global Chat is OFF: Normal local server chat behavior
  • Configurable default state for new players
  • Custom message formats with placeholder support

💬 Discord Integration

  • Bidirectional messaging between Discord and game (configurable)
  • Global chat to Discord relay with custom formats
  • Discord to game messaging with custom formatting
  • Connection status monitoring and status commands
  • Configurable bot token and channel settings

⚙️ Configuration System

  • Main config.yml: Complete configuration for all features
  • Backwards compatible discord_config.yml fallback
  • Configurable message templates using MiniMessage format
  • Feature toggles for Discord integration aspects
  • Customizable join/leave message formats

🎨 Message Customization

All command responses and system messages are now configurable:

  • Global chat enable/disable messages
  • Discord status messages
  • Join/leave message formats
  • Error and permission messages
  • Discord message formatting templates

🛠️ Technical Improvements

  • Smart config loading with resource template fallbacks
  • MiniMessage support for rich text formatting throughout
  • Improved error handling and logging
  • Modular command system with shared configuration
  • Memory-efficient Discord connection management

📋 Command Updates

  • /gc [message] - Toggle global chat or send global message
  • /lc - Switch to local chat mode
  • /discord [status] - Show Discord integration info and status
  • All commands now use configurable messages and permissions

🔧 Dependencies

  • JDA 5.0.0-beta.13 for Discord integration
  • SnakeYAML 2.0 for configuration management
  • MiniMessage 4.14.0 for rich text formatting (provided by Velocity)
  • LuckPerms API 5.4 for prefix/suffix integration (provided)

📦 Build Information

  • JAR Size: ~47KB (increased from 24KB due to Discord/Global Chat features)
  • Java Version: 17+
  • Velocity Version: 3.1.1+

🔄 Migration Notes

  • Existing v3.0.0 installations will automatically create new configuration files
  • Old discord_config.yml files are still supported as fallback
  • Join/leave message behavior unchanged from v3.0.0
  • All core commands (rules, lobby, sudo) remain unchanged

Version 3.0.0 (June 15, 2025) - LUCKPERMS JOIN/LEAVE MESSAGES

✅ NEW FEATURES

  • Custom Join/Leave Messages with LuckPerms Integration
    • Join Message Format: [+] [PREFIX] PlayerName [SUFFIX] joined the network (green)
    • Leave Message Format: [-] [PREFIX] PlayerName [SUFFIX] left the network (red)
    • LuckPerms Prefix/Suffix Support: Full integration with player ranks and formatting
    • Vanilla Message Replacement: Disables default Velocity join/leave messages
    • Network-wide Broadcasting: Messages sent to all online players

🔧 TECHNICAL IMPLEMENTATION

  • PrefixUtils Enhancement: Added createJoinMessage() and createLeaveMessage() methods
  • Event Handlers: Added PostLoginEvent and DisconnectEvent listeners
  • LuckPerms Integration: Full support for prefix, suffix, and color formatting
  • MiniMessage Support: Proper parsing of LuckPerms formatting tags

📦 CURRENT PLUGIN FEATURES

  • Rules System: /rules command with JSON configuration
  • Lobby Commands: /lobby, /l, /hub for server navigation
  • Administrative Tools: /sudo command for admin tasks
  • Custom Join/Leave Messages: LuckPerms-integrated network messages
  • LuckPerms Integration: Prefix, suffix, and color support

🎨 MESSAGE EXAMPLES

[+] [ADMIN] PlayerName joined the network
[-] [VIP] PlayerName left the network
[+] [OWNER] PlayerName [★] joined the network

🔧 DEPENDENCIES

  • Velocity API: Core proxy functionality
  • LuckPerms API: Permission and formatting system
  • Adventure Text MiniMessage: Text formatting and parsing

Version 2.4.7 (June 10, 2025)

🚫 CRITICAL FIXES

  • FIXED: Global Chat Duplication Issue - Messages no longer appear twice when global chat is enabled
    • Restructured chat event handler to properly cancel original events
    • Added early return after global chat processing to prevent duplicate handling
    • Fixed event.setResult(ChatResult.denied()) implementation

📝 NEW FEATURES

  • Updated Join/Leave Message Formats
    • Join: [+] [PREFIX] PlayerName joined global chat
    • Leave: [-] [PREFIX] PlayerName left global chat
    • Clean gray brackets with green/red symbols for better readability

🎨 Configurable Global Chat Messages

  • Configurable Message Formats: Global chat messages now use customizable MiniMessage formats
    • Separate formats for messages with/without globe icon
    • Configurable join/leave notification messages
    • Customizable new player notification message
  • Enhanced Color Continuation: Added getFullFormattedNameWithColorContinuation() for seamless gradient flow
  • Flexible Placeholder System: Support for {player}, {luckperms_prefix}, and {message} placeholders
  • Config-Driven Display: All global chat message formats controlled via config.yml

New Configuration Options

global_chat:
  message_with_icon: "🌐 {luckperms_prefix}<bold>{player}</bold>: {message}"
  message_without_icon: "{luckperms_prefix}<bold>{player}</bold>: {message}"
  join_message: "🌐 {luckperms_prefix}<bold>{player}</bold> <green>joined global chat</green>"
  leave_message: "🌐 {luckperms_prefix}<bold>{player}</bold> <red>left global chat</red>"
  new_player_notification: "<green>You are not connected to global chat. Type </green><gold><bold>/gc</bold></gold><green> to toggle.</green>"

Technical Changes

  • Enhanced DiscordConfig.java: Added global chat message format fields and getters
  • Updated GlobalChatCommand.java: Use configurable formats for join/leave/notification messages
  • Updated SkyeNetV.java: Main global chat display now uses configurable MiniMessage formats
  • Enhanced PrefixUtils.java: Added color continuation method for gradient preservation
  • Updated config.yml: Added comprehensive global chat message format section
  • Version bump: 2.4.62.4.7

Benefits

  • Customizable Branding: Server owners can customize all global chat message formats
  • Better Color Support: Proper gradient/color continuation from prefix to username
  • MiniMessage Integration: Full support for modern Minecraft text formatting
  • Consistent Configuration: All message formats centralized in config.yml

Files

SkyeNetV-3.2.1.jar(54.59 KiB) Primary Download

Project members

Skye Network

Skye Network

Organization

Details

Licensed MIT
Published 3 months ago
Updated 2 months ago