diff options
Diffstat (limited to 'src/main/resources/assets/skyblocker/tabhud')
27 files changed, 618 insertions, 142 deletions
diff --git a/src/main/resources/assets/skyblocker/tabhud/assignment.json b/src/main/resources/assets/skyblocker/tabhud/assignment.json deleted file mode 100644 index 85c8f938..00000000 --- a/src/main/resources/assets/skyblocker/tabhud/assignment.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "standard" : { - "default": "generic_info_screen" - }, - "screenA": { - "default": "empty_screen" - }, - "screenB": { - "default": "empty_screen" - } -}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/readme.md b/src/main/resources/assets/skyblocker/tabhud/readme.md index 7167f561..52cf5778 100644 --- a/src/main/resources/assets/skyblocker/tabhud/readme.md +++ b/src/main/resources/assets/skyblocker/tabhud/readme.md @@ -1,9 +1,19 @@ -# assignment.json -Assigns the screens to a type (standard, screenA, screenB). standard is shown when just pressing tab, A and B are shown when using other keys/the modifiers. -For every type, the concrete screens are mapped to the areas they are supposed to be shown in. See Appendix A for a list of valid areas. -To find the screen definition, ".json" is appended to the screen key, so specifying `"foo": "generic_info_screen"` will try to find `generic_info_screen.json` and assign this definition to the "foo" area. +# Directory layout +The resource pack should look like this: +``` +my_pack +├───pack.mcmeta +└───assets + └───skyblocker + └───tabhud + ├───screenA + ├───screenB + └───standard +``` +The three dirs `screenA`, `screenB` and `standard` contain the screen definition JSON files as described below. `standard` describes the screens shown when just the TAB key is pressed, while `screenA/B` describe the screens shown when using the modifier keys A and B (default binds: N and B). +The file names are used to describe where a screen is shown. They are case sensitive. For a full list of possible names see Appendix A. While this necessitates duplicate file contents and results in similar file names in different directories, it also allows for much control both when creating a complete layout or when only overriding specific screens. -# Screen definition JSON +# Screen definition JSONs This file consists of one widgets section and one layout section. ## Widget section @@ -16,7 +26,7 @@ The layout section defines how the widgets are arranged on the screen. This is d # Appendices ## Appendix A: Area identifiers -- default: Any area not explicitly listed in the type. +- default: Any area not explicitly listed. ## Appendix B: Widget identifiers and arguments @@ -28,12 +38,13 @@ The layout section defines how the widgets are arranged on the screen. This is d - EffectWidget: Currently active effects - ElectionWidget: Info about the current mayor election - CookieWidget: Info about your super cookie +- TODO: finish. see widgets package for possible values. ## Appendix C: Pipeline stages #### Align - op: `align` -- reference: One of `horizontalCenter`, `verticalCenter`, `leftOfCenter`, `rightOfCenter`, `topOfCenter`, `botOfCenter` +- reference: One of `horizontalCenter`, `verticalCenter`, `leftOfCenter`, `rightOfCenter`, `topOfCenter`, `botOfCenter`, `top`, `bot`, `left`, `right` - apply_to: List of widgets to individually apply this operation to. - Moves a widget in *one* direction (up/down OR left/right) until it's positioned in the way described by `reference`. This reference may be thought of as a straight line, with some describing the screen's borders and others referring to it's two center axis. @@ -86,7 +97,7 @@ Example: Stack A, B, C vertically/center-aligned, then align with leftOfCenter #### Place - op: `place` -- where: One of `center` +- where: One of `center`, `centerTop` - apply_to: Widget to place an the indicated position. - Places a widget at some position, moving it in any direction as needed. Only makes sense to use on one widget at a time, as applying the same Place op to multiple widgtes causes them to be on top of each other. diff --git a/src/main/resources/assets/skyblocker/tabhud/info/generic_info_screen.json b/src/main/resources/assets/skyblocker/tabhud/screenA/default.json index dcfa5138..dcfa5138 100644 --- a/src/main/resources/assets/skyblocker/tabhud/info/generic_info_screen.json +++ b/src/main/resources/assets/skyblocker/tabhud/screenA/default.json diff --git a/src/main/resources/assets/skyblocker/tabhud/info/garden_info_screen.json b/src/main/resources/assets/skyblocker/tabhud/screenA/garden.json index 3e1556ef..3e1556ef 100644 --- a/src/main/resources/assets/skyblocker/tabhud/info/garden_info_screen.json +++ b/src/main/resources/assets/skyblocker/tabhud/screenA/garden.json diff --git a/src/main/resources/assets/skyblocker/tabhud/info/rift_info_screen.json b/src/main/resources/assets/skyblocker/tabhud/screenA/rift.json index 3eda517d..8d1d4c5f 100644 --- a/src/main/resources/assets/skyblocker/tabhud/info/rift_info_screen.json +++ b/src/main/resources/assets/skyblocker/tabhud/screenA/rift.json @@ -41,7 +41,7 @@ }, { "op": "align", - "direction": "rightOfCenter", + "reference": "rightOfCenter", "apply_to": ["profile", "shen", "cookie"] } ] diff --git a/src/main/resources/assets/skyblocker/tabhud/empty_screen.json b/src/main/resources/assets/skyblocker/tabhud/screenA/unknown.json index 0252940a..0252940a 100644 --- a/src/main/resources/assets/skyblocker/tabhud/empty_screen.json +++ b/src/main/resources/assets/skyblocker/tabhud/screenA/unknown.json diff --git a/src/main/resources/assets/skyblocker/tabhud/screenB/default.json b/src/main/resources/assets/skyblocker/tabhud/screenB/default.json new file mode 100644 index 00000000..a1f52ad5 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/screenB/default.json @@ -0,0 +1,17 @@ +{ + "widgets": [ + { + "name": "PlayerListWidget", + "alias": "plw" + } + ], + "layout": [ + { + "op": "place", + "where": "center", + "apply_to": [ + "plw" + ] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/screenB/dungeon.json b/src/main/resources/assets/skyblocker/tabhud/screenB/dungeon.json new file mode 100644 index 00000000..075e3d4c --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/screenB/dungeon.json @@ -0,0 +1,53 @@ +{ + "widgets":[ + { + "name": "DungeonPlayerWidget", + "alias": "dpw1", + "player": 1 + }, + { + "name": "DungeonPlayerWidget", + "alias": "dpw2", + "player": 2 + }, + { + "name": "DungeonPlayerWidget", + "alias": "dpw3", + "player": 3 + }, + { + "name": "DungeonPlayerWidget", + "alias": "dpw4", + "player": 4 + }, + { + "name": "DungeonPlayerWidget", + "alias": "dpw5", + "player": 5 + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["dpw1", "dpw2", "dpw3"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["dpw4", "dpw5"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["dpw1", "dpw2", "dpw3"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["dpw4", "dpw5"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/screenB/garden.json b/src/main/resources/assets/skyblocker/tabhud/screenB/garden.json new file mode 100644 index 00000000..772e0594 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/screenB/garden.json @@ -0,0 +1,29 @@ +{ + "widgets":[ + { + "name": "IslandGuestsWidget", + "alias": "igw" + }, + { + "name": "IslandSelfWidget", + "alias": "isw" + } + ], + "layout": [ + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["igw"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["isw"] + }, + { + "op": "align", + "reference": "verticalCenter", + "apply_to": ["igw", "isw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/screenB/guest_island.json b/src/main/resources/assets/skyblocker/tabhud/screenB/guest_island.json new file mode 100644 index 00000000..54a4039d --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/screenB/guest_island.json @@ -0,0 +1,29 @@ +{ + "widgets":[ + { + "name": "IslandGuestsWidget", + "alias": "igw" + }, + { + "name": "IslandOwnersWidget", + "alias": "iow" + } + ], + "layout": [ + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["igw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["iow"] + }, + { + "op": "align", + "reference": "verticalCenter", + "apply_to": ["igw", "iow"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/screenB/home_island.json b/src/main/resources/assets/skyblocker/tabhud/screenB/home_island.json new file mode 100644 index 00000000..772e0594 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/screenB/home_island.json @@ -0,0 +1,29 @@ +{ + "widgets":[ + { + "name": "IslandGuestsWidget", + "alias": "igw" + }, + { + "name": "IslandSelfWidget", + "alias": "isw" + } + ], + "layout": [ + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["igw"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["isw"] + }, + { + "op": "align", + "reference": "verticalCenter", + "apply_to": ["igw", "isw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/screenB/unknown.json b/src/main/resources/assets/skyblocker/tabhud/screenB/unknown.json new file mode 100644 index 00000000..0252940a --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/screenB/unknown.json @@ -0,0 +1,17 @@ +{ + "widgets": [ + { + "name": "EmptyWidget", + "alias": "ew" + } + ], + "layout": [ + { + "op": "place", + "where": "center", + "apply_to": [ + "ew" + ] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/crimson_isle.json b/src/main/resources/assets/skyblocker/tabhud/standard/crimson_isle.json new file mode 100644 index 00000000..7584c423 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/crimson_isle.json @@ -0,0 +1,44 @@ +{ + "widgets":[ + { + "name": "ServerWidget", + "alias": "sw" + }, + { + "name": "ReputationWidget", + "alias": "rw" + }, + { + "name": "QuestWidget", + "alias": "qw" + }, + { + "name": "VolcanoWidget", + "alias": "vw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["sw", "rw"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["qw", "vw"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["sw", "rw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["qw", "vw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/crystal_hollows.json b/src/main/resources/assets/skyblocker/tabhud/standard/crystal_hollows.json new file mode 100644 index 00000000..7a9db97d --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/crystal_hollows.json @@ -0,0 +1,44 @@ +{ + "widgets":[ + { + "name": "ServerWidget", + "alias": "sw" + }, + { + "name": "PowderWidget", + "alias": "pw" + }, + { + "name": "CommsWidget", + "alias": "cw" + }, + { + "name": "ForgeWidget", + "alias": "fw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["sw", "cw"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["fw", "pw"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["sw", "cw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["pw", "fw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/default.json b/src/main/resources/assets/skyblocker/tabhud/standard/default.json new file mode 100644 index 00000000..99ca3323 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/default.json @@ -0,0 +1,17 @@ +{ + "widgets": [ + { + "name": "ServerWidget", + "alias": "sw" + } + ], + "layout": [ + { + "op": "place", + "where": "center", + "apply_to": [ + "sw" + ] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/dungeon.json b/src/main/resources/assets/skyblocker/tabhud/standard/dungeon.json new file mode 100644 index 00000000..f0fce5c6 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/dungeon.json @@ -0,0 +1,52 @@ +{ + "widgets":[ + { + "name": "DungeonDownedWidget", + "alias": "ddow" + }, + { + "name": "DungeonDeathWidget", + "alias": "ddew" + }, + { + "name": "DungeonSecretWidget", + "alias": "dscw" + }, + { + "name": "DungeonServerWidget", + "alias": "dsrw" + }, + { + "name": "DungeonPuzzleWidget", + "alias": "dpuw" + }, + { + "name": "DungeonBuffWidget", + "alias": "dbw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["ddow", "ddew", "dbw"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["dsrw", "dpuw", "dscw"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["ddow", "ddew", "dbw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["dsrw", "dpuw", "dscw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/dungeon_hub.json b/src/main/resources/assets/skyblocker/tabhud/standard/dungeon_hub.json new file mode 100644 index 00000000..09b39296 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/dungeon_hub.json @@ -0,0 +1,25 @@ +{ + "widgets":[ + { + "name": "ServerWidget", + "alias": "sw" + }, + { + "name": "EssenceWidget", + "alias": "ew" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["sw", "ew"] + }, + { + "op": "align", + "reference": "horizontalCenter", + "apply_to": ["sw", "ew"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/dwarven_mines.json b/src/main/resources/assets/skyblocker/tabhud/standard/dwarven_mines.json new file mode 100644 index 00000000..7a9db97d --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/dwarven_mines.json @@ -0,0 +1,44 @@ +{ + "widgets":[ + { + "name": "ServerWidget", + "alias": "sw" + }, + { + "name": "PowderWidget", + "alias": "pw" + }, + { + "name": "CommsWidget", + "alias": "cw" + }, + { + "name": "ForgeWidget", + "alias": "fw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["sw", "cw"] + }, + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["fw", "pw"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["sw", "cw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["pw", "fw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/farming_island.json b/src/main/resources/assets/skyblocker/tabhud/standard/farming_island.json new file mode 100644 index 00000000..16e0c0c0 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/farming_island.json @@ -0,0 +1,25 @@ +{ + "widgets":[ + { + "name": "ServerWidget", + "alias": "sw" + }, + { + "name": "TrapperWidget", + "alias": "tw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["sw", "tw"] + }, + { + "op": "align", + "reference": "horizontalCenter", + "apply_to": ["sw", "tw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/garden.json b/src/main/resources/assets/skyblocker/tabhud/standard/garden.json new file mode 100644 index 00000000..69d854eb --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/garden.json @@ -0,0 +1,25 @@ +{ + "widgets":[ + { + "name": "GardenServerWidget", + "alias": "gsw" + }, + { + "name": "ComposterWidget", + "alias": "cw" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["gsw", "cw"] + }, + { + "op": "align", + "reference": "horizontalCenter", + "apply_to": ["gsw", "cw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/guest_island.json b/src/main/resources/assets/skyblocker/tabhud/standard/guest_island.json new file mode 100644 index 00000000..cc1be77f --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/guest_island.json @@ -0,0 +1,17 @@ +{ + "widgets": [ + { + "name": "GuestServerWidget", + "alias": "gsw" + } + ], + "layout": [ + { + "op": "place", + "where": "center", + "apply_to": [ + "gsw" + ] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/home_island.json b/src/main/resources/assets/skyblocker/tabhud/standard/home_island.json new file mode 100644 index 00000000..6fe3c32d --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/home_island.json @@ -0,0 +1,29 @@ +{ + "widgets":[ + { + "name": "IslandServerWidget", + "alias": "isw" + }, + { + "name": "MinionWidget", + "alias": "mw" + } + ], + "layout": [ + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["isw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["mw"] + }, + { + "op": "align", + "reference": "verticalCenter", + "apply_to": ["isw", "mw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/hub.json b/src/main/resources/assets/skyblocker/tabhud/standard/hub.json new file mode 100644 index 00000000..cbe5aab4 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/hub.json @@ -0,0 +1,29 @@ +{ + "widgets":[ + { + "name": "ServerWidget", + "alias": "sw" + }, + { + "name": "FireSaleWidget", + "alias": "fsw" + } + ], + "layout": [ + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["sw"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["fsw"] + }, + { + "op": "align", + "reference": "verticalCenter", + "apply_to": ["sw", "fsw"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/park.json b/src/main/resources/assets/skyblocker/tabhud/standard/park.json new file mode 100644 index 00000000..2c8a96cc --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/park.json @@ -0,0 +1,17 @@ +{ + "widgets": [ + { + "name": "ParkServerWidget", + "alias": "psw" + } + ], + "layout": [ + { + "op": "place", + "where": "center", + "apply_to": [ + "psw" + ] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/rift.json b/src/main/resources/assets/skyblocker/tabhud/standard/rift.json new file mode 100644 index 00000000..2f5a48b2 --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/rift.json @@ -0,0 +1,39 @@ +{ + "widgets":[ + { + "name": "RiftProgressWidget", + "alias": "rft" + }, + { + "name": "GoodToKnowWidget", + "alias": "gtk" + }, + { + "name": "RiftServerInfoWidget", + "alias": "si" + } + ], + "layout": [ + { + "op": "stack", + "direction": "vertical", + "align": "center", + "apply_to": ["si", "gtk"] + }, + { + "op": "align", + "reference": "verticalCenter", + "apply_to": ["rft"] + }, + { + "op": "align", + "reference": "leftOfCenter", + "apply_to": ["si", "gtk"] + }, + { + "op": "align", + "reference": "rightOfCenter", + "apply_to": ["rft"] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/standard/unknown.json b/src/main/resources/assets/skyblocker/tabhud/standard/unknown.json new file mode 100644 index 00000000..0252940a --- /dev/null +++ b/src/main/resources/assets/skyblocker/tabhud/standard/unknown.json @@ -0,0 +1,17 @@ +{ + "widgets": [ + { + "name": "EmptyWidget", + "alias": "ew" + } + ], + "layout": [ + { + "op": "place", + "where": "center", + "apply_to": [ + "ew" + ] + } + ] +}
\ No newline at end of file diff --git a/src/main/resources/assets/skyblocker/tabhud/test_screen.json b/src/main/resources/assets/skyblocker/tabhud/test_screen.json deleted file mode 100644 index 2ffa802d..00000000 --- a/src/main/resources/assets/skyblocker/tabhud/test_screen.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "widgets": [ - { - "name": "EmptyWidget", - "alias": "ew1" - }, - { - "name": "EmptyWidget", - "alias": "ew2" - }, - { - "name": "EffectWidget", - "alias": "ew3" - }, - { - "name": "EffectWidget", - "alias": "ew4" - }, - { - "name": "CookieWidget", - "alias": "ew5" - }, - { - "name": "CookieWidget", - "alias": "ew6" - }, - { - "name": "UpgradeWidget", - "alias": "ew7" - }, - { - "name": "UpgradeWidget", - "alias": "ew8" - }, - { - "name": "FireSaleWidget", - "alias": "ew9" - }, - { - "name": "FireSaleWidget", - "alias": "ew10" - }, - { - "name": "EventWidget", - "alias": "ew11", - "inGarden": true - }, - { - "name": "EventWidget", - "alias": "ew12", - "inGarden": true - } - ], - "layout": [ - { - "op": "stack", - "direction": "vertical", - "align": "top", - "apply_to": ["ew1", "ew2"] - }, - { - "op": "align", - "reference": "leftOfCenter", - "apply_to": ["ew1", "ew2"] - }, - { - "op": "stack", - "direction": "vertical", - "align": "center", - "apply_to": ["ew3", "ew4"] - }, - { - "op": "align", - "reference": "horizontalCenter", - "apply_to": ["ew3", "ew4"] - }, - { - "op": "stack", - "direction": "vertical", - "align": "bot", - "apply_to": ["ew5", "ew6"] - }, - { - "op": "align", - "reference": "rightOfCenter", - "apply_to": ["ew5", "ew6"] - }, - { - "op": "stack", - "direction": "horizontal", - "align": "left", - "apply_to": ["ew7", "ew8"] - }, - { - "op": "align", - "reference": "topOfCenter", - "apply_to": ["ew7", "ew8"] - }, - { - "op": "stack", - "direction": "horizontal", - "align": "center", - "apply_to": ["ew9", "ew10"] - }, - { - "op": "align", - "reference": "verticalCenter", - "apply_to": ["ew9", "ew10"] - }, - { - "op": "stack", - "direction": "horizontal", - "align": "right", - "apply_to": ["ew11", "ew12"] - }, - { - "op": "align", - "reference": "botOfCenter", - "apply_to": ["ew11", "ew12"] - } - ] -}
\ No newline at end of file |