Skip to content

Conversation

@rmaafs
Copy link
Owner

@rmaafs rmaafs commented Jan 21, 2026

Add Leave Message Patch Feature with Enhanced Documentation

Summary

This PR introduces the ability to disable Hytale's default "player left world" messages using an early plugin transformer, complete with comprehensive documentation and an automated installation command.

Changes

🎯 Core Features

  • New Command: /welcometalepatch - Automatically installs the early plugin patch to disable default leave messages
    • Requires welcometale.admin permission
    • Double confirmation system (10-minute timeout) to prevent accidental installation
    • Checks for existing installations and prevents overwrites
    • Clear error handling and user feedback

📚 Documentation

  • Updated README.md:

    • Added "Optional leave message patch" feature to Features section
    • Added warning note explaining Hytale's API limitations for leave messages
    • Updated Commands table with the new /welcometalepatch command
    • Added important notice about patch installation requirements
    • Fixed broken emoji (replaced with 🚪)
  • New File: leaveWorldMessagePatch.md - Comprehensive technical documentation covering:

    • Problem explanation and source code analysis
    • Why early plugins are necessary
    • Installation methods (automatic and manual)
    • Safety guarantees and transparency
    • Uninstallation instructions

🔧 Technical Implementation

  • LeaveMessageTransformer.java: ASM-based bytecode transformer that surgically removes the PlayerUtil.broadcastMessageToPlayers call
    • Targets only PlayerSystems$PlayerRemovedSystem.onEntityRemoved
    • Zero impact on other server functionality
    • Full documentation with code comments

🎨 UI/UX Improvements

  • Standardized color codes across all patch-related messages
  • Removed special icons, using only bullet point (•) for consistency
  • Added visual separators (=============) to all warning/success messages
  • Clear, concise messaging with proper formatting

Why This Change?

Unlike join messages, Hytale does not provide a native API method to disable default leave messages. This feature fills that gap using Hytale's official early plugin system, giving server administrators complete control over player connection messages.

@rmaafs rmaafs self-assigned this Jan 21, 2026
@rmaafs rmaafs added the feature New feature or request label Jan 21, 2026
@rmaafs
Copy link
Owner Author

rmaafs commented Jan 21, 2026

Final solution to #4

@rmaafs
Copy link
Owner Author

rmaafs commented Jan 21, 2026

Changes tested and is working as expected. The message is disabled correctly. Tomorrow I'll prepare the new release

@rmaafs rmaafs merged commit 94ac5a9 into main Jan 22, 2026
@rmaafs rmaafs deleted the feat/disable-leave-world-message branch January 22, 2026 01:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants