Added menu gui only
This commit is contained in:
@@ -5,13 +5,13 @@ settings_config:
|
||||
- General
|
||||
- Miscellaneous
|
||||
keys:
|
||||
example1.key:
|
||||
example1_key:
|
||||
tab: General
|
||||
name: example1 setting key
|
||||
description: example1 description, Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...
|
||||
type: boolean
|
||||
default: true
|
||||
example2.key:
|
||||
example2_key:
|
||||
tab: General
|
||||
name: example2 setting key
|
||||
description: example2 description, Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...
|
||||
@@ -20,7 +20,7 @@ settings_config:
|
||||
min: 0
|
||||
max: 10
|
||||
increment: 0.5
|
||||
example3.key:
|
||||
example3_key:
|
||||
tab: Miscellaneous
|
||||
name: example3 setting key
|
||||
description: example3 description, Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...
|
||||
@@ -30,7 +30,7 @@ settings_config:
|
||||
- male
|
||||
- female
|
||||
- prefer not to say
|
||||
example4.key:
|
||||
example4_key:
|
||||
tab: Miscellaneous
|
||||
name: example4 setting key
|
||||
description: example4 description, Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...
|
||||
@@ -38,3 +38,27 @@ settings_config:
|
||||
default: text
|
||||
max-length: 64
|
||||
regex: [a-z]
|
||||
example5_key:
|
||||
tab: Miscellaneous
|
||||
name: example5 setting key
|
||||
description: example5 description, Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...
|
||||
type: text
|
||||
default: text
|
||||
max-length: 64
|
||||
regex: [a-z]
|
||||
example6_key:
|
||||
tab: Miscellaneous
|
||||
name: example6 setting key
|
||||
description: example6 description, Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...
|
||||
type: text
|
||||
default: text
|
||||
max-length: 64
|
||||
regex: [a-z]
|
||||
example7_key:
|
||||
tab: Miscellaneous
|
||||
name: example7 setting key
|
||||
description: example7 description, Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...
|
||||
type: text
|
||||
default: text
|
||||
max-length: 64
|
||||
regex: [a-z]
|
||||
|
||||
@@ -47,3 +47,82 @@ settings_get:
|
||||
- define settings <[player].flag[settings].if_null[<map[]>]>
|
||||
- define value <[settings].get[<[key]>].if_null[<[keys].get[<[key]>].get[default]>]>
|
||||
- determine <[value]>
|
||||
|
||||
settings_all_settings_from_tab:
|
||||
debug: false
|
||||
type: procedure
|
||||
definitions: tab
|
||||
script:
|
||||
- define keys <script[settings_config].data_key[keys]>
|
||||
- define keys_in_tab <[keys].keys.filter_tag[<[keys].get[<[filter_value]>].get[tab].equals[<[tab]>]>]>
|
||||
- determine <[keys_in_tab]>
|
||||
|
||||
settings_all_settings_from_page_from_tab:
|
||||
debug: false
|
||||
type: procedure
|
||||
definitions: tab|page
|
||||
script:
|
||||
- define keys_in_tab <proc[settings_all_settings_from_tab].context[<[tab]>]>
|
||||
- define start_index <[page].mul[4].add[1]>
|
||||
- define end_index <[page].add[1].mul[4]>
|
||||
- determine <[keys_in_tab].get[<[start_index]>].to[<[end_index]>]>
|
||||
|
||||
settings_menu_is_last_page:
|
||||
debug: false
|
||||
type: procedure
|
||||
definitions: tab|page
|
||||
script:
|
||||
- define keys_in_tab <proc[settings_all_settings_from_tab].context[<[tab]>]>
|
||||
- define end_index <[page].add[1].mul[4]>
|
||||
- determine <[end_index].is_more_than_or_equal_to[<[keys_in_tab].size>]>
|
||||
|
||||
settings_menu:
|
||||
debug: false
|
||||
type: task
|
||||
definitions: player|tab|page
|
||||
script:
|
||||
- define keys <script[settings_config].data_key[keys]>
|
||||
- define tabs <script[settings_config].data_key[tabs]>
|
||||
- define tab <[tab].if_null[<[tabs].get[1]>]>
|
||||
- define page <[page].if_null[0]>
|
||||
- define contents <map[]>
|
||||
- if <[page]> > 0:
|
||||
- define previous_button <item[ender_pearl[display=<&2><<><<>]]>
|
||||
- definemap content_entry:
|
||||
49:
|
||||
item: <[previous_button]>
|
||||
script: settings_menu
|
||||
definitions:
|
||||
player: <[player]>
|
||||
tab: <[tab]>
|
||||
page: <[page].sub[1]>
|
||||
- define contents <[contents].include[<[content_entry]>]>
|
||||
- if !<proc[settings_menu_is_last_page].context[<[tab]>|<[page]>]>:
|
||||
- define next_button <item[ender_eye[display=<&2><>><>>]]>
|
||||
- definemap content_entry:
|
||||
51:
|
||||
item: <[next_button]>
|
||||
script: settings_menu
|
||||
definitions:
|
||||
player: <[player]>
|
||||
tab: <[tab]>
|
||||
page: <[page].add[1]>
|
||||
- define contents <[contents].include[<[content_entry]>]>
|
||||
- foreach <[tabs]> as:t:
|
||||
- define tab_button <item[book[display=<&b><[t]>]]>
|
||||
- definemap content_entry_value:
|
||||
item: <[tab_button]>
|
||||
script: settings_menu
|
||||
definitions:
|
||||
player: <[player]>
|
||||
tab: <[t]>
|
||||
page: 0
|
||||
- define content_entry <map[].with[<[loop_index]>].as[<[content_entry_value]>]>
|
||||
- define contents <[contents].include[<[content_entry]>]>
|
||||
- foreach <proc[settings_all_settings_from_page_from_tab].context[<[tab]>|<[page]>]> as:setting_key:
|
||||
- define setting_item <item[paper[display=<&3><[keys].get[<[setting_key]>].get[name]>]]>
|
||||
- definemap content_entry_value:
|
||||
item: <[setting_item]>
|
||||
- define content_entry <map[].with[<[loop_index].mul[9].add[1]>].as[<[content_entry_value]>]>
|
||||
- define contents <[contents].include[<[content_entry]>]>
|
||||
- run menu_open def.player:<[player]> def.title:Settings def.size:54 def.contents:<[contents]>
|
||||
|
||||
Reference in New Issue
Block a user