Tags
Creators
Details
Licensed MIT
Published 11 months ago
Updated 2 weeks ago
All versions
2.2.0
Release
Christmas Season 2.2.06 months ago 120
Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Folia
Paper
Purpur
Spigot
Changes
[2.2.0] - 2026-04-25
Major Update: Region protection, backup system, update checker, bug fixes, data safety, tab completion, and bStats.
Upgrade Priority: HIGH - Critical thread-safety and data integrity fixes
Added
- WorldGuard & GriefPrevention - No spawns in protected regions/claims (soft dependency, configurable)
- Automatic Backup System - SAFE/Timestamp/Emergency backups in
world/christmas_backups/ - Update Checker - Modrinth + GitHub fallback, OP notifications on join
- Biome Compare & Fix -
/xmas biome compareand/xmas biome fix-difffor recovery - Full Tab Completion - Context-aware suggestions for all commands
- bStats Metrics (Plugin ID: 30930)
- Startup Safety Checks - DB integrity check, crash detection, missing-DB warnings
- Data Loss Protection -
clearsnapblocked when active, backup failure warnings, smart rotation - Entity spawn fixes: No more spawns on roofs, in trees, or in water
Fixed (17 Bugs)
- CRITICAL: Backup system non-functional (wrong DB filename)
- CRITICAL: Folia crash on start/join (
Bukkit.getScheduler()→FoliaSchedulerHelper) - HIGH: 6 thread-safety issues (restore counters, restore guard, HashSets, SQLite, LanguageManager)
- HIGH: Restore permanently blocked after empty snapshot or null DB
- MEDIUM: Cave biomes overwritten during seed-restore (Y=64 only → per Y-level)
- MEDIUM: NPE in
stopFeatures()on failed startup - MEDIUM: SnowstormManager orphaned tasks after
stop() - LOW: DB header EOF check, version parse fix, SnowmanDamageListener cleanup
Changed
softdepend: [WorldGuard, GriefPrevention]in plugin.yml- New
regionIntegrationconfig section - Intelligent backup rotation (largest backup never deleted)
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:Xwi3c4Ew:uvoKGZQ8"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:Xwi3c4Ew:uvoKGZQ8"
}

