Files
PlayHours/src/main/java/com/mrkayjaydee/playhours/config/DaysConfig.java
Mr¤KayJayDee c0fd2a2787 feat(docs): complete PlayHours mod implementation with comprehensive documentation
- Add complete PlayHours mod source code with all features:
  * Schedule enforcement with per-day schedules and midnight-spanning support
  * Login control with configurable thresholds and exemptions
  * Warnings and auto-kick system with countdown functionality
  * Force modes (NORMAL/FORCE_OPEN/FORCE_CLOSED) for maintenance
  * Whitelist/blacklist system for player access control
  * Date exceptions for holidays and special events
  * Multi-language support (English/French) with smart time formatting
  * LuckPerms integration with vanilla ops fallback
  * Dynamic MOTD system with real-time schedule display
  * Comprehensive command system with permission integration
  * TOML configuration with hot-reload support

- Add comprehensive documentation suite:
  * Installation guide with step-by-step setup instructions
  * Complete configuration reference with all options
  * Commands reference with usage examples
  * Features overview with detailed explanations
  * MOTD system configuration and customization guide
  * Permissions system documentation with LuckPerms integration
  * Technical details covering architecture and limitations
  * Usage examples with real-world scenarios
  * Changelog with version history

- Add resource files:
  * Language files (en_us.json, fr_fr.json) with localized messages
  * Mod metadata (mods.toml) with proper Forge configuration
  * Resource pack metadata (pack.mcmeta)

- Update build configuration:
  * Gradle build system with proper dependencies
  * Project properties and version management
  * Development environment setup

- Restructure documentation:
  * Replace old README.txt with new comprehensive README.md
  * Create modular documentation structure in docs/ directory
  * Add cross-references and navigation between documents
  * Include quick start guide and common use cases

This commit represents the complete v1.0.0 release of PlayHours, a production-ready server operation hours enforcement mod for Minecraft Forge 1.20.1.
2025-10-23 23:28:20 +02:00

42 lines
2.4 KiB
Java

package com.mrkayjaydee.playhours.config;
import net.minecraftforge.common.ForgeConfigSpec;
import java.util.ArrayList;
import java.util.List;
/**
* Day-specific schedule configuration for PlayHours.
* Contains opening periods for each day of the week.
*/
public final class DaysConfig {
private DaysConfig() {}
public static ForgeConfigSpec.ConfigValue<List<? extends String>> MON;
public static ForgeConfigSpec.ConfigValue<List<? extends String>> TUE;
public static ForgeConfigSpec.ConfigValue<List<? extends String>> WED;
public static ForgeConfigSpec.ConfigValue<List<? extends String>> THU;
public static ForgeConfigSpec.ConfigValue<List<? extends String>> FRI;
public static ForgeConfigSpec.ConfigValue<List<? extends String>> SAT;
public static ForgeConfigSpec.ConfigValue<List<? extends String>> SUN;
static void init(ForgeConfigSpec.Builder builder) {
builder.push("days");
MON = builder.comment("Monday-specific opening periods. Format: 'hh:mm AM-hh:mm PM'. Empty => use defaults.")
.defineListAllowEmpty("monday", new ArrayList<>(), o -> o instanceof String);
TUE = builder.comment("Tuesday-specific opening periods. Format: 'hh:mm AM-hh:mm PM'. Empty => use defaults.")
.defineListAllowEmpty("tuesday", new ArrayList<>(), o -> o instanceof String);
WED = builder.comment("Wednesday-specific opening periods. Format: 'hh:mm AM-hh:mm PM'. Empty => use defaults.")
.defineListAllowEmpty("wednesday", new ArrayList<>(), o -> o instanceof String);
THU = builder.comment("Thursday-specific opening periods. Format: 'hh:mm AM-hh:mm PM'. Empty => use defaults.")
.defineListAllowEmpty("thursday", new ArrayList<>(), o -> o instanceof String);
FRI = builder.comment("Friday-specific opening periods. Format: 'hh:mm AM-hh:mm PM'. Empty => use defaults.")
.defineListAllowEmpty("friday", new ArrayList<>(), o -> o instanceof String);
SAT = builder.comment("Saturday-specific opening periods. Format: 'hh:mm AM-hh:mm PM'. Empty => use defaults.")
.defineListAllowEmpty("saturday", new ArrayList<>(), o -> o instanceof String);
SUN = builder.comment("Sunday-specific opening periods. Format: 'hh:mm AM-hh:mm PM'. Empty => use defaults.")
.defineListAllowEmpty("sunday", new ArrayList<>(), o -> o instanceof String);
builder.pop();
}
}