[1.20-1.21.5]SagaDungeons | Provides the framework for epic adventures! icon

[1.20-1.21.5]SagaDungeons | Provides the framework for epic adventures! -----

SagaDungeons is a feature-rich Minecraft dungeon plugin




Version 1.2.0.91 (June 5, 2025)

Performance Optimizations

  • Optimized asynchronous processing for creating dungeon worlds.
    • Moved the world creation operation (WorldCreator.createWorld()) from the main thread to an asynchronous thread.

    • Implemented a complete asynchronous flow: file copying → world creation → switching back to the main thread to set properties.
  • Significantly reduced main thread blocking time, resulting in a noticeable performance improvement, especially on Bukkit/Spigot servers.

  • Maintained thread safety; world property settings continue to be handled on the main thread.
Code Optimizations

  • Refactored the execution flow of the WorldManager.createDungeonWorld() method.

  • Ensured that world creation is now handled by a single, asynchronous process throughout the project.

  • Improved the exception handling mechanism by adding dedicated error handling logic for world creation.

  • Retained the creation lock mechanism to prevent server overload from concurrent creation of dungeon worlds.

Support Bukkit

Version 1.2.0.71 (2025-06-05)

New Features

  • Implemented GUI multi-language system.

  • Created GUILanguageManager class, dedicated to managing multi-language support for GUI interfaces.

  • Added lang_gui.yml (Chinese) and lang_gui_en.yml (English) configuration files.

  • Modified AbstractGUI base class, adding multi-language support methods and helper tools.

  • Successfully refactored 9 main GUI classes to support automatic loading of corresponding language files based on the lang setting in config.yml.

  • Includes 200+ GUI text configurations, covering all interface elements.
Improvements

  • Optimized GUI text management system.

  • All hardcoded Chinese messages in GUI are now read from configuration files.

  • Supports dynamic placeholder replacement, such as template names, player names, etc.

  • Implemented a language file fallback mechanism to ensure system stability.

  • Added convenient helper methods to simplify multi-language implementation in GUI classes.
Version 1.2.0.66 (2025-06-05)

Bug Fixes

  • Fixed an issue where GUI editing functionality was not synchronized with template configuration files.

  • Resolved an issue where the configuration file was not updated after modifying creation condition toggles in the GUI.

  • Added a template reload mechanism after all GUI save operations to ensure synchronization between memory and configuration files.

  • Fixed an issue where old configurations were still used when creating dungeon instances; now uses the latest configuration file content.

  • Involved modifications to 13 files: 9 GUI classes and 4 command classes.
Technical Improvements

  • Added reloadTemplate() calls after all saveTemplate() calls to ensure data consistency.

  • Optimized the real-time synchronization mechanism for template configurations, improving the reliability of configuration changes.

  • Followed a unified method principle, applying the same reload logic in all relevant locations.
Version 1.2.0.30 (2025-06-05)

New Features

  • Implemented a system for player state restoration upon reconnection to a dungeon after being offline.

  • Resolved state inconsistency issues when players reconnected after being offline within a dungeon.

  • Added handlePlayerReconnection() method to handle dungeon state checks when players reconnect.

  • Implemented an intelligent state restoration mechanism: automatically detects if the player is in a dungeon world and restores their state accordingly.

  • Added orphaned player handling: players in invalid/expired dungeon worlds are automatically teleported to a safe location.
Improvements

  • Enhanced PlayerListener.onPlayerJoin() event handling.

  • Delayed player state check by 1 tick to ensure the player is fully loaded before performing the check.

  • Added handling logic for various reconnection scenarios: state restoration, permission verification, orphan cleanup.

  • Extended DungeonManager class functionality.
    • Added findDungeonByWorldName() method to find corresponding dungeon instances by world name.

    • Changed setPlayerGameMode() method to public to support game mode setting during state restoration.
  • Improved dungeon security system.
    • Automatically verifies player permissions upon reconnection; players without permission will be safely removed.

    • Supports various permission verifications, including public dungeons, private dungeons, creators, etc.
Message System Updates

  • Added reconnection-related message configurations in messages.yml:
    • dungeon.reconnect.restored: Message for successful player state restoration.

    • dungeon.reconnect.rejoined: Message for player rejoining a dungeon.

    • dungeon.reconnect.orphaned: Message for player being removed from an invalid/expired dungeon.
Bug Fixes

  • Fixed state inconsistency issues when players reconnected after being offline within a dungeon.

  • Fixed incorrect player game mode after reconnection.

  • Fixed issues where players lacked valid dungeon entry permissions after reconnection.

  • Fixed an issue where orphaned players could remain stuck in deleted dungeon worlds.
----------, Jun 4, 2025

Fixed messages.yml
----------, Jun 4, 2025

## Version 1.2.0.13 (2025-06-04)

### New Features

  • Implemented a custom kickback point feature.
    • Added the /sd admin setback command, allowing administrators to set the location where unauthorized players are sent back.

    • Created the SetBackCommand class to handle kickback point settings.

    • Enhanced DungeonSecurityManager to prioritize custom kickback points, including a safe location check.

    • Added the security.custom-kickback-location configuration option in config.yml.
## Version 1.1.0.99 (2025-06-04)

### New Features

  • Implemented a secure dungeon entry control system.
    • Added a command blacklist feature to prevent players from using unauthorized teleport commands within dungeons.

    • Implemented an authorization check mechanism, allowing dungeon entry only through legitimate project-defined methods.

    • Created the DungeonSecurityManager class to centralize the management of dungeon security features.
----------, Jun 4, 2025

New Features

  • Completed development of the GUI management system.

  • Implemented the EditCommand and TemplateEditMainGUI main interfaces.

  • Completed the basic information editing GUI (TemplateBasicEditGUI).

  • Completed the creation conditions editing GUI (TemplateConditionsEditGUI).

  • Completed the rewards system editing GUI (TemplateRewardsEditGUI).

  • Completed the completion conditions and spawner editing GUIs (TemplateCompletionEditGUI / TemplateSpawnersEditGUI).
Improvements

  • Implemented a complete chat input listening system.
    • Supports numeric, text, and decimal input validation.

    • Integrated AsyncPlayerChatEvent to ensure Bukkit compatibility.

    • Used BukkitScheduler to ensure thread safety.
  • Completed the configuration data reading system.
    • All GUI interfaces now display actual data from configuration files.

    • Supports real-time configuration reading and interface updates.
  • Implemented an advanced management interface system:
    • Item Reward Management GUI (ItemRewardManageGUI)

    • Command Reward Management GUI (CommandRewardManageGUI)

    • Time Reward Management GUI (TimeRewardManageGUI)

    • Item Condition Management GUI (ItemConditionManageGUI)

    • Composite Condition Management GUI (CompositeConditionManageGUI)
  • Completed the spawner management system:
    • Spawner editing feature (SpawnerEditGUI)

    • Spawner teleportation feature

    • Spawner addition feature (SpawnerAddGUI)
  • Implemented a location setting system:
    • Target area location setting feature.
----------, Jun 4, 2025

Fixed "/sd join"
----------, Jun 3, 2025

Fixed a msg bug
----------, Jun 3, 2025

大量积累更新
----------, Jun 3, 2025

Code (YAML):

# 游戏模式设置
forceGameMode
: true             # 是否强制游戏模式(默认:true)
gameMode
: "ADVENTURE"           # 强制的游戏模式(SURVIVAL、CREATIVE、ADVENTURE、SPECTATOR)
 
----------, Jun 3, 2025

Fixed respawn
----------, Jun 3, 2025

Fixed level clearance conditions
----------, Jun 3, 2025

Add bstats
----------, Jun 2, 2025

Add bstats
----------, Jun 2, 2025

Fixed level clearance conditions

----------, Jun 2, 2025

Time Rewards
----------, May 24, 2025

  1. 更新内容:
    • 修复了世界卸载和删除相关的问题
    • 优化了文件操作和世界加载过程
    • 添加了对Multiverse-Core插件的兼容处理
    • 添加了英文消息文件支持
    • 改进了副本世界生成和清理机制
----------, May 18, 2025

Add Language Setting (Options: zh, en)
----------, May 18, 2025

## 版本 1.0.9 (2025-05-17)

### 代码优化

- 优化了指令结构,将刷怪点管理指令从玩家指令移至管理员指令
- 创建了新的`SpawnerAdminCommand`类,用于管理副本刷怪点
- 修改了`AdminCommand`类,添加了对`SpawnerAdminCommand`的调用
- 更新了指令帮助信息,反映了新的指令结构
- 添加了`getCurrentDungeonId`方法到`DungeonManager`类,用于获取玩家当前所在副本ID

### 功能改进

- 改进了指令权限管理,确保只有管理员可以管理刷怪点
- 保持了与现有功能的兼容性,刷怪点管理功能不变,只是移动了指令位置

## 版本 1.0.8 (2025-05-17)

### 功能改进

- 优化了MythicMobs怪物生成机制
- 添加了`MobSpawnerManager`类,负责管理副本中的怪物生成
- 在`MythicMobsHook`类中添加了`spawnMob`方法,用于直接生成怪物
- 修改了`SpawnerCommand`类,使用新的方法生成怪物
- 在`DungeonManager`类中添加了代码,在创建副本世界成功后初始化刷怪点,并在删除副本时清理刷怪点

### 问题修复

- 修复了命令设置的副本MythicMobs怪物出生点会在MythicMobs插件目录生成持久化保存的出生点配置文件的问题
- 修复了玩家进入副本后怪物不刷新的问题,通过改进位置解析和延迟初始化刷怪点解决
- 修复了刷怪点位置错误保存临时副本世界名称(如"sd_001-fba")的问题,现在只保存坐标信息
- 修复了位置字符串包含模板名称(如"fba,x,y,z,yaw,pitch")导致无法正确解析的问题
- 改进了怪物生成逻辑,不再依赖持久化的刷怪点配置文件
- 优化了副本关闭时的怪物清理机制,确保不会留下残留实体
----------, May 17, 2025

## 版本 1.0.7 (2025-05-17)

### 新增功能

- 实现了副本触发系统
- 添加了 `DungeonTrigger` 接口,支持自定义触发器实现
- 实现了 `LevelJumpTrigger` 类,用于处理副本关卡跳转
- 添加了 `TriggerManager` 类,用于管理和执行触发器
- 支持触发器优先级和条件组合
- 优化了触发器执行逻辑,确保线程安全

### 功能改进

- 优化了副本关卡切换机制,使用触发器系统替代原有的直接跳转
- 改进了触发器条件检查逻辑,支持更复杂的条件组合
- 增强了触发器执行的可配置性,支持自定义执行顺序和优先级

### 配置示例

```yaml
triggers:
level_jump:
type: LEVEL_JUMP
priority: 1
conditions:
- type: MOB_KILL
count: 10
- type: REACH_AREA
location: "world,100,64,100"
radius: 3.0
actions:
- type: JUMP_TO_LEVEL
target_level: 2
```

## 版本 1.0.6 (2025-05-17)

### 新增功能

- 增强了副本通关条件系统
- 添加了条件组合模式(AND/OR)支持
- 实现了条件优先级系统
- 支持多级条件组合
- 优化了条件进度显示

### 功能改进

- 优化了通关条件的配置结构,支持更灵活的条件组合
- 改进了条件进度计算逻辑,为AND/OR模式提供不同的进度计算方式
- 增强了条件描述系统,提供更详细的进度信息

### 配置示例

```yaml
completion:
# 组合条件示例
composite:
type: AND # 或 OR
priority: 1
conditions:
condition1:
killCount:
count: 10
condition2:
reachArea:
location: "world,100,64,100"
radius: 3.0
```
----------, May 17, 2025

Resource Information
Author:
----------
Total Downloads: 215
First Release: May 17, 2025
Last Update: Yesterday at 4:55 PM
Category: ---------------
All-Time Rating:
2 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings