
JanusMCD – Discord ↔ Minecraft Chat Bridge & Passwordless Auth.
A secure Discord ↔ Minecraft chat bridge with passwordless login, real-time chat sync, account linking, and advanced verification for Spigot, Paper, and Purpur.
Список изменений
Changelog - JanusMCD v0.1.7
Dropped support for MC versions previous to 1.21.x
New Features
🕵️ Packet-Level Vanish System
ProtocolLib Integration: Replaced legacy hiding with packet interception (PacketAdapter) to silence chest opening sounds/animations and block entity interaction packets.
Persistent State: Vanish status is now stored in PersistentDataContainer (PDC_VANISH_KEY) to persist across server restarts.
Deep Stealth: Includes action bar warnings, fake join/quit messages, and complete hitbox removal for vanished players.
🎙️ Proximity Voice Chat
Dynamic Channel Management: Automatically creates temporary voice channels ("Voice Group X") and moves players based on in-game proximity.
Smart Clustering: Uses a Breadth-First Search (BFS) clustering algorithm with squared-distance checks to group nearby players efficiently.
Lobby Fallback: Players outside the proximity radius (default 20 blocks) are automatically moved to a configured Lobby channel.
Death Muting: Automatically mutes players in Discord when they die in-game (mute-on-death).
🎨 Immersive Webhook Chat
SkinsRestorer Support: Implemented reflective access to SkinsRestorerAPI (supporting both v14 and v15+) to correctly fetch custom skins for offline-mode servers.
Smart Avatars:
SkinUtil
now distinguishes between v3 (Offline) and v4 (Online) UUIDs to resolve the most accurate skin URL.
Hybrid Impersonation: Added multiple webhook modes:
DISCORD: Impersonates the player's linked Discord profile.
HYBRID_MINECRAFT: Uses Minecraft avatar + "Player | @DiscordName".
HYBRID_DISCORD: Uses Discord avatar + "DiscordName | IGN: Player".
Bug Fixes & Technical Changes
🔧 Stability & Core
Fixed Startup Crash: Removed conflicting log4j-slf4j-impl dependency which caused a NoSuchMethodError with the server's internal logger. The bot now uses the server's native SLF4J implementation.
Fixed Auth Loop: Refactored
AuthManager
to return a CompletableFuture
