-
Notifications
You must be signed in to change notification settings - Fork 12
Themes
Themes are a simple way to create dungeon types. Any of the default themes can be edited however you like, or even deleted (as long as there are some themes available). You can also create your own themes, as many as you like (just copy one and make changes).
With Minecraft 1.12.2 and earlier, themes are found in the config/DLDungeonsJBG/themes folder (and must be there to be read).
With Minecraft 1.19.2 and later, themes are found in the jar, at data/dldungeonsjbg/dldungeons/theming/themes and can be modified with data packs.
Technically, themes function more as meta-themes -- they provide elements that the dungeon generator can select from to create a more specific theme for the dungeon being generated.
The theme file has a variety of section that do different things, each with several fields. Technically, they don't have to be in any particular order, as long as each field is labelled correctly. Field names are not case-sensitive, but all are written as a single word (no whitespace). Date for the field follows its name and an equals ('=') sign, though the equals sign is technically optional and white space will work on its own.
This is simply the version number of the theme file format. This is important since changes have been made and an older format may not work newer features. You should not edit this.
These fields determine where the dungeons can generate as well as special feature and the kind of dungeon it represents.
Biomes lists Forge biome dictionary types where this theme can be used. This is so that they can be added to modded biome without having to know the name of the specific biome. Note that BEACH is simply considered water and so not really used.
NotInBiomes lists Forge biome types where this theme is not allowed to be used. For example, overworld dungeons will forbit the type NETHER, since some mods add modded nether biomes with other types attached.
BiomeWhiteList lists specific biome where it should be used by their Minecraft resource location.
BiomeBlackList lists specific biome where it should not be used by their Minecraft resource location.
Type lists type descriptions telling what kind of dungeon it is (sort-of like my own biome dictionary for dungeons). This is used when other mods add mobs on their own, to make sure the dungeon contains mobs that fit the theme.
Valid type descriptions include: DUNGEON, NECRO (for tomb/crypt dungeons), URBAN, FOREST, PLAINS, MOUNTAIN, SWAMP, WATER, DESERT, WASTELAND, JUNGLE, FROZEN, FIERY, NETHER, END, MUSHROOM, MAGICAL, SHADOW, and PARADISE
This field exists with newer versions (for Minecraft 1.19.4 and later), but no longer do anything; they will likely be removed in the future.
Flags lists optional flag telling something that might be used to help generate the dungeon. For 1.12.2 and earlier, the only flags are SWAMP (which effects liquid placement) and HARD (which will cause chest loot to be treated as a level higher than normal to represent dungeon-wide challenges such being underwater or have difficult floors), and EASY (chest loot will be treat as a level lower than normal). In newer versions there is also OCEANIC (will be placed in the OCEAN) and NETHER (will be placed in the nether).
DimensionWhitelist lists dimensions this dungeon is restricted to, mostly for dungeons intended to generate in. Only for Minecraft 1.12.2 and earlier, not use for newer versions.
minY and maxY define the lowest and highest altitude for the dungeons base floor height. The dungeon will randomly pick a number between these to use as the Y coordinate for its rooms.
sizes lists the relative chances of getting dungeons of the mods five size categories. For example, the default urban theme lists:
sizes = 2, 5, 10, 5, 1
Since those numbers there add up to 23, that mean a 2 in 23 (2:23) chance for tiny, 5:23 chance of small, 10:23 of medium, 5:23 of large, and 1:23 of huge. The numbers don't have to add up to any certain amount, as long as at least one of them is 1 or more.
The meaning of the sizes is as follows:
- Tiny dungeons are 5x5 chunks (80 x 80 blocks)
- Small dungeons are 7x7 chunks (112 x 112 blocks)
- Medium dungeons are 9x9 chunks (144 x 144 blocks)
- Large dungeons are 11x11 chunks (176 x 176 blocks)
- Huge dungeons are 13x13 chunks (208 x 208 blocks)
Larger dungeons will have both more rooms and larger rooms, more total chests and spawners, and more hub rooms that may be either entrances or "boss"/"loot" room. Roughly, making a dungeon four times as big will give about twice as many room averaging about twice the area each.
ChestsFile lists the chest file to use, in case a theme should generate with special loot.
With game versions 1.12.2 and earlier (mod version 1.x.x) this is the actual name of the file, such as "chests.cfg".
For game versions 1.19.2 and newer (mod version 2.x.x) this will be the this mods id, a colon, and the name of the chest file without its extension, such as "dldungeonsjbg:chests".
buildFoundation if present and true the dungeon will build platforms under itself until hitting some kind of ground material (such as stone or dirt). This is intended for outdoor/above ground dungeons. The only default theme to use this is nether.
These fields determine how common certain architectural features occur. This probably the most complicated and difficult to explain of all theme section, since it basically lists probabilities of probabilities. It's also the part most strongly influenced by Oblige, though some fields have different meanings than in Oblige. Each list of numbers represents relative chances of a dungeon using the theme to have a certain chance of a feature appearing (or number of features for a few). They are:
- NONE 0% chance or 0 instances
- FEW 10% chance or 1 instance
- SOME 30% chance or 3 instances
- PLENTY 50% chance or 5 instances
- HEAPS 90% chance or 9 instances
- ALWAYS 100% chance or 10 instances
This is complicated by the fact that some features are determined as room styles while most are features that could appear in a room. Also, the order of checking for a feature is shuffled for each room to give rooms some character of their own and to avoid universal biases for all dungeons (which would happen if they were always checked in order); 100% chance of liquid may not produce a liquid if "wall" or "pillar" is checked first and selected.
For example, the common theme lists...
"naturals = 5, 10, 25, 10, 15, 5"
... which refers to cave-like areas. Adding the numbers gets 70, so 5 in 70 dungeons with this theme will have no cave like areas, only normal rooms, while 5 in 70 will be all cave like and 25 in 70 will have about 30% of their rooms be cave like (30% chance on each room).
This determines the chance that room will lack walls and ceiling, being effectively and outdoor area. This is used prominently in the nether theme.
The chance that a feature added to the room will be liquid.
The name is misleading, and should have been called "doors." This is actually determines the number of door initially placed in a room, from which a new room may grow. If no room is behind them, they will later be removed.
This should have been called subrooms. This is the chance a feature will become a smaller room inside the room (but may fail if there isn't space to make room big enough to be a legitimate room).
The chance a feature will become a pillar, where a pillar is basically a 1x1 wall section with (probably) different block.
The chance an outdoor room will have (one high) fences placed where the walls would have been.
This determines how symmetrical a room will be. It is called twice for each room, and the number of times it comes up determines the degrees of symmetry. With 0 degrees nothing the room will look very chaotic, with random features scattered around it. One degree of symmetry may either reflect on the X axis, reflect on the Z axis, try to reflect across a diagonal, or produce 180 rotational symmetry in which all features are duplicated rotated 180 degrees around the center of the room. Two degrees of symmetry may either reflect across both the X and Z axes, or may be "swirled" with 90 degree rotational symmetry in which each corner is 90 degrees rotation of the one before it going around the room (like a pinwheel, or a swastika if you want to go there).
This is how likely a room will change blocks between rooms, checked separately for walls, floors, ceilings, pillars, liquid, and fences. Dungeons with high variability will seem very random, with new blocks often selected for each room. Moderate levels will typically have gradual transitions with some blocks kept and other changed until hitting another room already generated. Moderately low will often have rooms cluster into zones built with the same blocks, while very low variability can lead to entire dungeons using the same blocks throughout.
This is the chance a room will not replace air blocks when being built. If this is selected, the ceiling and walls may allow caves or other structures to cut through them, effectively merging with the dungeon. If selected once it will try again, and if selected twice the floors may also have such cut-throughs. Hubrooms (entrance and loot/boss) rooms never allow floors to degenerate, and valid paths will always be maintained as walkways to cross the room.
This is simply the number of features the dungeon will try to place in each room. Examples being walls, pillars, liquids, platforms, and depressions. This is also used to determine if a room will have a whole room pattern, one big pattern filling the entire room (most common in moderate levels of complexity).
This determines the amount of verticality (yes, I misspelled it) in dungeons. This affect both the ceiling heights of rooms and the likelihood of height changing feature (platforms and depression/pits) being selected as features.
This is the chance a hub-room will become an entrance. Those which do not become entrance will become destinations (aka, "loot rooms" or "boss rooms"). This is also influence by some config settings.
This is the chance that a room will generate as cave-like area. These areas are very chaotic and usually (not always) use blocks from caveblock list (usually containing more natural materials like stone and sandstone).
These are simply lists of blocks that can be selected to build with. Each room will pick one for each category to be built from. In recent versions there can also be block families, which allow several blocks to be grouped together and used to build by selecting a random block from the family each time a block is placed while building. Blocks are listed as their Minecraft resource location (mod id:block name, for example "minecraft:stonebrick"), while block families are as a dollar sign followed by their family name (for example, "$mixed_cobble"). It is important there is no whitespace in any of these name (and there should not be according to Minecraft standards). These are all pretty straightforward. Metadata can be added in parentheses to the end of the resource locations to access other block states / block variants. Also, though the default themes use vanilla blocks, any block from any mod can be used here.
- walls lists blocks used to build walls.
- floors lists blocks used to build floors.
- ceilings lists blocks used to build ceilings.
- fencing lists blocks used to build fences for outdoor areas.
- liquid lists blocks used to fill pools of liquid (they don't need to actually be liquid, maybe the water froze or dried up).
- pillarBlock lists blocks used to build pillars
- caveblock lists blocks used to build the walls, floor, and ceilings of "natural" areas. These rooms will use the same block for all three unless they randomly decide to use normal room blocks (rare, but can happen).
- air blocks used for air, and should usually just be air for most dungeon, though you could get creative. In the default themes this is used to make oceanic dungeons be filled with water, while all other themes keep it as air.
Block list names may be repeated to add more blocks to the list. Adding a block more than once gives it more chances of being pick, one for each time it's listed.
This lists mobs by to be placed in the dungeon, sorted by difficulty tiers. The names of these is based on names used in the Minefantasy I mod, for anyone interested. Most vanilla mobs belong in the first two categories.
This is for basic mobs (whether vanilla or modded) like skeletons, zombies, and spiders. These mobs are weak, stupid, and usually pose little threat to a well equip player unless in great numbers (or if the player is stupidly reckless).
This is for slighly more dangerous basic mobs, like creepers, cave spiders, wither skeletons, blazes, and endermen.
This is for tough, beefy mobs, or those that are otherwise very dangerous. Minefantasy, from which the label "brute" was barrowed classified its minotaurs and basilisks as "brute." Most Dungeon mobs and many of Lycanites mobs fit here. Vanilla examples include witches, vindicators, and piglin bruts.
This is for mini-boss tier mobs, really tough and possibly intelligent badies. Minefantasy called its dragons and skeletal knights (which emulated a skilled, well equip PvP player quite well) "elite." Vanilla mobs that probably fit well here are ravagers and illusioners. The rakshasa and fallen angel from Dungeon Mobs would belong in this category, as would some of Lycanite's more powerful mobs.
This is for true bosses on par with The Wither, warden, and Ender Dragon; just remember huge mobs (like the Dragon) will not have room to spawn and so should not be used! These will only be found if the difficulty is turned up in the config file, and only be common if set to level 5 ("nightmare"). This is purely a description of the mob's power level, and has nothing to do with its roll in the dungeon. A hard or brute mob could be in the "boss" spawner on normal difficulty. Remember, multiple "elite" minibosses together could easily be equivalent to a boss fight; similarly a Wither spawner is likely to have you fight multiple Wither bosses at once, possibly supplying more as you go, which is much harder than the normal boss battle!