Перейти к содержимому
Mineforgian

SinceDungeon

Advanced instanced dungeon plugin for Paper 1.21+. In-game GUI editor, party system, and randomized gacha loot.

Загрузки
426
Подписчики
5
Обновлён
11 июня 2026 г.
Лицензия
All-Rights-Reserved

Опубликован 27 марта 2026 г.

🛡️ SinceDungeon - The Ultimate Instanced Dungeon System

SinceDungeon is a high-performance, premium-grade instanced dungeon plugin designed natively for modern Minecraft servers (Paper 1.21+). It empowers server owners to create seamless, isolated adventure experiences with zero-trust security, advanced RPG mechanics, and professional-tier optimization.

Unlike traditional dungeon plugins, SinceDungeon is built for stability, absolute customizability, and extreme replayability. From dynamic rogue-like generation and PAPI-conditional command executions to a fully interactive In-Game GUI Editor—SinceDungeon is the only framework you need to build epic mob arenas, intricate storylines, or competitive speedrun challenges.


✨ Key Features

🌌 Professional Instancing & Zero-Trust Security

  • Isolated Async Worlds: Every dungeon run is a fresh clone of your template, generated on a separate thread to ensure zero TPS drops, then automatically deleted after completion to keep your server clean.
  • Deep-Clone Inventory Protection: Players' inventories, armor, and EXP are securely deep-cloned into RAM upon entry, then completely wiped. This guarantees no one can smuggle OP items into the dungeon or bring dungeon-exclusive quest items out.
  • Exploit Prevention: Natively blocks teleportation (Ender Pearls, Chorus Fruit), item dropping, and unauthorized command usage while inside an instance.

⚡ Conditional Lifecycle Automation (NEW)

Automate your dungeon's flow without messy Command Blocks. Execute console commands automatically at specific lifecycle triggers:

  • On-Start / On-Finish / On-Stage-Complete: Trigger commands dynamically as players progress.
  • First-Time Clear Hook: Define commands that strictly execute only when a player beats a dungeon for the very first time (Perfect for granting exclusive Titles, Milestone Ranks, or unique Lore items).
  • PAPI Conditional Logic: Format your commands as [condition] command_here. The plugin evaluates PlaceholderAPI logic before running it! Example: [%vault_eco_balance%;>=;500] eco give %player% 100

⏱️ Persistent Cooldowns & Gacha Tickets (NEW)

  • Per-Player, Per-Map Cooldowns: Prevent endless grinding by forcing players to wait a configurable amount of time before re-entering a cleared map.
  • Interactive Cooldown Tickets: Monetize your server or reward active players with NBT-protected Gacha items:
    • Cooldown Reset Ticket: Instantly wipes ALL active dungeon cooldowns.
    • Time Skip Ticket: Reduces all active cooldowns by a specific amount of time.
  • PlaceholderAPI Tracking: Display remaining cooldown times live on scoreboards via %sincedungeon_cooldown_<map>%.

🛠️ Revolutionary In-Game Editor

  • No YAML Hassle: Create stages, spawn waves, set conditions, and configure rewards entirely through a beautiful, paginated In-Game GUI.
  • Dynamic Actions:
    • Spawn Waves & Mythic Bosses: Vanilla or MythicMobs integration (Supports scaling with party size and mixed random mob pools!).
    • Control The Zone: Hold a specific area as the radius shrinks over time, fighting off interference mobs.
    • Unlock Door & Find Key: Give players a tracking compass to hunt down a physical key and unlock a sealed path.
    • Breakable Barriers: Magical walls that crumble asynchronously when a trigger block is destroyed.
    • Loot Chests: Reward players mid-run with randomized loot.

🎲 Rogue-like Progression & High Stakes

  • Randomize Stages: Shuffle the middle stages of your dungeon on every run to make speedrunning dynamic and unpredictable.
  • Percent Chance Stages: Create rare, hidden treasure rooms or traps that only spawn a certain percentage of the time.
  • Action Time Limits: Add high-stakes pressure by forcing players to complete objectives within a strict time limit, or face heavy life penalties.

❤️ Lives & Immortality System

  • RPG Mechanics: Limit how many times players can enter a dungeon. Players lose lives when dying or failing action time-limits.
  • Passive Regeneration: Lives regenerate over time based on custom or global intervals, even when offline.
  • Soul Crystals: Distribute special consumable items that restore lives, complete with modern 1.21+ item components, sounds, and particles.

🏆 Interactive Leaderboards & Statistics

  • Fully Automated Tracking: Natively tracks Fastest Clears, Most Kills, and Most Clears for every single dungeon.
  • In-Game GUI (/dungeon top): Players can view rankings through an interactive, paginated GUI. Admins can wipe specific maps using /sd top reset <map>.
  • Optimized Database: Powered by HikariCP, supporting both SQLite (Local) and MySQL (Network).

👥 Advanced Party & Dynamic Commands

  • Conflict-Free Dynamic Commands: Core commands (/party, /dungeon, /sincedungeon) are no longer hardcoded! Fully rename them or assign custom aliases in config.yml to prevent conflicts with plugins like MMOCore.
  • Smart Entry Checks: Automatically verifies every member for level, money, lives, and proximity before pulling the party in.
  • Cross-Server (Experimental): Built-in Redis and BungeeCord/Velocity support to route players from a Lobby server to dedicated Dungeon Node servers.

🎁 Gacha Reward System

  • Time-Based Tiers: Reward faster completions with more loot chests.
  • Randomized Pool: Support for Vanilla items, MMOItems, and Console Commands.
  • Instanced Looting & Auto-Claim: Each player gets their own personal reward GUI. If they disconnect or their inventory is full, rewards are auto-claimed and dropped safely at their feet.

🚀 Compatibility

  • Paper/Purpur: 1.21 & 1.21.x (Native support) / 1.20.x (Legacy NMS fallback)
  • MythicMobs: Create epic boss fights.
  • MMOItems: Reward players with custom tier equipment.
  • PlaceholderAPI: Custom entry conditions, lifecycle command logic, and stat tracking.
  • Vault: Economy-based entry fees.
  • MySQL & Redis: For large networks and cross-server setups.

📖 Useful Links


📄 Permissions

  • SinceDungeon.admin - Access to the editor, reload, spectate, cooldown resets, and all admin commands.
  • Player commands (/party, /dungeon join, /dungeon top, /dungeon lives) are enabled for everyone by default.

Ченджлог

1.6.3Релиз26.1, 26.1.1, 26.1.2 · 11 июня 2026 г.

🚀 SinceDungeon - Changelog v1.6.3 (Official Release)

Comprehensive compilation of feature additions, system overhauls, and critical performance optimizations for version 1.6.3.


⚡ JIT & Memory Performance Optimizations

🧩 JIT Loop-Churn Eradication & RAM Leak Fixes

  • JIT Loop-Churn Eradication: Optimized heavy particle generation algorithms within ControlZoneAction, ReachLocationAction, and SmartBreakWallAction. Removed inline Location and Vector instantiations inside while/for loops, replacing them with reusable mutable pointers. This completely prevents massive Garbage Collection (GC) spikes during intense boss fights.
  • MathCache Utility: Added a pre-calculated trigonometry cache (MathCache.java) to eliminate CPU overhead during intensive circular particle generation. Replaced all Math.sin() and Math.cos() calls inside rapid 360-degree hot-loops with the new MathCache array, heavily stabilizing server TPS.
  • Orphaned World RAM Leak Fix: Implemented a robust recursive retry mechanism in WorldManager and DefaultInstanceProvider. If a Dungeon World fails to unload due to lingering chunk tickets or entities, the system forcefully purges all entities and retries the unload every 5 seconds until successful, completely freeing trapped JVM RAM.
  • Comprehensive Cache & Memory Cleanup:
    • Fixed an offline memory leak in DungeonGame.java where player states persisted endlessly if they disconnected during dungeon runs (savedStates cache).
    • Fixed a PlaceholderAPI task leak by tracking active asynchronous caching tasks statically, preventing CPU/RAM leaks on /papi reload.
    • Fixed Ghost Task leaks by accurately tracking the Kick Countdown BukkitTask. Tasks are now safely aborted on forceful shutdowns, preventing Player object memory leaks.
    • Added a cleanup() lifecycle hook to LivesManager to safely terminate asynchronous database sync tasks on server shutdown/reload.
    • Overhauled cleanup() methods across multiple Core and Premium Actions (DefendCore, Escort, LootChest, etc.) to explicitly clear Set and Map collections holding dead entity references.

🧵 Threading & Main Thread Offloading

  • Eliminated TPS Death Loop: Removed completely unused, ultra-high-frequency event pass-throughs (PlayerMoveEvent, ProjectileLaunchEvent, etc.) from DungeonListener. This permanently resolves CPU starvation when 10+ players are actively running dungeons.
  • I/O Event Caching: Drastically improved DungeonListener performance. High-frequency events no longer query the YAML config for the world-prefix every tick; it is now cached in memory and safely updated via updateConfig().
  • UI Parsing Efficiency: The Action Bar ticking system in DungeonGame now compiles the MiniMessage component once per tick instead of parsing it repeatedly for every individual player in the map.
  • Exception Safety Hardening: Wrapped the stop() logic in DungeonGame with a try-catch-finally block to guarantee that aggressivelyCleanupMemory() and world unloading trigger absolutely, even if a NullPointerException occurs mid-flight.
  • Startup Freeze Fix: Moved database, cooldown, lives, and template loading to a safe asynchronous startup flow. Added startup readiness checks before letting players join dungeons, preventing server lockups during plugin enabling.

🍃 Native Folia Support

  • Entity Thread Concurrency: Implemented Folia-compliant Entity Thread concurrency via SchedulerCompat.runAtEntity(...).
  • Folia IllegalStateException Fix: Resolved thread state issues on Folia servers by forcing player state restoration (Health, Inventory, Velocity) onto the respective EntityScheduler.
  • FoliaDungeonValidator: Added a dedicated validator to block Core world-copy/template-world dungeons on Folia unless the active provider is shared-world compatible (Premium schematic mode). Validation triggers on template load, dungeon join, and editor saves.
  • Hologram Modernization: Upgraded Premium hologram updates to use native TextDisplay entities, completely removing outdated DecentHolograms requirements and hardening region-based rendering on Folia.
  • ⚠️ Configuration Warning: This version does NOT support running Folia + Schematic Mode simultaneously.

✨ New Features & General Enhancements

📦 Universal Custom Model Data (CMD) Support

  • Universal CMD Integration: All items across the Dungeon GUI, Reward Chests, Loot Pools, Leaderboards, and Dynamic Custom Items now natively support Custom Model Data via the MATERIAL:AMOUNT:CMD configuration format (e.g., DIAMOND_SWORD:1:123).
  • Smart Material Parsing: You can now write PAPER:10606 directly. The plugin smartly realizes that since 10,606 is greater than a max stack size of 64, you mean Custom Model Data, and it will spawn 1 Paper with CMD 10606.
  • Component List Protection: Simplified the default config for items.yml to custom-model-data: 1001 (as a flat integer), ensuring the auto-updater will no longer corrupt component lists.
  • Tip: Add auto-update: false to the top of configuration files if you want to prevent the system from auto-updating that specific file.

🛡️ Dungeon Management & Core Enhancements

  • Multi-Phase Boss Tracking: Added the target_to_kill parameter to the MYTHIC_WAVE action. This allows flawless support for multi-phase MythicMobs bosses. The dungeon objective accurately tracks the transition from an initial NPC/ArmorStand into a live boss without auto-completing prematurely.
  • Console Spam Protection: Structural tasks (like SmartBreakWallAction and general Tickables) will now forcefully cancel and log properly if a map configuration throws continuous structural errors, preventing infinite loop console spam.
  • Access Control & Privacy Overhaul:
    • Regular members can no longer view or tab-complete public: false private dungeons. Server administrators retain full tab-completion and visibility for testing purposes.
    • Added an administrative bypass rule: Operators can execute /dungeon join <map> <target> to forcefully move target players into private maps, bypassing the standard privacy layer.
  • Advanced Multiverse-Inventories Compatibility: Split MultiverseInventoriesHook into separate V4 and V5 implementations with safe reflection loading to prevent NoClassDefFoundError on legacy servers. Removed old legacy permissions and implemented dynamic permission attachments (mvinv.bypass.*) to cleanly prevent MVI from wiping player inventories during dungeon teleports.
  • Concurrency Safety: Replaced shared ArrayList usages inside DungeonGame with CopyOnWriteArrayList to permanently resolve ConcurrentModificationException under heavy load.

📊 Leaderboards & PlaceholderAPI (PAPI)

  • Asynchronous Caching Layer: Introduced a thread-safe memory cache for PAPI queries. Data automatically refreshes via async tasks every 5 minutes, completely eliminating database locks and main-thread lag spikes caused by scoreboard ticks.
  • Smart Map ID Parsing: Map placeholders automatically identify map string logic, natively allowing underscores (_) inside map ID config names without breaking rank tracking parsing.
  • New Admin Commands:
    • Target Reset Command: /sincedungeon top resetplayer <player> [map] allows admins to delete a specific player's metrics directly from the database without wiping the entire map's history.
    • Incognito Bypass Node: Added SinceDungeon.top.ignore. Players/admins with this permission bypass leaderboard insertions entirely, preventing staff accounts from crowding the tops.

🎮 Gameplay Mechanics & Commands

  • Dungeon Consumable Restrictions: Server owners can now strictly prevent players from consuming utility items (Soul Crystals, Cooldown Reset Tickets, Time Skip Tickets) while actively fighting inside an active dungeon instance via allow-use-in-dungeon: false inside settings/items.yml.
  • Comprehensive Lives Command Extension: Added full command structures for managing lives with support for the -s (Silent) flag to suppress feedback messages:
    • /sincedungeon lives <target> add/reduce/set <amount> [-s]
    • /sincedungeon lives <target> addmax <amount> [-s]
    • /sincedungeon lives <target> setregenamount <amount> [-s]
    • /sincedungeon lives <target> setregeninterval <seconds> [-s]
    • /sincedungeon lives <target> resetregen/check [-s]
    • /sincedungeon givelifeitem <target> <amount> [-s]
  • Granular Life Deductions: Added precise life deduction hooks across files: lives-deducted-on-leave: 0, lives-deducted-on-fail: 0, and lives-deducted-on-clear: 0.
  • Combat Area Sealing: Added logic to automatically seal off the combat area during a boss fight to prevent defeated players from rejoining and disrupting the phase mechanics.
  • Gravity Block Fix: Fixed an issue where gravity-affected blocks (like Sand and Gravel) would fail to fall within instanced dungeon worlds.

🛠️ Developer API

  • SinceDungeonAPI.java Overload: Introduced a new API method overload: joinDungeon(Player player, String id, boolean allowPrivate). This allows third-party hooks and external plugins to safely force-join or programmatically transition players into private dungeons under explicit backend validation.
  • Bundled JDBC Drivers: Shipped bundled SQLite and MySQL JDBC drivers natively within the project jar for highly reliable, out-of-the-box database initialization.
  • Documentation Migration: Moved the official wiki/documentation repository onto GitHub Pages under the docs/ directory, integrated with an automated deployment workflow.
1.6.2Релиз26.1, 26.1.1, 26.1.2 · 8 мая 2026 г.

SinceDungeon v1.6.2 - Full Changelog

🚀 New Features

  • Live Revive System: Added the /dungeon revive <player> command. Alive players can now consume a LIFE_ITEM (Soul Crystal) to actively revive spectating party members mid-dungeon.
  • Required Entry Items: Added the ability to require specific items (Vanilla, MMOItems, Dungeon Keys) to join a map, alongside a consume-required-item toggle.
  • Independent Reward Tiers: You can now configure separate time limits and chest reward tiers for Solo runs versus Party runs.
  • Teleport Action: Added a new TELEPORT objective action to seamlessly and asynchronously move participants to specific XYZ coordinates within the dungeon.
  • Chinese Localization: Added full Simplified Chinese (zh) language translation support.

⚙️ Architecture & API (Strategy Pattern)

  • Modular Integration: Completely refactored core systems to support external plugin injections. 3rd-party developers can now easily replace native functions via the API.
    • PartyProvider: Inject custom Guild/Party matchmaking systems.
    • InstanceProvider: Override world generation (e.g., SlimeWorldManager support).
    • RewardSystem: Replace the default chest UI with custom reward handling.

🛠️ Improvements & Optimizations

  • Physical Checkpoints: The Checkpoint action has been completely rewritten. It now spawns a physical particle ring that players must step into to secure their respawn location.
  • Editor GUI Overhaul: Transitioned from rigid hardcoded pathing to dynamic FieldProperties resolution. Fixed NullPointer exceptions on settings without global fallbacks and improved prompt mappings.
  • Roulette Stabilization: Rewrote the Roulette GUI state handling. If a player abruptly closes their inventory during a spin, the generated reward is now safely cached and instantly pushed to their inventory.
  • Proxy Command Toggle: Added the block-teleport-commands setting in gameplay.yml, allowing players to use native proxy warps (like HuskHomes) without triggering the dungeon anti-cheat.
  • Dynamic Enum Formatting: Material names without custom display names (e.g., IRON_NUGGET) now dynamically format into human-readable Title-Case strings for chat and holograms.

🐛 Bug Fixes

  • Cross-Server Teleportation Blockers: Fixed a critical bug where players were prevented from teleporting to other servers. The PlayerQuitEvent now utilizes strict try-catch isolation, and completing a dungeon on a proxy network properly routes players back to the return-server.
  • Virtual Inventory Crash: Removed unsafe Inventory#getLocation() and Player#getOpenInventory() calls that caused silent asynchronous exceptions during disconnects in Paper 1.21+.
  • MythicMobs Wave Lockup: Fixed an issue where waves would get stuck at (Remaining: X). The plugin now strictly ignores invisible utility entities (ArmorStands/Projectiles) summoned by MythicMob skills.
  • Summoned Boss Tracking: Objective HUDs now dynamically transfer from invisible spawner mobs to the actual summoned child boss instead of soft-locking.
  • Reward Miscalculation: Fixed a flaw where completely failing the lowest time bracket incorrectly granted 1 chest instead of 0.
1.6.1Релиз26.1, 26.1.1, 26.1.2 · 4 мая 2026 г.

🔄 SinceDungeon v1.6.1 - Massive Performance, Editor & Multi-Module Update

This update introduces a completely revamped Gradle Multi-Module architecture, massive performance optimizations for Paper 1.21+, new premium mechanics, and highly requested Editor GUI improvements!

✨ New Features & Additions

  • Dynamic Stage Insertion: You can now insert stages directly in between existing ones! Added a dedicated [Insert Stage Here] button in the Editor GUI and a new command (/sdungeon stage insert <map> <position>).
  • Key-Locked Loot Chests: You can now optionally require players to possess a specific Dungeon Key item to open objective Loot Chests.

⚙️ Optimization & System Adjustments

  • Loot Chest Anti-Hang (Paper 1.21+): Fixed severe server lag spikes and Watchdog crashes caused by interacting with physical chests. Inventory listeners now correctly verify virtual GUI locations before querying the inventory Holder, bypassing expensive main-thread block-state snapshots.
  • Hardcode Eradication: Fully removed all remaining hardcoded strings. Translations are unified, and formats like /dungeon top date/time are now 100% configurable via config.yml.

