This commit is contained in:
Asaki Yuki 2026-01-04 10:52:31 +07:00
commit e2f472d802
83 changed files with 6338 additions and 0 deletions

View file

@ -0,0 +1,11 @@
import { Type } from "../index.js"
import { Properties } from "../types/properties/components.js"
export function FormatProperties(properties: any) {
if (properties.anchor) {
properties.anchor_from = properties.anchor_to = properties.anchor
delete properties.anchor
}
return properties
}

28
src/compilers/Memory.ts Normal file
View file

@ -0,0 +1,28 @@
import { UI } from "../components/UI.js"
export const Memory = {
cache: new Map<string, { namespace: string; elements: Map<string, UI<any>> }>(),
register_ui(path: string, element: UI<any>) {
const { elements: saver, namespace } = this.get_file(path, element.namespace!)
if (saver.get(element.name!)) {
console.error(`Element ${element.name} already exists in ${path}`)
process.exit(1)
}
saver.set(element.name!, element)
return namespace
},
get_file(path: string, namespace: string) {
let cached = this.cache.get(path)
if (!cached) {
cached = { namespace, elements: new Map<string, UI<any>>() }
this.cache.set(path, cached)
}
return cached
},
}

View file

@ -0,0 +1,3 @@
import { Class } from "./Class.js"
export class Animation extends Class {}

View file

@ -0,0 +1,3 @@
import { Class } from "./Class.js"
export class AnimationKeyframe extends Class {}

10
src/components/Class.ts Normal file
View file

@ -0,0 +1,10 @@
export class Class {
private static arguments = ""
private static caller = ""
private static length = ""
private static name = ""
private static bind() {}
private static apply() {}
private static call() {}
private static toString() {}
}

76
src/components/UI.ts Normal file
View file

@ -0,0 +1,76 @@
import { FormatProperties } from "../compilers/FormatProperties.js"
import { Memory } from "../compilers/Memory.js"
import { Type } from "../types/enums/Type.js"
import { Properties } from "../types/properties/components.js"
import { Class } from "./Class.js"
import { RandomString } from "./Utils.js"
import util from "node:util"
export class UI<T extends Type> extends Class {
private path: string
name: string
namespace: string
extend?: UI<Type>
controls = new Map<string, [UI<Type>, Properties<Type>]>()
properties: Properties<T> = <any>{}
constructor(public type?: T, name?: string, namespace?: string, path?: string) {
super()
this.name = name?.match(/^\w+/)?.[0] || RandomString(16)
this.namespace = namespace || RandomString(16)
if (!path) this.path = `@/${this.namespace}`
else this.path = path
Memory.register_ui(this.path, this)
}
setProperties(properties: Properties<T>) {
this.properties = properties
return this
}
addChild<T extends Type>(child: UI<T>, properties?: Properties<T>, name?: string) {
if (this === <any>child) {
throw new Error("Cannot add a child to itself")
}
this.controls.set(name || child.name, [child, properties || {}])
return this
}
toString() {
return `@${this.namespace}.${this.name}`
}
toJSON() {
const obj: any = {
type: this.type,
...FormatProperties(this.properties),
}
if (this.controls.size) {
obj.controls = []
this.controls.forEach((e, key) => obj.controls.push({ [key + e[0]]: e[1] }))
}
return obj
}
[util.inspect.custom]($: any, opts: any) {
const obj: any = this.properties
if (this.controls.size) {
obj.controls = []
this.controls.forEach((e, key) => obj.controls.push({ [key + e[0]]: e[1] }))
}
return `\x1b[33mUI\x1b[0m<\x1b[92m${
this.type || `${this.extend}`
}\x1b[0m> \x1b[92m"${this}\x1b[92m"\x1b[0m ${util.inspect(obj, opts)}\n`
}
}

169
src/components/Utils.ts Normal file
View file

@ -0,0 +1,169 @@
import { Type } from "../types/enums/Type.js"
import { Array3 } from "../types/properties/value.js"
import { UI } from "./UI.js"
import { Renderer } from "../types/enums/Renderer.js"
import {
RendererProperties,
Properties,
CollectionPanel,
Custom,
Grid,
Image,
InputPanel,
Label,
Panel,
Screen,
StackPanel,
TooltipTrigger,
Button,
Toggle,
Dropdown,
SelectionWheel,
EditBox,
ScrollbarBox,
ScrollbarTrack,
ScrollView,
Slider,
SliderBox,
} from "../types/properties/components.js"
const CHARS = "0123456789abcdefghijklmnopqrstuvwxyz"
export function Color(hex: string | number): Array3<number> {
if (typeof hex === "number") {
return [((hex >> 16) & 0xff) / 0xff, ((hex >> 8) & 0xff) / 0xff, (hex & 0xff) / 0xff]
} else {
if (hex.startsWith("#")) {
if (hex.length === 7)
return [
parseInt(hex.slice(1, 3), 16) / 0xff,
parseInt(hex.slice(3, 5), 16) / 0xff,
parseInt(hex.slice(5, 7), 16) / 0xff,
]
if (hex.length === 4)
return [
parseInt(hex.slice(1, 2).repeat(2), 16) / 0xff,
parseInt(hex.slice(2, 3).repeat(2), 16) / 0xff,
parseInt(hex.slice(3, 4).repeat(2), 16) / 0xff,
]
console.error(`Invalid color: ${hex}`)
process.exit(1)
} else {
console.error(`Invalid color: ${hex}`)
process.exit(1)
}
}
}
export function RandomString(length: number, base: number = 32) {
const chars = CHARS.slice(0, base)
const out = new Array<string>(length)
try {
const buffer = new Uint8Array(length)
crypto.getRandomValues(buffer)
for (let i = 0; i < length; i++) {
out[i] = chars[buffer[i] % base]
}
} catch {
for (let i = 0; i < length; i++) {
out[i] = chars[Math.floor(Math.random() * base)]
}
}
return out.join("")
}
// Quick Elements
export function Panel(properties?: Panel, name?: string, namespace?: string) {
return new UI(Type.PANEL, name, namespace).setProperties(properties || {})
}
export function CollectionPanel(properties?: CollectionPanel, name?: string, namespace?: string) {
return new UI(Type.COLLECTION_PANEL, name, namespace).setProperties(properties || {})
}
export function StackPanel(properties?: StackPanel, name?: string, namespace?: string) {
return new UI(Type.STACK_PANEL, name, namespace).setProperties(properties || {})
}
export function InputPanel(properties?: InputPanel, name?: string, namespace?: string) {
return new UI(Type.INPUT_PANEL, name, namespace).setProperties(properties || {})
}
export function Gird(properties?: Grid, name?: string, namespace?: string) {
return new UI(Type.GRID, name, namespace).setProperties(properties || {})
}
export function Screen(properties?: Screen, name?: string, namespace?: string) {
return new UI(Type.SCREEN, name, namespace).setProperties(properties || {})
}
export function Image(properties?: Image, name?: string, namespace?: string) {
return new UI(Type.IMAGE, name, namespace).setProperties(properties || {})
}
export function Label(properties?: Label, name?: string, namespace?: string) {
return new UI(Type.LABEL, name, namespace).setProperties(properties || {})
}
export function Custom<R extends Renderer>(
renderer: R,
properties?: Custom | RendererProperties<R>,
name?: string,
namespace?: string
) {
return new UI(Type.CUSTOM, name, namespace).setProperties({ renderer, ...properties })
}
export function TooltipTrigger(properties?: TooltipTrigger, name?: string, namespace?: string) {
return new UI(Type.TOOLTIP_TRIGGER, name, namespace).setProperties(properties || {})
}
export function Button(properties?: Button, name?: string, namespace?: string) {
return new UI(Type.BUTTON, name, namespace).setProperties(properties || {})
}
export function Toggle(properties?: Toggle, name?: string, namespace?: string) {
return new UI(Type.TOGGLE, name, namespace).setProperties(properties || {})
}
export function Dropdown(properties?: Dropdown, name?: string, namespace?: string) {
return new UI(Type.DROPDOWN, name, namespace).setProperties(properties || {})
}
export function SelectionWheel(properties?: SelectionWheel, name?: string, namespace?: string) {
return new UI(Type.SELECTION_WHEEL, name, namespace).setProperties(properties || {})
}
export function EditBox(properties?: EditBox, name?: string, namespace?: string) {
return new UI(Type.EDIT_BOX, name, namespace).setProperties(properties || {})
}
export function ScrollbarBox(properties?: ScrollbarBox, name?: string, namespace?: string) {
return new UI(Type.SCROLLBAR_BOX, name, namespace).setProperties(properties || {})
}
export function ScrollbarTrack(properties?: ScrollbarTrack, name?: string, namespace?: string) {
return new UI(Type.SCROLL_TRACK, name, namespace).setProperties(properties || {})
}
export function ScrollView(properties?: ScrollView, name?: string, namespace?: string) {
return new UI(Type.SCROLL_VIEW, name, namespace).setProperties(properties || {})
}
export function Slider(properties?: Slider, name?: string, namespace?: string) {
return new UI(Type.SLIDER, name, namespace).setProperties(properties || {})
}
export function SliderBox(properties?: SliderBox, name?: string, namespace?: string) {
return new UI(Type.SLIDER_BOX, name, namespace).setProperties(properties || {})
}
export function Extends<T extends Type>(element: UI<T>, properties?: Properties<T>, name?: string, namespace?: string) {
const ui = new UI(undefined, name, namespace).setProperties(properties || {})
ui.extend = element
return ui as typeof element
}

6
src/index.ts Normal file
View file

@ -0,0 +1,6 @@
export * from "./components/UI.js"
export { Animation } from "./components/Animation.js"
export * from "./components/Utils.js"
export * from "./types/enums/index.js"
export * as Properties from "./types/properties/index.js"

11
src/types/enums/Anchor.ts Normal file
View file

@ -0,0 +1,11 @@
export enum Anchor {
TOP_LEFT = "top_left",
TOP_MIDDLE = "top_middle",
TOP_RIGHT = "top_right",
LEFT_MIDDLE = "left_middle",
CENTER = "center",
RIGHT_MIDDLE = "right_middle",
BOTTOM_LEFT = "bottom_left",
BOTTOM_MIDDLE = "bottom_middle",
BOTTOM_RIGHT = "bottom_right",
}

View file

@ -0,0 +1,11 @@
export enum AnimType {
ALPHA = "alpha",
CLIP = "clip",
COLOR = "color",
FLIP_BOOK = "flip_book",
OFFSET = "offset",
SIZE = "size",
UV = "uv",
WAIT = "wait",
ASEPRITE_FLIP_BOOK = "aseprite_flip_book",
}

View file

@ -0,0 +1,66 @@
export enum BagBinding {
VISIBLE = "#visible",
TEXT = "#text",
ENABLED = "#enabled",
GRAYSCALE = "#grayscale",
TEXTURE = "#texture",
TEXTURE_FILE_SYSTEM = "#texture_file_system",
CLIP_RATIO = "#clip_ratio",
TOGGLE_STATE = "#toggle_state",
FOCUS_CHANGE_UP = "#focus_change_up",
FOCUS_CHANGE_DOWN = "#focus_change_down",
FOCUS_CHANGE_LEFT = "#focus_change_left",
FOCUS_CHANGE_RIGHT = "#focus_change_right",
FOCUS_IDENTIFIER = "#focus_identifier",
ITEM_ID_AUX = "#item_id_aux",
DISABLED_FILTER_VISIBLE = "#disabled_filter_visible",
MAXIMUM_GRID_ITEMS = "#maximum_grid_items",
DEFAULT_FOCUS_PRECEDENCE = "#default_focus_precedence",
LABEL_TEXT = "#label_text",
BUTTON_NAVIGATION = "#button_navigation",
FONT_TYPE = "#font_type",
COLOR = "#color",
PROPAGATEALPHA = "#propagateAlpha",
BANNER_PATTERNS = "#banner_patterns",
BANNER_COLORS = "#banner_colors",
IP = "#ip",
PROGRESS_LABEL = "#progress_label",
PROGRESS_BAR_TOTAL_AMOUNT = "#progress_bar_total_amount",
PROGRESS_BAR_CURRENT_AMOUNT = "#progress_bar_current_amount",
PROGRESS_BAR_VISIBLE = "#progress_bar_visible",
BILINEAR = "#bilinear",
MODAL = "#modal",
ALWAYS_HANDLE_CONTROLLER_DIRECTION = "#always_handle_controller_direction",
FOCUS_ENABLED = "#focus_enabled",
SLIDER_STEPS = "#slider_steps",
SLIDER_VALUE = "#slider_value",
ITEM_NAME = "#item_name",
CAN_BE_DESELECTED = "#can_be_deselected",
CHARGED_ITEM = "#charged_item",
ITEM_CUSTOM_COLOR = "#item_custom_color",
BANNER_TYPE = "#banner_type",
ALPHA = "#alpha",
TOGGLE_ON_HOVER = "#toggle_on_hover",
ANCHORED_OFFSET_VALUE_X = "#anchored_offset_value_x",
ANCHORED_OFFSET_VALUE_Y = "#anchored_offset_value_y",
COINS_TEXT = "#coins_text",
COLLECTION_LENGTH = "#collection_length",
ZIP_FOLDER = "#zip_folder",
ANCHORED_OFFSET_VALUE = "#anchored_offset_value",
NO_XBL_ICON_VISIBLE = "#no_xbl_icon_visible",
IS_HERO_AUTHOR_VISIBLE = "#is_hero_author_visible",
HERO_OFFER_MARKDOWN_VISIBLE = "#hero_offer_markdown_visible",
HERO_PROGRESS_VISIBLE = "#hero_progress_visible",
HERO_OFFER_DOWNLOAD_PROGRESS_LABEL = "#hero_offer_download_progress_label",
OFFER_MARKDOWN_PERCENTAGE = "#offer_markdown_percentage",
OFFER_MARKDOWN_VISIBLE = "#offer_markdown_visible",
HERO_OFFER_MARKDOWN_PERCENTAGE = "#hero_offer_markdown_percentage",
OFFER_FULL_PRICE = "#offer_full_price",
OFFER_STRIKETHROUGH_PRICE_VISIBLE = "#offer_strikethrough_price_visible",
IS_COLLECTION_QUERY_ON_SALE = "#is_collection_query_on_sale",
SHOW_SALES_BANNER = "#show_sales_banner",
TIME_REMAINING_LABEL = "#time_remaining_label",
SHOW_SALES_TIMER = "#show_sales_timer",
HYPERLINK = "#hyperlink",
SEACH_RESULTS_CLOSE_BUTTON_VISIBLE = "#seach_results_close_button_visible",
}

2793
src/types/enums/Binding.ts Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,8 @@
export enum BindingCondition {
NONE = "none",
ALWAYS = "always",
ALWAYS_WHEN_VISIBLE = "always_when_visible",
VISIBLE = "visible",
ONCE = "once",
VISIBILITY_CHANGED = "visibility_changed",
}

View file

@ -0,0 +1,7 @@
export enum BindingType {
GLOBAL = "global",
COLLECTION = "collection",
COLLECTION_DETAILS = "collection_details",
VIEW = "view",
NONE = "none",
}

1111
src/types/enums/ButtonId.ts Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,7 @@
export enum ClipDirection {
LEFT = "left",
RIGHT = "right",
UP = "up",
DOWN = "down",
CENTER = "center",
}

View file

@ -0,0 +1,169 @@
export enum CollectionName {
LANGUAGES = "languages",
ACTIONS_COLLECTION = "actions_collection",
TREATMENT_COLLECTION = "treatment_collection",
FEATURE_TOGGLES = "feature_toggles",
FEATURED_ITEM_COLLECTION = "featured_item_collection",
BOSS_BARS = "boss_bars",
FORM_BUTTONS = "form_buttons",
CUSTOM_FORM = "custom_form",
BLOCKED_PLAYERS_COLLECTION = "blocked_players_collection",
CHAT_TEXT_GRID = "chat_text_grid",
BREWING_RESULT_ITEMS = "brewing_result_items",
ACHIEVEMENT_LIST = "achievement_list",
BOOK_PAGES = "book_pages",
PICK_COLLECTION = "pick_collection",
PICK_COLLECTION_INVENTORY = "pick_collection_inventory",
OWNED_LIST = "owned_list",
UNOWNED_LIST = "unowned_list",
FUTURE_PROMO_COLLECTION = "future_promo_collection",
PAST_PROMO_COLLECTION = "past_promo_collection",
AUTO_COMPLETE = "auto_complete",
FONT_COLORS = "font_colors",
REALMS_COLLECTION = "realms_collection",
LIST_COLLECTION = "list_collection",
SLOTS_COLLECTION = "slots_collection",
COIN_PURCHASE_GRID = "coin_purchase_grid",
COMMENT_COLLECTION = "comment_collection",
CONTENT_LOG_MESSAGE = "content_log_message",
CONTENT_LOG_TEXT_GRID = "content_log_text_grid",
CATEGORY_COLLECTION = "category_collection",
OFFER_COLLECTION = "offer_collection",
GAMEPAD_ACTION_ITEMS = "gamepad_action_items",
SERVERS_NETWORK_WORLDS = "servers_network_worlds",
THIRD_PARTY_SERVER_NETWORK_WORLDS = "third_party_server_network_worlds",
LEGACY_WORLDS = "legacy_worlds",
CONTAINER_ITEMS = "container_items",
PERMISSIONS_COLLECTION = "permissions_collection",
SCREENSHOTPICKER_COLLECTION = "screenshotpicker_collection",
ENCHANTING_INPUT_ITEMS = "enchanting_input_items",
ENCHANTING_LAPIS_ITEMS = "enchanting_lapis_items",
HORSE_EQUIP_ITEMS = "horse_equip_items",
CRAFTING_INPUT_ITEMS = "crafting_input_items",
CRAFTING_OUTPUT_ITEMS = "crafting_output_items",
PLAYERS_COLLECTION = "players_collection",
ONLINE_FRIENDS = "online_friends",
OFFLINE_FRIENDS = "offline_friends",
REALMS_WORLDS = "realms_worlds",
LOCAL_WORLDS = "local_worlds",
PENDING_INVITES_COLLECTION = "pending_invites_collection",
REALMS_BRANCH_COLLECTION = "realms_branch_collection",
MEMBERS_COLLECTION = "members_collection",
INVITED_FRIENDS_COLLECTION = "invited_friends_collection",
UNINVITED_FRIENDS_COLLECTION = "uninvited_friends_collection",
UGC_ITEMS = "ugc_items",
HOTBAR_ITEMS = "hotbar_items",
INVENTORY_ITEMS = "inventory_items",
REALM_LIST = "realm_list",
WORLD_LIST = "world_list",
WORLD_TEMPLATES = "world_templates",
INVALID_WORLD_TEMPLATES = "invalid_world_templates",
LOADING_WORLD_TEMPLATES = "loading_world_templates",
COMBINED_HOTBAR_AND_INVENTORY_ITEMS = "combined_hotbar_and_inventory_items",
PHOTOS = "photos",
SPEED = "speed",
HASTE = "haste",
RESIST = "resist",
JUMP = "jump",
STRENGTH = "strength",
REGEN = "regen",
EXTRA = "extra",
CONFIRM = "confirm",
CANCEL = "cancel",
NAVIGATION_TABS = "navigation_tabs",
SKINS_COLLECTION = "skins_collection",
REQUIRED_RESOURCEPACKS = "required_resourcepacks",
OPTIONAL_RESOURCEPACKS = "optional_resourcepacks",
SCREENSHOTS_COLLECTION = "screenshots_collection",
DEFAULT_SKINS_COLLECTION = "default_skins_collection",
RECENT_SKINS_COLLECTION = "recent_skins_collection",
PREMIUM_PACKS_COLLECTION = "premium_packs_collection",
PREMIUM_SKINS_COLLECTION = "premium_skins_collection",
LOADING_PERSONAL_REALMS = "loading_personal_realms",
LOADING_FRIENDS_REALMS = "loading_friends_realms",
OFFERS_COLLECTION = "offers_collection",
MOB_EFFECTS_COLLECTION = "mob_effects_collection",
DEPENDENT_PACKS_PANEL = "dependent_packs_panel",
DEPENDENCY_PANEL = "dependency_panel",
STORAGE_PANEL = "storage_panel",
SEARCH_PANEL = "search_panel",
TAG_FACTORY_COLLECTION = "tag_factory_collection",
STUDENT_BUTTONS_COLLECTION = "student_buttons_collection",
ENCHANT_BUTTONS = "#enchant_buttons",
GAMEPAD_COLLECTION = "gamepad_collection",
KEYBOARD_COLLECTION = "keyboard_collection",
SUGGESTED_OFFERS_COLLECTION = "#suggested_offers_collection",
FEED_COLLECTION = "feed_collection",
MANAGE_FEED_COLLECTION = "manage_feed_collection",
BUTTONS = "buttons",
FRIENDS_NETWORK_WORLDS = "friends_network_worlds",
CROSS_PLATFORM_FRIENDS_NETWORK_WORLDS = "cross_platform_friends_network_worlds",
REALMS_BACKUP_COLLECTION = "realms_backup_collection",
SCOREBOARD_SCORES = "scoreboard_scores",
SCOREBOARD_PLAYERS = "scoreboard_players",
SCOREBOARD_LIST_ICONS = "scoreboard_list_icons",
SCOREBOARD_LIST_NAMES = "scoreboard_list_names",
SCOREBOARD_LIST_SCORES = "scoreboard_list_scores",
SCOREBOARD_LIST_CONNECTIONS = "scoreboard_list_connections",
SCOREBOARD_LIST_BGS = "scoreboard_list_bgs",
SCOREBOARD_LIST_HEALTHS = "scoreboard_list_healths",
HERO_ROW_COLLECTION = "hero_row_collection",
EDITOR_BUTTONS_COLLECTION = "editor_buttons_collection",
HERO_ROW_L2_COLLECTION = "hero_row_l2_collection",
SKIN_PACK_COLLECTION = "skin_pack_collection",
LIBRARY_ITEMS = "library_items",
PACK_ICONS = "pack_icons",
UNUSED_TREATMENT_COLLECTION = "unused_treatment_collection",
EDUCATION_TEMPLATE_COLLECTION = "#education_template_collection",
TRADE_ITEM_1 = "trade_item_1",
TRADE_ITEM_2 = "trade_item_2",
SELL_ITEM = "sell_item",
CONTENT_SECTIONS = "content_sections",
POPULAR_PACKS_COLLECTION = "popular_packs_collection",
PLATFORM_TERMS_COLLECTION = "platform_terms_collection",
REALMS_PLUS_TEMPLATES = "realms_plus_templates",
CUSTOM_WORLD_TEMPLATES = "custom_world_templates",
SKIN_COLORS = "skin_colors",
RATINGS_STAR_COLLECTION = "ratings_star_collection",
PACK_ERRORS = "pack_errors",
ERROR_DEBUG = "error_debug",
ONLINE_XBOX_LIVE_FRIENDS = "online_xbox_live_friends",
OFFLINE_XBOX_LIVE_FRIENDS = "offline_xbox_live_friends",
ONLINE_PLATFORM_FRIENDS = "online_platform_friends",
OFFLINE_PLATFORM_FRIENDS = "offline_platform_friends",
RECIPE_BOOK = "recipe_book",
TEMPLATES_COLLECTION = "templates_collection",
LESSON_ITEMS = "lesson_items",
ACTIVE_TASKS = "active_tasks",
LAN_NETWORK_WORLDS = "lan_network_worlds",
WORLD_COLUMN = "world_column",
WORLD_ROW = "world_row",
TEMPLATE_COLUMN = "template_column",
TEMPLATE_ROW = "template_row",
CREATION_TYPE = "creation_type",
PERMISSION_ROLES = "permission_roles",
BUTTON_COLLECTION = "button_collection",
WORLD_SCREENSHOT_COLLECTION = "world_screenshot_collection",
GIFT_PROMOTION_COLLECTION = "gift_promotion_collection",
CAROUSEL_BAR_COLLECTION = "carousel_bar_collection",
REALMS_PLUS_SUBSCRIPTIONS_COLLECTION = "realms_plus_subscriptions_collection",
ADDITIONAL_REALMS_SUBSCRIPTIONS_COLLECTION = "additional_realms_subscriptions_collection",
MOCK_HTTP_RULES = "mock_http_rules",
PROGRESSION_COLLECTION = "progression_collection",
UI_FEATURE_TOGGLES = "ui_feature_toggles",
DEV_NEW_ACHIEVEMENTS_SCREENS_RADIO = "dev_new_achievements_screens_radio",
EXPERIMENTAL_TOGGLES = "experimental_toggles",
CONTROLS_TOGGLE = "controls_toggle",
FACTORY_COLLECTION = "factory_collection",
COLOR_COLLECTION = "color_collection",
SERVER_GAMES_COLLECTION = "server_games_collection",
SERVER_SCREENSHOT_COLLECTION = "server_screenshot_collection",
BETA_RETAIL_LOCAL_WORLDS = "beta_retail_local_worlds",
BETA_RETAIL_LEGACY_WORLDS = "beta_retail_legacy_worlds",
WORLD_SLOTS = "world_slots",
DEV_NEW_CREATE_WORLD_SCREEN_RADIO = "dev_new_create_world_screen_radio",
OUTPUT_CHAR_COLLECTION = "output_char_collection",
COMPCREATE_INPUT = "compcreate_input",
LABTABLE_INPUT = "labtable_input",
MATREDUCE_OUTPUT = "matreduce_output",
}

1
src/types/enums/Color.ts Normal file
View file

@ -0,0 +1 @@
export enum Color {}

View file

@ -0,0 +1,10 @@
export enum DebugColor {
WHITE = "white",
BLACK = "black",
GRAY = "gray",
RED = "red",
BLUE = "blue",
GREEN = "green",
YELLOW = "yellow",
PURPLE = "purple",
}

34
src/types/enums/Easing.ts Normal file
View file

@ -0,0 +1,34 @@
export enum Easing {
LINEAR = "linear",
SPRING = "spring",
IN_QUAD = "in_quad",
OUT_QUAD = "out_quad",
IN_OUT_QUAD = "in_out_quad",
IN_CUBIC = "in_cubic",
OUT_CUBIC = "out_cubic",
IN_OUT_CUBIC = "in_out_cubic",
IN_QUART = "in_quart",
OUT_QUART = "out_quart",
IN_OUT_QUART = "in_out_quart",
IN_QUINT = "in_quint",
OUT_QUINT = "out_quint",
IN_OUT_QUINT = "in_out_quint",
IN_SINE = "in_sine",
OUT_SINE = "out_sine",
IN_OUT_SINE = "in_out_sine",
IN_EXPO = "in_expo",
OUT_EXPO = "out_expo",
IN_OUT_EXPO = "in_out_expo",
IN_CIRC = "in_circ",
OUT_CIRC = "out_circ",
IN_OUT_CIRC = "in_out_circ",
IN_BOUNCE = "in_bounce",
OUT_BOUNCE = "out_bounce",
IN_OUT_BOUNCE = "in_out_bounce",
IN_BACK = "in_back",
OUT_BACK = "out_back",
IN_OUT_BACK = "in_out_back",
IN_ELASTIC = "in_elastic",
OUT_ELASTIC = "out_elastic",
IN_OUT_ELASTIC = "in_out_elastic",
}

View file

@ -0,0 +1,6 @@
export enum FocusNavigationMode {
CONTAINED = "contained",
NONE = "none",
CUSTOM = "custom",
STOP = "stop",
}

View file

@ -0,0 +1,7 @@
export enum FontSize {
SMALL = "small",
NORMAL = "normal",
MEDIUM = "medium",
LARGE = "large",
EXTRA_LARGE = "extra_large",
}

View file

@ -0,0 +1,6 @@
export enum FontType {
DEFAULT = "default",
RUNE = "rune",
UNICODE = "unicode",
SMOOTH = "smooth",
}

View file

@ -0,0 +1,58 @@
export enum GlobalVariables {
STORE_DISABLED = "$store_disabled",
GAME_PAD = "$game_pad",
MOUSE = "$mouse",
TOUCH = "$touch",
TRIAL = "$trial",
BUILD_PLATFORM_UWP = "$build_platform_UWP",
WIN10_EDITION = "$win10_edition",
IGNORE_ADD_SERVERS = "$ignore_add_servers",
DISABLE_GAMERTAG_CONTROLS = "$disable_gamertag_controls",
CONSOLE_EDITION = "$console_edition",
OSX_EDITION = "$osx_edition",
POCKET_EDITION = "$pocket_edition",
EDUCATION_EDITION = "$education_edition",
WORLD_ARCHIVE_SUPPORT = "$world_archive_support",
FILE_PICKING_SUPPORTED = "$file_picking_supported",
DESKTOP_SCREEN = "$desktop_screen",
POCKET_SCREEN = "$pocket_screen",
IS_HOLOGRAPHIC = "$is_holographic",
GEAR_VR = "$gear_vr",
OCULUS_RIFT = "$oculus_rift",
IS_LIVING_ROOM_MODE = "$is_living_room_mode",
IS_REALITY_MODE = "$is_reality_mode",
REALMS_BETA = "$realms_beta",
FIRE_TV = "$fire_tv",
IS_IOS = "$is_ios",
APPLE_TV = "$apple_tv",
IS_WINDOWS_10_MOBILE = "$is_windows_10_mobile",
IMAGE_PICKING_NOT_SUPPORTED = "$image_picking_not_supported",
PRE_RELEASE = "$pre_release",
IOS = "$ios",
IS_CONSOLE = "$is_console",
CAN_QUIT = "$can_quit",
IS_SETTOPBOX = "$is_settopbox",
MICROSOFT_OS = "$microsoft_os",
APPLE_OS = "$apple_os",
GOOGLE_OS = "$google_os",
NX_OS = "$nx_os",
HORIZONTAL_SAFEZONE_SIZE = "$horizontal_safezone_size",
VERTICAL_SAFEZONE_SIZE = "$vertical_safezone_size",
CAN_SPLITSCREEN = "$can_splitscreen",
IS_SECONDARY_CLIENT = "$is_secondary_client",
MULTIPLAYER_REQUIRES_LIVE_GOLD = "$multiplayer_requires_live_gold",
XBOX_ONE = "$xbox_one",
IS_PREGAME = "$is_pregame",
IS_WIN10_ARM = "$is_win10_arm",
VIBRATION_SUPPORTED = "$vibration_supported",
IS_MOBILE_VR = "$is_mobile_vr",
IS_XBOXLIVE_ENABLED = "$is_xboxlive_enabled",
DEVICE_MUST_BE_REMOVED_FOR_XBL_SIGNIN = "$device_must_be_removed_for_xbl_signin",
IS_PUBLISH = "$is_publish",
IS_DESKTOP = "$is_desktop",
IS_PS4 = "$is_ps4",
IS_ON_3P_SERVER = "$is_on_3p_server",
IGNORE_3RD_PARTY_SERVERS = "$ignore_3rd_party_servers",
IS_BERWICK = "$is_berwick",
EDIT_MODE = "$edit_mode",
}

View file

@ -0,0 +1,86 @@
export enum GridDimensions {
ACHIEVEMENT_GRID_DIMENSION = "#achievement_grid_dimension",
GAMEPAD_ACTION_ITEM_GRID_DIMENSION = "#gamepad_action_item_grid_dimension",
EQUIP_GRID_DIMENSIONS = "#equip_grid_dimensions",
INV_GRID_DIMENSIONS = "#inv_grid_dimensions",
HOTBAR_GRID_DIMENSIONS = "#hotbar_grid_dimensions",
HOTBAR_GRID_DIMENSIONS_FIXED_INVENTORY = "#hotbar_grid_dimensions_fixed_inventory",
BOSS_GRID_DIMENSION = "#boss_grid_dimension",
ONLINE_FRIEND_GRID_DIMENSION = "#online_friend_grid_dimension",
OFFLINE_FRIEND_GRID_DIMENSION = "#offline_friend_grid_dimension",
PLAYERS_GRID_DIMENSION = "#players_grid_dimension",
REALMS_NETWORK_WORLD_ITEM_GRID_DIMENSION = "#realms_network_world_item_grid_dimension",
LOCAL_WORLD_ITEM_GRID_DIMENSION = "#local_world_item_grid_dimension",
REQUIRED_RESOURCE_PACK_GRID_DIMENSION = "#required_resource_pack_grid_dimension",
OPTIONAL_RESOURCE_PACK_GRID_DIMENSION = "#optional_resource_pack_grid_dimension",
GAMERTAG_ITEM_GRID_DIMENSION = "#gamertag_item_grid_dimension",
REALMS_BRANCH_GRID_DIMENSION = "#realms_branch_grid_dimension",
MEMBERS_GRID_DIMENSION = "#members_grid_dimension",
INVITED_FRIENDS_GRID_DIMENSION = "#invited_friends_grid_dimension",
UNINVITED_FRIENDS_GRID_DIMENSION = "#uninvited_friends_grid_dimension",
SCREENSHOTS_GRID_DIMENSIONS = "#screenshots_grid_dimensions",
SKINS_GRID_DIMENSIONS = "#skins_grid_dimensions",
PREMIUM_SKINS_GRID_DIMENSIONS = "#premium_skins_grid_dimensions",
PREMIUM_PACKS_GRID_DIMENSIONS = "#premium_packs_grid_dimensions",
DEFAULT_SKINS_GRID_DIMENSIONS = "#default_skins_grid_dimensions",
RECENT_SKINS_GRID_DIMENSIONS = "#recent_skins_grid_dimensions",
OFFER_GRID_DIMENSIONS = "#offer_grid_dimensions",
KEYBOARD_GRID_DIMENSION = "#keyboard_grid_dimension",
GAMEPAD_GRID_DIMENSION = "#gamepad_grid_dimension",
LANGUAGE_GRID_DIMENSION = "#language_grid_dimension",
CATEGORY_GRID_DIMENSIONS = "#category_grid_dimensions",
REALM_GRID_DIMENSION = "#realm_grid_dimension",
WORLD_GRID_DIMENSION = "#world_grid_dimension",
NAVIGATION_TAB_GRID_SIZE = "#navigation_tab_grid_size",
LOADING_PERSONAL_REALMS_GRID_DIMENSION = "#loading_personal_realms_grid_dimension",
LOADING_FRIENDS_REALMS_GRID_DIMENSION = "#loading_friends_realms_grid_dimension",
LOADING_WORLD_TEMPLATE_ITEM_GRID_DIMENSION = "#loading_world_template_item_grid_dimension",
WORLD_TEMPLATE_ITEM_GRID_DIMENSION = "#world_template_item_grid_dimension",
INVALID_WORLD_TEMPLATE_ITEM_GRID_DIMENSION = "#invalid_world_template_item_grid_dimension",
WORLD_SCREENSHOTS_GRID_DIMENSIONS = "#world_screenshots_grid_dimensions",
MOB_EFFECT_GRID_SIZE = "#mob_effect_grid_size",
FEATURED_ITEM_GRID_DIMENSION = "#featured_item_grid_dimension",
LIST_GRID_DIMENSIONS = "#list_grid_dimensions",
PICK_GRID_DIMENSIONS = "#pick_grid_dimensions",
COIN_OFFER_SIZE = "#coin_offer_size",
COMMENT_GRID_DIMENSION = "#comment_grid_dimension",
FEED_GRID_DIMENSION = "#feed_grid_dimension",
MANAGE_FEED_GRID_DIMENSION = "#manage_feed_grid_dimension",
STUDENT_BUTTON_GRID_DIMENSIONS = "#student_button_grid_dimensions",
PERMISSIONS_GRID_DIMENSION = "#permissions_grid_dimension",
SERVERS_NETWORK_WORLD_ITEM_GRID_DIMENSION = "#servers_network_world_item_grid_dimension",
THIRD_PARTY_FEATURED_ITEM_GRID_DIMENSION = "#third_party_featured_item_grid_dimension",
LEGACY_WORLD_ITEM_GRID_DIMENSION = "#legacy_world_item_grid_dimension",
BLOCKED_PLAYERS_GRID_DIMENSION = "#blocked_players_grid_dimension",
SCREENSHOTPICKER_GRID_DIMENSION = "#screenshotpicker_grid_dimension",
PAST_PROMO_ROW_GRID_DIMENSION = "#past_promo_row_grid_dimension",
FUTURE_PROMO_ROW_GRID_DIMENSION = "#future_promo_row_grid_dimension",
SUGGESTED_OFFERS_ITEM_GRID_DIMENSION = "#suggested_offers_item_grid_dimension",
TREATMENTS_GRID_DIMENSION = "#treatments_grid_dimension",
REALMS_BACKUP_GRID_DIMENSION = "#realms_backup_grid_dimension",
TRENDING_OFFERS_DIMENSIONS = "#trending_offers_dimensions",
TRENDING_ROWS_DIMENSIONS = "#trending_rows_dimensions",
EDITOR_GRID_DIMENSIONS = "#editor_grid_dimensions",
ROW_GRID_DIMENSIONS = "#row_grid_dimensions",
FONT_COLOR_GRID_DIMENSION = "#font_color_grid_dimension",
GRID_DIMENSIONS = "#grid_dimensions",
EDUCATION_TEMPLATE_ITEM_GRID_DIMENSION = "#education_template_item_grid_dimension",
UNUSED_TREATMENTS_GRID_DIMENSION = "#unused_treatments_grid_dimension",
REALMS_GRID_DIMENSION = "#realms_grid_dimension",
TEMPLATES_GRID_DIMENSION = "#templates_grid_dimension",
ONLINE_XBOX_LIVE_FRIEND_GRID_DIMENSION = "#online_xbox_live_friend_grid_dimension",
OFFLINE_XBOX_LIVE_FRIEND_GRID_DIMENSION = "#offline_xbox_live_friend_grid_dimension",
ONLINE_PLATFORM_FRIEND_GRID_DIMENSION = "#online_platform_friend_grid_dimension",
OFFLINE_PLATFORM_FRIEND_GRID_DIMENSION = "#offline_platform_friend_grid_dimension",
RATINGS_STAR_DIMENSIONS = "#ratings_star_dimensions",
COLOR_SINGLE_PAGE_SIZE = "#color_single_page_size",
CAPE_COUNT = "#cape_count",
REALMS_PLUS_TEMPLATE_ITEM_GRID_DIMENSION = "#realms_plus_template_item_grid_dimension",
CUSTOM_WORLD_TEMPLATE_ITEM_GRID_DIMENSION = "#custom_world_template_item_grid_dimension",
ONLINE_LINKED_ACCOUNT_FRIEND_GRID_DIMENSION = "#online_linked_account_friend_grid_dimension",
OFFLINE_LINKED_ACCOUNT_FRIEND_GRID_DIMENSION = "#offline_linked_account_friend_grid_dimension",
BETA_RETAIL_LOCAL_WORLD_ITEM_GRID_DIMENSION = "#beta_retail_local_world_item_grid_dimension",
BETA_RETAIL_LEGACY_WORLD_ITEM_GRID_DIMENSION = "#beta_retail_legacy_world_item_grid_dimension",
PROGRESSIONS_GRID_DIMENSION = "#progressions_grid_dimension",
DEV_NEW_ACHIEVEMENTS_SCREENS_RADIO_DIMENSION = "#dev_new_achievements_screens_radio_dimension",
}

View file

@ -0,0 +1,6 @@
export enum InputModeCondition {
ANY = "any",
NOT_GAZE = "not_gaze",
NOT_GAMEPAD = "not_gamepad",
GAMEPAD_AND_NOT_GAZE = "gamepad_and_not_gaze",
}

32
src/types/enums/Links.ts Normal file
View file

@ -0,0 +1,32 @@
export enum Links {
PROPERTY_BAG = "unset #hyperlink in property_bag",
EULA = "http://education.minecraft.net/eula",
HTML = "http://pocketbeta.minecraft.net/p/how-to-join-and-leave-beta.html",
MINECRAFTREALMSFB = "http://aka.ms/minecraftrealmsfb",
MINECRAFTREALMSTERMS = "http://aka.ms/minecraftrealmsterms",
MINECRAFTFB = "http://aka.ms/minecraftfb",
MINECRAFTEDUSUPPORT = "http://aka.ms/minecraftedusupport",
BLOCKXBOXMESSAGES = "https://aka.ms/blockxboxmessages",
MINECRAFTFBBETA = "http://aka.ms/minecraftfbbeta",
ATTRIBUTION = "https://minecraft.net/attribution",
MCEDULOGS = "http://aka.ms/mcedulogs",
EULA_1 = "https://education.minecraft.net/eula",
MCEDULOGS_1 = "https://aka.ms/mcedulogs",
MINECRAFTREALMSTERMS_1 = "https://aka.ms/minecraftrealmsterms",
MINECRAFTFB_1 = "https://aka.ms/minecraftfb",
MINECRAFTFBBETA_1 = "https://aka.ms/minecraftfbbeta",
MINECRAFTEDUSUPPORT_1 = "https://aka.ms/minecraftedusupport",
_8 = "https://itunes.apple.com/us/app/minecraft/id479516143?mt=8",
SETTINGS = "https://account.xbox.com/Settings",
MEETERMS = "https://aka.ms/meeterms",
PRIVACY = "https://aka.ms/privacy",
MCBANNED = "https://aka.ms/MCBanned",
MCMULTIPLAYERHELP = "https://aka.ms/MCMultiplayerHelp",
MEEEULA = "https://aka.ms/meeeula",
MEE_PRIVACY = "https://aka.ms/mee_privacy",
HIDECHROME = "https://www.minecraft.net/attribution/?hideChrome",
SWITCHATTRIBUTION = "https://aka.ms/switchattribution",
HIDECHROME_1 = "https://www.minecraft.net/licensed-content/?hideChrome",
SWITCHCONTENT = "https://aka.ms/switchcontent",
CHANGEGAMERTAG = "https://social.xbox.com/changegamertag",
}

