Type object
File match mainmenu.yml mainmenu.yaml mainmenu.json
Schema URL https://catalog.lintel.tools/schemas/schemastore/minecraft-custom-main-menu-mod/latest.json
Source https://www.schemastore.org/minecraft-custom-main-menu-mod.json

Validate with Lintel

npx @lintel/lintel check
Type: object

A schema describing the structure of the JSON configuration files used by the Custom Main Menu Minecraft mod.

Properties

images object

A dictionary of image definitions which specify images to be displayed on the current menu.

buttons object

A dictionary of button definitions which specify buttons to be displayed on the current menu.

labels object

A dictionary of label definitions which specify text labels to be displayed on the current menu.

other object

A dictionary of special properties such as splash texts, backgrounds, and panoramas.

All of: variant, variant, variant, variant

Definitions

size object

A definition for the size of an element.

width integer

The width of the element in pixels.

height integer

The height of the element in pixels.

position object

A definition for the position of an element.

posX integer

The offset on the X-axis of the element on the screen from the alignment position. For example: if the alignment is set to 'top_center' and the posX is set to 0, the element's left edge will be aligned with the center of the screen. If posY is also set to 0, the element's top edge will be at the top of the screen.

posY integer

The offset on the Y-axis of the element on the screen from the alignment position. For example: if the alignment is set to 'top_center' and the posX is set to 0, the element's left edge will be aligned with the center of the screen. If posY is also set to 0, the element's top edge will be at the top of the screen.

rect object

A definition for a rectangular area. Can be used to define the position and size of buttons, images, and other elements.

alignment object
alignment string

The alignment of the element relative to the screen.

Values: "top_right" "top_left" "top_center" "right_center" "left_center" "center" "button" "bottom_right" "bottom_left" "bottom_center"
image object

An image definition.

slideshow object

Defines the image as a slideshow, which cycles through various images, having a fading transition between them.

images string[] required

A list of An image resource identifiers representing the images to be displayed in the slideshow.

displayDuration integer required

The duration in Minecraft ticks that each image in the slideshow is displayed for before transitioning to the next.

fadeDuration integer required

The duration in Minecraft ticks that the transition between images in the slideshow lasts for.

shuffle boolean

Whether the order of the images should be shuffled each time Minecraft runs.

synced boolean

Synced is a property for slideshows, panoramas and splash texts on the current menu.

If it is set to true, instead of creating a new slideshow/panorama/splash text instance each time, the current menu will use the same one as the main menu. Therefore the panorama and/or the slideshow will continue to run where they left off when switching GUIs, and the splash text will stay the same.

Notice that this property should only be set on the GUIs you want synced to the main menu, not on the main menu itself. Also if the main menu doesn't have a slideshow/panorama/splash text but you set it to sync in another menu, your game will probably crash.

Notice that synced only works on a background slideshow, it will have no effect on an image that is a slideshow.

button object

A button definition. Buttons execute actions when clicked, which can be: opening a GUI (including custom ones), connecting to a server, opening a link, or loading a world.

buttonAction object

The action to be executed when the button is clicked.

type string | string | string | string | string | string | string
text string

A text resource identifier representing the text to be displayed.

label object

A label definition. Labels are used to display text on the screen.

background object | string

A regular background of the current menu. Can be a static image, a slideshow, or the default background of eg. the options menu.

Notice that you cannot have both a background image and a panorama at the same time.

panorama object

A panorama background of the current menu, made up of 6 images.

Notice that you cannot have both a background image and a panorama at the same time

images string[] | string

Either a list of image resource identifiers representing images to be displayed in the panorama, or a single image resource identifier in the form of a string.

blur boolean

Whether the panorama should be blurred.

gradient boolean

Whether the panorama should have a top-to-bottom white-to-back gradient overlay.

animate boolean

Whether the panorama should spin like normal.

animationSpeed integer

The integer multiple of the speed of the panorama animation. 1 is the default speed, 2 is double the speed, -1 makes it play in reverse, etc.

position integer

At which position the panorama should start from (or stay at, if 'animate' is false).

TODO: What is the range and step of this property?

synced boolean

Synced is a property for slideshows, panoramas and splash texts on the current menu.

If it is set to true, instead of creating a new slideshow/panorama/splash text instance each time, the current menu will use the same one as the main menu. Therefore the panorama and/or the slideshow will continue to run where they left off when switching GUIs, and the splash text will stay the same.

Notice that this property should only be set on the GUIs you want synced to the main menu, not on the main menu itself. Also if the main menu doesn't have a slideshow/panorama/splash text but you set it to sync in another menu, your game will probably crash.

Notice that synced only works on a background slideshow, it will have no effect on an image that is a slideshow.

splashText object

A splash text definition. Splash texts are the random text that appears on the main menu.