🐛 Bug Fixes & Stability

  • BossBar Persistence: Fixed an issue where the BossBar HUD element would remain stuck on the screen if a player died or forcefully quit the dungeon before completing a boss phase.
  • Editor GUI Fixes: Fixed an issue where editing String List Action properties (like custom_drops or vip_equipment) would supply an incorrect edit context. Added proper EDIT_LIST signals and prioritization to unlock proper list management options.
  • Escort Action Fixes: Fixed a critical bug where attacker mobs would fail to spawn. Integrated a safe-spawning algorithm to prevent attacker mobs from suffocating or glitching inside solid blocks/terrain.
  • Memory Leaks: Safeguarded the PlayerQuitEvent cursor-item restore logic to ensure it doesn't accidentally snapshot chunk data during player disconnects.
1.6.0Релиз26.1, 26.1.1, 26.1.2 · 2 мая 2026 г.

🌟 Major Features

  • Epic Boss Battles: You can now spawn dynamic bosses with scaling health, phase transitions (e.g., spawning minions or gaining buffs at certain HP percentages), and enrage timers. Includes a built-in BossBar!
  • Per-Player Loot Chests: Added "instanced" loot! You can set chests so every party member gets their own personal loot. No more fighting over drops!
  • Dynamic Randomized Loot: Loot chests and completion rewards now support random quantity ranges (e.g., 1-5 items) and fully support custom plugin items, Life Items, and Cooldown tickets.
  • Party Leaderboards: Added a "Party Fastest Clears" category to the /sd top menu to track and show off the fastest teams.

🛠️ Editor & Quality of Life Improvements

  • Smart Editor Upgrades: The in-game editor is smarter than ever. You can now right-click items from your inventory to auto-fill them into rewards, view helpful descriptions for every Action type, and safely delete entire dungeons with a new dedicated button.
  • Entry Requirements Fixed: Fixed a bug where custom entry conditions (like required levels or money) were being ignored. The system now strictly checks all party members before a dungeon starts.
  • Cleaner Dungeons: All leftover or interfering mobs are now instantly wiped out the moment an objective finishes, keeping your maps clean.
  • System Organization: Language files are now neatly organized into their own dedicated folders (e.g., languages/en/), and the /sd reload command will safely regenerate accidentally deleted configuration files without needing a server restart.

⚠️ Note for updating: Please make sure to delete your config.yml and messages_[lang].yml to apply the new updates!

1.5.9Релиз26.1, 26.1.1, 26.1.2 · 1 мая 2026 г.

🚀 SinceDungeon v1.5.9 - The Ultimate Customization & Cooldown Update

A massive expansion introducing advanced lifecycle commands, conditional executions, robust String List editors, a complete Cooldown system, and extreme codebase hardening.

🌟 Major Features

  • Conditional Action Commands: Commands executed via the dungeon lifecycle hooks now natively support PlaceholderAPI logic evaluations. By formatting your commands as [condition] command_here, the plugin will strictly execute them only if the condition is met.
    • Example: [%vault_eco_balance%;>=;500] eco give %player% 100
  • Dungeon Re-entry Cooldowns: Implemented a persistent, per-player, per-dungeon cooldown system. Players must wait a configurable amount of time before re-entering a completed map. Data is asynchronously saved to the database.
  • Interactive Cooldown Tickets: Introduced highly configurable Gacha items: Cooldown Reset Tickets (clears all dungeon cooldowns instantly) and Time Skip Tickets (reduces all active cooldowns by X seconds). Heavily protected by custom NBT tags to prevent dupes/exploits.
  • Lifecycle Command Hooks:
    • First-Time Clear: Added on-first-finish commands that strictly execute only when a player completes a specific dungeon for the very first time. Perfect for granting titles or one-time milestone rewards.
    • Per-Stage Executions: The on-stage-complete global setting has been migrated into a per-stage configuration. You can now execute different conditional commands depending on which specific stage the players have cleared.
  • Paginated String List Editor: Completely overhauled the In-Game GUI. Added a dynamic String List Editor that allows admins to manage lists (like Commands or custom Action texts) with pagination. Left-click to add lines via chat, and shift-right-click to instantly delete specific lines.
  • Dynamic Commands & Aliases: Core commands (/party, /dungeon, /sincedungeon) are no longer hardcoded. Server admins can fully rename them and assign multiple custom aliases via config.yml to prevent conflicts with plugins like MMOCore.
  • Customizable Kick Countdown: The delay before teleporting players out of a cleared dungeon now features a visual countdown. Admins can toggle the display type between ACTIONBAR, TITLE, CHAT, or NONE.

✨ Improvements & Refactoring

  • Smart Tab-Completions: Rewrote the Brigadier command trees across all player and admin commands. Arguments such as <target>, <map>, and <amount> now intelligently suggest online players, active map templates, and numeric examples respectively.
  • PlaceholderAPI Injection: Expanded PAPI integration to support realtime tracking of dungeon cooldowns via %sincedungeon_cooldown_<map>%. Returns formatted time or a customized "Ready" string depending on the player's status.
  • Advanced Admin Commands: Server operators can now manually manage player cooldowns via intuitive commands (/sd cooldown [check|reduce|reset|resetall]) and instantly wipe map leaderboards via /sd top reset <map>.
  • Zero-Hardcode Compliance: Extracted all remaining hardcoded GUI titles, action descriptions, default names, and chat messages into messages_en.yml and messages_vi.yml.
  • Safe Plugin Hooks: Hardened the MythicMobsHook and MMOItemsHook by centralizing imports, preventing NoClassDefFoundError crashes when the target plugins are not installed on the server.

