How lundlucenany9/velochat works
Velochat is a Velocity proxy chat plugin. Players send public chat, private messages, or visual replies; the plugin filters and formats messages, routes them to recipients, and can bridge chat and replies with Discord or other proxy servers. Moderation and player block relationships affect delivery, while TOML configuration and message templates shape behavior. The map retains the README’s command capabilities; several command implementations and startup/configuration sources were not sampled, so uncertain call links are omitted.
Main entry points: ReplyService.java Reply delivery · Velochat.java Plugin runtime · MsgCommand.java Private messages · MessageReceiveListener.java Discord ingress
Components 25
Chat and filtering
- Chat listener
src/main/java/de/lundlucenany9/velochat/listeners/ChatListener.java - Message filters
src/main/java/de/lundlucenany9/velochat/MessageFilterUtil.java - Chat parser
src/main/java/de/lundlucenany9/velochat/FormatParser.java - Public messages
src/main/java/de/lundlucenany9/velochat/MessageUtil.java
Player and moderator commands
- Private messages
src/main/java/de/lundlucenany9/velochat/commands/MsgCommand.java - Public replies
src/main/java/de/lundlucenany9/velochat/commands/ReplyCommand.java - Broadcast
src/main/java/de/lundlucenany9/velochat/commands/BroadcastCommand.java - Mute controls
src/main/java/de/lundlucenany9/velochat/commands/MuteCommand.java - Block controls
src/main/java/de/lundlucenany9/velochat/commands/BlockCommand.java - Configuration reload
src/main/java/de/lundlucenany9/velochat/commands/ReloadCommand.java
Reply and moderation state
- Reply delivery
src/main/java/de/lundlucenany9/velochat/ReplyService.java - Reply contexts
src/main/java/de/lundlucenany9/velochat/ReplyRegistry.java - Mute state
src/main/java/de/lundlucenany9/velochat/MuteManager.java - Block relationships
src/main/java/de/lundlucenany9/velochat/BlockManager.java - Spam detection
src/main/java/de/lundlucenany9/velochat/SpamManager.java
Configuration and integrations
- Plugin runtime
src/main/java/de/lundlucenany9/velochat/Velochat.java - TOML settings
src/main/java/de/lundlucenany9/velochat/Config.java - Message templates
src/main/java/de/lundlucenany9/velochat/Messages.java - Proxy transport
src/main/java/de/lundlucenany9/velochat/MessageHandler.java - Discord ingress
src/main/java/de/lundlucenany9/velochat/discord/MessageReceiveListener.java - Discord bot
src/main/java/de/lundlucenany9/velochat/discord/EnabledDiscordBot.java - Discord service
src/main/java/de/lundlucenany9/velochat/discord/DiscordBot.java
Other components
- Players
- Discord users
- Discord
Connections 31
- Players → Chat listener: send chat
- Chat listener → Message filters: filter text
- Chat listener → Chat parser: forward chat
- Players → Private messages: send privately
- Private messages → Block relationships: check blocks
- Private messages → Chat parser: format message
- Private messages → Reply contexts: register context
- Players → Public replies: request reply
- Public replies → Message filters: filter text
- Public replies → Reply delivery: send reply
- Reply delivery → Reply contexts: register context
- Reply delivery → Chat parser: format reply
- Reply delivery → Block relationships: check blocks
- Players → Broadcast: broadcast
- Players → Mute controls: moderate players
- Mute controls → Mute state: set mute
- Players → Block controls: manage blocks
- Block controls → Block relationships: change blocks
- Players → Configuration reload: reload settings
- Plugin runtime → TOML settings: load settings
- Plugin runtime → Message templates: load templates
- Plugin runtime → Chat listener: register listener
- Plugin runtime → Proxy transport: initialize transport
- Discord → Discord ingress: send messages
- Discord ingress → Message filters: filter text
- Discord ingress → Chat parser: forward chat
- Discord ingress → Reply delivery: send reply
- Reply delivery → Discord service: send Discord reply
- Discord service → Discord bot: implemented by
- Discord bot → Discord: send messages
- Proxy transport → Players: deliver proxy messages