Skip to main content

Modifying existing minidungeons

Based on popular request, this page goes over the basics of modifying existing Minidungeons. This is not a step-by-step guide, but a wider look at how the systems need to be modified. You will have to read the wiki pages on Custom Bosses and Custom Items in order to modify those values.

Prerequisites

Before modifying minidungeons, you should:

  • Have a basic understanding of YAML syntax and file formatting
  • Always back up your dungeon files before making modifications
  • Know that you need to restart your server or use /em reload after making changes

Dungeon File Structure

Minidungeons are composed of multiple file types across different folders:

  • content_packages/[package_file].yml - Main dungeon package configuration (the package file lives directly in content_packages, optionally inside a subfolder for organization)
  • custombosses/[dungeon_name]/ - Boss configuration files
  • customitems/[dungeon_name]/ - Custom item definitions
  • customtreasurechests/[dungeon_name]/ - Treasure chest configurations
  • npcs/[dungeon_name]/ - NPC definitions
  • The Minecraft world itself - the live world folder for open/world dungeons, or a copy placed in world_blueprints/[dungeonConfigFolderName]/ for instanced dungeons

When modifying a dungeon, you may need to edit files across multiple folders depending on what you want to change.

Understanding Minidungeon Components

Minidungeons consist of multiple interconnected components:

  • Dungeon package configuration - The main configuration file that controls dungeon-level settings like difficulty, party size, teleportation, and protection
  • Custom bosses - Individual boss configurations stored in the custombosses/ folder
  • Custom items - Loot and equipment definitions in the customitems/ folder
  • Treasure chests - Additional loot sources configured in customtreasurechests/ folder
  • NPCs - Non-player characters for quests or flavor
  • World files - The actual dungeon terrain and structures. Schematic dungeons were removed in EliteMobs 9.0; every dungeon is world-based

Modifying Dungeon Package Settings

Locating Dungeon Configuration Files

Minidungeons are configured through package files located in the content_packages/ folder. Each dungeon has a main configuration file (usually named after the dungeon) that controls dungeon-level settings.

Modifying Basic Dungeon Settings

Example dungeon package values you may want to modify:

contentLevel: 20
dungeonSizeCategory: DUNGEON
minPlayerCount: 1
maxPlayerCount: 5
dungeonLockoutMinutes: 60
protect: true
  • contentLevel: Overall dungeon difficulty tier (set to -1 for dynamic dungeons)
  • dungeonSizeCategory: Size classification (LAIR, SANCTUM, MINIDUNGEON, DUNGEON, RAID, ADVENTURE, ARENA, REALM, OTHER)
  • minPlayerCount/maxPlayerCount: Party size restrictions (defaults 1 and 5)
  • dungeonLockoutMinutes: Loot lockout in minutes, applied to the players who damaged an instanced-dungeon boss when it dies. While a player is locked out for that boss they get no loot and no skill XP from it. Defaults to 4320 (72 hours); set to 0 to disable. It does not block re-entry into the dungeon.
  • protect: Enable EliteMobs' world protection for the dungeon world (no region plugin required)

Modifying Dungeon Difficulty Settings

For instanced dungeons, you can configure multiple difficulty levels:

difficulties:
- name: normal
levelSync: 60
- name: hard
levelSync: 50
- name: mythic
levelSync: 40

This allows players to choose their challenge level when entering. Remember that levelSync caps the effective level of player gear, so a lower levelSync makes a difficulty harder (it strips more power from over-leveled gear). For a deeper explanation see Instanced Dungeon Difficulty.

Modifying Dungeon Protection and Mechanics

Protection Settings

Control how the dungeon environment behaves:

protect: true
allowExplosionBlockDamage: false
allowLiquidFlow: true
  • protect: Enable EliteMobs' world protection suite for the dungeon world
  • allowExplosionBlockDamage: Allow elite explosions to damage blocks (blocks regenerate within 2 minutes). Defaults to false
  • allowLiquidFlow: Allow water and lava to flow. Defaults to true
  • allowElytra: Allow players to glide with an elytra inside the dungeon world. Defaults to false

Modifying Dungeon Entry and Teleportation

Teleport Configuration

Control where players spawn:

teleportLocation: world_name,100,64,100,0,0

The format is: world,x,y,z,yaw,pitch

Permission Requirements

Restrict access to the dungeon:

permission: elitemobs.dungeon.mydungeon

Players will need this permission node to enter the dungeon.

Modifying Boss Difficulty

There are several ways to modify the difficulty of dungeon bosses:

Modifying the damage/health multipliers of the bosses

This is the easiest modification to do. If you think that the bosses deal too little or too much damage, or that they have too little or too much health, you can modify the values associated to these modifiers in the boss files contained in the custombosses folder.

Example of values you would want to modify:

healthMultiplier: 0.5
damageMultiplier: 0.5

More about boss stats here.

Please keep in mind that many powers have fixed damage values or percentage-based damage that ignores the damageMultiplier setting. To modify power damage, you may need to edit the power configuration files themselves or choose different powers.

Modifying the powers of bosses

The main difficulty of EliteMobs is dealing with the various powers that bosses may have. Higher level bosses tend to have more and harder powers, and lower level bosses tend to have fewer and easier powers. Certain powers used together on the same boss make fights easier, and other powers put together can make the fight significantly harder.

Example of values you would want to modify:

powers:
- invulnerability_fire.lua
- invulnerability_arrow.lua

More about boss powers here.

Premade powers now ship as Lua files. Older dungeons still reference them with a .yml extension, and that keeps working: a .yml power reference is automatically resolved to the .lua power of the same name before falling back to a literal match. You do not have to rewrite existing boss files, but new content should use .lua.

EliteMobs ships 71 powers across multiple categories (68 Lua, 3 still YAML) — the full list is on Content Creation Guide. A sample:

Defensive Powers:

  • invulnerability_arrow.lua
  • invulnerability_fall_damage.lua
  • invulnerability_fire.lua
  • invulnerability_fireworks.lua
  • invulnerability_knockback.lua
  • channel_healing.lua
  • shield_wall.lua

Offensive Powers:

  • arrow_fireworks.lua
  • arrow_rain.lua
  • attack_fireball.lua
  • attack_lightning.lua
  • bullet_hell.lua
  • meteor_shower.lua
  • firestorm.lua
  • flamethrower.lua

Summoning Powers:

  • zombie_friends.lua
  • zombie_parents.lua
  • summon_embers.lua

Since there are too many power combinations to list here, you will have to learn how the powers work and playtest your encounters in order to find the sweet spot for what you think is an encounter that is neither too hard nor too easy.

Modifying the level of the bosses

This is the most frequently asked question, and while it is possible to do it, it takes a few steps in order to make sure that you are adequately scaling your bosses up or down.

Example of values you would want to modify:

level: 21

More about boss levels here.

This takes a combination of both what is said about the damage / health multipliers, as bosses at lower / higher levels might need slightly different health and damage multipliers to make the fight feel right.

However, the most important aspect to consider here is the powers on the boss. Lower level and higher level bosses tend to have fairly different power sets depending on how hard the fight is meant to be. Having the same set of powers for a level 10 boss and a level 200 boss usually results in fights whose difficulty feels drastically different. Again, the only way to really find the sweet spot is to learn how the powers of the plugin work and playtesting them.

Modifying Boss Behavior

Beyond powers, bosses have behavioral flags that affect how they act:

frozen: false
neutral: false
  • frozen: If true, prevents boss movement (boss becomes stationary)
  • neutral: If true, boss won't attack unless provoked

Modifying Boss Equipment

Change what armor and weapons bosses wear:

helmet: DIAMOND_HELMET
chestplate: IRON_CHESTPLATE
leggings: LEATHER_LEGGINGS:1A8F3C
boots: CHAINMAIL_BOOTS
mainHand: GOLDEN_AXE:1001
offHand: SHIELD

These fields take a Minecraft material name, not a custom item filename. Three extra forms are accepted:

  • MATERIAL:number sets the item's custom model data (used with a resource pack), as in GOLDEN_AXE:1001
  • LEATHER_*:RRGGBB dyes leather armour with a hex colour, as in LEATHER_LEGGINGS:1A8F3C
  • A bare player UUID produces a PLAYER_HEAD wearing that player's skin

The legacy GOLD_ and CHAIN_ material prefixes are mapped to GOLDEN_ and CHAINMAIL_ automatically. Worn equipment is cosmetic and is applied straight to the mob - it does not pull stats from customitems/.

Modifying Boss Loot

And last, but not least! You will probably want to tweak the custom loot. Most bosses in EliteMobs have custom loot, and if you are switching the level of the boss around, odds are that you will want to change the nature of the loot it drops.

Example of loot configuration options:

uniqueLootList:
- filename: mob_drop_boots.yml
chance: 0.05
amount: 1
  • filename: The item configuration file
  • chance: Drop probability (0.0 to 1.0, where 1.0 = 100%)
  • amount: Quantity to drop (optional, defaults to 1)

More about loot drops here.

Treasure Chest Modifications

Minidungeons can include treasure chests with custom loot tables. Chest configurations are stored in the customtreasurechests/ folder, one file per chest, and each chest file carries its own position in the location key (or locations for a chest that appears in several places). Edit those files to move a chest or change its lootList - the dungeon package file does not hold chest positions.

Crediting / publishing modified content

Under EliteMobs you are free to post the dungeons you create on the appropriate channels to do so (Discord). However, if your creation is just a modification of an existing dungeon, your submission may be removed, especially if it's only a small tweak or if it contains or is derived from premium content (for obvious reasons).

You are free and welcome to modify any content that you have purchased or otherwise downloaded to adjust it to your server's needs for use within your own network, however for obvious reasons this does not provide you with redistribution rights.

We reserve the right to take down community submissions for any reason and at any time, though we would hate to actually have to do that.

Further info

If you believe that this page should be further expanded upon, leave a suggestion on Discord saying what should be added to it. More info about the various systems mentioned here are present in the other wiki pages.