Conversation
* **Core Systems Override:** Replaced the legacy World-Cloning system with a new `SchematicInstanceProvider`. Dungeons now load instantly by pasting `.schem` files via FAWE instead of copying entire OS folders. * **Void Generator Implementation:** The plugin now dynamically spawns pure, 100% empty void worlds as the blank canvas for schematic pasting, drastically saving memory and storage space. * **Asynchronous Integration:** Designed strict logic flows where Bukkit World generation runs sequentially on the main thread, while the heavy block calculations are securely pushed to asynchronous threads using `CompletableFuture`. * **Dynamic Configuration:** Server owners can toggle between `WORLD` and `SCHEMATIC` modes directly in `config.yml`. The plugin auto-detects dependencies and falls back safely if WorldEdit/FAWE is uninstalled. * **Code Optimization & Translation Checks:** Moved all hardcoded texts directly to `messages.yml` and corrected all implicit class definitions to properly formatted top-level imports.
- Added shared schematic-world instancing for Premium schematic mode. - Dungeon runs now paste schematics into isolated regions inside one reusable void world. - Core and Premium actions now resolve YAML coordinates through the dungeon instance origin, so the same schematic coordinates work in every allocated region. - Respawn/checkpoint handling is now stored per dungeon game instead of using the global world spawn. - Mob deaths, MythicMobs spawns, target events, and teleports are routed by instance region to support multiple active runs in one world. ## Fixed - Reduced repeated world creation/deletion by clearing only the finished schematic region. - Removed spawned entities from a region before it is recycled. - Moved new shared-world settings and log text into Premium config/message files.
- Added Premium shared schematic instancing: dungeon runs are pasted into isolated regions inside one shared world. - Added `NPC_INTERACTION` Premium action with `TALK`, `GUIDE`, `GIVE_ITEM`, and `TELEPORT` modes. - Added in-game action notification toggles, so admins no longer need to edit notification fields manually. ## Changed - Core keeps the default world-per-dungeon behavior unless Premium switches the instance provider to schematic mode. - Premium schematic shared-world defaults now use `SDPremium_Schematic`, avoiding Core cleanup rules for generated dungeon worlds. - New NPC defaults, sounds, particles, and log messages are configurable from Premium config/message files. - Editor help text no longer tells admins to edit dungeon files for normal action setup. ## Fixed - Entity right-click interactions are now forwarded to active dungeon actions. - Schematic-based actions resolve their configured coordinates into the assigned shared-world region. - Shared schematic regions are released without unloading the shared world.
…ystem. - Unregister all Premium actions/processors/item providers from Core to prevent classloader leaks. - Properly cancel the hologram updater task. - PAPI expansions are tracked/unregistered, and the top cache task is canceled. - Move webhook async to Bukkit scheduler and add a timeout; do not use the common pool. - Remove CompletableFuture common pool from World/template loading and switch to Bukkit async scheduler. - Cleanup template locks to re-enable autosave and clear cache. - Force shutdown cleanup action first, then release the instance immediately, avoiding delayed tasks being lost when the server/plugin is disabled. - Schematic provider cleanup clear region indexes and shared world reference.
…ystem. - Unregister all Premium actions/processors/item providers from Core to prevent classloader leaks. - Properly cancel the hologram updater task. - PAPI expansions are tracked/unregistered, and the top cache task is canceled. - Move webhook async to Bukkit scheduler and add a timeout; do not use the common pool. - Remove CompletableFuture common pool from World/template loading and switch to Bukkit async scheduler. - Cleanup template locks to re-enable autosave and clear cache. - Force shutdown cleanup action first, then release the instance immediately, avoiding delayed tasks being lost when the server/plugin is disabled. - Schematic provider cleanup clear region indexes and shared world reference.
…during plugin enable. - Moved database, cooldown, lives, and template startup loading to a safe async startup flow. - Added startup readiness checks before dungeon joining. - Improved Redis startup/shutdown handling and moved Redis timing/pool values to config.yml. - Added bundled SQLite and MySQL JDBC drivers for reliable database startup. - Cleaned full class-path usage in Premium language injection imports.
…during plugin enable. - Moved database, cooldown, lives, and template startup loading to a safe async startup flow. - Added startup readiness checks before dungeon joining. - Improved Redis startup/shutdown handling and moved Redis timing/pool values to config.yml. - Added bundled SQLite and MySQL JDBC drivers for reliable database startup. - Cleaned full class-path usage in Premium language injection imports.
…during plugin enable. - Moved database, cooldown, lives, and template startup loading to a safe async startup flow. - Added startup readiness checks before dungeon joining. - Improved Redis startup/shutdown handling and moved Redis timing/pool values to config.yml. - Added bundled SQLite and MySQL JDBC drivers for reliable database startup. - Cleaned full class-path usage in Premium language injection imports.
- Added cross-platform scheduler handling for Paper and Folia runtime execution. - Added Folia plugin metadata support for Core and Premium modules. - Replaced direct Bukkit scheduler usage with Folia-aware global, async, region, and entity scheduling. - Moved dungeon tick execution onto the instance region scheduler where world actions are processed. - Updated delayed stage transitions, wall breaking, door unlocking, roulette animation, affix explosions, hologram updates, Redis callbacks, database tasks, and GUI callbacks to use safe scheduler paths. - Replaced synchronous cleanup teleports with async teleport handling to reduce Folia region-thread violations. - Preserved Paper behavior through Bukkit scheduler fallback when the server is not Folia. - Added task cancellation wrappers to prevent repeating task leaks during reloads, dungeon stops, and GUI cleanup.
- Added cross-platform scheduler handling for Paper and Folia runtime execution. - Added Folia plugin metadata support for Core and Premium modules. - Replaced direct Bukkit scheduler usage with Folia-aware global, async, region, and entity scheduling. - Moved dungeon tick execution onto the instance region scheduler where world actions are processed. - Updated delayed stage transitions, wall breaking, door unlocking, roulette animation, affix explosions, hologram updates, Redis callbacks, database tasks, and GUI callbacks to use safe scheduler paths. - Replaced synchronous cleanup teleports with async teleport handling to reduce Folia region-thread violations. - Preserved Paper behavior through Bukkit scheduler fallback when the server is not Folia. - Added task cancellation wrappers to prevent repeating task leaks during reloads, dungeon stops, and GUI cleanup. - Added Folia-safe global scheduler world creation and unloading. - Added configurable dungeon start locations with world/provider spawn fallback. - Added start location editor controls and localized EN/VI/ZH messages. - Moved dungeon world defaults and unload timing values into config files. - Improved instance cleanup, Redis shutdown handling, and async task lifecycle safety. - Replaced deprecated Bukkit/Paper API calls with compatibility helpers. - Added warning-enabled Java compilation and fixed source-level warnings.
- Added configurable dungeon start locations with world/provider spawn fallback. - Added start location editor controls and localized EN/VI/ZH messages. - Moved dungeon world defaults and unload timing values into config files. - Improved instance cleanup, Redis shutdown handling, and async task lifecycle safety. - Replaced deprecated Bukkit/Paper API calls with compatibility helpers. - Added warning-enabled Java compilation and fixed source-level warnings.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.