RewardsCommand:
# [console]
# [player]
# [op]
----------, Jul 23, 2025


  • Removed the item, economy, and point requirements for creating instances. [These can be configured through other plugins or menu plugins]

  • Removed the reward system for instance completion. [Rewards can be distributed by MythicMobs upon the final trigger kill that clears the instance]

  • Removed complex instance progression node logic. [This can also be achieved using MythicMobs]
----------, Jul 20, 2025

Fiexd completion
----------, Jul 13, 2025

  • Fixed a bug in the ReachArea completion condition related to world name detection: The original ReachArea condition had a hardcoded world name check, which caused it to fail in temporary instance copies.
  • Reason: Each instance copy has its own unique, temporary world name (e.g., dungeon_example_abc123_1703123456), whereas the world name in the configuration file is static (e.g., world).
  • Fix: The dependency on the world name has been removed. The condition now only checks the player's relative coordinates within the current instance.
  • Impact: The ReachArea condition now functions correctly across all temporary instance copies.
Functional Improvements
  • Optimized ReachArea Detection Mechanism
    • Configuration Format Update: The format has been changed from a single location string like location: "world,100,64,100" to a more structured coordinate configuration:
      YAML
      reachArea:
      x: 5 # Target X coordinate
      y: 5 # Target Y coordinate
      z: 5 # Target Z coordinate
      range: 10 # Detection range


      • Detection Method Improvement: The detection method has been changed from a circular radius check to a cubic (box-shaped) area check, which is more intuitive and easier to understand.
      • Range Setting: A new range parameter has been added to define the cubic detection area centered around the target coordinates.
Code Optimization
    • Refactored the ReachAreaCondition class constructor to accept coordinate parameters directly, rather than a Location object.
    • The detection logic is now deltaX <= range && deltaY <= range && deltaZ <= range.
    • Removed the world name comparison to ensure it works correctly in any instance copy.
    • Updated the CompletionManager loading logic to read the x, y, z, and range parameters from the configuration file.
    • Removed the dependency on LocationUtil.stringToLocation().
    • Optimized the GUI management interface (TemplateCompletionEditGUI) to save coordinates instead of a location string.
    • Updated the logic for reading and displaying configurations.
Configuration File Updates
    • The sample template configuration file has been updated to include examples of the new ReachArea configuration format.
    • Detailed configuration instructions and comments have been provided.
    • Backward Compatibility: The new format is designed to be backward compatible.
    • The new configuration format is more concise and intuitive.
    • Administrators no longer need to manage world names and only need to set the coordinates and range.
Technical Features
    • World-Agnostic: The ReachArea condition is no longer dependent on specific world names.
    • Universal Compatibility: It is suitable for all temporary instance copies.
    • Simplified Configuration: Configuration for administrators is now simpler and more intuitive.
    • Performance Optimization: The logic now uses simple coordinate comparisons, eliminating the need for complex distance calculations.
----------, Jun 23, 2025

Fixed a large number of bugs, primarily related to dungeon world creation and the custom monster kill count condition for completion.
----------, Jun 23, 2025

Support 1.21.6
----------, Jun 20, 2025

Fiexd cmd
----------, Jun 19, 2025

Change default-timeout 600s
----------, Jun 6, 2025

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.
----------, Jun 5, 2025

Support Bukkit
----------, Jun 5, 2025

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: 962
First Release: May 17, 2025
Last Update: Jul 23, 2025
Category: ---------------
All-Time Rating:
3 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings