ModsJava
✯ Epic Lairs ✯ [1.16+]
Java mod listed for Minecraft 1.16–26.x. Download on the author's site.
⬇ Download on Spigot
Dungeons your players walk into, built in the world you already have.
Epic Lairs turns a corner of your world into a dungeon. Build the rooms the way you build anything else, mark them out with a wand, give the lair a list of stages, and the plugin runs it: it lets a party in, spawns the mobs, tracks the objectives, opens the doors, pays the rewards, sends everyone home, and puts every block back the way it was.
No world copies. No world management plugin. No schematics. No scripting language. It is one plugin, it needs nothing else installed, and it runs on Spigot and Paper from 1.16.5 upward with no NMS anywhere in it.
And every lair remembers. Beat a party and it grows more dangerous and more rewarding, and it hangs their heads on its wall, until somebody finally breaks it.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Download
Both editions are downloaded from the plugin page:
www.jhprojects.dev/epic-lairs
- Epic Lairs Lite, free. The whole plugin, with limits on how many lairs you build. Not a trial: nothing expires and nothing counts down. Build a real dungeon, run your players through it, and keep it
- Epic Lairs Premium. Every limit lifted, several groups in one lair at once, reward tiers, leaderboards, and the admin hub with its built-in tutorial
Try Lite first. There is no refund once Premium is bought, and Lite is there so you can build a real lair on your own server before you spend anything. Moving up later keeps every file you made. The full comparison is further down this page.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Build it where you are standing
Map: The Legend of Zelda: Ocarina of Time by OiDaBoi026. A fan made map, not connected to Epic Lairs.
/lair create crypt and you have a lair, with you standing at its origin and a wand in your hand. Click two corners to mark its region. Open /lair edit crypt and set everything else from a menu: the lobby, the start and the exit are wherever you are standing when you click; stages, objectives, doors and loot chests are picked by clicking the block with the wand. Names and numbers are typed in chat, so there is no file to open unless you want to.
- A checklist in the editor: red with what is still missing, green when the lair is ready to take players
- /lair validate lists everything wrong with a lair, and how to fix it, in one message
- /lair test runs it with just you in it, ignoring keys, requirements and cooldowns, with /lair skip to jump a stage. A test run resets like a real one
- Prefer files? Every lair is one readable YAML file. The editor writes the same file you would, and /lair reload picks up anything you changed by hand
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Stages, not one big fight
A lair is a list of stages. Each one spawns what it needs, waits for its objectives, then does something about it: opens a gate, plays a sound, puts a title on everyone's screen, runs a command, moves the party on. Then the next stage begins, with a new checkpoint for anybody who falls.
8 kinds of objective, any number per stage, and a stage can want all of them done or any one:
- Kill everything the stage spawned, or kill a number of one particular mob
- Reach a spot, with anyone or everyone in the party
- Interact with a block: pull the lever, light the brazier, press the button
- Open a chest
- Break a wall, and only that wall. Nothing else in the lair can be broken
- Capture an area by standing in it, with progress that pauses while it is empty
- Survive for a set time while waves keep coming
The party sees all of it on the sidebar: the lair, the stage, every objective's progress, the time left, their lives and each other's health. Every line of it is yours to rewrite.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Bosses with turns of their own
Triggers give a boss its phases. They fire when a mob drops below a health line or a stage runs too long: at 60% spawn the brood, at 25% slam the gate shut, put a title on everyone's screen. Anything a stage can do, a trigger can do, and triggers work on every mob, whichever plugin made it.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mobs and bosses included
You do not need another plugin to fill a lair. 10 mobs and bosses ship ready to use: shamblers, archers, crawlers, rats, acolytes, wisps, slimes, a Grave Warden for the gate room, and two bosses with boss bars, the Sunken King and the Broodmother. Each one is a short file you can change: name, health, damage, speed, size, gear, effects, glow, a boss bar and drops. Copy one to make your own, and /lair mob spawn puts one in front of you to try.
Or bring your own
Any spawn in a lair can also be a vanilla mob, an Epic Mobs Rework mob or a MythicMobs mob, picked per spawn. So the first room can be built-in crawlers, and the thing in the last room can be a phased Epic Mobs boss or a MythicMobs monster with a ModelEngine model.
Whatever spawns it, the lair keeps hold of it. Kills count toward the objective whoever made the mob, a mob that wanders out of the lair is put back, and nothing a lair spawned is ever left loose in your world after the run, not even after a crash.
Epic Mobs mobs need Epic Mobs Rework Premium; MythicMobs mobs need MythicMobs 5.x. Neither is required to use Epic Lairs.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
The lair keeps score
Every lair has a Dread level, from 0 to 5, shared by your whole server.
- It rises when the lair wins. Every party it wipes, every run that runs out of time, pushes it up a level
- It rises when it is left alone. A lair nobody has cleared in a few days gets restless on its own
- Each level brings an omen. Tougher mobs, more of them, darkness that pulses over the party, one life fewer, a boss that hits harder. Write your own omens per lair, or use the five that ship
- Each level pays more. More money, more XP, extra rolls on every loot chest. A feared lair is a rich one
- The server hears about it. The rise goes out to everyone, and the lair menu, the join signs and the sidebar all show what is waiting inside
And it keeps trophies. When a party falls, the lair hangs their heads on its wall, and they stay there through every reset. The party that finally clears it at high Dread breaks it: back to zero, an announcement to the whole server, a breaker reward of your choosing, and a clean wall.
Want an event? /lair dread <lair> set 5 on a Friday night and see who is brave enough.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Who gets in, and how
- Parties built in: create, invite, accept, kick. A solo player is a party of one
- Party and clan plugins: with Parties installed, a player's party there is their party in a lair. With UltimateClans or BetterTeams, clanmates standing together at the entrance go in together when one of them joins
- Join by command, from the lair menu, or from a sign that shows the lair's state, queue and Dread
- Keys: any item, or one you design, taken from the party leader when the run starts. A custom key cannot be faked by renaming an item
- Requirements: a permission, an XP level, or any PlaceholderAPI placeholder compared to a number, so an MMOCore level or a rank works without a special integration
- Cooldowns per player, after a clear or after any attempt, for daily and weekly lairs
- Difficulties: offer Normal, Hard, Mythic or anything else, each with tougher mobs, more of them, fewer lives or less time, its own reward multiplier and its own requirements. The party leader picks in the lobby
- A queue when the lair is busy, with each party told where it stands and called when its turn comes
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Inside the lair
- Lives per player. Die and you are back at the stage's checkpoint. Run out and you watch the rest of the run as a spectator, or get sent out, your choice
- Revives: on your last life, a killing blow puts you down instead. A teammate who crouches next to you brings you back; nobody comes in time and you are out. Revive items, and a revive action for a stage that brings the fallen back
- Keep inventory or not, per lair
- A time limit, so a party cannot camp a lair all night
- Disconnect protection: a player who drops keeps their place for a while and goes straight back to the checkpoint when they return
- No way to cheese it: walking or teleporting out of the lair is leaving it, commands are blocked inside except the ones you allow, and blocks cannot be broken or placed except the ones the lair says
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
It puts everything back
Once a lair is built, /lair snapshot saves it. After every run the lair is restored from that snapshot: broken walls, opened gates, doors, chests, anything a creeper took out. Only the blocks that changed are touched, spread over several ticks, so a reset does not cause a lag spike, even on a big lair.
The snapshot is also why a crash cannot ruin a lair. If the server goes down mid-run, the lair is restored the next time the server starts, before anyone is allowed back in, any mob it left behind is removed the moment its chunk loads, and players who were inside come back at the exit.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Loot and rewards
- Loot chests that stay locked until a stage is done, filled from weighted loot tables you write, with items, keys and commands, and extra rolls as Dread climbs
- Per-player loot: every player opens their own copy of the chest, so nobody races anybody to it
- Rewards on a clear: money through Vault or Kumandra's Economy, XP, items and commands
- First-clear rewards, paid once per player per lair, for a rank or a title that means something
- Reward tiers by clear time and deaths, so a flawless fast run pays more than a scrappy one (Premium)
- Leaderboards: the fastest clears of every lair, one board per difficulty, with /lair top and a "New record!" to the party that sets one (Premium)
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Several groups in one lair at once (Premium)
Build the lair once and let the plugin make the copies. The Groups at once button in the admin hub, or /lair slot clone, builds another copy of the lair from its snapshot, where you stand or laid out in a grid in a world you pick. Every copy runs its own party: its own mobs, its own objectives, its own loot and rewards, and no group sees or hears another. Parties go to whichever copy is free, and the rest wait in the queue. Remove a copy and the ground it stood on comes back.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
One window for all of it (Premium)
/lair admin opens everything you set up, in one place:
- Every lair with its state, its copies, its Dread and what is still wrong with it. Edit it, take its snapshot, test it, stop it, reset it, build a copy, switch it off, all from its icon
- Mobs: change any of them, or make your own. Hold a sword and click a slot to give it that sword, enchantments and all
- Loot tables: add the item in your hand, a key or a command, and roll the table once to see what a chest would get
- Key items made from whatever you are holding
- Every setting and every integration, switched from the menu, without losing a single comment in your config file
- A built-in tutorial: short chapters from building the room to letting players in, each with a button that opens the window it talks about
- A guided build that walks you through your first lair step by step, ticks each step when it is really done, and tells you the next one in chat
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Set up in files, not in the source
- One readable file per lair, so you can edit one in a text editor, copy it, or share it
- Bad values are caught on load and named, with the file, the key and the default they fell back to. A lair with a mistake still loads, as disabled, with the reason, so you can see it and fix it
- A lair naming a mob from a plugin you do not have still loads; that spawn is skipped, with a warning saying which one
- A deleted lair is moved aside, not erased, so it can come back
- errors.log: if anything ever goes wrong, the plugin writes it down in plain words, what happened, where, what set it off and what to do about it, in a file of its own
- /lair reload reloads everything and tells you what changed
- Every message players see is in one file, ready to translate
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Compatibility
- Spigot and Paper, 1.16.5 and upward. New Minecraft versions are supported as they land
- No NMS anywhere in the plugin, and no version-locked build. One jar, every supported version
- No other plugins required. Epic Mobs Rework, MythicMobs, PlaceholderAPI, Vault, Kumandra's Economy, Parties, UltimateClans and BetterTeams are all optional and all detected on their own, and /lair info tells you which ones are hooked
- PlaceholderAPI placeholders for scoreboards and holograms: whether a lair is free, its queue, its Dread, your cooldown, your clears, the record, and the stage, lives and time left of a run in progress
- Not available on Aternos
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Lite or Premium
Lite is the same plugin, smaller. It limits how many, never how: the lair editor, every objective, action and trigger, the built-in mobs, Dread and trophies, revives, difficulties, parties and clans, the queue, loot chests and every integration are the same in both.
What Lite limits, in full:
- 2 lairs
- 5 stages per lair. An entrance, three rooms and a boss
- 1 slot per lair, so one party at a time in each lair, with everyone else in the queue
- One reward for a clear, plus the first-clear reward. No reward tiers
- No clear time records and no /lair top
- No admin hub. Mobs, loot tables, key items and settings are edited in their files, then /lair reload. The lair editor itself is complete
/lair info prints the edition and its limits in game, so you see the ceiling before you hit it.
What Lite will never do:
- Expire. There is no timer, no trial period and no licence check. The two editions are separate jars built from separate source, so there is nothing to run out
- Refuse to load your files. Build a third lair and it loads as disabled, with a warning naming it. The plugin still starts, and the file is left alone
- Lose your work. Move from Premium down to Lite and every file stays intact. Move back up and you get everything back
Lite also carries /lair plugins, a one-row menu of the author's other plugins. Premium does not.
The usage ping. Once an hour the plugin sends an anonymous ping to www.jhprojects.dev, so the developer can see how many servers run it and which versions are out there: the plugin version, the server's name and Minecraft version, the number of players online, how many errors the plugin logged with a short list of them, and a random id that tells servers apart. No player names, UUIDs or addresses. Premium can switch it off in config.yml; Lite always sends it.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Spoiler: commands
/lair - the lair menu
/lair join [lair] [difficulty] - join a lair, or its queue
/lair leave - leave the run or the queue
/lair party create|invite|accept|leave|kick|list - parties
/lair difficulty [difficulty] - pick the difficulty in the lobby, as the party leader
/lair top [lair] [difficulty] - the fastest clears (Premium)
/lair dread [lair] - a lair's Dread level and omens
/lair info - version, edition, limits and which integrations are hooked
/lair plugins - the author's other plugins (Lite)
/lair admin - every lair, mob, loot table, item and setting, the tutorial and the guided build (Premium)
/lair create [lair] - start a new lair where you are standing
/lair edit [lair] - open the editor
/lair delete [lair] confirm - move a lair aside
/lair wand - the selection wand
/lair snapshot [lair] [slot] - save the lair's reset state
/lair validate [lair] - list everything wrong with a lair
/lair test [lair] [difficulty] - run it alone
/lair skip - finish the current stage of a test run
/lair stop [lair] [slot] - end a run and reset
/lair reset [lair] [slot] - restore a lair from its snapshot
/lair cooldown reset [player] [lair] - clear cooldowns
/lair list - every lair, every slot, every state
/lair slot clone [lair] [slot|auto] [grid [world]] - build another copy of a lair (Premium)
/lair slot remove [lair] [slot] - remove a copy and give back its ground
/lair give [player] [item] [amount] - hand out a key or revive item
/lair dread [lair] set [level] - set a lair's Dread, for events
/lair mob list - every built-in and custom lair mob
/lair mob spawn [mob] - spawn one where you stand
/lair reload - reload every file
/lair join [lair] [difficulty] - join a lair, or its queue
/lair leave - leave the run or the queue
/lair party create|invite|accept|leave|kick|list - parties
/lair difficulty [difficulty] - pick the difficulty in the lobby, as the party leader
/lair top [lair] [difficulty] - the fastest clears (Premium)
/lair dread [lair] - a lair's Dread level and omens
/lair info - version, edition, limits and which integrations are hooked
/lair plugins - the author's other plugins (Lite)
/lair admin - every lair, mob, loot table, item and setting, the tutorial and the guided build (Premium)
/lair create [lair] - start a new lair where you are standing
/lair edit [lair] - open the editor
/lair delete [lair] confirm - move a lair aside
/lair wand - the selection wand
/lair snapshot [lair] [slot] - save the lair's reset state
/lair validate [lair] - list everything wrong with a lair
/lair test [lair] [difficulty] - run it alone
/lair skip - finish the current stage of a test run
/lair stop [lair] [slot] - end a run and reset
/lair reset [lair] [slot] - restore a lair from its snapshot
/lair cooldown reset [player] [lair] - clear cooldowns
/lair list - every lair, every slot, every state
/lair slot clone [lair] [slot|auto] [grid [world]] - build another copy of a lair (Premium)
/lair slot remove [lair] [slot] - remove a copy and give back its ground
/lair give [player] [item] [amount] - hand out a key or revive item
/lair dread [lair] set [level] - set a lair's Dread, for events
/lair mob list - every built-in and custom lair mob
/lair mob spawn [mob] - spawn one where you stand
/lair reload - reload every file
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Downloads, the setup guide and support
Everything lives in one place: both downloads, the setup guide, the changelog for every release, and where to send a bug report or a request.
www.jhprojects.dev/epic-lairs
If it is not answered on that page, use the link on it to reach me, or DM me here. I read everything.
In-game screenshots were taken in the map "The Legend of Zelda: Ocarina of Time" by OiDaBoi026, from minecraftmaps.com. It is a fan-made map and is not connected to Epic Lairs.
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.16, 1.17, 1.18
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
✯ Epic Lairs ✯ [1.16+] is a free Minecraft Java mod. Compatible with Minecraft 1.16, 1.17, 1.18, 1.19 and newer. Downloaded 9 times (via Spigot). Download it and open it directly in the game.