# PlayHours - Server Operation Hours Enforcement **Version:** 1.0.0 **Minecraft:** 1.20.1 **Forge:** 47.4.10 **Java:** 17+ **Author:** Mr-KayJayDee A production-ready server-side Forge mod that enforces configurable server open hours with per-day schedules, automatic warnings, login blocking, and comprehensive admin commands. ## 🚀 Quick Start 1. **Download** `playhours-1.0.0.jar` from the `build/libs/` directory 2. Place in your server's `mods/` folder 3. Start the server to generate the default config 4. Edit `config/playhours.toml` to your needs 5. Use `/hours reload` or restart the server ## ✨ Key Features - **🕒 Schedule Enforcement** - Per-day schedules with midnight-spanning support - **🚫 Login Control** - Deny logins outside open hours with clear messages - **⚠️ Warnings & Auto-Kick** - Configurable warnings and automatic player removal - **🔧 Force Modes** - Override schedule (NORMAL/FORCE_OPEN/FORCE_CLOSED) - **👥 Whitelist/Blacklist** - Player access control independent of schedule - **📅 Date Exceptions** - Special open/closed dates for holidays and events - **🌍 Multi-Language** - English and French support with smart time formatting - **🔑 Permissions** - LuckPerms integration with ops fallback - **📢 MOTD Display** - Dynamic server list information with schedule status ## 📚 Documentation ### Core Documentation - **[Installation Guide](docs/INSTALLATION.md)** - Setup and installation instructions - **[Configuration Guide](docs/CONFIGURATION.md)** - Complete configuration reference - **[Commands Reference](docs/COMMANDS.md)** - All available commands and usage - **[Features Overview](docs/FEATURES.md)** - Detailed feature explanations ### Advanced Documentation - **[MOTD System](docs/MOTD.md)** - Message of the Day configuration and customization - **[Permissions System](docs/PERMISSIONS.md)** - Permission nodes and LuckPerms integration - **[Technical Details](docs/TECHNICAL.md)** - Architecture, limitations, and implementation details - **[Usage Examples](docs/EXAMPLES.md)** - Real-world scenarios and configurations ### Additional Resources - **[Changelog](docs/CHANGELOG.md)** - Version history and updates - **[Building from Source](docs/TECHNICAL.md#building-from-source)** - Compilation instructions ## 🎯 Common Use Cases ### Basic Server Hours ```toml [defaults] periods = ["09:00 AM-06:00 PM"] [days] saturday = ["02:00 PM-11:59 PM"] sunday = ["02:00 PM-10:00 PM"] ``` ### Weekend Events ```toml [exceptions] open_dates = ["2025-12-31 08:00 PM-11:59 PM"] # New Year's Eve closed_dates = ["2025-12-25"] # Christmas Day ``` ### Maintenance Mode ``` /hours force close ``` ## 🔧 Quick Commands | Command | Description | Permission | |---------|-------------|------------| | `/hours status` | Show current server status | `playhours.view` | | `/hours force open` | Override to always open | `playhours.admin` | | `/hours force close` | Override to always closed | `playhours.admin` | | `/hours reload` | Reload configuration | `playhours.admin` | ## 📋 Requirements - **Minecraft:** 1.20.1 - **Forge:** 47.4.10+ - **Java:** 17 or 23 - **Server-side only** - No client mod required ## 🆘 Support For issues, feature requests, or questions, please refer to the detailed documentation or contact the author. ## 📄 License All Rights Reserved © 2025 Mr-KayJayDee --- *For detailed information about any aspect of the mod, please refer to the specific documentation files listed above.*