View file

@ -0,0 +1,6 @@
export enum MappingType {
GLOBAL = "global",
PRESSED = "pressed",
DOUBLE_PRESSED = "double_pressed",
FOCUSED = "focused",
}

View file

@ -0,0 +1,14 @@
export enum McColor {
WHITE = "white",
BLACK = "black",
YELLOW = "yellow",
ORANGE = "orange",
GREEN = "green",
PURPLE = "purple",
NIL = "nil",
CYAN = "cyan",
RED = "red",
GREY = "grey",
GRAY = "gray",
BLUE = "blue",
}

View file

@ -0,0 +1,5 @@
export enum Orientation {
VERTICAL = "vertical",
HORIZONTAL = "horizontal",
NONE = "none",
}

View file

@ -0,0 +1,54 @@
export enum Renderer {
HOVER_TEXT_RENDERER = "hover_text_renderer",
_3D_STRUCTURE_RENDERER = "3d_structure_renderer",
SPLASH_TEXT_RENDERER = "splash_text_renderer",
UI_HOLO_CURSOR = "ui_holo_cursor",
TRIAL_TIME_RENDERER = "trial_time_renderer",
PANORAMA_RENDERER = "panorama_renderer",
ACTOR_PORTRAIT_RENDERER = "actor_portrait_renderer",
BANNER_PATTERN_RENDERER = "banner_pattern_renderer",
LIVE_PLAYER_RENDERER = "live_player_renderer",
WEB_VIEW_RENDERER = "web_view_renderer",
HUNGER_RENDERER = "hunger_renderer",
BUBBLES_RENDERER = "bubbles_renderer",
MOB_EFFECTS_RENDERER = "mob_effects_renderer",
CURSOR_RENDERER = "cursor_renderer",
PROGRESS_INDICATOR_RENDERER = "progress_indicator_renderer",
CAMERA_RENDERER = "camera_renderer",
HORSE_JUMP_RENDERER = "horse_jump_renderer",
ARMOR_RENDERER = "armor_renderer",
HORSE_HEART_RENDERER = "horse_heart_renderer",
HEART_RENDERER = "heart_renderer",
HOTBAR_COOLDOWN_RENDERER = "hotbar_cooldown_renderer",
HOTBAR_RENDERER = "hotbar_renderer",
HUD_PLAYER_RENDERER = "hud_player_renderer",
LIVE_HORSE_RENDERER = "live_horse_renderer",
HOLOGRAPHIC_POSTRENDERER = "holographic_postrenderer",
ENCHANTING_BOOK_RENDERER = "enchanting_book_renderer",
DEBUG_SCREEN_RENDERER = "debug_screen_renderer",
GRADIENT_RENDERER = "gradient_renderer",
PAPER_DOLL_RENDERER = "paper_doll_renderer",
NAME_TAG_RENDERER = "name_tag_renderer",
FLYING_ITEM_RENDERER = "flying_item_renderer",
INVENTORY_ITEM_RENDERER = "inventory_item_renderer",
CREDITS_RENDERER = "credits_renderer",
VIGNETTE_RENDERER = "vignette_renderer",
PROGRESS_BAR_RENDERER = "progress_bar_renderer",
DEBUG_OVERLAY_RENDERER = "debug_overlay_renderer",
BACKGROUND_RENDERER = "background_renderer",
BUNDLE_RENDERER = "bundle_renderer",
EDITOR_GIZMO_RENDERER = "editor_gizmo_renderer",
DASH_RENDERER = "dash_renderer",
EQUIPMENT_PREVIEW_RENDERER = "equipment_preview_renderer",
EDITOR_VOLUME_HIGHLIGHT_RENDERER = "editor_volume_highlight_renderer",
EDITOR_COMPASS_RENDERER = "editor_compass_renderer",
PROFILE_IMAGE_RENDERER = "profile_image_renderer",
LOCATOR_BAR = "locator_bar",
BUNDLE_TOOLTIP_RENDERER = "bundle_tooltip_renderer",
ANIMATED_GIF_RENDERER = "animated_gif_renderer",
QR_CODE_RENDERER = "qr_code_renderer",
BOHR_MODEL_RENDERER = "bohr_model_renderer",
TOAST_RENDERER = "toast_renderer",
NETEASE_PAPER_DOLL_RENDERER = "netease_paper_doll_renderer",
NETEASE_MINI_MAP_RENDERER = "netease_mini_map_renderer",
}

View file

@ -0,0 +1,6 @@
export enum Rotation {
NONE = "none",
AUTO = "auto",
GESTURE_X = "gesture_x",
CUSTOM_Y = "custom_y",
}

5
src/types/enums/Scope.ts Normal file
View file

@ -0,0 +1,5 @@
export enum Scope {
GLOBAL = "global",
VIEW = "view",
CONTROLLER = "controller",
}

View file

@ -0,0 +1,67 @@
export enum SliderName {
KEYBOARD_MOUSE_SENSITIVITY = "keyboard_mouse_sensitivity",
VR_UI_MOUSE_SENSITIVITY = "vr_ui_mouse_sensitivity",
CONTROLLER_SENSITIVITY = "controller_sensitivity",
VR_SENSITIVITY = "vr_sensitivity",
VR_ROLL_TURN_SENSITIVITY = "vr_roll_turn_sensitivity",
TOUCH_SENSITIVITY = "touch_sensitivity",
BUTTON_SIZE = "button_size",
GUI_SCALE = "gui_scale",
GAMMA = "gamma",
VR_GAMMA = "vr_gamma",
FIELD_OF_VIEW = "field_of_view",
RENDER_DISTANCE = "render_distance",
VR_RENDER_DISTANCE = "vr_render_distance",
MSAA = "msaa",
VR_MSAA = "vr_msaa",
PARTICLE_RENDER_DISTANCE = "particle_render_distance",
VR_PARTICLE_RENDER_DISTANCE = "vr_particle_render_distance",
MASTER_VOLUME = "master_volume",
MUSIC_VOLUME = "music_volume",
SOUND_VOLUME = "sound_volume",
WEATHER_VOLUME = "weather_volume",
HOSTILE_CREATURE_VOLUME = "hostile_creature_volume",
PLAYER_VOLUME = "player_volume",
JUKEBOX_AND_NOTE_BLOCK_VOLUME = "jukebox_and_note_block_volume",
BLOCK_VOLUME = "block_volume",
FRIENDLY_CREATURE_VOLUME = "friendly_creature_volume",
ENVIRONMENT_VOLUME = "environment_volume",
DEV_CONNECTION_QUALITY = "dev_connection_quality",
MAX_FRAMERATE = "max_framerate",
SAFE_ZONE = "safe_zone",
SAFE_ZONE_ALL = "safe_zone_all",
SAFE_ZONE_X = "safe_zone_x",
SAFE_ZONE_Y = "safe_zone_y",
SCREEN_POSITION_X = "screen_position_x",
SCREEN_POSITION_Y = "screen_position_y",
CUSTOM_SLIDER_STEP = "custom_slider_step",
CUSTOM_SLIDER = "custom_slider",
GAMEPAD_CURSOR_SENSITIVITY = "gamepad_cursor_sensitivity",
SERVER_SIM_DISTANCE = "server_sim_distance",
DEV_RENDER_ATTACH_POS = "dev_render_attach_pos",
SPLITSCREEN_INTERFACE_OPACITY = "splitscreen_interface_opacity",
INTERFACE_OPACITY = "interface_opacity",
MEM_CHECK_TIMER = "mem_check_timer",
HDR_CALIBRATION = "hdr_calibration",
CONTENT_TIER_SLIDER = "content_tier_slider",
KEYBOARD_SMOOTH_ROTATION_SPEED = "keyboard_smooth_rotation_speed",
RENDERING_PROFILE = "rendering_profile",
CHAT_MESSAGE_SPACING = "chat_message_spacing",
CHAT_LINE_SPACING = "chat_line_spacing",
CHAT_FONT_SIZE = "chat_font_size",
ROTATION = "rotation",
MIRROR = "mirror",
AD_TOKEN_REFRESH_THRESHOLD = "ad_token_refresh_threshold",
GFX_TEXTURE_LOAD_DELAY = "gfx_texture_load_delay",
GFX_MAX_DEQUEUED_TEXTURES_PER_FRAME = "gfx_max_dequeued_textures_per_frame",
RAYTRACING_RENDER_DISTANCE = "raytracing_render_distance",
VR_SNAP_ANGLE = "vr_snap_angle",
VR_HUD_DISTANCE = "vr_hud_distance",
TEXTTOSPEECH_VOLUME = "texttospeech_volume",
TEXT_BACKGROUND_OPACITY = "text_background_opacity",
MAIN_VOLUME = "main_volume",
AMBIENT_VOLUME = "ambient_volume",
HOSTILE_VOLUME = "hostile_volume",
NEUTRAL_VOLUME = "neutral_volume",
RECORD_VOLUME = "record_volume",
}

View file

@ -0,0 +1,5 @@
export enum TextAlignment {
LEFT = "left",
RIGHT = "right",
CENTER = "center",
}

View file

@ -0,0 +1,5 @@
export enum TextType {
EXTENDEDASCII = "ExtendedASCII",
IDENTIFIERCHARS = "IdentifierChars",
NUMBERCHARS = "NumberChars",
}

View file

@ -0,0 +1,96 @@
export enum TextboxName {
PLAYER_NAME_TEXT_BOX = "player_name_text_box",
DEV_REALMS_ENDPOINT = "dev_realms_endpoint",
DEV_REALMS_ENDPOINT_PAYMENT = "dev_realms_endpoint_payment",
DEV_REALMS_RELYING_PARTY = "dev_realms_relying_party",
DEV_REALMS_RELYING_PARTY_PAYMENT = "dev_realms_relying_party_payment",
REALM_NAME_TEXT_BOX = "realm_name_text_box",
WORLD_NAME_TEXT_BOX = "world_name_text_box",
WORLD_SEED_TEXT_BOX = "world_seed_text_box",
NAME_TEXT_BOX = "#name_text_box",
IP_TEXT_BOX = "#ip_text_box",
PORT_TEXT_BOX = "#port_text_box",
MESSAGE_TEXT_BOX = "#message_text_box",
URL_TEXT_BOX = "#url_text_box",
INTERACT_TEXT_BOX = "#interact_text_box",
TEXT_BOX_PHOTOS = "#text_box_photos",
REALMS_NAME_BOX = "#realms_name_box",
VERSION_FILTER_TEXT_BOX = "#version_filter_text_box",
TEXT_BOX_STRUCTURE_OFFSET_X = "#text_box_structure_offset_x",
TEXT_BOX_STRUCTURE_OFFSET_Y = "#text_box_structure_offset_y",
TEXT_BOX_STRUCTURE_OFFSET_Z = "#text_box_structure_offset_z",
TEXT_BOX_STRUCTURE_SIZE_X = "#text_box_structure_size_x",
TEXT_BOX_STRUCTURE_SIZE_Y = "#text_box_structure_size_y",
TEXT_BOX_STRUCTURE_SIZE_Z = "#text_box_structure_size_z",
TEXT_BOX_STRUCTURE_SEED = "#text_box_structure_seed",
TEXT_BOX_STRUCTURE_INTEGRITY = "#text_box_structure_integrity",
TEXT_BOX_STRUCTURE_NAME = "#text_box_structure_name",
TEXT_BOX_METADATA_NAME = "#text_box_metadata_name",
SEARCH_BOX_NAME = "#search_box_name",
HOVER_NOTE_TEXTBOX = "command_block.hover_note_textbox",
OUTPUT_TEXT = "command_block.output_text",
COMMAND_TEXT = "command_block.command_text",
REMIX_NAME = "#remix_name",
REMIX_DESCRIPTION = "#remix_description",
REMIX_TAG = "#remix_tag",
REMIX_MINECRAFT_TAG = "#remix_minecraft_tag",
SIGN_TEXT_MULTI = "#sign_text_multi",
SEARCH_CONTROL = "search_control",
STRUCTURE_NAME = "structure_name",
STRUCTURE_NAME_1 = "#structure_name",
PAGE_TEXT_BOX = "#page_text_box",
TITLE_TEXT_BOX = "#title_text_box",
AUTHOR_TEXT_BOX = "#author_text_box",
COMMENT_TEXT_BOX = "comment_text_box",
ACTION_TEXT_BOX = "action_text_box",
MAXIMIZED_ACTION_EDIT_BOX = "maximized_action_edit_box",
BUTTON_NAME_EDIT = "button_name_edit",
JOIN_BY_CODE_TEXT_EDIT = "#join_by_code_text_edit",
PLAYER_FILTER_TEXT_BOX = "#player_filter_text_box",
CAPTION_TEXT_BOX = "#caption_text_box",
CUSTOM_INPUT = "custom_input",
GAMERTAG_SEARCH_BOX = "gamertag_search_box",
REPORT_REASON_TEXT_BOX = "report_reason_text_box",
CLUB_DESCRIPTION_TEXT_BOX = "club_description_text_box",
DEV_DATE_YEAR_OVERRIDE_TEXT_BOX = "dev_date_year_override_text_box",
DEV_DATE_MONTH_OVERRIDE_TEXT_BOX = "dev_date_month_override_text_box",
DEV_DATE_DAY_OVERRIDE_TEXT_BOX = "dev_date_day_override_text_box",
DEV_OVERRIDE_DAY_LENGTH_TEXT_BOX = "dev_override_day_length_text_box",
DEV_TREATMENT_ID = "dev_treatment_id",
SHARE_TEXT_BOX = "share_text_box",
SEARCH_TEXT_BOX = "search_text_box",
STUDENT_MESSAGE_BUBBLE = "student_message_bubble",
AUTOMATION_FUNCTIONAL_TEST_TAGS = "automation_functional_test_tags",
AUTOMATION_UNIT_TEST_TAGS = "automation_unit_test_tags",
AUTOMATION_FUNCTIONAL_BLACKLIST_TEST_TAGS = "automation_functional_blacklist_test_tags",
AUTOMATION_UNIT_BLACKLIST_TEST_TAGS = "automation_unit_blacklist_test_tags",
AUTOMATION_REPEAT_COUNT = "automation_repeat_count",
AUTOMATION_INGESTION_ENDPOINT = "automation_ingestion_endpoint",
AUTOMATION_TESTRUN_ID = "automation_testrun_id",
RANDOM_TICK_SPEED_TEXT_BOX = "random_tick_speed_text_box",
DEV_OVERRIDE_TIME_SCALE_TEXT_BOX = "dev_override_time_scale_text_box",
SEARCH_FILTER_TEXT = "search_filter_text",
DEV_DATE_HOUR_OVERRIDE_TEXT_BOX = "dev_date_hour_override_text_box",
DEV_DATE_MINUTE_OVERRIDE_TEXT_BOX = "dev_date_minute_override_text_box",
DEV_VERSION_MAJOR_OVERRIDE_TEXT_BOX = "dev_version_major_override_text_box",
DEV_VERSION_MINOR_OVERRIDE_TEXT_BOX = "dev_version_minor_override_text_box",
DEV_VERSION_PATCH_OVERRIDE_TEXT_BOX = "dev_version_patch_override_text_box",
DEBUG_STATE_TEXT_BOX = "debug_state_text_box",
TICK_DELAY_TEXTBOX = "command_block.tick_delay_textbox",
INTEGRITY_FIELD = "#integrity_field",
SEED_FIELD = "#seed_field",
DATA_FIELD = "#data_field",
TEMPLATE_VERSION_TEXT_BOX = "template_version_text_box",
LEAK_MEMORY_TEXT_BOX = "leak_memory_text_box",
TEMPLATE_SEARCH_BOX = "#template_search_box",
WORLD_SEARCH_BOX = "#world_search_box",
RESPAWN_RADIUS_TEXT_BOX = "respawn_radius_text_box",
AZURE_SHARED_ACCESS_SIGNATURE = "test_assets.azure_shared_access_signature",
AUTOMATION_SERVER_TEST_TAGS = "automation_server_test_tags",
AUTOMATION_BROKEN_FUNCTIONAL_TEST_TAGS = "automation_broken_functional_test_tags",
AUTOMATION_BROKEN_SERVER_TEST_TAGS = "automation_broken_server_test_tags",
AUTOMATION_BROKEN_UNIT_TEST_TAGS = "automation_broken_unit_test_tags",
AUTOMATION_SOAK_TEST_DURATION_MINUTES = "automation_soak_test_duration_minutes",
DEV_PROGRESSION_ID = "dev_progression_id",
ANIMATION_TIME_FIELD = "#animation_time_field",
}

View file

@ -0,0 +1,322 @@
export enum ToggleName {
KEYBOARD_MOUSE_INVERT_Y_AXIS = "keyboard_mouse_invert_y_axis",
KEYBOARD_MOUSE_AUTOJUMP = "keyboard_mouse_autojump",
KEYBOARD_MOUSE_TOGGLE_CROUCH = "keyboard_mouse_toggle_crouch",
CONTROLLER_INVERT_Y_AXIS = "controller_invert_y_axis",
CONTROLLER_AUTOJUMP = "controller_autojump",
VR_AUTOJUMP = "vr_autojump",
CONTROLLER_TOGGLE_CROUCH = "controller_toggle_crouch",
CONTROLLER_VIBRATION = "controller_vibration",
TOUCH_INVERT_Y_AXIS = "touch_invert_y_axis",
TOUCH_AUTOJUMP = "touch_autojump",
TOUCH_VIBRATION = "touch_vibration",
TOUCH_TOGGLE_CROUCH = "touch_toggle_crouch",
SPLIT_CONTROLS = "split_controls",
LEFT_HANDED = "left_handed",
SWAP_JUMP_AND_SNEAK = "swap_jump_and_sneak",
ALLOW_CHEATS = "allow_cheats",
NAVIGATION_TAB = "navigation_tab",
ALLOW_CELLULAR_DATA = "allow_cellular_data",
ADVANCED_VIDEO_OPTIONS_TOGGLE = "advanced_video_options_toggle",
FULL_SCREEN = "full_screen",
VIEW_BOBBING = "view_bobbing",
GRAPHICS_TOGGLE = "graphics_toggle",
FANCY_SKIES = "fancy_skies",
TRANSPARENT_LEAVES = "transparent_leaves",
HIDE_GUI = "hide_gui",
VR_HIDE_GUI = "vr_hide_gui",
TEXEL_AA = "texel_aa",
VR_3D_RENDERING = "vr_3d_rendering",
VR_MIRROR_TEXTURE = "vr_mirror_texture",
LIMIT_WORLD_SIZE = "limit_world_size",
COMFORT_CONTROLS = "comfort_controls",
SHOW_COMFORT_SELECT_SCREEN = "show_comfort_select_screen",
VR_LIVING_ROOM_CURSOR_CENTERED = "vr_living_room_cursor_centered",
VR_HMD_DISPLACEMENT = "vr_hmd_displacement",
VR_LINEAR_JUMP = "vr_linear_jump",
VR_LINEAR_MOTION = "vr_linear_motion",
STICKY_MINING = "sticky_mining",
VR_HUD_DRIFTS = "vr_hud_drifts",
VR_HEAD_STEERING = "vr_head_steering",
STUTTER_TURN = "stutter_turn",
STUTTER_CONSTANT_ANGLE_OR_TIME = "stutter_constant_angle_or_time",
STUTTER_TURN_SOUND = "stutter_turn_sound",
VR_ROLL_TURN = "vr_roll_turn",
LANGUAGES = "languages",
DEV_ENABLE_DEBUG_UI = "dev_enable_debug_ui",
DEV_OFFERS_UNLOCKED = "dev_offers_unlocked",
DEV_RENDER_BOUNDING_BOX = "dev_render_bounding_box",
DEV_RENDER_PATHS = "dev_render_paths",
DEV_RENDER_GOAL_STATE = "dev_render_goal_state",
DEV_RESET_CLIENT_ID = "dev_reset_client_id",
DEV_SHOW_CHUNK_MAP = "dev_show_chunk_map",
DEV_ENABLE_PROFILER = "dev_enable_profiler",
DEV_ACHIEVEMENTS_ALWAYS_ENABLED = "dev_achievements_always_enabled",
DEV_USE_LOCAL_SERVER = "dev_use_local_server",
DEV_USE_IPV6_ONLY = "dev_use_ipv6_only",
DEV_USE_FPS_INDEPENDENT_TURNING = "dev_use_fps_independent_turning",
DEV_USE_RETAIL_XBOX_SANDBOX = "dev_use_retail_xbox_sandbox",
DEV_CREATE_REALM_WITHOUT_PURCHASE = "dev_create_realm_without_purchase",
ALWAYS_DAY = "always_day",
MULTIPLAYER_GAME = "multiplayer_game",
XBOXLIVE_VISIBLE = "xboxlive_visible",
SERVER_VISIBLE = "server_visible",
SPEED = "speed",
HASTE = "haste",
RESIST = "resist",
JUMP = "jump",
STRENGTH = "strength",
REGEN = "regen",
EXTRA = "extra",
CONFIRM = "confirm",
CANCEL = "cancel",
TOGGLE_INVITE_ONLINE = "toggle_invite_online",
TOGGLE_INVITE_OFFLINE = "toggle_invite_offline",
REQUIRED_RESOURCEPACKS = "required_resourcepacks",
OPTIONAL_RESOURCEPACKS = "optional_resourcepacks",
PLAYER_COUNT_2 = "#player_count_2",
PLAYER_COUNT_10 = "#player_count_10",
AGREE_TERMS_AND_CONDITIONS = "#agree_terms_and_conditions",
HIDE_INVITES = "#hide_invites",
OPERATOR = "#operator",
MEMBER_SETTINGS = "#member_settings",
FORCE_USER_AGREEMENT_LEVEL = "force_user_agreement_level",
THIRD_PERSON_DROPDOWN = "third_person_dropdown",
DEV_REALMS_ENVIRONMENT_DROPDOWN = "dev_realms_environment_dropdown",
REALMS_DIFFICULTY = "realms_difficulty",
REALMS_GAMEMODE = "realms_gamemode",
WORLD_GAME_MODE_DROPDOWN = "world_game_mode_dropdown",
PLAYER_GAME_MODE_DROPDOWN = "player_game_mode_dropdown",
WORLD_DIFFICULTY_DROPDOWN = "world_difficulty_dropdown",
WORLD_TYPE_DROPDOWN = "world_type_dropdown",
WORLD_TOGGLE = "world_toggle",
ADVANCED_VIDEO_OPTIONS = "advanced_video_options",
UI_PROFILE_DROPDOWN = "ui_profile_dropdown",
STICKY_MINING_HAND = "sticky_mining_hand",
VR_HAND_CONTROLS_ITEM = "vr_hand_controls_item",
VR_HAND_CONTROLS_HUD = "vr_hand_controls_hud",
VR_HAND_POINTER = "vr_hand_pointer",
VR_HANDS_VISIBLE = "vr_hands_visible",
ENABLE_CHAT_TEXT_TO_SPEECH = "enable_chat_text_to_speech",
DEV_DEBUG_HUD_DROPDOWN = "dev_debug_hud_dropdown",
TRACK_OUTPUT = "track_output",
REDSTONE_DROPDOWN = "redstone_dropdown",
CONDITION_DROPDOWN = "condition_dropdown",
BLOCK_TYPE_DROPDOWN = "block_type_dropdown",
HORSE_INTERACTIVE_TABS = "horse_interactive_tabs",
SWITCH_STORAGE_TYPE = "switch_storage_type",
LOCAL_COPY_TOGGLE = "local_copy_toggle",
ENABLEMULTISELECT = "toggle.enableMultiselect",
INVISIBLE_BLOCKS_TOGGLE = "#invisible_blocks_toggle",
INCLUDE_ENTITIES_TOGGLE = "#include_entities_toggle",
INCLUDE_PLAYERS_TOGGLE = "#include_players_toggle",
REMOVE_BLOCKS_TOGGLE = "#remove_blocks_toggle",
MODE_DROPDOWN = "mode_dropdown",
DEV_SHOW_BUILD_INFO = "dev_show_build_info",
SMOOTH_LIGHTING = "smooth_lighting",
FILE_STORAGE_LOCATION = "file_storage_location",
WEBSOCKET_ENCRYPTION = "websocket_encryption",
HIDE_CHAT = "hide_chat",
RIGHT_INVENTORY_NAVIGATION_TAB = "right_inventory_navigation_tab",
LAYOUT_TOGGLE = "layout_toggle",
ENABLEFILTERING = "toggle.enableFiltering",
BUTTON_MODE_TOGGLE = "button_mode_toggle",
RATING_DROPDOWN = "rating_dropdown",
SELECTED_DURATION_SHORT = "#selected_duration_short",
SELECTED_DURATION_LONG = "#selected_duration_long",
CUSTOM_DROPDOWN_RADIO_TOGGLE = "#custom_dropdown_radio_toggle",
CUSTOM_DROPDOWN = "#custom_dropdown",
CUSTOM_TOGGLE = "custom_toggle",
CUSTOM_DROPDOWN_1 = "custom_dropdown",
CUSTOM_DROPDOWN_RADIO_TOGGLE_1 = "custom_dropdown_radio_toggle",
REPORT_REASON_DROPDOWN = "report_reason_dropdown",
ADD_FRIEND_DROPDOWN = "add_friend_dropdown",
MUTE_PLAYER = "mute_player",
BLOCK_PLAYER = "block_player",
HIDE_TOOLTIPS = "hide_tooltips",
HIDE_GAMEPAD_CURSOR = "hide_gamepad_cursor",
START_WITH_MAP = "start_with_map",
BONUS_CHEST = "bonus_chest",
SHOW_COORDINATES = "show_coordinates",
FIRE_SPREADS = "fire_spreads",
TNT_EXPLODES = "tnt_explodes",
MOB_LOOT = "mob_loot",
NATURAL_REGENERATION = "natural_regeneration",
TILE_DROPS = "tile_drops",
DAYLIGHT_CYCLE = "daylight_cycle",
KEEP_INVENTORY = "keep_inventory",
MOB_SPAWN = "mob_spawn",
MOB_GRIEFING = "mob_griefing",
ENTITIES_DROP_LOOT = "entities_drop_loot",
WEATHER_CYCLE = "weather_cycle",
CLASSROOM_SETTINGS = "classroom_settings",
PERFECT_WEATHER = "perfect_weather",
ALLOW_MOBS = "allow_mobs",
ALLOW_DESTRUCTIVE_ITEMS = "allow_destructive_items",
PLAYER_DAMAGE = "player_damage",
IMMUTABLE_WORLD = "immutable_world",
PVP_DAMAGE = "pvp_damage",
PLAYER_PERMISSIONS_DROPDOWN = "player_permissions_dropdown",
XBL_BROADCAST_DROPDOWN = "xbl_broadcast_dropdown",
DEV_ASSERTIONS_DEBUG_BREAK = "dev_assertions_debug_break",
DEV_MCE_ASSERTIONS_DEBUG_BREAK_HACK = "dev_mce_assertions_debug_break_hack",
DEV_SHOW_DEV_CONSOLE_BUTTON = "dev_show_dev_console_button",
DEV_ENABLE_MIXER_INTERACTIVE = "dev_enable_mixer_interactive",
DEV_SHOW_TCUI_REPLACEMENT = "dev_show_tcui_replacement",
SHOW_AUTO_SAVE_ICON = "show_auto_save_icon",
HIDE_HAND = "hide_hand",
HIDE_PAPERDOLL = "hide_paperdoll",
CLASSIC_BOX_SELECTION = "classic_box_selection",
VR_CLASSIC_BOX_SELECTION = "vr_classic_box_selection",
INGAME_PLAYER_NAMES = "ingame_player_names",
SPLITSCREEN_INGAME_PLAYER_NAMES = "splitscreen_ingame_player_names",
VR_HIDE_HUD = "vr_hide_hud",
VR_HIDE_HAND = "vr_hide_hand",
FIELD_OF_VIEW_TOGGLE = "field_of_view_toggle",
DEV_DISPLAY_OVERRIDE_DATETIME = "dev_display_override_datetime",
DEV_SAVE_CURRENT_OVERRIDE_DATE = "dev_save_current_override_date",
DEV_SHOW_OVERRIDE_TREATMENTS = "dev_show_override_treatments",
FEATURE_TOGGLE = "feature_toggle",
DEV_SERVER_INSTANCE_THREAD = "dev_server_instance_thread",
DEV_FIND_MOBS = "dev_find_mobs",
SPLIT_SCREEN_DROPDOWN = "split_screen_dropdown",
VR_SMOOTH_LIGHTING = "vr_smooth_lighting",
RENDER_CLOUDS = "render_clouds",
VR_TRANSPARENT_LEAVES = "vr_transparent_leaves",
HIDE_HUD = "hide_hud",
DEV_USE_ZIPPED_IN_PACKAGE_PACKS = "dev_use_zipped_in_package_packs",
DEV_IMPORT_PACKS_AS_ZIP = "dev_import_packs_as_zip",
DEV_USE_OVERRIDE_DATE = "dev_use_override_date",
DEV_DISPLAY_TREATMENTS_PANEL = "dev_display_treatments_panel",
DEV_NEW_CULLER = "dev_new_culler",
LOCKED_TOGGLE = "locked_toggle",
OPTION_TOGGLE = "option_toggle",
PLAYER_TOGGLE = "player_toggle",
PERMISSION_LEVEL_DROPDOWN = "permission_level_dropdown",
HOTBAR_ONLY_TOUCH = "hotbar_only_touch",
SWAP_GAMEPAD_AB_BUTTONS = "swap_gamepad_ab_buttons",
SWAP_GAMEPAD_XY_BUTTONS = "swap_gamepad_xy_buttons",
KEYBOARD_SHOW_FULL_KEYBOARD_OPTIONS = "keyboard_show_full_keyboard_options",
PVP = "pvp",
EXPERIMENTAL_GAMEPLAY = "experimental_gameplay",
EDUCATION_TOGGLE = "education_toggle",
PLATFORM_BROADCAST_DROPDOWN = "platform_broadcast_dropdown",
AUTO_UPDATE_MODE_DROPDOWN = "auto_update_mode_dropdown",
AUTO_UPDATE_ENABLED = "auto_update_enabled",
SCREEN_ANIMATIONS = "screen_animations",
ATMOSPHERICS = "atmospherics",
EDGE_HIGHLIGHT = "edge_highlight",
BLOOM = "bloom",
TERRAIN_SHADOWS = "terrain_shadows",
SUPER_FANCY_WATER = "super_fancy_water",
DEV_XFORGE_REQUESTS_REQUIRE_SIGN_IN = "dev_xforge_requests_require_sign_in",
MULTITHREADED_RENDERING = "multithreaded_rendering",
SWITCH_COIN_DEBUG = "switch_coin_debug",
DEV_CONNECTION_QUALITY = "dev_connection_quality",
BUBBLE_PARTICLES = "bubble_particles",
REALM_DEFAULT_PERMISSION_DROPDOWN = "realm_default_permission_dropdown",
AUTOMATION_FUNCTIONAL_TEST_BLOCK_INPUT = "automation_functional_test_block_input",
DEV_ASSERTIONS_SHOW_DIALOG = "dev_assertions_show_dialog",
CODE_BUILDER = "code_builder",
COMMAND_BLOCKS_ENABLED = "command_blocks_enabled",
FONT_COLOR_TOGGLE = "font_color_toggle",
HIDE_KEYBOARD_TOOLTIPS = "hide_keyboard_tooltips",
DEV_SHOW_LATENCY_GRAPH = "dev_show_latency_graph",
DEV_NEWPARTICLESYSTEM = "dev_newParticleSystem",
VSYNC_DROPDOWN = "vsync_dropdown",
FILE_WATCHER = "file_watcher",
DEV_GAME_TIP = "dev_game_tip",
DEV_SHOW_SERVER_CHUNK_MAP = "dev_show_server_chunk_map",
CONTENT_LOG = "content_log",
CONTENT_LOG_GUI = "content_log_gui",
DOIMMEDIATERESPAWN = "doimmediaterespawn",
CHAT_TYPEFACE_DROPDOWN = "chat_typeface_dropdown",
LEFT_NAVIGATION_TAB = "left_navigation_tab",
RIGHT_NAVIGATION_TAB = "right_navigation_tab",
DEV_IDENTITY_ENV_DROPDOWN = "dev_identity_env_dropdown",
CONTENT_LOG_FILE = "content_log_file",
WINDOWS_STORE_DROPDOWN = "windows_store_dropdown",
TIMEZONETYPE_DROPDOWN = "timezonetype_dropdown",
DEV_LOAD_OVERRIDE_DATE = "dev_load_override_date",
TRADE_TOGGLE = "trade_toggle",
DEV_USE_VERSION_OVERRIDE = "dev_use_version_override",
PERF_TURTLE = "perf_turtle",
ENABLE_UI_TEXT_TO_SPEECH = "enable_ui_text_to_speech",
EXECUTE_ON_FIRST_TICK = "execute_on_first_tick",
DEV_FORCE_CLIENT_BLOB_CACHE = "dev_force_client_blob_cache",
DEV_DISABLE_CLIENT_BLOB_CACHE = "dev_disable_client_blob_cache",
SHOW_AD_DEBUG_PANEL_BUTTON = "show_ad_debug_panel_button",
DEV_SHOW_DOC_ID = "dev_show_doc_id",
TOGGLE_TTS = "toggle_tts",
SHOW_BOUNDING_BOX_TOGGLE = "#show_bounding_box_toggle",
MIRROR_X = "mirror_x",
MIRROR_Z = "mirror_z",
ENABLE_AUTO_TEXT_TO_SPEECH = "enable_auto_text_to_speech",
ENABLE_OPEN_CHAT_MESSAGE = "enable_open_chat_message",
AUTOMATION_REPEAT_FAILURES_ONLY = "automation_repeat_failures_only",
DEV_TOGGLE_DEFAULT_FONT_OVERRIDES = "dev_toggle_default_font_overrides",
DEV_DISABLE_RENDER_TERRAIN = "dev_disable_render_terrain",
DEV_DISABLE_RENDER_ENTITIES = "dev_disable_render_entities",
DEV_DISABLE_RENDER_BLOCKENTITIES = "dev_disable_render_blockentities",
DEV_DISABLE_RENDER_PARTICLES = "dev_disable_render_particles",
DEV_DISABLE_RENDER_SKY = "dev_disable_render_sky",
DEV_DISABLE_RENDER_WEATHER = "dev_disable_render_weather",
DEV_DISABLE_RENDER_HUD = "dev_disable_render_hud",
DEV_DISABLE_RENDER_ITEM_IN_HAND = "dev_disable_render_item_in_hand",
ASYNC_TEXTURE_LOADS = "async_texture_loads",
ASYNC_MISSING_TEXTURE = "async_missing_texture",
AD_USE_SINGLE_SIGN_ON = "ad_use_single_sign_on",
CONFIRM_0 = "confirm_0",
CONFIRM_1 = "confirm_1",
CONFIRM_2 = "confirm_2",
CONFIRM_3 = "confirm_3",
TOGGLE_XBOX_LIVE_INVITE_ONLINE = "toggle_xbox_live_invite_online",
TOGGLE_XBOX_LIVE_INVITE_OFFLINE = "toggle_xbox_live_invite_offline",
TOGGLE_PLATFORM_INVITE_ONLINE = "toggle_platform_invite_online",
TOGGLE_PLATFORM_INVITE_OFFLINE = "toggle_platform_invite_offline",
TOGGLE_LINKED_ACCOUNT_INVITE_ONLINE = "toggle_linked_account_invite_online",
TOGGLE_LINKED_ACCOUNT_INVITE_OFFLINE = "toggle_linked_account_invite_offline",
ONLINE_SAFETY_DO_NOT_SHOW_AGAIN = "online_safety_do_not_show_again",
ONLY_TRUSTED_SKINS_ALLOWED = "only_trusted_skins_allowed",
CROSSPLATFORM_TOGGLE = "crossplatform_toggle",
JOINT_TYPE_TOGGLE = "toggle.joint_type_toggle",
SUNSETTING_DO_NOT_SHOW_AGAIN = "sunsetting_do_not_show_again",
SERVER_NAVIGATION_TOGGLE = "server_navigation_toggle",
DEV_DISPLAY_PROGRESSIONS_PANEL = "dev_display_progressions_panel",
DEV_NEW_ACHIEVEMENTS_SCREENS_RADIO = "dev_new_achievements_screens_radio",
UI_FEATURE_TOGGLE = "ui_feature_toggle",
DEV_SUNSETTING_TIER_DROPDOWN = "dev_sunsetting_tier_dropdown",
DEV_USE_SUNSET_OVERRIDES = "dev_use_sunset_overrides",
DEV_SUNSET_STATE = "dev_sunset_state",
DEV_DISCOVERY_ENVIRONMENT_DROPDOWN = "dev_discovery_environment_dropdown",
ENABLE_TEXTURE_HOT_RELOADER = "enable_texture_hot_reloader",
DEV_EDU_DEMO = "dev_edu_demo",
DEV_RENDER_MOB_INFO_STATE = "dev_render_mob_info_state",
REMOTE_IMGUI = "remote_imgui",
AUTOMATION_SOAK_TEST_DURATION_MINUTES = "automation_soak_test_duration_minutes",
AUTOMATION_BROKEN_UNIT_TEST_TAGS = "automation_broken_unit_test_tags",
CAMERA_SHAKE = "camera_shake",
GRAPHICS_UPSCALING = "graphics_upscaling",
RAYTRACING = "raytracing",
VR_CAMERA_MOVEMENT_DROPDOWN = "vr_camera_movement_dropdown",
VR_VARIABLE_SNAP_ANGLE = "vr_variable_snap_angle",
VR_MOVEMENT_DROPDOWN = "vr_movement_dropdown",
VR_JUMP_DROPDOWN = "vr_jump_dropdown",
VR_HEAD_STEERING_DROPDOWN = "vr_head_steering_dropdown",
VR_STICKY_MINING_DROPDOWN = "vr_sticky_mining_dropdown",
VR_HUD_POSITION_DROPDOWN = "vr_hud_position_dropdown",
VR_SNAP_ANGLE = "vr_snap_angle",
VR_SNAP_SOUND = "vr_snap_sound",
DEV_OVERRIDE_XBOX_SANDBOX = "dev_override_xbox_sandbox",
DEV_XBOX_ENVIRONMENT_DROPDOWN = "dev_xbox_environment_dropdown",
DEV_SHOW_OVERRIDE_PROGRESSIONS = "dev_show_override_progressions",
DEV_DISPLAY_MOCK_HTTP_PANEL = "dev_display_mock_http_panel",
CLOUD_UPLOAD_TERMS_ACCEPTED = "cloud_upload_terms_accepted",
ON_ENTER_TOGGLE = "on_enter_toggle",
ON_EXIT_TOGGLE = "on_exit_toggle",
SKIN_PACK_CATEGORY = "toggle.skin_pack_category",
CATEGORY_SELECTED = "toggle.category_selected",
SIDEBAR_VERBOSE_TOGGLE = "toggle.sidebar_verbose_toggle",
SIDEBAR_OPTION_DROPDOWN = "toggle.sidebar_option_dropdown",
ANIMATION_MODE_DROPDOWN = "animation_mode_dropdown",
}

35
src/types/enums/Type.ts Normal file
View file

@ -0,0 +1,35 @@
export enum Type {
SELECTION_WHEEL = "selection_wheel",
PANEL = "panel",
SCREEN = "screen",
STACK_PANEL = "stack_panel",
LABEL = "label",
IMAGE = "image",
INPUT_PANEL = "input_panel",
CUSTOM = "custom",
GRID = "grid",
FACTORY = "factory",
BUTTON = "button",
TOGGLE = "toggle",
SLIDER = "slider",
EDIT_BOX = "edit_box",
DROPDOWN = "dropdown",
SCROLL_VIEW = "scroll_view",
SLIDER_BOX = "slider_box",
SCROLLBAR_BOX = "scrollbar_box",
SCROLL_TRACK = "scroll_track",
GRID_PAGE_INDICATOR = "grid_page_indicator",
IMAGE_CYCLER = "image_cycler",
LABEL_CYCLER = "label_cycler",
COLLECTION_PANEL = "collection_panel",
TOOLTIP_TRIGGER = "tooltip_trigger",
TAB = "tab",
CAROUSEL_LABEL = "carousel_label",
COMBOX = "combox",
LAYOUT = "layout",
STACK_GRID = "stack_grid",
JOYSTICK = "joystick",
RICH_TEXT = "rich_text",
SIXTEEN_NINE_LAYOUT = "sixteen_nine_layout",
MUL_LINES = "mul_lines",
}

30
src/types/enums/index.ts Normal file
View file

@ -0,0 +1,30 @@
export { Type } from "./Type.js"
export { Anchor } from "./Anchor.js"
export { Orientation } from "./Orientation.js"
export { TextAlignment } from "./TextAlignment.js"
export { FontType } from "./FontType.js"
export { FontSize } from "./FontSize.js"
export { ClipDirection } from "./ClipDirection.js"
export { McColor } from "./McColor.js"
export { DebugColor } from "./DebugColor.js"
export { Rotation } from "./Rotation.js"
export { BindingType } from "./BindingType.js"
export { BindingCondition } from "./BindingCondition.js"
export { AnimType } from "./AnimType.js"
export { Renderer } from "./Renderer.js"
export { Easing } from "./Easing.js"
export { MappingType } from "./MappingType.js"
export { Scope } from "./Scope.js"
export { InputModeCondition } from "./InputModeCondition.js"
export { TextType } from "./TextType.js"
export { FocusNavigationMode } from "./FocusNavigationMode.js"
export { GlobalVariables } from "./GlobalVariables.js"
export { ButtonId } from "./ButtonId.js"
export { CollectionName } from "./CollectionName.js"
export { Links } from "./Links.js"
export { GridDimensions } from "./GridDimensions.js"
export { TextboxName } from "./TextboxName.js"
export { SliderName } from "./SliderName.js"
export { ToggleName } from "./ToggleName.js"
export { BagBinding } from "./BagBinding.js"
export { Binding } from "./Binding.js"

View file

@ -0,0 +1,70 @@
import { Renderer } from "../enums/Renderer.js"
import { Type } from "../enums/Type.js"
import * as e from "./element/index.js"
export interface Panel extends e.Control, e.Layout {}
export interface CollectionPanel extends Panel, e.Collection {}
export interface StackPanel extends CollectionPanel, e.StackPanel {}
export interface InputPanel extends Panel, e.Collection, e.Input, e.Sound, e.Focus, e.TTS {}
export interface Grid extends CollectionPanel, e.Grid {}
export interface Screen extends Panel, e.Screen {}
export interface Image extends Panel, e.Image {}
export interface Label extends Panel, e.Text {}
export interface Custom extends Panel, e.CustomRenderer {}
export interface TooltipTrigger extends InputPanel, e.TooltipTrigger {}
export interface Button extends InputPanel, e.Button {}
export interface Toggle extends InputPanel, e.Toggle {}
export interface Dropdown extends Toggle, e.DropdownName {}
export interface SelectionWheel extends InputPanel, e.SelectionWheel {}
export interface EditBox extends Button, e.EditBox {}
export interface ScrollbarBox extends Panel, e.Input {}
export interface ScrollbarTrack extends ScrollbarBox {}
export interface ScrollView extends ScrollbarBox, e.ScrollView {}
export interface Slider extends InputPanel, e.Slider {}
export interface SliderBox extends ScrollbarBox, e.SliderBox {}
export interface ComponenetsProperties {
[Type.PANEL]: Panel
[Type.COLLECTION_PANEL]: CollectionPanel
[Type.STACK_PANEL]: StackPanel
[Type.INPUT_PANEL]: InputPanel
[Type.GRID]: Grid
[Type.SCREEN]: Screen
[Type.IMAGE]: Image
[Type.LABEL]: Label
[Type.CUSTOM]: Custom
[Type.TOOLTIP_TRIGGER]: TooltipTrigger
[Type.BUTTON]: Button
[Type.TOGGLE]: Toggle
[Type.DROPDOWN]: Dropdown
[Type.SELECTION_WHEEL]: SelectionWheel
[Type.EDIT_BOX]: EditBox
[Type.SCROLLBAR_BOX]: ScrollbarBox
[Type.SCROLL_TRACK]: ScrollbarTrack
[Type.SCROLL_VIEW]: ScrollView
[Type.SLIDER]: Slider
[Type.SLIDER_BOX]: SliderBox
}
export type Properties<T> = T extends keyof ComponenetsProperties ? Partial<ComponenetsProperties[T]> : {}
export interface CustomRendererProperties {
[Renderer.PAPER_DOLL_RENDERER]: e.PaperDollRenderer
[Renderer.NETEASE_PAPER_DOLL_RENDERER]: e.NeteasePaperDollRenderer
[Renderer.NETEASE_MINI_MAP_RENDERER]: e.NeteaseMiniMapRenderer
[Renderer.PROGRESS_BAR_RENDERER]: e.ProgressBarRenderer
[Renderer.GRADIENT_RENDERER]: e.GradientRenderer
[Renderer.NAME_TAG_RENDERER]: e.NameTagRenderer
[Renderer.HOVER_TEXT_RENDERER]: e.HoverTextRenderer
[Renderer.DEBUG_OVERLAY_RENDERER]: e.Debug
[Renderer.EQUIPMENT_PREVIEW_RENDERER]: e.EquipmentPreviewRenderer
}
export type RendererProperties<T> = T extends keyof CustomRendererProperties ? Partial<CustomRendererProperties[T]> : {}

View file

@ -0,0 +1,28 @@
import { AnimationKeyframe } from "../../../components/AnimationKeyframe.js"
import { AnimType } from "../../enums/AnimType.js"
import { Easing } from "../../enums/Easing.js"
import { Array2, Array3, Value } from "../value.js"
export interface Animation {
anim_type?: Value<string | AnimType>
duration?: Value<number>
next?: Value<string | AnimationKeyframe>
destroy_at_end?: Value<string>
play_event?: Value<string>
end_event?: Value<string>
start_event?: Value<string>
reset_event?: Value<string>
easing?: Value<string | Easing>
from?: Value<number | string | Array3<number> | Array2<string>>
to?: Value<number | string | Array3<number> | Array2<string>>
initial_uv?: Value<Array2<number>>
fps?: Value<number>
frame_count?: Value<number>
frame_step?: Value<number>
reversible?: Value<boolean>
resettable?: Value<boolean>
scale_from_starting_alpha?: Value<boolean>
activated?: Value<string>
looping?: Value<boolean>
wait_until_rendered_to_play?: Value<boolean>
}

View file

@ -0,0 +1,8 @@
import { Value } from "../value.js"
export interface Button {
default_control?: Value<string>
hover_control?: Value<string>
pressed_control?: Value<string>
locked_control?: Value<string>
}

View file

@ -0,0 +1,10 @@
import { Array3, Value } from "../value.js"
export interface CarouselLabel {
always_rotate?: Value<boolean>
rotate_speed?: Value<number>
hover_color?: Value<Array3<number>>
hover_alpha?: Value<number>
pressed_color?: Value<Array3<number>>
pressed_alpha?: Value<number>
}

View file

@ -0,0 +1,8 @@
import { CollectionName } from "../../enums/CollectionName.js"
import { Value } from "../value.js"
export interface Collection {
collection_name?: Value<string | CollectionName>
collection_index?: Value<number>
ignoreCollectionItem?: Value<boolean>
}

View file

@ -0,0 +1,21 @@
import { AnimValue, Array2, Binding, PropertyBags, Value } from "../value.js"
export interface Control {
visible?: Value<boolean>
enabled?: Value<boolean>
layer?: Value<number>
z_order?: Value<number>
alpha?: AnimValue<number>
propagate_alpha?: Value<boolean>
clips_children?: Value<boolean>
allow_clipping?: Value<boolean>
clip_offset?: Value<Array2<number>>
clip_state_change_event?: Value<string>
selected?: Value<boolean>
use_child_anchors?: Value<boolean>
contained?: Value<boolean>
draggable?: Value<boolean>
follows_cursor?: Value<boolean>
property_bags?: Value<PropertyBags>
[key: Binding]: Value<any>
}

View file

@ -0,0 +1,72 @@
import { DebugColor } from "../../enums/DebugColor.js"
import { Orientation } from "../../enums/Orientation.js"
import { Renderer } from "../../enums/Renderer.js"
import { Rotation } from "../../enums/Rotation.js"
import { Array3, Array4, Value } from "../value.js"
export interface CustomRenderer {
renderer?: Value<Renderer>
replaced_while_inactive?: Value<boolean>
}
export interface PaperDollRenderer {
camera_tilt_degrees?: Value<number>
starting_rotation?: Value<number>
use_selected_skin?: Value<boolean>
use_uuid?: Value<boolean>
use_skin_gui_scale?: Value<boolean>
use_player_paperdoll?: Value<boolean>
rotation?: Value<string | Rotation>
modelsize?: Value<number>
animation_looped?: Value<boolean>
animation?: Value<string>
}
export interface NeteasePaperDollRenderer {
screen_offset?: null
screen_scale?: Value<number>
mob_body_rot_y?: Value<number>
mob_head_rot_y?: Value<number>
init_rot_y?: Value<number>
skeleton_model_name?: Value<string>
entity_identifier?: Value<string>
}
export interface NeteaseMiniMapRenderer {
size_grade?: null
use_default_face_icon?: Value<boolean>
face_icon_bg_color?: Value<Array3<number>>
enable_live_update?: Value<boolean>
live_update_interval?: Value<number>
highest_y?: Value<number>
}
export interface ProgressBarRenderer {
primary_color?: Value<Array3<number>>
secondary_color?: Value<Array3<number>>
full_storage_color?: Value<Array3<number>>
}
export interface GradientRenderer {
gradient_direction?: Value<string | Orientation>
color1?: Value<Array3<number> | Array4<number>>
color2?: Value<Array3<number> | Array4<number>>
}
export interface NameTagRenderer {
text_color?: Value<Array3<number>>
background_color?: Value<Array3<number>>
}
export interface HoverTextRenderer {
hover_text_max_width?: Value<number>
}
export interface Debug {
debug?: Value<DebugColor>
}
export interface EquipmentPreviewRenderer {
rotation_x?: Value<number>
rotation_y?: Value<number>
}

View file

@ -0,0 +1,19 @@
import { Value } from "../value.js"
export interface Image {
texture_path?: Value<string>
}
export interface Cycler {
target_cycler_to_compare?: Value<string>
next_sub_page_button_name?: Value<string>
prev_sub_page_button_name?: Value<string>
}
export interface LabelCycler {
text_labels?: Value<Array<string>>
}
export interface ImageCycler {
images?: Value<Array<Image>>
}

View file

@ -0,0 +1,5 @@
import { BindingItem, Value } from "../value.js"
export interface DataBinding {
bindings: Value<Array<BindingItem>>
}

View file

@ -0,0 +1,7 @@
import { Value } from "../value.js"
export interface DropdownName {
dropdown_name?: Value<string>
dropdown_content_control?: Value<string>
dropdown_area?: Value<string>
}

View file

@ -0,0 +1,19 @@
import { CollectionName } from "../../enums/CollectionName.js"
import { TextboxName } from "../../enums/TextboxName.js"
import { TextType } from "../../enums/TextType.js"
import { Array3, Value } from "../value.js"
export interface EditBox {
text_box_name?: Value<string | TextboxName>
text_edit_box_grid_collection_name?: Value<string | CollectionName>
constrain_to_rect?: Value<boolean>
enabled_newline?: Value<boolean>
text_type?: Value<string | TextType>
max_length?: Value<number>
text_control?: Value<string>
place_holder_control?: Value<string>
can_be_deselected?: Value<boolean>
always_listening?: Value<boolean>
virtual_keyboard_buffer_control?: Value<string>
place_holder_text_hover_color?: Value<Array3<number>>
}

View file

@ -0,0 +1,20 @@
import { Value, Variable } from "../value.js"
export type FactoryControlIds = Record<string, Value<string>>
export interface FactoryProperty {
name?: Value<string>
control_name?: Value<string>
control_ids?: Value<FactoryControlIds>
factory_variables?: Value<Array<Variable>>
max_children_size?: Value<number>
insert_location?: Value<"front">
max_size?: Value<number>
}
export interface Factory {
factory?: FactoryProperty
control_ids?: Value<FactoryControlIds>
control_name?: Value<string>
factory_variables?: Value<Array<Variable>>
}

View file

@ -0,0 +1,33 @@
import { FocusNavigationMode } from "../../enums/FocusNavigationMode.js"
import { FocusContainerCustom, Value } from "../value.js"
export interface FocusMapping {
focus_identifier?: string
focus_change_right?: string
focus_change_left?: string
focus_change_up?: string
focus_change_down?: string
}
export interface Focus {
default_focus_precedence?: Value<number>
focus_enabled?: Value<boolean>
focus_wrap_enabled?: Value<boolean>
focus_magnet_enabled?: Value<boolean>
focus_identifier?: Value<string>
focus_change_down?: Value<string>
focus_change_up?: Value<string>
focus_change_left?: Value<string>
focus_change_right?: Value<string>
focus_mapping?: Array<FocusMapping>
focus_container?: Value<boolean>
use_last_focus?: Value<boolean>
focus_navigation_mode_left?: Value<string | FocusNavigationMode>
focus_navigation_mode_right?: Value<string | FocusNavigationMode>
focus_navigation_mode_down?: Value<string | FocusNavigationMode>
focus_navigation_mode_up?: Value<string | FocusNavigationMode>
focus_container_custom_left?: Value<string | FocusContainerCustom>
focus_container_custom_right?: Value<string | FocusContainerCustom>
focus_container_custom_down?: Value<string | FocusContainerCustom>
focus_container_custom_up?: Value<string | FocusContainerCustom>
}

View file

@ -0,0 +1,13 @@
import { Array2, Binding, Value } from "../value.js"
import * as bind from "../../enums/Binding.js"
import { Orientation } from "../../enums/Orientation.js"
export interface Grid {
grid_dimensions?: Value<Array2<number>>
maximum_grid_items?: Value<number>
grid_dimension_binding?: Value<Binding | bind.Binding>
grid_rescaling_type?: Value<string | Orientation>
grid_fill_direction?: Value<string | Orientation>
precached_grid_item_count?: Value<number>
grid_item_template?: Value<string>
}

View file

@ -0,0 +1,5 @@
import { Array2, Value } from "../value.js"
export interface GridItem {
grid_position?: Value<Array2<number>>
}

