▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Christmas Season
Christmas Season

Christmas Season

Lightweight Christmas event plugin for Paper and Spigot 1.21 with biome snow, global snowstorms, decoration drops, gifts, elves and snowmen, controlled via the /xmas command, requires Java 21.

1.7K
3
Все версииChristmas Season 2.0.0

Christmas Season 2.0.0

Release2 мес. назад

Список изменений

[2.0.0] - 2025-12-19

Added

  • 🎄 Multi-Platform Support - Plugin now runs on Spigot, Paper, Purpur AND Folia!

    • Automatic platform detection at runtime
    • Single JAR works on all server types (no separate builds needed)
    • Zero configuration required - works out of the box
    • Smart Scheduler Strategy:
      • Paper/Spigot/Purpur: Global timer (preserves v1.4.1 architecture & performance)
      • Folia: Player-based Entity Scheduler (regionalized threading)
  • FoliaLib Integration

    • Added FoliaLib 0.4.3 dependency (shaded & relocated)
    • Seamless multi-platform scheduler abstraction
    • Automatic fallback to Bukkit scheduler on non-Folia servers
  • Folia-Specific Optimizations

    • Region-based scheduling for biome processing (uses Global/Region Scheduler)
    • Entity-based scheduling for mobs (Wichtel, Elfen, Schneemänner)
    • Location-based scheduling for blocks (Gifts, Decorations)
    • Full support for Folia's regionalized multithreading
  • Chunk Queue System (NEW!)

    • Budget-based chunk processing prevents TPS spikes
    • Config option: perTickBudget (default: 12 chunks/tick)
    • Prevents lag when players move quickly into new areas
    • Queue distributes chunk updates across multiple ticks
  • Manual Biome Correction Command

    • /xmas biome set <biome> [radius] - Manually fix biome issues
    • Only works when ChristmasSeason is active (prevents permanent changes)
    • Includes automatic snapshot creation
    • Protection against global timer conflicts

Changed

  • Complete Scheduler Migration

    • All managers migrated from Bukkit scheduler to FoliaLib
    • BiomeSnowManager: Multi-platform scheduler strategy (Global on Paper, Entity on Folia)
    • DecorationManager: Entity scheduler for item lifetimes
    • GiftManager: Location scheduler for chest placement/removal
    • SnowstormManager: Global scheduler for weather control
    • WichtelManager: Entity scheduler for mob management
    • SnowmanManager: Entity scheduler for snowman behavior
    • XmasCommand: Global scheduler for delayed operations
  • New Scheduler Helper

    • Created FoliaSchedulerHelper utility class
    • Platform-agnostic API for scheduling tasks
    • Automatic platform detection (isFolia() method)
    • Supports all scheduler types: Global, Region, Entity, Location, Async
  • Task Types Updated

    • Replaced BukkitTask with WrappedTask (FoliaLib wrapper)
    • Replaced BukkitRunnable with lambda expressions
    • All scheduler calls now go through FoliaSchedulerHelper
  • Performance Improvements

    • perTickBudget increased from 6 → 12 (2x faster biome updates)
    • Cache management optimized (processedChunks, knownSnapshotChunks)
    • Chunk queue prevents processing duplicates

Fixed

  • CRITICAL: Multi-Platform Teleport Incompatibility

    • Fixed NoSuchMethodError on Spigot (teleportAsync doesn't exist)
    • Fixed UnsupportedOperationException on Folia (must use teleportAsync)
    • Platform-dependent teleport: teleportAsync() on Folia, teleport() on Spigot/Paper/Purpur
    • Wichtel can now teleport correctly on all platforms
  • CRITICAL: Race Condition in /xmas biome set

    • Fixed global timer overwriting manual biome changes
    • Chunks are now marked as processed BEFORE async tasks start
    • Manual changes are now persistent until /xmas off
  • CRITICAL: Chunk Stripes Not Restored

    • Fixed chunks being deleted from database even when restore failed
    • Chunks now only deleted after successful restoration
    • Failed chunks remain in DB for retry on next /xmas off
    • Added logging for failed chunk loads
  • Database Management

    • Improved cache clearing before/after restore operations
    • Better error handling for chunk loading failures
    • Success-only database cleanup prevents data loss

Technical

  • Dependencies

    • Updated from spigot-api to paper-api (1.21.3-R0.1-SNAPSHOT)
    • Added FoliaLib 0.4.3 (com.tcoded:FoliaLib)
    • Added tcoded-releases repository (https://repo.tcoded.com/releases)
    • FoliaLib is shaded and relocated to avoid conflicts
  • Build Configuration

    • Updated Maven Shade plugin to include FoliaLib
    • Relocation: com.tcoded.folialibde.boondocksulfur.christmas.libs.folialib
    • SQLite JDBC driver still bundled (3.45.0.0)
  • Version Bump

    • Major version bump to 2.0.0 (breaking changes in internal APIs)
    • Updated version in pom.xml, plugin.yml, and READMEs
    • Platform description updated to "Spigot/Paper/Purpur/Folia"
    • Added folia-supported: true flag to plugin.yml (required for Folia)

Migration Notes

  • No action required for server admins - plugin auto-detects platform
  • For developers: Internal scheduler API changed (use FoliaSchedulerHelper)
  • Compatible with existing configs - no configuration changes needed
  • Works on Folia 1.20+ and all Paper/Spigot versions supporting 1.21+

Файлы

christmas-season-2.0.0.jar(13.00 MiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

2.0.0

Загрузчики

Folia
Paper
Purpur
Spigot

Версии игры

1.21–1.21.10

Загрузок

257

Дата публикации

2 мес. назад

Загрузил

ID версии

Главная