🐛 Bug Fixes

  • Control Zone Timing Flaw (Critical): Fixed an issue where the ControlZoneAction required-time was inherently tied to the internal 4-tick execution cycle, causing capture times to take 4x longer than configured. It now utilizes System.currentTimeMillis() for absolute real-time precision regardless of server TPS.
  • Ghost Mobs Cleanup: Added a UUID tracking system for interference mobs spawned during the Control Zone action. Remaining monsters are now securely wiped from the server memory when the objective is completed.
  • Smart Break Wall Optimization: Re-calibrated the asynchronous block crumbling delay in SmartBreakWallAction. It now processes exactly 50 blocks per tick, preventing main-thread lag spikes and server crashes during massive wall destructions.
  • Database Wipe SQL Error: Fixed a SQL schema mismatch in the DatabaseManager that prevented the Leaderboard Reset command from finding and deleting records across the three separate Top tables.
  • Teleportation Fix: Resolved minor issues related to player teleportation during specific dungeon sequences.

⚠️ Note for updating: Please make sure to regenerate your config.yml and messages_[lang].yml to apply the new updates!

1.5.8Релиз26.1, 26.1.1, 26.1.2 · 1 мая 2026 г.

🚀 SinceDungeon v1.5.8 - The Customization & Stability Update

This update focuses heavily on expanding your ability to customize dungeons while stabilizing the core gameplay loop, fixing critical timing issues during the completion sequence, and patching edge cases related to inventory management.

✨ New Features & Enhancements

  • Per-Dungeon Player Limits: Added a max-players setting to individual dungeon templates, allowing admins to easily separate small standard dungeons from massive, large-scale raids.
  • Dynamic RNG Loot Amounts: Reward pools now support Min-Max randomized drop amounts (e.g., DIAMOND:1-5). The system rolls a random quantity within the range upon opening victory chests.
  • Advanced Control Zone Mobs: Expanded ControlZoneAction to support spawning both Vanilla and MythicMobs directly on the zone's border with full customization (display names, baby status, equipment, and attributes).
  • Smart Leaderboard Privacy: The /dungeon top command now strictly suggests and displays leaderboards only for dungeons marked as public.
  • Left-Behind Notifications: Party members who fail to enter a dungeon (due to being dead, too far, or offline) now receive direct chat notifications explaining why they were excluded.
  • Command Auto-Completion & Parsing: Upgraded Brigadier argument types to support hyphenated map names. Search logic now uses contains instead of startsWith for a smoother experience.
  • In-Game Item Management: Added /dungeon getkey <id> to retrieve system keys for testing. Improved the Editor GUI to recognize these keys via drag-and-drop, automatically converting them to the proper YAML format.
  • Standardized Javadocs: Replaced all informal inline notes with professional English Javadocs across core classes.

🎨 Total De-Hardcoding

  • Complete Visual & Audio Control: Removed hardcoded Particles and Sounds across all actions (BreakWall, ControlZone, LootChest, ReachLocation, SpawnWave, RandomWave). Everything is now customizable in config.yml.
  • Customizable Timings: Title screen timings (fade-in, stay, fade-out) are no longer hardcoded and can be adjusted globally.
  • Command Localization: Fixed hardcoded strings in the /dungeon getkey command; it now fully supports language file localization.

🐛 Bug Fixes & Security Patches

  • Dungeon Completion Kick Delay: Fixed a bug where kick-delay-after-finish was being ignored, causing players to be instantly teleported out upon killing the final boss. Players will now remain in the dungeon for the configured delay duration to celebrate before being gracefully teleported to the lobby to claim their rewards.
  • Life Item Duplication Exploit (Double-Consume Glitch): Patched a double-fire bug where macro-clicking or server latency could cause a single Life Item to be consumed twice (Main-hand/Off-hand double fire). A strict packet cooldown has been implemented to ensure accurate life restoration.
  • Reward GUI Teleport Sync: Resolved an edge case where the Reward Gacha GUI would attempt to open before the player had fully finished transitioning across dimensions, occasionally resulting in dropped UI items or closed inventories.
  • Item Metadata Fix: Fixed an issue where custom displayName in the reward pool only appeared in chat; it is now correctly applied to the physical ItemMeta of the reward item.
  • Mission Item Deep-Clean: Compasses and Keys now safely drop if the inventory is full. Added a strict protocol to aggressively purge all mission items upon leaving to prevent survival world leaks.
  • Inventory Wiping Protection: Fixed a race condition where cached inventories were deleted if a player logged out immediately before the async teleportation delay finished.
  • Map Griefing Prevention: Decorations (ArmorStands, ItemFrames, Paintings) are now protected from ALL damage sources, including Creepers, TNT, and Mob projectiles.
  • Ghost Spectator Glitch: Added validation checks to prevent players from getting stuck in Spectator mode if the dungeon shuts down during their death delay.

