DungLe'Master
No reviews yet
A powerful RPG expansion featuring custom mob levels, player progression, and dynamic dungeons — all highly configurable.
Includes quality of life improvements and small tweaks to enhance and customize gameplay.
Forge is a popular mod loader for versions 1.1+ of Minecraft.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
Description
# DungLe'Master Mod — Full Documentation
**Minecraft Forge 1.20.1 | ModID: `dungeonmaster`**
DungeonMaster is a server-side RPG framework for Minecraft that transforms the survival experience into a full dungeon-crawl RPG. Players level up, allocate stats, fight scaled enemies, and earn dynamically generated loot — no two items are alike.
---
## Table of Contents
1. [Core Systems Overview](#1-core-systems-overview)
2. [Player Levels & Stats](#2-player-levels--stats)
3. [Skill Progression Menu](#3-skill-progression-menu)
4. [Mob Level Scaling](#4-mob-level-scaling)
5. [XP & Kill Rewards](#5-xp--kill-rewards)
6. [Buff System](#6-buff-system)
7. [Dynamic Loot System](#7-dynamic-loot-system)
8. [Item Requirements & Auto-Unequip](#8-item-requirements--auto-unequip)
9. [Dungeon Rewards (/dungeon reward)](#9-dungeon-rewards-dungeon-reward)
10. [Operator Commands (Full Reference)](#10-operator-commands-full-reference)
11. [Player Commands (Full Reference)](#11-player-commands-full-reference)
12. [GUI Screens Reference](#12-gui-screens-reference)
13. [Config Files](#13-config-files)
14. [Installation & Requirements](#14-installation--requirements)
---
## 1. Core Systems Overview
DungeonMaster adds the following interconnected systems:
| System | Description |
|---|---|
| Player Levels | Players earn XP from kills, level up, gain skill points |
| Stat Allocation | Spend skill points on Strength / Agility / Intelligence |
| Attribute Bonuses | Each stat point grants configurable attribute bonuses (damage, HP, speed, etc.) |
| Mob Scaling | Enemy level and stats scale to nearby players |
| Dynamic Loot | Every reward item is uniquely generated with level, rarity, requirements, and random bonuses |
| Buff System | Operators define persistent buffs (attribute bonuses) that can be assigned to players |
| Dungeon Rewards | After a dungeon run, players receive XP, gold, and dynamically generated items |
All operator settings (stat bonuses, buffs, loot config) are applied only after **`/dungeon restart`** — changes never take effect mid-session automatically.
---
## 2. Player Levels & Stats
### How Leveling Works
- Players start at **Level 1** with 0 XP.
- XP is earned by killing monsters (see [XP & Kill Rewards](#5-xp--kill-rewards)).
- XP required to level up: `100 + (currentLevel - 1) × 25`
- Level 1 → 2: 100 XP
- Level 10 → 11: 325 XP
- Level 50 → 51: 1325 XP
- On level-up, the player gains **1 Skill Point**.
- Level and XP persist through death and reconnect.
### Stats
Each player has three core stats:
| Stat | Key | Default |
|---|---|---|
| Strength | `strength` | 0 |
| Agility | `agility` | 0 |
| Intelligence | `intelligence` | 0 |
Stats are increased by spending Skill Points via the [Progression Menu](#3-skill-progression-menu).
Each stat point provides configurable attribute bonuses — configured by the operator via **`/dungeon stateedit`**.
### Data Persistence
Player data is stored via Forge Capabilities (attached to the `Player` entity) and serialized to NBT. It is correctly copied on death (`PlayerEvent.Clone`) and re-synced on respawn and login.
---
## 3. Skill Progression Menu
The progression menu opens automatically when you press **ESC** in-game (replaces the vanilla pause menu). It is also accessible from the Dungeon Main Menu.
### What It Shows
- Current level and XP bar (current / needed to next level)
- Available Skill Points
- Current values of Strength, Agility, Intelligence
- **"+"** buttons to spend a Skill Point on a stat
### Notes
- Each "+" click spends 1 Skill Point and increases the stat by 1.
- Attribute bonuses (e.g., Strength → +attack damage) apply immediately after spending.
- If you have 0 Skill Points, the "+" buttons are greyed out.
---
## 4. Mob Level Scaling
### Level Calculation
When a hostile monster spawns, its level is calculated from nearby players:
```
averageLevel = average level of all players within 30 blocks
mobLevel = averageLevel ± random(0..3) (minimum: 1)
```
If no players are nearby, the mob spawns at level 1.
### Stat Scaling
The mob's attributes (max HP, attack damage, armor, etc.) are scaled up based on its level using the operator-configured **Mob Scaling Config** (`/dungeon stateedit` → Mobs tab or `dungeonmaster_scaling.json`).
Example: if attack damage is configured for +0.5 per level, a level 20 mob gets +9.5 attack damage on top of its base value.
### Level Visibility
Mob levels are **not permanently shown** above their heads. They appear only when **you personally** are within **5 blocks** of the mob:
- Within 5 blocks: `[Lv. 25] Zombie` appears above the mob
- Beyond 5 blocks: name is hidden (same as vanilla unnamed mob)
This is rendered per-player on the client — other players nearby may or may not see the level depending on their own distance.
---
## 5. XP & Kill Rewards
When a player kills a monster, they receive XP based on the level difference formula configured in `dungeonmaster_xp.json`:
```
xp = baseXP + levelDiffBonus × (mobLevel - playerLevel)
(clamped to a minimum of minXP)
```
- Killing enemies far below your level yields minimal XP (anti-farm protection).
- Killing enemies at or above your level gives full or bonus XP.
- On XP gain, a chat message appears: `+ N опыта / + N XP`
- On level-up: `✦ New level! You are now level N. Skill points available: M`
XP formula parameters are configurable via the `dungeonmaster_xp.json` config file (see [Config Files](#13-config-files)).
---
## 6. Buff System
Buffs are named sets of attribute bonuses that operators create and assign to players. They are separate from stat bonuses — a buff is more like a "class perk" or "equipment set bonus."
### Creating Buffs
Use **`/dungeon editbuff`** to open the Buff Editor GUI:
- Create a named buff (e.g., "Warrior", "Mage")
- Add attribute entries: choose an attribute from the Forge registry, set a value, choose FLAT (add) or PERCENT (multiply)
- Save the buff — it is stored in `dungeonmaster_buffs.json`
- Changes apply after **`/dungeon restart`**
### Assigning Buffs
```
/dungeon buff <player> <buffName>
```
This assigns the named buff to the player. The player receives all attribute modifiers defined in the buff immediately (via transient AttributeModifier, removed on logout or buff change).
### Removing Buffs
```
/dungeon removebuff <player>
```
Removes the current buff from the player.
### Buff Storage
Buff assignments are stored in the player's capability NBT and persist through death/reconnect.
---
## 7. Dynamic Loot System
Every item generated by the dungeon reward system is **unique**. Two identical iron swords can have completely different stats. Items are generated at the moment of the reward, based on the player's current level and stats.
### Item Generation Process
1. **Base item** is chosen randomly from the configured item pool (swords, axes, bows, helmets, etc.)
2. **Item Level** = `playerLevel ± itemLevelVariance` (default variance: ±3)
3. **Requirements** are generated from the player's current stats ± variance:
- Required Level ≈ item level
- Required Strength = player STR ± requirementVariance
- Required Agility = player AGI ± requirementVariance
- Required Intelligence = player INT ± requirementVariance
4. **Rarity** is chosen via weighted random from the 7 tiers (see below)
5. **Bonuses** are rolled from the attribute pool for the item's **category** (Weapon or Armor)
6. All data is written to the `ItemStack` NBT under the `DungeonMasterItem` tag
### Rarity Tiers
| Rarity | Color | Default Weight | Bonus Count |
|---|---|---|---|
| Common | Gray `#808080` | 100 | 1 |
| Uncommon | Turquoise `#40E0D0` | 60 | 1–2 |
| Rare | Blue `#1E90FF` | 30 | 2–3 |
| Super Rare | Purple `#8A2BE2` | 15 | 3–4 |
| Epic | Pink `#FF1493` | 7 | 4–5 |
| Mythic | Orange `#FF8C00` | 3 | 5–6 |
| Legendary | Gold `#FFD700` | 1 | 6–8 |
All weights and bonus counts are fully configurable via `/dungeon lootedit`.
### Item Categories
Items are sorted into categories. Each category has its own attribute pool:
- **Weapon** (swords, axes, bows, crossbows, tridents): attack damage, attack speed, luck
- **Armor** (helmets, chestplates, leggings, boots): max HP, armor, movement speed, knockback resistance
Operators can create additional custom categories (e.g., Accessories, Artifacts, Shields) and assign their own attribute pools via `/dungeon lootedit`.
### Level Scaling
Bonus values scale with item level:
```
finalValue = baseValue × (1.0 + (itemLevel - 1) × valuePerItemLevel)
```
Default `valuePerItemLevel` = 0.08 (8% stronger per level above 1).
### Tooltip Display
When hovering over a generated item, the tooltip shows:
```
[Epic] Item Level: 22
Requirements: Lv. 12 5 Str. 3 Agi. 1 Int.
• +4.8 attack_damage (FLAT)
• +12% movement_speed (PERCENT)
• +2.1 attack_speed (FLAT)
```
---
## 8. Item Requirements & Auto-Unequip
Every generated item has **4 mandatory requirements** that are always displayed:
```
Requirements: Lv. 12 5 Str. 2 Agi. 1 Int.
```
(Values of 0 are shown too — all four always appear.)
### Requirement Checking
Every 10 ticks (0.5 seconds), the server checks all equipment slots (main hand, off hand, head, chest, legs, feet) for each player.
If a player **does not meet** the requirements of an equipped item:
1. The item is automatically **unequipped** (returned to inventory, or dropped on the ground if inventory is full)
2. The player receives a chat message explaining why:
- `Insufficient level. Required: 12 Current: 8`
- `Insufficient Strength. Required: 5 Current: 3`
- `Insufficient Agility. Required: 4 Current: 1`
- `Insufficient Intelligence. Required: 3 Current: 0`
3. The message only appears when the **reason changes** — no chat spam if the player keeps trying to put it back on.
### Attribute Modifiers
When requirements ARE met, the item's bonuses are applied as transient `AttributeModifier` entries on the player. They are removed automatically when the item is unequipped or requirements fail.
---
## 9. Dungeon Rewards (`/dungeon reward`)
After completing a dungeon, the operator runs:
```
/dungeon reward <player>
```
This triggers the reward sequence:
1. **XP** is calculated: `baseXP + xpPerPlayerLevel × playerLevel`
2. **Gold** is given: `baseGold + goldPerPlayerLevel × playerLevel` units of the configured gold item (default: emeralds)
3. **Items** are generated: between `minItems` and `maxItems` unique items
4. All rewards are placed in the player's inventory (or dropped at their feet if full)
5. A **Reward Screen** opens showing:
- XP gained (with level-up indicator if applicable)
- Gold amount and icon
- Each generated item with its icon, rarity color, and subtitle: `Rarity · Lv. N · Bonuses: M`
All reward parameters are configurable via `/dungeon lootedit` → Rewards tab.
---
## 10. Operator Commands (Full Reference)
All operator commands require **permission level 2** (OP).
---
### `/dungeon restart`
Reloads all mod configs from disk and reapplies everything.
**Use this after any change** made via the editor GUIs (`stateedit`, `editbuff`, `lootedit`).
```
/dungeon restart
```
Output: `[DungeonMaster] Configs reloaded. Mob scaling, stat bonuses, buff data, and loot config updated.`
---
### `/dungeon stateedit`
Opens the **Stat Bonus Editor** GUI (operator only).
```
/dungeon stateedit
```
This GUI lets you configure:
**Player Stats tab:**
- Which Minecraft/Forge attribute each stat point improves
- The value per point (flat number or % — toggle with FLAT/PERCENT button)
- Example: Strength → `minecraft:generic.attack_damage` +0.5 FLAT per point
**Mob Scaling tab:**
- Same structure but for mob level scaling
- Example: `minecraft:generic.max_health` +2.0 FLAT per mob level above 1
Changes are saved to `dungeonmaster_scaling.json` and `dungeonmaster_stats.json`. Apply with `/dungeon restart`.
---
### `/dungeon editbuff`
Opens the **Buff Editor** GUI (operator only).
```
/dungeon editbuff
```
Tabs in the GUI:
- **My Buffs**: list of all defined buffs, click to edit
- **Edit Buff**: name field, list of attribute entries (attribute selector, value, FLAT/PERCENT toggle), Save/Delete buttons
- **Add Buff**: create a new named buff
Changes are saved to `dungeonmaster_buffs.json`. Apply with `/dungeon restart`.
---
### `/dungeon buff`
Assigns a buff to a player.
```
/dungeon buff <player> <buffName>
```
- `<player>`: player name (must be online)
- `<buffName>`: exact name of a defined buff (case-sensitive)
Example:
```
/dungeon buff Steve Warrior
```
---
### `/dungeon removebuff`
Removes the current buff from a player.
```
/dungeon removebuff <player>
```
---
### `/dungeon lootedit`
Opens the **Loot & Reward Editor** GUI (operator only).
```
/dungeon lootedit
```
Three tabs:
**Rarities tab:**
- For each of the 7 rarities: Weight, Color (hex #RRGGBB), Min Bonuses, Max Bonuses
**Attributes tab:**
- Select the active item category using the `<` / `>` arrows (or `+` to add a new category, `x` to delete custom ones)
- Edit the category name
- Up to 10 attribute rows per category: attribute selector (click to cycle), min/max value range, mode (FLAT / PERCENT / BOTH)
- "BOTH" means the mode is chosen randomly per item at generation time
**Rewards tab:**
- Base XP, XP per player level
- Base gold, gold per player level
- Gold item ID (e.g., `minecraft:emerald`)
- Min/max items per reward
- Item level variance (±)
- Requirement variance (±)
- Value scale per item level (e.g., `0.08` = 8% stronger per level)
Changes are saved to `dungeonmaster_loot.json`. Apply with `/dungeon restart`.
---
### `/dungeon reward`
Gives a player the full dungeon completion reward.
```
/dungeon reward <player>
```
Triggers XP, gold, and item generation. Opens the Reward Screen for the player.
---
## 11. Player Commands (Full Reference)
Players (no OP required) have access to:
### `/dungeon` (Main Menu)
Opening the main menu also happens automatically on ESC. From the menu:
- View your level and XP
- Open the Progression screen to spend Skill Points
- View your current buff (if any)
No direct chat command for individual features — everything is GUI-driven.
---
## 12. GUI Screens Reference
| Screen | How to Open | Who |
|---|---|---|
| Main Menu (DungeonMaster) | ESC in-game | Everyone |
| Progression / Stat Allocation | From Main Menu → "Прокачка" button | Everyone |
| Custom Inventory | Press E (in survival) | Everyone |
| Buff Editor | `/dungeon editbuff` | Operator |
| Stat Bonus Editor | `/dungeon stateedit` | Operator |
| Loot & Reward Editor | `/dungeon lootedit` | Operator |
| Reward Screen | Triggered by `/dungeon reward` | Everyone (auto-opens) |
---
## 13. Config Files
All config files are stored in the **`config/`** folder of your Minecraft server/client:
| File | Contents |
|---|---|
| `dungeonmaster_stats.json` | Stat bonus entries (STR/AGI/INT → attribute mappings for players) |
| `dungeonmaster_scaling.json` | Mob attribute scaling per level |
| `dungeonmaster_buffs.json` | All defined buffs and their attribute entries |
| `dungeonmaster_loot.json` | Rarity weights, attribute pools per category, reward parameters |
| `dungeonmaster_xp.json` | XP formula parameters (base XP, level-diff bonuses, minimum XP) |
All files are created with sane defaults on first launch. Edit them manually or via the in-game GUIs, then run `/dungeon restart`.
### Example: `dungeonmaster_loot.json` (partial)
```json
{
"rarities": {
"COMMON": { "weight": 100, "color": 8421504, "minBonuses": 1, "maxBonuses": 1 },
"LEGENDARY": { "weight": 1, "color": 16766720, "minBonuses": 6, "maxBonuses": 8 }
},
"categories": [
{
"id": "weapon",
"displayName": "Weapon",
"attributes": [
{ "attribute": "minecraft:generic.attack_damage", "minValue": 1.0, "maxValue": 8.0, "mode": "FLAT" },
{ "attribute": "minecraft:generic.attack_speed", "minValue": 2.0, "maxValue": 15.0, "mode": "BOTH" }
]
},
{
"id": "armor",
"displayName": "Armor",
"attributes": [
{ "attribute": "minecraft:generic.max_health", "minValue": 2.0, "maxValue": 12.0, "mode": "FLAT" },
{ "attribute": "minecraft:generic.armor", "minValue": 1.0, "maxValue": 6.0, "mode": "FLAT" }
]
}
],
"baseXp": 50,
"xpPerPlayerLevel": 5,
"baseGold": 10,
"goldPerPlayerLevel": 2,
"goldItem": "minecraft:emerald",
"minItems": 1,
"maxItems": 3,
"itemLevelVariance": 3,
"requirementVariance": 5,
"valuePerItemLevel": 0.08
}
```
---
## 14. Installation & Requirements
**Requirements:**
- Minecraft 1.20.1
- Forge 47.4.10 or higher
- Java 17+
**Installation:**
1. Install Minecraft Forge 1.20.1
2. Place `dungeonmaster-1.0.0.jar` into the `mods/` folder
3. Launch the server/client once to generate default config files
4. Configure via in-game GUIs (operator) or edit config files directly
5. Run `/dungeon restart` to apply any changes
**Server vs. Client:**
- The mod must be installed on **both server and client** (it uses custom networking packets and GUI screens)
- All game logic (leveling, scaling, loot generation) runs on the server
- GUI rendering and name-tag display run on the client
---
*DungeonMaster — built with Minecraft Forge 1.20.1 | Package: `com.lemxy.dungeonmaster`* U can find the guide on my discord server!
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources