SagaDungeons is a feature-rich Minecraft dungeon plugin for
Paper 1.20.1 (Java 17), designed to allow server administrators and players to create, manage, and run instanced dungeon worlds. Create temporary, template-based副本 (dungeons) with integrated economy (Vault & PlayerPoints), custom mobs (MythicMobs), and dynamic placeholders (PlaceholderAPI).
Whether you want players to create their own private lairs or offer pre-defined server challenges, SagaDungeons provides the framework for epic adventures!
Fully Instanced: Each dungeon run is a separate world, ensuring no interference.
Highly Customizable: Define templates with unique mobs, timeouts, creation costs, and rewards.
Asynchronous Operations: Smooth world copying and management without lagging your server.
Dependency Integration: Works seamlessly with popular economy and mob plugins.
Player-Driven or Admin-Controlled: Allow players to create dungeons or reserve them for server events.
Comprehensive Configuration: Fine-tune every aspect of your dungeons.
Automatic Cleanup: Dungeons are temporary instances; server restarts automatically clean up all dungeon worlds and files, while player statistics are retained.
✨ Core Features
️ Dynamic World Management
Template System: Import and manage world templates from `plugins/SagaDungeons/templates/`.
Asynchronous World Copying: Uses Paper API for efficient, non-blocking world duplication.
Unique Naming Convention: Dungeons are named e.g., `sd_001-EvilLair` for easy identification.
Death Limits: Configure maximum deaths before a player is ejected.
Custom Revival Items: Allow players to use specific items to revive.
Configurable Respawn Points.
Item Serialization
Full ItemStack serialization/deserialization for item conditions, rewards, and revival items.
Dependencies
Paper 1.20.1+ (Compiled with Java 17)
Vault (Required for economy features)
PlayerPoints (Required for PlayerPoints features)
MythicMobs (Required for custom mob spawning)
PlaceholderAPI (Required for placeholder support)
⌨️ Commands Main alias: `/sd`
Code (Text):
/sd create <templateName> - Creates a new dungeon instance from a template.
/sd join <instanceID/ownerName> - Joins an existing dungeon.
/sd invite <playerName> - Invites a player to your current dungeon.
/sd kick <playerName> - Kicks a player from your dungeon (owner only).
/sd leave - Leaves your current dungeon.
/sd list - Lists available public dungeons or templates.
/sd public - Toggles your dungeon between public and private (owner only).
/sd setspawn <mobType> [groupName] - (In-dungeon) Sets a MythicMobs spawner at your location.
/sd removespawn <radius> - (In-dungeon) Removes nearby MythicMobs spawners.
Code (Text):
/sd admin create <templateName> [ownerName] - Force-creates a dungeon.
/sd admin delete <instanceID> - Deletes an active dungeon instance.
/sd admin tp <instanceID> - Teleports you to a dungeon instance.
/sd admin reload - Reloads the plugin's configuration files.
/sd admin setspawn ... - Admin version for setting spawners.
/sd admin removespawn ... - Admin version for removing spawners.
Permissions
`sagadungeons.user` - Basic access to player commands.
`sagadungeons.create.<templateName>` - Allows creating a dungeon from a specific template.
`sagadungeons.create.all` - Allows creating dungeons from any template.
`sagadungeons.join` - Allows joining dungeons.
`sagadungeons.admin` - Grants access to all admin commands and features.
`sagadungeons.command.setspawn` - Permission to use the setspawn command.
`sagadungeons.command.removespawn` - Permission to use the removespawn command.
(More specific permissions may be available for granular control)
Placeholders (PlaceholderAPI)
`%sd_world_name%` - Display name of the player's current dungeon.
`%sd_owner%` - Owner of the player's current dungeon.
`%sd_time_left%` - Time remaining in the player's current dungeon.
`%sd_player_count%` - Number of players in the player's current dungeon.
*... and more! Check `messages.yml` or use PAPI expansion features for a full list.*
`mythicMobsSpawners`: Pre-defined MythicMobs spawners for the template.
`completionConditions`: Define how the dungeon is cleared.
`rewards`: Define rewards upon completion.
`deathSettings`: Death limits, revival items, etc.
Note: All user messages are in `messages.yml` for easy translation. Debug messages are in `debugmessage.yml` and controlled by `debug: true/false` in `config.yml`.
Installation
Ensure you have a Paper 1.20.1+ server running Java 17.
Install all required dependencies: Vault, PlayerPoints, MythicMobs, PlaceholderAPI.
Download the latest `SagaDungeons.jar` file.
Place `SagaDungeons.jar` into your server's `plugins` folder.
Restart your server.
Configure the plugin via files in `plugins/SagaDungeons/`.
Set up your dungeon templates in `plugins/SagaDungeons/templates/`.
Future Plans
Dungeon Leaderboard System
Multi-Stage Dungeons
Adjustable Dungeon Difficulty
Custom Dungeon Event Triggers
Advanced Dungeon Statistics & Achievements
Timed Challenge Modes
GUI for Mob Spawner Editing
Thank you for considering SagaDungeons! We aim to provide a powerful and flexible dungeon system for your server.
Please report any bugs or suggest features on our
GitHub Issues Page (Replace with actual links if available)