DungLe'Master

Quick rating

DungLe'Master

No reviews yet

A powerful RPG expansion featuring custom mob levels, player progression, and dynamic dungeons — all highly configurable.

QoL & Tweaks
Mod Loaders
Forge
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

About

Project Details

Type
Mod
Latest Version
dungLe'master-1.0.0.jar
Authors

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.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

CurseForge ID

Resources

External Links

Source Issues Wiki Discord

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

This project has no gallery images yet.

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

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Downloads
Last Updated
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works