Files
2026-03-08 15:34:38 -05:00

1021 lines
28 KiB
JSON

/********************************************************
* (c) Mojang. All rights reserved *
* (c) Microsoft. All rights reserved. *
*********************************************************/
{
"namespace": "book",
// -----------------------------------------------
// EDU
// -----------------------------------------------
"screenshot": {
"type": "image",
"texture_file_system": "$screenshot_file_system",
"layer": 3,
"anchor_from": "center",
"anchor_to": "center",
"$screenshot_collection_name|default": "book_pages",
"bindings": [
{
"binding_name": "#screenshot_path",
"binding_name_override": "#texture",
"binding_type": "collection",
"binding_collection_name": "$screenshot_collection_name"
}
]
},
"screenshot_frame": {
"type": "image",
"texture": "textures/ui/screenshot_frame",
"layer": 1,
"anchor_from": "center",
"anchor_to": "center",
"$caption_enabled|default": true,
"controls": [
{
"caption_edit@book.page_caption": {
"layer": 3,
"visible": "$caption_enabled"
}
}
]
},
"photo_corner": {
"type": "image",
"size": [ 19, 19 ],
"layer": 1
},
"photo_corner_bl@book.photo_corner": {
"texture": "textures/ui/photo_corner_bl",
"offset": [ -1, 1 ],
"anchor_to": "bottom_left",
"anchor_from": "bottom_left"
},
"photo_corner_br@book.photo_corner": {
"texture": "textures/ui/photo_corner_br",
"offset": [ 1, 1 ],
"anchor_to": "bottom_right",
"anchor_from": "bottom_right"
},
"photo_corner_tr@book.photo_corner": {
"texture": "textures/ui/photo_corner_tr",
"offset": [ 1, -1 ],
"anchor_to": "top_right",
"anchor_from": "top_right"
},
"photo_corner_tl@book.photo_corner": {
"texture": "textures/ui/photo_corner_tl",
"offset": [ -1, -1 ],
"anchor_to": "top_left",
"anchor_from": "top_left"
},
"page_caption@book.page_text_edit": {
"size": [ "100%-20px", 22 ],
"offset": [ 0, 0 ],
"anchor_from": "bottom_middle",
"anchor_to": "bottom_middle",
"max_length": 32
},
"page_photo": {
"type": "panel",
"layer": 1,
"anchor_from": "center",
"anchor_to": "center",
// Photos are square, so use x for y size
"size": [ "100%-32px", "100%x" ],
"offset": [ 0, -2 ],
"bindings": [
{
"binding_name": "#is_photo_page",
"binding_name_override": "#visible",
"binding_type": "collection",
"binding_collection_name": "book_pages"
}
],
"controls": [
{ "screenshot@book.screenshot": {} },
{ "screenshot_frame@book.screenshot_frame": { "layer": 4 } },
{ "photo_corner_bl@book.photo_corner_bl": { "layer": 5 } },
{ "photo_corner_br@book.photo_corner_br": { "layer": 5 } },
{ "photo_corner_tl@book.photo_corner_tl": { "layer": 5 } },
{ "photo_corner_tr@book.photo_corner_tr": { "layer": 5 } }
]
},
"pick_item@common.empty_panel": {
"type": "panel",
"size": [ 100, 100 ],
"bindings": [
{
"binding_type": "collection",
"binding_name": "#pick_item_visible",
"binding_name_override": "#visible",
"binding_collection_name": "pick_collection"
}
],
"controls": [
{
"photo@book.page_photo": {
"size": [ "100% - 8px", "100% - 8px" ],
"bindings": [],
"$screenshot_collection_name": "pick_collection",
"$caption_enabled": false
}
},
{
"button": {
"type": "button",
"size": [ "100% - 8px", "100% - 8px" ],
"bindings": [
{
"binding_type": "collection_details",
"binding_collection_name": "pick_collection",
"binding_collection_prefix": "picking"
}
],
"button_mappings": [
{
"from_button_id": "button.menu_select",
"to_button_id": "button.picked",
"mapping_type": "pressed"
}
]
}
}
]
},
"pick_scrolling_content": {
"type": "grid",
"size": [ "default", "default" ],
"grid_item_template": "book.pick_item",
"grid_dimension_binding": "#pick_grid_dimensions",
"collection_name": "pick_collection",
"bindings": [
{
"binding_name": "#pick_grid_dimensions"
}
]
},
"pick_panel": {
"type": "image",
"texture": "textures/ui/book_frame",
"size": [ "225px", "218px" ],
"controls": [
{
"scroll@common.scrolling_panel": {
"$show_background": false,
"$scrolling_pane_size": [ "100% - 16px", "100% - 28px" ],
"$scrolling_pane_offset": [ 8, 18 ],
"$scrolling_content": "book.pick_scrolling_content"
}
},
{
"close_button@book.close_button": {
"offset": [ -3, 5 ]
}
}
]
},
// -----------------------------------------------
// Background
// -----------------------------------------------
"blank": {
"type": "image",
"layer": 4
},
"book_background": {
"type": "image",
"layer": 0,
"texture": "textures/ui/book_back"
},
"book_spine_image": {
"type": "image",
"layer": 1,
"texture": "textures/ui/book_spine"
},
"page_crease_left_image": {
"type": "image",
"layer": 3,
"anchor_from": "right_middle",
"anchor_to": "right_middle",
"texture": "textures/ui/book_pagecrease_left"
},
"page_crease_right_image": {
"type": "image",
"layer": 3,
"anchor_from": "left_middle",
"anchor_to": "left_middle",
"texture": "textures/ui/book_pagecrease_right"
},
"page_edge_left_image": {
"type": "image",
"layer": 2,
"anchor_from": "left_middle",
"anchor_to": "left_middle",
"texture": "textures/ui/book_pageedge_left"
},
"page_edge_right_image": {
"type": "image",
"layer": 2,
"anchor_from": "right_middle",
"anchor_to": "right_middle",
"texture": "textures/ui/book_pageedge_right"
},
"text_edit_hover_image": {
"type": "image",
"layer": 4,
"texture": "textures/ui/book_texteditbox_hover"
},
// -----------------------------------------------
// Button
// -----------------------------------------------
"base_button@common.button": {
"layer": 5,
"$default_texture|default": "",
"$hover_texture|default": "",
"$pressed_texture|default": "",
"$button_bind_type": "global",
"bindings": [
{
"binding_name": "$button_active",
"binding_name_override": "#visible",
"binding_type": "$button_bind_type",
"binding_collection_name": "book_pages"
},
{
"binding_type": "collection_details",
"binding_collection_name": "book_pages"
}
],
"controls": [
{
"default": {
"type": "image",
"texture": "$default_texture"
}
},
{
"hover": {
"type": "image",
"texture": "$hover_texture"
}
},
{
"pressed": {
"type": "image",
"texture": "$pressed_texture"
}
}
]
},
"book_buttons_stack_panel_holder": {
"type": "panel",
"size": [ "100%c", "100%c" ],
"controls": [
{
"book_buttons_stack_panel": {
"type": "stack_panel",
"orientation": "horizontal",
"size": [ "100%c", "100%c" ],
"controls": [
{
"sign_button@common_buttons.light_text_form_fitting_button": {
"$form_fitting_min_size": [ 100, 0 ],
"$pressed_button_name": "button.sign_book",
"$button_text": "book.signButton",
"bindings": [
{
"binding_name": "#editable",
"binding_name_override": "#visible"
}
]
}
},
{
"padding_1": {
"type": "panel",
"size": [ 10, 0 ],
"ignored": "(not $education_edition)",
"bindings": [
{
"binding_name": "(not #editable)",
"binding_name_override": "#visible"
}
]
}
},
{
"export_button@common_buttons.light_text_form_fitting_button": {
"ignored": "(not $education_edition)",
"$form_fitting_min_size": [ 100, 0 ],
"$pressed_button_name": "button.export_book",
"$button_text": "book.export",
"bindings": [
{
"binding_name": "(not #editable)",
"binding_name_override": "#visible"
}
]
}
}
]
}
}
]
},
"cover_buttons_stack_panel_holder": {
"type": "panel",
"size": [ "100%", "100%c" ],
"controls": [
{
"cover_buttons_stack_panel": {
"type": "stack_panel",
"orientation": "horizontal",
"size": [ "100%c", 20 ],
"controls": [
{
"finalize_button@common_buttons.light_text_form_fitting_button": {
"$form_fitting_min_size": [ 100, 0 ],
"$pressed_button_name": "button.finalize",
"$button_text": "book.finalizeButton",
"bindings": [
{
"binding_name": "#finalize_button_enabled",
"binding_name_override": "#enabled"
}
]
}
},
{
"padding_1": {
"type": "panel",
"size": [ 10, "100%" ]
}
},
{
"cancel_sign_button@common_buttons.light_text_form_fitting_button": {
"$form_fitting_min_size": [ 100, 0 ],
"$pressed_button_name": "button.book_exit",
"$button_text": "gui.cancel"
}
}
]
}
}
]
},
"close_button@common.compact_close_button": {
"layer": 2,
"anchor_from": "top_right",
"anchor_to": "top_right",
"$close_button_to_button_id": "button.book_exit",
"bindings": [
{
"binding_name": "#close_button_visible",
"binding_name_override": "#visible"
}
]
},
// -----------------------------------------------
// Content
// -----------------------------------------------
"page_text_edit@common.multiline_text_edit_box": {
"layer": 4,
"$text_box_text_color": "$book_page_text_color",
"$color": "$book_page_text_color",
"$disabled_alpha": 1.0,
"constrain_to_rect": true,
"$text_edit_box_content_binding_type": "collection",
"$text_edit_box_grid_collection_name": "book_pages",
"$text_box_enabled_binding_name": "#editable",
"$text_box_name": "#page_text_box",
"$text_background_default": "book.blank",
"$text_edit_box_content_binding_name": "#text_box_item_name",
"$text_background_hover": "book.text_edit_hover_image",
"$text_edit_box_focusable_binding_name": "#editable"
},
"page_text@book.page_text_edit": {
"size": [ "100%-32px", "100%-52px" ],
"offset": [ 0, "23px" ],
"anchor_from": "top_middle",
"anchor_to": "top_middle",
"$text_edit_box_focusable_binding_name": "#editable",
"max_length": "$max_page_length",
"$text_edit_visible_binding_name": "#is_text_page",
"$text_edit_visible_binding_collection_name": "book_pages",
"$text_edit_visible_binding_type|default": "collection"
},
"page_number_label": {
"type": "label",
"offset": [ 0, 13 ],
"layer": 5,
"color": "$book_page_number_color",
"anchor_from": "top_middle",
"anchor_to": "top_middle",
"localize": false,
"text": "#page_number",
"bindings": [
{
"binding_name": "#page_number",
"binding_type": "collection",
"binding_collection_name": "book_pages"
},
{
"binding_type": "collection_details",
"binding_collection_name": "book_pages"
}
]
},
// Padded button for edit panel, as when the button disappears, its padding needs to as well
"padded_button": {
"type": "panel",
"size": [ "100%c + 2px", "100%c" ],
"$button_bind_type": "global",
"controls": [
{
"button@book.base_button": {
"size": "$button_size"
}
}
],
"bindings": [
{
"binding_name": "$button_active",
"binding_name_override": "#visible",
"binding_type": "$button_bind_type",
"binding_collection_name": "book_pages"
},
{
"binding_type": "collection_details",
"binding_collection_name": "book_pages"
}
]
},
"page_buttons_panel": {
"type": "stack_panel",
"orientation": "horizontal",
"size": [ "100%c", 12 ],
"offset": [ 0, -16 ],
"anchor_from": "bottom_middle",
"anchor_to": "bottom_middle",
"controls": [
{
"swap_page_left@book.padded_button": {
"$button_size": [ 18, 12 ],
"$pressed_button_name": "button.swap_page_left",
"$button_active": "#swap_left_active",
"$button_bind_type": "collection",
"$default_texture": "textures/ui/book_shiftleft_default",
"$hover_texture": "textures/ui/book_shiftleft_hover",
"$pressed_texture": "textures/ui/book_shiftleft_pressed"
}
},
{
"insert_text_page@book.padded_button": {
"$button_size": [ 12, 12 ],
"$pressed_button_name": "button.insert_text_page",
"$button_active": "#insert_page_active",
"$button_bind_type": "collection",
"$default_texture": "textures/ui/book_addtextpage_default",
"$hover_texture": "textures/ui/book_addtextpage_hover",
"$pressed_texture": "textures/ui/book_addtextpage_pressed"
}
},
{
"insert_photo_page@book.padded_button": {
"$button_size": [ 15, 12 ],
"ignored": "(not $education_edition)",
"$pressed_button_name": "button.insert_photo_page",
"$button_active": "#insert_photo_page_active",
"$button_bind_type": "collection",
"$default_texture": "textures/ui/book_addpicture_default",
"$hover_texture": "textures/ui/book_addpicture_hover",
"$pressed_texture": "textures/ui/book_addpicture_pressed"
}
},
{
"delete_page@book.padded_button": {
"$button_size": [ 12, 12 ],
"$pressed_button_name": "button.delete_page",
"$button_active": "#edit_controls_active",
"$default_texture": "textures/ui/book_trash_default",
"$hover_texture": "textures/ui/trash_hover",
"$pressed_texture": "textures/ui/trash_pressed"
}
},
{
"swap_page_right@book.padded_button": {
"$button_size": [ 18, 12 ],
"$pressed_button_name": "button.swap_page_right",
"$button_active": "#swap_right_active",
"$button_bind_type": "collection",
"$default_texture": "textures/ui/book_shiftright_default",
"$hover_texture": "textures/ui/book_shiftright_hover",
"$pressed_texture": "textures/ui/book_shiftright_pressed"
}
}
],
"bindings": [
{
"binding_name": "#edit_controls_active",
"binding_name_override": "#visible",
"binding_type": "collection",
"binding_collection_name": "book_pages"
},
{
"binding_type": "collection_details",
"binding_collection_name": "book_pages"
}
]
},
"page_content_panel": {
"type": "panel",
"offset": "$page_content_offset",
"controls": [
{ "page_text@book.page_text": {} },
{ "page_photo@book.page_photo": {} },
{ "page_number_label@book.page_number_label": {} },
{ "page_buttons_panel@book.page_buttons_panel": {} },
{
"edit_page@book.base_button": {
"size": [ 13, 12 ],
"offset": [ 0, -16 ],
"anchor_from": "bottom_middle",
"anchor_to": "bottom_middle",
"$pressed_button_name": "button.edit_page",
"$button_active": "#edit_button_active",
"$button_bind_type": "collection",
"$default_texture": "textures/ui/book_edit_default",
"$hover_texture": "textures/ui/book_edit_hover",
"$pressed_texture": "textures/ui/book_edit_pressed"
}
}
],
"bindings": [
{
"binding_name": "#page_visible",
"binding_name_override": "#visible",
"binding_type": "collection",
"binding_collection_name": "book_pages"
}
]
},
"title_label": {
"type": "label",
"offset": [ 0, 30 ],
"layer": 2,
"anchor_to": "top_middle",
"anchor_from": "top_middle",
"text": "book.editTitle",
"color": "$book_title_label_color",
"bindings": [
{
"binding_name": "#editable",
"binding_name_override": "#visible"
}
]
},
"title_text_box@common.text_edit_box": {
"size": [ "100% - 20px", 14 ],
"offset": [ 0, 46 ],
"layer": 2,
"anchor_to": "top_middle",
"anchor_from": "top_middle",
"max_length": "$max_title_length",
"$text_alignment": "center",
"$place_holder_text": "book.titleHere",
"$text_box_text_color": "$book_title_color",
"$place_holder_text_color": "$book_title_placeholder_color",
"$color": "$book_title_color",
"$text_box_name": "#title_text_box",
"$text_box_enabled_binding_name": "#editable",
"$text_edit_box_content_binding_name": "#title_text_box_item_name",
"$text_background_default": "book.blank",
"$text_background_hover": "book.text_edit_hover_image"
},
"author_label": {
"type": "label",
"size": [ "default", 18 ],
"offset": [ 0, "4px" ],
"text": "book.byAuthor",
"color": "$book_author_label_color"
},
"author_text_box@common.text_edit_box": {
"size": [ "100% - 1px", "100%" ],
"offset": [ "1px", 0 ],
"layer": 3,
"constrain_to_rect": true,
"$text_alignment": "left",
"$text_box_text_color": "$book_author_color",
"$color": "$book_author_color",
"$text_box_name": "#author_text_box",
"$text_box_enabled_binding_name": "#author_editable",
"$text_edit_box_content_binding_name": "#author_text_box_item_name",
"$text_background_default": "book.blank",
"$text_background_hover": "book.text_edit_hover_image"
},
"author_stack_panel": {
"type": "stack_panel",
"size": [ "100% - 26px", 0 ],
"offset": [ 0, 62 ],
"layer": 2,
"anchor_to": "top_middle",
"anchor_from": "top_middle",
"orientation": "horizontal",
"controls": [
{
"author_label_panel": {
"type": "panel",
"size": [ "100%c", "100%c" ],
"controls": [
{ "author_label@book.author_label": {} }
]
}
},
{
"author_text_panel": {
"type": "panel",
"size": [ "fill", 18 ],
"controls": [
{ "author_text_box@book.author_text_box": {} }
]
}
}
]
},
"warning_label": {
"type": "label",
"offset": [ 0, 86 ],
"size": [ "100%-30px", "100%" ],
"layer": 2,
"anchor_to": "top_middle",
"anchor_from": "top_middle",
"text": "book.finalizeWarning",
"text_alignment": "left",
"color": "$book_warning_color",
"bindings": [
{
"binding_name": "#editable",
"binding_name_override": "#visible"
}
]
},
"cover_content_panel": {
"type": "panel",
"controls": [
{ "title_label@book.title_label": {} },
{ "title_text_box@book.title_text_box": {} },
{ "author_stack_panel@book.author_stack_panel": {} },
{ "warning_label@book.warning_label": {} }
]
},
// -----------------------------------------------
// Screen
// -----------------------------------------------
"cover_and_buttons_panel": {
"type": "panel",
"size": [ "100%", "100%" ],
"max_size": [ "100%", "228px" ],
"controls": [
{
"cover_panel": {
"type": "panel",
"size": "$page_size",
"anchor_from": "top_middle",
"anchor_to": "top_middle",
"$book_background_image|default": "textures/ui/book_cover",
"controls": [
{ "cover_content_panel@book.cover_content_panel": {} },
{
"book_background": {
"type": "image",
"layer": 1,
"texture": "$book_background_image"
}
},
{
"close_button@book.close_button": {
"offset": [ -14, 12 ]
}
}
]
}
},
{
"cover_buttons_stack_panel_holder@book.cover_buttons_stack_panel_holder": {
"anchor_from": "bottom_middle",
"anchor_to": "bottom_middle"
}
}
]
},
"page_panel": {
"type": "panel",
"size": "$page_size",
"$page_content_offset|default": [ 0, 0 ],
"$page_crease_image|default": "book.page_crease_left_image",
"$page_edge_image|default": "book.page_edge_left_image",
"$page_edge_offset|default": [ 7, -1 ],
"controls": [
{ "page_content_panel@book.page_content_panel": {} },
{
"$page_crease_image@$page_crease_image": {
"size": [ "100% - 40px", "100% - 14px" ],
"offset": [ 0, "-2px" ]
}
},
{
"$page_edge_image@$page_edge_image": {
"size": [ "100% - 7px", "100% - 16px" ],
"offset": "$page_edge_offset"
}
}
]
},
"book_grid": {
"type": "grid",
"grid_dimensions": [ 2, 1 ],
"collection_name": "book_pages",
"controls": [
{
"page_panel_left@book.page_panel": {
"grid_position": [ 0, 0 ],
"$page_content_offset": [ "5px", 0 ],
"$page_crease_image": "book.page_crease_left_image",
"$page_edge_image": "book.page_edge_left_image",
"$page_edge_offset": [ 7, -1 ]
}
},
{
"page_panel_right@book.page_panel": {
"grid_position": [ 1, 0 ],
"$page_content_offset": [ "-5px", 0 ],
"$page_crease_image": "book.page_crease_right_image",
"$page_edge_image": "book.page_edge_right_image",
"$page_edge_offset": [ -7, -1 ]
}
}
]
},
"book_and_buttons_panel": {
"type": "panel",
"size": [ "100%", "100%" ],
"max_size": [ "100%", "228px" ],
"controls": [
{
"book_panel": {
"type": "panel",
"size": "$book_size",
"anchor_from": "top_middle",
"anchor_to": "top_middle",
"controls": [
{ "book_grid@book.book_grid": {} },
{ "book_background@book.book_background": {} },
{
"book_spine_image@book.book_spine_image": {
"size": [ "8px", "100% - 2px" ]
}
},
{
"close_button@book.close_button": {
"offset": [ -14, 12 ]
}
},
{
"prev_button@book.base_button": {
"size": [ 12, 12 ],
"offset": [ 11, 0 ],
"anchor_from": "left_middle",
"anchor_to": "left_middle",
"$pressed_button_name": "button.prev_page",
"$button_active": "#prev_page_button_active",
"$default_texture": "textures/ui/book_arrowleft_default",
"$hover_texture": "textures/ui/book_arrowleft_hover",
"$pressed_texture": "textures/ui/book_arrowleft_pressed"
}
},
{
"next_button@book.base_button": {
"size": [ 12, 12 ],
"offset": [ -11, 0 ],
"anchor_from": "right_middle",
"anchor_to": "right_middle",
"$pressed_button_name": "button.next_page",
"$button_active": "#next_page_button_active",
"$default_texture": "textures/ui/book_arrowright_default",
"$hover_texture": "textures/ui/book_arrowright_hover",
"$pressed_texture": "textures/ui/book_arrowright_pressed"
}
}
]
}
},
{
"book_buttons_stack_panel_holder@book.book_buttons_stack_panel_holder": {
"anchor_from": "bottom_middle",
"anchor_to": "bottom_middle"
}
}
]
},
// Root panel all others parented to
"root_panel": {
"type": "panel",
"layer": 1,
"anchor_from": "center",
"anchor_to": "center"
},
"book_screen@common.base_screen": {
"$close_on_player_hurt|default": true,
"close_on_player_hurt": "$close_on_player_hurt",
"button_mappings": [
{
"from_button_id": "button.menu_exit",
"to_button_id": "button.book_exit",
"mapping_type": "global"
},
{
"from_button_id": "button.menu_cancel",
"to_button_id": "button.book_exit",
"mapping_type": "global"
},
{
"from_button_id": "button.menu_vr_realign",
"to_button_id": "button.menu_vr_realign",
"mapping_type": "global",
"scope": "controller"
}
],
"$screen_content": "book.book_screen_content"
},
"book_screen_content": {
"type": "panel",
"controls": [
{
"root_panel@book.root_panel": {
"$book_size": [ "320px", "200px" ],
"$page_size": [ "160px", "200px" ],
"anchor_from": "center",
"anchor_to": "center",
"controls": [
{
"book_and_buttons_panel@book.book_and_buttons_panel": {
"bindings": [
{
"binding_name": "#viewing",
"binding_name_override": "#visible"
}
]
}
},
{
"cover_and_buttons_panel@book.cover_and_buttons_panel": {
"bindings": [
{
"binding_name": "#signing",
"binding_name_override": "#visible"
}
]
}
},
{
"pick_panel@book.pick_panel": {
"bindings": [
{
"binding_name": "#picking",
"binding_name_override": "#visible"
}
]
}
},
{
"export_progress@progress.modal_progress_panel_no_cancel": {
"$modal_screen_size": [ 204, 140 ],
"bindings": [
{
"binding_name": "#exporting",
"binding_name_override": "#visible"
}
]
}
},
{
"gamepad_helper_a@common.gamepad_helper_a": {
"anchor_from": "bottom_left",
"anchor_to": "bottom_left"
}
},
{
"gamepad_helper_b@common.gamepad_helper_b": {
"anchor_from": "bottom_right",
"anchor_to": "bottom_right"
}
}
]
}
}
]
}
}