classDiagram;
LostCitiesProfile --> worldstyle;
LostCitiesProfile --> style;
worldstyle --|> style;
worldstyle "1" o--|> "*" citystyle
worldstyle --|> "1" scattered
citystyle --> style
citystyle --> citystyle
citystyle "1" o--|> "1..*" building
citystyle "1" o--|> "1..*" part
building "1" o--|> "1..*" part
scattered "1" o--> "1..*" building
style "1" --|> "*" palette
palette "1" o--|> "*" char
part "1" o..|> "*" char
char *..> variant
note for part "can contain a palette unique to itself, \na refpalette (palette name) or \n reference blocks defined in the citystyle.style list of palettes)"
note for char "block is a specific block, \nblocks chooses one random choice per char in a part, \nvariant is also a per-block randomizer"
note for variant "functions as a random block generator within a palette"
namespace config_folder {
class LostCitiesProfile{
ƒ config/lostcities/profiles/*.json
worldStyle(worldstyle)
cityStyleAlternative(citystyle)
}
}
namespace datapack_modname_data_folder {
class worldstyle{
ƒ lostcities/worldstyles/*.json
List citybiomemultipliers
List~citystyle~ citystyles
outsidestyle(style)
scattered(List~scattered~)
citystyles(List~citystyle~)
}
class citystyle{
ƒ lostcities/citystyles/*.json
style style
List buildingsettings
List~char~ streetblocks
List~char~ parkblocks
List~char~ corridorblocks
List~char~ railblocks
List~char~ sphereblocks
inherit(citystyle)
selector buildings(List~building~)
selector multibuildings(List~building~)
selector fronts(List~part~)
selector stairs(List~part~)
selector fountains(List~part~)
selector parks(List~part~)
selector raildungeons(List~part~)
}
class style{
ƒ lostcities/styles/*.json
common(palette)
default(palette)
blockpalettes(List~palette~)
glass_palettes(List~palette~)
variation_palettes(List~palette~)
}
class palette {
ƒ lostcities/palettes/*.json
List~char~
}
class scattered {
ƒ lostcities/scattered/*.json
String terrainheight
String terrainfix
Int heightoffset
buildings(List~building~ )
}
class building {
ƒ lostcities/buildings/*.json
List~char~ palette
refpalette(palette)
parts(List~part~)
}
class part {
ƒ lostcities/parts/*.json
Int xsize
Int zsize
List~char~ palette
List slices
}
class variant{
ƒ lostcities/variants/*.json
Int random
String block
}
class char {
String block
String damaged
blocks(List~block~)
variant()
}
}
Created
December 4, 2023 20:47
-
-
Save hanleybrand/694c3ba48346b06e307cdc2c012ccd26 to your computer and use it in GitHub Desktop.
lost cities asset system interrellation chart
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment