ZombieApocalypseSSS - Multi-File Configuration Update
Architecture & Management
- Modular Configuration System : Successfully split the massive config.yml into 5 specialized files for better organization and easier maintenance:
- config.yml : Global settings (Language, Worlds, Spawn Control).
- zombies.yml : Zombie types, AI behavior, block breaking, and evolution phases.
- items.yml : Weapons (Guns, Katanas, Bats), survival gear, and ammo stats.
- events.yml : Blood Moon, Supply Drop loot tables, and Boss settings.
- mechanics.yml : Infection, Bleeding, Campfire of Hope, and Sanity systems.
- Dynamic Resource Management : Added automatic generation for all new configuration files if they are missing from the plugin folder.
Core Improvements
- Enhanced Reload System : Updated /zapoc reload to hot-reload all 5 configuration files simultaneously.
- Task Synchronization : Refactored WorldEventTask , PlayerStatusTask , and PsychologicalHorrorTask to dynamically update their internal variables whenever the config is reloaded without requiring a server restart.
- Singleton Pattern Access : Implemented global getters in the main class for easy access to sub-configs across all services.
Technical Fixes
- Code Cleanup : Removed redundant method definitions and fixed duplicate variable declarations in the main class.
- Dependency Handling : Fixed missing FileConfiguration imports in background tasks.
- Stability : Resolved potential NullPointerException risks during the initial plugin enable phase by ensuring config load order.
Build Information
- Version : 3.7 (Refactored)
- Output : ZombieApocalypseSSS-1.0.jar
- Platform : Paper/Spigot 1.21.1 (Java 21)
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }