HyAnnouncer - Announcements - Broadcasts v1.1.7

A powerful announcement system for Hytale servers with scheduled messages, welcome messages, join/le
Requires Hytale 0.5.6+ (Java 25). Build with JDK 25 toolchain via Gradle.

### Added

- Granular permissions: Replaced OP-only command access with hyannouncer.command.* permission nodes. OP (*) still grants full access.
- hyannouncer.command.use/ha info, /ha list
- hyannouncer.command.reload/ha reload
- hyannouncer.command.broadcast/ha broadcast, /ha test
- hyannouncer.command.send/ha send, /ha sendplayer
- hyannouncer.command.gui/ha gui
- hyannouncer.command.control/ha start, /ha stop, /ha startsys, /ha stopsys
- hyannouncer.admin or hyannouncer.* — full HyAnnouncer access

### Changed

  • Hytale 0.5.6 / Java 25: Bumped ServerVersion, Java toolchain, and build docs for hytale-downloader layout.
  • API: Replaced removed Player.getDisplayName() with PlayerRef.getUsername() via PlayerHelper.getUsername().
  • GUI command: /ha gui migrated from AbstractAsyncCommand to AbstractPlayerCommand because Player no longer implements CommandSender in Update 5.
  • Version display: Startup log and /ha info now read version from plugin manifest instead of hardcoded string.
  • Build: build.gradle supports local.properties and HYTALE_HOME / HYTALE_SERVER_JAR env vars for locating HytaleServer.jar.
  • Documentation: Updated commands, permissions, troubleshooting, and CurseForge descriptions for 1.1.7.

### Fixed

  • Announcement permissions: Config Permission fields on chat/title/notify/welcome announcements now use the real Hytale permission system via PlayerHelper.
  • Leave-world messages: Default white "player left world" chat is now suppressed when join-leave is enabled, using RemovedPlayerFromWorldEvent.setBroadcastLeaveMessage(false) (mirrors join suppression on AddPlayerToWorldEvent).
### Fixed

  • Reload: Config reload failures now log the config file path and full cause (e.g. invalid JSON, codec error) so you can fix the file and retry /ha reload.
  • Reload: When one config fails to load, only that config is kept; other configs still reload. Managers are only reloaded when their config loads successfully (e.g. disabling title and reloading no longer leaves titles running if title config had been broken).
  • Blank lines: Empty or whitespace-only lines in join/leave messages and in chat announcements are no longer sent, preventing stray blank lines in chat.
  • Join/leave title: Primary and secondary title lines are taken from the first and second non-blank lines; blank lines no longer produce empty titles.

### Changed

  • Documentation: Troubleshooting now includes "Default Hytale Leave Message Still Appears" (API limitation) and expanded "Configuration Not Reloading" with log path/cause and per-config reload behavior.
  • Code: Comment in leave handler updated for future setBroadcastLeaveMessage use if Hytale adds it.
Using fresh configs will be good for everyone!
Structures and usages changed.

### 1. Scheduled Actions System
  • Added cron-based scheduling with support for 5-field cron expressions
  • Added simple mode with duration strings (10s, 5m, 1h, 2d)
  • Created ScheduledActionsConfig for scheduled-actions.json
  • Created ScheduledActionManager to handle cron and duration-based scheduling
  • Announcements in scheduled-actions are automatically excluded from rotation
  • Support for multiple schedules per announcement ID
  • Validation and error handling with GUI warnings for invalid actions
  • Default examples: scheduled_title1 (5m) and scheduled_daily_title (daily at noon)

### 2. Sound System
  • Created SoundUtil for playing sounds to players
  • Added Sound field to all announcement configs:
- Chat announcements: default empty
- Title announcements: default "SFX_Rope_Break"
- Notification announcements: default "SFX_Rope_Break"
  • Integrated sound playback into all announcement types
  • Scheduled actions can override announcement sounds

### 3. Advanced Lag Protection
  • Added minimum gap protection (1.5 seconds) to all announcement managers
  • Smart skip logic prevents announcement bursts during server lag
  • Global coordination across all announcement types

### 4. GUI Enhancements
  • Created ScheduledActionsGui with full management interface
  • Added "Scheduled Actions" button to main index (row 1, next to Join-Leave)
  • Updated announcement GUIs to show "Scheduled" status for scheduled announcements
  • Scheduled announcements display schedule instead of interval
  • Start/Stop buttons hidden for scheduled announcements
  • Added orange "Scheduled" status label to all announcement entry UIs
### Interactive GUI System
  • Complete web-based GUI (/ha gui) for managing announcements
  • Welcome/Join-Leave message configuration panels
  • Chat, Title, and Notification announcement management
  • Start/stop controls and enable/disable toggles
  • Manual message sending interface
  • Wiki page with commands and placeholders

### Advanced Placeholders
  • %random_int:min:max% - Random integers
  • %random_choice:a|b|c% - Random selection
  • %server_uptime% - Server uptime
  • %datetime%, %day%, %timezone% - Date/time placeholders
  • %online% - Alias for %total_players%

### System Control Commands
  • /ha startsys [chat|title|notify|joinleave|all] - Start announcement systems
  • /ha stopsys [chat|title|notify|joinleave|all] - Stop announcement systems
  • /ha start <id> - Start specific announcement
  • /ha stop <id> - Stop specific announcement

### Manual Send Commands
  • /ha send [chat|title|notification] <message> - Send to all players
  • /ha sendplayer [chat|title|notification] <player> <message> - Send to specific player

### Enhanced Status Command
  • Improved /ha list with system status, announcement counts, intervals, and config paths
  • Shows running/stopped status for systems and individual announcements

# LOTS OF MORE...
Wisit wiki for more: https://tinsware.github.io/wiki/docs/hytale/mods/hyannouncer
fix join/leave announcement placeholders and add %leaver% placeholder support (make join message %joiner% and leave message %leaver%)

(update join leave config with that new placeholders)
EULA: Free EULA
1,979 Views
150 Downloads
Jan 15, 2026 Published
Jun 20, 2026 Updated
Not yet rated
217.5 KB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. Yes
Type
  1. Chat
  1. GUI
  1. Core
Game mode
  1. Survival
  1. Modded
Supported languages
  1. English
Creator
Owner
Recommended for you
Premium splash healing potions with PvP balancing and distance scaling.
Not yet rated
1 purchase
Automatically regenerate resource zones with weighted block generation, protected regions and fully
Not yet rated
0 purchases
Fairy race Addon for Endless Leveling with exclusive Winged and Featherfall passives.
Not yet rated
0 purchases
Custom teleport pearl Cooldown system Notifications Premium assets Lightweight and optimized
Not yet rated
0 purchases
Rewards for daily logins on server
Not yet rated
0 purchases
1,979 Views
150 Downloads
Jan 15, 2026 Published
Jun 20, 2026 Updated
Not yet rated
217.5 KB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. Yes
Type
  1. Chat
  1. GUI
  1. Core
Game mode
  1. Survival
  1. Modded
Supported languages
  1. English
Creator
Owner
Recommended for you
Premium splash healing potions with PvP balancing and distance scaling.
Not yet rated
1 purchase
Automatically regenerate resource zones with weighted block generation, protected regions and fully
Not yet rated
0 purchases
Fairy race Addon for Endless Leveling with exclusive Winged and Featherfall passives.
Not yet rated
0 purchases
Custom teleport pearl Cooldown system Notifications Premium assets Lightweight and optimized
Not yet rated
0 purchases
Rewards for daily logins on server
Not yet rated
0 purchases
Top