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
Code (Text):
[condition] command_here
, the plugin will strictly execute them only if the condition is met.
Example:
Code (Text):
[%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
Code (Text):
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
Code (Text):
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 (
,
,
Code (Text):
/sincedungeon
) are no longer hardcoded. Server admins can fully rename them and assign multiple custom aliases via
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
,
,
, or
.
✨ Improvements & Refactoring
- Smart Tab-Completions: Rewrote the Brigadier command trees across all player and admin commands. Arguments such as
,
, and
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
Code (Text):
%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 (
Code (Text):
/sd cooldown [check|reduce|reset|resetall]
) and instantly wipe map leaderboards via
Code (Text):
/sd top reset <map>
.
- Zero-Hardcode Compliance: Extracted all remaining hardcoded GUI titles, action descriptions, default names, and chat messages into
Code (Text):
messages_en.yml
and
Code (Text):
messages_vi.yml
.
- Safe Plugin Hooks: Hardened the
Code (Text):
MythicMobsHook
and
Code (Text):
MMOItemsHook
by centralizing imports, preventing
Code (Text):
NoClassDefFoundError
crashes when the target plugins are not installed on the server.
Bug Fixes
- Control Zone Timing Flaw (Critical): Fixed an issue where the
Code (Text):
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
Code (Text):
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
Code (Text):
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
Code (Text):
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
and
Code (Text):
messages_[lang].yml
to apply the new updates!