Skip to content

Intro & Basics

Tempest051 edited this page May 26, 2024 · 11 revisions

How To Use This Wiki

This wiki is meant to be read in sequence, using the order of sections in the sidebar (ignore the pages tab, Github sorts that alphabetically. You can use it to find sections within a page though, to quickly jump to something you need to reference). However, you can just skip to the section you need. Every page in the wiki has a header which lists pages with required knowledge to properly understand the page you're on. The exception being all pages under the "Getting Started" section, whose information is required to understand all pages in this wiki.

Structure GUI

The structure GUI is how all rule editing of structures is done. It appears when using the export or edit commands. You can hide the gui at any time by using the Hide GUI button, which will save your progress so long as you don't log out. Use the indicated command to bring it up again. If you ever exit the GUI without saving, your changes will be lost. The /#export and /#edit commands should be memorized as you'll be using them frequently.

Syntax Indicator

A basic feature of all text boxes within the structure GUI. The circle to the right indicates whether the text within the box is valid or not ("syntax" means the rules that govern valid text).
indicator

  • Green: Indicates a valid syntax. Your rule is properly formatted and uses valid data.
  • Yellow: Indicates a valid syntax but incorrect data, such as a non existent biome, dimension, or block ID used in the rule set.
  • Red: Indicates invalid syntax. You should refer to the expressions page in the wiki to reference valid rules.

Editing Presets

The Structure GUI has various default presets that it applies to certain options, which cannot be edited by the player until selecting the edit preset buttons, which either look like a blue 0 or a D. indicator
Any references to editing presets or changing options in preset windows involves toggling these options, which you will likely be doing for every structure you create.

Block Selector

The Block Selector item is what's used for exporting structures. After a structure is built, you must select its bounds, which can be pictured as an imaginary box, with the Block Selector item. Exporting a structure is covered further in Building A Structure.

Weighted Chance

(If familiar with weighted chance, you can skip this section)
Recurrent Complex uses "weight based chance" to determine the chance of one of its structures generating. This is an important concept to understand. This is based on the concept of having several objects in a "pool" and assigning each of them "weight values," which are measured against each other to determine the odds of being rolled.

Think of it like 3 marbles of different colour, red, blue, and green, being placed in a box with a mechanism to pick one of the marbles based on a number assigned to it (its "weight"). The weight of a marble is compared to all the other marbles when the mechanism is deciding which to choose. So if all the marbles have a weight of 1.0, then they all have an equal chance of being chosen. If the red marble has a weight of 2.0 while the others have a weight of 1.0, then the red marble has twice the chance of being chosen over the other marbles. If it were given a weight of 1.5, then it has 1.5x the chance of being chosen. If you raised the chance of the red marble to 4.0, but raised the other marbles to 2.0, then the red marble would still only have twice the chance of being chosen, because relative to the other marbles, its weight is only twice their value.

This is essentially how weighted chances work. Keep this in mind, as doing something like doubling the weight of all structures won't increase their frequency, it will literally change nothing. How to adjust structure weight and frequency will be covered in detail in the "advanced" section.

Pools

(If you understand basic set theory, you can skip this section)
You will see the term "pool" come up a lot in later sections. As used, this term does not, in fact, refer to refreshing swimming pools, but rather "a group of things." A pool (aka "set") in this case is a category to which objects are a part of, often referred to as "members." So a structure pool is essentially a list which contains several structures, which are members of that list, from which one can be (randomly) selected by things such as structure script blocks.

Parent & Child Objects

(If familiar with this term, you can skip this section)
You will see the term "parent" and "child" used a lot in the advanced section in the guides for generating dynamic structures, such as mazes and towns. In this context, a "parent-child" relationship refers to the hierarchy of objects (in this case, our structures). A parent is an object which has other objects that depend on or inherit traits from it, while a child object is one that depends on or inherits from a parent.

E.g a country could be thought of as a parent object, and the states within the country as child objects. This hierarchy can be nested indefinitely, with child objects being parents to their own child objects, e.g states being parents to counties, which are parents to cities.

In RC, this may refer to a dynamic structure such as mazes, where the entrance to the maze is the parent (which triggers the generation of the rest of the maze), and the rooms are child objects.

Compatibility

Recurrent Complex will not generate a structure where another already exists, but is only able to recognize the location of structures which are generated through the vanilla structure system or by Recurrent Complex itself. This means that it is incompatible with mods such as Ancient Warfare 2 and Lost Cities. If used together, structures from RC and these mods will overwrite each other.

Recurrent Complex will also not generate in biomes or dimensions which are not coded properly. Currently the known list includes the vanilla End and the Beneath dimension (the latter partially works, and the former has a workaround shown here).

Clone this wiki locally