View file

@ -0,0 +1,7 @@
import { Value } from "../value.js"
export interface GridPageIndicator {
grid_item_when_current?: Value<string>
grid_item_when_not_current?: Value<string>
cycler_manager_size_control_target?: Value<string>
}

View file

@ -0,0 +1,17 @@
import { ButtonId } from "../../enums/ButtonId.js"
import { ButtonMapping, Value } from "../value.js"
export interface Input {
button_mappings?: Array<ButtonMapping>
modal?: Value<boolean>
inline_modal?: Value<boolean>
always_listen_to_input?: Value<boolean>
always_handle_pointer?: Value<boolean>
always_handle_controller_direction?: Value<boolean>
hover_enabled?: Value<boolean>
prevent_touch_input?: Value<boolean>
consume_event?: Value<boolean>
consume_hover_events?: Value<boolean>
gesture_tracking_button?: Value<string | ButtonId>
gamepad_deflection_mode?: Value<boolean>
}

View file

@ -0,0 +1,15 @@
import { Anchor } from "../../enums/Anchor.js"
import { Value, AnimValue, Array2 } from "../value.js"
export interface Layout {
offset?: AnimValue<Array2<number>>
size?: AnimValue<Array2<number | string>>
max_size?: AnimValue<Array2<number | string>>
min_size?: AnimValue<Array2<number | string>>
inherit_max_sibling_width?: Value<boolean>
inherit_max_sibling_height?: Value<boolean>
use_anchored_offset?: Value<boolean>
anchor_from?: Value<string | Anchor>
anchor_to?: Value<string | Anchor>
anchor?: Value<string | Anchor>
}

View file

@ -0,0 +1,24 @@
import { Value } from "../value.js"
export interface Screen {
render_only_when_topmost?: Value<boolean>
screen_not_flushable?: Value<boolean>
always_accepts_input?: Value<boolean>
render_game_behind?: Value<boolean>
absorbs_input?: Value<boolean>
is_showing_menu?: Value<boolean>
is_modal?: Value<boolean>
should_steal_mouse?: Value<boolean>
low_frequency_rendering?: Value<boolean>
screen_draws_last?: Value<boolean>
vr_mode?: Value<boolean>
force_render_below?: Value<boolean>
send_telemetry?: Value<boolean>
close_on_player_hurt?: Value<boolean>
cache_screen?: Value<boolean>
load_screen_immediately?: Value<boolean>
gamepad_cursor?: Value<boolean>
gamepad_cursor_deflection_mode?: Value<boolean>
should_be_skipped_during_automation?: Value<boolean>
use_custom_pocket_toast?: Value<boolean>
}

View file

@ -0,0 +1,18 @@
import { Value } from "../value.js"
export interface ScrollView {
scrollbar_track_button?: Value<string>
scrollbar_touch_button?: Value<string>
scroll_speed?: Value<number>
gesture_control_enabled?: Value<number>
always_handle_scrolling?: Value<boolean>
touch_mode?: Value<boolean>
scrollbar_box?: Value<string>
scrollbar_track?: Value<string>
scroll_view_port?: Value<string>
scroll_content?: Value<string>
scroll_box_and_track_panel?: Value<string>
jump_to_bottom_on_update?: Value<boolean>
allow_scroll_even_when_content_fits?: Value<boolean>
scrollbar_always_visible?: Value<boolean>
}

View file

@ -0,0 +1,15 @@
import { Value } from "../value.js"
export interface SelectionWheel {
inner_radius?: Value<number>
outer_radius?: Value<number>
state_controls?: Value<Array<string>>
slice_count?: Value<number>
button_name?: Value<string>
iterate_left_button_name?: Value<string>
iterate_right_button_name?: Value<string>
initial_button_slice?: Value<number>
select_button_name?: Value<string>
hover_button_name?: Value<string>
analog_button_name?: Value<string>
}

View file

@ -0,0 +1,31 @@
import { Color } from "../../../components/Utils.js"
import { ButtonId } from "../../enums/ButtonId.js"
import { CollectionName } from "../../enums/CollectionName.js"
import { Orientation } from "../../enums/Orientation.js"
import { SliderName } from "../../enums/SliderName.js"
import { Array3, Value } from "../value.js"
export interface Slider {
slider_track_button?: Value<string>
slider_small_decrease_button?: Value<string | ButtonId>
slider_small_increase_button?: Value<string | ButtonId>
slider_steps?: Value<number>
slider_direction?: Value<string | Orientation>
slider_timeout?: Value<number>
slider_collection_name?: Value<string | CollectionName>
slider_name?: Value<string | SliderName>
slider_select_on_hover?: Value<boolean>
slider_selected_button?: Value<string | ButtonId>
slider_deselected_button?: Value<string | ButtonId>
slider_box_control?: Value<string>
background_control?: Value<string>
background_hover_control?: Value<string>
progress_control?: Value<string>
progress_hover_control?: Value<string>
slider_render_bar_background_color?: Value<Array3<number>>
slider_render_bar_progress_color?: Value<Array3<number>>
slider_render_bar_outline_color?: Value<Array3<number>>
slider_render_bar_background_hover_color?: Value<Array3<number>>
slider_render_bar_progress_hover_color?: Value<Array3<number>>
slider_render_bar_outline_hover_color?: Value<Array3<number>>
}

View file

@ -0,0 +1,5 @@
import { Value } from "../value.js"
export interface SliderBox {
indent_control?: Value<string>
}

View file

@ -0,0 +1,17 @@
import { Value } from "../value.js"
export interface SoundProperties {
sound_name?: Value<string>
sound_volume?: Value<number>
sound_pitch?: Value<number>
min_seconds_between_plays?: Value<number>
event_type?: Value<string>
button_name?: Value<string>
}
export interface Sound {
sound_name?: Value<string>
sound_volume?: Value<number>
sound_pitch?: Value<number>
sounds?: Value<Array<SoundProperties>>
}

View file

@ -0,0 +1,26 @@
import { ClipDirection } from "../../enums/ClipDirection.js"
import { AnimValue, Array2, Array3, Array4, Value } from "../value.js"
export interface Sprite {
texture?: Value<string>
allow_debug_missing_texture?: Value<boolean>
uv?: AnimValue<Array2<number>>
uv_size?: AnimValue<Array2<number>>
texture_file_system?: Value<string>
nineslice_size?: AnimValue<Array2<number> | Array3<number> | Array4<number>>
tiled?: Value<boolean>
tiled_scale?: Value<Array<number>>
clip_direction?: Value<string | ClipDirection>
clip_ratio?: Value<number>
clip_pixelperfect?: Value<boolean>
pixel_perfect?: Value<boolean>
keep_ratio?: Value<boolean>
bilinear?: Value<boolean>
fill?: Value<boolean>
fit_to_width?: Value<boolean>
zip_folder?: Value<string>
grayscale?: Value<boolean>
force_texture_reload?: Value<boolean>
base_size?: Value<Array2<number>>
color_corrected?: Value<boolean>
}

View file

@ -0,0 +1,6 @@
import { Orientation } from "../../enums/Orientation.js"
import { Value } from "../value.js"
export interface StackPanel {
orientation?: Value<Orientation>
}

View file

@ -0,0 +1,24 @@
import { Value } from "../value.js"
export interface TTS {
tts_name?: Value<string>
tts_control_header?: Value<string>
tts_section_header?: Value<string>
tts_control_type_order_priority?: Value<number>
tts_index_priority?: Value<boolean>
tts_toggle_on?: Value<string>
tts_toggle_off?: Value<string>
tts_override_control_value?: Value<string>
tts_inherit_siblings?: Value<boolean>
tts_value_changed?: Value<string>
ttsSectionContainer?: Value<boolean>
tts_ignore_count?: Value<boolean>
tts_skip_message?: Value<boolean>
tts_skip_children?: Value<boolean>
tts_value_order_priority?: Value<number>
tts_play_on_unchanged_focus_control?: Value<boolean>
tts_ignore_subsections?: Value<boolean>
text_tts?: Value<string>
use_priority?: Value<boolean>
priority?: Value<number>
}

View file

@ -0,0 +1,7 @@
import { Value } from "../value.js"
export interface Tab {
tab_index?: Value<number>
tab_control?: Value<string>
tab_content?: Value<string>
}

View file

@ -0,0 +1,26 @@
import { FontType } from "../../enums/FontType.js"
import { TextAlignment } from "../../enums/TextAlignment.js"
import { AnimValue, Array3, Value } from "../value.js"
export interface Text {
text?: Value<string>
color?: AnimValue<Array3<number>>
locked_color?: AnimValue<Array3<number>>
shadow?: Value<boolean>
hide_hyphens?: Value<boolean>
notify_on_ellipses?: Value<Array<string>>
notify_ellipses_sibling?: Value<string>
enable_profanity_filter?: Value<boolean>
locked_alpha?: AnimValue<number>
font_size?: Value<string>
font_scale_factor?: Value<number>
localize?: Value<boolean>
line_padding?: Value<number>
font_type?: Value<string | FontType>
backup_font_type?: Value<string | FontType>
text_alignment?: Value<string | TextAlignment>
alignment?: Value<string | TextAlignment>
use_place_holder?: Value<boolean>
place_holder_text?: Value<string>
place_holder_text_color?: AnimValue<Array3<number>>
}

View file

@ -0,0 +1,25 @@
import { CollectionName } from "../../enums/CollectionName.js"
import { ToggleName } from "../../enums/ToggleName.js"
import { Value } from "../value.js"
export interface Toggle {
radio_toggle_group?: Value<string>
toggle_name?: Value<string | ToggleName>
toggle_default_state?: Value<boolean>
toggle_group_forced_index?: Value<number>
toggle_group_default_selected?: Value<boolean>
reset_on_focus_lost?: Value<boolean>
toggle_on_hover?: Value<string>
toggle_on_button?: Value<string>
toggle_off_button?: Value<string>
enable_directional_toggling?: Value<boolean>
toggle_grid_collection_name?: Value<string | CollectionName>
checked_control?: Value<string>
unchecked_control?: Value<string>
checked_hover_control?: Value<string>
unchecked_hover_control?: Value<string>
checked_locked_control?: Value<string>
unchecked_locked_control?: Value<string>
checked_locked_hover_control?: Value<string>
unchecked_locked_hover_control?: Value<string>
}

View file

@ -0,0 +1,9 @@
import { Value } from "../value.js"
export interface TooltipTrigger {
tooltip_name?: Value<string>
tooltip_top_content_control?: Value<string>
tooltip_bottom_content_control?: Value<string>
tooltip_area?: Value<string>
tooltip_tts_value?: Value<string>
}

View file

@ -0,0 +1,30 @@
export * from "./Animation.js"
export * from "./Button.js"
export * from "./CarouselLabel.js"
export * from "./Collection.js"
export * from "./Control.js"
export * from "./CustomRenderer.js"
export * from "./Cycler.js"
export * from "./DataBinding.js"
export * from "./DropdownName.js"
export * from "./EditBox.js"
export * from "./Factory.js"
export * from "./Focus.js"
export * from "./Grid.js"
export * from "./GridItem.js"
export * from "./GridPageIndicator.js"
export * from "./Input.js"
export * from "./Layout.js"
export * from "./Screen.js"
export * from "./ScrollView.js"
export * from "./SelectionWheel.js"
export * from "./Slider.js"
export * from "./Sliderbox.js"
export * from "./Sound.js"
export * from "./Sprite.js"
export * from "./StackPanel.js"
export * from "./Tab.js"
export * from "./Text.js"
export * from "./Toggle.js"
export * from "./TooltipTrigger.js"
export * from "./TTS.js"

View file

@ -0,0 +1,3 @@
export * as ElementProperties from "./element/index.js"
export * as ComponentProperties from "./components.js"
export * as Value from "./value.js"

View file

@ -0,0 +1,57 @@
import * as anim from "../../components/Animation.js"
import { BindingType } from "../enums/BindingType.js"
import * as bind from "../enums/Binding.js"
import { CollectionName } from "../enums/CollectionName.js"
import { BindingCondition } from "../enums/BindingCondition.js"
import { ButtonId } from "../enums/ButtonId.js"
import { MappingType } from "../enums/MappingType.js"
import { InputModeCondition } from "../enums/InputModeCondition.js"
import { Scope } from "../enums/Scope.js"
export type Variable = `$${string}`
export type Binding = `#${string}`
export type Animation = anim.Animation | `@${string}`
export type Array2<T> = [T, T]
export type Array3<T> = [T, T, T]
export type Array4<T> = [T, T, T, T]
export type Value<T> = Variable | T
export type AnimValue<T> = Value<T | Animation>
export type BindingItem = {
ignored?: Value<boolean>
binding_type?: Value<BindingType>
binding_name?: Value<string | Binding | bind.Binding>
binding_name_override?: Value<Binding | bind.Binding>
binding_collection_name?: Value<string | CollectionName>
binding_collection_prefix?: Value<string | CollectionName>
binding_condition?: Value<string | BindingCondition>
source_control_name?: Value<string>
source_property_name?: Value<string | Binding | bind.Binding>
target_property_name?: Value<Binding | bind.Binding>
resolve_sibling_scope?: Value<boolean>
}
export type FocusContainerCustom = Array<{
other_focus_container_name?: Value<string>
focus_id_inside?: Value<string>
}>
export type ButtonMapping = {
from_button_id?: Value<string | ButtonId>
to_button_id?: Value<string | ButtonId>
button_up_right_of_first_refusal?: Value<boolean>
mapping_type?: Value<string | MappingType>
ignored?: Value<boolean>
input_mode_condition?: Value<string | InputModeCondition>
ignore_input_scope?: Value<boolean>
scope?: Value<string | Scope>
consume_event?: Value<boolean>
handle_select?: Value<boolean>
handle_deselect?: Value<boolean>
}
export type PropertyBags = {
[key: Binding]: Value<any>
}