minecraft-bedrock-json-types
Version:
Typescript types for Minecraft Bedrock's add-on json configuration files.
1,291 lines (1,290 loc) • 47.2 kB
TypeScript
/**
* This file was automatically generated by json-schema-to-typescript.
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
* and run json-schema-to-typescript to regenerate this file.
*/
type Namespace = string;
type UIDefinition = (Element | Animation | ControlFactory);
/**
* The controls that are contained within this element.
*/
type Controls = ({
[k: string]: SubElement;
}[] | C);
type SubElement = (Element | Animation | ControlFactory);
/**
* The type of the animation.
*/
type AnimationType = (("wait" | "offset" | "alpha" | "flip_book" | "aseprite_flip_book" | "clip" | "color" | "size" | "uv") | C);
type C = (ElementReference | ElementReference1 | VariableReference);
/**
* A reference to an element: using the following syntax: [element_name]@[namespace_reference].[element_name_reference]
*/
type ElementReference = string;
/**
* A reference to an element: using the following syntax: [namespace_reference].[element_name_reference]
*/
type ElementReference1 = string;
/**
* A variable is a reference to a value that can be used in the UI.
*/
type VariableReference = (VariableReference1 & VariableReference2);
type VariableReference1 = {
[k: string]: unknown;
};
type VariableReference2 = string;
/**
* The name of the animation that will be reset.
*/
type AnimationResetName = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
type VariableReference3 = (VariableReference1 & VariableReference2);
/**
* If true, the element will be destroyed at the end of the animation.
*/
type DestroyAtEnd = (("popup" | "details_bubble_control" | "bundle_mode_popup_control" | "selected_item_details") | Variable);
/**
* A variable is a reference to a value that can be used in the UI.
*/
type Variable = (Variable1 & Variable2);
type Variable1 = string;
type Variable2 = string;
/**
* If true, the animation will not be fast forwarded.
*/
type DisableAnimFastForward = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
type VariableReference4 = (VariableReference1 & VariableReference2);
/**
* The duration of the animation.
*/
type Duration = (number | ((ElementReference | ElementReference1 | VariableReference5) & string));
type VariableReference5 = (VariableReference1 & VariableReference2);
/**
* The easing of the animation.
*/
type Easing = (("linear" | "spring" | "in_quad" | "out_quad" | "in_out_quad" | "in_cubic" | "out_cubic" | "in_out_cubic" | "in_quart" | "out_quart" | "in_out_quart" | "in_quint" | "out_quint" | "in_out_quint" | "in_sine" | "out_sine" | "in_out_sine" | "in_expo" | "out_expo" | "in_out_expo" | "in_circ" | "out_circ" | "in_out_circ" | "in_bounce" | "out_bounce" | "in_out_bounce" | "in_back" | "out_back" | "in_out_back" | "in_elastic" | "out_elastic" | "in_out_elastic") | C);
/**
* The event that will be triggered when the animation ends.
*/
type EndEvent = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The FPS of the animation.
*/
type FPS = (number | ((ElementReference | ElementReference1 | VariableReference6) & string));
type VariableReference6 = (VariableReference1 & VariableReference2);
/**
* The number of frames in the animation.
*/
type FrameCount = (number | ((ElementReference | ElementReference1 | VariableReference6) & string));
/**
* The step of the frame.
*/
type FrameStep = (number | ((ElementReference | ElementReference1 | VariableReference6) & string));
/**
* The starting point of the animation.
*/
type From = (number | BI);
type BI = (((ElementReference | ElementReference1 | VariableReference7) & string) | [] | [Width] | [Width, Height]);
type VariableReference7 = (VariableReference1 & VariableReference2);
/**
* A variable
*/
type Width = (Width1 & Width2);
type Width1 = (("default" | "fill") | string | number);
type Width2 = string;
/**
* A variable
*/
type Height = (Height1 & Height2);
type Height1 = (("default" | "fill") | string | number);
type Height2 = string;
/**
* The initial UV of the animation.
*/
type InitialUV = (((ElementReference | ElementReference1 | VariableReference7) & string) | [] | [Width] | [Width, Height]);
/**
* The name of the next element.
*/
type Next = (ElementReference | ElementReference1 | VariableReference8);
type VariableReference8 = (VariableReference1 & VariableReference2);
/**
* The event that will be played.
*/
type PlayEvent = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* If true, this element will apply the same alpha value to its controlled element(s).
*/
type PropagateAlpha = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the animation will be reversible.
*/
type Reversible = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the animation will scale from the starting alpha.
*/
type ScaleFromStartingAlpha = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The ending point of the animation.
*/
type To = (number | BI);
/**
* The UV of the animation.
*/
type UV = (((ElementReference | ElementReference1 | VariableReference7) & string) | [] | [Width] | [Width, Height]);
/**
* The size of the UV.
*/
type UVSize = (((ElementReference | ElementReference1 | VariableReference7) & string) | [] | [Width] | [Width, Height]);
/**
* The type of the element
*/
type Type = "factory";
/**
* The IDs of the controls that will be created by the factory.
*/
type ControlIDs = (string | {
[k: string]: ControlID;
});
type ControlID = string;
/**
* The name of the control.
*/
type ControlName = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
type ControlName1 = string;
type ArrayName = ("bindings" | "controls");
type Operation = ("insert_back" | "insert_front" | "insert_after" | "insert_before" | "move_back" | "move_front" | "move_after" | "move_before" | "swap" | "remove" | "replace");
/**
* The bindings that are contained within this element.
*/
type Bindings = (C | Bindings1[]);
/**
* The name of the collection that the binding is in.
*/
type BindingCollectionName = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The prefix of the collection that the binding is in.
*/
type BindingCollectionPrefix = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The condition that must be met for the binding to be applied.
*/
type BindingCondition = (("once" | "always" | "always_when_visible" | "visible") | C);
/**
* The name of the binding. This is used to reference the binding in the element's properties.
*/
type BindingName = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The name of the binding. This is used to reference the binding in the element's properties.
*/
type BindingNameOverride = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The type of the binding.
*/
type BindingType = (("collection" | "global" | "collection_details" | "none" | "view") | Variable3);
type Variable3 = (Variable1 & Variable2);
/**
* If true, the binding will be ignored.
*/
type Ignored = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the binding will resolve sibling scope.
*/
type ResolveSiblingScope = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The name of the control that the binding is in.
*/
type SourceControlName = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The name of the property that the binding is in.
*/
type SourcePropertyName = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The name of the property that the binding is in.
*/
type TargetPropertyName = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The controls to add.
*/
type Controls1 = ({
[k: string]: SubElement1;
}[] | C);
type SubElement1 = (Element | Animation | ControlFactory);
/**
* Modifications to the element.
*/
type Modifications = {
control_name?: ControlName1;
array_name?: ArrayName;
operation?: Operation;
where?: Bindings;
target?: Bindings;
target_control?: string;
value?: (Bindings | Controls1);
[k: string]: unknown;
}[];
/**
* If true, the element will allow clipping.
*/
type AllowClipping = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will show the black and purple placeholder texture if the referenced image is not found.
*/
type AllowDebugMissingTexture = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will allow scrolling even when the content fits.
*/
type AllowScrollEvenWhenContentFits = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The alpha of the element.
*/
type Alpha = (C | number);
/**
* If true, the element will always handle the pointer.
*/
type AlwaysHandlePointer = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will always handle scrolling.
*/
type AlwaysHandleScrolling = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will always listen to input.
*/
type AlwaysListenToInput = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will always rotate.
*/
type AlwaysRotate = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The anchor point of the element. This is the point that the element will be positioned relative to.
*/
type AnchorFrom = (Anchor | Variable4);
/**
* An anchor is a reference to an element in the UI.
*/
type Anchor = ("bottom" | "bottom_left" | "bottom_right" | "bottom_middle" | "center" | "left" | "left_middle" | "right" | "right_middle" | "top" | "top_left" | "top_right" | "top_middle");
type Variable4 = (Variable1 & Variable2);
/**
* The anchor point of the element. This is the point that the element will be positioned relative to.
*/
type AnchorTo = (Anchor | Variable5);
type Variable5 = (Variable1 & Variable2);
/**
* The animations that are contained within this element.
*/
type Animations = (C | C[]);
/**
* The control that will be used for the background.
*/
type BackgroundControl = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The control that will be used for the background when hovered.
*/
type BackgroundHoverControl = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The type of the backup font.
*/
type BackupFontType = ("UIFont" | C);
/**
* If true, the element will use bilinear filtering.
*/
type Bilinear = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The button mappings that are contained within this element.
*/
type ButtonMappings = (C | ButtonMappings1[]);
type ButtonMapping = (string | boolean);
/**
* If true, the screen will be cached.
*/
type CacheScreen = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The control that will be checked.
*/
type CheckedControl = ("checked" | C);
/**
* The control that will be checked when hovered.
*/
type CheckedHoverControl = ("checked" | C);
/**
* The control that will be checked when locked.
*/
type CheckedLockedControl = ("checked" | C);
/**
* The control that will be checked when locked and hovered.
*/
type CheckedLockedHoverControl = ("checked" | C);
/**
* The direction that the element will be clipped in.
*/
type ClipDirection = (("left" | "right" | "top" | "bottom") | C);
/**
* If true, the element will be clipped pixel perfect.
*/
type ClipPixelPerfect = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will clip its children.
*/
type ClipsChildren = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will close when the player is hurt.
*/
type CloseOnPlayerHurt = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The index of the collection that the element is in.
*/
type CollectionIndex = (number | ((ElementReference | ElementReference1 | VariableReference6) & string));
/**
* The name of the collection that the element is in.
*/
type CollectionName = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The color of the text. This can be a hex color code or a color keyword.
*/
type Color = (((ElementReference | ElementReference1 | VariableReference9) & string) | [] | [Red] | [Red, Green] | [Red, Green, Blue]);
type VariableReference9 = (VariableReference1 & VariableReference2);
/**
* A variable
*/
type Red = string;
/**
* A variable
*/
type Green = string;
/**
* A variable
*/
type Blue = string;
/**
* If true, the element will consume hover events.
*/
type ConsumeHoverEvents = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will be contained.
*/
type Contained = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The default control that will be focused.
*/
type DefaultControl = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The default focus precedence of the element.
*/
type DefaultFocusPrecedence = (number | ((ElementReference | ElementReference1 | VariableReference6) & string));
/**
* If true, the element will be draggable.
*/
type Draggable = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The area that the dropdown will be in.
*/
type DropdownArea = (((ElementReference | ElementReference1 | VariableReference10) & string) | [] | [X] | [X, Y] | [X, Y, Width3] | [X, Y, Width3, Height3]);
type VariableReference10 = (VariableReference1 & VariableReference2);
/**
* A variable
*/
type X = (("default" | "fill") | string | number);
/**
* A variable
*/
type Y = (("default" | "fill") | string | number);
/**
* A variable
*/
type Width3 = (("default" | "fill") | string | number);
/**
* A variable
*/
type Height3 = (("default" | "fill") | string | number);
/**
* The control that will be used for the dropdown content.
*/
type DropdownContentControl = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The name of the dropdown.
*/
type DropdownName = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* If true, the element will enable directional toggling.
*/
type EnableDirectionalToggling = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will enable the profanity filter.
*/
type EnableProfanityFilter = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will be enabled when a new line is created.
*/
type EnabledNewline = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will be enabled.
*/
type Enabled = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The factory that will be used to create the element.
*/
type Factory = ({
control_ids?: ControlIDs;
control_name?: ControlName2;
factory_variables?: FactoryVariables;
name?: Name;
[k: string]: VariableDefinition;
} | C);
/**
* The name of the control that will be created by the factory.
*/
type ControlName2 = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The variables that will be used by the factory.
*/
type FactoryVariables = (FactoryVariable[] | string);
type FactoryVariable = string;
/**
* The name of the factory.
*/
type Name = string;
/**
* If true, the element will fill the screen.
*/
type Fill = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
type FocusChangeDown = ("FOCUS_OVERRIDE_STOP" | C);
type FocusChangeLeft = ("FOCUS_OVERRIDE_STOP" | C);
type FocusChangeRight = ("FOCUS_OVERRIDE_STOP" | C);
type FocusChangeUp = ("FOCUS_OVERRIDE_STOP" | C);
/**
* If true, the element will be a focus container.
*/
type FocusContainer = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will be focus enabled.
*/
type FocusEnabled = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The identifier of the element that will be focused.
*/
type FocusIdentifier = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* If true, the element will be focus magnet enabled.
*/
type FocusMagnetEnabled = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The focus navigation mode that will be used when navigating down.
*/
type FocusNavigationModeDown = (NavigationMode | C);
/**
* The navigation mode of the UI.
*/
type NavigationMode = ("contained" | "stop");
/**
* The focus navigation mode that will be used when navigating left.
*/
type FocusNavigationModeLeft = (NavigationMode | C);
/**
* The focus navigation mode that will be used when navigating right.
*/
type FocusNavigationModeRight = (NavigationMode | C);
/**
* The focus navigation mode that will be used when navigating up.
*/
type FocusNavigationModeUp = (NavigationMode | C);
/**
* If true, the element will be focus wrap enabled.
*/
type FocusWrapEnabled = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The scale factor of the font.
*/
type FontScaleFactor = (number | ((ElementReference | ElementReference1 | VariableReference5) & string));
/**
* The size of the font.
*/
type FontSize = ("normal" | C);
/**
* The type of the font.
*/
type FontType = (("smooth" | "MinecraftTen" | "MinecraftTenEmoticon") | Variable6);
type Variable6 = (Variable1 & Variable2);
/**
* If true, the element will be rendered below the screen.
*/
type ForceRenderBelow = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the texture will be reloaded.
*/
type ForceTextureReload = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The binding that will be used for the grid dimension.
*/
type GridDimensionBinding = (GridDimensionBinding1 & GridDimensionBinding2);
type GridDimensionBinding1 = string;
type GridDimensionBinding2 = string;
/**
* The dimensions of the grid.
*/
type GridDimensions = (((ElementReference | ElementReference1 | VariableReference7) & string) | [] | [Width] | [Width, Height]);
/**
* The template that will be used for the grid item.
*/
type GridItemTemplate = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The position of the grid.
*/
type GridPosition = (((ElementReference | ElementReference1 | VariableReference7) & string) | [] | [Width] | [Width, Height]);
/**
* The type of the grid rescaling.
*/
type GridRescalingType = ("horizontal" | C);
/**
* If true, the element will handle deselect.
*/
type HandleDeselect = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will handle select.
*/
type HandleSelect = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will hide the hyphen.
*/
type HideHyphen = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The control that will be hovered.
*/
type HoverControl = ("hover" | C);
/**
* If true, the element will be hover enabled.
*/
type HoverEnabled = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will be ignored.
*/
type Ignored1 = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The images that are contained within this element.
*/
type Images = (C | C[]);
/**
* The control that will be indented.
*/
type IndentControl = ("indent" | C);
/**
* If true, the element will inherit the maximum height of its siblings.
*/
type InheritMaxSiblingHeight = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will inherit the maximum width of its siblings.
*/
type InheritMaxSiblingWidth = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will be modal.
*/
type IsModal = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will be showing the menu.
*/
type IsShowingMenu = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will jump to the bottom when updated.
*/
type JumpToBottomOnUpdate = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will keep its ratio.
*/
type KeepRatio = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The layer that the element will be rendered in. Higher layers are rendered on top of lower layers.
*/
type Layer = (number | ((ElementReference | ElementReference1 | VariableReference6) & string));
/**
* If true, the element will be localized.
*/
type Localize = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The control that will be locked.
*/
type LockedControl = (("locked" | "") | C);
/**
* If true, the element will be rendered at a lower frequency.
*/
type LowFrequencyRendering = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The maximum length of the text. If the text is longer than this, it will be truncated.
*/
type MaxLength = (number | ((ElementReference | ElementReference1 | VariableReference6) & string));
/**
* The maximum size of the element.
*/
type MaxSize = (((ElementReference | ElementReference1 | VariableReference11) & string) | [] | [Width4] | [Width4, Height4]);
type VariableReference11 = (VariableReference1 & VariableReference2);
/**
* A variable
*/
type Width4 = (Width5 & Width6);
type Width5 = (("default" | "fill") | string | number);
type Width6 = string;
/**
* A variable
*/
type Height4 = (Height5 & Height6);
type Height5 = (("default" | "fill") | string | number);
type Height6 = string;
/**
* The maximum number of grid items.
*/
type MaximumGridItems = (number | ((ElementReference | ElementReference1 | VariableReference6) & string));
/**
* The minimum size of the element.
*/
type MinSize = (((ElementReference | ElementReference1 | VariableReference11) & string) | [] | [Width4] | [Width4, Height4]);
/**
* If true, the element will be modal.
*/
type Modal = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The offset of the element from the anchor point. horizontal by vertical.
*/
type Offset = (((ElementReference | ElementReference1 | VariableReference7) & string) | [] | [Width] | [Width, Height]);
/**
* The orientation of the element.
*/
type Orientation = (("horizontal" | "vertical") | C);
/**
* The control that will be used for the place holder.
*/
type PlaceHolderControl = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The control that will be pressed.
*/
type PressedControl = (("hover" | "pressed") | C);
/**
* If true, touch input will be prevented from passing through this element.
*/
type PreventTouchInput = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The control that will be used for the progress.
*/
type ProgressControl = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The control that will be used for the progress when hovered.
*/
type ProgressHoverControl = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The property bag that will be used by the element.
*/
type PropertyBag = ({
[k: string]: PropertyBagProperty;
} | String);
/**
* An any value.
*/
type PropertyBagProperty = (unknown[] | boolean | number | {
[k: string]: unknown;
} | string);
/**
* A string value.
*/
type String = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The radio toggle group that the element is in.
*/
type RadioToggleGroup = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* If true, the game will be rendered behind the element.
*/
type RenderGameBehind = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will only be rendered when it is the topmost element.
*/
type RenderOnlyWhenTopmost = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The renderer that will be used by the element.
*/
type Renderer = ("ui_holo_cursor" | C);
/**
* The event that will be reset.
*/
type ResetEvent = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* If true, the element will be reset when focus is lost.
*/
type ResetOnFocusLost = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The speed that the element will rotate at.
*/
type RotateSpeed = (number | ((ElementReference | ElementReference1 | VariableReference5) & string));
/**
* If true, the screen will be drawn last.
*/
type ScreenDrawsLast = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the screen will not be flushed when the element is added.
*/
type ScreenNotFlushable = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The panel that will be used for the scroll box and track.
*/
type ScrollBoxAndTrackPanel = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The content that will be scrolled.
*/
type ScrollContent = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The speed that the element will scroll at.
*/
type ScrollSpeed = (number | ((ElementReference | ElementReference1 | VariableReference6) & string));
/**
* The view port that the element will be scrolled in.
*/
type ScrollViewPort = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The box of the scrollbar.
*/
type ScrollbarBox = ("box" | C);
/**
* The button that will be used for the scrollbar touch.
*/
type ScrollbarTouchButton = (ElementReference | ElementReference1 | VariableReference12);
type VariableReference12 = (VariableReference1 & VariableReference2);
/**
* The button that will be used for the scrollbar track.
*/
type ScrollbarTrackButton = (ElementReference | ElementReference1 | VariableReference13);
type VariableReference13 = (VariableReference1 & VariableReference2);
/**
* The track of the scrollbar.
*/
type ScrollbarTrack = ("track" | C);
/**
* If true, the element will send telemetry.
*/
type SendTelemetry = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the text will have a shadow.
*/
type Shadow = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will steal the mouse.
*/
type ShouldStealMouse = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The size of the element.
*/
type Size = (((ElementReference | ElementReference1 | VariableReference11) & string) | [] | [Width4] | [Width4, Height4]);
/**
* The control that will be used for the slider box.
*/
type SliderBoxControl = ("slider_box" | C);
/**
* The name of the collection that the slider is in.
*/
type SliderCollectionName = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The button that will be used for the slider deselected.
*/
type SliderDeselectedButton = (ElementReference | ElementReference1 | VariableReference14);
type VariableReference14 = (VariableReference1 & VariableReference2);
/**
* The direction of the slider.
*/
type SliderDirection = (ElementReference | ElementReference1 | VariableReference15);
type VariableReference15 = (VariableReference1 & VariableReference2);
/**
* The name of the slider.
*/
type SliderName = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* If true, the slider will select on hover.
*/
type SliderSelectOnHover = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The button that will be used for the slider selected.
*/
type SliderSelectedButton = (ElementReference | ElementReference1 | VariableReference16);
type VariableReference16 = (VariableReference1 & VariableReference2);
/**
* The button that will be used for the slider small decrease.
*/
type SliderSmallDecreaseButton = (ElementReference | ElementReference1 | VariableReference17);
type VariableReference17 = (VariableReference1 & VariableReference2);
/**
* The button that will be used for the slider small decrease.
*/
type SliderSmallIncreaseButton = (ElementReference | ElementReference1 | VariableReference18);
type VariableReference18 = (VariableReference1 & VariableReference2);
/**
* The steps of the slider.
*/
type SliderSteps = (number | ((ElementReference | ElementReference1 | VariableReference6) & string));
/**
* The button that will be used for the slider track.
*/
type SliderTrackButton = (ElementReference | ElementReference1 | VariableReference19);
type VariableReference19 = (VariableReference1 & VariableReference2);
/**
* The name of the sound.
*/
type SoundName = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The pitch of the sound.
*/
type SoundPitch = (number | ((ElementReference | ElementReference1 | VariableReference5) & string));
/**
* The volume of the sound.
*/
type SoundVolume = (number | C);
/**
* The alignment of the text.
*/
type TextAlignment = (("left" | "center" | "right") | Variable7);
type Variable7 = (Variable1 & Variable2);
/**
* The name of the text box.
*/
type TextBoxName = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The control that will be used for the text.
*/
type TextControl = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The name of the collection that the text edit box grid is in.
*/
type TextEditBoxGridCollectionName = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The labels of the text.
*/
type TextLabels = (TextLabel[] | C);
type TextLabel = string;
/**
* The type of the text.
*/
type TextType = ("ExtendedASCII" | Variable8);
type Variable8 = (Variable1 & Variable2);
/**
* The text to display.
*/
type Text = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The file system that the texture is in.
*/
type TextureFileSystem = ("RawPath" | Variable9);
type Variable9 = (Variable1 & Variable2);
/**
* The texture to display.
*/
type Texture = (string | C);
/**
* If true, the texture will be tiled.
*/
type Tiled = (boolean | ("x" | "y") | C);
/**
* The default state of the toggle.
*/
type ToggleDefaultState = (("checked" | "unchecked") | C);
/**
* The name of the collection that the toggle grid is in.
*/
type ToggleGridCollectionName = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The default selected toggle of the toggle group.
*/
type ToggleGroupDefaultSelected = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The forced index of the toggle group.
*/
type ToggleGroupForcedIndex = (number | ((ElementReference | ElementReference1 | VariableReference6) & string));
/**
* The name of the toggle.
*/
type ToggleName = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The button that will toggle the element.
*/
type ToggleOffButton = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The button that will toggle the element.
*/
type ToggleOnButton = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The touch mode of the element.
*/
type TouchMode = (("touch" | "mouse") | C);
/**
* The header of the TTS control.
*/
type TTSControlHeader = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* The priority of the TTS control type order.
*/
type TTSControlTypeOrderPriority = (number | ((ElementReference | ElementReference1 | VariableReference6) & string));
/**
* The number of TTS ignores.
*/
type TTSIgnoreCount = (number | ((ElementReference | ElementReference1 | VariableReference6) & string));
/**
* If true, the element will ignore subsections.
*/
type TTSIgnoreSubsections = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The priority of the TTS index.
*/
type TTSIndexPriority = (number | ((ElementReference | ElementReference1 | VariableReference6) & string));
/**
* If true, the element will inherit its siblings.
*/
type TTSInheritSiblings = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The name of the TTS.
*/
type TTSName = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* If true, the TTS will override the control value.
*/
type TTSOverrideControlValue = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The header of the TTS section.
*/
type TTSSectionHeader = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* If true, the TTS will toggle off.
*/
type TTSToggleOff = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the TTS will toggle on.
*/
type TTSToggleOn = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the TTS value will change.
*/
type TTSValueChanged = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The priority of the TTS value order.
*/
type TTSValueOrderPriority = (number | ((ElementReference | ElementReference1 | VariableReference6) & string));
/**
* The TTS section container.
*/
type TTSSectionContainer = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The type of the element
*/
type Type1 = ("always_rotate" | "button" | "carousel_label" | "custom" | "dropdown" | "edit_box" | "grid" | "image_cycler" | "image" | "input_panel" | "label_cycler" | "label" | "panel" | "screen" | "scroll_track" | "scroll_view" | "scrollbar_box" | "slider_box" | "slider" | "stack_panel" | "toggle");
/**
* The control that will be unchecked.
*/
type UncheckedControl = ("unchecked" | C);
/**
* The control that will be unchecked when hovered.
*/
type UncheckedHoverControl = ("unchecked" | C);
/**
* The control that will be unchecked when locked.
*/
type UncheckedLockedControl = ("unchecked" | C);
/**
* The control that will be unchecked when locked and hovered.
*/
type UncheckedLockedHoverControl = ("unchecked" | C);
/**
* If true, the element will use the anchored offset.
*/
type UseAnchoredOffset = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, this element will stack its controlled element in respect to their anchor values.
*/
type UseChildAnchors = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* If true, the element will use the last focus.
*/
type UseLastFocus = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The variables that are contained within this element.
*/
type Variables = (C | Variables1[] | Variables2);
/**
* The control that will be used for the virtual keyboard buffer.
*/
type VirtualKeyboardBufferControl = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
/**
* If true, the element will be visible.
*/
type Visible = (boolean | ((ElementReference | ElementReference1 | VariableReference4) & string));
/**
* The folder that the element will be zipped into.
*/
type ZipFolder = (string | ((ElementReference | ElementReference1 | VariableReference3) & string));
export interface UI {
namespace?: Namespace;
[k: string]: UIDefinition;
}
/**
* An element is a control that can be added to a screen. It can be a button, a label, an image, etc.
*/
interface Element {
controls?: Controls;
modifications?: Modifications;
allow_clipping?: AllowClipping;
allow_debug_missing_texture?: AllowDebugMissingTexture;
allow_scroll_even_when_content_fits?: AllowScrollEvenWhenContentFits;
alpha?: Alpha;
always_handle_pointer?: AlwaysHandlePointer;
always_handle_scrolling?: AlwaysHandleScrolling;
always_listen_to_input?: AlwaysListenToInput;
always_rotate?: AlwaysRotate;
anchor_from?: AnchorFrom;
anchor_to?: AnchorTo;
anims?: Animations;
background_control?: BackgroundControl;
background_hover_control?: BackgroundHoverControl;
backup_font_type?: BackupFontType;
bilinear?: Bilinear;
bindings?: Bindings;
button_mappings?: ButtonMappings;
cache_screen?: CacheScreen;
checked_control?: CheckedControl;
checked_hover_control?: CheckedHoverControl;
checked_locked_control?: CheckedLockedControl;
checked_locked_hover_control?: CheckedLockedHoverControl;
clip_direction?: ClipDirection;
clip_pixelperfect?: ClipPixelPerfect;
clips_children?: ClipsChildren;
close_on_player_hurt?: CloseOnPlayerHurt;
collection_index?: CollectionIndex;
collection_name?: CollectionName;
color?: Color;
consume_hover_events?: ConsumeHoverEvents;
contained?: Contained;
control_name?: ControlName;
default_control?: DefaultControl;
default_focus_precedence?: DefaultFocusPrecedence;
disable_anim_fast_forward?: DisableAnimFastForward;
draggable?: Draggable;
dropdown_area?: DropdownArea;
dropdown_content_control?: DropdownContentControl;
dropdown_name?: DropdownName;
enable_directional_toggling?: EnableDirectionalToggling;
enable_profanity_filter?: EnableProfanityFilter;
enabled_newline?: EnabledNewline;
enabled?: Enabled;
factory?: Factory;
fill?: Fill;
focus_change_down?: FocusChangeDown;
focus_change_left?: FocusChangeLeft;
focus_change_right?: FocusChangeRight;
focus_change_up?: FocusChangeUp;
focus_container?: FocusContainer;
focus_enabled?: FocusEnabled;
focus_identifier?: FocusIdentifier;
focus_magnet_enabled?: FocusMagnetEnabled;
focus_navigation_mode_down?: FocusNavigationModeDown;
focus_navigation_mode_left?: FocusNavigationModeLeft;
focus_navigation_mode_right?: FocusNavigationModeRight;
focus_navigation_mode_up?: FocusNavigationModeUp;
focus_wrap_enabled?: FocusWrapEnabled;
font_scale_factor?: FontScaleFactor;
font_size?: FontSize;
font_type?: FontType;
force_render_below?: ForceRenderBelow;
force_texture_reload?: ForceTextureReload;
grid_dimension_binding?: GridDimensionBinding;
grid_dimensions?: GridDimensions;
grid_item_template?: GridItemTemplate;
grid_position?: GridPosition;
grid_rescaling_type?: GridRescalingType;
handle_deselect?: HandleDeselect;
handle_select?: HandleSelect;
hide_hyphen?: HideHyphen;
hover_alpha?: Alpha;
hover_color?: Color;
hover_control?: HoverControl;
hover_enabled?: HoverEnabled;
ignored?: Ignored1;
images?: Images;
indent_control?: IndentControl;
inherit_max_sibling_height?: InheritMaxSiblingHeight;
inherit_max_sibling_width?: InheritMaxSiblingWidth;
is_modal?: IsModal;
is_showing_menu?: IsShowingMenu;
jump_to_bottom_on_update?: JumpToBottomOnUpdate;
keep_ratio?: KeepRatio;
layer?: Layer;
localize?: Localize;
locked_alpha?: Alpha;
locked_color?: Color;
locked_control?: LockedControl;
low_frequency_rendering?: LowFrequencyRendering;
max_length?: MaxLength;
max_size?: MaxSize;
maximum_grid_items?: MaximumGridItems;
min_size?: MinSize;
modal?: Modal;
offset?: Offset;
orientation?: Orientation;
place_holder_control?: PlaceHolderControl;
pressed_alpha?: Alpha;
pressed_color?: Color;
pressed_control?: PressedControl;
prevent_touch_input?: PreventTouchInput;
primary_color?: Color;
progress_control?: ProgressControl;
progress_hover_control?: ProgressHoverControl;
propagate_alpha?: PropagateAlpha;
property_bag?: PropertyBag;
radio_toggle_group?: RadioToggleGroup;
render_game_behind?: RenderGameBehind;
render_only_when_topmost?: RenderOnlyWhenTopmost;
renderer?: Renderer;
reset_event?: ResetEvent;
reset_on_focus_lost?: ResetOnFocusLost;
rotate_speed?: RotateSpeed;
screen_draws_last?: ScreenDrawsLast;
screen_not_flushable?: ScreenNotFlushable;
scroll_box_and_track_panel?: ScrollBoxAndTrackPanel;
scroll_content?: ScrollContent;
scroll_speed?: ScrollSpeed;
scroll_view_port?: ScrollViewPort;
scrollbar_box?: ScrollbarBox;
scrollbar_touch_button?: ScrollbarTouchButton;
scrollbar_track_button?: ScrollbarTrackButton;
scrollbar_track?: ScrollbarTrack;
send_telemetry?: SendTelemetry;
shadow?: Shadow;
should_steal_mouse?: ShouldStealMouse;
size?: Size;
slider_box_control?: SliderBoxControl;
slider_collection_name?: SliderCollectionName;
slider_deselected_button?: SliderDeselectedButton;
slider_direction?: SliderDirection;
slider_name?: SliderName;
slider_select_on_hover?: SliderSelectOnHover;
slider_selected_button?: SliderSelectedButton;
slider_small_decrease_button?: SliderSmallDecreaseButton;
slider_small_increase_button?: SliderSmallIncreaseButton;
slider_steps?: SliderSteps;
slider_track_button?: SliderTrackButton;
sound_name?: SoundName;
sound_pitch?: SoundPitch;
sound_volume?: SoundVolume;
text_alignment?: TextAlignment;
text_box_name?: TextBoxName;
text_control?: TextControl;
text_edit_box_grid_collection_name?: TextEditBoxGridCollectionName;
text_labels?: TextLabels;
text_type?: TextType;
text?: Text;
texture_file_system?: TextureFileSystem;
texture?: Texture;
tiled?: Tiled;
toggle_default_state?: ToggleDefaultState;
toggle_grid_collection_name?: ToggleGridCollectionName;
toggle_group_default_selected?: ToggleGroupDefaultSelected;
toggle_group_forced_index?: ToggleGroupForcedIndex;
toggle_name?: ToggleName;
toggle_off_button?: ToggleOffButton;
toggle_on_button?: ToggleOnButton;
touch_mode?: TouchMode;
tts_control_header?: TTSControlHeader;
tts_control_type_order_priority?: TTSControlTypeOrderPriority;
tts_ignore_count?: TTSIgnoreCount;
tts_ignore_subsections?: TTSIgnoreSubsections;
tts_index_priority?: TTSIndexPriority;
tts_inherit_siblings?: TTSInheritSiblings;
tts_name?: TTSName;
tts_override_control_value?: TTSOverrideControlValue;
tts_section_header?: TTSSectionHeader;
tts_toggle_off?: TTSToggleOff;
tts_toggle_on?: TTSToggleOn;
tts_value_changed?: TTSValueChanged;
tts_value_order_priority?: TTSValueOrderPriority;
ttsSectionContainer?: TTSSectionContainer;
type?: Type1;
unchecked_control?: UncheckedControl;
unchecked_hover_control?: UncheckedHoverControl;
unchecked_locked_control?: UncheckedLockedControl;
unchecked_locked_hover_control?: UncheckedLockedHoverControl;
use_anchored_offset?: UseAnchoredOffset;
use_child_anchors?: UseChildAnchors;
use_last_focus?: UseLastFocus;
uv_size?: UVSize;
uv?: UV;
variables?: Variables;
virtual_keyboard_buffer_control?: VirtualKeyboardBufferControl;
visible?: Visible;
zip_folder?: ZipFolder;
[k: string]: VariableDefinition;
}
/**
* An animation is a set of keyframes that can be applied to an element.
*/
interface Animation {
anim_type: AnimationType;
animation_reset_name?: AnimationResetName;
destroy_at_end?: DestroyAtEnd;
disable_anim_fast_forward?: DisableAnimFastForward;
duration?: Duration;
easing?: Easing;
end_event?: EndEvent;
fps?: FPS;
frame_count?: FrameCount;
frame_step?: FrameStep;
from?: From;
initial_uv?: InitialUV;
next?: Next;
play_event?: PlayEvent;
propagate_alpha?: PropagateAlpha;
reversible?: Reversible;
scale_from_starting_alpha?: ScaleFromStartingAlpha;
to?: To;
uv?: UV;
uv_size?: UVSize;
[k: string]: VariableDefinition;
}
/**
* A variable is a reference to a value that can be used in the UI.
*
* This interface was referenced by `Animation`'s JSON-Schema definition
* via the `patternProperty` "^\$.*".
*
* This interface was referenced by `ControlFactory`'s JSON-Schema definition
* via the `patternProperty` "^\$.*".
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^\$.*".
*
* This interface was referenced by `Element`'s JSON-Schema definition
* via the `patternProperty` "^\$.*".
*/
interface VariableDefinition {
[k: string]: unknown;
}
interface ControlFactory {
type?: Type;
control_ids?: ControlIDs;
control_name?: ControlName;
[k: string]: VariableDefinition;
}
interface Bindings1 {
binding_collection_name?: BindingCollectionName;
binding_collection_prefix?: BindingCollectionPrefix;
binding_condition?: BindingCondition;
binding_name?: BindingName;
binding_name_override?: BindingNameOverride;
binding_type?: BindingType;
ignored?: Ignored;
resolve_sibling_scope?: ResolveSiblingScope;
source_control_name?: SourceControlName;
source_property_name?: SourcePropertyName;
target_property_name?: TargetPropertyName;
}
interface ButtonMappings1 {
[k: string]: ButtonMapping;
}
interface Variables1 {
[k: string]: VariableDefinition1;
}
/**
* A variable is a reference to a value that can be used in the UI.
*/
interface VariableDefinition1 {
[k: string]: unknown;
}
interface Variables2 {
[k: string]: VariableDefinition1;
}
export {};