⚡ Performance, Architecture & Optimizations

  • Memory Management & World Teardown Safety: Refactored DungeonGame#finishDungeon to utilize delayed task scheduling for memory cleanup rather than holding active thread states. Enhanced the WorldManager cleanup task to wait an extra margin to guarantee all players have successfully migrated back to the lobby, preventing "ghost players" from falling into the void.
  • Data Restoration: Hardened the restorePlayerState logic, ensuring that if a server crashes mid-dungeon, item wiping is strictly prevented when the plugin shuts down gracefully.
  • Editor UI & Item Handling: Minor under-the-hood stability improvements to ItemBuilder to handle 1.21+ advanced NBT components without throwing silent console exceptions on legacy server builds.
  • Editor GUI Hot-Reloading: Saving map settings in the Editor now seamlessly hot-reloads the template into live memory without requiring a full server reload.
  • Control Zone Softlock: Progress requirements now dynamically calculate based only on actively alive members, preventing softlocks if teammates die.
  • Anti-Lag Wall Breaking: Optimized SmartBreakWallAction by reducing the volume limit to 50k blocks and increasing processing speed to 500 blocks/tick to eliminate TPS drops.
  • Isolated MythicMobs Architecture: Refactored all actions to route MythicMobs calls through a centralized Hook. This prevents NoClassDefFoundError crashes on servers without the plugin.
  • Safe Spawn Algorithm: Refined findSafeSpawn() to scan both upwards and downwards to properly snap monsters to the floor and prevent ceiling suffocation.
1.5.7Релиз26.1, 26.1.1, 26.1.2 · 30 апреля 2026 г.

🚀 SinceDungeon v1.5.7: The Rogue-like, Optimization & Security Update

This massive release focuses on heavily optimizing the core systems, introducing rogue-like mechanics, patching critical gameplay vulnerabilities, and completely de-hardcoding internal messages to support full localization.

✨ Features & Gameplay

  • Interactive Leaderboard GUI: Introduced a fully Async Database querying system to render leaderboards without lag spikes. Added the /dungeon top <map> command to switch between Fastest Clears, Most Kills, and Most Clears.
  • Added Spectator Mode: Party members who run out of lives can now stay and spectate their teammates instead of being kicked. The dungeon only fails if the entire party is wiped out. (Configurable via out-of-lives-action: "SPECTATE" in config.yml).
  • Added Admin Spectate: Admins can now silently teleport into active dungeons to supervise players and catch hackers using /dungeon spectate <player>.
  • [NEW] Action - Control The Zone: Added a "King of the Hill" objective. Players must hold a specific zone for a set amount of time. Supports shrinking/expanding radius, requiring 75% party presence, and spawning interference mobs.
  • [NEW] Action - Unlock Door & Find Key: Added a new action where players must locate a custom Key to unlock a specified door (trigger block). Includes a dynamic Tracking Compass to guide players to the key.
  • [NEW] Action Time Limits & Penalties: You can now set time_limit and time_penalty for any action. Failing to complete the action in time deducts lives and restarts the stage.
  • [NEW] Rogue-like Randomization: Added randomize-stages setting to shuffle middle stages, making every dungeon run feel unique while preserving the first and last stages (Boss rooms).
  • [NEW] Percent Chance Stages: Stages can now have a spawn chance (1-100%), allowing for rare secret treasure rooms or random traps.
  • [NEW] Dynamic Party Scaling: Added a scale_with_party toggle to all mob-spawning actions to multiply enemy counts based on the active party size.
  • [NEW] Mixed Mob Waves: The Random Wave action now allows spawning a weighted mixture of Vanilla and MythicMobs within the exact same wave.

🛡️ Security & Exploit Fixes

  • Critical Inventory Exploit Patched: Completely rewrote the PlayerState snapshot logic in DungeonGame.java. The system now performs a deep-clone of the player's entire inventory (main inventory, armor, offhand) and EXP levels before entry. This prevents players from bypassing the keep-inventory-on-death: false rule or smuggling OP items into dungeons to farm.
  • Cross-Server Memory Leak Fixed: Resolved a severe vulnerability where Party Leaders disconnecting during the BungeeCord/Redis transfer window would leave a "ghost" dungeon node running in the RAM forever. The PlayerQuitEvent now triggers cancelPendingRequest to instantly abort orphaned network tasks.
  • Admin Spectate Bug Fix: Resolved a critical logic flaw where Admins using /dungeon spectate were incorrectly flagged as unauthorized intruders and kicked by the DungeonListener.

