# Dungeons

## What are dungeons in difference to a POI?

a dungeon is a building that extends beyond the boundry's of a POI.\
the dungeon exists of many chunk based tiles that will be connected randomly on generation.

### Ok? so how do i create a dungeon?

Depends? wanna make a dungeon where u are use /spaceadmin makedungeon\
or use the GUI for it

### What are dungeon tiles and can i make my own design?

Dungeon tiles are basically chunks with a max height of 16 so 16x16x16 cube.\
making tiles is little harder then a POI but i will try to explane for more indeph learning watch the admin tutorial link on the main page.

### Creating a dungeontile

Each tile can have 4 exists North East South West in that order. this is the thing to remember.\
making a dungeon requires each possible combination to be present in the theme u want.\
the current combinations are written as coords like 0-0-0-0 this means no exits 1-0-0-0 means only the north exit is open to connect to another part of the dungeon.

The spaceadmin command is /spaceadmin createdungeontile 0 0 0 0 < where the 0 can be 1 or 0 depending if that side is open (the formatting n e s w)

using the GUI its more easy!

#### Making the dungeon of your tiles

When u made all the tiles needed u need a themefile the themefile configurates which tiles to use for which exits and such. take a look this is the default file:

```yaml
ylevelmin: 10 #the minimum y level the dungeon spawns
ylevelmax: 30 #the max y level the dungeons spawns
connecttosurface: true #should this dungeon have a staircase at the middle
chancetospawn: 3 #the chance that a dungeon spawns
extendchance: 20 #the chance that a dungeon grows the higher the more chance for a big dungeon
groundmaterial: STONE #this is a important one if u dug a dungeon in stone enter stone NEVER set this to air. as this block will be ignored when building it.
stairmaterial: LADDER #if the connecttosurface is true this is the material for the ladder
wallmaterial: ANDESITE #if the connecttosurface is true this is the material for the pipe the ladder is in
connectoptions: #the input below are FILENAMES for the tiles u made be sure to enter at least 1 tile in ALL options
  entrance: base #the entrance of your dungeon
  1-1-1-1:
    - 1-1-1-1 #the tile with all exits open
  1-0-0-0:
    - 1-0-0-0 #the tile with just the north exit open
    - 1-0-0-0b
    - 1-0-0-0c
    - 1-0-0-0d
  0-1-0-0:
    - 0-1-0-0
    - 0-1-0-0b
    - 0-1-0-0c
    - 0-1-0-0d
  0-0-1-0:
    - 0-0-1-0
    - 0-0-1-0b
    - 0-0-1-0c
    - 0-0-1-0d
    - 0-0-1-0e
  0-0-0-1:
    - 0-0-0-1
    - 0-0-0-1b
    - 0-0-0-1c
  1-1-0-0:
    - 1-1-0-0 #the tile with the north and east exit open
  0-1-1-0:
    - 0-1-1-0
  0-0-1-1:
    - 0-0-1-1
  1-0-0-1:
    - 1-0-0-1
  0-1-0-1:
    - 0-1-0-1
    - 0-1-0-1b
    - 0-1-0-1c
  1-0-1-0:
    - 1-0-1-0
    - 1-0-1-0b
    - 1-0-1-0c
  1-1-1-0:
    - 1-1-1-0
  0-1-1-1:
    - 0-1-1-1
  1-0-1-1:
    - 1-0-1-1
  1-1-0-1:
    - 1-1-0-1a
    - 1-1-0-1b
    - 1-1-0-1c
```

#### putting your dungeon in the system!

Go to the dungeons folder and create a folder with the name of your dungeon theme.\
inside that folder put the theme file and create a folder called tiles\
now but all your made and configurated tiles in the tiles folder and ur done.\
From that point after a server restart the theme can be used as dungeontheme in all worlds.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mcgsoft.eu/mcg-starcraft/for-admins/dungeons.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
