User:Aeldrion/Projects/Aetlas

Aetlas is a utility data pack developed by Aeldrion for Minecraft 1.15 that helps other data packs generate structures in a world without conflict. Its development started in November 2019 and has not been released yet. It will be available both as a standalone bundlable data pack and as an AESTD module.

Structure table
Structure tables are storage NBT tags that represent what structures should be loaded in a specific chunk. The structure table format imitates loot tables. Although structure tables do not use JSON, NBT keys use quotation marks for JSON compatibility. The structure table format is as follows:


 * : A list of all pools for this table. Each pool used generates structures from its list of structures based on the number of rolls. Pools are applied in order.
 * A pool.
 * Determines conditions for this pool to be used. If multiple conditions are specified, all must pass.
 * A condition.
 * Namespaced ID of condition. Valid conditions are described below.
 * : Specifies the exact number of rolls on the pool.
 * : Specifies a random number of rolls within a range.
 * : Minimum number of rolls. Inclusive.
 * : Maximum number of rolls. Inclusive.
 * : A list of all things that can be produced by this pool. One entry is chosen per roll as a weighted random selection from all entries without failing conditions.
 * An entry.
 * : Determines conditions for this entry to be used. If multiple conditions are specified, all must pass.
 * A condition.
 * : ID of condition. Valid conditions are described below.
 * : ID type of entry. Can be  for structure entries,   to produce structures from another structure table,   for child entries,   to select one sub-entry from a list,   to select sub-entries until one entry cannot be granted, or   for an entry that generates nothing.
 * For type, ID name of the structure to be produced.
 * For type, structure table to be used. Aetlas does not handle cyclic references. If a cyclic reference is used, the command limit will be reached and no structure will be loaded.
 * For type  a list of entries that are used to generate structures. Can be used for convenience, e.g. if one condition applies for multiple entries.
 * For type  a list of entries of which the first, and only the first, successful entry gets generated.
 * For type  a list of entries that are used until the first entry fails. After an entry fails, no more entries of this list are generated.
 * : For type, applies functions to the structure being generated. Functions are applied in order.
 * A function.
 * : ID of the function to apply. Valid functions are described below.
 * : Determines conditions for this function to be applied. If multiple conditions are specified, all must pass.
 * A condition.
 * : ID of condition. Valid conditions are described below.
 * : Determines how often this entry is chosen out of all the entries in the pool. Entries with higher weights are used more often (chance is $this entry's weight/total of all considered entries' weights$).
 * A condition.
 * : ID of condition. Valid conditions are described below.
 * : Determines how often this entry is chosen out of all the entries in the pool. Entries with higher weights are used more often (chance is ⇭⇭⇭⇭⇭).