⚡ Performance & Optimizations

  • Action Bar TPS Drop Fixed: Stopped the plugin from repeatedly querying the YAML configuration 5 times per second during the runTick() loop. Objective HUD strings are now cached natively inside the DungeonGame constructor, eliminating unnecessary I/O overhead and significantly improving TPS.
  • Smart Garbage Collection: The RewardSessionManager now fetches its timeout limit dynamically from the configuration. Replaced rigid timers with thread-safe ConcurrentHashMap loops to prevent CME exceptions during rapid inventory clicks.
  • HikariCP Integration: Upgraded the database management system to use HikariCP connection pooling for both MySQL and SQLite. This drastically improves database performance, prevents connection leaks, and reduces query latency.

🛠️ Under The Hood & Refactoring

  • ItemBuilder Pattern: Completely refactored ItemCreator into a flexible, chainable ItemBuilder. Now natively uses PersistentDataContainer (NBT Tags) to securely track Custom Keys and Compasses (preventing rename exploits) and fully supports 1.21+ item components.
  • Massive Package Restructure: Completely reorganized the source code into a clean, modern Layered Architecture (commands/, managers/, listeners/, hooks/, models/, guis/, utils/).
  • Command System Overhaul: Migrated all commands out of the main class into separate, dedicated command classes for easier maintenance.
  • Editor GUI Optimization (MVC): Separated the Editor's visual rendering (EditorGUI) and click event listening (EditorMenuListener) into distinct classes.
  • Cleaned Up Registries: Extracted all default Action and Processor registrations into a standalone DefaultRegistry class to reduce bloat in the DungeonManager.

🌐 Localization & De-Hardcoding

  • 100% Locale Support: Relocated all remaining hardcoded console logs (Database initializations, API registrations, World cleanups) to messages.yml.
  • PAPI Integration Fixed: Removed hardcoded English outputs ("Full" and "Never") in PlaceholderAPI (%sincedungeon_lives_time_to_regen%). These can now be seamlessly translated in the language files.

⚠️ How to Update: Please completely regenerate or manually update your config.yml and messages_<lang>.yml files to access the newly added Spectator mode settings, Leaderboard configs, and new Item settings (Keys/Compasses).

1.5.6Релиз26.1, 26.1.1, 26.1.2 · 29 апреля 2026 г.

ChangeLog 1.5.5

Cross-Server (Multi-Node)

⚠️ IMPORTANT DISCLAIMER: EXPERIMENTAL FEATURE (v1.5.5+) ⚠️

Please be aware that the Cross-Server (Multi-Node) functionality is an untested and highly experimental feature introduced in version 1.5.5.

  • Proceed with Caution: Carefully evaluate and test this system on a private staging network before deploying it to a live production environment.
  • No Official Support: The author of this plugin has no practical experience in setting up, maintaining, or running this complex Redis/BungeeCord infrastructure. Consequently, official support, troubleshooting, or bug fixes for cross-server specific issues will be extremely limited or unavailable.

By enabling this feature, you acknowledge that you are using it entirely at your own risk.


ChangeLogs 1.5.6

🚀 SinceDungeon - The "Lives & Immortality" Update!

This major update introduces a highly requested Advanced Lives System, a completely overhauled 1.21+ compatible Item Creator, deep PlaceholderAPI integration, and a massive code cleanup to ensure 100% localization.

✨ Key Features & Additions

❤️ Advanced Lives System

  • Per-Player Tracking: Players now have a persistent "Lives" stat stored safely via SQLite/MySQL.
  • Offline/Online Regeneration: Lives automatically regenerate over time. Admins can customize the regeneration interval and amount globally or per-player.
  • Dungeon Integration: * Configure specific dungeons to require a minimum amount of lives to enter.
    • Configure how many lives are deducted upon dying inside specific dungeons.
    • Players are automatically kicked (and the run fails) if they run out of lives.

💎 Omnipotent Item Creator & "Soul Crystal"

  • Built a brand-new, extremely advanced ItemCreator engine.
  • Fully supports Minecraft 1.21+ Item Components including CustomModelDataComponent (Colors, Floats, Strings, Flags), ItemModel, TooltipStyle, MaxStackSize, Rarity, and Glider.
  • New Consumable Item: Added the Life Item (Soul Crystal). Players can right-click this highly customizable item to restore their lives.
  • VFX/SFX: Fully configurable sound and particle effects trigger upon consuming the item.

📊 PlaceholderAPI Integration

Added live-updating placeholders for menus and scoreboards:

  • %sincedungeon_lives% - Current lives.
  • %sincedungeon_max_lives% - Maximum lives capacity.
  • %sincedungeon_lives_regen_amount% - Amount of lives restored per cycle.
  • %sincedungeon_lives_regen_interval% - Seconds between regen cycles.
  • %sincedungeon_lives_time_to_regen% - Dynamic timer (e.g., 12:45) showing time until the next life is granted.

🛠️ New Commands

  • Admin Commands: * /sincedungeon lives <target> <add|set|addmax|setregenamount|setregeninterval|resetregen|check>
    • /sincedungeon givelifeitem <target> <amount>
  • Player Command: * /dungeon lives - Allows players to check their current lives and regen timer.

Wiki link: https://gitlab.com/sincerpg/SinceDungeon/-/wikis/home/Lives-&-Immortality-System

Комментарии

Загружаем…